CN114091393A - 一种执行工程变更指令的方法、装置、设备和存储介质 - Google Patents
一种执行工程变更指令的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114091393A CN114091393A CN202111419490.5A CN202111419490A CN114091393A CN 114091393 A CN114091393 A CN 114091393A CN 202111419490 A CN202111419490 A CN 202111419490A CN 114091393 A CN114091393 A CN 114091393A
- Authority
- CN
- China
- Prior art keywords
- scan chain
- scan
- circuit
- modified
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/333—Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施例提出了一种执行工程变更指令的方法、装置、设备和存储介质,所述测试电路包括扫描压缩电路和扫描链电路,扫描链电路中预留有至少一条待修改的扫描链,方法包括:获取第一脚本文件;第一脚本文件包括扫描链电路对应的第一脚本程序和扫描压缩电路对应的第二脚本程序;响应于与工程设计更改需求相对应的更新操作,对第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;获取并响应工程变更指令,运行第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现工程变更指令的执行操作。
Description
技术领域
本申请涉及可测试性设计(Design For Test,DFT)技术,尤其涉及一种执行工程变更指令的方法、装置、设备和存储介质。
背景技术
相关技术中,在需要对已经布线完成的包括测试电路的集成电路进行工程修改的情况下,为保证DFT的测试质量,需对此集成电路的寄存器进行额外的DFT工程变更指令(Engineering Change Order,ECO)操作,将集成电路对应的芯片内部的寄存器替换为扫描单元并串入已有扫描链或者从已有扫描链中移除;由于插入的扫描单元可能不在同一实例分层,在扫描单元不在同一实例分层的情况下,需要增设很多引脚,引脚名字可能因为被优化而改变名称,增加了工程变更指令的系统化的难度,且效率较低。
发明内容
本申请实施例期望提供一种执行工程变更指令的方法、装置、设备和存储介质。
第一方面,本申请实施例提供了执行工程变更指令的方法,所述测试电路包括扫描压缩电路和扫描链电路,所述扫描链电路中预留有至少一条待修改的扫描链,所述方法包括:
获取第一脚本文件;所述第一脚本文件包括所述扫描链电路对应的第一脚本程序和所述扫描压缩电路对应的第二脚本程序;
响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
第二方面,本申请实施例提供了一种执行工程变更指令的装置,所述装置包括:
获取模块,用于获取第一脚本文件;所述第一脚本文件包括所述检测电路的扫描链电路对应的第一脚本程序和所述检测电路的扫描压缩电路对应的第二脚本程序;其中,所述扫描链电路中预留有至少一条待修改的扫描链;
响应模块,用于响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
插入模块,用于获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
第三方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述所述执行工程变更指令的方法中的步骤。
第四方面,本申请实施例提供了在一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时上述所述执行工程变更指令的方法中的步骤。
在本申请实施例中,通过响应于与工程设计更改需求相对应的更新操作,对获取的第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件,并响应工程变更指令,运行第二脚本文件,以在包含至少一条待修改扫描链的扫描链电路的预留位置插入目标扫描单元。由于是在至少一条待修改扫描链的扫描链电路的预留位置插入目标扫描单元,插入的目标扫描单元处于同一实例分层,不需要增设很多引脚,工程变更指令的系统化的难度较小,效率较高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为相关技术中考虑嵌入式确定性测试知识产权(Embedded DeterministicTest Intellectual Property,EDT IP)生成标准以及时钟域设计后的集成电路的测试电路的组成结构示意图;
图2为相关技术中布线网表在时钟域clkA模块A/模块A ECO区域需要新增100颗扫描单元传入内部扫描链的集成电路的测试电路的组成结构示意图;
图3为相关技术中对模块A/模块AECO区域进行ECO后的测试电路的组成结构示意图;
图4为本申请实施例提供的一种执行工程变更指令的方法的实现流程示意图;
图5为本申请实施例提供的一种对扫描链电路预留至少一条扫描链的电路组成结构示意图;
图6为本申请实施例提供的一种执行工程变更指令的执行效果的示意图;
图7为本申请实施例提供的一种执行工程变更指令的装置的组成结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本申请,并不用于限定本申请。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,U和/或W,可以表示:单独存在U,同时存在U和W,单独存在W这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括U、W、V中的至少一种,可以表示包括从U、W和V构成的集合中选择的任意一个或多个元素。
在片上系统的布线阶段,ECO设计需要增加或者减少功能寄存器,此时不能再使用工具进行串入扫描链以及插入扫描压缩电路(包括解压缩电路和压缩电路)。为保证DFT的试质量,需对集成电路对应的芯片的寄存器进行额外DFT ECO操作,将芯片内部寄存器替换为扫描单元,并串入已有扫描链电路或者从已有扫描链电路中移除。其中,DFT ECO操作需要克服的问题包括:
1、需保证不出现跨电源域、跨时钟域移动路径,避免影响布线阶段时间收敛以及影响低电源等设计规则检查;
2、为保证内部扫描链长度均衡,新增ECO寄存器需考虑平均分配于内部扫描链中,避免因过多增加嵌入式确定性测试(Embedded Deterministic Test,EDT)移位长度而导致测试时间的浪费;
3、网表已可能做过扫描重新排列,DFT需要运行自动测试向量生成(AutomaticTest Pattern Generation,ATPG)报出扫描路径报告,依此判断并决定串入或插入哪些扫描链;
4、Design ECO functional registers所在clock domains,instance hierarchy实例分层以及数量多少等因素皆无法提前预测;
5、若是人工在网表基础上进行ECO,则需完成后运行ATPG以及形式验证等保证正确性,出错造成返工的概率极高;
6、流程非系统化,影响下限期限(集成电路或印刷电路板设计的最后步骤(送交制造))。
可以理解的是,片上系统DFT测试原理简要描述为将芯片内部寄存器替换成为扫描单元并串入扫描链,通过ATPG产生扫描向量进行结构扫描测试,结构扫描测试的测试时间与扫描链长度成正相关。
扫描压缩电路是已广泛应用的压缩技术,通过降低内部扫描链的长度,从而减少结构扫描测试的测试时间,如业界广泛使用的EDT知识产权(Intellectual Property,IP)。
用户可自定义EDT IP的生成标准,如本文描述的设定内部扫描链的最大长度为300。工具会依照扫描单元的总数量计算出内部扫描链的最大数量,并在解压缩器/压缩器接口处开scan_in(扫描输入)引脚以及scan_out(扫描输出)引脚,以分别与内部扫描链的开头与结尾对接。
由于解压缩器/压缩器内含压缩及解压缩技术,其ATPG设计规则检查要求布线网表不可新增或者减少内部扫描链的数量,其中,内部扫描链内至少包含一颗扫描单元。
图1为相关技术中考虑EDT IP生成标准以及时钟域设计后的集成电路的测试电路的组成结构示意图,如图1所示,测试电路包括解压缩器101、扫描链电路102和压缩器103;解压缩器101的输入端连接第一组合逻辑电路的输出端scan_in*;第一组合逻辑的输入端与通用输入输出(General Purpose Input Output,GPIO)接口的输出焊盘连接;解压缩器101的edt_clk连接EDT时钟信号;解压缩器101的输出端输入端连接扫描链电路102的输入端;扫描链电路103的输出端连接压缩器103的输入端;压缩器103的输出端scan_out*连接第二组合逻辑逻辑电路的输入端,以使得检测信号通过第二组合逻辑电路进行转换输出给GPIO的输出焊盘。
其中,解压缩器101的输出端chainX_scan_inX分别对应连接扫描链电路102的第X扫描链的输入端;X为1至N,即内部扫描链数量设定为N;第X扫描链的输出端连接压缩器103的输入端chainX_scan_outX;扫描链电路102至少包括3个时钟域clkA、clkB以及clkTop,clkA对应模块A,模块A包括第一扫描链和第二扫描链,即,第一扫描链和第二扫描链中的每一扫描单元的时钟信号引脚CK均连接clkA;clkB对应模块B;模块B包括第M扫描链;第M扫描链中的每一扫描单元的时钟信号引脚CK均连接clkB;第N扫描链中的每一扫描单元的时钟信号引脚CK均连接clkTop;可以看出,每个时钟域之间不存在互相串扫描链的情况,如此,可以避免出现跨时钟域移动路径;内部扫描链最大链长度设定为300。
再者,第X扫描链中的非第一个扫描单元的扫描数(Scan Data,SD)引脚连接上一扫描单元的Q引脚;最后一个扫描单元的Q引脚连接压缩器103的输入端chainX_scan_outX;第一扫描单元的扫描数据引脚连接解压缩器101的输出端chainX_scan_inX。
图2为相关技术中布线网表在时钟域clkA模块A/模块A ECO区域需要新增100颗扫描单元传入内部扫描链的集成电路的测试电路的组成结构示意图,如图2所示,和图1相比,图2中的时钟域clkA模块A的区域中新增加了模块A ECO区域moduleAECORegion,其中,moduleAECORegion中包括ECO_Areg_000至ECO_Areg_099共100个扫描单元。可以理解的是,时钟域clkB以及时钟域clkTop均有可能需要进行ECO。时钟域clkB对应的区域为模块B ECO区域moduleBECORegion;时钟域clkTop对应的区域为Top ECO区域TopECORegion。
图3为相关技术中对模块A/模块AECO区域进行ECO后的测试电路的组成结构示意图,如图3所示,和图2相比,moduleAECORegion中100颗扫描单元ECO_Areg_000至ECO_Areg_099连接在扫描链电路302的第二扫描链的最后一个扫描单元的Q端与压缩器303的输入端chain2_scan_out2之间;其中,由于ECO_Areg_000至ECO_Areg_099可能处于不同的实例分层(第1至第N扫描链中不同的扫描链)中,因此,ECO_Areg_000与第二扫描链的最后一个扫描单元的Q端之间连线、ECO_Areg_000至ECO_Areg_099中相邻的两个扫描单元之间的连线、ECO_Areg_099的Q端与chain2_scan_out2之间的连线均设置有引脚。
这里,ECO_Areg_000与第二扫描链的最后一个扫描单元的Q端之间的连线设置引脚1;ECO_Areg_099的Q端与chain2_scan_out2之间的连线设置有引脚2和引脚3;引脚2与模块AECO区域相关,引脚3与模块A区域相关;ECO_Areg_000至ECO_Areg_099中相邻的两个扫描单元之间的连线设置有引脚N。
通过上图3的分析可知,相关ECO的实现方案中存在以下不可忽略的缺点:
1、模块A/模块AECO区域/ECO_Areg_000~ECO_Areg_099有可能不在同一层实例分层,跨界生成端口将增加ECO难度;
2、扫描链电路的内部扫描链长度无法保持均衡,第二扫描链的长度将从300增加到400;而其余扫描链的长度仍然为300,如此会造成测试时间约有100/300的浪费。若考虑将新增100颗扫描单元分散至100条内部扫描链中,从而降低对测试时间的影响,但是会出现1描述的缺点;
3、需要在布线网表阶段创建模块A/模块AECO区域/引脚1,引脚2,引脚3;并连接至压缩器/chain2_scan_out2,这些引脚名称有可能因为被优化而改变名字等增加ECO难度;
4、ECO完成后需要运行ATPG确保ECO_Areg_000~ECO_Areg_099确实已经串入扫描链电路以及进行其它检查。类似验证、低功耗验证等;
5、若模块BECO区域、TopECO区域需要新增ECO,则需要重复以上流程,ECO效率以及正确性无法保证。
基于上述技术问题,本申请实施例提供了一种执行工程变更指令的方法,可以应用于电子设计自动化设计(Electronics Design Automation,EDA)软件,所述测试电路包括扫描压缩电路和扫描链电路,所述扫描链电路中预留有至少一条待修改的扫描链,如图4所示,所述方法包括:
步骤401:获取第一脚本文件;所述第一脚本文件包括所述扫描链电路对应的第一脚本程序和所述扫描压缩电路对应的第二脚本程序;
可以理解的是,第一脚本文件和测试电路之间是对应的;测试电路中的扫描压缩电路和扫描链电路分别对应第一脚本文件中的第一脚本程序和第二脚本程序。
在一些可能的实施方式中,获取第一脚本文件,可以是研发人员通过输入操作(程序编写)输入第一脚本文件,EDA响应输入操作获取第一脚本文件。
步骤402:响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
可以理解的是,工程设计更改需求与根据实际应用需求对应;工程更改需求可以是修改检测电路的需求,例如,工程更改需求是增加在时钟域clkA模块A/模块A ECO区域增加100颗扫描单元串入内部扫描链。
在一些可能的实施方式中,响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件,可以是响应于与工程设计更改需求相对应的更新操作,对第一脚本文件中的第一脚本程序添加与工程设计更改需求对应的程序,将得到的添加后的第一脚本程序确定为第二脚本文件。
步骤403:获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
在一些可能的实施方式中,目标扫描单元是与工程变更指令相对应的。当工程更改指令是在时钟域clkA 模块A/模块A ECO区域增加100颗扫描单元串入内部扫描链,则目标扫描单元为待串入的100颗扫描单元。
在一种可能的实施方式中,获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作,可以是研发人员触发工程变更指令,EDA响应研发人员的触发操作,获取工程编程指令,并响应工程变更指令,运行第二脚本文件,通过逻辑综合工具中的TCLscripts自动将目标扫描单元插入至少一条待修改扫描链的预留位置,实现对工程变更指令的执行操作。
在本申请实施例中,通过响应于与工程设计更改需求相对应的更新操作,对获取的第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件,并响应工程变更指令,运行第二脚本文件,以在包含至少一条待修改扫描链的扫描链电路的预留位置插入目标扫描单元。由于是在至少一条待修改扫描链的扫描链电路的预留位置插入目标扫描单元,插入的目标扫描单元处于同一实例分层,不需要增设很多引脚,工程变更指令的系统化的难度较小,效率较高。
本申请实施例提供的另一种执行工程变更指令的方法,所述方法包括:
步骤S501:获取所述扫描链电路对应的第一脚本程序和所述扫描压缩电路对应的第二脚本程序的生成操作;
在一些可能的实施方式中,获取所述扫描链电路对应的第一脚本程序和所述扫描压缩电路对应的第二脚本程序的生成操作,可以是研发人员通过输入操作向EDA输入扫描链电路对应的第一脚本程序和扫描压缩电路对应的第二脚本程序,EDA接收输入操作获得扫描链电路对应的第一脚本程序和扫描压缩电路对应的第二脚本程序的生成操作。
步骤S502:响应于所述生成操作,生成所述第一脚本程序和所述第二脚本程序;
步骤S503:获取包括第一脚本程序和第二脚本程序的第一脚本文件;
步骤S504:响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
步骤S505:获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
在本申请实施例中,通过获取并响应扫描链电路对应的第一脚本程序和扫描压缩电路对应的第二脚本程序的生成操作,生成第一脚本程序和第二脚本程序,如此,可以基于生成的第一脚本程序和第二脚本程序获取第一脚本文件。
本申请实施例提供的又一种执行工程变更指令的方法,所述方法包括:
步骤S601:获取第一子程序和第二子程序的生成操作;第一子程序与所述第一脚本程序中第一扫描链电路对应;所述第二子程序与所述第一脚本程序中所述第二扫描链电路对应;所述第一扫描链电路与所述测试电路的初始设计要求对应;所述第二扫描电路与所述测试电路可预测的工程修改要求对应;
可以理解的是,第二扫描链电路是指扫描链电路中预留的至少一条待修改的扫描链,与测试电路可预测的工程修改要求对应。
步骤S602:获取所述扫描压缩电路对应的第二脚本程序的生成操作;
步骤S603:响应于所述第一子程序和所述第二子程序的生成操作,生成所述第一子程序和所述第二子程序;
步骤S604:响应于第二脚本程序的生成操作,生成所述第二脚本程序;
步骤S605:获取包括第一脚本程序和第二脚本程序的第一脚本文件;
步骤S606:响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
步骤S607:获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
本申请实施例中,通过获取并响应第一子程序和第二子程序的生成操作,生成第一子程序和第二子程序,如此,可以基于第一子程序和第二子程序可以得到第一脚本程序,基于第一脚本程序和第二脚本程序可以获取第一脚本文件。
本申请实施例提供的再一种执行工程变更指令的方法,所述方法包括:
步骤S701:获取第一子程序的生成操作;第一子程序与所述第一脚本程序中第一扫描链电路对应;所述第一扫描链电路与所述测试电路的初始设计要求对应;
步骤S702:获取对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作;所述第二子程序与所述第一脚本程序中所述第二扫描链电路对应;所述第二扫描电路与所述测试电路可预测的工程修改要求对应;
可以理解的是,待修改的扫描链是指待插入与工程设计更改需求对应的扫描单元的扫描链。
步骤S703:获取所述扫描压缩电路对应的第二脚本程序的生成操作;
步骤S704:响应于所述第一子程序的生成操作,生成所述第一子程序;
步骤S705:响应于对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作,生成对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的程序;
步骤S706:响应于第二脚本程序的生成操作,生成所述第二脚本程序;
步骤S707:获取包括第一脚本程序和第二脚本程序的第一脚本文件;所述第一脚本文件包括第一子程序和对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的程序;
步骤S708:响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
步骤S709:获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
本申请实施例中,通过获取并响应于对第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作,生成对第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的程序作为第二子程序,如此,基于第一子程序和第二子程序可以得到第一脚本程序。
本申请实施例提供的其它一种执行工程变更指令的方法,所述方法包括:
步骤S801:获取第一子程序的生成操作;第一子程序与所述第一脚本程序中第一扫描链电路对应;所述第一扫描链电路与所述测试电路的初始设计要求对应;
步骤S802:获取对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作;
步骤S803:在所述测试电路可预测的工程修改要求对应的待插入扫描单元的数量小于等于第一差值的情况下,获取对所述第一扫描链电路中的每一时钟域预留一条待修改的扫描链的操作;所述第一差值为所述最大扫描链长度与N的差值;
步骤S804:在所述检测电路的可预测的工程修改要求对应的待插入扫描单元的数量大于所述第一差值,小于M倍的所述第一差值的情况下,获取对所述第一扫描链电路中的每一时钟域预留M条待修改的扫描链的操作;
步骤S805:获取所述扫描压缩电路对应的第二脚本程序的生成操作;
步骤S806:响应于所述第一子程序的生成操作,生成所述第一子程序;
步骤S807:响应于对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作,生成对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的程序;
步骤S808:响应于第二脚本程序的生成操作,生成所述第二脚本程序;
步骤S809:获取包括第一脚本程序和第二脚本程序的第一脚本文件;所述第一脚本文件包括第一子程序和对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的程序;
步骤S810:响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
步骤S811:获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
本申请实施例中,在测试电路可预测的工程修改要求对应的待插入扫描单元的数量小于等于第一差值的情况下,获取对第一扫描链电路中的每一时钟域预留一条待修改的扫描链的操作;在检测电路的可预测的工程修改要求对应的待插入扫描单元的数量大于所述第一差值,小于M倍的所述第一差值的情况下,获取对第一扫描链电路中的每一时钟域预留M条待修改的扫描链的操作,如此,可以根据具体的可预测的工程修改要求预留对应的条数的待修改的扫描链,满足用户的需求。
本申请实施例提供的还一种执行工程变更指令的方法,所述方法包括:
步骤S901:获取第一脚本文件;所述第一脚本文件包括所述扫描链电路对应的第一脚本程序和所述扫描压缩电路对应的第二脚本程序;
步骤S902:获取将所述工程更改需求对应的目标扫描单元插入所述至少一条待修改扫描链中的目标待修改扫描链的程序修改操作;
步骤S903:响应于所述程序修改操作,对所述第一脚本文件中的第一脚本程序进行修改,得到第二脚本文件;
步骤S904:获取并响应所述工程变更指令,运行所述第二脚本文件,通过逻辑综合工具打断所述待修改扫描链中扫描数据间的连接线,自动在至少一条待修改扫描链的预留位置插入所述目标扫描单元,实现所述工程变更指令的执行操作。
本申请实施例中,获取并响应将所述工程更改需求对应的目标扫描单元插入所述至少一条待修改扫描链中的目标待修改扫描链的程序修改操作,对所述第一脚本文件中的第一脚本程序进行修改,如此,得到的第二脚本文件是根据工程更改需求相对应的文件。通过获取并响应所述工程变更指令,运行所述第二脚本文件,通过逻辑综合工具打断所述待修改扫描链中扫描数据间的连接线,自动在至少一条待修改扫描链的预留位置插入所述目标扫描单元,可以实现所述工程变更指令的执行操作。
图5为本申请实施例提供的一种对扫描链电路预留至少一条扫描链的电路组成结构示意图,如图5所示,可以在EDT IP插入阶段,为每一个时钟域预留一条或者多条ECO扫描链,预留的一条或者多条ECO扫描链中的每一ECO扫描链仅包含两颗扫描单元;布线网表需要在执行工程变更指令之后,扫描单元门串入对应预留的ECO扫描链。
其中,扫描链ECO0为时钟域clkA预留的ECO扫描链;扫描链ECO0中的两颗扫描单元的名字为RSV_ECO_Ahead_reg和RSV_ECO_Atail_reg。RSV_ECO_Ahead_reg和RSV_ECO_Atail_reg不会在综合以及布线阶段被优化。扫描链ECO0的时钟源接到clkA,避免与之后新增ECO寄存器出现跨时钟域的问题。扫描链ECO0中的扫描单元RSV_ECO_Ahead_reg和RSV_ECO_Atail_reg的D引脚可以均连接到低电压1’b0(tie0),扫描使能引脚接到模块A/scan_en引脚。在不影响内部扫描链长度均衡前提下,预留一条扫描链可容纳298颗ECO寄存器。若预测ECO寄存器数量级将有可能超出此范围,此时可预留多条ECO扫描链,但连接方法一致。
再者,chainECO1_scan_in1和chainECO2_scan_in2分别为clkB、clkTop所预留的ECO扫描链,差别在于时钟源不同,RSV_ECO_*_reg分层要放在对应的instance实例下面。
在对脚本文件进行修改后,通过获取和响应工程变更指令,EDA可以自动化将ECO寄存器串入ECO扫描链电路中。在一种实施方式中,EDA可通过以下逻辑综合工具TCLscripts(DFT_reserved_eco_chain.tcl),在重新串入扫描链之前会打断ECO寄存器已有的扫描数据SD接线,亦可应用于实现人工扫描重新排序。
逻辑综合工具TCL scripts(DFT_reserved_eco_chain.tcl)的示例为:
图6为本申请实施例提供的一种执行工程变更指令的执行效果的示意图,如图6所示,模块AECO区域中的扫描单元ECO_Areg_000至ECO_Areg_099处于扫描单元RSV_ECO_Ahead_reg和RSV_ECO_Atail_reg之间。其中,ECO_Areg_000的扫描数据SD输入端与RSV_ECO_Ahead_reg的Q输出端连接;ECO_Areg_099的Q输出端连接RSV_ECO_Atail_reg的扫描数据SD输入端;ECO_Areg_000至ECO_Areg_099的扫描使能SE端与RSV_ECO_Ahead_reg、RSV_ECO_Atail_reg的SE端相连接;ECO_Areg_000至ECO_Areg_099的D引脚连接低电压1’b0(tie0);ECO_Areg_000至ECO_Areg_099的时钟信号端ck连接RSV_ECO_Ahead_reg和RSV_ECO_Atail_reg的时钟源。
模块BReservedECOChains、TopReservedECOChains分别为模块B和模块TOP预留的ECO扫描链,皆可通过逻辑综合工具TCL script串入新增的ECO寄存器。
基于前述的实施例,本申请实施例提供一种执行工程变更指令的装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图7为本申请实施例提供的一种执行工程变更指令的装置的组成结构示意图,如图7所示,所述执行工程变更指令的装置700包括:
获取模块701,用于获取第一脚本文件;所述第一脚本文件包括所述检测电路的扫描链电路对应的第一脚本程序和所述检测电路的扫描压缩电路对应的第二脚本程序;其中,所述扫描链电路中预留有至少一条待修改的扫描链;
响应模块702,用于响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
插入模块703,用于获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
在一些实施方式中,所述装置还包括:生成模块,用于获取所述扫描链电路对应的第一脚本程序和所述扫描压缩电路对应的第二脚本程序的生成操作;响应于所述生成操作,生成所述第一脚本程序和所述第二脚本程序。
在一些实施方式中,所述生成模块,用于获取所述第一子程序和所述第二子程序的生成操作;响应于所述第一子程序和所述第二子程序的生成操作,生成所述第一子程序和所述第二子程序。
在一些实施方式中,所述生成模块,用于获取对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作;响应于对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作,生成对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的程序。
在一些实施方式中,所述生成模块,用于在所述测试电路可预测的工程修改要求对应的待插入扫描单元的数量小于等于第一差值的情况下,获取对所述第一扫描链电路中的每一时钟域预留一条待修改的扫描链的操作;所述第一差值为所述最大扫描链长度与N的差值;在所述检测电路的可预测的工程修改要求对应的待插入扫描单元的数量大于所述第一差值,小于M倍的所述第一差值的情况下,获取对所述第一扫描链电路中的每一时钟域预留M条待修改的扫描链的操作。
在一些实施方式中,所述响应模块702,用于获取将所述工程更改需求对应的目标扫描单元插入所述至少一条待修改扫描链中的目标待修改扫描链的程序修改操作;响应于所述程序修改操作,对所述第一脚本文件中的第一脚本程序进行修改,得到第二脚本文件。
在一些实施方式中,所述插入模块703,用于获取并响应所述工程变更指令,运行所述第二脚本文件,通过逻辑综合工具打断所述待修改扫描链中扫描数据间的连接线,自动在至少一条待修改扫描链的预留位置插入所述目标扫描单元,实现所述工程变更指令的执行操作。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
一般来讲,本实施例中的一种执行工程变更指令的方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种执行工程变更指令的方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种执行工程变更指令的方法。
基于前述实施例相同的技术构思,参见图8,其示出了本申请实施例提供的一种电子设备的结构示意图,所述电子设备800可以包括:存储器801和处理器802;其中,
所述存储器801,用于存储计算机程序和数据;
所述处理器802,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种执行工程变更指令的方法。
在实际应用中,上述存储器801可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器802提供指令和数据。
上述处理器802可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的增强现实云平台,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作限定。
在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的实施方式,上述的实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本申请的保护之内。
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的各方法或移相器实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
Claims (10)
1.一种执行工程变更指令的方法,其特征在于,所述测试电路包括扫描压缩电路和扫描链电路,所述扫描链电路中预留有至少一条待修改的扫描链,所述方法包括:
获取第一脚本文件;所述第一脚本文件包括所述扫描链电路对应的第一脚本程序和所述扫描压缩电路对应的第二脚本程序;
响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述扫描链电路对应的第一脚本程序和所述扫描压缩电路对应的第二脚本程序的生成操作;
响应于所述生成操作,生成所述第一脚本程序和所述第二脚本程序。
3.根据权利要求2所述的方法,其特征在于,所述扫描链电路包括所述测试电路的初始设计要求对应的第一扫描链电路和所述测试电路可预测的工程修改要求对应的第二扫描链电路;所述第一脚本程序包括与所述第一扫描链电路对应的第一子程序和与所述第二扫描链电路对应的第二子程序;获取所述扫描链电路对应的第一脚本程序的生成操作,包括:
获取所述第一子程序和所述第二子程序的生成操作;
对应地,响应于所述生成操作,生成所述第一脚本程序,包括:
响应于所述第一子程序和所述第二子程序的生成操作,生成所述第一子程序和所述第二子程序。
4.根据权利要求3所述的方法,其特征在于,所述第一扫描链电路中的每一扫描链的长度均为预设的最大扫描链长度;所述待修改的扫描链的长度与所述最大扫描链长度相等;
获取所述第二子程序的生成操作,包括:获取对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作;
响应于所述第二子程序的生成操作,生成所述第二子程序,包括:
响应于对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作,生成对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的程序。
5.根据权利要求4所述的方法,其特征在于,所述待修改扫描链包括N个保留的扫描单元;N为大于等于1小于预设的最大扫描链长度的正整数;所述获取对所述第一扫描链电路中的每一时钟域预留至少一条待修改的扫描链的操作,包括:
在所述测试电路可预测的工程修改要求对应的待插入扫描单元的数量小于等于第一差值的情况下,获取对所述第一扫描链电路中的每一时钟域预留一条待修改的扫描链的操作;所述第一差值为所述最大扫描链长度与N的差值;
在所述检测电路的可预测的工程修改要求对应的待插入扫描单元的数量大于所述第一差值,小于M倍的所述第一差值的情况下,获取对所述第一扫描链电路中的每一时钟域预留M条待修改的扫描链的操作。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件,包括:
获取将所述工程更改需求对应的目标扫描单元插入所述至少一条待修改扫描链中的目标待修改扫描链的程序修改操作;
响应于所述程序修改操作,对所述第一脚本文件中的第一脚本程序进行修改,得到第二脚本文件。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作,包括:
获取并响应所述工程变更指令,运行所述第二脚本文件,通过逻辑综合工具打断所述待修改扫描链中扫描数据间的连接线,自动在至少一条待修改扫描链的预留位置插入所述目标扫描单元,实现所述工程变更指令的执行操作。
8.一种执行工程变更指令的装置,其特征在于,所述装置包括:
获取模块,用于获取第一脚本文件;所述第一脚本文件包括所述检测电路的扫描链电路对应的第一脚本程序和所述检测电路的扫描压缩电路对应的第二脚本程序;其中,所述扫描链电路中预留有至少一条待修改的扫描链;
响应模块,用于响应于与工程设计更改需求相对应的更新操作,对所述第一脚本文件中的第一脚本程序进行更新,得到第二脚本文件;
插入模块,用于获取并响应所述工程变更指令,运行所述第二脚本文件,以在所述至少一条待修改扫描链的预留位置插入目标扫描单元,实现所述工程变更指令的执行操作。
9.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述执行工程变更指令的方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述执行工程变更指令的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111419490.5A CN114091393A (zh) | 2021-11-26 | 2021-11-26 | 一种执行工程变更指令的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111419490.5A CN114091393A (zh) | 2021-11-26 | 2021-11-26 | 一种执行工程变更指令的方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114091393A true CN114091393A (zh) | 2022-02-25 |
Family
ID=80304892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111419490.5A Pending CN114091393A (zh) | 2021-11-26 | 2021-11-26 | 一种执行工程变更指令的方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114091393A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117852495A (zh) * | 2024-03-08 | 2024-04-09 | 中科鉴芯(北京)科技有限责任公司 | 电路的插链方法、装置、设备及计算机可读介质 |
-
2021
- 2021-11-26 CN CN202111419490.5A patent/CN114091393A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117852495A (zh) * | 2024-03-08 | 2024-04-09 | 中科鉴芯(北京)科技有限责任公司 | 电路的插链方法、装置、设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101773490B1 (ko) | 데이터-의존 회로 경로 응답들을 이용하는 고유하고 복제불가한 플랫폼 식별자들 | |
US7308631B2 (en) | Wrapper serial scan chain functional segmentation | |
US8438000B2 (en) | Dynamic generation of tests | |
CN114091393A (zh) | 一种执行工程变更指令的方法、装置、设备和存储介质 | |
Ghosh et al. | A BIST scheme for RTL circuits based on symbolic testability analysis | |
US7673288B1 (en) | Bypassing execution of a software test using a file cache | |
US5802075A (en) | Distributed test pattern generation | |
US7392448B2 (en) | Method and apparatus for determining stuck-at fault locations in cell chains using scan chains | |
US20070198242A1 (en) | Cross-bar switching in an emulation environment | |
US7082558B2 (en) | Increasing possible test patterns which can be used with sequential scanning techniques to perform speed analysis | |
CN108226763B (zh) | 用于扫描链重新排序的方法、设备和计算机程序产品 | |
US20160025810A1 (en) | Diagnosis and debug with truncated simulation | |
US7213220B2 (en) | Method for verification of gate level netlists using colored bits | |
Shteingart et al. | RTG: Automatic register level test generator | |
US20180121584A1 (en) | Verification support program medium, verification support method, and information processing device | |
US8627273B2 (en) | Model checking of liveness property in a phase abstracted model | |
US9117023B2 (en) | Dynamic generation of test segments | |
Hülle et al. | ZATPG: SAT-based test patterns generator with zero-aliasing in temporal compaction | |
US8726206B1 (en) | Deadlock detection method and related machine readable medium | |
CN113760751A (zh) | 生成测试用例的方法、电子设备及存储介质 | |
GB2412444A (en) | Tools and methods for circuit scan test models | |
Gupta | Stuck at fault testing in combinational circuits using FPGA | |
Larsson et al. | Graceful Degradation of Reconfigurable Scan Networks | |
CN113836852B (zh) | 模拟位流生成方法、装置、设备和存储介质 | |
Huang et al. | Synthesis of scan chains for netlist descriptions at RT-level |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |