Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。...

41
3-1 Digital Circuits 卡卡卡 卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡Gate-level minimization

Transcript of Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。...

Page 1: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-1Digital Circuits

卡諾圖

    

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

目的是減少數位系統中邏輯閘數目。

Gate-level minimization

Page 2: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-2Digital Circuits

BBAF 簡化

BAF

Page 3: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-3Digital Circuits

BAF

BAAF

用最少數目的邏輯閘建構下列布林函數

ABBAF

一個 2 輸入的 NAND gate

需要 2 個 Inverter 和一個 2 輸入的 OR gate ??

Page 4: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-4Digital Circuits

CBACBAF

上式還能再簡化嗎 ?

CBAF

布林代數運算容易嗎 ?

Page 5: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-5Digital Circuits

寫出 F1 及 F2 的真值表

CBACBAF 1 CBAF 2

輸 入 端 輸 出 端

A B C F 1 F 2

0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 /1

1 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1

Page 6: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-6Digital Circuits

CBA

CBABAB

CBABABA

CBABA

CBACBAF

))((

))((

)(

Page 7: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-7Digital Circuits

CBACBAF 1

寫出 F1 的標準 SOP 表示式

)7,5,3,2,1(

)()()(

1

m

CBAABCCBABCACBA

CBACBAABCCBABCACBA

CBAACBBACCBA

CBACBAF

Page 8: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-8Digital Circuits

CBAF 2

寫出 F2 的標準 SOP 表示式

)7,5,3,2,1(

)()(

)()(

1

m

ABCCBACBABCACBA

ABCCBABCACBABCACBA

CBBACBBABCACBA

ACCABCACBA

CAACCBA

CBAF

Page 9: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-9Digital Circuits

CBACBAF 1

寫出 F1 的標準 POS 表示式

))()(()6,4,0(

)7,5,3,2,1(

)()()(

1

CBACBACBAM

m

CBAABCCBABCACBA

CBACBAABCCBABCACBA

CBAACBBACCBA

CBACBAF

Page 10: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-10Digital Circuits

CBAF 2

寫出 F2 的標準 POS 表示式

)0,4,6(

))()((

))()((

))()()((

))((

))((

1

M

CBACBACBA

CBABCABCA

CBACBABCABCA

CBAABBCA

CBCA

CBAF

Page 11: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-11Digital Circuits

以布林代數簡化,常發生未達最簡式

CBACBA

CBABA

CBAAABA

CBAABA

CBAACBAF

)(

))((

)(

CBAACBAF

CBA

CAABA

ACCABA

ACCBA

ACCBBBA

ACCBBA

CBAACBAF

)(

)(

))((

)(

Page 12: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-12Digital Circuits

Gate-level minimization refers to the design task of finding an optimal gate-level implementation of Boolean functions describing a digital circuit.

Page 13: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-13Digital Circuits

The Map Method

The complexity of the digital logic gates the complexity of the algebraic expression

Logic minimization algebraic approaches: lack specific rules the Karnaugh map

a simple straight forward procedure a pictorial form of a truth table applicable if the # of variables < 7

A diagram made up of squares each square represents one minterm

Page 14: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-14Digital Circuits

Two-Variable Map

A two-variable map four minterms x' = row 0; x = row 1 y' = column 0;

y = column 1 a truth table in square

diagram xy x+y =

Fig. 3.2 Representation of functions in the map

Page 15: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-15Digital Circuits

A three-variable map eight minterms the Gray code sequence any two adjacent squares in the map differ by only

on variable primed in one square and unprimed in the other e.g., m5 and m7 can be simplified

m5+ m7 = xy'z + xyz = xz (y'+y) = xz

Page 16: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-16Digital Circuits

練習題 Example 3-1

F(x,y,z) = (2,3,4,5) F = x'y + xy'

Page 17: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-17Digital Circuits

m0 and m2 (m4 and m6) are adjacent

m0+ m2 = x'y'z' + x'yz' = x'z' (y'+y) = x'z'

m4+ m6 = xy'z' + xyz' = xz' (y'+y) = xz'

Page 18: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-18Digital Circuits

練習題 Example 3-2

F(x,y,z) = (3,4,6,7) = yz+ xz'

Page 19: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-19Digital Circuits

Four adjacent squares 2, 4, 8 and 16 squares m0+m2+m4+m6 = x'y'z'+x'yz'+xy'z'+xyz'

= x'z'(y'+y) +xz'(y'+y)= x'z' + xz‘ = z'

m1+m3+m5+m7 = x'y'z+x'yz+xy'z+xyz=x'z(y'+y) + xz(y'+y)

=x'z + xz = z

Page 20: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-20Digital Circuits

Example 3-3 F(x,y,z) = (0,2,4,5,6) F = z'+ xy'

Page 21: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-21Digital Circuits

Example 3-4 F = A'C + A'B + AB'C + BC express it in sum of minterms find the minimal sum of products expression

Page 22: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-22Digital Circuits

Four-Variable Map The map

16 minterms combinations of 2, 4, 8, and 16 adjacent squares

Page 23: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-23Digital Circuits

Example 3-5 F(w,x,y,z) = (0,1,2,4,5,6,8,9,12,13,14)

F = y'+w'z'+xz'

Page 24: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-24Digital Circuits

Example 3-6Simplify the Boolean function

F = ABC + BCD + ABCD + ABC

Page 25: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-25Digital Circuits

練習題 利用布林代數運算及卡諾圖化簡下列布林函數

DCBDCABCBAF

CBF

Page 26: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-26Digital Circuits

Implicants 含項 : 能使 F 為 1 的項

Prime implicant 質 ( 主要的 ) 含項 : 能使 F為 1 的項 , 但是不能再合併

Essential prime implicant 必要項 : 沒有與其它 prime implicant 重疊的 prime implicant

CBACBAF

CBACBA ,,

BA

BA

Page 27: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-27Digital Circuits

練習題

DCBADCABDCBADCBAF

DCBADCABDCBADCBA ,,,

CBADCBDCA

DCBADCBA

DCBADCABDCBADCBAF

F 有 4 個 implicants:

F 有 3 個 prime implicants:

CBADCBDCA ,,

F沒有 essential prime implicants

Page 28: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-28Digital Circuits

the simplified expression may not be unique F = BD+B'D'+CD+AD = BD+B'D'+CD+AB = BD+B'D'+B'C+AD = BD+B'D'+B'C+AB'

( , , , ) (0,2,3,5,7,8,9,10,11,13,15)F A B C D Consider

Page 29: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-29Digital Circuits

3-4 Five-Variable Map Map for more than four variables becomes

complicated five-variable map: two four-variable map (one on

the top of the other)

Page 30: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-30Digital Circuits

Table 3.1 shows the relationship between the number of adjacent squares and the number of literals in the term.

Page 31: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-31Digital Circuits

Example 3-7 F = (0,2,4,6,9,13,21,23,25,29,31)

F = A'B'E'+BD'E+ACE

Page 32: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-32Digital Circuits

Another Map for Example 3-7

Page 33: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-33Digital Circuits

3-5 Product of Sums Simplification

Approach #1 Simplified F' in the form of sum of products Apply DeMorgan's theorem F = (F')' F': sum of products => F: product of sums

Approach #2: duality combinations of maxterms (it was minterms) M0M1 = (A+B+C+D)(A+B+C+D')

= (A+B+C)+(DD')= A+B+C

CDAB 00 01 11 1000 M0 M1 M3 M2

01 M4 M5 M7 M6

11 M12 M13 M15 M14

10 M8 M9 M11 M10

Page 34: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-34Digital Circuits

Example 3-8 F = (0,1,2,5,8,9,10)

F' = AB+CD+BD' Apply DeMorgan's theorem; F=(A'+B')(C'+D')(B'+D) Or think in terms of maxterms

Page 35: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-35Digital Circuits

Gate implementation of the function of Example 3-8

Page 36: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-36Digital Circuits

Consider the function defined in Table 3.2.

( , , ) (1,3,4,6)F x y z In sum-of-minterm:

( , , ) (0,2,5,7)F x y z

In sum-of-maxterm:

Taking the complement of F

( , , ) ( )( )F x y z x z x z

Page 37: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-37Digital Circuits

Consider the function defined in Table 3.2.

( , , )F x y z x z xz

Combine the 1’s:

( , , )F x y z xz x z

Combine the 0’s :

Page 38: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-38Digital Circuits

3-6 Don't-Care Conditions

The value of a function is not specified for certain combinations of variables BCD; 1010-1111: don't care

The don't care conditions can be utilized in logic minimization can be implemented as 0 or 1

Example 3-9 F (w,x,y,z) = (1,3,7,11,15) d(w,x,y,z) = (0,2,5)

Page 39: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-39Digital Circuits

F = yz + w'x'; F = yz + w'z F = (0,1,2,3,7,11,15) ; F = (1,3,5,7,11,15) either expression is acceptable

Also apply to products of sum

Page 40: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-40Digital Circuits

Two graphic symbols for a NAND gate

Page 41: Digital Circuits 3-1 卡諾圖 卡諾圖是化簡布林表示式的方法。 目的是減少數位系統中邏輯閘數目。 Gate-level minimization.

3-41Digital Circuits

Two-level Implementation two-level logic NAND-NAND = sum of products Example: F = AB+CD F = ((AB)' (CD)' )' =AB+CD

Fig. 3-20 Three ways to implement F = AB + CD