一种验证系统及验证方法技术方案

技术编号:36428776 阅读:17 留言:0更新日期:2023-01-20 22:40
本申请提供一种验证系统及验证方法,验证系统包括控制层、数据收发层和结果比对层,数据收发层包括辅助测试组件和存储单元组件,在辅助测试组件的接口与测试组件连接后,控制层向存储单元组件写入原始数据,测试组件通过辅助测试组件读取存储单元组件的原始数据,测试组件将根据原始数据计算得到的第一结果数据,并通过辅助测试组件写入存储单元组件。结果比对层用于植入参考模块,例如ESL模型,该参考模型能够根据原始数据计算得到第二结果数据,从而,根据第一结果数据和第二结果数据进行一致性比对,在比对完成后输出验证结果。该验证系统能够接入需要验证的测试组件,并植入对应的参考模型,从而完成特定场景下验证结构的全面复用。复用。复用。

【技术实现步骤摘要】
一种验证系统及验证方法


[0001]本申请涉及验证
,具体而言,涉及一种验证系统及验证方法。

技术介绍

[0002]基于System Verilog语言+UVM验证方法学搭建的验证平台已经成为目前数字芯片验证领域的技术主流。System Verilog语言一方面兼容了verilog的硬件语言描述的优点,同时也吸纳了C++软件思想中的面向对象和泛型编程概念,这使得System Verilog既可以用作硬件设计,同时也可用于软件工程。相比于C++,System Verilog在随机约束层面做了极大增强,提升了芯片验证所需的随机化能力。UVM标准库中定义了可重用和标准化的验证结构件,通过标准化验证结构件的方式让不同工程师搭建的验证环境在风格上得到一定程度的统一,提升了验证环境的开发效率,降低了搭建验证环境的困难度。
[0003]UVM是一种通用验证方法学,不同工程师搭建的验证环境可以千变万化,UVM并没有提供针对特定场景的验证结构。在特定场景下的验证结构往往是基本固定的,因此可以提出基于特定场景下的统一的验证结构,使得特定场景下的验证结构可以全面复用。
[0004]然而,现有的验证环境的可拓展性较低,导致项目开发后期验证环境难以适配需求变化,需要重构验证环境。

技术实现思路

[0005]本申请实施例的目的在于提供一种验证系统及验证方法,用以解决现有的验证环境的可拓展性较低,导致项目开发后期验证环境难以适配需求变化,需要重构验证环境的问题。
[0006]本申请实施例提供的一种验证系统,包括控制层、数据收发层和结果比对层;
[0007]数据收发层包括至少一个辅助测试组件和至少一个存储单元组件;其中,辅助测试组件用于通过接口与测试组件连接,测试组件配置为连接至少一个待验证的设计模块;
[0008]控制层用于向存储单元组件写入原始数据;
[0009]测试组件用于通过辅助测试组件从存储单元组件中读取原始数据;对原始数据进行计算并得到第一结果数据,并通过辅助测试组件将第一结果数据写入存储单元组件;
[0010]结果比对层用于获取存储单元组件中的原始数据,并利用结果比对层的参考模型模块对原始数据进行计算,并得到第二结果数据;其中,参考模型模块用于植入对应于测试组件的参考模型;
[0011]结果比对层还用于将第一结果数据和第二结果数据进行比对,比对完成后输出验证结果。
[0012]上述技术方案中,验证系统包括控制层、数据收发层和结果比对层,数据收发层包括辅助测试组件和存储单元组件,在辅助测试组件的接口与测试组件连接后,控制层向存储单元组件写入原始数据,测试组件通过辅助测试组件读取存储单元组件的原始数据,测试组件将根据原始数据计算得到的第一结果数据,并通过辅助测试组件写入存储单元组
件。结果比对层用于植入参考模块,例如ESL模型,该参考模型能够根据原始数据计算得到第二结果数据,从而,根据第一结果数据和第二结果数据进行一致性比对,在比对完成后输出验证结果。该验证系统能够接入需要验证的测试组件,并植入对应的参考模型,从而完成特定场景下验证结构的全面复用,该验证系统是一种简洁、固定、可靠的验证环境搭建模板,具有高拓展性,便于同类项目之间的水平复用和垂直复用,并且,三抽象层的验证结构,实现了控制层、数据收发层、结果比对层之间的进一步解耦,使得验证环境更加清晰,提升了可维护性。
[0013]其中,数据收发层的各个组件负责实现数据读、计算、数据写的功能。设计模块(RTL)通过辅助测试组件从存储单元组件中读取原始数据,计算完毕后再通过辅助测试组件将第一结果数据写入存储单元组件,这样实现了一次数据的读、计算、写。
[0014]在一些可选的实施方式中,控制层包括:主控制组件和寄存器模型模块;
[0015]主控制组件用于:
[0016]控制寄存器模型模块配置设计模块的寄存器;
[0017]将原始数据写入存储单元组件;
[0018]控制参考模型模块对原始数据进行计算。
[0019]上述技术方案中,控制层主要起调度作用,控制整体仿真的先后执行顺序,首先主控制组件将原始数据写入存储单元组件,然后进行寄存器的配置,通过配置寄存器启动设计模块(RTL)的读、计算、写功能,设计模块完成数据运算和写出数据后,主控制组件发出内存拷贝指令,将数据从System Verilog内存拷贝到C++内存中供参考模型(如ESL模型)使用,参考模型完成计算和输出后,主控制组件启动对分模型进行结果比对。
[0020]在一些可选的实施方式中,结果比对层包括:存储单元组件拷贝模块、对分模型模块和参考模型模块;
[0021]主控制组件还用于控制存储单元组件拷贝模块和对分模型模块开始工作;
[0022]存储单元组件拷贝模块用于将原始数据从第一语言的存储单元组件拷贝到第二语言的存储单元组件中,以提供给参考模型模块使用;将第一结果数据从第一语言的存储单元组件拷贝到第二语言的存储单元组件中,以提供给对分模型模块使用;
[0023]对分模型模块用于将第一结果数据和第二结果数据进行比对,比对完成后输出验证结果。
[0024]上述技术方案中,结果比对层功能是对测试组件输出的第一结果数据与参考模型模块输出的第二结果数据进行结果比对。
[0025]在一些可选的实施方式中,存储单元组件拷贝模块包括DPI接口、PLI接口以及VPI接口中的至少一者。
[0026]上述技术方案中,DPI(Direct Programming Interface)接口是System Verilog和其他编程语言之间相互调用的接口,特别是C/C++。通过DPI接口,可以很方便地在System Verilog程序中调用C函数,也可以在C程序中调用System Verilog函数。除此之外,Verilog跟C语言之间的接口还有PLI(Verilog Programming Language Interface)接口和VPI(Verilog Procedural Interface)接口。
[0027]在一些可选的实施方式中,测试组件包括n个设计模块,n为大于1的正整数;其中,第一设计模块和第n设计模块包括至少一个用于与辅助测试组件连接的通用标准接口或自
定义接口,n个设计模块之间通过内部接口连接。
[0028]上述技术方案中,测试组件包括n个设计模块,测试组件最外层的设计模块即第一设计模块和第n设计模块,该最外层设计模块用于与辅助测试组件连接,将最外层设计模块和辅助测试组件之间的接口设计为至少包括一个通用标准接口或自定义接口,以保证验证系统的可拓展性。
[0029]在一些可选的实施方式中,测试组件包括单一设计模块;单一设计模块包括至少一个用于与辅助测试组件连接的通用标准接口或自定义接口。
[0030]上述技术方案中,测试组件为单一设计模块,该单一设计模块用于与辅助测试组件连接,将该单一设计模块和辅助测试组件之间的接口设计为至少包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种验证系统,其特征在于,包括控制层、数据收发层和结果比对层;所述数据收发层包括至少一个辅助测试组件和至少一个存储单元组件;其中,所述辅助测试组件用于通过接口与测试组件连接,所述测试组件配置为连接至少一个待验证的设计模块;所述控制层用于向所述存储单元组件写入原始数据;所述测试组件用于通过所述辅助测试组件从所述存储单元组件中读取所述原始数据;对所述原始数据进行计算并得到第一结果数据,并通过所述辅助测试组件将所述第一结果数据写入所述存储单元组件;所述结果比对层用于获取所述存储单元组件中的所述原始数据,并利用所述结果比对层的参考模型模块对所述原始数据进行计算,并得到第二结果数据;其中,所述参考模型模块用于植入对应于所述测试组件的参考模型;所述结果比对层还用于将所述第一结果数据和第二结果数据进行比对,比对完成后输出验证结果。2.如权利要求1所述的系统,其特征在于,所述控制层包括:主控制组件和寄存器模型模块;所述主控制组件用于:控制所述寄存器模型模块配置所述设计模块的寄存器;将所述原始数据写入所述存储单元组件;控制所述参考模型模块对所述原始数据进行计算。3.如权利要求2所述的系统,其特征在于,所述结果比对层包括:存储单元组件拷贝模块、对分模型模块和所述参考模型模块;所述主控制组件还用于控制所述存储单元组件拷贝模块和对分模型模块开始工作;所述存储单元组件拷贝模块用于将所述原始数据从第一语言的存储单元组件拷贝到第二语言的存储单元组件中,以提供给所述参考模型模块使用;将所述第一结果数据从第一语言的存储单元组件拷贝到第二语言的存储单元组件中,以提供给所...

【专利技术属性】
技术研发人员:赵立敏王煜华李林岳杨笑冰李春信冯子豪
申请(专利权)人:西安爱芯元智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1