[发明专利]寄存器传输级Verilog设计的安全验证属性自动提取方法在审
| 申请号: | 202010362018.1 | 申请日: | 2020-04-30 |
| 公开(公告)号: | CN111626009A | 公开(公告)日: | 2020-09-04 |
| 发明(设计)人: | 沈利香;慕德俊;曹国;时翔;徐强;袁晓宇;陆浩 | 申请(专利权)人: | 常州工学院 |
| 主分类号: | G06F30/3308 | 分类号: | G06F30/3308 |
| 代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 姜晓钰 |
| 地址: | 213032 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 寄存器 传输 verilog 设计 安全 验证 属性 自动 提取 方法 | ||
1.一种寄存器传输级Verilog设计的安全验证属性自动提取方法,其特征在于包括:
Verilog实例化树步骤,采用静态分析Verilog设计的方法得到实例化树,树中的每个节点代表一个模块的控制流图;
Daikon生成不变量属性步骤,遍历控制流图,生成Daikon的输入文件,包括声明文件、追踪文件和条件分离文件,然后利用Daikon生成不变量属性;
安全验证属性步骤,依据生成的不变量属性文件,将其中的不变量属性的语法格式转换为安全验证属性;对Verilog设计进行模型检测验证,发现硬件设计安全漏洞。
2.根据权利要求1所述的寄存器传输级Verilog设计的安全验证属性自动提取方法,其特征在于,Verilog实例化树步骤:
依据RTL硬件木马测试向量的生成方法,生成寄存器传输级Verilog设计的实例化树。
3.根据权利要求2所述的寄存器传输级Verilog设计的安全验证属性自动提取方法,其特征在于:依据生成的实例化树,分析仿真Verilog设计生成的VCD文件,生成Daikon工具的输入文件,包括声明文件,追踪文件和条件分离文件。
4.根据权利要求3所述的寄存器传输级Verilog设计的安全验证属性自动提取方法,其特征在于:
依据生成的声明文件、追踪文件和条件分离文件,作为Daikon的输入文件,输出生成不变量文件。
5.根据权利要求2所述的寄存器传输级Verilog设计的安全验证属性自动提取方法,其特征在于:
S1.1依据RTL硬件木马测试向量的生成方法生成方法,生成Verilog设计的控制流图,每个Verilog模块对应一个控制流图;初始状态时,fatherNode节点对应顶层模块,也是整个实例化树的根root;实例化子模块insVar初始为空;步骤S1.3至S1.6是递归调用方式;
S1.2获取root节点中所有的实例化语句insVar,放置到insVar变量列表insVarList中;
S1.3如果insVarList为空,整个Verilog设计对应的实例化树生成,步骤S1结束;如果insVarList不为空,取出其中一个元素insVar;
S1.4创建childNode,此节点对应父节点fatherNode模块中包含的一个例化语句insVar;ChildNode的父节点设置为fatherNode,生成insVar对应子模块的控制流图CFG,加入到childNode中;
S1.5遍历CFG,将其中的实例化语句subInsVar加入到列表subInsVarList中;
S1.6如果subInsVarList不为空,取出一个subInsVar;fahterNode设置为insVar,insVar设置为subInsVar;跳转至S1.4;如果subInsVarList为空,退回到上一级的fatherNode节点继续处理剩余的insVar。
6.根据权利要求5所述的寄存器传输级Verilog设计的安全验证属性自动提取方法,其特征在于:步骤S2具体如下:
S2.1创建声明文件,基本信息写入声明文件头部;广度遍历实例化树,获取每个节点insVar的控制流图,每个控制流图的ENTER节点,对应着Daikon的声明文件中的ENTER程序点;控制流图的EXIT节点对应着Daikon声明文件中的EXIT程序点;从控制流图中获取模块中的变量名称、变量类型转换为变量声明写入声明文件;遍历完实例化树,生成了整个Verilog设计的声明文件;
S2.2创建追踪文件,读取仿真生成的VCD文件,从文件首部开始,首先读取到的是模块变量的符号集合;创建varList,保存变量信息;随后读取到发生数据变化的每个仿真时间点,以及符号值,符号值写入varList;VarList中的每个元素包含信息:变量名,实例化树路径,位宽,符号,仿真时间点,上一个时间点值,当前时间点值;将varList信息写入追踪文件;整个VCD文件读取完,同时追踪文件的写入完成;
S2.3生成条件分离文件,广度遍历实例化树,对于每一个节点insVar,依据insVar节点对应的控制流图中的ENTER节点设置条件分离文件中的程序入口点,写入条件分离文件;遍历控制流图,获取控制节点中的语句条件,写入条件分离文件;整个实例化树遍历完成,条件分离文件写入完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常州工学院,未经常州工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010362018.1/1.html,转载请声明来源钻瓜专利网。





