我一直在阅读UVM: illegal combination of driver and procedural assignment warning和附在答案中的纸张。 如何在复位时初始化时钟块信号
但是,驱动程序被用来驱动接口信号而不是时钟信号的复位值,所以时钟不能保证在复位时运行。
那么如果接口信号被声明为导线,我该如何解决这种情况。
例如, 考虑链接问题中的代码。一般的情况是
@(vif.cb);
vif.cb.opcode <= value;
这是正确的,即使操作码声明接口事业时钟拦网会照顾分配正确的。但我不能说
@(vif.rst);
vif.cb.opcode <= init_value;
因为我不能保证复位时钟。为了适应这一点,我必须改变时钟发生策略。
无论是我可以说
vif.opcode <= init_value;
导致其非法使用与网式信号
程序分配另一种方法是门控宣布为网带复位信号,但我认为,我将有在界面中声明临时信号。任何人都可以详细说明如何在重置时实现驱动网络?
恐怕你必须在这里更具体。显示导致您问题的代码。 –
我希望现在的问题能够正确阐述,请告知我是否应该添加更多详细信息,谢谢 – wisemonkey