一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种降低扫描链测试中移位阶段功耗的方法及电路与流程

2022-03-23 08:02:02 来源:中国专利 TAG:


1.本发明属于集成电路扫描链测试技术领域,具体涉及一种降低扫描链测试中移位阶段功耗的方法及电路。


背景技术:

2.在大规模以及超大规模芯片设计的过程中,扫描设计是主要的可测试性设计(dft)技术之一。而随着工艺尺寸的提升,进行测试的动态功耗也会大幅提升,从而提高设计的难度,不仅要使扫描设计模式满足设计要求,还要求设计的周期较短,而且在dft模式下,往往会在移位阶段中出现较多无效电路的动作,不仅造成迭代次数增加还会增加移位阶段的动态功耗。


技术实现要素:

3.本发明所要解决的技术问题是如何减少扫描链移位阶段下的动态功耗,本发明的目的在于提供一种降低扫描链测试中移位阶段功耗的方法及电路,直接针对寄存器进行功耗控制,在扫描测试之前根据寄存器的功耗影响情况,通过预先设置需要插入的功耗改善电路的数量,可以减少扫描测试中为了满足设计要求而进行迭代的次数,缩短设计周期;可以通过屏蔽掉dft模式下的移位阶段中的无效电路的动作,达到减少移位阶段下的动态功耗的目的;并且引入了模式配置信号,还可以规避掉该电路对其他测试模式的影响。
4.本发明通过下述技术方案实现:
5.一方面,本发明提供一种降低扫描链测试中移位阶段功耗的方法,包括以下步骤:
6.s1、在综合完成后的网表文件中插入扫描链结构,并根据扫描链中寄存器对功耗影响的特征量,预设动态功耗改善电路的数量;
7.s2、在插入扫描链结构的网表文件的基础上,插入预设数量的动态功耗改善电路;
8.s3、根据模式配置信号,进行扫描链测试;根据扫描链移位阶段的电路功耗情况,验证所述扫描链移位阶段的电路功耗情况是否满足所有设计要求;
9.s4、若均满足则执行s5;若不满足则根据功耗情况,追加插入的动态功耗改善电路的数量,并验证追加动态功耗改善电路的数量后的电路功耗情况是否均满足设计要求;
10.s5、重复步骤s2-s4,直到扫描链测试结束。
11.在扫描链测试中移位阶段的设计中,往往在移位阶段中存在较多无效电路的动作,增加动态功耗,因此,本发明直接针对寄存器进行功耗控制,根据寄存器的功耗影响的程度预先设置需要插入的动态功耗改善电路的数量,然后在迭代时根据实际功耗的情况动态地改变寄存器的筛选条件,大范围的进行动态功耗改善电路的插入,实现在较少迭代次数下就能达到设计要求,从而避免了无效电路的动作,减少移位阶段下的动态功耗,且为了避免扫描链测试模式对其他测试模式的影响,引入了模式配置信号,根据模式配置信号决定是否进入扫描链测试模式。
12.进一步地,s1中根据扫描链中寄存器对功耗影响的特征量包括扫描链中所有寄存
器的扇出数大小、电源网络的信号强弱和工艺的功耗。
13.进一步地,预设需要插入的动态功耗改善电路的数量,具体过程包括:
14.s11、将所有寄存器的扇出数进行排序,根据寄存器的最大扇出数,确定需要插入的动态功耗改善电路的数量;
15.s12、根据电源网络的信号强弱,由电源网络薄弱的区域确定需要插入的动态功耗改善电路的数量;
16.s13、根据工艺的功耗,确定需要插入的动态功耗改善电路的数量;
17.s14、将s11、s12和s13中得到的动态功耗改善电路的数量汇总,得到预设动态功耗改善电路的数量。
18.进一步地,若步骤s12中电源网络情况未知,则根据最大扇出寄存器在所有寄存器中的占比,确定需要插入的动态功耗改善电路的数量n
ins
,计算公式为:
[0019][0020]
其中,f
ave
是所有寄存器扇出数的平均值,f
max
是所有寄存器中扇出数的最大值,n
ft
是寄存器的总数。
[0021]
进一步地,通过静态时序分析工具或者综合工具中的all_fanout指令,获得所有寄存器的扇出数情况。
[0022]
进一步地,s3中,进入扫描链测试模式之前,对插入扫描链结构和插入预设数量的动态功耗改善电路的网表文件,进行正常的版图设计和时序收敛后,控制扫描链模式配置信号输出为有效,根据有效的模式配置信号,进行扫描链测试。
[0023]
进一步地,s3中的具体过程包括:
[0024]
s31、进行扫描链测试后,根据项目需求生成相应的测试向量;
[0025]
s32、将测试向量输入到电力报告生成工具中,生成移位阶段的电力报告,从电力报告中选出移位阶段电力消耗最大的测试向量;
[0026]
s33、根据电力消耗最大的测试向量和经过版图设计后的网表文件,进行测试模式仿真,生成动态功耗文件;
[0027]
s34、根据经过版图设计后的网表文件和所述动态功耗文件,使用功耗分析软件统计所述动态功耗文件中的动态功耗值;
[0028]
s35、对所述动态功耗值进行排序,记录最小动态功耗值对应的器件以及器件所在区域。
[0029]
在一种实施方式中,s4中的具体过程为:
[0030]
若所述最小动态功耗值不满足所有设计要求中的最低器件阈值电压,则根据所述最小动态功耗值和所述最小动态功耗值对应的器件所在区域的寄存器数量,确定追加插入的功耗改善电路的数量n

ins

[0031][0032]
其中,v
t
表示需要满足的最低器件阈值电压,vw表示所述最小动态功耗值,n
f1
表示最小动态功耗值对应的器件所在区域的寄存器数量。
[0033]
在另一种实施方式中,s4中的具体过程为:
[0034]
若所述最小动态功耗值满足所有设计要求中的最低器件阈值电压,但不满足所有
设计要求中的其他要求时,则根据扫描链测试的芯片测试电压和扫描链中所有寄存器的数量,确定追加插入的功耗改善电路的数量n

ins
:
[0035][0036]
其中,vc表示所述芯片测试电压,vw表示所述最小动态功耗值,n
ft
表示所有寄存器的数量。
[0037]
另一方面,本发明提供一种降低扫描链测试中移位阶段功耗的电路,用于控制上述方法中进入扫描链测试模式所需的模式配置信号,包括模式信号控制电路和组合电路,所述模式信号控制电路包括与门、或门和扫描寄存器,与门的输入为扫描使能信号和扫描模式信号,或门的输入端分别与与门的输出端、扫描寄存器的输出端连接,或门的输出端与组合电路连接且或门的输出为所述模式配置信号。
[0038]
本发明与现有技术相比,具有如下的优点和有益效果:
[0039]
本发明通过固定寄存器对组合电路的输出进行功耗控制,在进入扫描链测试模式前筛选出最大扇出寄存器,根据最大扇出寄存器的比例对功耗影响的程度来确定预先插入动态功耗改善电路的数量,并且可以在不考虑电源网络等其他因素的时候,给出一个方案来预先插入动态功耗改善电路,另外在扫描链测试模式下的迭代中,本发明还能根据实际功耗的结果动态地改变筛选条件,大范围的进行动态功耗改善电路的插入,实现在较少迭代次数下就能达到设计要求,减少移位阶段中的无效电路的动作,从而减少移位阶段下的动态功耗,通过模式配置信号,对扫描链测试模式何时能进入进行控制,可以避免在进入扫描链测试模式时对其他测试模式的影响。
附图说明
[0040]
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
[0041]
图1为本发明实施1中降低扫描链测试中移位阶段功耗的方法流程图;
[0042]
图2为本发明实施例2中扫描链测试中控制模式配置信号输出的电路结构示意图;
[0043]
图3为现有技术中扫描链测试电路连接示意图。
具体实施方式
[0044]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。在以下描述中,为了提供对本发明的透彻理解阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本本发明。在其他实施例中,为了避免混淆本发明,未具体描述公知的结构、电路、材料或方法。
[0045]
实施例1
[0046]
如图1所示,本实施例1提供一种降低扫描链测试中移位阶段功耗的方法,包括以下步骤:
[0047]
s1、在综合完成后的网表文件中插入扫描链结构,并根据扫描链中寄存器对功耗影响的特征量,预设动态功耗改善电路的数量;
[0048]
扫描链中寄存器对功耗影响的特征量包括扫描链中所有寄存器的扇出数大小、电源网络的信号强弱和工艺的功耗;具体地,可以通过静态时序分析工具或者综合工具中的all_fanout指令,获得所有寄存器的扇出数大小。
[0049]
则预设需要插入的动态功耗改善电路的数量,具体过程包括:
[0050]
s11、将所有寄存器的扇出数进行排序,根据寄存器的最大扇出数,确定需要插入的动态功耗改善电路的数量;由于扇出数越大,其对应的寄存器对功耗影响的程度越大,所以先针对最大扇出数确定插入的动态功耗改善电路的数量x1。
[0051]
s12、在s11的基础上,根据电源网络的信号强弱,预留一定比例的动态功耗改善电路数目给电源网络薄弱的区域,即由电源网络薄弱的区域确定需要插入的动态功耗改善电路的数量x2;
[0052]
s13、在s12的基础上,根据工艺的功耗情况,确定需要插入的动态功耗改善电路的数量x3;
[0053]
s14、将s11、s12和s13中得到的动态功耗改善电路的数量x1、x2、x3进行汇总,得到预设动态功耗改善电路的数量。
[0054]
在一种实施方式中,若上述步骤s12中电源网络情况未知,可以在不考虑电源网络等其他因素的时候,根据最大扇出寄存器在所有寄存器中的占比,确定需要插入的动态功耗改善电路的数量n
ins
,计算公式为:
[0055][0056]
其中,f
ave
是所有寄存器扇出数的平均值,f
max
是所有寄存器中扇出数的最大值,n
ft
是寄存器的总数。
[0057]
s2、在插入扫描链结构的网表文件的基础上,插入预设数量的动态功耗改善电路;
[0058]
进入扫描链测试模式之前,需要对步骤s2中已经插入扫描链结构和插入预设数量的动态功耗改善电路的网表文件,进行正常的版图设计和时序收敛,然后控制扫描链模式配置信号输出为有效,具体可设置为1,从而进入扫描链测试模式。
[0059]
s3、设置模式配置信号,进入扫描链测试模式;根据扫描链移位阶段的电路功耗情况,验证所述扫描链移位阶段的电路功耗情况是否满足所有设计要求;此处的电路功耗是指整个芯片回路总的电路功耗,避免出现当功耗改善回路的改善满足了设计要求,但是整个芯片回路中可能会存在别的回路依然不满足所以设计要求的情况。
[0060]
具体地,扫描链移位阶段的功耗情况的分析过程包括以下步骤:
[0061]
s31、进行扫描链测试后,根据项目需求生成相应的测试向量;
[0062]
s32、将测试向量输入到电力报告生成工具中,生成移位阶段的电力报告,从电力报告中选出移位阶段电力消耗最大的测试向量;
[0063]
s33、根据电力消耗最大的测试向量和经过版图设计后的网表文件,进行测试模式仿真,生成动态功耗文件;
[0064]
具体地,测试模式仿真的设计过程为:
[0065]
根据电力报告中的移位阶段出现电力消耗最大的测试向量,编辑出功耗文件的
testbench(测试平台),在测试平台中读入工艺库文件、时序制约文件以及经过版图设计后的网表文件,生成测试仿真平台,在测试仿真平台中进行网表级别的测试模式仿真,在仿真结束后,生成动态功耗文件。
[0066]
s34、根据经过版图设计后的网表文件和所述动态功耗文件,使用功耗分析软件统计所述动态功耗文件中的动态功耗值;具体地,使用功耗分析软件,读入经过版图设计后的网表文件以及通过静态时序分析工具抽出的时序文件和相应的工艺库文件,再读入步骤s33中生成好的动态功耗文件后,统计出该动态功耗文件中的动态功耗值。
[0067]
s35、对所述动态功耗值进行排序,记录最小动态功耗值对应的器件以及器件所在区域。
[0068]
s4、若s3中的验证结果为均满足则执行s5;若验证结果为不满足,则根据功耗情况,追加插入的动态功耗改善电路的数量,重复步骤s3,并验证追加动态功耗改善电路的数量后的电路功耗情况是否均满足设计要求;
[0069]
由于设计要求中最低要求就是器件阈值电压,如果最小动态功耗值满足了设计要求中的所有要求,则可以继续后面的工作;如果没有满足,则需要根据最小动态功耗值结果,改变筛选条件,扩大针对最大扇出寄存器的筛选标准。步骤s3中没有满足设计要求可以分为两种情况,以及每种情况的对应解决方案如下:
[0070]
情况一:最小动态功耗值低于器件阈值电压,如果用到了多个沟道宽度的器件,那么以最低的器件阈值电压为准,即最小动态功耗值不满足所有设计要求中的最低器件阈值电压,则根据所述最小动态功耗值和所述最小动态功耗值对应的器件所在区域的寄存器数量,确定追加插入的功耗改善电路的数量n

ins

[0071][0072]
其中,v
t
表示需要满足的最低器件阈值电压,vw表示所述最小动态功耗值,n
f1
表示最小动态功耗值对应的器件所在区域的寄存器数量,n
f1
可以使用静态时序分析工具或者综合工具统计出最小动态功耗值对应的器件所在区域(顶层模块)的寄存器数量。
[0073]
出现情况一的原因是由于器件的沟道宽度越窄,其器件的功耗则越大,所以选用最窄的沟道宽度作为标准的话,可以保证整体设计都能满足要求。上述公式是基于电压差的程度在最小动态功耗值对应器件所在的局部区域进行动态功耗改善回路的插入,可以有效的改善局部区域功耗差的现象。
[0074]
情况二:最小动态功耗值满足所有设计要求中的最低要求,即高于最低器件阈值电压,但是没有满足所有设计要求中的其他要求时,则根据扫描链测试的芯片测试电压和扫描链中所有寄存器的数量,确定追加插入的功耗改善电路的数量n

ins
:
[0075][0076]
其中,vc表示所述芯片测试电压,vw表示所述最小动态功耗值,n
ft
表示所有寄存器的数量。
[0077]
出现情况二中的解决方案是基于全局的寄存器追加插入动态功耗改善电路的数量,不局限于局部区域,此时由于满足了器件的基本阈值电压,则全局的影响会更大,所以针对全局进行功耗改善回路插入,可以有效的改善整个扫描链测试的功耗情况。
[0078]
在实际测试中,很容易出现第一次没有满足最低阈值电压,第二次没有满足除了最低要求以外的设计要求的情况。第一次没有满足阈值电压的情况大多数是因为局部区域的电源网络差,或者逻辑段数较深,从而导致该区域的动态功耗变差,所以需要针对该区域插入动态功耗改善电路。而第二次满足了阈值电压,却没满足设计要求的时候,大多数都是因为整体回路的影响,导致动态功耗较低,所以需要针对全局的寄存器追加插入动态功耗改善电路。
[0079]
s5、重复上述步骤s2-s4,直到扫描链测试结束。
[0080]
实施例2
[0081]
在进行扫描测试时,如图3所示,现有的电路中,在移位阶段,数据会通过扫描寄存器a(sff)的si端进入,然后传送到q端(或so端),扫描寄存器a的q端(或so端)与下一个扫描寄存器b的si端相连,从而形成移位路径。但是由于扫描寄存器a的q端也连接到了组合电路,所以在移位路径进行数据传输的时候,q端变化的同时也会带动组合电路动作。这样当不在扫描测试模式下时,可能会对扫描测试模式以外的其他模式的运行造成影响。
[0082]
因此,如图2所示,本实施例2提供一种降低扫描链测试中移位阶段功耗的电路,用于控制实施例1中进入扫描链测试模式所需的模式配置信号,包括模式信号控制电路和组合电路,所述模式信号控制电路包括与门、或门和扫描寄存器a(sff),与门的输入为扫描使能信号和扫描模式信号,或门的输入端分别与与门的输出端、扫描寄存器的输出端q连接,或门的输出端与组合电路连接且或门的输出为所述模式配置信号。
[0083]
本实施例中的模式信号控制电路的工作原理为:
[0084]
数据从扫描寄存器a(sff)的si端进入,然后通过一个或门传送到组合电路中,当扫描使能信号(se)以及扫描模式信号(scan)同时为1时,通过一个与门后输出为1,这样或门的输出必定为1,则可以通过扫描寄存器a(sff)输出端q后面连接的或门将输出给强制置为1;当扫描使能信号(se)或扫描模式信号(scan)任意一方为0的时候,寄存器后面的或门就等效于没有,对电路不造成影响。这样当扫描模式信号(scan)为0的时候,即不在扫描测试模式下,就可以避免对扫描测试模式以外的其他模式的影响。
[0085]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
[0086]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献