890 likes | 995 Views
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Grupo de Apoio ao Projeto de Hardware - GAPH. Plataformas de Prototipação de Hardware Princípios, Taxonomia, Características e Exemplos. Tópicos Especiais em Sistemas Digitais I.
E N D
Pontifícia Universidade Católica do Rio Grande do SulFaculdade de Informática Grupo de Apoio ao Projeto de Hardware - GAPH Plataformas de Prototipação de Hardware Princípios, Taxonomia, Características e Exemplos Tópicos Especiais em Sistemas Digitais I Fernando Gehm Moraes / Ney Calazans Março / 2002
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
FPGA moraes carlos rodrigo daniel Sumário 1. PROJETO DE SISTEMAS DIGITAIS USANDO CAD 2. FLUXO DE PROJETO EM PROTOTIPAÇÃO 3. PLATAFORMAS DE PROTOTIPAÇÃO 4. Estudo de Caso: PLACA XSV katherine
Programas 1 - Projeto de SDs usando CAD Descrições Arcabouço Interface Gráfico -Textual de Projeto Bibliotecas • Estrutura Geral de CAD: • Interface Gráfico-textual Arcabouço de Projeto (framework) • Descrições de projeto • Ferramentas de projeto • Bibliotecas
Fluxo de Projeto p/ a Família XC4000 (revisão) 1. Especificação e Projeto • criar circuito e “módulo de validação” (test_bench) • inserir restrições temporais • definir pinagem (relação entre os sinais e os pinos do chip) 2. Simulação Funcional 3. Síntese Lógica 4. Simulação Lógica 5. Síntese Física 6. Extração de parasitas (capacitâncias e resistências) 7. Simulação com Atraso Detalhado 8. Download
Exemplo de Sistema de Projeto - Foundation, da Xilinx • Janela Principal = fluxo de projeto Componentes de projeto restriçõestemporais ede pinagem simulação funcional bibliotecas simulação lógica síntese lógica Ferramentas de projeto simulação física síntese física download Janela de mensagens
Edição de esquemático (ou captura de esquemático) Editor hierárquico de esquemas
Janela de Estimulação Janela de Controle Simulação lógica Simulador Lógico: Funcional e de Temporização Janela de Simulação
Síntese Física Andamento da Síntese: Execução passo-a-passo ou automática Ferramentas Individuais ou conjunto de ferramentas
Relatórios (de posicionamento e roteamento) USO DE BLOCOS LÓGICOS pads Recursos internos
Edição do layout do FPGA • visualização da síntese física • edição manual • análise de ocupação
XC4000 XC4000 XC4000 Download • A cada utilização • Via cabo serial ou paralelo • Permanente • Arquivo de configuração armazenado em memória não volátil (EPROM, EEPROM ou Flash)
FPGA moraes carlos rodrigo daniel Sumário • 1. PROJETO DE SISTEMAS DIGITAIS USANDO CAD 2. FLUXO DE PROJETO EM PROTOTIPAÇÃO 3. PLATAFORMAS DE PROTOTIPAÇÃO 4. Estudo de Caso: PLACA XSV katherine
2. FLUXO DE PROJETO EM PROTOTIPAÇÃO Técnicas de Implementação
Glue Logic RAM/ ROM RAM/ ROM Glue Logic DSP Analog DSP Analog Ontem e o FUTURO Componentes de um projeto de hardware moderno e complexo integração µC µC
Fluxo de projeto em prototipação Ontem: µP memória “System on a chip” Sistemas baseadosem CIs de prateleira A/D Glue D/A Futuro: Sistemas Complexos ULSI Logic P S RAM ROM CoreµP Hoje: S P DSP Core µP ASIC ASIC FPGA DMA FPGA memória memória Sistemas baseadosem ASICs Hoje - CIs com 60Mtransistores Daqui há 8 anos - Cis com 960 Mtransistores!
A/D Glue D/A Logic P S RAM ROM CoreµP S P DSP Core DMA Como construir / validar um sistema complexo ? • Problema: soluções tradicionais como simulação • impossível validar a contento sistema completo • Partes da solução do quebra-cabeças: • Técnicas de verificação mais poderosas (Verificação formal) • Propriedade Intelectual (IP Cores) • Projeto Integrado de Sw e Hw (H/S Codesign) • Prototipação Rápida de Hw (e Sw) • Computação Configurável CI final Sistemas Programáveis µP FPGA FPGA FPGA FPGA FPGA FPGA Analog memória memória
Prototipação rápida • Permite a rápida implementação de sistemas digitais complexos • reduz “time-to-market” de produtos • permite avaliação realista do hardware • solução para o produto final se volume de produção não for muito elevado (inferior a 15.000 peças) • principais restrições: • freqüência de operação • ausência de dispositivos analógicos • Nova área de pesquisa: arquiteturas reconfiguráveis • hardware pode se adaptar ao problema proposto • exemplos de arquiteturas acadêmicas: • DISC, PRISM, SPLASH, Dec-Perle. Spyder, Transmogrifier, Raw,...
Requisitos em um ambiente de prototipação • Time to market • Simulação próxima ao tempo real (real-world testing) • Validação simultânea da arquitetura e algoritmo • Flexibilidade • Reutilização dos módulos de hardware (core re-use) • Interatividade com o usuário
HDL C Partição A/D Síntese Compilação Co-Síntese Glue D/A Logic P S RAM ROM CoreµP S P DSP Core DMA CODESIGN: projeto integrado de hardware e software Especificação do sistema Co-Simulação Módulos pré-definidosde hardware(cores) Bibliotecasdefunções FPGA FPGA FPGA µP FPGA FPGA FPGA Analog memória memória
FPGA moraes carlos rodrigo daniel Sumário • 1. PROJETO DE SISTEMAS DIGITAIS USANDO CAD • 2. FLUXO DE PROJETO EM PROTOTIPAÇÃO 3. PLATAFORMAS DE PROTOTIPAÇÃO 4. Estudo de Caso: PLACA XSV katherine
3 - Plataformas de Prototipação Rápida Plataformas de Prototipação Rápida de Sistemas Digitais Definição: São sistemas digitais cujo hardware pode ser alterado de forma dinâmica, para implementar comportamentos diversos. • Utillidades: • Validação funcional de sistemas digitais complexos • Aumento da controlabilidade e observabilidade de um projeto • Ensino de projeto de sistemas digitais • Desenvolvimento de partes de sistemas digitais • Implementação e validação de sistemas digitais reconfiguráveis
Características e Classificação • Modelo Geral de Estrutura de Uma Plataforma de Prototipação Rápida de Sistemas Digitais • Recursos • Reconfiguráveis • Recursos • Fixos • Computador • Hospedeiro • Recursos • Programáveis • Recursos • de • Interconexão
Taxonomia de Plataformas de Prototipação • Critérios de Classificação; • Forma de comunicação com o hospedeiro • Direcionalidade da comunicação com o hospedeiro • Recursos fixos • Recursos programáveis • Relação recursos programáveis x recursos reconfiguráveis • Recursos reconfiguráveis • Recursos de interconexão • Aplicação alvo
Computação Reconfigurável • Nova área de pesquisa e desenvolvimento • O que é? • Hardware VLSI reconfigurável em ms ou ms • Hardware corrigível - prototipação (tempo de [re]configuração Ok!) • Hardware adaptável ao problema - computação configurável • Desafios: • reconfigurabilidade pode exigir tempos de ns • reconfiguração seguida tem de ser parcial • largura de banda entre memória e processamento - crítica • largura de banda intra-CI X largura de banda extra-CI • reconfigurabilidade da interconexão - tão ou mais importante • Software, software, software, software, software para tudo acima!!!!
Plataformas disponíveis no GAPH • DEMOBOARD (4003 e 4010) • HARP (transputer e 3195) • LIRMM • AEE • Xess - XS40/XST-1 e XSV • VCC - VW300 e HotII-XL • Altera - SOPC e Excalibur … a família continua crescendo Aposentadas!
DEMOBOARD: primeira plataforma do GAPH • DEMOBOARD (3020/4003 até 4010) • ou, como tudo começou … • projetos muito simples, de baixa complexidade • útil para ensino (100 CLBs)
Placa LIRMM (detalhada em detalhes na Seção posterior) Placa mãe Hunt Engineering Placa com processador DSP Placa com FPGAs Vista Superior Vista inferior
Placa de prototipação AEE • Muito semelhante a XS40, porém com menos recurso de E/S. • Positivo: • ISA • ROM que guarda a programação • Placa comercial de prototipação (brasileira) http:/www.aee.com.br/fpga.htm
Placa de prototipação XS40/XST-1 Interface de áudio ÁREA DE Clock de PROTOTIPAÇÃO 12 MHz CHAVES Interface Paralela com o PC 7-segmentos e Leds Microprocessador 8031 FPGA Xilinx 4010 32 KB SRAM Interface VGA
XSV - XSV800 - 2 PLATAFORMAS • POSITIVO: 800 KGATES E ABUNDÂNCIA DE E/S (US$ 1599)
VCC VW300 - Virtual Workbench (US$ 1295 - ago/2000) http:/www.vcc.com./vw.html FPGA XCV300 com 300K gates
VCC HOTII-XL - 2 PLATAFORMAS - Barramento PCI • POSITIVO: INTERFACE PCI (33/32) • reduz o gargalo de comunicação hospedeiro-FPGA • US$ 1995,00 Bancos de memória, para o FPGA Dispositivo Programável tipo Interface PCI para comunicação FPGA com o host (PC)
Ambiente de Prototipação Aptix (> US$ 30000) • Recursos de interconexão abundantes (FPICs)
O QUE DÁ PARA FAZER COMO TRABALHOS ? • CORES: metodologia de desenvolvimento para efetivamente tornar o paradigma “design reuse” verdadeiro • RECONFIGURAÇÃO DINÂMICA PARCIAL: poder alterar parte do hardware em execução • PARTIÇÃO EFICIENTE H/S • APLICAÇÕES PARA TELECOMUNICAÇÕES (grande mercado hoje) • Compiladores para ASIPS (retargetable compilers) • CORE PCI e ACELERADORES EM HARDWARE …..
FPGA moraes carlos rodrigo daniel Sumário • 1. PROJETO DE SISTEMAS DIGITAIS USANDO CAD • 2. FLUXO DE PROJETO EM PROTOTIPAÇÃO • 3. PLATAFORMAS DE PROTOTIPAÇÃO 4. Estudo de Caso: PLACA XSV katherine
4. PLACA LIRMM (1996) LIRMM Board (Logic Inside Reconfigurable Micro Machine) CAD TOOLS C HDL C compiler (TI) Architectural synthesis MACH (Lirmm) Logic Synthesis Synopsys XACT Mapping HOST communication Protocols DSP FPGA FPGA FPGA Carte TIM 40 RAM RAM RAM RAM RAM RAM RAM Carte FPGA Mother Board : HUNT ENGINEERING
Ambiente de Prototipação LIRMM Placa mãe Hunt Engineering Placa com processador DSP Placa com FPGAs PLACALIRMM Vista Superior Vista inferior
Características • Dois XILINX XC 4013 - 208 Pins : 1152 CLBs (26 000 gates) barramento entre FPGAs : 34 BITS Possibilidade de utilizar 4013/ 4010 / 4020 • Protocolo de comunicação : implementado com máquinas de estado : 80 CLBS (7%) • CLOCK : 40 MHZ outros pads de clock disponíveis • Decodificador : endereça a RAM endereça o barramento global de controle Comunicação DSP/FPGA:16 MEGA BYTE PER SECOND (AVERAGE) - 70 ns PER BYTE
ACESSO ÀS MEMÓRIAS • CADA FPGA TEM 128 KB - estática 40ns • Mesma pinagem em ambos FPGAs, possibilitando a utilização do mesmo código para ambos • O usuário deve gerenciar o protocolo de acesso às memórias
Hardware do DSP - TMS320 C40 BOARD Cache 512 byte RAM 0 4 kbyte RAM 1 4 kbyte { Data Bus (32 bits) GLOBAL BUS Address bus (32 bits) 6 Communication ports : 20 Mbyte/s Port 0 Registers Controler X + Port 5 DMA Documentação abundante da TI !!!
4.1. PROTOCOLO DE COMUNICAÇÃO/VHDL • PROTOCOLO DE COMUNICAÇÃO • send / receive • externamente 8 bits / internamente 32