CN109753714B - 基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统 - Google Patents
基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统 Download PDFInfo
- Publication number
- CN109753714B CN109753714B CN201811620169.1A CN201811620169A CN109753714B CN 109753714 B CN109753714 B CN 109753714B CN 201811620169 A CN201811620169 A CN 201811620169A CN 109753714 B CN109753714 B CN 109753714B
- Authority
- CN
- China
- Prior art keywords
- data
- port
- boundary
- test vector
- knowledge base
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统,包括步骤将数据通路中的数据端口分为数据传输类端口与控制类端口;建立基于数据类型的边界值知识库,输入每个数据传输类端口的数据类型得到边界值集合;输入每个控制类端口的位宽通过约束求解器求得合法值域形成合法值域集合;将边界值集合中的每个边界值与控制类端口的合法值域集合中每个合法值正交组合,得到覆盖数据通路边界情况的测试向量。本发明充分利用数据端口的功能属性和数据类型,通过建立边界值知识库、合法约束值域、边界值集合与合法值域集合进行正交组合,生成覆盖数据通路边界情况的测试向量,实现了数据通路电路设计验证的完备性与高效性。
Description
技术领域
本发明涉及集成电路设计验证领域,特别涉及一种基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统。
背景技术
模拟验证依旧是集成电路设计验证过程中主要的验证手段。模拟验证的过程是对待测设计的输入端加载大量测试向量从而观察待测设计的行为是否符合预期的功能规范。数据通路的电路设计往往具有较大位宽的数据端口,这些数据端口对应的巨大合法值域,这些合法值域所组成的巨大验证空间使得面向数据通路生成高效完备的测试向量变得困难:由于验证空间巨大,使用验证空间全遍历的方法产生测试向量无法保证在有效时间空间内完成数据通路的验证;而采用在验证空间中随机生成测试向量的方法并不能够保证完全覆盖验证空间的边界情况,而边界情况往往是电路设计环节最容易出错的地方,这就造成了验证的不完备与不充分。因此,面向数据通路的电路设计产生高效测试向量非常困难。
发明内容
本发明要解决的技术问题是:针对现有技术的上述问题,提供一种基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统,本发明能够提高数据通路电路设计验证的完备性与高效性。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于知识库的覆盖数据通路边界情况的测试向量生成方法,实施步骤包括:
S1.将数据通路中除时钟端口、重置端口以外的所有数据端口按照功能属性划分为数据传输类端口与控制类端口;
S2.建立基于数据类型的边界值知识库,向该边界值知识库输入步骤S1中所述每个数据传输类端口的数据类型,得到每个数据传输类端口的边界值集合;.输入步骤S1中每个控制类端口的位宽通过约束求解器求得每个控制类端口的合法值域,从而形成控制类端口的合法值域集合;
S3. 分别将步骤S2中数据传输类端口的边界值集合中的每个边界值与控制类端口的合法值域集合中的每个合法值进行正交组合,得到覆盖数据通路边界情况的测试向量。
所述步骤S1中的数据端口为输入端口。
所述步骤S1中的数据端口为输出端口。
所述步骤S2中的数据类型包括单/双精度浮点、8/16/32/64位有符号/无符号整数、n位二进制数类型。
所述步骤S2中的约束求解器包括布尔可满足性引擎的求解器、二叉判决树引擎的求解器或基于约束逻辑编程系统的约束求解器。
本发明还提供一种基于知识库的覆盖数据通路边界情况的测试向量生成系统,包括计算机设备,所述计算机设备被编程以执行本发明前述基于知识库的覆盖数据通路边界情况的测试向量生成方法的步骤;或者所述计算机设备的存储介质中存储有被编程以执行本发明前述基于知识库的覆盖数据通路边界情况的测试向量生成方法的计算机程序。
本发明还提供 一种存储介质,所述存储介质中存储有被编程以执行本发明前述基于知识库的覆盖数据通路边界情况的测试向量生成方法的计算机程序。
和现有技术相比,本发明具有下述优点:
本发明充分利用了数据端口的功能属性和数据类型,通过建立基于数据类型的边界值知识库、对值域合法约束、以及将边界值集合与合法值域集合进行正交组合,生成了覆盖数据通路边界情况的测试向量,从而实现了数据通路电路设计验证的完备性与高效性,并且该边界值知识库便于人工优化,便于对数据类型与每个数据类型对应的边界值进行增加删减,同时边界值知识库具有学习能力,内部存储的知识随着人工优化与验证样本的增多而不断扩充,使得该方法的适用性与完备性不断增强。
附图说明
图1是本发明的基于知识库的覆盖数据通路边界情况的测试向量生成方法原理示意图。
图2是本发明的基于知识库的覆盖数据通路边界情况的测试向量生成方法流程示意图。
具体实施方式
下面结合具体实施例对本发明作进一步地解释,但具体实施并不对本发明做任何限定。
实施例1
如图2所示,本实施例基于知识库的覆盖数据通路边界情况的测试向量生成方法,实施步骤包括:
S1.将数据通路中除时钟端口、重置端口以外的所有输入端口按照功能属性划分为数据传输类端口与控制类端口;
其中数据通路类端口是电路中用于数据传输通信的端口,其一般而言位宽较长,因此其对应的合法值域空间较大,而控制类端口用于控制电路不同工作模式的切换,其位宽一般较短,但是每一个合法值均对应了一种工作模式。
S2.建立基于数据类型的边界值知识库,向该边界值知识库输入步骤S1中所述每个数据传输类端口的数据类型,得到每个数据传输类端口的边界值的边界值集合;
例如对于一个8位有符号整数类型的数据通路输入端口A,根据其数据类型在边界值知识库中对应的边界值集合为{+0,-0,+1,-1,+127,-128}。
在边界值知识库中包含的数据类型还可以是单/双精度浮点数、8位无符号整数、16位有符号整数、16位无符号整数、32位有符号整数、32位无符号整数、64位有符号整数、64位无符号整数、n位二进制数类型等。
边界值知识库便于人工优化,能够对数据类型与每个数据类型对应的边界值进行增加删减,同时该边界值知识库具有学习能力,内部存储的知识随着人工优化与验证样本的增多而不断扩充,使得该方法的适用性与完备性不断增强。
本实施例中用到的知识库是CLIPS(C Language Integrated ProductionSystem)专家系统开发工具。
输入步骤S1中每个控制类端口的位宽通过布尔可满足性引擎(SAT)引擎的MiniSAT求解器求得每个控制类端口的合法值域,从而形成控制类端口的合法值域集合;
S3. 分别将步骤S2中数据传输类端口的边界值集合中的每个边界值与控制类端口的合法值域集合中每个合法值进行正交组合,得到覆盖数据通路边界情况的测试向量。
例如待验证的数据通路包括控制通路类端口P1和P4,数据通路类端口P2和P3,其中P11和P12是控制通路类端口P1的两个合法值,P41和P42是控制通路类端口P4的两个合法值,P21 、P22 、P23和 P24是P2的边界值,P31 、P32 和P33是P3的边界值。将P2、P3的每一个边界值与P1和P4的每一个合法值正交组合后一共产生2*4*3*2=48个测试向量,每一个测试向量代表着一种边界情况,48个测试向量覆盖了所有数据通路的边界情况。
本实施例充分利用了数据端口的功能属性和数据类型,通过建立基于数据类型的边界值知识库、对值域合法约束、以及将边界值集合与合法值域集合进行正交组合,生成了覆盖数据通路边界情况的测试向量,从而实现了数据通路电路设计验证的完备性与高效性。
本实施例还提供一种基于知识库的覆盖数据通路边界情况的测试向量生成系统,包括计算机设备,该计算机设备被编程以执行本发明前述基于知识库的覆盖数据通路边界情况的测试向量生成方法的步骤;或者该所述计算机设备的存储介质中存储有被编程以执行本发明前述基于知识库的覆盖数据通路边界情况的测试向量生成方法的计算机程序。
本实施例还提供一种存储介质,该存储介质中存储有被编程以执行本发明前述基于知识库的覆盖数据通路边界情况的测试向量生成方法的计算机程序。
实施例2
本实施例与实施例1的区别是:步骤S1将数据通路中除时钟端口、重置端口以外的所有输出端口按照功能属性划分为数据传输类端口与控制类端口;
本实施例同样也可以实现基于知识库的覆盖数据通路边界情况的测试向量生成。
实施例3
本实施例与实施例1的区别是:本实施例用到的知识库是ART系统开发工具。
本实施例同样也可以实现基于知识库的覆盖数据通路边界情况的测试向量生成。
实施例4
本实施例与实施例1的区别是:本实施例用到的知识库是OPS5系统开发工具。
本实施例同样也可以实现基于知识库的覆盖数据通路边界情况的测试向量生成。
实施例5
本实施例与实施例1的区别是:本实施例用到的约束求解器是布尔可满足性引擎(SAT)的求解器zchaff求解器。
本实施例同样也可以实现基于知识库的覆盖数据通路边界情况的测试向量生成。
实施例6
本实施例与实施例1的区别是:本实施例用到的约束求解器是二叉判决树(BBD)引擎的求解器Z3求解器。
本实施例同样也可以实现基于知识库的覆盖数据通路边界情况的测试向量生成。
实施例7
本实施例与实施例1的区别是:本实施例用到的约束求解器是基于约束逻辑编程系统的约束求解器ECLiPSe求解器。
本实施例同样也可以实现基于知识库的覆盖数据通路边界情况的测试向量生成。
实施例8
本实施例与实施例1的区别是:本实施例用到的约束求解器是基于约束逻辑编程系统的约束求解器SystemVerilog求解器。
本实施例同样也可以实现基于知识库的覆盖数据通路边界情况的测试向量生成。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种基于知识库的覆盖数据通路边界情况的测试向量生成方法,其特征在于,实施步骤包括:
S1.将数据通路中除时钟端口、重置端口以外的所有数据端口按照功能属性划分为数据传输类端口与控制类端口;
S2.建立基于数据类型的边界值知识库,向该边界值知识库输入步骤S1中所述每个数据传输类端口的数据类型,得到每个数据传输类端口的边界值集合;输入步骤S1中每个控制类端口的位宽通过约束求解器求得每个控制类端口的合法值域,从而形成控制类端口的合法值域集合;
S3. 分别将步骤S2中数据传输类端口的边界值集合中的每个边界值与控制类端口的合法值域集合中的每个合法值进行正交组合,得到覆盖数据通路边界情况的测试向量。
2.根据权利要求1所述的基于知识库的覆盖数据通路边界情况的测试向量生成方法,其特征在于,所述数据端口为输入端口。
3.根据权利要求1所述的基于知识库的覆盖数据通路边界情况的测试向量生成方法,其特征在于,所述数据端口为输出端口。
4.根据权利要求1所述的基于知识库的覆盖数据通路边界情况的测试向量生成方法,其特征在于,所述数据端口的数据类型包括单/双精度浮点、8/16/32/64位有符号/无符号整数、n位二进制数类型。
5.根据权利要求1所述的基于知识库的覆盖数据通路边界情况的测试向量生成方法,其特征在于,所述约束求解器为基于可满足性引擎的求解器、基于二叉判决树引擎的求解器或基于约束逻辑编程系统的约束求解器。
6.一种基于知识库的覆盖数据通路边界情况的测试向量生成系统,包括计算机设备,其特征在于,所述计算机设备被编程以执行权利要求1~5中任意一项所述基于知识库的覆盖数据通路边界情况的测试向量生成方法的步骤;或者所述计算机设备的存储介质中存储有被编程以执行权利要求1~5中任意一项所述基于知识库的覆盖数据通路边界情况的测试向量生成方法的计算机程序。
7.一种存储介质,其特征在于:所述存储介质中存储有被编程以执行权利要求1~5中任意一项所述基于知识库的覆盖数据通路边界情况的测试向量生成方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811620169.1A CN109753714B (zh) | 2018-12-28 | 2018-12-28 | 基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811620169.1A CN109753714B (zh) | 2018-12-28 | 2018-12-28 | 基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753714A CN109753714A (zh) | 2019-05-14 |
CN109753714B true CN109753714B (zh) | 2023-03-21 |
Family
ID=66403094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811620169.1A Active CN109753714B (zh) | 2018-12-28 | 2018-12-28 | 基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753714B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845079A (zh) * | 2005-04-07 | 2006-10-11 | 华为技术有限公司 | 一种测试向量的产生方法 |
JP2009193513A (ja) * | 2008-02-18 | 2009-08-27 | Denso Corp | 検証用モデル生成方法および電子回路の検証方法 |
CN101789035A (zh) * | 2009-01-28 | 2010-07-28 | 新思科技有限公司 | 针对混合验证进行逻辑优化和状态空间精简 |
CN105372582A (zh) * | 2015-12-14 | 2016-03-02 | 浪潮(北京)电子信息产业有限公司 | 一种模块级边界扫描链的生成方法及系统 |
-
2018
- 2018-12-28 CN CN201811620169.1A patent/CN109753714B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845079A (zh) * | 2005-04-07 | 2006-10-11 | 华为技术有限公司 | 一种测试向量的产生方法 |
JP2009193513A (ja) * | 2008-02-18 | 2009-08-27 | Denso Corp | 検証用モデル生成方法および電子回路の検証方法 |
CN101789035A (zh) * | 2009-01-28 | 2010-07-28 | 新思科技有限公司 | 针对混合验证进行逻辑优化和状态空间精简 |
CN105372582A (zh) * | 2015-12-14 | 2016-03-02 | 浪潮(北京)电子信息产业有限公司 | 一种模块级边界扫描链的生成方法及系统 |
Non-Patent Citations (3)
Title |
---|
"Synthesizable verification IP to stress test system-on-chip emulation and prototyping platforms";Subramanian Shiva Shankar等;《IEEE》;20120116;全文 * |
"使用贝叶斯网络的高效模拟矢量生成方法";易江芳等;《计算机辅助设计与图形学学报》;20070531;第19卷(第5期);全文 * |
基于模拟的SoC功能验证研究;姚爱红等;《微电子学与计算机》;20130505;第30卷(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109753714A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yu et al. | Incremental SAT-based reverse engineering of camouflaged logic circuits | |
Liu et al. | Oracle-guided incremental SAT solving to reverse engineer camouflaged logic circuits | |
US11475168B2 (en) | CAD framework for power side-channel vulnerability assessment | |
Limaye et al. | Valkyrie: Vulnerability assessment tool and attack for provably-secure logic locking techniques | |
US10990580B2 (en) | System, method and computer-accessible medium for stripped-functionality logic locking | |
CN108694323B (zh) | 用于检测故障点的设备和方法 | |
US20210192018A1 (en) | Hardware intellectual property protection through provably secure state-space obfuscation | |
US10762261B2 (en) | Methods and apparatus for transforming the function of an integrated circuit | |
Hu et al. | Fun-SAT: Functional corruptibility-guided SAT-based attack on sequential logic encryption | |
JP2000207440A (ja) | 半導体集積回路の設計検証装置、方法及び記憶媒体 | |
US8813007B2 (en) | Automatic approximation of assumptions for formal property verification | |
Badier et al. | Transient key-based obfuscation for HLS in an untrusted cloud environment | |
Azriel et al. | Using scan side channel to detect IP theft | |
CN114880975A (zh) | 一种硬件木马的生成方法、系统、设备以及介质 | |
CN109753714B (zh) | 基于知识库的覆盖数据通路边界情况的测试向量生成方法及系统 | |
Kim et al. | Realization-independent ATPG for designs with unimplemented blocks | |
Fyrbiak | Constructive and destructive reverse engineering aspects of digital systems | |
Al-Assad et al. | Simulation-based approximate global fault collapsing | |
US8201119B2 (en) | Formal equivalence checking between two models of a circuit design using checkpoints | |
Al-Hayek et al. | From design validation to hardware testing: A unified approach | |
McDaniel et al. | A black-box sensitization attack on SAT-hard instances in logic obfuscation | |
Karmakar et al. | A cellular automata guided two level obfuscation of finite-state-machine for IP protection | |
Bryant | Verification of synchronous circuits by symbolic logic simulation | |
US6877141B2 (en) | Evaluating a validation vector for validating a network design | |
Yoshimura et al. | CRLock: A SAT and FALL attacks resistant logic locking method at register transfer level |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |