System verilog systemverilog,如何处理重置?

System verilog systemverilog,如何处理重置?,system-verilog,uvm,System Verilog,Uvm,systemverilog信号量实际上是半生不熟的 在出现重置的情况下,我找不到任何方法来释放信号量,类似于uvm\u tlm\u fifo的.flush() 也没有方法知道有多少信号量被锁定 在UVM中是否有一些类似于UVM\u event的包装器可用于扩展基本信号量功能 人们建议我使用mailbox/tlm_fifo实现更多功能,但我找不到信号量的替代方法来分配超过1个keyCount 如果有人有任何建议,请告诉我 提前感谢。SystemVerilog的信号量和邮箱是基本的内置类,您可以根据

systemverilog
信号量实际上是半生不熟的

在出现
重置
的情况下,我找不到任何方法来释放信号量,类似于
uvm\u tlm\u fifo的
.flush()

也没有方法知道有多少信号量被锁定

UVM
中是否有一些类似于
UVM\u event
的包装器可用于扩展基本信号量功能

人们建议我使用mailbox/tlm_fifo实现更多功能,但我找不到信号量的替代方法来分配超过1个
keyCount

如果有人有任何建议,请告诉我


提前感谢。

SystemVerilog的信号量和邮箱是基本的内置类,您可以根据需要进行扩展。信号量提供了基本的钥匙锁定和解锁机制,但钥匙的管理由您决定



我的意思是,您可以扩展或封装信号量,以控制谁有权访问密钥以及使用了多少密钥。

只需删除与该信号量相关的所有旧线程,在其位置创建一个新信号量,然后忘记旧信号量。处理重置可能比清理旧的运行线程更容易