为什么即使对于一些简单的任务,也要在Verilog中设置延迟?

为什么即使对于一些简单的任务,也要在Verilog中设置延迟?,verilog,Verilog,我发现在一些Verilog源代码中通常会有很多延迟,即使是在一些简单的语句中,比如下面。推迟的根本原因是什么 cmd <= #`DEL 32`b0 cmd它通常用于门级模拟,您关心信号通过数字逻辑传播所需的时间,以便跟踪设计中的时序问题 为了为每个操作/语句选择正确的值,您需要有关目标设备的计时信息,通常来自数据表或实验室测量 如果您不知道或无法访问此信息,则可能不需要模型中的此详细级别。使用实际值以外的任何东西可能会适得其反,因为在寻找时序问题时,最终会出现误报和误报。通常是在门级模拟

我发现在一些Verilog源代码中通常会有很多延迟,即使是在一些简单的语句中,比如下面。推迟的根本原因是什么

cmd <= #`DEL 32`b0

cmd它通常用于门级模拟,您关心信号通过数字逻辑传播所需的时间,以便跟踪设计中的时序问题

为了为每个操作/语句选择正确的值,您需要有关目标设备的计时信息,通常来自数据表或实验室测量


如果您不知道或无法访问此信息,则可能不需要模型中的此详细级别。使用实际值以外的任何东西可能会适得其反,因为在寻找时序问题时,最终会出现误报和误报。

通常是在门级模拟中,为了跟踪设计中的时序问题,您关心信号通过数字逻辑传播所需的时间

为了为每个操作/语句选择正确的值,您需要有关目标设备的计时信息,通常来自数据表或实验室测量


如果您不知道或无法访问此信息,则可能不需要模型中的此详细级别。使用实际值以外的任何东西可能会适得其反,因为在查找计时问题时,最终会出现误报和误报。

对于门级验证,我希望用于合成的库已被描述,并在基本级组件中添加了适当的延迟。在模拟中使用它代替RTL。在Verilog中,应该没有必要向RTL添加这样的延迟


延迟可以添加到测试台组件中,以模拟片外延迟和接口,或不同合成部分之间的延迟。要计算正确的延迟,需要了解最终布局、轨道长度等。外部接口将指定最大和最小延迟。

对于门级验证,我希望用于合成的库已被描述,并将适当的延迟添加到基本级组件中。在模拟中使用它代替RTL。在Verilog中,应该没有必要向RTL添加这样的延迟


延迟可以添加到测试台组件中,以模拟片外延迟和接口,或不同合成部分之间的延迟。要计算正确的延迟,需要了解最终布局、轨道长度等。外部接口将指定最大和最小延迟。

您的代码不是VHDL或我知道的任何其他语言。它大概应该是Verilog。在正常使用中,两种语言中都不需要进行大量的手动延迟规范,延迟的源代码是由编写所需延迟的工具自动生成的(但通常不会有这样的延迟)。不过,在较旧的Verilog源代码中,您经常会看到大量的“#0”延迟规范,因为调度模型在历史上被破坏了。

您的代码不是VHDL,也不是我所知道的任何其他语言。它大概应该是Verilog。在正常使用中,两种语言中都不需要进行大量的手动延迟规范,延迟的源代码是由编写所需延迟的工具自动生成的(但通常不会有这样的延迟)。不过,在较旧的Verilog源代码中,您经常会看到大量的“0”延迟规范,因为调度模型在历史上被打破。

通常用于门级模拟,您关心信号通过数字逻辑传播所需的时间,以便跟踪设计中的时序问题。这就是你要问的吗?@godel9这是有道理的。那么对于门级模拟,如何为每个操作/语句选择正确的值?通常是门级模拟,在门级模拟中,您关心信号通过数字逻辑传播所需的时间,以便跟踪设计的计时问题。这就是你要问的吗?@godel9这是有道理的。那么对于门级模拟,如何为每个操作/语句选择正确的值?