System verilog Systemverilog邮箱和队列

System verilog Systemverilog邮箱和队列,system-verilog,System Verilog,我不明白,为什么我们更喜欢邮箱而不是队列进行进程间通信(例如:驱动程序和记分板之间的通信) 邮箱是队列周围的内置类,它使用信号量控制对队列末端的访问。邮箱仅具有FIFO元素顺序,而您可以访问队列的头、尾或中间元素 当有多个线程读取和写入数据,并且需要信号量的原子测试和设置操作来知道邮箱是满的还是空的时,通常使用邮箱。如果只有一个进程读取和写入队列,则无需使用邮箱。但是,如果有多个线程,则可以方便地使用mailbox类 在UVM中,我们使用TLM FIFO,它是邮箱的另一个包装器。TLM连接提供了

我不明白,为什么我们更喜欢邮箱而不是队列进行进程间通信(例如:驱动程序和记分板之间的通信)

邮箱是队列周围的内置类,它使用信号量控制对队列末端的访问。邮箱仅具有FIFO元素顺序,而您可以访问队列的头、尾或中间元素

当有多个线程读取和写入数据,并且需要信号量的原子测试和设置操作来知道邮箱是满的还是空的时,通常使用邮箱。如果只有一个进程读取和写入队列,则无需使用邮箱。但是,如果有多个线程,则可以方便地使用mailbox类


在UVM中,我们使用TLM FIFO,它是邮箱的另一个包装器。TLM连接提供了一个隔离接口,因此您不必知道端口的另一端有什么。请参见

邮箱是队列周围的内置类,它使用信号量控制对队列末端的访问。邮箱仅具有FIFO元素顺序,而您可以访问队列的头、尾或中间元素

当有多个线程读取和写入数据,并且需要信号量的原子测试和设置操作来知道邮箱是满的还是空的时,通常使用邮箱。如果只有一个进程读取和写入队列,则无需使用邮箱。但是,如果有多个线程,则可以方便地使用mailbox类

在UVM中,我们使用TLM FIFO,它是邮箱的另一个包装器。TLM连接提供了一个隔离接口,因此您不必知道端口的另一端有什么。看