【精品博文】vivado 多周期路径设置

设置多周期路径约束的目的:放松该路径时序要求,便于优先满足其他路径的布线,也有可能减少编译时间。默认情况下,VIVADO时序分析对应的是单个时钟周期。对于一些特定的逻辑路径显得不太合适,过于严格了。

最常用的情况就是,如果应用中的数据可以在多于一个时钟周期在接收端稳定,那么Xilinx就推荐使用多周期约束来放松时序的要求。

在VIVADO设计中,利用set_multicycle_path 指令来完成多周期约束设置,以此来设置相对于源时钟或者目的时钟的多个周期。

set_multicycle_path 命令的语法格式如下所:

set_multicycle_path <path_multiplier> [-setup|-hold] [-start|-end]

[-from <startpoints>] [-to <endpoints>] [-through <pins|cells|nets>]

默认情况下,setup的路径的多周期,是相对于接收端的时钟,如果需要修改setup的相对时钟为源时钟,需要用到-start选项

类似的,hold的多周期设置默认情况下是相对于源时钟而言的。如果需要修改为hold多周期相对于目的时钟,需要使用end选项。

需要注意的是,多周期设置中setup选项不仅仅会改变setup的时序关系,它也会影响hold的时序关系(通常是绑定在setup的)  。如果需设定hold回到原始状态,就需要set_multicycle_path 命令的-hold选项。

举例说明(同时钟域下的多个周期设置分析)

如上图所示:常规的单周期情况下的setup和hold检查规则如下

Setup check

T Datapath(max) < TCLK (t=Period) - T Setup

Hold check:

T Datapath(min) > TCLK (t=0) + T Hold

在同源时钟情况下,如下图状况下

可以设定多周期为2:et_multicycle_path 2 -setup -from [get_pins data0_reg/C] -to [get_pins data1_reg/D],那么就把setup检查的捕获沿延时至第二个捕获沿分析(第一个捕获沿无动作),相应的hold

也延时一个周期。如下图所示为设置前后的时序分析变化,

实际上hold的这种变化是不需要的,所以xilinx推荐利用命令更改会原始状态(set_multicycle_path 1 -hold -end -from [get_pins data0_reg/C] \-to [get_pins data1_reg/D]

), 加上此命令后,如下图所示

注意在同源时钟情况下,源时钟和目的时钟一样,所以可以不需要使用-end, -start选项

(0)

相关推荐

  • XDC约束技巧之CDC篇

    XDC约束技巧之CDC篇 本文摘自<Vivado使用误区与进阶>,作者为Xilinx工具与方法学应用专家Ally Zhou. 上一篇<XDC 约束技巧之时钟篇>介绍了 XDC ...

  • XDC约束技巧——时钟篇

    本文摘自<Vivado使用误区与进阶>,作者为Xilinx工具与方法学应用专家Ally Zhou. Xilinx©的新一代设计套件Vivado®中引入了全新的约束文件XDC,在很多规则和技 ...

  • 深入浅出谈谈Setup和Hold

    本文作者:孙健     EETOP username:sunjianty 本文为作者在EETOP上关于setup 和hold的两个帖子的最新修改和总结. Abtract 在后仿真过程中经常会遇到关于s ...

  • 【精品博文】基于Vivado的外设ZYNQ7 IP设置

    创建完新的工程后,就需要进行IP的设置,今天要讲的是ZYNQ7 的IP设计,具体如下: 1.在导航器设计框,选择创建块设计 2.在创建块设计输入子系统的名称 3.直接点击Vivado IP工作流,选择 ...

  • 【精品博文】Vivado中IP的使用方法

    【精品博文】Vivado中IP的使用方法

  • 【精品博文】4.2、静态时序分析中典型路径与时序优化技术介绍

    静态时序相关博文连载目录篇: http://blog.chinaaet.com/justlxy/p/5100052092 其实前一段时间,我写过一篇关于静态时序分析中的典型路径总结的文章(当时偷懒,直 ...

  • 【精品博文】ZC706相关设置:关于Boot mode

    刚刚入手zc706这个这块板子的时候,它的启动模式设置是真的让楼主懵逼,后来上Xilinx官网一查,才了解的它的启动模式的设置,下面直接上图 楼主在这里只简单讲一下如何设置:(对应的开关是在板子中间的 ...

  • 【精品博文】使用tcl命令保存vivado工程成.tcl文件

    把vivado工程保存成.tcl文件,有两种方法,分别是: ① 使用tcl命令:在打开的vivado工程中,在tcl命令输入行,输入如下命令,write_project_tcl { d:/work/s ...

  • 【精品博文】vivado中几种仿真

    关于BSP--BSP全称board support package,一般翻译为板级支持包,它主要是在系统上电后进行一些基本的初始化,BSP一般是和特定的硬件平台以及操作系统相关的.在大多数情况下,BS ...

  • 【精品博文】Vivado中使用逻辑分析仪ILA

    一个双肩背包 有多难? 戳一下试试看! →_→ 长摁识别 FPGA综合出来的电路都在芯片内部,基本上是没法用示波器或者逻辑分析仪器去测量信号的,所以xilinx等厂家就发明了内置的逻辑分析仪.在viv ...

  • 【精品博文】Vivado中综合实现和出bit文件

    赢一个双肩背包 有多难? 戳一下试试看! →_→ 长摁识别 接上一节的把IP搭建成原理图,这节说下综合实现和出bit文件. 各Block都搭建完成后,选中这个bd右键,Generate Output ...

  • 【精品博文】Vivado中新建工程或把IP搭建成原理图

    赢一个双肩背包 有多难? 戳一下试试看! →_→ 长摁识别 上一节说了怎么建自己的IP,下面把自己的设计方案用IP的方式搭建成原理图. 新建project 选择芯片型号xc7z020clg400-1 ...