LHS 或 RHS 指定的时间延迟有什么区别?

问题描述 投票:0回答:2
a = #5 b;
#5 a = b;

以上两种说法有什么不同吗?

verilog system-verilog
2个回答
5
投票

RHS 上的

#
被称为作业内延迟。阅读 IEEE Std (1800-2009) 第 9.4.5 节“内部分配时序控制”中的区别。

作业内延迟或事件 控制应延迟分配 左侧的新值, 但是右边的表达式应该是 在延迟之前评估,而不是 延迟之后。

用这两个语句运行模拟,看看你观察到什么差异(如果有的话)。使用

$monitor
$time


1
投票

准确地说,第二条语句没有在阻塞分配的 LHS 上指定时间延迟。它以 procedural_timing_control 结构为前缀,它可以在任何类型的过程语句之前使用,而不仅仅是赋值语句。

© www.soinside.com 2019 - 2024. All rights reserved.