2021年11月16日

uvm通信-TLM源码分析(uvm_sqr_if_base,uvm_tlm_if_base,uvm_port_base)

摘要: 1.常见两类TLM端口 1.1用于driver和sequencer之间 1.2用于其他component之间 2.uvm_sqr_if_base (1) 这个类没有派生自任何类; (2) 类里面定义了如下几个task/function: get_next_item, try_next_item, i 阅读全文

posted @ 2021-11-16 20:59 知北游。。 阅读(336) 评论(0) 推荐(0) 编辑

uvm通信-uvc通信方式的选择(使用FIFO还是用IMP)

摘要: 等效问题: 使用FIFO通信与直接使用uvm_analysis_ap和uvm_analysis_imp的区别? (1) 前者实现scoreboard的主动接收, scoreboard可以按照自己的节奏工作,而不必跟着monitor的节奏. (2) 使用FIFO通信,可以不必在scoreboard中再 阅读全文

posted @ 2021-11-16 20:45 知北游。。 阅读(531) 评论(0) 推荐(0) 编辑

uvm通信-uvc通信方式三之uvm_tlm_fifo & uvm_tlm_analysis_fifo

摘要: 注1:采用fifo,用户可以不用定义put/get/write等函数或任务; 1.uvm_tlm_analysis_fifo(参数化的类) (1) uvm_tlm_analysis_fifo中的*_export,虽然名字中有export,但是本质上都是IMP; (2) uvm_tlm_analysi 阅读全文

posted @ 2021-11-16 20:18 知北游。。 阅读(4583) 评论(0) 推荐(1) 编辑

uvm通信-uvc通信方式二之analysis_port/export/imp

摘要: 1.analysis端口(ap与imp) (1) analysis_port和analysis_export其实与put和get系列端口类似,都用于传递transaction; (2) 一个analysis_port/analysis_export可以和多个IMP相连进行通信,但是IMP的类型必须是 阅读全文

posted @ 2021-11-16 20:17 知北游。。 阅读(3561) 评论(5) 推荐(0) 编辑

uvm通信-uvc通信方式一之blocking/nonblocking_get/put/transport_port/export/imp

摘要: 1.根据阻塞非阻塞,端口可分为uvm_blocking_*,uvm_nonblocking_*与uvm_*; (1) nonblocking端口的所有操作都是非阻塞的,换言之,必须用函数实现,而不能用任务实现; (2) uvm_blocking*只支持阻塞操作,uvm_nonblocking_*只支 阅读全文

posted @ 2021-11-16 19:36 知北游。。 阅读(2454) 评论(0) 推荐(0) 编辑

uvm通信-TLM机制与端口互连

摘要: 参考资料: (1) UVM学习笔记--TLM通信_wonder_coole的博客-CSDN博客 1.TLM定义 transaction level modeling(事务级建模); 2.TLM操作(put/get/transport有阻塞和非阻塞之分) (1)put操作:通信的发起者A将一个tran 阅读全文

posted @ 2021-11-16 19:08 知北游。。 阅读(532) 评论(0) 推荐(0) 编辑

uvm通信-UVC间可用的通信方法比较(以monitor和sb为例)

摘要: 1.全局变量(以monitor与scoreboard的通信为例) 注1:class之外定义的变量称为全局变量(??); (1)在monitor中对此全局变量进行赋值,在scoreboard中检测此全局变量值的改变; (2)这种方法简单、直接,不过要避免使用全局变量,因为全局变量全局可见,出错后不易定 阅读全文

posted @ 2021-11-16 18:55 知北游。。 阅读(565) 评论(0) 推荐(0) 编辑

篇5-uvm_component/uvm_sequence_item常用函数解读

摘要: 资料来源: (1)公众号-杰瑞IC验证; (2) uvm_class_references手册; 1.uvm_component相关函数 1.1.uvm_component中get_name()系列函数 (1) get_name()会打印出”u_jerry_so_cool”(实例名); (2) ge 阅读全文

posted @ 2021-11-16 17:24 知北游。。 阅读(569) 评论(0) 推荐(0) 编辑

篇4-多个uvm_agent情况的处理

摘要: 资料来源 (1) 公众号-杰瑞IC验证(https://mp.weixin.qq.com/s/jKTcfn70NjosjElQa4aFFw); 1.agent的完成、宏定义、以及顶层的连接(采用generate) 背景: RTL有多组相同信号接口,写1个agent,然后用该agent例化多个不同名字 阅读全文

posted @ 2021-11-16 17:03 知北游。。 阅读(794) 评论(0) 推荐(0) 编辑

[CU]uvm典型类/function/task-uvm_object & uvm_component

摘要: 1.uvm_object (1)几乎所有的类都继承自uvm_object,包括uvm_component. 2.uvm_component 注1:uvm_component具有parent-child关系的特点(层次创建与管理); 注2:uvm_component具有可以相互通信的特点(借助于tlm 阅读全文

posted @ 2021-11-16 15:36 知北游。。 阅读(563) 评论(0) 推荐(0) 编辑

uvm通信-uvm_event & uvm_event_pool & uvm_event_callback

摘要: 参考资料 (1) UVM通信篇之六:同步通信元件(上) - 路科验证的日志 - EETOP 创芯网论坛 (原名:电子顶级开发网) - (2) 《Practical UVM Step by Step with IEEE》 1.同步的方法 1.1 sv与uvm中同步的方法 (1) 在sv中,用于同步的方 阅读全文

posted @ 2021-11-16 15:07 知北游。。 阅读(3723) 评论(0) 推荐(0) 编辑

uvm通信-seq与uvc的交互/通信

摘要: 参考资料 (1) 公众号-杰瑞IC验证; 1. 以sequencer/p_sequencer作为seq与其他uvc沟通的桥梁; 注:p_sequencer也是seq内调用agent中函数的桥梁,通过p_sequencer机制+get_parent()“两步跳跃法”,先获取到seq对应的sequenc 阅读全文

posted @ 2021-11-16 14:37 知北游。。 阅读(1010) 评论(0) 推荐(0) 编辑

篇2-uvm tb的运转&run_test

摘要: 参考资料: (1) uvm中run_test | 骏的世界 (lujun.org.cn) (2) 从run_test浅谈Test Bench的启动 (qq.com) 1. run_test (1) run_test是uvm_globals.svh中定义的一个task,用于启动UVM. 2. 调用uv 阅读全文

posted @ 2021-11-16 12:55 知北游。。 阅读(1588) 评论(0) 推荐(1) 编辑

1-uvm_root, uvm_top, uvm_test_top

摘要: 参考资料 (1) UVM使用双顶层的用法 | 骏的世界 (lujun.org.cn) 1.UVM的根-uvm_root or uvm_test_top? (1) uvm_test_top实例化时的名字是uvm_test_top,这个名字是由UVM在run_test时自动指定的; (2) uvm_to 阅读全文

posted @ 2021-11-16 11:08 知北游。。 阅读(4768) 评论(1) 推荐(1) 编辑

[CU]objection机制1-objection的作用与特点,objection与phase/set_drain_time的联系,objection的控制与调试

摘要: 参考资料: (1) UVM——phase objection · 大专栏 (dazhuanlan.com) (2) 《UVM1.1应用指南及源代码分析》 (3) 《uvm user guide 1.2》chapter 3.11-Managing end of test; (4) 《uvm cookb 阅读全文

posted @ 2021-11-16 10:37 知北游。。 阅读(1771) 评论(0) 推荐(1) 编辑

field_automation机制1-field automation的功能及使用(该篇不涉及UVM源码)

摘要: 资料来源 (1) UVM实战-张强; 1.field automation机制常见宏(与常见变量/动态数组/静态数组/队列/关联数组相关宏) 1.1与常见变量相关的uvm_field系列宏 注1:该处的FLAG为UVM_ALL_ON等FLAG; 注2:上述宏分别用于要注册的字段是整数,实数,枚举类型 阅读全文

posted @ 2021-11-16 10:16 知北游。。 阅读(1566) 评论(0) 推荐(1) 编辑

导航