CMOS级逻辑电路实现综述

第一次写,自己看的,觉得挺有用的,对较简单的CMOS门电路,像与非门(P并N串),或非门(P串N并)记忆方面也有帮助。

CMOS级逻辑电路实现综述

CMOS逻辑电路,分两部分,上拉部分,下拉部分。上拉部分由PMOS管电路构成,下拉部分由NMOS管电路组成,如下。上下拉,形成互补。

CMOS级逻辑电路实现综述_第1张图片
由前面的基础可知,CMOS只能实现基本逻辑的非,比如或逻辑,与逻辑,如果不加反相器,CMOS只能实现或非,与非逻辑。原因就是上拉逻辑只能用PMOS实现,下拉逻辑只能由NMOS实现,而PMOS的导通需要输入信号为0,NMOS导通需要输入信号为1。

一般的设计过程

既然如此,在用CMOS实现逻辑电路时,一般可以照如下顺序去做:

  1. 可以先将其整体先加上一个非,作相应的逻辑转化。

  2. 上拉逻辑中各个PMOS,与操作为并联,或操作为串联

  3. 下拉逻辑中各个NMOS,与操作为串联,或操作为并联

举例说明

比如我们想从CMOS层去实现逻辑 OUT = D+A*(B+C) (减号“-”表示取反(非)操作,“+”表示或,*表示与)。

设计过程如下:

  1. OUT = - ( -(D+A*(B+C)) )

  2. OUT1 = -(D+A*(B+C))

  3. OUT = -OUT1

对于OUT1 = -(D+A*(B+C)),正好是逻辑整体上带了个非,设计(D+A*(B+C))部分之后再加上一个非即可。

故对于上拉逻辑:

  1. 或操作为串联,从而输入B,C接到的PMOS之间为串联。
    CMOS级逻辑电路实现综述_第2张图片
  2. 与操作为并联,故输入A接到的PMOS跟B,C或逻辑之间为并联。
    CMOS级逻辑电路实现综述_第3张图片
  3. 或操作为串联,故D与A*(B+C)的PMOS逻辑为串联。
    CMOS级逻辑电路实现综述_第4张图片

对于下拉逻辑与上拉逻辑正好相反

  1. 或操作为并联,从而输入B,C接到的NMOS之间为并联。
    CMOS级逻辑电路实现综述_第5张图片
  2. 与操作为串联,故输入A接到的NMOS跟B,C或逻辑之间为串联。
    CMOS级逻辑电路实现综述_第6张图片
  3. 或操作为并联,故D与A*(B+C)的NMOS逻辑为并联。
    CMOS级逻辑电路实现综述_第7张图片
  4. 从而得到 OUT1 = -(D+A*(B+C)) 的CMOS实现如下:
    过程中上下拉两部分的逻辑式相同,组合起来后,自行补充一个非
    则实际分析电路中,一般只需单独分析一部分就行了
    CMOS级逻辑电路实现综述_第8张图片
  5. OUT = -OUT1,故得最终答案如下:
    CMOS级逻辑电路实现综述_第9张图片
    当然,在MOS管级别还可以做一些优化,比如MOS管级别的逻辑优化,MOS管栅源共用,晶体管尺寸调整,重新安排各个输入的上下顺序等等,都可以在MOS管级别使得电路的时序与面积功耗等得到优化,但这不是我们的重点,一般对于全定制IC设计会从MOS管级开始考虑电路的实现。这里只是对其做一个了解。
    实际设计的重点还是会注重于门级以上的电路实现与优化,特别是到了Verilog描述,主要着重于数据流级,行为级描述。

你可能感兴趣的:(数字电路,CMOS,数字电路,CMOS级,逻辑电路)