软件模拟仿真可加速设计进程
“过去仿真需要有实际的硬件(例如芯片或板卡),现在可以全部通过电脑模拟,而且硬件上的调试等命令都可以在电脑上实现。”风河公司调试工具及生命周期解决方案副总裁Michel Genard告诉我们。
本文引用地址:http://www.amcfsurvey.com/article/198148.htm为何需要模拟仿真?因为硬件实际情况是比较复杂的,软件模拟可解决复杂性问题;另外还可加速上市时间,在硬件没有正式上市或拿到手之前,就可以编写软件;再有,通过软件模拟硬件,不会受到硬件的数量(例如只有一两个)的限制,如果开发团队有多人,而参考板只有一两块,开发进程也不会受影响;最后,航天军工等不太能在地面上完成系统的模拟和执行的地方。
因此,长期以来,用模拟工具是很多行业使用过的,例如工业、电力、军工、网络通信、数学、物理等的模型计算,即越复杂的系统,越适合用软件模拟的方法来把复杂的问题解决。
风河公司的Simics可以模拟很多硬件,从芯片的功能块、整个芯片,到板卡、多板卡的机架,直至最复杂的是全系统。这是因为Simics有三部分构成:脚本库、调试工具、模拟引擎。原则上模拟脚本写出来了,放在库中,什么都可模拟。
Michel说风河的客户反映,Simics最多节省60%的时间,可以节省35%调试时间,资本运营上的支出可节省一半。
Simics有三个特点:
*精确度高,开发者不用担心与实际有落差。
*Checkpoint功能,可以随时检查程序的过程,即对程序过程拍照。这样可以把当时的状态和同事沟通。例如,实际程序模拟时要运行10亿次,物理时钟要3天,软件模拟也许1小时就可完成。在这种情况下,如果发现某个地方可能出错,可以模拟出具体时间。因为程序出错不一定是运行的前几次,而是多次以后。“出错稍纵即逝,我们可以定格在某个1秒钟,像照x光片。” Michel说。
*故障注入功能是Michel最喜欢的。即强行设置一些故障,看软件模拟时,出现了哪些问题,或者备份方案是否工作。例如某个CPU不工作,系统执行会有什么情况,计算出错时遇到什么情况。例如断电时,某个线路故障失灵时,可以全部通过软件模拟,在电脑上看到结果。如果没有软件模拟,而是硬件模拟,需要人为破坏CPU、剪断线缆。
评论