gpt4 book ai didi

verilog - Verilog 指令是否是强制性的,例如时间尺度?

转载 作者:行者123 更新时间:2023-12-05 03:37:02 26 4
gpt4 key购买 nike

timescale 或任何其他指令在 Verilog (2001) 中是否是强制性的,或者它的使用是否属于约定或风格问题?例如,我通常使用 default_nettype none 在我的整个实现过程中强制执行显式网络声明。然而,Verilog 并不要求我这样做。

当涉及到timescale 时,我显然将其置于我的 HDL 测试平台的顶部。但为什么要在 IP 的每个模块中使用它呢?如果定义不一致,这是否会导致更多问题而不是阻止它们?

最佳答案

一般而言,Verilog 编译器指令不是强制性的。

对于 timescale,请参阅 IEEE Std 1800-2017,第 22.7 节 `timescale:

If there is no timescale specified or it has been reset by a `resetalldirective, the default time unit and precision are tool-specific.

这些指令在范围内是全局的,这意味着当编译器遇到一个指令时,它对所有随后编译的代码仍然有效(直到遇到另一个指令)。因此,无需向所有代码添加 timescale 指令。

但是,在实践中,如果编译的第一个模块(或多个模块)没有 timescale 指令但后续模块有,编译器会产生错误。这些模拟器还提供命令行选项来设置默认时间刻度以避免此错误。

关于verilog - Verilog 指令是否是强制性的,例如时间尺度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69470020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com