Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239589
  • 博文数量: 36
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 730
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-30 14:04
文章分类

全部博文(36)

文章存档

2014年(36)

我的朋友

分类: 嵌入式

2014-10-23 13:57:33

UCF常用语句总结

1. OFFSET根据芯片外围电路的时序特性约束了内部延时。
1.1. OFFSET_IN 约束输入信号
    OFFSET_IN_AFTER:输入信号(in)在时钟后(after)多长时间进入芯片。
    OFFSET_IN_BEFORE:输入信号(in)在时钟前(before)多长时间进入芯片。
    显然 CLOCK = OFFSET_IN_AFTER + OFFSET_IN_BEFORE。
    OFFSET_IN_AFTER 反映的是外围电路的时序特性,我们无法左右。
    OFFSET_IN_BEFORE 是留给芯片的时序余量。PAR的目的就是要满足这个余量,不得超过。
1.2. OFFSET_OUT 约束输出信号
    OFFSET_OUT_AFTER:输出信号(out)在时钟后(after)多长时间输出芯片。
    OFFSET_OUT_BEFORE:输出信号(out)在时钟前(before)多长时间输出芯片。
    显然 CLOCK = OFFSET_OUT_AFTER + OFFSET_OUT_BEFORE。
    OFFSET_OUT_BEFORE 反映的是外围电路的时序特性,我们无法左右。
    OFFSET_OUT_AFTER 是留给芯片的时序余量。PAR的目的就是要满足这个余量,不得超过。
1.3. 例
    OFFSET = IN 10 ns BEFORE "i_ref_clk";
    NET “Q_OUT” OFFSET=OUT 15.0 BEFORE “CLK_SYS”;

    说明:第二个例子好理解,第一个例子没有指明对象,表示所有受到“i_ref_clk”约束的信号都被施加了该约束。


2. TNM是Timing Name的缩写,是一种grouping约束,用于把若干信号组合成一个特定的组以施加相同的约束。例如
    INST "o_dbg_out[0]" TNM = "dbg_out";
    INST "o_dbg_out[1]" TNM = "dbg_out";
    ......
    INST "o_dbg_out[63]" TNM = "dbg_out";
采用该方法后一些列信号都被列入名为“dbg_out”的组合。然后可以统一施加约束。如
    TIMESPEC "TS_FFS_2_dbg_out" = FROM "FFS" TO "dbg_out" TIG;

3. TIMESPEC用于对时钟周期和路径等进行约束,例如:
    TIMESPEC "TS_i_ref_clk" = PERIOD "i_ref_clk_grp" 25.0 ns HIGH 50 %;
    TIMESPEC "TS_THIS"=FROM FFS TO RAMS 35;

4. TIG是Timing IGnore的缩写。表示忽略该对象上的时序约束。例如
    NET “RESET” TIG=TS_fast, TS_even_faster; 
    表示对RESET信号,时序约束TS_fast和TS_even_faster无效。

阅读(2024) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~