2017-04-07 186 views
1

systemverilog semaphore真的是半熟。systemverilog,如何处理重置?

我找不到任何方式来释放信号量在reset的情况下,像.flush()uvm_tlm_fifo

还有没有办法知道有多少信号量被锁定?

有一些在UVM东西可以像包装纸uvm_event延伸的基本信号的功能?

人建议我用邮箱/ tlm_fifo实现更多的功能,但我无法找到一个替代的信号量分配超过1 keyCount

如果有人有任何建议,请让我知道。

在此先感谢。

回答

2

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


我的意思是,你可以扩展或封装的信号来控制谁有权访问的按键和多少个键都在使用。

1

只要杀死所有与该信号灯相关的旧线程,在其位置创建一个新的信号灯并忘记旧信号灯。这可能是一个更简单的方法来处理重置,而不是尝试清理旧的正在运行的线程。