跟着超大规模集成电路技能的开展,现代电子体系中印刷电路板越来越杂乱,多层板的规划也越来越遍及。因为很多运用各种表贴元件和BGA封装元件,使得元器材的管脚密度不断进步,选用万用表、示波器测验芯片的传统“探针”办法现已不能满足要求。根据此,联合测验举动组JTAG(Joint Test Action Group)于1988年提出了榜首个鸿沟扫描机制的规范,即JTAG规范[1]。鸿沟扫描技能是应用于数字集成电路器材的测验性结构规划办法。所谓“鸿沟”是指测验电路被设置在IC器材逻辑功用电路的四周,坐落接近器材输入、输出引脚的鸿沟处。所谓“扫描”是指衔接器材各输入、输出引脚的测验电路实际上是一种串行移位寄存器,这种移位寄存器叫做“扫描途径”,沿着这条途径可输入由“0”和“1”组成的各种编码,对电路进行“扫描”式检测,然后定位毛病芯片,并对芯片进行替换。但是,人们对详细电路测验向量的生成首要是依托软件完成,但当面对大规模杂乱问题时,根据软件的测验向量生成办法往往在速度上遭到实质是串行的核算机体系的限制,导致运算速度较慢。本文规划了一种根据FPGA的鸿沟扫描测验向量发生器,因为FPGA并行运转的特性,进步了测验向量发生的速度和功率。
1 数据域测验理论与算法
数据域测验是对数字电路或体系进行毛病侦办、定位和确诊[2]。数据域测验是进步数字体系可靠性的重要途径,对今世集成电路工业具有无足轻重的效果。
1.1 固定型毛病模型
固定型毛病模型是指电路或体系中某一信号线在体系运转过程中总是固定在某一逻辑值上[3]。假如该线固定在逻辑高电平上,则称之为固定1毛病,简记为s-a-1;假如该线固定在逻辑低电平上,则称之为固定0毛病,简记为s-a-0。
1.2 布尔差分算法
布尔差分法是用数学办法来研讨毛病的传达,然后求得毛病的测验集[4]。为了叙说便利,本文关于布尔函数f(X)=f(x1,x2,…,xn)界说如下:
f(xi)=f(x1,x2,…,xi,…,xn)
LFSR的逻辑功用完全由其反应函数决议,图1中所示的LFSR的行为完全由反应系数Ci决议,由反应系数Ci在二元域上界说的多项式:
称为该线性反应移位寄存器的特征多项式。以n次来源多项式为特征多项式的LFSR可发生周期为2n-1的伪随机序列。
3.2 毛病运算机模块
本文以ISCAS`85基准电路的C17电路为例来规划毛病运算机模块。C17电路的单固定毛病数目为34。将毛病注入操控字M和Fv的宽度设置为9位,标明每个周期能够履行8个毛病的核算,每5个时钟周期,测验向量坚持不变,毛病运算机模块顺次注入悉数毛病。毛病注入操控字的数据如图2所示。表中暗影部分榜首、二周期以及第三个周期中M[16]、Fv[16]标明注入固定1型毛病,其余部分标明注入固定0型毛病。
3.3 成果处理模块
3.3.1 成果处理榜首级模块
因为本体系是并行运转的,若有多个输出则可能对同一个毛病重复调查。因而,本体系要完成毛病覆盖率的核算。成果处理榜首级模块就要消除对毛病的重复核算。
3.3.2 成果处理第二级模块
成果处理第二级模块是扫除一个测验向量集对同一个毛病在输出端重复调查的影响,第二级模块以榜首级模块输出作为输入,能够求得毛病覆盖率,并告诉鸿沟扫描测验体系收集测验向量。
3.4 操控模块
操控模块首要和谐各个模块的作业时序,使各功用模块能够在操控信号下有序作业。clk2是伪随机测验向量发生模块的时钟频率,clk2的时钟周期是体系时钟周期的k倍。设电路中的毛病总数为M,每个时钟周期能够模仿的毛病数目为N,,其间int为取整。
3.5 体系结构原理图
运用Quartusii软件树立体系结构原理图如图3所示。该体系经过并行毛病模仿算法生成测验向量,可告诉鸿沟扫描毛病确诊体系对测验向量进行收集并存入存储器中,并能够求出测验向量集的毛病覆盖率。
4 体系完成以及成果剖析
4.1 资源占用
本体系选用Altera公司的Cyclone II系列EP2C5-AF256A7芯片进行验证与完成。体系资源占用陈述如图4所示。从陈述中能够看出,硬件完成的测验向量发生器占用了较少的硬件资源,该芯片有满足的硬件资源供体系进行优化和完善。
4.2 成果剖析
本文选用Quartusii 9.0软件以及Modelsim软件对各个功用模块及体系进行仿真,剖析成果标明了规划的正确性。体系的仿真成果如图5所示,从波形中可知,所得测验向量集的毛病覆盖率到达了90%以上。实践标明,若单固定型毛病覆盖率到达90%以上就能够完成对被测体系的大部分毛病进行检测。从仿真成果中可知本规划完成了希望的功用。
本文选用Altera公司的FPGA器材,规划了一种根据FPGA的、为鸿沟扫描毛病确诊体系供给测验向量的测验向量发生器。与以往的经过软件生成测验向量的办法比较,尽管耗费了必定的硬件资源,但在速度和功率上得到了进步。因为本文生成测验向量的办法处于实验阶段,还有待优化与完善。