多路帧随机数据验证处理方法及装置的制造方法

文档序号:9564521阅读:491来源:国知局
多路帧随机数据验证处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及通讯技术领域,尤其涉及多路帧随机数据验证处理方法及装置。
【背景技术】
[0002]在ASIC芯片设计和FPGA设计中,一般会先按照需求制定设计说明书。逻辑工程师们再按照设计说明书把这些具体的需求翻译成verilog代码。在翻译成verilog代码的过程中,会由于各种原因导致写的verilog代码存在功能性的错误。在这种情况之下,通过逻辑验证来定位并改正设计中的错误成为了保证设计功能正确的一种必要手段。在传统验证方式不断发展的背景下,0VM(0pen Verificat1n Methodology) > VMM (Verificat1nMethodology Manual)、UVM(Universal Verificat1n Methodology)验证方法学的出现极大地提升了验证效率。UVM(通用验证方法学,Universal Verificat1n Methodology),是基于0VM(0pen Verificat1n Methodology)发展而来的新一代验证方法学。传统的验证手段对验证模块激励的添加会存在诸多的不便,特别是在对激励的约束上,而UVM却能很好地完成这个任务。UVM在system verilog的基础上,定义了一些在验证平台中经常使用到的基类、宏、和块语句。这些库文件可以通过接口直接调用,方便对待验证模块DUT(DesignUnder Test)的验证时定位错误。
[0003]随着光通信网络的演化和验证技术的发展,以及FPGA的库文件与EDA工具编译的兼容性,ASIC芯片验证和FPGA逻辑验证趋向于统一。在这种前提下,光通信网络的硬件逻辑验证时激励所需要的多个多路帧数据及计数方式在验证平台中变得很重要。一般的情况下,在设计验证平台中实现多路帧随机数的产生时,大多会一个一个地重复定义transact1n结构,通过不断地包裹来实现多路巾贞随机数据的产生,再在验证平台中加载给不同的帧数据信号。其缺陷在于,验证平台加载受约束的随机激励复杂,导致验证平台中调用UVM库时的不确定性,使得系统运行的稳定性较差。
[0004]上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

【发明内容】

[0005]本发明的主要目的在于简化验证平台加载受约束的随机激励,减少验证平台中调用UVM库时的不确定性,提高系统运行的稳定性。
[0006]为实现上述目的,本发明提供的一种多路帧随机数据验证处理方法包括以下步骤:
[0007]A、搭建通用验证平台,预设transact1n组件、sequence组件、sequencer组件、driver组件、monitor组件、scoreboard组件及各组件的派生关系;
[0008]B、所述transact1n组件获取目标验证数据包中每一数据包的包结构信息,并将每一数据包的包结构信息以预置参数类型打包发送至sequence组件;
[0009]C、所述sequence组件根据所述每一数据包的包结构信息生成随机数,且每一数据包对应的所有随机数形成帧数据;
[0010]D、所述sequencer组件接收所述帧数据,并通过预置的TLM端口发送所述帧数据至所述driver组件;
[0011]E、所述driver组件在每接收到所述sequencer组件发送的一巾贞数据时,将接收到的当前帧数据进行随机数抓取处理,得到多路随机数据;并将所述多路随机数据一一对应赋值给预置临时变量后,将所述预置临时变量赋值到被调用任务的赋值语句中,以将所述预置临时变量加载至待验证模块;
[0012]F、所述monitor组件检测所述待验证模块输出的检测数据信息;
[0013]G、所述scoreboard组件对所述monitor组件检测获得的所述检测数据信息进行验证处理。
[0014]优选地,所述步骤E包括:
[0015]所述driver组件在每接收到所述sequence组件发送的一巾贞数据时,将接收到的当前帧数据打包至预置的数组内;
[0016]在所述数组内提取数据,得到多路随机数据;
[0017]将所述多路随机数据一一对应赋值给预置临时变量,并打包形成多路帧随机数据;
[0018]启动加载任务将所述多路帧随机数据加载至所述待验证模块的输入端。
[0019]优选地,所述启动加载任务将所述多路帧随机数据加载至所述待验证模块的输入端之后还包括:
[0020]所述driver组件根据所述多路帧随机数据中的帧头或帧尾统计所述多路帧随机数据的路数。
[0021]优选地,所述步骤A还包括预设reference_model组件;
[0022]所述步骤G之前还包括:
[0023]所述referencejnodel组件获取所述多路帧随机数据;并按照所述待验证模块相同的功能对所述多路帧随机数据进行数据处理后得到期望数据信息;
[0024]所述步骤G包括:
[0025]所述scoreboard组件接收所述检测数据信息和所述期望数据信息;
[0026]比较所述检测数据信息和所述期望数据信息;
[0027]输出比较的结果。
[0028]优选地,所述包结构信息包括包头、静荷、负载、开销字节位及数据包的约束条件。
[0029]此外,为实现上述目的,本发明还提供一种多路帧随机数据验证处理装置包括:
[0030]平台搭建模块,用于搭建通用验证平台,预设transact1n组件、sequence组件、sequencer组件、driver组件、monitor组件、scoreboard组件及各组件的派生关系;
[0031]所述transact1n组件,用于获取目标验证数据包中每一数据包的包结构信息,并将每一数据包的包结构信息以预置参数类型打包发送至sequence组件;
[0032]所述sequence组件,用于根据所述每一数据包的包结构信息生成随机数,且每一数据包对应的所有随机数形成帧数据;
[0033]所述sequencer组件,用于接收所述帧数据,并通过预置的TLM端口发送所述帧数据至所述driver组件;
[0034]所述driver组件,用于在每接收到所述sequencer组件发送的一巾贞数据时,将接收到的当前帧数据进行随机数抓取处理,得到多路随机数据;并将所述多路随机数据一一对应赋值给预置临时变量后,将所述预置临时变量赋值到被调用任务的赋值语句中,以将所述预置临时变量加载至待验证模块;
[0035]所述monitor组件,用于检测所述待验证模块输出的检测数据信息;
[0036]所述scoreboard组件,用于对所述monitor组件检测获得的所述检测数据信息进行验证处理。
[0037]优选地,所述driver组件具体用于,在每接收到所述sequence组件发送的一中贞数据时,将接收到的当前帧数据打包至预置的数组内;在所述数组内提取数据,得到多路随机数据;将所述多路随机数据一一对应赋值给预置临时变量,并打包形成多路帧随机数据;启动加载任务将所述多路帧随机数据加载至所述待验证模块的输入端。
[0038]优选地,所述driver组件还用于根据所述多路帧随机数据中的帧头或帧尾统计所述多路帧随机数据的路数。
[0039]优选地,所述平台搭建模块还用于预设reference_model组件;
[0040]所述reference_model组件,用于获取所述多路巾贞随机数据;并按照所述待验证模块相同的功能对所述多路帧随机数据进行数据处理后得到期望数据信息;
[0041]所述scoreboard组件具体用于,接收所述检测数据信息和所述期望数据信息;t匕较所述检测数据信息和所述期望数据信息;输出比较的结果。
[0042]优选地,所述包结构信息包括包头、静荷、负载、开销字节位及数据包的约束条件。
[0043]本发明实施例通过transact1n组件获取目标验证数据包中每一数据包的包结构信息,并将每一数据包的包结构信息以预置参数类型打包发送至sequence组件;由述sequence组件根据所述每一数据包的包结构信息生成随机数,且每一数据包对应的所有随机数形成巾贞数据;并通过driver组件在每接收到所述sequencer组件发送的一巾贞数据时,将接收到的当前帧数据进行随机数抓取处理,得到多路随机数据;并将所述多路随机数据一一对应赋值给预置临时变量后,将所述预置临时变量赋值到被调用任务的赋值语句中,以将所述预置临时变量加载至待验证模块;最后由scoreboard组件对所述monitor组件检测获得的所述检测数据信息进行
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1