gpt4 book ai didi

verilog - 如何实现超过一个时钟周期的时序逻辑?

转载 作者:行者123 更新时间:2023-12-02 16:09:11 25 4
gpt4 key购买 nike

我有一个连续的 Verilog 代码,在每次增量 i 时,都必须发生不同的事情。

对于某些i,不存在计时错误。但是,对于不同的 i 值,我会遇到计时错误(如果省略这些特定过程,则不会出现计时错误)。

我想知道 Verilog 中是否有一种方法可以允许组合逻辑占用两个时钟周期而不是一个。两个时钟周期应该足以完成这些过程,尽管我认为我以前从未见过这样的事情。

谢谢!

最佳答案

您正在寻找的称为“多循环路径”。需要多个时钟周期才能完成的逻辑路径(锥体)。

您可以使用时序约束来定义这样的路径,但是!!!
使用多循环路径存在许多陷阱。我无法告诉他们全部,因为这需要太长时间,但就您而言,存在额外的危险,因为您似乎有时使用相同的路径作为单周期,有时作为多周期。

如果您将路径定义为多周期,综合工具将优化您的逻辑以适应该多周期路径,然后停止优化。时序很可能不再优化到足以在“单个周期”内完成。

例如:您的时钟是100MHz,并且您不使用多周期路径约束。综合工具将尝试获得最佳时序并实现 12ns 延迟。你的时机将会失败。

现在您使用指定 2 个周期的多周期路径约束。综合工具将尝试获得最佳时序,并在某个时刻实现 19ns 延迟。这已经足够了,所以它就停止了。但现在,对于“单周期”的情况,时序很可能不再优化到足以在 10 纳秒内完成。

关于verilog - 如何实现超过一个时钟周期的时序逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57263586/

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