周期约束分析

出处:kingpoo 发布于:2008-09-16 14:13:57

  周期〈Period)约束的对象是该时钟所驱动的所有同步元件之间的路径,但是不会覆盖如图1所示的A、B、C和D路径,以及输入引脚到输出引脚〈纯组合逻辑〉、输入引脚到闷步元件、同步元件到输出引脚,还有Clk1到Clk2之间的异步路径,
 
  在进行周期Period约柬之前,需要对电路的时钟周期进行估计,不要便用过松或过紧的约束。设讨内部电路所能达到的南运行频率取决于同步元件本身的建立保持时间,以及同步元件之间的逻辑和布线延迟。虽然布线延时无法估计,但逻辑延时应该可以大致估计,如图2所示。通常可以根据逻辑延时和布线延时各占40%和60%的比例来判断将要设置的周期约束对于当前的设计是否现实或合理。

周期约束所达到的范围图


 

  图1 周期约束所达到的范围

估算逻辑之间的延时图

  图2 估算逻辑之间的延时
  通过约束编辑器的文本编辑窗口,可以采用以下两种方式的UCF语句来做时钟约束。
 
  (1)period_item PERIOD=period{HIGH|LOW} [high_or low_item]
  其中,period_item可以是NET或TIMEGRP,分别代表时钟线名称net name或元件分组名称group-name。用NET表示PERIOD约束作用到名为“net name”的时钟网线所驱动的同步元件上,用TIMEGRP表示PERIOD约束作用到TiMEGRP所定义的分组(包括FFS、LATCH和RAM等同步元件)上。period是目标时钟周期,单位可以是ps、ns、μS和ms等。HIGH|LOW指出时钟周期中的第1个脉冲是高电平还是低电平,high_or_low_time为HIGH LOW指定的脉冲的持续时间,默认单位是ns。如果没有该参数,时钟占空比是50%。例如, NET SYS_CLK PERIOD=10 ns HIGH 4ns
 
  (2)NET“clock net name”TNM_NET=“timing group name”;
  TIMESPEC“TSidentifier”=PERIOD “TNM reference”period {HIGH LOW}   [high_or low_item]
 
  下面举个例子来说明如何设置周期约束。考虑图3所示的电路设计范例1,输入时钟的周期是10ns,并且是上升沿动作,占空比为45%高电平,55%低电平。

  我们可以用这样的UCF语旬来定义这个时钟:

  NET“SysClk” TNM_NET =“SysClk”;
  TIMESPEC “to ̄ SysClk ” = PERIOD "SysClk" 10 ns HIGH 45%;

周期约束设计范例图


  图3 周期约束设计范例一
 
  这个例子首先在时钟网线上附加了TNM_NET约束,把Clk驱动的所有同步元件定义成一个名为“sys_clk”的分组,然后使用TIMESPEC约束定义时钟周期。这种定义时钟周期的方法使用了标识符,在定义其他时钟周期时可以引用这个标识符,大大方便了派生时钟的定义。
 
  一种特殊情况的周期约束是相关时钟。前面提到周期约束不会覆盖异步路径,如图1所示的D路径。但是如果两个时钟是“相关”的,则实现工具和时序分析工具会考虑这个路径。因此对这样的路径不需要再设置FROM TO约束,相关内容包括自动相关和人为相关。我们来分别看看几种情况。
 
  (1)图4所示的相关时钟约束1为两个时钟来自于同一个DCM,我们只需对DCM的输入时钟执行周期约束,则DCM输出的两个时钟就会通过DCM自动关联,它们之间的路径就会自动地被分析。

相关时钟约束图

  图4 相关时钟约束1
 
  例如,我们做如下约束:
  
  NET "CLKIN"TNW_NET = "CLKIN";
 
  TIMESPEC "TS_CLKIX" = PERTOD "CLK△N"10.O ns HIGH 50%;

  则两个时钟之间的路径就会被这样分析:

  Slack:         3.926ns
  Source:        DataRegSlow._d2_3 (FF)
  Destination:      DataRegFast_d3_3 (FF)    
  Requirement :     5.OOOns 
  Data Path Delay :    0.874ns (Levels of Logic = 0)  
  Clock Path Skew:      0.000ns   
  Source Clock:          C=CLK1X rising at O.000ns
  Destination Clock:     CLKZX_DCM rising  at 5.000ns
   Clock Uncertainty :     0.200ns

  (2)如刚才的电路可以不对DCM输入时钟做约束,而分别对两个时钟单独做周期约束,如图5所示。由于CLK2X的周期是基于CLK1X的周期定义的,所以这样两个时钟就被人为地关联起来,它们之间的路径也会自动地被分析。

相关时钟约束图

  图5 相关时钟约束2

  例如,我们做如下约束:
  NET"CLKI1X"TNM_NET = "CLK1X";
  NET"CLK2X"TNM_NET = "CLK2X";
  TIMESPEC "TS_CLK1X" = PERIOD "CLK1X" lO.O ns HIGH 50%;
  TIMESPEC "TS_CLK2X" = PERTOD "CLK2X" TS_CLX△CLK1X/2;

  则其之间的路径就会被这样分析:
  Slack:         3.926ns
  Destination :     DataRegSlow_d2_3 (FF)
  Requirement :      DataRegSlow_d2_3 (FF)
  Data Path Delay :    0.874ns (Levels of Logic=0)
  Clock Path Skew:    0.0O0ns
  Source Clock :      CLK1X rising at O.000ns
  Destination Clock:   CLK2X rising at 5.000ns
  Clock Uncertainty :  0.200ns

  (3)两个时钟都是从FPGA外面送进来的,如图6所示,也可以对它们单独设置的周期约束,但是CLK2X的周期是基于CLK1X的周期定义。通过这种方式可以把两个时钟人为关联起来,它们之间的路径也会自动地被分析。

相关时钟约束图

  图6 相关时钟约束3

  例如,我们做如下约束:
  NET "CLK1X" TNM NET = "CLK1X";
  NET "CLK2X" TNM NET = "CLK2X";
  TIMESPEC "TS_CLK1X" = PERTOD "CLK1X"10.O ns HIGH 50%;
  TIMESPEC "TS_CLK2X" = PERTOD "CLK2X" TS_CLK1x/2;
则两个时钟之间的路径就会被这样分析:

  Slack:        3.926ns
  Source:     DataRegSlow_d2_3 (FF) 
  Destination:DataRegFast_d2_3 (FF)
  Requirement:5.OOOns
  Data Path Delay: 0.874ns (Levels of Logic =0)0.OOOns
  Clock Path Skew: 0.0OOns
  source clock:CLK1X rising at 0.000ns
  Destination Clock: CLK2X rising at 5.000ns
  Clock Uncertainty:0.200ns

  (4)两个时钟都是从FPGA外面送进来的,而且还有特定的相位关系。这种情况也可以单独做周期约束,但是CLK2X的周期是基于CLK1X的周期定义,同时需要再加上相位关系。通过这种方式可以把两个时钟人为地关联起来,它们之间的路径也会自动地被分析,如图7所示。

相关时钟约束图

  图7 相关时钟约束4

  例如,我们做如下约束:
  NET "ClklX" TNM_NET = "ClklX"
  NET "Clk2X180" TNM_NET = "Clk2X180";
  TIMESPEC "TS_Clk1X" = PERIOD "ClklX"10.0ns;
  TIMESPEC "TS_Clk2X180" =PERTOD "Clk2X180" TS_ClklX/2 PHASE+2.5 nS:
则该路径会被按照2.5 ns来分析。
 
  在ISE的语言模版中有UCF的语法模板可供用户参考,如图8所示。

约束设置UCF模板示意图



   图8 约束设置UCF模板示意

         


  
关键词:周期约束分析NAMEITEM  GROUPFPGAFROM

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!