江南机电设计研究所 贵州贵阳 550000
摘要:依托软件测试技术根据FPGA特点,分析雷达FPGA软件测试过程,拟定与雷达FPGA软件相符编码规范,同时通过测试验证,发现FPGA设计开发所产生的缺陷,切实提升FPGA软件质量与系统可靠性。
关键词:雷达;FPGA;软件测试技术
随着现场可编程门阵列与复杂可编程逻辑器件应用,导致数字电路系统设计呈现革命性变革,切实缩短数字系统研发周期与成本,其所具备的处理速度快、规模大、编程灵活、集成度高等优点,使其成为广泛应用在航空航天等军工领域的可编程逻辑器件,为此,也存在更高的FPGA设计质量与可靠性要求。之前在军用领域当成硬件管理不进行测试要求的可编程逻辑器件逐步纳入测试范围。本文尝试着分析FPGA软件基本情况,结合软件测试技术分析FPGA软件测试过程。
1 FPGA软件测试现状
雷达装备越来越多应用FPGA,借助FPGA实现很多重要功能,然而没有充分实施相关测试。需求分析借助于设计文件追踪方式,仅仅只是设计依据的罗列与追踪覆盖,独立性较差,依赖设计文档质量,比较容易出现遗漏;实施人工审查方式审查代码,仅仅只是关注代码实现,不涉及报告一致性,甚至有些时候以设计方的审查代替测试人员独立审查;仿真验证弱化,通过板级确认测试代替;时序分析只是注重主要时钟路径,没有分析接口时序,约束不完备,时常出现遗漏等。FPGA软件缺陷导致产品故障日益增多,受到FPGA时序器件特性以及开发环节测试不充分的影响,使得一些FPGA类软件问题逐步暴露。
2 FFPGA软件测试过程
2.1 策划
测试方按照测评任务书、合同或者别的等效文件以及被测软件任务书或者需求规格说明等涉及文档实施测试策划,必须评审编制的软件测试计划,还应该实施变更控制与版本控制。
2.2 设计与实现
测试方按照测试计划与软件测试需求规格说明测试设计实现,测试设计工作要求主要的是:选定测试工具,逐步建立而且验证测试环境,确定测试优先级,涉及测试用例集,编制测试说明,评审软件测试说明,获得相关人员认可,实施变更控制与版本控制,还应该按照情况实施修订。
2.3 执行
按照选定测试环境、工具以及设计测试用例、方法,执行规定测试项目与内容,执行环节必须如实记录测试过程、结果以及发现问题现象,填写软件问题报告单。
2.4 总结
测试方应该按照软件任务书、软件需求规格说明、软件问题报告单、测试记录、测试说明以及测试计划等,分析评价测试工作与被测软件,审查测评报告,分析评价测试工作,总结测试文档与测试环境变化情况以及相关原因,总结测试问题以及实施的措施情况;如果测试异常终止的时候,说明没有被测试活动充分覆盖范围以及理由,分析评价被测软件,总结发现软件问题以及所有问题处理确认情况;总结通过测试被测软件与软件任务书或者软件需求之间差异,提出改进措施。
3 雷达FPGA软件静态测试
3.1 审查文档
根据FPGA软件特征尤其是有别于传统雷达软件检查内容,针对文档的内外接口状态、寄存器定义、跨时钟域设计方式、设计与实现约束描述、时序图及时序参数、同异步电路设计方式、复位电路设计原则级要求、论证、验证以及使用IP核说明等方面,并根据文档验证其正确性、完整性、一致性、规范性等,逐项列出审查条目。
3.2 静态分析
静态分析按照FPGA软件编码规范,借助于编码规则检查工具对时钟域复位规则、异步时钟域检查、编码风格检查、可综合性规则、时序约束检查等是否符合编码规范,辅助测试人员发现可编程逻辑器件问题。目前市场上主流编码规则检查工具主要的是Alint、LEDA、Vlint、HDL designer等。
3.3 代码审查
代码审查主要的是审查代码和设计的一致性、代码执行标准情况、代码逻辑表达正确性、代码结构合理性以及代码可读性等,测试人员必须仔细阅读相关文档,充分熟悉设计,基于此对照代码审查单,逐行认真阅读代码实施人工审查。人工审查环节的重点是没有办法借助于工具自动分析发现诸如代码设计面临逻辑问题、编码与设计不符问题、算法实现问题等。
3.4 静态时序分析
静态时序分析则是依托静态时序分析工具分析逻辑综合或者布局布线之后获得的静态时序信息,按照信息提示找出不满足建立或者保持时间路径以及不符合约束路径过程。静态时序分析至少对于可编程逻辑器件软件最好、最差以及典型工况下建立、保持时间、异步复位的恢复或者移除时间实施分析记录,时序分析达到100%的路径覆盖率。除开TimeQuest之外,现阶段使用比较多的第三方静态时序分析工具是PrimeTime。
3.5 跨时钟域检查
跨时钟域检查借助跨时钟域检查工具检查可编程逻辑器件软件中多时钟域之间交互问题,预防亚稳态等不稳定电路设计。跨时钟域检查工具主要的是SpyGlass工具、oin SpyGlass工具。
3.6 逻辑等效性检查
逻辑等效性检查主要的是进行检查综合或者布局布线环节引入的错误,预防最终得到的逻辑电路与设计出现偏差。测试要依托等效性分析工具分析文件之间等效性,人工二次分析结果信息,追踪定位问题。
4 雷达FPGA软件动态测试
4.1 功能仿真
功能仿真则是对构成电路逻辑和门的时间延迟不考虑的条件下,侧重考核电路处于理想环境下的行为和设计构想之间一致性。功能仿真用例测试类型覆盖边界、强度、可靠性、性能、恢复性、余量、接口、功能等,而且还会给出动态仿真结果。专业仿真测试环境主要的是VCS-MX、Questa、ModelSim等,通过与Vivado、ISE、QuartusII的结合,可以支持Systemverilog、Verilog、VHDL和SystemC的RTL仿真、综合后网表仿真、时序仿真等。
4.2 时序仿真
时序仿真是根据加入器件延时和线延时的布局布线后网表,让动态分析的方法考核电路与设计构想之间的一致性。测试可编程逻辑器件软件布局布线后的逻辑网表功能与时序是否满足设计要求,借助于仿真工具运行与功能仿真相同的激励,仿真可编程逻辑器件软件布局布线后的逻辑网表,分别添加最好、最坏、典型三种工况下的SDF文件,测试功能和时序。
5 应用实例
通过将软件测试当成基础的FPGA测试技术已经成功的应用在雷达的各个分系统,通过将雷达某波控机FPGA软件测试当成实例,这一系统选取Xilinx公司的XQ2V3000芯片作为宿主机,借助于Verilog语言开发,实现SAR天线的波束控制功能,配合内定标器完成灵活定标功能,与此同时,采集SAR天线监测数据,向SAR监控定时器传递天线和波控机监测数据。
测试人员按照测试总体方案相关要求对于这一系统实施文档审查、静态分析、静态时序分析、代码审查、功能测试与功能仿真测试、时序仿真测试总共六种测试类型的测试,搭建起来相应的仿真测试环境,做好各个模块的功能验证,实施时序仿真做好时序分析。
6 结束语
根据雷达FPGA软件质量管控环节面临的问题,选取规范和可操作性当成目标,实施FPGA软件测试和验证研究,研究而且制定符合雷达FPGA软件的编码规范和测试规范,与此同时,在实际项目开展试点验证,从而可以做到持续改进,及时发现而且关闭FPGA设计开发环节所产生的缺陷,提升硬件描述语言的编写质量与系统可靠性,有效验证FPGA电路行为,最终保证FPGA产品质量,切实提升客户满意度。
参考文献
[1]李少芳,赵国利.雷达嵌入式软件仿真测试技术研究与实践[J].信息化研究,2020,46(03):57-61+68.
[2]申春妮.雷达FPGA软件测试技术研究与实现[J].测试技术学报,2019,33(02):160-164+171.
[3]孙俊若,陈佳斌,叶波,汪圣利.智能化软件测试技术研究及其在雷达系统中的应用[J].信息技术与信息化,2018(Z1):32-36.
[4]冯亮玮. 雷达信号频谱测试技术研究与软件实现[D].电子科技大学,2016.
[5]刘末娇,费清春,梁红.机载火控雷达软件自动化测试技术研究[J].信息化研究,2012,38(01):53-57.
[6]孙俊若,席晓强,叶波,林洁.机载雷达软件开发全周期测试技术研究[J].现代雷达,2010,32(01):85-89.
[7]蒋轶. 嵌入式雷达软件系统级测试技术研究[D].南京理工大学,2009.
[8]何梅.黑盒测试技术在雷达软件系统测试中的应用[J].信息化研究,2009,35(04):41-44.