数字IC验证
文章平均质量分 82
sv,uvm,sva,vcs
happy_daydayup
数字IC验证工程师菜鸟一枚
展开
-
验证经验乱记
调试:波形代码不匹配问题:1.波形和代码版本不匹配,尝试shift+L重载,检查sim log是否新生成了波形。2.多驱动问题,可能是force了信号,或者一个 信号通过接口连接了多驱动(这个问题比较隐蔽),可通过观察drivern显示的驱动检查是否有多驱动问题。双击信号跳到的地方不一定是其真正的驱动处。代码结果和预期不符问题:1.可能运算符优先级的问题,比如1+x?y:z,其中,+优先级最高,?:优先级最低;a&&b==c,其中==优先级高,&&优.原创 2022-06-21 10:14:01 · 4144 阅读 · 1 评论 -
ubuntu18安装vcs2018+verdi2016
1.更新镜像源sudo gvim /etc/apt/sources.list#add following sentence:deb http://mirrors.ustc.edu.cn/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.ustc.edu.cn/ubuntu/ trusty-security main restricted universe multiversedeb https://mir原创 2021-05-23 21:39:08 · 1871 阅读 · 1 评论 -
VCS+Verdi进行testbench调试
背景:在进行testbench调试时,使用消息打印或者单纯的ucli进行调试效率较低,利用Verdi进行图形化界面调试可以提升效率。方法:编译选项:-kdb仿真选项:-verditips:watch:在开始仿真时,会进入到verdi界面。在仿真暂停时,可以在左上角的导航栏切换到class标签(或者第一个标签,包含dut top),在搜索栏结合*搜索关注的class,如*refm*,class下面有此class的instance,点到instance,右边会显示member,class原创 2021-05-04 20:58:45 · 2905 阅读 · 0 评论 -
基于VCS使用VPI+PLI/DPI在verilog中调用C程序进行cover property驱动的仿真控制
本文介绍一种在verilog中,运用PLI机制调用C程序的方法,其中的C程序,可以接受传参,且可以有返回值,仿真器选择的VCS。编写C程序 #include <stdio.h>//#include "vpi_user.h"//使用PLI有两种机制:TF/ACC机制,或者VPI机制void hello_calltf(int user_data, int reason){ int var,result; var = tf_getp(1);//取$hello调用时的第原创 2021-04-12 22:48:50 · 3954 阅读 · 0 评论 -
UVM糖果爱好者教程 - 4.代理
本文转载自https://blog.csdn.net/zhajio/article/details/79612388,感谢原作者。上一篇文章集中讨论了jelly-bean系统的transaction和sequence。本文将深入解释验证环境中的验证组件。interface在这一部分,将提供接口(jelly_bean_if)的一般解释及其绑定验证组件和jelly-bean(DUT...原创 2020-04-11 22:33:45 · 299 阅读 · 0 评论 -
UVM糖果爱好者教程 - 5.验证环境
本文转载自https://blog.csdn.net/zhajio/article/details/79638865,感谢原作者。做了注解方便自己学习。Subscribers功能覆盖率收集器(jelly_bean_fc_sucbscriber)将生成的jelly beans视为计数器。从monitor发送的jelly_bean_transaction通过21行上的write函数的s...原创 2020-04-11 21:59:05 · 648 阅读 · 0 评论 -
SVA
测试平台主要用于产生激励,校验数据,覆盖测试计划(验证计划);SVA主要用于协议检验和协议覆盖,相较于Verilog,更适合处理时序相关的检测。断言分并发断言和及时断言,并发断言基于时钟周期,及时断言基于事件,类似于时序逻辑和组合逻辑的关系:a1: assert property(@(posedge clk) not(a&&b));//并发断言,始终上升沿时断言al...原创 2020-03-09 21:41:37 · 1546 阅读 · 0 评论