1 / 36

FPGAs e Projeto de Sistemas Digitais Complexos

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Grupo de Apoio ao Projeto de Hardware - GAPH. FPGAs e Projeto de Sistemas Digitais Complexos. Tópicos Especiais em Sistemas Digitais I. Fernando Gehm Moraes e Ney Laert Vilar Calazans Agosto / 2001

mieko
Download Presentation

FPGAs e Projeto de Sistemas Digitais Complexos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pontifícia Universidade Católica do Rio Grande do SulFaculdade de Informática Grupo de Apoio ao Projeto de Hardware - GAPH FPGAs e Projeto de Sistemas Digitais Complexos Tópicos Especiais em Sistemas Digitais I Fernando Gehm Moraes e Ney Laert Vilar CalazansAgosto / 2001 (última atualização em 22/08/2001)

  2. O que FPGAs têm de especial? “Permitem mudar a maneira de pensar, projetar e desenvolver produtos contendo sistemas digitais de alta complexidade: considerar a criação de hardware personalizado, ao invés de só usar dispositivos de prateleira rígidos (em inglês, off-the-shelf).” Mas, por quê?

  3. Por quê? • FPGAs: possíveis ganhos dramáticos de custo e desempenho; • FPGAs permitem: • criar hardware como software; • mudar hardware total ou parcialmente; • alterar hardware, durante funcionamento ou não; • Atualizações: como software, e.g. via Internet; • 70% dos FPGAs vendidos: valor agregado a produtos telecom; • FPGAs: capacidade de 3.000 a 10.000.000 de portas NAND; • CAD: poderosíssimo e complexo, pré-validação imprescindível; • VHDL: alto nível de abstração para projeto e validação; • VHDL: ferramentas de síntese automatizada para FPGAs. • Pessoal de Informática PODE fazer projeto de SDs complexos! Visa-se, finalmente, produtos mais competitivos!

  4. Onde Buscar Mais Informações? • Homepage de fabricantes de PLDs, e.g.: • www.xilinx.com, www.altera.com, www.actel.com, www.atmel.com • Homepage de fabricantes de plataformas de prototipação e.g.: • www.xess.com/FPGA, www.aptix.com, www.vcc.com • Página de plataformas baseadas em FPGA de S. Guccione: • www.io.com/~guccione/HW_list.html • Homepage de fabricantes de sistemas de CAD: • www.synopsys.com, www.aldec.com • Homepage de links para sites relacionados a FPGAs: • http://www.mrc.uidaho.edu/fpga/ • Livros disponíveis na biblioteca sobre FPGAs, VHDL, Codesign

  5. Sumário 1 - Introdução 2 - FPGAs 3 - Projeto de SDs usando CAD 4 - O Desafio de Sistemas Complexos

  6. Entradas Saídas Î S(1) C(K+1) Î E(1) C(1) Î S(2) C(K+2) Î E(2) C(2) S(3) Î C(K+3) Sistema Digital Processamento Numérico de Informação E(K-2) Î C(K-2) Î E(K-1) C(K-1) S(L-1) Î C(K+L-1) Î E(K) C(K) Î S(L) C(K+L) 1 - Introdução Sistema Digital - Aparato dotado de conjuntos finitos de entradas e saídas e capaz de processar informação representada sob forma numérica. Em francês, systèmes numériques!

  7. Projeto e Fabricação de SDs VLSI • Projeto de SDs - método p/ desenvolver plano de um SD  manufatura automática; • Estilo de Projeto - conjunto de métodos; • Base da tecnologia atual - processos planares de fabricação; • CI VLSI moderno - pastilha de 1cm2 de lado, espessura < 1mm, >107 dispositivos; • Parâmetro de base - “min-feature-size”: em 96 - 0,25µm/ em 98 - 0,18µm e 0,12µm/ hoje, abaixo de 0,1 µm!!!

  8. Taxonomia de SDs • Fundamental - escolha de critérios de classificação adequados; • Ortogonalidade - meta da escolha de critérios; • Critérios - podem depender de diversas características físicas, de uso, de construção, de custo, etc. • Critérios: • personalizabilidade • programabilidade • retenção da personalização • complexidade • forma de produção • relação entradas/saídas • pressupostos de sincronismo, etc.

  9. Uma classificação de CIs baseada em vários critérios

  10. Modelo de Gajski-Kuhn ou Diagrama Y • Modelo bidimensional; • Critérios: nível de abstração e domínio de descrição; • Domínio de descrição = tipo de informação; Domínio Estrutural Domínio Comportamental Sistêmico Arquitetural Processadores, Memórias, Barramentos Processos Comunicantes, Algoritmos Lógico Registradores, ULAs, Muxs, Decods HDLs, Transferência entre Registradores Portas Lógicas, Biestáveis Expressões Booleanas, Tabelas de Transição Elétrico Transistores, Lineares Funções de Transferência, Equações Diferenciais "Layout" de Transistores e Lineares Planta Baixa de Células Lógicas Planta Baixa de Blocos de CIs Placas, Módulos Multi-chip Domínio Físico Círculo = nível de abstração, eixo = domínio de descrição; Intersecção círculo-eixo (vértices) = descrição; Transformação entre níveis (aresta no grafo) = ferramenta.

  11. Exemplo de representação do processo de projeto Processo Clássico de Projeto de SDs • Ponto de Partida - especificação informal; • Captura/Validação - Editor de esquemáticos e Simulador; Síntese física - Posicionamento e Traçado de Rotas, seguido de “back-annotation” e ressimulação;

  12. 2 - FPGAs 2.1 - Introdução - PLDs 2.2 - Características Gerais de FPGAs 2.3 - Arquitetura da Família XC4000 da Xilinx 2.4 - Fluxo de Projeto p/ a Família XC4000

  13. 2.1 - Introdução - PLDs • Dispositivo eletrônico configurável pelo usuário • Descrição do circuito - Esquemático: nível lógico de abstração; Linguagem de Descrição de Hardware: nível arquitetural de abstração; Máquinas de estados finitas (FSM) • Configuração permanente, semipermanente ou dinâmica • Reconfiguração parcial durante funcionamento ou não • CPLD: Complex Programmable Logic Device • Arquiteturas de circuitos configuráveis baseados numa estrutura do tipo PAL ( AND/OR gates) • Baixa complexidade • Aplicação: pequenos projetos lógicos • FPGA: Field Programmable Gate Array • Arquiteturas de circuitos configuráveis constituídos por um número elevado de pequenos elementos • Complexidade elevada, milhares de portas lógicas • Aplicação: sistemas digitais complexos

  14. Tecnologias de Implementação e Fabricantes • Memória de Configuração: • EPROM • EEPROM • Flash • Antifusíveis • SRAM • Fabricantes • Xilinx - SRAM (XC4000, Spartan, Virtex) e Flash (XC9500) • Altera - SRAM (Flex8K/10K,Apex,Acex), EPROM/EEPROM (Max5K/7K,9K) • Actel - Antifusíveis (ACT e ACT2) • Vantis, Lattice, Lucent, QuickLogic, …

  15. Mercado de FPGAs em 1997 $ Millions Source: Company reports & In-Stat. Includes SPLD, CPLD, FPGA revenues.

  16. 2.2 - Características Gerais de FPGAs • Configuração das funções lógicas combinacionais • Configurabilidade e Reconfigurabilidade • Opções de Arquiteturas Internas • Tendência Atual • XILINX - Família 4000 • Número de portas lógicas equivalentes • Altera - Família 10k

  17. 1 0 0 1 0 0 = + + F ( A , B , C , D ) A . B . C . D A . C . D A . D 0 å 1 = F ( A , B , C , D ) ( 0 , 3 , 7 , 8 , 10 , 12 , 14 ) 1 0 1 0 1 0 1 0 A B C D Configuração das funções lógicas combinacionais • LUT (look-up table): Altera, Xilinx • LUT - armazena uma tabela verdade de n entradas • LUT de n entradas - todas as funções Booleanas de n entradas 0 4 (2 ) 2 = 64K funções implementáveis tabela verdade armazenada em bits de memória, um registrador!! • Altera: • LUT com portas lógicas - PLD • Plano E configurável, conectado a uma porta lógica OU variáveis das funções lógicas ativam seleção no mux 15

  18. = + F ( A , B , C , D ) C . D A . B . C Configuração das funções lógicas combinacionais • Multiplexador: Actel, QuickLogic, Algotronix • estrutura conhecida como “gerador universal de funções lógicas” - ULG (Universal Logic Function Generator) • Não implementa todas as funções lógicas de n entradas • Funções lógicas mais complexas exigem diversos ULGs A 0 0 0 B 1 D 0 1 Saída 0 C1 1 1 C 0 1 0 0 C3 D 1 C A 1 C2 B

  19. Configurabilidade e Reconfigurabilidade • Antifusível - Actel, QuickLogic, CrossPoint • todas os pontos de conexão entre blocos lógicos estão inicialmente abertos • no momento da configuração do dispositivo FPGA, estes pontos são conectados permanentemente • EPROM/EEPROM - Altera, AMD • o dispositivo pode ser reconfigurado, removendo-se os dados através de exposição a raios ultra-violeta • Memória SRAM/Flash - Xilinx, Altera, Algotronix • o dispositivo FPGA deve ser configurado a cada utilização(ao conectar à alimentação)

  20. Linhas de Blocos Lógicos - Actel • arquitetura semelhante a ASICs baseados em bibliotecas de células Blocos de entrada / saída Linha de blocos lógicos Blocos de entrada / saída Blocos de entrada / saída Recursos horizontais de roteamento Blocos de entrada / saída Opções de Arquiteturas Internas • Mar de Blocos Lógicos - Algotronix • Os recursos de roteamento são alocados sobre os blocos lógicos • Não há região dedicada de roteamento

  21. Matriz simétrica - Xilinx 4000 • matriz de blocos lógicoscom recursos horizontais e verticais de roteamento • Hierárquico - Xilinx 6200 • permite a reconfiguraçãoparcial do FPGA Bloco 4x4 Bloco 16x16        Bloco Lógico      Opções de Arquiteturas Internas

  22. Principais Fabricantes: Xilinx e Altera Tendência Atual • Os dispositivos configuráveis com maior penetração no mercado possuem as seguintes características: • bloco lógico implementado como LUT (3-4 entradas) • configuração via memória SRAM (SRAM based), reconfigurável • arquitetura do tipo matriz simétrica • Razão • LUTs simplificam as ferramentas de síntese lógica • SRAM based permitem inúmeras reconfigurações • Matriz simétrica contém um número maior de recursos de roteamento

  23. XILINX - Família 4000 • Família VIRTEX: 50K até 4M de portas lógicas equivalentes, (4Mportas ao final de 1999). Já lançou VirtexII (até 10Mportas)

  24. Logic Cells Logic Gates 1,000,000 12M 1.2M 120K 12K 2 Million logic gates 100,000 10,000 Year 1,000 1994 1996 1998 2000 2002 Número de portas lógicas equivalentes A partir de 1999, estimativas 4Mportas - de fato em Jul/1999 10Mportas - de fato em Mar/2001

  25. Altera - Família 10k • Família Apex : 50K até ~1,7M portas lógicas equivalentes • Breve lançará Apex-II: até 6M portas lógicas equivalentes • Cuidado! 1 porta Altera ~= 2 portas Xilinx

  26. 2.3 - Arquitetura da Família XC4000 da Xilinx • Alta densidade: até 250K gates • LUTs • Tempo de reconfiguração inferior a 1 segundo Blocos lógicosconfiguráveis (CLBs) I/O Blocks (IOBs) InterconexãoConfigurável

  27. XQ G1 F1 H1 G_LUT FFX F2 G2 H2 G3 F3 H3 F4 G4 X H_LUT F_LUT Y FFY YQ Bloco Lógico - CLB • Unidade que implementa as funções lógicas. Contém: • 2 LUTs de 4 entradas (F e G) e uma LUT de 3 entradas (H) • 2 flip-flops • LUTs podem também ser utilizadas como ROM, RAM, RAM dupla-porta • Saídas podem ser conectadas ou não aos registradores • flip-flops podem ser também configurados como latches

  28. Bloco Lógico - CLB • Capacidade de cada CLB: • 2 funções de 4 variáveis e 1 de 3 variáveis, através de FF (qquer f) ou • 1 função de 5 variáveis (qquer f) ou • uma dentre um subconjunto das funções com 6 a 9 variáveis e • Propagação rápida de carry (vai-um) e • Dois FFs/latches para armazenar saídas de funções ou: • 1 memória 32x1 ou 16x2, porta simples ou 16x1, porta dupla

  29. Bloco Lógico - CLB - família XC - 4000

  30. Arquitetura de FPGA IO IO IO bloco de E/S chavesprogramáves Bloco K Bloco K Bloco K IO IO caixa de conexão canal de roteamento Bloco K Bloco K Bloco K IO IO CLB Bloco K Bloco K Bloco K IO IO IO IO IO m trilhas

  31. Switch box - caixa de conexão • Conecta as regiões de roteamento entre si • Flexibilidade limitada para reduzir custo de hardware(Fs = 3)

  32. Switch box - roteamento • Exemplo de conexão entre duas redes Bloco K Bloco K Bloco K Bloco K Bloco K Bloco K Bloco K Bloco K

  33. Recursos de Roteamento • Diversos comprimentos de fios para reduzir atrasos • Linhas simples: entre CLBs vizinhos • Linhas duplas: a cada dois CLBs • Linhas longas: sinais globais como clock (baixo skew)

  34. OUT IN Blocos de Entrada / Saída • Possuem recursos de memória configuráveis (registrador ou latch) • Pads configuráveis como entrada, saída ou bidirecionais • Entradas podem utilizar registrador ou latch • Saídas apenas registradores • Possibilidade de definir sinais tristate (alta impedância) • Slew rate de saída configurável. • Boundary Scan

  35. Recursos Adicionais • Global clock buffers • Alta velocidade, baixo skew (escorregamento) • Podem ser utilizados para redes de alto fanout • Global reset net • Conecta todos os registradores e latches do circuito FPGA • Outros • Buffers tristate • Decodificadores para RAM • Oscilador com freqüências múltiplas • Propagação rápida de carry (vai-um)

  36. PRÓXIMA AULAS 1. FPGAS DA FAMÍLIA VIRTEX 2. PLATAFORMAS DE PROTOTIPAÇÃO

More Related