【发布时间】:2021-12-30 18:38:11
【问题描述】:
我在生成循环语句中使用了两个不同的模块,它们都是相互依赖的。所以,我想知道如何按顺序执行它们。
【问题讨论】:
我在生成循环语句中使用了两个不同的模块,它们都是相互依赖的。所以,我想知道如何按顺序执行它们。
【问题讨论】:
Verilog 描述了硬件的行为。硬件是一组连接的设备,它们都并行运行。但是,连接保证最终(需要一些时间)设备的输出将传播到驱动设备的输入,驱动设备的输出将相应更新,并驱动它们的扇出设备。
Verilog 通过使用事件驱动模拟来模拟这种行为。如果设备的输出发生变化,它将评估(或重新评估)由该输出驱动的设备。
Synthesis 根据 verilog 描述生成那些连接的硬件设备。
因此,无论您以何种顺序实例化模块,评估顺序仅由它们的连接定义。模块是否在生成块中并不重要。只需确保它们连接正确即可。
【讨论】: