集成电路内建自测试所需测试向量的生成电路及方法

文档序号:6236951阅读:250来源:国知局
集成电路内建自测试所需测试向量的生成电路及方法
【专利摘要】本发明涉及一种集成电路内建自测试所需测试向量的生成电路,包括地址计数器发送地址数据序列;序列计数器发送数据序列;种子及多项式系数存储单元与地址计数器连接,发送压缩的难测、易测向量的输出值;序列发生器分别与序列计数器和种子及多项式系数存储单元连接,输出2比特数据;权重产生逻辑单元用于输出4路数据值;四选一数据选择器分别连接权重产生逻辑单元、序列发生器输出一路数据;输入寄存器与四选一数据选择器连接,用于寄存数据并装载更新数据;扫描链分别与输入寄存器以及被测电路组合逻辑单元连接,输出更新变化的数据;被测电路与扫描链连接,用于检测被测电路故障。本发明还提供一种集成电路内建自测试所需测试向量生成方法。
【专利说明】集成电路内建自测试所需测试向量的生成电路及方法

【技术领域】
[0001] 本发明涉及集成电路领域,尤其涉及集成电路内建自测试的确定性测试向量压缩 及解压缩技术,以及伪随机测试中的测试向量产生技术。

【背景技术】
[0002] 集成电路要在它生命周期的几个不同时间进行测试和诊断。测试和诊断必须速度 快而且有很高的故障覆盖率。内建自测试技术(Build-In Self-TeSt,BIST)通过在集成电 路内部增加少量的逻辑电路实现对集成电路的自测试,能降低测试成本和以电路频率进行 测试,因此在工业界广泛使用。日本专利No. 2007-240390A中公开了一种内建自测试的示 例。该内建自测试电路通过线性反馈移位寄存器(LFSR)产生测试向量,通过多输入特征分 析器(MISR)对被测电路的测试响应进行压缩,通过内置的比较器来判断最终的测试结果 为"通过"或"不合格"。
[0003] 图1为传统内建自测试的方框图。参照图1,内建自测试电路包括测试激励,被测 电路和测试响应。其中,测试激励由线性反馈移位寄存器10和移相器20组成;被测电路由 扫描链30和被测电路组合逻辑部分40组成;测试响应由响应压缩器及与之相连的多输入 特征分析器组成。该电路的测试激励,通过线性反馈移位寄存器10伪随机产生,然后由移 相器降低产生的数据之间的相关性。
[0004] 伪随机产生测试向量存在的问题是故障覆盖率不高,难以达到电路设计指标要求 的故障覆盖率。同时,用伪随机的方法产生测试向量,线性反馈移位寄存器10在产生被测 电路所需的测试向量的过程中,不可避免地产生很多对被测电路无用的数据序列。产生大 量这些无用的数据序列,占用了大量的测试时间。
[0005] 确定性BIST,通常先采用线性反馈移位寄存器10产生伪随机测试向量,侦测大多 数的易测故障。然后对剩下的少量难测故障,用自动测试向量生成器(ATPG)产生确定性测 试向量,并压缩存储在BIST电路的ROM中。测试过程与设计过程互逆。首先,进行确定性测 试向量测试。然后,用LFSR伪随机产生测试向量对电路剩下的故障进行测试。确定性BIST 测试的故障覆盖率能够达到电路制造并投入市场的要求,但是在伪随机测试产生阶段,存 在测试时间长的问题。同时,由于确定性BIST测试针对每个难测故障采用ATPG生成相应 的难测向量,所以需要存储的难测向量所占用的存储单元多,使得集成电路内建自测试电 路的面积开销增大,集成电路量产成本增大。集成电路规模越大,晶体管数目越多,表现在 门级的固定故障的数目就越多,相应的难测向量的数目也会随之增大。每个难测向量都需 预先存储在内建自测试电路的存储单元,但是集成电路中存储单元增长的速度远远慢于晶 体管增长的速度,于是迫切需要寻找减少存储单元使用面积的方法。目前常采用压缩存储 的方法以减少对存储单元的需求。


【发明内容】

[0006] (一)本发明要解决的问题:
[0007] 为了解决现有技术无用的数据序列占用了大量的测试时间的问题,同时为了解决 现有技术中确定性测试向量占用了大量的存储单元的问题,本发明的目的是提供一种集成 电路内建自测试所需测试向量的生成方法及电路。
[0008] (二)本发明的技术方案:
[0009] 本发明的第一方面提供一种集成电路内建自测试所需测试向量的生成电路,包括 地址计数器、序列计数器、种子及多项式系数存储单元、序列发生器、权重产生逻辑单元、四 选一数据选择器、输入寄存器、扫描链,其中:
[0010] 地址计数器,用于发送地址数据序列;
[0011] 序列计数器,用于发送数据序列;
[0012] 种子及多项式系数存储单元与地址计数器连接,根据地址值发送预先存储压缩的 难测向量、易测向量的输出值;
[0013] 序列发生器分别与序列计数器和种子及多项式系数存储单元连接,接收难测向量 和易测向量的输出值并在每个时钟周期生成输出2比特数据;
[0014] 权重产生逻辑单元,用于在每个时钟周期同时输出4路数据值;
[0015] 四选一数据选择器分别连接权重产生逻辑单元、序列发生器,利用2比特数据来 选择并输出4路数据值中的一路数据;
[0016] 输入寄存器与四选一数据选择器连接,用于寄存0或1的数据组合,并经过η个时 钟周期装载更新数据,η的值的大小等于被测电路输入个数;
[0017] 扫描链分别与输入寄存器以及被测电路组合逻辑单元连接,用于在每个时钟周期 以串行或并行的方式接收更新数据和组合逻辑响应数据并输出更新变化的数据;
[0018] 被测电路与扫描链连接,接收更新变化的数据值产生测试响应,当有效的所有测 试响应与预期设定的被测电路测试响应相符,则表明被测电路没有故障。
[0019] 本发明的第二方面提供一种集成电路内建自测试所需测试向量的生成电路,包括 序列发生器、权重产生逻辑单元、四选一数据选择器、输入寄存器以及扫描链,其中:
[0020] 序列发生器,用于发送多路2比特数据;
[0021] 权重产生逻辑单元,用于在每个时钟周期同时输出4路数据值;
[0022] 多个四选一数据选择器分别与序列发生器、权重产生逻辑单元连接,利用2比特 数据选择并输出4路数据值中的一路数据值;
[0023] 输入寄存器与多个四选一数据选择器连接,用于寄存0或1数据,并经过1个时钟 周期后装载更新的数据;
[0024] 多个扫描链分别与输入寄存器、被测电路组合逻辑单元连接,用于在每个时钟周 期以串行或并行的方式接收输入寄存器中的更新数据和组合逻辑响应数据并输出更新变 化的数据;
[0025] 被测电路与扫描链连接,利用更新数据的变化得到测试响应,当有效的所有测试 响应与预期设定的被测电路测试响应相符,则表明被测电路无故障。
[0026] 本发明的第三方面提供一种集成电路内建自测试所需测试向量生成方法,包括步 骤如下:
[0027] 步骤S1 :开始预处理,由计算机对集成电路的难测向量和易测向量分别经过分类 加权、二维权重映射集变换为一维权重映射集、比特流压缩及解线性方程组计算,得到被测 电路原始测试向量的压缩数据;
[0028] 步骤S2 :将被测电路原始测试向量的压缩数据存储于种子及多项式系数存储单 元中;
[0029] 步骤S3 :序列发生器将被测电路原始测试向量的压缩数据经过线性反馈移位,产 生新的权重选择数据;在每个时钟周期后输出一组新的2比特数据;
[0030] 步骤S4 :四选一数据选择器根据一组新的2比特数据控制值,选择并输出权重产 生逻辑4路中的一路输出值;
[0031] 步骤S5 :将权重产生逻辑4路中的一路输出值串行或并行地装载进输入寄存器; 在串行的装载方式下,经过η个时钟周期后,η比特的输入寄存器中即有一组η比特的数据 值,这η比特的数据值即是一个测试向量,其中η的值的大小等于被测电路输入个数;在并 行的装载方式下,经过一个时钟周期后,η比特的输入寄存器中即有一组η比特的数据值, 这η比特的数据值即是一个测试向量;
[0032] 步骤S6 :被测电路的扫描链与每个测试向量交互,生成并输出实际的测试响应; 将被测电路实际的测试响应与被测电路预期的测试响应相比较,如果比较结果相同则被测 电路无故障,则转步骤S7,如果比较结果不相同则被测电路有故障,则转步骤S9 ;
[0033] 步骤S7 :判断序列计数器中的计数值是否与序列计数器中预定的计数值相同,若 序列计数器中的计数值与序列计数器中预定的计数值不同,则返回步骤S3继续执行;若序 列计数器中的计数值与序列计数器中预定的计数值相同,则将比特流压缩、解线性方程组 的压缩数据的解压缩完毕,转入步骤S8 ;
[0034] 步骤S8 :判断地址计数器中的计数值是否与地址计数器中预定的计数值相同,若 地址计数器中的计数值与地址计数器中预定的计数值不同,则返回步骤S2继续执行;若地 址计数器中的计数值与地址计数器中预定的计数值相同,则将被测电路原始测试向量解压 缩完毕,也即被测电路的所有测试向量产生完毕;
[0035] 步骤S9:结束。
[0036] (三)本发明的有益效果:
[0037] 本发明能产生集成电路自测试时所需的易测向量和难测向量,其以更短的测试时 间、更省的存储空间,达到理想的故障覆盖率。本发明实施例由于采用了分类加权的测试产 生技术,产生易测向量的所有子类测试向量的概率增大,产生有效的易测向量的概率增大, 也即线性反馈移位寄存器产生的无效的易测向量的个数减少,使得易测向量的测试时间缩 短,降低了时间成本。本发明实施例由于对难测向量采用分类加权、比特流压缩、解线性方 程组压缩,使得原来总共y比特的难测向量集,只需存储Ζ比特的数据到种子及多项式存储 单元,即可由集成电路内建自测试测试向量生成电路完全解压出来。Z的值大小远远小于 y。需要存储在内建自测试电路ROM中的存储单元减少,节省了内建自测试电路的硬件开 销,降低了集成电路制造的成本。

【专利附图】

【附图说明】
[0038] 图1为现有技术中集成电路内建自测试的测试电路结构图;
[0039] 图2为本发明的集成电路内建自测试所需测试向量生成电路的结构示意图;
[0040] 图3为本发明另一种集成电路内建自测试所需测试向量生成电路的结构示意图;
[0041] 图4为本发明实施例中序列发生器的电路示意图;
[0042] 图5为本发明实施例中加权逻辑的电路示意图;
[0043] 图6集成电路内建自测试所需测试向量的生成方法的流程图;
[0044] 图7为本发明实施例中比特流压缩解线性方程组的流程图;
[0045] 图8为图7中分类加权算法的流程图;

【具体实施方式】
[0046] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明进一步详细说明。
[0047] 如图2示出本发明第一种集成电路内建自测试所需测试向量的生成电路100的结 构框图,参照图2示出本发明所述的装置的实施例是采用混合模式内建自测试测试向量产 生电路100的方框图,所述混合模式是既有随机测试产生,也有确定性测试产生,也即本发 明的2个测试阶段。参照图2,内建自测试测试向量产生电路100包括地址计数器110、序 列计数器120、种子及多项式系数存储单元130、序列发生器140、权重产生逻辑单元150、四 选一数据选择器160、输入寄存器170、扫描链180。
[0048] 地址计数器110,用于发送地址数据序列;
[0049] 序列计数器120,用于发送数据序列号;
[0050] 种子及多项式系数存储单元130与地址计数器110连接,根据地址值发送预先存 储压缩的难测向量、预先存储的被测电路的易测向量的输出值;
[0051] 序列发生器140分别与序列计数器120和种子及多项式系数存储单元130连接, 接收难测向量和易测向量的输出值并在每个时钟周期生成输出2比特数据;
[0052] 权重产生逻辑单元150,用于在每个时钟周期同时输出4路数据值;这4路都是0、 1数据,这4路数据值可能的组合为{0001,0011,0101,0111};
[0053] 四选一数据选择器160分别连接权重产生逻辑单元150、序列发生器140,利用2 比特数据来选择并输出4路数据值中的一路数据;
[0054] 输入寄存器170与四选一数据选择器160连接,用于寄存0或1数据,并经过η个 时钟周期装载更新数据,η的值的大小等于被测电路输入个数;
[0055] 扫描链180分别与输入寄存器170以及被测电路组合逻辑单元190连接,用于在 每个时钟周期以串行或并行的方式接收更新数据和组合逻辑响应数据并输出更新变化的 数据;
[0056] 被测电路190与扫描链180连接,接收更新变化的数据值产生测试响应,当有效的 所有测试响应与预期设定的存储在被测电路ROM中的测试响应相符,则表明被测电路无故 障;当存在有效的测试响应与预期设定的测试响应不相符,则表明被测电路有故障。
[0057] 序列发生器140包括两个移位寄存器组,始终由两个移位寄存器组各自的最后一 个寄存器产生输出四选一数据选择器的2比特控制位。
[0058] 序列发生器140的一个具体实施电路图如图4所示。主要由异或门、反馈连接和 寄存器组成。
[0059] 内建自测试测试向量产生电路100通过扫描链180对被测电路190的组合逻辑进 行测试时,分成两个阶段进行。第一阶段,进行确定性测试。预先在工作站或个人电脑中, 用自动测试向量产生器(ATPG)产生被测电路的难测向量。通过对难测向量进行分类加权、 比特流压缩以及解线性方程组,得到压缩后的难测向量集合。将这些经过压缩的难测向量 预先存储在种子及多项式系数存储单元130中。测试时,地址计数器110取出种子及多项 式系数存储单元130中的数据序列,并行装载到序列发生器140中。序列发生器140在每 个时钟周期同时输出2比特数据到四选一数据选择器160。权重产生逻辑单元150在每个 时钟周期同时输出4路值。四选一数据选择器160根据序列发生器140输出的2比特数据 来选择输出权重产生逻辑4路输出值中的一路。经过η个时钟周期,四选一数据选择器160 的输出将输入寄存器170装载了新的值,时钟周期数等于被测电路输入个数。扫描链180 在每个时钟周期可以串行或并行地接收来自输入寄存器170的输出值。扫描链180中的值 在变化,被测电路190会有测试响应。若有效的所有测试响应与预期的测试响应相符,则表 明ATPG所产生被测电路的难测向量所能测试的故障没有发生。
[0060] 难测向量所能测试的故障没有发生,则可以继续进行第二阶段的伪随机加权测 试。若难测向量所能测试的故障被检测出来,则表明电路有故障,不能进入市场。预先在工 作站或个人电脑中,用ATPG伪随机产生被测电路的测试向量。这些测试向量即被测电路的 易测向量。通过对易测向量进行合理分类,得到预先存储在种子及多项式系数存储单元130 中的数据集合。测试时,地址计数器110取出种子及多项式系数存储单元130中的数据序 列,并行装载到序列发生器140中。序列发生器140在每个时钟周期同时输出2比特数据 到四选一数据选择器160。权重产生逻辑单元150在每个时钟周期同时输出4路值。四选 一数据选择器160根据序列发生器140输出的2比特数据来选择输出权重产生逻辑4路输 出值中的一路。经过η个时钟周期,四选一数据选择器160的输出将输入寄存器170装载 了新的值,时钟周期数等于被测电路输入个数。扫描链180在每个时钟周期可以串行或并 行地接收来自输入寄存器170的输出值。扫描链180中的值在变化,被测电路190会有测 试响应。若有效的所有测试响应与预期的测试响应相符,则表明ATPG所产生被测电路的有 效易测向量所能测试的故障没有发生。
[0061] 在测试的第一阶段即难测向量测试阶段,经过权重产生逻辑单元150的加权,四 选一数据选择器160会输出一些原本预定在第二阶段即易测向量测试阶段产生的有效易 测向量。所以第二阶段,这些已经产生过的有效易测向量,不用再输入给被测电路190进行 测试。实际上,在电脑上通过编写程序对测试数据进行压缩预处理时,会进行相应的处理, 也即对易测测试向量进行压缩时,摘除掉这些已经产生过的有效易测向量。
[0062] 在测试的第二阶段,若给测试向量分的类别数过多,则需要的测试时间会很短,但 需要的种子及多项式系数存储单元130占用过多的集成电路面积开销。因此,需要根据具 体的电路,在缩短测试时间和减小集成电路面积开销这两个需要优化的目标之间进行折中 处理。所述折中处理是给出一个评价函数h(m) =a*T(m)+b*area(m)。其中,m为分类后的 类别数。a和b为影响因子,计算时针对具体的被测电路以及能接受的测试时间范围给出估 算值,T(m)为测试时间,area(m)为针对被测电路自测试而增加的面积开销。T(m)时间越 长,测试成本越高,集成电路投入市场日期也会越晚。area (m)越大,集成电路量产成本越 高。a和b的值的和等于1,且a e [0, 1], b e [0, 1]。m的值增大时,T(m)的值会减小,但 是area(m)的值会增大。所以折中处理的做法就是调整m的大小,找出一个min(h(m)),使 得h(m)的值最小。
[0063] 图3为本发明提供的第二种集成电路内建自测试所需测试向量生成电路200,本 发明示范的实施例采用混合模式内建自测试电路200的方框图。其与内建自测试电路100 的区别是,采用并行的方式装置扫描链,进一步缩短测试时间。但是进一步增加了集成电路 面积开销。因此,也需要根据具体的电路和要求,在缩短测试时间和减小集成电路面积开销 这两个目标之间,选择合适的策略。
[0064] 第二种内建自测试测试向量产生装置200包括序列发生器210、权重产生逻辑单 元230、四选一数据选择器220、输入寄存器240以及扫描链250,其中:
[0065] 序列发生器210,用于发送多路2比特数据;其由移位寄存器组211和212组成。 移位寄存器组211的最后一个寄存器的输出与移位寄存器组212的第一个寄存器的输入相 连;
[0066] 权重产生逻辑单元230,用于在每个时钟周期同时输出4路数据值;
[0067] 多个四选一数据选择器220分别与序列发生器210、权重产生逻辑单元230连接, 利用2比特数据选择并输出4路数据值中的一路数据值;
[0068] 输入寄存器240与多个四选一数据选择器220连接,用于寄存0或1数据,并经过 1个时钟周期后装载更新的数据;
[0069] 多个扫描链250分别与输入寄存器240、被测电路组合逻辑单元260连接,用于在 每个时钟周期以串行或并行的方式接收输入寄存器240中的更新数据和组合逻辑响应数 据并输出更新变化的数据;
[0070] 被测电路260与扫描链250连接,利用更新数据的变化得到测试响应,当有效的 所有测试响应与预期设定的存储在被测电路ROM中的测试响应相符,则表明被测电路无故 障;当存在有效的测试响应与预期设定的测试响应不相符,则表明被测电路有故障。其中:
[0071] 序列发生器210包括移位寄存器组211和移位寄存器组212,其中:
[0072] 由移位寄存器组211和移位寄存器组212的最后一个寄存器产生输出第一个四选 一数据选择器220的2比特控制位;
[0073] 由移位寄存器组211和移位寄存器组212的右起第二个寄存器产生输出第二个四 选一数据选择器220的2比特控制位;
[0074] 由移位寄存器组211和移位寄存器组212的左起第一个寄存器产生输出左起第一 个四选一数据选择器220的2比特控制位。
[0075] 序列发生器210中的寄存器个数是被测电路260的电路输入个数的2倍。四选一 数据选择器220的个数是序列发生器210中的寄存器个数的一半。权重产生逻辑单元230 输出4路数据,这4路数据具有如下特性:在大样本统计的情况下,为1的概率分别为:0、 1、0.25、0. 75。这4路数据同时输出给所有的四选一数据选择器220。内建自测试电路200 中的右边第一个四选一数据选择器220的2比特控制位分别由序列发生器210中的移位寄 存器组211和移位寄存器组212的最后一个寄存器输出产生。内建自测试电路200中的右 起第二个四选一数据选择器220的2比特控制位分别由序列发生器210中的移位寄存器组 211和移位寄存器组212的右起第二个寄存器输出产生。依次类推,内建自测试电路200中 的左起第一个四选一数据选择器220的2比特控制位分别由序列发生器210中的移位寄存 器组211和移位寄存器组212的左起第一个寄存器输出产生。
[0076] 四选一数据选择器220根据序列发生器210输出的2比特数据来选择输出权重产 生逻辑4个输出值中的一个。经过1个时钟周期,四选一数据选择器220的输出将输入寄 存器240装载了新的值。扫描链250在每个时钟周期可以串行或并行地接收来自输入寄存 器240的输出值。扫描链250中的值在变化,被测电路260会有测试响应。若有效的所有 测试响应与预期的测试响应相符,则表明ATPG所产生被测电路的测试向量所能测试的故 障没有发生。若故障覆盖率达到要求,则认为电路通过了测试。
[0077] 图4为图2中的序列发生器140和图3中的序列发生器210的内部结构的示意图。 序列发生器140包括:异或门141、反馈连接142以及寄存器143。其中:异或门141与反馈 连接142以及寄存器143相连,接收来自寄存器143的输出值,异或门141经过异或后,将 异或得到的值输出给寄存器143。
[0078] 序列发生器140由2倍电路输入个数的寄存器143组成,图4中以每组4个寄存 器作为示意,共2组寄存器组。2组寄存器共同组成线性反馈移位寄存器。线性反馈移位寄 存器,也即序列发生器140,由异或门141、反馈连接142以及寄存器143组成。对于k位的 序列发生器140生成的数据序列Xk,Xk = ......cKxK ;cK为序列发生器的反馈连接, xK为寄存器中的值,实施时选择k = 8位的序列发生器140,其所生成的数据序列X8可用 多项式来表不:
[0079] X8 = 00X0+0^^02X3+03X3+04X4+05X5+00X0+07X7+08X8,
[0080] 其中,j属于0-k中的任一值,Cj表示反馈系数有无构成反馈连接142, Cj = 0表 示不存在反馈接入,Cj = 1表示有反馈存在。其中,图4中的反馈连接142只是示意图,不 是电路中的真实器件;真实的反馈连接142可由晶体管或者与非门或者寄存器实现。
[0081] 设序列发生器140中寄存器的初始值为"11010010",反馈系数C = {c。,q,c2, c3, c4, c5, c6, c7, c8} = {1,0, 0, 0, 0, 1,0, 0, 1};则,根据数据序列的多项式 可知,下一个时钟周期的上升沿到来时,序列发生器140中各个寄存器输出的值为 "01101001",再下一个时钟周期的上升沿到来时,序列发生器140中各个寄存器输出的值 为"10110100",接着几个时钟周期的上升沿到来时,序列发生器140中各个寄存器输出的 值为 "11011010","01101101","00110110","10011011",依此类推。
[0082] 根据上面的例子,序列发生器140中输出到内建自测试电路100中四选一数据选 择器160的2比特数据依次为:(0, 1),(1,0),(1,0),(0, 1),(1,0),(1,1),后面的数根据此 规则类推,每对数都是在不同的时钟周期产生的。序列发生器210中输出到内建自测试电 路200中四选一数据选择器220的2比特数据依次为:(0, 1),(1,0),(1,0),(0, 1),(1,0), (1,1)。后面的数根据此规则类推,每对数都是在同一个时钟周期内产生的。
[0083] 图5为内建自测试电路100中权重产生逻辑150的一个实施例,包括:异或门154、 寄存器组153、与门152、以及或门151,其中:异或门154的2个输入端与寄存器组153的 输出端相连,异或门154的输出端与寄存器组153的输入端相连;寄存器组153中的寄存器 依次首尾相连:前一个寄存器的输出端连接后一个寄存器的输入端。与门152接收2个寄 存器的输出,并将相与的结果输出给或门151。或门151和与门152以及寄存器组153中的 一个寄存器相连,输出值作为权重产生逻辑的一路输出值,且这一路输出值对应的权重值 为 0· 75。
[0084] 5个寄存器153与异或门154组成以本原多项式形式进行反馈连接的线性反馈移 位寄存器。根据本原多项式的性质可知,其中每个寄存器在经过一定数量的时钟周期后,所 产生的0和1的个数,经过统计,近似各占0和1的个数总和的一半,也即0和1近似随机 产生。所以与门152相连的2个寄存器的输出为1的概率都是50%,经过与门152相与后, 与门152输出为1的概率为0.25,与门152输出为0的概率为0.75。同理,或门151的输 出为1的概率是50% +25%= 0. 75 ;或门151的输出为0的概率是1-0. 75 = 0. 25。
[0085] 权重产生逻辑150产生的4路输出分别具有权重,依次为0、0. 25、0. 75以及1,表 示的是每路输出为1的概率。内建自测试电路200中权重产生逻辑230输出的值也依次具 有权重:〇、〇. 25、0. 75以及1。实际电路中必须避免0. 25和0. 75这两个权重对应的输出值 具有相关性。实际电路中〇权重的产生,可以通过将线直接连到地(GND)来实现;1权重的 产生,可以通过将线直接连到电(VCC)来实现。
[0086] 如图6集成电路内建自测试所需测试向量的生成方法的流程图,所需测试向量生 成步骤包括如下:
[0087] 步骤S1 :开始预处理,由计算机对集成电路的难测向量和易测向量分别经过分类 加权、二维权重映射集变换为一维权重映射集、比特流压缩及解线性方程组计算,得到被测 电路原始测试向量的压缩数据;
[0088] 步骤S2 :将被测电路原始测试向量的压缩数据存储于种子及多项式系数存储单 元中;
[0089] 从种子及多项式系数存储单元取出数据输出到序列发生器;种子及多项式系数存 储单元中存储的数据是:集成电路的难测向量和易测向量分别经过分类加权、二维权重映 射集变换为一维权重映射集、比特流压缩、解线性方程组计算后,生成被测电路原始测试向 量的压缩数据;其中,难测向量和易测向量的分类加权算法流程相同,但算法中的评价函数 不同;难测向量的分类加权算法的评价函数= η?ηφ?Χ^,C2, ......,Cm))。其中,Q表示 难测向量分类后的第i类向量集。tUCpCy……,Cm) =m,表示难测向量分类后的类别数。 m〈=难测向量的个数,i是向量集的序号,i = 1,2, 3,…m。;易测向量的分类加权算法的 评价函数4=!1^11(以(:1,(:2,……,C m))。其中,Q表示易测向量分类后的第i类向量集。 t (〇!,0;,,......,0=1^+1^+......tm,表示产生所有易测向量所需的总的时钟周期数。m表示 易测向量分类后的类别数,h表示产生第i类内的所有易测向量所需的总的时钟周期数。
[0090] 在PC机上编写C语言程序,实现分类加权、二维权重映射集变换为一维权重映射 集、比特流压缩、解线性方程组这4步计算,该系列程序的初始输入是被测电路的难测向量 和易测向量。该系列程序的最终输出是该被测电路的难测向量和易测向量的压缩数据。该 压缩数据存在种子及多项式系数存储单元。对所述一维权重映射集结合比特流压缩、解线 性方程组压缩这两种技术进一步压缩,使得种子及多项式系数存储单元中少量的数据,经 过序列发生器就能产生大量需要的权重映射集。
[0091] 步骤S3 :序列发生器将被测电路原始测试向量的压缩数据经过线性反馈移位,产 生新的权重选择数据;在每个时钟周期后输出一组新的2比特数据;
[0092] 步骤S4 :四选一数据选择器根据一组新的2比特数据控制值,选择并输出权重产 生逻辑4路中的一路输出值。
[0093] 步骤S5 :将权重产生逻辑4路中的一路输出值串行或并行地装载进输入寄存器;
[0094] 在串行的装载方式下,经过η个时钟周期后,η比特的输入寄存器中即有一组η比 特的数据值,这η比特的数据值即是一个测试向量,其中η的值的大小等于被测电路输入个 数;在并行的装载方式下,经过一个时钟周期后,η比特的输入寄存器中即有一组η比特的 数据值,这η比特的数据值即是一个测试向量。
[0095] 步骤S6 :测试向量输出到被测电路的扫描链中;被测电路的扫描链将与测试向量 进行交互,生成并输出实际的测试响应,将被测电路实际的测试响应与被测电路预期的测 试响应相比较,如果比较结果相同则被测电路无故障,则转步骤S7,如果比较结果不相同则 被测电路有故障,则转步骤S9 ;
[0096] 步骤S7 :判断序列计数器中的计数值是否与序列计数器中预定的计数值相同,若 序列计数器中的计数值与序列计数器中预定的计数值不同,则返回步骤S3继续执行;若序 列计数器中的计数值与序列计数器中预定的计数值相同,则将比特流压缩、解线性方程组 压缩向量对应的解压缩完毕,转入步骤S8 ;
[0097] 步骤S8 :判断地址计数器中的计数值是否与地址计数器中预定的计数值相同,若 地址计数器中的计数值与地址计数器中预定的计数值不同,则返回步骤S2继续执行。若地 址计数器中的计数值与地址计数器中预定的计数值相同,则将被测电路原始测试向量解压 缩完毕,也即被测电路的所有测试向量产生完毕;
[0098] 步骤S9:结束。
[0099] 采用分类加权算法是使用很少的种子向量,经过序列发生器、权重产生逻辑单元 和四选一数据选择器的加权后,产生出测试向量。
[0100] 比特流压缩后解方程组的算法流程图2000如图7所示。参照图7,先将二维权重 映射集变换成一维权重映射集(步骤2100),以便于进行比特流压缩以及后续的解线性方 程组压缩。上例中的2个权重映射集W1、W2可以表示如下:
[0101] W1 = {10111110111111111100000000000000011, 100000011111111111000000000 00001100};
[0102] W2 = {11001101101000000000000100011100111,110111011010000000000000000 00000000}·
[0103] 对上述两个一维权重映射集进行比特流压缩(步骤2200),压缩后的比特流为:
[0104] {10111110111111111100000000000000011100000011111111111000000000000011 00110110100000000000010001110011111011101101000000000000000000000000}将压缩后 的比特流转化成方程组(步骤2300),计算出方程组的解X为(步骤2400):
[0105] X = {0 00000011101010101 11 0101000110111 001011 10 10001111011001010000 11 0010101};
[0106] 比特流压缩转化成方程组的举例如下:
[0107] 假设有比特流压缩10010101111,电路输入个数为5,则转化为的方程组为:

【权利要求】
1. 一种集成电路内建自测试所需测试向量的生成电路,其特征在于,包括地址计数器、 序列计数器、种子及多项式系数存储单元、序列发生器、权重产生逻辑单元、四选一数据选 择器、输入寄存器、扫描链,其中: 地址计数器,用于发送地址数据序列; 序列计数器,用于发送数据序列; 种子及多项式系数存储单元与地址计数器连接,根据地址值发送预先存储压缩的难测 向量和易测向量的输出值; 序列发生器分别与序列计数器和种子及多项式系数存储单元连接,接收难测向量和易 测向量的输出值并在每个时钟周期生成输出2比特数据; 权重产生逻辑单元,用于在每个时钟周期同时输出4路数据值; 四选一数据选择器分别连接权重产生逻辑单元、序列发生器,利用2比特数据来选择 并输出4路数据值中的一路数据; 输入寄存器与四选一数据选择器连接,用于寄存〇或1的数据组合,并经过η个时钟周 期装载更新数据,η的值的大小等于被测电路输入个数; 扫描链分别与输入寄存器以及被测电路组合逻辑单元连接,用于在每个时钟周期以串 行或并行的方式接收更新数据和组合逻辑响应数据并输出更新变化的数据; 被测电路与扫描链连接,接收更新变化的数据值产生测试响应,当有效的所有测试响 应与预期设定的被测电路测试响应相符,则表明被测电路没有故障。
2. 如权利要求1所述集成电路内建自测试所需测试向量的生成电路,其特征在于,序 列发生器包括两个移位寄存器组,始终由两个移位寄存器组各自的最后一个寄存器产生输 出四选一数据选择器的2比特控制位。
3. -种集成电路内建自测试所需测试向量的生成电路,其特征在于,包括序列发生器、 权重产生逻辑单元、四选一数据选择器、输入寄存器以及扫描链,其中 : 序列发生器,用于发送多路2比特数据; 权重产生逻辑单元,用于在每个时钟周期同时输出4路数据值; 多个四选一数据选择器分别与序列发生器、权重产生逻辑单元连接,利用2比特数据 选择并输出4路数据值中的一路数据值; 输入寄存器与多个四选一数据选择器连接,用于寄存〇或1数据,并经过1个时钟周期 后装载更新的数据; 多个扫描链分别与输入寄存器、被测电路组合逻辑单元连接,用于在每个时钟周期以 串行或并行的方式接收输入寄存器中的更新数据和组合逻辑响应数据并输出更新变化的 数据; 被测电路与扫描链连接,利用更新数据的变化得到测试响应,当有效的所有测试响应 与预期设定的被测电路测试响应相符,则表明被测电路无故障。
4. 如权利要求3所述集成电路内建自测试所需测试向量的生成电路,其特征在于,序 列发生器包括两个移位寄存器组,其中: 由两个移位寄存器组各自的最后一个寄存器产生输出第一个四选一数据选择器的2 比特控制位; 由两个移位寄存器组各自的右起第二个寄存器产生输出第二个四选一数据选择器的2 比特控制位; 由两个移位寄存器组各自的左起第一个寄存器产生输出左起第一个四选一数据选择 器的2比特控制位。
5. -种集成电路内建自测试所需测试向量的生成方法,包括步骤如下: 步骤S1 :开始预处理,由计算机对集成电路的难测向量和易测向量分别经过分类加 权、二维权重映射集变换为一维权重映射集、比特流压缩及解线性方程组计算,得到被测电 路原始测试向量的压缩数据; 步骤S2 :将被测电路原始测试向量的压缩数据存储于种子及多项式系数存储单元中; 步骤S3 :序列发生器将被测电路原始测试向量的压缩数据经过线性反馈移位,产生新 的权重选择数据;在每个时钟周期后输出一组新的2比特数据; 步骤S4 :四选一数据选择器根据一组新的2比特数据控制值,选择并输出权重产生逻 辑4路中的一路输出值; 步骤S5 :将权重产生逻辑4路中的一路输出值串行或并行地装载进输入寄存器;在串 行的装载方式下,经过η个时钟周期后,η比特的输入寄存器中即有一组η比特的数据值,这 η比特的数据值即是一个测试向量,其中η的值的大小等于被测电路输入个数;在并行的装 载方式下,经过一个时钟周期后,η比特的输入寄存器中即有一组η比特的数据值,这η比 特的数据值即是一个测试向量; 步骤S6 :被测电路的扫描链与每个测试向量交互,生成并输出实际的测试响应;将被 测电路实际的测试响应与被测电路预期的测试响应相比较,如果比较结果相同则被测电路 无故障,则转步骤S7,如果比较结果不相同则被测电路有故障,则转步骤S9 ; 步骤S7 :判断序列计数器中的计数值是否与序列计数器中预定的计数值相同,若序列 计数器中的计数值与序列计数器中预定的计数值不同,则返回步骤S3继续执行;若序列计 数器中的计数值与序列计数器中预定的计数值相同,则将比特流压缩、解线性方程组的压 缩数据的解压缩完毕,转入步骤S8 ; 步骤S8 :判断地址计数器中的计数值是否与地址计数器中预定的计数值相同,若地址 计数器中的计数值与地址计数器中预定的计数值不同,则返回步骤S2继续执行;若地址计 数器中的计数值与地址计数器中预定的计数值相同,则将被测电路原始测试向量解压缩完 毕,也即被测电路的所有测试向量产生完毕; 步骤S9 :结束。
6. 如权利要求5所述集成电路内建自测试所需测试向量的生成方法,其特征在于,采 用分类加权算法是使用很少的种子向量,经过序列发生器、权重产生逻辑单元和四选一数 据选择器的加权后,产生出测试向量。
7. 如权利要求5所述集成电路内建自测试所需测试向量的生成方法,其特征在于,对 被测电路的测试向量采用分类加权算法进行压缩中的难测向量和易测向量的分类加权算 法流程相同,但分类加权算法中优化目标采用的评价函数不同; 所述难测向量的分类加权算法的评价函数= η?ηφ?Χ^,C2, ......, Cm)),其中,Q = Ci, C2, ......,cm表示难测向量分类后的第i类向量集;......,cm)=m,表示难测向 量分类后的类别数;m〈=难测向量的个数,i是向量集的序号,i = 1,2, 3, ···!]!; 所述易测向量的分类加权算法的评价函数= minUiX^,C2, ......, Cm)),Q = c2,......,cm表示易测向量分类后的第i类向量集;UCp C2, ............tm,表 示产生所有易测向量所需的总的时钟周期数;m表示易测向量分类后的类别数,\表示产 生第i类内的所有易测向量所需的总的时钟周期数。
8. 如权利要求5所述集成电路内建自测试所需测试向量的生成方法,其特征在于,将 所述二维权重映射集变换为一维权重映射集,以便于进行比特流压缩以及后续的解线性方 程组压缩。
9. 如权利要求5所述集成电路内建自测试所需测试向量的生成方法,其特征在于,对 所述一维权重映射集结合比特流压缩、解线性方程组压缩这两种技术进一步压缩,使得种 子及多项式存储单元中少量的数据,经过序列发生器就能产生大量需要的权重映射集。
【文档编号】G01R31/28GK104122497SQ201410392231
【公开日】2014年10月29日 申请日期:2014年8月11日 优先权日:2014年8月11日
【发明者】涂吉, 王子龙, 李立健 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1