数字逻辑笔记
目錄
數(shù)制轉(zhuǎn)換
十進(jìn)制數(shù)轉(zhuǎn)二進(jìn)制數(shù)和八進(jìn)制數(shù)
二進(jìn)制、八進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)化
所有進(jìn)制轉(zhuǎn)十進(jìn)制
十進(jìn)制數(shù)轉(zhuǎn)換成 8421BCD 碼
BCD 碼 與循環(huán)碼
?已知輸入與輸出的部分情況,列出真值表并寫出輸出信號(hào)的邏輯表達(dá)式
化簡(jiǎn)邏輯函數(shù)/求函數(shù)的值
代數(shù)法:
?求一個(gè)邏輯函數(shù)的對(duì)偶式
卡諾圖法:
將函數(shù)展開為最小項(xiàng)表達(dá)式:
邏輯圖、波形圖、VHDL語句
與運(yùn)算(邏輯乘):
或運(yùn)算(邏輯加):
邏輯圖的題型:
組合邏輯
組合邏輯分析:給出一邏輯電路圖,其中有控制輸入端,讓列出真值表說明輸出與輸入的關(guān)系/說明邏輯功能
用器件實(shí)現(xiàn)功能
數(shù)據(jù)選擇器/多路轉(zhuǎn)換器( MUX )74LS153
數(shù)據(jù)分配器( DMUX )
譯碼器 74LS139(2:4)/74LS138(3:8)/74LS154(4:16)
七段數(shù)字譯碼器 74LS48
編碼器
比較器 74LS85
加法器:全加器 FA / 半加器 HA
奇偶校驗(yàn)器 74LS280
判斷競(jìng)爭(zhēng)冒險(xiǎn)
時(shí)序邏輯
鎖存器:基本 SR 鎖存器(高/低電平有效)、門控 SR 鎖存器、門控 D 鎖存器
觸發(fā)器:SR / RS 、D 、JK 、T
寄存器(邊沿 D 觸發(fā)器)、移位寄存器
同步計(jì)數(shù)器
移位計(jì)數(shù)器
題型一:給出一部分波形圖,讓補(bǔ)全輸出信號(hào)的波形
題型二:給出邏輯電路圖,分析時(shí)序/計(jì)數(shù)電路
自產(chǎn)自銷類型(輸入端和輸出端連一起了)
狀態(tài)轉(zhuǎn)移表 + 狀態(tài)轉(zhuǎn)移圖
判斷自啟動(dòng)和幾進(jìn)制計(jì)數(shù)器
題型:用觸發(fā)器構(gòu)成計(jì)數(shù)器
判斷米里型還是摩爾型
做輸入序列檢測(cè)器
根據(jù)波形確定計(jì)數(shù)器有幾個(gè)狀態(tài)
狀態(tài)編碼
設(shè)計(jì)寄存器堆
陣列圖
ROM 容量計(jì)算 + 一堆亂七八糟芯片所需片數(shù)的計(jì)算
數(shù)制轉(zhuǎn)換
- 基數(shù):即 R 進(jìn)制中的 R ,此進(jìn)制中逢 R 進(jìn)一
- 位權(quán):數(shù)碼所處的位置,例如 中 的 位權(quán) 為 0 , 的 位權(quán) 為 1 ,一般認(rèn)為 整數(shù)部分的最低位 為 第 0 位;若有小數(shù)部分,則小數(shù)部分首位的位權(quán)為 -1
十進(jìn)制數(shù)轉(zhuǎn)二進(jìn)制數(shù)和八進(jìn)制數(shù)
- 整數(shù)部分,除 基數(shù) 取余,商為 0 時(shí)可停止,否則一直將 商 作為 被除數(shù) 循環(huán)與 基數(shù) 除
- 小數(shù)部分,乘 基數(shù) 取整,精度滿足要求時(shí)可停止,否則一直將 積 作為 乘數(shù) 循環(huán)與 基數(shù) 乘
- 題目未要求就是給出的數(shù)字的小數(shù)位數(shù)
結(jié)果順序:
十進(jìn)制數(shù)過大時(shí),也可先轉(zhuǎn)化為八進(jìn)制,再進(jìn)行 ↓
二進(jìn)制、八進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)化
- 二進(jìn)制與八進(jìn)制位權(quán)對(duì)應(yīng)關(guān)系:(三位 2 對(duì)應(yīng)一位 8 )001 → 1 , 010 → 2 ,100 → 4 ,111 → 7 = 1 + 2 + 4 ,同理 8 轉(zhuǎn) 2
- 8 轉(zhuǎn) 2:將八進(jìn)制數(shù) 每一位 拆開用 三位 二進(jìn)制數(shù)分別表示
- 2 轉(zhuǎn) 8:每三位 二進(jìn)制數(shù) 用 一位 八進(jìn)制數(shù) 表示
- 小數(shù)部分同理適用,位數(shù)不夠時(shí),整數(shù)部分為左邊補(bǔ)零,小數(shù)部分為右邊補(bǔ)零
10 轉(zhuǎn) 2 再轉(zhuǎn) 8 的情況可在此方法下應(yīng)用:
由于 意味著將 二進(jìn)制數(shù) k 左移 n 位(若是 ÷ 則是右移),
那么,可將一個(gè)數(shù)字拆分,譬如
備注:這個(gè)方法就是 2 轉(zhuǎn) 10 的逆方法,在考試?yán)锶魹榇箢}不如按書上取余做,選填無妨
- 十六進(jìn)制與八進(jìn)制的轉(zhuǎn)換僅能通過二/十進(jìn)制進(jìn)行鏈接
- 十六進(jìn)制二進(jìn)制互轉(zhuǎn)同理 2 與 8 ,只是 1 位十六進(jìn)制 對(duì)應(yīng) 4 位二進(jìn)制
所有進(jìn)制轉(zhuǎn)十進(jìn)制
- 每位上的數(shù) * 基數(shù)為底的位權(quán)次方 的總和 即為所求轉(zhuǎn)換成的十進(jìn)制數(shù)
二進(jìn)制數(shù)過長可轉(zhuǎn)為八/十六進(jìn)制再進(jìn)行該方法,注意別錯(cuò)位
十進(jìn)制數(shù)轉(zhuǎn)換成 8421BCD 碼
- 即,用 四位二進(jìn)制數(shù) 來表示 一位十進(jìn)制,8421 分別為每位的 權(quán)
- 換算方法同理十六進(jìn)制與二進(jìn)制,但 8421 碼最大僅能為 9,四位二進(jìn)制表示一位十六進(jìn)制,最大可為 F
- 故,8421 碼是為了用來表示十進(jìn)制數(shù),總權(quán)加起來 > 9 的 8421 碼是不存在的
- 重點(diǎn):別把 BCD 跟十進(jìn)制轉(zhuǎn)二進(jìn)制搞混了,同一個(gè)十進(jìn)制數(shù)的 BCD 碼不一定等于轉(zhuǎn)換的二進(jìn)制,要轉(zhuǎn)換就乖乖按前面方法做
BCD 碼 與循環(huán)碼
- 碼通常是以邏輯電路功能分析和組合邏輯設(shè)計(jì)讓實(shí)現(xiàn)碼的轉(zhuǎn)換的形式出現(xiàn),是跟真值表掛鉤的,需要知道怎么取
- 像 8421 這種數(shù)字開頭的 BCD 碼指的就是用四位二進(jìn)制數(shù)來表示十進(jìn)制數(shù),對(duì)應(yīng)數(shù)字即對(duì)應(yīng)位置的權(quán),跟 8421 BCD 碼換算同理
- 余 3 碼:在 8421 的基礎(chǔ)上加個(gè) 3 ,即加個(gè) 0011,所以題目問到的時(shí)候說輸入,不用把十六種情況都列出來
- 循環(huán)碼:不屬于 BCD 碼,所以不局限于 0 ~ 9 → 任何相鄰的碼字中,僅有一位代碼不同,其他相同
- 雖然不知道老師在不在意循環(huán)碼在真值表中書寫的順序,不過可以用卡諾圖來記憶,按照正常的卡諾圖來讀它們每格的編號(hào):
- 當(dāng) AB 為豎行時(shí):第一行從左往右,第二行從右往左,第三行從左往右這樣迂回讀取,就是循環(huán)碼的順序
- 當(dāng) AB 為橫行時(shí):縱向迂回讀
下圖是循環(huán)碼轉(zhuǎn)格雷碼,
- 格雷碼: 和循環(huán)碼同理記憶,沒有范圍約束
?已知輸入與輸出的部分情況,列出真值表并寫出輸出信號(hào)的邏輯表達(dá)式
- 由題目條件 → 列出真值表 → 寫邏輯表達(dá)式
譬如例題“一個(gè)電路有三個(gè)輸入端……,當(dāng)其中兩個(gè)輸入端為高電平時(shí),輸出 X 為高電平”
- 列真值表(列即 輸入端:A 、B 、C ……與 輸出端:X ……,填入數(shù)據(jù)為 信號(hào) 0、1):
- 先將全部輸入端信號(hào)可能存在的情況列在表格中,有 n 個(gè)輸入端,便會(huì)有 種情況,表格就會(huì)有 行
- 再根據(jù)題目中的條件來判斷輸出端的輸出情況,由此填輸出端那列的值
例題中的意思便是當(dāng)兩個(gè)輸入端為 1 1 時(shí),輸出 X 輸出的就會(huì) 是 1 ,不滿足有兩個(gè)輸入端為高電平的情況,輸出 X 輸出就會(huì)是 0
- ?寫出邏輯表達(dá)式:
- 第一種方法:找出真值表中所有輸出為 1 的行,此類行中每行對(duì)應(yīng)的輸入變量作乘積(輸入時(shí)為 0 的變量上加 非號(hào)),最終將所有乘積項(xiàng)加起來
- 第二種方法:找出真值表中所有輸出為 0 的行,此類行中每行對(duì)應(yīng)的輸入變量求和(輸入時(shí)為 1 的變量上加 非號(hào)),最終將所有求和項(xiàng)作乘積
- 兩種方法后都需化簡(jiǎn)才能作為最終的邏輯表達(dá)式(不過書上習(xí)題答案沒有化簡(jiǎn),可以先放著,寫完所有題回來有空化簡(jiǎn))
化簡(jiǎn)邏輯函數(shù)/求函數(shù)的值
- 當(dāng)然求函數(shù)的值可以直接代
- 布爾代數(shù)基本定律也具有 結(jié)合律、交換律、分配律
- 注意:題目中可能要求了必須用什么方法
代數(shù)法:
- 并項(xiàng)法:
- 吸收法:
- 消因子法:
- 消項(xiàng)法:(一般也倒過來用,多余項(xiàng)定律)
- 配項(xiàng)法: , (注意后者是 1 ,不是 A )
- 摩根定律(反演律):
- 吸收律(部分已規(guī)劃至前面方法中):
- 由于代入規(guī)則的存在,上述式子皆可擴(kuò)展至多項(xiàng)(將 A 、B 以 AB 之類的代替)
- 沒法化簡(jiǎn),另外注意 A + A非 = A ,A · A非 才= 0
?求一個(gè)邏輯函數(shù)的對(duì)偶式
- ?與(·)→ 或(+),或(+)→ 與(·)
- 遵守 先與后或 的運(yùn)算順序,即,先把 與 給變成 或 ,再把 或 變成 與
卡諾圖法:
- 建議看完下面最小項(xiàng)再來看卡諾圖
- 最小項(xiàng):輸入變量總共 n 個(gè),那么這 n 個(gè)變量相與,但每個(gè)變量出現(xiàn)且僅出現(xiàn)一次(并且是獨(dú)立狀態(tài)出現(xiàn),即出現(xiàn)的狀態(tài)要么是 AB ,要么是 ,決不能是 )
- 看看形式就好,注意點(diǎn)在第三列/第三行是 11 而不是 10
- 可以這樣記:(前提是 AB 為橫排)三變量的第一列 m 的下標(biāo)從上往下是 0 1,之后每列對(duì)應(yīng) + 2 ,第三列與第四列交換位置;四變量的下標(biāo)是 0 1 3 2,之后每列對(duì)應(yīng) + 4 ,第三列與第四列交換位置;如果忘了也沒事,按每格 ABC 的取值二進(jìn)制轉(zhuǎn)十進(jìn)制就是了
備注:鉛筆標(biāo),寫完 1 跟 無關(guān)項(xiàng) 就擦掉,否則很影響圈
- 將邏輯函數(shù)(一般需要將函數(shù) → 最小項(xiàng)之和形式/“與或”表達(dá)式,展開為最小項(xiàng)方法在下面)中出現(xiàn)的最小項(xiàng)在卡諾圖中標(biāo)出(取值為 1 )
- 真值表也可轉(zhuǎn)為卡諾圖:輸出為 1 時(shí)的輸入變量情況對(duì)應(yīng)在卡諾圖中填 1 就行
- 此處的相鄰并不受表格邊緣限制,找到就圈出來(主要圈的是 1 ,無關(guān)項(xiàng)是幫忙輔助圈 1 的,即 它 可 0 可 1 ,看你圈東西時(shí)候的需要)
- 兩個(gè)相鄰的 1 可合并,保留相同的部分(消 1 變量)
- 四個(gè)相鄰的 1 可合并,保留相同的部分(消 2 變量)
- 八個(gè)相鄰的 1 可合并,保留相同的部分(消 3 變量),此類型中,表格兩端豎著的列并不能合并消變量
- 一個(gè)方格可被包圍多次,但每個(gè)包圍圈必須有新的方格:在此情況下,能圈多就圈多!!!
- 保留的相同部分,變量取的是 0 時(shí)記得對(duì)應(yīng)取非,1 就是原變量,最后全部保留的加起來
- 做題思路:邏輯函數(shù)轉(zhuǎn)換為合適的形式 → 畫出卡諾圖 → 找 8 保 1 → 找 4 保 2 → 找 2 保 3 → 孤立的 1 圈出來 → 寫出合并后的最簡(jiǎn)“與或”表達(dá)式
- 無關(guān)項(xiàng):
將函數(shù)展開為最小項(xiàng)表達(dá)式:
- 將最小項(xiàng)中頭頂非符號(hào)的認(rèn)為 0 ,不帶的為 1,看做二進(jìn)制編碼,對(duì)應(yīng)十進(jìn)制的值即為最小項(xiàng)代表符號(hào)的下標(biāo)
譬如, 即看做 010 ,對(duì)應(yīng)十進(jìn)制為 4 ,那么此最小項(xiàng)的符號(hào)即為
- 原式一般都是一堆非符號(hào)疊加,需要使用到摩根定律
- 一般都會(huì)有需要擴(kuò)成最小項(xiàng)的項(xiàng),注意是一個(gè)變量一個(gè)變量擴(kuò),因?yàn)?AB + = 1 != AB +
建議寫完最后來合并同樣的,否則容易出錯(cuò)
- 最終式子化成最小項(xiàng)之和的模式
比如這樣,
邏輯圖、波形圖、VHDL語句
與運(yùn)算(邏輯乘):
- 與運(yùn)算表達(dá)式:F = A · B
- 與門符號(hào)(多輸入的就多加個(gè)引腳):
- VHDL語言:F <= A and B
或運(yùn)算(邏輯加):
- 或運(yùn)算表達(dá)式:F = A + B
- 或門符號(hào):
- 同或相當(dāng)于異或做了個(gè)非運(yùn)算
(我?心梗了,這塊都寫完了給我吞了,我先復(fù)習(xí)別的了,就不補(bǔ)了,后面有空回來補(bǔ),md,反正很簡(jiǎn)單,就是把符號(hào)什么的對(duì)應(yīng)的VHDL語句背了,還有考試可能會(huì)有另一種形式的門對(duì)應(yīng)就行)
邏輯圖的題型:
- 題型一:根據(jù)邏輯表達(dá)式畫出真值表、卡諾圖、邏輯圖、波形圖、VHDL語句,其中邏輯圖有可能被限制使用的器件/器件個(gè)數(shù)
- 解題思路:
- 真值表和卡諾圖前面說過
- 邏輯圖就是邏輯電路圖:使用布爾代數(shù)將表達(dá)式轉(zhuǎn)化成符合的情況,直接畫就行
- 波形圖根據(jù)真值表輸入與輸出的對(duì)應(yīng)情況畫準(zhǔn)就行(輸入開始跳變的時(shí)候,輸出就跟著跳變了,所以不會(huì)不對(duì)齊)
- VHDL 語句記得邏輯順序,與或適當(dāng)用括號(hào)隔開
- 題型二:給出邏輯圖,補(bǔ)全波形圖或者寫出上面那些一系列的東西
- 根據(jù)邏輯圖寫出輸出的表達(dá)式,列真值表 → 補(bǔ)全波形圖,跟上面差不多
- 可以出的題型也就那些,下面也算吧
組合邏輯
組合邏輯分析:給出一邏輯電路圖,其中有控制輸入端,讓列出真值表說明輸出與輸入的關(guān)系/說明邏輯功能
- 題型三:
- ① 根據(jù)控制輸入端的分布將總的輸出 F 拆分成幾個(gè)小的輸出? 之類(根據(jù)題意來,一般都是總輸出上一級(jí)的與/或門的輸出拆成小輸出,最后經(jīng)過邏輯運(yùn)算形成總輸出)
- ② 根據(jù)電路圖,寫出每個(gè)小輸出的表達(dá)式(式子出來的形式是輸入變量和控制輸入變量的邏輯運(yùn)算)
- ③ 根據(jù)電路圖,寫出總輸出的表達(dá)式(式子出來的形式同上)
- ④ 根據(jù)每個(gè)小輸出的表達(dá)式,畫出其用到的控制輸入端與該小輸出的關(guān)系的表格(控制輸入端那里就是 0 、1 的可能取值,小輸出寫出的形式是將控制輸入端取值代入后其表達(dá)式剩下的東西)
- ⑤ 注意,小輸出出來的結(jié)果若是兩個(gè)變量總體被非之類形式,用摩根定律拆成單個(gè)變量頂非號(hào)那種
- ⑥ 將小輸出的表格根據(jù)關(guān)系進(jìn)行排列組合,比如這樣(這個(gè)例子是 F = ,不同題不同分析)
- 題型四:給出邏輯圖,讓畫出真值表,并說明其邏輯功能
- 說明邏輯功能的題都是看真值表呈現(xiàn)出的特性來做的
- ① 不管題目讓不讓畫真值表,都先看邏輯圖,寫表達(dá)式,畫真值表
- ② 根據(jù)真值表說明取 1 的時(shí)候是什么情況
- ③ 這里注意下,如果題目本身就是拆分成 的樣子,那么每個(gè)輸出都單獨(dú)說一遍取 1 是什么情況,找特點(diǎn),最后看整體有沒特點(diǎn),如果一眼看不出來,先做完別的題再回來看特點(diǎn),實(shí)在不行就擺上小輸出分別說的也行;另外,如果小輸出也實(shí)在看不出特點(diǎn),就把取 1 取 0 的情況隨便分類說一遍也可
- 比如,
- 同類題型:給出轉(zhuǎn)換器件的電路圖,分析輸出的是什么(就是邏輯功能的分析)
- 題型五:套娃類型的電路
- 沒必要每個(gè)都必須寫出完全拆開的表達(dá)式,只需要寫出它跟上一級(jí)的關(guān)系表達(dá)式就行
- 之后根據(jù)低層畫出真值表然后根據(jù)里面關(guān)系來層層填表更方便些(異或同或用來填真值表更沒必要拆開了)
- 這類題里面有可能出現(xiàn)控制輸入端,根據(jù)題可能會(huì)根據(jù)控制信號(hào)的 0 、1 進(jìn)行分類討論
用器件實(shí)現(xiàn)功能
- ① 將題目要求實(shí)現(xiàn)的功能抽象 → 畫真值表
- ② 根據(jù)真值表 → 畫卡諾圖(不用圈):輸出的所有情況寫進(jìn)對(duì)應(yīng)格子里(小輸出的 0 、1 情況,注意是輸入的取值格子里對(duì)應(yīng)的輸出情況) + 根據(jù)題目判斷出的無關(guān)項(xiàng) φ 寫進(jìn)格子(其實(shí)我覺得有沒卡諾圖沒區(qū)別)
- ③ 根據(jù)真值表 → 寫出每一輸出的表達(dá)式,最小項(xiàng)表達(dá)式
- ④ 接下來就是看給的什么器材了,如果沒指定器材就拿寫出來的最簡(jiǎn)表達(dá)式照常畫圖(題目中可能還有使能端的要求,下圖是 EN 低電平有效,這種就要加上)(這個(gè)時(shí)候還是做做卡諾圖)
比如這樣,
- ⑤ 具體內(nèi)容在對(duì)應(yīng)每個(gè)器件下面
- ⑥ 固定 0 為接地,1 為電源,低電平就是非變量,不固定的根據(jù)輸入變量畫邏輯電路圖就行
- 畫圖照例可拆開原變量與非變量、線可交叉
數(shù)據(jù)選擇器/多路轉(zhuǎn)換器( MUX )74LS153
- 多路輸入、單路輸出
- 大體上來看就是 ① 輸入數(shù)據(jù)端 / ② 輸入控制端 / ③ 輸出端(一個(gè) MUX 僅一路輸出)
- 輸入數(shù)據(jù)端與輸入控制端存在 的關(guān)系:
- 說的二選一/四選一…器件里的 二、四…指的是輸入數(shù)據(jù)端的個(gè)數(shù),那么控制端就是對(duì)應(yīng)的 一、二…(雙四選一是兩片 MUX 并在一起,所以兩片雙四選一拆開看就是四片 MUX )
- 控制端對(duì)應(yīng)輸入的信號(hào)就是對(duì)數(shù)據(jù)輸出的下標(biāo)選擇,比如說四選一里的控制端是 00 ,那么輸出的就是 …以此類推
- ⑤ 續(xù)上題,最小項(xiàng)表達(dá)式 → 使用邏輯函數(shù)對(duì)照法,畫圖時(shí) EN 接
即:
- 這張圖里,X 、Y 為控制輸入端,D 那些是數(shù)據(jù)輸入端,而出來的 D 關(guān)于 Z 的表達(dá)式就是畫圖的時(shí)候要通過電路給四個(gè)數(shù)據(jù)輸入端的引腳送信號(hào)的依據(jù)
- 另外,如果出來的只是單個(gè)變量的話,可以看看真值表,直接拿 0 、1 替了得了
個(gè)人認(rèn)為,不是根據(jù)看誰長得接近控制端而提取誰,應(yīng)該一般都是以高位作為地址/控制輸入端
數(shù)據(jù)分配器( DMUX )
- 單路輸入、多路輸出
- 大體上來看就是 ① 輸入數(shù)據(jù)端 / ② 輸入控制端 / ③ 輸出端(一個(gè) DMUX 僅一路輸入,但多路輸出)
- 輸出端與輸入控制端存在 的關(guān)系:
- 說的 1 線 - 4 線…器件里的1…指的是輸入數(shù)據(jù)端的個(gè)數(shù),4 就是輸出端的個(gè)數(shù)
- 控制端對(duì)應(yīng)輸入的信號(hào)就是對(duì)數(shù)據(jù)輸出的下標(biāo)選擇,被選擇到的輸出端即與輸入端輸入數(shù)據(jù)相同,余下輸出端都為 1
譯碼器 74LS139(2:4)/74LS138(3:8)/74LS154(4:16)
- 大體上看組成是 ① 使能端 / ② 輸入端 / ③輸出端
- ?輸出端與輸入端存在 的關(guān)系:
- 通常說的 3:8 譯碼器 中 3 為輸入端的個(gè)數(shù),8 為輸出端的個(gè)數(shù),使能端為 3 個(gè)( 2:4 的使能端只是一個(gè) G ),必須滿足 , = 0 的條件(一高電平有效,兩低電平有效),不滿足條件的話,不管數(shù)據(jù)輸入什么,譯碼輸出全 1
- 輸入端輸入的信號(hào)就是對(duì)數(shù)據(jù)輸出的下標(biāo)的選擇,被選擇到的輸出端數(shù)據(jù)為 0 ,余下輸出端都為 1
- ⑤ 數(shù)據(jù)選擇器輸入的是控制輸入端與操作下作為數(shù)據(jù)輸入的信號(hào),而譯碼器輸入的就是它的數(shù)據(jù)輸入端,只不過出來的輸出量是需要經(jīng)過電路才變成最終轉(zhuǎn)換出的輸出
- 而最小項(xiàng)表達(dá)式 → 譯碼器的輸出與最終輸出之間的電路;同理可拆分原變量和非變量,只是就是一邊是譯碼器的連接,一邊是最終輸出與譯碼器輸出的兩張圖了,記得中間用箭頭連接
- 另外,因?yàn)樽g碼器被選中出來的話就是 0 ,所以譯碼器出來的輸出是低電平有效,所以往往最小項(xiàng)表達(dá)式需要使用摩根定律
- 表格里是從左到右下標(biāo)依次減小的,畫圖的時(shí)候記得對(duì)應(yīng)下
七段數(shù)字譯碼器 74LS48
- 共陽/陰極電路:不同的連接方式,7 個(gè)發(fā)光二極管共用一個(gè)陽/陰極;區(qū)別就是共陰極高電平有效,共陽極低電平有效
- 真值表輸入方其實(shí)就是 8421 BCD 碼,輸出端就是 BCD 對(duì)應(yīng)的十進(jìn)制顯現(xiàn)出來該亮的二極管
此類題最好先進(jìn)行畫圖,像下面這樣,
- ?這個(gè)表達(dá)式有些輸出用真值表看 0 的方法做比較容易寫,但是看 0 就是遇 1 輸入加非
編碼器
- 輸入個(gè)數(shù)大于輸出個(gè)數(shù),輸出四位,組成 BCD 碼,輸入十位 是十進(jìn)制數(shù)碼,所以是個(gè)十進(jìn)制數(shù)碼 → BCD 碼的轉(zhuǎn)換,剛好跟譯碼器相反
- 大體上來看是 ① 輸入端 / ② 輸出端
比較器 74LS85
- 兩組輸入(八個(gè)輸入端)+ 比較結(jié)果的輸出(三個(gè)輸出端從低到高:> = <)+ 三個(gè)級(jí)聯(lián)輸入(從高到低:> = <)(是用于 4 位比較器的擴(kuò)展)
- 高位的那個(gè) 74LS85 的級(jí)聯(lián) = 接高電平,其余接地,跟低位的 74LS85 對(duì)應(yīng)將前者輸出和后者級(jí)聯(lián)連接起來就可構(gòu)成 8 位數(shù)據(jù)比較器
加法器:全加器 FA / 半加器 HA
- 三個(gè)輸入端(加數(shù)、被加數(shù)、低位進(jìn)位信號(hào))+ 輸出端(兩個(gè),一個(gè)是向高位進(jìn)位的信號(hào),一個(gè)是輸出結(jié)果)
- 半加器:兩個(gè)一位二進(jìn)制數(shù)相加,并且能向高位進(jìn)位的電路
- 全加器:兩個(gè)一位二進(jìn)制數(shù)相加的同時(shí)再加上低位來的進(jìn)位的邏輯電路
奇偶校驗(yàn)器 74LS280
- 偶數(shù)個(gè) 1 和數(shù)總為 0 ,奇數(shù)個(gè) 1 ,和數(shù)總為 1
判斷競(jìng)爭(zhēng)冒險(xiǎn)
- 代數(shù)法:
- 就是說如果式子里一個(gè)變量同時(shí)以原變量的形式和非變量的形式出現(xiàn),那么就具有競(jìng)爭(zhēng)力
- 其次,將沒有競(jìng)爭(zhēng)力的變量和有競(jìng)爭(zhēng)力的變量排列組合寫出所有能出現(xiàn)的情況,然后表達(dá)式代入值,只留另一個(gè)變量的形式,看會(huì)不會(huì)滿足上面的形式,而滿足上面的形式就說它具有險(xiǎn)象
- 卡諾圖法:化簡(jiǎn)的圓相切,且相切處無其他圈包含
- 冒險(xiǎn)出現(xiàn)在變量發(fā)生變化的時(shí)刻,可以通過卡諾圖增加冗余項(xiàng)將兩個(gè)圈交際起來
時(shí)序邏輯
鎖存器:基本 SR 鎖存器(高/低電平有效)、門控 SR 鎖存器、門控 D 鎖存器
- 鎖存器是時(shí)序邏輯電路的基本單元
-
? 和 :現(xiàn)態(tài)和次態(tài),翻轉(zhuǎn)前為現(xiàn)態(tài),反轉(zhuǎn)后為次態(tài)
- 組成:一個(gè)固定的時(shí)序脈沖輸入端(內(nèi)部寫的是 EN ) + 根據(jù)名字確定的輸入端( SR 是 S 、R ,D 只有一個(gè) D )+ 兩個(gè)輸出端(? 和 )
- SR 鎖存器高低電平看輸入端有無圓圈符號(hào)
- 功能表:
- ① 基本 SR :(高電平)11 不穩(wěn),00 不變;(低電平)00 不穩(wěn),01 置 1 ,10 置 0 ,11 不變
- ② 門控 SR :EN = 0 和 00 不變,10 置 1 ,01 置 0
- ③ 門控 D :D 和 EN 對(duì)應(yīng):01 置 0 ,10 置 1 ,EN = 0 不變
- 狀態(tài)方程:
- ① 基本 SR :(此為高電平,低電平將 S 、R 替換成對(duì)應(yīng)非變量就行)
- ② 門控 SR :
- ③ 門控 D :
觸發(fā)器:SR / RS 、D 、JK 、T
- 看見 RS 記 SR ,好對(duì)應(yīng)功能表
- 組成:一個(gè)固定的時(shí)序脈沖輸入端(內(nèi)部是個(gè)底邊貼器件邊緣的小三角) + 根據(jù)名字確定的輸入端( SR 和 JK 都是兩個(gè)( SR → S 、R ;同理 JK ),D 就只有一個(gè) D,同理 T )+ 兩個(gè)輸出端(記得 Q 的 非變量 的輸出端那里要有個(gè)小圓圈)
- 波形圖:是在時(shí)鐘脈沖( CP )的邊沿改變狀態(tài)的,看器件符號(hào)的 CLK 那個(gè)小三角旁邊有沒有圓圈(非),有的話就是在 CP 的下降沿改變狀態(tài)的,就叫負(fù)邊沿觸發(fā)器,沒有就是在 CP 的上升沿改變狀態(tài)的
- 功能:(保持 → 次態(tài) = 初態(tài),送數(shù)/置 0/1 → 次態(tài) =( 01 時(shí))0 = ( 10 時(shí))1 ,翻轉(zhuǎn) → 次態(tài) = 初態(tài) 的 非變量,不穩(wěn) → 不確定次態(tài))
- ① SR :XX 和 00 都是保持,01 和 10 前者置 0 ,后者置 1,11 是不穩(wěn)
- ② D :XX 是保持,0 和 1 是送數(shù),前者送 0 ,后者送 1 ,沒有 11
- ③ JK :XX 和 00 都是保持,01 和 10 都是送數(shù),11 是翻轉(zhuǎn)
- ④ T :0 是 ,1 是
- 狀態(tài)方程:
- ① SR :
- ② D :
- ③ JK :
- ④ T :
寄存器(邊沿 D 觸發(fā)器)、移位寄存器
- 邊沿 D 觸發(fā)器:邊沿觸發(fā),輸出控制為 1 時(shí)為高阻態(tài),為 0 且 CP 為 0 時(shí)輸出不變,余下情況 D 輸入是什么輸出就是什么數(shù)
- 移位寄存器:就是將觸發(fā)器首尾相連
同步計(jì)數(shù)器
- 三個(gè)觸發(fā)器可以表示三位二進(jìn)制數(shù),與移位寄存器一樣都是時(shí)鐘脈沖相連
移位計(jì)數(shù)器
- 扭環(huán)計(jì)數(shù)器:K 個(gè)觸發(fā)器可計(jì) 2K 個(gè)數(shù)
- 環(huán)型計(jì)數(shù)器:K 個(gè)觸發(fā)器可計(jì) K 個(gè)數(shù)
題型一:給出一部分波形圖,讓補(bǔ)全輸出信號(hào)的波形
- ① 畫輸出波形改變的參照線(之后可以在線上改變輸出形態(tài)):
- 看題目中說的器件類型(若有邏輯電路圖就看脈沖那里有沒三角,沒有就是電平觸發(fā),有就是邊沿觸發(fā),然后根據(jù)圓圈有無判斷是上升/下降還是高低) →
- 若為觸發(fā)器:
- a .題目說明負(fù)邊沿/正邊沿,負(fù)邊沿 → 沿 CP 下降沿畫線,反之沿上升沿
- b .有邏輯電路圖 → 看器件脈沖輸入端是否有圓圈符號(hào),有 → 下降沿,反之上升沿
- ② 畫輸出波形 Q :
- 看題目中說的器件類型 → 回憶對(duì)應(yīng)功能表 → 確定題目開始初態(tài) → 看參照線畫過的輸入端對(duì)應(yīng)輸入情況 → Q 的取值跟著輸入變化(就看表) → 畫 Q
- 輸出波形是在參照線上變的,中間不會(huì)改變狀態(tài),也就是說不用關(guān)注輸入端整體怎么變化,只用看輔助線那時(shí)刻的輸入,抽象成 0 、1 ,找輸出的情況進(jìn)行畫
- ③ 畫 Q 的非變量 的輸出波形:跟 Q 波形對(duì)稱就行
題型二:給出邏輯電路圖,分析時(shí)序/計(jì)數(shù)電路
- 要的就是三個(gè)方程:激勵(lì) + 狀態(tài) + 輸出
- ① 根據(jù)邏輯電路圖,寫出輸入信號(hào)的方程(即激勵(lì)方程),老題型了,記得化簡(jiǎn)(照例同或異或不用化,根據(jù)奇偶數(shù)個(gè) 1 來判斷整體取值)
- ② 將輸入信號(hào)的方程代入對(duì)應(yīng)器件的次態(tài)(特征)方程中(即狀態(tài)方程),如果是多片連接的話,還有輸出方程
- ③ 什么器件 → 功能表什么時(shí)候是 置 1 的 → 確定輸入信號(hào)的取值 → 推出表達(dá)式里的變量的取值情況
-
自產(chǎn)自銷類型(輸入端和輸出端連一起了)
- 意思大概是 和 可以直接替換次態(tài)方程中的輸入,具體怎么替換看誰連誰
- 原先不連的時(shí)候直接根據(jù)功能表輸入的取值來找輸出就行
- 比如 J 連了 ,那么次態(tài)方程中的 J 就可以用 代替,輸出按照公式和初態(tài)來就行
- 記得關(guān)注 CLK 邊上有沒圓圈
- 如果式子里保留了 K 之類的沒給出取值的東西,可以根據(jù)替換 J 的輸出來確定功能表里對(duì)應(yīng)的輸出
狀態(tài)轉(zhuǎn)移表 + 狀態(tài)轉(zhuǎn)移圖
- 一般這種題都得先把那三個(gè)方程寫出來,然后再做表/圖
- 列:CP(脈沖順序) + 現(xiàn)態(tài) PS + 次態(tài) NS +輸出
- 根據(jù)開頭的 現(xiàn)態(tài)/初態(tài) 寫出對(duì)應(yīng)的 次態(tài),將此 次態(tài) 作為下次脈沖到來時(shí)的 現(xiàn)態(tài) 以此類推
- 如果沒有明確說按時(shí)間脈沖來就照例全部情況列出來
- 狀態(tài)轉(zhuǎn)移圖:
- 圓圈是狀態(tài)( 0 、1 序列),→ 指向的是現(xiàn)態(tài)可以到達(dá)的次態(tài)
-
判斷自啟動(dòng)和幾進(jìn)制計(jì)數(shù)器
- 畫出轉(zhuǎn)移圖后,看誰沒有在形成的圈里(有效循環(huán)),誰就是無效狀態(tài)
- 如果圖里無效狀態(tài)不是獨(dú)立的,而是與圈連接的,那么電路可以自啟動(dòng)(無效狀態(tài)在 CP 作用下能夠進(jìn)入有效循環(huán))
- 有效循環(huán)是幾個(gè)狀態(tài)構(gòu)成的就是幾進(jìn)制
題型:用觸發(fā)器構(gòu)成計(jì)數(shù)器
- ① 列出真值表(在這里面就是狀態(tài)轉(zhuǎn)移方程),一般會(huì)給有效狀態(tài)(計(jì)數(shù)器只用管有效狀態(tài))
- ② 根據(jù)真值表求出狀態(tài)方程,出來就是次態(tài)關(guān)于現(xiàn)態(tài)的表達(dá)式
- ③ 代入對(duì)應(yīng)器件的特征方程中,得到激勵(lì)方程
- ④ 根據(jù)出來的激勵(lì)方程畫邏輯電路圖
- 老題型了
判斷米里型還是摩爾型
- 畫狀態(tài)轉(zhuǎn)移圖 and 表
- 輸入與輸出直接相關(guān)的是米里型
- 輸入與輸出不直接相關(guān)的是摩爾型
- 不太靠譜的判斷方法:圖里箭頭是 控制 / 輸出 的是米里型,只有個(gè) 控制 的是 摩爾型
做輸入序列檢測(cè)器
- 只有一個(gè)輸入端 X 和一個(gè)輸出端 Z
- 檢測(cè)的序列有幾位就有幾個(gè)狀態(tài),比如檢測(cè) 101 就有三個(gè)狀態(tài)
- 先假設(shè)個(gè)初態(tài)為 A ,當(dāng) X 為 1 時(shí),說明序列的第一個(gè)是 1 ,記下來,然后進(jìn)入 B 狀態(tài)判斷第二個(gè) X 是不是 0 ;如果 X 為 0 ,則說明第一個(gè)是 0 ,保持現(xiàn)態(tài),等下一個(gè) X 進(jìn)來判斷
- 以此類推
- 檢測(cè)到第三個(gè) 1 后,就出現(xiàn)問題了,可重疊或者不可重疊,先把前面記錄的兩個(gè)給報(bào)廢掉,后面分情況,不可重疊呢,這個(gè)也就不記錄了,輸出 1 然后直接回初態(tài)重新開始檢測(cè)
- 如果可重疊,輸出 1 回第二個(gè)狀態(tài)繼續(xù)進(jìn)行
- 畫表也就是現(xiàn)態(tài) + 次態(tài) / 輸出(里面分 X 取 0 / 1 )
根據(jù)波形確定計(jì)數(shù)器有幾個(gè)狀態(tài)
- 每個(gè)脈沖邊沿變化的時(shí)候(要么上升沿要么下降沿)把狀態(tài)抽象成序列,看不重復(fù)的序列有幾個(gè)
狀態(tài)編碼
- 一對(duì)一法:每個(gè)狀態(tài)分配一個(gè)觸發(fā)器
- 計(jì)數(shù)器法:分配確切數(shù)目的觸發(fā)器,觸發(fā)器輸入的變量形成到的二進(jìn)制轉(zhuǎn)換為十進(jìn)制數(shù)是下標(biāo)
- ① 看狀態(tài)表,將等價(jià)的狀態(tài)情況合并起來
- ② 選擇一對(duì)一 / 計(jì)數(shù)器 分配對(duì)應(yīng)數(shù)量的觸發(fā)器
- ③ 畫出狀態(tài)轉(zhuǎn)移表
- ④ 根據(jù)表寫出狀態(tài)方程和輸出方程
- ⑤ 對(duì)式子進(jìn)行對(duì)應(yīng)的變化,實(shí)現(xiàn)電路
設(shè)計(jì)寄存器堆
- 使用 DMUX(數(shù)據(jù)分配器)將單端口輸入的數(shù)據(jù)變成多路,存入寄存器堆中,再使用 MUX(數(shù)據(jù)選擇器)將數(shù)據(jù)以單路形式讀出
- 其中采用地址輸入譯碼器進(jìn)行分時(shí)復(fù)用的選擇
陣列圖
- 一般在 ROM RAM 中出現(xiàn)的題型
- 根據(jù)要實(shí)現(xiàn)的功能作真值表
- 根據(jù)真值表寫出輸出的最小項(xiàng)表達(dá)式
- 畫出陣列圖:
- ① 畫橫線:輸入的原變量 + 非變量,每個(gè)一條橫線
- ② 畫豎線:一共有多少個(gè)輸出變量,就畫對(duì)應(yīng) 2 的次方個(gè)豎線,即最小項(xiàng)的總數(shù)
- ③ 標(biāo)明最小項(xiàng):在與輸入量的橫線交匯的地方,將每個(gè)最小項(xiàng)畫對(duì)應(yīng)的圓圈表示出來(在同一條豎線上的變量就是相與)
- ③ 標(biāo)明輸出有的最小項(xiàng):根據(jù)最小項(xiàng)表達(dá)式,輸出里有的就在輸出那條線上的交叉點(diǎn)畫圈(在同一條橫線上的最小項(xiàng)就是加起來)
ROM 容量計(jì)算 + 一堆亂七八糟芯片所需片數(shù)的計(jì)算
- 輸入 n 位,輸出 m 位,所以 ROM 容量為 2 的 n 次方 *( n + m )
- 用需要構(gòu)成的寄存器容量除以芯片容量就是需要的片數(shù)
總結(jié)
- 上一篇: uniapp 安卓/ios 录音授权,录
- 下一篇: Ae:Roto 笔刷工具和调整边缘工具