一种兼容故障扫描测试实现A2木马检测的方法及装置与流程

文档序号:18601736发布日期:2019-09-03 22:43阅读:267来源:国知局
一种兼容故障扫描测试实现A2木马检测的方法及装置与流程

本发明涉及硬件木马检测技术领域,尤其涉及一种兼容故障扫描测试实现a2木马检测的方法。



背景技术:

在芯片的生产制造过程中,木马植入者可能会利用加工过程对芯片植入硬件木马,而硬件木马的植入会造成不可估量的后果,因此对芯片进行硬件木马检测十分必要。根据硬件木马触发电路的工作方式,可将硬件木马分为数字逻辑触发型与模拟电路触发型,其中a2类型触发是一种典型的模拟电路触发,以a2类型触发的木马,统称为a2木马。a2类型触发的触发电路如图1所示,其中m0可视为一个低电平开启的开关,m1可视为一个高电平开启的开关,m2可视为一个栅源短接的二极管,当漏源电压高于该二极管的导通电压时,便有漏极泄漏电流从其漏极流向源极,m3、m4都等效于一个电容,分别用cunit和cmain表示;在设计时将使cmain远远大于cunit,检测器用于监控cmain电容电压,当cmain电压高于检测器的检测阈值,触发输出信号将变成“1”,否则一直为“0”。

上述电容开关的等效原理如图2(a)所示,当触发输入信号为“0”时,m0开关开启,m1开关关断,电源vdd通过开关m0为cunit充电;当触发输入信号为“1”时,m0开关关断,m1开关开启,cunit电容上的电荷通过m1开关与cmain电容进行电荷共享,由于设计时cmain的容值远远大于cunit,所以电荷共享结束达到的平衡电压只相对于cmain的原始电压增加了很小一部分,触发输入信号每发生一次跳变,cunit与cmain便发生一次电荷共享,cmain的电压便增加一点,如图2(b)所示。当cmain电压增加到接近电源电压vdd(即为极限电压)时,电荷共享已不能再使cmain电压升高,因此cmain电压将维持在该极限电压。由于cmain电容存在电容漏流且m3存在漏极漏流,若触发输入信号长时间不发生跳变,则cmain的电压将会因电荷泄漏而逐渐降低;当cmain电压降低到低于检测器的阈值电压时,触发输出信号将变为“0”,其行为模型如图3所示,cmain从初始0电压上升到检测器阈值电压所需的时间即为触发时间,cmain从极限电压下降到检测器阈值电压所需的时间即为保持时间。

由上述可知,a2木马触发的条件既不是触发输入信号为“0”,也不是触发输入信号为“1”,而是触发输入信号在一定的时间长度内,其跳变的次数超过一定阈值,若没有跳变的状态持续一定时间,即使已经触发的木马也会自动变成未触发木马,因此,攻击者通常会尽可能地选择跳变频率低的信号作为a2木马的触发输入信号,来使得a2木马逃过流片后的故障测试与功能测试等。

当前针对a2木马的检测方法主要是如图4所示的在线监控检测法,该方法需要在设计时找出原始电路可能会被用作a2木马触发输入信号的可疑信号,然后在原始芯片中插入一个计时器、一个计数器、一个控制器,如果原始芯片中没有中断机制,还需插入支持中断机制的硬件;此外还需根据可疑信号在原始芯片中的应用场景,编写软件判别程序。其检测原理是:通过控制输入信号配置控制器,主要是配置计时器计时窗口的大小和计数器跳变阈值的大小;然后启动芯片进入正常功能模式,在正常工作的过程中,计数器持续监控可疑信号的跳变,若在配置的时间长度窗口中,可疑信号的跳变次数超过了配置的跳变阈值,则频跳确认信号将为“1”,从而触发中断机制;中断机制激活软件判别程序,查看当前芯片是否工作在软件已经定义的可信应用场景之中,若此时芯片并非工作在已被定义为可信的应用场景,则判别程序将给控制器发出报警信号,提示可能存在a2木马。

上述a2木马检测方法会存在以下问题:

1、原始芯片必须自带中断机制,否则需要额外设计中断机制。

2、若存在多个可疑信号需要监控,需要为每个可疑信号都设计一个专属的计时器与计数器,而一般原始芯片中存在多个可能被用作a2木马触发输入的可疑信号,需要设置大量的计时器与计数器,面积开销较大;

而若考虑采用共享计时的方法,即让n个可疑信号共用1个时间窗口,虽然可以节省n-1个计时器,但该n个信号只能设置一个时间窗口长度,又会降低检测灵活性,若每个可疑信号独占一个专有的计数器,如图5(a)所示,该类方式的面积开销依然较大;

若采用分时计数的方法,即采用插入多路选择器的方式,每个时间窗口只对选中的信号进行监控,虽然可以节省计数器的个数,但该类方式可能会导致多路选择器恰好并没有选择正在频繁跳变的可疑信号,漏掉未被选择的可疑信号的跳变,从而未能监控到a2木马的触发,如图5(b)所示。

3、对于每个可疑信号,在不同应用下其跳变的统计特性都不尽相同,因此难以设置合理的时间窗口长度和跳变次数阈值,若时间长度过短或跳变次数过小,正常应用可能会被频繁中断,而若时间长度过长或跳变次数过大,即使a2木马已经触发,也未能使频跳确认信号为“1”,而导致未能起到监控报警的作用。

4、需要能够十分熟悉芯片的应用场景,编写十分详尽的软件处理判别程序,如果有正常的应用并未包含在软件认定的可信范围内,可能发生误报的情况。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、面积开销小、检测效率高以及检测阶段早的兼容故障扫描测试实现a2木马检测的方法。

为解决上述技术问题,本发明提出的技术方案为:

一种兼容故障扫描测试实现a2木马检测的方法,步骤包括:

s1.在待测芯片的门级网表生成阶段插入多功能控制器以及复合型环形振荡器,所述复合型环形振荡器由链首控制单元以及多个用于显化木马的链内显化单元依次连成首尾相接的环形链状结构得到,由所述多功能控制器控制所述复合型环形振荡器的工作模式;

s2.对待测芯片执行故障测试时,配置所述多功能控制器,使各所述复合型环形振荡器的工作模式在扫描移位阶段时交替变化以增强可疑信号的跳变,或者使各所述复合型环形振荡器在响应捕获阶段的指定时长内处于振荡状态,使得在执行所述故障测试的过程中能够将a2木马检测出来。

作为本发明的进一步改进,所述步骤s1中插入复合型环形振荡器时,将各所述复合型环形振荡器链内显化单元的输入端与待测芯片中惰性单元连接,所述链内显化单元的输出端与所述惰性单元的后继逻辑连接;所述复合型环形振荡器具有正常功能模式、振荡模式以及少态置位模式,所述振荡模式时输出交替变化的振荡信号,所述少态置位模式时输出所连接的惰性单元的少态值。

作为本发明的进一步改进,所述扫描移位阶段包括用于控制各所述复合型环形振荡器一直处于所述正常功能模式的第一扫描模式、用于控制各所述复合型环形振荡器在所述正常功能模式与所述少态置位模式之间交替变化的第二扫描模式以及用于控制各所述复合型环形振荡器在所述振荡模式与所述少态置位模式之间交替变化的第三扫描模式;所述捕获相应阶段包括用于正常执行响应捕获的第一捕获模式,以及用于在正常执行响应捕获前还包括使各所述复合型环形振荡器处于振荡状态并维持一段时间的第二捕获模式,所述步骤s2中对待测芯片执行故障测试时,按照所述第一扫描模式与所述第二捕获模式组合、所述第二扫描模式与所述第二捕获模式组合、所述第三扫描模式与所述第二捕获模式组合、所述第二扫描模式与所述第一捕获模式组合、所述第三扫描模式与所述第一捕获模式组合中任意一种的组合模式执行对待测芯片的测试。

作为本发明的进一步改进,所述步骤s2前、步骤s1后,还包括测试向量生成s1a步骤,步骤包括:查找待测芯片插入所述复合型环形振荡器后得到的改进门级网表中所有链内显化单元与所述惰性单元的后继逻辑之间的信号连接线,覆盖所述信号连接线及所述信号连接线的扇出路径生成具有检测a2木马功能的固定故障测试向量,得到a2兼容检测向量,使用所述a2兼容检测向量进行固定故障模拟并更新原始故障列表,对剩余的固定故障列表生成固定故障测试向量,得到剩余固定故障测试向量;所述步骤s2中对待测芯片执行故障测试时,分别施加所述a2兼容检测向量、所述剩余固定故障测试向量执行测试。

作为本发明的进一步改进,所述a2兼容检测向量的生成步骤具体包括:

s1a1.从所述改进门级网表中找出所有k个所述链内显化单元的ori_f端口的直接连线,得到集合n={{t0,t1,…,tk-1}},其中ori_f端口为与所述惰性单元的后继逻辑的连接端口,ti为第i条连线;

s1a2.从所述改进门级网表中找出每一个ti扇出路径所包含的线网pi={s0,s1,…,sn-1},其中si为第i条信号线;

s1a3.对测试向量生成模块添加使ti处于不受惰性单元输出信号支配的约束条件,若成功则转入执行步骤s1a4,否则令i=i+1并重新执行步骤s1a3,直至遍历完n集合中所有k个连线后退出;

s1a4.按由前到后的顺序从pi线网中选取信号线sj,添加敏化sj的约束条件并且产生对应的测试向量,若成功得到一个所述a2兼容检测向量,转入执行步骤s1a5,否则令j=j+1并重新执行步骤s1a4;

s1a5.检测所述步骤s1a4中当前产生的测试向量是否全部敏化了pi,若全部敏化,则令i=i+1并返回执行步骤s1a2,否则令j=pi中未被敏化的且最靠近所述ori_f端口的线网所属的序号并重新执行步骤s1a4。

作为本发明的进一步改进,所述步骤s2中对待测芯片执行故障测试的具体步骤包括:

s21.配置阶段时,配置所述多功能控制器为第一模式并维持一个时钟周期,使得在该时钟周期内多功能控制器输出的所有振荡使能信号为有效,以控制将所有复合型环形振荡器同时从正常功能模式变为为所述振荡模式,所述;

s22.预热阶段时,配置所述多功能控制器的第二模式并持续指定时长,使得在该时长内控制所有复合型环形振荡器保持为所述振荡模式,以使被测芯片中的可疑信号及所述可疑信号驱动的功能逻辑发生振荡跳变;

s23.检测阶段时,采用任意一种所述组合模式执行对待测芯片的测试并施加所述a2兼容检测向量,以及采用任意一种所述组合模式执行对待测芯片的测试并施加所述剩余固定故障测试向量。

作为本发明的进一步改进,所述步骤s2中,对待测芯片执行故障测试后,若得到的捕获响应与对应测试向量的预期响应不同,则判定待测芯片存在固定故障或a2木马的异常,对存在异常的芯片再重新施加导致发生异常的测试向量,若发生同样的错误,则判定是存在固定故障,否则判定存在a2木马,实现a2木马的检测。

作为本发明的进一步改进,所述步骤s2中执行测试时,测试时钟周期满足:

其中,t1为待测芯片插入所述复合型环形振荡器后得到的改进门级网表中最大的寄存器到寄存器延时,t3为故障扫描测试时的最小时钟周期。

作为本发明的进一步改进,所述步骤s1中具体配置两种类型的链首控制单元,包括由或门和与门依次连接构成的h1型链首控制电路、由与门和或门依次连接构成的h2型链首控制电路,所述h1型链首控制电路、h2型链首控制电路的输入信号均包括:振荡使能信号ro_en、振荡输入信号ro_i以及置位使能信号st_en,输出信号均包括:振荡输出信号ro_f,所述振荡使能信号ro_en、置位使能信号st_en由所述多功能控制器提供;

以及配置四种类型的链内显化单元,包括由与门和或非门依次连接构成的s1型链内显化电路、由与门和或门依次连接构成的s2型链内显化电路、由或门和与非门依次连接构成的s3型链内显化电路以及由或门和与门依次连接构成的s4型链内显化电路,所述s1型链内显化电路、s2型链内显化电路、s3型链内显化电路、s4型链内显化电路的输入信号均包括:惰性单元输出信号ori_i、振荡输入信号ro_i,输出信号均包括:惰性单元后继逻辑输入信号ori_f、振荡输出信号ro_f,所述后继逻辑输入信号ori_f用于驱动惰性单元的后继逻辑;

各所述复合型环形振荡器中所述链首控制电路、链内显化电路按照指定的串链规则连成首尾相接的环形结构。

一种兼容故障扫描测试实现a2木马检测的装置,包括计算机设备,所述计算机设备被编程以执行如上述方法的步骤,或者该计算机设备的存储介质上存储有被编程以执行权上述方法的计算机程序。

与现有技术相比,本发明的优点在于:

1、本发明基于复合型环形振荡器结构,当对待测芯片进行木马检测时,采用故障扫描测试的方式,将a2木马检测嵌入到固定故障扫描过程中,通过在扫描移位阶段时控制各复合型环形振荡器的工作模式交替变化,可以增强可疑信号的跳变,以及将振荡状态嵌入到捕获响应阶段,可以使a2木马尽早地在固定故障测试的过程中就被检测出来,且既利用了固定故障测试中对电路状态进行扫描检查的特性,又避免了额外增设的a2木马检测环节,能够有效减少检测成本以及检测时间。

2、本发明基于扫描测试方式实现a2木马检测,每一个检测向量的响应都会通过扫描链串行扫出并观察比较,因此只要被激活的a2木马改变了被测电路的内部时序单元状态或改变了输出端口值,在施加下一个检测向量之前都会被发现,相比于传统的检测方式,检出概率更高;且可以通过重复执行产生错误时间附近的检测向量、单独激活某条复合型振荡环并根据扫描链信息等方式分析出a2木马所在的大致位置,可诊断性较高。

3、本发明进一步利用自动化测试向量产生工具,针对改进门级网表中的可疑线网及其扇出路径生成既可测试该线网及其扇出路径上的固定故障,又可检测a2木马的a2兼容检测向量,从而能够全部发挥出复合型环形振荡器的a2木马激活作用,最大限度的实现a2木马激活而避免路径支配现象。

附图说明

图1是传统a2类型触发的触发电路图。

图2是传统a2类型触发等效原理图。

图3是传统a2类型触发的触发行为模型图。

图4是传统在线监控检测法的实现原理图。

图5传统在线监控检测法中两种典型方法的原理示意图。

图6是本实施例兼容故障扫描测试实现a2木马检测的实现流程示意图。

图7是本实施例中链首控制单元的结构示意图。

图8是本实施例中链内显化单元的结构示意图。

图9是本实施例中复合型环形振荡器的结构原理示意图。

图10是本实施例中芯片改进前后的结构示意图。

图11是本实施例中多功能控制器的结构示意图。

图12是本实施例中控制信号生成器的电路结构示意图。

图13是本实施例中时钟控制器的电路结构示意图。

图14是本发明具体应用实施例中采用一种组合模式测试得到的时序图。

图15是具体应用实施例中产生路径支配现象的原理示意图。

图16是本实施例中可疑路径覆盖算法的实现流程示意图。

图17是本实施例测试向量生成的具体实现流程示意图。

图18是具体应用实施例中对芯片执行a2木马检测完整流程示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

如图6所示,本实施例兼容故障扫描测试实现a2木马检测的方法的步骤包括:

s1.在待测芯片的门级网表生成阶段插入多功能控制器以及一个以上的复合型环形振荡器,复合型环形振荡器由链首控制单元以及多个用于显化木马的链内显化单元依次连成首尾相接的环形链状结构得到,由多功能控制器控制复合型环形振荡器的工作模式;

s2对待测芯片执行故障测试时,配置多功能控制器,使各复合型环形振荡器的工作模式在扫描移位阶段时交替变化以增强可疑信号的跳变,或者使各复合型环形振荡器在响应捕获阶段的指定时长内处于振荡状态,使得在执行故障测试的过程中能够将a2木马检测出来。

本实施例通过在门级网表阶段插入复合型环形振荡器以及多功能控制器,复合型环形振荡器为由链首控制单元以及多个链内显化单元构成的首尾相接的振荡器,由多功能控制器控制各复合型环形振荡器的工作模式,可以基于芯片网表级设计同时实现硬件木马的感知及显化,复合型环形振荡器中每个链内显化单元不需要配置扫描触发器,且其既是木马显化电路,又是木马感知电路,可以节省面积开销,且控制实现简单,换测试激励与链内显化单元的赋值可以独立进行,且为链内显化单元赋值时只需简单地配置多功能控制器,可以利于高效实现硬件木马检测,基于复合型环形振荡器还能够对通过输入随机激励来寻找原始设计中惰性单元的攻击方式具有一定误导混淆作用,增加植入硬件木马的难度,使得具有主动防御功能;

同时本实施例基于复合型环形振荡器结构,当对待测芯片进行木马检测时,采用兼容固定故障扫描测试的方式,将a2木马检测嵌入到固定故障扫描过程中,使各复合型环形振荡器的工作模式在扫描移位阶段时交替变化,可以增强可疑信号的跳变,或者将振荡状态嵌入到捕获响应阶段,可以使a2木马尽早地在固定故障测试的过程中就被检测出来,且既利用了固定故障测试中对电路状态进行扫描检查的特性,又避免了额外增设的a2木马检测环节,能够有效减少检测成本以及检测时间,可以节省成品的上市时间。

本实施例中,需要在芯片设计时,首先在门级网表阶段为其插入复合型环形振荡器与多功能控制器,芯片原始电路中硬件木马可能插入的位置多为惰性单元位置处,先获取待测芯片的原始电路中所有惰性单元的位置信息,根据惰性单元的位置插入复合型环形振荡器,插入复合型环形振荡器时,将各复合型环形振荡器链内显化单元的输入端与待测芯片中惰性单元的输出端连接,链内显化单元的输出端与惰性单元的后继逻辑连接。

本实施例中复合型环形振荡器具体是由2种链首控制单元(分别表示为h1、h2型)与4种链内显化单元(分别表示为s1、s2、s3、s4型)按照一定的串链规则构成的首尾相接的振荡器,在不同的链首控制信号(ro_en和st_en)作用下,它可以工作在正常功能模式、少态置位模式以及振荡模式,其中振荡模式时输出交替变化的振荡信号(如具体可以为0、1交替变化的信号),少态置位模式时输出所连接的惰性单元的少态值。

本实施例两种链首控制单元如图7所示,其中图7(a)对应为h1型,图7(b)对应为h2型,h1型链首控制电路由或门和与门依次连接构成,h2型链首控制电路由与门和或门依次连接构成,h1型链首控制电路、h2型链首控制电路的输入信号均包括:振荡使能信号ro_en、振荡输入信号ro_i以及置位使能信号st_en,输出信号均包括:振荡输出信号ro_f,振荡使能信号ro_en、置位使能信号st_en由多功能控制器提供。

本实施例四种链内显化单元如图8所示,图(a)~(d)分别对应为s1~s4型,s1型由与门和或非门依次连接构成,s2型链内显化电路由与门和或门依次连接构成,s3型链内显化电路由或门和与非门依次连接构成,s4型链内显化电路由或门和与门依次连接构成,s1型链内显化电路、s2型链内显化电路、s3型链内显化电路、s4型链内显化电路的输入信号均包括:惰性单元输出信号ori_i、振荡输入信号ro_i,输出信号均包括:惰性单元后继逻辑输入信号ori_f、振荡输出信号ro_f,后继逻辑输入信号ori_f用于驱动惰性单元的后继逻辑。上述4种链内显化电路中,在常1惰性单元后面插入s1或s2型链内显化单元可以使常1惰性单元的后继逻辑在适当的配置下收到少态值“0”,在常0惰性单元后面插入s3或s4型链内显化单元可以使常0惰性单元的后继逻辑在适当的配置下收到少态值“1”,s1型和s3型链内显化单元具有反相功能,s2和s4型链内显化单元不具有反相功能。

本实施例在芯片设计时对芯片结构进行改进,在门级网表阶段先插入复合型环形振荡器与多功能控制器,复合型环形振荡器由上述2种链首控制电路(h1、h2)、4种链内显化电路(s1、s2、s3、s4)按照指定的串链规则构成首尾相接的振荡器,串链规则具体为:

1、h1型链首控制电路后只能接s1型链内显化电路或s2型链内显化电路,h2型链首控制电路后只能接s3型链内显化电路或s4型链内显化电路;

2、s1型链内显化电路和s4型链内显化电路后只能接s3型链内显化电路或s4型链内显化电路,s2型链内显化电路和s3型链内显化电路后只能接s1型链内显化电路或s2型链内显化电路;

3、每个复合型环形振荡器的链内所包含的s1型链内显化电路和s3型链内显化电路的总数为奇数,若为偶数,插入奇数个反相器以凑成奇数,具体只能在振荡环的尾部插入奇数个反相器,可以在振荡环的任意位置插入偶数个反相器;

4、当前级的振荡输入信号ro_i端口与上一级的振荡输出信号ro_f端口相连,当前级的振荡输出信号ro_f端口与下一级的振荡输入信号ro_i端口相连;

5、链首控制电路的ro_en端口接来自于控制器生成的振荡使能信号,st_en端口接来自于控制器生成的置位使能信号;

6、链内显化电路的ori_i端口接来自于惰性单元的输出信号,ori_f端口驱动惰性单元的后继逻辑。

本实施例先获取待测芯片的原始电路中所有惰性单元的位置信息,根据惰性单元的位置、常值信息确定所需配置的复合型环形振荡器的数量,以及确定复合型环形振荡器中所需采用的链首控制电路、链内显化电路的类型,各复合型环形振荡器的链首控制电路、链内显化电路按照上述串链规则连成首尾相接的环形结构,完成复合型环形振荡器的插入。如图9所示,本实施例具体在芯片门级网表阶段,先找到原始设计中易被用作a2木马触发输入的如惰性单元的输出信号线,将该线与链内显化单元(s1或s2或s3或s4)的ori_i端口相连,以及将该可疑信号的后继逻辑与ori_f端口相连,然后根据上述串链规则将插入的所有链内显化单元串入复合型振荡器中,最后插入多功能控制器,并将其产生的控制信号分别与各振荡器中链首控制器的ro_en和st_en相连,改进前后芯片结构如图10所示。

本实施例在不同的链首控制信号(ro_en和st_en)作用下,复合型环形振荡器可以工作在正常功能模式、少态置位模式以及振荡模式,具体为:

正常功能模式:该模式时ro_en=0、st_en=0,ori_i恒等于ori_f,原始设计的正常工作不受影响。

振荡模式:该模式时ro_en=1、st_en=0,若链内显化单元的ori_i端口处于常态值,其ori_f端口始终输出0->1->0(或1->0->1)交替变化的振荡信号,导致ori_f端口所驱动的惰性单元后继逻辑也随之振荡。

少态置位模式:该模式时st_en=1,无论链内显化单元的ori_i端口收到什么值,其ori_f端口始终输出ori_i端口所连接的惰性单元的少态值。

如图11所示,本实施例中多功能控制器包括用于生成控制信号的控制信号生成单元以及用于控制时钟的时钟控制单元,控制信号生成单元与时钟控制单元连接,控制信号生成单元输入信号包括测试使能信号test_en、模式决策信号key、模式配置信号cfg、被测电路时钟门控信号stop、控制器复位信号rst_n、原始时钟信号clk,输出信号包括振荡使能信号ro_en[n-1:0]、置位使能信号st_en[n-1:0]、配置信息输出端口cfg_out、门控输出时钟信号clk_out,其中n表示复合型环形振荡器的个数。本实施例中控制信号生成单元具体采用如图12所示的控制信号生成器,时钟控制单元具体采用如图13所示的时钟控制器,其中ck_gt是标准and型集成门控单元,通过对控制信号生成器进行不同的配置,可以产生不同的ro_en[n-1:0]和st_en[n-1:0],从而使复合型环形振荡器进入不同的工作状态。

本实施例多功能控制器通过不同的配置可以处于复位模式、保持模式、移位模式、ro翻转模式、st翻转模式、ro/st双翻转模式共6种模式,具体为:

复位模式:该模式时rst_n=0,控制信号生成器中所有的扫描触发器都被复位成0状态,此时ro_en[n-1:0]=0,st_en[n-1:0]=0,所有复合型环形振荡器也都被复位成正常功能模式,即控制信号生成器对应处于复位模式。

移位模式:该模式时test_en=1,key=1,时钟信号clk能够通过门控单元传递到所有扫描触发器,并且控制信号生成器中所有扫描触发器的扫描使能端se=1,此时控制信号生成器实质上是一条长度为2n的扫描链,配置信息通过cfg端口移入,通过cfg_out端口移出;通过控制cfg的输入值,可以将ro_en[n-1:0]和st_en[n-1:0]配置成任何值。

st/ro双翻转模式:该模式时test_en=1,key=0,时钟信号clk能够通过门控单元传递到所有扫描触发器,控制信号生成器中所有扫描触发器的扫描使能端se=0,此时控制信号生成器实质上是一条长度为2n的自反触发器链,每经历1个时钟周期,ro_en[n-1:0]与st_en[n-1:0]便分别按位取反一次。

ro翻转模式:该模式时test_en=0,key=1,cfg=1时,时钟信号clk只能够通过门控单元传递到输出为ro_en[n-1:0]的扫描触发器,控制信号生成器中所有扫描触发器的扫描使能端se=0,此时控制信号生成器实质上是一条长度为n的ro_en自反触发器链,每经历1个时钟周期,ro_en[n-1:0]按位取反一次,而st_en[n-1:0]始终保持原状态不变。

st翻转模式:该模式时test_en=0,key=1,cfg=0,时钟信号clk只能够通过门控单元传递到输出为st_en[n-1:0]的扫描触发器,控制信号生成器中所有扫描触发器的扫描使能端se=0,此时控制信号生成器实质上是一条长度为n的st_en自反触发器链,每经历1个时钟周期,st_en[n-1:0]按位取反一次,而ro_en[n-1:0]始终保持原状态不变。

保持模式:该模式时test_en=0,key=0,时钟信号clk不能够通过门控单元传递到所有扫描触发器,控制信号生成器中所有扫描触发器的扫描使能端se=0,此时ro_en[n-1:0]和st_en[n-1:0]将始终保持原状态不变。

当完成了如图10所示的电路改进,无论链内显化单元ori_i所连接的线网翻转频率有多低,都可以通过配置复合型环形振荡器使之在正常功能状态、少态置位状态与振荡状态之间不停的切换,从而强制ori_f端口所连接的线网随之不停的翻转。若ori_f所在的路径(存在于如图9所示的原始逻辑1和原始逻辑2)中有线网被用作a2木马的触发输入信号,则通过本实施例上述检测方法可以将该a2木马激活。,

本实施例中,扫描移位阶段包括用于控制各复合型环形振荡器一直处于正常功能模式的第一扫描模式、用于控制各复合型环形振荡器在正常功能模式与少态置位模式之间交替变化的第二扫描模式以及用于控制各复合型环形振荡器在振荡模式与少态置位模式之间交替变化的第三扫描模式;捕获相应阶段包括用于正常执行响应捕获的第一捕获模式,以及用于在正常执行响应捕获前还包括使各复合型环形振荡器处于振荡状态并维持一段时间的第二捕获模式,步骤s2中对待测芯片执行故障测试时,按照第一扫描模式与第二捕获模式组合、第二扫描模式与第二捕获模式组合、第三扫描模式与第二捕获模式组合、第二扫描模式与第一捕获模式组合、第三扫描模式与第一捕获模式组合中任意一种的组合模式执行对待测芯片的测试。

在具体应用实施例中,为扫描移位阶段配置:

a1模式:振荡器一直处于正常功能模式;

该模式时,在扫描移位期间,令控制器的rst_n一直为“0”,也即一直处于复位模式;

a2模式:振荡器在正常功能模式与少态置位模式之间交替变化;

该模式时,在扫描移位之前,将控制器配置成ro/st双翻转模式并维持1个时钟周期,然后将控制器配置成保持模式;

a3模式:振荡器在振荡模式与少态置位模式之间交替变化;

该模式时,在扫描移位之前,先将控制器配置成ro翻转模式并维持1个时钟周期,然后将控制器配置成ro/st双翻转模式并维持1个时钟周期,最后将控制器配置成保持模式。

为响应捕获阶段配置:

b1模式:不新增任何配置

该模式即为与传统的响应捕获阶段相同。

b2模式:在传统的响应捕获阶段之前,使所有振荡器处于振荡状态并维持一段时间t2;

该模式时,在扫描移位之后,响应捕获之前,令stop为“0”,关断clk_out;先将控制器配置成ro翻转模式并维持1个周期,然后将控制器配置成保持模式并维持一段时间t2。

传统的固定故障扫描测试每施加一个测试激励可以分成两个阶段:扫描移位阶段和响应捕获阶段,上述a1模式与b1模式的组合即为传统的固定故障扫描测试方法,本实施例在扫描移位阶段有三种不同的模式,在响应捕获阶段有两种不同的模式,通过任意选取5种组合(即a1与b2组合、a2与b2组合、a3与b2组合、a2与b1组合以及a3与b1)中的一种或多种,可以在测试固定故障的同时,检测出a2木马。以a2与b2的组合方式为例,在具体应用实施例中得到的时序如图14所示。

本实施例中检测激励可以是所有可以通过扫描模式施加的已知期望输出的测试激励,步骤s2前、步骤s1后还包括测试向量生成s1a步骤,步骤包括:查找待测芯片插入复合型环形振荡器后得到的改进门级网表中所有链内显化单元与惰性单元的后继逻辑之间的信号连接线,覆盖信号连接线及信号连接线的扇出路径生成具有a2木马检测功能的固定故障测试向量,得到a2兼容检测向量,并使用a2兼容检测向量进行故障模拟并更新原始故障列表,对剩余的故障列表生成固定故障测试向量,得到剩余固定故障测试向量;步骤s2中对待测芯片执行固定故障测试时,分别施加a2兼容检测向量、剩余固定故障测试向量执行测试。上述固定故障测试向量具体可利用自动化测试向量产生工具自动生成。

即使a2木马的触发输入信号来源于ori_f端所驱动的逻辑线网,也可能发生因为其所在的路径被路径中其他单元的支配值所支配,从而无法发生翻转,进而无法激活a2木马的现象。以图15所示的电路为例,假设t0与t1原本是同一条信号线上的两端,且该信号是容易被用作a2木马触发输入信号的可疑信号,在该线中间插入s1型链内显化单元后,若t1扇出路径中的t1或t2或t3或t4或t5或t6被用作a2木马的触发输入信号,则通过本发明所设计的检测方法,可以使该a2木马被激活;但若q1=q2=q3=1或n1=0,则无论链内显化单元处于什么工作状态,利用ori_f扇出路径中的线网作为触发输入信号的a2木马在检测阶段都不可能被激活,也即发生了ori_f(t1)路径支配现象。同理,若n2=1则会发生t2路径支配现象,若n3=0则会发生t3路径支配现象,若n4=1,则会发生t4路径支配现象。本实施例利用自动化测试向量产生工具,针对改进门级网表中的可疑线网及其扇出路径生成既可测试该线网及其扇出路径上的固定故障,又可检测a2木马的a2兼容检测向量,使用a2兼容检测向量可在固定故障扫描过程中,同时实现a2木马的检测,当然还可以进一步兼容扫描其他故障。

本实施例通过可疑路径覆盖算法来实现a2兼容检测向量的生成,如图16所示,可疑路径覆盖算法的步骤具体包括:

s1a1.从改进门级网表中找出所有k个链内显化单元的ori_f端口的直接连线,得到集合n={{t0,t1,…,tk-1}},其中ori_f端口为与惰性单元的后继逻辑的连接端口,ti为第i条连线;

s1a2.从改进门级网表中找出每一个ti扇出路径所包含的线网pi={s0,s1,…,sn-1},其中si为第i条信号线;

s1a3.对测试向量生成模块添加使ti处于不受惰性单元输出信号支配的约束条件,若成功则转入执行步骤s1a4,否则令i=i+1并重新执行步骤s1a3,直至遍历完n集合中所有k个连线后退出;

s1a4.按由前到后的顺序从pi线网中选取信号线sj,添加敏化sj的约束条件并且产生对应的测试向量,若成功得到一个a2兼容检测向量,转入执行步骤s1a5,否则令j=j+1并重新执行步骤s1a4;

s1a5.检测步骤s1a4中当前产生的测试向量是否全部敏化了pi,若全部敏化,则令i=i+1并返回执行步骤s1a2,否则令j=pi中未被敏化的且最靠近ori_f端口的线网所属的序号并重新执行步骤s1a4。

上述测试向量生成模块具体可利用自动测试图案生成(atpg)工具,通过对atpg工具进行配置,使得生成a2兼容检测向量以检测a2木马。

本实施例通过上述可疑路径覆盖算法生成的a2兼容检测向量可以覆盖所有可疑路径,从而能够全部发挥出复合型环形振荡器的a2木马激活作用,最大限度的实现a2木马激活而避免路径支配现象。

由于通过上述可疑路径覆盖算法生成的a2兼容检测向量已经覆盖了一些固定故障,因此为了不额外增加测试时间,本实施例步骤s2中,对a2兼容检测向量进行故障模拟并更新原始故障列表,最后只对剩余的故障列表执行固定故障测试向量生成,固定故障测试向量生成具体可采用atpg工具,得到完整的固定故障测试向量,测试向量生成流程具体如图17所示。

本实施例步骤s2中,对待测芯片执行故障测试后,若得到的捕获响应与对应测试向量的预期响应不同,则判定待测芯片存在固定故障或a2木马的异常,对存在异常的芯片再重新施加导致发生异常的测试向量,具体可采用传统的扫描测试模式,若发生同样的错误,则判定是存在固定故障,否则判定存在a2木马,实现a2木马的检测。

本实施例中,步骤s2的具体步骤包括:

s21.配置阶段时,配置多功能控制器为第一模式并维持一个时钟周期,使得在该时钟周期内向所有复合型环形振荡器分别输出振荡使能信号,以控制将所有复合型环形振荡器同时从正常功能模式变为为振荡模式,;

s22.预热阶段时,配置多功能控制器的第二模式并持续指定时长,使得在该时长内控制所有复合型环形振荡器保持为振荡模式,以使被测芯片中的可疑信号及可疑信号驱动的功能逻辑发生振荡跳变;

s23.检测阶段时,采用任意一种组合模式执行对待测芯片的测试并施加a2兼容检测向量,以及采用任意一种组合模式执行对待测芯片的测试并施加剩余固定故障测试向量;

s24.步骤s23中若得到的捕获响应与对应测试向量的预期响应不同,则判定待测芯片存在固定故障或a2木马的异常,对存在异常的芯片再重新按照传统的扫描测试模式施加导致发生异常的测试向量,若发生同样的错误,则判定异常是由固定故障引起,否则判定异常是由a2木马引起。

本实施例步骤s2中测试时输入时钟频率必须小于等于ft2,ft2应满足如下条件:

假设改进后的门级网表在完成版图设计之后最大的寄存器到寄存器延时为t1,而芯片进行固定故障扫描测试时的最小时钟周期为t3,则所采用的时钟周期tt2必须大于t1与t2两者最大值,即满足:

本实施例上述方法是基于扫描测试方式实现a2木马检测,每一个检测向量的响应都会通过扫描链串行扫出并观察比较,因此只要被激活的a2木马改变了被测电路的内部时序单元状态或改变了输出端口值,在施加下一个检测向量之前都会被发现,相比于传统的检测方式,检出概率更高,且可以通过重复执行产生错误时间附近的检测向量、单独激活某条复合型振荡环并根据扫描链信息等方式分析出a2木马所在的大致位置,可诊断性较高,

本实施例上述检测方法具体可与刚出厂的所有芯片的固定故障测试同时进行,如图18中所示,可以在固定故障检测阶段就检测出a2木马,确保芯片的安全性,完成固定故障测试后再进行其他故障测试,进一步验证芯片可靠性等。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1