@qinian
2020-07-26T23:08:38.000000Z
字数 639
阅读 681
uvm
interface定义
interface的连接:
定义的interface信号,在top中跟dut信号相连。
uvm_config_db#(virtual my_if)::set(this,"env.agent.driver","vif",input_if)
,传参类型是virtual my_if
类型,传参要指定传参的路径,this
表示当前的模块,路径是uvm_top.env.agent.driver
,传参具体对象是在该模块下vif
,vif
的类型跟input_if
一样,传入input_if
uvm_config_db#(virtual my_if)::get(this, "", "vif", vif)
,收参不需要地址,收到的参数"vif",放到本地设置vif中。上面传的是interface类型的参数,如何传递int
型的参数?
例如:uvm_config_db#(int)::set(this,"env.agent.driver","tests",10)
,要将int型的10传入到env.agent.driver下的变量test中,当然这个变量也是int型的
那么在driver中如何接收?
uvm_config_db#(int)::get(null,"","tests",test)
,将接受的变量传入到driver中定义的test中,完成对该变量的接收。