- 博客(22)
- 收藏
- 关注
原创 UVM toggle覆盖方法
所以至少需要发三个激励,让对应bit翻转两次。比如 5a5a5a5a->a5a5a5a5->5a5a5a5a;5a5a5a5a->a5a5a5a5->ffffffff->00000000.toggle的触发: 5a5a5a5a -> a5a5a5a5,这只能让data进行一次翻转。data实际的收的翻转率是0->1, 1->0.关于5a5a5a5a 特定值的测试,只能把他们拎出来,间隔。这样即可以保证随机,又可以保证翻转覆盖率。
2023-12-13 20:20:42
153
原创 SV随机失败,仿真卡死
SV随机有冲突的时候会报Error,但是不会结束环境,导致 随机pkg所有值均为0. 有些DUT没有拿到预期的激励,可能就会hang住,导致环境卡死,但是会超出退出。有时候也会一直执行随机操作,这种情况通常是随机不耗时,仿真时间不会往前走,因此环境hang住。
2023-12-13 17:55:44
165
原创 fsdbreport导出波形信号值/force信息
信号的路径是 top.u_hw_top.u_hw_control.data_in, fsdbreport的格式是/top/u_hw_top/u_hw_control/data_in。-o out.txt表示输出到out.txt中。-bt 表示起始时间, -et 表示结束时间。-w 256 表示输出位宽为256bit。-of h 表示输出格式为16进制。
2023-12-12 16:12:47
869
原创 UVM复位测试方法
因为如果是在sequence中进行复位,每次复位之后会从reset_phase进入main_phse, sequence重新启动发送复位激励,就会导致死循环。第一种方法是自己写复位函数,将环境返回到初始状态。第二种方法是调用环境的uvm 的reset_phase 进行自动复位,但是如何触发跳转很关键,否则会导致死循环。方案二:UVM可以通过jump方法让环境跳到reset_phase。step1 . 修改driver。step2 修改monitor。step3 修改checker。
2023-12-12 09:34:02
518
原创 Verdi 修改group字体大小
step1: Tools->Pereferences->Waveform->Color/Font/Pattern, 点击打开子目录,选中Font,在出现的页面中进行修改。step2: 在Miscellaneous方框中, 将Type切换到Group Name, 修改Font 既可改变 G1等group的显示大小。补充: 在Pane方框中,将 Type切换到Signal Pane,修改Font即可修改波形信号字体大小。如何修改verdi 中 group字体大小。
2023-11-01 13:37:57
392
原创 SV 流操作符进行队列位宽转换
执行cmd: vcs -R -full64 -sverilog +v2k -ntb test_mem.sv。1)256 bit 数据 转8 bit 队列。2)256 bit 队列 转8 bit 队列。
2023-10-29 14:59:56
341
原创 AXI VIP发出超4k 边界命令
SVT_AXI_TRANSACTION_ADDR_RANGE_NUM_LSB_BITS 默认值是12,所以支持到4k=0x1000,改为13即可支持超出4K边界。在仿真中添加+define+SVT_AXI_TRANSACTION_ADDR_RANGE_NUM_LSB_BITS=13。
2023-10-20 19:28:18
289
1
原创 UVM 在sequence中使用env的方法
加入uvm_top.find($sformatf(“*.%s”, “env”),找到env,即可正常使用或引用env中的信号。
2023-10-04 10:13:02
350
原创 UVM foreach 打印二维数组报错
注意,UVM 不能识别该二维数组格式(sgl_list[i,j]), 仅能识别sgl_list[i][j].解决办法:fearch能识别的二维数组格式为sgl_list[i,j],所以应修改为。
2023-07-13 10:33:53
552
原创 UVM monitor错误,导致仿真时间hang住
采用如下源码,从仿真log中发现一个问题:当cpu没有发出读写命令,即re&we都为0,monitor也会采样传给reference model。我理解的原因是:修改之前的while循环里所有操作都不消耗仿真时间,所以处于一直在0时刻判断的情况。
2023-05-08 14:00:47
690
1
原创 UVM 验证平台收集覆盖
1.定义coverage文件,文件名ut_cov.sv//文件名可和class名字不一样,以防找不到命名为一致,找不到环境会报错class ut_cov extends uvm_component; `uvm_component_utils(ut_cov) cpu_transfer cpu_tr; virtual interface cpu_if cfgif; covergroup top_cfg @(cfgif.cpu_cast_sample_cov); // cpu_.
2022-02-19 11:34:03
1100
原创 英伟达驱动安装成功之后,指令nvidia-smi表格里有ERR!
英伟达驱动安装成功之后,指令nvidia-smi表格里有ERR!使用软件更新安装好nvidia_384.130之后,执行nvidia_smi,表格里出现erro.卸载之后下载该驱动安装包或用指令apt_get在线安装均会出现此错误。解决办法:换一个驱动版本。1.首先卸载安装好的驱动sudo apt-get purge nvidia*2.然后 执行指令把显卡驱动加入PPAsudo ad...
2019-07-20 00:46:03
3267
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人