CN111427798A - 一种ip核超长路径可组合证明方法 - Google Patents
一种ip核超长路径可组合证明方法 Download PDFInfo
- Publication number
- CN111427798A CN111427798A CN202010288244.XA CN202010288244A CN111427798A CN 111427798 A CN111427798 A CN 111427798A CN 202010288244 A CN202010288244 A CN 202010288244A CN 111427798 A CN111427798 A CN 111427798A
- Authority
- CN
- China
- Prior art keywords
- path
- ultra
- long path
- core
- stain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 27
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000010845 search algorithm Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 17
- 238000013461 design Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011076 safety test Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种IP核超长路径可组合证明系统,其中,包括:步骤1:对待测IP核代码进行信息流处理;步骤2:判断中间节点是否超过超长路径的最小节点数;步骤4:选取一条子路径,将起点信号的污迹标记位始终约束为高;步骤5:切断起点信号所有驱动信号;步骤6:判断终点信号的污迹标记位是否为高;步骤7:判断所有子路径是否证明完成,如果未完成则进行步骤4,如已全部证明完成,则得出超长路径存在的结论;步骤8:结束。本发明解决了IP核安全检测中数据级联复杂,数据路径级联过于复杂造成的难以直接验证和验证效率低的技术问题。
Description
技术领域
本发明属于数字集成电路IP核技术领域,更具体地涉及一种IP核超长路径可组合证明方法。
背景技术
在现代半导体产业中,芯片的复杂程度已经远远超乎我们的想象,而在芯片设计中一些常见的功能电路,设计模块具备着很强的通用性,随着芯片规模越来越大,越来越复杂,这些通用模块的设计往往是重复劳动的,所以这个时候就产生了采用IP核的方法。IP核分为硬IP核和软IP核,本发明主要针对软IP核,因此后文中IP核均代指软IP核。
在ASIC、FPGA和SoC中通常集成了数量庞大的IP核,所以在芯片安全性检测中IP核的安全性检测是极其重要的一环。目前开展IP核安全性检测时,可能存在超长路径问题,导致安全验证难度较高。因为集成的IP核有些本身设计就已经很复杂,再加之安全检测的先决条件多,逻辑级联复杂会导致超长路径的出现,这样的路径往往难以直接对其进行验证。
因此需要研究一种可以对超长路径进行验证的方法。本专利以IP核安全路径选取与切断技术为基础,对IP核内超长路径进行选取、分割、组合证明,形成IP核内超长路径的安全性检测手段,可以解决逻辑级联复杂造成的难以直接验证问题。
发明内容
本发明的目的在于提供一种IP核超长路径可组合证明系统,用于解决上述现有技术的问题。
本发明一种IP核超长路径可组合证明系统,其中,包括:步骤1:对待测IP核代码进行信息流处理,为每一个信号添加污迹标签;步骤2:判断中间节点是否超过超长路径的最小节点数,如果超过,则进行步骤3;步骤3:设定路径阈值,根据路径阈值对超长路径进行分割,以数据流向为顺序,将超长路径切割为路径长度等于路径阈值的短路径;步骤4:选取一条子路径,将起点信号的污迹标记位始终约束为高;步骤5:切断起点信号所有驱动信号;步骤6:判断终点信号的污迹标记位是否为高,如果为低,则超长路径不存在,结转步骤8,如果为高,则子路径起始点之间存在数据路径;步骤7:判断所有子路径是否证明完成,如果未完成则进行步骤4,如已全部证明完成,则得出超长路径存在的结论;步骤8:结束。
根据本发明的IP核超长路径可组合证明方法的一实施例,其中,所述IP核代码的污迹标记采用的寄存器级污迹处理,对每一个寄存器外扩3-bit作为污迹标记位tag[2]、tag[1]以及tag[0],tag[2]为1表示来自安全性未知的IP核输出,为0表示安全的输入;tag[1]为1表示敏感信息,为0表示非敏感信息;tag[0]为1表示保护区域,为0表示非保护区域。
根据本发明的IP核超长路径可组合证明方法的一实施例,其中,通过污迹传播逻辑对所有运算操作中的污迹标记位tag[2]进行逻辑或运算操作;当数据源进行运算时有一个源操作数的污迹标记位tag[2]为1,目的操作数的污迹标记位tag[2]就为1。
根据本发明的IP核超长路径可组合证明方法的一实施例,其中,步骤2具体包括:采用搜索算法搜索路径中的所有中间节点,统计中间节点的数量,如果中间节点的数量超过用户设定的超长路径的最小节点数,则将此条路径定义为超长路径,否则不属于超长路径。
根据本发明的IP核超长路径可组合证明方法的一实施例,其中,路径阈值为完成安全检测时单条路径的最大节点数。
根据本发明的IP核超长路径可组合证明方法的一实施例,其中,步骤2中中间节点如果不超过超长路径的最小节点数,则待测路径不属于超长路径,进行普通路径测试,并转步骤10。
本发明提供了一种IP核安全性检测技术之超长路径可组合证明的方法,其目的在于抓取IP核安全需求的超长路径,对其进行分解和组合证明,由此解决IP核安全检测中数据级联复杂,数据路径级联过于复杂造成的难以直接验证和验证效率低的技术问题。
附图说明
图1为超长路径的示例图;
路径起点为In终点为Out(以下表示为(In,Out)),路径上有若干个节点。
图2为一种IP核超长路径可组合证明技术流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供了一种IP核超长路径可组合证明的方法,包括:
(1)进行IP核代码污迹标记处理;
所述IP核代码污迹标记处理模块采用的寄存器级污迹处理,如表1所示,对每一个寄存器外扩3-bit作为污迹标记位tag[2]、tag[1]、tag[0],表1给出了污迹标记位的定义。这种污迹标记方法为污迹传播提供了“通道”。这种方法只将寄存器外扩了3-bit,没有对代码本身的功能逻辑进行修改,因此允许在设计功能正常工作的同时进行污迹标记与追踪。
污迹追踪采用全传播策略,污迹追踪监控机制通过污迹传播逻辑对所有运算操作中的污迹标记位tag[2]进行逻辑或运算操作;只要数据源进行运算时有一个源操作数的污迹标记位tag[2]为“1”,目的操作数的污迹标记位tag[2]就为“1”。通过以上的传播策略,可通过监测污迹的方式实现对整个IP核设计中数据路径的监测,作为IP核数据路径选取与切断方法的基础。
表1污迹标记位的定义
(2)鉴别超长路径;
1)采用搜索算法搜索路径中的所有中间节点;
2)统计中间节点的数量,如果中间节点的数量超过用户设定的超长路径的最小节点数,则将此条路径定义为超长路径,否则不属于超长路径。
(3)分割超长路径;
图1为超长路径的示例,其中,路径起点为In终点为Out(以下表示为(In,Out)),路径上有若干个节点。以切断该超长路径为例,介绍超长路径的分割方法。
1)设定路径阈值。路径阈值指在满足设计者对验证时间和效率的需求的前提下,完成安全检测时单条路径的最大节点数。路径阈值的设定由计算平台的计算性能和设计者对验证时间和效率的具体需求确定。如果阈值设置过大,将会到导致路径的验证时间超出不符合设计者的需求;如果阈值设置过小,将会到导致路径切割耗时较长,从而使得整体效率没有明显提升。
2)根据阈值对超长路径进行分割。从In开始,以数据流向为顺序,将超长路径切割为路径长度等于阈值的短路径。示例中路径(In,Out)可以分割为(In,A)、(A,B)、(B,C)、(C,Out)4条子路径,其中A、B、C为中间节点。
(4)子路径证明
对分割的4条子路径进行证明,通过对各个短路径的证明,可组合性的实现对超长路径In到Out的证明。主要流程如下。
1)证明从In到A的子路径(In,A)是否存在。切断In的所有驱动信号,并约束In的污迹标记位In_t在验证期间始终高,采用形式化断言判断是否A_t是否为高。如果A_t为高,说明此时In对A产生影响,则证明从In到A存在数据路径,否则不存在数据路径。采用SystemVerilog实现的代码如下:
2)证明从A到B的子路径(A,B)是否存在。切断A的所有驱动信号,并约束A的污迹标记位A_t在验证期间始终高,采用形式化断言判断是否B_t是否为高。如果B_t为高,说明此时A对B产生影响,则证明从A到B存在数据路径,否则不存在数据路径。采用System Verilog实现的代码如下:
3)证明从B到C的子路径(B,C)是否存在。切断B的所有驱动信号,并约束B的污迹标记位B_t在验证期间始终高,采用形式化断言判断是否C_t是否为高。如果C_t为高,说明此时B对C产生影响,则证明从B到C存在数据路径,否则不存在数据路径。采用System Verilog实现的代码如下:
4)证明从C到Out的子路径(C,Out)是否存在。切断C的所有驱动信号,并约束C的污迹标记位C_t在验证期间始终高,采用形式化断言判断是否Out_t是否为高。如果Out_t为高,说明此时C对Out产生影响,则证明从C到Out存在数据路径,否则不存在数据路径。采用System Verilog实现的代码如下:
如果4条子路径均存在,则证明In到Out之间存在数据路径,从而间接实现对超长路径In到Out的证明。如果其中有1条或1条以上路径不存在,则证明In到Out之间不存在路径。
图2为一种IP核超长路径可组合证明方法流程图,包括:
步骤1:对待测IP核代码进行信息流处理,为每一个信号添加污迹标签;
步骤2:采用搜索算法搜索路径中的所有中间节点信号,并统计节点信号的数量;
步骤3:判断中间节点是否超过超长路径的最小节点数,如果不超过则进行步骤4,如果超过则进行步骤5;
步骤4:待测路径不属于超长路径,采用常规方法进行测试。结束;
步骤5:设定路径阈值。路径阈值指在满足设计者对验证时间和效率的需求的前提下,完成安全检测时单条路径的最大节点数;
步骤6:根据阈值对超长路径进行分割。以数据流向为顺序,将超长路径切割为路径长度等于阈值的短路径。示例中路径(In,Out)可以分割为(In,A)、(A,B)、(B,C)、(C,Out)4条子路径,其中A、B、C为中间节点。
步骤7:选取一条子路径。
步骤8:将起点信号的污迹标记位始终约束为高。如将In的污迹标记位In_t始终约束为高;
步骤9:切断起点信号所有驱动信号;
步骤10:判断终点信号的污迹标记位是否为高,如果为低则进行步骤11,如果为高则进行12;
步骤11:子路径不存在,因此证明超长路径不存在。结束;
步骤12:子路径起始点之间存在数据路径;
步骤13:判断所有子路径是否证明完成,如果未完成则进行步骤7,如已全部证明完成则进行步骤14;
步骤14:所有子路径均存在,因此可得出超长路径存在的结论。结束。
本发明提供了一种IP核超长路径可组合证明的方法,其目的在于抓取IP核超长数据路径,对其进行分解和组合证明,由此解决IP核安全检测中数据路径级联过于复杂造成的难以直接验证和验证效率低的技术问题。通过IP核安全测试之安全路径选取与切断技术来对IP核的数据路径进行检测,以验证关键敏感数据的机密性和完整性,在此基础上本专利对IP核内超长路径进行选取、分割、组合证明的方法,形成IP核内超长路径的安全性检测手段和技术指南,可以解决逻辑级联复杂造成的难以直接验证问题。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种IP核超长路径可组合证明系统,其特征在于,包括:
步骤1:对待测IP核代码进行信息流处理,为每一个信号添加污迹标签;
步骤2:判断中间节点是否超过超长路径的最小节点数,如果超过,则进行步骤3;
步骤3:设定路径阈值,根据路径阈值对超长路径进行分割,以数据流向为顺序,将超长路径切割为路径长度等于路径阈值的短路径;
步骤4:选取一条子路径,将起点信号的污迹标记位始终约束为高;
步骤5:切断起点信号所有驱动信号;
步骤6:判断终点信号的污迹标记位是否为高,如果为低,则超长路径不存在,结转步骤8,如果为高,则子路径起始点之间存在数据路径;
步骤7:判断所有子路径是否证明完成,如果未完成则进行步骤4,如已全部证明完成,则得出超长路径存在的结论;
步骤8:结束。
2.如权利要求1所述的IP核超长路径可组合证明方法,其特征在于,所述IP核代码的污迹标记采用的寄存器级污迹处理,对每一个寄存器外扩3-bit作为污迹标记位tag[2]、tag[1]以及tag[0],tag[2]为1表示来自安全性未知的IP核输出,为0表示安全的输入;tag[1]为1表示敏感信息,为0表示非敏感信息;tag[0]为1表示保护区域,为0表示非保护区域。
3.如权利要求2所述的IP核超长路径可组合证明方法,其特征在于,通过污迹传播逻辑对所有运算操作中的污迹标记位tag[2]进行逻辑或运算操作;当数据源进行运算时有一个源操作数的污迹标记位tag[2]为1,目的操作数的污迹标记位tag[2]就为1。
4.如权利要求1所述的IP核超长路径可组合证明方法,其特征在于,步骤2具体包括:采用搜索算法搜索路径中的所有中间节点,统计中间节点的数量,如果中间节点的数量超过用户设定的超长路径的最小节点数,则将此条路径定义为超长路径,否则不属于超长路径。
5.如权利要求1所述的IP核超长路径可组合证明方法,其特征在于,路径阈值为完成安全检测时单条路径的最大节点数。
6.如权利要求1所述的IP核超长路径可组合证明方法,其特征在于,步骤2中中间节点如果不超过超长路径的最小节点数,则待测路径不属于超长路径,进行普通路径测试,并转步骤10。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010288244.XA CN111427798A (zh) | 2020-04-14 | 2020-04-14 | 一种ip核超长路径可组合证明方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010288244.XA CN111427798A (zh) | 2020-04-14 | 2020-04-14 | 一种ip核超长路径可组合证明方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111427798A true CN111427798A (zh) | 2020-07-17 |
Family
ID=71556207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010288244.XA Pending CN111427798A (zh) | 2020-04-14 | 2020-04-14 | 一种ip核超长路径可组合证明方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427798A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6714902B1 (en) * | 2000-03-02 | 2004-03-30 | Cadence Design Systems, Inc. | Method and apparatus for critical and false path verification |
CN106203876A (zh) * | 2016-07-19 | 2016-12-07 | 广州德科投资咨询有限公司 | 一种基于客户链的知识产权申请管理方法及管理平台 |
CN109711159A (zh) * | 2018-11-26 | 2019-05-03 | 北京计算机技术及应用研究所 | 一种基于信息流的ip核rtl级代码安全漏洞检测方法 |
-
2020
- 2020-04-14 CN CN202010288244.XA patent/CN111427798A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6714902B1 (en) * | 2000-03-02 | 2004-03-30 | Cadence Design Systems, Inc. | Method and apparatus for critical and false path verification |
CN106203876A (zh) * | 2016-07-19 | 2016-12-07 | 广州德科投资咨询有限公司 | 一种基于客户链的知识产权申请管理方法及管理平台 |
CN109711159A (zh) * | 2018-11-26 | 2019-05-03 | 北京计算机技术及应用研究所 | 一种基于信息流的ip核rtl级代码安全漏洞检测方法 |
Non-Patent Citations (1)
Title |
---|
姚旭宁: "IP 核安全路径的选取与可组合证明" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9360522B2 (en) | Methods and apparatus for automatic fault detection | |
US7849428B2 (en) | Formally deriving a minimal clock-gating scheme | |
TWI521378B (zh) | 偵測錯誤注入的裝置與方法 | |
CN109657464B (zh) | 一种基于路径延时分析的硬件木马检测方法 | |
US20020112213A1 (en) | Design analysis tool for path extraction and false path identification and method thereof | |
CN109711159B (zh) | 一种基于信息流的ip核rtl级代码安全漏洞检测方法 | |
CN116256621B (zh) | 芯粒的测试方法、装置、电子设备及存储介质 | |
US10936774B1 (en) | Methods for identifying integrated circuit failures caused by reset-domain interactions | |
US7149989B2 (en) | Method of early physical design validation and identification of texted metal short circuits in an integrated circuit design | |
CN114861578A (zh) | 保持时间违例修复方法、装置、设备及存储介质 | |
CN108829903B (zh) | 判定fpga冗余设计的代码与综合后电路一致性的方法和系统 | |
JPH10283394A (ja) | 故障シミュレーション方法 | |
CN116909934B (zh) | 电子自动化设计软件的命令测试方法、装置、设备及介质 | |
CN111427798A (zh) | 一种ip核超长路径可组合证明方法 | |
CN109711204B (zh) | 基于路径延迟指纹的硬件木马检测方法 | |
JP2018136763A (ja) | 類似関数抽出装置および類似関数抽出プログラム | |
Huang et al. | A Hardware Trojan Trigger Localization Method in RTL based on Control Flow Features | |
CN111427799A (zh) | 一种ip核安全路径选取与切断方法 | |
US20100049713A1 (en) | Pattern matching device and method | |
US20040250225A1 (en) | Intelligent crosstalk delay estimator for integrated circuit design flow | |
US9581644B2 (en) | Digital IC simulation | |
Wang et al. | Tea: A test generation algorithm for designs with timing exceptions | |
Durà et al. | fast and robust Topology-Based logic gate identification for automated IC reverse engineering | |
Iyer et al. | Surprises in sequential redundancy identification | |
JP2008209210A (ja) | テストパターン自動生成方法およびテストパターン自動生成プログラム |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200717 |
|
RJ01 | Rejection of invention patent application after publication |