verilog比c语言的运行速度快,一种针对HDLC协议的自动化仿真测试方法与流程

本发明涉及一种仿真测试方法,特别是一种针对HDLC协议的自动化仿真测试方法。

背景技术:

在军工电子元器件板级通讯领域,HDLC协议是一种常用的通讯协议,很多电子设备中都含有HDLC通讯模块,HDLC模块的质量直接关系到设备的质量,因此针对HDLC模块的测试验证工作十分重要。

由于各型号任务对HDLC协议有或多或少的修改,同时由于保密原因考虑,各单位独立开发针对各自型号任务的HDLC通讯模块,这就造成多个版本的HDLC通讯模块同时存在,有些版本间的差异很小,但仍然需要对每个版本进行全面测试。

目前,传统的军品HDLC模块测试工作仅进行少量软件仿真验证,覆盖性测试多在FPGA上进行,通过和实际器件进行对接,直接测试通讯模块的设计质量。但由于FPGA器件的种种限制,调试效率并不高,无法迅速准确定位问题。传统的指标检测方法仍然为人工观察,测试人员需要对每种情况一一排查,需要耗费大量的人力物力。这种传统测试方法的弊端在设计版本升级时更为突出,测试人员需要在每次版本修改后,进行重复测试。

针对军品SOC芯片开发流程来说,这种传统FPGA测试方式具有更大的局限性,由于FPGA无法完全模拟SOC电路行为,因此大部分设计仍需要通过仿真进行验证。

技术实现要素:

本发明目的在于提供一种针对HDLC协议的自动化仿真测试方法,解决传统HDLC通讯模块测试流程效率低、覆盖性低、定位差的问题。

一种针对HDLC协议的自动化仿真测试方法的具体步骤为:

第一步 搭建针对HDLC协议的自动化仿真测试系统

针对HDLC协议的自动化仿真测试系统,包括:测试帧数据产生模块、帧格式翻译模块、基于C语言的HDLC协议黄金模型建立模块、激励及结果数据库模块、指标检测模块和测试结果显示模块。

测试帧数据产生模块的功能为:产生所需帧数据并根据测试结果调整帧数据格式;

帧格式翻译模块的功能为:将测试数据翻译为符合HDLC协议的帧格式数据;

基于C语言的HDLC协议黄金模型建立模块的功能为:构建黄金模型;

激励及结果数据库模块的功能为:提供测试用激励数据及存储测试结果;

指标检测模块的功能为:进行所需指标检测;

测试结果显示模块的功能为:进行覆盖率测试。

第二步 测试帧数据产生模块产生所需帧数据

测试帧数据产生模块根据设计人员需求产生所需帧数据,同时根据测试结果调整帧数据格式以达到高的测试覆盖率。

第三步 帧格式翻译模块进行数据的格式翻译

帧格式翻译模块由C语言或Verilog语言实现,考虑时钟周期、数据脉冲宽度和CRC校验方式的参数信息,将并行测试数据翻译为符合HDLC协议的串行帧格式数据。

第四步 基于C语言的HDLC协议黄金模型建立模块构建黄金模型

基于C语言的HDLC协议黄金模型建立模块构建一个周期精确、比特精确的TLM设计原型,能够完全模拟硬件HDLC模块的全部外部行为。黄金模型的抽象层次为TLM级,需要读取激励数据库数据,并按照时钟信号节拍完成串行数据处理,运算结果包括:物理波形部分和数据部分,均存储至结果数据库。

第五步 激励及结果数据库模块存储数据信息

激励及结果数据库模块建立激励数据库和结果数据库,并进行数据信息的存储,存储格式包括:波形数据和存储器数据。波形数据指信号的物理波形按时间顺序的存储结果,保存了信号的时序信息和形状信息;存储器数据指数据在存储器内的具体信息,包括HDLC协议帧内容、帧数据长度和CRC校验结果。具体数据格式根据设计环境自定义实现。

第六步 指标检测模块进行所需指标检测

指标检测模块针对一系列军用设备关注的指标进行检测,包括:数据正确性检测、帧格式正确性检测、应答延时检测和脉冲宽度检测。其中,数据正确性检测同时读取待测模块和黄金模型的输出数据,并进行对比;帧格式正确性检测、应答延时检测和脉冲宽度检测仅针对待测模块输出数据。相比于传统自动测试平台只检测数据正确性,能够完全涵盖所有需要人工检测的指标,同时能够提供准确的测试违规时间点,方便对问题进行快速定位。

第七步 测试结果显示模块进行覆盖率测试

测试结果显示模块进行覆盖率测试,采用带反馈的验证方式,根据测试结果和测试人员需要达到的覆盖率目标,自动增加测试激励的数目,直到覆盖率目标达到为止。测试激励的产生方式为半随机产生方式,在特定约束下随机产生激励既保证了激励的随机性,又能够达到覆盖率快速收敛的目的。

至此,完成了一种针对HDLC协议的自动化仿真测试。

本发明通过总结军用HDLC通讯模块测试要求,提出一套适用于多数HDLC通讯模块的自动化测试方法,在提高测试覆盖性的前提下,最大限度降低测试人员重复的测试工作,能够在设计初期发现设计中存在的漏洞,减少设计测试迭代次数,加快HDLC通讯模块的开发应用速度。黄金模型的实现语言为C语言,能够提供良好的保密性和平台适应性。相比于MATLAB模型和SystemVerilog模型,具有运行速度快、抽象层次高、保密性高的优势。能够解决目前军用HDLC行为模型缺乏和不统一的现状,同时针对军用协议及算法具有较高的保密性。本方法能够在一小时内完成传统方法几天的测试工作,并具有更高的测试覆盖率。

附图说明

图1一种针对HDLC协议的自动化仿真测试方法的结构示意图。

1.测试帧数据产生模块 2.帧格式翻译模块 3.基于C语言的HDLC协议黄金模型建立模块 4.激励及结果数据库模块 5.指标检测模块 6.测试结果显示模块。

具体实施方式

一种针对HDLC协议的自动化仿真测试方法的具体步骤为:

第一步 搭建针对HDLC协议的自动化仿真测试系统

针对HDLC协议的自动化仿真测试系统,包括:测试帧数据产生模块1、帧格式翻译模块2、基于C语言的HDLC协议黄金模型建立模块3、激励及结果数据库模块4、指标检测模块5和测试结果显示模块6。

测试帧数据产生模块1的功能为:产生所需帧数据并根据测试结果调整帧数据格式;

帧格式翻译模块2的功能为:将测试数据翻译为符合HDLC协议的帧格式数据;

基于C语言的HDLC协议黄金模型建立模块3的功能为:构建黄金模型;

激励及结果数据库模块4的功能为:提供测试用激励数据及存储测试结果;

指标检测模块5的功能为:进行所需指标检测;

测试结果显示模块6的功能为:进行覆盖率测试。

第二步 测试帧数据产生模块1产生所需帧数据

测试帧数据产生模块1根据设计人员需求产生所需帧数据,同时根据测试结果调整帧数据格式以达到高的测试覆盖率。

第三步 帧格式翻译模块2进行数据的格式翻译

帧格式翻译模块2由C语言或Verilog语言实现,考虑时钟周期、数据脉冲宽度和CRC校验方式的参数信息,将并行测试数据翻译为符合HDLC协议的串行帧格式数据。

第四步 基于C语言的HDLC协议黄金模型建立模块3构建黄金模型

基于C语言的HDLC协议黄金模型建立模块3构建一个周期精确、比特精确的TLM设计原型,能够完全模拟硬件HDLC模块的全部外部行为。黄金模型的抽象层次为TLM级,需要读取激励数据库数据,并按照时钟信号节拍完成串行数据处理,运算结果包括:物理波形部分和数据部分,均存储至结果数据库。

第五步 激励及结果数据库模块4存储数据信息

激励及结果数据库模块4建立激励数据库和结果数据库,并进行数据信息的存储,存储格式包括:波形数据和存储器数据。波形数据指信号的物理波形按时间顺序的存储结果,保存了信号的时序信息和形状信息;存储器数据指数据在存储器内的具体信息,包括HDLC协议帧内容、帧数据长度和CRC校验结果。具体数据格式根据设计环境自定义实现。

第六步 指标检测模块5进行所需指标检测

指标检测模块5针对一系列军用设备关注的指标进行检测,包括:数据正确性检测、帧格式正确性检测、应答延时检测和脉冲宽度检测。其中,数据正确性检测同时读取待测模块和黄金模型的输出数据,并进行对比;帧格式正确性检测、应答延时检测和脉冲宽度检测仅针对待测模块输出数据。相比于传统自动测试平台只检测数据正确性,能够完全涵盖所有需要人工检测的指标,同时能够提供准确的测试违规时间点,方便对问题进行快速定位。

第七步 测试结果显示模块6进行覆盖率测试

测试结果显示模块6进行覆盖率测试,采用带反馈的验证方式,根据测试结果和测试人员需要达到的覆盖率目标,自动增加测试激励的数目,直到覆盖率目标达到为止。测试激励的产生方式为半随机产生方式,在特定约束下随机产生激励既保证了激励的随机性,又能够达到覆盖率快速收敛的目的。

至此,完成了一种针对HDLC协议的自动化仿真测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值