反相器的晶體管級電路
反相器,是數(shù)字集成電路最基本的電路之一。由一個pmos和一個nmos組成,輸入信號IN接到pmos和nmos的柵極,輸出信號OUT由漏極引出,如下圖。
假設(shè)VDD=3.3V,VSS=0V,mos管的開啟電壓Vt=0.7V:
- 當(dāng)IN=3.3V時,
- nmos的柵源電壓Vgs>Vt,nmos導(dǎo)通,導(dǎo)通后漏源間的電阻Rds變得很小(比如0.1Ω),所以nmos漏極電壓Vds就被拉到接近地。
- pmos的Vgs=0V,小于開啟電壓Vt,pmos關(guān)斷,所以pmos的漏極電壓由nmos決定。
- 綜上,OUT≈0V。
- 當(dāng)IN=0V時,
- nmos的Vgs=0V,nmos關(guān)斷,輸出由pmos決定。
- pmos的Vgs=-3.3V,大于開啟電壓Vt,pmos導(dǎo)通,Rds變得很小,pmos的輸出被拉到接近VDD。
- 綜上,OUT≈3.3V。
我們把輸入輸出關(guān)系整理如下表:
反相器的數(shù)字邏輯關(guān)系
數(shù)字集成電路不太關(guān)心電源和地的具體電壓值,只關(guān)心輸入輸出邏輯關(guān)系。通用把接近VDD的電壓稱為高電平,用數(shù)字1表示,而接近VSS的電壓稱為低電平,用數(shù)字0來表示。
所以,反相器的輸入輸出電壓關(guān)系用邏輯電平可表示為:
反相器的數(shù)學(xué)表示法
20世紀(jì)初,英國科學(xué)家香農(nóng)指出,布爾代數(shù)(一種用來推理的數(shù)學(xué))可以用來描述電路:布爾代數(shù)的運算法則正好與組合邏輯電路里的“與”、“或”和“非”相同。
交集(與):OUT = IN1 · IN2
并集(或):OUT = IN1 + IN2
差集(反相):OUT =
所以,非邏輯就對應(yīng)反相器。
反相器的電路符號
在畫反相器的門級電路符號時可以抽象成下面的符號。輸出端的圓圈表示邏輯上相反。
verilog描述
verilog,全稱Verilog HDL,一種硬件描述語言,由美國gateway公司1983年創(chuàng)立。因為verilog從C語言里借鑒了一些語法規(guī)則,看起來與C語言有點像,所以在工程中得到廣泛地推廣和應(yīng)用,因此成為了IEEE標(biāo)準(zhǔn),IEEE1364。
我們來用verilog描述這個反相器電路的形為(也稱為形為級描述):
第1行:注釋
第2行:定義一個電路模塊,電路模塊的名字是inv
第4~5行:定義這個電路模塊的輸入和輸出端口
第8行:描述了輸出和輸入之間的邏輯關(guān)系
第10行:結(jié)束這個電路模塊的定義和描述
把這段verilog代碼變成電路
用verilog寫出來的這段代碼,只是描述了電路模塊端口和內(nèi)部的邏輯。然后,使用邏輯綜合工具,把verilog映射成由若干個提前設(shè)計好的基本單元電路(即工廠提供的標(biāo)準(zhǔn)單元庫)連線而成的復(fù)雜電路。這種自動化的設(shè)計方法不再需要像模擬電路一樣手工設(shè)計晶體管級的電路了,不僅大大加快了設(shè)計效率,也使得設(shè)計超大規(guī)模集成電路成為可能。
我們把上面的verilog用綜合工具(比如synopsys dc)綜合一下,得到下面的網(wǎng)表:
可以看到,綜合工具把verilog描述的邏輯表達(dá)式自動替換成了由標(biāo)準(zhǔn)單元組成的電路了。(注:這里端口的定義格式稍有不一樣,是采用的verilog95的風(fēng)格。)
我們可以用網(wǎng)表查看工具自動繪制出門級電路圖:
總結(jié)
本文從數(shù)字集成電路設(shè)計角度闡述了反相器的原理、數(shù)字邏輯表示方法、verilog語言的描述、再到把verilog代碼轉(zhuǎn)換回電路的方法和過程。后面會繼續(xù)用這種思維帶領(lǐng)大家學(xué)習(xí)和設(shè)計數(shù)字集成電路中的常用電路。
-
反相器
+關(guān)注
關(guān)注
6文章
310瀏覽量
43243 -
Verilog
+關(guān)注
關(guān)注
28文章
1343瀏覽量
109980 -
晶體管
+關(guān)注
關(guān)注
77文章
9633瀏覽量
137840 -
NMOS管
+關(guān)注
關(guān)注
2文章
120瀏覽量
5395 -
PMOS管
+關(guān)注
關(guān)注
0文章
82瀏覽量
6612
發(fā)布評論請先 登錄
相關(guān)推薦
評論