Tópicos Especiais em Sistemas Digitais I

Slides:



Advertisements
Apresentações semelhantes
Flip-Flops e Dispositivos Correlatos
Advertisements

Contadores e Registradores
Virtex-II Pro X Platform FPGA
Introdução Revisão de Conceitos de Circuitos Lógicos e Estruturas para Arquitetura de Computadores.
MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO (FPGA)
PROGRAMAÇÃO E PROJETOS COM DISPOSITIVOS FPGA (1.a parte)
Comportamento de um transistor MOS - NMOS
Circuitos Lógicos e Organização de Computadores Capítulo 3 – Tecnologia de Implementação Ricardo Pannain
Fig. 2 Pontos críticos na característica de transferência vo(vi) de um inversor genérico. Microelectronic Circuits - Sedra/Smith (resumo sobre circuitos.
Instrumentação eletrônica
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Projecto de Hardware com FPGAs
Dispositivos lógicos programáveis (DLP)
VISÃO GERAL Profa. Fernanda Denardin Walker
Projeto de sistemas computacionais
Fernando Gehm Moraes Ney Laert Vilar Calazans
Pontifícia Universidade Católica do Rio Grande do Sul
Pontifícia Universidade Católica do Rio Grande do Sul
LABORG Parte 2 - Introdução a FPGAs e Prototipação de Hardware
Fernando Moraes e Ney Laert Vilar Calazans
Aula 12 – Prototipação de Processadores e Entrada e Saída LABORG 1º/junho/2009 Ney Laert Vilar Calazans.
Parte 9 – Prototipação de Processadores e Entrada e Saída LABORG 27/novembro/2009 Ney Laert Vilar Calazans.
Ney Laert Vilar Calazans
Parte 2 – Introdução a VHDL Uso de Hierarquia LABORG Fernando Gehm Moraes César Marcon Ney Laert Vilar Calazans 31/agosto/2009.
Parte 4 - Introdução a FPGAs
AULA 1: Introdução a Sistemas Embarcados
Unidades de Execução e de Controle Sistemas Digitais.
Eletrônica Digital Multiplexadores e Demultiplexadores
Circuitos Lógicos Sequenciais
Introdução à Informática
MC542 Organização de Computadores Teoria e Prática
Arquiteturas Diferentes
MC542 Organização de Computadores Teoria e Prática
MEMORIAS RAUL DIAZ ROSAS.
Informática Industrial
MOSTRA DE TRABALHOS DE CONCLUSÃO FACULDADE DE INFORMÁTICA PUCRS
Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis
Estudo de Caso 1: UNIX e LINUX
Dispositivos de Lógica Programável
Professor: Carlos Roberto da Silva Filho, M. Eng.
Dispositivos Lógicos Programáveis (PLD)
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Eletrônica Digital II ELT013
Arquitetura de Sistemas Digitais FPGA
ALTERA FLEX 10K CARACTERÍSTICAS
DFD – Data Flow Diagram Diagrama de Fluxo de Dados
Engenharia de Software para Computação Embarcada
FPGA e CPLD.
Dispositivos Lógicos Programáveis (DLP) Ideia e Arquiteturas
Multiplexadores e Demultiplexadores
Latches e Flip-Flops GSI008 – Sistemas Digitais
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
LABORG Parte 2 - Introdução a FPGAs e Prototipação de Hardware
Engenharia Elétrica ANTENAS E PROPAGAÇÃO Parte 2 Nono Semestre
Sistemas Operacionais
Desenvolvimento de um Telefone IP Baseado em um Processador Blackfin
MO801 - Tópicos em Arquitetura e Hardware Michele Tamberlini 05/2006
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
ELETRÔNICA DIGITAL Circuitos Aritméticos
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Redes Neuronais/Neurais/ Conexionistas Introdução
Circuitos Combinacionais Exercícios 2 POSCOMP e ENADE
Lógica Programável PTC2527 – EPUSP Guido Stolfi.
Dispositivos Programáveis
Introdução a Organização e Arquitetura de Computadores
Dispositivos Reconfiguráveis
FLIP-FLOPs.
Servomecanismo N7SRV Prof. Dr. Cesar da Costa
Projeto de Circuitos Integrados Semidedicados Prof. Marcio Cunha Aula 02 – Arquiteturas de Sistemas Digitais.
Transcrição da apresentação:

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

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ê?

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 3.000 a 1.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!

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

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

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)

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;

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.

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

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.

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;

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

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

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, …

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

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

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

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

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)

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

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

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

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)

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

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

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

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

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

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

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

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

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

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)

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

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)

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