输入偏移约束最常用的一种形式
扫描二维码
随时随地手机看文章
输入偏移约束最常用的一种形式是OFFSET IN BEFORE,它定义的是数据先于采样时钟多长时间有效;另一个参数是数据有效窗口,也称“眼宽”,如图1所示。因为数据何时无效对保持时间分析至关重要,所以VALID这个参数对保持时间分析是必需的。对建立时间的分析,如果不加这个参数,则默认用OFFSET。当进行保持时间分析时如果不加这个参数,工具会用TRCE_fastpaths来报告保持时间。但是不会分析路径,也不会检查是否违规。
输入偏移约束是全局约束,默认参数会应用于所有用该时钟作为采样的输入数据引脚。但有时某些引脚会有不同的约束要求,这种情况下可以将这些引脚分组并分别做不同的约束。图2所示为相同时钟,但需采用不同输入偏移约束的范例。SysClk驱动了4个寄存器,但是SRAMData[1∶0]和FPGAData[1∶0]却有各自不同的OFFSET IN要求。
图1 输入偏移约束
图2 相同时钟、不同输入偏移范例
可以用这样的UCF生成PAD分组。
用户约束文件(UCF)范例:
TIMEGRP "SRAMGroup" = PADS( "SRAMData(1)" "SRAMData(0)");
OFFSET IN<time><unit>VALID<time><unit>BEE○RE<clk>TIMEGRP SRAMGroup ;
现在对输入时序分析有了基本的认识,可以进一步分析一个常用的输入接口标准——系统同步接口。系统同步接口是指源头和目的器件的内部寄存器都使用同一个全局时钟。对于如图3所示的设计,板级的时钟偏斜和数据延时限制了系统速度性能。因为从源端器件发出的数据必须在一个时钟周期内到达目的器件,所以这种系统同步接口适合于较低速度的单数据率应用。
图3 板间或器件之间的互连约束
来源:ks990次