一种IP核超长路径可组合证明方法技术

技术编号:24937687 阅读:19 留言:0更新日期:2020-07-17 20:52
本发明专利技术涉及一种IP核超长路径可组合证明系统,其中,包括:步骤1:对待测IP核代码进行信息流处理;步骤2:判断中间节点是否超过超长路径的最小节点数;步骤4:选取一条子路径,将起点信号的污迹标记位始终约束为高;步骤5:切断起点信号所有驱动信号;步骤6:判断终点信号的污迹标记位是否为高;步骤7:判断所有子路径是否证明完成,如果未完成则进行步骤4,如已全部证明完成,则得出超长路径存在的结论;步骤8:结束。本发明专利技术解决了IP核安全检测中数据级联复杂,数据路径级联过于复杂造成的难以直接验证和验证效率低的技术问题。

【技术实现步骤摘要】
一种IP核超长路径可组合证明方法
本专利技术属于数字集成电路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产生影响,则证明从本文档来自技高网...

【技术保护点】
1.一种IP核超长路径可组合证明系统,其特征在于,包括:/n步骤1:对待测IP核代码进行信息流处理,为每一个信号添加污迹标签;/n步骤2:判断中间节点是否超过超长路径的最小节点数,如果超过,则进行步骤3;/n步骤3:设定路径阈值,根据路径阈值对超长路径进行分割,以数据流向为顺序,将超长路径切割为路径长度等于路径阈值的短路径;/n步骤4:选取一条子路径,将起点信号的污迹标记位始终约束为高;/n步骤5:切断起点信号所有驱动信号;/n步骤6:判断终点信号的污迹标记位是否为高,如果为低,则超长路径不存在,结转步骤8,如果为高,则子路径起始点之间存在数据路径;/n步骤7:判断所有子路径是否证明完成,如果未完成则进行步骤4,如已全部证明完成,则得出超长路径存在的结论;/n步骤8:结束。/n

【技术特征摘要】
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核输出...

【专利技术属性】
技术研发人员:李东方沈炜赵霞
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1