摘要:资料来源 (1) 《The UVM Primer》第17章 1.uvm_put/get_port与uvm_tlm_fifo使用示例(blocking) 1.1 top.sv 1 module top; 2 import uvm_pkg::*; 3 `include "uvm_macros.svh"
阅读全文
摘要:资料来源 (1) 《The UVM Primer》第16章 1.top.sv 1 module top; 2 import uvm_pkg::*; 3 import tinyalu_pkg::*; 4 `include "tinyalu_macros.svh" 5 `include "uvm_mac
阅读全文
摘要:资料来源 (1) 《The UVM Primer》第15章 1.top.sv 1 module top; 2 import uvm_pkg::*; 3 `include "uvm_macros.svh" 4 import dice_pkg::*; 5 initial run_test("dice_t
阅读全文
摘要:资料来源 (1)sv绿皮书; (2)硅芯思见:【127】semaphore原来还有这一面 (qq.com) 1.旗语semphore简介 (1)semaphore是SystemVerilog中的内建类,主要用于实现多进程对于共享资源的协同访问控制。 (2)semaphore的基本操作:new(),g
阅读全文
摘要:资料来源 (1) UVM通信篇之六:同步通信元件(上) - 路科验证的日志 - EETOP 创芯网论坛 (原名:电子顶级开发网) - 1.uvm_barrier (1) UVM提供了一个新的类uvm_barrier用来对多个组件进行同步协调,同时为了解决组件独立运作的封闭性需要,也定义了新的类uvm
阅读全文
摘要: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
阅读全文
摘要:等效问题: 使用FIFO通信与直接使用uvm_analysis_ap和uvm_analysis_imp的区别? (1) 前者实现scoreboard的主动接收, scoreboard可以按照自己的节奏工作,而不必跟着monitor的节奏. (2) 使用FIFO通信,可以不必在scoreboard中再
阅读全文
摘要:注1:采用fifo,用户可以不用定义put/get/write等函数或任务; 1.uvm_tlm_analysis_fifo(参数化的类) (1) uvm_tlm_analysis_fifo中的*_export,虽然名字中有export,但是本质上都是IMP; (2) uvm_tlm_analysi
阅读全文
摘要:1.analysis端口(ap与imp) (1) analysis_port和analysis_export其实与put和get系列端口类似,都用于传递transaction; (2) 一个analysis_port/analysis_export可以和多个IMP相连进行通信,但是IMP的类型必须是
阅读全文
摘要:1.根据阻塞非阻塞,端口可分为uvm_blocking_*,uvm_nonblocking_*与uvm_*; (1) nonblocking端口的所有操作都是非阻塞的,换言之,必须用函数实现,而不能用任务实现; (2) uvm_blocking*只支持阻塞操作,uvm_nonblocking_*只支
阅读全文
摘要:参考资料: (1) UVM学习笔记--TLM通信_wonder_coole的博客-CSDN博客 1.TLM定义 transaction level modeling(事务级建模); 2.TLM操作(put/get/transport有阻塞和非阻塞之分) (1)put操作:通信的发起者A将一个tran
阅读全文
摘要:1.全局变量(以monitor与scoreboard的通信为例) 注1:class之外定义的变量称为全局变量(??); (1)在monitor中对此全局变量进行赋值,在scoreboard中检测此全局变量值的改变; (2)这种方法简单、直接,不过要避免使用全局变量,因为全局变量全局可见,出错后不易定
阅读全文
摘要:参考资料 (1) UVM通信篇之六:同步通信元件(上) - 路科验证的日志 - EETOP 创芯网论坛 (原名:电子顶级开发网) - (2) 《Practical UVM Step by Step with IEEE》 1.同步的方法 1.1 sv与uvm中同步的方法 (1) 在sv中,用于同步的方
阅读全文
摘要:参考资料 (1) 公众号-杰瑞IC验证; 1. 以sequencer/p_sequencer作为seq与其他uvc沟通的桥梁; 注:p_sequencer也是seq内调用agent中函数的桥梁,通过p_sequencer机制+get_parent()“两步跳跃法”,先获取到seq对应的sequenc
阅读全文