
UVM学习记录
自学记录
zhuangzhunag
路虽远行则将至,事虽难做则必成。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sv代码中typedef class ***;的含义
解决循环依赖:当两个类需要相互引用时(例如类A中有类B的成员,类B中又有类A的成员),前向声明可以打破这种循环依赖。提前声明类类型:告诉编译器 ctrl_trans 是一个类类型,但此时还不定义它的具体内容。在 UVM 等验证方法学中,这种前向声明常用于事务(transaction)类的定义中。前向声明后,在正式定义该类之前,你只能使用该类型的指针或引用,不能实例化对象或访问成员。// 这里需要使用ctrl_trans类型。允许使用不完整类型:在正式定义该类之前,可以先用这个类型名声明指针或引用。原创 2025-07-01 23:58:58 · 158 阅读 · 0 评论 -
UVM:UVM 中RAL的应用
RegisterAbstractionLayer:寄存器抽象层。原创 2025-01-18 09:05:20 · 187 阅读 · 0 评论 -
UVM RAL Register Abstraction Layer:寄存器抽象层
topic没有RAL的TB有RAL的TBRAL介绍summary原创 2025-01-12 22:22:00 · 289 阅读 · 0 评论 -
UVM :uvm virtual sequence and sequencer
原创 2025-01-12 19:56:56 · 122 阅读 · 0 评论 -
UVM:uvm component phase
原创 2025-01-12 19:55:29 · 91 阅读 · 0 评论 -
UVM:callback
步骤四:集成拓展uvm callback的类到环境。步骤一:组件中嵌入callback的方法。步骤二:创建uvm callback的类。步骤三:拓展uvm callback的类。原创 2025-01-12 19:53:35 · 203 阅读 · 0 评论 -
UVM: scoreboard and function coverage
topicscoreboardfunction coverage原创 2025-01-09 22:31:45 · 286 阅读 · 0 评论 -
UVM: TLM机制
整个TLM机制下,底层逻辑离不开动作发起者和被动接受者这个底层的模型基础,但实际上,在验证环境中,任何一个组件,都有可能成为动作的发起者,都有可能主动发起命令,且只有掌握主动权,才能更灵活的控制数据的流通,因此TLM机制下,实际用的最多的组件,也就是基于FIFO的数据通信。原创 2025-01-08 22:59:21 · 470 阅读 · 0 评论 -
UVM:uvm_component methods configure
topicUVM component base classuvm_config_db建议使用uvm_config_db代替uvm_resource_dbuvm factorysv interface建议:uvm_config_db以下了解建议打印error原创 2025-01-07 23:17:59 · 258 阅读 · 0 评论 -
UVM: uvm_sequence
topcicsequence overviewsequence excution flowsequence class callbackssequencer driver communication原创 2025-01-07 22:12:24 · 276 阅读 · 0 评论 -
UVM :uvm_sequence_item property and methods
Set_type_override:同类型替换Set_inst_override:同例化替换。原创 2025-01-05 22:36:25 · 285 阅读 · 0 评论 -
I2C协议和验证平台
interface不可以在class中使用,需要使用的话那必须加virtual。只需要例化,不需要new()和create()。原创 2025-01-05 17:03:25 · 286 阅读 · 0 评论 -
UVM:testbench architecture
Uvm_info中小于verbosity数值的信息打印出来。原创 2025-01-02 22:50:49 · 296 阅读 · 0 评论 -
UVM :components介绍
原创 2024-12-30 22:01:40 · 92 阅读 · 0 评论 -
UVM:OOP
class需要new实现空间分配。$cast(): 强制类型转换https://blog.csdn.net/qrqdl/article/details/143976920?spm=1001.2014.3001.5502原创 2024-12-29 23:40:35 · 199 阅读 · 0 评论 -
systemverilog语法:assertion property
递归很少用, recursive多时钟检查并发断言, concurrent assertionassert assumecover原创 2024-12-29 21:51:05 · 264 阅读 · 0 评论 -
systemverilog语法:assertion sequence
下面为序列中连续重复的简写。原创 2024-12-29 21:15:06 · 221 阅读 · 0 评论 -
systemverilog语法:assertion summary
ended表示sequence执行结束。原创 2024-12-28 21:50:19 · 301 阅读 · 0 评论 -
systemverilog语法:coverage
示例如下:1个covergroup可以包含一个或多个coverpoint, 每个coverpoint中的bins可以显示的定义或者工具自动生成。例如,coverpoint 为[1:0]a, 那么bins就是0,1,2,3。原创 2024-12-28 11:28:11 · 242 阅读 · 0 评论 -
virtual function的使用原则
建议后续函数一般都定义为virtual function,便于后期再子类中进行修改。下面的代码会调用哪一个function?原创 2024-12-28 09:55:08 · 142 阅读 · 0 评论 -
sv中基于mailbox的分层验证实例
知识点1:Makefile吃文件的顺序需要注意:从底层到顶层,否则会导致编译顶层时不认识里面例化的class。知识点2:编译的文件较多时,可以采用files.f的格式,具体如下图所示:知识点3:include相当于文件展开在此,此时可能导致重复定义的错误。原创 2024-12-28 09:28:36 · 234 阅读 · 0 评论 -
systemverilog语法:interprocess communication
不同Initial begin…end在同一时刻执行。@需要在event事件触发之前等待,边沿阻塞。以上代码存在问题,若第一个begin…end执行快,则输出右边代码,否则与右边不一致,存在竞争很冒险。上图中:0时刻的边沿变化变为电平期待一串事件发生用下图上图T1阻塞,原来的E2已经丢失常用做法如下图:event重新定义。原创 2024-12-26 22:53:28 · 243 阅读 · 0 评论 -
systemverilog语法:threads
begin…end 顺序执行fork…join 并行执行。原创 2024-12-25 22:59:38 · 238 阅读 · 0 评论 -
systemverilog语法:randomization
关键字: rand randc随机生效的方式:调用randomize约束:权重:=与:/的区别条件约束约束求解约束求解时存在顺序。原创 2024-12-24 22:14:21 · 190 阅读 · 0 评论 -
systemverilog语法:OOP(object oriented programming)
OOP的创建object和handle是通过new()实现的。面向对象和面向过程的区别:原创 2024-12-23 22:05:23 · 203 阅读 · 0 评论 -
systemverilog语法:procedural statements , task andfunction
自增和自减强制类型转换大小转换符号转换for循环:在SV中运行内部定义局部变量do…while循环至少执行一次(注意while循环可以执行0次)case语句。原创 2024-12-22 21:17:55 · 171 阅读 · 0 评论 -
systemverilog语法:data type
记录学习的systemverilog中的数据类型,主要包含以下几种:sv中的logic是verilog中reg和wire的替代。原创 2024-12-22 18:04:27 · 208 阅读 · 0 评论 -
systemverilog语法:interface和program
第一步:定义interface第二部:例化interface下图为上图的补充:整个testbench environmet - top block第一步:定义一个interface,这里定义了3个。第二步:查看dut的端口信号第三步:构建顶层top利用questa编译通过。原创 2024-12-20 23:28:15 · 369 阅读 · 0 评论