a = #5 b;
#5 a = b;
以上两种说法有什么不同吗?
RHS 上的
#
被称为作业内延迟。阅读 IEEE Std (1800-2009) 第 9.4.5 节“内部分配时序控制”中的区别。
作业内延迟或事件 控制应延迟分配 左侧的新值, 但是右边的表达式应该是 在延迟之前评估,而不是 延迟之后。
用这两个语句运行模拟,看看你观察到什么差异(如果有的话)。使用
$monitor
和$time
。
准确地说,第二条语句没有在阻塞分配的 LHS 上指定时间延迟。它以 procedural_timing_control 结构为前缀,它可以在任何类型的过程语句之前使用,而不仅仅是赋值语句。