时序初步
0赞0、建立时间(Tsu)是指时钟信号上升沿到来以前数据稳定不变的时间;保持时间(Th)是指在触发器的时钟信号上升沿到来以后数据稳定不变的时间;如果建立时间或者保持时间不够,数据将不能在这个时钟上升沿被打入触发器;
1、Micro Tco=寄存器固有时钟输出延时,第一级寄存器在0 时刻采集D1上的电平,输送给Q1端。这里处理这段操作的时间为
Micro Tco,即时钟到输出(clk到output 的时间),Tsu=同步元件的建立时间。
2、Tskew=tcd2-tcd1,用Tclk+Tskew时刻的有效沿去采集D端口的数据。
时钟周期Tclk= Micro Tco+Tlogic+Tnet+ Micro Tsu-Tskew
设Tdelay= Tlogic+Tnet
3、待传送的电平在时钟到来时经过Tco 出现在Q1端,然后经过Tdelay 的时间,才到达D2端口。正确电平出现在D2端口的时刻为Tco+Tdelay 。根据建立时间的要求,第二级寄存器D 端数据至少比时钟有效边沿提前Tsu 时间。于是有建立时间的公式如下:Tco+Tdelay
1、Tco+Tdelay
其中Tco,Tsetup ,Th是跟触发器工艺相关的值。对于同一款FPGA 内的同一种触发器,这里的值是不变的。而且,它们都是比较小的值(都不到1ns)。T 是时钟周期,跟我们选择的时钟速度有关,100MHz 时钟对于10ns 的T 。Tdelay 是线路和组合逻辑延时,所以跟不同的布局布线结构有关,它通常是在ns 级的。
如果我们使用的是全局时钟,寄存器的时钟端连接到同一个时钟树上,到达各个寄存器的时钟有效边沿时刻相差极小,可以在全局时钟系统中忽略时钟之间的延时,此时时钟偏斜Tskew 非常小可以忽略,那么上面两个公式就简化为:
- Tco+Tdelay
- Tco+Tdelay>Tskew+Th
全局时钟连接方式下对于保持时间来说,Tco+Tdelay>Th 的要求在布线结果中是全部可以满足的(Tdelay 远大于Th)。因此在这种设计中,我们通常更关注建立时间是否合乎要求。
假若时钟间的延时不可忽略(没有在所有模块使用全局时钟),那么Tpd的值就可能会很大。以至于出现保持时间的违例。相反这个时候建立时间要求就宽松了。
而通常使用全局时钟进行同步设计,所以这里主要考虑建立时间的公式如下:Tco+Tdelay +Tsu