CN112559264B - 基于uvm的验证平台实现fpga通用串口的仿真测试方法 - Google Patents
基于uvm的验证平台实现fpga通用串口的仿真测试方法 Download PDFInfo
- Publication number
- CN112559264B CN112559264B CN202011423776.6A CN202011423776A CN112559264B CN 112559264 B CN112559264 B CN 112559264B CN 202011423776 A CN202011423776 A CN 202011423776A CN 112559264 B CN112559264 B CN 112559264B
- Authority
- CN
- China
- Prior art keywords
- test
- serial port
- data
- simulation
- universal serial
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 110
- 238000012795 verification Methods 0.000 title claims abstract description 81
- 238000010998 test method Methods 0.000 title claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 188
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000015654 memory Effects 0.000 claims description 41
- 230000005284 excitation Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及一种基于UVM的验证平台实现FPGA通用串口的仿真测试方法,属于仿真测试技术领域,解决了现有的FPGA通用串口的仿真测试方法周期较长、测试质量不稳定且测试效率较低的问题。方法包括;获得包含验证平台的底层模块的testbench测试平台,并基于testbench测试平台生成模板文件;构建验证平台的人机界面可执行程序;运行验证平台的人机界面可执行程序,并基于验证平台的人机界面调用模板文件进行FPGA通用串口的仿真测试,得到仿真测试结果,实现了FPGA通用串口的仿真测试,提高了测试效率,保证了测试质量。
Description
技术领域
本发明涉及仿真验证技术领域,尤其涉及一种基于UVM的验证平台实现FPGA通用串口的仿真测试方法。
背景技术
今年来,随着大规模片上系统SOC和多核设计的出现,专用集成芯片设计的越来越复杂,芯片的功能复杂度大大增加,使得芯片的验证要求越来越高。如何在短时间内完成芯片功能验证,保证逻辑功能正确,对验证环境的完备性、自动化和重用性提出了更高的要求。
传统的FPGA通用串口的仿真测试方法主要采取定向测试,即针对不同工程的串口模块均需重新搭建测试平台,再针对串口的功能点和协议人工编制定向测试用例。这种验证方式造成测试平台的重用率较低,且测试用例的设计和选择受测试人员技术水平影响较大,仿真前还需要对代码有充分的了解,导致仿真验证的周期较长、测试质量不稳定且测试效率较低。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种基于UVM的验证平台实现FPGA通用串口的仿真测试方法,用以解决现有的FPGA通用串口的仿真测试方法周期较长、测试质量不稳定且测试效率较低的问题。
一方面,本发明实施例提供了一种基于UVM的验证平台实现FPGA通用串口的仿真测试方法,所述验证平台包括底层模块和人机界面,包括下述步骤:
获得包含验证平台的底层模块的testbench测试平台,并基于所述testbench测试平台生成模板文件;
构建验证平台的人机界面可执行程序;
运行所述验证平台的人机界面可执行程序,并基于验证平台的人机界面调用所述模板文件进行FPGA通用串口的仿真测试,得到仿真测试结果。
进一步,所述验证平台的底层模块包括测试用例模块、序列器、驱动器、输入信号监视器、输出信号监视器、标准参考模型和计分板;其中,
所述测试用例模块包括激励数据序列、测试用例信息和测试用例类型;通过下述步骤获得测试用例模块:
基于uvm_sequence类获得激励数据序列;
基于uart_transaction类封装测试用例信息,所述测试用例信息包括测试目标、测试环境、测试数据、测试步骤、预期结果和测试脚本;
基于UVM的callback机制获得FPGA通用串口的测试用例类型,其中,所述测试用例类型包括正常测试用例和异常测试用例。
进一步,所述序列器与驱动器基于专用接口seq_item_export实现通讯;
所述输入信号监视器与参考模型、输出信号监视器与参考模型之间均基于Uvm_analysis系列接口实现通讯。
进一步,所述验证平台的人机界面包括:
顶层文件路径获取单元,用于获取顶层文件的路径;
仿真路径获取单元,用于获取仿真工具的路径;
串口配置单元,用于配置FPGA通用串口的串口参数、应用层协议和物理层协议;
接口单元,用于配置顶层文件的接口信息;
测试用例选择单元,用于选择测试用例的类型。
进一步,所述串口参数包括波特率和时钟;
所述应用层协议包括数据帧头、帧长、数据体和校验和;
所述物理层协议包括起始位、数据位、奇偶校验位和停止位。
进一步,所述顶层文件的接口信息包括时钟、复位、串口数据输入、串口数据输出和位宽。
进一步,所述人机界面调用模板文件进行FPGA通用串口的仿真测试,包括下述步骤:
基于所述顶层文件路径获取单元获得顶层文件的路径;
基于所述仿真路径获取单元获得仿真工具的路径;
基于所述串口配置单元获取FPGA通用串口的串口参数、应用层协议及物理层协议;
基于所述接口单元单元获得所述顶层文件的接口信息;
基于所述测试用例选择单元获得测试用例的类型;
基于所述仿真工具的路径启动仿真工具进行仿真测试,得到仿真测试结果。
进一步,基于所述仿真工具的路径启动仿真工具的宏文件进行仿真测试,得到仿真测试结果,包括下述步骤:
序列器获取测试用例模块输出的测试数据,并将所述测试数据输出至驱动器;
驱动器将所述测试数据转换为bit流数据并输出至DUT模块进行仿真;
输入信号监视器监视输入DUT模块的bit流数据,将所述bit流数据转换为有效字段数据并写入第一FIFO存储器;
参考模型对所述第一FIFO存储器输出的有效字段数据进行顺序调整,并将存在物理层协议错误的有效字段数据剔除,将剩余的有效字段数据输出至第二FIFO存储器;
输出信号监视器将DUT模块的输出数据输出至第三FIFO存储器;
计分板基于所述第二FIFO存储器的输出数据和第三FIFO存储器的输出数据,得到仿真测试结果。
进一步,计分板将基于所述第二FIFO存储器的输出数据和第三FIFO存储器的输出数据,得到仿真测试结果,包括下述步骤:
分别获取所述第二FIFO存储器的输出数据和第三FIFO存储器的输出数据;
将所述第二FIFO存储器的输出数据和第三FIFO存储器的输出数据进行比较,并将比较结果作为仿真测试结果。
进一步,所述驱动器采用pack函数将测试数据转换为bit流数据;
所述输入信号监视器采用unpack函数将bit流数据转换为有效字段数据。
与现有技术相比,本发明至少可实现如下有益效果之一:
1、一种基于UVM的验证平台实现FPGA通用串口的仿真测试方法,首先基于UVM方法学获取包含验证平台的底层模块的测试平台(testbench)并生成模板文件,接着搭建验证平台的人机界面可执行程序,在运行验证平台的人机界面可执行程序后,通过调用模板文件对FPGA通用串口进行仿真测试,得到仿真测试结果。该方法简单易行,易于实施,解决了现有的FPGA通用串口的仿真测试方法周期较长、测试质量不稳定且测试效率较低的问题,提高了测试效率,保证了测试质量。
2、通过采用UVM验证学方法获得包含验证平台的底层模块的测试平台(testbench),并基于测试平台(testbench)生成模板文件,为后期进行构建验证平台并进行FPGA通用串口的仿真测试提供了技术支撑,具有重要的意义。
3、通过验证平台的人机界面可执行程序,使得用户或者操作人员可以获取调用顶层文件和仿真工具Modelsim,可以配置FPGA通用串口的串口参数、应用层协议、物理层协议和顶层文件的接口信息,还可以选择测试用例的类型,实现对FPGA通用串口的仿真测试,实现了参数配置的可视化,提高了用户的满意度和体验度。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为一个实施例中基于UVM的验证平台实现FPGA通用串口的仿真测试方法流程图;
图2为一个实施例中基于不同的测试用例类型实现仿真测试流程图;
图3为一个实施例中基于仿真工具进行仿真测试流程图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
传统的FPGA通用串口的仿真测试方法主要采取定向测试,即针对不同工程的串口模块均需重新搭建测试平台,再针对串口的功能点和协议人工编制定向测试用例。这种验证方式造成测试平台的重用率较低,且测试用例的设计和选择受测试人员技术水平影响较大,仿真前还需要对代码有充分的了解,导致仿真验证的周期较长、测试质量不稳定且测试效率较低。为此,本申请提出了一种基于UVM的验证平台实现FPGA通用串口的仿真测试方法及装置,其中,验证平台包括底层模块和人机界面,首先基于UVM方法学获取包含验证平台的底层模块的测试平台(testbench)并生成模板文件,接着搭建验证平台的人机界面可执行程序,在运行验证平台的人机界面可执行程序后,通过调用模板文件对FPGA通用串口进行仿真测试,得到仿真测试结果。该方法简单易行,易于实施,解决了现有的FPGA通用串口的仿真测试方法周期较长、测试质量不稳定且测试效率较低的问题,提高了测试效率,保证了测试质量。
本发明的一个具体实施例,公开了一种基于UVM的验证平台实现FPGA通用串口的仿真测试方法,其中,验证平台包括底层模块和人机界面,如图1所示,仿真测试方法包括下述步骤S1~S3。
步骤S1、获得包含验证平台的底层模块的测试平台(testbench),并基于测试平台(testbench)生成模板文件。具体来说,验证平台的底层模块包括测试用例模块、序列器、驱动器、输入信号监视器、输出信号监视器、标准参考模型和计分板;其中,测试用例模块包括激励数据序列、测试用例信息和测试用例类型;通过下述步骤获得测试用例模块:
基于uvm_sequence类获得激励数据序列;
基于uart_transaction类封装测试用例信息,测试用例信息包括测试目标、测试环境、测试数据、测试步骤、预期结果和测试脚本;
基于UVM的callback机制获得FPGA通用串口的测试用例类型,其中,测试用例类型包括正常测试用例和异常测试用例。
具体来说,对于测试用例模块,使用uvm_sequence类构建激励数据序列;采用uart_transaction类中通过带约束的随机数据和预编译宏的方式封装包含物理层和应用层全部协议内容的测试用例信息,同时创建对应的有效数据激励集uart_transaction_scb(剔除开始位、停止位、校验位的激励数据),并使用UVM的callback机制进行FPGA通用串口输入或串口输出的测试用例类型的选择及测试激励的重载,其中,测试用例类型包括正常测试用例和异常测试用例。
对于序列器,使用new函数完成uvm_sequencer父类的例化,同时在序列器的类参数中指定序列器传入的序列名称。
驱动器通过专用接口seq_item_port的get_next_item方法获取到序列器发送的测试激励数据到局部变量中,使用uvm_field系列宏中的pack函数将局部变量中的数据换算成bit流数据并保存在数组中,再根据UART的时钟和波特率将bit流数据发送到DUT数据端口。
监视器包括输入信号监视器和输出信号监视器,其中,输入信号监视器通过队列的方式接收读取到的DUT输入端口的bit流数据,接收完成后通过unpack方法将bit流数据转换为有效字段数据,再将有效字段数据写入第一FIFO存储器中供参考模型使用。输出信号监视器将DUT模块的输出数据输出至第三FIFO存储器,供计分板使用。
参考模型通过队列的pop_front方法及uvm_field宏,对输入信号监视器输出至第一FIFO存储器的有效字段数据进行顺序调整(由高bit位到低bit位,或由低bit位到高bit位),并逐bit进行处理,处理的过程中,当出现物理层协议级错误时将该字节置为无效,通过双transaction方式,将剔除开始位、停止位或校验位的有效数据帧发送到第二FIFO存储器,供计分板使用。
计分板使用fork_join语法分别读取到10帧第二FIFO存储器的输出数据和10帧第二FIFO存储器的输出数据后,分别比较第二FIFO存储器的输出数据和10帧第二FIFO存储器的输出数据是否一致,若一致则判断仿真结果正确,否则判断错误,并使用display方法打印错误数据。
详细地,DUT模块对应的顶层文件与驱动器使用接口类及uvm_config_db的方式进行通讯;驱动器与序列器采用专用接口seq_item_port进行通讯;输入信号监视器与参考模型、输出信号监视器与参考模型之间均基于Uvm_analysis系列接口实现通讯。
通过采用UVM验证学方法获得包含验证平台的底层模块的测试平台(testbench),并基于测试平台(testbench)生成模板文件,为后期进行构建验证平台并进行FPGA通用串口的仿真测试提供了技术支撑,具有重要的意义。
步骤S2、构建验证平台的人机界面可执行程序。具体来说,本申请中验证平台的人机界面可执行程序基于VisualStudio中的MFC程序包构建得到。具体包括创建编辑框、静态文本、组合框、按钮、菜单等控件,具体是使用Create方法动态创建编辑框、静态文本等控件以满足不同数量和类型的DUT模块,同时通过CFile类实现UVM宏文件和仿真工具Modelsim启动的批处理文件、脚本文件的编辑和生成。构建得到的验证平台的人机界面包括顶层文件路径获取单元、仿真路径获取单元、串口配置单元、接口单元和测试用例选择单元。
优选地,验证平台的人机界面包括:
顶层文件路径获取单元,用于获取顶层文件的路径;
仿真路径获取单元,用于获取仿真工具的路径;
串口配置单元,用于配置FPGA通用串口的串口参数、应用层协议和物理层协议;其中,串口参数包括波特率和时钟;应用层协议包括数据帧头、帧长、数据体和校验和;物理层协议包括起始位、数据位、奇偶校验位和停止位。
接口单元,用于配置顶层文件的接口信息;其中,顶层文件的接口信息包括时钟、复位、串口数据输入、串口数据输出和位宽。
测试用例选择单元,用于选择测试用例的类型。
通过验证平台的人机界面可执行程序,使得用户或者操作人员可以获取调用顶层文件和仿真工具Modelsim,可以配置FPGA通用串口的串口参数、应用层协议、物理层协议和顶层文件的接口信息,也可以选择测试用例的类型,实现对FPGA通用串口的仿真测试,实现了信息配置的可视化,提高了用户的满意度和体验度。
步骤S3、运行验证平台的人机界面可执行程序,并基于验证平台的人机界面调用模板文件进行FPGA通用串口的仿真测试,得到仿真测试结果。具体来说,构建得到包含验证平台的底层模块的测试平台(testbench)和验证平台的人机界面可执行程序,就得到了验证平台,可通过运行验证平台的人机界面可执行程序,并通过验证平台的人机界面调用模板文件进行FPGA通用串口的仿真测试,得到仿真测试结果。具体地,对FPGA通用串口的仿真测试过程包括:
步骤S301、基于顶层文件路径获取单元获得顶层文件的路径。
步骤S302、基于仿真路径获取单元获得仿真工具的路径,其中,本申请使用的仿真工具为Modelsim。
步骤S303、基于串口配置单元获取FPGA通用串口的串口参数、应用层协议及物理层协议。示例性地,可配置下列信息:波特率921600bps,时钟30MHZ;应用层协议:帧长为32字节;校验和的校验方式为一字节累加和,数据体长度为29字节。物理层协议:一位开始位且低电平有效;一位停止位且高电平有效;一位校验位且为偶校验;8位数据位且发送顺序为从高位到低位。
步骤S304、基于接口单元单元获得顶层文件的接口信息。示例性地,顶层文件的接口信息的接口信息包括:时钟clk,位宽1bit;复位rst,位宽1bit;串口数据输入rx,位宽1bit;串口数据输出rcv_data,位宽32byte。
步骤S305、基于测试用例选择单元获得测试用例的类型。示例性地,如图2所示,测试用例类型可以选择正常测试用例或异常测试用例,若选择异常测试用例,继续选择异常测试用例对应的物理层协议和应用层协议的相关信息进行测试,如帧头错误、校验和错误、开始位错误或校验位错误等。
步骤S306、基于仿真工具的路径启动仿真工具进行仿真测试,得到仿真测试结果,如图3所示,包括下述步骤:
序列器获取测试用例模块输出的测试数据,并将测试数据输出至驱动器;
驱动器将测试数据转换为bit流数据并输出至DUT模块进行仿真;其中,所述驱动器采用pack函数将测试数据转换为bit流数据;
输入信号监视器监视输入DUT模块的bit流数据,将bit流数据转换为有效字段数据并写入第一FIFO存储器;其中,输入信号监视器采用unpack函数将bit流数据转换为有效字段数据。
参考模型对第一FIFO存储器输出的有效字段数据进行顺序调整,并将存在物理层协议错误的有效字段数据剔除,将剩余的有效字段数据输出至第二FIFO存储器;
输出信号监视器将DUT模块的输出数据输出至第三FIFO存储器;
计分板分别获取第二FIFO存储器的输出数据和第三FIFO存储器的输出数据,将第二FIFO存储器的输出数据和第三FIFO存储器的输出数据进行比较,并将比较结果作为仿真测试结果。
与现有技术相比,本实施例提供的一种基于UVM的验证平台实现FPGA通用串口的仿真测试方法,通过搭建包含验证平台的底层模块的测试平台(testbench)和搭建验证平台的人机界面可执行程序,在运行验证平台的人机界面可执行程序后,通过调用基于测试平台(testbench)生成的模板文件对FPGA通用串口进行仿真测试,得到仿真测试结果。该方法简单易行,易于实施,解决了现有的FPGA通用串口的仿真测试方法周期较长、测试质量不稳定且测试效率较低的问题,提高了测试效率,保证了测试质量。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种基于UVM的验证平台实现FPGA通用串口的仿真测试方法,所述验证平台包括底层模块和人机界面,其特征在于,包括下述步骤:
获得包含验证平台的底层模块的testbench测试平台,并基于所述testbench测试平台生成模板文件;
构建验证平台的人机界面可执行程序;
运行所述验证平台的人机界面可执行程序,并基于验证平台的人机界面调用所述模板文件进行FPGA通用串口的仿真测试,得到仿真测试结果;
所述验证平台的底层模块包括测试用例模块、序列器、驱动器、输入信号监视器、输出信号监视器、标准参考模型和计分板;其中,
所述测试用例模块包括激励数据序列、测试用例信息和测试用例类型;通过下述步骤获得测试用例模块:
基于uvm_sequence类获得激励数据序列;
基于uart_transaction类封装测试用例信息,所述测试用例信息包括测试目标、测试环境、测试数据、测试步骤、预期结果和测试脚本;
基于UVM的callback机制获得FPGA通用串口的测试用例类型,其中,所述测试用例类型包括正常测试用例和异常测试用例。
2.根据权利要求1所述的基于UVM的验证平台实现FPGA通用串口的仿真测试方法,其特征在于,所述序列器与驱动器基于专用接口seq_item_export实现通讯;
所述输入信号监视器与参考模型、输出信号监视器与参考模型之间均基于Uvm_analysis系列接口实现通讯。
3.根据权利要求1所述的基于UVM的验证平台实现FPGA通用串口的仿真测试方法,其特征在于,所述验证平台的人机界面包括:
顶层文件路径获取单元,用于获取顶层文件的路径;
仿真路径获取单元,用于获取仿真工具的路径;
串口配置单元,用于配置FPGA通用串口的串口参数、应用层协议和物理层协议;
接口单元,用于配置顶层文件的接口信息;
测试用例选择单元,用于选择测试用例的类型。
4.根据权利要求3所述的基于UVM的验证平台实现FPGA通用串口的仿真测试方法,其特征在于,所述串口参数包括波特率和时钟;
所述应用层协议包括数据帧头、帧长、数据体和校验和;
所述物理层协议包括起始位、数据位、奇偶校验位和停止位。
5.根据权利要求4所述的基于UVM的验证平台实现FPGA通用串口的仿真测试方法,其特征在于,所述顶层文件的接口信息包括时钟、复位、串口数据输入、串口数据输出和位宽。
6.根据权利要求3所述的基于UVM的验证平台实现FPGA通用串口的仿真测试方法,其特征在于,所述人机界面调用模板文件进行FPGA通用串口的仿真测试,包括下述步骤:
基于所述顶层文件路径获取单元获得顶层文件的路径;
基于所述仿真路径获取单元获得仿真工具的路径;
基于所述串口配置单元获取FPGA通用串口的串口参数、应用层协议及物理层协议;
基于所述接口单元获得所述顶层文件的接口信息;
基于所述测试用例选择单元获得测试用例的类型;
基于所述仿真工具的路径启动仿真工具进行仿真测试,得到仿真测试结果。
7.根据权利要求6所述的基于UVM的验证平台实现FPGA通用串口的仿真测试方法,其特征在于,基于所述仿真工具的路径启动仿真工具的宏文件进行仿真测试,得到仿真测试结果,包括下述步骤:
序列器获取测试用例模块输出的测试数据,并将所述测试数据输出至驱动器;
驱动器将所述测试数据转换为bit流数据并输出至DUT模块进行仿真;
输入信号监视器监视输入DUT模块的bit流数据,将所述bit流数据转换为有效字段数据并写入第一FIFO存储器;
参考模型对所述第一FIFO存储器输出的有效字段数据进行顺序调整,并将存在物理层协议错误的有效字段数据剔除,将剩余的有效字段数据输出至第二FIFO存储器;
输出信号监视器将DUT模块的输出数据输出至第三FIFO存储器;
计分板基于所述第二FIFO存储器的输出数据和第三FIFO存储器的输出数据,得到仿真测试结果。
8.根据权利要求7所述的基于UVM的验证平台实现FPGA通用串口的仿真测试方法,其特征在于,计分板将基于所述第二FIFO存储器的输出数据和第三FIFO存储器的输出数据,得到仿真测试结果,包括下述步骤:
分别获取所述第二FIFO存储器的输出数据和第三FIFO存储器的输出数据;
将所述第二FIFO存储器的输出数据和第三FIFO存储器的输出数据进行比较,并将比较结果作为仿真测试结果。
9.根据权利要求7所述的基于UVM的验证平台实现FPGA通用串口的仿真测试方法,其特征在于,所述驱动器采用pack函数将测试数据转换为bit流数据;
所述输入信号监视器采用unpack函数将bit流数据转换为有效字段数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011423776.6A CN112559264B (zh) | 2020-12-08 | 2020-12-08 | 基于uvm的验证平台实现fpga通用串口的仿真测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011423776.6A CN112559264B (zh) | 2020-12-08 | 2020-12-08 | 基于uvm的验证平台实现fpga通用串口的仿真测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559264A CN112559264A (zh) | 2021-03-26 |
CN112559264B true CN112559264B (zh) | 2021-08-06 |
Family
ID=75059719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011423776.6A Active CN112559264B (zh) | 2020-12-08 | 2020-12-08 | 基于uvm的验证平台实现fpga通用串口的仿真测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559264B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076227A (zh) * | 2021-04-28 | 2021-07-06 | 深圳市汇春科技股份有限公司 | Mcu验证方法、系统和终端设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102854801A (zh) * | 2012-09-25 | 2013-01-02 | 北京京航计算通讯研究所 | 一种基于分时复用的大数据量fpga仿真测试方法 |
CN104268310A (zh) * | 2014-09-05 | 2015-01-07 | 浪潮集团有限公司 | 使用专用图形界面调用uvm验证环境的方法 |
CN105718344A (zh) * | 2016-01-19 | 2016-06-29 | 中国电子科技集团公司第三十八研究所 | 一种基于uvm的fpga通用可配置uart协议的验证方法 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
CN109684681A (zh) * | 2018-12-06 | 2019-04-26 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 应用uvm验证平台的高层次化验证方法 |
CN110096441A (zh) * | 2019-04-26 | 2019-08-06 | 北京航空航天大学 | 一种基于uvm方法下fpga软件仿真测试环境建立方法 |
WO2019167081A1 (en) * | 2018-03-02 | 2019-09-06 | Apasangi Akash | System and method for emulation and simulation of rtl (design under test) using fpga |
CN111290954A (zh) * | 2020-02-10 | 2020-06-16 | 中国电子科技集团公司第十四研究所 | 一种基于uvm的fpga构件可视化测试框架和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9310433B2 (en) * | 2014-04-18 | 2016-04-12 | Breker Verification Systems | Testing SOC with portable scenario models and at different levels |
CN109739766B (zh) * | 2018-12-29 | 2022-04-29 | 湖北航天技术研究院总体设计所 | 一种快速搭建fpga数字仿真模型的系统及方法 |
CN111913840A (zh) * | 2020-04-30 | 2020-11-10 | 电子科技大学 | 一种基于uvm的apb-uart模块的验证方法 |
-
2020
- 2020-12-08 CN CN202011423776.6A patent/CN112559264B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102854801A (zh) * | 2012-09-25 | 2013-01-02 | 北京京航计算通讯研究所 | 一种基于分时复用的大数据量fpga仿真测试方法 |
CN104268310A (zh) * | 2014-09-05 | 2015-01-07 | 浪潮集团有限公司 | 使用专用图形界面调用uvm验证环境的方法 |
CN105718344A (zh) * | 2016-01-19 | 2016-06-29 | 中国电子科技集团公司第三十八研究所 | 一种基于uvm的fpga通用可配置uart协议的验证方法 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
WO2019167081A1 (en) * | 2018-03-02 | 2019-09-06 | Apasangi Akash | System and method for emulation and simulation of rtl (design under test) using fpga |
CN109684681A (zh) * | 2018-12-06 | 2019-04-26 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 应用uvm验证平台的高层次化验证方法 |
CN110096441A (zh) * | 2019-04-26 | 2019-08-06 | 北京航空航天大学 | 一种基于uvm方法下fpga软件仿真测试环境建立方法 |
CN111290954A (zh) * | 2020-02-10 | 2020-06-16 | 中国电子科技集团公司第十四研究所 | 一种基于uvm的fpga构件可视化测试框架和方法 |
Non-Patent Citations (1)
Title |
---|
基于UVM架构的EHCI验证环境研究与开发;程海燕;《中国优秀硕士学位论文全文数据库》;20160315;I135-906 * |
Also Published As
Publication number | Publication date |
---|---|
CN112559264A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9547041B2 (en) | Testbench builder, system, device and method with phase synchronization | |
WO2017133447A1 (zh) | 一种智能设备的控制方法及装置、计算机存储介质 | |
CN102480467B (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
CN108460199B (zh) | Cni建模系统 | |
CN109783340A (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
CN111290954B (zh) | 一种基于uvm的fpga构件可视化测试框架和方法 | |
US20050197824A1 (en) | Object-oriented design method for the time-effective and cost-effective development of production-grade embedded systems based on a standardized system architecture | |
CN111399828B (zh) | 一种基于模型驱动的逻辑设备建模方法及终端 | |
CN108664264A (zh) | 一种基于cpu通过jtag方式远程更新fpga的装置和方法 | |
WO2022222292A1 (zh) | 功放适配方法、终端设备、存储介质及计算机程序产品 | |
CN112559264B (zh) | 基于uvm的验证平台实现fpga通用串口的仿真测试方法 | |
CN102495552A (zh) | 面向星载电子系统的实时仿真系统 | |
CN103378994A (zh) | 一种通信设备的测试方法及终端 | |
CN114461478A (zh) | 模拟器,驱动测试方法,电子设备及计算机可读存储介质 | |
CN104063231B (zh) | 一种基于hit‑tena的试验资源快速接入方法 | |
CN115576768A (zh) | 一种基于uvm的通用验证平台架构自动生成方法 | |
CN111399829B (zh) | 一种基于模型驱动的波形建模方法及终端 | |
CN113687814A (zh) | 基于autosar架构的模型框架和接口文件的自动化实现方法 | |
CN101178702A (zh) | 一种微控制器 | |
CN117435483A (zh) | 基于Formal工具的仿真验证激励生成方法、装置、介质及终端 | |
CN113407214B (zh) | 一种基于can通信的可重构化多线程并行上位机系统 | |
CN115442451A (zh) | 图像信号传输方法、显示装置测试设备 | |
CN115221720A (zh) | 一种核能装备的联合仿真方法、设备、介质及系统 | |
CN109725621A (zh) | 一种基于1553b总线和can总线的二级总线程序在线烧写方法 | |
CN111274750B (zh) | 一种基于可视化建模的fpga仿真验证系统和方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |