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