微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 关于port和export及imp的问题

关于port和export及imp的问题

时间:10-02 整理:3721RD 点击:
以blocking的get操作为例:A为port ,B为export,C为imp
A连接B,B连接C
当A发起get操作时,数据要从C流向B再流向A。此时只能通过在C中实现一个get函数,在A发起get操作时C自动调用get函数把数据传递给B再传递给A。
A在执行get操作时应该有两种情况:能get到数据,不能get到数据。但是A发起get操作会自动执行C的get函数,又怎么会get不到数据呢?
例:driver在什么时候才get不到sequencer中的数据呢?或者换句话说sequencer是怎么把数据send出去的呢?

板凳~

uvm的接口真是绕人呀,能简化下就好了,我一般用fifo方式隔离。而且a和b,b和c打交道就好,不要链太长。
driver只是被动等待get,具体发起是根据sequence,没有sequence就不会get了。具体可以看下uvm底层sequence代码。

driver收到数据后,要返回item_done到sequencer,sequencer收到后才发送下一个数据。否则不发。

嗯,用fifo隔离是个好主意,FIFO的一段可以实现write,另一端实现get操作。

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

网站地图

Top