模型的建立-openmodelica用户手册

上传者: 26717681 | 上传时间: 2022-05-21 11:18:47 | 文件大小: 4.72MB | 文件类型: PDF
uvm
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;

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明