CN110837449B - 一种基于UVM的onewire通信专用验证平台与方法 - Google Patents

一种基于UVM的onewire通信专用验证平台与方法 Download PDF

Info

Publication number
CN110837449B
CN110837449B CN201911066158.8A CN201911066158A CN110837449B CN 110837449 B CN110837449 B CN 110837449B CN 201911066158 A CN201911066158 A CN 201911066158A CN 110837449 B CN110837449 B CN 110837449B
Authority
CN
China
Prior art keywords
component
onewire
data
tested
verification
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
CN201911066158.8A
Other languages
English (en)
Other versions
CN110837449A (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.)
Aerospace Dongfanghong Development Ltd
Original Assignee
Aerospace Dongfanghong Development 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 Aerospace Dongfanghong Development Ltd filed Critical Aerospace Dongfanghong Development Ltd
Priority to CN201911066158.8A priority Critical patent/CN110837449B/zh
Publication of CN110837449A publication Critical patent/CN110837449A/zh
Application granted granted Critical
Publication of CN110837449B publication Critical patent/CN110837449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于UVM的onewire通信专用验证平台,包括待测组件、验证环境组件以及测试用例组件,所述验证环境组件与所述待测组件输入输出连接,所述验证环境组件的输出端与所述测试用例组件的输入端连接,所述待测组件是指onewire温度采集功能的FPGA源文件,所述验证环境组件包括验证平台的激励产生器、计分器、参考模型,所述测试用例组件包括验证用例,分为固定功能点的用例、随机用例两大类。本发明还提供了一种基于UVM的onewire通信专用验证方法。本发明的有益效果是:基于UVM验证方法学和system verilog语言搭建的专用验证平台,完成功能点验证和代码覆盖率收集,从而保证onewire通信的健壮性和正确性。

Description

一种基于UVM的onewire通信专用验证平台与方法
技术领域
本发明涉及航天领域,尤其涉及一种基于UVM的onewire通信专用验证平台与方法。
背景技术
现有微小卫星星载计算机中所使用的onewire温度读取模块的数据采集的健壮性和正确性较差。
发明内容
为了解决现有技术中的问题,本发明提供了一种基于UVM的onewire通信专用验证平台与方法。
本发明提供了一种基于UVM的onewire通信专用验证平台,包括待测组件、验证环境组件以及测试用例组件,所述验证环境组件与所述待测组件输入输出连接,所述验证环境组件的输出端与所述测试用例组件的输入端连接,所述待测组件是指onewire温度采集功能的FPGA源文件,所述验证环境组件包括验证平台的激励产生器、计分器、参考模型,所述测试用例组件包括验证用例,分为固定功能点的用例、随机用例两大类。
作为本发明的进一步改进,所述待测组件包括RTL代码、综合后源文件以及延时文件,待测组件实现的功能是:通过寄存器配置onewire传感器的ID,配置一次采集一次温度数据,采集后通过寄存器把数据读取出来。
本发明还提供了一种基于UVM的onewire通信专用验证方法,采用所述的基于UVM的onewire通信专用验证平台进行以下步骤:
步骤1:通过寄存器接口向待测组件写入onewire器件的ID值,启动待测组件的温度采集流程;
步骤2:初始化总线,待测组件发送复位信号,持续时间t1,ow_driver给出应答信号的低脉冲,该低脉冲宽度通过测试用例组件来设置大小;
步骤3:待测组件向总线依次写入0x55、64位ID值、0x44为启动温度转换,ow_monitor监控待测组件写入过程中的时序是否满足onewire的时序要求,并将错误时序点打印到平台;
步骤4:根据onewire器件要求,12位精度传感器的启动温度转换到温度转换完成的时间间隔最大为时间t2,平台中ow_driver的温度转换信号置为1,并等待待测组件的第二次复位信号;
步骤5:待测组件发送第二次复位信号,持续>时间t1,ow_driver给出应答信号;
步骤6:待测组件向总线依次写入0x55、64位ID值、0xBE,0xBE为温度读取,ow_monitor进行时序监控;
步骤7:ow_driver将处理好的带有CRC的温度数据通过onewire_data数据线送出去,以供待测组件读取,ow_monitor对待测组件的读取数据时序进行监控;
步骤8:整个过程中,ow_model实现与待测组件相同的操作,并将结果与out_agent输出的结果进行比对。
作为本发明的进一步改进,时间t1为500us,时间t2为750ms。
作为本发明的进一步改进,在步骤2中,ow_driver给出应答信号60~240us的低脉冲。
作为本发明的进一步改进,ow_driver用于实现onewire数据激励产生,根据onewire器件时序约束,产生数据线信号,产生过程分为两个步骤:温度启动转换和温度读取,包括温度数据十进制与二进制的转换函数, CRC校验处理函数,总线复位应答函数,写入一个字节温度数据函数。
作为本发明的进一步改进,ow_monitor用于实现onewire数据监控,对待测组件的输入数据进行解析,并将onewire的数据总线所要传输的读写数据分别进行采集,读数据采集通过onewire_read_onebyte任务函数实现,写数据采集通过task collect_data任务来实现,其解析过程参考onewire时序约束,并将解析到的温度数据通过UVM的port机制传送给记分板部分。
本发明的有益效果是:通过上述方案,基于UVM验证方法学和system verilog语言搭建的专用验证平台,完成功能点验证和代码覆盖率收集,从而保证onewire通信的健壮性和正确性。
附图说明
图1是本发明一种基于UVM的onewire通信专用验证平台的示意图。
具体实施方式
下面结合附图说明及具体实施方式对本发明作进一步说明。
如图1所示,一种基于UVM的onewire通信专用验证平台,包括待测组件(dut)10、验证环境组件(env)30以及测试用例组件(case)20,所述验证环境组件30与所述待测组件10输入输出连接,所述验证环境组件30的输出端与所述测试用例组件20的输入端连接,其中待测组件10是指onewire温度采集功能的FPGA源文件,验证环境组件30包括验证平台的激励产生器、计分器、参考模型等,测试用例组件20包括验证用例,分为固定功能点的用例、随机用例两大类。整个验证平台顶层模块是top_tb,例化待测组件,并将寄存器接口(bus_if)、onewire通信接口(ow_if)连接,给出复位信号和时钟信号,产生波形文件。
onewire(单总线)采用一根信号线进行通信,既传输时钟信息又传输数据信息,而且与处理器之间可以双向通信,可以节省I/O口线,简化资源结构,减低成本,也便于总线维护。本发明应用的是DS18B20单总线器件,用于采集微小卫星星载机的温度信息,对数据采集的可靠性和健壮性要求高。
UVM,即通用验证方法学,提供一套系统级的类库,使得逻辑验证平台的搭建和测试用例的编写更加方便,可扩展性也更高。
平台中使用了UVM的agent和sequence机制,以及UVM库中的寄存器模型等,平台架构如图1所示,图1中每个组件的名称是实际平台中所用的类的名称。
待测组件10:FPGA源文件,包括RTL代码(verilog语言编写)、综合后源文件以及延时文件,待测组件实现的功能是:通过寄存器配置onewire传感器的ID,配置一次采集一次温度数据,采集后通过寄存器把数据读取出来。
测试用例组件20:包括平台所需要验证的各种用例,比如读取一个ID传感器温度值、连续读取2个ID传感器温度值、连续轮询10个ID传感器温度值、CRC校验错误用例、温度边界值用例、温度正常值用例、读1时序异常用例、读0时序异常用例、写1时序异常用例、写0时序异常用例、第一次复位时序异常用例、第二次复位时序异常用例、状态机异常用例、复位用例等等,回归用例采集覆盖率,保证onewire通信模块的代码覆盖率达到可解释100%,产品要求的功能点覆盖率100%。
验证环境组件30:采用UVM经典的验证框架,System Verilog高级验证语言编写,采用UVM自带的RAL模型进行onewire温度数据寄存器的读取,以及onewire器件ID值的写入。注:下面所介绍每个组件的名称是实际平台中所用的类的名称。
1.寄存器agent部分
bus_agent----例化bus_driver、bus_monitor、bus_sqr、bus_if等类,对寄存器总线处理部分包装成一个agent;
bus_driver----根据寄存器的读写时序,产生待测组件中寄存器接口所需要的激励信号;
bus_if----定义寄存器读写接口interface,模式属于localbus总线型,包括n_AEN-片选信号,n_IOR-读有效信号、n_IOW-写有效信号、SA-地址信号、SD-数据信号;
bus_monitor----将寄存器接口的信号作为输入,监控输入时序是否正确;
bus_trans----定义寄存器接口所使用的事务级信息,包括读数据、写数据、读使能信号、写使能信号以及读写地址;
bus_sqr----定义以bus_trans为参数的一个uvm_sequencer,用于将bus_transaction在平台组件之间进行传输;
2.onewire通信agent部分
ow_agent----对ow_driver、ow_monitor包装成一个agent,ow_monitor例化为两个monitor,分别对应对输入和输出,即in_agent和out_agent,并根据平台环境设置的UVM_ACTIVE和UVM_PASSIVE进行选择;
ow_if----定义onewire模块的接口interface,即onewire通信的数据线;
ow_trans----onewire的事务级信息,即温度值信息,包括温度的正负标志位和温度数据;
ow_sqr----定义以ow_trans为参数的一个uvm_sequencer;
ow_driver----实现onewire数据激励产生。根据onewire器件时序约束,产生数据线信号,产生过程分为两个步骤:温度启动转换和温度读取,包括温度数据十进制与二进制的转换函数, CRC校验处理函数,总线复位应答函数,写入一个字节温度数据函数;
ow_monitor----实现onewire数据监控。对待测组件的输入数据进行解析,并将onewire的数据总线所要传输的读写数据分别进行采集,读数据采集通过onewire_read_onebyte任务函数实现,写数据采集通过task collect_data任务来实现,其解析过程参考onewire时序约束,并将解析到的温度数据通过UVM的port机制传送给记分板部分;
3.寄存器模型部分,包括ow_reg_model、ow_adapter。
ow_reg_model----根据UVM的RAL模型定义两个类:reg_model、reg_invert,定义寄存器中数据的位宽,读写类型等信息,本平台中的温度数据是16bits,ID数据是64bits,一共定义10个uvm_reg_field域;
ow_adapter----提供bus总线数据和reg数据之间的转换过程;
4.参考模型部分
ow_model----平台参考模型,完成与待测组件相同的处理过程,采集onewire总线的数据信息,并将温度数据解析出来,传输给记分板部分;
5.记分板部分
ow_scoreboard----平台记分板,通过UVM的port通信机制得到参考模型部分处理输出的温度数据和onewire数据监控得到的温度数据,并进行对比,采用自定义的compare_data()函数;
6.顶层环境部分
ow_vsqr----将ow_sqr、bus_sqr、ow_reg_model包装到一个uvm_sequncer中;
ow_env----验证平台的环境顶层,例化ow_agent(in_agent)、ow_agent(out_agent)、bus_agent、my_acoreboard、my_model,并将out_ agent、my_model与my_scoreboard之间的接口通信连接;
7.测试用例基类部分
basic_test----测试用例组件的父类,例化ow_env、ow_vsqr、ow_reg_model;
整个验证平台测试时onewire总线采集一次数据的过程如下:
步骤1:通过寄存器接口向待测组件写入onewire器件的ID值,启动待测组件的温度采集流程;
步骤2:初始化总线。待测组件发送复位信号,持续500us,ow_driver给出应答信号60~240us的低脉冲,此处的低脉冲宽度可以通过用例来设置大小;
步骤3:待测组件向总线依次写入0x55、64位ID值、0x44(启动温度转换),ow_monitor监控待测组件写入过程中的时序是否满足onewire的时序要求,并将错误时序点打印到平台;
步骤4:.根据onewire器件要求,12位精度传感器的启动温度转换到温度转换完成的时间间隔最大750ms,平台中ow_driver的温度转换信号置为1,并等待待测组件的第二次复位信号;
步骤5:待测组件发送第二次复位信号,持续>500us,ow_driver给出应答信号;
步骤6:待测组件向总线依次写入0x55、64位ID值、0xBE(温度读取),ow_monitor进行时序监控;
步骤7:ow_driver将处理好的带有CRC的温度数据通过onewire_data数据线送出去,以供待测组件读取,ow_monitor对待测组件的读取数据时序进行监控;
步骤8:整个过程中ow_model实现与待测组件相同的操作,并将结果与out_agent输出的结果进行比对。
本发明提供的一种基于UVM的onewire通信专用验证平台与方法,其优点如下:
传感器操作过程和操作相关数据会实时显示,多个传感器ID可配,onewire传感器数量可配,多个传感器共用一个数据线,温度值范围可配,CRC校验错误可配等。用户可仿真测试onewire通信中的各种时序异常情况,例如检验onewire模块中的状态机是否会正常运行,异常温度数据处理是否正确等,从而保证onewire通信模块的正确性和健壮性,提高了onewire模块的开发效率。应用UVM验证框架,有效提高了此平台的可扩展性和通用性,系统级验证人员或者分系统级验证人员都可以直接应用此验证平台。
本发明提供的一种基于UVM的onewire通信专用验证平台与方法,涉及FPGA验证领域和航天领域,主要是针对微小卫星星载计算机中所使用的onewire温度读取模块,基于UVM验证方法学和system verilog语言搭建的专用验证平台,完成功能点验证和代码覆盖率收集,从而保证onewire通信的健壮性和正确性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (1)

1.一种基于UVM的onewire通信专用验证方法,其特征在于:提供一种基于UVM的onewire通信专用验证平台,包括待测组件、验证环境组件以及测试用例组件,所述验证环境组件与所述待测组件输入输出连接,所述验证环境组件的输出端与所述测试用例组件的输入端连接,所述待测组件是指onewire温度采集功能的FPGA源文件,所述验证环境组件包括验证平台的激励产生器、计分器、参考模型,所述测试用例组件包括验证用例,分为固定功能点的用例、随机用例两大类,所述待测组件包括RTL代码、综合后源文件以及延时文件,待测组件实现的功能是:通过寄存器配置onewire传感器的ID,配置一次采集一次温度数据,采集后通过寄存器把数据读取出来;
采用所述的基于UVM的onewire通信专用验证平台进行以下步骤:
步骤1:通过寄存器接口向待测组件写入onewire器件的ID值,启动待测组件的温度采集流程;
步骤2:初始化总线,待测组件发送复位信号,持续时间t1,ow_driver给出应答信号的低脉冲,该低脉冲宽度通过测试用例组件来设置大小;
步骤3:待测组件向总线依次写入0x55、64位ID值、0x44,0x44为启动温度转换,ow_monitor监控待测组件写入过程中的时序是否满足onewire的时序要求,并将错误时序点打印到平台;
步骤4:根据onewire器件要求,12位精度传感器的启动温度转换到温度转换完成的时间间隔最大为时间t2,平台中ow_driver的温度转换信号置为1,并等待待测组件的第二次复位信号;
步骤5:待测组件发送第二次复位信号,持续时间t1,ow_driver给出应答信号;
步骤6:待测组件向总线依次写入0x55、64位ID值、0xBE,0xBE为温度读取,ow_monitor进行时序监控;
步骤7:ow_driver将处理好的带有CRC的温度数据通过onewire_data数据线送出去,以供待测组件读取,ow_monitor对待测组件的读取数据时序进行监控;
步骤8:整个过程中,ow_model实现与待测组件相同的操作,并将结果与out_agent输出的结果进行比对;
时间t1为500us,时间t2为750ms;
在步骤2中,ow_driver给出应答信号60~240us的低脉冲;
ow_driver用于实现onewire数据激励产生,根据onewire器件时序约束,产生数据线信号,产生过程分为两个步骤:温度启动转换和温度读取,包括温度数据十进制与二进制的转换函数, CRC校验处理函数,总线复位应答函数,写入一个字节温度数据函数;
ow_monitor用于实现onewire数据监控,对待测组件的输入数据进行解析,并将onewire的数据总线所要传输的读写数据分别进行采集,读数据采集通过onewire_read_onebyte任务函数实现,写数据采集通过task collect_data任务来实现,其解析过程参考onewire时序约束,并将解析到的温度数据通过UVM的port机制传送给记分板部分。
CN201911066158.8A 2019-11-04 2019-11-04 一种基于UVM的onewire通信专用验证平台与方法 Active CN110837449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911066158.8A CN110837449B (zh) 2019-11-04 2019-11-04 一种基于UVM的onewire通信专用验证平台与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911066158.8A CN110837449B (zh) 2019-11-04 2019-11-04 一种基于UVM的onewire通信专用验证平台与方法

Publications (2)

Publication Number Publication Date
CN110837449A CN110837449A (zh) 2020-02-25
CN110837449B true CN110837449B (zh) 2024-03-26

Family

ID=69576129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911066158.8A Active CN110837449B (zh) 2019-11-04 2019-11-04 一种基于UVM的onewire通信专用验证平台与方法

Country Status (1)

Country Link
CN (1) CN110837449B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929756A (zh) * 2012-10-28 2013-02-13 中国电子科技集团公司第十研究所 通用型高速并、串行总线开发验证平台
CN104765671A (zh) * 2015-04-17 2015-07-08 浪潮电子信息产业股份有限公司 一种用可重用性层次化验证平台进行uart模块验证的方法
CN106503308A (zh) * 2016-10-08 2017-03-15 中国电子科技集团公司第五十八研究所 一种基于uvm的can控制器ip验证平台
CN107764313A (zh) * 2018-01-24 2018-03-06 深圳航天东方红海特卫星有限公司 一种微小卫星星上部件智能测试系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578309B2 (en) * 2012-01-31 2013-11-05 Taiwan Semiconductor Manufacturing Co., Ltd. Format conversion from value change dump (VCD) to universal verification methodology (UVM)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929756A (zh) * 2012-10-28 2013-02-13 中国电子科技集团公司第十研究所 通用型高速并、串行总线开发验证平台
CN104765671A (zh) * 2015-04-17 2015-07-08 浪潮电子信息产业股份有限公司 一种用可重用性层次化验证平台进行uart模块验证的方法
CN106503308A (zh) * 2016-10-08 2017-03-15 中国电子科技集团公司第五十八研究所 一种基于uvm的can控制器ip验证平台
CN107764313A (zh) * 2018-01-24 2018-03-06 深圳航天东方红海特卫星有限公司 一种微小卫星星上部件智能测试系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周冬婉,周伟.基于单总线温度检测的接口时隙分析.现代电子技术.(第17期),全文. *
廖磊.基于1-Wire技术和Java VM的温度湿度监控系统.四川师范大学学报(自然科学版).(第01期),全文. *

Also Published As

Publication number Publication date
CN110837449A (zh) 2020-02-25

Similar Documents

Publication Publication Date Title
JP4112886B2 (ja) デバイスのバス・プロトコル準拠試験方法およびシステム
CN111523284B (zh) 转换芯片eda仿真配置的方法、装置及应用
US7225357B2 (en) SDIO card development system
CN102542110B (zh) 一种应用于移动存储soc芯片的仿真验证方法
CN111931445A (zh) 用于调试逻辑系统设计的方法、仿真器及存储介质
CN114036013B (zh) 一种基于uvm的应答器芯片多模块同步验证平台和验证方法
CN104504187A (zh) 一种基于串行通信接口的fpga在线验证结构和方法
CN112417798B (zh) 一种时序测试方法、装置、电子设备及存储介质
CN112069074A (zh) 一种基于uvm的rfid标签芯片验证装置
CN115496034B (zh) 多模式gpu联合仿真系统
CN115719047B (zh) 基于波形gpu联合仿真系统
CN115686655B (zh) 用于gpu ip验证的联合仿真系统
CN115688676B (zh) 基于tlm的gpu联合仿真系统
CN104569794A (zh) 一种基于边界扫描结构的fpga在线测试仪及测试方法
CN109189619A (zh) I2c总线兼容性测试方法、系统、存储介质及设备
CN117709046B (zh) 一种基于uvm的APB_bridge子系统级的验证平台的搭建方法
CN117591413A (zh) 一种基于uvm的总线接口模块的验证系统及验证方法
CN115345102A (zh) 一种用于硬件加速的通用芯片验证装置
Sangani et al. Uvm based verification of read and write transactions in axi4-lite protocol
CN106845004A (zh) 一种用于功能验证平台的基于脚本的搭建系统及方法
CN110837449B (zh) 一种基于UVM的onewire通信专用验证平台与方法
CN115618800B (zh) 基于dpi的gpu联合仿真系统
Li Computer embedded automatic test system based on VxWorks
Arathi et al. Design and implementation of Modbus serial line Server RTU VIP
CN105974221A (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