dispositivos de lógica programável março 2011. evolução válvula no início de 1940 transistor...
TRANSCRIPT
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