0
我無法理解,爲什麼我們更喜歡Mailbox over Queue進行進程間通信(例如:Driver和Scoreboard之間的通信)?Systemverilog郵箱和隊列
我無法理解,爲什麼我們更喜歡Mailbox over Queue進行進程間通信(例如:Driver和Scoreboard之間的通信)?Systemverilog郵箱和隊列
郵箱是圍繞隊列的內置類,它使用信號量來控制對隊列末尾的訪問。郵箱只有FIFO元素排序,而您可以訪問隊列的頭部,尾部或中間元素。
當有多個線程讀取和寫入數據時,您通常使用郵箱,並且您需要信號量的原子測試和設置操作來了解郵箱滿或空時的情況。如果只有一個進程正在讀取和寫入隊列,則不需要使用郵箱。但是,如果有多個線程,則郵箱是一個便於使用的類。
在UVM中,我們使用TLM FIFO,它是郵箱的另一個包裝。 TLM連接提供隔離接口,因此您不必知道端口另一端是什麼。見https://verificationacademy.com/sessions/how-tlm-works