首页 > 代码库 > FPGA时序分析的一些理解

FPGA时序分析的一些理解

最开始看的一些资料,大家其实讲得都差不多,但是我却看得云里雾里的,应该是还没真正理解这个东西。

今天心血来潮又把 《七天玩转ALTREA之时序篇》拿出来看了看,应该有些豁然开朗的感觉,在下实属愚笨,想透彻理解一个东西太慢。

首先看一下寄存器到寄存器的路径,如图1:


data arrive time:数据到达REG2.D的时刻。进行时序分析时,setup 和hold时间分析时的data arrive time的计算公式都是一样的

关于data arrive time的理解要基于第一个寄存器REG1进行分析的,和寄存器2(REG2)无关,REG1是数据传输发起的寄存器。

数据何时可以到达REG2.D即触发器2的D输入端,主要是由REG1和中间的组合逻辑Comb决定的,这个时间T=Tclk1+Tco+Tdata,因为这个寄存器后逻辑已经固定,所以

只要是有这个寄存器发起的数据传输,这个时间都是固定的。设数据传输发起的clk上升沿时刻为lanch,则data arrive time=lanch+Tclk1+Tco+Tdata,如下图。


总之,上面这句话的概括为:data arrive time是在发起(源)寄存器REG1的基础上进行分析的。CLK的第一个上升沿启动的这次数据传输,从上升沿这一时刻起,到数据到达REG2.D的时间。即为data arrive time。




FPGA时序分析的一些理解