Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

39
Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi

Transcript of Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

Page 1: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

Lógica Programável

PTC2527 – EPUSP - 2006

Guido Stolfi

Page 2: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

2

Especializações dos Circuitos Lógicos

CPU

RAM

ROM

A/D

D/A

POWER PERIFÉRICOS

“GLUE LOGIC”

Page 3: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

3

Lógica Discreta (SSI - MSI)

• Baixa Densidade

• Alto Consumo

• Baixa Confiabilidade

• Baixo Desempenho

• Diversidade de Ítens em Estoque

Page 4: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

4

Consumo, Desempenho, Confiabilidade

Materiais diferentes

Soldas

Terminal TerminalLógica BufferBuffer

ElementosParasíticos

Page 5: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

5

Lógica Integrada "Custom" (LSI)

• Alto Custo Inicial

• Longo Tempo de Desenvolvimento

• Projeto inalterável a posteriori

• Fornecedor único

Page 6: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

6

Lógica Programável

• Alta Velocidade• Alta Densidade• Baixo Consumo• Facilidade de Projeto• Baixo "Time to Market"• Possibilidade de Alterações Posteriores

no Projeto• Inviolabilidade do Projeto

Page 7: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

7

Dispositivos de Lógica Programável (PLD)

• PROM (Programmable Read-Only Memory)• PAL (Programmable Array Logic)• EPLD (Eraseable Programmable Logic Device)• EEPLD (Electrically Eraseable PLD)• CPLD (Complex PLD)• FPGA (Field Programmable Logic Array)

Page 8: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

8

Lógica com Memórias PROM

Entradas(Endereços)

Saídas(Dados)

PROM

• Tabela Verdade

Page 9: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

9

Estrutura de uma PROM

Matriz AND(Fixa)

Matriz OR(Programável)

Entradas

Saídas

Page 10: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

10

Estrutura de uma PAL

Matriz OR(Fixa)

Matriz AND(Programável)

Entradas

Saídas

Page 11: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

11

Bloco Lógico de uma PAL Combinatória

Saída

Realimentação

Entradas

Page 12: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

12

PAL Sequencial (c/ Flip-Flop)

Page 13: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

13

Elemento Programável com Fusível (PAL)

Page 14: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

Elemento Programável com MOSFET de Porta Flutuante (EPLD)

Page 15: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

15

Elemento Programável com RAM (FPGA)

Page 16: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

16

Topologia (“Floorplan”) de um Dispositivo de Lógica Programável

Page 17: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

17

Célula Lógica de uma EPLD

Page 18: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

18

Bloco de Entrada / Saída de uma EPLD

Page 19: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

19

Interconexões entre Blocos

Page 20: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

20

EPLD de Alto Desempenho

Page 21: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

21

EPLD x FPGA

• Vantagens da EPLD• Não volátil (Pronta ao ligar)• Segurança do projeto• Imunidade a interferências

• Vantagens da FPGA• Maior densidade• Menor custo (fabricação e teste)• Maior flexibilidade

Page 22: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

22

FPGA com Blocos de Memória RAM

Page 23: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

23

Bloco Lógico de uma FPGA

Page 24: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

24

Bloco de E/S de uma FPGA

Page 25: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

25

Terminação para E/S Desbalanceada

Page 26: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

26

Padrões de Interfaces Digitais

Tipo VCC (V) VREF (V) VTT (V) RS () RT

LVCMOS 3.3 1.5 - - -

LVCMOS18 1.8 0.9 - - -

HSTL 1.5 0.75 0.75 0 50

SSTL3 3.3 1.5 1.5 25 50

SSTL2 2.5 1.25 1.25 25 50

GTL - 0.8 1.2 0 50

GTL+ - 1.0 1.5 0 50

LVDS 2.5 - - 100 100

Page 27: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

27

Terminação Balanceada (LVDS)

Page 28: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

28

Roteamento de Sinais na FPGA

Page 29: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

29

Distribuição de Clock

Page 30: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

30

Retardo Zero com Delay Lock Loop (DLL)

Page 31: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

31

Modelo de Atrasos de Propagação

Page 32: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

32

Atrasos Internos (Modo Combinatório)

Page 33: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

33

FPGA de Alto Desempenho

Page 34: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

34

Roteamento de Alto Desempenho

Page 35: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

35

Interface Serial Gigabit (1 ~10 Gb/s)

Page 36: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

Ferramentas de Desenvolvimento para PLD's

Captura de Diagramas Esquemáticos (Interface Gráfica)

Linguagem de Descrição de Hardware (Texto)

Simuladores

ISP (In System Programming)

Page 37: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

37

Interface JTAG – Joint Test Action Group

Page 38: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

38

Tendências para Lógica Programável

Alta Complexidade ( > 1Milhão de Portas) Alta Velocidade (Clocks > 300 MHz) Integração de Macroblocos (RAM, PLL, DSP,

CPU, Multiplicadores, ALUs, etc.) Diversos Padrões de I/O (LVCMOS, GTL, LVDS,

etc.) Interfaces seriais (Gigabit, RocketIO, etc.) Programação por Setores Atualização Remota do Hardware

Page 39: Lógica Programável PTC2527 – EPUSP - 2006 Guido Stolfi.

Uso de Lógica Programável no Ciclo de Vida de um Projeto

Protótipo (PLD)

Cabeça de Série (PLD)

Série Piloto (PLD)

Pequenas Quantidades (PLD)

Médias Quantidades (PLD)

Grandes Quantidades (Custom LSI)