VLSI基础——全加器


一、1bit全加器

  在进行多位数相加过程中,每一位都是带进位相加的,所以必须使用全加器。这时只要依次将低位的进位输出接到高位的输入,就构成了多位加法器。
  全加器是一种由被加数、加数和来自低位的进位数三者相加的运算器。基本功能是实现二进制加法。
  全加器的真值表如下:
在这里插入图片描述

逻辑表达式:
S = A ˉ B ˉ C i n + A ˉ B C i n ˉ + A B ˉ C i n ˉ + A B C i n = A ⊕ B ⊕ C i n S =\bar{A}\bar{B}C_{in}+\bar{A}B\bar{C_{in}}+A\bar{B}\bar{C_{in}}+ABC_{in}=A⊕B⊕C_in S=AˉBˉCin+AˉBCinˉ+ABˉCinˉ+ABCin=ABCin
C o u t = A ˉ B C i n + A B ˉ C i n + A B C i n ˉ + A B C i n = A B + B C i n + A C i n = A B + C i n ( A ⊕ B ) C_{out}= \bar{A}BC_{in}+A\bar{B}C_{in}+AB\bar{C_{in}}+ABC_{in}=AB+BC_in+AC_{in}=AB+C_{in} (A⊕B) Cout=AˉBCin+ABˉCin+ABCinˉ+ABCin=AB+BCin+ACin=AB+Cin(AB)

二、性能指标

  在数字芯片的设计过程中,功耗,性能,面积,即Power, Performance, Area (PPA),是衡量一个设计好坏的指标。下面实验只从性能和面积进行分析。
  对于性能,一般是通过CMOS电路的延迟进行分析,延迟用参数 t p H L 和 t p L H t_{pHL}和t_{pLH} tpHLtpLH进行分析。对于面积,一般是通过CMOS电路的MOS管的个数进行分析。
  谈及性能,还需要了解关键路径的概念。关键路径是指设计中从输入到输出经过的延时最长的逻辑路径。优化关键路径是一种提高设计工作速度的有效方法。一般地,从输入到输出的延时取决于信号所经过的延时最大路径,而与其他延时小的路径无关。关键路径影响着一个电路所能正常工作的最大频率。

三、CMOS电路的设计准则

  在进行CMOS电路设计过程中,除了需要考虑电路功能的实现,还需要关注MOS管参数的选择,特别是对于NMOS和PMOS管宽长比的选择,它是集成电路设计中非常重要的一个参数,对电路的速度、功耗、延时以及输出波形的上升和下降时间有着非常重要的影响。为了进一步提高CMOS电路的性能,需要使得电路的上升和下降时间尽可能得接近,本次电路设计保持PMOS和NMOS的沟道宽长比之比为3:1。一般情况下,MOS管的沟道长度一般选择工艺的最小尺寸即180nm,因此在本次电路设计中,只需要关注MOS管沟道宽度即可。
  在CMOS组合逻辑电路中n个MOS管并联,其宽长比通常保持与等效反相器中对应的MOS管一致,而n个MOS管串联,其宽长比应变为等效反相器中对应MOS管的n倍。如图1与门CMOS电路,本次设计中反相器NMOS的宽长比为500nm/180nm,PMOS的宽长比为1500nm/180nm,因此其他电路的设计PMOS和NMOS管的宽长比之比需要保持3:1的比例。如图1中的红框为NMOS的下拉电路,为两个NMOS串联,因此宽长比应该为反相器NMOS宽长比的两倍,即为1000nm/500nm。如图1中的蓝框为PMOS的上拉电路,为两个PMOS管并联,因此宽长比应该与反相器的PMOS管的尺寸一致,即为1500nm/500nm。
在这里插入图片描述

四、1bit全加器的设计与实现

1. 基础门电路的设计和实现

  根据全加器的逻辑表达式
S = A ˉ B ˉ C i n + A ˉ B C i n ˉ + A B ˉ C i n ˉ + A B C i n = A ⊕ B ⊕ C i n S =\bar{A}\bar{B}C_{in}+\bar{A}B\bar{C_{in}}+A\bar{B}\bar{C_{in}}+ABC_{in}=A⊕B⊕C_in S=AˉBˉCin+AˉBCinˉ+ABˉCinˉ+ABCin=ABCin
C o u t = A ˉ B C i n + A B ˉ C i n + A B C i n ˉ + A B C i n = A B + B C i n + A C i n = A B + C i n ( A ⊕ B ) C_{out}= \bar{A}BC_{in}+A\bar{B}C_{in}+AB\bar{C_{in}}+ABC_{in}=AB+BC_in+AC_{in}=AB+C_{in} (A⊕B) Cout=AˉBCin+ABˉCin+ABCinˉ+ABCin=AB+BCin+ACin=AB+Cin(AB)
  由上述表达式可以发现S输出可以通过两个异或门实现,而进位输出C_out有两种实现方式,分别为AB+BC_in+AC_in和AB+C_in (A⊕B)。可以得到目前一位全加器所需要的门电路有与门、或门以及异或门。若采用门电路的方法实现一位全加器,先搭建所需门电路。

1)与门的实现

  与门为 C = A B = A B ‾ ‾ C=AB=\overline{\overline{AB}} C=AB=AB,可以得到图2与门的CMOS电路,需要6个MOS管。
在这里插入图片描述

2)或门的实现

  与门为 C = A + B = A + B ‾ ‾ C=A+B=\overline{\overline{A+B}} C=A+B=A+B,可以得到图3与门CMOS电路,需要6个MOS管。
在这里插入图片描述

  对于三输入的或门输出 D = A + B + C = A + B + C ‾ ‾ D=A+B+C=\overline{\overline{A+B+C}} D=A+B+C=A+B+C,可以得到图4三输入或门CMOS电路,需要8个MOS管。
在这里插入图片描述

3)异或门的实现

  异或门为 C = A ⊕ B = A ˉ B + A B ˉ = A ˉ B + A ˉ B ‾ ‾ = ( A + B ˉ ) ( A ˉ + B ) ‾ C=A⊕B=\bar{A}B+A\bar{B}=\overline{\overline{\bar{A}B+\bar{A}B}}=\overline{(A+\bar{B})(\bar{A}+B)} C=AB=AˉB+ABˉ=AˉB+AˉB=(A+Bˉ)(Aˉ+B),可以得到图5异或门CMOS电路,需要12个MOS管。
在这里插入图片描述

2. 1bit全加器的实现

1)电路一

S = A ⊕ B ⊕ C i n S =A⊕B⊕C_in S=ABCin
C o u t = A B + B C i n + A C i n C_{out}=AB+BC_in+AC_{in} Cout=AB+BCin+ACin
  利用上面封装好的门电路并根据上述公式实现1bit全加器可以得到图6电路图(a)。可以得到该实现方法需要2个异或门、3个与门和1一个三输入的或门(或者两个或门),总共需要2×12+3×6+1×8=50个MOS管。以关键路径角度来看,该电路比较对称,对于输出Sum,关键路径就是两个异或门,对输出 C o u t C_{out} Cout,关键路径就是一个与门和一个三输入的或门。

2)电路二

S = A ⊕ B ⊕ C i n S = A⊕B⊕C_in S=ABCin
C o u t = A B + C i n ( A ⊕ B ) C_{out} =AB+C_{in} (A⊕B) Cout=AB+Cin(AB)
  利用上面封装好的门电路并根据上述公式实现1bit全加器可以得到图6电路图(b)。可以得到该实现方法需要2个异或门、2个与门和一个或门,其中输出S和 C o u t C_{out} Cout复用了一个异或门,总共2×12+2×6+1×8=42个MOS管。以关键路径角度来看,对于输出Sum,关键路径还是两个异或门,对于输出 C o u t C_{out} Cout,关键路径是一个异或门、一个与门和一个或门。
在这里插入图片描述
在这里插入图片描述

3. 测试电路实现

  基于上述两种全加器进行测试电路的设计,如图7,添加A、B、Cin三个脉冲激励源和一个1.8V直流电压Vdc,观察输入和输出波形。
A: Voltage1 = 1.8V Voltage2 = 0V Period = 100ns Pluse_width = 50ns Rise_time = 1ps Fall_time=1ps delay_time = 0s
B:Voltage1 = 1.8V Voltage2 = 0V Period = 200ns Pluse_width = 100ns Rise_time = 1ps Fall_time=1ps delay_time = 0s
Cin:Voltage1 = 1.8V Voltage2 = 0V Period = 400ns Pluse_width = 200ns Rise_time = 1ps Fall_time=1ps delay_time = 0s

在这里插入图片描述

在这里插入图片描述

  • 26
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值