4_布林代數與邏輯簡化 1...

76
邏輯設計 布林代數與邏輯簡化 王宏祺 講師 Department of Computer and Communication Kun San University Tainan , Taiwan , R.O.C. Mar. 30, 2011 1

Transcript of 4_布林代數與邏輯簡化 1...

  • 邏輯設計

    布林代數與邏輯簡化

    王宏祺講師

    Department of Computer and Communication Kun San University

    Tainan , Taiwan , R.O.C.

    Mar. 30, 2011

    1

  • 4-1 布林運算與表示式4-2 布林代數的定律與法則4-3 狄摩根定理4-4 邏輯電路的布林分析法4-5 利用布林代數來做簡化4-6 布林表示式的標準形式4-7 布林表示式與真值表

    4-8 卡諾圖4-9 SOP卡諾圖簡化4-10 POS卡諾圖的簡化4-11 數位系統應用實例

    2

  • 布林加法運算

    布林加法運算與OR運算等效,其基本法則與OR閘的

    關係圖示如下:

    邏輯電路中,和項是由OR運算所產生的,不含AND運算。

    3

  • 布林乘法運算

    布林乘法和AND運算等效,其基本法則與AND閘的

    關係圖示如下:

    邏輯電路裡,積項是由AND運算所產生的,不含OR運算。

    4

  • 4-2 布林代數的定律與法則

    應用加法與乘法的交換律。

    應用加法與乘法的結合律。

    應用分配律。

    應用布林代數的12項基本運算法則。

    5

  • 布林代數定律

    結合律 三個變數的加法結合律寫法如下:

    A + (B + C) = (A + B) + C

    三變數乘法結合律的寫法如下:

    A(BC) = (AB)C

    6

  • 布林代數的運算法則

    1. A0A 7. AAA

    2. A11 8. 0A A

    3. A00 9. A A 4. A1A 10. AABA

    5. AAA 11. A AB A B

    6. 1A A 12. (AB)(AC)ABC

    A、B 或 C 可代表單變數或組合變數。

    布林代數的基本法則

    7

    定律(1) 交換律:a. A+B = B+Ab. A.B = B.A

    定律(2) 結合律:a. (A+B)+C=A+(B+C)b. (A.B).C=A.(B.C)

    定律(3) 分配律:a. A.(B+C)=AB+ACb. A+(B.C)=(A+B).(A+C)c. (D+A).(B+C)=DB+DC+AB+AC

    定律(4) 吸收律:a. A+AB=Ab. A+A'B=A+B

  • 布林代數的運算法則

    3. A 0 0

    4. A 1 A

    8

  • 布林代數的運算法則

    7. A A = A

    8. 0A A

    9

  • 布林代數的運算法則

    11. A AB A B

    表4-3

    10

  • 4-3 狄摩根定理

    狄摩根定理以數學方式證明了NAND和輸入反相的OR

    閘以及NOR閘和輸入反相的AND閘之間的等效性。

    11

  • 4-3 狄摩根定理

    12

  • 4-3 狄摩根定理4-4

    在表示式 和 中應用狄摩根定

    理。

    解:

    例題一 在表示式 中應用狄摩根定理。

    WXYZ W X Y Z

    WXYZ W X Y Z

    W X Y Z W X Y Z

    W X Y Z

    13

  • 應用狄摩根定理

    4-5

    在下列各表示式中應用狄摩根定理:

    (a) (b) (c)

    解:

    (a)設A + B + C = X, D = Y。表示式 屬於

    的形式,可以寫成:

    接著在 部分使用狄摩根定理。

    ( )A B C D ABC DEF AB CD EF

    ( )A B C D

    XY X Y

    ( )A B C D A B C D

    A B C

    A B C D A B C D 14

  • 應用狄摩根定理

    例4-5(續)

    (b)設ABC = X,DEF = Y。表示式 屬於

    的形式,可寫成:

    接著,在 和 兩項應用狄摩根定理。

    ABC DEF

    X Y X Y

    ( )( )ABC DEF ABC DEF

    ABC DEF

    ( )( ) ( )( )ABC DEF A B C D E F

    15

  • 應用狄摩根定理

    例4-5(續)

    (c)設 , , EF = Z。表示式 屬於

    的形式,可寫成:

    接著,在 , , 各項應用狄摩根定理。

    AB X CD Y AB CD EF

    X Y Z X Y Z

    ( )( )( )AB CD EF AB CD EF

    AB CD EF

    ( )( )( ) ( )( )( )AB CD EF A B C D E F

    16

  • 例題一

    17

    1.在下列各表示式中應用狄摩根定理:

  • 應用狄摩根定理

    4-7

    XOR閘的布林表示式為 。以這個式子為起

    點,利用狄摩根定理和其它適用法則,推導出XNOR閘

    的表示式。

    解:

    解 由取XOR閘表示式的補數開始,再如下應用狄摩

    根定理:

    接著,應用分配律和法則 )。

    AB AB

    ( )( ) ( )( ) ( )( )AB AB AB AB A B A B A B A B

    8( 0)A A

    ( )( )A B A B AA A B AB BB A B AB 18

  • 4-4 邏輯電路的布林表示式

    19

    例題二.寫出下圖各邏輯電路的布林表示式。

  • 4-5 利用布林代數來做簡化4-8

    利用布林代數化簡這項表示式:

    AB + A(B + C) + B(B + C)

    解:下列步驟並非唯一方法。

    步驟1. 表示式的第2和第3項使用分配律,如下:

    AB + AB + AC + BB + BC

    步驟2. 第4項應用法則7 (BB = B)。

    AB + AB + AC + B + BC

    步驟3. 前兩項應用法則5 (AB + AB = AB)。

    AB + AC + B + BC

    20

  • 4-5 利用布林代數來做簡化例4-8(續)

    步驟4. 後兩項應用法則10 (B + BC = B)。

    AB + AC + B

    步驟5. 第1和第3項應用法則10 (AB + B = B)

    B + AC

    到這裡,表示式已經盡可能的簡化了。一旦學得應

    用布林代數的經驗,您就可以將數個步驟一併處理。

    21

  • 例題二

    22

    2.利用布林代數,將下列表示式化簡:

  • 4-5 利用布林代數來做簡化4-11

    化簡下列布林表示式:

    解:

    步驟1. 第1項應用狄摩根定理。

    步驟2. 兩小括弧內項應用狄摩根定理。

    步驟3. 兩小括弧內項應用分配律。

    AB AC A BC

    ( )( )AB AC A B C

    ( )( )A B A C A BC

    A A A C A B B C A B C 23

  • 4-5 利用布林代數來做簡化例4-11(續)

    步驟4. 第1項應用法則 ,第3項和最後一項應

    用法則10 。

    步驟5. 第1項和第2項應用法則10 。

    步驟6. 第1項和第2項應用法則10 。

    7 ( )A A A

    [ (1 ) ]A B A BC A B C A B

    [ (1 ) ]A A C A C A

    A A B B C [ (1 ) ]A A B A B A

    A B C

    24

  • 4-5 利用布林代數來做簡化4-9

    化簡下列布林表示式:

    注意,中括弧和小括弧是一樣的:括弧內項要與括弧

    外項相乘 ( 做AND運算 )。

    解:

    步驟1. 中括弧內項應用分配律。

    步驟2. 小括弧內第2項應用法則8 。

    [ ( ) ]AB C BD A B C

    ( )ABC ABBD A B C

    ( 0)BB

    ( 0 )ABC A D A B C 25

  • 4-5 利用布林代數來做簡化例4-9(續)

    步驟3. 小括弧內第2項應用法則3 (A 0 D = 0)。

    步驟4. 小括弧內應用法則1 ( 除去0)。

    步驟5. 應用分配律。

    步驟6. 第1項應用法則7 (CC = C)。

    ( 0 )ABC A B C

    ( )ABC A B C

    ABCC A BC

    ABC A BC

    26

  • 4-5 利用布林代數來做簡化例4-9(續)

    步驟7. 因式分解出 。

    步驟8. 應用法則 。

    步驟9. 應用法則4 ( 消去1)。

    BC

    ( )BC A A

    6 ( 1)A A

    1BC

    BC

    27

  • 例題三

    28

    3.利用布林代數,將下列表示式化簡:

  • 積之和形式(SOP)

    積項為由字母 ( 變數或其補數 ) 乘積 ( 布林乘法運算 )

    所組成的項。當兩個以上的積項以布林加法運算執行加法

    時,所得的表示式就是積之和 (sum-of-products, SOP)。

    如下列各式:

    AB ABC

    ABC CDE BCD

    AB ABC AC

    29

  • 積之和形式(SOP)

    布林表示式的範圍 一般布林表示式的集合是指表示式中

    所包含,不管是補數或非補數形式的變數組。例如,表示

    式 的範圍合就是變數A、B、C,而表示式

    的範圍就是A、B、C、D、E等變數。

    實現SOP表示式

    AB ABC

    ABC CDE BCD

    30

  • 一般表示式轉換成SOP形成

    4-12

    將下列布林表示式轉換成SOP形式:

    (a)AB + B(CD + EF) (b)(A + B)(B + C + D)

    (c)

    解:

    (a)AB + B(CD + EF) = AB + BCD + BEF

    (b)(A + B)(B + C + D) = AB + AC + AD + BB + BC + BD

    (c)

    ( )A B C

    ( ) ( ) ( )A B C A B C A B C AC BC

    31

  • 例題四

    32

    4.將下列表示式轉換成積之和 (SOP) 的形式:

  • 標準SOP形式

    將積項轉換成標準SOP SOP表示式中的每個積項未必包

    含範圍集合內所有變數,這些積項可以擴充成每個都包含

    所有集合內變數或其補數的標準形式。

    33

  • 標準SOP形式

    4-13

    將下列布林表示式轉換成標準SOP形式:

    解:此SOP表示式之範圍為A、B、C、D。一次處理一項

    。第一項中少了變數D或 ,所以將第一項乘上 ,如下:

    這樣就產生了兩個標準積項。

    第二項, ,缺少了變數C或 和D或 ,所以先如下

    將第二項乘上 :

    ABC A B ABCD

    ABC

    D D D

    ( )ABC ABC D D ABCD ABCD

    A B C D

    C C

    ( )A B A B C C A B C A B C

    34

  • 標準SOP形式例4-13(續)

    得到的兩個積項仍少了變數D或 ,所以將這兩項分別乘上

    ,如下:

    這樣就得到四個標準積項。

    第三項, ,已經是標準形式了。原表示式的標準

    SOP形式如下:

    D

    D D( ) ( )A B A B C A B C A B C D D A B C D D

    A B CD A B C D A B C D A B C D

    ABCD

    ABC A B ABCD ABCD ABCD A BCD A BCD A B CD A B C D ABCD

    35

  • 例題五

    36

    5.將問題22中的各SOP表示式轉換成標準SOP形式。( ) ( ) ( )a AB CD b ABD c A BD

  • 標準SOP形式4-14

    求出使下列標準SOP表示式等於1的二進位值:

    解:

    在A = 1, B = 1, C = 1且D = 1時,ABCD項會等於1。

    ABCD = 1 1 1 1 = 1

    在A = 1, , , D = 1時, 項等於1。

    ABCD AB CD A B C D

    1B 1C AB CD

    1 0 0 1 1 1 1 1 1AB CD

    37

  • 標準SOP形式例4-14(續)

    在 , , , 時, 項等於1。

    這三個積項任一項或全部等於1時,SOP表示式就

    等於1。

    1A 1B 1C 1D A B C D

    38

  • 和之積形式

    和項為由字母和 ( 布林加法 ) 所組成的項。兩個以上

    的和項相乘時,所得的表示式就是和之積 (product-of-

    sum, POS)。下列為其實例:

    ( )( )

    ( )( )( )

    ( )( )( )

    A B A B C

    A B C C D E B C D

    A B A B C A C

    39

  • 標準POS形式

    標準POS表示式是指範圍集合內的所有變數都會出現

    在表示式的各個和項中。例如,

    就是個標準POS表示式。( )( )( )A B C D A B C D A B C D

    40

  • 標準POS形式

    4-15

    將下列布林表示式轉換成標準POS形式:

    解:此POS表示式範圍為A、B、C、D的集合。一次處理一

    項。第一項 少了變數D或 ,所以加入 並應

    用法則12,如下:

    第二項 少了變數A或,所以加入並應用準則12

    ,如下:

    ( )( )( )A B C B C D A B C D

    A B C D DD

    ( )( )A B C A B C DD A B C D A B C D

    B C D

    ( )( )B C D B C D AA A B C D A B C D

    41

  • 標準POS形式例4-15(續)

    第三項 已經是標準形式了。故原表示式

    的標準POS形式如下:

    A B C D

    ( )( )( )

    ( )( )( )( )( )

    A B C B C D A B C D

    A B C D A B C D A B C D A B C D A B C D

    42

  • 標準POS形式4-16

    求出使下列標準POS表示式等於0的二進位變數值。

    解:

    在A = 0, B = 0, C = 0, D = 0時,A + B + C + D等於0。

    A + B + C + D = 0 + 0 + 0 + 0 = 0

    在A = 0, , , D = 0時, 。

    ( )( )( )A B C D A B C D A B C D

    0B 0C 0A B C D

    0 1 1 0 0 0 0 0 0A B C D

    43

  • 標準POS形式例4-16(續)

    在A = 1, B = 1, C = 1, D = 1時, 。

    上述三項中任一項等於0,就會使此POS表示式等於0。

    0A B C D 1 1 1 1 0 0 0 0 0A B C D

    44

  • 將標準SOP轉換成標準POS4-17

    將下列SOP表示式轉換成等效的POS表示式:

    解:估算方式如下:

    000 + 010 + 011 + 101 + 111此表示式的範圍集合含有三個變數,所以總共有8種

    可能的組合。這個SOP表示式含有其中的5種,所以POS必定含有其它3種,即001,100,和110。記住,這些就是使和項為0的二進位值。其等效POS表示式為:

    A B C ABC ABC ABC ABC

    3(2 )

    ( )( )( )A B C A B C A B C

    45

  • 例題六

    46

    6.將下面各標準SOP表示式轉換成標準POS形式。( )

    ( )

    ( )

    a ABC ABC ABC ABC

    b ABC ABC ABC

    c ABC ABC ABC

  • 將SOP表示式轉換成真值表格式

    4-18

    建立標準SOP表示式 的真值表。

    解:

    此表示式有三個變數,所以變數的二進位值共有8

    種可能組合,見表4-6左邊三個欄位。使表示式各積項等

    於1的二進位值分別為: : 001; : 100;ABC

    : 111。如表所示,在這幾個二進位值組合的輸出欄位中

    填入1。其餘二進位組合的輸出欄位中則填入0。

    A BC AB C ABC

    A B C A B C

    47

  • 將SOP表示式轉換成真值表格式例4-18(續)

    表4-6 輸入端 輸出端 A B C X 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1

    48

  • 例題七

    49

    7.做出下列各SOP表示式的真值表:

  • 由真值表求出標準表示式

    4-20

    由表4-8的真值表求出標準SOP表示式,及其等效的

    標準POS表示式。

    表4-8 輸入端 輸出端 A B C X 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1

    50

  • 例4-20(續)

    由真值表求出標準表示式

    解:

    輸出欄位中共有四個1,其對應的二進位數為011

    ,100,110,和111。將這些二進位數如下轉換成積項:

    得到輸出X的標準SOP表示式為:

    011

    100

    110111

    ABC

    AB C

    ABCABC

    X ABC AB C ABC ABC

    51

  • 例4-20(續)

    由真值表求出標準表示式

    至於POS表示式,則看輸出為0的二進位數000,001,010,和101。將這些二進位數如下轉換成和項:

    得到輸出X的標準POS表示式為:

    000

    001

    010

    101

    A B C

    A B C

    A B C

    A B C

    ( )( )( )( )X A B C A B C A B C A B C

    52

  • 4-8 卡諾圖

    卡諾圖是有系統的簡化布林表示式的方法。

    做出3、4個變數的卡諾圖。

    求出卡諾圖中各單位的二進位值。

    求出卡諾圖中各單位所代表的標準積項。

    53

  • 4個變數的卡諾圖

    4個變數的卡諾圖是由16個小單位排列而成的。

    54

  • 4-9 SOP卡諾圖簡化

    卡諾圖用於簡化布林表示式至其最簡形式。最小SOP

    表示式含有最少數目之積項,每項中之變數亦為最少。

    55

  • 標準SOP表示式轉換至卡諾圖

    4-21

    將下列標準SOP表示式轉換成卡諾圖:

    解:

    將表示式如下換成二進位值。在圖4-24的3變數卡

    諾圖中,代表表示式中各標準積項的方格內填入1。

    A BC ABC ABC ABC

    0 01 01 0 11 0 1 1 1A BC ABC ABC ABC

    56

  • 例4-21(續)

    標準SOP表示式轉換至卡諾圖

    圖4-24

    57

  • 將非標準SOP表示式轉換成卡諾圖

    4-23將下列SOP表示式做成卡諾圖: 。

    解:

    很明顯,此SOP表示式並非標準形式,因為並非各

    積項都有三個變數。第一項中少了兩個變數,第二項中

    少了一個變數,第三項則是標準形式。先將各積項展開

    成數字:

    A AB ABC

    000 1 00 1 1 0001 1 01010011

    A AB ABC

    58

  • 將非標準SOP表示式轉換成卡諾圖例4-23(續)

    對照所得的各個二進位數,在圖4-26之3變數卡諾圖

    的適當方格內填入1。

    圖4-26

    59

  • SOP表示式的卡諾圖化簡法

    將填1的項目分組 用圈出含有1的相鄰方格的方法,在卡

    諾圖上將填有1的項目分組。此步驟的目的是要使同一組

    的規模變大,使組數變少。

    由卡諾圖求出最小的SOP表示式 當代表表示式中各標準

    積項的1都適當的填於卡諾圖中,再經過分組後,就可以

    開始進入求最小SOP表示式的步驟。

    60

  • SOP表示式的卡諾圖化簡法

    4-27

    求出圖4-31各卡諾圖的積項,並寫出所得的最小

    SOP表示式。

    解:

    圖4-31中已顯示出各組的最小積項。此圖中各卡諾

    圖的最小SOP表示式分別為:

    (a) (b)

    (c) (d)AB BC A B C B A C AC

    AB A C ABD D ABC BC

    61

  • SOP表示式的卡諾圖化簡法例4-23(續)

    62

  • SOP表示式的卡諾圖化簡法

    4-29

    利用卡諾圖將下列SOP表示式最小化:

    解:第一項 必須擴展成 和 ,形成標

    準SOP表示式,才能做成卡諾圖,將圖中含1的方格分組,

    如圖4-33所示。

    B C D ABC D ABC D A BCD ABCD A BCD ABCD ABCD ABCD

    B C D AB C D A B C D

    圖4-33

    63

  • SOP表示式的卡諾圖化簡法例4-29(續)

    注意所得兩組都有包捲式鄰接的情形。因為卡諾圖的最

    外兩行中的方格相鄰接而形成8方格的一組。因為最上和最下

    層方格相鄰,將其餘的兩個1拼湊起來便形成4方格的一組。

    各組的積項都標示在圖上了,所得的最小SOP表示式為:

    記住,最小表示式和原標準表示式是等效的。

    D BC

    64

  • 例題八

    65

    A B C A BC ABC ( )AC B C ( ) ( )A BC BC A BC BC

    A B C AB C ABC ABC

    8.利用卡諾圖找出各表示式的最小SOP形式:

    (a) (b) (c) (d)

  • 4-10 POS卡諾圖的簡化

    這一節的重點是放在POS表示式。 POS表示式卡諾圖

    的方格內填的是代表標準和項的0。

    66

  • 將標準POS表示式做成卡諾圖

    4-30

    將下列標準POS表示式做成卡諾圖:

    解:

    如下將表示式各和項的二進位數算出,再將0填入

    圖4-37的4變數卡諾圖中。

    ( )( )( )( )( )A B C D A B C D A B C D A B C D A B C D

    1100 1011 0010 1( )( )( )(

    111 0011)( )A B C D A B C D A B C D A B C D A B C D

    67

  • 將標準POS表示式做成卡諾圖例4-30(續)

    圖4-37

    68

  • POS表示式的卡諾圖簡化法

    4-32

    利用卡諾圖將下列POS表示式最小化:

    解:

    第一項必須先擴展成 和A + B + C + D形成

    標準POS表示式。接著便做出卡諾圖,並對方格分組,如圖

    4-39所示。圖中已顯示出各組和項,最後得到的最小POS表

    示式為

    記住,最小POS表示式與原標準POS表示式是等效的。

    ( )( )( )( )( )B C D A B C D A B C D A B C D A B C D

    A B C D

    ( )( )( )C D A B D A B C

    69

  • POS表示式的卡諾圖簡化法例4-32(續)

    圖4-39

    70

  • 例題九

    71

    ( )( )( )A B C A B C A B C

    ( )( )( )( )X Y X Z X Y Z X Y Z

    ( )( )( )( )A B C A C A B C A B C

    9.利用卡諾圖找出下列各表示式的最小POS形式:

    (a)

    (b)

    (c)

  • 4-11 數位系統應用實例

    計數與控制系統中就用到七段顯示器。這些顯示器和

    解BCD碼的邏輯電路併用,將適當的數字顯示在顯示器上

    72

  • 顯示段解碼邏輯

    顯示段可用來表示不同的十進位數字,表4-9。

    表4-9 各個十進位數字所要運作的顯示段

    數 字 要顯示的段 0 a , b , c , d , e , f 1 b , c 2 a , b , d , e , g 3 a , b , c , d , g 4 b , c , f , g 5 a , c , d , f , g 6 a , c , d , e , f , g 7 a , b , c 8 a , b , c , d , e , f , g 9 a , b , c , d , f , g

    73

  • 顯示段解碼邏輯

    表4-10 七段邏輯電路的真值表輸 入 段 輸 出 十進位

    數字 D C B A a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 1 1 1 1 7 0 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1

    10 1 0 1 0 X X X X X X X 11 1 0 1 1 X X X X X X X 12 1 1 0 0 X X X X X X X 13 1 1 0 1 X X X X X X X 14 1 1 1 0 X X X X X X X 15 1 1 1 1 X X X X X X X

    輸出1 表示該段啟動 (on) 輸出0 表示該段不啟動 (off) 輸出X 表示“隨意項"

    74

  • 顯示段解碼邏輯

    顯示段邏輯電路的布林表示式 利用真值表,便能寫出

    各顯示段的標準SOP或POS表示式。例如,a段的標準

    SOP表示式為:

    e段的標準SOP表示式為:

    a D C B A D CBA D CBA DCBA DCBA DCBA DC B A DC BA

    e D C B A D CBA DCBA DC B A

    75

  • 顯示段解碼邏輯

    多輸出邏輯閘的進一步簡化

    76