原创 软硬件协同仿真如何实现提速

2008-8-13 14:13 2413 7 9 分类: 消费电子

在一个虚拟软硬件协同验证的环境中,主要核心的问题就是去执行足够有意义的软件,在软件执行时,微处理器产生了数以万计的内存的存取动作,其中包含了指令的存取与内存的读写,而在一个纯硬件仿真的环境中,以每秒执行10个或20个时钟的速度,来执行数百万个内存存取动作,可能需要数天时间,例如光是启动一个Lynx的实时系统开机,以每秒执行二十个时钟的速率来计算,就需要产生一千六百八十万个内存存取动作..

Seamless维持了一个独特的内存储存机制称为一致性内存服务器”,因此,处理器可以让设计者依实际状况选择,是透过硬件仿真器来产生读取信号,还是直接从内存服务器中读取数据,而不产生频率,因而比实际状况将近快了一万倍左右,例如在一开始的验证阶段,很重要的就是先确认整个内存系统的动作无误,以确保系统可以开机运行,一旦确立此种动作之后,就可以启动内存最佳化功能,来节省实际的仿真时间,此种最佳化也可随时打开或关闭,依照设计者对整个系统的掌握程度

因为内存内容是存放在同一个位置(一致性内存服务器内),因而无论是多少次存取方式的切换(从最佳化到非最佳化),可以保证资料的一致性,同时内存服务器也支持多个处理器存取多个不同的记忆地址,Seamless所使用的内存为Denali模型,其本身提供了将近四千多种内存模型可供选择,如无适当模型,设计者也可利用Seamless所支持的模型来修改,而本身的崁入式软件则不需作任何更动

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1454308 2016-6-2 12:12

Good

wuyeqing_363494696 2014-1-28 00:12

是加电运行老化吗?是器件烧毁的特征吗?如果是符合这两点的话,则此原因的可能性还真不小。如果不同时具备这两方面特征,还不能简单下此结论

用户1728258 2014-1-22 14:09

最近碰到一个莫名的老化2H后产品失效的问题换新元件后老化6H,继而再次发生失效,此文章给了一些灵感,会不会与这有关......

用户1602177 2013-12-23 17:55

感谢武老师的分享~~

用户1052207 2008-8-28 16:39

你说的有道理。

如果你的设计中这种Memory的存取很多,那Seamless的提速的作用就比较明显。

太Seamless的作用不尽如此,它可以提供很好的软硬件的协同仿真和debug。

如果单纯从提高仿真速度来说,有从硬件和软件两方面来做:从硬件来说,硬件加速仿真器(accerator or emulator)可以提高。当然FPGA Prototype也是可以的,只不过Debug和每次需要重新编译和布线耗时。受制于FPGA自身速度,不可能作到realtime。不过150M速度也可以满足部分要求。

软件来讲,那就是提高抽象层次,使整个仿真在TLM层或ESL。

这两个方向应该是未来的热点。

用户1060261 2008-8-17 10:41

模型的精确性和仿真速度是一个矛盾,这也是制约虚拟仿真的一个根本问题之一。在这点上seamless 并没有很根本的改善,其只是在内存的加速访问上做了一点有益的工作而已。

相关推荐阅读
用户1052207 2010-12-22 17:15
UVM 和 OVM2.1.1的差别
基本上来讲,UVM是base在OVM2.1.1上的。当然有点小改变:  —“ovm” -> “uvm” —“tlm” -> “uvm_tlm” —callback & object...
用户1052207 2010-07-15 14:45
验证方法学终于要统一了
虽然这条路很漫长,各种方法学的统一是必然的。如今UVM完全可以代替OVM,虽然还没有代替VMM,我相信未来肯定会将VMM全部吃进去。对客户来讲,这是好事,没有必要绑在一个simulator上。可以任意...
用户1052207 2009-10-14 14:34
最近在研究低功耗设计
从迈入深亚微米的180nm 工艺开始,集成电路经历了130nm、90nm、65nm,到目前正趋于实用的45nm 工艺,每一代工艺大体上将有效沟道长度降到前一代的0.7 倍,单位数目器件所占平均面积降为...
用户1052207 2009-04-27 17:27
如何利用多核来提高仿真速度
通过由多个处理器内核对仿真、覆盖率、断言、以及调试等操作进行并行的处理,将能消除验证工作的典型瓶颈,例如交互式仿真以及耗时较长的测试用例。这看起来似乎很好,但目前没有完整的solution。而且也不是...
用户1052207 2009-04-22 15:28
关于OVM
通过对高级验证能力和行业标准提供全面广泛的支持,Questa采用了开放的源程序和基于标准的开放验证方法 (OVM)。OVM 是采用有效方法构建验证组件和测试设计的基类库、实用程序和应用程序。更多信...
用户1052207 2009-04-22 14:32
Questa的一些性能
 单一内核,支持各种帮助语言:SV、SC、VHDL、Verilog、PSL 完全断言和代码覆盖率的支持,保证基于尺度驱动验证过程的功能验证的完备 ·     高级的受限随机产生器可以快速、高...
我要评论
2
7
关闭 站长推荐上一条 /3 下一条