版权归原作者所有,如有侵权,请联系我们

[科普中国]-测试码自动生成

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

测试码自动生成(automatic test pattern generation , ATPG)是指数字电路中,针对确定的故障模型和电路,可以建立该电路故障表,对于故障表中的每一故障,通过某种算法(如D算法,根据故障点所在路径推导测试向量(PODEM)算法等),逐一进行故障激励和检测以产生电路输入激励和输出响应,实现测试码自动生成。

简介测试码自动生成(automatic test pattern generation , ATPG)是指数字电路中,针对确定的故障模型和电路,可以建立该电路故障表,对于故障表中的每一故障,通过某种算法(如D算法,根据故障点所在路径推导测试向量(PODEM)算法等),逐一进行故障激励和检测以产生电路输入激励和输出响应,实现测试码自动生成。

自动生成的测试码,不一定具有高的测试故障覆盖率。通过故障模拟,可以检查测试故障覆盖率。现代CAD、CAT等工具,不但能进行故障模拟,而且能进行可测性设计,通过增加扫描通路或其他方法,提高测试故障覆盖率1。

边界扫描测试码生成算法首先要从BSDL (boundary -scan description language)文件中获取芯片的边界扫描寄存器单元的结构和分布信息, 然后从仿真波形文件中采样芯片引脚的状态值, 再根据边界扫描寄存器单元的属性和引脚的实际情况设置内部的和用于控制的边界扫描寄存器单元对应的状态值。这样, 全部边界扫描寄存器单元中除时钟引脚对应的单元外, 测试矢量中的对应位数据都已经确定。此时根据时钟引脚对应的边界扫描寄存器单元的结构来确定时钟信号的提供方法.其中, 当时钟输入引脚对应的边界扫描寄存器单元的结构为BC-1时, 根据边界扫描单元的对应顺序将每次引脚波形采样值和设置的内部状态值与控制值组合成串行测试矢量, 将一个测试矢量分为两个, 其中第一个矢量中时钟信号对应的值设置为“0” , 第二个设为“1”;而时钟引脚对应的边界扫描寄存器单元的结构为BC -4 时, 测试矢量中时钟信号对应的位可以随机设为“0”或“1” 。测试矢量的施加顺序与在仿真波形中的数据采样顺序保持相同2。

基于Frame结构的测试码自动生成测试代码自动生成的过程分为需求描述、语法分析、推理匹配、途径生成等几个阶段。

框架可以被定义为一组语义网络的节点和插槽,节点或插槽之间用链联结。这些节点和插槽可以描述固定格式的事物、行动和事件。框架通常由描述事物的各个方面的槽组成,每个槽又对应若干子插槽和值。而链可以表示语义网络中成员之间的关系或子类与父类间的继承关系。

在自然语言理解过程中,首先要对语法和语义进行分析。语法分析是对句子和短语的结构进行分析。通过状态转移图表示的语法分析过程可以如图就具体语法分析方法来说,模式匹配是最为直观的方法之一。在模式匹配中,一个句子可以用(pronoun∨(adj*noun))verb(pronoun∨(adj*noun)) 的模型来表达。模型对语法的分析过程可以用状态转移图来表示。使用模式匹配方法可以对测试需求进行语法分析。测试流程的一般化结构模型可描述为:测试需求=操作行为集合+信号对象集合+信号描述集合。

测试需求与系统资源的匹配:由于自动化测试系统的硬件资源所能支持的信号类型是有限的,因此对于测试程序集(testing program suite,TPS)所表达的抽象测试需求必须进行资源匹配,从而判定硬件是否有能力完成此测试流程。

代码自动生成:对测试需求完成语法分析后,应用推理机技术,可以得到操作仪器硬件的计算机语言代码。但在这个测试代码生成过程中,我们要求用户输入的需求只能是高度简化和抽象的语句表达式。而从语句表达到生成计算机语言代码,则通过推理机系统完成。

推理机系统利用了基于知识与问题的推理体系。该体系对问题的描述为

问题:>

其过程是:在指定域的约束下,对问题进行推理,经过途径生成,达到问题目标3。

本词条内容贡献者为:

杜强 - 高级工程师 - 中国科学院工程热物理研究所