第一次寫,自己看的,覺得挺有用的,對較簡單的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隱含的含義是將多個單獨的積體電路整合到乙個...
組合邏輯電路 時序邏輯電路
邏輯電路根據是否包含記憶元件,分為組合邏輯電路和時序邏輯電路。組合邏輯電路不包含記憶元件,某時間點的輸出 邏輯函式值 僅取決於當時的輸入。含有記憶元件的邏輯電路被稱為時序邏輯電路。在組合邏輯電路中,當前的輸出只取決於當前的輸入。而在時序邏輯電路中,只知道當前的輸入並不足以確定當前的輸出。也就是說,時...
組合邏輯電路和時序邏輯電路
組合邏輯電路可以有若個輸入變數和若干個輸出變數,其每個輸出變數是其輸入的邏輯函式,其每個時刻的輸出變數的狀態僅與當時的輸入變數的狀態有關,與本輸出的原來狀態及輸入的原狀態無關,也就是輸入狀態的變化立即反映在輸出狀態的變化。時序邏輯電路任意時刻的輸出不僅取決於該時刻的輸入,而且還和電路原來的狀態有關。...