[发明专利]一种RTL硬件木马测试向量的生成方法有效
申请号: | 201710462372.X | 申请日: | 2017-06-19 |
公开(公告)号: | CN107367686B | 公开(公告)日: | 2019-11-22 |
发明(设计)人: | 沈利香;慕德俊;时翔;徐强;邢业新;何松;袁晓宇 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 11350 北京科亿知识产权代理事务所(普通合伙) | 代理人: | 汤东凤<国际申请>=<国际公布>=<进入 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种RTL硬件木马测试向量的生成方法,主要包括生成控制流程图;并发符号执行;可满足性求解和生成测试向量。本发明采用静态分析Veri log代码的方法,采用多线程并发技术实现Veri log代码的并发符号执行,从而达到快速生成高路径覆盖率的测试向量的目的。 | ||
搜索关键词: | 一种 rtl 硬件 木马 测试 向量 生成 方法 | ||
【主权项】:
1.一种RTL硬件木马测试向量的生成方法,其特征在于,包括如下步骤:/nS1生成verilog代码的控制流图CFG;/n步骤S1具体包括如下步骤:/nS1.1设计的语句结点类型有:ALWAYS,ALWAYS_END,IF,ELSE,IF_END,CASE,CASEX,CASEZ,CASE_ITEM,CASE_END,FOR,FOR_END,TASK,TASK_END,ASSIGN_BLOCK,ASSIGN_NONBLOCK,ASSIGN_CONTINUOUS,INSTANTIATION;/n另外,整个代码的开始增加一个ENTER结点,结束增加一个EXIT结点,不确定类型是NONE结点,其中always,if,case(casex,casez),for,task所对应的结点为控制结点,ENTER和EXIT是控制结点,阻塞赋值、非阻塞赋值和连续赋值为赋值结点;采用开源的Antlr4以及Terence Parr撰写的verilog2001.g4,解析verilog寄存器传输级设计代码的语法,依次提取每条verilog语句进行分析;设计生成控制流图的语句结点;一条语句对应控制流图中的一个结点,语句结点的类型针对verilog可综合的语句设定;为了能够有效区分出不同模块文件中的变量,将所有分析的变量名改为如下形式:模块名_M_原变量名;/nS1.2根据语句结点类型建立语句结点之间的前驱和后继关系:语句结点之间的控制流关系体现在控制结点之间以及控制结点和赋值结点之间的连接,对于赋值结点之间的连接,不表示控制关系,只是表示出赋值结点代表的语句在代码中的位置关系,添加的ENTER结点是整个代码的开始结点,EXIT结点是整个代码的结束结点,Always语句段,例化语句和连续赋值语句之间是并行关系,Always语句段内的if、case、for语句之间存在着语法相关的控制区间和控制顺序的关系;根据控制区间和控制关系确定出各个语句结点之间的前驱和后继关系;/nS1.3依据每个语句结点之间的前驱和后继关系,采用广度优先遍历,生成verilog代码的控制流图CFG;/nS2根据步骤S1生成的控制流图CFG,对待分析的模块文件使用并发符号执行技术,得到指定路径条件pc下输出变量的符号执行表达式,即<pc,exp>;/nS3对步骤S2中得到的路径条件pc进行可满足性求解,得到可满足的路径条件集合及其对应的输入变量取值,生成测试向量;/nS4依据步骤S3中得到的测试向量,由<pc,exp>的映射关系,求解出输出变量在可满足性求解的路径条件pc下对应的符号执行表达式exp的取值;得到<测试向量,输出向量>的映射关系。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710462372.X/,转载请声明来源钻瓜专利网。