set_multicycle_path相关

文章目录

  • set_multicycle_path命令
    • 命令语法
    • setup/hold relationship释义
    • 多周期约束前后对比
    • 源时钟和目的时钟是同一时钟
    • 源时钟和目的时钟存在相移
    • 慢时钟域到快时钟域
    • 快时钟域到慢时钟域
    • 使用总结
  • 博文链接

set_multicycle_path命令

命令语法

在这里插入图片描述

  • 默认情况下,建立时间的path_multiplier为1,保持时间的path_multiplier为0
  • 默认情况下,建立时间的path_multiplier是相对于目的时钟而言的(即默认使用了-end选项);如果需要相对于源时钟来设置建立时间的path_multiplier,则需要使用-start选项
  • 默认情况下,保持时间的path_multiplier是相对于源时钟而言的(即默认使用了-start选项);如果需要相对于目的时钟来设置保持时间的path_multiplier,则需要使用-end选项
  • 保持时间和建立时间是相关联的。当使用-setup选项设置多周期路径时,不仅仅修改了setup关系,同时也修改了hold关系,因此通常也需要再设置-hold选项。
    set_multicycle_path相关_第1张图片

setup/hold relationship释义

set_multicycle_path相关_第2张图片
set_multicycle_path相关_第3张图片

多周期约束前后对比

使用多周期约束前,可以看到源时钟与目的时钟同频同相,发起沿(launch edge)与捕获沿(capture edge)相差1个时钟,
set_multicycle_path相关_第4张图片
当仅仅对建立时间进行约束后,

set_multicycle_path 2 -setup -from [get_pins data0_reg/C] -to [get_pins data1_reg/D]
set_multicycle_path相关_第5张图片

这时能够看到建立时间的捕获沿与发起沿(launch edge)相差2个时钟了;但保持时间的关系也改变了,已经随捕获沿的移动而移动了,为了将保持时间的关系修正回来,需要使用-end选项将保持时间关系中的目的时钟后退一下,

set_multicycle_path 1 -hold -end -from [get_pins data0_reg/C] -to [get_pins data1_reg/D]

set_multicycle_path相关_第6张图片
此时建立时间、保持时间关系才是正确的。

源时钟和目的时钟是同一时钟

set_multicycle_path N -setup -from [get_pins data0_reg/C] -to [get_pins data1_reg/D]
set_multicycle_path N-1 -hold -from [get_pins data0_reg/C] -to [get_pins data1_reg/D]

对于源时钟和目的时钟是同一时钟的情况而言,保持时间设置中的-end(backward)选项可以忽略,原因是 发起沿前移和捕获沿后退的效果是等价的,如下图所示,
set_multicycle_path相关_第7张图片

源时钟和目的时钟存在相移

默认情况下,STA工具对建立/保持时间的分析方式
set_multicycle_path相关_第8张图片

慢时钟域到快时钟域

默认情况下,STA工具对建立/保持时间的分析方式
set_multicycle_path相关_第9张图片

set_multicycle_path N -setup -from [get_clocks CLK1] -to [get_clocks CLK2]
set_multicycle_path N-1 -hold -end -from [get_clocks CLK1] -to [get_clocks CLK2]
set_multicycle_path相关_第10张图片

快时钟域到慢时钟域

默认情况下,STA工具对建立/保持时间的分析方式
set_multicycle_path相关_第11张图片

set_multicycle_path N -setup -start -from [get_clocks CLK1] -to [get_clocks CLK2]
set_multicycle_path N-1 -hold -from [get_clocks CLK1] -to [get_clocks CLK2]
set_multicycle_path相关_第12张图片

使用总结

set_multicycle_path相关_第13张图片

博文链接

换位思考多周期约束
SDC(3)–set_multicycle_path 最关键的一张图
亲身经历华为海思面试,专业问题分享解析
vivado 多周期路径设置
sdc中set_multicycle_path的解释
FPGA STA(静态时序分析)

你可能感兴趣的:(FPGA)