可重用WISHBONE总线协议验证平台及其验证方法与流程

文档序号:12596814阅读:401来源:国知局
可重用WISHBONE总线协议验证平台及其验证方法与流程

本发明涉及片上总线通讯技术以及FPGA(Field Programmable Gate Array)逻辑验证领域,使用一种通用的验证方法学(Universal Verification Methodology,UVM)实现Wishbone总线协议FPGA代码的验证,属于FPGA验证测试技术领域的一种基于UVM的可重用WISHBONE总线协议验证平台及其验证方法。



背景技术:

Wishbone总线协议是由Silicore公司提出,现由OpenCores组织维护的一套IP核之间的通用接口协议。他具有简单、开放、高效、利于实现等优点,在开源代码IP中被广泛使用。Wishbone采用主/从的构架,主(master)、从(slave)设备之间,Wishbone协议定义了一套完整的IP核接口,同时用户可以根据具体的需要进行裁减。同时Wishbone协议支持点到点结构、流水结构、共享总线结构和交联开关结构的互联,如图1所示是WISHBONE支持的几种互联结构的示意图。

UVM代表使用SystemVerilog搭建受约束的随机验证平台的最新方法论类以及他们相关的基础类库,它是由美国三大EDA公司(Mentor、Cadence和Synopsys)共同推出的最新的验证方法学。UVM验证方法学中包括一系列保证重用性的方法,提高验证环境搭建的效率;同时,UVM中基于受约束的随机方法,有效的提高验证的效率。UVM方法学提供基于SystemVerilog语言丰富的类库资源,使用户可以方便快捷地实现UVM验证方法。



技术实现要素:

为了可以实现快速的基于WISHBONE总线的FPGA设计验证环境的快速搭建,提高验证平台的重用性和,提高验证效率,本发明提供一种基于UVM的可重用WISHBONE总线协议验证平台及其验证方法,也是一种基于UVM的Wishbone总线协议FPGA验证方法和验证平台及其验证方法。

本发明的解决方案是:一种基于UVM的可重用WISHBONE总线协议验证平台,其用于实现基于WISHBONE总线协议编写的FPGA代码验证平台的快速搭建和全面高效的验证,其包括:虚拟定序器、虚拟序列发生器、WISHBON环境;WISHBON环境包括验证环境配置、计分板、多个主设备代理、与多个主设备代理相对应的多个从设备代理;每个主设备代理包括主设备定序器、主设备序列发生器、主设备配置、主设备驱动器、主设备监视器、主设备虚拟接口;每个从设备代理包括从设备定序器、从设备序列发生器、从设备配置、从设备驱动器、从设备监视器、从设备虚拟接口;

WISHBONE验证环境中实例化并初始化主、从设备配置,并根据主、从设备配置中的配置信息,实现整个验证环境:验证环境配置中总线拓扑结构信息使实例化的主、从设备配置均可配置,以将信息传递给相应主、从设备代理中的其他部件中,根据所述配置信息,实现不同的总线协议配置和接口位宽;

测试平台运行时调用虚拟序列发生器,使虚拟序列发生器对多个主、从设备序列发生器分别进行时序上的排列组合,并分别产生要求的激励,保证整个验证平台的重用性;通过虚拟定序器将虚拟序列发生器中的主、从序列发生器,分别发送到主、从设备定序器上;

主、从设备定序器分别将相应的主、从设备序列发生器中产生的激励序列发送到相应的主、从设备驱动器上;主、从设备驱动器分别将相应激励序列通过相应主、从设备虚拟接口发送到待测设计上;主、从设备监视器通过相应的主、从设备虚拟接口监测待测设计的输入输出,然后将监测结果发送到记分板中。

作为上述方案的进一步改进,计分板包括比较器和参考模型;在记分板中,基于给待测设计的输入激励和参考模型,产生预期的参考输出,比较器中将待测设计的输出和参考输出做比较,判断待测设计的输出是否正确。

作为上述方案的进一步改进,所述验证平台设置一个WISHBONE配置模块,封装WISHBONE协议相关的全部参数信息,使用于WISHBONE总线的信号不同时序协议,从而实现一个方便移植和重用的WISHBONE总线协议验证平台。

进一步地,针对WISHBONE总线规范的不同拓扑结构,根据需求进行不同的配置,使本验证平台既能作为一个或多个主设备和从设备模块级的验证平台,也能对复杂拓扑结构的总线仲裁器做验证平台。

作为上述方案的进一步改进,虚拟序列发生器采用UVM虚拟激励发生器机制。

本发明还提供上述任意基于UVM的可重用WISHBONE总线协议验证平台的验证方法,其包括以下步骤:

1)在WISHBONE环境中例化并初始化验证环境配置,然后WISHBONE环境中的每个主、从设备代理中的各部件和记分板获得相应配置信息;

2)虚拟序列发生器产生调用不同主、从设备代理中的主、从设备序列发生器,以分别产生所需要的激励,然后分别通过虚拟定序器,将改组合激励拆分,发送到每个相应代理中的定序器上;

3)在每个主、从设备代理中,相应定序器将激励序列传递给驱动器,驱动器通过虚拟接口,将激励序列按照WISHBONE协议规定,发送到待测设计中;

4)所有主、从设备代理中的监视器,监视相应代理对应的设备的输入和输出,将输入输出发送到计分板中,计分板中将输入发送到参考模型,参考模型模拟待测设计,得到预测的输出;

5)在计分板的比较器中,将参考模型得到的预测输出和待测WISHBONE环境的输出结果进行校验和比对,给出验证结果;

6)在测试平台的运行过程中,仿真软件根据覆盖率统计模块中定义和发送的激励,统计验证覆盖率,给出覆盖率统计结果,以定量分析测试结果。

本发明的有益效果为:采用UVM验证方法学建验证平台,基于UVM的高重用设计,同时深入研究WISHBONE总线各种裁剪情况和不同拓宽结构,能够快速实现WISHBONE协议总线协议功能验证;在保证验证环境的高重用性的同时大大提高WISHBONE总线协议FPGA代码的验证效率。本验证平台适用度强,使用简单方便。同时基于UVM的随机约束方法,更极大地提高了验证效率。

附图说明

图1是WISHBONE通信协议接口协议图。

图2是可重用WISHBONE总线协议验证平台结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图2,本发明的基于UVM的Wishbone总线协议FPGA验证平台,其用于实现基于WISHBONE总线协议编写的FPGA代码验证平台的快速搭建和全面高效的验证。一方面验证基于Wishbone总线接口的FPGA模块的功能验证,另一方面实现的功能验证包括总线接口时序功能、模块算法功能和主从模块间交叉互联功能。

验证平台包括:虚拟序列发生器3、虚拟定序器2、WISHBON环境4。WISHBON环境4包括验证环境配置41、计分板42、多个主设备代理43、与多个主设备代理43相对应的多个从设备代理主设备代理器44。每个主设备代理43包括主设备定序器431、主设备序列发生器432、主设备配置433、主设备驱动器434、主设备监视器435、主设备虚拟接口436。每个从设备代理44包括从设备定序器441、从设备序列发生器442、从设备配置443、从设备驱动器444、从设备监视器445、从设备虚拟接口446。

WISHBONE验证环境中实例化并初始化主、从设备配置433、443,并根据主、从设备配置433、443中的配置信息,实现整个验证环境:验证环境配置41中总线拓扑结构信息使实例化的主、从设备配置433、443均可配置,以将信息传递给相应主、从设备代理43、44中的其他部件中,根据所述配置信息,实现不同的总线协议配置和接口位宽。

验证平台与待测WISHBONE模块的所有通信通过虚拟接口组件。验平台运行时调用虚拟序列发生器3,使虚拟序列发生器3对多个主、从设备序列发生器432、442分别进行时序上的排列组合,并分别产生要求的激励,保证整个验证平台的重用性;通过虚拟定序器2将虚拟序列发生器3中的主、从序列发生器,分别发送到主、从设备定序器431、441上。

主、从设备定序器431、441分别将相应的主、从设备序列发生器432、442中产生的激励序列发送到相应的主、从设备驱动器434、444上;主、从设备驱动器434、444分别将相应激励序列通过相应主、从设备虚拟接口436、446发送到待测设计上;主、从设备监视器435、445通过相应的主、从设备虚拟接口436、446监测待测设计的输入输出,然后将监测结果发送到记分板42中。

验证平台主要包含两类代理器(主设备代理43和从设备代理44)和记分板42。两类代理的内部结构可完全一致每个代理中包括一个序列发生器、一个定序器、一个驱动器和一个监视器。其中,定序器将序列发生器中产生的激励序列发送到驱动器上;驱动器将激励序列通过虚拟的接口发送到待测设计上;监视器监测待测设计的输入输出,然后将监测结果发送到记分板中。根据WISHBONE总线规范中对主从设备的定义不同,具体实现不同。

主设备代理43封装了主设备定序器431、主设备序列发生器432、主设备驱动器433、主设备发送监视器434、主设备配置模块435和主设备虚拟接口436,负责和待测设计中的从设备接口相连,发送激励同时监测输入输出。

从设备代理44封装了从设备定序器441、从设备序列发生器442、从设备驱动器443、从设备发送监视器444、从设备配置模块445和从设备虚拟接口446,负责和待测设计中的主设备接口相连,发送激励同时监测输入输出。虚拟定序器2和虚拟序列发生器3机制的使用,对每个代理器中的序列发生器进行排列组合和时序控制,可以实现复杂功能的快速验证。

验证平台运行时调用虚拟序列发生器3,虚拟序列发生器3对多个主、从设备序列发生器进行时序上的排列组合,产生要求的复杂激励。通过虚拟定序器2,将虚拟序列发生器3中的不同序列发生器,发送到对应的主、从设备定序器上。主、从设备定序器将虚拟序列发生器3中产生的激励序列发送到相应的主、从设备驱动器上;主、从设备驱动器将激励序列通过相应的主、从设备虚拟接口发送到待测设计上;主、从设备监视器监测待测设计的输入输出,然后将监测结果发送到记分板42中。

计分板42包括比较器421和参考模型422。在记分板42中,将参考模型422得到的预测输出和待测WISHBONE模块的输出结果进行校验和比对,给出验证结果。在本实施例中,在记分板42中,基于给待测设计的输入激励和参考模型422,产生预期的参考输出,比较器421中将待测设计的输出和参考输出做比较,判断待测设计的输出是否正确。

wishbone环境和每个代理中包含一个配置模块,配置模块中封装了WSIHBONE协议的相关参数信息。wishbone环境类中配置模块主要包含的总线协议整体配置信息,如主设备数量何从设备数量等。每个代理中配置模块主要包含的每个设备接口的配置信息,如协议的握手时序和协议接口信号定义等以及其他相关的协议相关的参数。利用UVM验证方法学思想,根据用户配置,针对WISHBONE总线的信号时序协议和不同拓扑结构,搭建完整的测试平台。在本实施例中,针对WISHBONE总线规范的不同拓扑结构,根据需求进行不同的配置,使本验证平台既能作为一个或多个主设备和从设备模块级的验证平台,也能对复杂拓扑结构的总线仲裁器做验证平台。虚拟序列发生器3采用UVM虚拟激励发生器机制,快速组合激励发生器,可以实现复杂功能的快速测试激励产生,大大提高验证平台的重用性,从而提高验证人员效率。

提供基本的总线协议序列发生器,完成基本的总线时序功能测试;用户可以根据不同的功能验证需求,只需编序列发生器和参考模型,即可完成功能复杂的功能验证。因此,所述验证平台可设置一个WISHBONE配置模块,封装WISHBONE协议相关的全部参数信息,使用于WISHBONE总线的信号不同时序协议,从而实现一个方便移植和重用的WISHBONE总线协议验证平台。

本发明基于UVM验证方法学和SystemVerilog语言构建验证平台,对WISHBONE总线接口FPGA模块实施功能级验证。所有验证脚本和流程支持但不限于Mentor仿真工具、Cadence仿真工具和Synopsys仿真工具。

综上所述,本发明中发明的基于UVM的可重用WISHBONE协议验证平台,其验证方法包括以下步骤。

1)基于系统级硬件描述语言SystemVerilog语言和UVM类库构搭建一个基于UVM的WISHBONE总线的验证环境。也即上述验证平台基于UVM的可重用WISHBONE总线协议验证平台。

2)在WISHBONE环境4中例化并初始化验证环境配置41,然后WISHBONE环境4中的每个主、从设备代理43、44中的各部件(如驱动器、监视器)和记分板42等平台相关部件,获得该配置信息。WISHBONE验证环境更加该配置信息完成验证平台拓扑结构的例化:即例化多少个主设备代理和多少个从设备代理。每个代理,保留代理中的各个模块,根据该配置信息,完成具体和总线接口时序、位宽和信号量相关的功能的。

3)虚拟序列发生器3产生调用不同代理中的发生器(即主、从设备代理43、44中的主、从设备序列发生器432、442),产生所需要的激励,然后通过虚拟定序器2,将改组合激励拆分,发送到每个相应代理中的定序器上。

4)在每个主、从设备代理43、44中,相应定序器将激励序列传递给驱动器,驱动器通过虚拟接口,将激励序列按照WISHBONE协议规定,发送到待测设计中。

5)所有主、从设备代理43、44中的监视器,监视该代理对应的设备的输入和输出,将输入输出发送到记分板42中,记分板42中将输入发送到参考模型422,参考模型422模拟待测设计,得到预测的输出。

6)在记分板42的比较器421中,将参考模型422得到的预测输出和待测WISHBONE模块的输出结果进行校验和比对,给出验证结果。

7)在测试平台的运行过程中,仿真软件会根据覆盖率统计模块中定义和发送的激励,统计验证覆盖率,给出覆盖率统计结果,以定量分析测试结果。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1