CMOS級邏輯電路實現綜述

2021-09-02 05:34:25 字數 1907 閱讀 4083

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

cmos邏輯電路,分兩部分,上拉部分,下拉部分。上拉部分由pmos管電路構成,下拉部分由nmos管電路組成,如下。上下拉,形成互補。

由前面的基礎可知,cmos只能實現基本邏輯的非,比如或邏輯,與邏輯,如果不加反相器,cmos只能實現或非,與非邏輯。原因就是上拉邏輯只能用pmos實現,下拉邏輯只能由nmos實現,而pmos的導通需要輸入訊號為0,nmos導通需要輸入訊號為1。

既然如此,在用cmos實現邏輯電路時,一般可以照如下順序去做:

可以先將其整體先加上乙個非,作相應的邏輯轉化。

上拉邏輯中各個pmos,與操作為併聯,或操作為串聯。

下拉邏輯中各個nmos,與操作為串聯,或操作為併聯。

比如我們想從cmos層去實現邏輯 out = d+a*(b+c) (減號「-」表示取反(非)操作,「+」表示或,*表示與)。

設計過程如下:

out = - ( -(d+a*(b+c)) )

out1 = -(d+a*(b+c))

out = -out1

對於out1 = -(d+a*(b+c)),正好是邏輯整體上帶了個非,設計(d+a*(b+c))部分之後再加上乙個非即可。

故對於上拉邏輯:

或操作為串聯,從而輸入b,c接到的pmos之間為串聯。

與操作為併聯,故輸入a接到的pmos跟b,c或邏輯之間為併聯。

或操作為串聯,故d與a*(b+c)的pmos邏輯為串聯。

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

或操作為併聯,從而輸入b,c接到的nmos之間為併聯。

與操作為串聯,故輸入a接到的nmos跟b,c或邏輯之間為串聯。

或操作為併聯,故d與a*(b+c)的nmos邏輯為併聯。

從而得到 out1 = -(d+a*(b+c)) 的cmos實現如下:

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

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

out = -out1,故得最終答案如下:

當然,在mos管級別還可以做一些優化,比如mos管級別的邏輯優化,mos管柵源共用,電晶體尺寸調整,重新安排各個輸入的上下順序等等,都可以在mos管級別使得電路的時序與面積功耗等得到優化,但這不是我們的重點,一般對於全定製ic設計會從mos管級開始考慮電路的實現。這裡只是對其做乙個了解。

實際設計的重點還是會注重於門級以上的電路實現與優化,特別是到了verilog描述,主要著重於資料流級,行為級描述。

CMOS邏輯電路

cmos邏輯電路 cmos是單詞的首字母縮寫,代表互補的金屬氧化物 半導體 complementary metal oxide semiconductor 它指的是一種特殊型別的電子積體電路 ic 積體電路是一塊微小的矽片,它包含有幾百萬個電子元件。術語ic隱含的含義是將多個單獨的積體電路整合到乙個...

組合邏輯電路 時序邏輯電路

邏輯電路根據是否包含記憶元件,分為組合邏輯電路和時序邏輯電路。組合邏輯電路不包含記憶元件,某時間點的輸出 邏輯函式值 僅取決於當時的輸入。含有記憶元件的邏輯電路被稱為時序邏輯電路。在組合邏輯電路中,當前的輸出只取決於當前的輸入。而在時序邏輯電路中,只知道當前的輸入並不足以確定當前的輸出。也就是說,時...

組合邏輯電路和時序邏輯電路

組合邏輯電路可以有若個輸入變數和若干個輸出變數,其每個輸出變數是其輸入的邏輯函式,其每個時刻的輸出變數的狀態僅與當時的輸入變數的狀態有關,與本輸出的原來狀態及輸入的原狀態無關,也就是輸入狀態的變化立即反映在輸出狀態的變化。時序邏輯電路任意時刻的輸出不僅取決於該時刻的輸入,而且還和電路原來的狀態有關。...