04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs...
Transcript of 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs...
![Page 1: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/1.jpg)
04/junho/2014
![Page 2: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/2.jpg)
Open V
irtual
Pla
tform
Introdução
Plataformas Virtuais
OVP◦ Conceitos◦ APIs◦ Modelos de processadores◦ Exemplos
HeMPS OVP
2
![Page 3: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/3.jpg)
Open V
irtual
Pla
tform
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
3
![Page 4: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/4.jpg)
Open V
irtual
Pla
tform
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
4
![Page 5: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/5.jpg)
Open V
irtual
Pla
tform
Plataformas Virtuais
5
![Page 6: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/6.jpg)
Open V
irtual
Pla
tform
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
6
![Page 7: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/7.jpg)
Open V
irtual
Pla
tform
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
7
![Page 8: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/8.jpg)
Open V
irtual
Pla
tform
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
8
![Page 9: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/9.jpg)
Open V
irtual
Pla
tform
9
![Page 10: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/10.jpg)
Open V
irtual
Pla
tform
OVP
10
![Page 11: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/11.jpg)
Open V
irtual
Pla
tform
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
11
![Page 12: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/12.jpg)
Open V
irtual
Pla
tform
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
12
![Page 13: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/13.jpg)
Open V
irtual
Pla
tform
Modelos
13
![Page 14: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/14.jpg)
Open V
irtual
Pla
tform
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
14
![Page 15: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/15.jpg)
Open V
irtual
Pla
tform
Principais modelos
◦ ARC (Argonaut Risc Core)
◦ MIPS (Microprocessor Interlocked Pipeline Stages)
◦ ARM (Advanced Risc Machine)
◦ PPC (PowerPC)
◦ OpenRISC (OpenCores)
◦ Renesas
◦ Xilinx Microblaze
15
![Page 16: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/16.jpg)
Open V
irtual
Pla
tform
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
16
![Page 17: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/17.jpg)
Open V
irtual
Pla
tform
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
17
![Page 18: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/18.jpg)
Open V
irtual
Pla
tform
MIPS◦ OVP contém duas famílias
MIPS 32 MIPS 64
◦ Adaptados novos modelos MIPS 32 OR1K MIPS 32 Aptiv MIPS M14K
18
![Page 19: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/19.jpg)
Open V
irtual
Pla
tform
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
19
![Page 20: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/20.jpg)
Open V
irtual
Pla
tform
ARM
◦ OVP contém duas famílias ARM Classic Cortex
◦ Classic ARM4-11
◦ Cortex Cortex-A, Cortex-R e Cortex-M
20
![Page 21: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/21.jpg)
Open V
irtual
Pla
tform
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
21
![Page 22: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/22.jpg)
Open V
irtual
Pla
tform
OpenRISC
◦ Fabricado pela OpenCores
◦ Maior desenvolvedor de processadores open source.
◦ OVP contém um modelo de processamento OpenRISC OR1K
22
![Page 23: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/23.jpg)
Open V
irtual
Pla
tform
Renesas
◦ Fabricado pela Renesas Electronics
◦ Atua na área de micro controladores, sistemas automotivos e dispositivos de potência
◦ Microprocessadores de 32 e 16 bits
23
![Page 24: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/24.jpg)
Open V
irtual
Pla
tform
Renesas
◦ OVP contém três famílias V850 M16C R8C
24
![Page 25: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/25.jpg)
Open V
irtual
Pla
tform
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
25
![Page 26: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/26.jpg)
Open V
irtual
Pla
tform
APIs
26
![Page 27: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/27.jpg)
Open V
irtual
Pla
tform
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
27
![Page 28: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/28.jpg)
Open V
irtual
Pla
tform
28
1. #include “icm/icmCpuManager.h” 2. 3. int main(int argc, char ** argv) { 4. … 5. // initialize CpuManager 6. icmInit(0,0,0); 7. … 8. icmProcessorP processor = icmNewProcessor( 9. “cpu1”, // CPU name 10. “or1k”, // CPU type 11. 0, // CPU Id 12. 0, // CPU model flags 13. 32, // address bits 14. model, // model file 15. “modelAttrs”, // morpher attributes 16. 0, // enable tracing etc 17. 0, // user-defined attributes 18. semihosting, // semi-hosting files 19. “modelAttrs” // semi-hosting attributes 20. }; 21. 22. // load the processor object file 23. icmLoadProcessorMemory(processor, argv[1], False, False, True); 24. 25. // run simulation 26. icmSimulatePlatform(); 27. 28. // terminated simulation 29. icmTerminated(); 30. 31. return 0; 32.}
![Page 29: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/29.jpg)
Open V
irtual
Pla
tform
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
29
![Page 30: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/30.jpg)
Open V
irtual
Pla
tform
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
30
![Page 31: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/31.jpg)
Open V
irtual
Pla
tform
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)
31
![Page 32: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/32.jpg)
Open V
irtual
Pla
tform
BHM◦ Modelagem de
comportamento◦ Processos, eventos, delays◦ Inicializa processos◦ Aguarda por evento ou tempo◦ Debug através de output
32
PPM◦ Modelagem de periféricos◦ Interface com a plataforma◦ Conexão com barramento◦ Conexão com a rede
![Page 33: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/33.jpg)
Open V
irtual
Pla
tform
PPM e BHM
◦ Modelos descritos com esta API devem ser compilados com um toolchain PSE.
◦ Conceitos similares ao SystemC
33
![Page 34: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/34.jpg)
Open V
irtual
Pla
tform
34
1. #include “bhm.h” 2. 3. bhmThreadHandler thA, thB; 4. 5. #define size (64*1024) 6. 7. char stackA[size]; 8. char stackA[size]; 9. 10.void myThread(void *user) 11.{ 12. char *string = user; 13. while(1) { 14. bhmWaitDelay(1000*1000); 15. bhmPrintf(“%s\n”, string); 16. } 17.} 18. 19.void userInit(void) 20.{ 21. struct myThreadContext contextA; 21. struct myThreadContext contextB; 22. 23. thA = bhmCreateThread(myThread, “user”, “threadA”, &stackA[size]); 23. thB = bhmCreateThread(myThread, “user”, “threadB”, &stackB[size]); 23.}
![Page 35: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/35.jpg)
Open V
irtual
Pla
tform
35
Instalação do Modelo
![Page 36: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/36.jpg)
Open V
irtual
Pla
tform
Modelos e seus toolchains são encontrados na página do OVP
36
![Page 37: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/37.jpg)
Open V
irtual
Pla
tform
37
ExemploSingle Processor
![Page 38: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/38.jpg)
Open V
irtual
Pla
tform
38
ExemploMultiProcessor
![Page 39: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/39.jpg)
Open V
irtual
Pla
tform
39
HeMPS OVP
![Page 40: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/40.jpg)
Open V
irtual
Pla
tform
Níveis de abstração◦ VHDL◦ SystemC◦OVP
40
![Page 41: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/41.jpg)
Open V
irtual
Pla
tform
41
OVP (NoC and CPU) - simulação sem noção de tempo
+ menos tempo de simulção+ maior debugabilidade+ flexibilidade de modelagem
Drivers developmentValidation of adaptative techniquesOS and application porting
Software validation
Real software execution
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
![Page 42: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/42.jpg)
Open V
irtual
Pla
tform
Exemplo prático da HeMPS
S2
42
dijkstra app
S1
Div
Div
1
Dijk_1
Dijk_2
<n>
2
Dijk_1
Dijk_2
<n>
Exec Dijkstra
Alg.
Dijk_1
Dijk_2
<n>
DivRetorna
resultado calculado
Imprime as saídas na medida em que os resultados chegam
4 5
3
1 2 ... n3 4 ... n
...n 6 ... n
1 2 ... n3 4 ... n
...n 6 ... n
![Page 43: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/43.jpg)
Open V
irtual
Pla
tform
43
HeMPS SC vs OVP
![Page 44: 04/junho/2014. Open Virtual Platform Introdução Plataformas Virtuais OVP ◦ Conceitos ◦ APIs ◦ Modelos de processadores ◦ Exemplos HeMPS OVP 2.](https://reader034.fdocuments.net/reader034/viewer/2022051615/552fc173497959413d8eee0c/html5/thumbnails/44.jpg)
Open V
irtual
Pla
tform
44
Dúvidas?