MAX_FANOUT 强制综合通过复制逻辑来满足扇出限制。该工具能够复制逻辑,但不能复制输入或黑盒。因此,如果在设计的直接输入所驱动的信号上放置 MAX_FANOUT 属性,那么该工具将无法处理约束。
请谨慎分析 MAX_FANOUT 所在的信号。如果将 MAX_FANOUT 布局在由含 DONT_TOUCH 的寄存器所驱动的信号上,或者驱动的信号所在层级与 DONT_TOUCH 属性所在层级不同,那么将无法遵循 MAX_FANOUT 属性进行操作。
综合在执行首次复制时会为复制的单元追加 _rep
,为后续复制追加 _rep__0
、_rep__1
,以此类推。通过在单元上选择 (编辑 > 查找),可以在综合后网表中看到这些单元。
重要: 在综合期间,请谨慎使用 MAX_FANOUT。AMD Vivado™
工具中的
place_design
和 phys_opt_design
命令可执行基于布局的复制,此操作比在综合内执行逻辑复制更有效。如果需要使用特定扇出,通常有必要花时间和精力来手动编码以生成额外寄存器。