周期约束分析_第1页
周期约束分析_第2页
周期约束分析_第3页
周期约束分析_第4页
周期约束分析_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

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

2、当前的设计是否现实或合理。 图1 周期约束所到达的范围 图2 估算逻辑之间的延时 通过约束编辑器的文本编辑窗口,可以采用以下两种方式的UCF语句来做时钟约束。 (1)perioditem PERIODperiodHIGHLOW highor lowitem 其中,perioditem可以是NET或TIMEGRP,分别代表时钟线名称net name或元件分组名称groupname。用NET表示PERIOD约束作用到名为“net name”的时钟网线所驱动的同步元件上,用TIMEGRP表示PERIOD约束作用到TiMEGRP所定义的分组(包括FFS、LATCH和RAM等同步元件)上。period是

3、目标时钟周期,单位可以是ps、ns、S和ms等。HIGHLOW指出时钟周期中的第1个脉冲是高电平还是低电平,highorlowtime为HIGH LOW指定的脉冲的持续时间,默认单位是ns。如果没有该参数,时钟占空比是50。例如, NET SYSCLK PERIOD10 ns HIGH 4ns (2)NET“clock net name”TNMNET“timing group name”; TIMESPEC“TSidentifier”PERIOD “TNM reference”period HIGH LOW highor lowitem 下面举个例子来说明如何设置周期约束。考虑图3所示的电路设

4、计范例1,输入时钟的周期是10ns,并且是上升沿动作,占空比为45高电平,55低电平。 我们可以用这样的UCF语旬来定义这个时钟: NET“SysClk” TNMNET “SysClk”; TIMESPEC “to SysClk ” PERIOD SysClk 10 ns HIGH 45; 图3 周期约束设计范例一 这个例子首先在时钟网线上附加了TNMNET约束,把Clk驱动的所有同步元件定义成一个名为“sysclk”的分组,然后使用TIMESPEC约束定义时钟周期。这种定义时钟周期的方法使用了标识符,在定义其他时钟周期时可以引用这个标识符,大大方便了派生时钟的定义。 一种特殊情况的周期约束是

5、相关时钟。前面提到周期约束不会覆盖异步路径,如图1所示的D路径。但是如果两个时钟是“相关”的,则实现工具和时序分析工具会考虑这个路径。因此对这样的路径不需要再设置FROM TO约束,相关内容包括自动相关和人为相关。我们来分别看看几种情况。 (1)图4所示的相关时钟约束1为两个时钟来自于同一个DCM,我们只需对DCM的输入时钟执行周期约束,则DCM输出的两个时钟就会通过DCM自动关联,它们之间的路径就会自动地被分析。 图4 相关时钟约束1 例如,我们做如下约束: NET CLKINTNWNET CLKIN; TIMESPEC TSCLKIX PERTOD CLKN10.O ns HIGH 50;

6、 则两个时钟之间的路径就会被这样分析: Slack:3.926ns Source:DataRegSlow.d23 (FF) Destination: DataRegFastd33 (FF) Requirement :5.OOOns Data Path Delay : 0.874ns (Levels of Logic 0) Clock Path Skew: 0.000ns Source Clock: CCLK1X rising at O.000ns Destination Clock: CLKZXDCM rising at 5.000ns Clock Uncertainty : 0.200ns

7、(2)如刚刚的电路可以不对DCM输入时钟做约束,而分别对两个时钟单独做周期约束,如图5所示。由于CLK2X的周期是基于CLK1X的周期定义的,所以这样两个时钟就被人为地关联起来,它们之间的路径也会自动地被分析。 图5 相关时钟约束2 例如,我们做如下约束: NETCLKI1XTNM_NET CLK1X; NETCLK2XTNM_NET CLK2X; TIMESPEC TS_CLK1X PERIOD CLK1X lO.O ns HIGH 50; TIMESPEC TS_CLK2X PERTOD CLK2X TS_CLXCLK1X/2; 则其之间的路径就会被这样分析: Slack: 3.926ns

8、 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所示,也可以对它们单独设置的周期约束,但是CL

9、K2X的周期是基于CLKX的周期定义。通过这种方式可以把两个时钟人为关联起来,它们之间的路径也会自动地被分析。 图6 相关时钟约束3 例如,我们做如下约束: NET CLK1X TNM NET CLK1X; NET CLK2X TNM NET CLK2X; TIMESPEC TS_CLK1X PERTOD CLK1X10.O ns HIGH 50; TIMESPEC TS_CLK2X PERTOD CLK2X TSCLK1x2; 则两个时钟之间的路径就会被这样分析: Slack: 3.926ns Source: DataRegSlowd23 (FF) Destination:DataRegFa

10、std23 (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 TNMNET ClklX NET Clk2X180 TNMNET Clk2X180;

温馨提示

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

评论

0/150

提交评论