1 / 85

Plataformas de Prototipação de Hardware

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. Fernando Gehm Moraes / Ney Calazans Março / 2001.

rasia
Download Presentation

Plataformas de Prototipação de Hardware

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 Plataformas de Prototipação de Hardware Princípios, Taxonomia, Características e Exemplos Fernando Gehm Moraes / Ney Calazans Março / 2001

  2. 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

  3. FPGA moraes carlos rodrigo daniel Sumário 1. PROJETO DE SISTEMAS DIGITAIS USANDO CAD • fluxo de projeto em prototipação 2. FLUXO DE PROJETO EM PROTOTIPAÇÃO 3. PLATAFORMAS DE PROTOTIPAÇÃO 4. Estudo de Caso: PLACA LIRMM katherine

  4. 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

  5. Fluxo de Projeto p/ a Família XC4000 (revisão) 1. Especificação • circuito e “módulo de validação” (test_bench) • restrições temporais • pinagem, relação entre os sinais e os pads de e/s 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

  6. 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

  7. Edição de esquemático (ou captura de esquemático) Editor hierárquico de esquemas

  8. Janela de Estimulação Janela de Controle Simulação lógica Simulador Lógico: Funcional e de Temporização Janela de Simulação

  9. Síntese Física Andamento da Síntese: Execução passo-a-passo ou automática Ferramentas Individuais ou conjunto de ferramentas

  10. Relatórios (de posicionamento e roteamento) USO DE BLOCOS LÓGICOS pads Recursos internos

  11. Análise de Caminhos Críticos

  12. Edição do layout do FPGA • visualização da síntese física • edição manual • análise de ocupação

  13. PLANTA BAIXA, ou floorplaning(posicionamento relativo)

  14. 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)

  15. 2. FLUXO DE PROJETO EM PROTOTIPAÇÃO Técnicas de Implementação

  16. 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

  17. 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!

  18. 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

  19. 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,...

  20. 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) • Iteratividade com o usuário

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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!!!!

  26. Ambientes de prototipação disponíveis no GAPH • DEMOBOARD (4003 e 4010) • HARP (transputer e 3195) • AEE • XS40 e Xstend • LIRMM • Virtex … a família continua crescendo ... Aposentadas!

  27. DEMOBOARD: primeira plataforma do GAPH • DEMOBOARD (3020 / 4003 ou 4010) • ou, como tudo começou … • projetos muito simples, de baixa complexidade • útil para ensino (100 CLBs)

  28. DEMOBOARD

  29. Placa de prototipação XS40

  30. Placa de prototipação XS40 + XStend 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

  31. XS40 / XStend

  32. 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

  33. 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

  34. WORK BENCH - XCV300 (US$ 1295 - ago/2000) http:/www.vcc.com./vw.html FPGA com 300K gates

  35. WORK BENCH - XCV300

  36. HOTPCI - 2 PLACAS EM AQUISIÇÃO (AGO/2000) • 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)

  37. XCV800 - 2 PLACAS • POSITIVO: 800 KGATES E ABUNDÂNCIA DE E/S (US$ 1599)

  38. Ambiente de Prototipação Aptix (> US$ 30000) • Recursos de interconexão abundantes (FPICs)

  39. O QUE DÁ PARA FAZER COMO TRABALHOS ? • CORES: metodologia de desenvolvimento para efetivamente tornar o paradigma “desing 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 …..

  40. 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

  41. Ambiente de Prototipação LIRMM Placa mãe Hunt Engineering Placa com processador DSP Placa com FPGAs PLACALIRMM Vista Superior Vista inferior

  42. 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

  43. Arquitetura da placa LIRMM (FPGAs)

  44. 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

  45. 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 !!!

  46. 4.1. PROTOCOLO DE COMUNICAÇÃO/VHDL • PROTOCOLO DE COMUNICAÇÃO • send / receive • externamente 8 bits / internamente 32

  47. MÓDULO DE RECEPÇÃO (1/3) • FUNCIONAMENTO • INIT reseta bloco de controle • 4 descidas em CSTRBIN (DSP) disponibilizam 32 bits em OUT • na 4# subida de CSTRBIN FR desce, indicado Fim de Recepção 32 8 IN OUT RECEPÇÃO Init Cstrbin FR Crdyout FPGA

  48. MÓDULO DE RECEPÇÃO (2/3) • Implementação out[7:0] out[15:8] out[23:16] out[31:24] 8 FD8 FD8 FD8 FD8 IN D Q D Q D Q D Q R R R R R R R Cstrbin Init Bloco de Dados do Módulo de Recepção FR FFD FFD FFD FFD R S R R R 1000 - reset 0100 - 1# cstrbin 0010 - 2# cstrbin 0001 - 3# cstrbin 1000 - 4# cstrbin Cstrbin Init Bloco de Controle do Módulo de Recepção

  49. MÓDULO DE RECEPÇÃO (3/3) • Simulação recebeu 4 bytes e avisa FR (fim de recepção) INIT armazena em addition os 32 bits

  50. MÓDULO DE EMISSÃO (1/4) • FUNCIONAMENTO • FR da emissão, gerenciado pelo FPGA, sobe quando o processamento interno está pronto. • Processo controlado pelo DSP: • DSP envia PE • Depois o DSP envia 4 pulsos em CRDYIN Crdyin FR Cstrbout EMISSÃO Init FE PE 8 32 OUT IN FPGA

More Related