利用新的开发工具提供IC设计的可见性(一)
推荐给好友
打印
加入收藏
更新于2007-06-29 12:45:21

        芯片集成度的不断增长,使软件开发工程师必须面对芯片高度集成导致“不断减弱的可见性”。当软件开发工程师通过查看复杂芯片内部的工作来调试设计时,实时可见性工具了提供一定的帮助。本文讨论了芯片提供商提供实时可见性工具解决方案时所面临的系统复杂度、应用困难、调试带宽以及应用多样性等方面的挑战。

        当科学家开始在亚原子级上进行研究的时候,他们遇到了复杂的问题。正如Heisenberg在他的量子物理学研究中所讲的:当观测者观察一个环境的时候,他不再是这个环境的外部和中立面,而是成为它的一部分。换句话说,测量行为本身改变了观测结果。当用现在的微电子器件开发产品的时候,会遇到类似的复杂情形。

        芯片集成度在不断地增长,这种演化主导了现在的电子设计。芯片设计工程师通过缩小几何尺寸来缩小芯片的尺寸并降低功率和成本,但是软件开发工程师需要和芯片集成的“负面”,也就是“不断减弱的可见性”作斗争。似乎处理这种不断增加的系统复杂度的方法不够强,因此软件开发工程师生活在一个黑暗的开发世界中――高集成度隐藏了芯片的内部操作。

        由于不得不使用传统的调试技术,他们发现仅控制芯片行为的过程就会改变系统的时序,从而改变整个系统。这些障碍的组合自然会阻碍工程按时完成。传统的开发工具不能再用来设计并调试使用最新数字信号处理器和微控制器的产品。

        幸运的是,现在具有通过在芯片上集成调试设备来减小这种可见度损失的趋势。最近,芯片厂商和工具提供者应开发工程师的要求提供一种新的工具来帮助他们,这种工具采用另外一种使系统的内部运转可见的方式。但是,系统时钟频率的每一次提高都威胁着最新的调试方法,所以以后还将会出现更多问题。本文主要从几个方面对这个主题进行讨论:可见性不断消失背后的历史;芯片供应商所面临的可见性挑战;开发工程师的可见性工具箱以及片上技术提供可见性。

芯片供应商所面临的可见性挑战

        芯片制造者承受着提供低成本并具有可见性的调试解决方案的巨大压力。这就要求在有限的调试管脚上提供最大的I/O带宽,同时必须尽快提供不会被干扰的仪器。在提供这种解决方案的时候,芯片制造者面临着系统复杂度、应用困难、调试带宽以及应用多样性的挑战。

1 系统复杂度

        和10年前相比,我们现在可以在一个芯片上集成的功能数量是非常惊人的。在过去,不仅许多功能被分在独立的外围芯片上,而且需要增加许多大容量存储的缓冲器甚至是多个CPU内核,它们之间还有非常复杂的接口。另外,类似功能也在现在芯片上也很多。

        因为目前地方体系不总是把传统的总线放在芯片的边缘使其可见,所以不能通过观察芯片的边缘看到里面所有东西。与此相应,在这种环境下使用逻辑分析仪的价值大大降低。

        一些芯片子系统会给系统本身带来特殊的复杂度。比如说,缓存能够提高系统的性能但是也会模糊设备的行为。如今一些CPU的内核在GHz频率上运行得很好,而外部接口的速度只有250 MHz。的高性能系统在芯片上有好几级缓存使CPU保持繁忙,只在需要时候使用外部存储器作为低速缓冲。传统的调试技术依赖监视外存储总线来看处理器到底在做什么。

        当外部I/O工作在大约1/4CPU速度的时候,你会意识到这种情况是如何消弱监视器的实时能力。另外,当芯片上具有两个或更多不同内核(比如DSP和MCU)时,复杂度将增加,这时工具系列必须处理两个指令集以及大量的外部总线和信号。

2 应用障碍

        当然,把许多不同的功能集成在一个芯片上了带来大量的灵活性,使它们成为各种系统中的通用模块。不幸的是,其中的一些功能会被认为是“调试障碍”。一个非常好的例子是手持设备,比如蜂窝电话。这些设备使用的芯片必须越小越好,但这就意味着没有多余的管脚用于调试。传统上,几乎没有为片上调试逻辑预留空间。

        但是随着开发工程师强烈要求使用的方便性,传统的思想发生了改变。以前广为流行的“芯片成本就是一切”的精神已经不再为人们所称颂,如今人们正认真考虑的是片上工具所带来的市场收益。

        另一个障碍是在非常大的嵌入式系统(比如电信基础设施)上出现的问题。当你想在一个由许多布满各种卡的机架组成的系统中找出故障的时候,如何才能找到你认为含有一些用调试信息的DSP呢。即使能够找到正确的卡,如果它在一个无法访问引脚的物理环境中,你如何能够到达芯片的边缘呢?因此,设计工程师一定乐于在板上分配空间以获得可见信息。

3调试带宽

        更高的集成度带来第三类问题,即与时钟速度相关的问题。如今的系统比以往系统的并行和允许速度更快,CPU时钟速度进入GHz范围,调试数据也大约和时钟速度成正比。不幸的是,把内部总线的行为直接暴露在I/O管脚上是毫无意义的,因为传统的I/O频率比不上内部总线频率。因此,产生出来的大量调试信息必须要进行编码压缩以获得易于管理的数据容量。

        即使在编码和压缩以后,为描述仅仅不到一秒钟的程序的执行情况,一些芯片调试工具也会向跟踪记录器发送数兆比特的调试数据。在这种信息容量下,用户需要一个非常复杂的数据收集和后处理机制来分析和显示数据流。

4应用多样性

        这个问题和开发环境的多样性有关,这也是为什么供应商希望工具能适用于多种应用。有些应用对成本比较敏感(限制了能放在芯片上的调试逻辑的数量),另一些则是管脚数量受限,因而调试管脚需要额外费用。但另外一些应用受市场影响很大,所以更强大的片上调试工具是必需的。显然,供应商必须进行折衷考虑。

        获得适当平衡是一个挑战,因为成本效益关系也依赖于系统开发工程师的技巧、应用的成熟性以及片上调试方法的可提供性。这些约束都影响在用于调试的门和管脚方面的决定。

作者:Gary Swoboda,email: g-swoboda@ti.com,德州仪器




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.