RTL模拟vs Delta循环模拟



谁能详细说明"RTL模拟比delta周期模拟快,但不能在所有情况下使用"?我不知道什么是δ循环模拟

在Verilog仿真中,delta周期是模拟器用来计算下一个值的周期。

当进入组合部分时,模拟器将使用许多增量周期来解析答案所需的依赖项。如果你的组合循环没有被触发器打破,那么模拟器可能会被卡住,不断重复循环,试图解决依赖关系,这是不可能的,因为循环。如果你得到一个只是挂起的模拟,这通常是原因。

非阻塞赋值(<=)通过解析右侧的值(可能有许多δ循环)来利用δ循环,然后一个δ循环将这些值赋给左侧。

a<=b;
b<=a;

在上面的简单情况下,b和a被复制到临时位置(考虑next_a next_b)。然后一个循环之后,a赋值给next_a, b赋值给next_b。

还有其他的ZERO-Time构造,它们不使用通常在测试台中用于建模的delta循环。我没有这些经验,希望能有其他的答案来描述它们的用法。

最新更新