第二章 邏輯代數基礎
> 第三/四節課 20200407/10
2.3 基本公式和常用公式
2.3.1 基本公式
3. AA = A 4. AA' = 0
8. (AB)' = A' + B'(反演律)
17. A + BC = (A + B)(A + C)(分配律)
18. (A + B)' = A'B'(反演律)
2.3.2 常用公式
21. A + AB = A
22. A + A'B = A + B
24. A(A + B) = A
25. AB + A'C + BC = AB + A'C
26. A(AB)' = AB'
2.4 基本定理
2.4.2 反演定理
對於邏輯式Y,將 · 和 + 互換,1 和 0 互換,原變量和反變量互換,結果為 Y'。
2.5 邏輯函數及其描述方法
2.5.2 描述方法
1. 邏輯真值表 2. 邏輯函數式 3. 邏輯圖 4.波形圖 5.卡諾圖* 6. 硬件描述語言*
2.5.3 最小項和最大項
最小項之和形式
【例】Y = ABC' + BC = ABC' + (A + A')BC = ABC' + ABC + A'BC = m6 + m7 + m3 = ∑m(3, 6, 7)
2.6 邏輯函數的化簡方法
2.6.1 公式化簡
1. 並項 AB + AB' = A
2. 吸收 A + AB = A
3. 消項 4. 消因子(參見常用公式)
5. 配項 增加額外項以消除
2.6.2 卡諾圖化簡法
如左圖所示為四變量最小項卡諾圖。
如右圖所示,0 和 1 分別對應最小項的編號的取值,x 表示為無關項。化簡時可以圈中的 1,表示乘積項。
要求:
1、這些乘積項必須包含所有 1;
2、所用乘積項個數盡量少;
3、每個乘積項包含因子盡量少。
如果還具有無關項,則 x 可以被圈也可以不被圈。
如右圖,三個圈滿足條件,分別表示 BD, ABC, B'C,即 Y = BD + ABC + B'C.
2.7 具有無關項的邏輯函數及其化簡
【例】化簡具有約束的邏輯函數 Y = A'B'C'D + A'BCD + AB'C'D'
給定約束條件為 A'B'CD + A'BC'D + ABC'D' + AB'C'D + ABCD + ABCD' + AB'CD' = 0
上述可以寫成:Y(A, B, C, D) = ∑m(1, 7, 8) + d(3, 5, 9, 10, 12, 14, 15)
【解】在 Y 的基礎上增加一些約束項,即:
Y = (A'B'C'D + A'B'CD) + (A'BCD + A'BC'D) + (AB'C'D' + ABC'D') + (ABCD' + AB'CD')
= A'B'D + A'BD + AC'D' + ACD' = A'D + AD'
第三章 門電路
> 第五節課 20200414
3.1 概述
S 斷開時,輸出電壓 Vo 為高電平 Vcc;S 接通時,輸出電壓 Vo 為低電平 0。
集成電路是把整個電路的各個元件以及相互之間的聯接同時制造在一塊半導體芯片上,組成一個不可分的整體。體積小、重量輕、功耗低、可靠性高、價格低。
分類:
1、按集成度:小、中、大和超大規模;
2、按導電類型:雙、單極性和兩種兼容;
3、按功能:數字和模擬。
3.2 半導體二極管門電路
二極管的結構:PN 結 + 引線 + 封裝構成
3.2.1 二極管的開關特性
外加正向電壓是導通,反向電壓截止。
高電平:Vih = Vcc,D 截止,Vo = Voh = Vcc
低電平:Vil = 0,D 導通,Vo = Vol = 0
3.2.2 二極管與門
3.2.3 二極管或門
3.3 CMOS 門電路
第四章 組合邏輯電路
> 第六節課 20200417
4.1 概述
4.1.1 特點
根據邏輯功能不同特點將數字電路分為:組合邏輯電路,時序邏輯電路。
組合邏輯電路不包含存儲單元,任意時刻的輸出只取決於該時刻的輸入,與原來狀態無關。
4.1.2 邏輯功能的描述
a1, a2, ..., an 表示輸入變量,y1, y2, ..., ym 表示輸出變量,邏輯關系可以用下圖表示,
或者向量函數形式:Y = F(A)
4.2 組合邏輯電路的分析方法
組合邏輯電路圖 -> 寫出邏輯表達式 -> 化簡 -> 列真值表 -> 說明功能
4.3 組合邏輯電路的設計方法
進行邏輯抽象 -> 列真值表 -> 寫出邏輯函數式 -> 選定器件類型 -> 將邏輯函數化簡或轉換成適當描述形式 -> 根據化簡或轉換后的邏輯式,畫出連接圖 -> 設計驗證 -> 工藝設計
【例子】判斷紅綠燈是否故障。
① 邏輯抽象
取紅黃綠三種狀態為輸入變量,分別用 R, Y, G 表示,燈亮時為 1,不亮為 0;
取故障信號為輸出變量,用 Z 表示,正常為 0,故障為 1。
② 列真值表
R Y G Z
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
③ 寫出邏輯函數式
Z = R'Y'G' + R'YG + RY'G + RYG' + RYG
④ 選定器件類型
選定小規模集成門電路。
⑤ 化簡邏輯函數
Z = R'Y'G' + RY + RG + YG(最簡與或表達式)
Z = ((R'A'G')'(RA)'(RG)'(AG)')'(最簡與非表達式)
Z = (RA'G'+R'AG'+R'A'G)'(最簡與或非表達式)
⑥ 畫出邏輯函數圖
最簡與或表達式
最簡與或非表達式
4.4 若干常用組合邏輯電路
4.4.1 編碼器 Encoder
將特定邏輯信號編為一組二進制代碼。
一、普通編碼器
只允許輸入一個編碼信號,n 個不同的信號至少需要 log n 位二進制數。
例如:8線 - 3線二進制普通編碼器
二、優先編碼器
同時允許輸入兩個以上的編碼信號,但是只對其中優先權最高的編碼。
8線 - 3線二進制優先編碼器 74HC148
例如:設 I7 優先權最高,I0 最低,則:
Y2 = I7 + I7'I6 + I7'I6'I5 + I7'I6'I5'I4 = I7 + I6 + I5 + I4
控制端擴展功能:兩片 8線 - 3線優先編碼器組成一個 16線 - 4線優先編碼器,其中 A15‘ 優先權最高。
三、二-十進制優先編碼器
將 I9' ~ I1' 編成 0110 ~ 1110,I9' 優先權最高,輸入的低電平信號變成一個對應的十進制編碼。
輸入端 9 個,輸出端 4 個,也稱 10線 - 4線編碼器。
4.4.2 譯碼器 Decoder
將每個輸入的二進制代碼譯成以對應的輸出高/低電平信號,即編碼的反操作。
一、二進制譯碼器
用二極管與門陣列組成的3線 - 8線二進制譯碼器
缺點:輸入電阻低,輸出電阻高,輸出的高低電平信號發生偏移,因此只在大規模集成電路內部采用,中規模多采用三極管集成門電路。
二、二-十進制譯碼器
輸入端 4 個,是十進制數的 4 位二進制編碼(BCD 碼),輸出端 10 個。
三、顯示譯碼器
將二進制代碼翻譯成習慣的形式直觀顯示出來。
1、七段字符顯示器
半導體數碼管 BS201A
由發光二極管組成 LED(Light Emitting Diode),外加正向電壓時,有大量多余能量以光的形式釋放。
優點:電壓低,體積小,壽命長,可靠性高,響應時間短,亮度高
缺點:電流大,10mA 左右,頻繁開啟容易燒壞
液晶顯示器 LCD(Liquid Crystal Display)
2、BCD - 七段顯示譯碼器
半導體數碼管和 LCD 都可以用 TTL 或者 CMOS 集成電路直接驅動。因此,需要使用顯示譯碼器將 BCD 代碼譯成數碼管所需要的驅動信號,以便數碼管用十進制數字顯示出 BCD 代碼所表示的數值。
7448 的附加控制信號:燈測試輸入 LT'(=0,Ya ~ Yg 全部置為 1),滅零輸入 RBI'(把不希望顯示的 0 熄滅),滅燈輸入 / 滅零輸出 BI' / RBO',作為輸入,直接熄滅;作為輸出,當輸入為 0 且 RBI' = 0 時給出為 0。
四、設計組合邏輯電路
4.4.3 數據選擇器 Data Selector
一、工作原理
在數字信號傳輸過程中,有時需要從一組輸入數據中選擇一個。
數據選擇器是根據需要將多路信號中選擇一路送到公共數據線上的邏輯電路。
① 二選一數據選擇器
② 四選一數據選擇器
輸入 D(輸入數據),A1, A0(地址變量),由地址變量決定從 4 路輸入中選擇哪一路輸出。
雙四選一數據選擇器 74HC153
二、設計組合邏輯電路
列出真值表 -> 寫出最小項表達式 -> 選定數據選擇器 -> 對照所求邏輯函數式和表達式確定輸入變量的表達式或取值 -> 畫出電路連線圖
【例子】L = A'B'C + A'BC' + AB,有三個變量,選用雙四選一數據選擇器,其有兩個地址變量:A1 = A, A0 = B。
L = A'B'C + A'BC' + AB = A1'A0'C + A1'A0C' + A1A0'·0 + A1A0·1
Y = A1'A0'D0 + A1'A0D1 + A1A0'D2 + A1A0D3
則:D0 = C, D1 = C', D2 = 0, D3 = 1
4.4.4 加法器 Summator
一、1位加法器
1、半加器
不考慮進位,直接相加。A, B 為加數,S 為和,CO 為向高位的進位。
S = A'B + AB' = A ⊕ B(A XOR B)
CO = AB
2、全加器
考慮進位。CI 為來自低位的進位。
S = (A'B'CI' + A'BCI + AB'CI + ABCI')'
CO = (A'B' + B'CI' + A'CI')'
二、多位加法器
1、串行進位加法器
簡單,慢。(CI)i = (CO)i - 1, Si = Ai XOR Bi XOR (CI)i, (CO)i = AiBi + (Ai + Bi)(CI)i
4.4.5 數值比較器
用來比較兩個二進制數的數值大小。
A > B(A = 1, B = 0), Y = AB'
A < B(A = 0, B = 1), Y = A'B
A = B(A = B = 0 / 1), Y = (A XOR B)'
4.6 可編程邏輯器件
數字集成電路分為通用型和專用型,前面都是通用型,功能簡單。
可編輯邏輯器件(Programmable Logic Device)是通用器件,但可以由用戶編程,集成度高。
乘積線:多個輸入端與門只用一根輸入線表示
輸入線和乘積線交點有三種情況:
① 黑點 ·:固定連接點,用戶不能改變
② 叉點 ×:用戶定義編程點,出廠連通,可選擇是否連通
③ 無點:斷開或編程時擦除
4.9 競爭-冒險現象
競爭:兩個輸入同時向相反的邏輯電平變化
競爭冒險:由競爭可能引發的輸出產生尖峰脈沖的現象
產生原因:門電路的延遲時間
檢查方法:在輸入變量每次只有一個改變狀態的簡單情況下,通過邏輯函數式判斷是否存在;只要在一定條件下能簡化成:Y = A + A' 或 Y = AA'
消除方法:接入濾波電容;引入選通脈沖;修改邏輯設計。
第五章 半導體存儲電路
> 第十節課 20200508
5.1 概述
1、概念
能夠存儲 1 位二值信號的基本單元電路的統稱為觸發器(flip-flop)。
2、特點
① 具有兩個能自行保持的穩定狀態:0 / 1;
② 在觸發信號的操作下,根據不同輸入信號可以置成 0 或 1 狀態。
3、分類
① 按觸發方式
電平觸發器、脈沖觸發器、邊沿觸發器
② 按邏輯功能方式
SR 鎖存器、JK 觸發器、D 觸發器、T 觸發器、T' 觸發器
③ 按結構
基本 SR 鎖存器、同步 SR 觸發器、主從觸發器、維持阻塞觸發器、邊沿觸發器
④ 按存儲結構原理
靜態觸發器(靠電路自鎖來存儲數據)、動態觸發器(靠電容存儲電荷來存儲數據)
5.2 SR 鎖存器
1、概念
SR 鎖存器(Set-reset Latch),又稱基本 RS 觸發器,是各種觸發器構成的基本部件,也是最簡單的觸發器。輸入信號直接作用於觸發器。
2、結構
① 由或非門構成
② 由與非門構成
3、動作特點
任何時刻,輸入都能直接改變輸出狀態。
5.3 觸發器
在數字系統中,常常要求某些觸發器在同一時刻動作,這就要求有一個同步信號來控制,這個信號叫做時鍾信號,簡稱時鍾,用 CLK 表示。觸發信號的工作方式分為:電平觸發、脈沖觸發、邊沿觸發。
5.3.1 電平觸發的觸發器
1、結構
只有在 CLK = 1 時,SR 才能起作用。結果與 SR 或非門 相同。有時候需要在 CLK 到來前將觸發器預置成指定狀態,則設置異步置位端 SD' 和異步復位端 RD'。
CLK = 0 時可體現出初始狀態。結果與 SR 與非門 相同。
2、D 觸發器
為了使用單端輸入信號的需要,將 S 通過反相器接到 R 上,構成電平觸發的 D 觸發器。
特點:輸出狀態始終跟隨輸入狀態變化。
5.3.3 脈沖觸發的觸發器
為避免空翻現象提高可靠性,希望每個 CLK 期間輸出端狀態只改變一次,設計出脈沖觸發的觸發器。
脈沖觸發的 SR 觸發器(主從 SR 觸發器)由兩個電平觸發 SR 觸發器組成。
(右圖中符號表示延遲輸出)
工作原理:
① CLK = 1 時,主觸發器按 S, R 變化,從觸發器保持不變;
② CLK 由 1 -> 0,主觸發器保持不變,從觸發器隨主觸發器狀態反轉,故在 CLK 一個周期內,觸發器輸出狀態只可能改變一次。
結果與 SR 或非門 相同。
克服了多次翻轉問題后,在 CLK = 1 期間,主觸發器仍會隨輸入變化,存在不定態,仍需要遵守 SR = 0。為了讓 S = R = 1 也有確定狀態,將 Q 和 Q' 輸出反饋到輸入端,這樣的觸發器稱為 JK 觸發器。
J = K = 0 時,Q* = Q(存儲);J = K = 1 時,Q* = Q'(計數);其他情況 Q* = J。
5.3.2 邊沿觸發器的觸發器
由於 JK 觸發器存在一次變化問題,抗干擾能力差。為提高可靠性,希望 Q* 僅決定於 CLK 下降沿(或上升沿)到達時刻輸入信號的狀態,邊沿觸發器誕生了。
1、用兩個電平觸發 D 觸發器組成的邊沿觸發器
工作原理:
CLK = 0,觸發器狀態不變,FF1 = D;
CLK = 1,FF1 狀態與前沿到來之前的 D 狀態相同並保持,同時 FF2 輸出 Q 的狀態被置成前沿到來前 D 的狀態。
2、利用 CMOS 傳輸門的邊沿觸發器
略
> 符號表示邊沿觸發。真值表中,↑ 表示上升沿;↓ 表示下降沿,且 CLK 輸入端加畫小圓圈。
為實現異步置位和復位而設置 SD, RD。
(貌似有錯,見下)
5.3.4 觸發器按邏輯功能分類
1、SR 觸發器
特性方程:Q* = S + R'Q SR = 0
2、JK 觸發器
特性方程:Q* = JQ' + K'Q
3、T 觸發器
特性方程:Q* = TQ' + T'Q
4、D 觸發器
特性方程:Q* = D
第六章 時序邏輯電路
> 第十六節課 20200602
6.1 概述
1、組合電路與時序電路
組合電路:電路輸出只與輸入有關,與前一時刻狀態無關;
時序電路:不僅取決於該時刻電路的輸入,還取決於前一時刻電路狀態(由觸發器保存)。
三個方程組:
① 輸出方程:Y = F(X, Q)
② 驅動方程:Z = G(X, Q)
③ 狀態方程:Q* = H(Z, Q)
2、分類
① 按動作特點
同步時序邏輯電路、異步時序邏輯電路
② 按輸出特點
不僅取決於存儲電路路狀態還取決於當前輸入(米利 Mealy 型)、
僅決定於存儲電路狀態(穆爾 Moore 型)
6.2 分析方法
6.2.1 同步時序邏輯電路
邏輯圖 -> 時鍾方程、驅動方程 -> 狀態方程(將驅動方程代入特性方程而得) -> 狀態方程組 -> 邏輯圖 -> 輸出方程
特性方程:描述觸發器邏輯功能的邏輯表達式
驅動方程:觸發器輸入信號的邏輯表達式
狀態方程:次態輸出的邏輯表達式
輸出方程:輸出變量的邏輯表達式
時鍾方程:控制時鍾 CLK 的邏輯表達式(由圖可見,同步觸發不需寫出)
6.2.2 狀態轉換表、圖、時序圖
1、狀態轉換表
2、狀態轉換圖
箭尾為現態,箭頭為次態,標注:輸入 / 輸出
3、時序圖
6.3 若干常用時序邏輯電路
寄存器:用來存放二進制數據的電路,由具有存儲功能的 n 個觸發器組合構成,存放 n 位二進制數。
74LS75:用電平觸發的 D 觸發器組成的 4 位寄存器。
CLK = 1,Q 隨 D 改變;CLK = 0,Q 保持 CLK 變為低電平時的 D 的狀態。
74HC175:邊沿觸發器構成的寄存器
① 清零:RD' = 0,異步清零;
② 送數:RD' = 1,CLK 上升沿送數,Q*3Q*2Q*1Q*0 = D3D2D1D0;
③ 保持:RD' = 1,CLK 非上升沿,保持不變。
6.3.1 移位寄存器
不僅可以寄存代碼,還可以實現數據串行-並行轉換、數值運算和數據處理。
邊沿觸發的 D 觸發器
因為存在延遲時間,所以各觸發器按前一級觸發器原來的狀態翻轉。
74HC194A:4 位左右雙向移位,並行輸入,保持,異步置零
6.3.2 計數器
能夠記憶輸入脈沖個數的電路稱為計數器。除了計數,還可以用於分頻、定時、產生脈沖以及數字運算等。
分類:加法 / 減法 / 可逆計數器;同步 / 異步計數器;二 / 十 / n 進制計數器。
1、同步二進制
① 4 位二進制同步加法計數器
74LS161/163:4 位集成二進制同步加法計數器。
74LS163 不同之處在於采用同步清零,CLK 第一行和第二行一致。
② 4 位集成二進制同步可逆計數器 74LS191
異步置數
③ 雙時鍾加減計數器 74LS193
2、同步十進制
在二進制基礎上修改而來。
能自啟動。
74160:十進制
74LS161 是十六進制。
3、異步二進制
三位二進制異步加法計數器
(Q0 接 CLK1,Q1 接 CLK2 為下降沿觸發)
4、異步十進制
在 4 位異步二進制加法計數器上修改而成,要注意跳過 1010 ~ 1111 這六個狀態。
異步二-五-十進制計數器 74LS290
計數脈沖 CLK0 輸入,Q0 輸出,即二進制;CLK1 輸入,Q1 ~ 3 輸出,即五進制;CLK1 與 Q0 相連,CLK0 輸入,Q0 ~ 3 輸出,即 8421 碼十進制計數器。
異步計數器結構簡單,工作頻率低,存在競爭-冒險現象。
5、任意進制構成方法
① 置零法(復位法)
適用於有清零輸入端的集成計數器。只要在清零輸入端加一有效電平電壓,輸出就會立即回到 0000。
② 置數法(置位法)
適用於具有預置功能的集成計數器。計數過程中將其輸出的任意狀態通過譯碼產生一個預置數控制信號反饋至控制端,在下一個 CLK 脈沖作用后,計數器會把預置數輸入端 D0D1D2D3 的狀態置入輸出端。
當 m > n 時,需使用多片 n 進制近十期組合實現。若 m 為大於 n 的素數,則可整體置零方式,整體置數方式;若 m = n1 * n2(n1, n2 < n),還可串行進位方式,並行進位方式。
整體置零方式:
整體置數方式:
串行進位方式:以低位片的進位信號作為高位片的 CLK;
並行進位方式:CLK 脈沖同時輸入,以低位片進位信號作為高位片工作狀態控制信號。
6、移位寄存器型計數器
① 環形計數器
不能自啟動。
能自啟動。
n 位環形移位寄存器只有 n 個有效狀態,有 2 ^ n - n 個無效狀態。
② 扭環形計數器
n 位扭環形移位寄存器只有 2 * n 個有效狀態,有 2 ^ n - 2 * n 個無效狀態。
6.4 時序邏輯電路設計方法
6.4.1
確定輸入輸出變量及狀態數 -> 畫原始狀態圖 -> 最簡狀態圖 -> 狀態分配 -> 選擇觸發器,求時鍾、輸出、狀態、驅動方程 -> 畫電路圖 -> 檢查能夠自啟動
6.4.2 自啟動設計
使得每個無效狀態都能直接或間接轉為某一有效狀態。