Vivado 时钟实现错误 SystemVerilog

Vivado Clock Implementation error SystemVerilog

我收到以下实施错误。我的设计中没有时钟。我该如何解决这个问题?

实施 场所设计 [放置 30-574] IO 引脚和 BUFG 之间的路由放置不当。如果此次优条件对于此设计是可接受的,您可以使用 .xdc 文件中的 CLOCK_DEDICATED_ROUTE 约束将此消息降级为警告。但是,强烈建议不要使用此覆盖。可以在 .xdc 文件中直接使用这些示例来覆盖此时钟规则。 < set_property CLOCK_DEDICATED_ROUTE 错误 [get_nets en_IBUF] >

en_IBUF_inst (IBUF.O) is locked to IOB_X0Y11
 and en_IBUF_BUFG_inst (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y0

[放置 30-99] 放置器因错误而失败:'IO Clock Placer failed' 请在放置期间查看所有 ERROR、CRITICAL WARNING 和 WARNING 消息,以了解失败的原因。

[Common 17-69] 命令失败:Placer 无法放置所有实例

您似乎正试图在设计中使用不支持全局时钟的引脚作为时钟。我不确定 "I have not clocks in my design" 是什么意思,请注意,即使您的设计是异步的,我相信 Vivado 也会使用时钟资源来启用锁存器 - 或者您可能确实有时钟(这将是任何 always @(posedge ...) 例如)并且没有意识到它。

或者您需要使用时钟输入引脚;或者接受可能的问题,例如使用不支持时钟的路由导致的占空比失真,并使用 xdc 文件中建议的 "set_property" 命令抑制错误。