天天看點

CMOS級邏輯電路實作綜述CMOS級邏輯電路實作綜述

第一次寫,自己看的,覺得挺有用的,對較簡單的CMOS門電路,像與非門(P并N串),或非門(P串N并)記憶方面也有幫助。

CMOS級邏輯電路實作綜述

CMOS邏輯電路,分兩部分,上拉部分,下拉部分。上拉部分由PMOS管電路構成,下拉部分由NMOS管電路組成,如下。上下拉,形成互補。

CMOS級邏輯電路實作綜述CMOS級邏輯電路實作綜述

由前面的基礎可知,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級邏輯電路實作綜述CMOS級邏輯電路實作綜述
  2. 與操作為并聯,故輸入A接到的PMOS跟B,C或邏輯之間為并聯。
    CMOS級邏輯電路實作綜述CMOS級邏輯電路實作綜述
  3. 或操作為串聯,故D與A*(B+C)的PMOS邏輯為串聯。
    CMOS級邏輯電路實作綜述CMOS級邏輯電路實作綜述

對于下拉邏輯與上拉邏輯正好相反:

  1. 或操作為并聯,進而輸入B,C接到的NMOS之間為并聯。
    CMOS級邏輯電路實作綜述CMOS級邏輯電路實作綜述
  2. 與操作為串聯,故輸入A接到的NMOS跟B,C或邏輯之間為串聯。
    CMOS級邏輯電路實作綜述CMOS級邏輯電路實作綜述
  3. 或操作為并聯,故D與A*(B+C)的NMOS邏輯為并聯。
    CMOS級邏輯電路實作綜述CMOS級邏輯電路實作綜述
  4. 進而得到 OUT1 = -(D+A*(B+C)) 的CMOS實作如下:

    過程中上下拉兩部分的邏輯式相同,組合起來後,自行補充一個非。

    則實際分析電路中,一般隻需單獨分析一部分就行了。

    CMOS級邏輯電路實作綜述CMOS級邏輯電路實作綜述
  5. OUT = -OUT1,故得最終答案如下:
    CMOS級邏輯電路實作綜述CMOS級邏輯電路實作綜述

    當然,在MOS管級别還可以做一些優化,比如MOS管級别的邏輯優化,MOS管栅源共用,半導體尺寸調整,重新安排各個輸入的上下順序等等,都可以在MOS管級别使得電路的時序與面積功耗等得到優化,但這不是我們的重點,一般對于全定制IC設計會從MOS管級開始考慮電路的實作。這裡隻是對其做一個了解。

    實際設計的重點還是會注重于門級以上的電路實作與優化,特别是到了Verilog描述,主要着重于資料流級,行為級描述。

繼續閱讀