请问,UVM中的port与export可否跨层相连?
时间:10-02
整理:3721RD
点击:
各位:
才开始学着使用UVM中的各种port,现在情况是这样,一个顶层tb中有两种env,比如apb_env和video_env。我需要把这两个env中driver的数据都送到reference model中去处理,因此,reference model应该是跟tb平级的组件。这样相连的话,对于这些port和export来说,都跨层了。我是否可以直接在test中写“tb0.apb0.master.driver.send_apb_port.connect(ref_model.send_apb_port)"?还是我需要一层一层,分别在apb_master_agent,apb_env上都加上该port,然后再逐层相连?
才开始学着使用UVM中的各种port,现在情况是这样,一个顶层tb中有两种env,比如apb_env和video_env。我需要把这两个env中driver的数据都送到reference model中去处理,因此,reference model应该是跟tb平级的组件。这样相连的话,对于这些port和export来说,都跨层了。我是否可以直接在test中写“tb0.apb0.master.driver.send_apb_port.connect(ref_model.send_apb_port)"?还是我需要一层一层,分别在apb_master_agent,apb_env上都加上该port,然后再逐层相连?
在test中就直接连吧。如果是在top env里,就最好不要直接使用driver里的方法和属性了
没有跨层连接过,一般都是top层下面的a.port.connect(b.export),a和b里面也都是一层一层连接起来的,用connect或者直接用=