STA series --- 2.STA basic concept(PART-I)

序:

本篇内容,基于阅读J. Bhasker • Rakesh Chadha著作《Static Timing Analysis for Nanometer Designs》后进行的总结以及自己的观点和感想,如有不正确的地方,还请指点。读者有微电子基础将更好理解内容。(图片内容绝大部分直接引用书中)

STA basic concept

本章节介绍STA中timing path的具体的组成部分和由来

1. standard cell

芯片制造中,foundry针对相应的工艺节点,都会固化好一些工艺单元(如与门,或门,非门,flip-flop等等),通过这些工艺单元的组合,完成一个强大的设计。而这些工艺单元可以基于最基本的CMOS单元。(CMOS结构作为14nm以上主流的工艺节点,以其为代表进行cell 介绍)如下为一个标准的CMOS而输入与非门和CMOS晶体管级描述。右下角为CMOS门级描述,其作用是一个反相器。

在这里插入图片描述

  • 当A端为逻辑1时,NMOS导通,Z端电压和Vss电压一致,为逻辑0
  • 当A端为逻辑0时,PMOS导通,Z端电压和Vdd电压一致,为逻辑1

当然,A端的逻辑1和逻辑0从模拟的角度去解释,还是电压的高低,那电压多高算是逻辑1,多低算是逻辑0呢?不同工艺节点都会相应的定义,当电压高于Vdd的某个百分比,认为是逻辑1,当电压低于Vdd的某个百分比,认为是逻辑0


2. CMOS modeling

如何把逻辑门和时序联系起来,使得所有的标准单元都有一个具体化的计算模型,RC起了非常重要的作用。下图所示为一个与非门G1驱动了三个单元G2,G3,G4,那么G1在实际的时序中的电容和电阻如何表征和计算呢?

  • 单元G1的输出电容 = Cs1+Cs2+Cs4+Cs4+G2i+G3i+G4i (Cs为wire 电容,G2i为G2的输入电容)
    此处的G1电容,为G1单元开关变化时候,其重放电的电容,直接影响G1的timing。

在这里插入图片描述
刚刚讲到了RC,一个单元在switch时候,会存在充放电的情况,充放电的快慢直接影响着timing。上面叙述了output 电容,接下来叙述以下电阻的问题。如下所示,充电的电阻由上拉机构决定,放电的电阻由下拉电阻决定。而上拉/下拉电阻又决定着驱动能力的强弱。

  • 大的电阻上拉/下拉电阻,意味着电阻自身分得电压就大,对后级的驱动就小。
  • 而小的驱动电阻,意味着自身分的的电压小,对后级分的的电压大,驱动能力就强。

在这里插入图片描述


3. Switching & cell delay

下图所示为CMOS结构中电容电阻model形式。绿色箭头表示输出为高,此时存在电容的充电,红色箭头表示输出为低,此时存在电容的充电。右侧分别对应电容充放电的过程,为e指数的形式。从公式可以看出,RC值越大,充放电所需要的时间越大,即cell越慢。

在这里插入图片描述
上述所描述的充放电的曲线,是基于cell分别独自进行充电和放电的过程。在实际的电路工作中,SW0和SW1是不能够做到瞬时打开或者关断的。比如当输入逻辑由1变为0,SW1从打开变为关断,SW0从关断变为打开,出现输出从0到1的过程,即电容充电过程。实际作用在二者的栅极电压是一个电压,必然会有很短一段时间,使得二者是同时打开的,那么此时,充电的过成就不像上面描述的曲线,而是如下所示曲线。相比较上图由于存在SW0/SW1同时打开的情况,在充电过程中,仍然存在着放电的过程,因此前期曲线放缓。反之,在放电的过程中,仍然存在着充电过程,因此前期曲线放缓。
在这里插入图片描述
因此我们可以得到cell的转换波形,输出端从0到1,从1到0的波形如下左侧图(a)所示。图(b)为approximate waveform,对模拟的波形进行线性处理。图(c)为理想的波形,不可能存在这种情况。因此在实际的时序分析中,波形都是按照图(b)进行的分析。

在这里插入图片描述
电信号穿过cell是需要时间的,输入逻辑1后,经过一段时间输出才会变为逻辑1,输入逻辑0亦是如此,这段时间称为cell的delay。需要输出电压变为多大时候,能认为数据已经传输到了输出端呢?并非输出电压Vdd或者Vss,才认为是逻辑1或0,一般按照波形中电压值的50%去进行计算,如上图右侧所示。output fall delay(Tf)为输入电压上升沿的50%开始计算,到输出电压下降沿的50%这一段时间,output rise delay亦是如此计算方式。


4. slew / transition

由于充放电需要时间,导致波形不能是理想形的波形,因此从0到1和从1到0的波形是有斜率的,我们称之为transition time。因为cell的delay计算是和cap和trans直接相关的(在工艺库里以查找表的形式存在),因此需要对trans进行一个量化。那么这个trans time到底有多大呢?是从vss到vdd整个的时间么?并不是。一般工艺库会对trans进行一个标准的标定,如下图所示为两种不同的标定方式。所谓的slew,即波形变化的快慢,其实是trans时间的倒数关系。

在这里插入图片描述

  • 左侧表示,对于fall trans时间,为Vdd的70%到Vdd的30%,rise trans一样,在工艺库会有如下定义:
    Falling edge thresholds:
    slew_lower_threshold_pct_fall : 30.0;
    slew_upper_threshold_pct_fall : 70.0;
    Rising edge thresholds:
    slew_lower_threshold_pct_rise : 30.0;
    slew_upper_threshold_pct_rise : 70.0;
  • 右侧表示,对于fall trans时间,为Vdd的80%到Vdd的20%,rise trans为10%到90%,在工艺库会有如下定义:
    Falling edge thresholds:
    slew_lower_threshold_pct_fall : 20.0;
    slew_upper_threshold_pct_fall : 80.0;
    Rising edge thresholds:
    slew_lower_threshold_pct_rise : 10.0;
    slew_upper_threshold_pct_rise : 90.0;

太多了,先搞一部分吧,下一部分继续STA concept讲解

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值