第二週、邏輯函式的表示方法及其相互轉換
第二週、邏輯函式的表示方法及其相互轉換
一個邏輯函式可以用真值表、表示式、邏輯圖、波形圖
等方法來表示。既然它們都是表示同一種邏輯關係,顯然可以
互相轉換 。
- 由真值表寫邏輯式
- 由表示式畫邏輯圖
- 由函式表示式求真值表
- 已知邏輯圖寫邏輯表示式
- 由真值表畫波形圖
- 由波形圖求邏輯真值表
邏輯代數的公式和運算規則
1、基本公式
範圍說明 | 名稱 | 邏輯與(非) | 邏輯或 |
---|---|---|---|
常量與變數的關係 | 0-1律 | A · 0 = 0 | A +0 = A |
A · 1= A | A +1 =1 | ||
和普通代數相似規律 | 交換律 | A· B = B · A | A + B = B + A |
結合律 | A · (B ·C) = (A · B) ·C | A + (B + C) = (A + B) + C | |
分配律 | A·(B + C) = AB + AC | A · B +C = (A + B)(A + C) | |
邏輯代數的特殊規律 | 互補律 | A · A’ = 0 | A + A’ =1 |
重疊律 | A·A = A | A + A = A | |
反演律(摩根定律) | (AB)’ = A’ + B’ | (A + B) ‘= A’ ·B’ | |
還原律 | (A’)’ = A |
2、常用公式
- A+AB=A
- AB`+AB=A
- A+A`B = A+B
- AB+A` C+BC = AB+A`C
- (AB`+A`B)`=AB+A` B`
3、邏輯代數的基本運算規則
- 代入規則:將等式兩邊同時出現的某一變數都以一個相同的邏輯函式代入,則等式仍然成立,這一規則稱為代入規則。
- 反演規則:對於任何一個邏輯式Y,如果將其中所有的“”變為“+”,“+”變為“”;“0”換成“1”,“1”換成“0”;原變數換成反變數,反變數換成原變數。就可得到函式Y的反函式。
Y
=
(
A
‾
B
+
C
)
C
D
‾
Y
‾
=
(
A
‾
+
B
)
⋅
C
‾
+
C
‾
+
D
‾
‾
=
A
‾
⋅
C
‾
+
B
⋅
C
‾
+
C
⋅
D
Y = (\overline A B+C) \overline{CD} \\ \overline Y =(\overline A+B)\cdot \overline C+\overline{\overline C+\overline D}= \overline A\cdot \overline C+B\cdot \overline C+C\cdot D
- 對偶規則:對於任何一個邏輯式Y,如果將其中所有的“”變為“+”,“+”變為“”;“0”換成“1 ”,“1”換成“0”,並保持原來的運算順序,則得到Y的對偶式 Y `。 Y`與 Y互為對偶函式式。
( A + A B ) = A A ( A + B ) = A (A+AB) = A\\ A(A+B) = A (A+AB)=AA(A+B)=A
公式法化解
常用的公式法化簡
方法名稱 | 所用公式 | 說明 |
---|---|---|
並項法 | AB '+AB = A | 將兩項合併為一項,並消去一 個因子。 |
吸收法 | A + AB = A | 將多餘的乘積項吸收掉 |
消去法 | A + A’B = A + B | (1)消去乘積項中多餘的因子; |
AB + A’C + BC = AB + A’C | (2)消去多餘的項。 | |
配項法 | A + A’ =1 | (1)用該式乘某一項,可使其變 為兩項,再與其它項合併化簡; |
A ·A = 0 A + A = A | (2)用該式在原式中配重複項或 互補項,再與其它項合併化簡。 |
邏輯函式的卡諾圖化簡
1、邏輯函式的最小項表示式
1.1、最小項
- 最小項的含義:對於一個n變數函式,如果其與或表示式的每一個乘積項都包含n個因子,而這n個因子分別以原變數或反變數的形式在乘積項中出現一次且僅出現一次,這樣的乘積項稱為函式的最小項。
- 最小項的編號:若ABC三變數,ABC`的編號則為M 110 .
- 邏輯相鄰最小項:如果兩個最小項只有一個變數取值不同,則稱為邏輯相鄰最小項 。
1.2、最小項的性質
- 任何一組變數取值下,只有一個最小項的值為1,其餘均為0 。
- 任何兩個不同的最小項之積為0 。
- 全部最小項之和為1,即
∑ i = 0 2 n − 1 m i = 0 ( 其 中 n 為 變 量 數 ) \sum_{i=0}^{2^n-1}m_i=0 (其中n為變數數) i=0∑2n−1mi=0(其中n為變量數)
- 兩相鄰最小項之和可以合併為一項,且消去一個因子。如
m 0 + m 4 = A ‾ B ‾ C ‾ + A B ‾ C ‾ = B ‾ C ‾ m_0+m_4 = \overline A\overline B\overline C + A\overline B\overline C =\overline B\overline C m0+m4=ABC+ABC=BC
1.3、邏輯函式最小項表示式
全部由最小項組成的與或式為最小項表示式。最小項表示式可以寫成變數形式,如 :
Y
=
A
‾
B
C
+
A
B
‾
C
+
A
B
C
‾
Y =\overline A B C + A\overline B C + A B\overline C
Y=ABC+ABC+ABC
也可用最小項編號表示。如 :
Y
(
A
,
B
,
C
)
=
m
3
+
m
5
+
m
6
Y (A, B,C) =m_3 + m_5 + m_6
Y(A,B,C)=m3+m5+m6
或
Y
(
A
,
B
,
C
)
=
∑
m
(
3
,
5
,
6
)
=
∑
(
3
,
5
,
6
)
Y (A, B,C) =\sum m(3,5,6) = \sum (3,5,6)
Y(A,B,C)=∑m(3,5,6)=∑(3,5,6)
2、邏輯函式的卡諾圖表示
2.1、卡諾圖畫法
2.2、卡諾圖的特點
- 上下邊界、左右邊界、以對稱軸對稱的位置、緊挨著的最小項均為邏輯相鄰最小項 。如m0和m1、 m4、m2為邏輯相鄰 ;
- 變數位置是以高位到低位排列,如A、B、 C、D ,按先行後列的順序排列。排在不同位置的變數因其位權不同,其取值影響最小項編號的大小;
- 變數取值為1的區域為原變數區(標以原變數如A),取值為0的區域為反變數區(標以反變數如 A`或不標出);
- 所有幾何位置相鄰的最小項也邏輯相鄰,如m0和m1、 m~4 ~ 。
2.3、用卡諾圖表示邏輯函式
既然任何一個函式都能表示為若干最小項之和的形式,而最小項在卡諾圖上又對應特定位置,自然就可以用卡諾圖來表示邏輯函數了。那麼如何填卡諾圖呢?方法有兩個:化成最小項法和觀察法。
- 化成最小項法 :把邏輯式通過配項法寫成最小項表示式,表示式中包含的最小項在卡諾圖中對應的方格中填1,不包含的最小項在對應方格中填0(0也可以不填)。
- 觀察法 :先將函式式轉換成與或表示式,找出每一個乘積項使函式Y為1的條件,即乘積項中各變數的交集,並在相應位置填1。
3、用卡諾圖化簡邏輯函式
兩個邏輯相鄰的最小項之和可以合併為一項,且消去一個因子。所以在卡諾圖中兩個位置相鄰方格的最小項之和亦可合併化簡,得到簡化的函式式 ,這種化簡函式的方法稱為卡諾圖法。
3.1、合併最小項的規則
- 兩個函式值為1的相鄰方格(最小項)可以合併成一項,並消去那個不同的一個因子,保留公因子;
- 四個函式值為1的相鄰並排成矩形的方格(最小項)可以合併成一項,並消去兩個因子 ;
- 八個函式值為1的相鄰並排成矩形的方格(最小項)可以合併成一項,且消去三個因子;
2n個函式值為1的相鄰並排列成矩形的方格(最小項)可以合併成一項,並消去n個因子,合併結果是保留這些項的公因子。
3.2、用卡諾圖化簡邏輯函式的步驟
- 首先將邏輯函式變換成與或表示式;
- 畫出邏輯函式的卡諾圖;
- 用圈將那些函式值為1的可以合併的最小項 (2n個)包圍起來,並找出其公因子;
- 每個圈對應一個乘積項(即公因子),將所有乘積項相加就得到化簡後的與或式。
注意點:
- 圈要最大且必須是2的整數次冪;
- 圈的個數要最少;
- 1可以重複利用,但每個圈都要有其它圈沒有包圍過的最小項,以免出現多餘項;
- 不能遺漏任何一個函式值為1的最小項。
4、具有無關項的邏輯函式及其化簡
4.1、無關項的含義及其表示
- 完全描述的邏輯函式 : 對於自變數的所有取值組合,函式值是完全確實的,不是0就是1 ,可寫成
Y = ∑ m Y=\sum m Y=∑m
- 非完全描述的邏輯函式 :由於受實際條件的限制,輸入變數的某些取值組合不會在電路中出現,或者某些取值組合所產生的輸出不影響整個電路的工作情況 ,這樣的邏輯函式為非完全描述的邏輯函式 ,可寫成
Y = ∑ m + ∑ d Y=\sum m+\sum d Y=∑m+∑d
- 約束項:由於邏輯變數之間具有一定的約束關係,使得有些變數的取值不可能出現,它所對應的最小項恆等於0。
- 任意項: 是在某些變數取值下,函式值為1或為0均可,並不影響電路的邏輯功能。
4.2、無關項在卡諾圖化簡函式中的應用
述的邏輯函式 ,可寫成
Y = ∑ m + ∑ d Y=\sum m+\sum d Y=∑m+∑d
- 約束項:由於邏輯變數之間具有一定的約束關係,使得有些變數的取值不可能出現,它所對應的最小項恆等於0。
- 任意項: 是在某些變數取值下,函式值為1或為0均可,並不影響電路的邏輯功能。
4.2、無關項在卡諾圖化簡函式中的應用
無關項在畫圈時,既可以當作“1”畫在包圍圈內,也可以當作“0”不圈。目的是使畫出的包圍圈最大、個數最少。