首先说明几点:①下面的内容都是群里网友提供的干货,我只是简单整理了一下,希望帮助到更多的朋友;②时间仓促,搬砖之余整理的,整理地很凌乱,大家多包涵。
1. Verdi怎么配置才能显示二维数组?
调试代码时经常需要查看memory内的数据是否正确,一个一个读出来检查又特别麻烦,不做特别设置的话fsdb不会记录二维数组的值。只需要在顶层加入在tb_top.sv中加入:$fsdbDumpMDA(); 波形窗口tools—memory/MDA就可以看到了。
打开verdi后,常规操作是将鼠标点击要查看的信号,再使用ctrl+w即可添加该信号波形。但如果想要查看二维数组信号波形,则会出现如下所示的问题。
这是由于在top模块中没有设置对二维数组进行记录,正确的方法是在top模块中添加如下函数:$fsdbDumpMDA();
但是会发现,即便如此可能还是无法成功地添加二维数组波形,这时将top中的fsdb函数顺序按下面方式编辑即可
$fsdbDumpvars(0);
$fsdbDumpMDA();
2.句柄或者变量的声明要早于函数的的调用和赋值。
句柄或者变量的声明要放在`uvm_info前面,否则会报下面的错误。Line22应该放到line23后面。
比如你用的是arm a7,vcs仿真的时候define CORTEXA7_TARMAC,仿真完成就会吐出来这个文件。
Verdi HW/SW co-debug 简单使用
4. vcs可以通过defparam修改parameter.
-pvalue一般在vcs cmd line使用。
5. 为啥一定要49行代码转换一下,打印出来的k和a才是0,1,2递增的;如果没有49行,50行直接用j,打印出来的j和a都是3,变成静态变量了。
参考下文和绿皮书P186页,
硅芯思见:【141】for循环和fork...join_none联合挖的坑
6.
找到原因了,wait fork需要放在fork循环外面。
7. defparam不能放在initial语句块里面。
8. backdoor读出的数据是前一拍的数据,
9. sequence中local的妙用
修改成下文后,xrun编译通过
10. 多bit数据拼接时,一定要写完整的位宽
修改成下面的样子,就符合预期了
11. 在testbench运行过程中,如何干掉sequence
https://zhuanlan.zhihu.com/p/413257343
怎么让vip的driver在检测到reset后,杀掉它的进程。
12. 如何在seqence中拿到uvm其他组件的句柄
调用p_sequencer的get_parent函数。
上图中,为什么要用$cast做类型转换?参考下面就一目了然了。
13. fopen函数中”w”不能大写,必须小写。
14. 如何学习amba总线
学axi/ahb/apb三个层次,第一个层次,自己看文档然后写个简单带amba口子的ram控制器,第二个层次,参与soc debug,其实就是把axi/ahb/apb那几根线拉出来,看明白a-master向b-slave读或者写了某个值,哪些axcache/axprot/axqos这些你先不管,需要的时候你自然就明白了,第三个层次,你可以参与ip设计,以axi/ahb/apb作为接口实现amba协议规定的那些特性。如果有做了几十年设计的大佬,总结总结几种套路,把特性和对应的rtl贴出来,也还行。一步一步来,千万不要死扣文档里面的每一句话。
第一个层次你可以去知乎,公众号找别人写的文章先看个一知半解就够了。
第三个层次嘛,如果有做了几十年设计的大佬,总结总结几种套路,把特性和对应的rtl贴出来,也还行
https://github.com/adki/gen_amba_2021这个人有个仓里面有很多ppt讲amba的我觉得还不错,是个韩国人
https://github.com/adki/AMBA_AXI_AHB_APB
15. 如何用 vcs 收集覆盖率时如何排除一些模块,只收部分模块的覆盖率
VCScoverage off/on 告诉VCS对此段代码进行仿真,但不统计覆盖率
还有 -hier的方式,把不想收集的模块去掉。
16. 华为内部的关于IC验证的经验总结
https://maimai.cn/article/detail?fid=1751511497&efid=qkIrLINVSS6fa0Uau1EmLQ
https://maimai.cn/article/detail?fid=1751511553&efid=RJNIqdgvpk0tb326HStR3A
17. 华为夏晶晶的文章
https://zhuanlan.zhihu.com/p/380400849
https://zhuanlan.zhihu.com/p/600264179
18. 夏core的知乎
https://www.zhihu.com/people/xia-jing-jing-57
最后,好好学习,天天向上。转自微信公众号《芯片验证日记》。感谢关注。