2022-05-23 09:51:34 6.4MB UVM
1
18.2、模型的建立 454 如果发现错误,或有建议,请联系 zhangqiang1227@gmail.com 18.2. 模型的建立 18.2.1. 把 uvm_reg_field 加入到 uvm_reg 中 以例子来进行介绍当把 uvm_reg_field 加入到 uvm_reg 中时,系统内部都做了哪 些工作: class my_reg extends uvm_reg; rand uvm_reg_field data; virtual function void build(); data = uvm_reg_field::type_id::create("data"); // parameter: parent, size, lsb_pos, access, volatile, reset value, has_reset, is_rand, indivi dually accessible data.configure(this, 16, 0, "RW", 1, 0, 1, 1, 0); endfunction `uvm_object_utils(my_reg) function new(input string name="unnamed_my_reg"); //parameter: name, size, has_coverage super.new(name, 16, UVM_NO_COVERAGE); endfunction endclass 这个例子是前面中出现的一个例子,首先来看 new函数,调用了 uvm_reg的 new, 传入了三个参数,分别是 name,16 和 UVM_NO_COVERAGE。uvm_reg 的 new 函 数为: 文件:src/reg/uvm_reg.svh 类:uvm_reg 函数/任务:new 1151 function uvm_reg::new(string name="", int unsigned n_bits, int has_coverage); 1152 super.new(name); 1153 if (n_bits == 0) begin 1154 `uvm_error("RegModel", $sformatf("Register \"%s\" cannot have 0 bits", get_name ())); 1155 n_bits = 1; 1156 end 1157 m_n_bits = n_bits; 1158 m_has_cover = has_coverage; 1159 m_atomic = new(1); 1160 m_n_used_bits = 0; 1161 m_locked = 0; 1162 m_is_busy = 0; 1163 m_is_locked_by_field = 1'b0;
2022-05-21 11:18:47 4.72MB uvm
1
VSC使用手册
2022-05-20 13:49:00 9.53MB VCS UVM
1
DVT_SystemVerilog_Language_User_Guide.pdf, DVT IDE用户手册
2022-05-15 11:36:47 20.61MB DVT IDE SystemVerilo UVM
1
用于和questasim 10.2c win64 对应的DPI的C编译器
2022-05-06 15:00:58 28.58MB UVM questasim DPI GCC
1
VCS:registered:是一个高性能、高容量的Verilog:registered:模拟器,它将高级抽象验证技术集成到一个开放的本地平台中。 VCS是一个编译后的代码模拟器。 它使您能够分析、编译和模拟Verilog、SystemVerilog、OpenVera和SystemC设计描述。 它还提供了一组仿真和调试特性来验证您的设计。 这些特性提供了源代码级调试和仿真结果查看的功能。 VCS通过提供用于RTL功能验证的最快和最高容量的Verilog仿真来加速完成系统验证。
2022-05-05 10:26:03 7.55MB UVM/VCS SNPS
1
关于UVM几个机制的解释。 sequence机制 简单说明:sequence机制是为了独立出“生成transaction”的这部分操作而建立的机制。 特点:  支持多种uvm_do宏命令  有优先级仲裁机制,可以控制先后发送的顺序。  virtual sequence调度sequence发送的顺序。  寄存器模型内建检查读写功能的sequence。
2022-05-04 21:40:10 8.73MB 数字通信
1
UVM快速学习教程,适合入门级,内容详尽,通俗易懂。可作为参考资料
2022-05-04 16:44:39 1.03MB UVM
1
16.2、资源的写入 382 如果发现错误,或有建议,请联系 zhangqiang1227@gmail.com 数把 val 的值写入 rsrc 中。这样,rsrc 中就有了 val 的值,有了 scope 的值。143 行则 把 rsrc 写入到全局的 uvm_resource_pool 中。下面分别介绍 uvm_resource#(T)的 new 函数,write 函数和 set 函数。 16.2.2. uvm_resource#(T)的 new 函数 uvm_resource#(type T)的 new 函数的定义为: 文件:src/base/uvm_resource.svh 类:uvm_resource#(type T=int) 函数/任务:new 1403 function new(string name="", scope=""); 1404 super.new(name, scope); 1405 endfunction 这里仅仅只是调用了 uvm_resource_base 的 new 函数: 文件:src/base/uvm_resource.svh 类:uvm_resource_base 函数/任务:new 234 function new(string name = "", string s = "*"); 235 super.new(name); 236 set_scope(s); 237 modified = 0; 238 read_only = 0; 239 precedence = default_precedence; 240 if(uvm_has_wildcard(name)) 241 m_is_regex_name = 1; 242 endfunction 我们以一个例子来讲解这个 new 函数: uvm_resource_db#(int)::set(“a.b.c”, “blk_num”, 8); 236 行调用 set_scope 函数,传入的参数是”a.b.c”: 文件:src/base/uvm_resource.svh 类:uvm_resource_base 函数/任务:set_scope 390 function void set_scope(string s); 391 scope = uvm_glob_to_re(s); 392 endfunction
2022-04-11 10:28:03 4.72MB uvm
1
基于modelsim实现spi接口的uvm验证架构
2022-04-06 10:06:48 6.91MB 架构
1