ISE时序约束(参考Xilinx UG612)
- Global Offset
golbal offset 的约束语句如下:
OFFSET = IN value VALID value BEFORE clock;
其中OFFSET = <value>
定义了从采样时钟的上升沿到所传输数据使能之间的时间间隔,如下图:
实现图中时序约束的具体代码为:
NET "SysClk" TNM_NET = "SysClk";
TIMESPEC "TS_SysClk" = PERIOD "SysClk" 5 ns HIGH 50%; #200MHz时钟,占空比50%
OFFSET = IN 5 ns VAILD 5 ns BEFORE "SysClk";
在DDR传输的情况下,上升沿下降沿分别进行一次数据采集,如下图:
此时需要对上升沿下降沿分别进行约束
OFFSET = IN value VAILD vaule BEFORE clock RISING;
OFFSET = IN value VAILD vaule BEFORE clock FALLING;
语句中OFFSET = <value>
分别定义采样沿至数据段使能直接的间隔时间,以图中1.25ns为例,约束代码如下:
NET "SysClk" TNM_NET = "SysClk";
TIMESPEC "TS_SysClk" = PERIOD "SysClk" 5 ns HIGH 50%; #200MHz时钟,占空比50%
OFFSET = IN 1.25 ns VAILD 2.5 ns BEFORE "SysClk" RISING;
OFFSET = IN 1.25 ns VAILD 2.5 ns BEFORE "SysClk" FALLING;
在DDR
- TNM_NET 与 TNM on a net 之间的区别:TNM_NET 只能用于 net 对象,用于其它如 pin 或 instance 会报错