Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor...

27
Dispositivos de Lógica Programável Março 2011

Transcript of Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor...

Page 1: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

Dispositivos de Lógica Programável

Março 2011

Page 2: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

Evolução

• Válvula no início de 1940• Transistor em 1947

– Não aquece como as válvulas– Fisicamente menor

• 1961 primeiro integrado TTL 74LSXX• Década de 1970

– surge SPLD – Simple PLD ( ROM, PLA, PAL, etc ) << 600 portas

– ASIC’s – applications specific integrated circuits

• Década de 1980 >> 600 portas– Multiple PLD – CPLD – FPGA – Field Programmable Gate Array

Page 3: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

O que escolher ?

Projetista tem o desafio de encontrar o balanço entre velocidade e generalidade do hardware

• Chip genérico– Microcontroladores Muitas funções Sacrifício de

desempenho

• Chip dedicado – ASICS Aplicação específica alta velocidade

baixo consumo só se justifica em grande quantidade, pois alterações do projeto não são possíveis

Page 4: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

PLA – Soma de Produtos

3 Entradas – X1, X2, X3

2 Saídas – Z1, Z2

Um bloco AND configurável com 6 entradas

Um Bloco OR Configurável com 6 entradas

Page 5: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

PLA – Soma de Produtos

Page 6: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

PAL – Soma de Produtos

3 Entradas – X1, X2, X3

2 Saídas – Z1, Z2

Apenas bloco AND configurável com 6 entradas

Bloco OR fixo

•Construção fácil e mais barata

•Melhor desempenho que PLA’s

Page 7: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

PAL – Soma de Produtos

Page 8: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

CPLD – Complex PLD ( Vários PAL’s em um Chip )

CPLDs são grupos de macrocélulas: geradores de produtos (product terms) + flip-flop

Page 9: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Field Programmable Gate Array

Não contém bloco AND ou OR

3 Elementos básicos:

Tudo configurado por software

Principais fabricantes:

Xilinx Actel, Altera, Plessey, Plus, AMD, QuickLogic

Page 10: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

CPLD X FPGA

CPLD- Programação armazenadaem FLASH- Célula lógica (Macrocell) commuitas entradas (até 90)- Número limitado deregistradores (até 512)- Não possui arranjos dememória- Atrasos de roteamentodeterminísticos- Projetos simples

-FPGA- Programação armazenada em SRAM- Célula lógica (Logic Element)com poucas entradas (4 à 6)- Grande número deregistradores (até 200K)- Blocos de memória (até 9.9Mbits) e memória distribuída (até1.3M bits)- Atrasos de roteamento variáveis- Projetos complexos

Page 11: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.
Page 12: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Elementos Básicos

- Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas bidirecionais que incluem buffer, flip-flop de entrada buffer tri-state e flip-flop de saída .

- Interconexões Programáveis (Programmable InterConnect): pode ser do tipo SRAM, Antifusível ou EPROM. São como interruptores programáveis, geram as pistas de ligação entre os blocos lógicos e blocos de entrada e saída .

- Blocos Lógicos Configuráveis (Logic Block): pode ser tão simples como um transistor ou tão complexo quanto um microprossessador. Este bloco é capaz de implementar várias funções combinacionais (através de look-up-table) e seqüenciais (através de flip-flops).

Page 13: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Field Programmable Gate Array

As famílias de FPGA’s diferem em :

-Formas de realizar a programação;

-Formas de organização dos condutores de interconexão

-Funcionalidades dos blocos lógicos

Porém, a diferença mais significativa é a forma de disponibilizar os blocos lógicos e as conexões.

Page 14: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Conexões

Baseada em fusível

-Não volátil

-Pequena dimensão

-Porém não reprogramável

Page 15: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Conexões

Baseada em latch

-Volátil

-Relativamente grande

-Reprogramável

Page 16: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – CLB ou Bloco Lógico

Bloco Lógico Ideal de uma FPGA:

Lógica combinatóriaFlip-flopsSaídas com registo ou apenas combinatórias

reproduzem qualquer operação combinatória de até 4 entradas

Page 17: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – CLB Altera Flex8000/10000

Page 18: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – CLB Xilinx XC4000

D QSD

RDEC

S/RControl

D QSD

RDEC

S/RControl

1

1

F'

G'

H'

DIN

F'

G'

H'

DIN

F'

G'

H'

H'

H1 DIN S/R EC

HFunction

Generator

GFunction

Generator

FFunction

Generator

G4

G3

G2

G1

F4

F3

F2

F1

C4C1 C2 C3

K

YQ

Y

XQ

X

• 13 "pinos" de entrada

• 4 "pinos" de saída

• 3 geradores de funções

• 2 flip-flops

• Funções “C” permutáveis

• Aritmética com lógica de

carry rápida (não visível)

Page 19: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – IOB’s

• Periferia de IOBs idênticos

– Entrada, saída, ou bidireccional

– Com registo ou apenas combinatório

– Saída tri-state

IOB Pad

Ligado ao PinoClocks

TSO

I

Page 20: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – IOB’s Xilinx 4000

IOB’sInterface entre uma FPGA e o resto do sistema;O FPGA XC 4000 Xilinx tem 80 IOB’sLocalizam na periferia do chip;

D Q

SlewRateControl

PassivePull-Up,Pull-Down

Delay

Vcc

OutputBuffer

InputBuffer

Q D

Pad

OutputClock

InputClock

I1

2I

O

OE

Page 21: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – SB’s

SB’s - Switch BoxFinalidade: Permite a interconexão entre os CLB’s através dos canais de roteamento;

Page 22: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Exemplo de Função

Page 23: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Módulo Básico MUX 4:1

Como obter um LATCH RS ????

Page 24: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Módulo Básico MUX 4:1 trabalhando com LATCH RS

Page 25: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Vantagens

• Rapidez de desenvolvimento• Sem custos de obtenção de protótipos (NRE)• Tecnologia de (re)programação SRAM

– Desenvolvimento com risco mínimo– Reutilização

• Testado 100% na fábrica– Dispensa testes de aceitação do componente

Page 26: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Exemplo de Função

Page 27: Dispositivos de Lógica Programável Março 2011. Evolução Válvula no início de 1940 Transistor em 1947 –Não aquece como as válvulas –Fisicamente menor 1961.

FPGA – Característica de Projeto