数字IC笔试题(5)——静态时序分析【hold time裕量计算】【时序违例计算】

2021-10-25 16:29:05 浏览数 (1)

下面的电路中,flip-flop 2 的 hold time margin 是多少 ns?

(hold time margin,margin是裕量,整个是保持时间裕量)

答案:0.2

解析:

(1)A输入端口经过与门到达 flop2 的路径不需要分析(已经设置了fasle path伪路径,不进行时序分析);

(2)B输入口输入延时 input delay 为 5 ns,如下图所示,B 输入有效跳变发生在时钟 CLK 有效沿 5 ns 后;

(3)CLK 输入端口到达 flop1 的 CK 时钟口有路径延时 0.3 ns,如下图所示;

(4)CLK 输入端口到达 flop2 的 CK 时钟口有路径延时 0.5 ns,即相对 flop1.CK 有 0.2 ns 延时,如下图所示;

(5)flop1 的 Q 输出相对 flop1.CK 延时 Tco(即图中 Tck2q);

(6)flop1 的 Q 输出到达 flop2 的 D 输入端还需要 Tdata(或者叫 Tlogic);

(7)上述时间要大于 Tskew 时钟抖动 和 Th 保持时间,否则可能出现亚稳态,Tck2q Tlogic - Tskew - Th >= 0

实际上:

Hold slack(保持时间的余量) = Data Arrival Time – Data Required Time,其中Arrivel Time到达时间,Required Time要求数据到达的时间;

Data Arrival Time = next launch edge Tclk1 Tco Tdata,下一个数据发起沿开始,加上Tclk1(时钟到达第一个寄存器的路径延时),加上Tco(clk端边沿来临后,数据送到Q端的延时),加上Tdata(组合逻辑路径延时) ,这是数据在时钟边沿发起后到达第二个寄存器的时间

Data Required Time = latch edge Tclk2 Th Hold Uncertainty,其中对于Hold来说两个寄存器的边沿一样,Tclk2是时钟到达第一个寄存器的路径延时,Th是第二个寄存器的hold time要求,Hold不确定性在本题中为0,

所以:

Hold slack

= (next launch edge Tclk1 Tco Tdata) - (latch edge Tclk2 Th)

= (Tclk1 - Tclk2) Tco Tdata - Th

Hold slack = (Tclk1 - Tclk2) Tco Tdata - Th(其中 Tskew = Tclk2 - Tclk1),所以:

Hold slack = Tco Tdata - Th - Tskew >= 0

数字IC笔试题(4)——资源和速度【关键路径】【timing时序】【位宽扩展】

什么是STA静态时序分析,有什么作用?【FPGA/数字IC笔试面试】

FPGA中亚稳态【Tsu建立时间】【Th保持时间】【Tmet决断时间】【recovery恢复时间】【removal移除时间】

0 人点赞