vivado集成开发环境时序约束介绍.

上传人:小** 文档编号:46992649 上传时间:2018-06-29 格式:DOCX 页数:85 大小:1.78MB
返回 下载 相关 举报
vivado集成开发环境时序约束介绍._第1页
第1页 / 共85页
vivado集成开发环境时序约束介绍._第2页
第2页 / 共85页
vivado集成开发环境时序约束介绍._第3页
第3页 / 共85页
vivado集成开发环境时序约束介绍._第4页
第4页 / 共85页
vivado集成开发环境时序约束介绍._第5页
第5页 / 共85页
点击查看更多>>
资源描述

《vivado集成开发环境时序约束介绍.》由会员分享,可在线阅读,更多相关《vivado集成开发环境时序约束介绍.(85页珍藏版)》请在金锄头文库上搜索。

1、1VivadoVivado 时序约束时序约束本文主要介绍如何在本文主要介绍如何在 Vivado 设计套件中进行时序约束,原文出自设计套件中进行时序约束,原文出自 Xilinx 中中文社区。文社区。1Timing Constraints in Vivado -UCF to XDC Vivado 软件相比于软件相比于 ISE 的一大转变就是约束文件,的一大转变就是约束文件,ISE 软件支持的是软件支持的是UCF(User Constraints File),而,而 Vivado 软件转换到了软件转换到了 XDC(Xilinx Design Constraints)。XDC 主要基于主要基于 SDC

2、(Synopsys Design Constraints)标准,另外集成了标准,另外集成了Xilinx 的一些约束标准,可以说这一转变是的一些约束标准,可以说这一转变是 Xilinx 向业界标准的靠拢。向业界标准的靠拢。Altera 从从TimeQuest 开始就一直使用开始就一直使用 SDC 标准,这一改变,相信对于很多工程师来说是标准,这一改变,相信对于很多工程师来说是好事,两个平台之间的转换会更加容易些。首先看一下业界标准好事,两个平台之间的转换会更加容易些。首先看一下业界标准 SDC 的原文介的原文介绍:绍:Synopsys widely-used design constraints

3、 format, known as SDC, describes the “design intent“ and surrounding constraints for synthesis, clocking, timing, power, test and environmental and operating conditions. SDC has been in use and evolving for more than 20 years, making it the most popular and proven format for describing design constr

4、aints. Essentially all synthesized designs use SDC and numerous EDA companies have translators that can read and process SDC.Xilinx 原先的自成一派原先的自成一派(UCF)其实其实也算做的不错,相信使用过其实其实也算做的不错,相信使用过 UCF 的工的工程师也有同感,并没有什么不便。像程师也有同感,并没有什么不便。像 Apple 那样软件和硬件都自成一派而且能那样软件和硬件都自成一派而且能与其它所有派别抗衡的,背后需要有多强大的团队支持,可能与其它所有派别抗衡的,背

5、后需要有多强大的团队支持,可能 Xilinx 可是考虑可是考虑到这点,不想花费过多的精力去维护。到这点,不想花费过多的精力去维护。 (个人见解)(个人见解)文归正题,如果有读者以前没有使用文归正题,如果有读者以前没有使用 XDC/SDC 的经验,这边讲解一下如何的经验,这边讲解一下如何从从 UCF 到到 XDC 的转换。如图的转换。如图 1 所示为所示为 UCF 与与 SDC 的约束命令比较,可以发现的约束命令比较,可以发现常用的命令都能对应上。常用的命令都能对应上。2图 1下面简单举例说明:下面简单举例说明:Clock Period:UCF :NET “clka“ TNM_NET = “cl

6、ka“;TIMESPEC “TS_clka“ = PERIOD “clka“ 13.330 ns HIGH 50.00%;XDC :create_clock -name clka -period 13.330 -waveform 0 6.665 get_ports clkaInput Port:UCF :OFFSET = IN 8 BEFORE clka;XDC :set_input_delay -clock clka 2 all_inputs注注: clock period = 10 ns.Output Port:UCF :OFFSET = OUT 12 AFTER clkc;XDC :se

7、t_output_delay -clock clkc 8 all_outputs注:注:clock period = 20 ns.除了以上约束命令的差别外,除了以上约束命令的差别外,UCF 和和 XDC 间的主要差别如下:间的主要差别如下:1. XDC 是顺序执行约束,每个约束指令有优先级是顺序执行约束,每个约束指令有优先级2. UCF 一般约束一般约束 nets 对象,而对象,而 XDC 约束类型是约束类型是 pins, ports 和和 cells 对象对象3. UCF 约束默认不对异步时钟间路径进行时序分析,而约束默认不对异步时钟间路径进行时序分析,而 XDC 约束默认所有约束默认所有时

8、钟是相关的,会分析所有路径,可以通过设置时钟组时钟是相关的,会分析所有路径,可以通过设置时钟组(set_clock_groups)取消取消3时钟间的相关性。时钟间的相关性。 下面介绍一下在下面介绍一下在 Vivado 中添加中添加 XDC 文件以及加入约束命令的方法:文件以及加入约束命令的方法:首先在首先在 Project Manager 中展开中展开 Constraints 类,选择类,选择 Add Sources 即可添加即可添加或者新建或者新建 XDC 约束文件,如图约束文件,如图 2 所示。所示。图 2选择新建的选择新建的 XDC 文件,双击打开,选择左侧的文件,双击打开,选择左侧的

9、Templates,其中有,其中有 XDC 约约束命令的实例,所有的约束命令都可以在其中找到,非常方便,如图束命令的实例,所有的约束命令都可以在其中找到,非常方便,如图 3,4 所示。所示。4图 35图 4XDC 约束文件可以在编译综合和实现过程中使用时,在综合和实现设置中约束文件可以在编译综合和实现过程中使用时,在综合和实现设置中都能选择需要的约束,如图都能选择需要的约束,如图 5。通过创建约束文件集,如图。通过创建约束文件集,如图 6,设计者可以使能,设计者可以使能不同的约束集合测试不同的约束集合测试 FPGA 设计的性能;在约束文件集中可以包含多个设计的性能;在约束文件集中可以包含多个

10、XDC 约约束文件,在束文件,在 FPGA 设计比较复杂时,可以分模块或者设计比较复杂时,可以分模块或者 IP 核约束,相应的则有多核约束,相应的则有多6个个 XDC 约束文件,这样设计和维护效率都能得到提高。约束文件,这样设计和维护效率都能得到提高。图图 62Timing Constraints in Vivado - 2. Timing Basics在深入讲解在深入讲解 XDC 约束前,先介绍一下基本的时序约束、分析的概念。约束前,先介绍一下基本的时序约束、分析的概念。2.1 Timing Path:图图 1 中包含了主要的时序分析路径:中包含了主要的时序分析路径:1. 输入端口到输入端口

11、到 FPGA 内部时序单元的路径内部时序单元的路径2. FPGA 内部时序单元间的路径内部时序单元间的路径3. FPGA 内部时序单元到输出端口的路径内部时序单元到输出端口的路径74. 输入端口到输出端口的路径输入端口到输出端口的路径图图 1不管时序单元是在不管时序单元是在 FPGA 内部还是外部,除了第内部还是外部,除了第 4 条路径,它是从输入端条路径,它是从输入端口到输出端口,其间没有锁存,其它口到输出端口,其间没有锁存,其它 3 条路径的时序分析都以条路径的时序分析都以 2 个时序单元间个时序单元间的路劲进行分析,如图的路劲进行分析,如图 2 所示。所示。第一个时序单元上的时钟称为第一

12、个时序单元上的时钟称为 source clock(启动时钟启动时钟),第二个时序单元上,第二个时序单元上的时钟称为的时钟称为 destination clock(锁存时钟锁存时钟),时序分析从,时序分析从 source clock 的上升沿开始,的上升沿开始,到之后的到之后的 destination clock 的上升沿结束,时序分析的过程就是检验数据在两个的上升沿结束,时序分析的过程就是检验数据在两个上升沿时间差内经过数据路径传输后是否满足要求,数据到达时需要满足后一上升沿时间差内经过数据路径传输后是否满足要求,数据到达时需要满足后一级时序单元的级时序单元的 setup/hold 要求,其本

13、质上是需要数据在到达后一级时序单元时要求,其本质上是需要数据在到达后一级时序单元时不发生亚稳态,数据能够被稳定地采集到并且稳定地输出。不发生亚稳态,数据能够被稳定地采集到并且稳定地输出。图 22.2 Clock Setup Check:检验检验 Setup 是否满足要求,这边引入是否满足要求,这边引入 setup slack 概念,只要概念,只要 setup slack 的的值大于零即值大于零即 Setup检查检查满足要求,其计算公式如下:满足要求,其计算公式如下:setup slack = data required time data arrival time8其中其中:data requ

14、ired time=destination clock edge time + destination clock path delay- clock uncertainty- setup timedata arrival time = source clock edge time + source clock path delay+ clock to output time + data path delay公式代入可得到:公式代入可得到:setup slack = (destination clock edge time - source edge time)+ (destination

15、clock path delay - source clock path delay)- clock uncertainty - setup time - clock to output time - data path delay= Tdestination_to_source + (Tclk-D2 Tclk-D1) Tclk_uncertainty Tsetup uTco - Tdata_path_delay在在 Setup 检查中检查中 source clock 一定超前于一定超前于 destination clock。其中第一部分其中第一部分 Tdestination_to_sourc

16、e,当当 source clock 和和 destination clock 为异步时为异步时钟时,如图钟时,如图 3 中实例,中实例,source clock 的周期等于的周期等于 6ns,destination clock 的周期等的周期等于于 4ns,首先假定,首先假定 2 个时钟的相位差为个时钟的相位差为 0,图中在这种情况下有,图中在这种情况下有 2 个个 setup 关系,关系,setup1 下下 Tdestination_to_source = 4ns,setup2 下下 Tdestination_to_source = 2ns,在实际分析,在实际分析中应该选取最严格的情况,即选取中应该选取最严格的情况,即选取 setup2 这种。这种。图 3而当而当 source clock 和和 destination clock 为同一个时钟时,为同一个时钟时,Tdestination_to_source的的值很显然就是时钟周期值很显然就是时钟周期 Tclk_period,这也是时序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 宣传企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号