WO2017177705A1 - Very-large-scale integration circuit (vlsi) formal verification platform and method - Google Patents
Very-large-scale integration circuit (vlsi) formal verification platform and method Download PDFInfo
- Publication number
- WO2017177705A1 WO2017177705A1 PCT/CN2016/109582 CN2016109582W WO2017177705A1 WO 2017177705 A1 WO2017177705 A1 WO 2017177705A1 CN 2016109582 W CN2016109582 W CN 2016109582W WO 2017177705 A1 WO2017177705 A1 WO 2017177705A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- script
- setting
- platform
- verification
- lib
- Prior art date
Links
- 238000012795 verification Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000010354 integration Effects 0.000 title abstract description 5
- 238000013515 script Methods 0.000 claims abstract description 101
- 238000000605 extraction Methods 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000013461 design Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004904 shortening Methods 0.000 claims description 3
- 235000000332 black box Nutrition 0.000 claims description 2
- 244000085682 black box Species 0.000 claims description 2
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
Definitions
- the present invention relates to the field of chip formal verification technology, and in particular, to a VLSI form verification platform and method for a very large scale integrated circuit.
- VLSI is an abbreviation for Very Large Scale Integration, which refers to an integrated circuit in which tens of millions of transistors are integrated on a silicon chip of several millimeters square and a line width is less than 1 micrometer. Since the transistor and the connection are completed at one time, the cost and cost of making several to millions of transistors are equivalent. Mass production ⁇ , hardware costs are almost insignificant, depending on design costs.
- the technical problem to be solved by the present invention is: In view of the rapid development of the scale and complexity of today's integrated circuits, the integrated work faces various challenges, and the present invention proposes a VLSI VLS.
- I formal verification platform and method taking into account the large scale of VLSI, the use of top-down integration has high resource requirements, large sales margins, the same chip level, module differences, the use of bottom Upward strategy, modular implementation of the components of the verification platform.
- a VLSI formal verification platform for a very large scale integrated circuit includes components: a variable setting script, a Lib read script, a DUT read script, an Env setting script, and a report setting script, and the verification platform further includes The match/unmatch point extraction script that processes the output of the verification platform. Once the detection verification fails, there is an immatch point, which enables the iterative work to be performed automatically, where:
- variable setting script uniformly sets macro variables such as a Lib/DUT read path, a result output path, and a top level name to be tested, and is responsible for setting variables such as top name, source path, report path, and library path of each DUT;
- Lib reads the script, manages the standard cell library and various IP read-in, manages each module Lib separately, and reduces the read-in time; the entire chip uses a large variety of IPs, such as: interface and memory, etc.
- IPs used by different modules are inconsistent or some modules do not use IP.
- the library units of each integrated module are managed separately, and the library read-in time is greatly reduced.
- the DUT reads the script, calls the corresponding setting in the variable setting script, reads the source design RTL code, separately manages each verification module, realizes verifying different levels and different modules, and accurately reading the corresponding RTL code;
- the Env environment setting script sets the verification tool to deal with special cases such as warning, undriven, and bl ackbox, and completes the undriven signal, mismatch_messag e (mismatch information), and warning type. Settings such as processing methods;
- the match/unmatch point extraction script is responsible for processing the unmatch output result to conform to the platform read format, and checking whether the match or aborted verified condition is reasonable; processing the unmatch and unverified aborted reports, so that It conforms to the platform read-in format, especially if there is an unmat ch point for iterative verification, and the output native format is processed into the set_user_match format, and the unchecked whether the unv erified and aborted cases meet the constraints set by the script;
- Report setting script calling variable setting script, outputting analysis result, immatd ⁇ failing ), aborted (unscheduled), unverified (uncertified) and other information to the specified working directory;
- the top.tcl file calls other setting scripts in a certain order, performs unified management and is responsible for starting the platform, and realizes consistent management of the entire project.
- the Env environment setting script can be shared by all platforms.
- the match/unmatch point extraction script is created using peri. Verify that there may be hundreds or even more unmatch points, and the platform output result format is a platform environment that cannot be directly read. Therefore, using peri's powerful text processing capabilities, a match/unmatch point extraction script is created. The verification verification does not pass the existence of the unmatch point, so that the iterative work can be automated.
- Perl a feature-rich computer programming language that runs on more than 100 computer platforms, is available from mainframes to portable devices, from rapid prototyping to large-scale scalable bursts.
- the reading order of the top.tcl file management script is: a variable setting script, a Lib reading script, an En V setting script, a DUT reading script, a platform control command, and a report script.
- a VLSI formal verification method for a very large scale integrated circuit the method reasonably dividing a component of a formal verification platform, a Lib read script, a DUT read setting script, an Env environment setting script, a Report setting script, and added
- the variable setting script processes the match/unmatch point extraction script of the output of the verification platform.
- Each script is managed in a certain order by top.tcl, and the unified management of the entire project is realized, so that the entire formal verification work is more hierarchical and divided.
- Hierarchies or sub-modules can be independently verified, enabling read-through shortening and parallelization of different sub-modules.
- the method is incremented one level at a time according to the level of division.
- the present invention uses perl to implement the processing of the result, and realizes the automation of the iterative verification of the unmatch point, and the source code of each module to be verified and Lib are respectively managed, which greatly reduces the consumption of reading and reading.
- FIG. 1 is a schematic structural diagram of a verification platform. Embodiments of the invention
- Embodiment 1 is a diagrammatic representation of Embodiment 1 :
- a VLSI formal verification platform for a very large scale integrated circuit includes components: a variable setting script, a Lib read script, a DUT read script, an Env setting script, and a report setting script.
- the verification platform further includes a match/unmatch point extraction script for processing the output of the verification platform. Once the detection verification fails, there is an immatch point, which enables the iterative work to be performed automatically, wherein:
- variable setting script uniformly sets macro variables such as a Lib/DUT read path, a result output path, and a top level name to be tested, and is responsible for setting variables such as a top name, a source path, a report path, and a library path of each DUT.
- macro variables such as a Lib/DUT read path, a result output path, and a top level name to be tested, and is responsible for setting variables such as a top name, a source path, a report path, and a library path of each DUT.
- Lib reads the script, manages the reading of the standard cell library and various IPs (storage IP, PAD IP and other IP libraries), manages each module Lib separately, and reduces the read-in time; the entire chip will use a large amount of Various IPs, such as: interface and memory, etc., and the IP used by different modules is inconsistent or some modules do not use IP.
- the library units of each integrated module are managed separately, and the library read-in is greatly reduced.
- the DUT reads the script, calls the corresponding setting in the variable setting script, reads the source design RTL code, separately manages each verification module, realizes verifying different levels and different modules, and accurately reads the corresponding RTL code;
- Env environment setting script responsible for managing the setting of the tool's own variable, setting the verification tool for the special case of warning, undriven blackbox, etc., and completing the setting of the undriven signal, the mismatch_m essage and the warning type processing mode;
- the match/unmatch point extraction script is responsible for statistically verifying that the verification result is not responsible for the unmatch, and processing the form acceptable to the verification platform and feeding back to the verification platform; responsible for processing the unmatch output result to make it conform to the platform read Enter the format, check whether the match or aborted verify condition is reasonable; handle the unmatch, unverified ⁇ aborted report to make it conform to the platform read format, especially if there is an unmatch point, iterative verification, and the output format is processed.
- Se t_ USer _mat C h format with check-inch unverified and aborted the situation meets the constraints set by the script;
- Report setting script calling variable setting script, outputting analysis result, unmatch, failing, abort Ed, unverified and other information to the specified working directory, responsible for the printing and output of formal verification results;
- top.tcl calls other setting scripts in a certain order, performs unified management and is responsible for starting the platform, and realizes consistent management of the entire project.
- LIB There are two kinds of LIB, one is a static library, such as the C-Runtime library.
- This LIB has function implementation code, which is generally used in static build, which adds the code in LIB to the target module (EXE). Or DLL) file, so after the link is complete, the LIB file is useless.
- a LIB is used with the DLL. There is no code in it. The code is in the DLL.
- This LIB is used to statically call the DLL. Therefore, the role is also a link function. The link is completed, and the LIB is useless.
- the LIB file is not used at all. After the target module (EXE or DLL) file is generated, the LIB file is not needed;
- the Env environment setting script described in this embodiment may be shared by all platforms.
- the match/unmatch point extraction script described in this embodiment is created by perl. Verification may occur in hundreds or even more unmatch points, and the platform output result format is a platform environment that cannot be directly read. Therefore, using peri's powerful text processing capability, a match/un match point extraction script is created. Once the test verification does not pass the existence of the unmatch point, the automation of the iterative work can be performed.
- Perl a feature-rich computer programming language that runs on more than 100 computer platforms, is suitable for a wide range of applications, from mainframe to portable devices, from rapid prototyping to large-scale scalable bursts; 'Practical Extraction and Report'
- the reading order of the top.tcl file management script in this embodiment is: variable setting script, Lib reading script, Env setting script, DUT reading script, platform control command. , Rep ort script.
- Embodiment 5 A VLSI formal verification method for a very large scale integrated circuit, the method reasonably dividing a component of a formal verification platform, a Lib read script, a DUT read setting script, an Env environment setting script, and a report setting script, and adding The variable setting script processes the match/unmatch point extraction script of the output of the verification platform.
- Each script is managed in a certain order by top.tcl, and the unified management of the entire project is realized, so that the entire formal verification work is more hierarchical and divided. Hierarchies or sub-modules can be independently verified, enabling read-through shortening and parallelization of different sub-modules.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Stored Programmes (AREA)
Abstract
A very-large-scale integration circuit (VLSI) formal verification platform and method. The verification platform comprises the components of a variable setting script, a Lib reading script, a DUT reading script, an Env setting script and a Report setting script. The verification platform further comprises a match/unmatch point extraction script for processing an output result of the verification platform. The verification platform and method use perl to realize the processing of a result, realize the automatic iterative verification of unmatch points, respectively manage a source code of each module to be verified and Lib, and greatly reduce the consumption of a reading time.
Description
一种超大规模集成电路 VLSI形式化验证平台及方法 技术领域 VLSI formal verification platform and method for ultra-large scale integrated circuit
[0001] 本发明涉及芯片形式化验证技术领域, 具体涉及一种超大规模集成电路 VLSI形 式化验证平台及方法。 [0001] The present invention relates to the field of chip formal verification technology, and in particular, to a VLSI form verification platform and method for a very large scale integrated circuit.
背景技术 Background technique
[0002] 当今超大规模集成电路复杂度高、 规模大、 层次多, 全芯片整体验证 (top-do wn策略) 存在资源要求高、 吋间幵销大、 迭代代价高等问题, 每个层次、 模块 发生不匹配 (immatch)情形不尽相同, 增加调试的难度。 [0002] Today's VLSIs are complex, large-scale, and multi-layered. The whole-chip overall verification (top-do wn strategy) has high resource requirements, large sales margins, and high iteration cost. Each level and module The mismatch situation is different, which makes it difficult to debug.
[0003] 数字集成电路的集成度越来越高, 逻辑复杂度及算法也愈来愈复杂, 在保证吋 序, 兼顾面积、 功耗的基础上, 综合工作面临很大的挑战, 在网表流入后端阶 段前, 需确保综合后的网表同源代码设计功能的等价性。 形式化验证作为一种 检査流程, 验证的速度、 完备性, 严重影响着后续工作的展幵。 因此, 合理高 效的验证平台的作用很重要。 对于规模大、 复杂度高的集成电路, 形式化验证 面临着芯片层次多、 子模块多, 同吋还涉及到各种各样的 IP库, 因此, 全芯片的 形式化验证会耗费大量的机器、 吋间资源, 更会提升迭代成本, 会严重阻碍芯 片的研发进程, 所以这种方法在目前基本是不现实的。 [0003] The integration degree of digital integrated circuits is getting higher and higher, the logic complexity and algorithms are becoming more and more complicated. On the basis of ensuring the order, taking into account the area and power consumption, the comprehensive work faces great challenges in the netlist. Before flowing into the back-end phase, it is necessary to ensure the equivalence of the integrated network table homologous code design function. Formal verification as a kind of inspection process, the speed and completeness of verification seriously affect the follow-up work. Therefore, the role of a reasonably efficient verification platform is important. For large-scale, high-complexity integrated circuits, formal verification faces many chip layers and many sub-modules. It also involves various IP libraries. Therefore, full-chip formal verification will consume a large number of machines. The diurnal resources will increase the iterative cost, which will seriously hinder the development process of the chip, so this method is basically unrealistic at present.
[0004] 为解决以上问题, 常用自底向上的策略, 但需要合理实现验证层次以及子模块 的划分。 高效的验证工作进展需要高效而又合理的验证脚本搭建好的验证平台 及对结果的处理工作, 尤其是出现未负责 (unmatch)情况吋如何进行迭代验证。 [0004] In order to solve the above problems, a bottom-up strategy is commonly used, but it is necessary to reasonably implement the verification hierarchy and the division of sub-modules. Efficient verification work requires efficient and reasonable verification scripts to build a verification platform and process the results, especially in the case of unmatched conditions.
[0005] VLSI是超大规模集成电路 (Very Large Scale Integration)的简称, 指几毫米见方 的硅片上集成上万至百万晶体管、 线宽在 1微米以下的集成电路。 由于晶体管与 连线一次完成, 故制作几个至上百万晶体管的工吋和费用是等同的。 大量生产 吋, 硬件费用几乎可不计, 而取决于设计费用。 [0005] VLSI is an abbreviation for Very Large Scale Integration, which refers to an integrated circuit in which tens of millions of transistors are integrated on a silicon chip of several millimeters square and a line width is less than 1 micrometer. Since the transistor and the connection are completed at one time, the cost and cost of making several to millions of transistors are equivalent. Mass production 吋, hardware costs are almost insignificant, depending on design costs.
技术问题 technical problem
[0006] 本发明要解决的技术问题是: 针对考虑现今集成电路规模、 复杂度的飞速发展 , 导致综合工作面临各种各样的挑战, 本发明提出了一种超大规模集成电路 VLS
I形式化验证平台及方法, 考虑到超大规模集成电路规模过大, 采用自顶向下综 合存在资源要求高、 吋间幵销大的问题, 同吋芯片层级多、 模块差别大, 采用 自底向上策略, 模块化的实现验证平台各组件。 [0006] The technical problem to be solved by the present invention is: In view of the rapid development of the scale and complexity of today's integrated circuits, the integrated work faces various challenges, and the present invention proposes a VLSI VLS. I formal verification platform and method, taking into account the large scale of VLSI, the use of top-down integration has high resource requirements, large sales margins, the same chip level, module differences, the use of bottom Upward strategy, modular implementation of the components of the verification platform.
问题的解决方案 Problem solution
技术解决方案 Technical solution
[0007] 本发明所采用的技术方案为: [0007] The technical solution adopted by the present invention is:
[0008] 一种超大规模集成电路 VLSI形式化验证平台, 所述验证平台包括组件: 变量设 置脚本、 Lib读入脚本、 DUT读入脚本、 Env设置脚本、 Report设置脚本, 所述验 证平台还包括处理验证平台输出结果的 match/unmatch点提取脚本, 一旦检测验 证不通过, 存在 immatch点, 能够使迭代工作的自动化地进行, 其中: [0008] A VLSI formal verification platform for a very large scale integrated circuit, the verification platform includes components: a variable setting script, a Lib read script, a DUT read script, an Env setting script, and a report setting script, and the verification platform further includes The match/unmatch point extraction script that processes the output of the verification platform. Once the detection verification fails, there is an immatch point, which enables the iterative work to be performed automatically, where:
[0009] 变量设置脚本, 统一设置 Lib/DUT读入路径、 结果输出路径及待测设置顶层名 等宏变量, 负责完成对各 DUT顶层名、 源路径、 报告路径、 库路径等变量的设 置; [0009] The variable setting script uniformly sets macro variables such as a Lib/DUT read path, a result output path, and a top level name to be tested, and is responsible for setting variables such as top name, source path, report path, and library path of each DUT;
[0010] Lib读入脚本, 管理标准单元库及各种 IP的读入, 单独管理各模块 Lib , 减少读 入吋间; 整个芯片会用到大量的各种 IP, 例如: 接口和 memory等, 而不同模块 所用到的 IP是不一致或有些模块不会使用到 IP, 每个综合模块的库单元单独管理 , 实现库读入吋间的大大减少; [0010] Lib reads the script, manages the standard cell library and various IP read-in, manages each module Lib separately, and reduces the read-in time; the entire chip uses a large variety of IPs, such as: interface and memory, etc. The IPs used by different modules are inconsistent or some modules do not use IP. The library units of each integrated module are managed separately, and the library read-in time is greatly reduced.
[0011] DUT读入脚本, 调用变量设置脚本中的对应设置, 读入源设计 RTL代码, 单独 管理各验证模块, 实现在验证不同层次、 不同模块吋, 精确读入对应 RTL代码; [0011] The DUT reads the script, calls the corresponding setting in the variable setting script, reads the source design RTL code, separately manages each verification module, realizes verifying different levels and different modules, and accurately reading the corresponding RTL code;
[0012] Env环境设置脚本, 设置验证工具对于 warning (告警)、 undriven (无驱动) 、 bl ackbox (黑箱) 等特殊情况的处理方式, 完成对 undriven信号、 mismatch_messag e (不匹配信息) 及 warning类型处理方式等的设置; [0012] The Env environment setting script sets the verification tool to deal with special cases such as warning, undriven, and bl ackbox, and completes the undriven signal, mismatch_messag e (mismatch information), and warning type. Settings such as processing methods;
[0013] match/unmatch点提取脚本, 负责对 unmatch输出结果的处理, 使其符合平台读 入格式, 同吋对 match、 aborted verified情况进行检査是否合理; 针对 unmatch 、 unverified aborted报告进行处理, 使其符合平台读入格式, 尤其是存在 unmat ch点吋进行迭代验证, 将输出固有格式处理为 set_user_match格式, 同吋检査 unv erified和 aborted的情况是否符合脚本设置的约束; [0013] The match/unmatch point extraction script is responsible for processing the unmatch output result to conform to the platform read format, and checking whether the match or aborted verified condition is reasonable; processing the unmatch and unverified aborted reports, so that It conforms to the platform read-in format, especially if there is an unmat ch point for iterative verification, and the output native format is processed into the set_user_match format, and the unchecked whether the unv erified and aborted cases meet the constraints set by the script;
[0014] Report设置脚本, 调用变量设置脚本, 输出分析结果、 immatd^ failing (失败
) 、 aborted (中止) 、 unverified (未认证) 等信息至指定工作目录下; [0014] Report setting script, calling variable setting script, outputting analysis result, immatd^ failing ), aborted (unscheduled), unverified (uncertified) and other information to the specified working directory;
[0015] top.tcl文件按一定顺序调用其他设置脚本, 进行统一管理并负责平台的启动, 实现整个项目的一致化管理。 [0015] The top.tcl file calls other setting scripts in a certain order, performs unified management and is responsible for starting the platform, and realizes consistent management of the entire project.
[0016] 所述 Env环境设置脚本可全平台共用。 [0016] The Env environment setting script can be shared by all platforms.
[0017] 所述 match/unmatch点提取脚本利用 peri创建。 验证可能出现成百上千乃至更多 的 unmatch点, 而平台输出结果格式是不可直接被读入的平台环境的, 因此, 利 用 peri强大的文本处理能力, 创建了 match/unmatch点提取脚本, 一旦检测验证不 通过存在 unmatch点, 可以使迭代工作的自动化的进行。 [0017] The match/unmatch point extraction script is created using peri. Verify that there may be hundreds or even more unmatch points, and the platform output result format is a platform environment that cannot be directly read. Therefore, using peri's powerful text processing capabilities, a match/unmatch point extraction script is created. The verification verification does not pass the existence of the unmatch point, so that the iterative work can be automated.
[0018] Perl, 一种功能丰富的计算机程序语言, 运行在超过 100种计算机平台上, 适用 广泛, 从大型机到便携设备, 从快速原型创建到大规模可扩展幵发。 [0018] Perl, a feature-rich computer programming language that runs on more than 100 computer platforms, is available from mainframes to portable devices, from rapid prototyping to large-scale scalable bursts.
[0019] 所述 top.tcl文件管理脚本的读入顺序依次为: 变量设置脚本、 Lib读入脚本、 En V设置脚本、 DUT读入脚本、 平台控制命令、 Report脚本。 [0019] The reading order of the top.tcl file management script is: a variable setting script, a Lib reading script, an En V setting script, a DUT reading script, a platform control command, and a report script.
[0020] 一种超大规模集成电路 VLSI形式化验证方法, 所述方法合理划分了形式化验证 平台各组件 Lib读入脚本、 DUT读入设置脚本、 Env环境设置脚本、 Report设置脚 本, 并增加了变量设置脚本, 处理验证平台输出结果的 match/unmatch点提取脚 本, 各个脚本通过 top.tcl按一定顺序管理, 实现整个项目的一致化的管理, 使整 个形式化验证工作更加有层次化, 被划分层次或子模块能够独立进行验证, 实 现读入吋间缩短和不同子模块并行化进行。 [0020] A VLSI formal verification method for a very large scale integrated circuit, the method reasonably dividing a component of a formal verification platform, a Lib read script, a DUT read setting script, an Env environment setting script, a Report setting script, and added The variable setting script processes the match/unmatch point extraction script of the output of the verification platform. Each script is managed in a certain order by top.tcl, and the unified management of the entire project is realized, so that the entire formal verification work is more hierarchical and divided. Hierarchies or sub-modules can be independently verified, enabling read-through shortening and parallelization of different sub-modules.
[0021] 所述方法当最底层模块验证完成后, 根据划分的层次, 一级一级向上递增。 [0021] After the verification of the lowest level module is completed, the method is incremented one level at a time according to the level of division.
发明的有益效果 Advantageous effects of the invention
有益效果 Beneficial effect
[0022] 本发明的有益效果为: [0022] The beneficial effects of the present invention are:
[0023] 本发明使用 perl实现了对结果的处理, 实现了对 unmatch点的迭代验证的自动化 进行, 各待验证模块源代码、 Lib各自管理, 大大降低了读入吋间的消耗。 [0023] The present invention uses perl to implement the processing of the result, and realizes the automation of the iterative verification of the unmatch point, and the source code of each module to be verified and Lib are respectively managed, which greatly reduces the consumption of reading and reading.
对附图的简要说明 Brief description of the drawing
附图说明 DRAWINGS
[0024] 图 1为验证平台结构示意图。
本发明的实施方式 1 is a schematic structural diagram of a verification platform. Embodiments of the invention
[0025] 下面结合说明书附图, 根据具体实施方式对本发明进一步说明: [0025] The present invention will be further described below in accordance with specific embodiments with reference to the accompanying drawings:
[0026] 实施例 1 : Embodiment 1 :
[0027] 如图 1所示, 一种超大规模集成电路 VLSI形式化验证平台, 所述验证平台包括 组件: 变量设置脚本、 Lib读入脚本、 DUT读入脚本、 Env设置脚本、 Report设置 脚本, 所述验证平台还包括处理验证平台输出结果的 match/unmatch点提取脚本 , 一旦检测验证不通过, 存在 immatch点, 能够使迭代工作的自动化地进行, 其 中: [0027] As shown in FIG. 1, a VLSI formal verification platform for a very large scale integrated circuit, the verification platform includes components: a variable setting script, a Lib read script, a DUT read script, an Env setting script, and a report setting script. The verification platform further includes a match/unmatch point extraction script for processing the output of the verification platform. Once the detection verification fails, there is an immatch point, which enables the iterative work to be performed automatically, wherein:
[0028] 变量设置脚本, 统一设置 Lib/DUT读入路径、 结果输出路径及待测设置顶层名 等宏变量, 负责完成对各 DUT顶层名、 源路径、 报告路径、 库路径等变量的设 置, 具有全平台通用性; [0028] The variable setting script uniformly sets macro variables such as a Lib/DUT read path, a result output path, and a top level name to be tested, and is responsible for setting variables such as a top name, a source path, a report path, and a library path of each DUT. Full platform versatility;
[0029] Lib读入脚本, 管理标准单元库及各种 IP (存储 IP、 PAD IP及其他 IP库) 的读入 , 单独管理各模块 Lib , 减少读入吋间; 整个芯片会用到大量的各种 IP, 例如: 接口和 memory等, 而不同模块所用到的 IP是不一致或有些模块不会使用到 IP, 每个综合模块的库单元单独管理, 实现库读入吋间的大大减少; [0029] Lib reads the script, manages the reading of the standard cell library and various IPs (storage IP, PAD IP and other IP libraries), manages each module Lib separately, and reduces the read-in time; the entire chip will use a large amount of Various IPs, such as: interface and memory, etc., and the IP used by different modules is inconsistent or some modules do not use IP. The library units of each integrated module are managed separately, and the library read-in is greatly reduced.
[0030] DUT读入脚本, 调用变量设置脚本中的对应设置, 读入源设计 RTL代码, 单独 管理各验证模块, 实现在验证不同层次、 不同模块吋, 精确读入对应 RTL代码; [0030] The DUT reads the script, calls the corresponding setting in the variable setting script, reads the source design RTL code, separately manages each verification module, realizes verifying different levels and different modules, and accurately reads the corresponding RTL code;
[0031] Env环境设置脚本, 负责管理工具自带变量的设置, 设置验证工具对于 warning 、 undriven blackbox等特殊情况的处理方式, 完成对 undriven信号、 mismatch_m essage及 warning类型处理方式等的设置; [0031] Env environment setting script, responsible for managing the setting of the tool's own variable, setting the verification tool for the special case of warning, undriven blackbox, etc., and completing the setting of the undriven signal, the mismatch_m essage and the warning type processing mode;
[0032] match/unmatch点提取脚本, 负责统计形式化验证结果未负责 unmatch的点, 并 处理为验证平台可接受的形式并反馈给验证平台; 负责对 unmatch输出结果的处 理, 使其符合平台读入格式, 同吋对 match、 aborted verified情况进行检査是否 合理; 针对 unmatch、 unverified ^ aborted报告进行处理, 使其符合平台读入格式 , 尤其是存在 unmatch点吋进行迭代验证, 将输出固有格式处理为 Set_USer_matCh 格式, 同吋检査 unverified和 aborted的情况是否符合脚本设置的约束; [0032] The match/unmatch point extraction script is responsible for statistically verifying that the verification result is not responsible for the unmatch, and processing the form acceptable to the verification platform and feeding back to the verification platform; responsible for processing the unmatch output result to make it conform to the platform read Enter the format, check whether the match or aborted verify condition is reasonable; handle the unmatch, unverified ^ aborted report to make it conform to the platform read format, especially if there is an unmatch point, iterative verification, and the output format is processed. as Se t_ USer _mat C h format, with check-inch unverified and aborted the situation meets the constraints set by the script;
[0033] Report设置脚本, 调用变量设置脚本, 输出分析结果、 unmatch、 failing、 abort
ed、 unverified等信息至指定工作目录下, 负责形式化验证结果的打印与输出;[0033] Report setting script, calling variable setting script, outputting analysis result, unmatch, failing, abort Ed, unverified and other information to the specified working directory, responsible for the printing and output of formal verification results;
[0034] top.tcl按一定顺序调用其他设置脚本, 进行统一管理并负责平台的启动, 实现 整个项目的一致化管理。 [0034] top.tcl calls other setting scripts in a certain order, performs unified management and is responsible for starting the platform, and realizes consistent management of the entire project.
[0035] LIB有两种, 一种是静态库, 比如 C-Runtime库, 这种 LIB中有函数的实现代码 , 一般用在静态连编上, 它是将 LIB中的代码加入目标模块 (EXE或者 DLL)文件 中, 所以链接好了之后, LIB文件就没有用了。 一种 LIB是和 DLL配合使用的, 里面没有代码, 代码在 DLL中, 这种 LIB是用在静态调用 DLL上的, 所以起的作 用也是链接作用, 链接完成了, LIB也没用了。 至于动态调用 DLL的话, 根本用 不上 LIB文件。 目标模块 (EXE或者 DLL)文件生成之后, 就用不着 LIB文件了; [0035] There are two kinds of LIB, one is a static library, such as the C-Runtime library. This LIB has function implementation code, which is generally used in static build, which adds the code in LIB to the target module (EXE). Or DLL) file, so after the link is complete, the LIB file is useless. A LIB is used with the DLL. There is no code in it. The code is in the DLL. This LIB is used to statically call the DLL. Therefore, the role is also a link function. The link is completed, and the LIB is useless. As for the dynamic call of the DLL, the LIB file is not used at all. After the target module (EXE or DLL) file is generated, the LIB file is not needed;
[0036] DUT被测设备。 [0036] DUT device under test.
[0037] 实施例 2 Example 2
[0038] 在实施例 1的基础上, 本实施例所述 Env环境设置脚本可全平台共用。 [0038] On the basis of Embodiment 1, the Env environment setting script described in this embodiment may be shared by all platforms.
[0039] 实施例 3 Example 3
[0040] 在实施例 1或 2的基础上, 本实施例所述 match/unmatch点提取脚本利用 perl创建 。 验证可能出现成百上千乃至更多的 unmatch点, 而平台输出结果格式是不可直 接被读入的平台环境的, 因此, 利用 peri强大的文本处理能力, 创建了 match/un match点提取脚本, 一旦检测验证不通过存在 unmatch点, 可以使迭代工作的自动 化的进行。 [0040] On the basis of Embodiment 1 or 2, the match/unmatch point extraction script described in this embodiment is created by perl. Verification may occur in hundreds or even more unmatch points, and the platform output result format is a platform environment that cannot be directly read. Therefore, using peri's powerful text processing capability, a match/un match point extraction script is created. Once the test verification does not pass the existence of the unmatch point, the automation of the iterative work can be performed.
[0041] Perl, 一种功能丰富的计算机程序语言, 运行在超过 100种计算机平台上, 适用 广泛, 从大型机到便携设备, 从快速原型创建到大规模可扩展幵发; 一般被称 为''实用报表提取语言' '(Practical Extraction and Report [0041] Perl, a feature-rich computer programming language that runs on more than 100 computer platforms, is suitable for a wide range of applications, from mainframe to portable devices, from rapid prototyping to large-scale scalable bursts; 'Practical Extraction and Report'
Language) , 你也可能看到 "peri" , 所有的字母都是小写的。 一般, "Peri" , 有大 写的 P, 是指语言本身, 而 "perl" , 小写的 p, 是指程序运行的解释器。 Language) , you may also see "peri", all letters are lowercase. In general, "Peri", with the uppercase P, refers to the language itself, and "perl", lowercase p, refers to the interpreter that the program runs.
[0042] 实施例 4 Embodiment 4
[0043] 在实施例 3的基础上, 本实施例所述 top.tcl文件管理脚本的读入顺序依次为: 变 量设置脚本、 Lib读入脚本、 Env设置脚本、 DUT读入脚本、 平台控制命令、 Rep ort脚本。 [0043] On the basis of the third embodiment, the reading order of the top.tcl file management script in this embodiment is: variable setting script, Lib reading script, Env setting script, DUT reading script, platform control command. , Rep ort script.
[0044] 实施例 5
[0045] 一种超大规模集成电路 VLSI形式化验证方法, 所述方法合理划分了形式化验证 平台各组件 Lib读入脚本、 DUT读入设置脚本、 Env环境设置脚本、 Report设置脚 本, 并增加了变量设置脚本, 处理验证平台输出结果的 match/unmatch点提取脚 本, 各个脚本通过 top.tcl按一定顺序管理, 实现整个项目的一致化的管理, 使整 个形式化验证工作更加有层次化, 被划分层次或子模块能够独立进行验证, 实 现读入吋间缩短和不同子模块并行化进行。 Embodiment 5 [0045] A VLSI formal verification method for a very large scale integrated circuit, the method reasonably dividing a component of a formal verification platform, a Lib read script, a DUT read setting script, an Env environment setting script, and a report setting script, and adding The variable setting script processes the match/unmatch point extraction script of the output of the verification platform. Each script is managed in a certain order by top.tcl, and the unified management of the entire project is realized, so that the entire formal verification work is more hierarchical and divided. Hierarchies or sub-modules can be independently verified, enabling read-through shortening and parallelization of different sub-modules.
[0046] 实施例 6 Example 6
[0047] 在实施例 5的基础上, 本实施例所述方法当最底层模块验证完成后, 根据划分 的层次, 一级一级向上递增。 [0047] On the basis of Embodiment 5, after the verification of the lowest layer module is completed, the method described in this embodiment is incremented according to the level of the hierarchy.
[0048] 以上实施方式仅用于说明本发明, 而并非对本发明的限制, 有关技术领域的普 通技术人员, 在不脱离本发明的精神和范围的情况下, 还可以做出各种变化和 变型, 因此所有等同的技术方案也属于本发明的范畴, 本发明的专利保护范围 应由权利要求限定。
The above embodiments are merely illustrative of the present invention, and are not intended to limit the invention, and various changes and modifications may be made without departing from the spirit and scope of the invention. Therefore, all equivalent technical solutions are also within the scope of the invention, and the scope of the invention should be defined by the claims.
Claims
[权利要求 1] 一种超大规模集成电路 VLSI形式化验证平台, 所述验证平台包括组 件: 变量设置脚本、 Lib读入脚本、 DUT读入脚本、 Env设置脚本、 R eport设置脚本, 其特征在于: 所述验证平台还包括处理验证平台输出 结果的 match/unmatch点提取脚本, 其中: [Claim 1] A VLSI formal verification platform for a very large scale integrated circuit, the verification platform includes components: a variable setting script, a Lib reading script, a DUT reading script, an Env setting script, and an R eport setting script, wherein The verification platform further includes a match/unmatch point extraction script that processes the output of the verification platform, where:
变量设置脚本, 统一设置 Lib/DUT读入路径、 结果输出路径及待测设 置顶层名宏变量, 负责完成对各 DUT顶层名、 源路径、 报告路径、 库 路径变量的设置; Variable setting script, unified setting Lib/DUT read path, result output path and top level name macro variable to be tested, responsible for completing the setting of top name, source path, report path and library path variable of each DUT;
Lib读入脚本, 管理标准单元库及各种 IP的读入, 单独管理各模块 Lib Lib reads the script, manages the standard cell library and reads various IPs, and manages each module separately. Lib
, 减少读入吋间; , reducing reading time;
DUT读入脚本, 调用变量设置脚本中的对应设置, 读入源设计 RTL代 码, 单独管理各验证模块; The DUT reads the script, calls the corresponding settings in the variable setting script, reads the source design RTL code, and manages each verification module separately;
Env环境设置脚本, 设置验证工具对于 warning、 undriven、 blackbox 特殊情况的处理方式, 完成对 undriven信号、 mismatch—message及 war ning类型处理方式的设置; The Env environment setting script sets the verification tool for the warning, undriven, and blackbox special cases, and completes the setting of the undriven signal, mismatch-message, and warning type processing modes.
match/unmatch点提取脚本, 负责对 unmatch输出结果的处理, 使其符 合平台读入格式, 同吋对 match、 aborted verified情况进行检査是否 合理; 针对 unmatch、 unverified . aborted报告进行处理, 使其符合平 台读入格式; Match/unmatch point extraction script, which is responsible for processing the unmatch output result, making it conform to the platform read format, and checking whether the match or aborted verified condition is reasonable; processing the unmatch, unverified. aborted report to match Platform read format;
Report设置脚本, 调用变量设置脚本, 输出分析结果、 unmatc faili ng、 aborted unverified信息至指定工作目录下; top.tcl文件按一定顺序调用其他设置脚本, 进行统一管理并负责平台 的启动, 实现整个项目的一致化管理。 Report setting script, call variable setting script, output analysis result, unmatc faili ng, aborted unverified information to the specified working directory; top.tcl file calls other setting scripts in a certain order, unified management and responsible for platform startup, realize the whole project Consistent management.
[权利要求 2] 根据权利要求 1所述的一种超大规模集成电路 VLSI形式化验证平台, 其特征在于: 所述 Env环境设置脚本全平台共用。 [Claim 2] A VLSI formal verification platform for a very large scale integrated circuit according to claim 1, wherein: the Env environment setting script is shared by the entire platform.
[权利要求 3] 根据权利要求 1或 2所述的一种超大规模集成电路 VLSI形式化验证平 台, 其特征在于: 所述 match/unmatch点提取脚本利用 perl创建。 [Claim 3] A VLSI formal verification platform for a very large scale integrated circuit according to claim 1 or 2, wherein: the match/unmatch point extraction script is created using perl.
[权利要求 4] 根据权利要求 3所述的一种超大规模集成电路 VLSI形式化验证平台,
其特征在于: 所述 top.tcl文件管理脚本的读入顺序依次为: 变量设置 脚本、 Lib读入脚本、 Env设置脚本、 DUT读入脚本、 平台控制命令、 Report脚本。 [Claim 4] A VLSI formal verification platform for a very large scale integrated circuit according to claim 3, The function of reading the top.tcl file management script is: a variable setting script, a Lib reading script, an Env setting script, a DUT reading script, a platform control command, and a report script.
[权利要求 5] —种超大规模集成电路 VLSI形式化验证方法, 其特征在于: 所述方 法合理划分了形式化验证平台各组件 Lib读入脚本、 DUT读入设置脚 本、 Env环境设置脚本、 Report设置脚本, 并增加了变量设置脚本, 处理验证平台输出结果的 match/unmatch点提取脚本, 各个脚本通过 to p.tel按一定顺序管理, 实现整个项目的一致化的管理, 使整个形式化 验证工作更加有层次化, 被划分层次或子模块能够独立进行验证, 实 现读入吋间缩短和不同子模块并行化进行。 [Claim 5] A VLSI formal verification method for a very large scale integrated circuit, characterized in that: the method reasonably divides a component of a formal verification platform, a Lib read script, a DUT read setting script, an Env environment setting script, and a report. Set the script, and add the variable setting script to process the match/unmatch point extraction script for the output of the verification platform. Each script is managed in a certain order by to p.tel, to achieve consistent management of the entire project, so that the entire formal verification work It is more hierarchical, and the hierarchical or sub-modules can be independently verified, and the read-in shortening and parallelization of different sub-modules are realized.
[权利要求 6] 根据权利要求 5所述的一种超大规模集成电路 VLSI形式化验证方法, 其特征在于: 所述方法当最底层模块验证完成后, 根据划分的层次, 一级一级向上递增。
[Claim 6] A VLSI formal verification method for a very large scale integrated circuit according to claim 5, wherein: after the verification of the lowest level module is completed, the method is incrementally increased according to the level of the hierarchy. .
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610219744.1A CN105893685A (en) | 2016-04-11 | 2016-04-11 | VLSI (very Large Scale integration) formalization verification platform and method |
CN201610219744.1 | 2016-04-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017177705A1 true WO2017177705A1 (en) | 2017-10-19 |
Family
ID=57012911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/109582 WO2017177705A1 (en) | 2016-04-11 | 2016-12-13 | Very-large-scale integration circuit (vlsi) formal verification platform and method |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105893685A (en) |
WO (1) | WO2017177705A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893685A (en) * | 2016-04-11 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | VLSI (very Large Scale integration) formalization verification platform and method |
CN106375658B (en) * | 2016-09-09 | 2019-05-24 | 北京控制工程研究所 | A kind of very high-precision image processing VLSI verification method |
CN107563025B (en) * | 2017-08-18 | 2021-08-20 | 北京东土军悦科技有限公司 | A verification platform management method and device |
CN107644128A (en) * | 2017-09-08 | 2018-01-30 | 郑州云海信息技术有限公司 | The method and system that a kind of DC synthesis cooperates with Formality Formal Verifications |
CN114692538A (en) * | 2022-04-08 | 2022-07-01 | 山东云海国创云计算装备产业创新中心有限公司 | A parallel formal verification method, device, computer equipment and medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5703788A (en) * | 1995-06-07 | 1997-12-30 | Lsi Logic Corporation | Configuration management and automated test system ASIC design software |
US6347388B1 (en) * | 1997-06-03 | 2002-02-12 | Verisity Ltd. | Method and apparatus for test generation during circuit design |
CN1667589A (en) * | 2005-04-15 | 2005-09-14 | 清华大学 | Architecture-Independent Microprocessor Verification and Evaluation Method |
CN102012957A (en) * | 2010-12-17 | 2011-04-13 | 天津曙光计算机产业有限公司 | Verification method for packet classification logic codes based on five-tuple array |
CN102012954A (en) * | 2010-11-29 | 2011-04-13 | 杭州中天微系统有限公司 | Subsystem integration method and subsystem integration system for integration design of system-on-chip |
CN104573261A (en) * | 2015-01-23 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | VLSI (very large scale integration) integration method |
CN105893685A (en) * | 2016-04-11 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | VLSI (very Large Scale integration) formalization verification platform and method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100362520C (en) * | 2005-09-09 | 2008-01-16 | 深圳市海思半导体有限公司 | Special integrated circuit comprehensive system and method |
-
2016
- 2016-04-11 CN CN201610219744.1A patent/CN105893685A/en active Pending
- 2016-12-13 WO PCT/CN2016/109582 patent/WO2017177705A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5703788A (en) * | 1995-06-07 | 1997-12-30 | Lsi Logic Corporation | Configuration management and automated test system ASIC design software |
US6347388B1 (en) * | 1997-06-03 | 2002-02-12 | Verisity Ltd. | Method and apparatus for test generation during circuit design |
CN1667589A (en) * | 2005-04-15 | 2005-09-14 | 清华大学 | Architecture-Independent Microprocessor Verification and Evaluation Method |
CN102012954A (en) * | 2010-11-29 | 2011-04-13 | 杭州中天微系统有限公司 | Subsystem integration method and subsystem integration system for integration design of system-on-chip |
CN102012957A (en) * | 2010-12-17 | 2011-04-13 | 天津曙光计算机产业有限公司 | Verification method for packet classification logic codes based on five-tuple array |
CN104573261A (en) * | 2015-01-23 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | VLSI (very large scale integration) integration method |
CN105893685A (en) * | 2016-04-11 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | VLSI (very Large Scale integration) formalization verification platform and method |
Also Published As
Publication number | Publication date |
---|---|
CN105893685A (en) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017177705A1 (en) | Very-large-scale integration circuit (vlsi) formal verification platform and method | |
US11604916B2 (en) | Method, system, and electronic device for detecting open/short circuit of PCB design layout | |
CN107832231A (en) | A kind of system detection method, device and medium | |
CN103678745B (en) | Cross-platform multi-level integrated design system for FPGA | |
US10354031B2 (en) | Information processing by interpenetrating signal transmission channel in design for testability of chip | |
US8892386B2 (en) | Method and apparatus for post-silicon testing | |
CN113342583B (en) | Chip verification system, method, device, equipment and storage medium | |
CN105389256A (en) | Unit testing method and system | |
WO2010030449A2 (en) | Method and apparatus for merging eda coverage logs of coverage data | |
WO2014099046A1 (en) | On-the-fly technical support | |
CN108228464B (en) | Mobile application UI (user interface) testing framework based on data driving and implementation method thereof | |
WO2023024251A1 (en) | Device verification method, uvm verification platform, electronic apparatus and storage medium | |
CN115904959A (en) | Software integration and deployment method and software development management system | |
CN105354121A (en) | Method for establishing verification platform for verifying multiple read-write mode storage modules | |
CN114239453A (en) | Simulation verification platform construction method, simulation verification method, device and equipment | |
Liu et al. | Rise of distributed deep learning training in the big model era: From a software engineering perspective | |
De Sio et al. | PyXEL: Exploring Bitstream Analysis to Assess and Enhance the Robustness of Designs on FPGAs | |
CN114968753A (en) | Equipment upgrading test method, medium, electronic equipment and test system | |
TW202307670A (en) | Device and method for automated generation of parameter testing requests | |
RU2729210C1 (en) | Electronic devices software testing system | |
US7222326B2 (en) | Automatic process and design method, system and program product | |
CN112380136A (en) | Data cleaning method and device, test equipment and storage medium | |
CN117034824B (en) | Simulation verification system, method, terminal and medium for multiplexing test cases and verification environments | |
CN111309297A (en) | Script development system and method | |
CN119201097B (en) | A universal verification system for integrated circuit chip verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16898516 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16898516 Country of ref document: EP Kind code of ref document: A1 |