XilinxFPGA编程技巧之常用时序约束详解.docx

上传人:b****6 文档编号:8431970 上传时间:2023-01-31 格式:DOCX 页数:7 大小:370.32KB
下载 相关 举报
XilinxFPGA编程技巧之常用时序约束详解.docx_第1页
第1页 / 共7页
XilinxFPGA编程技巧之常用时序约束详解.docx_第2页
第2页 / 共7页
XilinxFPGA编程技巧之常用时序约束详解.docx_第3页
第3页 / 共7页
XilinxFPGA编程技巧之常用时序约束详解.docx_第4页
第4页 / 共7页
XilinxFPGA编程技巧之常用时序约束详解.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

XilinxFPGA编程技巧之常用时序约束详解.docx

《XilinxFPGA编程技巧之常用时序约束详解.docx》由会员分享,可在线阅读,更多相关《XilinxFPGA编程技巧之常用时序约束详解.docx(7页珍藏版)》请在冰豆网上搜索。

XilinxFPGA编程技巧之常用时序约束详解.docx

XilinxFPGA编程技巧之常用时序约束详解

Xilinx-FPGA编程技巧之常用时序约束详解

D

上述时序的约束可写为:

  NET"SysClk"TNM_NET="SysClk";

  TIMESPEC"TS_SysClk"=PERIOD"SysClk"5nsHIGH50%;

  OFFSET=IN5nsVALID5nsBEFORE"SysClk";

1.1.2.源同步输入约束SourceSynchronousInput

  在源同步接口中,时钟是在源设备中和数据一起产生并传输。

13简化的源同步输入DDR接口电路

14DDR源同步输入时序

上图的时序约束可写为:

  NET"SysClk"TNM_NET="SysClk";

  TIMESPEC"TS_SysClk"=PERIOD"SysClk"5nsHIGH50%;

  OFFSET=IN1.25nsVALID2.5nsBEFORE"SysClk"RISING;

  OFFSET=IN1.25nsVALID2.5nsBEFORE"SysClk"FALLING;

1.2.寄存器到寄存器约束Register-to-RegisterConstraint

寄存器到寄存器约束往往指的是周期约束,周期约束的覆盖范围包括:

.覆盖了时钟域的时序要求

.覆盖了同步数据在内部寄存器之间的传输

.分析一个单独的时钟域内的路径

.分析相关时钟域间的所有路径

.考虑不同时钟域间的所有频率、相位、不确定性差异

1.2.1.使用DLL,DCM,PLL,andMMCM等时钟器件自动确定同步关系

  使用这一类时钟IPCore,只需指定它们的输入时钟约束,器件将自动的根据用户生成IPCore时指定的参数约束相关输出,不需用户手动干预。

15输入到DCM的时钟约束

上图的时序约束可写为:

  NET“ClkIn”TNM_NET=“ClkIn”;

  TIMESPEC“TS_ClkIn”=PERIOD“ClkIn”5nsHIGH50%;

1.2.2.手动约束相关联的时钟域

  在某些情况下,工具并不能自动确定同步的时钟域之间的时钟时序关系,这个时候需要手动约束。

例如:

有两个有相位关系的时钟从不同的引脚进入FPGA器件,这个时候需要手动约束这两个时钟。

16通过两个不同的外部引脚进入FPGA的相关时钟

上图的时序约束可写为:

  NET“Clk1X"TNM_NET=“Clk1X";

  NET“Clk2X180"TNM_NET=“Clk2X180";

  TIMESPEC"TS_Clk1X"=PERIOD"Clk1X75ns;

  TIMESPEC"TS_Clk2X180"=PERIOD"Clk2X180“TS_Clk1X/2PHAS2+1.25ns;

1.2.3.异步时钟域

  异步时钟域的发送和接收时钟不依赖于频率或相位关系。

因为时钟是不相关的,所以不可能确定出建立时间、保持时间和时钟的最终关系。

因为这个原因,Xilinx推荐使用适当的异步设计技术来保证对数据的成功获取。

Xilinx约束系统允许设计者在不需考虑源和目的时钟频率、相位的情况下约束数据路径的最大延时。

异步时钟域使用的约束方法的流程为:

.为源寄存器定义时序组

.为目的寄存器定义时序组

.使用From-to和DATAPATHDELAY关键字定义寄存器组之间的最大延时

1.3.输出约束OutputConstraint

  输出时序约束约束的是从内部同步元件或寄存器到器件管脚的数据。

1.3.1.系统同步输出约束SystemSynchronousOutputConstraint

  系统同步输出的简化模型如图所示,在系统同步输出接口中,传输和获取数据是基于同一个时钟的。

17系统同步输出

其时序约束可写为:

  NET"ClkIn"TNM_NET="ClkIn";

  OFFSET=OUT5nsAFTER"ClkIn";

1.3.2.源同步输出约束SourceSynchronousOutputConstraint

  在源同步输出接口中,时钟是重新产生的并且在某一FPGA时钟的驱动下和数据一起传输至下游器件。

18源同步输出简化电路时序图

19源同步小例子时序图

小例子的时序约束可写为:

  NET“ClkIn”TNM_NET=“ClkIn”;

  OFFSET=OUTAFTER“ClkIn”REFERENCE_PIN“ClkOut”RISING;

  OFFSET=OUTAFTER“ClkIn”REFERENCE_PIN“ClkOut”FALLING;

1.3.3.虚假路径约束FalsePathConstraint

  令SRC_GRP为一组源寄存器,DST_GRP为一组目的寄存器,如果你确定SRC_GRP到DST_GRP之间的路径不会影响时序性能,那么可以将这一组路径约束为虚假路径,工具在进行时序分析的时候将会跳过对这组路径的时序分析。

这种路径最常见于不同时钟域的寄存器数据传输,如下图:

110虚假路径

其约束可写为:

  NET"CLK1"TNM_NET=FFS"GRP_1";

  NET"CLK2"TNM_NET=FFS"GRP_2";

  TIMESPECTS_Example=FROM"GRP_1"TO"GRP_2"TIG;

1.3.4.多周期路径约束Multi-CyclePathConstraint

  在多周期路径里,令驱动时钟的周期为PERIOD,数据可以最大n*PERIOD的时间的从源同步元件传输到目的同步元件,这一约束降低工具的布线难度而又不会影响时序性能。

这种约束通常用在有时钟使能控制的同步元件路径中。

图1-11时钟使能控制的寄存器路径

必须说明的是上图Enable信号的产生周期必须大于等于n*PERIOD,且每个Enable传输一个数据。

假设上图的n=2,MC_GRP为时钟使能Enable控制的多周期同步元件组,则约束可写为:

  NET"CLK1"TNM_NET="CLK1";

  TIMESPEC"TS_CLK1"=PERIOD"CLK1"5nsHIGH50%;

  NET"Enable"TNM_NET=FFS"MC_GRP";

  TIMESPECTS_Example=FROM"MC_GRP"TO"MC_GRP"TS_CLK1*2;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1