FPGA时序约束之时序路径和时序模型
2 时序路径
(资料图片)
时序路径作为时序约束和时序分析的物理连接关系,可分为片间路径和片内路径。
片间路径是指FPGA芯片与外围芯片的物理路径;
片内路径是指FPGA芯片内部根据设计的代码所实现的路径;
时序约束和时序分析所关注的是片间路径,如下图所示;
3 时序模型
FPGA的典型的时序模型如下图所示,完整的时序路径包括包括源时钟路径、传输路径、组合逻辑和目的时钟路径,也可以表示为触发器(FF)+线路(Route)+组合逻辑(Logic)+触发器(FF)的模型。
根据上图的时序模型,在进行时序电路设计时,时序需满足一定的要求,图中该路径的建立时间时序要求为:
Tclk≥Tco+Tlogic+Troute+Tsetup-Tskew;
其中,
Tclk 为时钟周期;
Tco为发送端寄存器时钟到输出时间;
Tlogic为组合逻辑时间延迟;
Troute为两级寄存器(两个寄存器)之间的布线延迟;
Tsetup为接收端寄存器建立时间;
Tskew为两级寄存器的时钟歪斜(即到达寄存器的时间偏差),其值等于时钟同边沿到达两个寄存器时钟端口的时间差。
上述为建立时间的时序要求。下面讲述一下保持时间时序要求:
保持时间相对来说要难理解,是指数据在时钟上升沿后需保持的最小时间量,这里已经在上一篇讲解过。通俗意思是说寄存器1的数据不能太快到达寄存器2,以防止寄存器2采集新数据太快而导致原来的数据被覆盖。
NOTE:保持时间约束是对同一个时钟边沿约束,而不是对下一个时钟进行约束。
详细描述:如上图,寄存器2在边沿2时刻刚刚捕获寄存器1在边沿1时刻发出的数据,若寄存器1在边沿2时刻发出的数据过快到达寄存器2,则会冲掉前面的数据,因此保持时间约束的是同一个边沿(这里要注意,实际是同一个时钟源,所以说是同一个边沿)。
在时钟沿到达之后,数据要保持Thold的时间,如上图所示(图中为表示方便加大了时序宽度,实际上比较小),要满足以下公式:
Tco+Tlogic+Troute≥Tskew+Thold