论文部分内容阅读
扫描设计是一种广泛应用于数字集成电路中的可测试性设计。扫描触发器及其相关电路所占面积可达到芯片总面积的30%以上[GV01][YCDR08]。根据制造过程中的缺陷聚簇特性[KK98],当组合逻辑中存在缺陷时,扫描链中存在缺陷的概率也随之增大。因此,多个缺陷很可能同时分布于组合逻辑和扫描触发器中,在故障行为上表现为组合逻辑和扫描链均存在故障。为了将这类多故障与单纯的扫描链多故障或组合逻辑多故障进行区别,称这类故障为复合故障。多数方法在诊断组合逻辑时需要以扫描链无故障为前提,而在诊断扫描链时需要以组合逻辑无故障为前提,对于实际故障芯片而言,所需前提条件往往难以满足,因此容易导致误诊断。本文从复合故障诊断入手,在三个方面开展了研究工作:面向复合故障的扫描链与组合逻辑诊断,面向扫描链故障的诊断和面向复合故障的可诊断性设计,并在上述研究工作中取得了以下创新性的研究成果:
1.提出了面向复合故障的扫描链诊断方法。
该方法包括了面向通路的诊断向量生成算法和面向观察点的诊断向量生成算法,以及基于中值滤波的故障响应分析方法。该诊断向量生成算法可以将目标扫描单元的逻辑状态传播到多个可靠观察点,通过计算观察响应和期望响应间的海明距离得出扫描移入错误概率序列。通过基于中值滤波的故障分析方法解析移入错误概率序列从而定位故障。在ISCAS89基准电路上的实验表明,当组合逻辑中平均存在31.6个固定型故障时,可以在命中率为100%的情况下,故障平均诊断分辨率达到1.37,比国际上现有方法[L05B]提升了3.26倍。
2.提出了面向复合故障的组合逻辑诊断方法。
该方法可以容忍扫描链中的故障对组合逻辑中的故障进行诊断。其核心思想是将目标故障效果尽可能多地传播到多个可靠观察点,同时尽力避免其他故障对目标故障效果传播的影响。基于相似性度量的故障响应分析方法以期望响应作为先验知识,通过计算扫描移入错误概率序列来定位故障。在ISCAS89基准电路上的实验证明,当组合逻辑存在30个故障且每条扫描链均存在故障时,组合逻辑故障的平均诊断命中率为87%,平均诊断分辨率1.01,比国际上现有方法[YB08B]提升了2.83倍;扫描链故障平均命中率为100%,平均诊断分辨率1.25,比国际上现有方法[L05B]提升了3.58倍。
3.提出了自适应扫描链故障诊断方法。
该算法首先通过分析故障响应来减小候选扫描单元的个数。随后,生成故障诊断向量以区分由候选扫描单元组成的候选故障对。在大多数情况下,单个向量可区分多对候选故障。算法每成功迭代一次至少可以找到一条向量以区分一对故障;若迭代失败,则说明其余故障为等价故障,因此避免了等价故障的证明时间。通过以ISCAS89电路为基准电路的实验表明,该算法在保证故障命中率为100%的情况下,获得的平均诊断分辨率为1.19,比国际上现有方法[L05B]提升了3.76倍,接近理论最优值1。
4.提出了面向复合故障的可诊断性设计方法——螺旋扫描设计。
螺旋扫描设计通过间隔跳跃的方式加载和卸载向量,有效提高了故障扫描链的可诊断性,且与主流扫描设计方法完全兼容。在此基础上提出了一种复合故障诊断方法。实验结果表明,在ISCAS89基准电路中插入螺旋扫描设计后,使得扫描链故障命中率为100%且诊断分辨率为1;组合逻辑故障的命中率达到98%以上。在0.18微米工艺下,螺旋扫描设计的额外时间开销约为0.012ns,平均硬件开销在10%左右。