汽车芯片开发中的虚拟原型

文摘   2024-11-22 07:03   上海  
虚拟原型,支持早期软件执行的硬件系统抽象模型。

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

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

当无法使用事务级模型时,需要一种方法将 RTL 模型集成到虚拟原型中。如果在模拟器中执行这些模型,则产生的性能通常太慢而没有太大价值。有两种方法可以解决这个问题:要么将模型转换为更快的模型,要么使用模拟器或 FPGA 原型来执行它们。与虚拟原型耦合的硬件引擎通常称为混合原型。虽然系统的两个部分现在可以快速执行,但它们之间的通信是一个瓶颈。事务级接口(例如 Accellera 标准协同仿真 - 建模接口 (SCE-MI))一直在解决这些问题。
在选择模型类型时,虚拟原型用户有八个主要关注点:
可用时间一旦特定设计的规格确定,软件执行平台及其相关开发环境的可用时间直接决定了软件开发人员在开始项目之前需要等待多长时间。
执行速度:理想情况下,所选的开发方法可以准确表示实际硬件的执行速度。对于软件回归,执行速度快于实时是有益的。
准确性:正在开发的软件类型决定了开发方法必须有多准确才能忠实地表示实际目标硬件。这是必要的,以确保在硬件/软件边界上发现的问题不会由开发方法本身引入。
• 生产成本:开发方法的成本包括实际生产成本以及在其中提出硬件/软件设计相关的间接成本。生产成本决定了开发方法能否轻松地复制到软件开发团队的所有成员。
启动成本:在开发方法上花费的任何超出获得硅片绝对必要范围的活动都可以被视为间接费用。创建虚拟原型的开销必须与将获得的回报相比很小,才能使其成为一项不错的投资。
调试洞察:分析设计内部的能力,例如能够访问信号、寄存器和硬件/软件设计的状态。
执行控制:在调试期间,能够使用硬件中的断言或软件中的断点来停止目标硬件的表示非常重要,尤其是对于具有多个处理器的设计,其中所有组件都必须以同步方式停止。
系统接口:如果目标设计是 SoC,那么能够将正在开发的设计连接到真实世界的接口非常重要。例如,如果涉及 USB 接口,则将开发方法连接到真实 USB 协议栈以进行验证和软件开发非常重要。同样,对于网络和无线空中接口,将设计表示连接到真实世界的软件对于软件开发非常重要。
虚拟原型的使用模型包括早期验证和确认、架构分析、软件开发和调试以及可视性。

软硬件协同设计 HW-SW Co-Design
欢迎后台留言,AI 客服全天在线。脱离物理硬件,开发测试和调试软件。基于虚拟原型的软硬件协同设计,提前一年实现产品上市创收,降低一半开发时间。
 最新文章