前提:
gen.sv与driver.sv通过mailbox来传递一些参数或变量,gen.sv与driver.sv在test.sv中实现互连。
第一种
gen.sv中
gen.new(mbx)
this.mbx=mbx
driver.sv中
driver.new(mbx)
this.mbx=mbx
test.sv中
mbx=new()
gen=new(mbx)
drv=new(mbx)
第二种
gen.sv中
gen.new()
this.mbx=new()
driver.sv中
driver.new(mbx)
this.mbx=mbx
test.sv中
gen=new()
drv=new(gen.mbx)
第三种
gen.sv中
gen.new(mbx)
this.mbx=mbx
driver.sv中
driver.new(mbx=null)
if(mbx=-null) mbx=new()
this.mbx=mbx
test.sv中
drv=new()
gen=new(drv.mbx)
这里顺序很重要,drv=new()在前,gen=new(mbx)在后,这样gen输出的mbx给driver用
总结
综合三种情况,就是看mbx=new()出现在哪里,其在哪定义,driver与gen就去哪里调用mbx。