热度 54| |
与双极晶体管不同,在不同的晶片之间以及在不同的批次之间,MOSFETs参数变化很大。为了在一定程度上减轻电路设计任务的困难,工艺工程师们要保证器件的性能在某个范围内,大体上,他们以报废超出这个性能范围的芯片的措施来严格控制预期的参数变化。
通常提供给设计师的性能范围只适用于数字电路并以“工艺角”(Process Corner)的形式给出。如图,其思想是:把NMOS和PMOS晶体管的速度波动范围限制在由四个角所确定的矩形内。这四个角分别是:快NFET和快PFET,慢NFET和慢PFET,快NFET和慢PFET,慢NFET和快PFET。例如,具有较薄的栅氧、较低阈值电压的晶体管,就落在快角附近。从晶片中提取与每一个角相对应的器件模型时,片上NMOS和PMOS的测试结构显示出不同的门延时,而这些角的实际选取是为了得到可接受的成品率。各种工艺角和极限温度条件下对电路进行仿真是决定成品率的基础。所以我们所说的ss、tt、ff分别指的是左下角的corner,中心、右上角的corner。
工艺极限(Process Corner)
如果采用5-corner model会有TT,FF,SS,FS,SF 5个corners。如TT指NFET-Typical corner & PFET-Typical corner。其中, Typical指晶体管驱动电流是一个平均值,FAST指驱动电流是其最大值,而SLOW指驱动电流是其最小值(此电流为Ids电流)这是从测量角度解释,也有理解为载流子迁移率(Carrier mobility)的快慢. 载流子迁移率是指在载流子在单位电场作用下的平均漂移速度。至于造成迁移率快慢的因素还需要进一步查找资料。单一器件所测的结果是呈正态分布的,均值在TT,最小最大限制值为SS与FF。从星空图看NFET,PFET所测结果,这5种覆盖大约+-3 sigma即约99.73% 的范围。对于工艺偏差的情况有很多,比如掺杂浓度,制造时的温度控制,刻蚀程度等,所以造成同一个晶圆上不同区域的情况不同,以及不同晶圆之间不同情况的发生。这种随机性的发生,只有通过统计学的方法才能评估覆盖范围的合理性。
PVT (process, voltage, temperature)
设计除了要满足上述5个corner外,还需要满足电压与温度等条件, 形成的组合称为PVT (process, voltage, temperature) 条件。电压如:1.0v+10% ,1.0v ,1.0v-10% ; 温度如:-40C, 0C 25C, 125C。设计时设计师还常考虑找到最好最坏情况. 时序分析中将最好的条件(Best Case)定义为速度最快的情况, 而最坏的条件(Worst Case)则相反。最好最坏的定义因不同类型设计而有所不同。最坏的延迟也不都出现在SS[19] 。至于延迟随PVT发生怎样的变化,还需要进一步查找资料。
根据不同的仿真需要,会有不同的PVT组合。
以下列举几种标准STA分析条件[16]:
WCS (Worst Case Slow) : slow process, high temperature, lowest voltage
TYP (typical) : typical process, nominal temperature,nominal voltage
BCF (Best Case Fast ) : fast process, lowest temperature, high voltage
WCL (Worst Case @ Cold) : slow process, lowest temperature, lowest voltage
在进行功耗分析时,可能是另些组合如:
ML (Maximal Leakage ) : fast process, high temperature, high voltage
TL (typical Leakage ) : typical process, high temperature, nominal voltage
除此之外,另一个组合条件称为Scenarios:
Scenarios = Interconnect + operation mode + PVT
噪声(noise)与串扰(crosstalk) 似乎需要另外考虑。
1. 内连线情况(interconnect corner)
制造对互连线造成的影响,如:R_typical C_typical, R_max C_max, R_max C_min, R_min C_min
2. 工作模式(Operation Mode)
如:function mode, scan mode, sleep mode, standby mode, active mode
3. PVT
对多种scenarios 的综合分析,称之为MMMC (Multi-Mode Multi-Corner) Analysis。
OCV (On-chip Variations)
由于偏差的存在,不同晶圆之间,同一晶圆不同芯片之间,同一芯片不同区域之间情况都是不相同的。造成不同的因素有很多种,这些因素造成的不同主要体现:
1,IR Drop造成局部不同的供电的差异;
2,晶体管阈值电压的差异;
3,晶体管沟道长度的差异;
4,局部热点形成的温度系数的差异;
5,互连线不同引起的电阻电容的差异。
OCV可以描述PVT在单个芯片所造成的影响。更多的时候, 用来考虑长距离走线对时钟路径的影响。在时序分析时引入derate参数模拟OCV效应,其通过改变时延迟的早晚来影响设计。
三种STA(Static Timing Analysis)分析方法[13]:
1,单一模式, 用同一条件分析setup/hold ;
2,WC_BC模式, 用worst case计算setup,用best case计算hold;
3,OCV模式, 计算setup 用计算worst case数据路径,用best case计算时钟路径;计算hold 用best case计算数据路径,用worst case计算时钟路径;
以上三种方法,在逐步的改进,但显然越来越悲观。比如第三种分析方法,计算setup 时让数据慢一点到,而时钟快一点到,以压缩setup时间。到了计算hold时,又变成了压缩hold时间,这样情况显然是不实际的。derate具体做法是在长路径应用late参数,短路径应用early参数, 就是将原本希望走快的变慢,希望走慢的变快。
除derate外,还有一个常用的参数uncertAInty。它定义时钟沿的不确定性,或早或晚,同样压缩了setup / hold时间。
锁存器与触发器
锁存器与触发器是静态时序分析中涉及最主要的类型. Latch是异步单元,即输出在输入改变之后改变。而FLIP-FLOP是同步单元,即随时钟信号改变而改变。LATCH与FLIP-FLOP最大差别是Latch 没有时钟端,可以理解为有一个使能端,所以是电平敏感[8]。Flip-Flop preset表示在输出产生一个逻辑1, clear表示在输出产生一个逻辑0。 Setup/hold 是分析数据与时钟之间的关系。用时钟沿来采集数据,如果定义用时钟上升沿触发,即用上升沿将数据分割成两部分,前部分为准备时间setup,后部分为保持时间hold。说明数据在上升沿来临之前必须准备好,在采集时必须保持一段时间。理解时[removal/recovery],类似为用preset/clear采集时钟数据,用preset/clear将时钟分为两部分,前部分为迁移时间,后部分为复原时间。
统计静态时序分析
SSTA (Statistical Static timing analysis)
全局工艺差异(global_process_variations)
也称为片间器件差异(inter-die device variations ), 描述同一器件不同芯片间的差异。同一芯片的器件应用同一参数,器件的不同参数是相互独立的,而且每个参数都是呈统计分布的。
局部工艺差异(local_process_variations)
也称为片内器件差异(intra-die device variations), 描述同一器件在同一芯片不同区域的差异。每个差异也是呈统计分布的。
也就是说对于某一个全局参数,应该细化成多个局部参数,每个局部参数都是呈统计分布的。如果提供的库是基于局部参数差异统计建立起来的,在进行基于OCV模型的静态时序分析时,就无需OCV参数的设定。
对于互连线差异也是一样的. 决定同一段线的因素有很多种,比如线宽,厚度,介电系数,刻蚀等,但同一因素不同区域是不相同的,各个因素之间也是相互独立的。这些差异同样需要进行统计学概括。
好比中医与西医,西医就是同一种病吃同一种药,而中医则认为同一种病分不同种情况,不同的人也应不同对待。至少感觉上是这样的。
基于这样的观点,同一时序路径可能存在不同种情况的组合,而且每种情况的参数都是呈统计学分布,组合的计算将不是单纯的相加差,而是需要相关性分析与统计学计算。统计方法的引入,改变了传统静态时序分析悲观但不实际的做法。
it's not the corner of the wafer. It is a model of the process which attempts to capture the extremes of the distribution of the process. Think of it this way. Say I process a large number of chips across different wafers. There will be a distribution of speeds in those chips, because process variables like oxide thickness, effective channel length, doping concentration, etc. have statistical distributions. There will then be a mean and a standard deviation associated with this speed distribution. The typical process model is supposed to model the mean speed that you would expect to see, and the process corner models are supposed to capture some variation from the mean. Whether it is a 2-sigma variation from the mean, a 3-sigma variation from the mean, or something else depends on how the models are constructed and how your circuit is designed. It is called a "corner" because if I make a plot of several process variables (for example Tox and Leff), then the corner model is usually from the corner of this 2D plot.
To answer your question about doping uniformity, the answer is no, the doping is not perfectly uniform. Any manufacturing variable in the real world is not perfectly controlled and has a statistical distribution associated with it. Even if the process tools are perfect (and they're not), there are statistical variations of things like the number of atoms in each transistor which are inherently random.