详述软件开发中模拟器与仿真器的区别
扫描二维码
随时随地手机看文章
模拟器与仿真器均可为开发人员提供代码与系统性能更佳的可视化,即便是最先进的DSP与微处理器。
模拟与仿真
在基于DSP的开发设计中,模拟与仿真的作用很容易使人混淆,因为粗略看来,它们执行的功能非常相似。从最简单的方面讲,模拟与仿真的主要区别在于模拟完全是在软件中完成的,而仿真则是在硬件中进行。但是如果要更深入探究的话,每种工具的唯一特性与强大的优势是非常明显的。两者之间取长补短,共同提供了它们无法单独拥有的优势。
从传统意义上讲,模拟是在设计的最初阶段开始进行,这期间设计人员会借助它来对初始代码进行评估。开发人员需在设计进程的初期阶段--一般在获得硬件前的几个月--使用模拟器对复杂的多核系统进行建模。这使得在无需原型器件的情况下对各种设计配置进行评估成为可能。此外,当设计人员运行核心代码并对之进行不同的更改时,软件模拟可以采集到大量的调试数据。通过模拟会影响代码效果的DSP及所有外设的性能,软件模拟有可能确定最有效的应用设计。
然而,以往模拟器的缓慢速度使之无法得到广泛的应用。为了提高效率,必须加快模拟器的速度,才能实现针对复杂DSP应用所需的大量数据采集。由于模拟器速度缓慢,设计人员往往在开发周期的后期阶段当获得硬件原型后才进行调试与分析--这样的过程会造成巨大的时间与成本的浪费。随着快速模拟技术与数据采集工具的推出,开发人员仅需几分钟便可采集大量数据,而非先前或同类竞争模拟器所需要的数小时。模拟器在设计与调试过程中是一种非常重要的工具,因为它能够反复地运行相同的模拟过程,而基于硬件的评估会因中断等外部事件所导致的变化而无法实现这一过程。此外,模拟器还具有高度的灵活性,可独立对CPU进行深入分析,或可用于对整个系统进行建模。模拟器可轻松地进行配置,能够与各种存储器及外设相集成。由于设计人员正在对硬件进行建模,因而他们实际上可以将更多的东西构建到模型中去,使之可提取更多的数据来支持高级分析功能。
仿真功能的深入研究
那么何处需要仿真呢?仿真使开发人员可了解不同软硬件模型间的实时交互作用。它还可以将实现真实世界的激励连接到外设上,来启动系统行为的调试。开发人员在开发后期阶段可获得真实数据时使用仿真器。通过确定应用程序在硬件上实际运行性能,仿真器可验证模拟器测试过的设计。验证仿真器获得的这些信息可以帮助设计人员再次采用模拟器来进一步优化硬件性能。
时钟速度、数据速率以及器件复杂性不断加速的发展也推动着仿真器的向前发展。先进的仿真技术如实时数据交换使您可在不影响运行的情况下获得系统运行的直观视图。通过RTDX数据链接,TI基于JTAG扫描技术的PCI总线仿真器XDS560助于减少当处理器速度增加以及外设、数据总线和其它系统组件被嵌入到器件中时所出现的“可见性降低”问题,这种问题的出现会导致几乎无法查看芯片中程序执行的实时行为,或无法发现用以访问数据的测试点。仿真器可在不改变器件性能的情况下,在主机开发平台与目标处理器间进行数据传输、下载代码和观察复杂序列事件,所有这些都使得评估系统未来开发完成后实地运行的性能成为可能。
全面集成的测试工具
模拟不是仿真与真实硬件的替代品。这两种技术可互相补充,并可在设计流程中结合使用。DSP模拟与仿真功能能以足够快的速度、利用足够丰富的数据以及足够高的简易性共同模拟"虚拟原型",并验证最终硬件,以便将基于DSP的系统开发提升到一个新的水平,节省巨大的成本并显著地缩短开发时间。
事实上,模拟器与仿真器的功能在设计过程中的特定阶段将会进行混合。下图说明模拟与仿真在设计周期的某些阶段应该一起使用,共同执行特定任务,以实现更佳的总体设计目标。