Eletrônica Digital II ELT013 Engenharia de Computação
ELT013 - Eletrônica Digital II 3
O que são dispositivos lógicos programáveis? (1)
Dispositivos Lógicos Programáveis, ou PLDs, são dispositivos configuráveis a fim de implementar um grande número de funções lógicas Configuráveis pelo usuário Funções combinacionais e/ou sequenciais.
PLD é um chip que contém um grande número de portas lógicas, flip-flops e registradores, que estão interconectados, uns com os outros, por meio de fusíveis (ou chaves) especiais que podem ser programados e com isso, implementar uma função lógica.
ELT013 - Eletrônica Digital II 4
O que são dispositivos lógicos programáveis? (1)
PLD é um chip que contém um grande número de componentes lógicos Portas lógicas, flip-flops e registradores interconectados A conexão é feita por meio de fusíveis (ou chaves) especiais para
esta função A conexão podem ser programadas e com isso implementar uma
função lógica.
ELT013 - Eletrônica Digital II 5
Qual a diferença entre um microprocessador/controlador/DSPs e os outros sistemas
digitais?MICROPROSSADORES/
MICROCONTROLADORES/DSPs
Seguem instruções especificadas pelo projetista
Organização interna complexa “Lentos” Inflexível Desenvolvimento do hardware é
caro (CI MSI) e demorado
OUTROS SISTEMAS DIGITAIS Não são limitados por funções
especificadas Fornece respostas mais
“rápidas” Flexível Possibilita a prototipagem “Desenvolvimento” do
hardware é mais barato e rápido
ELT013 - Eletrônica Digital II 6
Árvores da Famílias de Sistemas Digitais A decisão de projeto sobre qual família utilizar depende de
muitos fatores Velocidade de operação, custo, consumo de energia, potência,
tamanho, tempo disponível para projeto, etc.
ELT013 - Eletrônica Digital II 7
http://algol.dcc.ufla.br/~lacerda/projetos/index.html
ELT013 - Eletrônica Digital II 8
http://algol.dcc.ufla.br/~lacerda/projetos/index.html
ELT013 - Eletrônica Digital II 9
Lógica padrão (1) Refere-se a componentes digitais funcionais básicos
Portas lógicas, flip-flops, decodificadores, multiplexadores, registradores, contadores etc.), disponíveis como CIs SSI e MSI.
Projetos de complexidade média utilizariam centenas de componentes
ELT013 - Eletrônica Digital II 10
Lógica padrão (2) TTL
Tecnologia madura, não usada em novos projetos mas muito presente em sistemas digitais ainda utilizados
CMOS Mais popular nos dias de hoje pois tem baixo consumo de energia
ECL Projetos de alta velocidade
ELT013 - Eletrônica Digital II 11
Sistemas Microprocessados e Processamento Digital de Sinais (DSP)
Dispositivos que podem ser controlados eletronicamente e os dados manipulados pela execução de um programa de instruções. Flexíveis porém com baixa velocidade Hardware é sempre mais rápido do que software
ELT013 - Eletrônica Digital II 12
ASICsApplication Specific Integrated Circuit
Circuitos integrados de aplicação específica Solução moderna de projetos de hardware para sistemas
digitais
ELT013 - Eletrônica Digital II 13
Dispositivos lógicos programáveis (PLDs) Ou dispositivos de campo de lógicas programáveis (FPLDs)
Podem ser configurados para criar qualquer circuito digital desejado para sistemas simples ou complexos.
Componentes e software de desenvolvimento são de baixo custo se comparados com matrizes de portas, célula padrão e full custom
ELT013 - Eletrônica Digital II 14
Dispositivos lógicos programáveis (PLDs) A arquitetura de PLD selecionada depende de sua aplicação, pois são
muito diversificadas e dinâmicas: SPLD - dispositivos lógicos programáveis simples (600 portas). CPLD - dispositivos lógicos programáveis complexos. FPGA - matrizes de portas programáveis em campo.
CPLDs e FPGAs , também são chamadas dispositivos lógicos programáveis de alta capacidade (HCPLDs).
ELT013 - Eletrônica Digital II 15
Matrizes de portas (MPGAs) As funções lógicas são criadas por interconexões de centenas de milhares de portas
pré-fabricadas (circuitos ULSI). Uma máscara de design customizada é usada, muito parecida com os dados
armazenados em uma ROM programada por máscara. Individualmente são menos caras do que PLDs com mesmo número de portas. Processos de programação customizada são muito caros e requerem um longo
período de espera.
ELT013 - Eletrônica Digital II 16
Célula Padrão Usam blocos de construção da função de lógica predefinidos para
criar o sistema digital desejado Os custos do projeto para as células padrão ASICs são superiores aos MPGAs,
com maior tempo de espera. Funções baseadas em células são projetadas para serem muito menores que
as funções equivalentes em matrizes portas: Permitem a operação, geralmente com maior velocidade e custos de
fabricação mais baixos.
ELT013 - Eletrônica Digital II 17
Totalmente Personalizados (full-custom) São a melhor escolha ASIC
Todos os componentes e interconexões são personalizadas pelo projetista do CI.
Requerem uma quantidade significativa de tempo e dinheiro Resultar em CIs que podem operar na maior velocidade possível e
exigem a menor área de chip, o que reduz significativamente o custo de produção.
ELT013 - Eletrônica Digital II 18
Arquitetura de um FPGA Blocos podem sem
programados como sendo: Entrada ou saída; ou Bidirecionais (I/O)
Programados por codificação do projetista; ou
Blocos pré-definidos (IPs)
ELT013 - Eletrônica Digital II 19
IPsIntelectual Property
Projetos de blocos digitais complexos pré-definidos Disponibilizados pelos fabricantes do FPGA ou terceiros Avaliação é grátis Uso comercial necessita de licenciamento
Incluem processadores embutidos, blocos de construção DSP e circuitos de núcleo padrão para funções periféricas e de interface
Encurta o tempo de projeto
ELT013 - Eletrônica Digital II 22
Fundamentos dos circuitos de PLDs (1) Cada função de saída é programada com os fusíveis posicionados
entre as portas AND e cada uma das portas OR. Linhas de entrada: cada entrada A e B está conectada a um buffer inversor e
outro não-inversor que são ligados a uma matriz de portas AND Linhas produto:saídas das portas AND
ELT013 - Eletrônica Digital II 23
Fundamentos dos circuitos de PLDs (2) Cada linha produto está ligada a uma das quatro entradas
de cada porta OR por fusíveis Com todos os fusíveis intactos, casa saída de porta OR apresenta
um nível constante 1.
1
)()(
1
1
1
AAO
BBABBAO
ABBABAABO
ELT013 - Eletrônica Digital II 24
Fundamentos dos circuitos de PLDs (3) Cada uma das saídas O1, O2, O3 e O4 pode ser programada
para ser função de A e B queimando seletivamente os fusíveis apropriadas Cada entrada aberta atua como um nível lógico 0
Pode-se programar cada saída OR para executar qualquer função desejada
Depois de programado o dispositivo realiza a lógica desejada.
Exemplo: queimando os fusíveis 1 e 4 da por OR número 1, a saída O1 se torna:
BABABABAABBABAABO 001
ELT013 - Eletrônica Digital II 25
Simbologia Simplificada Diminuir a complexidade do diagrama do circuito Neste arranjo, as saídas estão programadas como:
1
0
4
3
2
1
O
O
ABO
BABAO
ELT013 - Eletrônica Digital II 28
PROMs (1) PROMs têm como objetivo a implementação de uma expressão lógica
de soma-de-produtos em vez de armazenamento de dados em posições de memória.
ELT013 - Eletrônica Digital II 30
Procedimento de Análise 1º Passo: Tabela verdade para todas as combinações de valores das
variáveis de entrada
ELT013 - Eletrônica Digital II 31
Procedimento de Análise 2º Passo: Selecionar as saídas de interesse (fusíveis intactos)
ELT013 - Eletrônica Digital II 32
Procedimento de Análise 3º Passo: Realizar um OR das saídas da matriz AND intactas para
encontrar o valor da saída O
ELT013 - Eletrônica Digital II 34
Lógica de Arranjo Programável (PAL) Cada porta AND pode ser programada
para gerar qualquer produto desejado de quatro variáveis de entrada.
A família PAL também contém dispositivos com variações do circuito soma-de-produtos básico Conectam o circuito lógico de soma-de-
produtos às entradas de FFs D e usam um dos pinos como entrada de clock para disparar os flip-flops de saída sincronamente.
ELT013 - Eletrônica Digital II 36
Arranjos de lógica genérico (GAL) Usam uma matriz EEPROM na matriz programável
que determina as conexões para as portas AND. Os interruptores EEPROM podem ser apagados e
reprogramados pelo menos 100 vezes. Podem ser usado como um genérico, com substituição
de pinos compatível para a maioria dos dispositivos PAL.
ELT013 - Eletrônica Digital II 39
Recursos dos dispositivos da Família MAX7000S
As principais estruturas da MAX7000S são os blocos de matrizes lógicas (LABs) e o arranjo de interconexão programável (PIA). Um LAB contém um conjunto de 16 macrocélulas e se assemelha
muito a um dispositivo SPLD único. Cada macrocélula consiste de um circuito programável AND/OR e
um registro programável (flip-flop).
ELT013 - Eletrônica Digital II 41
Estruturas principais dos dispositivos da Família MAX7000S (1)
Blocos de Matriz Lógica (LABs) com 16 macrocélulas, número determinado a partir do nº de peças (EPM7128S têm 128, em oito LABs).
Sinais lógicos roteados entre LABs pelo PIA. PIA é um barramento global que conecta qualquer fonte de sinal a
qualquer destino dentro do dispositivo. Pinos I/O são conectados a macrocélulas específicas (o
número de pinos I/O disponíveis depende do pacote).
ELT013 - Eletrônica Digital II 43
Estruturas principais dos dispositivos da Família MAX7000S (2)
A programação no – sistema pode ser feita através de pinos JTAG e uma porta paralela do PC.
Macrocélulas não conectados a pinos de I/ O podem ser usadas pelo compilador para a lógica interna.
Os quatro pinos só de entrada podem ser configurados como sinais de alta velocidade de controle ou como entradas gerais do usuário. GCLK1 - entrada de clock global primária para todas as macrocélulas. GCLK2 - relógio global secundário. OE1- habilitação de saída tristate primária. GCLRn - clear assíncrono para qualquer registrador de macrocélula.
ELT013 - Eletrônica Digital II 46
Estruturas principais dos dispositivos da Família MAX7000S (3)
Os blocos de controle I/O configuram todos os pinos I/O de entrada, saída ou operação bidirecional.
Todos os pinos I/O têm um buffer de saída que permanentemente ativado ou desativado, controlado por um dos dois pinos de habilitação de saída global ou por outras entradas ou funções geradas por macrocélulas.
Durante a programação no sistema os pinos de I/O serão transformados em tristate e receberão um pull-up interno, para eliminar conflitos de placa
ELT013 - Eletrônica Digital II 48
Estruturas principais dos dispositivos da Família MAX7000S (4)
FFs de macrocélulas podem implementar operações D, T, JK, ou SR.
Todos os registradores programáveis têm seu clock ativado de três modos diferentes: Com sinal de clock global. Com sinal de clock global quando FF está habilitado. Com sinal de clock de matriz produzido por uma macrocélula ou
um pino de entrada (não-global). Cada registrador pode ser apagado com o pino GCLRn. Todos os registradores do dispositivo serão resetados
automaticamente ao serem energizados.