当前位置: 首页 > 专利查询>河海大学专利>正文

板级时序电路测试矢量生成方法技术

技术编号:2632822 阅读:187 留言:0更新日期:2012-04-11 18:40
板级时序电路测试矢量生成方法是一种用于板级故障检测快速高效地生成测试矢量,从而检测出板级电路的故障的方法,首先根据自己建立的数学模型为时序电路建立一组描述方程,然后结合一个代价函数和布尔差分函数不断地迭代或求解方程组从而推倒出测试矢量,该方法是一种行之有效的板级时序电路测试矢量生成方法。它能为板级故障检测快速高效地生成测试矢量,从而检测出板级电路的故障。

【技术实现步骤摘要】

本专利技术是一种用于板级故障检测快速高效地生成测试矢量,从而检测出板级电路的故障的方法,属于电路测试的

技术介绍
随着计算机技术的发展,在数字系统的设计、生产和维护过程中,都需要进行各种测试。测试码的生成是测试的中心问题,而测试生成方法则是自动测试生成(ATPG)的关键。在数字系统的生产、维护过程中的板级故障测试,其主要目的是检查印刷线路和线路与元件之间的连接以及元器件的“好与坏”,这类测试有其自身的特点、要求和难点。对于组合电路总可以在有限的时间里面确定是否可测试,但对于时序电路里面的逻辑故障而言,由于存储单元和反馈线路的存在使得很容易出现反复的时帧迭代过程,因此对于时序电路不能保证在有限的时间里面确定一个故障是否可测,同时由于竞争冒险等问题存在,极易使本来有效的测试失效,基于这方面考虑,一般认为目前的时序电路的测试生成在理论上还没有完全的解决。目前国内外学者对时序电路的测试生成方法的研究已经做了很多的工作,已经研究出了多种测试矢量生成方法。时序电路的测试生成有这样的几种方法一、验证时序电路是否按状态表工作,即功能测试;二、把时序电路转换成一系列的组合电路,用组合电路的处理方法处理时序电路,然后用基于故障的确定性方法进行测试生成;三、可测试性设计。对于板级时序电路故障检测而言通常采用前两种方法进行。如果检测的只是一个模块那么通过功能检测就可以达到板级故障的目的(判断电路模块是否正常),但对于多模块级联的时序电路就必须定位到具体是哪个模块出问题,功能测试变的不那么实用了,此时可以采用第二种时序电路的测试生成方法。从20世纪80年代开始,基于路径敏化的多时段测试生成方法陆续问世,这类方法都是基于路径反向时间处理的方法,都是首先确定给定故障的电路输出,然后在时间上向后进行测试生成,始于原始输出,经过故障点,止于未初始化状态。各种STG方法和DVST方法都是基于D算法的多路径敏化方法。这些方法的优点是存储空间少,缺点是过于复杂和效率不高。许多故障测试生成方法都采用先前状态信息来增加效率和故障覆盖率,但至今还没有解决先前状态信息问题的好方法。而另一种方法,基于模拟器的测试生成方法,例如CONTEST(一种测试生成方法)方法,它是基于并行故障模拟的,这类方法的优点是对时序的个数没有什么限制,但用于测试生成的处理器的内存要足够的大,原因是这类方法实现时故障表中每一个故障对电路中每一个节点的效应都需要存储起来。如上述所示,目前的时序电路的测试生成方法主要存在算法复杂度太高效率低或是对处理器内存要求太高等缺点,比如FASTEST(一种测试生成方法),它是基于PODEM算法、九值逻辑、时间向前处理测试生成和状态初始化的。其中的PODEM的思路为对激活的故障向后追踪到原始输入,搜索所有可能的原始输入赋值,只要找到一个符合要求的即可作为测试图形。从PODEM算法思路中可以看出,它在构建一条从故障点到原始输出的敏化路径过程中由于对原始输入赋值的随机性,它需要寻找一种快速的穷举原始输入赋值的方法来找到测试图形,同时它也不能保证当前的选择是否便于FASTEST中状态初始化过程,FASTEST对电路的内部结构依赖性仍然很大。在板级时序电路的测试生成过程中,检测的目的是检测板级连线或元器件的好坏问题,针对这样的一个应用背景,目前的时序电路的测试生成方法由于不是存在复杂度高就是存在对处理器内存要求过高等问题,对一些要求做到实时测试生成的应用场合还有一定的困难。同时在板级时序电路的故障检测过程中,还要做到门级和模块级的统一处理,这也是目前这些方法做不到的。
技术实现思路
技术问题本专利技术的目的是针对数字系统的生产、维护过程中的板级故障自动测试生成而提供一种,它能为板级故障检测快速高效地生成测试矢量,从而检测出板级电路的故障。技术方案本方法针对板级时序电路的测试生成特点,首先根据自己建立的数学模型为时序电路建立一组描述方程,然后结合一个代价函数和布尔差分函数不断地迭代或求解方程组从而推倒出测试矢量,是一种行之有效的。本方法从宏观角度出发,充分利用电路的结构信息,将运算空间限制在电路的可到达的状态空间里面,这样相对于一般的方法就可以节省很多浪费在判决不可达状态上的时间,因此和一般算法相比减少了大量的计算量。故障的传播在这个过程中只是体现为函数表达式的搜索,与一般算法的故障敏化相比显得相对比较简单。在时序电路的测试矢量生成过程中,置初态一直是一个比较困难的问题,在本方法中采用给存储元件分配“置初态优先级”的方法来实现置初态目的。本方法从模块级着眼,将时序电路抽象为一组原始输入、一组原始输出、一组触发器和内部逻辑描述,电路的结构信息体现为逻辑描述,在解决模块级时序电路的模块及PI故障检测应用中能为其生成有效的测试矢量。本方法是一种用于板级时序电路的测试生成的方法,其实现步骤如下1)获取原始电路输入可以接受时序电路的网表描述方式或HDL硬件描述语言描述方式;2)判断时序电路描述是否是网表描述方式如果不是则将其转化为网表描述方式,否则直接跳转到步骤3);3)从故障列表文件中选择一个故障,进行故障注入;4)结合电路的网表描述和具体故障产生电路的方程描述模型。在生成方程组的过程中将整个时序电路抽象为如下模型在该模型中电路输入包括电路的原始输入(PI)、电路的故障点、触发器的输出端;电路的输出包括电路的原始输出(PO)、电路的故障点、触发器的除输出端以外的所有端口;逻辑描述模块指电路的内部结构信息的逻辑方程表示;5)根据电路的方程组描述搜索故障激活路径,选择最优路径,同时推出故障激活时触发器组和原始输入所要求的逻辑值组Ss;这里的推导主要是利用了布尔差分法,通常求出的是一组能够激活故障的逻辑值; 6)从逻辑值组Ss中选择最优的一个作为状态起点能否成功如果选择成功进入步骤7),否则进入步骤13);这里的选择是根据一个代价函数进行的,代价函数是一个关于元器件可控性参数等有关的函数;7)从Ss中删除当前已选择的一个初始状态目的是为下一次选择最优起点作准备;8)判断当前状态是否需要向前迭代。如果不需要则进入步骤14),否则进入步骤9)这里判断的方法是看目前的迭代序列是否已经可以获取测试矢量或是根据迭代情况已经可以判断出出现了循环迭代;9)判断当前状态能否向前迭代如果不能就进入步骤12),否则进入步骤10)判断的标准是它是否是一个合法的状态,是否是有前驱状态的状态;10)根据当前状态Sc求解前一个状态Sc-1求解完还必须对所有解进行驱动方程的验证处理;在求解的过程可能会得到多个解,必须选择一个最优的作为下一次迭代的起点;11)选择一个最优的解作为下一次迭代的起点同时回到步骤8);优劣选择根据一个优劣函数进行的,这个函数会选择出最有利于状态初始化那个状态,这个函数是一个关于可控性参数、触发器的初始化可控级的函数;12)选择下一个次优分支是否成功。如果成功跳转到步骤8),否则跳转到步骤6);13)报告测试生成失败进入结束状态;14)测试矢量生成成功,整理获取的测试矢量进入结束状态。本方法中最为关键的两个点就是方程组的求解和对解进行优劣选择的选择函数。下面举例说明组的求解过程(!为非运算符、&为与运算符、#为或运算符,运算优先级由高到底本文档来自技高网
...

【技术保护点】
一种板级时序电路测试矢量生成方法,其特征在于该方法为:1)获取原始电路输入:可以接受时序电路的网表描述方式和HDL硬件描述语言描述方式;2)判断时序电路描述是否是网表描述方式:如果不是则将其转化为网表描述方式,否则直接跳转到 步骤3);3)从故障列表文件中选择一个故障,进行故障注入;4)结合电路的网表描述和具体故障产生电路的方程描述模型:在生成方程组的过程中将整个时序电路抽象为如下模型;在该模型中电路输入包括:电路的原始输入PI、电路的故障点、触 发器的输出端;电路的输出包括:电路的原始输出PO、电路的故障点、触发器的除输出端以外的所有端口;逻辑描述模块指电路的内部结构信息的逻辑方程表示;5)根据电路的方程组描述搜索故障激活路径,选择最优路径,同时推出故障激活时触发器组和原始 输入所要求的逻辑值组S↓[s];这里的推导主要是利用了布尔差分法,通常求出的是一组能够激活故障的逻辑值;6)从逻辑值组S↓[s]中选择最优的一个作为状态起点能否成功:如果选择成功进入步骤7),否则进入步骤13);这里的选择是根据一个 代价函数进行的,代价函数是一个关于元器件可控性参数等有关的函数;7)从S↓[s]中删除当前已选择的一个初始状态:目的是为下一次选择最优起点作准备;8)判断当前状态是否需要向前迭代:如果不需要则进入步骤14),否则进入步骤9) ;这里判断的方法是看目前的迭代序列是否已经可以获取测试矢量或是根据迭代情况已经可以判断出出现了循环迭代;9)判断当前状态能否向前迭代:如果不能就进入步骤12),否则进入步骤10):判断的标准是它是否是一个合法的状态,是否是有前驱状态 的状态;10)根据当前状态S↓[c]求解前一个状态S↓[c-1]:求解完还必须对所有解进行驱动方程的验证处理;在求解的过程可能会得到多个解,必须选择一个最优的作为下一次迭代的起点;11)选择一个最优的解作为下一次迭代的起点, 同时回到步骤8);优劣选择根据一个优劣函数进行的,这个函数会选择出最有利于状态初始化那个状态,这个函数是一个关于可控性参数、触发器的初始化可控级的函数;12)选择下一个次优分支是否成功:如果成功跳转到步骤8),否则跳转到步骤6);   13)报告测试生成失败:进入结束状态;14)测试矢量生成成功,整理获取的测试矢量,进入结束状态。...

【技术特征摘要】

【专利技术属性】
技术研发人员:曹宁杨巨前胡居荣俞金龙
申请(专利权)人:河海大学
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1