Sie sind auf Seite 1von 60

Universidade Federal de Santa Catarina

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.

Prof. José Luís Güntzel


guntzel@inf.ufsc.br
www.inf.ufsc.br/~guntzel/ine5348/ine5348.html
Formas de Implementação de Sistemas Digitais

Como implementar um sistema digital?

QCL, pré-difundidos ASIC µprocessador


LPGAs (gate array/sea-of-gates) (full custom) µcontrolador

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

slide 1T.2 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Interferência do Projetista no Processo de
Fabricação (três opções):
1. Definição dos leiautes dos transistores e das conexões
– Todas as geometrias para todas as etapas de fabricação

2. Definição dos leiautes das conexões (todas ou algumas)


– Interfere apenas nas últimas etapas de fabricação

3. Configuração (Programação) após o encapsulamento


– Sem interferência nas etapas de fabricação
– Tecnologias: EPROM, EEPROM, FLASH e SRAM

slide 1T.3 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Estrutura de um Inversor CMOS
Fonte
VCC canal P canal N

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?

1960-1970: circuitos integrados TTL SSI e MSI da Texas Inst.

VDD

Gnd

DIP: dual-inline package


Estrutura do CI 7404 da família TTL
(Texas Instruments)

Diversos fabricantes surgiram: National, AMD, Cypress

slide 1T.5 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
Problema: baixa
capacidade de integração
7404

f = x1x2 + x2x3
7408 7432

x1
x2
x3
f

slide 1T.6 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?

QCL, pré-difundidos ASIC µprocessador


LPGAs (gate array/sea-of-gates) (full custom) µcontrolador

FPGA
Componentes (ou CPLD
dispositivos) PLA, PAL
Programáveis ROM, PROM,
(ou configuráveis) EPROM,
EEPROM

SSI/MSI

slide 1T.7 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Memórias PROM, EPROM e EEPROM

0
1 Armazena a
A 2 tabela-verdade
endereço B
3
das funções de
4
C saída
5
6
7

O endereço seleciona uma linha


na qual está armazenado o valor
de saída para cada uma das
funções implementadas F1 F2 F3 F4 ….

slide 1T.8 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Memórias PROM, EPROM e EEPROM
conexão
programada
0
A B C F1 F2
1
0 0 0 0 0
A 0 2
3 0 0 1 1 1
B 0
4 0 1 0 0 0
C 1
5 0 1 1 0 0
6
1 0 0 0 0
7
1 0 1 0 1
1 1 0 1 1
1 1 1 1 1

F1 F2 F3 F4 ….

slide 1T.9 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 (Programação)

0
1
A 2 fusível
3
B
4
C
5
ou
6
7

Transistor
F1 F2 F3 F4 …. (MOS)

slide 1T.10 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 (Programação)
Funcionamento Simplificado do transistor NMOS:
“pode ser usado como uma chave eletrônica”
S S

G=0 chave aberta


(sem corrente elétrica)
D≠S
D D

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

slide 1T.12 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

PLDs: Programmable Logic Devices

• TTLs e PROMs oferecem quase nenhuma flexibilidade e


baixíssima integração
• A partir de 1970 surgiram alternativas com maior
capacidade de integração, os PLDs
• Um PLD é um circuito lógico programável de propósito
geral
• Tipos: PLAs, PALs®

® marca registrada da Advanced Micro Devices - AMD

slide 1T.13 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

PLA: Programmable Logic Array

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

PAL: Programmable Array Logic

• PLAs possuem muitas conexões possíveis, o que encarece


o componente
• PALs® possuem menos flexibilidade, mas são bem mais
baratas
• O plano OU é fixo

® marca registrada da Advanced Micro Devices - AMD

slide 1T.15 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

PAL: Programmable Array Logic


entradas Um PAL comercial (pequeno) possui:
• 8 entradas
• 8 saídas
• 8 seções, cada uma com uma soma de
produtos com 8 entradas

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

PAL: Programmable Array Logic


Circuito com uma saída especial permite lógica multinível

slide 1T.17 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

PAL: Programmable Array Logic


Circuito extra na saída para aumentar a flexibilidade

Select Enable

saída
Flip-flop

D Q

Clock

Para o plano E

slide 1T.18 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

Equipamento para Programação de PLDs

slide 1T.19 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

SPLDs (PLAs e PALs)


Fabricantes de SPLDs/modelos:

empresa produtos Web page


Altera Classic, FLASHlogic www.altera.com
Atmel PAL www.atmel.com
Cypress PAL www.cypress.com
Lattice GAL www.latticesemi.com
Philips PLA, PAL www.philips.com
Vantis PAL www.vantis.com

slide 1T.20 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

CPLDs: Complex Programmable Logic Devices

• PLAs e PALs disponíveis com poucos pinos (máximo, 32)


• Circuitos complexos precisariam de muitos componentes,
conectados via placa
• Restrições de desempenho (velocidade, consumo) e
tamanho

CPLDs:
• Lançados no final da década dos 80 (+/- 1989, El Gamal),
pela Altera.

slide 1T.21 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

CPLDs: Complex Programmable Logic Devices


Estrutura de

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

Bloco Bloco encapsulamentos,


tipo tipo com até 200 pinos
PAL PAL (QFP)

slide 1T.22 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
CPLDs reais:
PAL-like block (details not shown)
• Cada bloco
possui em torno
de 16 macrocells
• Cada porta OR
possui entre 5 a
20 entradas
PAL-like block

macrocell
D Q
Tri-state buffers:
Permitem configurar
os pinos (E/S)
D Q

D Q

slide 1T.23 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

CPLDs: Complex Programmable Logic Devices


Fabricantes de CPDLs/modelos:

empresa produtos Web page


Altera MAX 5000, 7000, 9000 www.altera.com
Atmel ATE, ATV www.atmel.com
Cypress FLASH370, Ultra37000 www.cypress.com
Lattice ispLSI 1000-8000 www.latticesemi.com
Philips XPLA www.philips.com
Vantis MACH 1-5 www.vantis.com
Xilinx XC9500 www.xilinx.com

slide 1T.24 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs: Field Programmable Gate Arrays


• PLAs e PALs são muito simples (<200 gates equivalentes)
• CPLDs têm capacidade moderada (até 100.000 gates
equivalentes)
• Atualmente, FPGAs apresentam capacidade de mais de 1
milhão de gates equivalentes

• Os blocos programáveis dos FPGAs não contêm planos


E/OU
• Os “blocos lógicos” (logic blocks) são baseados na
implementação direta da tabela-verdade (lookup tables)

slide 1T.25 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs: Field Programmable Gate Arrays

• O conteúdo de um FPGA é perdido quando a alimentação


é interrompida
• A placa onde está o FPGA deve ter também uma EPROM
ou EEPROM, a qual contém a programação da FPGA
• Os elementos de armazenamento do FPGA são carregados
automatizamente quando a alimentação é ligada

• FPGAs permitem a reconfiguração (dinâmica ou estática)


de um sistema

slide 1T.26 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

I/O block Estrutura de um FPGA

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

slide 1T.27 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs: LUTs (Lookup Tables)

A • Implementadas com muxes 2:1 e


B
bits de memória, SRAM
0/1 (reprogramabilidade…)
0/1
• Normalmente, possuem 4 ou 5
0/1 entradas
0/1 • Implementam qualquer função
F
0/1 lógica. Para 4 entradas, existem
0/1
4
2
0/1 2 = 65.536 diferentes funções!!!
0/1
C

slide 1T.28 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs: LUTs (Lookup Tables)


Programando LUTs
A
B
A B C F1 F2
0
0 0 0 0 0
1
0 0 1 1 1
0 1 0 0 0 0

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

slide 1T.29 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs: Circuito de saída

Select

saída
Flip-flop
In1
In2 LUT D Q
In3
Clock

slide 1T.30 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs: Configuração das Conexões

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

slide 1T.32 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

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

• Xilinx Virtex FPGAs


– Permite reconfiguração parcial
Transparência de F. Moraes (PUCRS)

slide 1T.33 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

Demais componentes de um FPGA atual


• Gerenciamento de clock
– Reduzem skew
– Permitem multiplicar, dividir, mudar a fase da(s) freqüência(s) de
entrada
– Implementações digitais (DCM – Xilinx) e analógica (PLL –
Altera)
• Blocos de memória embarcada
– Tipicamente blocos de 18k bits
• Blocos DSP
– Multiplicadores 18x18 para funções de imagem, áudio,
telecomunicações

Transparência de F. Moraes (PUCRS)

slide 1T.34 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

Demais componentes de um FPGA atual


• Processadores hard
– Xilinx disponibiliza o processador PowerPC (300 – 500 MHz)
– Executam sistemas operacionais embarcados, como Linux
• Transceivers gigabit
– Blocos serializadores / deserializadores para receber dados em altas
taxas de transmissão
– Virtex-4 é capaz de receber e transmitir dados em freqüências de
3.2 Gbps
• Outros
– Ethernet MAC
– Criptografia do bitstream
– Controle para auto-reconfiguração (ICAP) Transparência de F. Moraes (PUCRS)

slide 1T.35 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

BRAM – Bloco de memória embarcada


• Cada bloco armazena 18 Kbits (BRAM XILINX)
• Conteúdo pode ser definido pelo bitstream
• Porta simples ou dupla
• Configurações
– 16k x 1, 8k x 2, 8k x 4, 2k x 9, 1k x 18, 512 x 36

Transparência de F. Moraes (PUCRS)

slide 1T.36 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

DCM – Digital Clock Manager


• Multiplica / divide o sinal de relógio
• Reduz o skew
• Exemplo para o módulo DCM:

Transparência de F. Moraes (PUCRS)

slide 1T.37 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
PowerPC embarcado: arquitetura e características
I-Side
OCM
• 300+ MHz Core
• 16K Data / 16K Instr. Cache
Processor Local Bus

I-Cache Fetch & • MMU


(16KB) Decode
Timers • 64 entry unified TLB
and • Variable page size
MMU Debug (1KB-16MB)
(64 Entry TLB) Logic
• 5-stage data path pipeline
• Multiply / divide unit
Execution Unit
D-Cache
(32x32 GPR, JTAG • 32 x 32-bit general purpose
(16KB) ALU, MAC) Instruction regs.
Trace
• Dedicated on-chip memory
D-Side interface
OCM • Debug and trace support

Transparência de F. Moraes (PUCRS)

slide 1T.38 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs: os 4 Maiores Fabricantes no Ano 2000


Actel
Lattice 6% Xilinx
15% 42%

Altera
37%

http://www.yeald.com/Yeald/a/17251/pld_market_shares.html

Transparência de F. Moraes (PUCRS)

slide 1T.39 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

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

slide 1T.40 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Active Interconnect ™ Arquitetura Virtex II
CLBs

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

• Conexões diretas entre HEX HEX

CLBs vizinhas SWITCH


SINGLE SINGLE
– Lógica de vai-um MATRIX
• Matrix de conexão
– CLB às linhas de
roteamento
• Linhas de roteamento
– Simples SLICE SLICE

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

• Fast Carry Logic Path Slice


• Provides fast arithmetic add and sub
Slice
RESUMINDO O CLB
• 4 Slices
• 8 LUTS / 8 Flip-Flops
• 2 cadeias de vai-um
• 64 bits para memória
• 64 bits para shift-register Slice

Transparência de F. Moraes (PUCRS)

slide 1T.43 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Arquitetura (metade) do Slice

slide 1T.44 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

Comparação Virtex-4 x Virtex-5


Característica Virtex-5 Virtex-4 V5 Vantagens
Tecnologia 65 nm 90 nm Maior densidade,
menor consumo,
menor custo

LUT 6 entradas 4 entradas Mais densidade,


independentes mais velocidade,
menos consumo
DistributedRAM 256bits por CLB 64bits por CLB Mais memória

Clock 550 MHz, PLL e DCM 500 Mhz DCM Mais rápido

DSP DSP48E – 550MHz 640 DSP48 – 500 MHz –


slices por dispositivo 512 slices por
dispositivo

Fonte: xilinx

slide 1T.45 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

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

FPGAs Altera: Flex10k


Diagrama de blocos

slide 1T.47 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs Altera: Flex10k


Logic array block

slide 1T.48 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs Altera: Flex10k


Elemento lógico

slide 1T.49 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
FPGAs Altera: Stratix II

• Fabricado com tecnologia CMOS 90nm


• Tensão de alimentação de 1.2V
• Organização em matriz, com os seguintes elementos:
– LABs (Logic Array Blocks)
– Blocos de memória RAM (M512 RAM, M4k RAM e M-RAM)
– Blocos para DSP (Digital Signal Processing)
– Conexões configuráveis

slide 1T.50 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
FPGAs Altera: Stratix II
Estrutura
Básica da
Matriz do
Stratix II

slide 1T.51 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs Altera: Stratix II


Estrutura de um LAB (Logic Array Block)
Cada LAB é constituído por:
• 8 ALMs (Adaptative Logic
Modules)
• Cadeia de carry
• Cadeia aritmética ALMs
compartilhada
• Sinais de controle do LAB
• Conexões locais
• Cadeia de registradores

1 LAB

slide 1T.52 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs Altera: Stratix II


Diagrama de blocos de um ALM

slide 1T.53 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
FPGAs Altera: Stratix II Detalhes de um ALM

slide 1T.54 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs: links para os fabricantes


Fabricantes de FPGAs/modelos:
empresa produtos Web page
Actel Act 1, 2 e 3, MX, SX www.actel.com
Altera FLEX 6000, 8000, 10 K, APEX 20k, www.altera.com
ACEX, Stratix, Cyclone
Atmel AT6000, AT40K www.atmel.com
Lattice LatticeSC, Lattice XP2 www.latticesemi.com
Lucent ORCA 1, 2 e 3 www.lucent.com
Quicklogic pASIC 1, 2 e 3 www.quicklogic.com
Xilinx XC3000, XC4000, XC5200, Virtex, www.xilinx.com
Spartan

slide 1T.55 Prof. José Luís Güntzel


INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais

FPGAs: Ferramentas Computacionais para a Síntese


• QuartusII (versão atual é 7.1 SP1)
– Desenvolvida pela Altera (suporta apenas FPGAs da Altera)
– Possui versão para uso acadêmico (“Web Edition”), com licença grátis
(www.altera.com link “licensing”)
• ISE (versão atual é 9.2):
– Desenvolvida pela Xilinx (suporta apenas FPGAs da Altera)
– Possui versão para uso acadêmico (“ISE Webpack”), com licença grátis
(www.xilinx.com/ise/webpack )
• Leonardo Spectrum
– Desenvolvido pela Mentor Graphics (suporta projeto com FPGAs dos
principais fabricantes)
• SynplifyPro
– Desenvolvido pela empresa Synplicity (suporta projeto com FPGAs dos
principais fabricantes)
– Possui versão de avaliação, com licença de 1 mês (www.synplicity.com/downloads)
slide 1T.56 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

ASIC versus FPGA

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)

Vantagens dos FPGAs


• Menor time-to-market
• Muito flexíveis
• Permitem implementar SoCs complexos
( >5 Mgates)
• Permitem implementar funções de
telecomunicação para protocolos rápidos
( > Gbps)
• Menor custo de engenharia (NRE)
• Menor custo que ASIC se volume
<30.000 peças/ano (2006)
Transparência de F. Moraes (PUCRS)
slide 1T.58 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
FPGAs: Fatores Limitantes
• Freqüência de operação
– Altera: 500 MHz
– É um problema? (Pode-se tentar contornar através do paralelismo…)
• Consumo de energia (potência dissipada)
– Ainda impedem FPGAs em produtos eletrônicos que usam bateria
– Altera: controle de consumo de potência através de múltiplas
alimentações
• Circuitos analógicos
– É um problema!
– Xilinx introduziu conversão A/D e D/A nas Virtex5
• Custo para alto volume
Transparência de F. Moraes (PUCRS)
slide 1T.59 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2
Formas de Implementação de Sistemas Digitais
Ainda Assim FPGAs são Usados em Todas as Áreas
• Telecomunicação
– um dos maiores mercados para FPGA
– inclusive wireless
• Automação e Controle
• Consumer
– HDTV
• Automotivo
– Xilinx Automotive (XA) family
• Espacial (satélites e veículos de exploração)
– radiation tolerant reconfigurable FPGAs
• Supercomputação (Cray)
Transparência de F. Moraes (PUCRS)
slide 1T.60 Prof. José Luís Güntzel
INE/CTC/UFSC
Lógica Programável - semestre 2007/2