1 / 44

O pen V irtual P latforms

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática. 04/junho/2014. O pen V irtual P latforms. Guilherme Afonso Madalozzo Doutorando Fernando Gehm Moraes Orientador. Sumário. Introdução Plataformas Virtuais OVP Conceitos APIs Modelos de processadores

hedya
Télécharger la présentation

O pen V irtual P latforms

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 Sul Faculdade de Informática 04/junho/2014 Open Virtual Platforms Guilherme Afonso Madalozzo Doutorando Fernando Gehm Moraes Orientador

  2. Sumário • Introdução • Plataformas Virtuais • OVP • Conceitos • APIs • Modelos de processadores • Exemplos • HeMPS OVP

  3. Introdução • Desenvolvimento de um projeto SoC é altamente complexo • Otimização de energia • Testabilidade • Verificação • Time-to-market • Proposto uso de PBDs (Platform Based Design) • Reduzir os riscos no desenvolvimento • Diminuir os custos do projeto • Menor tempo

  4. Introdução • Usa-se modelagem em nível de sistema • Descrever aspectos de hardware em alto nível de abstração • Detalhes desnecessários aos modelos podem ser ocultados • Descrição em software • Simulações mais rápidas • Facilidade na descoberta de erros • Fornecimento de estimativas que auxiliam na tomada de decisões no decorrer do projeto

  5. Plataformas Virtuais

  6. Plataformas Virtuais • Possibilita o desenvolvimento paralelo de Hardware e Software • Descreve-se um conjunto de modelos de hardware, representam um sistema completo • Análise antecipada de problemas de projeto • Consumo de energia • Tráfego de barramento • Uso de memória • Eficiência dos componentes • Desempenho do sistema

  7. Plataformas Virtuais • Benefícios • Menor Custo de Desenvolvimento • Aumento da Qualidade • Redução de riscos envolvidos com o Desenvolvimento de Software • Simulação de um hardware real • Integração do hardware com o software é feita desde o início do processo de implementação

  8. Plataformas Virtuais • São parametrizáveis • Tamanho da memória • Profundidade de buffer • Tipos de processadores • Periféricos • Projetistas de Hardware configuram a plataforma virtual e disponibilizam para os engenheiros de software • Tempo de desenvolvimento do produto é reduzido significativamente

  9. Plataformas Virtuais Tradicional Produto Final Desenv. SW Especificação Plataforma Desenv. HW Produto Final Virtual Especificação Plataforma Desenv. SW Desenv. Modelo Desenv. HW

  10. OVP

  11. OVP Conceitos Desenvolvida em 2008 Ferramenta open source, flexível e com licença para 90 dias Simulação rápida Configuração de plataformas homogêneas e heterogêneas é simples

  12. OVP Conceitos • Três componentes básicos • OVP models • Consiste em um grupo de modelos de processadores que são disponibilizados gratuitamente para serem usados • OVP APIs • Possibilitam a descrição do comportamento de processadores e periféricos para gerar plataformas virtuais. As APIs são escritas em linguagem C/C++ • OVP é composto por quatro APIs • OVPsim • Ferramenta utilizada para gerar os simuladores das plataformas descritas com as APIs

  13. Modelos

  14. Modelos OVP contém mais de 75 modelos de processadores Modelos disponíveis na página do OVP para download Cada modelo contém seu crosscompiler, deve-se baixar o toolchain do modelo requerido Toolchain está disponível para download na mesma seção do seu modelo, no site do OVP

  15. Modelos • Principais modelos • ARC (ArgonautRiscCore) • MIPS (MicroprocessorInterlockedPipeline Stages) • ARM (AdvancedRiscMachine) • PPC (PowerPC) • OpenRISC (OpenCores) • Renesas • XilinxMicroblaze

  16. Modelos • ARC • Fabricado pela empresa Synopsys • Automação de projetos eletrônicos • OVP contém três famílias de processadores 32-bits • ARC 600 • ARC 700 • ARC EM • Contém soluções para otimização de codecs para aplicações Áudio/Vídeo • ARC Audio • ARC Video

  17. Modelos • MIPS • Atua no mercado de semicondutores por mais de duas décadas • Soluções para aplicações gráficas, vídeo, entretenimento, comunicações (VoIP) e redes

  18. Modelos • MIPS • OVP contém duas famílias • MIPS 32 • MIPS 64 • Adaptados novos modelos • MIPS 32 OR1K • MIPS 32 Aptiv • MIPS M14K

  19. Modelos • ARM • Utiliza tecnologia avançada para produtos digitais, wireless, rede, entretenimento, automotivo, segurança e dispositivos de armazenamento • Aproximadamente 20 bilhões de chips no mercado • Microprocessadores RISC

  20. Modelos • ARM • OVP contém duas famílias • ARM Classic • Cortex • Classic • ARM4-11 • Cortex • Cortex-A, Cortex-R e Cortex-M

  21. Modelos • PowerPC • No mercado desde 1990 • Sociedade entre Motorola, IBM e Apple • Utilizado no mercado automotivo, infraestruturas wireless e servidores • Computação para propósito geral • OVP contém um modelo • mpc82x

  22. Modelos • OpenRISC • Fabricado pela OpenCores • Maior desenvolvedor de processadores open source. • OVP contém um modelo de processamento • OpenRISC OR1K

  23. Modelos • Renesas • Fabricado pela Renesas Electronics • Atua na área de micro controladores, sistemas automotivos e dispositivos de potência • Microprocessadores de 32 e 16 bits

  24. Modelos • Renesas • OVP contém três famílias • V850 • M16C • R8C

  25. Modelos • Xilinx MicroBlaze • Atua no segmento de FPGAs, SoCs e circuitos 3D • MicroBlaze é um RISC de 32 bits com arquitetura Harvard • Acessa a memória de dados separadamente da memória de programa

  26. APIs

  27. OVP APIs • ICM (Innovative CPU Manager) • API responsável pela configuração da plataforma • As funções da ICM são responsáveis por instanciar todos os componentes do sistema • Processadores • Memórias • Periféricos

  28. OVP APIs

  29. OVP APIs • VMI (Virtual Machine Interface) • A VMI é utilizada para realizar a descrição do processador • Descreve-se instruções do processador • Pode-se criar novos modelos de processadores • Suporta RISC e CISC • Suporta qualquer formato de instruções

  30. OVP APIs • VMI (Virtual Machine Interface) • Principais características do VMI • Instruções de decode • Instruções de comportamento • Cache L1 • Tratamento de exceções • Controle Assíncronos

  31. OVP APIs • PPM e BHM • PPM (Peripherals Models) • BHM (Behavioral Models) • São utilizados para descrição de modelos de comportamento em hardware e software que sejam periféricos ao processador • Estes modelos executam em um ambiente protegido, sem comprometer a simulação • São executados no PSE (Peripheral Simulation Engines)

  32. OVP APIs • PPM • Modelagem de periféricos • Interface com a plataforma • Conexão com barramento • Conexão com a rede • BHM • Modelagem de comportamento • Processos, eventos, delays • Inicializa processos • Aguarda por evento ou tempo • Debug através de output

  33. OVP APIs • PPM e BHM • Modelos descritos com esta API devem ser compilados com um toolchain PSE. • Conceitos similares ao SystemC

  34. OVP APIs

  35. Instalação do Modelo

  36. Como Instalar um Modelo Modelos e seus toolchains são encontrados na página do OVP

  37. ExemploSingle Processor

  38. ExemploMultiProcessor

  39. HeMPS OVP

  40. HeMPS OVP • Níveis de abstração • VHDL • SystemC • OVP

  41. HeMPS OVP OVP (NoC and CPU) - simulação sem noção de tempo + menos tempo de simulção + maior debugabilidade + flexibilidade de modelagem RTL SystemC NoC + ISS (CPU) + plataforma com precisão de clock tempo de simulação intermediário - menor debugabilidade RTL VHDL implementation + plataforma com precisão de clock + noção de área e power - maior tempo de simulação - menos debugabilidade

  42. HeMPS OVP dijkstraapp Div S2 S1 Exemplo prático da HeMPS

  43. HeMPS SC vs OVP

  44. Dúvidas?

More Related