1
Universidade Federal do ABC
Aula 9: Dispositivos Lógicos Programáveis
2
Dispositivos Lógicos Programáveis
• Chips programáveis podem ser personalizados segundo as
necessidades do usuário.
• Principais tipos de PLDs (Programmable Logic Devices)
PLA
PAL
ROM
CPLD
FPGA
3
Vantagens
• Curto tempo de desenvolvimento.
• Reconfiguráveis.
• Poupam espaço (na placa).
• Flexíveis (a mudanças do projeto).
• Projeto e produção mais baratos comparados com ASIC.
• Rápido “time to market”.
• Erros podem ser resolvidos facilmente.
• Um CI em vez de diversos.
• Menor consumo de energia.
• Maior confiabilidade.
4
PROM, PAL e PLA
5
Dispositivos Lógicos Programáveis Simples - SPLD
Matriz de AND
Programável
Matriz de OR
Fixa
PAL
Entradas
Saídas
Ligações
programáveis
Matriz de AND
Fixa
Matriz de OR
Programável
PROM
Entradas
Saídas
Ligações
programáveis
Matriz de AND
Programável
Matriz de OR
Programável
PLA
Entradas
Saídas
Ligações
programáveis
6
Arquitetura de PLD - PROM
Implemente:
O
3= AB+C’D’
O
2= AB’C
O
1=ABC’D’+A’B’CD
O
0= A+BD’+CD’
Observações
O número de
fusíveis dobra a
cada variável
acrescentada,
inviável para
muitas variáveis
de entrada
7
PLA (Programmable Logic Array)
•
Estrutura de 2 níveis: and – or
•
primeiro dispositivo lógico programável
utilizado para implementar funções
lógicas
•
Necessidade de programar ambos
planos de lógica introduz alta
complexidade de fabricação.
A B
C
C B A C B A f1 C B A B A f2 AND plane
Programmable switch or fuseOR plane
8
PAL (Programmable Array Logic )
•
Estrutura “and” programável e “or” fixa.
•
Fácil fabricar e projetar.
•
Termos produto pertencem a diferentes portas OR, não podem ser
compartilhados.
PAL realisation
of f
a, f
ßand f
r.
A
P
1P
2P
3f
aP
4P
5P
6f
bP
4P
5P
6f
cB
C
D
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x fa(A,B,C,D) = A'.B'.D' + B'.C.D' + A'.B.C.D fb(A,B,C,D) = A'.B + B'.C.D' fc(A,B,C,D) = A'.B'.D' + B'.C'.D' + A'.B.C.D9
SPLD - CPLD
•
SPLD (Simple Programmable logic device)
– Só o plano de portas AND é programável.
– Flip-Flops e feedbacks
– PLDs, incluindo PLAs, PALs, são agrupados em uma categoria conhecida
como PLDS simples (SPLDs).
•
CPLD (Complex Programmable logic device)
– Vários PLDs juntos.
– capacidades equivalentes a 50 SPLDs
– Estender a capacidade dos CPLDs é difícil
A B C Flip-flop Select Enable D Q Clock AND plane MUX
1
f
PLD Block PLD Block Interconnection Matrix I/ O Bloc k I/ O Bloc k PLD Block PLD Block I/ O Bloc k I/ O Bloc k • • • Interconnection Matrix • • • • • • • • •10
FPGA - Field Programmable Gate Array
I/O
I/O
Logic block Interconnection switchesI/O
I/O
N Input LUT Q Q SET CLR D MUX d a clk rst y q b c• Blocos lógicos programáveis (Logic Element “LE”) implementam lógica
cobinacional e sequencial. Baseados em LUT e DFF.
• FPGAs gerenciam alta capacidade lógica, memoria, etc
• Blocos de I/O programáveis.
I/Os Configuráveis para conexões externas.
• Interconexões programáveis
11
• LUT é uma RAM com largura de 1bit.
• O conteúdo é programável quando é ligado o sistema.
LUT (lookup table)
a b c y
y
a b c
a
b
c
y
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
Required Function
Truth Table
Programmed LUT
1 0 1 1 1 0 1 1 MUX y a,b,c LUT12
Exemplo
f = x1x2 + x2'x3
f1 = x1x2
f2 = x2'x3
f = f1 + f2
0 1 0 0 0 1 1 1 0 0 0 1 x 1 x 2 x 2 x 3 f 1 f 2 f 1 f 2 f x 1 x 2 x 3 f13
FPGA, Funções especiais
• SRAM Interna
• Multiplicadores e blocos DSP
• Analizador logic
• CPUs
• I/O de alta velocidade
(~10GHz)
• Interfaces DDR/DDRII/DDRIII
SDRAM
14
Tipo de
chave
Reprogramabilidade
Volátil ?
Tecnologia
Fuse
Não
Não
Bipolar
EPROM
Sim (fora do circuito)
Não
UVCMOS
EEPROM
Sim (no próprio
circuito)
Não
EECMOS
SRAM
Sim
Sim
CMOS
Antifuse
Não
Não
CMOS
Tecnologias para programação de PLDs
15
Fabricantes
• Xilinx
• Altera
• Lattice
• Actel
16
PLD Design Flow
Synthesis
- Translate Design into Device Specific Primitives
- Optimization to Meet Required Area & Performance Constraints
Design Specification
Place & Route
- Map Primitives to Specific Locations inside
Target Technology with Reference to Area &
Performance Constraints
- Specify Routing Resources to Be Used
Design Entry/RTL Coding
- Behavioral or Structural Description of Design
RTL Simulation
-
Functional Simulation
- Verify Logic Model & Data Flow
(No Timing Delays)
LE
M512
17
Timing Analysis
- Verify Performance Specifications Were Met
- Static Timing Analysis
Gate Level Simulation
- Timing Simulation
- Verify Design Will Work in Target Technology
PC Board Simulation & Test
- Simulate Board Design
- Program & Test Device on Board
tclk
18
Dispositivos ALTERA
•
Programmable Logic Families
– High & Medium Density FPGAs
• Stratix™ II, Stratix, APEX™ II, APEX20K, & FLEX® 10K
– Low-Cost FPGAs
• Cyclone™ & ACEX® 1K
– FPGAs with Clock Data Recovery
• Stratix GX & Mercury™– CPLDs
• MAX® 7000 & MAX 3000
– Embedded Processor Solutions
• Nios™, ExcaliburT™– Configuration Devices
• EPC19
• Software & Ferramentas de desenvolvimento:
– Quartus II
• Stratix II, Stratix, Stratix GX, Cyclone, APEX II,
APEX 20K/E/C, Excalibur, & Mercury Devices
• FLEX 10K/A/E, ACEX 1K, FLEX 6000, MAX
7000S/AE/B, MAX 3000A Devices
– Quartus II Web Edition
• Free Version
• Not All Features & Devices Included
– MAX+PLUS
®II
• All FLEX, ACEX, & MAX Devices
Software ALTERA
20
Standard Cells
• Projetados usando ferramentas CAD
• Projetistas usam portas de bibliotecas.
• Filas de portos lógicas podem ser conectadas por canais de
roteamento
• Podem ser usados várias camadas para evitar curto circuitos.
• Conexões são conhecidas como “VIA”
f 1 f 2 x 1 x 3 x 2
f
1
= x
1
x
2
+ x
1
'x
2
'x
3
+ x
1
x
3
'
f
2
= x
1
x
2
+ x
1
'x
2
'x
3
+ x
1
x
3
21
•
Parecidas com Standard Cells exceto que as portas são do mesmo tipo.
•
Fabricação barata devido à regularidade.
Sea of Gates
red
top layer channels
black bottom
layer channels
f
1
= x
2
x
3
' + x
1
x
3
22
Tradeoffs
Engineering cost / Time to
develop
Speed / Density /
Complexity / Likely
Market Volume
PLDs
CPLDs
FPGAs
ASICs
Full custom
VLSI design
23
DE2-115
24 • Altera Cyclone® IV 4CE115 FPGA device (EP4CE115F29C7)
• Altera Serial Configuration device – EPCS64
• USB Blaster (on board) for programming; both JTAG and Active Serial (AS) programming modes are supported
• 2MB SRAM • Two 64MB SDRAM • 8MB Flash memory • SD Card socket • 4 Push-buttons • 18 Slide switches • 18 Red user LEDs • 9 Green user LEDs
• 50MHz oscillator for clock sources
• 24-bit CD-quality audio CODEC with line-in, line-out, and microphone-in jacks • VGA DAC (8-bit high-speed triple DACs) with VGA-outconnector
• TV Decoder (NTSC/PAL/SECAM) and TV-in connector • 2 Gigabit Ethernet PHY with RJ45 connectors
• USB Host/Slave Controller with USB type A and type B connectors • RS-232 transceiver and 9-pin connector
• PS/2 mouse/keyboard connector • IR Receiver
• 2 SMA connectors for external clock input/output • One 40-pin Expansion Header with diode protection • One High Speed Mezzanine Card (HSMC) connector • 16x2 LCD module