论文部分内容阅读
系统级芯片(System on Chip,SOC)可以通过对IP(Intellectual Property)核的重用来降低设计的复杂度和风险,缩短产品的上市周期。不过这种新的设计流程以及不断增大的芯片规模给设计和测试都带来了许多新的挑战。
随着SOC规模越来越大,产品测试变得越来越复杂,测试费用占芯片成本的比例也越来越高,设计者必须在设计伊始考虑芯片测试的问题,即可测试性设计(Design for Testability, DFT)。SOC测试所面临的三个最主要的问题是:测试数据量大、测试功耗高和测试时间过长。这三个问题最终都将导致SOC测试成本的急剧增加,降低了产品的市场竞争力。这篇论文正是围绕这三个棘手的问题在测试压缩、低功耗扫描测试以及扫描测试调度等领域展开了深入的理论研究,目的就是为了降低SOC的测试成本、提高SOC的产品质量。
线性反馈移位寄存器(Linear Feedback Shift Register, LFSR)重播种技术的主要用途是提高伪随机测试的故障覆盖率,而种子数量直接关系到自动测试机(Automatic Test Equipment,ATE)的存储空间以及硬件开销的需求,因此本文针对LFSR重播种优化展开了深入研究。首先通过应用一种测试向量分组合并算法来实现一个LFSR的种子编码多个确定性测试向量。为了优化算法的运行时间,本文将测试向量分组合并映射成图论中的无向图最小着色问题并采用基于蚁群算法(Ant Colony Optimization,ACO)的启发式算法加以解决。在仔细分析了重播种原理后,本文又从减少重播种次数入手对种子进一步优化。在ISCAS89基准电路上进行的实验数据显示,测试向量分组合并与减少重播种次数的种子优化相结合可以减少约40%的LFSR种子数量。
目前测试压缩领域已有的研究成果大多是针对测试数据的压缩,本文则在减少扫描时钟管脚方面展开研究。首先深入分析了多时钟扫描策略,然后设计了一种扫描时钟产生电路,在不增加时序闭合难度的前提下使得所有的扫描时钟都可以使用同一个管脚作为时钟源,而代价仅为少量硬件开销以及控制管脚。为了使这种单扫描时钟管脚策略不增加测试时间,本文又在最小化扫描时钟数量方面做了相关研究。基于时钟相容性分析结果对电路中功能时钟域分组并分配扫描时钟的问题被映射成图论中的有向图最小着色问题并设计一种贪心算法加以解决。
低功耗扫描可以通过调整扫描链的设计来实现。本文分析了扫描测试过程中功耗产生的原因,研究了扫描触发器跳变对内部组合逻辑锥的影响,将计算得到的影响函数值作为扫描链重排序的依据。然后基于扫描链结构的特殊性分析了布线约束对扫描链重排序的影响,并将布线约束简化,设计了一种同时兼顾低功耗和布线约束的算法。该算法不需要迭代,通过一次运行即可得到扫描链重排序的结果,在保证后端设计可行性的前提下,尽可能减少了高影响值扫描单元上的跳变次数,实现了对扫描测试功耗的优化。实验结果表明该算法可以使扫描测试功耗降低12%,对故障覆盖率以及测试时间没有任何影响,而且不需要任何硬件开销。
门控时钟策略也是低功耗扫描的常用技术。本文设计了一种基于门控时钟降低扫描测试功耗的新颖方法以及对应的硬件“扫描时钟控制电路”,实现了在每组扫描测试向量中对扫描时钟的动态控制。针对某些较早完成扫描装/卸载的扫描链,可以及时屏蔽相应的扫描时钟以降低扫描移位功耗。扫描捕获功耗的降低则可以通过对那些其上没有真实观测点的扫描链屏蔽扫描捕获时钟来实现。为了使该方法可以最大程度地降低扫描移位功耗,本文设计了用于扫描测试向量组重新排序的简单算法。为了实现全局优化,本文又将待解决问题映射成图论中的非对称旅行商问题(Asymmetric Travelling Salesman Problem,ATSP),并设计了基于ACO的启发式算法加以解决。基于若干工业界设计的实验结果表明了该方法的可行性和有效性。
在测试调度方面,目前已有的调度策略都是将IP核的整个扫描测试集作为调度对象,而本文则提出了一种新颖的调度机制:基于每个扫描测试向量组进行调度。新调度机制提高了扫描测试调度的灵活度,而且还可以充分利用测试通道在扫描捕获期间的空闲时间。将新调度机制下寻找最佳解决方案的问题映射成增加颜色约束的特殊二维装箱,并结合序列对技术以及模拟退火设计了相关算法加以解决。