一种基于UVM的芯片外设模块验证方法技术

技术编号:38200435 阅读:15 留言:0更新日期:2023-07-21 16:42
本发明专利技术公开了一种基于UVM的芯片外设模块验证方法,以UVM方法学搭建验证平台,验证DUT发送数据与DUT接收数据,包括验证奇偶校验位、波特率设置的一致性;所述验证平台中包括TOP层、test层;其中,Top层负责产生系统的复位信号以及时钟信号,例化DUT,用interface组件连接DUT和验证平台;该验证平台使用基于SystemVerilog的UVM验证方法学,支持随机化激励的创建,相较于传统用verilog构建激励,能节省大量编写激励的时间,且使验证工作更具完备性;另外该平台具有可重性高的特点,方便在类似项目进行复用,节省芯片开发周期。节省芯片开发周期。节省芯片开发周期。

【技术实现步骤摘要】
一种基于UVM的芯片外设模块验证方法


[0001]本专利技术涉及芯片验证
,具体是一种基于UVM的芯片外设模块验证方法。

技术介绍

[0002]集成电路是指将数百万个电子元器件(如晶体管、电容、电阻等)集成在一个芯片上,形成一个完整的电路系统,由于集成电路中的元器件不断增加,一般18个月翻一倍,因此现如今的集成电路中的集成度和复杂度呈指数上升,导致芯片验证的难度增加,且花费时间增加;
[0003]芯片在生产和研发时,需要对其进行验证,以确保芯片能够按照设计要求正常工作;芯片验证通常包括功能验证、性能验证、功耗验证、可靠性验证等方面的测试;验证过程中需要使用各种测试工具和方法,如仿真、验证板、测试程序等;芯片验证是芯片设计过程中非常重要的一环,能够有效降低芯片设计的风险和成本。
[0004]传统的芯片验证是用verilog语言搭建testbench,创建简单激励,这种方式低效繁琐,且受限于verilog语言极不灵活的特点,对于复杂功能的验证需要大量代码才能完成,同时现有的芯片验证方法,可重用极低,一旦设计中有部分功能代码变动,或者在其他项目中存在类似模块,验证工作就得重新开始。
[0005]因此,针对上述问题提出一种基于UVM的芯片外设模块验证方法。

技术实现思路

[0006]为了弥补现有技术的不足,解决上述至少一个的问题,本专利技术提出的一种基于UVM的芯片外设模块验证方法。
[0007]一种基于UVM的芯片外设模块验证方法,以UVM方法学搭建验证平台,验证DUT发送数据与DUT接收数据,包括验证奇偶校验位、波特率设置的一致性;
[0008]所述验证平台中包括TOP层、test层;
[0009]其中,Top层负责产生系统的复位信号以及时钟信号,例化DUT,用interface组件连接DUT和验证平台;
[0010]根据DUT需要验证的功能点编写不同的Test,tset层用于建立和配置验证环境,每个test层中包含组件peripheral_env和peripheralconfig;
[0011]其中,Peripheral_env中包含:apb_env、uart_env、i2c_env和spi_env,且env中分别封装有不同的Agent,包括apb_env中封装有APB发送端口,即apb_mst_agt、APB接收端口,即apb_slave_agt;uart_env中封装有UART发送端口,即uart_tx_agt、UART接收端口,即uart_rx_agt;SPI端口,即spi_agt、i2c发送端口,即i2c_tx_agt、I2C接收端口,即i2c_rx_agt;Peripheralcongfig包含peripheralenv中的apb_env、uart_env、i2c_env和spi_env组件的配置信息,使用UVM将配置信息从test层传给apb_env、uart_env、i2c_env和spi_env,使平台的传输协议模式与DUT保持一致,再进行数据对比。
[0012]优选的,所述验证平台还包括五个scoreboard组件,即Scb;所述Scb用于进行数据
的比对工作;所述Scb的数据来源包括两部分,第一部分为apb_agt采集到的寄存器读写数据信息,第二部分为对应的agent采集到的数据信息,包括uart、i2c或spi接收和发送的数据;Sequencer负责产生不同的测试激励。
[0013]优选的,各个所述agent中均包含有monitor、driver和sequencer;Monitor负责监控收集DUT端口的信号,并将这些信号打包成事务发给Scb;Sequencer负责产生不同的测试激励,而driver负责把测试激励驱动到DUT;其中uart、i2c和spi的rx_monitor和tx_scb中设有checker,用来检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致。
[0014]优选的,所述验证平台中还包括寄存器模型,即RegisterModel,采用三级结构实现了对DUT中寄存器的建模,通过field、reg、block结构对寄存器的地址、属性信息进行描写。
[0015]优选的,所述验证平台中还包括Adapter,其作用是实现寄存器模型与总线的桥接,其内部实现两部分内容,包括Reg2bus将RegisterModel转换成driver/sequence能识别的事务,即transaction;Bus2reg将transaction转换成RegisterModel的读写行为。
[0016]优选的,所述验证平台中还包括VirtualSequencer,其作用是链接各个agent的sequencer,用于实例化其他序列器并启动虚拟序列,起路由作用。
[0017]优选的,所述验证平台验证DUT发送数据,DUT使用uart协议发送数据,验证平台接收数据,具体包括以下步骤:
[0018]S1:首先根据DUT需要验证的功能测试点在test层设置Peripheral congfig,将其发送给验证平台进行平台的配置;
[0019]S2:在激励中apb_mst_agt使用前门访问读写寄存器模型,DUT则会按照寄存器的配置发送数据;
[0020]S3:uart_rx_scb收集apb_mst_agt的待发送数据以及uart_rx_agt收集的数据,二者进行传输数据比对;
[0021]S4:uart_rx_agt的monitor中的checker会将DUT输出与Peripheral congfig进行比对,检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致;
[0022]其中,用spi或i2c发送数据的流程与uart一样,都是用apb_mst_agt配置DUT,区别是接收端需要用对应的i2c_rx_agt或spi_agt,数据比对要在对应的rx_scoreboard中进行,DUT的传输协议检查在对应的rx_agt的monitor中进行。
[0023]优选的,所述验证平台验证DUT接收数据,验证平台使用uart协议发送数据,DUT接收数据,具体包括以下步骤:
[0024]A1:首先根据DUT需要验证的功能测试点在test层设置Peripheral congfig,将其发送给验证平台进行平台的配置;
[0025]A2:在激励sequence中先让apb_mst_agt使用前门访问读写寄存器模型,配置DUT来接收数据;然后uart_tx_agt发送激励给DUT,apb_slave_agt收集DUT的端口信号;
[0026]A3:uart_tx_scb收集uart_tx_agt的待发送数据以及apb_slave_agt收集的数据,二者进行传输数据比对;在DUT接收数据的流程中,checker设置在scoreboard中,会将DUT输出与Per本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UVM的芯片外设模块验证方法,其特征在于:以UVM方法学搭建验证平台,验证DUT发送数据与DUT接收数据,包括验证奇偶校验位、波特率设置的一致性;所述验证平台中包括TOP层、test层;其中,Top层负责产生系统的复位信号以及时钟信号,例化DUT,用interface组件连接DUT和验证平台;根据DUT需要验证的功能点编写不同的Test,tset层用于建立和配置验证环境,每个test层中包含组件peripheral_env和peripheralconfig;其中,Peripheral_env中包含:apb_env、uart_env、i2c_env和spi_env,且env中分别封装有不同的Agent,包括apb_env中封装有APB发送端口,即apb_mst_agt、APB接收端口,即apb_slave_agt;uart_env中封装有UART发送端口,即uart_tx_agt、UART接收端口,即uart_rx_agt;SPI端口,即spi_agt、i2c发送端口,即i2c_tx_agt、I2C接收端口,即i2c_rx_agt;Peripheralcongfig包含peripheralenv中的apb_env、uart_env、i2c_env和spi_env组件的配置信息,使用UVM将配置信息从test层传给apb_env、uart_env、i2c_env和spi_env,使平台的传输协议模式与DUT保持一致,再进行数据对比。2.根据权利要求1所述的一种基于UVM的芯片外设模块验证方法,其特征在于:所述验证平台还包括五个scoreboard组件,即Scb;所述Scb用于进行数据的比对工作;所述Scb的数据来源包括两部分,第一部分为apb_agt采集到的寄存器读写数据信息,第二部分为对应的agent采集到的数据信息,包括uart、i2c或spi接收和发送的数据;Sequencer负责产生不同的测试激励。3.根据权利要求2所述的一种基于UVM的芯片外设模块验证方法,其特征在于:各个所述agent中均包含有monitor、driver和sequencer;Monitor负责监控收集DUT端口的信号,并将这些信号打包成事务发给Scb;Sequencer负责产生不同的测试激励,而driver负责把测试激励驱动到DUT;其中uart、i2c和spi的rx_monitor和tx_scb中设有checker,用来检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致。4.根据权利要求3所述的一种基于UVM的芯片外设模块验证方法,其特征在于:所述验证平台中还包括寄存器模型,即RegisterModel,采用三级结构实现了对DUT中寄存器的建模,通过field、reg、block结构对寄存器的地址、属性信息进行描写。5.根据权利要求4所述的一种基于UVM的芯片外设模块验证方法,其特征在于:所述验证平台中还包括Adapter,其作用是实现寄存器模型与总线的桥接,其内部实现两部分内容,包括Reg2bus将Regis...

【专利技术属性】
技术研发人员:张子毅
申请(专利权)人:泽石科技武汉有限公司
类型:发明
国别省市:

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

1