- 博客(13)
- 收藏
- 关注
原创 关于后仿真是否可以使用后门进行寄存器配置的总结
众所周知,后仿真消耗资源,消耗时间,短则1~2周,长则1个月都是有可能的。那么如果仿真时间超过1~2周的,势必需要进行一些加速手段。基于本人2个项目的后仿真经验来看,后仿80%的时间都消耗在寄存器配置上,后门配置寄存器针对一些配置寄存器慢,或配置寄存器多的case是一个好手段,但实际过程中遇到不少问题,现总结如下:
2025-01-02 16:16:01
840
1
原创 UVM: 使用catcher去MASK某些info的打印
在验证环境中,我们往往需要对某些info信息进行mask处理,比如vip内部的一些info,或者是bind到interface上,又或是vip的bfm的wrapper等info,这些大量的info往往是无关紧要的,因此我们正常情况下可以针对这些info去设定特定的verbosity去提高冗余度。但是当某些info无法通过上述方式进行设定verbosity时,可以使用catcher去mask这些info(我遇到的是某些vip bfm wrapper的uvm_info,无法通过上述方式去mask掉)。
2024-09-23 17:27:53
291
原创 SOC验证环境中EOT (End of Test )checker之中断检查
SOC验证环境中EOT (End of Test )checker之中断检查
2024-09-14 17:40:28
1022
原创 CRG(clk reset generator)模块验证
总的来说,第一步是检查clk,rst能够符合设计预期,能够在完成复位目标的同时,而不出现影响其余模块,子系统的情况。第二步是能够在复位后,不引发新的错误,不影响新的数据流。
2024-09-13 14:20:13
1110
原创 vcs verdi 中三种常用的dump waveform task
在日常dump waveform进行debug时,通常有三种场景,分别对应3种不同的dump task。
2024-08-20 09:53:34
997
原创 UVM_RAL : 不支持individual_accessible的field 是如何完成field access的
在ral_gen的时候,如果某个field独占了一个byte,或独占了byte的倍数时,ral认为是可以进行单独field的访问的,因此ral_gen出来的ral_model中,针对field的configure函数,其中individually_accessible会被configure 为1,其余不符合条件的field会被configure 0,即认为不可以进行单独field的访问。
2024-06-05 19:55:41
702
原创 sv force and uvm_hdl_force
此刻会编译报错“Class data is not allowed in non-procedural context.”当使用uvm_hdl_force时,即没有这个限制。即uvm_hdl_force(hier,value),此时value可以为变量。原因是此刻value是非静态值,定义为static int value即可解决,但是定义为static,就不能进行随机了。当使用sv force,想force个随机数给某个hier时,即如下。
2024-06-05 19:54:42
1400
原创 RAL : field access warning
2.当ral_model中uvm_reg_field.configure的第九个参数(indicidually_accessible)配置为0时,会报warning。一般来说,ral_gen的时候会把单独占1byte及其其倍数的field会配置为1,即可以进行访问,并且不会报该warning。其余的field会配置为0,因此进行这些不满足1byte及其倍数的field访问时,会报warning。3.当访问field时,寄存器为用户自定义的一些类型时,不可以访问。
2023-12-23 16:16:30
110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人