System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于fpga测试领域,具体涉及一种基于hdl designer的规则集生成方法,该方法通过对语法、关键词等匹配的方式制作出可对代码进行高效、准确、快速的规则集的方法。
技术介绍
1、fpga(现场可编程门阵列)是在pal、gal、cpld等可编程器件的基础上进一步发展的产物。和专用集成电路相比,fpga是基于查找表结构的逻辑门电路,具有硬件可重构的体系结构,其数字电路可以通过编程的方式在芯片出厂后重新构造,具有设计周期快、开发成本低的优势。fpga在未编程状态下可以看作是一种集成了大量原始逻辑资源的标准器件,用户根据需求选定器件,对电路进行设计,无须花费高额流片费用即可实现定制电路的需求。
2、verilog和vhdl语言作为fpga的主要编程语言,在编写相关设计时,综合工具对基本语法均会做检查,但是在设计时由于设计师编写习惯的不同导致风格差距较大。随着设计的日益复杂,在实现功能的同时对其编写的可靠性以及规范性出现了更高的要求。
3、由于fpga有较高的可靠性,其在军品方面尤其是通信、图像处理等领域有着较为广泛的应用,在2021年12月由中国航空技术研究所、中国航天科工集团有限公司第二研究院七〇六研究所、中国航天科技集团有限公司第一研究院第十二研究所等六家研究机构起草,由中央军委装备发展部颁布了《军用可编程逻辑器件软件verilog语言编程安全子集》编号为gjb-10157-2021的verilog编码规范子集,该子集中对verilog编写时的基本编程规范、时钟与复位、触发器、锁存器与缓冲器、运
4、在2020年8月颁布的《军用可编程逻辑器件软件编程语言安全子集-vhdl语言篇》编号为gjb-9765-2020的vhdl编码规范子集对vhdl编写时的基本编程规范、例化、敏感列表、运算、分支控制等相关编码进行了规范性要求,目的是让vhdl设计代码的安全性和规范性得到统一。
5、其中的强制准则要求设计师在编写相关代码时必须严格按照相关要求进行设计,避免了由编写代码时不规范以此产生对时钟与复位、运算符、状态机等处理不完善导致的安全性和功能性问题,极大程度上避免了由此带来的经济损失、人员安全等问题。
技术实现思路
1、本专利技术的目的在于,提供一种基于hdl designer的规则集生成方法,以解决现有技术存在的代码审查效率低下的问题。
2、为了实现上述目的,本专利技术采用如下技术方案予以实现:
3、基于hdldesigner的规则集生成方法,包括如下步骤:
4、步骤1:打开hdl designer工具,选择edit=>designchecker=>managepolicies/rulesets;
5、步骤2:通过步骤1打开的setup窗口中包含三个目录分别为policies、rulesets、base rules,其中policies目录的作用是存放当前使用的规则集,在此处选择规则集的有效与否与规则集中的条目有效与否;rulesets放置的是hdl designer工具内置的规则集,包括:do-254、safety-critical,该位置后续也会用来存放所述基于hdldesigner的规则集生成方法制作的规则集;base rules放置的是hdl designer所提供的基本规则,在制作规则集时从该目录中选取基本规则进行调整和修改;
6、步骤3:在rulesets目录单击鼠标右键,选择newruleset,修改newruleset名字为本次制作规则集的名称;
7、步骤4:依据被制作的规则集的内容,从baserules窗口中选取基本规则集,其中的基本规则集的分类包括allow、assignments、case、clocks&resets、comments、complexity、conditions、configurations、deadlogic、declarations、directives、fsm、gates、hierarchy、instances、labels、logicoptimization、naming、order、partition、raceconditions、ranges、registers、report、sensitivity、style、sub-programs、verification、vital;将筛选出的规则条目复制粘贴到步骤3中新建的规则集中;
8、步骤5:将复制到步骤3中的规则集进行配置,依据被制作规则集的名称、严重程度、针对语言、等要素在parametersofconfiguredrule窗口中对所制作的规则条目进行配置;若制作规则时parametersofconfiguredrule窗口提供的条目与需求条目不符,导致没法在parametersofconfiguredrule窗口中直接选取对应的条目则执行到步9,否则执行到步骤7;
9、步骤6:重复步骤4和步骤5直到规则集中所有条目添加完毕,保存当前规则集;
10、步骤7:将保存的规则集导出,在hdl designer工具程序的数据文件夹下进入目录“hdl designer series\dc_user\rulesets\v“工具版本号”,在该目录下可以看到名称与步骤3命名相同的文件名称后缀为_ruleset,将此文件拷贝出,该文件为制作的规则集文件;
11、步骤8:步骤5中的规则条目配置时缺少部分要素,将步骤7导出的规则集用文本查看工具打开,根据缺少要素的规则条目名称定位到文本查看工具打开的规则集中的位置,将缺少的条目依据规则集的编码格式添加到对应的规则集代码行中,保存修改后的规则集;
12、步骤9:重复步骤8直至所有规则条目的配置与需求完全一致,完成规则集的制作。
13、进一步的,对于制作规则集gjb-10157-2021中的9.4.9强制准则r-13-9,步骤3~步骤5的具体操作如下:
14、步骤3-1:在setup窗口中的rulesets目录点击鼠标右键选择new ruleset选项新建规则集,将此规则集命名为gjb-10157-2021;
15、步骤4-1:通过筛选该规则条目对应的基础规则为base rules=>sensitivity=>sensitivity list,将此规则集复制到步骤3-1新建的规则集中;
16、步骤5-1:在name后双击sensitivity list编辑该规则集在定制时的名称,此处修改该规则集名称为9.4.9r-13-9敏感列表信号必须齐全,无遗漏,无冗余;
17、步骤5-2:在severity后双击error弹出的菜单中选择error;
18、步骤5-3:在language后双击vhdl any,verilog any弹出的本文档来自技高网...
【技术保护点】
1.基于HDLDesigner的规则集生成方法,其特征在于,包括如下步骤:
2.如权利要求1所述的基于HDLDesigner的规则集生成方法:其特征在于,对于制作规则集GJB-10157-2021中的9.4.9强制准则R-13-9,步骤3~步骤5的具体操作如下:
3.如权利要求1所述的基于HDLDesigner的规则集生成方法:其特征在于,对于制作规则集GJB-10157-2021中的8.5强制准则R-9-5,步骤3~步骤5的具体操作如下:
4.如权利要求1所述的基于HDLDesigner的规则集生成方法:其特征在于,对于制作规则集GJB-9765-2020中的4.1强制准则a),步骤3~步骤5的具体操作如下:
5.如权利要求1所述的基于HDLDesigner的规则集生成方法:其特征在于,对于制作规则集GJB-9765-2020中的4.12c),步骤3~步骤5的具体操作如下:
6.如权利要求1所述的基于HDLDesigner的规则集生成方法:其特征在于,对于制作规则集GJB-9765-2020中4.4章节c),步骤3~步
...【技术特征摘要】
1.基于hdldesigner的规则集生成方法,其特征在于,包括如下步骤:
2.如权利要求1所述的基于hdldesigner的规则集生成方法:其特征在于,对于制作规则集gjb-10157-2021中的9.4.9强制准则r-13-9,步骤3~步骤5的具体操作如下:
3.如权利要求1所述的基于hdldesigner的规则集生成方法:其特征在于,对于制作规则集gjb-10157-2021中的8.5强制准则r-9-5,步骤3~步骤5的具体操作如下:
4.如权利要求1所述的基于hd...
【专利技术属性】
技术研发人员:王文宇,李闻丰,易鑫,李晓辉,
申请(专利权)人:西安润道智检科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。