STA Timing的路径和计算

Q1:时序分析是做什么的?
A1:
  时序分析是用来检查D触发器的功能是否正确;
  检查D触发器的数据输入端口是(同步端口)否满足建立时间(setup)和保持时间(hold)的要求;、
  检查D触发器的复位端口(异步端口)是否满足恢复时间(Recovery)要求和移除时间要求(Removal)。
PS:时序分许包括静态时序分析和动态时序分析;本文章只涉及静态时序分析(STA)
 
时序分析中常用的词汇:
Source Clock/Launch Clock:源时钟
Capture Clock:捕获时钟/目的时钟
Launch edge:源时钟产生数据的有效时钟沿
Capture edge:目的时钟捕获数据的有效时钟沿
PS:发起沿通常是0ns,捕获时钟通常在下一个发起沿;Launch edge和Capture edge通常相差一个时钟周期(T)
通俗的讲就是:
setup time
时钟源CLK在经过network latecny之后,第一个上升沿到达REG1的CLK端,并触发REG1的数据输入REG2的D端,
此时CLK的第一个上升沿同时也发送至REG2的CLK,在这种情况下它所需要的时间相比data latency非常短,此时检查setup time对此次数据传输没有意义,增加周期后才有意义
hold time
第一波数据稳定输入REG2D与第二波数据传输只REG2D对莹REG2CLK是同一个时钟信号,所以不用加周期计算

 

时钟路径构成的要素:
1:Source clock path ——从源时钟的节点到源寄存器的时钟端口的路径
2:data path ——从时序路径的起点到时序路径的终点之间的数据传播路径
3:capture path——从Capture edge到目的寄存器的时钟端口的路径
 
AB:Source clock path;
BD1:data path
A1B1:capture path
A和A1是同一个CLK的起点

 

  -----------------------------------------------------------------------------------------------------------------------------------------------

建立时间(setup time)和保持时间(hold time)的概念

setup time:输入信号DATA先于时钟信号CLK动作到达的时间(FF的D端数据进入,FF对数据进行保持setup time,之后CLK端的上升沿到达,数据输出;即在setup time中CLK的触发信号是后到的,故T_Required>T_Arrival)

hold time:时钟信号CLK动作到达后,输入信号仍然保持不变的时间(CLK端的上升沿到达,FF对数据进行保持hold time,保证输出数据的完整;即在Hold time中CLK先到,故T_Arrival>T_Required)

 required time:CLK源到FF的CLK端的延迟

setup:

Data required time = T_A1B1 +T_CLK-T_setup(数据的capture parh➕一个CLK的周期➖需要保持的时间,这是数据实际的到达时间)

hold:

Data required time = T_A1B1+T_hold(数据的capture path➕FF的CLK信号的保持时间)

 PS:

由上述定义可得出如下内容:

1,setup中数据时间先到且保持一定时间(T_setup)后得到上升沿时钟触发后数据再流出

2,hold中上升沿时钟触发后数据需保持一定时间后再彻底流程截至;

3,T_setup time=时钟到达时间-数据到达时间;T_hold time=数据到达时间-时钟到达时间

--------------------------------------------------------------------------------------------------------------------------------------------------

数据到达时间(data arrival time)、时钟到达时间(clock arrival time)、数据需求时间(required time)

数据到达时间:AD1 

T_AD1=T_AB+T_BQ+T_QD1

Tclk1:时钟到达寄存器时间

Tco:寄存器输出延时

Tdata:数据传输延时

T_AB:T_launch(CLK源到FF的CLK端的延迟)

T_BQ:T_ck2q(FF内部延迟)

T_QD1:T_dp(logic延迟)

时钟到达时间:A1B1

T(A1B1)=Capture path

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------

建立余量(setup slack)

setup slack= Data required time - data arrival time

保持余量(hold slack)

hold slack=data arrival time - Data required time

 

 

 

posted @ 2022-07-20 11:22  chippeace  阅读(439)  评论(0)    收藏  举报