中文 英语
知识中心
导航
知识中心

虚拟样机

实现早期软件执行的硬件系统的抽象模型。
受欢迎程度

描述

系统级虚拟原型,通常简称为虚拟原型,是一个系统的全功能软件模型,包括处理器、内存、I/O和用户界面,能够运行未经修改的生产代码,包括驱动程序、操作系统或应用程序。速度是这些原型的本质,因为它们必须尽可能接近实时运行,以便长时间操作的执行时间保持在合理的长度。用户对虚拟原型的其他关注可能包括可用时间、准确性、开发成本、启动成本、调试洞察、执行控制以及系统所在环境的系统接口。

SystemC和TLM 2.0已被业界接受为集成模型和促进互操作性的良好方式。这并不意味着所有的模型都是用SystemC编写的。为了提高速度,许多模型都是用纯C编写的,并且只使用SystemC和TLM作为模型接口。

当事务级模型不可用时,需要一种方法将RTL模型集成到虚拟原型中。如果在模拟器中执行这些操作,所得到的性能往往太慢而没有多大价值。解决这个问题有两种方法。这些模型可以转换为更快的模型,也可以使用模拟器或FPGA原型来执行它们。硬件引擎与虚拟原型耦合通常被称为混合原型。虽然现在系统的两个部分都可以快速执行,但它们之间的通信是一个瓶颈。事务级接口,例如Accellera标准协同仿真建模接口(SCE-MI)一直在解决这些问题。

在选择模型类型时,虚拟样机用户主要考虑以下八个方面:
到货时间:一旦特定设计的规范被冻结,软件执行平台及其相关开发环境可用的时间直接决定了软件开发人员在开始项目之前需要等待多长时间。
执行速度:理想情况下,所选择的开发方法能够准确地表示实际硬件的执行速度。对于软件回归,比实时更快的执行是有益的。
精度:正在开发的软件类型决定了开发方法必须有多准确,才能忠实地代表实际的目标硬件。这是必要的,以确保在硬件/软件边界上确定的问题不会由开发方法本身引入。
生产成本:一种开发方法的成本包括生产的实际成本,以及与硬件/软件设计相关的间接成本。生产成本决定了将开发方法复制到软件开发团队的所有成员的难易程度。
启动成本:任何花费在开发方法上的活动,超出了达到硅的绝对必要,都可以被认为是开销。创建虚拟原型的开销必须小于所获得的回报,这样才能使其成为一项良好的投资。
调试的洞察力:分析设计内部结构的能力,例如能够访问信号、寄存器和硬件/软件设计的状态。
执行控制:在调试期间,能够使用硬件中的断言或软件中的断点停止目标硬件的表示是很重要的,特别是对于具有多个处理器的设计,其中所有组件必须以同步方式停止。
系统接口:如果目标设计是SoC,那么能够将开发中的设计与现实世界的接口连接起来是很重要的。例如,如果涉及USB接口,则重要的是将开发方法连接到真实的USB协议栈进行验证和软件开发。同样,对于网络和无线空中接口,设计表示与现实世界软件的连接对于软件开发非常重要。

虚拟原型的使用模型包括早期验证和验证、架构分析、软件开发和调试以及可见性。


多媒体

网络芯片设计

多媒体

技术讲座:虚拟原型

多媒体

技术讲座:电源签名


相关技术

Baidu