440 likes | 543 Views
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
E N D
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
Sumário • Introdução • Plataformas Virtuais • OVP • Conceitos • APIs • Modelos de processadores • Exemplos • HeMPS OVP
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
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
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
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
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
Plataformas Virtuais Tradicional Produto Final Desenv. SW Especificação Plataforma Desenv. HW Produto Final Virtual Especificação Plataforma Desenv. SW Desenv. Modelo Desenv. HW
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
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
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
Modelos • Principais modelos • ARC (ArgonautRiscCore) • MIPS (MicroprocessorInterlockedPipeline Stages) • ARM (AdvancedRiscMachine) • PPC (PowerPC) • OpenRISC (OpenCores) • Renesas • XilinxMicroblaze
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
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
Modelos • MIPS • OVP contém duas famílias • MIPS 32 • MIPS 64 • Adaptados novos modelos • MIPS 32 OR1K • MIPS 32 Aptiv • MIPS M14K
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
Modelos • ARM • OVP contém duas famílias • ARM Classic • Cortex • Classic • ARM4-11 • Cortex • Cortex-A, Cortex-R e Cortex-M
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
Modelos • OpenRISC • Fabricado pela OpenCores • Maior desenvolvedor de processadores open source. • OVP contém um modelo de processamento • OpenRISC OR1K
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
Modelos • Renesas • OVP contém três famílias • V850 • M16C • R8C
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
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
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
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
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)
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
OVP APIs • PPM e BHM • Modelos descritos com esta API devem ser compilados com um toolchain PSE. • Conceitos similares ao SystemC
Como Instalar um Modelo Modelos e seus toolchains são encontrados na página do OVP
HeMPS OVP • Níveis de abstração • VHDL • SystemC • OVP
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
HeMPS OVP dijkstraapp Div S2 S1 Exemplo prático da HeMPS