60
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 [email protected] www.inf.ufsc.br/~guntzel/ine5348/ine5348.html 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 L ó ó gica Program gica Program á á vel vel INE 5348 INE 5348

Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

  • Upload
    dodien

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Aula 1-TFormas de implementação de sistemas digitais.

Introdução à Linguagem VHDL e familiarização com oQuartus II da Altera.

Prof. José Luís Gü[email protected]

www.inf.ufsc.br/~guntzel/ine5348/ine5348.html

Universidade Federal de Santa CatarinaCentro Tecnológico

Departamento de Informática e EstatísticaCurso de Graduação em Ciências da Computação

LLóógica Programgica ProgramáávelvelINE 5348INE 5348

Page 2: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.2 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

ASIC(full custom)

pré-difundidos(gate array/sea-of-gates)

SSI/MSI

ROM, PROM,EPROM,EEPROM

PLA, PALCPLD

FPGA

µprocessadorµcontrolador

QCL,LPGAs

Como implementar um sistema digital?

• Faltam algumas ou todasetapas de fabricação

• Configuração=definiçãodas máscaras (masked)

• Configuração ocorrequando o circuito éfabricado (i.e., ocorre naFoundry)

• Chip fabricado eencapsulado

• Configuração =ligação entreos chips

• Chip fabricado eencapsulado ouprojeto validadoque pode ser“embarcado”

• Configuração porlinguagem demontagem ou dealto nível

• Chip fabricado eencapsulado

• Configuração porfusíveis, transistoresespeciais ou SRAM

• Configuração ocorreapós o circuito tersido fabricado

Page 3: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.3 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Interferência do Projetista no Processo deFabricaçã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

Page 4: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.4 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

NNNNpopoççoo PP

““DifusDifusãão o PP””

FonteFonte

massa

Estrutura de um Inversor CMOS

PPPP

SubstratoSubstrato NN

canal Pcanal P canal Ncanal NVCCVCC

““DifusDifusãão o NN””

Page 5: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.5 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

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

V DD

Gnd

DIP: dual-inline package

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

Diversos fabricantes surgiram: National, AMD, Cypress

Como Implementar um Sistema Digital?

Page 6: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.6 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

VDD

f

7404

7408 7432

x1x2

x3

Problema: baixacapacidade de integração

f = x1x2 + x2x3

Como Implementar um Sistema Digital?

Page 7: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.7 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

ASIC(full custom)

SSI/MSI

ROM, PROM,EPROM,EEPROM

PLA, PALCPLD

FPGA

µprocessadorµcontrolador

Componentes (oudispositivos)Programáveis(ou configuráveis)

pré-difundidos(gate array/sea-of-gates)

QCL,LPGAs

Como Implementar um Sistema Digital?

Page 8: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.8 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

0

A

B

C

F1 F2 F3 F4 ….

1

2

3

4

5

6

7

O endereço seleciona uma linhana qual está armazenado o valorde saída para cada uma dasfunções implementadas

endereço

Armazena atabela-verdadedas funções desaída

Memórias PROM, EPROM e EEPROM

Page 9: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.9 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

0

A

B

C

F1 F2 F3 F4 ….

1

2

3

4

5

6

7

conexãoprogramada

0

0

1

1

1

0

0

0

0

1

0

F1

1111

1011

1101

0001

0110

0010

1100

0000

F2CBA

Memórias PROM, EPROM e EEPROM

Page 10: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.10 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

0

A

B

C

F1 F2 F3 F4 ….

1

2

3

4

5

6

7

fusível

Transistor(MOS)

ou

Tecnologia para Configuração (Programação)

Page 11: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.11 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Funcionamento Simplificado do transistor NMOS:“pode ser usado como uma chave eletrônica”

G = 0

D

S

G = 1

D

S

S

D

chave aberta(sem corrente elétrica)

D≠S

S

D

chave fechada

com corrente elétrica até queD=S

Tecnologia para Configuração (Programação)

Page 12: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.12 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Tecnologia para Configuração e Tipos deChips Programáveis

SRAM

FLASH

EEPROM

EPROM

PROM

Tecnologia

Transistor CMOS comum

Transistor MOS (ETOX)

Transistor MOS (FLOTOX)

Transistor MOS com gateflutuante (FAMOS)

Fusível/anti-fusível

Elemento de programação

(SRAM) FPGAsilimitada

(Flash) FPGAsQuase ilimitada

Memórias EEPROMlimitada

Memórias EPROMlimitada

Memórias PROM,SPLDs e CPLDs

não

Chips programáveisReprogramação

Page 13: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.13 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

PLDs: Programmable Logic Devices

• TTLs e PROMs oferecem quase nenhuma flexibilidade ebaixíssima integração

• A partir de 1970 surgiram alternativas com maiorcapacidade de integração, os PLDs

• Um PLD é um circuito lógico programável de propósitogeral

• Tipos: PLAs, PALs®

® marca registrada da Advanced Micro Devices - AMD

Page 14: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.14 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

PLA: Programmable Logic Array

Plano E Plano OU

Inversores e buffers

entradas

saídas

Introduzida nomercado pelaPhilips, (inícioda década de1970).

Um PLA típico possui:• 16 entradas• 48 produtos• 8 saídas

Page 15: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.15 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

PAL: Programmable Array Logic

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

• PALs® possuem menos flexibilidade, mas são bem maisbaratas

• O plano OU é fixo

® marca registrada da Advanced Micro Devices - AMD

Page 16: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.16 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Plano E

entradas

saídas

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

produtos com 8 entradas

Page 17: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.17 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

PAL: Programmable Array LogicCircuito com uma saída especial permite lógica multinível

Page 18: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.18 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

PAL: Programmable Array Logic

Circuito extra na saída para aumentar a flexibilidade

saída

Para o plano E

D Q

Clock

Select Enable

Flip-flop

Page 19: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.19 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Equipamento para Programação de PLDs

Page 20: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.20 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

SPLDs (PLAs e PALs)

Fabricantes de SPLDs/modelos:

www.vantis.comPALVantis

www.philips.comPLA, PALPhilips

www.latticesemi.comGALLattice

www.cypress.comPALCypress

www.atmel.comPALAtmel

www.altera.comClassic, FLASHlogicAltera

Web pageprodutosempresa

Page 21: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.21 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

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) etamanho

CPLDs:

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

Page 22: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.22 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

CPLDs: Complex Programmable Logic Devices

BlocotipoPAL

Blo

co d

e E

/S

Blo

co d

e E/S

Blo

co d

e E

/S

Blo

co d

e E/S

Rede de interconexão

BlocotipoPAL

BlocotipoPAL

BlocotipoPAL

Estrutura deum CPLD

CPLDs existentes nomercado:

• Possuem entre 2 a100 blocos tipo PAL

• Variedade deencapsulamentos,com até 200 pinos(QFP)

Page 23: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.23 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

D Q

D Q

D Q

PAL-like block (details not shown)

PAL-like block

macrocell

CPLDs reais:• Cada bloco

possui em tornode 16 macrocells

• Cada porta ORpossui entre 5 a20 entradas

Tri-state buffers:Permitem configuraros pinos (E/S)

Page 24: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.24 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

CPLDs: Complex Programmable Logic Devices

Fabricantes de CPDLs/modelos:

www.xilinx.comXC9500Xilinx

www.vantis.comMACH 1-5Vantis

www.philips.comXPLAPhilips

www.latticesemi.comispLSI 1000-8000Lattice

www.cypress.comFLASH370, Ultra37000Cypress

www.atmel.comATE, ATVAtmel

www.altera.comMAX 5000, 7000, 9000Altera

Web pageprodutosempresa

Page 25: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.25 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

FPGAs: Field Programmable Gate Arrays

• PLAs e PALs são muito simples (<200 gates equivalentes)

• CPLDs têm capacidade moderada (até 100.000 gatesequivalentes)

• Atualmente, FPGAs apresentam capacidade de mais de 1milhão de gates equivalentes

• Os blocos programáveis dos FPGAs não contêm planosE/OU

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

Page 26: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.26 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

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 EPROMou EEPROM, a qual contém a programação da FPGA

• Os elementos de armazenamento do FPGA são carregadosautomatizamente quando a alimentação é ligada

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

Page 27: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.27 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

I/O block

I/O block

I/O block I/O

blo

ck

Estrutura de um FPGA

chaves programáveis(ligações entre linhasverticais ehorizontais)

bloco lógicoprogramável

chaves programáveis(ligações do blococom as linhas deinterconexão)

Page 28: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.28 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1

AB

C

F

FPGAs: LUTs (Lookup Tables)

• Implementadas com muxes 2:1 ebits de memória, SRAM(reprogramabilidade…)

• Normalmente, possuem 4 ou 5entradas

• Implementam qualquer funçãológica. Para 4 entradas, existem

224 = 65.536 diferentes funções!!!

Page 29: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.29 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

0 1 0 0 0 0 1 1

AB

C

F1

FPGAs: LUTs (Lookup Tables)

1

1

0

0

0

0

1

0

F1

1111

1011

1101

0001

0110

0010

1100

0000

F2CBA

Programando LUTs

Page 30: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.30 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

FPGAs: Circuito de saída

saída

D Q

Clock

Select

Flip-flop

LUTIn1In2In3

Page 31: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.31 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

FPGAs: Configuração das Conexões

x1

x2

f1

1 0 0SRAM SRAM SRAM

A B C

t1 t2 t3

Blo

co d

e E

/S

Bloco de E/S

Bloco de E/S

Blo

co d

e E/S

Page 32: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.32 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

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 f

Page 33: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.33 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

• FPGA deve ser visto como “duas camadas”– Memória de configuração– Lógica do usuário

• Memória de configuração define:– Todas as conexões (wiring)– Lógica do usuário ( LUTs)– Blocos DSP– Interface to hardwired blocks, e.g. PPC– Tamanho e conteúdo dos blocos BRAM– Modos de E/S (I/O Modes)

• Xilinx Virtex FPGAs– Permite reconfiguração parcial

Configuration Memory Layer

User Logic Layer

Virtex 4: 1 MB – 4 MB

Transparência de F. Moraes (PUCRS)

FPGAs: Configuração

Page 34: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.34 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

• 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)

Demais componentes de um FPGA atual

Page 35: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.35 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

• 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 de3.2 Gbps

• Outros– Ethernet MAC

– Criptografia do bitstream

– Controle para auto-reconfiguração (ICAP) Transparência de F. Moraes (PUCRS)

Demais componentes de um FPGA atual

Page 36: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.36 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

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)

Page 37: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.37 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

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)

Page 38: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.38 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

D-Side OCM

I-Cache(16KB)

D-Cache(16KB)

MMU(64 Entry TLB)

Execution Unit(32x32 GPR,ALU, MAC)

Fetch & Decode

Timers and

Debug Logic

Pro

cess

or

Lo

cal B

us

JTAGInstruction

Trace

I-Side OCM

• 300+ MHz Core• 16K Data / 16K Instr. Cache• MMU

• 64 entry unified TLB• Variable page size (1KB-16MB)

• 5-stage data path pipeline• Multiply / divide unit• 32 x 32-bit general purpose regs.• Dedicated on-chip memory interface• Debug and trace support

PowerPC embarcado: arquitetura e características

Transparência de F. Moraes (PUCRS)

Page 39: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.39 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

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

Xilinx42%

Altera37%

Lattice15%

Actel6%

Transparência de F. Moraes (PUCRS)

FPGAs: os 4 Maiores Fabricantes no Ano 2000

Page 40: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.40 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

• 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

FPGAs Xilinx

Page 41: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.41 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

SwitchMatrix

SwitchMatrix

CLB,IOB,DCM

CLB,IOB,DCM

Active Interconnect ™

• Fully Buffered• Fast, Predictable

BRAM

• 18b x 18b mult• 200MHz pipelined

Multipliers• 18KBit True Dual Port• Up to 3.5Mbits / device

Block RAM

SwitchMatrix

Slice S0

Slice S1

Slice S2

Slice S3

CLBs

• 8 LUTs• Logic (primary use)• 128b distributed RAM• Shift registes• Wide Input functions (32:1)

Arquitetura Virtex II

Transparência de F. Moraes (PUCRS)

Page 42: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.42 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Arquitetura Virtex II –CLB e interconexão

• Conexões diretas entreCLBs vizinhas– Lógica de vai-um

• Matrix de conexão– CLB às linhas de

roteamento

• Linhas de roteamento– Simples– Hexas– Longas– Tri-state

SINGLE

HEX

LONG

SINGLE

HEX

LONG

SIN

GL

E

HE

X

LO

NG

SIN

GL

E

HE

X

LO

NG

TRISTATE BUSSES

SWITCHMATRIX

SLICE SLICE

LocalFeedback

CA

RR

Y

CA

RR

Y

CLB

CA

RR

Y

CA

RR

Y

DIRECTCONNECT

DIRECTCONNECT

Transparência de F. Moraes (PUCRS)

Page 43: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.43 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Arquitetura do CLB dodispositivo VIRTEX-II

Slice

Slice

Slice

Slice

• Fast Carry Logic Path

• Provides fast arithmetic add and sub

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

Transparência de F. Moraes (PUCRS)

Page 44: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.44 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Arquitetura (metade) do Slice

Page 45: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.45 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

DSP48 – 500 MHz –512 slices pordispositivo

DSP48E – 550MHz 640slices por dispositivo

DSP

Mais rápido500 Mhz DCM550 MHz, PLL e DCMClock

Mais memória64bits por CLB256bits por CLBDistributedRAM

Mais densidade,mais velocidade,menos consumo

4 entradas6 entradasindependentes

LUT

Maior densidade,menor consumo,menor custo

90 nm65 nmTecnologia

V5 VantagensVirtex-4Virtex-5Característica

Comparação Virtex-4 x Virtex-5

Fonte: xilinx

Page 46: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.46 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

• 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

FPGAs Altera

Page 47: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.47 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Diagrama de blocos

FPGAs Altera: Flex10k

Page 48: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.48 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Logic array block

FPGAs Altera: Flex10k

Page 49: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.49 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Elemento lógico

FPGAs Altera: Flex10k

Page 50: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.50 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

• 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

FPGAs Altera: Stratix II

Page 51: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.51 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

FPGAs Altera: Stratix II

EstruturaBásica daMatriz doStratix II

Page 52: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.52 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

FPGAs Altera: Stratix IIEstrutura de um LAB (Logic Array Block)

• 8 ALMs (Adaptative LogicModules)

• Cadeia de carry• Cadeia aritmética

compartilhada• Sinais de controle do LAB• Conexões locais• Cadeia de registradores

Cada LAB é constituído por:

1 LAB

ALMs

Page 53: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.53 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

FPGAs Altera: Stratix IIDiagrama de blocos de um ALM

Page 54: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.54 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Detalhes de um ALMFPGAs Altera: Stratix II

Page 55: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.55 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

Fabricantes de FPGAs/modelos:

www.latticesemi.comLatticeSC, Lattice XP2Lattice

www.xilinx.comXC3000, XC4000, XC5200, Virtex,Spartan

Xilinx

www.quicklogic.compASIC 1, 2 e 3Quicklogic

www.lucent.comORCA 1, 2 e 3Lucent

www.atmel.comAT6000, AT40KAtmel

www.altera.comFLEX 6000, 8000, 10 K, APEX 20k,ACEX, Stratix, Cyclone

Altera

www.actel.comAct 1, 2 e 3, MX, SXActel

Web pageprodutosempresa

FPGAs: links para os fabricantes

Page 56: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.56 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

• 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)

FPGAs: Ferramentas Computacionais para a Síntese

Page 57: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.57 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

ASIC versus FPGA

http://www.chipdesignmag.com/display.php?articleId=115&issueId=11 (2005)

FPGAs versus Soluções Masked

Transparência de F. Moraes (PUCRS)

Page 58: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.58 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

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)

FPGAs versus Soluções Masked (ASICs)

Desvantagens dos FPGAs• Consomem mais energia• São mais lentos (freqüência de

operação menor)

Transparência de F. Moraes (PUCRS)

Page 59: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.59 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

• 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últiplasalimentações

• Circuitos analógicos– É um problema!

– Xilinx introduziu conversão A/D e D/A nas Virtex5

• Custo para alto volume

FPGAs: Fatores Limitantes

Transparência de F. Moraes (PUCRS)

Page 60: Lógica Programável - inf.ufsc.brj.guntzel/ine5348/LogP_aula1T.pdf · Aula 1-T Formas de implementação de sistemas digitais. Introdução à Linguagem VHDL e familiarização com

Formas de Implementação de Sistemas Digitais

slide 1T.60 Prof. José Luís GüntzelINE/CTC/UFSCLógica Programável - semestre 2007/2

• 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)

Ainda Assim FPGAs são Usados em Todas as Áreas

Transparência de F. Moraes (PUCRS)