扩大ARM SoC的验证覆盖缩短仿真时间
时间:07-20
来源:电子设计应用
点击:
使用附加的设计模块
这篇文章描述了单个设计模块激励的代码应用程序。因为代码和数据空间的内存没有被建模为硬件的一部分,因此可以在完成全部设计之前,在一个单独的设计模块上运行这种类型的测试。它不需要设计完整的内存子系统并作为仿真的一部分运行。当运行一些模块级测试时,有必要将附加的硬件组件和I/O数据流建模为仿真运行的一部分。使用相同的过滤技术,可以把给定内存区域的内存处理事务传送给任意的C函数。这可以通过建立一个基于地址范围的回调函数实现。这样,没有建模为HDL的软件需要的组件能够用简单的C函数替代。同样,对I/O端口的读写可以通过基本的C函数连接到主机文件和I/O系统。
对于包含很多硬件设计的系统级仿真,也可以使用相同的方法。对于这种情况,硬件模块被替代的越少,在逻辑仿真器中出现的行为就会更多。
结语
本文介绍了一种使用软件作为激励以加速系统级验证的方法。使用的激励是切合实际的,并易于快速创建。对设计执行此激励可及早揭露问题,否则,这些问题可能要等到创建虚拟原型后才会被发现。提高性能的关键在于过滤出与硬件操作无关的代码和数据引用,并在分区内存存储中处理。这种方法能使验证工程师解决日益增长的功能验证挑战。Questa验证平台可以自动把固件输入到测试平台,加速取指令操作与内存引用执行,并提供源代码级的调试环境。
这篇文章描述了单个设计模块激励的代码应用程序。因为代码和数据空间的内存没有被建模为硬件的一部分,因此可以在完成全部设计之前,在一个单独的设计模块上运行这种类型的测试。它不需要设计完整的内存子系统并作为仿真的一部分运行。当运行一些模块级测试时,有必要将附加的硬件组件和I/O数据流建模为仿真运行的一部分。使用相同的过滤技术,可以把给定内存区域的内存处理事务传送给任意的C函数。这可以通过建立一个基于地址范围的回调函数实现。这样,没有建模为HDL的软件需要的组件能够用简单的C函数替代。同样,对I/O端口的读写可以通过基本的C函数连接到主机文件和I/O系统。
对于包含很多硬件设计的系统级仿真,也可以使用相同的方法。对于这种情况,硬件模块被替代的越少,在逻辑仿真器中出现的行为就会更多。
结语
本文介绍了一种使用软件作为激励以加速系统级验证的方法。使用的激励是切合实际的,并易于快速创建。对设计执行此激励可及早揭露问题,否则,这些问题可能要等到创建虚拟原型后才会被发现。提高性能的关键在于过滤出与硬件操作无关的代码和数据引用,并在分区内存存储中处理。这种方法能使验证工程师解决日益增长的功能验证挑战。Questa验证平台可以自动把固件输入到测试平台,加速取指令操作与内存引用执行,并提供源代码级的调试环境。
- 高带宽嵌入式应用中SoC微控制器的新型总线设计 (02-02)
- SoC前段(ARM)嵌入式系统开发实作训练(上) (02-28)
- SoC前段(ARM)嵌入式系统开发实作训练(下)(02-28)
- 采用灵活的汽车FPGA 提高片上系统级集成和降低物料成本(04-28)
- 开放源码硬件简史(05-21)
- 可配置处理器技术优势详解(05-15)