微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > verilog模块内部寄存器初始化

verilog模块内部寄存器初始化

时间:10-02 整理:3721RD 点击:
在搭UVM环境过程中碰到一个问题:逻辑层次:顶层A包含B的两个实例化B1和B2,模块B包含C的实例化C1,C1有多个内部寄存器([63:0]reg0、reg1、reg2),在初始化完成后,想设置这个寄存器的值,除了用force+绝对路径的方式,采用interface方式,应该怎么用?
有搜索到相关的例子:
interface whitebox_if(input logic some_signal,input logic some_other_signal);endinterface// somewhere in your top levelbind dut whitebox_if wb_if;initialuvm_config_db #(whitebox_if)::set(null, "*", dut.wb_if);
通过看手册也没看太明白上述代码的工作方式。
哪位大咖熟悉这方面的,解解惑。

是不理解config_db机制还是不知道interface如何驱动dut内部信号?

若只是想給 register 固定的 initial value, 用 systemverilog 中 bind 的功能, 比較容易.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top