gpt4 book ai didi

vhdl - 组合模块的驱动模块输出

转载 作者:行者123 更新时间:2023-12-01 00:43:39 24 4
gpt4 key购买 nike

  1. 在 VHDL/Verilog 中使用组合逻辑来驱动模块的输出是一个好的设计实践吗?

  2. 是否可以直接在组合 block 内使用模块输入,并使用该组合 block 的输出来驱动同一模块中的另一个时序 block ?

最佳答案

这两个问题的答案实际上取决于整体设计方法和条件,并将基于意见,正如 Morgan 在他的评论中指出的那样。

这些问题与时间紧迫的大型设计特别相关限制,以及多位设计师贡献不同模块的地方。在在这种情况下,预先确定设计方法很重要回答这两个问题,以确保提供的模块不同的设计人员可以顺利集成,而不会出现时序问题。

在每个模块的所有输出上使用触发器进行设计,具有优势当输出用作其他模块的输入时,输入时序为合理定义好,只取决于路由延迟。这使得它a 对问题 1 是。

有一个合理的定义明确的输入时序可以使复杂的组合逻辑直接在输入端,因为大部分时钟周期将可用于此。因此,这也使问题 2 成为"is"。

采用上述 Yes/Yes 设计方法,可用周期时间仅为使用一次,即在模块的输入端,在触发器之前那继续输出。结果是多个模块会很好地点击像乐高积木一样拼在一起,如下图所示。

enter image description here

如果在不同的模块中没有遵循严格的设计方法,那么一些模块可能在输入端放置触发器,而一些在输出端放置触发器。 A更长的周期时间,因此更慢的频率,然后是必需的,因为最坏的case 路径经过组合逻辑深度的两倍。这样的设计如下图所示,应避免。

enter image description here

存在第三种选择,触发器被放置在所有输入上,并且如果两个不同的模块使用相同的设计将如下图所示输出。

enter image description here

这种方法的一个缺点是触发器的数量可能是更高,因为相同的输出被用作多个触发器的输入,并且综合工具可能不会组合这些等效的触发器。甚至更多如果生成输出的模块,则可能需要比这更多的触发器还必须制作一个翻转版本供内部使用,这通常是情况。

所以对问题的简短回答是:是和是。

关于vhdl - 组合模块的驱动模块输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22360402/

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