UVM -- Synopsys VIP仿真,VIP UVM_ERROR处理

Synopsys VIP仿真中 UVM_ERROR处理


问题描述:

使用 Synopsys 的 SPI-VIP 进行仿真时,会报 UVM_ERRRO,如下

  SPI VIP 中的描述如下:

分析原因

主要原因是多驱动的问题,需要 synopsys 分析,从仿真波形上看功能没有问题。

  错误波形如下:

  正确波形如下:

  这个报错会影响整体 coverage 的收集,因此将这个报错屏蔽,屏蔽 UVM_ERROR 的方法:

方法 1:通过 VIP 自带的 class,disable 此类的 uvm_error ---- 此方法可行

  使用方法如下:

  (1)定义一个函数

  (2)在 end_of_elaboration_phase 中调用这个 function

  注意:需要将这个函数在 end_of_elaboration_phase 或者 start_of_simulation_phase。(如果在 configure_phase 调用这个函数,将不会生效)

方法 2:使用 UVM 的方法,重载打印信息的严重性,将报错降级处理

  使用方法如下:将 UVM_ERROR 降级为 UVM_WARNING

  注意:

  (1)这个必须在 start_of_simulation_phase 中或者其之前(end_of_elaboration_phase)才有效,如果在 configure_phase 中设置将不会生效。

  (2)在使用 set_report_severity_id_override 时 必须说明组件 ,否则不生效。如下这样设置将不会生效

posted @ 2022-09-14 16:49  Thisway2014  阅读(1727)  评论(0编辑  收藏  举报