Arquitetura de Dispositivos Lógicos Programáveis – ELT013ECO2013
Download
Report
Transcript Arquitetura de Dispositivos Lógicos Programáveis – ELT013ECO2013
Eletrônica Digital II
ELT013
Engenharia de Computação
Aula 2
ARQUITETURA DE DISPOSITIVOS
LÓGICOS PROGRAMÁVEIS
ELT013 - Eletrônica Digital II
2
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
3
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
4
Qual a diferença entre um
microprocessador/controlador/DSPs e os outros sistemas
digitais?
MICROPROSSADORES/MICROCONTROLA
DORES/DSPs
Seguem instruções especificadas
pelo projetista
Organização interna complexa
“Lentos”
Inflexível
Desenvolvimento do hardware é
caro (CI MSI) e demorado
ELT013 - Eletrônica Digital II
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
5
Á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
6
http://algol.dcc.ufla.br/~lacerda/projetos/index.html
ELT013 - Eletrônica Digital II
7
http://algol.dcc.ufla.br/~lacerda/projetos/index.html
ELT013 - Eletrônica Digital II
8
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
9
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
10
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
11
ASICs
Application 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
12
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
13
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
14
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
15
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
16
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
17
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
18
IPs
Intelectual 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
19
FUNDAMENTOS DOS CIRCUITOS DE
PLDS
ELT013 - Eletrônica Digital II
20
Estrutura Básica
ELT013 - Eletrônica Digital II
21
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
22
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.
O1 AB AB AB AB
O1 A( B B) A( B B)
O1 A A 1
ELT013 - Eletrônica Digital II
23
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:
O1 AB AB AB AB 0 AB AB 0 AB AB
ELT013 - Eletrônica Digital II
24
Simbologia Simplificada
Diminuir a complexidade do diagrama do circuito
Neste arranjo, as saídas estão programadas como:
O1 AB AB
O2 AB
O3 0
O4 1
ELT013 - Eletrônica Digital II
25
ARQUITETURA DE PLDS
ELT013 - Eletrônica Digital II
26
PROMs
ELT013 - Eletrônica Digital II
27
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
28
PROMs
ELT013 - Eletrônica Digital II
29
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
30
Procedimento de Análise
2º Passo: Selecionar as saídas de interesse (fusíveis intactos)
ELT013 - Eletrônica Digital II
31
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
32
Lógica de Arranjo Programável (PAL)
ELT013 - Eletrônica Digital II
33
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-deprodutos à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
34
ELT013 - Eletrônica Digital II
35
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
36
FAMÍLIA MAX7000S DA ALTERA
ELT013 - Eletrônica Digital II
37
Diagrama em bloco da família MAX7000S
ELT013 - Eletrônica Digital II
38
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
39
Diagrama em bloco da família MAX7000S
ELT013 - Eletrônica Digital II
40
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
41
Diagrama em bloco da família MAX7000S
ELT013 - Eletrônica Digital II
42
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
43
Diagrama em bloco da família MAX7000S
ELT013 - Eletrônica Digital II
44
ELT013 - Eletrônica Digital II
45
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
46
Diagrama em bloco da família MAX7000S
ELT013 - Eletrônica Digital II
47
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.
ELT013 - Eletrônica Digital II
48
ELT013 - Eletrônica Digital II
49