CN110096441B - 一种基于uvm方法下fpga软件仿真测试环境建立方法 - Google Patents

一种基于uvm方法下fpga软件仿真测试环境建立方法 Download PDF

Info

Publication number
CN110096441B
CN110096441B CN201910343700.3A CN201910343700A CN110096441B CN 110096441 B CN110096441 B CN 110096441B CN 201910343700 A CN201910343700 A CN 201910343700A CN 110096441 B CN110096441 B CN 110096441B
Authority
CN
China
Prior art keywords
uvm
software
platform
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.)
Active
Application number
CN201910343700.3A
Other languages
English (en)
Other versions
CN110096441A (zh
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201910343700.3A priority Critical patent/CN110096441B/zh
Publication of CN110096441A publication Critical patent/CN110096441A/zh
Application granted granted Critical
Publication of CN110096441B publication Critical patent/CN110096441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于UVM方法下FPGA软件仿真测试环境建立方法,该方法是对可编程逻辑器件软件产品的特性进行分析,并基于UVM验证方法学和层次设计的软件体系结构,建立的可编程逻辑器件软件仿真测试环境,包括UVM模板及UVM配置工具软件。测试人员可以通过配置的被测对象的接口属性和选择测试激励类型,自动生成定向和不定向的测试激励,并且能够构建针对被测对象的UVM测试平台,将测试数据发送到UVM测试平台中,调用仿真工具,最终完成可编程逻辑器件软件仿真验证工作。本发明用于开展可编程逻辑软件仿真测试,以解决传统功能仿真验证中测试用例开发周期长,功能覆盖不全面,可重用性差和验证效率低等诸多不足。

Description

一种基于UVM方法下FPGA软件仿真测试环境建立方法
技术领域
本发明涉及一种基于UVM方法下FPGA软件仿真测试环境建立方法,属于可编程逻辑器件软件仿真测试技术领域。
背景技术
近年来,可编程逻辑器件软件在航空、航天、船舶、铁路等产品中的应用与日俱增,可编程逻辑器件软件产品设计的功能复杂度越来越高,可编程逻辑器件软件验证工作量已经占到可编程逻辑器件软件开发周期中70%以上,验证工作已经成为整个研制过程的瓶颈。
目前比较先进的UVM验证方法能够解决传统的功能仿真验证由于测试用例开发周期长,功能覆盖不全面,可重用性差和验证效率低等诸多不足。由于UVM仿真验证平台搭建过程中需利用SystemVerilog语言对各部件编程实现,其难度和工作量不亚于可编程逻辑器件软件产品的开发过程,并且由此搭建的平台有效性无法得以验证,因此UVM验证方法并没有大规模的运用在工程实践的验证过程中。若要将UVM方法在工程实践中应用,还需要进一步研究适用于工程的解决途径。
发明内容
本发明提供一种基于UVM方法下FPGA软件仿真测试环境建立方法,实现可编程逻辑器件软件仿真验证在有限的时间内,既满足仿真测试要求的目标,又满足可重用性要求,而且提高了测试效率效能。
本发明的具体技术方案:
一种基于UVM方法下FPGA软件仿真测试环境建立方法,该方法是通过平台搭建工具结合UVM框架模板自动生成适用于被测对象的UVM平台,所述UVM平台包括两部分,一部分是UVM模板,另一部分是自动生成适用于被测对象的UVM配置工具软件,两个部分间的接口是通过文件操作形式完成,DUT是测试对象;生成的UVM配置工具软件通过界面输入根据被测软件提取接口信息进行配置,将配置的接口信息和测试激励输入按照UVM的interface和TLM机制相应的写入UVM模板中,UVM模板实现了组件间的任务和函数调用关系,配置文件写入UVM模板后,UVM平台搭建完成。
根据基于UVM的编程逻辑器件软件仿真验证平台功能分解实现过程如下:
一、创建UVM模板;
1)通过对平台中不变组件(Driver、Monitor、ScoreBoard等)进行数据流和控制流分析,在不同的层次上建立数据间的映射关系和控制流程图,为组件的可重用性研究和构建提供依据和素材,解决各组件间通信问题,实现平台中不变组件的自动生成;
2)利用建模工具生成参考电路模型(Reference Model);
3)生成可重用约束的随机激励(Sequence)。
二、实现自动生成适用于被测对象的UVM配置工具软件,工具主要完成以下功能。
1)建立配置文件;
2)解析配置文件;
3)测试平台搭建;
4)调用参考模型;
5)调用仿真工具。
本发明的有益效果:本发明分析了UVM方法和可编程逻辑器件软件特点,发明了基于UVM的可编程逻辑器件软件仿真测试环境建立方法,实现了只需通过配置接口、输入约束条件和建立参考模块操作,即可自动建立可运行的UVM测试平台,在工程实践中既有效率又有效能的完成可编程逻辑器件软件的仿真验证工作。
附图说明
图1为UVM验证平台组件示意图。
图2为基于UVM的编程逻辑器件软件仿真验证平台结构图。
图3为UVM配置工具功能组成图。
图4为UVM配置工具接口图。
图5为UVM配置工具主流程图。
具体实施方式
现结合附图对本发明作进一步详细说明:
如图1所示,为组成UVM验证平台的基本组件,按照UVM组成进行UVM模板建立,首先分析其中不变组件(Driver、Monitor、ScoreBoard等)的数据流和控制流,在不同的层次上建立数据间的映射关系和控制流程图,为组件的可重用性研究和构建提供依据和素材,解决各组件间通信问题,实现平台中不变组件的自动生成,再利用建模工具生成参考电路模型(Reference Model),最后生成可重用约束的随机激励(Sequence)。
如图2所示,为基于UVM的编程逻辑器件软件仿真验证平台结构图,平台结构分为两个部分,其中一部分由软件实现的UVM配置工具软件,一部分为Systemverilog实现的UVM模板,两个部分间的接口是通过文件操作形式完成,DUT是测试对象。
测试人员可以通过配置的被测对象的接口属性和选择测试激励类型,自动生成定向和不定向的测试激励,并且能够构建针对被测对象的UVM测试平台,将测试数据发送到UVM测试平台中,调用仿真工具,最终完成可编程逻辑器件软件仿真验证工作。
如图3所示,UVM配置工具功能组成如下:
一、配置参数读取功能
通过界面设置的下拉选项卡与txt文件进行关联,读取txt文件中变量类型,显示在界面上,并将选择的变量类型存入BUF。
二、界面参数读取功能
通过界面设置数据读取到相应的BUF中。
三、物理协议层参数设置功能
通过界面设置物理协议层参数读取到相应的BUF中。
四、UVM配置参数写入功能
将BUF中的值写入配置文件,保存文件。
五、UVM配置参数读取功能
将UVM配置参数文件重新读入程序。
如图4所示,UVM配置工具外部接口如下:
一、文件输入输出接口;
1)与数据配置文件接口;
a)通过文件操作向UVM配置工具输入I/O接口类型;
b)通过文件操作向UVM配置工具输入Transaction接口类型。
2)与UVM平台模板文件接口;
a)文件读操作。
3)与UVM仿真验证平台目标文件接口。
a)文件写操作。
二、界面输入输出接口
1)与界面输入接口;
a)I/O数据名称;
b)I/O数据位数;
c)transaction数据名称;
d)transaction数据位数;
e)transaction数据约束;
f)仿真时钟;
g)执行次数。
2)与界面输出接口;
a)配置完成的Transaction均写入Edit显示框用于查看设置结果。
如图5所示,UVM配置工具主处理流程:通过接收界面和配置文件输入信息,并处理为所需的数据格式要求,写入UVM配置参数,生成interface和transaction类的文件,读入模板并分析模板中关键信息替换为UVM配置参数中给定的数据内容,生成UVM验证仿真平台目标源程序,最后通过界面调用仿真运行。

Claims (2)

1.一种基于UVM方法下FPGA软件仿真测试环境建立方法,其特征在于:该方法是通过平台搭建工具结合UVM模板自动生成适用于被测对象的UVM平台,所述UVM平台包括两部分,一部分是UVM模板,另一部分是自动生成适用于被测对象的UVM配置工具软件,两个部分间的接口是通过文件操作形式完成,DUT是测试对象;生成的UVM配置工具软件通过界面输入根据被测软件提取接口信息进行配置,将配置的接口信息和测试激励输入按照UVM的interface和TLM机制相应的写入UVM模板中,UVM模板实现了组件间的任务和函数调用关系,配置文件写入UVM模板后,UVM平台搭建完成;所述UVM模板的创建方法如下:
1)通过对UVM平台中不变组件进行数据流和控制流分析,在不同的层次上建立数据间的映射关系和控制流程图,为组件的可重用性研究和构建提供依据和素材,解决各组件间通信问题,实现UVM平台中不变组件的自动生成;
2)利用建模工具生成参考电路模型;
3)生成可重用约束的随机激励。
2.如权利要求1所述的一种基于UVM方法下FPGA软件仿真测试环境建立方法,其特征在于所述UVM配置工具软件,需要具备如下功能:
1)建立配置文件;
2)解析配置文件;
3)测试平台搭建;
4)调用参考模型;
5)调用仿真工具。
CN201910343700.3A 2019-04-26 2019-04-26 一种基于uvm方法下fpga软件仿真测试环境建立方法 Active CN110096441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910343700.3A CN110096441B (zh) 2019-04-26 2019-04-26 一种基于uvm方法下fpga软件仿真测试环境建立方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910343700.3A CN110096441B (zh) 2019-04-26 2019-04-26 一种基于uvm方法下fpga软件仿真测试环境建立方法

Publications (2)

Publication Number Publication Date
CN110096441A CN110096441A (zh) 2019-08-06
CN110096441B true CN110096441B (zh) 2021-02-19

Family

ID=67445915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910343700.3A Active CN110096441B (zh) 2019-04-26 2019-04-26 一种基于uvm方法下fpga软件仿真测试环境建立方法

Country Status (1)

Country Link
CN (1) CN110096441B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674616B (zh) * 2019-09-19 2023-02-24 北京智联安科技有限公司 一种基于Systemverilog和Matlab算法可扩展的全随机全自动验证方法
CN111064449A (zh) * 2019-12-11 2020-04-24 电子科技大学 一种基于uvm平台的数字降采样滤波器的验证平台及方法
CN111290954B (zh) * 2020-02-10 2023-04-14 中国电子科技集团公司第十四研究所 一种基于uvm的fpga构件可视化测试框架和方法
CN112559264B (zh) * 2020-12-08 2021-08-06 北京京航计算通讯研究所 基于uvm的验证平台实现fpga通用串口的仿真测试方法
CN115098400B (zh) * 2022-07-19 2022-12-06 北京航空航天大学 一种基于sva形式化验证的fpga软件仿真测试环境建立方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268310A (zh) * 2014-09-05 2015-01-07 浪潮集团有限公司 使用专用图形界面调用uvm验证环境的方法
CN105718344A (zh) * 2016-01-19 2016-06-29 中国电子科技集团公司第三十八研究所 一种基于uvm的fpga通用可配置uart协议的验证方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657245B (zh) * 2013-11-20 2017-01-04 上海华虹集成电路有限责任公司 基于amba总线的模块级uvm验证平台的自动生成装置
US11392512B2 (en) * 2018-10-16 2022-07-19 Intel Corporation USB method and apparatus in a virtualization environment with multi-VM

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268310A (zh) * 2014-09-05 2015-01-07 浪潮集团有限公司 使用专用图形界面调用uvm验证环境的方法
CN105718344A (zh) * 2016-01-19 2016-06-29 中国电子科技集团公司第三十八研究所 一种基于uvm的fpga通用可配置uart协议的验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于UVM方法的FPGA验证技术;习建博等;《电子科学技术》;20160531;第3卷(第3期);204-207 *

Also Published As

Publication number Publication date
CN110096441A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
CN110096441B (zh) 一种基于uvm方法下fpga软件仿真测试环境建立方法
CN110618929B (zh) 一种基于uvm的对称加密算法的验证平台和验证方法
CN107784152A (zh) 包括多个模拟器的模拟
CN105608254B (zh) 一种面向智能硬件系统开发的自动化设计方法和平台
US20150294061A1 (en) Graphical Design Verification Environment Generator
US20040143819A1 (en) Generic software testing system and mechanism
CN107844424A (zh) 基于模型的测试系统及方法
CN106133537A (zh) 一种fpga功能模块仿真验证方法及其系统
CN108090313B (zh) 一种复杂岩石裂隙模型建模识别方法
CN111176984A (zh) 一种面向信号的自动测试实现方法
CN108121657A (zh) 基于系统模型的可编程逻辑器件软件仿真验证系统
CN107817439A (zh) 一种基于sram型fpga敏感因子的功能失效时间评估方法
US20230120227A1 (en) Method and apparatus having a scalable architecture for neural networks
US7143369B1 (en) Design partitioning for co-stimulation
CN113919158A (zh) 一种用于飞行控制面板的仿真方法、装置及存储介质
CN101159492A (zh) 一种用于sdh逻辑设计的仿真验证系统及其方法
CN108228965A (zh) 一种存储单元的仿真验证方法、装置和设备
CN103744757B (zh) 一种基于arinc661的df文件验证方法
CN108802600A (zh) 一种基于fpga的集成电路验证系统及方法
CN111966665B (zh) 数据迁移测试方法及装置
CN101183400A (zh) 图形硬件设计中调试与验证的方法与系统
JPH05250218A (ja) オンラインプログラムのテスト方式
CN112861455A (zh) Fpga建模验证系统及方法
CN112052181A (zh) 基于软件工程化的嵌入式软件自动化测试系统
CN109061447A (zh) 基于模块化激励模型的集成电路测试激励生成方法

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