【发布时间】:2018-11-04 19:54:50
【问题描述】:
我正在尝试在具有多个模块的硬件(ZedBoard)上实现算法。有一个顶级模块,我将在顶级模块中实例化所有这些多个模块。
大约有 9 到 10 个模块,其中 3 个必须同时运行,其余的必须顺序运行。
(我知道顶层模块中的所有模块都同时运行。这对于必须同时运行的 3 个模块来说是可以的,但是其他必须按顺序运行的模块呢???)还有(我来了要知道我们不能在 always 或 initial 块中实例化模块,这实际上没有意义)
- 有没有办法实例化模块,以便它们按顺序运行(就像一个接一个)????
- 另外,有没有办法实例化模块,以便它们有条件地运行????
- 这可以用系统生成器实现吗????
仅供参考:我使用的是 Verilog HDL,代码应该是可综合的
【问题讨论】:
-
我认为您应该使用您的术语(这可能是因为您将 HDL 视为一种标准计算机语言。)在 HDL 中,所有实例化代码同时运行。顺序和/或并行操作取决于您如何连接模块,或者更准确地说。您如何组织/连接数据路径。你可以有例如一个并行处理多个数据路径的模块。或者一个模块对一个数据流顺序执行多个操作。