泛联新安EDA系列——国内自主研发,首款集成双国军标的HDL代码缺陷管理平台VHawk


关于EDA解决方案——IC前端验证环节

近年来,集成电路(IC, Integrated Circuit)技术在军事信息领域获得了广泛应用。在装备中,FPGA代码和IC设计代码数量呈现快速增长趋势,据初步统计,目前硬件描述语言(HDL, Hardware Description Language)程序数量占装备软件的比重已达30%以上,部分型号HDL代码数量甚至已经超过了传统软件代码的数量,未来集成电路技术的应用更将呈现快速增长的趋势,HDL代码质量成为影响装备质量和战斗力生成的重要因素。因此,提升HDL代码质量对保证装备质量有直接、现实的意义。
随着技术的发展和需求的增长,客户对集成电路器件功能及性能提出了更高的需求,也使得HDL代码设计复杂度愈演愈烈。在集成电路器件代码设计编写阶段,由于设计团队成员的经验水平不一,精力有限,使得代码中的设计缺陷往往难以避免。如何保障构成了集成电路器件设计安全性重要环节之一的HDL代码质量,快速高效地在日益复杂的HDL代码中发现潜在的缺陷、降低设计风险已经成为了严重制约集成电路器件应用的瓶颈之一。
如果能够越早地发现代码中存在的缺陷,能够极大地节省后续进行故障排查所需的时间及经济成本。
整体而言,HDL代码规范检查工具在国外行业领域的EDA软件开发商们可能已开发出了许多被广泛认可和使用的工具。但国外的HDL代码规则检查工具可能无法覆盖我国航空、航天、兵器、船舶等领域IC设计代码的规范需求,而且也不可能将相应的代码规则检查规范需求交由国外公司实现。
对于国内关键领域来说,一方面使用国外软件费用高昂,例如Spyglass一年的license授权费用就高达数百万元;另一方面,特别是在贸易战背景下,该类“卡脖子”类工具软件亦对国家信息安全构成潜在的安全隐患。FPGA代码缺陷检测与质量分析管理系统可极大程度地避免上述问题。

具体弊端及实现功能如下:

  • FPGA软件规模增大,人工走查是否符合国标/国军标工作量巨大;
  • FPGA软件迭代后,需要重新进行人工测试;
  • 人工检查FPGA软件与工程师经验密切相关,对于经验不足的工程师,存在遗漏可能性;
  • FPGA编码规范自动检测工具,可以边开发边检测,减少了后期发现缺陷从而引起迭代的可能性;
  • 项目迭代次数较多时,跟踪特定的违例或缺陷是否被正确修复工作量大、繁琐且易出错;
  • 项目发现大量缺陷违例,要求项目成员修正,违例数量巨大时,跟踪修正情况易出错或遗漏;
  • 项目组成员提交的代码需要项目组长人工Review核查代码质量;
  • 自动导出检测报告,减少繁杂的人工整理检测报告工作量;
  • 快速、自动化的检测,降低设计风险,减少项目时间消耗。

FPGA代码缺陷检测工具的现状

【泛联新安EDA系列——国内自主研发,首款集成双国军标的HDL代码缺陷管理平台VHawk】为了约束FPGA代码设计人员的编码行为,尽量减少由于不同开发人员的不同编码风格和习惯带来的潜在缺陷风险,在Verilog/VHDL语言标准规范基础上,各大FPGA厂商和行业协会、测评机构都会根据领域特征来定义对应的编码标准和规则。例如,Xilinx/Altera设计准则、DO-254设计标准、航天型号可编程逻辑器件软件编码要求QJ 20356-2014等。甚至于一些具体的先导项目都会制定自己的FPGA编码规范要求。
基于实际需求驱动,FPGA代码缺陷检测工具的研制在商业领域中起步较早且发展十分迅速,但基本被国外行业领域的EDA软件开发商们所垄断,目前业内比较知名的代码规则检查工具包括了HDL Designer, SpyGlass等。而国内目前只有一家企业提供类似的工具。这些工具都集成了多种目前业内广泛认可的FPGA编程规则集,比如可综合规则、可仿真规则、可重用规则、安全可靠规则等。
在此背景下,国内的集成电路设计厂商和军工研究所等单位,大多都会采购一些类似的工具进行自动化的检查,减少设计风险的同时缩短项目的交付时间。

VHawk 缺陷检测管理平台

产品特点
VHawk是国内首家支持HDL编码规范自动化检查的工具软件,集成双国军标GJB9765-2020、GJB10157-2021,支持Verilog/VHDL多种语言,支持Windows/Linux跨平台运行,支持高效快速地对设计进行编码规范检查与指定标准符合情况的报告自动导出,非常适合FPGA/IC设计前期对编码进行可靠性检查。

VHawk具有以下功能特点:
(一)全中文跨平台的交互界面
VHawk工具支持多种语言显示,支持全中文操作提示与显示。同时,无论用户是习惯使用Windows操作系统还是Linux操作平台,我们都能提供对应的跨平台版本。
(二)自由的检查策略配置
用户可根据实际需求,从已提供的具体规则集中选择所需检查的规则组合形成新应用策略,应用至指定项目规则检查中。
(三)批量自动化检查结果报告导出
用户可一次对多个项目进行检查或检查并自动导出报告,在检查前,批量检查与导出配置交互界面,用户配置完多个项目检查信息后,软件依次检查各项目,并自动按配置导出所需要的检查报告。

(四)高效的HDL代码检查能力
VHawk采用高效的代码静态检测技术,能够高效地依据用户设定的检查策略对代码进行扫描和分析;能够帮助用户维持良好的编码风格并检查出潜藏在代码中的编码缺陷;将问题解决在设计和编码的初期。
(五)支持丰富的静态规则集合
VHawk支持目前主流的商用Verilog编程语言规则集,如DO-254,Altera, Xilinx等。此外,本软件还独有地支持两项军用可编程逻辑器件软件编程语言安全子集/FPGA硬件描述语言编程规范的规则集。
(六)支持可视化的代码质量评估机制
VHawk提供基于静态规则检查的代码质量评估机制。
用户通过为每一条规则配置相应的权重和分值后,可以依据软件预设的分析算法对代码质量进行评估和统计,配置工具具备的跟踪功能能够提供直观的代码质量变化情况分析。
(七)在线代码修改能力
VHawk提供代码编辑功能,在检查出代码违例信息后,用户可根据提示信息,在软件编辑框中进行代码修改,并发起新一次检查请求。
(八)清晰的违例信息标记
VHawk提供在文本编辑器中显示违例标记信息功能,并实现违例信息向前、向后跳转功能,同时进行违例信息描述,并可根据提示修改源代码程序。

(九)强大的违例信息跟踪功能
VHawk对同一项目多次检查结果信息进行存储,方便用户通过对不同修改版本的违例信息的跟踪,来分析HDL代码中潜在的问题,从而尽可能保证HDL编码的可靠性。
(十)HDL描述代码质量审查和评估
VHawk可以面向HDL代码审查、检测部门提供一站式的代码质量审查和评估能力。审查人员可以根据项目需求设定检查的规则集合并对待检代码进行全面的扫描和评估。本软件提供代码批量检查功能和多样化的标准代码检查报告生成功能,可以极大地减轻代码审查人员的工作负担。
(十一)项目编码过审预评
VHawk与测评单位合作开发适用的领域规则集合标准,在项目提交给测评单位之前,可以通过本软件进行预先检查,查漏补缺,一方面检查HDL编码中的缺陷,另一方面也是提前发现HDL编码中不符合标准要求的代码,及时改正与修订。
(十二)缩短项目设计周期
利用VHawk软件的高效特性,IC设计人员可以在HDL编码设计过程中,不断迭代式地使用该软件检测项目编码设计,检查找出代码中潜在的缺陷,及时进行修改与订正,避免由于工程师经验不足而产生的直到IC后端才发现的错误,缩短整个项目周期。

产品优势
(一)国内首家与测评单位联合研发自动化编码规范检查工具的单位,针对国内客户定制
  • 全中文开发环境
  • 人性化的操作界面,可轻松上手
  • 可灵活配置不同的规则集合和检查策略
  • 可修改检查规则的参数
  • 针对检查结果进行分析
  • 按测评中心模板自动导出检查报告
  • 可适配并自动解析读取多种EDA工具项目文件
(二)支持多种行业标准
  • 支持GJB9765-2020、GJB10157-2021国家军用标准规则集
  • 支持DO-254、Xilinx主流商用规则集
  • 支持行业Altera标准
(三)高效而准确的检查结果
  • 代码分析时间<=10秒/万行
  • 对实际项目的HDL代码(规模不大于2万行)的测试中能够检测出90%的预埋缺陷(预埋缺陷在提炼的给定缺陷范围内),缺陷检测虚警率不高于20%



    推荐阅读