A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tópicos Especiais em Sistemas Digitais I

Apresentações semelhantes


Apresentação em tema: "Tópicos Especiais em Sistemas Digitais I"— Transcrição da apresentação:

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

2 Idéia Central do Curso “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.” Mas, por quê?

3 Por quê Mudar? Visa-se, finalmente, produtos mais competitivos!
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; 40% dos FPGAs vendidos: valor agregado a produtos telecom; FPGAs: capacidade hoje de a 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.: Homepage de fabricantes de plataformas de prototipação e.g.: Página de plataformas baseadas em FPGA de S. Guccione: Homepage de fabricantes de sistemas de CAD: Homepage de links para sites relacionados a FPGAs: 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 Processamento Numérico
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! Sistema Digital Processamento Numérico de Informação Entradas Saídas E(1) Î C(1) E(2) E(K-2) E(K) E(K-1) S(1) C(K+1) S(2) S(3) S(L) S(L-1) C(2) C(K-2) C(K-1) C(K) C(K+2) C(K+3) C(K+L-1) C(K+L)

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 ,25µm/ em ,18µm e 0,12µ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
Domínio Estrutural Domínio Comportamental Sistêmico Arquitetural Processadores, Memórias, Barramentos Processos Comunicantes, Algoritmos Registradores, ULAs, Muxs, Decods Lógico HDLs, Transferência entre Registradores Portas Lógicas, Biestáveis Elétrico Expressões Booleanas, Tabelas de Transição Transistores, Lineares Funções de Transferência, Equações Diferenciais Modelo bidimensional; Critérios: nível de abstração e domínio de descrição; Domínio de descrição = tipo de informação; "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 (XC3000/4000, Spartan, Virtex) e Flash (XC9500) Altera - SRAM (Flex8K/10K), EPROM/EEPROM (Max5K/7K,9K) Vantis Lattice Actel - Antifusíveis (ACT e ACT2) 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 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 1 A B C D 4 (2 ) 2 = 64K funções implementáveis tabela verdade armazenada em bits de memória, um registrador!! D A C B F . ) , ( + = å 14 12 10 8 7 3 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 Configuração das funções lógicas combinacionais
Multiplexador: Actel, QuickLogic, Algotronix estrutura conhecida como “gerador universal de funções lógicas” - ULG Não implementa todas as funções lógicas de n entradas Funções lógicas mais complexas requerem diversos ULGs A B D Saída C1 C B A D F . ) , ( + = C 1 D C3 A c 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 Opções de Arquiteturas Internas
Blocos de entrada / saída Linha de blocos lógicos Recursos horizontais de roteamento Linhas de Blocos Lógicos - Actel arquitetura semelhante a ASICs baseados em bibliotecas de células 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 Opções de Arquiteturas Internas
Matriz simétrica - Xilinx 4000 matriz de blocos lógicos com recursos horizontais e verticais de roteamento Bloco 4x4 Bloco 16x16 Bloco Lógico Hierárquico - Xilinx 6200 permite a reconfiguração parcial do FPGA

22 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 Principais Fabricantes: Xilinx e Altera

23 XILINX - Família 4000 Família VIRTEX: 50K até 4M de portas lógicas equivalentes, (4Mportas ao final de 1999). Altera tem Apex (~1,7M)

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

25 Altera - Família 10k Família Apex : 50K até ~1,7M portas lógicas equivalentes

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

27 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 H1 H2 H3 G_LUT H_LUT FFX F_LUT FFY G1 G2 G3 G4 F1 F2 F3 F4 X XQ Y YQ

28 Bloco Lógico - CLB Capacidade de cada CLB: e
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) uma dentre um subconjunto das funções com 6 a 9 variáveis e Propagação rápida de carry (vai-um) Dois FFs/latches para armazenar saídas de funções ou: 1 memória 32x1 ou 16x2, porta simples ou 16x2, porta dupla

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

30 Arquitetura de FPGA CLB IO IO IO bloco de E/S chaves programáves IO IO
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 m trilhas IO IO IO

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 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 three-state (alta impedância) Slew rate de saída configurável. Boundary Scan IN OUT

35 Recursos Adicionais Global clock buffers Global reset net Outros
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 three-state Decodificadores para RAM Oscilador com freqüências múltiplas Propagação rápida de carry (vai-um)

36 5. Estudo de Caso: PLACA LIRMM
PRÓXIMA AULAS 1. PROJETO DE SISTEMAS DIGITAIS USANDO CAD fluxo de projeto em prototipação 2. SÍNTESE E ANÁLISE DE SISTEMAS DIGITAIS 3. FLUXO DE PROJETO EM PROTOTIPAÇÃO 4. PLATAFORMAS DE PROTOTIPAÇÃO 5. Estudo de Caso: PLACA LIRMM


Carregar ppt "Tópicos Especiais em Sistemas Digitais I"

Apresentações semelhantes


Anúncios Google