论文部分内容阅读
数字集成电路在制造过程中受到制造工艺、技术以及外围环境等因素的影响,可能会导致芯片中存在缺陷。在芯片上市之前,必须找出这些存在缺陷的芯片。但随着芯片规模及复杂度的不断增大,传统的测试方法已经无法满足芯片的测试需求,于是在电路中加入辅助测试的电路,这就是可测性设计。扫描设计作为最常用的一种可测性设计,为芯片提供了良好的可控性和可观测性,因此被广泛应用于数字集成电路的设计中。扫描链为芯片的测试提供了很大的帮助,但扫描链结构也为扫描链故障诊断带来了一定困难。研究扫描链故障的诊断对于故障机理分析和解决芯片良率问题都具有重要意义。目前扫描链诊断主要面临以下问题:一方面,由于扫描链自身的扫描移位会使链上的传输数据被故障信息“污染”,致使故障信息不易分辨,从而导致故障诊断的质量不高;另一方面,扫描链固有的可诊断性不强导致故障诊断的质量不高。此外,现有的扫描链构建方法在构建扫描链时,很少考虑扫描触发器的物理位置,以至于扫描链结构对芯片性能造成不利的影响,尤其不利于以追求性能为主要目标的高性能处理器设计。 针对扫描链诊断面临的问题,本文从电路逻辑结构、物理位置和扫描链全局结构三个角度,研究了如何提高扫描链诊断的质量及如何降低扫描链结构对芯片性能的影响。本文的主要贡献和创新点包括: 1.提出了一种基于电路逻辑结构的扫描链优化方法。该方法建立了扇入相关度和扇出相关度模型,并在此基础上根据扫描触发器的扇入和扇出结构优化扫描触发器至扫描链的分配,在不需要改造扫描单元和扫描链结构的前提下,充分挖掘扫描链本身所隐藏的可诊断性。该方法在ITC99基准电路上的实验结果表明,采用该方法的可疑故障数比采用工具默认方法减少了40%~90%。 2.提出了一种基于物理位置的扫描链优化方法。该方法建立了扫描触发器的物理位置相关度模型,并在此基础上根据扫描触发器的物理位置优化扫描触发器至扫描链的分配,来降低扫描链结构对布线拥塞的影响。该方法在ITC99基准电路上的实验结果表明,采用该方法在故障诊断的质量上损失了约15%的提升空间,但采用该方法的布线拥塞平均降低了82.11%。 3.提出了一种基于扫描链全局结构的扫描链优化方法。该方法根据不同扫描触发器在扫描链故障诊断中的不同作用,从扫描链全局结构中提取出对故障诊断具有关键作用的关键扫描触发器,并通过提升这些关键扫描触发器的可观测性,来进一步提升扫描链固有的可诊断性。该方法在ITC99基准电路上的实验结果表明,采用该方法的单故障诊断的可疑故障数平均又减少了9.45%,多故障诊断的可疑故障数平均又减少了约30%。 4.根据本文所提扫描触发器相关度模型实现了一套完整的自动化的扫描链优化系统。该系统从工程实践的角度出发,通过脚本程序的形式实现了本文所提的扫描链优化方法,并结合至商用EDA工具现有的扫描链构建流程中,自动完成扫描链的优化和构建。该系统很好地解决了现有大多数扫描链诊断技术通用性差、不易推广应用的问题。