[go: up one dir, main page]

CN103294600B - Based on the automatic design for Measurability method of the automatic design for Measurability system of the EDIF net table level circuit of Perl - Google Patents

Based on the automatic design for Measurability method of the automatic design for Measurability system of the EDIF net table level circuit of Perl Download PDF

Info

Publication number
CN103294600B
CN103294600B CN201310268649.7A CN201310268649A CN103294600B CN 103294600 B CN103294600 B CN 103294600B CN 201310268649 A CN201310268649 A CN 201310268649A CN 103294600 B CN103294600 B CN 103294600B
Authority
CN
China
Prior art keywords
circuit
testability
edif
design
module
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.)
Active
Application number
CN201310268649.7A
Other languages
Chinese (zh)
Other versions
CN103294600A (en
Inventor
俞洋
陈诚
彭喜元
乔立岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology Shenzhen
Original Assignee
Harbin Institute of Technology Shenzhen
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology Shenzhen filed Critical Harbin Institute of Technology Shenzhen
Priority to CN201510267393.7A priority Critical patent/CN104809072A/en
Priority to CN201310268649.7A priority patent/CN103294600B/en
Publication of CN103294600A publication Critical patent/CN103294600A/en
Application granted granted Critical
Publication of CN103294600B publication Critical patent/CN103294600B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法,涉及一种EDIF网表级电路的自动可测性设计系统及自动可测性设计方法。它是为了适应对EDIF网表级电路的自动可测性设计的需求。电路源码解析模块用于对数字逻辑电路的EDIF网表级描述的分析;触发器修改模块用于用EDIF语言完对所有触发器的可测性修改;Verilog封装模块用于对EDIF网表描述电路的Verilog封装;扫描链连接模块用于对EDIF网表描述电路用Verilog语言完成电路的扫描链设计;可测性电路生成模块用于对电路的再次Verilog封装;测试验证模块用于生成测试文件并对可测性设计后的电路进行验证。本发明适用于EDIF网表级电路的自动可测性设计。

The invention relates to an automatic testability design method of an automatic testability design system of an EDIF netlist level circuit based on Perl, and relates to an automatic testability design system and an automatic testability design method of an EDIF netlist level circuit. It is designed to meet the needs of automatic design for testability of EDIF netlist-level circuits. The circuit source code analysis module is used to analyze the EDIF netlist-level description of digital logic circuits; the flip-flop modification module is used to complete the testability modification of all flip-flops in EDIF language; the Verilog packaging module is used to describe the circuit to the EDIF netlist Verilog encapsulation; the scan chain connection module is used to complete the scan chain design of the circuit in Verilog language for the EDIF netlist description circuit; the testability circuit generation module is used to re-encapsulate the circuit in Verilog; the test verification module is used to generate test files and Verify the circuit after design for test. The invention is suitable for automatic testability design of EDIF netlist level circuits.

Description

基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法The automatic testability design method of Perl-based EDIF netlist-level circuit automatic testability design system

技术领域technical field

本发明涉及一种EDIF网表级电路的自动可测性设计系统及自动可测性设计方法。The invention relates to an automatic testability design system and an automatic testability design method for EDIF netlist level circuits.

背景技术Background technique

在当今随着半导体技术的发展,集成电路芯片(IC)得到了广泛的应用,保障集成电路芯片的可靠性成为一个重要问题。对IC进行测试的方法成为解决IC可靠性的主要途径,但是具有复杂功能的IC的可测性低的问题严重制约了IC测试的有效性。而对IC进行可测性设计可以有效的改善电路的可控性和可观性,大大提高了芯片的可测性,使得IC测试可以有效的进行。Nowadays, with the development of semiconductor technology, integrated circuit chips (IC) have been widely used, and the reliability of integrated circuit chips has become an important issue. The method of testing ICs has become the main way to solve the reliability of ICs, but the low testability of ICs with complex functions seriously restricts the effectiveness of IC testing. The design for testability of IC can effectively improve the controllability and observability of the circuit, and greatly improve the testability of the chip, so that IC testing can be carried out effectively.

电路的可测性设计就是在不影响电路功能的前提下,对原电路的结构进行改造,使电路内部原来不具有可控性和客观性的节点获得这些性质,便于测试。常用的方法是对原电路中使用的触发器进行可测性改造,使其成为可测性触发器,然后将改造后的触发器连接成一条或几条触发器链,称为扫描链,将扫描链的输入端和输出端作为电路的测试端口,通过这些端口就可以控制并观测电路的内部节点。常用的可测性触发器是多路选择器结构的可测性触发器,即在原触发器的输入端加入一个多路选择器,这样就可以控制触发器的数据。The testability design of the circuit is to modify the structure of the original circuit without affecting the function of the circuit, so that the nodes in the circuit that do not have controllability and objectivity can obtain these properties for easy testing. A common method is to transform the flip-flops used in the original circuit into testability flip-flops, and then connect the modified flip-flops into one or several flip-flop chains, called scan chains. The input and output of the scan chain are used as test ports of the circuit, through which the internal nodes of the circuit can be controlled and observed. A commonly used testability trigger is a testability trigger with a multiplexer structure, that is, a multiplexer is added to the input of the original trigger, so that the data of the trigger can be controlled.

在目前的电路设计过程中,电路设计往往是由不同的部门或公司分别完成其中的一部分,同时在整个电路设计的过程中会涉及到多种EDA工具,这就涉及到数据交换的问题。而EDIF网表是不同公司和不同EDA工具之间交换数据的一种标准格式。EDIF是电子设计交换格式(Electronic Design Interchange Format)的英文缩写,它是一种不受版权限制的数据格式,它提出和规定了电路设计有关的原理图、符号和物理布局、互连以及结构信息。使用EDIF网表语言描述的电路,可以作为标准的交换格式在各个电路的设计环节进行信息交换。In the current circuit design process, the circuit design is often completed by different departments or companies. At the same time, various EDA tools are involved in the entire circuit design process, which involves the problem of data exchange. The EDIF netlist is a standard format for exchanging data between different companies and different EDA tools. EDIF is the English abbreviation of Electronic Design Interchange Format (Electronic Design Interchange Format). It is a data format without copyright restrictions. It proposes and specifies schematic diagrams, symbols and physical layout, interconnection and structural information related to circuit design. . The circuit described by EDIF netlist language can be used as a standard exchange format for information exchange in the design process of each circuit.

EDIF网表级电路是使用EDIF网表语言描述的电路,在电路的设计过程中,电路的功能设计和可测性设计往往是分开的,电路功能设计的人员传递给电路可测性设计人员的电路数据很多时候就是用EDIF网表描述的,这样的网表中主要描述电路中各个元件的使用信息及互相之间的连接信息。通过分析电路的EDIF网表就可以获得电路必要信息,以对电路进行可测性设计成为电路可测性设计的一种重要方式。EDIF netlist-level circuit is a circuit described in EDIF netlist language. During the circuit design process, the functional design and testability design of the circuit are often separated, and the circuit function designer passes the circuit testability design to the circuit testability designer. Circuit data is often described by EDIF netlist, which mainly describes the use information of each component in the circuit and the connection information between them. By analyzing the EDIF netlist of the circuit, the necessary information of the circuit can be obtained, and the design for testability of the circuit has become an important way of the design for testability of the circuit.

EDIF网表的存储格式是ASIC编码的文本格式,所以可以非常方便的使用Perl语言对其进行分析和处理。Perl语言是一种高级、通用、直译式、动态的、功能强大的语言,其最重要的特性是内部集成的正则表达式的功能,以及巨大的第三方代码库CPAN。其中正则表达式的功能可以为我们非常好的处理文本,在这里可以用来非常方便高效的处理EDIF网表。The storage format of EDIF netlist is ASIC coded text format, so it can be analyzed and processed very conveniently using Perl language. The Perl language is an advanced, general-purpose, literal translation, dynamic, and powerful language. Its most important feature is the function of regular expressions integrated inside, as well as the huge third-party code library CPAN. Among them, the regular expression function can process text very well for us, and it can be used to process EDIF netlist very conveniently and efficiently.

在触发器设计阶段,需要对电路中使用的触发器进行可测性修改,在实际的电路中触发器的使用数量是相当庞大的,所以有必要使用工具对电路中使用的触发器进行自动化的修改。这里我们可以使用Perl语言编写自动化修改的工具完成这个功能,代替费时费力的人工手动修改。In the flip-flop design stage, it is necessary to modify the testability of the flip-flops used in the circuit. The number of flip-flops used in the actual circuit is quite large, so it is necessary to use tools to automate the flip-flops used in the circuit. Revise. Here we can use the Perl language to write automated modification tools to complete this function, instead of time-consuming and laborious manual modification.

在扫描链设计阶段,需要对已经完成触发器修改的电路进行触发器的连接,将那些修改完的具有可测性的触发器连接成一条或数条链。由于测试的需要,扫描链的设计常常需要人工完成,并随时修改其连接方式。虽然EDIF网表非常通用,非常适合使用软件处理,但是由于EDIF网表并不是常用的直接设计语言,作为电路设计人员,阅读和修改时并不是很方便。但是在这个阶段,设计人员只需要知道需要进行连接的触发器的相关信息即可。所以在这里可以在保证电路功能不变的前提下,使用常用的电路设计语言对进行触发器修改后的EDIF网表电路进行包装,对外屏蔽内部信息并提供与EDIF相应的接口,以供触发器扫描链设计。In the scan chain design stage, it is necessary to connect flip-flops to circuits that have completed flip-flop modification, and connect those modified flip-flops with testability into one or several chains. Due to the needs of the test, the design of the scan chain often needs to be completed manually, and its connection mode must be modified at any time. Although the EDIF netlist is very general and suitable for software processing, since the EDIF netlist is not a commonly used direct design language, as a circuit designer, it is not very convenient to read and modify it. But at this stage, the designer only needs to know about the flip-flops that need to be connected. Therefore, under the premise of ensuring that the circuit function remains unchanged, the commonly used circuit design language can be used to package the EDIF netlist circuit modified by the trigger, shield the internal information externally and provide the corresponding interface with EDIF for the trigger scan chain design.

在电路设计领域,Verilog HDL(Verilog硬件描述语言)就是一种常用的设计语言,可以作为封装EDIF网表电路的设计语言,将其包装成Verilog的形式,对外提供符合Verilog语法的接口,以供可测性设计人员进一步便捷的设计。Verilog语言的存储格式也是文本格式的,也可以使用Perl语言方便的完成封装这项工作,同时可以辅助扫描链设计人员在Verilog环境中完成扫描链的设计工作。In the field of circuit design, Verilog HDL (Verilog Hardware Description Language) is a commonly used design language, which can be used as a design language for encapsulating EDIF netlist circuits, packaging it in the form of Verilog, and providing an interface that conforms to Verilog syntax for external use. Testability designers further facilitate the design. The storage format of the Verilog language is also in the text format, and the packaging work can also be conveniently completed by using the Perl language. At the same time, it can assist scan chain designers to complete the scan chain design work in the Verilog environment.

发明内容Contents of the invention

本发明是为了适应对EDIF网表级电路的自动可测性设计的需求,从而提出一种基于Perl的EDIF网表级电路的自动可测性设计系统及自动可测性设计方法。The invention aims at adapting to the requirement of the automatic testability design of the EDIF netlist level circuit, thereby proposing an automatic testability design system and an automatic testability design method of the EDIF netlist level circuit based on Perl.

基于Perl的EDIF网表级电路的自动可测性设计系统,它包括电路源码解析模块1、触发器修改模块2、扫描链设计模块3、可测性电路生成模块4、测试验证模块5;An automatic testability design system for EDIF netlist-level circuits based on Perl, which includes a circuit source code analysis module 1, a trigger modification module 2, a scan chain design module 3, a testability circuit generation module 4, and a test verification module 5;

电路源码解析模块1用于对数字逻辑电路的EDIF网表级描述的分析,获得电路中所有触发器使用的信息;The circuit source code analysis module 1 is used to analyze the EDIF netlist-level description of the digital logic circuit, and obtain the information used by all flip-flops in the circuit;

触发器修改模块2包括可测性触发器生成模块21和触发器可测性修改模块22;The trigger modification module 2 includes a testability trigger generation module 21 and a trigger testability modification module 22;

触发器修改模块2用于根据电路源码解析模块提供的触发器信息,在电路的EDIF网表描述的文件中用EDIF语言完成对所有触发器的可测性修改;The trigger modification module 2 is used to complete the testability modification of all triggers in the file described by the EDIF netlist of the circuit according to the trigger information provided by the circuit source code analysis module;

扫描链设计模块3包括Verilog封装模块31和扫描链连接模块32;The scan chain design module 3 includes a Verilog encapsulation module 31 and a scan chain connection module 32;

Verilog封装模块31用于根据电路源码解析模块提供的触发器信息及触发器修改模块提供的触发器修改后的电路EDIF网表,完成对EDIF网表描述电路的Verilog封装;Verilog encapsulation module 31 is used for according to the circuit EDIF netlist after the trigger information that the circuit source analysis module provides and the trigger modification module provide modification after the trigger, finishes the Verilog encapsulation to EDIF netlist description circuit;

扫描链连接模块32用于根据电路源码解析模块提供的触发器信息及触发器修改模块提供的触发器修改后的电路EDIF网表,完成对EDIF网表描述电路用Verilog语言完成电路的扫描链设计;The scan chain connection module 32 is used to complete the circuit scan chain design for the EDIF netlist description circuit using Verilog language according to the trigger information provided by the circuit source code analysis module and the modified circuit EDIF netlist provided by the trigger modification module ;

可测性电路生成模块4用于根据扫描链设计模块生成的Verilog形式的电路完成对电路的再次Verilog封装,获得最终的可测性设计后的电路;The testability circuit generation module 4 is used to complete the re-Verilog packaging of the circuit according to the Verilog form of the circuit generated by the scan chain design module, and obtain the final circuit after the testability design;

测试验证模块5用于根据电路源码解析模块提供的端口和触发器信息以及可测性电路生成模块提供的已完成可测性设计的电路,生成测试文件并对可测性设计后的电路进行验证。The test verification module 5 is used to generate test files and verify the design-for-test circuit according to the port and trigger information provided by the circuit source code analysis module and the circuit with completed testability design provided by the testability circuit generation module .

可测性电路生成模块4获得最终的可测性设计后的电路对外屏蔽所有电路内部信息,仅提供符合常用硬件描述语言形式的接口。The testability circuit generation module 4 obtains the final circuit design for testability and shields all internal information of the circuit to the outside, and only provides an interface in the form of a common hardware description language.

基于Perl的EDIF网表级电路的自动测试方法,它由以下步骤实现:The automatic testing method of the EDIF netlist level circuit based on Perl, it is realized by the following steps:

步骤一、采用电路源码解析模块1对电路中使用的触发器进行分析,并使用Perl在EDIF环境中进行处理;Step 1. Use the circuit source code analysis module 1 to analyze the triggers used in the circuit, and use Perl to process in the EDIF environment;

步骤二、采用触发器修改模块2对电路中使用的触发器进行可测性的修改,并使用Perl在EDIF环境中进行处理;Step 2: Use the trigger modification module 2 to modify the trigger used in the circuit for testability, and use Perl to process it in the EDIF environment;

步骤三、使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,屏蔽EDIF细节,然后对电路中可测性改造的触发器进行扫描链的设计;Step 3. Use Perl to perform Verilog encapsulation on the EDIF circuit after the testability modification of the flip-flop, shield the EDIF details, and then design the scan chain for the flip-flop with the testability modification in the circuit;

步骤四、使用Perl给出最终的具有可测性的且符合Verilog语法的电路,并验证修改正确后,使用Perl生成符合Tcl语法的自动测试文件,进而实现EDIF网表级电路的自动测试。Step 4. Use Perl to give the final testable circuit that conforms to Verilog syntax, and after verifying that the modification is correct, use Perl to generate an automatic test file that conforms to Tcl syntax, and then realize the automatic test of the EDIF netlist level circuit.

步骤一中采用电路源码解析模块1对电路中使用的触发器进行分析,并使用Perl在EDIF环境中进行处理的具体方法为:In step 1, use the circuit source code analysis module 1 to analyze the trigger used in the circuit, and use Perl to process it in the EDIF environment. The specific method is as follows:

步骤A1、打开EDIF网表级电路文件;Step A1, open the EDIF netlist level circuit file;

步骤A2、从EDIF网表级电路文件中分析出电路中所有的元件使用信息,以及电路的调用信息;Step A2, analyzing the use information of all components in the circuit and the calling information of the circuit from the EDIF netlist level circuit file;

步骤A3、从步骤A2中获得的电路所有元件使用信息的文件中,分析出具体的instance的调用情况,并将其保存成调用格式,以文件形式保存;Step A3, from the file of usage information of all components of the circuit obtained in step A2, analyze the calling situation of the specific instance, and save it in the calling format, and save it in the form of a file;

步骤A4、从步骤A3输出的调用信息的文件中,找到与触发器有关的调用信息,分成对电路中使用的触发器的分析。Step A4, from the call information file output in step A3, find the call information related to flip-flops, and analyze the flip-flops used in the circuit.

步骤二中采用触发器修改模块2对电路中使用的触发器进行可测性的修改,并使用Perl在EDIF环境中进行处理的具体方法为:In step 2, use the trigger modification module 2 to modify the testability of the trigger used in the circuit, and use Perl to process it in the EDIF environment. The specific method is as follows:

步骤B1、从步骤一中分析出的所使用的所有触发器信息中,获得触发的类型;Step B1. Obtain the trigger type from all the trigger information analyzed in step 1;

步骤B2、生成一个可测性EDIF元件库,该元件库中包含有步骤B1中分析出的所有类型的触发器对应的可测性触发器;Step B2, generating a testability EDIF component library, which contains testability triggers corresponding to all types of triggers analyzed in step B1;

步骤B3、将步骤B2获得的可测性库插入到原电路的EDIF元件中,插入的位置在原电路有关触发器声明的库之后;Step B3, inserting the testability library obtained in step B2 into the EDIF component of the original circuit, the insertion position is after the library related to the flip-flop declaration of the original circuit;

步骤B4、根据步骤一中分析出的所使用的所有触发器信息,生成触发器的修改信息;Step B4. Generate trigger modification information according to all trigger information analyzed in step 1;

步骤B5、根据步骤B4获得的生成触发器的修改信息,对步骤B3的EDIF文件逐条修改,修改触发的引用路径,增加测试端口的声明及测试端口的节点连接,得到触发器修改完成的EDIF文件。Step B5. According to the modification information of the generated trigger obtained in step B4, modify the EDIF file in step B3 one by one, modify the reference path of the trigger, add the statement of the test port and the node connection of the test port, and obtain the EDIF file after the modification of the trigger .

步骤三中使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,屏蔽EDIF细节,然后对电路中可测性改造的触发器进行扫描链的设计的具体方法是:In step 3, use Perl to perform Verilog encapsulation on the EDIF circuit that has been modified for testability of the flip-flop, shield the details of the EDIF, and then design the scan chain for the flip-flop that has been modified for testability in the circuit. The specific method is:

步骤C1、使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,以Verilog的形式对外保留原电路的功能端口和新增加的测试端口;Step C1, use Perl to carry out Verilog encapsulation to the EDIF circuit after the flip-flop testability modification has been completed, and retain the functional port of the original circuit and the newly added test port externally in the form of Verilog;

步骤C2、根据预设的扫描链的连接方式对触发器进行连接。Step C2, connect the flip-flops according to the preset connection mode of the scan chain.

步骤四中使用Perl给出最终的具有可测性的且符合Verilog语法的电路,并验证修改正确后,使用Perl生成符合Tcl语法的自动测试文件的具体方法是:In step 4, use Perl to give the final testable circuit that conforms to Verilog syntax, and after verifying that the modification is correct, the specific method to use Perl to generate an automatic test file that conforms to Tcl syntax is:

步骤D1、对步骤三中生成的已完成扫描链设计的电路的Verilog文件进行再一次的封装,使用Verilog给出最后的电路形式,作为最终的可测性设计的输出文件;Step D1, repackaging the Verilog file of the circuit that has completed the scan chain design generated in step 3, and using Verilog to provide the final circuit form as the final output file of the design for testability;

步骤D2、根据电路的信息,生成一个测试文件,用于测试扫描链的连接是否正确;Step D2, according to the information of the circuit, generate a test file for testing whether the connection of the scan chain is correct;

步骤D3、针对特定的仿真器生成一个Tcl脚本,自动对可测性设计的输出文件进行验证。Step D3, generating a Tcl script for a specific simulator to automatically verify the output file of the design for testability.

本发明能够适应对EDIF网表级电路的自动可测性设计的需求。The invention can meet the requirement of automatic testability design for EDIF netlist level circuits.

附图说明Description of drawings

图1是本发明的基于Perl的EDIF网表级电路的自动可测性设计系统的原理示意图。Fig. 1 is the schematic diagram of the principle of the automatic testability design system of the Perl-based EDIF netlist level circuit of the present invention.

具体实施方式Detailed ways

具体实施方式一、结合图1说明本具体实施方式,基于Perl的EDIF网表级电路的自动可测性设计系统,它包括电路源码解析模块1、触发器修改模块2、扫描链设计模块3、可测性电路生成模块4、测试验证模块5;The specific embodiment one, illustrate this specific embodiment in conjunction with Fig. 1, the automatic testability design system based on the EDIF netlist level circuit of Perl, it comprises circuit source code parsing module 1, flip-flop modification module 2, scan chain design module 3, Testability circuit generation module 4, test verification module 5;

电路源码解析模块1用于对数字逻辑电路的EDIF网表级描述的分析,获得电路中所有触发器使用的信息;The circuit source code analysis module 1 is used to analyze the EDIF netlist-level description of the digital logic circuit, and obtain the information used by all flip-flops in the circuit;

触发器修改模块2包括可测性触发器生成模块21和触发器可测性修改模块22;The trigger modification module 2 includes a testability trigger generation module 21 and a trigger testability modification module 22;

触发器修改模块2用于根据电路源码解析模块提供的触发器信息,在电路的EDIF网表描述的文件中用EDIF语言完成对所有触发器的可测性修改;The trigger modification module 2 is used to complete the testability modification of all triggers in the file described by the EDIF netlist of the circuit according to the trigger information provided by the circuit source code analysis module;

扫描链设计模块3包括Verilog封装模块31和扫描链连接模块32;The scan chain design module 3 includes a Verilog encapsulation module 31 and a scan chain connection module 32;

Verilog封装模块31用于根据电路源码解析模块提供的触发器信息及触发器修改模块提供的触发器修改后的电路EDIF网表,完成对EDIF网表描述电路的Verilog封装;Verilog encapsulation module 31 is used for according to the circuit EDIF netlist after the trigger information that the circuit source analysis module provides and the trigger modification module provide modification after the trigger, finishes the Verilog encapsulation to EDIF netlist description circuit;

扫描链连接模块32用于根据电路源码解析模块提供的触发器信息及触发器修改模块提供的触发器修改后的电路EDIF网表,完成对EDIF网表描述电路用Verilog语言完成电路的扫描链设计;The scan chain connection module 32 is used to complete the circuit scan chain design for the EDIF netlist description circuit using Verilog language according to the trigger information provided by the circuit source code analysis module and the modified circuit EDIF netlist provided by the trigger modification module ;

可测性电路生成模块4用于根据扫描链设计模块生成的Verilog形式的电路完成对电路的再次Verilog封装,获得最终的可测性设计后的电路;The testability circuit generation module 4 is used to complete the re-Verilog packaging of the circuit according to the Verilog form of the circuit generated by the scan chain design module, and obtain the final circuit after the testability design;

测试验证模块5用于根据电路源码解析模块提供的端口和触发器信息以及可测性电路生成模块提供的已完成可测性设计的电路,生成测试文件并对可测性设计后的电路进行验证。The test verification module 5 is used to generate test files and verify the design-for-test circuit according to the port and trigger information provided by the circuit source code analysis module and the circuit with completed testability design provided by the testability circuit generation module .

具体实施方式二、本具体实施方式与具体实施方式一所述的基于Perl的EDIF网表级电路的自动可测性设计系统的区别在于,可测性电路生成模块4获得最终的可测性设计后的电路对外屏蔽所有电路内部信息,仅提供符合常用硬件描述语言形式的接口。Embodiment 2. The difference between this embodiment and the automatic testability design system based on Perl-based EDIF netlist level circuits described in Embodiment 1 is that the testability circuit generation module 4 obtains the final design for testability. The latter circuit shields all the internal information of the circuit to the outside, and only provides an interface in the form of a common hardware description language.

具体实施方式三、基于Perl的EDIF网表级电路的自动测试方法,它由以下步骤实现:The specific embodiment three, the automatic testing method of the EDIF netlist level circuit based on Perl, it is realized by the following steps:

步骤一、采用电路源码解析模块1对电路中使用的触发器进行分析,并使用Perl在EDIF环境中进行处理;Step 1. Use the circuit source code analysis module 1 to analyze the triggers used in the circuit, and use Perl to process in the EDIF environment;

步骤二、采用触发器修改模块2对电路中使用的触发器进行可测性的修改,并使用Perl在EDIF环境中进行处理;Step 2: Use the trigger modification module 2 to modify the trigger used in the circuit for testability, and use Perl to process it in the EDIF environment;

步骤三、使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,屏蔽EDIF细节,然后对电路中可测性改造的触发器进行扫描链的设计;Step 3. Use Perl to perform Verilog encapsulation on the EDIF circuit after the testability modification of the flip-flop, shield the EDIF details, and then design the scan chain for the flip-flop with the testability modification in the circuit;

步骤四、使用Perl给出最终的具有可测性的且符合Verilog语法的电路,并验证修改正确后,使用Perl生成符合Tcl语法的自动测试文件,进而实现EDIF网表级电路的自动测试。Step 4. Use Perl to give the final testable circuit that conforms to Verilog syntax, and after verifying that the modification is correct, use Perl to generate an automatic test file that conforms to Tcl syntax, and then realize the automatic test of the EDIF netlist level circuit.

具体实施方式四、本具体实施方式是具体实施方式三的所述的基于Perl的EDIF网表级电路的自动测试方法进一步限定,步骤一中采用电路源码解析模块1对电路中使用的触发器进行分析,并使用Perl在EDIF环境中进行处理的具体方法为:Specific embodiment four, this specific embodiment is that the automatic testing method of the described Perl-based EDIF netlist level circuit of specific embodiment three is further limited, adopts circuit source code analysis module 1 in the step 1 to carry out the flip-flop used in the circuit The specific method of analyzing and using Perl to process in the EDIF environment is as follows:

步骤A1、打开EDIF网表级电路文件;Step A1, open the EDIF netlist level circuit file;

步骤A2、从EDIF网表级电路文件中分析出电路中所有的元件使用信息,以及电路的调用信息;Step A2, analyzing the use information of all components in the circuit and the calling information of the circuit from the EDIF netlist level circuit file;

从EDIF原文件中分析出电路中所有的元件使用信息,及电路的调用信息,包括edif的name,library的name,library中包含所有的cell的name,cell中所有的view的name,view中调用的实例instance的name,及此instance的引用路径viewRef、cellRef、libraryRef,并将这些信息保存成一个文件,供后续使用。信息以“属性(空格)属性值”的形式按行存储,形式如下:Analyze the usage information of all components in the circuit and the call information of the circuit from the original EDIF file, including the name of the edif, the name of the library, the names of all the cells in the library, the names of all the views in the cell, and calls in the view The instance name of the instance, and the reference path viewRef, cellRef, libraryRef of this instance, and save these information into a file for subsequent use. The information is stored row by row in the form of "attribute (space) attribute value" in the following form:

edif edifnameedif edifname

library librarynamelibrary libraryname

cellc ellnamecellc ellname

view viewnameview viewname

instance instancename viewRef viewRefname cellRef cellRefname libraryReflibraryRefnameinstance instancename viewRef viewRefname cellRef cellRefname libraryReflibraryRefname

design designname cellRef cellRefname libraryRef librarynamedesign designname cellRef cellRefname libraryRef libraryname

对于edif属性,其值为edif;For the edif attribute, its value is edif;

对于library属性,其值为library;For the library attribute, its value is library;

对于cell属性,其值为cellname;For the cell attribute, its value is cellname;

对于view属性,其值为viewname;For the view attribute, its value is viewname;

对于instance属性,其值为viewname;instance属性包含viewRef属性,属性值为viewname;包含cellRef属性,属性值为cellname;可能包含libraryRef属性,其值为libraryRefname;For the instance attribute, its value is viewname; the instance attribute contains the viewRef attribute, and the attribute value is viewname; it contains the cellRef attribute, and the attribute value is cellname; it may contain the libraryRef attribute, and its value is libraryRefname;

对于design属性,属性值为designname;design属性包含cellRef属性,属性值cellRefname;包含libraryRef属性,属性值libraryRefname;For the design attribute, the attribute value is designname; the design attribute includes the cellRef attribute, and the attribute value is cellRefname; it includes the libraryRef attribute, and the attribute value is libraryRefname;

edif只有一个位于第一行,edif属性下面可能有多个library,library的级别为第一级,library下面可能有多个cell,cell的级别为第二级,cell下面可能有多个view,view为第三级,view下面可能有多个instance,instance为第四级,design只有一个,位于最后一行。There is only one edif on the first line, there may be multiple libraries under the edif attribute, the level of the library is the first level, there may be multiple cells under the library, the level of the cell is the second level, and there may be multiple views under the cell, view It is the third level, there may be multiple instances under the view, the instance is the fourth level, and there is only one design, which is located in the last row.

除edif和design之外的属性名按级别依次出现,若出现断档,则优先出现级别低的。Attribute names other than edif and design appear in order according to the level. If there is a gap, the lower level will appear first.

步骤A3、从步骤A2中获得的电路所有元件使用信息的文件中,分析出具体的instance的调用情况,并将其保存成调用格式,以文件形式保存,其格式如下:Step A3, from the file of usage information of all components of the circuit obtained in step A2, analyze the specific instance calling situation, and save it in a calling format, and save it in the form of a file, the format of which is as follows:

{lib.cell.view}{inLib.inCell.inView}[instName1instName2instName3…]{lib.cell.view}{inLib.inCell.inView}[instName1instName2instName3…]

lib库中的cell的view,被用于inLib的inCell的inView中,被使用的名称是instName1、instName2、instName3等等。The view of the cell in the lib library is used in the inView of inLib's inCell, and the names used are instName1, instName2, instName3, and so on.

步骤A4、从步骤A3输出的调用信息的文件中,找到与触发器有关的调用信息,分成对电路中使用的触发器的分析。Step A4, from the call information file output in step A3, find the call information related to flip-flops, and analyze the flip-flops used in the circuit.

具体实施方式五、本具体实施方式是具体实施方式三的所述的基于Perl的EDIF网表级电路的自动测试方法进一步限定,步骤二中采用触发器修改模块(2)对电路中使用的触发器进行可测性的修改,并使用Perl在EDIF环境中进行处理的具体方法为:Specific embodiment five, this specific embodiment is that the automatic test method of the described Perl-based EDIF netlist level circuit of specific embodiment three is further limited, adopts trigger modification module (2) in the step 2 to the trigger used in the circuit The specific method of modifying the testability of the device and using Perl in the EDIF environment is as follows:

步骤B1、从步骤一中分析出的所使用的所有触发器信息中,获得触发的类型;Step B1. Obtain the trigger type from all the trigger information analyzed in step 1;

步骤B2、生成一个可测性EDIF元件库,该元件库中包含有步骤B1中分析出的所有类型的触发器对应的可测性触发器;Step B2, generating a testability EDIF component library, which contains testability triggers corresponding to all types of triggers analyzed in step B1;

步骤B3、将步骤B2获得的可测性库插入到原电路的EDIF元件中,插入的位置在原电路有关触发器声明的库之后;Step B3, inserting the testability library obtained in step B2 into the EDIF component of the original circuit, the insertion position is after the library related to the flip-flop declaration of the original circuit;

步骤B4、根据步骤一中分析出的所使用的所有触发器信息,生成触发器的修改信息,修改信息的格式如下:Step B4. According to all trigger information analyzed in step 1, trigger modification information is generated. The format of the modification information is as follows:

{cell}{cellchanges}[portchanges]{cell}{cellchanges}[portchanges]

触发器cell的引用路径需要修改成cellchanges的引用路径,需要添加的测试端口在portchanges中。The reference path of the trigger cell needs to be changed to the reference path of cellchanges, and the test port to be added is in portchanges.

步骤B5、根据步骤B4获得的生成触发器的修改信息,对步骤B3的EDIF文件逐条修改,修改触发的引用路径,增加测试端口的声明及测试端口的节点连接,得到触发器修改完成的EDIF文件。Step B5. According to the modification information of the generated trigger obtained in step B4, modify the EDIF file in step B3 one by one, modify the reference path of the trigger, add the statement of the test port and the node connection of the test port, and obtain the EDIF file after the modification of the trigger .

具体实施方式六、本具体实施方式是具体实施方式三的所述的基于Perl的EDIF网表级电路的自动测试方法进一步限定,步骤三中使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,屏蔽EDIF细节,然后对电路中可测性改造的触发器进行扫描链的设计的具体方法是:Specific embodiment six, this specific embodiment is that the automatic testing method of the described Perl-based EDIF netlist level circuit of specific embodiment three is further limited, uses Perl in the step 3 to the EDIF after completing the flip-flop testability modification The circuit is packaged in Verilog, the details of EDIF are shielded, and then the specific method of designing the scan chain for the flip-flop for testability modification in the circuit is:

步骤C1、使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,以Verilog的形式对外保留原电路的功能端口和新增加的测试端口;Step C1, use Perl to carry out Verilog encapsulation to the EDIF circuit after the flip-flop testability modification has been completed, and retain the functional port of the original circuit and the newly added test port externally in the form of Verilog;

步骤C2、根据预设的扫描链的连接方式对触发器进行连接。Step C2, connect the flip-flops according to the preset connection mode of the scan chain.

具体实施方式七、本具体实施方式是具体实施方式三的所述的基于Perl的EDIF网表级电路的自动测试方法进一步限定,步骤四中使用Perl给出最终的具有可测性的且符合Verilog语法的电路,并验证修改正确后,使用Perl生成符合Tcl语法的自动测试文件的具体方法是:The specific embodiment seven, this specific embodiment is that the automatic test method of the described Perl-based EDIF netlist level circuit of the specific embodiment three is further limited, and in the step 4, use Perl to provide final testability and conform to Verilog Syntax circuit, and after verifying that the modification is correct, the specific method of using Perl to generate an automatic test file that conforms to Tcl syntax is:

步骤D1、对步骤三中生成的已完成扫描链设计的电路的Verilog文件进行再一次的封装,使用Verilog给出最后的电路形式,作为最终的可测性设计的输出文件;Step D1, repackaging the Verilog file of the circuit that has completed the scan chain design generated in step 3, and using Verilog to provide the final circuit form as the final output file of the design for testability;

步骤D2、根据电路的信息,生成一个测试文件,用于测试扫描链的连接是否正确;Step D2, according to the information of the circuit, generate a test file for testing whether the connection of the scan chain is correct;

步骤D3、针对特定的仿真器生成一个Tcl脚本,自动对可测性设计的输出文件进行验证。Step D3, generating a Tcl script for a specific simulator to automatically verify the output file of the design for testability.

具体实施方式七、以下以具体参数说明本发明的基于Perl的EDIF网表级电路的自动测试方法:The specific embodiment seven, the automatic test method of the EDIF netlist level circuit based on Perl of the present invention is illustrated below with specific parameters:

如下是一个EDIF网表级电路的示例,并没有什么实际的功能:The following is an example of an EDIF netlist-level circuit, and there is no actual function:

其中:A1这个EDIF网表有三个library,LIB1,LIB2,LIB3,用这三个库设计了一个design A1。在LIB1中含有一个cell,名字为CELL1,CELL1中含有一个view,名为PRIM。在LIB2中含有一个名为FD的cell,FD有一个名为PRIM的view,这个FD是一种触发器。在LIB3中含有一个名为CELL2的cell,这个cell有一个名为netlist的view,这个cell含有两个instance,其中一个是对LIB1中的CELL1的PRIM view的引用,另一个是对LIB2中的FD的PRIM view的调用。以上是对这个例子的所使用的电路元件及结构的说明。Among them: the EDIF netlist of A1 has three libraries, LIB1, LIB2, and LIB3, and a design A1 is designed with these three libraries. There is a cell named CELL1 in LIB1, and a view named PRIM in CELL1. There is a cell named FD in LIB2, and FD has a view named PRIM, and this FD is a trigger. There is a cell named CELL2 in LIB3. This cell has a view named netlist. This cell contains two instances, one of which is a reference to the PRIM view of CELL1 in LIB1, and the other is FD in LIB2. The call of the PRIM view. The above is the description of the circuit elements and structure used in this example.

现在对这个电路进行可测性设计:Now design for testability of this circuit:

{cell}{cellchanges}[portchanges]{cell}{cellchanges}[portchanges]

步骤(1):使用Perl对这个电路的EDIF网表进行元件的使用及结构的分析。Step (1): Use Perl to analyze the use and structure of components on the EDIF netlist of this circuit.

Step1:读入这个EDIF文件Step1: Read in this EDIF file

Step2:使用Perl提供的正则表达式按行检索,提取需要的信息,首先我们会提取edif网表的名字A1,然后会提取library的LIB1,以及LIB1的CELL1及PRIM这个view,以此类推,在提取instance的信息的时候,例如对于INST1,会得到它的引用路径,viewRef的值PRIM,cellRef的值CELL1,libraryRef的值LIB1。如果libraryRef缺省则表示是同一个library。Step2: Use the regular expression provided by Perl to search by row and extract the required information. First, we will extract the name A1 of the edif netlist, then we will extract the LIB1 of the library, and the view of CELL1 and PRIM of LIB1, and so on. When extracting instance information, for example, for INST1, you will get its reference path, the value PRIM of viewRef, the value CELL1 of cellRef, and the value LIB1 of libraryRef. If libraryRef defaults, it means the same library.

将获得如下的描述电路元件及结构的信息:The following information describing the circuit components and structure will be obtained:

edif A1edif A1

library LIB1library LIB1

cell CELL1cell CELL1

view PRIMview PRIM

library LIB2library LIB2

cell FDcell FD

view PRIMview PRIM

library LIB3library LIB3

cell CELL2cell CELL2

viewnetlistviewnetlist

instance INST1viewRef PRIM cellRef CELL1libraryRef LIB1instance INST1viewRef PRIM cellRef CELL1libraryRef LIB1

instance INST2viewRef PRIM cellRef FD libraryRef LIB2instance INST2viewRef PRIM cellRef FD libraryRef LIB2

design A1cellRef CELL2libraryRef LIB3design A1cellRef CELL2libraryRef LIB3

Step3:对第一步中获得的信息进行分析,获得相互之间的调用信息,如下Step3: Analyze the information obtained in the first step to obtain mutual calling information, as follows

{LIB1.CELL1.PRIM}{LIB3.CELL2.netlist}[INST1]{LIB1.CELL1.PRIM}{LIB3.CELL2.netlist}[INST1]

{LIB2.FD.PRIM}{LIB3.CELL2.netlist}[INST2]{LIB2.FD.PRIM}{LIB3.CELL2.netlist}[INST2]

Step4:找到这个例子中触发器FD的调用信息Step4: Find the call information of the trigger FD in this example

{LIB2.FD.PRIM}{LIB3.CELL2.netlist}[INST2]{LIB2.FD.PRIM}{LIB3.CELL2.netlist}[INST2]

步骤(2):Step (2):

Step1:从步骤(1)获得所使用的所有触发器信息中获得触发的类型;Step1: Obtain the trigger type from all the trigger information used in step (1);

Step2:生成一个可测性EDIF元件库,这个库中包含有Step1中分析出的所有类型的触发器对应的可测性触发器;Step2: Generate a testability EDIF component library, which contains testability triggers corresponding to all types of triggers analyzed in Step1;

这里针对FD类型的触发器,使用edif实现一个多路选择器结构的可测性触发器,命名为FD_T,多出的端口为端口S和端口T,并作为一个cell放到自己设计的可测性库中,例如库DFTFF。Here, for the FD type trigger, use edif to implement a testability trigger with a multiplexer structure, named FD_T, and the extra ports are port S and port T, and put them as a cell into the testable trigger of your own design library, such as the library DFTFF.

Step3:将Step2的可测性库插入到原电路的EDIF元件中,插入的位置在原电路有关触发器声明的库的后面Step3: Insert the testability library of Step2 into the EDIF component of the original circuit, and the insertion position is behind the library of the trigger declaration of the original circuit

这里将上面那个设计完的可测性库放到LIB2那段代码的后面,及LIB3所在行的前面。Here, put the above-designed testability library behind the code of LIB2 and in front of the line where LIB3 is located.

Step4:根据权利要求2中的步骤(1)获得所使用的所有触发器信息,生成触发器的修改信息,这里的修改信息为:Step4: Obtain all trigger information used according to step (1) in claim 2, generate the modification information of trigger, the modification information here is:

{LIB3.FD.PRIM}{DFTFF.FD_T.netlist}[S_INST2.INST2T_INST2.INST2Q_INST2.INST2]{LIB3.FD.PRIM}{DFTFF.FD_T.netlist}[S_INST2.INST2T_INST2.INST2Q_INST2.INST2]

Step5:根据Step4的修改信息,对Step3的EDIF文件逐条修改,修改触发的引用路径,增加测试端口的声明及测试端口的节点连接,得到触发器修改完成的EDIF文件。Step5: According to the modification information of Step4, modify the EDIF file of Step3 one by one, modify the reference path of the trigger, add the statement of the test port and the node connection of the test port, and obtain the EDIF file after the modification of the trigger.

步骤(3):步骤(2)完成后使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,屏蔽EDIF细节,然后对电路中可测性改造的触发器进行扫描链的设计,使用Perl辅助设计人员在Verilog环境中完成,算法如下:Step (3): After step (2) is completed, use Perl to perform Verilog encapsulation on the EDIF circuit that has been modified for testability of the flip-flop, shield the details of the EDIF, and then design the scan chain for the flip-flop that has been modified for testability in the circuit , using Perl to assist the designer to complete in the Verilog environment, the algorithm is as follows:

Step1:对权利要求2中的步骤(2)所生成的EDIF进行Verilog封装,以Verilog的形式对外保留原电路的功能端口和新增加的测试端口;Step1: the generated EDIF of the step (2) in claim 2 is carried out Verilog encapsulation, externally retains the functional port of the original circuit and the newly added test port in the form of Verilog;

Step2:设计人给出扫描链的连接方式;Step2: The designer gives the connection method of the scan chain;

Step3:按照设计人员给出的扫描链连接方式对触发器进行连接;Step3: Connect the trigger according to the scan chain connection method given by the designer;

步骤(4):生成最终的可测性电路文件,使用Perl给出最终的具有可测性的且符合Verilog语法的电路,并验证修改结果是否正确,使用Perl生成符合Tcl语法的自动测试文件,算法如下:Step (4): Generate the final testability circuit file, use Perl to give the final circuit with testability and conform to Verilog syntax, and verify whether the modification result is correct, use Perl to generate an automatic test file conforming to Tcl syntax, The algorithm is as follows:

Step1:对权利要求2中的步骤(3)所生成的已完成扫描链设计的电路的Verilog文件进行再一次的封装,使用Verilog给出最后的电路形式,作为最终的可测性设计的输出文件。Step1: Encapsulate the Verilog file of the circuit of the completed scan chain design generated by step (3) in claim 2, and use Verilog to provide the final circuit form as the output file of the final design for testability .

Step2:根据电路的信息,生成一个测试文件,用于测试扫描链的连接是否正确。Step2: According to the information of the circuit, a test file is generated to test whether the connection of the scan chain is correct.

Step3:针对特定的仿真器生成一个Tcl脚本,自动对可测性设计的输出结果进行验证。Step3: Generate a Tcl script for a specific simulator to automatically verify the output results of the testability design.

本发明的特点:Features of the present invention:

1、对使用EDIF网表所描述电路的调用层次进行分析时所用算法及存储数据的格式;1. The algorithm used and the format of the stored data when analyzing the calling level of the circuit described by the EDIF netlist;

2、对使用EDIF网表所描述电路中使用的触发器的分析算法及存储的数据格式及存储的数据格式,可测性库(library)的设计和library的插入,不同触发的可测性设计结构;2. The analysis algorithm and stored data format of the flip-flop used in the circuit described by the EDIF netlist, the design of the testability library (library) and the insertion of the library, and the testability design of different triggers structure;

3、分析电路中触发器被不同模块调用和实例化的情况的算法及存储格式;3. Analyze the algorithm and storage format of triggers in the circuit being called and instantiated by different modules;

4、对EDIF网表所描述电路中所有被使用的触发器进行可测性修改的算法;4. An algorithm for testability modification of all flip-flops used in the circuit described in the EDIF netlist;

5、使用Verilog语言对修改后的EDIF网表所描述电路进行封装,使其成为一个符合Verilog表述的电路;5. Use the Verilog language to encapsulate the circuit described in the modified EDIF netlist to make it a circuit that conforms to the Verilog expression;

6、在Verilog环境中按照Verilog语法对电路的扫描链进行设计;6. In the Verilog environment, design the scan chain of the circuit according to the Verilog syntax;

7、自动生成对修改后的电路进行测试的测试文件;7. Automatically generate test files for testing the modified circuit;

8、Tcl形式的电路自动测试文件的生成,自动添加测试向量并获取相应的测试响应。8. Automatically generate circuit test files in Tcl form, automatically add test vectors and obtain corresponding test responses.

Claims (4)

1.基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法,它是基于Perl的EDIF网表级电路的自动可测性设计系统实现的,该系统包括电路源码解析模块(1)、触发器修改模块(2)、扫描链设计模块(3)、可测性电路生成模块(4)、测试验证模块(5);1. The automatic testability design method of the Perl-based EDIF netlist-level circuit automatic testability design system, which is realized based on the Perl-based EDIF netlist-level circuit automatic testability design system, the system includes circuit source code Analysis module (1), trigger modification module (2), scan chain design module (3), testability circuit generation module (4), test verification module (5); 电路源码解析模块(1)用于对数字逻辑电路的EDIF网表级描述的分析,获得电路中所有触发器使用的信息;The circuit source code analysis module (1) is used to analyze the EDIF netlist-level description of the digital logic circuit, and obtain the information used by all flip-flops in the circuit; 触发器修改模块(2)包括可测性触发器生成模块(21)和触发器可测性修改模块(22);The trigger modification module (2) includes a testability trigger generation module (21) and a trigger testability modification module (22); 触发器修改模块(2)用于根据电路源码解析模块提供的触发器信息,在电路的EDIF网表描述的文件中用EDIF语言完成对所有触发器的可测性修改;The trigger modification module (2) is used to complete the testability modification to all triggers in the file described by the EDIF netlist of the circuit according to the trigger information provided by the circuit source code analysis module; 扫描链设计模块(3)包括Verilog封装模块(31)和扫描链连接模块(32);The scan chain design module (3) includes a Verilog encapsulation module (31) and a scan chain connection module (32); Verilog封装模块(31)用于根据电路源码解析模块提供的触发器信息及触发器修改模块提供的触发器修改后的电路EDIF网表,完成对EDIF网表描述电路的Verilog封装;Verilog encapsulation module (31) is used for the circuit EDIF netlist after the trigger information that provides according to the trigger information that circuit source analysis module provides and the trigger modification module provides modification, finishes the Verilog encapsulation to EDIF netlist description circuit; 扫描链连接模块(32)用于根据电路源码解析模块提供的触发器信息及触发器修改模块提供的触发器修改后的电路EDIF网表,完成对EDIF网表描述电路用Verilog语言完成电路的扫描链设计;The scan chain connection module (32) is used to complete the circuit EDIF netlist modified by the trigger information provided by the circuit source code analysis module and the trigger modified by the trigger modification module, and complete the scanning of the circuit described by the EDIF netlist in Verilog language chain design; 可测性电路生成模块(4)用于根据扫描链设计模块生成的Verilog形式的电路完成对电路的再次Verilog封装,获得最终的可测性设计后的电路;The testability circuit generating module (4) is used to complete the Verilog packaging of the circuit again according to the circuit in Verilog form generated by the scan chain design module, and obtain the circuit after the final testability design; 测试验证模块(5)用于根据电路源码解析模块提供的端口和触发器信息以及可测性电路生成模块提供的已完成可测性设计的电路,生成测试文件并对可测性设计后的电路进行验证;The test verification module (5) is used to generate test files according to the port and trigger information provided by the circuit source code analysis module and the circuit with completed testability design provided by the testability circuit generation module, and to test the circuit after the design for testability authenticating; 基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法,它由以下步骤实现:The automatic testability design method of the automatic testability design system based on Perl's EDIF netlist level circuit, it is realized by the following steps: 步骤一、采用电路源码解析模块(1)对电路中使用的触发器进行分析,并使用Perl在EDIF环境中进行处理;Step 1, using the circuit source code analysis module (1) to analyze the triggers used in the circuit, and use Perl to process in the EDIF environment; 步骤二、采用触发器修改模块(2)对电路中使用的触发器进行可测性的修改,并使用Perl在EDIF环境中进行处理;Step 2, using the trigger modification module (2) to modify the testability of the trigger used in the circuit, and use Perl to process it in the EDIF environment; 步骤三、使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,屏蔽EDIF细节,然后对电路中可测性改造的触发器进行扫描链的设计;Step 3. Use Perl to perform Verilog encapsulation on the EDIF circuit after the testability modification of the flip-flop, shield the EDIF details, and then design the scan chain for the flip-flop with the testability modification in the circuit; 步骤四、使用Perl给出最终的具有可测性的且符合Verilog语法的电路,并验证修改正确后,使用Perl生成符合Tcl语法的自动测试文件,进而实现EDIF网表级电路的自动测试;Step 4. Use Perl to give the final testable circuit that conforms to Verilog syntax, and after verifying that the modification is correct, use Perl to generate an automatic test file that conforms to Tcl syntax, and then realize the automatic test of EDIF netlist-level circuits; 其特征是:步骤四中使用Perl给出最终的具有可测性的且符合Verilog语法的电路,并验证修改正确后,使用Perl生成符合Tcl语法的自动测试文件的具体方法是:It is characterized in that: use Perl in step 4 to give the final circuit with measurability and conform to Verilog grammar, and after verifying that the modification is correct, the specific method of using Perl to generate an automatic test file conforming to Tcl grammar is: 步骤D1、对步骤三中生成的已完成扫描链设计的电路的Verilog文件进行再一次的封装,使用Verilog给出最后的电路形式,作为最终的可测性设计的输出文件;Step D1, repackaging the Verilog file of the circuit that has completed the scan chain design generated in step 3, and using Verilog to provide the final circuit form as the final output file of the design for testability; 步骤D2、根据电路的信息,生成一个测试文件,用于测试扫描链的连接是否正确;Step D2, according to the information of the circuit, generate a test file for testing whether the connection of the scan chain is correct; 步骤D3、针对特定的仿真器生成一个Tcl脚本,自动对可测性设计的输出文件进行验证。Step D3, generating a Tcl script for a specific simulator to automatically verify the output file of the design for testability. 2.根据权利要求1所述的基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法,其特征在于基于Perl的EDIF网表级电路的自动可测性设计系统中,可测性电路生成模块(4)获得最终的可测性设计后的电路对外屏蔽所有电路内部信息,仅提供符合常用硬件描述语言形式的接口。2. the automatic testability design method of the automatic testability design system based on the EDIF netlist level circuit of Perl according to claim 1, it is characterized in that the automatic testability design system based on the EDIF netlist level circuit of Perl Among them, the testability circuit generation module (4) obtains the final circuit design for testability and shields all internal information of the circuit to the outside, and only provides an interface conforming to the form of a common hardware description language. 3.根据权利要求1所述的基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法,其特征在于步骤一中采用电路源码解析模块(1)对电路中使用的触发器进行分析,并使用Perl在EDIF环境中进行处理的具体方法为:3. the automatic testability design method of the automatic testability design system of the EDIF netlist level circuit based on Perl according to claim 1, it is characterized in that adopting circuit source code analysis module (1) to use in the circuit in step one The specific method for analyzing triggers and using Perl to process them in the EDIF environment is as follows: 步骤A1、打开EDIF网表级电路文件;Step A1, open the EDIF netlist level circuit file; 步骤A2、从EDIF网表级电路文件中分析出电路中所有的元件使用信息,以及电路的调用信息;Step A2, analyzing the use information of all components in the circuit and the calling information of the circuit from the EDIF netlist level circuit file; 步骤A3、从步骤A2中获得的电路所有元件使用信息的文件中,分析出具体的instance的调用情况,并将其保存成调用格式,以文件形式保存;Step A3, from the file of the use information of all components of the circuit obtained in step A2, analyze the specific instance call situation, and save it in a call format, and save it in the form of a file; 步骤A4、从步骤A3输出的调用信息的文件中,找到与触发器有关的调用信息,分成对电路中使用的触发器的分析。Step A4, from the call information file output in step A3, find the call information related to flip-flops, and analyze the flip-flops used in the circuit. 4.根据权利要求1所述的基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法,其特征在于步骤三中使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,屏蔽EDIF细节,然后对电路中可测性改造的触发器进行扫描链的设计的具体方法是:4. the automatic testability design method of the automatic testability design system of the EDIF netlist level circuit based on Perl according to claim 1, it is characterized in that after using Perl in the step 3 to complete trigger testability modification The EDIF circuit is encapsulated in Verilog, the details of the EDIF are shielded, and then the specific method for designing the scan chain of the flip-flop for testability transformation in the circuit is: 步骤C1、使用Perl对已完成触发器可测性修改后的EDIF电路进行Verilog封装,以Verilog的形式对外保留原电路的功能端口和新增加的测试端口;Step C1, use Perl to carry out Verilog encapsulation to the EDIF circuit after the flip-flop testability modification has been completed, and retain the functional port of the original circuit and the newly added test port externally in the form of Verilog; 步骤C2、根据预设的扫描链的连接方式对触发器进行连接。Step C2, connect the flip-flops according to the preset connection mode of the scan chain.
CN201310268649.7A 2013-06-28 2013-06-28 Based on the automatic design for Measurability method of the automatic design for Measurability system of the EDIF net table level circuit of Perl Active CN103294600B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510267393.7A CN104809072A (en) 2013-06-28 2013-06-28 Automatic mensurability design method of Perl-based EDIF netlist-grade circuit automatic mensurability design system
CN201310268649.7A CN103294600B (en) 2013-06-28 2013-06-28 Based on the automatic design for Measurability method of the automatic design for Measurability system of the EDIF net table level circuit of Perl

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310268649.7A CN103294600B (en) 2013-06-28 2013-06-28 Based on the automatic design for Measurability method of the automatic design for Measurability system of the EDIF net table level circuit of Perl

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510267393.7A Division CN104809072A (en) 2013-06-28 2013-06-28 Automatic mensurability design method of Perl-based EDIF netlist-grade circuit automatic mensurability design system

Publications (2)

Publication Number Publication Date
CN103294600A CN103294600A (en) 2013-09-11
CN103294600B true CN103294600B (en) 2015-08-19

Family

ID=49095518

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310268649.7A Active CN103294600B (en) 2013-06-28 2013-06-28 Based on the automatic design for Measurability method of the automatic design for Measurability system of the EDIF net table level circuit of Perl
CN201510267393.7A Pending CN104809072A (en) 2013-06-28 2013-06-28 Automatic mensurability design method of Perl-based EDIF netlist-grade circuit automatic mensurability design system

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201510267393.7A Pending CN104809072A (en) 2013-06-28 2013-06-28 Automatic mensurability design method of Perl-based EDIF netlist-grade circuit automatic mensurability design system

Country Status (1)

Country Link
CN (2) CN103294600B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530479B (en) * 2013-10-31 2016-09-21 哈尔滨工业大学 The part design for Measurability system of EDIF netlist level circuit based on Perl and part design for Measurability method
CN103632019A (en) * 2013-12-25 2014-03-12 哈尔滨工业大学 Automatic realization system and method for partial testability design for Perl-based Verilog netlist circuit
CN103699422A (en) * 2013-12-25 2014-04-02 哈尔滨工业大学 System and method for performing testability design on verilog netlist description of circuit through Perl
CN104216831B (en) * 2014-09-09 2017-04-12 上海北大方正科技电脑系统有限公司 FPGA (Field Programmable Gate Array) interactive simulation method based on Tcl (Tool Command Language)
CN107301256B (en) * 2016-04-15 2020-11-10 深圳市中兴微电子技术有限公司 Verification method and device of integrated circuit
CN107256303B (en) * 2017-06-06 2020-08-11 西安电子科技大学 Method for rapidly acquiring simulation state of internal node of digital gate-level circuit
CN110210133B (en) * 2019-06-03 2022-07-08 哈尔滨工程大学 Automatic fault injection method for EDIF netlist-level combinational logic circuit
CN111143825A (en) * 2019-12-31 2020-05-12 哈尔滨华昇半导体网络科技有限公司 Integrated circuit development management system and method
CN113113973B (en) * 2021-04-19 2023-01-03 重庆触视科技有限公司 Wireless quick charging design method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311318B1 (en) * 1999-07-13 2001-10-30 Vlsi Technology, Inc. Design for test area optimization algorithm

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1267739C (en) * 2002-12-30 2006-08-02 清华大学 Scanning design with nano-scanning design test cost and test vector input method
WO2007146849A1 (en) * 2006-06-09 2007-12-21 Lightspeed Logic, Inc. Transparent test method and scan flip-flop

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311318B1 (en) * 1999-07-13 2001-10-30 Vlsi Technology, Inc. Design for test area optimization algorithm

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"PERL在IC设计中的应用";华胜华等;《中国集成电路》;20040505(第05期);第36-41+31页 *
"基于TCL语言的系统配置自动化测试脚本设计与实施";夏雷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20071115(第05期);I138-173 *
"系统级芯片的可测性设计研究";陈业荣;《中国优秀硕士学位论文全文数据库 信息科技辑》;20070915(第03期);第23-25页4.1节,第53-57页6.4.1节和6.4.2节及图15-17,44-45 *
何锋等."边界扫描测试矢量自动生成中的网表编译技术研究".《2007’中国仪器仪表与测控技术交流大会论文集(二)》.2007, *

Also Published As

Publication number Publication date
CN104809072A (en) 2015-07-29
CN103294600A (en) 2013-09-11

Similar Documents

Publication Publication Date Title
CN103294600B (en) Based on the automatic design for Measurability method of the automatic design for Measurability system of the EDIF net table level circuit of Perl
US9064068B1 (en) Debuggable opaque IP
US7490307B2 (en) Automatic generating of timing constraints for the validation/signoff of test structures
KR100463735B1 (en) Method for design validation of complex ic
US8732632B1 (en) Method and apparatus for automated extraction of a design for test boundary model from embedded IP cores for hierarchical and three-dimensional interconnect test
US10372858B2 (en) Design-for-testability (DFT) insertion at register-transfer-level (RTL)
US9183329B2 (en) Debugging simulation with partial design replay
Sohofi et al. Assertion-based verification for system-level designs
US20160292332A1 (en) System for verifying timing constraints of ic design
CN107784185B (en) Method and device for extracting pseudo path in gate-level netlist and terminal equipment
US10140412B2 (en) Timing matching method of timing analyzer and method of designing integrated circuit using the same
Saafan et al. SoC connectivity specification extraction using incomplete RTL design: An approach for Formal connectivity Verification
US8943457B2 (en) Simulating scan tests with reduced resources
Jiang et al. PyH2: Using PyMTL3 to create productive and open-source hardware testing methodologies
US11409931B1 (en) Systems and methods for optimizing scan pipelining in hierarchical test design
TWI531921B (en) Timing analysis method for digital circuit design and system thereof
CN103530479B (en) The part design for Measurability system of EDIF netlist level circuit based on Perl and part design for Measurability method
CN105372582B (en) A kind of generation method and system of module level boundary scan chain
Chen et al. VHDL behavioral ATPG and fault simulation of digital systems
Alemzadeh et al. " Plug & Test" at System Level via Testable TLM Primitives
Devarajegowda et al. A mutually-exclusive deployment of formal and simulation techniques using proof-core analysis
US20220398367A1 (en) Finite State Machine Vulnerability and Pipeline Analysis Using Satisfiability Modeling
US10614181B2 (en) Electronic design tools using non-synthesizable circuit elements
Suma et al. Fault modeling of combinational and sequential circuits at register transfer level
Chen et al. SEU/SET Evaluation of Digital VLSI Design from Register Transfer Level to Layout Level

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant