- 博客(29)
- 收藏
- 关注
原创 SV与C语言在验证环境中的交互
sv中义引入了直接编程接口dpi(direct programming interface),他能更简单的连接C,C++,或者其他非verilog语言。一旦声明或者使用import语句导入了一个C子程序,就可以调用它。C代码也可以很方便的调用verilog中的子程序。应用场景主要体现在:(1)我们知道,在模块级乃至子系统级的验证,使用SV就完全够用了,而在更上面的层级,例如系统级,多采用大量的C代码组成。
2023-12-20 13:38:45
1533
原创 sequence机制仲裁
如下面的这段代码指定了sequence0的优先级为100,sequence1的优先级为200,sequence1的优先级高于sequence0的优先级,同事设定了sequencer采用优先级仲裁机制,这样则会将sequence1的transcation都发送完成后再发送sequence0的transaction。对sequence设置优先级的本质即设置其内产生的transaction的优先级。uvm_do_pri与uvm_do_pri_with的第二个参数是优先级, 这个数值必须是一个大于等于-1的整数。
2023-11-17 09:51:40
174
原创 基于uvm方法学的AHB_SRAMC验证环境搭建全过程(含testbench结构,核心组件代码)
AHB_SRAMC验证环境搭建全过程(含testbench结构,核心组件代码)
2023-11-14 16:42:40
2988
4
原创 sv中句柄复制,浅拷贝深拷贝详解以及clone函数
今天在写验证环境的时候碰到一处自定义的copy函数,对其中的transaction哪里需要初始化理解出现偏差,因此查看整理了sv中关于对象得赋值以及copy的各种操作,总结如下。类在声明时只是指定了一个指针句柄给变量,因此此时没有实体对象,当句柄指向另一个句柄指向的对象时,便构成了句柄复制,此时并未创建实体对象,举例代码如下。深拷贝时,不仅仅会拷贝当前对象的成员变量,还会拷贝实例中的句柄的对象内容,即进行。注意:类的多态,父类和子类同名函数必须保持(函数名一致,参数类型一致,返回类型一致)。
2023-09-13 16:39:39
2521
原创 UART项目验证(二) 验证策略和验证点提取
1、理解dut2、制定验证策略方法3、提取验证点(feature list)-》testcase list4、搭建验证平台(1、验证框架图2、验证环境代码);sanity case5、执行验证写testcase跑仿真+regression(1、大批量仿真(rtl_freeze前)收集覆盖率(前提是仿真pass)、分析覆盖率+补充case 2、后仿netlist(rtl_freeze后))验证策略:白盒测试(已知内部代码和结构)验证方法:随机测试(分析覆盖率)+定向测试code coverage:line/c
2022-06-23 20:34:46
6598
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人