详解详解FPGA的时序以及时序收敛的时序以及时序收敛
1.FPGA时序的基本概念FPGA器件的需求取决于系统和上下游(upstream and downstrem)设备。我们的设计
需要和其他的devices进行数据的交互,其他的devices可能是FPGA外部的芯片,可能是FPGA内部的硬核。 对
于FPGA design来说,必须要关注在指定要求下,它能否正常工作。这个正常工作包括同步时序电路的工作频
率,以及输入输出设备的时序要求。在FPGA design内部,都是同步时序电路,各处的延时等都能够估计出
来,但是FPGA内部并不知道外部的设备的时序关系。所以,timing constraints包括 输入路径(Input paths )
寄存器-寄存器路径(Register-to-register paths )输出路径(Output paths )例外(Path specIFic excepTIons
)这正好对应了上图中三个部分,Path specific excepTIons 暂时不提。Input paths对应的是OFFSET IN约束,
即输入数据和时钟之间的相位关系。针对不同的数据输入方式(系统同步和源同步,SDR和DDR)
1.FPGA时序的基本概念FPGA器件的需求取决于系统和上下游(upstream and downstrem)设备。我们的设计需要和其他的
devices进行数据的交互,其他的devices可能是FPGA外部的芯片,可能是FPGA内部的硬核。
对于FPGA design来说,必须要关注在指定要求下,它能否正常工作。这个正常工作包括同步时序电路的工作频率,以及输入
输出设备的时序要求。在FPGA design内部,都是同步时序电路,各处的延时等都能够估计出来,但是FPGA内部并不知道外
部的设备的时序关系。所以,timing constraints包括
输入路径(Input paths )
寄存器-寄存器路径(Register-to-register paths )
输出路径(Output paths )
例外(Path specIFic excepTIons )
这正好对应了上图中三个部分,Path specific excepTIons 暂时不提。
Input paths对应的是OFFSET IN约束,即输入数据和时钟之间的相位关系。针对不同的数据输入方式(系统同步和源同
步,SDR和DDR)有不同的分析结果。
Register-to-register paths 对应的是整个FPGA design的工作时钟。如果只有一个时钟,那么只需要指定输入的频率即可。如
果有多个时钟,这些时钟是通过DCM,MMCM,PLL生成的,那么显然ISE知道这些时钟之间的频率、相位关系,所以也不需
要我们指定。如果这些不同的时钟是通过不同的引脚输入的,ISE不知道其相位关系,所以指定其中一个为主时钟,需要指定
其间的相位关系。
Output paths对应的是OFFSET OUT 约束,和OFFSET IN约束很类似,不过方向相反。
2.输入时序约束
The input TIming constraints cover the data path from the external pin or pad of the package of theFPGA device to the
internal synchronous element or register that captures that data.
输入时序约束控制外部引脚到内部模块的路径。采用OFFSET IN来指出输入时序约束。也就是说OFFSET IN定义了时钟沿河
被采集数据的关系(相位)。这里我们关心两类不同的输入方式,系统同步输入和源同步输入。(对于SDR和DDR,即单数
据速率和双数据速率而言,区别只在于一个时钟周期的采样次数,不做说明)
System Synchronous inputs
系统同步输入,指由同一时钟传输和捕获数据,如下图所示。