STA分析-复制

发布时间 2023-04-07 22:29:28作者: 韭菜满仓

1 静态时序分析(Static Timing Analysis)
静态时序分析(Static Timing Analysis):静态执行对于数字设计时序的分析,不依赖于施加在输入端口上的激励,验证设计是否可以安全地运行在给定的时钟频率下且没有时序违例
时序仿真(Timing Simulation):施加一组激励,观察在这组激励下电路行为是否符合要求,然后换一组激励再重复以上过程
建立时间检查:保证数据可以在给定时钟周期内到达触发器
保持时间检查:保证数据在被触发器采样后还能保持一定时间,不会漏采数据
STA的运行:
在逻辑设计的逻辑综合后运行:确定最差或关键的时序路径
在逻辑设计的逻辑优化后运行:查看是否有剩余的唏嘘违例路径需要优化,或确定关键路径
在物理设计中:可以在每一部执行STA以确定最差路径
不同阶段下,STA采用的模型:
逻辑设计阶段:
理想的互连线或基于线负载模型的互连线
带有延迟和抖动估计值的理想时钟
物理设计阶段(包括上面2种模型):
具有近似估计值的全局布线的互连线、具有近似寄生参数提取值的实际布线的互连线、具有可以签核(Signoff)精度寄生参数提取值的实际布线的互连线
实际的时钟树
包括串扰的影响或者不包括串扰的影响
SDC(Synopsys Design Constraints):设计约束文件基于TCL(Tool Command Language)格式,由Synopsys公司开发定义,用于电路的逻辑综合,对电路的时序、功耗、面积等进行约束。
2 波形的压摆(Slew)
波形(Waveform):定义时钟的高电平时间
上升沿(Rising):时钟信号从0到1的转变时间
下降沿(Falling):时钟信号从1到0的转变时间
有效沿(Active):分为上升沿和下降沿
转换时间(Transition Time):信号在两个特定电平之间转换所需要的时间
压摆率(Slew Rate):电压转换速率
下降压摆(Fall Slew):下降沿达到Vdd的slew_upper_threshold_pct_fall和slew_lower_threshold_pct_fall的时间之差
上升压摆(Rise Slew):上升沿达到Vdd的slew_lower_threshold_pct_rise和slew_upper_threshold_pct_rise的时间之差
压摆阈值点的选择对应的是波形的线性部分
压摆降额系数(Slew Derate Factor):用slew_derate_from_library进行配置,压摆测量预置点为30%和70%且压摆降额系数为0.5,等效于测量阈值点为10%和90%,(70 - 30) / (90 - 10) = 0.5
3 信号偏斜(Skew)
时钟延迟(Clock Latency):从时钟源到终点所花费的总时间,SDC中用set_clock_latency命令显式地指定时钟树的延迟
时钟抖动(Jitter):信号时间与理想事件时间的偏差(Deviation)
时钟偏斜(Clock Skew):到达不同时钟树终点的时间差,是最长时钟路径和最短时钟路径的延迟差,时钟偏斜在SDC中用set_clock_uncertainty命令显式指定时钟不确定度的值,该值包括时钟抖动、时钟偏斜估计值和额外悲观度
4 时序路径(Clock Path)
路径延迟(Path Delay):逻辑通过逻辑路径传播的总延迟,包括逻辑路径中经过各个逻辑单元和网络走线的延迟
最大时序:逻辑从时钟的根节点到达逻辑终点的最大延迟时间
最小时序:逻辑从时钟的根节点到达逻辑终点的最小延迟时间
最大时序路径:也称为晚路径(Late Path),延迟最大的路径
最小时序路径:也称为早路径(Early Path),延迟最小的路径
5 时序弧(Timing Arc)
时序敏感(Timing Sense):输出如何针对输入的不同跳变类型而变化
时序弧(Timing Arc):每个输入引脚到每个输出引脚都存在一条时序弧
正单边类型(Positive Unate):输入引脚上升沿跳变导致输出引脚电平上升(或不变),而输出引脚的下降沿跳变导致输出引脚电平下降(或不变),表示输出引脚电平跳变方向与输入引脚电平跳变方向相同
负单边类型(Negative Unate):输入引脚上升沿跳变导致输出引脚电平下降(或不变),而输出引脚的下降沿跳变导致输出引脚电平上升(或不变),表示输出引脚电平跳变方向与输入引脚电平跳变方向相反
非单边类型(Non-Unate):仅从一个输入引脚的跳变方向无法确定引脚电平将如何跳变,还取决于其他输入引脚的状态
6 时钟域(Clock Domain)
时钟域:由同一时钟驱动的一组触发器
时钟域独立:不存在从一个时钟域开始而在另一个时钟域结束的数据路径
伪路径(False Path):将时钟同步器(Clock Synchronizer)逻辑明确放在两个时钟域之间,不是真实的时序路径,数据没有被约束要在一个时钟周期之内通过同步器逻辑传播,在SDC中用set_false_path命令指定时钟域之间的伪路径
7 工作环境(Operating Condition)
(1)静态时序分析3种标准的工作环境:

最坏情况下的慢速WCS(Worst-Case Slow):工艺慢(Slow)、温度最高(如125°C)、电压最低(如1.2V x 90%)
典型TYP(Typical):典型(Typical)工艺,温度是额定值(如25°C),电压是额定值(如1.2V)
最佳情况下的快速BCF(Best-Case Fast):工艺快(Fast),温度最低(如-40°C),电压最高(如1.2V x 110%)
(2)功耗分析(Power Analysis)工作环境:

最大漏电功耗ML(Maximal Leakage):工艺快,温度最高(如125°C),电压最高(如1.2V x 90%)
典型漏电功耗TL(Typical Leakage):经典工艺,温度最高(如125°C),电压是额定值(如1.2V)
8 时序模型(Timing Model)
时序模型:对设计中的单元实例(Instance)工作时的实际情况进行建模
线性延迟模型(Linear Delay Model):D = D0 + D1 x S + D2 x C,D0、D1、D2为常数,D为逻辑单元的延迟,S为输入过渡时间,C为输出负载电容
输入过渡时间(Input Transition Time):信号过渡时间越大,延迟越大
输出负载电容(Output Load Capacitance):负载电容越大,延迟越大
非线性延迟模型(NLDM,Non-Linear Delay Model):以二维形式表示,两个独立变量是输入过渡时间和输出负载电容,表中的数值表示延迟
计算延迟:cell_rise、cell_fall
计算逻辑单元输出引脚的过渡时间:rise_transition、fall_transition
状态相关的时序模型(State-Dependent Model):取决于引脚状态的多个时序模型
使用when来指定与状态有关的条件
可以既使用状态相关的时序模型又使用非状态相关的时序模型来指定一些时序关系
黑盒(Black Box)的接口时序模型:其可以具有以下时序弧:
纯组合逻辑路径的输入到输出的时序弧
从同步输入端口到相关时钟端口的建立时间和保持时间时序弧
从异步输入端口到相关时钟端口的恢复时间和撤销时间时序弧
从时钟端口到输出端口的输出传播延迟
CCS时序模型(Composite Current Source,复合电流源):使用随时间变化且依赖电压的电流源,为不同情况下的接收引脚电容和输出充电电流指定详细时序模型
接收引脚电容(Receiver Pin Capacitance):在过渡波形的不同部分分别指定接收引脚电容,用receiver_capacitance_rise和receiver_capacitance_fall分别定义输入引脚上用于上升沿波形的接收电容及输入引脚上用于下降沿波形的接收电容
输出充电电流(Output Charging Currents):根据输入过渡时间和输出负载电容的不同组合指定随时间变化的输出电流,用output_current_rise和output_current_fall来分别定义上升输出波形的输出电流及下降输出波形的输出电流
CCS噪声模型(CCSN,CCS Noise):对单元内不同的CCB进行表示
CCB(Channel Connected Block):沟道连接块,是单元的源极(Source)、漏极(Drain)的沟道(Channel)的连接块
du_current定义输出引脚上针对输入和输出引脚电压不同组合的直流电流
output_voltage_rise和output_voltage_fall定义CCB输出上升和下降的时序信息
propagated_noise_high和propagated_noise_low定义通过CCB的串扰噪声传播信息,包括输入噪声幅值和宽度
9 时序检查(Timing Check)
同步时序检查(Synchronous):建立时间和保持时间检查
建立时间(Setup Time):输入的数据必须在有效时钟沿之前保持稳定的最短时间
保持时间(Hold Time):有效时钟沿之后输入的数据必须保持稳定的最短时间
timing_type决定该时序逻辑单元是上升沿触发还是下降沿触发,rise_constraint和fall_constraint决定时间约束
负值保持时间表示触发器的数据引脚可以在时钟引脚之前改变,并且仍然满足保持时间的检查要求
建立时间和保持时间的数值总和应为正值
异步时序检查(Asynchronous):恢复时间和撤销时间检查
异步恢复时间和撤销时间检查:验证异步引脚在下一个时钟有效边沿处是否已明确返回到了无效状态
异步引脚无效状态(Inactive):有效时钟沿将开始锁存输入的数据
异步引脚有效状态(Active):输出由异步引脚控制
恢复时间(Recovery Time):异步输入被置为无效(De-asserted)后在下一个有效时钟沿之前需要保持稳定的最短时间
撤销时间(Removal Time):一个有效时钟沿后,异步引脚必须保持有效状态的最短时间,即在有效时钟沿之后必须经过一段撤销时间才能将异步引脚置为无效状态
脉冲宽度检查(Pulse Width Check):确保逻辑单元引脚上的脉冲宽度满足最低要求,timing_type为min_pulse_width
对于触发器的同步输出,有着从时钟引脚(CK)到输出端口(Q或QN)传播延迟检查
传播延迟(Propagation Delay):从时钟的有效沿到输出的上升沿或下降沿
10 功率(Power)
有功功率(Active Power):与单元输入和输出引脚上的行为有关
输出开关功率(Output Switching Power):与单元类型无关,取决于输出负载电容、开关频率和供电电源
内部开关功率(Internal Switching Power):取决于单元类型,是当单元的输入或输出处于活动状态时单元内部的功耗
触发器在每次时钟切换,都会消耗功率,通常是由触发器单元内部反相器的开关引起。即使触发器输出未切换,也会消耗由于时钟引脚切换引起的功率
漏电功率(Leakage Power):与MOS器件的亚阈值电流和栅极氧化物隧穿电流有关
高阈值电压单元漏电小,速度慢;低阈值电压单元漏电打,速度快
温度越高,亚阈值电流越高
————————————————
版权声明:本文为CSDN博主「Remoa」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/remoa_dengqinyi/article/details/128952611