ISE 时序约束技巧
周期内第一个脉冲是高电平还是低电平。[ 脉冲持续时间] 用于指定第一个脉冲的持续时间,可选用ms、s、ns 以及ps 等单位,默认值为ns,如果缺省该项,则默认为50% 的占空比。如语句: Net“ clk_100MHz” period = 10ns High 5ns;
指定了信号clk_100MHz 的周期为10ns,高电平持续的时间为5ns,该约束将被添加到信号clk_100MHz
所驱动的元件上。
推荐方法常用于约束具有复杂派生关系的时钟网络,其基本语法为:
TIMESPEC“ TS_identifier” = PERIOD“ TNM_reference” {周期长度}
{HIGH | LOW} [ 脉冲持续时间];
其中,TIMESPEC 是一个基本时序相关约束,用于标志时序规范。“TS_identifier”由关键字TS 和用户定义的identifier 表示,二者共同构成一种时序规范,称为TS 属性定义,可在约束文件中任意引用,大大地丰富了派生时钟的定义。在使用时,首先要定义时钟分组,然后再添加相应的约束,如: NET“ clk_50MHz” =“ syn_clk”;
TIMESPECT“ TS_syn_clk” = PERIOD“ syn_clk” 20 HIGN 10;
TIMESPEC 利用识别符定义派生时钟的语法为:
TIMESPEC“ TS_identifier2” = PERIOD“ timegroup_name” “ TS_identifier1”
[* | /] 倍数因子 [+| -] phasevalue [ 单位]
其中,TS_identifier2 是要派生定义的时钟,TS_identifier1 为已定义的时钟,“倍数因子”用于给出二者周期的倍数关系,phasevalue 给出二者之间的相位关系。如:
定义系统时钟clk_syn :
TIMESPEC“ clk_syn” = PERIOD“ clk” 5ns;
下面给出其反相时钟clk_syn_180 以及2 分频时钟clk_syn_half :
TIMESPEC“ clk_syn_180” = PERIOD“ clk_180” clk_syn PHASE + 2.5ns;
TIMESPEC“ clk_syn_180” = PERIOD“ clk_half” clk_syn / 2;
2.偏移约束
偏移约束也是一类基本时序约束,规定了外部时钟和数据输入输出引脚之间的相对时序关系,只能用

