首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Timing Constrains in Vivado -- 10. Multicycle Paths (Vivado高效设计案例分享)

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.    设置参数



记录学习中的点点滴滴,让每一天过的更加有意义!
共同努力,共同学习!----------------bwin客户端 技术论坛
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表