Timing Constrains in Vivado -- 10. Multicycle Paths (Vivado高效设计案例分享)
- UID
- 1023229
- 来自
- 中国
|
Timing Constrains in Vivado -- 10. Multicycle Paths (Vivado高效设计案例分享)
之前博文中分析的时序路径基本都是在单时钟周期内进行分析,source clock和destination clock是紧挨的两个时钟沿,可以说是最严格的情况。而一些情况下,可以放松这个分析条件,因此引入了多时钟周期路径(multicycle paths)的概念,如图1所示,data path中可能经过了N个时钟周期后,最终才采集数据。
图1
通过XDC命令约束多时钟周期路径,命令如下:
set_multicycle_path<path_multiplier> [-setup|-hold] [-start|-end] [-from <startpoints>] [-to<endpoints>] [-through <pins|cells|nets>]
其中<path_multiplier> [-setup|-hold] [-start|-end]的参数组合定义了多时钟周期路径的周期数。
path_multiplier默认值如下,可以发现默认值就是单时钟周期分析 • 1 for setup analysis • 0 for hold analysis
[-setup|-hold]参数表示是针对setup分析还是hold分析,默认为-setup –end和-hold –start的组合,即约束setup分析时,对应destination clock需要移动;约束hold分析时,对应source clock需要移动。这样说可能不是很清晰,那就举例说明,以下都以source clock和destination clock是同一时钟的情况进行举例说明:
a. 默认情况,单时钟周期分析,每一个setup分析对应两种hold分析情况,选其中比较苛刻的情况做最终分析
set_multicycle_path1 -setup –end …
set_multicycle_path0 –hold –start …
b. 多时钟周期,相比于单时钟周期情况,只放宽setup分析需求,hold分析为默认情况
set_multicycle_path2 -setup –end …
c. 多时钟周期,相比于单时钟周期情况,只放宽hold分析需求,setup分析为默认情况
set_multicycle_path1 –hold –start …
d. 多时钟周期,改变setup和hold分析中对应时钟移动方式,setup分析中变为source clock移动1个时钟周期,hold分析中变为destination clock移动1个时钟周期
set_multicycle_path2 -setup –start …
set_multicycle_path1 –hold –end …
在vivado中进行multicycle path约束方法如下:
1. 设计经过综合实现后,点击Edit Timing Constraints打开时序约束窗口
2. 选择Set multicycle Path,在右侧双击打开多时钟约束窗口
3. 设置参数
|
|
|
|
|
|
- UID
- 1023229
- 来自
- 中国
|
共同努力,共同学习!----------------bwin客户端
技术论坛 |
|
|
|
|
|