Académique Documents
Professionnel Documents
Culture Documents
Centro Tecnológico
Departamento de Informática e Estatística
Curso de Graduação em Ciências da Computação
Lógica Programável
INE 5348
Aula 1-T
Formas de implementação de sistemas digitais.
Introdução à Linguagem VHDL e familiarização com o
Quartus II da Altera.
FPGA
• Faltam algumas ou todas
etapas de fabricação CPLD • Chip fabricado e
• Configuração=definição encapsulado ou
das máscaras (masked) PLA, PAL projeto validado
• Configuração ocorre que pode ser
quando o circuito é “embarcado”
fabricado (i.e., ocorre na ROM, PROM, • Configuração por
Foundry) EPROM, linguagem de
• Chip fabricado e
montagem ou de
encapsulado EEPROM alto nível
• Configuração por
fusíveis, transistores
especiais ou SRAM • Chip fabricado e
• Configuração ocorre SSI/MSI encapsulado
após o circuito ter • Configuração =ligação entre
sido fabricado os chips
massa
P P N N
poço P
Substrato N
“Difusão P” “Difusão N”
slide 1T.4 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Como Implementar um Sistema Digital?
VDD
Gnd
VDD
Problema: baixa
capacidade de integração
7404
f = x1x2 + x2x3
7408 7432
x1
x2
x3
f
FPGA
Componentes (ou CPLD
dispositivos) PLA, PAL
Programáveis ROM, PROM,
(ou configuráveis) EPROM,
EEPROM
SSI/MSI
0
1 Armazena a
A 2 tabela-verdade
endereço B
3
das funções de
4
C saída
5
6
7
F1 F2 F3 F4 ….
0
1
A 2 fusível
3
B
4
C
5
ou
6
7
Transistor
F1 F2 F3 F4 …. (MOS)
S S
chave fechada
G=1
com corrente elétrica até que
D=S
D D
slide 1T.11 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Tecnologia para Configuração e Tipos de
Chips Programáveis
Tecnologia Reprogramação Elemento de programação Chips programáveis
Memórias PROM,
PROM não Fusível/anti-fusível
SPLDs e CPLDs
Transistor MOS com gate
EPROM limitada Memórias EPROM
flutuante (FAMOS)
EEPROM limitada Transistor MOS (FLOTOX) Memórias EEPROM
FLASH Quase ilimitada Transistor MOS (ETOX) (Flash) FPGAs
SRAM ilimitada Transistor CMOS comum (SRAM) FPGAs
Introduzida no
mercado pela
Philips, (início
da década de
Plano E Plano OU
1970).
… …
Um PLA típico possui:
• 16 entradas Inversores e buffers
• 48 produtos
… saídas
• 8 saídas
entradas
slide 1T.14 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
saídas
Plano E
slide 1T.16 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Select Enable
saída
Flip-flop
D Q
Clock
Para o plano E
CPLDs:
• Lançados no final da década dos 80 (+/- 1989, El Gamal),
pela Altera.
Bloco de E/S
Bloco de E/S
Bloco Bloco
tipo tipo um CPLD
PAL PAL
CPLDs existentes no
Rede de interconexão mercado:
• Possuem entre 2 a
100 blocos tipo PAL
• Variedade de
Bloco de E/S
Bloco de E/S
macrocell
D Q
Tri-state buffers:
Permitem configurar
os pinos (E/S)
D Q
D Q
chaves programáveis
(ligações do bloco
com as linhas de
interconexão)
I/O block
I/O block
chaves programáveis
(ligações entre linhas
verticais e
horizontais)
bloco lógico
programável
I/O block
0 1 1 0 0 0
F1
1 0 0 0 0 0
1 0 1 0 1 0
1 1 0 1 1 1
1 1 1 1 1 1
C
Select
saída
Flip-flop
In1
In2 LUT D Q
In3
Clock
Bloco de E/S
x1
f1
x2 t1 t2 t3
Bloco de E/S
Bloco de E/S
1 0 0
SRAM SRAM SRAM
A B C
Bloco de E/S
slide 1T.31 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
x3 f
x1
x1 0 x2 0
0 f 1 f
1 2
x2 x2 0 x3 0
1 0
f1 0
1 f
1
f2
1
FPGAs: Configuração
• FPGA deve ser visto como “duas camadas”
– Memória de configuração
– Lógica do usuário
User Logic Layer
• Memória de configuração define:
– Todas as conexões (wiring)
– Lógica do usuário ( LUTs)
– Blocos DSP Configuration Memory Layer
– Interface to hardwired blocks, e.g. PPC
– Tamanho e conteúdo dos blocos BRAM
– Modos de E/S (I/O Modes) Virtex 4: 1 MB – 4 MB
Altera
37%
http://www.yeald.com/Yeald/a/17251/pld_market_shares.html
FPGAs Xilinx
• Família “Spartan”
– Baixo custo
– 1 milhão de portas lógicas equivalentes por menos de 10 dólares a
peça.
• Família “Virtex”
– Alto desempenho (maior custo)
– Virtex II, Virtex II-Pro, Virtex IV, Virtex V
CLB, Slice S3
Switch CLB,
Switch IOB,
Matrix IOB,
Matrix DCM Slice S2
DCM
Switch
Matrix
Slice S1
• Fully Buffered
• Fast, Predictable Slice S0
BRAM
• 8 LUTs
Block RAM • Logic (primary use)
Multipliers • 128b distributed RAM
• 18KBit True Dual Port
• 18b x 18b mult • Shift registes
• Up to 3.5Mbits / device • Wide Input functions (32:1)
• 200MHz pipelined
Transparência de F. Moraes (PUCRS)
slide 1T.41 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Arquitetura Virtex II –
CARRY
CARRY
SINGLE
LONG
HEX
CLB e interconexão TRISTATE BUSSES
LONG LONG
SINGLE
LONG
HEX
– Hexas DIRECT
CONNECT Local
Feedback
DIRECT
CONNECT
– Longas
– Tri-state CLB
CARRY
CARRY
Transparência de F. Moraes (PUCRS)
slide 1T.42 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Slice
Arquitetura do CLB do
dispositivo VIRTEX-II
Clock 550 MHz, PLL e DCM 500 Mhz DCM Mais rápido
Fonte: xilinx
FPGAs Altera
• Família “Flex10K”
– Baixo custo/baixa capacidade
– Primeira família de FPGAs da Altera
• Família “Cyclone”
– Baixo custo
– Mais usada atualmente é Cyclone II
• Família “Stratix”
– Família mais atual
– Stratix II: mais usada atualmente, freqüência de clock de até
600MHz
– Stratix III: alto desempenho (maior custo)
– Stratix IV: baixo consumo de energia
– Stratix V: recém lançada
slide 1T.46 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
1 LAB
http://www.chipdesignmag.com/display.php?articleId=115&issueId=11 (2005)
Transparência de F. Moraes (PUCRS)
slide 1T.57 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
FPGAs versus Soluções Masked (ASICs)
Desvantagens dos FPGAs
• Consomem mais energia
• São mais lentos (freqüência de
operação menor)