XILINX时序约束使用指引中文翻译_第1页
XILINX时序约束使用指引中文翻译_第2页
XILINX时序约束使用指引中文翻译_第3页
XILINX时序约束使用指引中文翻译_第4页
XILINX时序约束使用指引中文翻译_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XILINX时序约束使用指南笔记( UG612)第一章 第二章 第三章 第四章 第五章Ze/r' 、.、:第六章时序约束介绍时序约束方法时序约束原则在XST中指定时序约束在 Synplify 中指定时序约束方法时序约束分析1 / 162 / 16第一章 时序约束介绍基本的时序约束包括:“PERIOD Constraints”“OFFSET Constraints”FROM:TO(Multi-Cycle)约束”18 / 16第二章 时序约束方法1,简介:2,基本的约束方法 根据覆盖的路径不同,时序要求变成一些不同的全局约束。 最普通的路径类型包括:1,输入路径 2,同步元件到同步元件路径

2、 3,指定路径 4,输出路径XILINX的时序约束与每一种全局约束类型都有关。最有效的方法就是一开始就指定全局约束然后再加上指定路径的约束。在很多案例中,只要全局约束就可满足需求。FPGA器件执行工具都是由指定的时序要求驱动的。如果时序约束过头的话,就会导致 内存使用增加,工具运行时间增加。更重要的是,过约束还会导致性能下降。因此,推荐使 用实际设计要求的约束值。3,输入时序约束输入时序约束包括 2 种“系统同步输入 ” “源同步输入 ” 输入时钟约束覆盖了输入数据的FPGA外部引脚到获取此数据的寄存器之间的路径。输入时钟约束经常用"OFFSET I”勺束。指定输入时钟要求的最好方法

3、,取决于接口的类型(源/系统同步)和接口是 SDR还是DDR。OFFSET If定义了数据和在 FPGA引脚抓取此数据的时钟沿之间的关系。在分析OFFSET IN约束时,时序分析工具自动将影响时钟和数据延迟的因素考虑进去。这些因素包括:时钟的频率和相位转换时钟的不确定数据延迟调整除了自动调整,还可以在与接口时钟相关的” PERIOD约束中另外增加时钟不确定。关于增加”INPUT_JITTER的更多信息,参见第三章的 ”PERIOD ConstraintS'。OFFSET!N”与单输入时钟有关,默认情况下, OFFSETN约束覆盖了从输入 pad到内部 同步元件之间的所有路径。用于抓取那

4、些从 pad 输入的数据的同步元件由指定的 OFFSETIN 时钟触发。应用 OFFSET IN勺束被称为”global”方法。这是指定输入时序的最有效的方法。系统同步输入在体统同步接口中,发送和抓取数据共用一个系统时钟。板上的布线延迟和时钟倾 斜限制了接口的工作频率。更低的频率也会导致系统同步输入接口典型的采用SDR应用。系统同步SDR应用例子,见图2-1。系统同步SDR应用中,在时钟上升沿从源器件发送 数据,下一个时钟上升沿在 FPGA中抓取数据。Figure 2-1: Simplified System Synchronous interface with sssaciated SDR

5、timinglunetCaolm全局”OFFSETIN”约束是对一个系统同步接口指定输入时序的最有效的方法。用这种方 法,对每一个系统同步输入接口时钟都定义了一个"OFFSET IN约束。这种单个约束覆盖了所有被同步元件抓取到的输入数据位的路径,这些同步元件由指定输入时钟触发。指定输入时序:1, 定义接口相关的输入时钟的时钟” PERIOD约束;2, 定义接口的全局"OFFSET IN约束;例子理想的系统同步 SDR接口的时序图见图 2-2。CaptLir帀口5*期*13Figure 2-2: Timing diagram for an ideal System Synch

6、ronous SDR interface全局"OFFSET IN约束是:OFFSET = IN <value> VALID <value> BEFORE clock;在”OFFSETIN ”约束中,IN <value>决定了数据一开始有效的起始时间到抓取数据的时钟 沿之间的时间。在这个系统同步例子中,数据在抓取数据的时钟沿之前5ns有效。VALID<value>决定了数据有效时间。在这个例子中,数据有效时间为5ns。对这个例子,完整的"OFFSET IN约束和相关的PERIOD约束如下:NET'SysClkTNM_NE

7、T = Sysclk'TIMESPECTS_Sysclk = PERIODSysCIk 5ns HIGH 50%;OFFSET = IN 5ns VALID 5ns BEFORSysCIk;源同步输入在源同步输入接口中,会重新产生时钟,重新生成的时钟和数据从源器件从相似的路径一起被传送出去。这个时钟然后会被用来在FPGA中抓取数据。电路板上的线路延时和板上的时钟倾斜都不会再限制接口的运行频率了。更高的频率会导致源同步输入接口典型的被应用为双数据速率(DDR)的应用。典型的源同步DDR应用见图2-3。在时钟上升沿和下降沿都会从源器件发送数据。f >:Figure 2-3: Simp

8、lified Source Synchronous input interface with Associated DDR timing1riiX RMny Dau |raliiiy fMtd JX 11(349全局”0FFSETIN”约束是对源同步接口指定输入时序的最有效的方法。在DDR接口,为每一个输入接口时钟的沿都会定义OFFSET IN约束。这些约束覆盖了输入数据位的路径,这些数据由指定输入时钟沿的触发的寄存器来抓取。要指定输入时序必须:1,为接口相关的输入时钟,定义时钟PERIOD约束;2,为接口上升沿定义全局OFFSET IN约束;3,为接口下降沿定义全局OFFSET IN约束;例

9、源同步DDR接口的时序图见图 2-4,接口时钟是周期为 5ns占空比为50%的时钟。数据 的每一位在半个周期内都有效。SyeC*1I9FFSETI叫-OFFSET IN| =1 卫5 ns i=1.25 nsIDami»1ataiiiiVALID 工 2.5 ns 11VALID - 2.5耳Figure2-4: Timing diagram for ideal Source Synchronous DDR对DDR全局OFFSET IN的约束如下:OFFSET = IN<value> VALID<value>BEFORE clock RISING;OFFSET

10、 = IN<value>VALID<value>BEFORE clock FALLING;在OFFSET IN勺束中,OFFSET = IN<value决定了从抓取时钟的时钟沿到数据开始有效的 时间点之间的时间段。以此源同步输入为例,上升沿传送的数据在时钟上升沿之前1.25 ns有效。同样下降沿传送的数据在时钟下降沿之前1.25ns有效。在 OFFSETIN约束中,VALIDvvalue定了数据的有效时间。在这个例子中,上升沿和下降沿的数据都保持了2.5 ns。此例中,OFFSET IN和与之相关的 PERIOD约束如下:NET SysCLKTNM_NET = S

11、ysCLK;TIMESPEC TS_SysClk = PERIOD SysCIk' 5ns HIGH 50%;OFFSET = IN 1.25ns VALID 2.5ns BEFORSysCIk' RISING;OFFSET = IN 1.25 ns VALID 2.5 ns BEFORsCIk FALLING;4寄存器到寄存器时序约束寄存器到寄存器或者“同步元件到同步元件”的路径约束覆盖了内部寄存器之间的同步 数据路径。PERIOD约束包含以下方面:1,定义了时钟域的时序要求;2,分析单时钟域里的路径;3,分析相关时钟域里的所有路径4,考虑不同时钟域中所有的频率,相位和时钟不

12、确定性的不同点。约束同步时钟域的应用和方法有以下几种,这些策略包括:1,“自动相关同步 DCM/PLL时钟域”2, “手动相关同步时钟域”3, “异步时钟域”通过允许工具自动创造DLL/DCM/PLL和输出时钟之间的关系,和手动定义外部相关时钟之间关系,所有同步跨时钟域路径都有合适的约束覆盖,和合理的分析。使用这些方法进行PERIOD约束就免去了额外的跨时钟域约束的必要。自动相关同步DCM/PLLM钟域时钟电路最普通的形式是下面之一:1,输入时钟连接 DLL/DCM/PLL;2,输出用来作为期间内部同步路径的时钟在这个例子中,推荐对连接到DLL/DCM/PLL的输入时钟做 PERIOD约束。通

13、过对输入时钟进行 PERIOD约束,XILINX工具自动:1,自动给每一个 DLL/DCM/PLL的输出时钟派生出一个新的PERIOD约束;2,决定了输出时钟域之间的时钟关系,自动分析这些时钟域自己的任何路径例输入时钟驱动 DCM的电路如图2-5 ;PERIOD = 5ns !OFFSET I叫| =1.25 ns i1 =L25 nsiiJData)DataI1.11L11!(Data)(DatajVALID = 2.5 rs VALID = 2.5 ns Figure 2-5: The input clock ol the design goes to a DCM example本例的PE

14、RIOD约束语法如下:NET'ClockName” TNM_NET = TNM_NET_Name”TIMESPEC TS_name" = PERIODTNM_NET_Name” PeriodValue HIGH HighValue%;在PERIOD约束中,”PeriodValue”定义了时钟周期的有效时间。在本例中,DCM的输入时钟周期为5ns。”HighValue”表示时钟波形为“ HIGH'在一个时钟周期中所占的百分比。 本例的语法如下:NET “ ClkI n”TNM_NET = ClkIn ”;TIMESPEC TS_Clklr” = PERIOD ClkIn

15、” 5 ns HIGH 50%;基于以上给出的输入时钟PERIOD约束,DCM自动:1,为DCM输出创造2个时钟约束2,在2个时钟域之间分析性能手动相关同步时钟域在某些情况下,同步时钟域之间关系不能由工具自动指定。例如,当相关的时钟从两个独立的引脚进入 FPGA时,碰到这种情况,XILINX推荐你用下面的步骤:1 ,为每一个输入时钟定义 PERIOD约束;2,手动定义时钟之间关系;一旦你定义了手动关系,两个同步域之间的所有路径都会被自动分析。分析将会把所有的,频率,相位和不确定信息考虑进去。XILINX约束系统允许使用包含时钟频率和相位传送的PERIOD约束来定义时钟域之间complex ma

16、nual relationship。如果要使用 PERIOD约束来定义时钟域之间的complex manual relationship,需要:1, 为主时钟定义 PERIOD约束;2, 以第一个PERIOD约束作为参考,为相关时钟定义PERIOD约束; 两个相关的时钟从 2个独立的引脚进入 FPGA见图2-61, clk1x是主时钟TransnrtQK1XCJJhJCtEO2, clk2x180是相关时钟r*PBUDDiM !IIIII*GopLireFigure 2-6: Two related clocks entering the FPGA device through sepa ra

17、le externalpins本例的PERIOD约束语法如下:NET'PrimaryClock” TNM_NET = TNM_Primary ”;NET'RelatedClock” TNM_NET = TNM_Related ”;TIMESPEC TS_primary” = PERIOD TNM_Primary ” PeriodValue HIGH HighValue%; TIMESPECTS_related” = PERIOD TNM_Related ” TS_Primary_relation PHASE value;在related PERIOD定义中,PERIOD值被定义

18、为与主时钟的一个时间单元 (period )关系。 这种关系以主时钟 TIMESPEC勺形式表达。在本例中,CLK2X180的频率是CLK1X的2倍,这 就导致PERIOD是其一半。在related PERIOD定义中,相位值定义了源时钟和相关时钟在上升时钟沿的时间差异。在本例中,因为CLK2X180时钟是180度相移,所以上升沿比主时钟的上升沿晚1.25ns。本例的约束语法如下:NET'ClklX'TNM_NET = ClklX”NET Clk2X180” TNM_NET = Clk2X180”TIMESPEC TS_ClklX = PERIOD ClklX” 5 ns;TI

19、MESPEC TS_Clk2X18C” = PERIODCIk2X180” TS_Clk1X2 PHASE +1.25 ns;异步时钟域异步时钟域是指那些源和目的时钟频率或者相位关系不同的时钟域。因为时钟不相关, 所以无法决定setup和hold时钟分析的最终关系。 鉴于此,XILINX推荐使用合适的异步设计 技术来确保能够成功抓取数据。合适的异步设计技术的例子是用FIFO来抓取异步时钟域之间的传输数据。如果没有特别要求, 可以不用考虑时钟路径评论或相位关系,而在封闭的区域中约束最大数据路径延迟。XILINX约束系统允许不用考虑源和目的时钟的频率和相位关系来约束最大数据路径延 迟。这个要求用带

20、”DATAPATHONL、关键词的FROM-TO约束来指定。不用考虑源和目的时钟频率和相位关系的最大路径延时约束如下:1,为源同步元件定义时钟组;2,为目的同步元件定义时钟组;3,用带”DATAPATHONL”键词的FROM-TO在两个时钟组之间定义最大数据路径延时; 例子两个不相关的时钟从外部2根独立的管脚进入 FPGA如下图1,CLKA是源时钟2,CLKB是目的时钟XII0&3Figuro2-7: Two unrelated clocks entering the FPGA dovlco through separateexternal pins这个例子的语法如下:NET CLKA

21、” TNM_NET = FFS GRP_A;NET'CLKB TNM_NET = FFSGRP_B'TIMESPEC TS_Example = FROM GRP_A' TO"GRP_B 5ns DATAPATHONLY;5,输出时序约束输出时序覆盖了,从 FPGA内部寄存器到FPGA外部管脚之间的数据路径。OFFSETOUT约束指定了输出时序。指定输出时序要求的最好方式取决于type (源/系统同步)和接口的SDR/DDROFFSET OUT定义了从FPGA发送的数据的最大允许时间。输出延时路径从FPGA的输入时钟管脚开始,通过输出寄存器到FPGA的数据管脚。

22、见图2-8。Figure 2-8: Output-timing conslralnt& from Inpul clock pad lo tho output data padXI10M当分析OFFSET OUT勺束时,时序工具自动将影响时钟延迟和数据路径的内部因素考虑进去。这些因素包括:1, 时钟的频率和相位变化2, 时钟的不确定性3, 数据路径延迟调整系统同步输出系统同步输出接口中,一个共同的系统时钟既用来传输也用来抓取数据。因为这个接口使用一个共同的系统时钟,FPGA只发送数据。Figure 2-9. Simplified System Synchronous output int

23、erface with associated SDR timingri-gn&Tdi ElXlH i1匕口如果必须约束这些路径,全局OFFSET OUT勺束是指定系统同步接口输出时序的最有效的方式。这个单约束覆盖了所有从寄存器输出的数据的路径,这些寄存器是由指定的输入时钟触发的。要指定这些输出时序需:1, 为输出时钟定义时钟名称 (TNM)来创建个时钟组,这个组包含了所有由输入时钟触 发的输出寄存器。2, 定义接口的全局 OFFSET OUT勺束。例系统同步SDR输出接口的时序图见图 2-10。此例中的数据必须在输入时钟沿最长5ns之后有效。Figure 2-10: Timing di

24、agram for System Syrchronous SDR output interface系统同步接口的全局 OFFSET OU语法如下:akin1:OFFSET OLT ftFT=H Sns1恥怙11加2J ValdOahInput Cl wk Edg*KT1t56OFFSET = OUT value AFTER clock;OFFSET OUT勺束中,OFFSET = OUT <value决定了从FPGA输入端口时钟上升沿到 FPGA 输出端口数据开始有效的最大时间。在此系统同步例子中, 输出数据最多在输入时钟边沿的5ns之后有效。本例,完整的 OFFSET OUT勺束如下:

25、NET'Clkl n”TNM_NET = Clkl n”OFFSET = OUT 5ns AFTEfClkI n”源同步输出FPGAClklriCKtnaouCkala 1源同步输出接口内会重新生成时钟,新生成的时钟和数据一起从 FPGA送出。接口的性 能主要由系统噪声和新生成的时钟和数据位之间的倾斜限制。 在本接口中,从输入时钟边沿 到输出数据有效开始, 这段时间没有输出数据位之间的倾斜重要, 在大部分的例子中, 可以 不约束它。Figure2-th Simplified Source Synchronous output interfaee with asocited DDRtim

26、ing在DDR接口,输全局OFFSET OU约束是对源同步接口指定输出时序的最有效的方法。出接口时钟的每一个沿都指定了OFFSET OUT勺束。这些约束覆盖了所有又触发器传输的数据位的所有路径,这些触发器由指定输出时钟沿触发。欲指定输入时序需:1,为输出时钟定义个时钟名(钟触发的寄存器;TNM)来创建一个时钟组,这个组包含了所有由输出时2,为接口时钟上升沿定义全局OFFSET OUT勺束;3,为接口时钟下降沿定义全局OFFSET OUT勺束;例子理想的源同步 DDR接口时序图见图 2-12。I- PERIOD >SysCIkOFFSET IN ;! OrrSET IN|i =1.25ts

27、 ii =l2&ns iIII-1i1Data 1)DateI111Data 21OatsDataJ11iVALID = 2,5 ns -i1p一VA_ID=2.5 (is-JFiqure 2Q2: Timing diagram for an ideal Source Synchronous DDR在OFFSETOUT约束中,OFFSET= OUT<value>决定了从输入时钟端口的上升沿到FPGA输出端口数据开始有效之间的最大时间。当<value>从OFFSET OUT勺束忽略掉的时候,报告输出总线倾斜的约束变成了report-only specificati

28、on。关键词REFERENCE_PI定义重新生成的输出时钟作为参考点,而输出数据管脚倾斜的报告就是根据这个参考点生成的。对于本例,时钟上升沿和下降沿的完整的OFFSET OUT勺束如下:NET CLKIr”'TNM_NET = ClkIn”;OFFSET = OUT AFTEFClkIn” REFERENCE_PlhClkOut” RISING;OFFSET = OUT AFTEFClkIn” REFERENCE_PlhClkOut” FALLING;6,时序异常用输入,寄存器-寄存器,和输出时序的全局约束,或许可以约束大部分的路径。在特 定的例子中,全局约束规则不适合某些特定的少数路

29、径。异常的最普遍的形式是:False Paths'Multi-Cycle PathsFalse Paths在某些情况下,如果你确定某些路径不会影响时序性能,那么你就会想将这些路径从时序约束中移除出去。最常用的方法是用带有 timing ignore (TIG)关键词的FROM-TO约束。这允许你去:1, 在一个源时钟组中指定一组寄存器2, 在一个目的时钟组中指定一组寄存器3, 自动将这些时钟组之间的所有路径从分析中移除掉要用这种方法来指定 timing ignore(TIG)约束,定义:1, 源时钟组的一组寄存器2, 目的时钟组的一组寄存器3, 带有TIG关键词的FROM-TO约束移除

30、两个时钟组之间的路径例子假设两个寄存器之间的路径并不影响设计的时序,希望将这条路径移除掉。 见图2-13Figure 2-13: Path between two registers that does not affect the tiining of the design两个时钟组之间定义一个 TIG的通用语法如下:TIMESPEC TSid” = FROM SRC_GRPTO ”DST_GRP TIG; 在FROM-TO TIG例子中,SRC_GRP定义了一组源寄存器,这组寄存器是这条时序路径的起点。 DST_GRP定义了一组目的寄存器,这组寄存器是这条时序路径的终点。所有从SRC_GR

31、P开始到DST_GRP结束的路径都被忽略了。本例的语法如下:NET CLK1' TNM_NET = FFS GRP_1”NET CLK2' TNM_NET = FFS'GRP_2” TIMESPEC TS_Example = FROMGRP_1' TO GRP_2' TIG;多周期路径在多周期路径中,数据以低于PERIOD定义的时钟频率从源同步元件传输到目的同步元件。当同步元件用一个共同的时钟使能信号作为门控时,上面这种情况最常见。 通过定义一个多周期路径,这些同步元件的时序约束将比默认的PERIOD约束宽松。多周期路径约束可以考虑PERIOD约束标识符

32、(TS_clk125)X时钟周期的数量(TS_clk125*3)。执行工具然后就能够 合理的分配执行这些路径的优先级。指定一组多周期路径的共同方法是用时钟使能信号定义一个时钟组。这允许你:1, 用一个公用的时钟使能信号定义一个包含了源和目的同步元件的时钟组。2, 自动将多周期约束应用到这些同步元件之间的所有路径如果要用这种方法指定 FROM:TO侈周期)约束,需要定义:1, 公用时钟域的PERIOD约束;2, 基于公用时钟使能信号的一组寄存器;3, 描述新的时钟需求的 FROM:TO侈周期)约束 例子图2-14显示了一种假想的情况。在这种情况下两个寄存器共用一个时钟使能信号。在 本例中,时钟使

33、能信号的切换频率是参考时钟频率的一半。Figure2-14: Path between two registers clocked by a common clock unable signal在不同时钟组之间定义多周期路径的通用语法如下:TIMESPECTSid” = FROM MC_GRP'TO MC_GRP'<value>在FROM:TO (多周期)的例子中,MC_GRP定义了一组由公用时钟驱动的寄存器。所有从MC_GRP开始到MC_GRP结束的路径,可以应用多周期时序要求。进出MC_GRP的路径可以用合适的PERIOD勺束来分析。本例约束的语法如下:NET&

34、#39;CLK1'TNM_NET = CLK1”;TIMESPEC TS_CLK1 = PERIOD CLK1' 5ns HIGH 50%;NET'Enable” TNM_NET = FFS MC_GRP'TIMESPEC TS_Example = FROMMC_GRP' TO MC_GRP' TS_CLK1*2;第三章 时序约束原则 本章讨论了时序约束的根本,包括:“PERIOD Constraints”“OFFSET Constraints”“FROM:TO (Multi-Cycle) Constraints ” 为了更好的理解约束系统子系统,讨论了组元件的能力。这一章包括:“约束系统“约束优先级“时序约束“时序约束语法“建立时序约束“ 约束系统这部分讨论了约束系统,包含以下内容: “约束系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论