2017-09-14 174 views

回答

4

邮箱是围绕队列的内置类,它使用信号量来控制对队列末尾的访问。邮箱只有FIFO元素排序,而您可以访问队列的头部,尾部或中间元素。

当有多个线程读取和写入数据时,您通常使用邮箱,并且您需要信号量的原子测试和设置操作来了解邮箱满或空时的情况。如果只有一个进程正在读取和写入队列,则不需要使用邮箱。但是,如果有多个线程,则邮箱是一个便于使用的类。

在UVM中,我们使用TLM FIFO,它是邮箱的另一个包装。 TLM连接提供隔离接口,因此您不必知道端口另一端是什么。见https://verificationacademy.com/sessions/how-tlm-works