Contents
  1. 1. Simics HindSight
  2. 2. Simics Analyzer
  3. 3. Simics Accelerator
  4. 4. Simics Virtual Board/System
  5. 5. Simics Model Builder
  6. 6. Simics Extension Builder
  7. 7. Simics CPU Core Types
  8. 8. Simics Device Model Libraries

  Simics由多个产品和可选的add-on组成,此文档介绍它们分别是什么,彼此如何交互。

Simics HindSight

  软件开发人员使用的主要/基本的产品,为Simics平台提供用户接口软件调试接口。HindSight可以通过Eclipse来使用,也可以单独使用。如果单独使用,可以用通用的如GDB这样的或者其它IDE的软件调试器与之连接。

  HindSight提供脚本编程、设备和系统登录、低层Debugging断点和WatchPoint能力,还提供独有的对调试隐蔽Bug极为有用的反向执行能力。

  HindSight还提供save和load能力,ckeckpoints包含系统(CPU,内存,软件等)状态的所有信息,你可以将其只在到硬盘当中,随时可以还原系统状态。

  Simics还提供一个虚拟板卡,所谓的“Quick Start Platform. QSP”,它是一个包含有限合成物和专门模拟设备的简单虚拟平台。用户可以通过它来上手和熟悉Simics特性。因为它的设备模型并不与真实物理设备对应,所以不能用它来运行真正的firmware。

Simics Analyzer

  一个add-on, 为运行在目标系统上的软件应用提供分析和调试工具。

  核心是一个OS感知系统,提供target上运行的软件的视图,提供包括Kernel,进程,任务,线程在内的目标软件的视图。

  Analyzer会添加四个工具:

OS感知的软件调试器
所有系统进程的列表
系统执行时间线
代码覆盖(code coverage)工具

  系统进程列表和系统执行时间线是EclipseView。其中时间线会记录何时何地运行过哪些进程,以Eclipse View的形式呈现,十分清晰明了。

    代码覆盖(code coverage)工具提供目标系统上程序运行的声明级别代码覆盖,以HTML或文本形式提供,方便阅读或者用脚本处理。

Simics Accelerator

  为Simics模拟器提供一组独特的伸缩和加速能力。通Accelerator,Simics可以充分利用Host的多处理器和多核心来加速包含多个机器的大型系统。你也可以在分布式的多个Host上运行大型模拟系统。Accelerator还提供页面共享技术,以充分开发目标系统,减少内存消耗,重用解码和编译过的目标代码,以进一步改进伸缩能力。对于包含多个处理器和板卡的模拟系统,Accelerator能显著地提升速度和伸缩性。

  具体的提升效果将同时取决于Host和Target的具体配置。

Simics Virtual Board/System

  虚拟板卡/虚拟系统 是模拟平台和模拟的硬件模型,其复杂/简单程序取决了模拟的目标。它可以包含任何事物,从CPU到内存到一个复杂的单主板多处理器电脑到一台带有图形控制台、磁盘驱动器和鼠标的个人电脑甚至一个复杂的计算机网络系统。Simics模拟的系统之间、与真实系统之间可以通过Ethernet这样的网络相连。

  Simics模拟系统包含物理目标的一个模型,模型中包含一或多个高性能CPU指令集以及组成系统必要的设备,以及虚拟target能使用的连接

  在Simics HindSight中,Virtual Board/System通常指target.

  Wind River提供很多现成的Virtual Boards/Systems(包括QSP),但更多时候用户用Simics Model Builder创建自己的虚拟板卡

Simics Model Builder

  一个可选add-on, 可创建,修改和配置运行于simics platform上的Virtual Boards/Systems。

  Model Builder内有一个包含了DML语言编译器的DML工具,DML可以通过对行为进行建模来快速创建设备模型,而不需设备的物理实现细节。DML也提供一个便捷的方法来进行快速原型制作和运行验证测试,帮助了解不同的硬件配置会如何影响系统的表现。Model Builder也可以将现有的C/C++,SystemC模型集成进Simics中。

Simics Extension Builder

  可选add-on,作为Model Builder的补充,通过它用户可以开发模拟器的扩展特性,比如Trace模块,真实世界连接,统计收集等。

Simics CPU Core Types

  特定微处理器的指令集模拟器,因CPU架构、同架构中的特定成员(ie. freescale p4080)而不同。

  现成的virtual system中包含了CPU Core Type因而无需指定,但如果用户想创建自己的virtual system,就需要购买特定的CPU Core Type。

一个Virtual System可以包含多个Core Type。

Simics Device Model Libraries

  Wind River和合作伙伴共同提供的现成的商业设备模型。这些设备模型包含中断控制器,Ethernet控制器,桥芯片,SoC等。

  一般来说不需要单独购买,已经包含在Virtual System当中。如果用户想创建自己的虚拟系统,可以单独购买,一般来说这些库与CPU型号无关,可用于任何模型。

Contents
  1. 1. Simics HindSight
  2. 2. Simics Analyzer
  3. 3. Simics Accelerator
  4. 4. Simics Virtual Board/System
  5. 5. Simics Model Builder
  6. 6. Simics Extension Builder
  7. 7. Simics CPU Core Types
  8. 8. Simics Device Model Libraries