UVM中的analysis port和port在通信方式、操作方式和用途上有着不同
analysis_port | port |
广播者模式,一对多 | 一对一 |
没有阻塞和非阻塞之分 | 有阻塞和非阻塞之分 |
put,try_put,can_put get,try_get,can_get peek,try_peek,can_peek ....多种操作 | 只有write一种操作 |
一个analysis_port (analysis_export)可以连接多个IMP,采取的是“push”模式,唯一的数据操作就是write,只负责把数据广播出去
而port系列为一对一连接,但功能更加丰富,uvm提供了更多的数据操作方法,可以实现put,get,peek等不同的操作,且有阻塞和非阻塞之分,阻塞端口方法类型为task,可以实现事件等待和延时
对于analysis_port和port在使用上的区分:
如果analysis_port系列可以满足自己的功能要求,analysis_port使用起来会更加方便,可以优先使用;如果需要更加复杂的操作如阻塞操作,则考虑port系列
其他
- 关于本文,您有什么想法均可在评论区留言交流。
- 自身能力不足,如有错误还请多多指出!