CN104461812B - 一种利用已有Verilog BFM构造UVM验证组件的方法 - Google Patents

一种利用已有Verilog BFM构造UVM验证组件的方法 Download PDF

Info

Publication number
CN104461812B
CN104461812B CN201410790038.3A CN201410790038A CN104461812B CN 104461812 B CN104461812 B CN 104461812B CN 201410790038 A CN201410790038 A CN 201410790038A CN 104461812 B CN104461812 B CN 104461812B
Authority
CN
China
Prior art keywords
uvm
verilog
bfm
driver
existing
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
CN201410790038.3A
Other languages
English (en)
Other versions
CN104461812A (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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Group Co Ltd
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 Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201410790038.3A priority Critical patent/CN104461812B/zh
Publication of CN104461812A publication Critical patent/CN104461812A/zh
Application granted granted Critical
Publication of CN104461812B publication Critical patent/CN104461812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开一种利用已有Verilog BFM构造UVM验证组件的方法,属于计算机构造验证领域,对已有的Verilog BFM改造;将改造后的Verilog BFM集成到UVM验证环境中;本发明不用对之前的总线模型做太多修改,就使其能在新的UVM环境中得到使用,有效利用了现有资源,修改最少的代码,节省最多的时间,极大缩短验证周期,避免验证平台本身产生的错误影响验证进度。

Description

一种利用已有Verilog BFM构造UVM验证组件的方法
技术领域
本发明公开一种构造UVM验证组件的方法,属于计算机构造验证领域,具体地说是一种利用已有Verilog BFM构造UVM验证组件的方法。
背景技术
Verilog是一种广泛应用于FPGA以及数字ASIC设计的硬件描述语言,使用它描述数字逻辑电路,同时使用它描述电路的外围设备来构建仿真平台。早期的总线功能模型BFM(bus functional model)是工程师用Verilog等硬件描述语言构建的电路外围设备的模型,来产生各种激励来驱动所设计的电路的模型,并检测电路的输出,来判断电路的功能是否符合预期。
随着数字电路技术的发展,传统的Verilog语言已经不能满足构建总线功能模型BFM进行数字电路验证的需要,新的验证语言开始出现。现在最广泛使用的SystemVerilog语言在原有Verilog语言的基础上,增加了约束随机激励,功能覆盖率检查,面向对象编程,断言等属性,能够更好的满足复杂电路验证的需求。UVM是芯片验证业界最新研发的一种验证方法学。UVM提供基于SystemVerilog语言开发的一套库函数,通过调用库可以省去从零开始开发验证环境的麻烦。如果想从之前的面向数字逻辑的Verilog语言到具有面向对象属性的SystemVerilog的迁移,从基于Verilog的验证环境迁移到UVM验证环境,这并不简单, UVM环境中复用之前的Verilog总线功能模型BFM是关键一步。为了实现这种复用,本发明提供一种利用已有Verilog BFM构造UVM验证组件的方法,不用对之前的总线模型做太多修改,就使其能在新的UVM环境中得到使用,有效利用了现有资源,修改最少的代码,节省最多的时间,极大缩短验证周期,避免验证平台本身产生的错误影响验证进度。
发明内容
本发明针对现有技术存在的不足和问题,为解决从基于Verilog的验证环境迁移到UVM验证环境时,UVM环境中复用之前的Verilog总线功能模型BFM的难题,提供一种利用已有Verilog BFM构造UVM验证组件的方法。
提出的具体方案是:
一种利用已有Verilog BFM构造UVM验证组件的方法,具体步骤为:
对已有的Verilog BFM改造:选择协议中的driver,根据driver在协议中的数据发送情况,在Verilog BFM中加入数据包信息的信号以及发送开始结束信号;
在Verilog module的端口列表中把数据包信息的信号封在一个interface中,然后通过这个interface跟Verilog BFM连接,根据interface进入的数据包信息来驱动发送信号;
将改造后的Verilog BFM集成到UVM验证环境中:创建一个uvm_driver,在它的run_phase中,将从sequece_item中得到的随机化的数据包信息,不断发送给虚拟接口,uvm_driver起到连接UVM环境与Verilog BFM的桥梁作用,无实际工作;
验证环境顶层例化uvm_driver与Verilog BFM之间的接口,并通过uvm_config_db把它传递给driver中的虚拟接口,完成改造后的Verilog BFM集成到UVM验证环境。
所述的选择协议中的driver,选择的是rapidio协议中的driver,所述的数据包信息按照rapidio协议进行串行发送。
所述的数据包信息信号包括数据包的类型,长度,源器件号码,目的器件号码,数据负载。
所述的数据负载的长度是不固定的,使用队列来存储数据负载的长度信息。
本发明的有益之处是:本发明通过对现有的Verilog BFM进行改造,并连接到UVM平台中,有效利用了现有资源,修改最少的代码,节省最多的时间,极大缩短验证周期,避免验证平台本身产生的错误影响验证进度。
附图说明
图1是基于Verilog实现的验证环境的基本结构示意图;
图2是标准UVM验证环境的结构示意图;
图3是uvm_driver与Verilog BFM连接的框架示意图。
具体实施方式
下面结合附图说明。
如图1,中间是被测电路的逻辑描述,左边是激励产生的总线模型BFM,右边是响应检测的总线模型BFM。无论是激励产生或者响应检测模型,一般都封装在Verilog的module中,在module中通过fuction或者task来产生各种激励或者收集各种响应,来模拟被测电路的外部设备。三部分在顶层中被例化,并且相互连接。示例程序为:
如图2,图片左面是UVM验证平台中的被测对象(DUT)。中间部分是环境主体uvmenv,其中包括多个实体uvm agent。每个uvm agent中包括序列器sequencer,驱动器driver,检测器monitor。每个uvm agent通过一个接口跟被测对象连接。序列器负责产生测试序列,驱动器负责把测试序列转变为信号上面的数据流,并加载到被测对象,检测器负责把信号上面的数据流转换为序列。虚拟序列器(virtual sequencer)会安排各个子序列器按一定顺序执行。记分牌(scoreboard)会对每个实体收集到的报文进行记录比较。以上各个UVM部件都是标准UVM验证环境中不可缺少的。这里的UVM验证平台,除了DUT与顶层TB_TOP外其他部件完全由SystemVerilog的class来构建。如果具体分析这些类,会发现除了uvm_monitor与uvm_driver会直接与被测对象通信外,其他的类都不与被测对象直接相关,而这些不直接相关的类,在所有UVM验证环境中,基本都是通用的。我们在基于UVM方法开发验证环境时,需要投入精力最多的,也就是针对不同的DUT构建相应的monitor与driver的类。
下面就以一个rapidio协议的driver为例,说明这个改造和集成过程。
rapidio driver的Verilog BFM原本没有输入信号,是通过内部定义顺序执行的task,不断产生不同的数据包,并且将这些数据包按照rapidio协议进行串行发送。在Verilog BFM中加入数据包信息的信号以及发送开始结束信号,这里数据包信息信号包括包的类型,长度,源器件号码,目的器件号码,数据负载等信息。由于数据负载的长度是不固定的,所以这里必须使用队列来存储这个信息,而Verilog module的端口列表中不支持这个数据格式的定义,必须把它封在一个interface中,然后通过这个interface跟这个Verilog BFM连接。在这个Verilog BFM中,根据interface进入的数据包信息来驱动发送串行信号;
完成了对Verilog BFM的修改,需要把它连接到UVM环境中。创建一个uvm_driver,在它的run_phase中,将从sequece_item中得到的随机化的数据包信息,不断发送给虚拟接口,这个uvm_driver所做的工作,只是一个连接UVM环境与Verilog BFM的桥梁,没有什么实际工作,所以代码相对简单,如下:
为了连接这个uvm_driver与Verilog BFM,另外一件需要做的事情是在验证环境顶层例化uvm_driver与Verilog BFM之间的接口,并通过uvm_config_db把它传递给driver中的虚拟接口。

Claims (4)

1.一种利用已有Verilog BFM构造UVM验证组件的方法,其特征是具体步骤为:
对已有的Verilog BFM改造:选择协议中的driver,根据driver在协议中的数据发送情况,在Verilog BFM中加入数据包信息的信号以及发送开始结束信号;
在Verilog module的端口列表中把数据包信息的信号封在一个interface中,然后通过这个interface跟Verilog BFM连接,根据interface进入的数据包信息来驱动发送信号;
将改造后的Verilog BFM集成到UVM验证环境中:创建一个uvm_driver,在它的run_phase中,将从sequece_item中得到的随机化的数据包信息,不断发送给虚拟接口,uvm_driver起到连接UVM环境与Verilog BFM的桥梁作用,无实际工作;
验证环境顶层例化uvm_driver与Verilog BFM之间的接口,并通过uvm_config_db把它传递给driver中的虚拟接口,完成改造后的Verilog BFM集成到UVM验证环境。
2.根据权利要求1所述的一种利用已有Verilog BFM构造UVM验证组件的方法,其特征是所述的选择协议中的driver,选择的是rapidio协议中的driver,所述的数据包信息按照rapidio协议进行串行发送。
3.根据权利要求2所述的一种利用已有Verilog BFM构造UVM验证组件的方法,其特征是所述的数据包信息信号包括数据包的类型,长度,源器件号码,目的器件号码,数据负载。
4.根据权利要求3所述的一种利用已有Verilog BFM构造UVM验证组件的方法,其特征是所述的数据负载的长度是不固定的,使用队列来存储数据负载的长度信息。
CN201410790038.3A 2014-12-18 2014-12-18 一种利用已有Verilog BFM构造UVM验证组件的方法 Active CN104461812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410790038.3A CN104461812B (zh) 2014-12-18 2014-12-18 一种利用已有Verilog BFM构造UVM验证组件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410790038.3A CN104461812B (zh) 2014-12-18 2014-12-18 一种利用已有Verilog BFM构造UVM验证组件的方法

Publications (2)

Publication Number Publication Date
CN104461812A CN104461812A (zh) 2015-03-25
CN104461812B true CN104461812B (zh) 2017-06-30

Family

ID=52907907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410790038.3A Active CN104461812B (zh) 2014-12-18 2014-12-18 一种利用已有Verilog BFM构造UVM验证组件的方法

Country Status (1)

Country Link
CN (1) CN104461812B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740579A (zh) * 2016-03-09 2016-07-06 浪潮集团有限公司 一种连接uvm验证平台的搭建方法
CN106503308B (zh) * 2016-10-08 2019-03-19 中国电子科技集团公司第五十八研究所 一种基于uvm的can控制器ip验证平台
CN106713280B (zh) * 2016-11-30 2018-04-20 北京得瑞领新科技有限公司 一种激励信号处理方法、装置及模块验证系统
CN109684681B (zh) * 2018-12-06 2023-05-16 西南电子技术研究所(中国电子科技集团公司第十研究所) 应用uvm验证平台的高层次化验证方法
CN109711071B (zh) * 2018-12-29 2023-05-05 成都海光集成电路设计有限公司 一种服务器SoC软硬件协同仿真加速方法及系统
CN110046387B (zh) * 2019-03-14 2022-04-08 广东工业大学 一种基于uvm的sm2模块验证平台及验证方法
CN110263459B (zh) * 2019-06-25 2023-03-24 合肥工业大学 一种基于测试序列分析的uvm验证加速方法
CN112416760B (zh) * 2020-11-11 2023-05-23 北京京航计算通讯研究所 一种通用的测试平台TestBench的模块封装方法及装置
CN112486879B (zh) * 2020-12-07 2024-04-12 博流智能科技(南京)有限公司 Uvm虚接口传递方法及系统
CN112988602B (zh) * 2021-04-30 2021-11-12 北京欣博电子科技有限公司 验证平台的生成方法、装置、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504973B1 (en) * 2010-04-15 2013-08-06 Altera Corporation Systems and methods for generating a test environment and test system surrounding a design of an integrated circuit
CN104142876A (zh) * 2013-05-06 2014-11-12 上海华虹集成电路有限责任公司 Usb设备控制器模块功能验证方法及验证环境平台

Also Published As

Publication number Publication date
CN104461812A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN104461812B (zh) 一种利用已有Verilog BFM构造UVM验证组件的方法
CN109711071B (zh) 一种服务器SoC软硬件协同仿真加速方法及系统
US8639981B2 (en) Flexible SoC design verification environment
US12001317B2 (en) Waveform based reconstruction for emulation
CN110046387A (zh) 一种基于uvm的sm2模块验证平台及验证方法
CN104346272B (zh) 芯片自动仿真验证系统
US10678976B2 (en) Generic protocol analyzer for circuit design verification
Francesconi et al. UVM based testbench architecture for unit verification
US8732632B1 (en) Method and apparatus for automated extraction of a design for test boundary model from embedded IP cores for hierarchical and three-dimensional interconnect test
KR20010067370A (ko) SoC 설계 검증을 위한 방법 및 장치
CN105893202A (zh) 一种基于uvm的存储控制器功能测试方法及系统
CN207096986U (zh) 软硬件协同仿真的系统
WO2024130861A1 (zh) 一种云原生的硬件逻辑仿真fpga加速方法及系统
US8566068B2 (en) Trace routing network
CN106777720A (zh) 电路验证方法及装置
CN114757135A (zh) 一种基于需求驱动验证的可编程逻辑器件验证方法及系统
Papameletis et al. A dft architecture and tool flow for 3-d sics with test data compression, embedded cores, and multiple towers
CN117632720A (zh) 一种基于uvm的fifo缓冲模块的验证装置
CN107632910A (zh) 一种测试方法和装置
US11662383B2 (en) High-speed functional protocol based test and debug
CN112861455B (zh) Fpga建模验证系统及方法
US7305636B2 (en) Method and system for formal unidirectional bus verification using synthesizing constrained drivers
Payakapan et al. A case study: Leverage IEEE 1687 based method to automate modeling, verification, and test access for embedded instruments in a server processor
US9703900B1 (en) System level simulation wrapper for hybrid simulation
Sivakumar et al. 10GB MAC CORE Verification Reference (Input Monitor) Module

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180807

Address after: 250100 S06 tower, 1036, Chao Lu Road, hi tech Zone, Ji'nan, Shandong.

Patentee after: Shandong wave cloud Mdt InfoTech Ltd

Address before: No. 1036, Shun Ya Road, Ji'nan high tech Zone, Shandong Province

Patentee before: Inspur Group Co., Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Inspur cloud Information Technology Co., Ltd

Address before: 250100 Ji'nan science and technology zone, Shandong high tide Road, No. 1036 wave of science and Technology Park, building S06

Patentee before: SHANDONG LANGCHAO YUNTOU INFORMATION TECHNOLOGY Co.,Ltd.