数字电子技术之逻辑函数的化简及表示
數(shù)字電路的作用是用來表達(dá)一個(gè)現(xiàn)實(shí)的邏輯命題,實(shí)現(xiàn)邏輯功能。但是,從
邏輯功能中簡(jiǎn)單概括得出的邏輯函數(shù),往往不是最簡(jiǎn)表達(dá)式,根據(jù)這樣的非最簡(jiǎn)式來實(shí)現(xiàn)電路,系統(tǒng)會(huì)過于復(fù)雜,成本過高,同時(shí),電路運(yùn)行的安全性和可靠性也無法得到保障。
為了降低系統(tǒng)成本,提高工作可靠性,應(yīng)在不改變邏輯功能的基礎(chǔ)上,化簡(jiǎn)
邏輯表達(dá)式,降低其規(guī)模,并進(jìn)行相應(yīng)變形,用更合理的函數(shù)式表達(dá)邏輯命題,以期用最少、最合理的門電路器件實(shí)現(xiàn)邏輯功能。
邏輯函數(shù)的化簡(jiǎn)原則:
- 邏輯電路所用的門最少
- 每個(gè)門的輸入端要少
- 邏輯電路所用的級(jí)數(shù)要少
- 邏輯電路能可靠地工作
邏輯函數(shù)的化簡(jiǎn):
- 與或邏輯函數(shù)的公式法化簡(jiǎn)
- 5類邏輯函數(shù)之間的轉(zhuǎn)換
- 卡諾圖的由來和原理
- 與或邏輯函數(shù)的卡諾圖法化簡(jiǎn)
- 5類邏輯函數(shù)的卡諾圖法化簡(jiǎn)
- 具有約束關(guān)系的邏輯函數(shù)
邏輯函數(shù)的表示工具:
公式化簡(jiǎn)法
與或邏輯函數(shù)的公式法化簡(jiǎn)
公式化化簡(jiǎn)思路:
- 有直接利用化簡(jiǎn)公式的結(jié)構(gòu),就直接化簡(jiǎn)
- 若沒有,就改變表達(dá)式結(jié)構(gòu),創(chuàng)造環(huán)境去化簡(jiǎn)(拆項(xiàng)、提取公因子)
特殊技巧:
- 反用多余項(xiàng)定律
- 加0因子
另外,化簡(jiǎn)結(jié)果可能不唯一,但最后結(jié)果的長(zhǎng)度都是一樣的
5類邏輯函數(shù)之間的轉(zhuǎn)換
方法結(jié)構(gòu)圖如下所示:
卡諾圖化簡(jiǎn)法
卡諾圖的由來和原理
對(duì)于一個(gè)給定了變量數(shù)目的邏輯函數(shù),所有變量都參加相“與”的與項(xiàng)稱為最小項(xiàng),下面的ABC、ABC ̄\overline{\text{C}}C 、A ̄\overline{\text{A}}ABC、AB ̄\overline{\text{AB}}ABC都是最小項(xiàng):
F = f(A,B,C) = AB + A ̄\overline{\text{A}}AC = AB(C+C ̄\overline{\text{C}}C) + A ̄\overline{\text{A}}AC(B+B ̄\overline{\text{B}}B)
= ABC + ABC ̄\overline{\text{C}}C + A ̄\overline{\text{A}}ABC + AB ̄\overline{\text{AB}}ABC
最簡(jiǎn)與或表達(dá)式拆項(xiàng)后得到的表達(dá)式的每個(gè)與項(xiàng)中,三輸入變量均以原變量或者反變量形式,出現(xiàn)且僅出現(xiàn)一次。所以說,這 4 個(gè)與項(xiàng)都是該邏輯函數(shù)的最小項(xiàng)。
- 最小項(xiàng)的特點(diǎn):
每個(gè)與項(xiàng)均包含了該邏輯函數(shù)的所有變量,且每個(gè)變量只能
以原變量或反變量形式出現(xiàn)且僅出現(xiàn)一次。
由此可知:
- 1 變量邏輯函數(shù) 有 2 個(gè)最小項(xiàng):
A、A ̄\overline{\text{A}}A - 2 變量邏輯函數(shù) 有 4 個(gè)最小項(xiàng):
AB、A ̄\overline{\text{A}}AB、AB ̄\overline{\text{B}}B、AB ̄\overline{\text{AB}}AB - 3 變量邏輯函數(shù) 有 8 個(gè)最小項(xiàng):
ABC、A ̄\overline{\text{A}}ABC、AB ̄\overline{\text{B}}BC、ABC ̄\overline{\text{C}}C、AB ̄\overline{\text{AB}}ABC、ABC ̄\overline{\text{BC}}BC、A ̄\overline{\text{A}}ABC ̄\overline{\text{C}}C、ABC ̄\overline{\text{ABC}}ABC
n變量邏輯函數(shù)共有2”個(gè)最小項(xiàng)
所謂“標(biāo)準(zhǔn)與或式”,就是用最小項(xiàng)相加 , 得到的與或表達(dá)式,也稱為最
小項(xiàng)標(biāo)準(zhǔn)式、“最小項(xiàng)之和”形式
一個(gè)具體邏輯函數(shù)的標(biāo)準(zhǔn)與或式中,到底存在哪個(gè)最小項(xiàng),要看表達(dá)
式的具體情況
標(biāo)準(zhǔn)與或式和真值表的聯(lián)系
邏輯函數(shù)F = AB + A ̄\overline{\text{A}}AC的真值表:
由真值表可知,該邏輯函數(shù)共有 4 種輸入組合,能使輸出成立:
001、011、110、111
該邏輯函數(shù)的最簡(jiǎn)與或式和標(biāo)準(zhǔn)與或式分別為:
F = AB + A ̄\overline{\text{A}}AC
= ABC + ABC ̄\overline{\text{C}}C + A ̄\overline{\text{A}}ABC + AB ̄\overline{\text{AB}}ABC
F 的標(biāo)準(zhǔn)與或式由 4 個(gè)最小項(xiàng)組成,用 0 表示反變量,1 表示原變量,則能使輸出成立的 4 種輸入組合,恰好和 4 個(gè)最小項(xiàng)一一對(duì)應(yīng)。也就是說, 一個(gè)最小項(xiàng)就 對(duì)應(yīng)著真值表上的 一行, 對(duì)應(yīng)著一組確定的輸入條件組合。
真值表上,有 4 種輸入組合能使輸出為 1,就將這 4 種輸入組合所對(duì)應(yīng)的 4
個(gè)最小項(xiàng)相或,從而得到邏輯函數(shù)的標(biāo)準(zhǔn)與或式。由此可知, 邏輯函數(shù)的真值表和標(biāo)準(zhǔn)與或式是嚴(yán)格對(duì)應(yīng)的,都準(zhǔn)確地表達(dá)了一個(gè)邏輯命題的功能 , 這就是最小項(xiàng)、標(biāo)準(zhǔn)與或式的邏輯含義。
綜上所述:
- 標(biāo)準(zhǔn)與或式具有唯一性,和該邏輯函數(shù)的真值表嚴(yán)格對(duì)應(yīng) ,代表了邏輯函數(shù)的功能 ;
- 一般式則具有多樣性,代表了實(shí)現(xiàn)邏輯函數(shù) 的電形式的多樣性。
最小項(xiàng)的基本性質(zhì)
- 在輸入的任一種取值下,有且僅有一個(gè)最小項(xiàng)的值為1
- 一個(gè)邏輯函數(shù)的任意兩個(gè)最小項(xiàng)之積必為0
- 一個(gè)邏輯函數(shù)的全體最小項(xiàng)之和必為1
最小項(xiàng)的編號(hào)
卡諾圖的結(jié)構(gòu)規(guī)則
卡諾圖上的一個(gè)方格就對(duì)應(yīng)著邏輯函數(shù)的一個(gè)最小項(xiàng)
- 同一個(gè)邏輯函數(shù),真值表的輸出部分有幾個(gè)1 ,卡諾圖方格內(nèi)就要填幾個(gè)1 ,都表示了有幾個(gè)輸入組合能夠使輸出成立;
- 邏輯函數(shù)的輸入變量個(gè)數(shù)確定了真值表的結(jié)構(gòu)、卡諾圖的結(jié)構(gòu)。
卡諾圖的化簡(jiǎn)原理
拿四輸入卡諾圖舉例:
注意列寫順序: 00,01,11,10
A ̄\overline{\text{A}}ABC ̄\overline{\text{C}}CD = m5
在一個(gè)最小項(xiàng)標(biāo)準(zhǔn)中,所有跟這一與項(xiàng)邏輯相鄰的,只有四種可能:
- ABC ̄\overline{\text{ABC}}ABCD = m1
- A ̄\overline{\text{A}}ABCD ̄\overline{\text{CD}}CD = m4
- A ̄\overline{\text{A}}ABCD = m7
- ABC ̄\overline{\text{C}}CD = m13
邏輯相鄰的意思,就意味著四輸入變量中,兩個(gè)與項(xiàng)相對(duì)應(yīng),只有一個(gè)變量,原變量、反變量不同,剩余三個(gè)變量是相同的
如果將以上五項(xiàng)標(biāo)在圖上:
類似的:
AB ̄\overline{\text{AB}}ABCD ̄\overline{\text{D}}D = m2
跟這一與項(xiàng)邏輯相鄰的:
- ABCD ̄\overline{\text{ABCD}}ABCD = m0
- AB ̄\overline{\text{AB}}ABCD = m3
- A ̄\overline{\text{A}}ABCD ̄\overline{\text{D}}D = m6
- AB ̄\overline{\text{B}}BCD ̄\overline{\text{D}}D = m10
m0與m2是相鄰的,所以整個(gè)卡諾圖是左右相通的,就想個(gè)滾筒一樣:
而一個(gè)五輸入的卡諾圖卻是左右對(duì)稱的:
跟某一項(xiàng)邏輯相鄰的,有5種可能:
卡諾圖能幫助我們更好地尋找邏輯相鄰關(guān)系,但是到了五輸入時(shí),這一規(guī)則被打破了。也就是說,五變量以上的卡諾圖就沒有太多的使用意義
與或邏輯函數(shù)的卡諾圖法化簡(jiǎn)
最小項(xiàng)合并規(guī)則
在卡諾圖中,凡是相鄰的最小項(xiàng),它們?cè)谶壿嬌弦彩窍噜彽?邏輯相鄰,就是指二個(gè)最小項(xiàng)中除一個(gè)變量的形式不同為互反變量外,其它都是相同的,因此它們可以合并成一個(gè)與項(xiàng),消去其中互反變量
兩個(gè)相鄰項(xiàng)的合并
首先先把相鄰項(xiàng)圈起來,這個(gè)圈叫卡諾圈:
每一個(gè)卡諾圈表示可以進(jìn)行一次 吸收定理1:
二個(gè)最小項(xiàng)合并,消去一個(gè)互反變量,保留公共變量(兩項(xiàng)變一項(xiàng),誰(shuí)變干掉誰(shuí))
對(duì)于上面的兩個(gè)圈:
- ABC ̄\overline{\text{BC}}BC + AB ̄\overline{\text{B}}BC = AB ̄\overline{\text{B}}B
- A ̄\overline{\text{A}}ABC ̄\overline{\text{C}}C + ABC ̄\overline{\text{C}}C = BC ̄\overline{\text{C}}C
再來看看下面這張卡諾圖:
畫出卡諾圈:
對(duì)這三個(gè)圈進(jìn)行化簡(jiǎn):
- A ̄\overline{\text{A}}ABC ̄\overline{\text{C}}CD + ABC ̄\overline{\text{C}}CD = BC ̄\overline{\text{C}}CD
- AB ̄\overline{\text{AB}}ABCD + AB ̄\overline{\text{B}}BCD = B ̄\overline{\text{B}}BCD
- A ̄\overline{\text{A}}ABCD ̄\overline{\text{CD}}CD + A ̄\overline{\text{A}}ABCD ̄\overline{\text{D}}D = A ̄\overline{\text{A}}ABD ̄\overline{\text{D}}D
四個(gè)相鄰項(xiàng)的合并
剛剛的兩個(gè)相鄰項(xiàng)可以消去1個(gè)變量,這里的四個(gè)相鄰項(xiàng)可以消去2個(gè)變量
八個(gè)相鄰項(xiàng)的合并
有了上面的基礎(chǔ),這里應(yīng)該就可以知道,八個(gè)相鄰項(xiàng)可以消3個(gè)變量
換句話說就是: 誰(shuí)不變,就把誰(shuí)留下
奇葩相鄰項(xiàng)
看一下這兩個(gè)圈:
注意!這樣畫圈是無法化簡(jiǎn)的!!!
應(yīng)該轉(zhuǎn)換成2個(gè)兩項(xiàng)圈和2個(gè)四項(xiàng)圈:
總結(jié):
- 2”個(gè)相鄰最小項(xiàng)組成的卡諾圈合并,可以消去n個(gè)變量
- 不存在包含非2"個(gè)最小項(xiàng)的卡諾圈
- 看坐標(biāo)化簡(jiǎn),多項(xiàng)變一項(xiàng),保留不變的,消去變化的。
用卡諾圖表達(dá)待化簡(jiǎn)的邏輯函數(shù)
步驟:
三種典型情況:
與或表達(dá)式
[例] F = A ̄\overline{\text{A}}ABD ̄\overline{\text{D}}D + AC
確定為四輸入卡諾圖:
坐標(biāo)1表示原變量、0表示反變量,按坐標(biāo)規(guī)定,將與或式中的各個(gè)與項(xiàng)逐一填入卡諾圖
先看第一項(xiàng)A ̄\overline{\text{A}}ABD ̄\overline{\text{D}}D,拆項(xiàng)后即A ̄\overline{\text{A}}ABD ̄\overline{\text{D}}D(C+C ̄\overline{\text{C}}C):
再來看看第二項(xiàng)AC經(jīng)過拆項(xiàng)后AC(B+B ̄\overline{\text{B}}B)(D+D ̄\overline{\text{D}}D):
標(biāo)準(zhǔn)與或式
即 F = m1 + m4 + m5 + … + m15
最小項(xiàng)標(biāo)準(zhǔn)式中,最小項(xiàng)編號(hào)最大是15 ,說明是四輸入邏輯函數(shù),由此得到卡諾圖的結(jié)構(gòu):
根據(jù)最小項(xiàng)的排列規(guī)律填入最小項(xiàng):
其他一般表達(dá)式
有了上面的基礎(chǔ),這里很容易就能判斷出是四輸入:
變形后得到與或式:
填入卡諾圖:
再來看下一道例題:
這道題也再次證明了化簡(jiǎn)結(jié)果是不唯一的,但化簡(jiǎn)得長(zhǎng)度是唯一的
對(duì)于下面這一題,我們可以找出 F=0的情況,再填入1:
最終結(jié)果如下:
5類邏輯函數(shù)的卡諾圖法化簡(jiǎn)
- 其實(shí)真正用到卡諾圖法的是:
與或式、或與式以及與或非式
與非-與非式
[例] F = AC ̄\overline{\text{AC}}ACD + AB ̄\overline{\text{AB}}ABD + A ̄\overline{\text{A}}ABC + AC ̄\overline{\text{C}}CD
或與式
[例] F = AC ̄\overline{\text{AC}}ACD + AB ̄\overline{\text{AB}}ABD + A ̄\overline{\text{A}}ABC + AC ̄\overline{\text{C}}CD
再來看另一題:
或非-或非式
已知最簡(jiǎn)或與式,兩次求反,再摩根定律展開一層,得到最簡(jiǎn)或非-或非式。
利用公式化兩次取反:
與或非式
完整總結(jié)
具有約束關(guān)系的邏輯函數(shù)
-
約束關(guān)系:
輸入變量的取值不是任意的,而是有條件的,并不是所有的輸入組合都可以出現(xiàn) -
具有約束的變量:
在實(shí)際應(yīng)用中,某些現(xiàn)實(shí)條件限制了輸入變量的取值,將具有限制關(guān)系的一組輸入變量稱為一組具有約束的變量 -
具有約束的邏輯函數(shù):
由具有約束關(guān)系的輸入變量所決定的邏輯函數(shù),就稱為具有約束的邏輯函數(shù) -
完全描述問題:
n輸入的邏輯函數(shù)的2的n次方種輸入取值組合下的輸出取值都是明確的,這樣的邏輯函數(shù)就是完全描述問題,其功能與每一個(gè)最小項(xiàng)均有關(guān) -
非完全描述問題:
具有約束的邏輯函數(shù)就是非完全描述問題,其功能只與能夠出現(xiàn)的最小項(xiàng)有關(guān) -
約束項(xiàng):
不可能出現(xiàn)的最小項(xiàng),自然談不上輸出是0還是1 -
任意項(xiàng):
某些最小項(xiàng)出現(xiàn)時(shí)輸出是1還是0均可,不影響邏輯電路的功能 -
無關(guān)項(xiàng):
約束項(xiàng)和任意項(xiàng)統(tǒng)稱為無關(guān)項(xiàng),邏輯函數(shù)的功能都跟他們無關(guān)
但并不是所有無關(guān)項(xiàng)都適合加入,有的無關(guān)項(xiàng)加入表達(dá)式后,反而會(huì)使表達(dá)式變得復(fù)雜。
總結(jié):
- 具有約束關(guān)系時(shí),首選卡諾圖法化簡(jiǎn),保證最簡(jiǎn)原則
- 化簡(jiǎn)結(jié)果中要同時(shí)寫上約束條件
- 最好將約束條件也做相應(yīng)化簡(jiǎn)
例如,設(shè)計(jì)一個(gè)現(xiàn)實(shí)的邏輯電路,用一個(gè)指示燈來表示一架電梯的運(yùn)行狀態(tài),從而能估計(jì)電梯日常使用頻率。設(shè)計(jì)要求:當(dāng)電梯在上升和下降時(shí),指示燈點(diǎn)亮,表示電梯正在響應(yīng)用戶的使用要求;而當(dāng)電梯懸停在某一層時(shí),指示燈滅,表示電梯空閑。
不難發(fā)現(xiàn):這是三條件、一結(jié)論的邏輯命題,設(shè)輸入變量為 A 、 B 、 C ,分別表示電梯處于“上升”、“下降”和“懸?!?#xff0c;輸出變量為 F ,表示指示燈點(diǎn)亮。在這個(gè)邏輯函數(shù)的八種輸入取值組合中,能夠使輸出為 1 的組合只有兩個(gè),因此可以簡(jiǎn)單得到邏輯表達(dá)式:
- F = ABC ̄\overline{\text{BC}}BC + A ̄\overline{\text{A}}ABC ̄\overline{\text{C}}C
同時(shí),因?yàn)橐恍┈F(xiàn)實(shí)因素的限制,輸入變量的某些取值組合永遠(yuǎn)不可能出現(xiàn)
電梯是不可能同時(shí)一邊上升、一邊下降的,也不可能一邊上升、一邊停止,
同樣,也不可能既不上升、又不下降。也不停止。
以此類推,邏輯函數(shù)有五種輸入組合是永遠(yuǎn)不可能出現(xiàn),自然談不上在這些輸入組合下,輸出取值為:
- ABC ̄\overline{\text{ABC}}ABC = m0
- A ̄\overline{\text{A}}ABC = m3
- AB ̄\overline{\text{B}}BC = m5
- ABC ̄\overline{\text{C}}C = m6
- ABC = m7
這就是該命題所包含的約束關(guān)系
此外,理論上還有一種情況,就是在輸入變量的某些最小項(xiàng)出現(xiàn)(即對(duì)應(yīng)的
輸入組合出現(xiàn))時(shí),輸出函數(shù)值是 1 還是 0 均可,不影響邏輯電路的功能,這樣的最小項(xiàng)稱為任意項(xiàng)
- 如果是約束項(xiàng),則意味著不可能出現(xiàn)的最小項(xiàng),那么談不上輸出是1 還是0
- 如果是任意項(xiàng),則輸出無所謂 1 還是 0
不論是約束項(xiàng)還是任意項(xiàng),邏輯函數(shù)的功能都跟它們無關(guān),因此, 約束項(xiàng)和任意項(xiàng)統(tǒng)稱為無關(guān)項(xiàng)
既然約束項(xiàng)和任意項(xiàng)最終對(duì)輸出造成的影響是類似的,一般不對(duì)它們做過于
絕對(duì)的區(qū)分,具有這種特點(diǎn)的邏輯函數(shù)統(tǒng)稱為 具有無關(guān)項(xiàng)的邏輯函數(shù),或者稱為具有約束關(guān)系的邏輯函數(shù),兩者是一個(gè)概念
約束關(guān)系的理解和表述
-
約束關(guān)系的表述:
約束表達(dá)式限制了什么樣的輸入組合出現(xiàn),把它們總結(jié)起來,就是約束關(guān)系的語(yǔ)言表達(dá)。 -
約束關(guān)系的數(shù)學(xué)化:
將一個(gè)現(xiàn)實(shí)的邏輯約束所限制的輸入組合用表達(dá)式總結(jié)出來。
BC ̄\overline{\text{BC}}BC = 0
B、C不能同時(shí)為0
BC = 0:
B、C不能同時(shí)為1
BC ̄\overline{\text{BC}}BC = 1:
B、C取值必為00
B、C中不能有1
B + C = 1:
B、C不能同時(shí)為0
波形圖
以時(shí)間為橫軸,畫出一個(gè)邏輯函數(shù)的輸入、輸出變量對(duì)應(yīng)變化的波形,從而形成輸入信號(hào)和輸出信號(hào)的對(duì)應(yīng)圖形,即邏輯電路的波形圖
波形圖的整體分析法
1.將3個(gè)輸入波形的所有變化點(diǎn)標(biāo)記出來,這也就是輸出波形可能的變化點(diǎn)。
2.以整體分析的方式畫輸出波形(似于真值表的列寫過程,切忌從頭到屬地逐個(gè)片段畫)
F = A + BC
找出A和BC分別為1時(shí)的對(duì)應(yīng)段,那么剩下的都是0:
組合邏輯電路分析和設(shè)計(jì)基礎(chǔ)
五個(gè)邏輯函數(shù)的表示工具
各種表示工具的相互轉(zhuǎn)化
由邏輯表達(dá)式轉(zhuǎn)換為其他工具
其他工具轉(zhuǎn)化為邏輯表達(dá)式
真值表轉(zhuǎn)化為電路圖
電路圖轉(zhuǎn)化為真值表
總結(jié)
以上是生活随笔為你收集整理的数字电子技术之逻辑函数的化简及表示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos7安装svn客户端和使用
- 下一篇: python实现归并排序