MOS管设计知识:传输管TG及组合逻辑延时分析-KIA MOS管
MOS管的基本性质
MOS管,即场效应管,四端器件,S、D、G、B四个端口可以实现开和关的逻辑状态,进而实现基本的逻辑门。
NMOS和PMOS具有明显的对偶特性:NMOS高电平打开(默认为增强型,使用的是硅栅自对准工艺,耗尽型器件这里不涉及),PMOS低电平打开。在忽略方向的情况下,采用共S极接法,有如下特性:
第一张图是Vds随Vgs变化的情况,用于描述开关特性。后面的逻辑分析一般基于这个原理。
第二张图是Ids随Vds变化的情况的简图,用于描述MOS的静态特性。
MOS的静态特性由两个区域决定:线性区和饱和区。前者一般是动态功耗的主要原因,后者是静态电压摆幅的决定因素。
线性区有:Id=μCoxW/L[(Vgs-Vth)Vds-1/2Vds^2]
饱和区有:Id=1/2μCoxW/L(Vgs-Vth)^2
后面的MOS器件一般基于这两个区域的电学特性来分析总体的电学特性。电压摆幅、面积、噪声容限、功耗、延时基本上都是源自这个区域的原理。
TG及其改进
(1)传输管逻辑
传输管和传输门的区别在于否是有全电压摆幅,其实现的逻辑功能是一致的。
可以看到,传输管实现逻辑的关系还是串联和并联,并且串联为与,并联为或,需要使用保护电路防止悬空。输出的逻辑与输入的信号有关,这可以作为可编程的电路的单元。
(2)TG逻辑的改进
TG逻辑的改进还是专注于去除PMOS。根据反向输入的NMOS等于PMOS的思路,如上图3中的结构,可以将PMOS替代。可以看到的传输管不能无损传输,信号需要使用反相器恢复稳定。
动态电路
静态电路需要保持上拉和下拉电路一直互斥,存在动态损耗。
动态电路的思路则是使用时钟信号保证上下电路互斥,这样只需要一个网络就可以实现目标功能。图中是下拉N网络的电路,还可以使用上拉P网络实现,两者的级联要求正好对偶,可以间隔连接。这就是动态电路的级联的形式一PN连接。
还有一种方式就是使用多米诺电路,就是在同N或者同P之间使用反相器保证动态电路预充正确。
接下来说明动态电路的工作方式:
预充-求值
在CLK=0时,P导通,输出预充到1;
在CLK=1时,N导通,读取N网络的导通状态,决定求值为0或者1;
一次预充求值完成后即实现逻辑输出。
问题:求值时输入不能发生改变,否则会出现逻辑x,这意味着动态电路多与时序电路联合使用,构成流水线。
问题:电容存储电荷实现电平存在损耗,需要CLK不断刷新。
动态电路的优化:
第一级动态电路CLK需要P和N两个MOS管,对于第二级动态电路,预充时已知某个信号为0(多米诺为0,PN连接为1),如果输入逻辑为与或者可以保证网络关闭,则可以节约一个网络控制MOS管。
组合逻辑分析
(1)电压摆幅
电平需要能够维持在L1和L0两个状态区间内,一旦混乱,就会出现逻辑错误。一般来说,可以使用电平恢复电路维持电压(一个反相器与PMOS构成的电平恢复)。对于长的逻辑链,需要加入BUFF来维持电压(这点在传输管中尤为重要)。
(2)逻辑延时
这部分是分析组合电路的延时的,采用的反相器为标准的估算方法(软件可以实测,但是设计时需要估值),专业词汇叫逻辑努力。
标准反相器链的延时T=tp0+tp0*f,其中tp0是空载延时,f是扇出。f=Cout/Cin,在同尺寸的反相器串联时,f=1,并联时f=N,N为下一级并联的个数。常用术语FO4即是扇出为4的设计。对于不同的反相器,则需要使用具体的计算得到比例。反相器链采用f=F^(1/N)的优化规则优化。
基于反相器链,可以推导CMOS门链的延时:反相器常用P:N的W/L为2:1(综合面积,速度,噪声,功耗的考虑值),以此为基准可以推出同等最优尺寸的与非门尺寸为2:2:2:2,或非门尺寸为4:4:1:1,推算原则就是串联翻倍,并联不变的最优尺寸等效规则。
然后是CMOS门的延时:d=p+gh,p为基准延时tp0的倍数,g为电学努力,h为逻辑努力。以与非门为例,得出下面的参数:p=2(等效两个理想反相器),g=4/3(A=2+2,B=2+2),h=Cout/Cin(单链,如果有分支,加上b这个参数,即下一级的负载数)。
优化的方法也是一样的,使得f=F^(1/N),即可实现最优延时。f=gh,F=GBH,大写即为连乘的小写。
锁存器
限于篇幅,这里不再再画图,大致解释一下锁存器的结构:类似一个时钟控制开关(一般使用传输门作为开关),时钟打开开关时读取数据,关闭时锁存数据。通过时钟信号实现输出数据在一段时间内(理想情况下为半个周期)与输入隔离。
触发器
由两个锁存器和中间一个存储单元(一般是首尾相连的反相器)组成。锁存器的锁存时间相反,输入端锁存器打开时存入数据,锁存时读出数据。与锁存器整个时钟周期都在锁存依靠电平不同,触发器依靠时钟的上升和下降实现数据的存储,且输出整个时钟周期不发生改变。
时序逻辑分析
建立时间:数据需要提前于时钟沿的时间,保持时间:数据需要在时钟沿到来后保持的时间。传输时间:数据从存储单元传输到输出所需的时间。
具体的分析是复杂的,但是基本的原理是清晰的。建立时间是为了保证数据能够存入存储单元。保持时间是保证数据能度过时钟触发所需的延时。传输时间是保证存储单元数据能够传输到输出。
具体的时序分析是很复杂的,需要考虑许多参数,如时钟的抖动和歪斜。一般这些参数都是计算好的,使用者只需根据计算值设计相应的满足条件即可。基本的修改方法是:对于关键路径,建立时间不足降低时钟频率,保持时间不足加BUFF。
至于如何修改建立时间和保持时间,那是电路结构的问题,需要设计更加合理的电路。常用的电路结构为C^2MOS结构,即将时钟和反相器组合成的MOS时序电路,有兴趣可以查一下。这个结构可以和多米诺组成流水线的结构。
功能模块
加法器、乘法器、多路选择器、移位寄存器、存储器等具有特定逻辑功能的电路所需的是逻辑设计,学习过数字电路的都不会陌生(存储器就是基于存储单元的读写DRAM和基于电容的SRAM),这里已经到了module层次了。
这个层次的设计已经可以使用verilog快捷的实现了。优化也可以基于verilog来调试优化每个门的位置和数量。
总结
本文从MOS管开始,介绍了MOS,传输管TG的原理、动态电路的结构、组合逻辑延时的分析,简略地介绍了锁存器、触发器及时序电路的分析,联系到了模块层次的数字电路设计。
联系方式:邹先生
联系电话:0755-83888366-8022
手机:18123972950
QQ:2880195519
联系地址:深圳市福田区车公庙天安数码城天吉大厦CD座5C1
请搜微信公众号:“KIA半导体”或扫一扫下图“关注”官方微信公众号
请“关注”官方微信公众号:提供 ?MOS管 ?技术帮助