XDC约束技巧之CDC篇
继《XDC 约束技巧之 I/O 篇(上) 》详细描述了如何设置 Input 接口约束后,我们接着来聊聊怎样设置 Output 接口约束,并分析 UCF 与 XDC 在接口约束上的区别。
本文摘自《Vivado使用误区与进阶》,作者为Xilinx工具与方法学应用专家Ally Zhou。
FPGA 做 Output 的接口时序同样也可以分为系统同步与源同步。在设 置 XDC 约束时,总体思路与 Input 类似,只是换成要考虑下游器件的时序 模型。另外,在源同步接口中,定义接口约束之前,需要用 create_generated_clock 先定义送出的随路时钟。
01
Output 接口类型和约束
FPGA 做 Output 的接口时序同样也可以分为系统同步与源同步。在设 置 XDC 约束时,总体思路与 Input 类似,只是换成要考虑下游器件的时序 模型。另外,在源同步接口中,定义接口约束之前,需要用 create_generated_clock 先定义送出的随路时钟。
系统同步接口
与 Input 的系统同步接口一样,FPGA 做 Output 接口的系统同步设 计,芯片间只传递数据信号,时钟信号的同步完全依靠板级设计来对齐。所以设置约束时候要考虑的仅仅是下游器件的 Tsu/Th 和数据在板级的延 时。
上图是一个 SDR 上升沿采样系统同步接口的 Output 约束示例。其 中,-max 后的数值是板级延时的最大值与下游器件的 Tsu 相加而得出, -min 后的数值则是板级延时的最小值减去下游器件的 Th 而来。
源同步接口
与源同步接口的 Input 约束设置类似,FPGA 做源同步接口的 Output 也有两种方法可以设置约束。
方法一我们称作 Setup/Hold Based Method,与上述系统同步接口的设置思路基本一致,仅需要了解下游 器件用来锁存数据的触发器的 Tsu 与 Th 值与系统板级的延时便可以设置。
方法二称作 Skew Based Method, 此时需要了解 FPGA 送出的数据相对于时钟沿的关系,根据 Skew 的大小和时钟频率来计算如何设置 Output 约束。具体约束时可以根据不同的已知条件,选用不同的约束方式。一般而言,FPGA 作为输出接口时,数据相 对时钟的 Skew 关系是已知条件(或者说,把同步数据相对于时钟沿的 Skew 限定在一定范围内是设