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

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

Embed Size (px)

Citation preview

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)