书接上文,上文细说了TLM通信,这节来说说通信管道,通信管道解决了下面两个问题:
问题1:TLM通信的实现方式,这些通信有一个共同的地方即都是端对端的同时在target一端需要实现传输方法,例如put()或者get()。这种方式在实际使用也可能会给用户带来一些烦恼,如何可以不自己实现这些传输方法,同时可以享受到TLM的好处?
问题2:对于monitor、coverage collector等组件在传输数据时,会存在端到多端的传输如何解决这一问题?
目录
TLM_FIFO
TLM FIFO uvm_tlm_fifo类是个新组件,它继承于uvm_component类,而且已经预先内置了多个端口以及实现了多个对应方法供用户使用。
注意:只有组件才能例化端口!!!
uvm_tlm_fifo的功能类似于mailbox,不同的地方在于uvm_tlm_fifo提供了各种端口供用户使用。
uvm_tlm_fifo提供了put、get、peek对应的端口: