+ All Categories
Home > Documents > FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 ·...

FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 ·...

Date post: 14-Jul-2020
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
11
FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA - Field Programmable Gate Array 1985/86: Xilinx introduz nova família de PLDs FPGA - Field Programmable Gate Array agregados regulares de blocos lógicos configuráveis (CLB para XILINX) ligações programáveis entre os blocos lógicos blocos configuráveis de complexidade reduzida (dezenas de portas lógicas) unidade básica: look-up table (LUT) de 4 entradas elementos de memória: flip-flops, latches, blocos de RAM (inclui dual-port) uma LUT de 4 entradas faz qualquer função lógica combinacional de 4 entradas configuração rápida por escrita em SRAM configuração volátil, necessita EPROM auxiliar configuração in-circuit e rápida (reconfiguração completa em milissegundos) possibilidade de reconfiguração parcial Sistemas reconfiguráveis baseados em FPGAs construídos uma vez, re-utilizáveis um número arbitrário de vezes prototipagem, circuitos para aplicações específicas, computadores dedicados FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 152 FPGA - fluxo de projecto bloco lógico configurável interruptores programáveis interligações bloco de entrada/saída A0 B0 A1 B1 S0 S1 S2 A0 B0 A1 B1 S1 S2 S0 ... assign S0=A0 ^B0, C1=A0&B0, S1=A1^B1^C1, S2=A1&B1|A1&C1|B1&C1; ... síntese física - place&route - timing analysis - bitstream generation síntese lógica - RTL > gate level mapeamento tecnológico
Transcript
Page 1: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

151

FPGA - Field Programmable Gate Array

• 1985/86: Xilinx introduz nova família de PLDs– FPGA - Field Programmable Gate Array

• agregados regulares de blocos lógicos configuráveis (CLB para XILINX)– ligações programáveis entre os blocos lógicos

• blocos configuráveis de complexidade reduzida (dezenas de portas lógicas)– unidade básica: look-up table (LUT) de 4 entradas– elementos de memória: flip-flops, latches, blocos de RAM (inclui dual-port)– uma LUT de 4 entradas faz qualquer função lógica combinacional de 4 entradas

• configuração rápida por escrita em SRAM– configuração volátil, necessita EPROM auxiliar– configuração in-circuit e rápida (reconfiguração completa em milissegundos)– possibilidade de reconfiguração parcial

– Sistemas reconfiguráveis baseados em FPGAs• construídos uma vez, re-utilizáveis um número arbitrário de vezes• prototipagem, circuitos para aplicações específicas, computadores dedicados

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

152

FPGA - fluxo de projecto

bloco lógico configurável

interruptoresprogramáveis

interligações

bloco de entrada/saída

A0

B0

A1

B1

S0

S1

S2A0B0

A1B1

S1

S2

S0

...assign S0=A0 ^B0,

C1=A0&B0,S1=A1^B1^C1,S2=A1&B1|A1&C1|B1&C1;

...

síntese física- place&route- timing analysis- bitstream generation

síntese lógica- RTL > gate levelmapeamento tecnológico

Page 2: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

153

FPGAs - características

• Programação eléctrica– anti-fuse (programador, definitiva)– EPROM, EEPROM (programador ou in-circuit, não volátil)– SRAM (in-circuit, volátil)

• Arquitecturas de FPGAs correntes

bloco lógico configurável

Xilinx Actel Algotronix Altera

PLA PLA

PLAPLA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

154

FPGAs - arquitecturas de blocos configuráveis

• Look-up tables

• multiplexers

• portas lógicas e muxs

• pares de transistores

• blocos PLA

mux

RAMABCD

AB

AB

mux

mux

mux

Page 3: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

155

FPGAs - aplicações

• circuitos para aplicações específicas (ASICs)– substituir um circuito integrado fabricado por medida

• emulação e prototipagem de hardware– acelerar processos de validação (3 a 5 ordens de magnitude)– emulação de sistemas mistos digital-analógico

• processadores dedicados (CCM - Custom Computing Machines)

– especificamente desenhados para acelerar partes de aplicações• paralelismo das operações• natureza das operações (por exemplo manipulação de bits)

– associados a processadores convencionais– uma plataforma reconfigurável (física) para diferentes processadores

• Sistemas reconfiguráveis dinamicamente– Hardware adaptado em run-time às necessidades de um aplicação

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

156

FPGAs XILINX (www.xilinx.com)• Introduzidas em 1985

– configuração por SRAM– blocos lógicos configuráveis baseados em LUTs– abundância de flip-flops– arquitectura do tipo array, canais de interligação abundantes– RAM distribuída– circuitos dedicados para operações aritméticas– interconexões hierárquicas– capacidade de readback (configuração e nós internos)

• Famílias actuais– Spartan, Spartan II, Spartan3, VirteII-Pro, Virtex4, Virtex5– Variadas versões: processadores embutidos, orientados para

DSP, reduzido consumo de energia

Page 4: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

157

Spartan3

Datasheet: http://direct.xilinx.com/bvdocs/publications/ds099.pdf

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

158

FPGAs Spartan3

Page 5: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

159

Arquitectura da Spartan3

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

160

Número de I/Os

Page 6: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

161

I/O Signal Standards (single-ended)

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

162

I/O Signal Standards (differencial)

Page 7: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

163

Spartan3FT256

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

164

I/O

Page 8: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

165

I/O (cont.)

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

166

Estrutura do CLB(Configurable Logic Block)

Page 9: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

167

Slice

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

168

Slice (cont.)

Page 10: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

169

Interconexões

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

170

ISE Design Summary

Page 11: FPGA - Field Programmable Gate Arrayaja/PSDI_200708/slides/slidesPSDI... · 2007-11-11 · FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007 José Carlos Alves 151 FPGA

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

171

Xilinx Floorplanner

FEUP/DEEC : EEC0055 / Projecto de Sistemas Digitais, 2006/2007José Carlos Alves

172

Xilinx FPGA Editor


Recommended