Buscar

Dispositivos_Logicos_Programaveis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO
RIO GRANDE DO SUL
FACULDADE DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
SISTEMAS DIGITAIS II
Dispositivos Lógicos Programáveis
Prof. Juliano D`Ornelas Benfica
2009/01
Dispositivos LDispositivos Lóógicos Programgicos Programááveisveis
–FPGA (Field Programmable Gate Array) 
são circuitos programáveis compostos 
por um conjunto de células lógicas ou 
blocos lógicos alocados em forma de 
uma matriz.
–CPLD: (Complex Programmable Logic
Device) São projetados essencialmente 
para se parecerem como um grande 
número de PALs (Programmed Array
Logic) em uma único chip.
O que são FPGAs?O que são FPGAs?
Projeto e Implementação de 
Produtos Tecnológicos Baseados 
em Circuitos Eletrônicos
Sem Projeto de 
Dispositivos
Com Projeto de 
Dispositivos
Chip SetsSistema digital 
dedicado, 
programável
(microcontroladores
e/ou DSPs)
Sistemas 
computacional 
programável
(e.g. PC)
Dispositivos 
personalizáveis
(FPGAs e CPLDs)
Dispositivos 
projetados
e fabricados
sob encomenda 
ASIC (gate-arrays
ou standard cells)
Aumento de desempenho (maior velocidade e menor potência dissipada), sigilo de projeto, custo de desenvolvimento
 TECNOLOGIA
Diminuição da complexidade de projeto
Slides – Prof. F.Moraes
Arquitetura bArquitetura báásicasica
CLB CLB CLB
CLB CLB CLB
CLB CLB CLB
Switch
Blocks:
•• Matriz de Matriz de CLBsCLBs ((configurable logic blocksconfigurable logic blocks))
interconectados por uma matriz de chaveamentointerconectados por uma matriz de chaveamento
Slides – Prof. F.Moraes
FPGAs FPGAs –– conceitos bconceitos báásicossicos
Bloco K Bloco KBloco K
Bloco K Bloco KBloco K
Bloco K Bloco KBloco K
ES
ES
ES
ES
ES
ES
ES ES ES
ES ES ES
Entrada/Saída
Configuráveis
Conexões
Configuráveis
Funções 
Configuráveis
Slides – Prof. F.Moraes
FPGAs FPGAs –– conceitos bconceitos báásicossicos
•• Exemplo de conexão entre duas redesExemplo de conexão entre duas redes
Bloco K Bloco KBloco K
Bloco K Bloco K Bloco K
Bloco K
Bloco K
Slides – Prof. F.Moraes
LUTLUT -- gerador universal de gerador universal de 
funfunççõesões
•• LUT LUT -- looklook--upup tabletable
– Uma porção de hardware 
configurável/reconfigurável capaz de implementar 
qualquer tabela verdade de n entradas
– Para n=4:
– LUT
• Altamente flexível
• Método mais utilizado (Xilinx e Altera)
2
(2)4
= 65.536 funções implementáveis
Slides – Prof. F.Moraes
LUTLUT
A B C D
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
Tabela verdade 
da função é
armazenada em 
um memória 
durante a 
configuração do 
FPGA
DADCADCBADCBAF ......),,,( ++=
∑= )14,12,10,8,7,3,0(),,,( DCBAF
As entradas (variáveis 
Booleanas) controlam 
um multiplexador 2n:1
0
15
Implementação física de uma LUT4
Considerando 150 transistores / LUT
Para 50.000 LUTS ���� 7.500.000 transistores !
Slides – Prof. F.Moraes
Tecnologias de Programação
• Diferentes tecnologias são utilizadas para armazenar a programação:
• Antifuse
• (E)EPROM
• SRAM
Programação única
A programação deve ser feita toda a vez que a 
FPGA é ligada
Número limitado de programações
Tecnologias de configuraTecnologias de configuraççãoão
Slides – Prof. F.Moraes
FPGAs FPGAs –– ConfiguraConfiguraçção ão 
(dispositivos (dispositivos RAMRAM--basedbased) ) 
•• FPGA deve ser visto como FPGA deve ser visto como ““duas camadasduas camadas””
– Memória de configuração
– Lógica do usuário
•• MemMemóória de configuraria de configuraçção define:ão define:
– All interconnection (wiring)
– Logic Definition ( LUTs)
– DSP blocks
– Interface to hardwired blocks, e.g. PPC
– BRAM width, contents
– I/O Modes
•• VirtexVirtex
– Permite reconfiguração parcial
Configuration Memory Layer
User Logic Layer
Virtex 4: 1 MB – 4 MB
Slides – Prof. F.Moraes
Top 4 PLD Top 4 PLD 
Manufacturers Manufacturers 
20002000
Xilinx
42%
Altera
37%
Lattice
15%
Actel
6%
MERCADO FPGAsMERCADO FPGAs
Slides – Prof. F.Moraes
ECE 448 – FPGA and ASIC Design with VHDL
MERCADO FPGAsMERCADO FPGAs
20052005
XilinxXilinxAltera
Lattice
Actel
QuickLogic: 2% XilinxXilinx
All OthersAll Others
Segmento PLD Segmento FPGA
Other: 2%
51%33%
5% 7%
AlteraAltera
58%
31% 11%
ECE 448 – FPGA and ASIC Design with VHDL
XilinxXilinx
�� ProdutosProdutos PrimPrimááriosrios FPGAsFPGAs e CAD softwaree CAD software
�� QuartelQuartel General General emem San Jose, CASan Jose, CA
�� FablessFabless* * -- NãoNão possuipossui ffáábricabrica prpróópriapria
� UMC (Taiwan) {*Xilinx acquired an equity stake in 
UMC in 1996}
� Seiko Epson (Japan)
� TSMC (Taiwan)
Programmable 
Logic Devices ISE Alliance and Foundation 
Series Design Software
ECE 448 – FPGA and ASIC Design with VHDL
Xilinx FPGA FamiliesXilinx FPGA Families
•• Old familiesOld families
– XC3000, XC4000, XC5200
– Old 0.5µm, 0.35µm and 0.25µm technology. Not recommended 
for modern designs.
•• HighHigh--performance familiesperformance families
– Virtex (220 nm)
– Virtex-E, Virtex-EM (180 nm)
– Virtex-II, Virtex-II PRO (130 nm)
– Virtex-4 (90 nm)
– Virtex-5 (65 nm)
•• Low Cost FamilyLow Cost Family
– Spartan/XL – derived from XC4000
– Spartan-II – derived from Virtex
– Spartan-IIE – derived from Virtex-E
– Spartan-3 (90 nm)
– Spartan-3E (90 nm)
– Spartan-3A (90 nm)
ECE 448 – FPGA and ASIC Design with VHDL
General structure of an FPGA
ECE 448 – FPGA and ASIC Design with VHDL
CLB CLB
CLB CLB
Logic cell
Slice
Logic cell
Logic cell
Slice
Logic cell
Logic cell
Slice
Logic cell
Logic cell
Slice
Logic cell
Configurable logic block (CLB)
Xilinx CLB
ECE 448 – FPGA and ASIC Design with VHDL
CLB StructureCLB Structure
ECE 448 – FPGA and ASIC Design with VHDL
16-bit SR
16x1 RAM
4-input
LUT
LUT MUX REG
Logic Cell (LC)
16-bit SR
16x1 RAM
4-input
LUT
LUT MUX REG
Logic Cell (LC)
Slice
Xilinx CLB Slice
ECE 448 – FPGA and ASIC Design with VHDL
CLB Slice StructureCLB Slice Structure
•• Each slice contains two sets of Each slice contains two sets of 
the following:the following:
– Four-input LUT
• Any 4-input logic function,
• or 16-bit x 1 sync RAM (SLICEM only)
• or 16-bit shift register (SLICEM only)
– Carry & Control
• Fast arithmetic logic
• Multiplier logic
• Multiplexer logic
– Storage element
• Latch or flip-flop
• Set and reset
• True or inverted inputs
• Sync. or async. control
ECE 448 – FPGA and ASIC Design with VHDL
LUT (LookLUT (Look--Up Table) FunctionalityUp Table) Functionality
• Look-Up tables 
are primary 
elements for 
logic 
implementation
• Each LUT can 
implement any 
function of 
4 inputs
x1 x2 x3 x4
y
x1 x2
y
LUT
x1
x2
x3
x4
y
0
x1
0
x2 x3 x4
0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
y
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
x1
0
x2 x3 x4
0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
y
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
x1 x2 x3 x4
y
x1 x2 x3 x4
y
x1 x2
y
x1 x2
y
LUT
x1
x2
x3
x4
y
0
x1
0
x2 x3 x4
0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
y
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
x1
0
x2 x3 x4
0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 00
1 1 0 1
1 1 1 0
1 1 1 1
y
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
x1
0
x2 x3 x4
0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
y
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
x1
0
x2 x3 x4
0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
y
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
ECE 448 – FPGA and ASIC Design with VHDL
Simplified view of a Xilinx Logic Cell
ECE 448 – FPGA and ASIC Design with VHDL
RAM16X1S
O
D
WE
WCLK
A0
A1
A2
A3
RAM32X1S
O
D
WE
WCLK
A0
A1
A2
A3
A4
RAM16X2S
O1
D0
WE
WCLK
A0
A1
A2
A3
D1
O0
=
=
LUT
LUT
or
LUT
RAM16X1D
SPO
D
WE
WCLK
A0
A1
A2
A3
DPRA0 DPO
DPRA1
DPRA2
DPRA3
or
Distributed RAMDistributed RAM
•• CLB LUT configurable as CLB LUT configurable as 
Distributed RAMDistributed RAM
– A single LUT equals 16x1 
RAM
– Two LUTs Implement 
Single and Dual-Port 
RAMs
– Cascade LUTs to increase 
RAM size
•• Synchronous writeSynchronous write
•• Synchronous/AsynchronSynchronous/Asynchron
ous readous read
– Accompanying flip-flops 
used for synchronous 
read
FPGAs FPGAs –– fatores limitantesfatores limitantes
•• FreqFreqüüência de operaência de operaççãoão
– Altera: 500 MHz
– É um problema? Pode-se contornar através do paralelismo
•• Consumo de potênciaConsumo de potência
– Impedem ainda FPGAs em dispositivos móveis
– Altera: controle de consumo de potência através de múltiplas 
alimentações
•• Circuitos analCircuitos analóógicosgicos
– É um problema!
– Xilinx introduziu conversão A/D e D/A nas Virtex5
•• Custo para alto volumeCusto para alto volume
Slides – Prof. F.Moraes
Usados em Usados em todastodas as as ááreas!reas!
•• TelecomunicaTelecomunicaççãoão
– um dos maiores mercados para FPGA
– inclusive wireless
•• AutomaAutomaçção e Controleão e Controle
•• ConsumerConsumer
– HDTV
•• AutomotivoAutomotivo
– Xilinx Automotive (XA) family
•• Espacial (satEspacial (satéélites e velites e veíículos de exploraculos de exploraçção)ão)
– radiation tolerant reconfigurable FPGAs 
•• SupercomputaSupercomputaççãoão ((CrayCray))
Slides – Prof. F.Moraes
PrototipaPrototipaçção Rão Ráápidapida
•• Reduz time to Reduz time to marketmarket
•• SimulaSimulaçção prão próóxima ao tempo real (xima ao tempo real (realreal--
world world testingtesting))
•• ValidaValidaçção simultânea da arquitetura e ão simultânea da arquitetura e 
algoritmoalgoritmo
•• FlexibilidadeFlexibilidade
•• ReutilizaReutilizaçção dos mão dos móódulos de hardware dulos de hardware 
((core recore re--useuse) ) 
•• Iteratividade com o usuIteratividade com o usuááriorio
Slides – Prof. F.Moraes
Plataformas de PrototipaPlataformas de Prototipaçção Rão Ráápida de pida de 
Sistemas DigitaisSistemas Digitais
•• Hardware pode ser parcialmente alterado de forma Hardware pode ser parcialmente alterado de forma 
dinâmica, para implementar comportamentos dinâmica, para implementar comportamentos 
diversosdiversos
•• Provêem suporte a uma variedade de formas de Provêem suporte a uma variedade de formas de 
comunicacomunicaçção com perifão com perifééricos.ricos.
•• UtilidadesUtilidades::
– Validação funcional de sistemas digitais 
complexos
– Aumento da controlabilidade e observabilidade 
de um projeto
– Desenvolvimento de partes de sistemas digitais
– Implementação e validação de sistemas digitais 
reconfiguráveis
– Ensino de projeto de sistemas digitais
Slides – Prof. F.Moraes
Componentes de uma Componentes de uma 
plataforma de prototipaplataforma de prototipaççãoão
 Recursos
 Reconfiguráveis
 Recursos
 Fixos
 Recursos
 Programáveis
 Recursos
 de
 Interconexão
 Computador
 Hospedeiro
Slides – Prof. F.Moraes
XSVXSV--1 (com Xilinx Virtex)1 (com Xilinx Virtex)
• 800 Kportas e abundância de E/S
Slides – Prof. F.Moraes
ExcaliburExcalibur--NiosNios
FPGA Altera (4 placas)
• FPGA com 400 Kportas lógicas
• RAM (256 Kbytes SRAM + connector SODIMM)
• Flash 1Mbyte
• Interfaces Serial/PCI
Slides – Prof. F.Moraes
MemecMemec MicroBlaze V2MB1000MicroBlaze V2MB1000
FPGA Xilinx com 1 Mportas lógicas
• RAM (2Mbytes SRAM + 32Mbytes SDRAM)
• PROM 16Mbytes
• Interfaces Serial + Ethernet/Serial/USB/PS2 (c/ sobreplaca P160)
Slides – Prof. F.Moraes
VirtexVirtex--II ProII Pro™™ FF1152FF1152
FPGA Xilinx V2Pro
• FPGA com 2.5M portas 
lógicas
• RAM (64 Mbytes SDRAM)
• 3 PROMs para config
• Interfaces 
Ethernet/Serial/USB
•• Excelente para telecomunicaExcelente para telecomunicaççõesões
•• MGTsMGTs e entrada e entrada óóticatica
Slides – Prof. F.Moraes
VirtexVirtex--II ProII Pro
Slides – Prof. F.Moraes
DigilentDigilent Spartan3 Spartan3 BoardBoard
Spartan3 Board (10)
• Xilinx Spartan-3 FPGA c/ 12 multiplicadores, 216Kbits 
of block RAM, e clock de até 500MHz
• Flash 2Mbits (XCF02S) 
• 8 chaves, 4 botões, 9 LEDs, e display de 4 dígitos
• Portas serial, VGA e PS/2 (mouse/teclado) 
• 3 conectores de 40 pinos
• Usa cabos JTAG3, P4 e MultiPRO da Xilinx 
• 1Mbytes de memória SRAM (256Kb x 32) 
Slides – Prof. F.Moraes
Avnet Avnet -- VirtexVirtex--II XC2V4000II XC2V4000
•• 4 milhões de portas l4 milhões de portas lóógicas gicas 
equivalentes!equivalentes!
Slides – Prof. F.Moraes
VirtexVirtex--4 ML4014 ML401
Digilent BASYSDigilent BASYS