论文部分内容阅读
K68是一款功能复杂的手机应用处理器芯片,它的内部包含有:ARM处理器、视频编解码器,音频处理器、及各种外围接口。由于手机芯片的低功耗要求,K68采用了动态电压频率调节(DVFS),多电源多电压(Multi-VDD,Multi-Supply),多门槛电压(Multi-Vt),时钟门控(Clock gating)等低功耗设计手段。要对一个结构复杂的手机芯片进行测试,并得到预期的故障覆盖率,是一件非常困难的事,因此必须在设计中增加可测性设计。本文深入研究了目前国际上数字电路的各种可测性设计技术和方法,根据K68手机芯片的特点和其对测试的具体需求,作者提出了一整套K68手机芯片的可测性设计方案。该方案充分考虑了K68的内部结构,有针对性的选择了一系列成熟可靠的可测性技术和方法,很好的满足了K68对测试的需求。作者还独立地具体实现了这一测试方案。K68手机芯片的测试结构由BIST、边界扫描和内部扫描三部分组成。BIST用于测试包括RAM、ROM在内的237多块memory;边界扫描按IEEE1149.1标准设计,除必备的几条边界扫描指令外,还定义了若干条用户自定义指令以支持扫描测试及内建自测试。扫描采用全扫描策略,为了测试与时序相关的故障,还采用了实速(at-speed)测试。在本文中主要在如下几个方面进行了创新和探索:一、在0.13um工艺下与时序相关的故障比例变得越来越高,因此实速测试变得越来越普遍和必需。如何产生片内高速的实速测试测试时钟成为设计者必须解决的问题。目前不同的测试采用不同的分立的电路来提供测试时钟是很普遍的,笔者经过研究设计了一套自己的测试时钟产生电路---OCC电路,它不但可以产生stuck-at测试需要的慢速时钟,还可以产生慢速高速mbist测试以及实速(at-speed)测试的片内高速时钟,覆盖了目前几乎所有常用的测试模式。通过这样一个模块的建立,对于测试电路的模块化标准化和维护将起到很好的作用。并在K68中实现。经过流片后机台测试证明行之有效。二、在存储器的测试中算法的选择是一个关乎测试质量和测试成本的关键因素。很多比例的厂家使用传统的March2算法,这个算法在Mentor的工具中是标准算法,实现起来非常方便。但K68的存储器提供商建议使用March-lr算法来达到较高的故障覆盖率。这个算法是非标准的。在Mentor的工具中必须由用户先手工定义这个算法,然后才可以实现。笔者在K68的存储器测试中采用并实现了这个算法。此方法的实现对于希望通过灵活的算法改进达到提高覆盖率和利用新算法发现新故障的设计者是一个有益的尝试。三、低功耗器件的大规模应用同时对于测试也提出了新的要求。笔者在低功耗芯片的测试电路设计方面也作了一些探索和实践。