从一个反相器开始说时序

看到文章的标题,我猜您也许会觉得反相器很简单,但其实反相器是所有数字设计的基本核心单元。下面就来考考您能回答到第几层问题。
第一层:您能画出反相器的symbol吗?
肯定没问题,否则请出门左转,一定是走错场子了...
第二层:您能画出反相器的晶体管级电路图吗?
应该没问题,否则同上...
第三层:您能画出反相器的版图吗?
下图是量产工艺库里面一个最小反相器真实的版图:
第四层:您能画出反相器的工艺横截面图吗?
横截面示意图如下,应届生面试时特别容易考这个问题,而且会扩展出让你画闩锁效应等效电路图等进一步问题,需要仔细了解。下图显示的是:在p型衬底中有一块n阱,pmos管长在n阱中,nmos管长在p衬底中,红色为poly层,绿色为via0或者m1层绕线。
第五层:您知道反相器的传输延时在sta中是如何得到的吗?
这些传输延时(简称delay)都是通过库里面的查找表得到的,这些查找表是通过对标准单元进行建模,然后利用模型进行扫描仿真得到一个查找表,方便sta时使用。对于标准单元延迟时间的建模模型,需要特别了解的有两类,一类是基于电压源的nldm(non-linear delay model),另一类是基于电流源的ccs模型(composite current source)。
nldm模型
nldm模型的驱动端和接收端的模型如下:
通过改变输入信号转化时间(input transition)和输出负载(output load),仿真得到标准单元(简称stdcell)delay值的查找表,存在标准单元库(.lib)中,如下图所示,查找表中一般有index1(input transition或者slew)和index2 (output load)两个维度,其中:index1是纵坐标,index2是横坐标。那如果input transition的值,或者output load的值不在查找表中,工具会通过插值运算来计算出delay值。
nldm模型的前提假设是接收端负责为纯电容性负载,但是随着集成电路尺寸的缩小,绕线电阻变得不容忽视,这种模型的误差也会变大。另外一点是因为在深亚微米工艺,绕线串扰引起的噪声影响越来越大,需要新的模型来更精确地来模拟噪声。ccs模型就是因此而引入的。
ccs模型
ccs模型的驱动端和接收端的模型如下,与nldm不同的是,在驱动端采用电流源代替了电压源,在接收端采用两个电容,其中一个模拟近端的负载电容(c1),它的充放电速度快,另一个模拟的是远端的电容(c2),它的充放电速度慢,这样能够进一步提高上升和下降波形的精确度。
ccs模型在.lib中是以离散波形的形式存在的,如下图所示 :
从精度上来说,nldm模型跟spice模型的误差在正负5%左右,而ccs模型跟spice模型的误差能达到正负2%。
第六层:您知道反相器的延时的计算公式吗?
一般反相器可以等效为下面的开关电阻电容模型,当输入为低电平时,nmos管断开,pmos管等效为一个电阻rp,而当输入为高电平时,pmos断开,nmos等效为一个电阻rn。
为了简化运算,我们暂时假设输入信号高低转换的时间为零,即为一个阶跃响应(实际上不可能,所以才需要考虑input transition),那么对于输出vout来说,它从低到高的传输延时tplh其实是电源vdd经过rp对输出电容cl的充电时间。类似地,从高到低的传输延时tphl其实是电容cl经过rn对地的放电时间。公式如下:(如果对公式中0.69这个值不解,可以在公众号发消息给我)
那么问题又来了,怎样才能尽量保证下降和上升延迟一样呢?这一点对于时钟树上的clock inverter 和clock buffer尤为重要。通过上面的公式可以知道,方法就是让rp和rn尽量一致,由于pmos管是利用空穴传输电流,而nmos是利用电子传输电流,它们的迁移率是不同的,为了让rp = rn, 一般需要pmos管的宽长比(wp/lp)是nmos管(wn/ln)的2-3倍。
第七层:您知道反相器的spice模型吗?
从前面的内容可以看出,衡量stdcell delay模型的好坏,其中一个指标是与spice模型的误差,那我们来看看一个标准单元库中最小尺寸反相器的spice模型:
它仅仅由一个nmos管(nch_mac)和一个pmos管(pch_mac)组成,它们的沟道长度都为30nm,宽度分别为400nm和520nm,容易看出,这个反相器在上升下降延迟上可能会有一定差别。那具体nch_mac和pch_mac的模型就更复杂了,模拟电路设计工程师需要特别关注,但是作为数字电路设计,不必深究,不过需要知道mos管大致工作的几个区域,比如线性区(resistive,功能等效为电阻),饱和区(saturated),以及截止区(off)。下图中的反相器输入输出传输特性曲线上标出了不同输入电压下nmos和pmos的工作状态,有兴趣可以深究,在这里就不继续挖了。
总结
一个简单的反相器能体现出数字前端和后端设计中很多方面的知识,远远不止上面七个问题而已。这篇文章想重点介绍的是,sta所用到的标准单元库中stdcell delay值是怎么计算出来的,以及两种stdcell delay模型(nldm和ccs)相关概念。

盘点博泰车联网2021年重大成果
区块链的安全应该如何保证?连WIFI账号会不会被盗
数字资产的未来的钱包果仁宝介绍
全球光刻胶市场预计收入下滑,2024年有望反弹
选购吸油烟机应注意哪些问题
从一个反相器开始说时序
蔚来与杜比达成合作ET7将标配杜比全景声
2019年中国前工序设备市场规模超韩国 跃居世界首位
变频器能和软启动一起用吗
普通电机/减速电机/步进电机/伺服电机/控制电机的类型和特点
MatterHackers发布新品 引入3D打印恢复功能
CR-HT220A蓄电池内阻测试仪
光的本质是波还是粒子?
索尼Z9G带你走进8K智能电视
为自动驾驶发展铺路ADAS SoC须兼顾性能/安全
GTC中国站注册免费,聚焦人工智能与云计算
什么是软件测试?软件测试的目的?
Linux内核启动流程(下)
CES 2013 英特尔展示高性能自适应型一体机系统
三星正在开发一款新的平板电脑,它将是Galaxy Tab A系列产品