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