Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor...
Transcript of Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor...
Dispositivos de Lógica Programável
Março 2011
Evolução
• Válvula no início de 1940• Transistor em 1947
– Não aquece como as válvulas– Fisicamente menor
• 1961 primeiro integrado TTL 74LSXX• Década de 1970
– surge SPLD – Simple PLD ( ROM, PLA, PAL, etc ) << 600 portas
– ASIC’s – applications specific integrated circuits
• Década de 1980 >> 600 portas– Multiple PLD – CPLD – FPGA – Field Programmable Gate Array
O que escolher ?
Projetista tem o desafio de encontrar o balanço entre velocidade e generalidade do hardware
• Chip genérico– Microcontroladores Muitas funções Sacrifício de
desempenho
• Chip dedicado – ASICS Aplicação específica alta velocidade
baixo consumo só se justifica em grande quantidade, pois alterações do projeto não são possíveis
PLA – Soma de Produtos
3 Entradas – X1, X2, X3
2 Saídas – Z1, Z2
Um bloco AND configurável com 6 entradas
Um Bloco OR Configurável com 6 entradas
PLA – Soma de Produtos
PAL – Soma de Produtos
3 Entradas – X1, X2, X3
2 Saídas – Z1, Z2
Apenas bloco AND configurável com 6 entradas
Bloco OR fixo
•Construção fácil e mais barata
•Melhor desempenho que PLA’s
PAL – Soma de Produtos
CPLD – Complex PLD ( Vários PAL’s em um Chip )
CPLDs são grupos de macrocélulas: geradores de produtos (product terms) + flip-flop
FPGA – Field Programmable Gate Array
Não contém bloco AND ou OR
3 Elementos básicos:
Tudo configurado por software
Principais fabricantes:
Xilinx Actel, Altera, Plessey, Plus, AMD, QuickLogic
CPLD X FPGA
CPLD- Programação armazenadaem FLASH- Célula lógica (Macrocell) commuitas entradas (até 90)- Número limitado deregistradores (até 512)- Não possui arranjos dememória- Atrasos de roteamentodeterminísticos- Projetos simples
-FPGA- Programação armazenada em SRAM- Célula lógica (Logic Element)com poucas entradas (4 à 6)- Grande número deregistradores (até 200K)- Blocos de memória (até 9.9Mbits) e memória distribuída (até1.3M bits)- Atrasos de roteamento variáveis- Projetos complexos
FPGA – Elementos Básicos
- Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas bidirecionais que incluem buffer, flip-flop de entrada buffer tri-state e flip-flop de saída .
- Interconexões Programáveis (Programmable InterConnect): pode ser do tipo SRAM, Antifusível ou EPROM. São como interruptores programáveis, geram as pistas de ligação entre os blocos lógicos e blocos de entrada e saída .
- Blocos Lógicos Configuráveis (Logic Block): pode ser tão simples como um transistor ou tão complexo quanto um microprossessador. Este bloco é capaz de implementar várias funções combinacionais (através de look-up-table) e seqüenciais (através de flip-flops).
FPGA – Field Programmable Gate Array
As famílias de FPGA’s diferem em :
-Formas de realizar a programação;
-Formas de organização dos condutores de interconexão
-Funcionalidades dos blocos lógicos
Porém, a diferença mais significativa é a forma de disponibilizar os blocos lógicos e as conexões.
FPGA – Conexões
Baseada em fusível
-Não volátil
-Pequena dimensão
-Porém não reprogramável
FPGA – Conexões
Baseada em latch
-Volátil
-Relativamente grande
-Reprogramável
FPGA – CLB ou Bloco Lógico
Bloco Lógico Ideal de uma FPGA:
Lógica combinatóriaFlip-flopsSaídas com registo ou apenas combinatórias
reproduzem qualquer operação combinatória de até 4 entradas
FPGA – CLB Altera Flex8000/10000
FPGA – CLB Xilinx XC4000
D QSD
RDEC
S/RControl
D QSD
RDEC
S/RControl
1
1
F'
G'
H'
DIN
F'
G'
H'
DIN
F'
G'
H'
H'
H1 DIN S/R EC
HFunction
Generator
GFunction
Generator
FFunction
Generator
G4
G3
G2
G1
F4
F3
F2
F1
C4C1 C2 C3
K
YQ
Y
XQ
X
• 13 "pinos" de entrada
• 4 "pinos" de saída
• 3 geradores de funções
• 2 flip-flops
• Funções “C” permutáveis
• Aritmética com lógica de
carry rápida (não visível)
FPGA – IOB’s
• Periferia de IOBs idênticos
– Entrada, saída, ou bidireccional
– Com registo ou apenas combinatório
– Saída tri-state
IOB Pad
Ligado ao PinoClocks
TSO
I
FPGA – IOB’s Xilinx 4000
IOB’sInterface entre uma FPGA e o resto do sistema;O FPGA XC 4000 Xilinx tem 80 IOB’sLocalizam na periferia do chip;
D Q
SlewRateControl
PassivePull-Up,Pull-Down
Delay
Vcc
OutputBuffer
InputBuffer
Q D
Pad
OutputClock
InputClock
I1
2I
O
OE
FPGA – SB’s
SB’s - Switch BoxFinalidade: Permite a interconexão entre os CLB’s através dos canais de roteamento;
FPGA – Exemplo de Função
FPGA – Módulo Básico MUX 4:1
Como obter um LATCH RS ????
FPGA – Módulo Básico MUX 4:1 trabalhando com LATCH RS
FPGA – Vantagens
• Rapidez de desenvolvimento• Sem custos de obtenção de protótipos (NRE)• Tecnologia de (re)programação SRAM
– Desenvolvimento com risco mínimo– Reutilização
• Testado 100% na fábrica– Dispensa testes de aceitação do componente
FPGA – Exemplo de Função
FPGA – Característica de Projeto