Você está na página 1de 27

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 -FPGA
- Programação armazenada - Programação armazenada
em FLASH em SRAM
- Célula lógica (Macrocell) com - Célula lógica (Logic Element)
muitas entradas (até 90) com poucas entradas (4 à 6)
- Número limitado de - Grande número de
registradores (até 512) registradores (até 200K)
- Não possui arranjos de - Blocos de memória (até 9.9M
memória bits) e memória distribuída (até
- Atrasos de roteamento 1.3M bits)
determinísticos - Atrasos de roteamento
- Projetos simples 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ória
Flip-flops
Saí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
C1 C2 C3 C4

H1 DIN S/R EC

• 13 "pinos" de entrada
S/R
Control

• 4 "pinos" de saída G4
G
DIN
SD
G3 F'
Q YQ
D
• 3 geradores de funções G2
Function
Generator
G'
H'

G1
• 2 flip-flops EC
RD
• Funções “C” permutáveis H G'
1

Y
Function H'

• Aritmética com lógica de Generator S/R


Control
F4
carry rápida (não visível) F3 F DIN
SD
Function F'
F2 D Q XQ
Generator G'

F1 H'

EC
RD
1
H'
F'
X
K
FPGA – IOB’s

• Periferia de IOBs idênticos


– Entrada, saída, ou bidireccional
– Com registo ou apenas
combinatório
– Saída tri-state
I
O Pad
IOB
TS
Ligado ao
Clocks Pino
FPGA – IOB’s Xilinx 4000
Vcc
Slew Passive
Rate Pull-Up,
Control Pull-Down

OE IOB’s
Interface entre
O D Q Output uma FPGA e o
Buffer Pad
Output
resto do
Clock sistema;
O FPGA XC
I1
Input
4000 Xilinx tem
I2
Buffer
80 IOB’s
Q D Delay Localizam na
periferia do chip;
Input
Clock
FPGA – SB’s

SB’s - Switch Box


Finalidade: 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

Você também pode gostar