TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Grupo de Apoio ao Projeto de Hardware - GAPH
Tópicos Especiais em Sistemas Digitais I
Fernando Gehm Moraes e Ney Laert Vilar Calazans
Agosto / 2001
(última atualização em 22/08/2001)
Fernando Gehm Moraes e Ney Laert Vilar Calazans
1/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
O que FPGAs têm de especial?
“Permitem mudar a maneira de pensar, projetar e
desenvolver produtos contendo sistemas
digitais de alta complexidade: considerar a
criação de hardware personalizado, ao invés de
só usar dispositivos de prateleira rígidos (em
inglês, off-the-shelf).”
Mas, por quê?
Fernando Gehm Moraes e Ney Laert Vilar Calazans
2/36
Por quê?
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
• FPGAs: possíveis ganhos dramáticos de custo e desempenho;
• FPGAs permitem:
– criar hardware como software;
– mudar hardware total ou parcialmente;
– alterar hardware, durante funcionamento ou não;
• Atualizações: como software, e.g. via Internet;
• 70% dos FPGAs vendidos: valor agregado a produtos telecom;
• FPGAs: capacidade de 3.000 a 10.000.000 de portas NAND;
• CAD: poderosíssimo e complexo, pré-validação imprescindível;
• VHDL: alto nível de abstração para projeto e validação;
• VHDL: ferramentas de síntese automatizada para FPGAs.
• Pessoal de Informática PODE fazer projeto de SDs complexos!
Visa-se, finalmente, produtos mais competitivos!
Fernando Gehm Moraes e Ney Laert Vilar Calazans
3/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Onde Buscar Mais Informações?
• Homepage de fabricantes de PLDs, e.g.:
– www.xilinx.com, www.altera.com, www.actel.com, www.atmel.com
• Homepage de fabricantes de plataformas de prototipação e.g.:
– www.xess.com/FPGA, www.aptix.com, www.vcc.com
• Página de plataformas baseadas em FPGA de S. Guccione:
– www.io.com/~guccione/HW_list.html
• Homepage de fabricantes de sistemas de CAD:
– www.synopsys.com, www.aldec.com
• Homepage de links para sites relacionados a FPGAs:
– http://www.mrc.uidaho.edu/fpga/
• Livros disponíveis na biblioteca sobre FPGAs, VHDL, Codesign
Fernando Gehm Moraes e Ney Laert Vilar Calazans
4/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Sumário
1 - Introdução
2 - FPGAs
3 - Projeto de SDs usando CAD
4 - O Desafio de Sistemas Complexos
Fernando Gehm Moraes e Ney Laert Vilar Calazans
5/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
1 - Introdução
Sistema Digital - Aparato dotado de conjuntos finitos de
entradas e saídas e capaz de processar informação
representada sob forma numérica.
Em francês, systèmes numériques!
Entradas
Saídas
E(1)  C(1)
S(1)  C(K+1)
E(2)  C(2)
S(2)  C(K+2)
E(K-2)  C(K-2)
E(K-1)  C(K-1)
Sistema Digital
Processamento Numérico
de Informação
E(K)  C(K)
Fernando Gehm Moraes e Ney Laert Vilar Calazans
S(3)  C(K+3)
S(L-1)  C(K+L-1)
S(L)  C(K+L)
6/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Projeto e Fabricação de SDs VLSI
• Projeto de SDs - método p/ desenvolver plano de um SD 
manufatura automática;
• Estilo de Projeto - conjunto de métodos;
• Base da tecnologia atual - processos planares de
fabricação;
• CI VLSI moderno - pastilha de 1cm2 de lado, espessura <
1mm, >107 dispositivos;
• Parâmetro de base - “min-feature-size”: em 96 - 0,25µm/ em
98 - 0,18µm e 0,12µm/ hoje, abaixo de 0,1 µm!!!
Fernando Gehm Moraes e Ney Laert Vilar Calazans
7/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Taxonomia de SDs
• Fundamental - escolha de critérios de classificação
adequados;
• Ortogonalidade - meta da escolha de critérios;
• Critérios - podem depender de diversas características físicas,
de uso, de construção, de custo, etc.
• Critérios:
– personalizabilidade
– programabilidade
– retenção da personalização
– complexidade
– forma de produção
– relação entradas/saídas
– pressupostos de sincronismo, etc.
Fernando Gehm Moraes e Ney Laert Vilar Calazans
8/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Uma classificação de CIs baseada em vários critérios
NÃO PROGRAMÁ VEIS OU RÍGIDOS
EX: FAMÍLIA TTL 74XX
NÃO PERSONALIZÁVEIS
OU FIXOS
PROGRAMÁVEIS
EX: FAMÍLIA INTEL MCS'86
RETENÇÃO EM FUNCIONAMENTO
EX: FPGA BASEA DO EM RAM
CIRCUITOS
INTEGRADOS
PÓS-FABRICAÇÃO
RETENÇÃO ETERNA, EXCETO POR
PROCEDIMENTOS ESPECIAIS EX:
EPROM, EEPROM, FPGA
BASEADO EM EPROM
RETENÇÃO ETERNA, APÓS PRIMEIRA
PERSONALIZAÇÃO EX: PROM, FPGA
BASEADO EM ANTIFUSÍVEIS
PERSONALIZÁVEIS
PRÉ-DIFUNDIDOS
EX: GATE ARR AY
PARCIALMENTE PERSONALIZÁV EIS,
OU SEMI-DEDICADOS, OU PRÉCARACTERIZADOS (SEMI-CUSTO M)
PÓS-DIFUNDIDOS
EX: STANDARD-CELL
POR FABRICAÇÃO
TOTALMENTE PERSONALIZÁVEIS,
OU DEDICADOS (FULL-CUSTO M)
Fernando Gehm Moraes e Ney Laert Vilar Calazans
9/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Modelo de Gajski-Kuhn ou Diagrama Y
Domínio Estrutural
Domínio Comportamental
Sistêmico
Arquitetural
Processadores, Memórias, Barramentos
Processos Comunicantes, Algoritmos
Registradores, ULAs, Muxs, Decods
Portas Lógicas, Biestáveis
Transistores, Lineares
Lógico
HDLs, Transferência entre Registradores
Elétrico
Expressões Booleanas, Tabelas de Transição
Funções de Transferência, Equações Diferenciais
• Modelo bidimensional;
• Critérios: nível de
abstração e domínio de
descrição;
• Domínio de descrição =
tipo de informação;
"Layout" de Transistores e Lineares
Planta Baixa de Células Lógicas
Planta Baixa de Blocos de CIs
Placas, Módulos Multi-chip
Domínio Físico
Círculo = nível de abstração, eixo = domínio de descrição;
Intersecção círculo-eixo (vértices) = descrição;
Transformação entre níveis (aresta no grafo) = ferramenta.
Fernando Gehm Moraes e Ney Laert Vilar Calazans
10/36
Exemplo de representação do processo de projeto
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Domínio Estrutural
Processo Clássico de
Projeto de SDs
Domínio Comportamental
Português Estruturado
Editor de Esquemáticos
Diagrama de Blocos
Diagrama de Tempos
Diagrama de Esquemáticos
Particionamento,
Posicionamento, Traçado de Rotas
• Ponto de Partida especificação informal;
• Captura/Validação - Editor de
esquemáticos e Simulador;
Simulação, "Back Annot ation"
Minimização
Elétrico
"Lay out" de Transistores
Lógico
Arquitetural
Sistêmico
Domínio Físico
Síntese física - Posicionamento e Traçado de Rotas,
seguido de “back-annotation” e ressimulação;
Fernando Gehm Moraes e Ney Laert Vilar Calazans
11/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
2 - FPGAs
2.1 - Introdução - PLDs
2.2 - Características Gerais de FPGAs
2.3 - Arquitetura da Família XC4000 da Xilinx
2.4 - Fluxo de Projeto p/ a Família XC4000
Fernando Gehm Moraes e Ney Laert Vilar Calazans
12/36
2.1 - Introdução - PLDs
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
• Dispositivo eletrônico configurável pelo usuário
– Descrição do circuito - Esquemático: nível lógico de abstração;
Linguagem de Descrição de Hardware: nível arquitetural de
abstração; Máquinas de estados finitas (FSM)
– Configuração permanente, semipermanente ou dinâmica
– Reconfiguração parcial durante funcionamento ou não
• CPLD: Complex Programmable Logic Device
– Arquiteturas de circuitos configuráveis baseados numa estrutura
do tipo PAL ( AND/OR gates)
– Baixa complexidade
– Aplicação: pequenos projetos lógicos
• FPGA: Field Programmable Gate Array
– Arquiteturas de circuitos configuráveis constituídos por um
número elevado de pequenos elementos
– Complexidade elevada, milhares de portas lógicas
– Aplicação: sistemas digitais complexos
Fernando Gehm Moraes e Ney Laert Vilar Calazans
13/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Tecnologias de Implementação e Fabricantes
• Memória de Configuração:
– EPROM
– EEPROM
– Flash
– Antifusíveis
– SRAM
• Fabricantes
– Xilinx - SRAM (XC4000, Spartan, Virtex) e Flash (XC9500)
– Altera - SRAM (Flex8K/10K,Apex,Acex), EPROM/EEPROM
(Max5K/7K,9K)
– Actel - Antifusíveis (ACT e ACT2)
– Vantis, Lattice, Lucent, QuickLogic, …
Fernando Gehm Moraes e Ney Laert Vilar Calazans
14/36
$ Millions
700
600
500
400
300
200
100
c
gi
ck
Lo
Q
ui
At
m
el
re
ss
Cy
p
ce
nt
Lu
Ac
te
l
La
t ti
ce
Va
nt
is
x
Xi
lin
ra
0
Al
te
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Mercado de FPGAs em 1997
Source: Company reports & In-Stat.
Includes SPLD, CPLD, FPGA revenues.
Fernando Gehm Moraes e Ney Laert Vilar Calazans
15/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
2.2 - Características Gerais de FPGAs
• Configuração das funções lógicas combinacionais
• Configurabilidade e Reconfigurabilidade
• Opções de Arquiteturas Internas
• Tendência Atual
• XILINX - Família 4000
• Número de portas lógicas equivalentes
• Altera - Família 10k
Fernando Gehm Moraes e Ney Laert Vilar Calazans
16/36
Configuração das funções lógicas combinacionais
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
• LUT (look-up table): Altera, Xilinx
•
LUT - armazena uma tabela verdade de n entradas
•
LUT de n entradas - todas as funções Booleanas de n entradas
1
0
0
4
0
2
1
(2 )
= 64K funções implementáveis
0
tabela verdade
armazenada em
bits de memória,
um registrador!!
0
0
F( A, B, C, D) = A.B.C.D + A.C.D + A.D
1
F( A, B, C, D) =  (0, 3, 7, 8,10,12,14)
1
0
1
0
• Altera:
1
0
– LUT com portas lógicas - PLD
1
variáveis das funções
lógicas ativam seleção
no mux
0
15
ABCD
Fernando Gehm Moraes e Ney Laert Vilar Calazans
– Plano E configurável, conectado a uma
porta lógica OU
17/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Configuração das funções lógicas combinacionais
• Multiplexador: Actel, QuickLogic, Algotronix
– estrutura conhecida como “gerador universal de funções
lógicas” - ULG (Universal Logic Function Generator)
– Não implementa todas as funções lógicas de n entradas
– Funções lógicas mais complexas exigem diversos ULGs
A
B
0
1
0
0
Saída
D
0
1
C1
C
D
0
1
F( A, B, C, D) = C.D + A.B.C
1
0
C3
1
0
A
0
1
C
1
C2
B
Fernando Gehm Moraes e Ney Laert Vilar Calazans
18/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Configurabilidade e Reconfigurabilidade
• Antifusível - Actel, QuickLogic, CrossPoint
– todas os pontos de conexão entre blocos lógicos estão
inicialmente abertos
– no momento da configuração do dispositivo FPGA, estes pontos
são conectados permanentemente
• EPROM/EEPROM - Altera, AMD
– o dispositivo pode ser reconfigurado, removendo-se os dados
através de exposição a raios ultra-violeta
• Memória SRAM/Flash - Xilinx, Altera, Algotronix
– o dispositivo FPGA deve ser configurado a cada utilização
(ao conectar à alimentação)
Fernando Gehm Moraes e Ney Laert Vilar Calazans
19/36
• Linhas de Blocos Lógicos - Actel
– arquitetura semelhante a ASICs baseados em bibliotecas
de células
Linha de blocos lógicos
Recursos horizontais de roteamento
Blocos de entrada / saída
Blocos de entrada / saída
Blocos de entrada / saída
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Opções de Arquiteturas Internas
Blocos de entrada / saída
• Mar de Blocos Lógicos - Algotronix
– Os recursos de roteamento são alocados sobre os
blocos lógicos
– Não há região dedicada de roteamento
Fernando Gehm Moraes e Ney Laert Vilar Calazans
20/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Opções de Arquiteturas Internas
• Matriz simétrica - Xilinx 4000
– matriz de blocos lógicos
com recursos horizontais
e verticais de roteamento
• Hierárquico - Xilinx 6200
Bloco 16x16
– permite a reconfiguração
parcial do FPGA

Fernando Gehm Moraes e Ney Laert Vilar Calazans
 







Bloco 4x4
Bloco Lógico
 
21/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Tendência Atual
• Os dispositivos configuráveis com maior penetração no
mercado possuem as seguintes características:
– bloco lógico implementado como LUT (3-4 entradas)
– configuração via memória SRAM (SRAM based), reconfigurável
– arquitetura do tipo matriz simétrica
• Razão
– LUTs simplificam as ferramentas de síntese lógica
– SRAM based permitem inúmeras reconfigurações
– Matriz simétrica contém um número maior de recursos de
roteamento
• Principais Fabricantes: Xilinx e Altera
Fernando Gehm Moraes e Ney Laert Vilar Calazans
22/36
XILINX - Família 4000
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Device
XC4005XL
XC4010XL
XC4013XLA
XC4020XLA
XC4028XLA
14 x 14
20 x 20
24 x 24
28 x 28
32 x 32
466
950
1.368
1.862
2.432
Max RAM Bits
6.272
12.800
18.432
25.088
32.768
System Gates
3.000 – 9.000
7.000 – 20.000
10.000 - 30.000
13.000 - 40.000
18.000 - 50.000
112
160
192
224
256
XC4036XL
XC4044XL
XC4052XL
XC4062XL
XC4085XL
36 x 36
40 x 40
44 x 44
48 x 48
56 x 56
41.472
51.200
61.952
73.728
100.352
3.078
3.800
4.598
5.472
7.448
CLB Array
Logic Cells
Max User I/O
Device
CLB Array
Max RAM Bits
Logic Cells
System Gates
22.-000 - 65.000
27.000 - 80.000 33.000 - 100.000 40.000 - 130.000 55.000 - 180.000
288
320
352
384
448
XC40110XV
XC40125XV
XC40150XV
XC40200XV
XC40250XV
64 x 64
68 x 68
72 x 72
84 x 84
92 x 92
9.728
10.982
12.312
16.758
20.102
Max RAM Bits
123.645
147.968
165.888
225.792
270.848
System Gates
220.000
265.000
300.000
400.000
500.000
448
448
448
448
448
Max User I/O
Device
CLB Array
Logic Cells
Max User I/O
• Família VIRTEX: 50K até 4M de portas lógicas equivalentes,
(4Mportas ao final de 1999). Já lançou VirtexII (até 10Mportas)
Fernando Gehm Moraes e Ney Laert Vilar Calazans
23/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Número de portas lógicas equivalentes
Logic Cells
A partir de 1999, estimativas
1,000,000
Logic Gates
12M
2 Million logic gates
1.2M
100,000
120K
10,000
1,000
1994
12K
Year
1996
1998
2000
2002
4Mportas - de fato em Jul/1999
10Mportas - de fato em Mar/2001
Fernando Gehm Moraes e Ney Laert Vilar Calazans
24/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Altera - Família 10k
Device
EPF10K30E
EPF10K50E
EPF10K100B
EPF10K100E
30.000
50.000
100.000
100.000
1728
2880
4992
4992
24.576
40.960
24.576
49,152
220
254
191
338
EPF10K130E
EPF10K200E
EPF10K250E
130.000
200.000
250.000
Blocos lógicos
6.656
9.984
12.160
Max RAM Bits
65.536
98.304
81.920
413
470
470
System Gates
Blocos lógicos
Max RAM Bits
Max User I/O
Device
System Gates
Max User I/O
• Família Apex : 50K até ~1,7M portas lógicas equivalentes
• Breve lançará Apex-II: até 6M portas lógicas equivalentes
• Cuidado! 1 porta Altera ~= 2 portas Xilinx
Fernando Gehm Moraes e Ney Laert Vilar Calazans
25/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
2.3 - Arquitetura da Família XC4000 da Xilinx
Blocos lógicos
configuráveis (CLBs)
C1 C2 C3 C4
H1 DIN S/R EC
•
Alta densidade: até 250K gates
•
LUTs
•
Tempo de reconfiguração inferior a 1
segundo
S/R
Control
G4
G3
G2
G1
DIN
G
Func.
Gen.
SD
F'
H'
EC
RD
1
F4
F3
F2
F1
H
Func.
Gen.
F
Func.
Gen.
Q
D
G'
Y
G'
H'
S/R
Control
Slew
Rate
Control
DIN
Vcc
SD
F'
D
G'
D
Q
Q
Output
Buffer
Pad
H'
Input
Buffer
EC
RD
1
Q
F'
CLB
Interconexão
Configurável
D
Delay
X
H'
K
Passive
Pull-Up,
Pull-Down
CLB
I/O Blocks
(IOBs)
Switch
Matrix
CLB
CLB
Fernando Gehm Moraes e Ney Laert Vilar Calazans
26/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Bloco Lógico - CLB
• Unidade que implementa as funções lógicas. Contém:
– 2 LUTs de 4 entradas (F e G) e uma LUT de 3 entradas (H)
– 2 flip-flops
– LUTs podem também ser utilizadas como ROM, RAM, RAM
dupla-porta
– Saídas podem ser conectadas ou não aos registradores
– flip-flops podem ser também configurados como latches
FFX
G1
G2
G3
G4
H1
H2
H3
F1
F2
F3
F4
XQ
G_LUT
X
H_LUT
F_LUT
Y
FFY
Fernando Gehm Moraes e Ney Laert Vilar Calazans
YQ
27/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Bloco Lógico - CLB
• Capacidade de cada CLB:
– 2 funções de 4 variáveis e 1 de 3 variáveis, através de FF (qquer f)
ou
– 1 função de 5 variáveis (qquer f)
ou
– uma dentre um subconjunto das funções com 6 a 9 variáveis
e
• Propagação rápida de carry (vai-um)
e
• Dois FFs/latches para armazenar saídas de funções
ou:
• 1 memória 32x1 ou 16x2, porta simples ou 16x1, porta dupla
Fernando Gehm Moraes e Ney Laert Vilar Calazans
28/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Bloco Lógico - CLB - família XC - 4000
Fernando Gehm Moraes e Ney Laert Vilar Calazans
29/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Arquitetura de FPGA
IO
bloco de
E/S
IO
IO
chaves
programáves
Bloco K
Bloco K
Bloco K
IO
IO
caixa de
conexão
canal de
roteamento
Bloco K
Bloco K
Bloco K
IO
CLB
Bloco K
Bloco K
Bloco K
IO
m trilhas
IO
IO
Fernando Gehm Moraes e Ney Laert Vilar Calazans
IO
IO
IO
30/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Switch box - caixa de conexão
• Conecta as regiões de roteamento entre si
• Flexibilidade limitada para reduzir custo de hardware
(Fs = 3)
Fernando Gehm Moraes e Ney Laert Vilar Calazans
31/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Switch box - roteamento
• Exemplo de conexão entre duas redes
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Fernando Gehm Moraes e Ney Laert Vilar Calazans
32/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Recursos de Roteamento
• Diversos comprimentos de fios para reduzir atrasos
– Linhas simples: entre CLBs vizinhos
– Linhas duplas: a cada dois CLBs
– Linhas longas: sinais globais como clock (baixo skew)
Fernando Gehm Moraes e Ney Laert Vilar Calazans
33/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Blocos de Entrada / Saída
• Possuem recursos de memória configuráveis (registrador ou latch)
• Pads configuráveis como entrada, saída ou bidirecionais
• Entradas podem utilizar registrador ou latch
• Saídas apenas registradores
• Possibilidade de definir sinais tristate (alta impedância)
• Slew rate de saída configurável.
• Boundary Scan
OUT
IN
Fernando Gehm Moraes e Ney Laert Vilar Calazans
34/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
Recursos Adicionais
• Global clock buffers
– Alta velocidade, baixo skew (escorregamento)
– Podem ser utilizados para redes de alto fanout
• Global reset net
– Conecta todos os registradores e latches do
circuito FPGA
• Outros
– Buffers tristate
– Decodificadores para RAM
– Oscilador com freqüências múltiplas
– Propagação rápida de carry (vai-um)
Fernando Gehm Moraes e Ney Laert Vilar Calazans
35/36
TÓPICOS ESPECIAIS EM SISTEMAS DIGITAIS I
PRÓXIMA AULAS
1. FPGAS DA FAMÍLIA VIRTEX
2. PLATAFORMAS DE
PROTOTIPAÇÃO
Fernando Gehm Moraes e Ney Laert Vilar Calazans
36/36
Download

topicosI_I_fpgas