多周期路径(multi cycle path ,MCP)是一种触发器到触发器的路径,其中触发器之间的组合逻辑延迟允许需要多个时钟周期。有时,延迟较大的时序路径被设计成允许多个周期。与false path不同,多周期路径必须分析,但要针对一个以上的时钟周期。
考虑上图所示的示例,我们的设计中只有一个时钟(2ns周期),我们正在执行两个64位加法。加法器的输入总线以及加法器的输出总线都已被寄存。加法器的最大延迟约为5ns,寄存器时钟的周期为2ns。由于加法器延迟超过时钟周期,因此不可能在一个时钟周期内时序收敛。
为了使电路正确运行,实施了多周期设计方法。所有寄存器都有一个共同连接的enable位,该位由3位移位寄存器控制,该移位寄存器初始值001,并具有从输出到输入的反馈回路;这导致enable信号每3个周期升高。
如果我们简单地应用
“create_clock -period 2 [get_ports CLK]”
约束,综合工具将不会分析enable控制逻辑,因此它将尝试优化加法器逻辑,在1个时钟周期内尝试收敛setup timing,这是不可能的(也是不必要的)。