28 静态时序分析(STA)基础——上

总结课程的文章推荐:http://t.csdn.cn/fWPf9

 塞琳思:XDC,DC:SDC 都是以这节课为基础。——目标:为DC做准备! check 寄存器的setup/hold。 了解 clock:占空比、延迟等。 高级STA:如 on-chip variation, 静态时序分析——On-chip Variation OCVCPPR模式 - 简书

目录

1.静态时序分析原理——STA目的是为DC服务

分析是为了保证某种功能的正确性——因而定义了各种check——Timing check 时序分析——静态时序分析

1.1 DFF setup/hold check

1.2 Async Reset/Set recovery/removal requirement 的 check

1.为什么在异步复位/置位端会有 recovery/removal的需求?

1.3 signal pulse width requirement 的check

1.4 clock gate setup/hold 的check——时钟脉冲门的setup/hold check——时钟脉冲门理解为一个元器件就好

1.5DRC(Design Rule Check)的要求

1.6 什么是综合?

2.Stander Cell Library认识元件库

2.1 标准元件库的制程——三种Corner

1.任何一个制程至少提供有三种 cornor

2.为什么有这些Corner ?

3.为什么需要三种library ——需要在各种环境内正常工作

4.threshold voltage 门限电压

2.2运行条件

2.3延时用 Transiton传输 + capacity电容?——定义的组合查表获得

2.4cell 的delay计算——CMOS——RC模型

2.5时延的Look up table 定义/Power LUT 定义

2.6 Cell元件的定义/元件延时定义

2.7 总结:为什么需要DRC check

3.Clock相关概念

3.1相关概念

3.2 SDC中如何定义clock——整个是tcl tickle的写法

 深入内容和复习见——下


1.静态时序分析原理——STA目的是为DC服务

DRC和root DRC检查有差别,root的会检查金属线的宽度等,我们这里是DC综合的DRC,其余DRC是place布局布线工具中需要满足的。

分析是为了保证某种功能的正确性——因而定义了各种check——Timing check 时序分析——静态时序分析

1.1 DFF setup/hold check

寄存器——原因:保证寄存器不出现 亚稳态。所以需要做setup/check

1.2 Async Reset/Set recovery/removal requirement 的 check

1.为什么在异步复位/置位端会有 recovery/removal的需求?

假设没有 reset/removal 形成的时间窗口,那么如图中在CK的上升沿,ARST同时生效,此时寄存器是复位?还是将D端的数据寄存到Q?——存在歧义! 假设design中有100个寄存器——那么可能出现,其中40个复位了,而其他60个开始进行计算了,出现了不同步的现象!——此时RTL仿真和行为出现了差异。

 为什么不定义AReset 1 到 0 的窗口?——因为复位端有效,就算抓到了信号,最后也会被reset,所以最终整个效果是——100个寄存器都被复位了!(顶多出现了一些毛刺)

1.3 signal pulse width requirement 的check

通常用在 clock 检测上——时钟宽度不能太短——否则寄存器等不会工作
同时也会放在Async Reset端去看——reset信号的宽度不能太短——否则寄存器等不会复位

1.4 clock gate setup/hold 的check——时钟脉冲门的setup/hold check——时钟脉冲门理解为一个元器件就好

参考博客——http://t.csdn.cn/57w2l

如果clk gate发生violation,比如clk_en在clk的下降沿才拉高,这样组合逻辑或门的输出clk_gate就会先低后高,产生一个非常短的毛刺,这就不行了,所以这里就要求clk_en在上升沿后面一点点,在下降沿前面一点点,这样就不会clk gate violation。

这里是clock gate时钟门的一种做法——因为在这里gate掉,所以clk_gate输出看不到这里的上升沿。 为什么会有clock gate的setup/hold check?——保证clk_gate输出不会有毛刺 此图的hold还有点violation。

1.5DRCDesign Rule Check)的要求

 还包括计算design是否满足DRC(Design Rule Check)的要求:电路的最大电容不能超过设置的最大电容(capacitance)、电路的翻转时间(transition)不能超过设置的最大值,电路的扇出(fanout)不能超过最大值。

1.6 什么是综合?

2.Stander Cell Library认识元件库

 

2.1 标准元件库的制程——三种Corner

1.任何一个制程至少提供有三种 cornor

SS:n/p都慢的Corner,TT:均为标准水平,FF:n/p都快的Corner

2.为什么有这些Corner ?

**在slow Corner的时候——关注setup分析check——因为cell比较慢(因为p/N管子工作在slow状态下,此时整个Cmos管子在建立传输的时间肯定是长的),所以setup是很容易violation的

在fast Corner的时候——关注hold的check——fast时,cell元件的delay很小,因此hold很容易出错。

3.为什么需要三种library ——需要在各种环境内正常工作

同一个芯片在各个环境下都要能工作,此时他的setup/hold在各个场景下都得满足

4.threshold voltage 门限电压

LVT——也有各种operation Corner。LVT——delay小,因为小电压就导通了——但 leakage 漏电级电流增大?——功耗增加?。 HVT——delay就大点。

2.2运行条件

slow是延时高的情形

 

2.3延时用 Transiton传输 + capacity电容?——定义的组合查表获得

2.4cell 的delay计算——CMOS——RC模型

 

 

2.5时延的Look up table 定义/Power LUT 定义

 

2.6 Cell元件的定义/元件延时定义

 cell rise delay:输入A端变化,输出从0-1的变化的delay。 cell fall delay:

 

 后面0.39 到 0.76 到1.5,跃变是很大的,越到后面越不准确,因此工厂也会要求尽量往下压一下,这样设计更加准确。

问fab代工厂,问提供cell library的人——maximum_trainsition maximum_capacitance 在点13的工艺上,究竟是多少合适?

2.7 总结:为什么需要DRC check

1.前提条件:前提条件——提取的参数不能大于最大的 Maximun_transition 等
2.建议:询问代工厂等,建议的工作区间

3.Clock相关概念

3.1相关概念

 为什么画inverter Tree而不是buffer Tree?
1..因为buffer就是两个inverter相连所以inverter延时小,所以画inverter
2.用inverter能很好的保证duty cycle!!!!

3.2 SDC中如何定义clock——整个是tcl tickle的写法

SDC——使用tickle的脚本写的
所有的参数定义——都是根据实际情况设置的

 深入内容和复习见——下

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
STAStatic Timing Analysis)静态时序分析是设计验证中非常重要的一部分,它能够保证设计的时序满足要求,并且对于设计中存在的时序问题进行诊断和修复。PT(PrimeTime)是业界较为常用的 STA 工具之一。下面是一个 PT 做 STA 静态时序分析的教程。 1. 确定时序约束 时序约束文件是进行静态时序分析基础,它描述了设计中的时序要求。时序约束应该包括时钟频率、时钟时序、输入输出延迟等信息。在 PT 中,时序约束文件格式为 SDC(Synopsys Design Constraints)。 2. 进行时钟分析 时钟分析是静态时序分析的第一步,它能够检查时钟网络中存在的时序问题。在 PT 中,我们可以使用 clock report 命令生成时钟分析报告。时钟分析报告能够帮助我们确定时钟路径、时钟树等信息。 3. 进行时序分析 在进行时序分析之前,我们需要将设计进行综合,并产生时序数据库(.db 文件)。时序分析主要包括前端分析和后端分析,前端分析主要是对时序路径进行分析,后端分析主要是对时序路径进行优化。 在 PT 中,我们可以使用 timing report 命令生成时序分析报告,报告中包括了时序路径、时序偏差等信息。我们可以根据报告中的信息进行时序优化,例如添加时钟缓冲、调整时钟路径等操作。 4. 进行时序约束修复 在进行时序分析时,PT 会给出一些违反时序约束的警告和错误信息。我们需要根据这些信息进行时序约束修复,以保证设计满足时序要求。在 PT 中,我们可以使用 constraint report 命令生成时序约束修复报告,报告中包括了需要修复的时序约束信息。 5. 进行时序分析验证 在进行时序分析之后,我们需要进行时序分析验证,以保证时序分析结果的准确性。在 PT 中,我们可以使用 report checks 命令生成时序分析验证报告,报告中包括了时序分析结果的正确性信息。 以上就是 PT 做 STA 静态时序分析的教程,希望能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sean--Lu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值