CN117709251A - 基于sv的arinc429接口自动化验证系统及方法 - Google Patents

基于sv的arinc429接口自动化验证系统及方法 Download PDF

Info

Publication number
CN117709251A
CN117709251A CN202311749174.3A CN202311749174A CN117709251A CN 117709251 A CN117709251 A CN 117709251A CN 202311749174 A CN202311749174 A CN 202311749174A CN 117709251 A CN117709251 A CN 117709251A
Authority
CN
China
Prior art keywords
unit
module
verification
test
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311749174.3A
Other languages
English (en)
Inventor
樊庆扬
李屹爽
杨润玲
卫铭斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Architecture and Technology
Original Assignee
Xian University of Architecture and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Architecture and Technology filed Critical Xian University of Architecture and Technology
Priority to CN202311749174.3A priority Critical patent/CN117709251A/zh
Publication of CN117709251A publication Critical patent/CN117709251A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于SV的ARINC429接口自动化验证系统及方法,主要解决现有技术中验证方式不灵活、验证效率低的问题。方案为:通过设计自动化脚本建立启动模块,启动模块连接仿真平台搭建模块的输入,仿真平台搭建模块根据DUT的验证功能点完成测试顶层Testbench单元、验证模型搭建单元和激励自动化生成单元的构建,其输出连接动态仿真模块,在该模块中依次经过测试用例执行单元、仿真结果自动校验单元以及自动收集覆盖率单元,对接口实现自动化的仿真、验证,并收集覆盖率,最后输出给回归测试模块,经该模块对未覆盖部分再次处理。本发明能够有效提升验证效率,具有较高的灵活性和可重用性。

Description

基于SV的ARINC429接口自动化验证系统及方法
技术领域
本发明属于集成电路技术领域,进一步涉及接口的仿真验证技术,具体为一种一种基于SV的ARINC429接口自动化验证系统及方法,可用于提升器件可靠性。
背景技术
通过数字化技术传输模拟信息的过程中,需要在输入端和输出端分别加上A/D转换器和D/A转换器,但是这样会让成本增加且可靠性降低。数字传输的方式提高了信息传输的速度和准确性,为了规范航空电子设备的技术标准、电气特性和插接件等,由美国各航空电子设备制造商、飞机制造商以及其他国家的航空公司联合成立了一个航空无线电公司,简称ARINC。由于ARINC429在航空领域中的广泛应用,并且随着设计的规模不断提高,验证的周期也在不断扩大。传统的验证方法通常依赖于定向测试,针对待测设计DUT的具体特性来定向的编写测试用例,最后通过人为的操作检查来判断仿真结果是否与预期的结果是一致的。这种方式效率低下且容易出错,并且定向测试找出的错误往往是设计中预期的错误,而自动化验证中所产生的激励数据是随机的,能够更加完善的覆盖到设计中的测试点。
SV是System Verilog语言的简称,它建立在Verilog语言的基础上,是IEEE1364Verilog-2001标准的扩展增强,兼容Verilog 2001。其结合了来自Verilog、VHDL、C++的概念,还有验证平台语言和断言语言,将硬件描述语言HDL与现代的高层级验证语言HVL结合了起来,拥有芯片设计和验证工程师所需要的全部结果,它集成了面向对象编程、动态线程和线程间通信等特征。SV除了作为一种高层次,能进行抽象建模的语言被应用外,它的另一个显著特点是能够和芯片验证方法学结合在一起,即作为实现方法学的一种语言工具。使用验证方法学可以大大增强模块复用性、提高芯片开发效率,缩短开发周期。
传统的验证方法依赖于手动的仿真和调试,效率低且架构不清晰,同时存在代码的复用性和维护性不佳的问题;现有基于System Verilog的芯片验证方法虽然在一定程度上提高了验证效率,但仍存在架构不清晰、不灵活等问题。
发明内容
本发明目的在于针对上述现有技术的不足,提出一种基于SV的ARINC429接口自动化验证系统及方法,解决现有ARINC429接口验证方式不灵活、且验证效率低的问题。首先通过设计自动化脚本建立启动模块,启动模块连接仿真平台搭建模块的输入,仿真平台搭建模块根据DUT的验证功能点完成测试顶层Testbench单元、验证模型搭建单元和激励自动化生成单元的构建,其输出连接动态仿真模块,在该模块中依次经过测试用例执行单元、仿真结果自动校验单元以及自动收集覆盖率单元,对接口实现自动化的仿真验证,并对仿真结果进行对比,确定其正确性,对所有的测试用例覆盖率文件进行收集并汇总,最后输出给回归测试模块,经该模块对未覆盖部分再次处理。本发明能够有效提升验证效率,具有较高的灵活性和可重用性。
为实现上述目的,本发明提供的技术方案如下:
一种基于SV的ARINC429接口自动化验证系统,包括:启动模块、仿真平台搭建模块、动态仿真模块以及回归测试模块;其中动态仿真模块由测试用例执行单元、仿真结果自动校验单元以及自动收集覆盖率单元组成;
上述启动模块连接仿真平台搭建模块的输入,仿真平台搭建模块利用启动模块的数据完成测试顶层Testbench单元、验证模型搭建单元和激励自动化生成单元的构建,仿真平台搭建模块的输出连接动态仿真模块中的测试用例执行单元,依次经过测试用例执行单元、仿真结果自动校验单元和自动收集覆盖率单元,最后输出给回归测试模块,经该模块处理后再将数据返回动态仿真模块的测试用例执行单元;
上述启动模块是用于形成自动化验证环境的脚本,用于开启系统;
上述测试顶层Testbench单元用于测试平台的搭建,并将待测设计DUT的顶层设计接口在Testbench中进行例化,完成复位信号和时钟信号的初始化功能;
上述验证模型搭建单元用于搭建ARINC429验证模型;
上述激励自动化生成单元用于产生激励数据,且针对不同测试的功能点,该单元随机产生激励数据的约束不同;
上述测试用例执行单元用于存储并执行所有的测试用例;
上述仿真结果自动校验单元用于将仿真的实际结果和期望值进行自动比对,并根据比对结果判断待测设计DUT功能的正确性;
上述自动收集覆盖率单元用于对待测设计DUT的覆盖率进行收集,并将收集结果发送给回归测试模块,由回归测试模块对未覆盖的测试点进行返回重新测试,保证测试的完整度。
利用上述系统进行接口自动化验证的方法,包括如下步骤:
(1)通过启动模块开启验证系统;
(2)启动模块内的自动化脚本数据进入仿真平台搭建模块,在仿真平台搭建模块中创建测试顶层Testbench单元、验证模型搭建单元和激励自动化生成单元;
(3)测试顶层Testbench单元完成验证环境与设计的连接,以及对时钟信号、复位信号的初始化操作;
(4)验证模型搭建单元利用System Verilog验证语言结合ARINC429协议标准构建具备发送、接收及校验功能的ARINC429验证模型;激励自动化生成单元对验证过程中需要测试的信号数据进行随机化约束,产生执行测试用例所需的激励数据;
(5)仿真平台搭建模块将搭建的ARINC429验证模型和产生的激励数据发送至动态仿真模块;
(6)动态仿真模块对待测设计DUT进行测试,实现如下:
(6.1)测试用例执行单元存储针对不同测试点所设计的测试用例;
(6.2)测试用例执行单元利用激励数据执行测试点所对应的测试用例,获取仿真结果;
(6.3)仿真结果自动校验单元对仿真的结果进行自动校验,即将仿真的实际结果和预先设置的期望值进行自动比对,并根据比对结果判断待测设计DUT功能的正确性;
(6.4)自动收集覆盖率单元对所有测试用例的覆盖率进行收集,并将所有覆盖率文件合并得到总的覆盖率,再将覆盖率收集结果反馈到回归测试模块;
(7)回归测试模块根据覆盖率收集结果,对其中未覆盖的测试点进行回归测试,即将其返回测试用例执行单元,再次执行步骤(6.2)-(6.4),直至覆盖率达到检测要求。
本发明与现有技术相比具有以下优点:
第一、由于本发明采用自动化脚本的方式实现对验证平台中组件的调用和设计,有效提高了验证效率及验证结果准确性,相比于传统的依赖于手动检查和调试进行接口验证的方法,尤其在收集覆盖率方面,不用人为地重复操作就可以完成对覆盖率的收集,克服了传统验证方法效率低下且容易出错的情况。
第二、本发明基于具有简洁、易读和易于维护特点的SV语言搭建自动化验证系统,由于SV语言为一种面向对象的语言,具有类的封装、继承和多态的特征,因此所搭建的自动化验证系统具有更高的层次,具备较高的灵活性和可重用性。
第三、发明构建的系统中明确了各个组件的具体功能,从而方便验证环境的统一构建和管理,使验证的架构更加清晰且执行有序。
附图说明:
图1是本发明系统的整体结构示意图;
图2是使用本发明进行接口验证的系统内部组件运行过程示意图。
具体实施方式
为了使此发明的目的、技术方案和优点体现的更加明确,下面结合附图对本发明做进一步清楚、完整地描述。
实施例一:参照附图1,本发明提出的一种基于SV的ARINC429接口自动化验证系统包括:启动模块、仿真平台搭建模块、动态仿真模块以及回归测试模块;其中动态仿真模块由测试用例执行单元、仿真结果自动校验单元以及自动收集覆盖率单元组成;
所述启动模块连接仿真平台搭建模块的输入,仿真平台搭建模块利用启动模块的数据完成测试顶层Testbench单元、验证模型搭建单元和激励自动化生成单元的构建,仿真平台搭建模块的输出连接动态仿真模块中的测试用例执行单元,依次经过测试用例执行单元、仿真结果自动校验单元和自动收集覆盖率单元,最后输出给回归测试模块,经该模块处理后再将数据返回动态仿真模块的测试用例执行单元;
所述启动模块是用于形成自动化验证环境的脚本,用于开启系统;本实施例中启动模块具体是使用脚本语言Tcl编写.do文件得到的自动化脚本,该模块能够有效提高验证的自动化程度,减少人工的许多重复操作。
所述测试顶层Testbench单元用于测试平台的搭建,并将待测设计DUT的顶层设计接口在Testbench中进行例化,完成复位信号和时钟信号的初始化功能;
所述验证模型搭建单元用于搭建ARINC429验证模型,该模型即为动态仿真模块中进行验证所采用的模型;本实施例中验证模型搭建单元具体是利用System Verilog验证语言结合ARINC429协议标准构建ARINC429的验证模型,且构建得到的验证模型具备发送、接收及校验等功能。
所述激励自动化生成单元用于产生激励数据,且针对不同测试的功能点,该单元随机产生激励数据的约束不同;该单元产生的激励数据为测试用例执行单元中执行测试用例所需要的随机化激励数据。在System Verilog语言中包含一些随机函数可以方便调用,如$random(),$urandom,$urandom_range()以及类的randmozie()、$randcase等函数,使得激励自动化生成单元针对不同的测试点随机化产生测试用例所需要的激励数据;
所述测试用例执行单元用于存储并执行所有的测试用例,这里的测试用例包含针对不同功能测试点所设计的各种不同测试用例。
所述仿真结果自动校验单元用于将仿真的实际结果和期望值进行自动比对,并根据比对结果判断待测设计DUT功能的正确性;
所述自动收集覆盖率单元用于对待测设计DUT的覆盖率进行收集,并将收集结果发送给回归测试模块,由回归测试模块对未覆盖的测试点进行返回重新测试,保证测试的完整度。这里的覆盖率是一种考核验证进度的重要指标,包括代码覆盖率和功能覆盖率,其中代码覆盖率包括行覆盖率、分支覆盖率、条件覆盖率、状态机覆盖率和翻转覆盖率;该模块通过生成每一个测试用例所对应的覆盖率并将所有的覆盖率文件进行整合得到总的覆盖率文件,更加方便和清晰地观察验证的完备性。
实施例二:参照附图1、图2,基于实施例一中的验证系统,本实施例给出一种基于SV的ARINC429接口自动化验证方法,实现步骤具体如下:
步骤1.通过启动模块开启验证系统;
步骤2.启动模块内的自动化脚本数据进入仿真平台搭建模块,在仿真平台搭建模块中创建测试顶层Testbench单元、验证模型搭建单元和激励自动化生成单元;
步骤3.测试顶层Testbench单元完成验证环境与设计的连接,以及对时钟信号、复位信号的初始化操作;
步骤4.验证模型搭建单元利用System Verilog验证语言结合ARINC429协议标准构建具备发送、接收及校验功能的ARINC429验证模型;激励自动化生成单元对验证过程中需要测试的信号数据进行随机化约束,产生执行测试用例所需的激励数据;
步骤5.仿真平台搭建模块将搭建的ARINC429验证模型和产生的激励数据发送至动态仿真模块;
步骤6.动态仿真模块对待测设计DUT进行测试,实现如下:
(6.1)测试用例执行单元存储针对不同测试点所设计的测试用例;
(6.2)测试用例执行单元利用激励数据执行测试点所对应的测试用例,获取仿真结果;
(6.3)仿真结果自动校验单元对仿真的结果进行自动校验,即将仿真的实际结果和预先设置的期望值进行自动比对,并根据比对结果判断待测设计DUT功能的正确性;
(6.4)自动收集覆盖率单元对所有测试用例的覆盖率进行收集,并将所有覆盖率文件合并得到总的覆盖率,再将覆盖率收集结果反馈到回归测试模块;
步骤7.回归测试模块根据覆盖率收集结果,对其中未覆盖的测试点进行回归测试,即将其返回测试用例执行单元,再次执行步骤(6.2)-(6.4),直至覆盖率达到检测要求。
实施例三:参照附图2,本发明系统的整体结构同实施例一,本实施例针对该系统的功能验证过程,给出具体实例进一步对系统各个组成部分作出如下描述:
测试顶层Testbench单元,主要完成待测设计DUT与验证环境的顶层之间的连接,从图2可以看出通过Interface接口将DUT与验证环境连接起来。
验证模型搭建单元,主要完成验证中所需要的验证IP的搭建,对每个部分进行模块化,方便后期的调用及修改。
激励自动化生成单元,主要完成产生测试所需要的激励数据。如图2所示,受约束的激励数据存放在429gen模块中;System Verilog的随机化是通过内部的函数,函数包括rand、randc和randomize等。随机化约束的方法和形式有多种,如:
rand logic[31:0]d[];
constraint d_size{d.size()inside{[1:10]};}
能够定义一个随机化的数组,数组的位宽是32位,数组名字为d。第二行是一个约束条件,用于限制数组d的大小,要求数组d的大小必须在1到10之间。
启动模块所述的自动化仿真脚本,主要是设计一个后缀名为.do的文件,该文件使用Tcl脚本语言,文件中包括批处理文件、建立仿真的映射库、对设计代码(.v文件)和验证代码(.sv文件)进行编译、添加仿真波形、仿真时间和退出仿真等。例如:
vlib work
vlog–f 429.v
add wave//添加仿真波形
vsim–wlf test.wlf tb。
仿真结果自动校验单元,主要是将预期的结果和实际运行仿真的结果进行比较。结合图2可以看出,有tx compare和rx compare模块。自动校验可以帮助节省很多时间,并且减少测试人员的许多重复性工作。
自动收集覆盖率单元是对待测设计DUT的仿真结果的一个集中体现,它会将每一个测试用例所对应的覆盖率文件进行收集,并整合成一个总的覆盖率文件。测试人员可以通过对覆盖率文件的分析,很直观地发现测试中不完善的地方。自动收集覆盖率通过脚本语言Tcl实现,例如:
-cm cond+fsm+tgl+branch+line//设置覆盖率收集的类型
-cm_dir//指定存放路径
vcover merge-out merge.ucdb//将需要合并的覆盖率文件进行合并。
本发明方案主要是针对ARINC429总线的验证工作所设计的,其中构建的验证系统能够更加完善和高效地对ARINC429进行验证,并且该系统具有可重用性和自动化的特点,基于该系统的验证方法对后续的验证工作具有显著的效果,能够进一步提高验证效率,缩短整个项目的研发周期。
本发明未详细说明部分属于本领域技术人员公知常识。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (8)

1.一种基于SV的ARINC429接口自动化验证系统,其特征在于,包括:启动模块、仿真平台搭建模块、动态仿真模块以及回归测试模块;其中动态仿真模块由测试用例执行单元、仿真结果自动校验单元以及自动收集覆盖率单元组成;
所述启动模块连接仿真平台搭建模块的输入,仿真平台搭建模块利用启动模块的数据完成测试顶层Testbench单元、验证模型搭建单元和激励自动化生成单元的构建,仿真平台搭建模块的输出连接动态仿真模块中的测试用例执行单元,依次经过测试用例执行单元、仿真结果自动校验单元和自动收集覆盖率单元,最后输出给回归测试模块,经该模块处理后再将数据返回动态仿真模块的测试用例执行单元;
所述启动模块是用于形成自动化验证环境的脚本,用于开启系统;
所述测试顶层Testbench单元用于测试平台的搭建,并将待测设计DUT的顶层设计接口在Testbench中进行例化,完成复位信号和时钟信号的初始化功能;
所述验证模型搭建单元用于搭建ARINC429验证模型;
所述激励自动化生成单元用于产生激励数据,且针对不同测试的功能点,该单元随机产生激励数据的约束不同;
所述测试用例执行单元用于存储并执行所有的测试用例;
所述仿真结果自动校验单元用于将仿真的实际结果和期望值进行自动比对,并根据比对结果判断待测设计DUT功能的正确性;
所述自动收集覆盖率单元用于对待测设计DUT的覆盖率进行收集,并将收集结果发送给回归测试模块,由回归测试模块对未覆盖的测试点进行返回重新测试,保证测试的完整度。
2.根据权利要求1所述的系统,其特征在于:所述启动模块,具体是使用脚本语言Tcl编写.do文件得到的自动化脚本。
3.根据权利要求1所述的系统,其特征在于:所述动态仿真模块中进行验证采用的模型为验证模型搭建单元搭建的ARINC429验证模型。
4.根据权利要求1或3所述的系统,其特征在于:所述验证模型搭建单元,具体是利用System Verilog验证语言结合ARINC429协议标准构建ARINC429的验证模型,且构建得到的验证模型至少具备发送、接收及校验功能。
5.根据权利要求1所述的系统,其特征在于:所述激励自动化生成单元产生的激励数据为测试用例执行单元中执行测试用例所需要的随机化激励数据。
6.根据权利要求1所述的系统,其特征在于:所述测试用例包含针对不同功能测试点所设计的多种不同测试用例。
7.根据权利要求1所述的系统,其特征在于:所述覆盖率为考核验证进度的指标,包括代码覆盖率和功能覆盖率,其中代码覆盖率包括行覆盖率、分支覆盖率、条件覆盖率、状态机覆盖率和翻转覆盖率。
8.一种基于SV的ARINC429接口自动化验证方法,其特征在于,包括如下步骤:
(1)通过启动模块开启验证系统;
(2)启动模块内的自动化脚本数据进入仿真平台搭建模块,在仿真平台搭建模块中创建测试顶层Testbench单元、验证模型搭建单元和激励自动化生成单元;
(3)测试顶层Testbench单元完成验证环境与设计的连接,以及对时钟信号、复位信号的初始化操作;
(4)验证模型搭建单元利用System Verilog验证语言结合ARINC429协议标准构建具备发送、接收及校验功能的ARINC429验证模型;激励自动化生成单元对验证过程中需要测试的信号数据进行随机化约束,产生执行测试用例所需的激励数据;
(5)仿真平台搭建模块将搭建的ARINC429验证模型和产生的激励数据发送至动态仿真模块;
(6)动态仿真模块对待测设计DUT进行测试,实现如下:
(6.1)测试用例执行单元存储针对不同测试点所设计的测试用例;
(6.2)测试用例执行单元利用激励数据执行测试点所对应的测试用例,获取仿真结果;
(6.3)仿真结果自动校验单元对仿真的结果进行自动校验,即将仿真的实际结果和预先设置的期望值进行自动比对,并根据比对结果判断待测设计DUT功能的正确性;
(6.4)自动收集覆盖率单元对所有测试用例的覆盖率进行收集,并将所有覆盖率文件合并得到总的覆盖率,再将覆盖率收集结果反馈到回归测试模块;
(7)回归测试模块根据覆盖率收集结果,对其中未覆盖的测试点进行回归测试,即将其返回测试用例执行单元,再次执行步骤(6.2)-(6.4),直至覆盖率达到检测要求。
CN202311749174.3A 2023-12-19 2023-12-19 基于sv的arinc429接口自动化验证系统及方法 Pending CN117709251A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311749174.3A CN117709251A (zh) 2023-12-19 2023-12-19 基于sv的arinc429接口自动化验证系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311749174.3A CN117709251A (zh) 2023-12-19 2023-12-19 基于sv的arinc429接口自动化验证系统及方法

Publications (1)

Publication Number Publication Date
CN117709251A true CN117709251A (zh) 2024-03-15

Family

ID=90144029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311749174.3A Pending CN117709251A (zh) 2023-12-19 2023-12-19 基于sv的arinc429接口自动化验证系统及方法

Country Status (1)

Country Link
CN (1) CN117709251A (zh)

Similar Documents

Publication Publication Date Title
US7661050B2 (en) Method and system for formal verification of partial good self test fencing structures
US7139955B2 (en) Hierarchically-controlled automatic test pattern generation
CN102169846B (zh) 一种在集成电路晶圆测试过程中实现多维变量密码并行写入的方法
US7047174B2 (en) Method for producing test patterns for testing an integrated circuit
CN110750949B (zh) 一种基于ibis模型模拟系统级封装剂量率效应的方法
CN111965530A (zh) 一种基于jtag的fpga芯片自动化测试方法
JPH1091472A (ja) 集積回路内部の信号にアクセスするための方法及び装置
US20030093730A1 (en) Systems and methods for testing integrated circuits
US9759772B2 (en) Programmable test instrument
US20040015798A1 (en) Reducing verification time for integrated circuit design including scan circuits
CN115496034B (zh) 多模式gpu联合仿真系统
CN103376340A (zh) 一种转接板、多平台串行测试系统及方法
CN112732508A (zh) 一种基于Zynq的可配置通用IO测试系统及测试方法
CN115688676A (zh) 基于tlm的gpu联合仿真系统
CN115719047A (zh) 基于波形gpu联合仿真系统
CN115454751A (zh) 一种fpga芯片的测试方法、装置和计算机可读存储介质
CN115686655A (zh) 用于gpu ip验证的联合仿真系统
CN108776723B (zh) 测试系统自检适配器连线生成方法、装置、设备及存储介质
CN114757135A (zh) 一种基于需求驱动验证的可编程逻辑器件验证方法及系统
Neishaburi et al. Enabling efficient post-silicon debug by clustering of hardware-assertions
US6968286B1 (en) Functional-pattern management system for device verification
CN117709251A (zh) 基于sv的arinc429接口自动化验证系统及方法
CN103165405A (zh) 一种通过gpib接口实时生成多维变量密码方法
CN113990382B (zh) 片上系统芯片、测试方法及测试系统
CN115639463A (zh) 一种基于边界扫描jtag测试系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination