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

上传人:101****457 文档编号:89984828 上传时间:2019-06-05 格式:DOC 页数:9 大小:501.66KB
返回 下载 相关 举报
xilinx fpga编程技巧之常用时序约束详解_第1页
第1页 / 共9页
xilinx fpga编程技巧之常用时序约束详解_第2页
第2页 / 共9页
xilinx fpga编程技巧之常用时序约束详解_第3页
第3页 / 共9页
xilinx fpga编程技巧之常用时序约束详解_第4页
第4页 / 共9页
xilinx fpga编程技巧之常用时序约束详解_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《xilinx fpga编程技巧之常用时序约束详解》由会员分享,可在线阅读,更多相关《xilinx fpga编程技巧之常用时序约束详解(9页珍藏版)》请在金锄头文库上搜索。

1、Xilinx FPGA编程技巧之常用时序约束详解1. 基本的约束方法为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取。最普遍的三种路径为:. 输入路径(Input Path),使用输入约束. 寄存器到寄存器路径(Register-to-Register Path),使用周期约束. 输出路径(Output Path),使用输出约束. 具体的异常路径(Path specific exceptions),使用虚假路径、多周期路径约束1.1. 输入约束Input ConstraintOFFSET IN约束限定了输入数据和输入时钟边沿的关系。1.1.1. 系统同步输入约束System Syn

2、chronous Input在系统同步接口中,同一个系统时钟既传输数据也获取数据。考虑到板子路径延时和时钟抖动,接口的操作频率不能太高。11简化的系统同步输入SDR接口电路图12SDR系统同步输入时序上述时序的约束可写为:NET SysClk TNM_NET = SysClk;TIMESPEC TS_SysClk = PERIOD SysClk 5 ns HIGH 50%;OFFSET = IN 5 ns VALID 5 ns BEFORE SysClk;1.1.2. 源同步输入约束Source Synchronous Input在源同步接口中,时钟是在源设备中和数据一起产生并传输。13简化的

3、源同步输入DDR接口电路14DDR源同步输入时序上图的时序约束可写为:NET SysClk TNM_NET = SysClk;TIMESPEC TS_SysClk = PERIOD SysClk 5 ns HIGH 50%;OFFSET = IN 1.25 ns VALID 2.5 ns BEFORE SysClk RISING;OFFSET = IN 1.25 ns VALID 2.5 ns BEFORE SysClk FALLING;1.2. 寄存器到寄存器约束Register-to-Register Constraint寄存器到寄存器约束往往指的是周期约束,周期约束的覆盖范围包括:. 覆

4、盖了时钟域的时序要求. 覆盖了同步数据在内部寄存器之间的传输. 分析一个单独的时钟域内的路径. 分析相关时钟域间的所有路径. 考虑不同时钟域间的所有频率、相位、不确定性差异1.2.1. 使用DLL, DCM, PLL, and MMCM等时钟器件自动确定同步关系使用这一类时钟IP Core,只需指定它们的输入时钟约束,器件将自动的根据用户生成IP Core时指定的参数约束相关输出,不需用户手动干预。15输入到DCM的时钟约束上图的时序约束可写为:NET “ClkIn” TNM_NET = “ClkIn”;TIMESPEC “TS_ClkIn” = PERIOD “ClkIn” 5 ns HIG

5、H 50%;1.2.2. 手动约束相关联的时钟域在某些情况下,工具并不能自动确定同步的时钟域之间的时钟时序关系,这个时候需要手动约束。例如:有两个有相位关系的时钟从不同的引脚进入FPGA器件,这个时候需要手动约束这两个时钟。16通过两个不同的外部引脚进入FPGA的相关时钟上图的时序约束可写为:NET“Clk1XTNM_NET=“Clk1X;NET“Clk2X180TNM_NET=“Clk2X180;TIMESPECTS_Clk1X=PERIODClk1X 7 5ns;TIMESPECTS_Clk2X180=PERIODClk2X180“TS_Clk1X/2PHAS2 +1.25ns;1.2.3

6、. 异步时钟域异步时钟域的发送和接收时钟不依赖于频率或相位关系。因为时钟是不相关的,所以不可能确定出建立时间、保持时间和时钟的最终关系。因为这个原因,Xilinx推荐使用适当的异步设计技术来保证对数据的成功获取。Xilinx约束系统允许设计者在不需考虑源和目的时钟频率、相位的情况下约束数据路径的最大延时。异步时钟域使用的约束方法的流程为:. 为源寄存器定义时序组. 为目的寄存器定义时序组. 使用From-to和DATAPATHDELAY关键字定义寄存器组之间的最大延时1.3. 输出约束Output Constraint输出时序约束约束的是从内部同步元件或寄存器到器件管脚的数据。1.3.1. 系

7、统同步输出约束System Synchronous Output Constraint系统同步输出的简化模型如图所示,在系统同步输出接口中,传输和获取数据是基于同一个时钟的。17系统同步输出其时序约束可写为:NET ClkIn TNM_NET = ClkIn;OFFSET = OUT 5 ns AFTER ClkIn;1.3.2. 源同步输出约束Source Synchronous Output Constraint在源同步输出接口中,时钟是重新产生的并且在某一FPGA时钟的驱动下和数据一起传输至下游器件。18源同步输出简化电路时序图19源同步小例子时序图小例子的时序约束可写为:NET “Cl

8、kIn” TNM_NET = “ClkIn”;OFFSET = OUT AFTER “ClkIn” REFERENCE_PIN “ClkOut” RISING;OFFSET = OUT AFTER “ClkIn” REFERENCE_PIN “ClkOut” FALLING;1.3.3. 虚假路径约束False Path Constraint令SRC_GRP为一组源寄存器,DST_GRP为一组目的寄存器,如果你确定SRC_GRP到DST_GRP之间的路径不会影响时序性能,那么可以将这一组路径约束为虚假路径,工具在进行时序分析的时候将会跳过对这组路径的时序分析。这种路径最常见于不同时钟域的寄存器

9、数据传输,如下图:110虚假路径其约束可写为:NET CLK1 TNM_NET = FFS GRP_1;NET CLK2 TNM_NET = FFS GRP_2;TIMESPEC TS_Example = FROM GRP_1 TO GRP_2 TIG;1.3.4. 多周期路径约束Multi-Cycle Path Constraint在多周期路径里,令驱动时钟的周期为PERIOD,数据可以最大n*PERIOD的时间的从源同步元件传输到目的同步元件,这一约束降低工具的布线难度而又不会影响时序性能。这种约束通常用在有时钟使能控制的同步元件路径中。图 1-11时钟使能控制的寄存器路径必须说明的是上图Enable信号的产生周期必须大于等于n*PERIOD,且每个Enable传输一个数据。假设上图的n=2,MC_GRP为时钟使能Enable控制的多周期同步元件组,则约束可写为:NET CLK1 TNM_NET = CLK1;TIMESPEC TS_CLK1 = PERIOD CLK1 5 ns HIGH 50%;NET Enable TNM_NET = FFS MC_GRP;TIMESPEC TS_Example = FROM MC_GRP TO MC_GRP TS_CLK1*2;

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

当前位置:首页 > 中学教育 > 其它中学文档

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