一种基于UVM的APB-SPI模块验证方法技术

技术编号:38333631 阅读:15 留言:0更新日期:2023-08-02 09:14
本发明专利技术公开了一种基于UVM的APB

【技术实现步骤摘要】
一种基于UVM的APB

SPI模块验证方法


[0001]本专利技术属于基于UVM验证平台的SPI模块验证、芯片验证
,具体涉及一种基于SPI模块的UVM验证方法。

技术介绍

[0002]随着集成电路的快速发展,芯片的功能复杂度大大增加,使得验证占到了整个设计周期的一半以上,传统的定向验证已无法满足超大规模集成电路的验证需求,验证工作也变得更加艰巨。由于验证工作的迫切需要,出现了多种芯片验证方法;UVM即通用验证方法学(Universal Verification Methodology,UVM),是一个以SystemVerilog类库为主体的验证平台开发框架,涵盖了从模块级到芯片级,ASIC到FPGA,以及控制逻辑、数据通路到处理器验证对象的全部场景。
[0003]APB 2.0(Advanced Peripheral Bus)总线协议是ARM公司于1999年发布的AMBA(Advanced Microcontroller Bus Archecture)协议的一种。APB相较于AHB,AXI总线协议具有功耗低、信号时序简单的特点,主要用来连接SPI、UART、GPIO、Timer等低速外围接口模块;SPI是一种高速的同步双全工通信接口,具有主从两种工作方式,通过四根信号线通信,针对与SPI总线的验证,目前的的验证方案是直接将SPI模块作为DUT,在验证平台中搭建一个apb代理和一个spi代理(主机或从机)。apb代理内有音序器、驱动和显示器等组成的。spi代理内包含有音序器、驱动和显示器等。apb代理中的驱动将来自序列的处理通过接口驱动到DUT;显示器来监控接口上的信号。同理,spi代理也完成对应的操作。最后将数据传送到计分板中比较。
[0004]现有的技术方案中问题是:验证人员需要根据spi的协议写出spi代理中的drive和显示器模块,这样要求验证人员本身对spi的协议理解非常透彻且在自己的验证平台能正确实现。在实现spi代理时需要较长时间。因此无法快速搭建验证平台。无法同时实现SPI主、从模式对跑的验证。
[0005]所以,需要一种基于SPI模块的UVM验证方法来解决上述问题。

技术实现思路

[0006]本专利技术的目的在于提供一种基于SPI模块的UVM验证方法,以解决上述
技术介绍
中提出的问题。
[0007]为了解决上述技术问题,本专利技术提供如下技术方案:
[0008]一种基于SPI模块的UVM验证方法,该方法包括以下步骤:
[0009]S1、将两个spi的设计模块的端口对应相连作为DUT;
[0010]S2、分别通过总线的接口与总线的代理相连;
[0011]S3、在代理中将转接器和预测器与对应的寄存器模型中的reg_map相连;
[0012]S4、将两个寄存器模型的值发送到计分板中作比较。
[0013]根据上述技术方案,所述DUI是将带有apb接口的spi模块例化两次,记为SPI_0和
SPI_1,再将SPI_0和SPI_1的NSS、SCK、MOSI和MISO分别对应相连,将连接后的整体作为DUT,将apb接口作为验证的顶层接口。
[0014]根据上述技术方案,DUT的顶层接口与apb总线连接。
[0015]根据上述技术方案,apb接口的spi模块例化两次生成的两个apb代理模块通过各自的apb接口与apb总线连接,其中,apb代理包含驱动、显示器、音序器组件,其中驱动组件用于将apb总线上的数据按照总线协议驱动到apb接口上,显示器组件用于对apb接口上的各种数据根据apb总线协议打包成新的数据包,音序器组件用于启动序列,并将序列产生的处理经仲裁后发送给驱动。
[0016]根据上述技术方案,两个代理分别与转接器和登记模型模块相连,分别记为登记模型_0和登记模型_1,对应SPI_0和SPI_1。
[0017]根据上述技术方案,从驱动组件返回的rsp由转接器模块转换成寄存器模型类型的变量,返回给登记模型,用于更新内部值。
[0018]根据上述技术方案,登记模型模块是UVM中一组高级抽象的类,用来对DUT中SPI模块中的登记进行建模实现与DUT寄存器模型一样的功能;再将登记模型通过前门写入和读出的数据发送到计分板中,计分板拿到登记模型_0和登记模型_1的数据并做比较。
[0019]根据上述技术方案,利用apb接口实现UVM中软件与DUT环境之间的连接。
[0020]根据上述技术方案,转接器模块用于实现apb总线数据与登记模型数据之间的转换,经过转接器模块转换后将变量或数据传输给apb代理,同时预测器实时监控总线上的变化,转接器模块内部主要集成了两个函数,一个为bus2reg,作用为将总线上的数据类型转换为寄存器模型可以识别的数据类型;另一个为reg2bus它的作用是将寄存器模型的数据类型转换为总线可识别的数据类型;寄存器模型的与总线的数据交换正是通过这两个函数实现。在env中通过句柄传递就可以在预测器中拿到转接器的句柄,进而当mon监控到总线事务变化时,就可以通过句柄调用bus2reg函数从而将总线的变化转换为寄存器模型对应的变化,做到实时的预测更新,并通过句柄传递拿到转接器内的bus2reg函数从而对寄存器模型进行实时的更新预测。
[0021]根据上述技术方案,在测试序列中对寄存器模型做对应的操作,通过更新操作从而来配置DUT的工作模式、发送的数据和获取DUT接收到的数据。
[0022]与现有技术相比,本专利技术所达到的有益效果是:
[0023]提供一种基于UVM的SPI模块验证方法,使用UVM和SystemVerilog来搭建一个可重用性高、拓展性强的APB总线的验证平台。可以快速应用于任意具有主、从模式通信模块之间的验证。因为在验证平台的搭建中只需要将待验证模块例化两次再对应相连作为DUT,不需要验证人员根据待验证模块的设计规范再实现一个待验证模块,其节约了验证时间。同时通过两个模块对跑的方式来实现验证,同样节约了验证时间,提升了验证效率。
附图说明
[0024]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:
[0025]图1是本专利技术一种基于SPI模块的UVM验证方法的结构图;
[0026]图2是本专利技术一种基于SPI模块的UVM验证方法的步骤示意图。
具体实施方式
[0027]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0028]实施例1:一种基于SPI模块的UVM验证方法,参考图1,该方法包括以下步骤:
[0029]S1、将两个spi的设计模块的端口对应相连作为DUT;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UVM的APB

SPI模块验证方法,其特征在于:该方法包括以下步骤:S1、将两个spi的设计模块的端口对应相连作为DUT;S2、分别通过总线的接口与总线的代理相连;S3、在代理中将转接器和预测器与对应的寄存器模型中的reg_map相连;S4、将两个寄存器模型的值发送到计分板中作比较。2.根据权利要求1所述的一种基于UVM的APB

SPI模块验证方法,其特征在于:所述DUI是将带有apb接口的spi模块例化两次,将spi模块对应的NSS、SCK、MOSI和MISO分别对应相连,将连接后的整体作为DUT,将apb接口作为验证的顶层接口。3.根据权利要求2所述的一种基于UVM的APB

SPI模块验证方法,其特征在于:DUT的顶层接口与apb总线连接。4.根据权利要求2所述的一种基于UVM的APB

SPI模块验证方法,其特征在于:apb接口的spi模块例化两次生成的两个apb代理模块通过各自的apb接口与apb总线连接,其中,apb代理包含驱动、显示器以及音序器组件,其中驱动组件用于将apb总线上的数据按照总线协议驱动到apb接口上,显示器组件用于对apb接口上的各种数据根据apb总线协议打包成新的数据包,音序器组件用于启动序列,并将序列产生的处理经仲裁后发送给驱动。5.根据权利要求4所述的一种基于UVM...

【专利技术属性】
技术研发人员:陈皆通舒海军
申请(专利权)人:海速芯杭州科技有限公司无锡市海速芯业电子科技有限公司深圳海速芯业科技有限公司
类型:发明
国别省市:

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

1