Top Banner
2008 dce BK TP.HCM 2008 dce Chương 3: Tng hpmch 2 mc Ti gin đạisBool mch 2 mc Phương pháp Quine-McCluskey Lut suy din 2 mc (Two-Level Tautology) Bù (complementation) Phương pháp ti gin chính xác (Exact Minization) Phương pháp ti ginti ưu (Heuristic Minimization) 2008 dce Ti gin đạisBool mch 2 mc Two-level Boolean minimization đượcsdng để tìm dng tng các tích (sum-of- products) cho hàm sBool đó là ti ưu theo mt hàm chi phí cho trước. 2 bước trong quá trình ti gin là: – Sinh tp prime implicant – Chntpmttp prime implicant ti thiu 2 Logic Synthesis 2008 dce Phương pháp Quine-McCluskey • Các bước thc hin – Sinh Prime Implicant – Thành lpbng Prime Implicant – Tìm Essential Prime Implicant – Tìm Dominated Column – Tìm Dominating Row –Ti ưu các Dominated Comlumn và các dominating Row. – Tóm tt quy trình 3 Logic Synthesis 2008 dce Sinh Prime Implicant Lit kê tp các minterm ca hàm (biu din dng các snhphân). Trn các cp minterm. Các cp minterm chkhác nhau 1 bit để to thành 1 cube. Tiếptc trn các cp cube thành mt cube mi cho đên khi không thtrn tiếp. Đánh đấu các cube đã được trn Tp các cube không được đánh du là tp prime implicant ca hàm. Trong trường hp hàm không đầy đủ thì các minterm sbao gm trong ctp ON-set DC-set ca hàm đó. 4 Logic Synthesis 0 5 7 8 9 10 11 14 15 0000 0101 0111 1000 1001 1010 1011 1110 1111 0, 8 5, 7 7, 15 8, 9 8, 10 9, 11 10, 11 10, 14 11, 15 14, 15 _000 01_1 _111 100_ 10_0 10_1 101_ 1_10 1_11 111_ E D C 8, 9, 10, 11 10, 11, 14, 15 10_ _ 1_1_ B A
16
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 4

2008dce

BKTP.HCM

2008dce

Chương 3: Tổng hợp mạch 2 mức

Tối giản đại số Bool mạch 2 mứcPhương pháp Quine-McCluskeyLuật suy diễn 2 mức (Two-Level Tautology)Bù (complementation)Phương pháp tối giản chính xác (Exact Minization)Phương pháp tối giản tối ưu (Heuristic Minimization)

2008dce Tối giản đại số Bool mạch 2 mức

• Two-level Boolean minimization được sửdụng để tìm dạng tổng các tích (sum-of-products) cho hàm số Bool đó là tối ưu theomột hàm chi phí cho trước.

• 2 bước trong quá trình tối giản là:– Sinh tập prime implicant– Chọn tập một tập prime implicant tối thiểu

2Logic Synthesis

2008dce Phương pháp Quine-McCluskey

• Các bước thực hiện– Sinh Prime Implicant– Thành lập bảng Prime Implicant– Tìm Essential Prime Implicant– Tìm Dominated Column– Tìm Dominating Row– Tối ưu các Dominated Comlumn và các

dominating Row.– Tóm tắt quy trình

3Logic Synthesis

2008dce Sinh Prime Implicant

• Liệt kê tập các minterm của hàm(biểu diễn ở dạng các số nhị phân).

• Trộn các cặp minterm. Các cặpminterm chỉ khác nhau 1 bit để tạothành 1 cube.

• Tiếp tục trộn các cặp cube thànhmột cube mới cho đên khi khôngthể trộn tiếp.

• Đánh đấu các cube đã được trộn• Tập các cube không được đánh

dấu là tập prime implicant củahàm.

• Trong trường hợp hàm không đầyđủ thì các minterm sẽ bao gồmtrong cả tập ON-set và DC-set củahàm đó.

4Logic Synthesis

05789

10111415

000001010111100010011010101111101111

0, 85, 77, 158, 98, 10 9, 11

10, 1110, 1411, 1514, 15

_00001_1_111100_10_010_1101_1_101_11111_

E

D

C

8, 9, 10, 1110, 11, 14, 15

10_ _1_1_

B

A

Page 2: Chapter 4

2008dce Bảng Prime Implicant

• Các hàng của bảng làcác minterm (ở dạngnhị phân)

• Các cột là các prime implicant

• Đánh dấu “x” ở nhữngnơi giao nhau giữahàng và cột nếu cácprime implicant chứacác minterm

5Logic Synthesis

0000

0101

0111

1000

1001

1010

1011

1110

1111

A B C D E

A B C D X

A B C X E

A B X X E

A X C D X

A X C D E

X X C D E

X X C D E

X B C D E

X B X D E

2008dce Essential Prime Implicant

• Cột mà có hàng chỉ chứa 1 dấu “x” là essential prime implicant.

• Ví dụ: E là essential prime implicant

• Essentical prime implicant phải có mặt trongbiểu thức tối giản

• Các prime được chọn: A, B, D, E

6Logic Synthesis

0000

0101

0111

1000

1001

1010

1011

1110

1111

A B C D E

A B C D X

A B C X E

A B X X E

A X C D X

A X C D E

X X C D E

X X C D E

X B C D E

X B X D E

2008dce Dominated Columns

• Nếu Không cóEssential Prime implicant.

• Chọn một cột: giả sửlà A

• Rút gọn A và các hàngđược chứa bởi A (hàng 0 và 1)

7Logic Synthesis

0000

0001

0101

0111

1000

1010

1110

1111

A B C D E F G H

X B C D E F G X

X X C D E F G H

A X X D E F G H

A B X X E F G H

A B C D E F X X

A B C D E X X H

A B C D X X G H

A B C X X F G H

2008dce Dominated Columns

• Một cột U được gọi làdominate cột V nếucột U chứa tất cả cáchàng có trong V.

• Ví dụ: – Cột B dominated (C)– Cột H dominated (G)

• Chúng ta có thể bỏ đicác cột dominatedmà không ảnh hưởngđến kết quả rút gọn

8Logic Synthesis

0101

0111

1000

1010

1110

1111

B C D E F G H

X X D E F G H

B X X E F G H

B C D E F X X

B C D E X X H

B C D X X G H

B C X X F G H

0101

0111

1000

1010

1110

1111

C D E F G

X D E F G

X X E F G

C D E F X

C D E X X

C D X X G

C X X F G

Page 3: Chapter 4

2008dce Dominated Columns

• Chọn C và G, do đây làcặp Relatively Essential Prime Implicant

• Chọn E• Kết quả f = {A, C, E, G}• Vì việc chọn ngẩu nhiên A

ban đầu nên kết quảkhông đán tin cậy.

• Cần phải thực hiện việcbacktrack và bỏ A khỏibảng, tiếp tục thực hiện

• Một kết quả khác f = {B, D, F, H}

9Logic Synthesis

0101

0111

1000

1010

1110

1111

C D E F G

X D E F G

X X E F G

C D E F X

C D E X X

C D X X G

C X X F G

2008dce Dominating Rows

• Hàng i của bảng prime implicantđược gọi là dominate một hàng j khác nếu i có x tại tất cả những cộtmà trong đó j được đánh dấu x

• Ta có thể lượt bỏ những cộtdominating

• Ví dụ: – Hàng 0111 dominate hàng 0101– Hàng 1010 dominate hàng 1000

10Logic Synthesis

0101

0111

1000

1010

1110

1111

C D E F G

X D E F G

X X E F G

C D E F X

C D E X X

C D X X G

C X X F G

0101

1000

1110

1111

C D E F G

X D E F G

C D E F X

C D X X G

C X X F G

2008dce Tóm tắt

• Các bước thực hiện– Xây dựng bảng prime implicant– Xóa những cột dominated và những hàng dominating– Tìm hết những essential prime. Đưa chúng vào tập lựa

chọn– Nếu tập lựa chọn các prime này lớn hơn hoặc bằng lời giải

tốt nhất thì dừng lại.– Chọn một prime một cách tối ưu– Thêm prime vào tập lựa chọn và quay trở lại với bảng đãđược tối giản từ việc chọn prime.

– Loại prime đó ra khỏi tập lựa chọn và quay trở lại với bảngđã được tối giản này để thực hiện lại quy trình.

11Logic Synthesis

2008dce Luật suy diễn 2 mức - Tautology

• Hàm f là tautology nếu và chỉ nếu tập ON-set của f là tập vũ trụ. Ký hiệu f ≅1

• f(x) = 1, ∀x∈Bn ⇔ f ≅1• Hàm f được gọi là monotone increasing

(decreasing) theo biến xi nếu việc chuyển xi từ 0 lên1 làm cho f chuyển từ 0 lên 1 hoặc giữ nguyên giá trị(1 xuống 0 hoặc giữ nguyên)

12Logic Synthesis

Page 4: Chapter 4

2008dce Hàm Unate

• Hàm f là unate theo xj nếu nó monotone increasing hoặc monotone decreasing theo xj

• Ví dụ:– monotone increasing theo x1 và x3 và

monotone decreasing theo x2 f unate– , f là nonunate (binate) theo x1 và x2

13Logic Synthesis

2121 xxxxf ⋅+⋅=

3221 xxxxf ⋅+⋅=

2008dce Hàm Unate

• Cho một cover của một hàm f nếu một biến xj là _ hoặc 1 (_ hoặc 0) trong tất cả các cube của coverđó thì f unate theo xj

• Ví dụ:– , f unate với tất cả các x1, x2, x3 do cover

C = {10_, _01}– , có cover C = {110, _0_} có x2 là 1 và 0,

vì vậy mà f không unate theo x2

• Kiểm tra tính unate của một hàm thông qua tậpcover là một cách kiểm tra khá dễ dàng.

• Một unate cover nếu f unate trên tất cả các biến.

14Logic Synthesis

3221 xxxxf ⋅+⋅=

2321 xxxxf +⋅⋅=

2008dce Hàm Unate

• Định lý: Một unate cover là một tautologynếu và chỉ nếu cover đó chứa một hàng toànx (hay _)

• Định lý: Cho một cover C của hàm f. Giả sửcác hàng và cột của f được sắp xếp như sau:

Với T là một khối tất cả x (hay _). Giả sử A không tautology thì f tautology khi và chỉ khiD là tautology

15Logic Synthesis

⎟⎟⎠

⎞⎜⎜⎝

⎛=

DTTA

C

2008dce Hàm Unate

• Hệ quả: Lấy U là tập các cột unate trong mộtcover C. Sắp xếp C các cột U trước và cáccột B sau:

C = (U B)Nếu U không có hàng nào chứa toàn x (hay _)

thì f không tautology

16Logic Synthesis

Page 5: Chapter 4

2008dce Tautology

• Quy trình xác định tính tautology của hàm f:Tautology(F){

T = SPECIAL_CASE(F);if(T ≅ -1) (T, F) = UNATE_REDUCTION(F);if(T ≅ -1) (T, F) = COMP_REDUCTION(F);if(T ≅ -1) return(T);j = BINATE_INPUT_SELECT(F);if(TAUTOLOGY(Fxj) ≅ 0) return(T=0);if(TAUTOLOGY(Fx’j) ≅ 0) return(T=0);Return (T = 1);

}

17Logic Synthesis

2008dce Tautology

• Định lý: f có ma trận như hình sau:

Với D là một khối toàn x. Mf là một tautology khi và chỉ khi cók, với 1 ≤ k ≤ P, mà Ak ≅ 1

18Logic Synthesis

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

P

f

ADD

DADDDA

M

...............

...

...

2

1

2008dce Bù

• Bù của hàm f được ký hiệu là:

Nếu F là monotone increasing theo xj thì:

Nếu F là monotone decreasing theo xj thì:

19Logic Synthesis

f

jj xjxj fxfxf +=

jj xxj ffxf +=

jj xxj ffxf +=

2008dce Bù

• Quy trình tính bù:COMPLEMENT(F){

if (row of all 2’s) return(φ);if (F is a unate cover in all variables)

return(UNATE_COMPLEMENT(F));c = first cube in F;for(i=1; i≤ N; i=i+1){

if(c[i] not equal to d[i] for any cube d∈F) c[i]=2;}R = UNATE_COMPLEMENT(c);F = Fc;j = BINATE_INPUT_SELECT(F);R = R ∪ (xj. COMPLEMENT(Fxj));R = R ∪ (x’j. COMPLEMENT(Fx’j));Return(R);

}

20Logic Synthesis

Page 6: Chapter 4

2008dce Ví dụ

• Cho hàm f với tậpcover

• X2 chứa toàn 1 vì vậymà R = _0_ _ _

• Fx2 được thu gọn từ F

21Logic Synthesis

X1 X2 X3 X4 X5

_ 1 1 1 1

_ 1 1 1 0

_ 1 0 1 _

_ 1 0 _ 1

X1 X3 X4 X5

_ 1 1 1

_ 1 1 0

_ 0 1 _

_ 0 _ 1

F

FX2

2008dce Ví dụ

• Chọn biến binate x3. Ta có FX2.X3 và FX2.X’3 từ FX2

• Chọn biến binate x5. Ta có FX2.X3X5 vàFX2.X3X’5 từ FX2X3

• Suy ra F’X2X3

22Logic Synthesis

X1 X4 X5

_ 1 1

_ 1 0

FX2X3 FX2X’3

X1 X4 X5

_ 1 _

_ _ 1

X1 X4

_ 1

FX2X3X5 FX2X3X’5

X1 X4

_ 1

X1 X4 X5

_ 0 1

_ 0 0

F’X2X3

2008dce Ví dụ

• F’X2X’3 (Sử dụng côngthức unatecomplement)

• Suy ra F’X2

• Suy ra F’ bằng cáchtrộn F’X2 và X’2

23Logic Synthesis

F’X2X’3

X1 X4 X5

_ 0 0

X1 X3 X4 X5

_ 1 0 1

_ 1 0 0

_ 0 0 0

FX2

X1 X2 X3 X4 X5

_ 0 _ _ _

_ _ 1 0 1

_ _ 1 0 0

_ _ 0 0 0

F

2008dceRecursive Complement

Operation

x xf x f x f= ⋅ + ⋅

01

x x

x x

g x f x ff x f x f

f gg f

f g

= ⋅ + ⋅= ⋅ + ⋅

⋅ = ⎫⇒ =⎬+ = ⎭

Theorem:

Proof:

Page 7: Chapter 4

2008dce

COMPLEMENT Operation

Algorithm COMPLEMENT(List_of_Cubes C) {if(C contains single cube c) {

Cres = complement_cube(c) // generate one cube per return Cres // literal l in c with ^l

}else {

xi = SELECT_VARIABLE(C)C0 = COMPLEMENT(COFACTOR(C,^xi)) Ù ^xi

C1 = COMPLEMENT(COFACTOR(C,xi)) Ù xi

return OR(C0,C1)}

}

2008dceRecursive Complement – termination

rules

2008dceRecursive Complement – example

(split)2008

dceRecursive Complement – example (merge)

Page 8: Chapter 4

2008dce

Phương pháp tối giản chính xác

• Các hạn chế của phương pháp Quine-McCluskey:– Việc sinh các prime bắt nguồn từ một tập tường

tận các minterm trong tập ON-set và DC-set củahàm

– Các minterm được kiểm tra theo từng cặp, hầuhết là không thể thực hiện được

– Phương pháp covering không sử dụng bất kỳ mộtbounding strategy nào.

• ESPRESSO-EXACT sinh ra tất cả các prime implicant của hàm (ở dạng sum-of-product).

29Logic Synthesis

2008dce

Sinh Prime Implicant

• Mở rộng (Expanding) một cube nghĩa là– Đưa các literals 0 hoặc 1 ở phần ngõ nhập của

một cube lên _, hoặc– Đừa literal 0 trong phần ngõ xuất của một cube

lên 1.• C0

j là một biến Bool mà biến j của cube c được đưa từ 0 lên _

• C1j là một biến Bool mà biến j của cube C

được đưa từ 1 lên _

30Logic Synthesis

2008dce

Sinh Prime Implicant

• Cặp biến (ri)0j và (ri)1

j– Có giá trị là 0 và 1 nếu biến j trong cube ri là 0– Có giá trị là 1 và 0 nếu biến j trong cube ri là 1– Có giá trị là 1 và 1 nếu biến j trong cube ri là _

• Với một biến xj, cube ri và mở rộng của c được là disjoint theo xj Khi:

31Logic Synthesis

0)()( 1100 =+= jji

jji

ij crcrG

( )( ) 1)()( 1100 =++= jji

jji

ij crcrG

2008dce

Sinh Prime Implicant

• Ri và c là disjoint nếu nó disjoint ở một xj nàođó:

• Mở rộng của c là disjoint từ R chỉ khi nódisjoint với tất cả các cube ri R:

• Suy ra:

32Logic Synthesis

11

===UN

jiji GH

11

===IR

iiHI

( ) ( ) 11 1

1100=⎟

⎠⎞⎜

⎝⎛ +⎟⎠⎞⎜

⎝⎛ +=

= =IUR

i

N

jjj

ijj

i crcrI

Page 9: Chapter 4

2008dce Ví dụ

• Cho hàm f gồm các implicant• Tập OFF-Set R của f là R={001_, 00_1, 01_0,

110_}

33Logic Synthesis

05789

10111415

000001010111100010011010101111101111

13

02

01

14

02

11

04

12

11

03

12

11

ccc

ccc

ccc

ccc

++

++

++

++ 04

03

12

11 cccc ++

14

13

02

13

11

14

01 ccccccc +++

04

03

02

14

13

12

14

12

01

02

11

13

11

cccccc

ccccccc

++

++

{ }000,111,101,10,11 −−−−−−−So sánh kết quả với

phương pháptrước (slide 4)

2008dce

Rút gọn bảng Prime Implicant

• Biểu diễn hàm f dưới dạng các tập:– ON-set: F– DC-set: D– OFF-set: R

• Gọi Q: tập các prime implicant cho hàm f cầnphải tối thiểu hoá.

• Chia Q thành 2 tập:– Relatively essential: Er

– Relatively redundant: Rr

34Logic Synthesis

2008dce Rút gọn bảng Prime Implicant

• Với c là một cube thuộc F– c ∈ Er nếu Q ∪ D – c không chứa c.– c ∈ Rr nếu Q ∪ D – c chứa c.

• Er sẽ nằm trong mọi cover của hàm f• Rr sẽ được chia thành 2 tập

– Rt: tập dư thừa toàn phần (totally)– Rp: tập dư thừa bán phần (partially)

• Với c là một cube thuộc Rr– c ∈ Rt nếu Er ∪ D chứa c. – c ∈ Rp nếu Er ∪ D không chứa c.

35Logic Synthesis

2008dce Rút gọn bảng Prime Implicant

• Rt :có thể loại bỏ hoàn toàn• Rp: một phần sẽ thuộc cover tối thiểu của f• Xét H = Er ∪ Rp – c, với c ∈ Rp

36Logic Synthesis

Page 10: Chapter 4

2008dce Rút gọn bảng Prime Implicant

• Ví dụQ = {0_1_, _01_, 01_ _, 10_ _, _101, 1_01}

Er = {01_ _, 10_ _ }Rp = {0_1_, _01_, _101, 1_01}

• Gán c = 0_1_ ∈ Rp

H = Er ∪ Rp – c = {01_ _, 10_ _, _01_, _101, 1_01}Ta tính Hc bằng cách tính Hx1’ x3

Hx1’ = {1_ _, 01_, 101}Hc = Hx1’ x3 = {1_, 0_ } (là một tautology trên x2 và x4)Các cube tương ứng là 01_ _ ∈ Er và _01_ ∈ Rp

37Logic Synthesis

2008dce Rút gọn bảng Prime Implicant

• x2 là một biến binate và các Hc tương ứng với x2 và x2’• cube 1_ ứng với 01_ _ ∈ Er bỏ qua• Thêm 1 hàng vào bảng các prime implicant ứng với c.x2’

(001_)Hàng này bị chứa bởi c và _01_

38Logic Synthesis

0 _ 1_ _01_ _101 1_01

x x 001_

2008dce Rút gọn bảng Prime Implicant

• Thêm cube 0_1_ vào Er, ta cóEr = {01_ _, 10_ _, 0_1_ }Rp = { _01_, _101, 1_01}

Gán c = _01_Hc = {0_, 1_ } (trên x1 và x4)

Các cube tương ứng 0_1_ và 10_ _∈ Er bị bỏ qua

39Logic Synthesis

2008dce Rút gọn bảng Prime Implicant

• Thêm cube _01_ vào Er, ta cóEr = {01_ _, 10_ _, 0_1_, _01_ }Rp = { _101, 1_01}

• Gán c = _101Hc = {0, 1 } (trên x1)

Các cube tương ứng• 01_ _∈ Er bị bỏ qua• _101 ∈ Rp

Thêm 1 hàng vào bảng các prime implicant ứng với c.x1 (1101)

40Logic Synthesis

0 _ 1_ _01_ _101 1_01

x xx x

001_1101

Page 11: Chapter 4

2008dce Phương pháp tối giản tối ưu

• Hai loại chính:– Các phương pháp tối ưu mà theo chiến lược

exact minimizer nhưng không cần thiết sinh toànbộ tập các prime implicant và giải quyết vấn đềcovering một cách tối ưu

– Các phương pháp tối ưu dựa trên mở rộng lặp, giảm (reduction), và reshaping các implicant trongmột cover

41Logic Synthesis

2008dce Tối ưu dựa trên Exact Minimization

• Một tập các prime implicant mà chứa mộtparticular cube c có thể được sinh ra sử dụngmột sự thay đổi đơn giản mà đã được trìnhbày ở phần trước (sinh prime implicant).

42Logic Synthesis

2008dce Tối ưu dựa trên Exact Minimization

• Ví dụ: – Nếu một cube c có 1 tại vị trí j thì ta thiết lập biến C0

j là 0 trong biểuthức I (xem slide 27).

– Nếu một cube c có _ tại vị trí j thì ta thiết lập cả c0j và c1

j là 0 trong biểuthức I

– Các prime implicant của I sẽ tương ứng với các prime implicant củahàm f

– Các prime implicant có thể được sinh mà chứa một tập hợp các cube được chọn một cách tối ưu trong cover của hàm f

– Giải thuật covering tối ưu (mà không quay lui) có thể được sử dụngtrong bảng prime implicant sinh ra từ tập con này của các prime.

43Logic Synthesis

2008dce Tối ưu dựa trên Iterative Improvement

• Ba bước hiệu chỉnh cơ bản:– Mỗi implicant được rút gọn với kích thước nhỏ

nhất có thể– Các implicant được kiểm tra từng cặp để xem liệu

nó có thể được reshape bằng cách rút gọn mộtcái và làm lớn cái còn lại.

– Với các implicant được làm lớn (đến mức lớn nhấtcủa nó) thì phải bỏ đi những implicant khác mà bịnó chứa.

44Logic Synthesis

Page 12: Chapter 4

2008dce Tối ưu dựa trên Iterative Improvement

• Cho hàm f và f’

45Logic Synthesis

11011010010110101010

_ _1110011101_001_1_010100110_010_1001000

11100101011101

0000111000_0_0000_010101_101

F’F

11011010010110

1010

_ _1110011101_0_1_1_010100_10

_10010_0

EXPAND

110110100101101010

_ _1110011101_001_1_010100_10_10010_0

REDUCE

111110100111101110

_ _11100111010001_11010100_10_1001000

RESHAPE

2008dce Tối ưu dựa trên Iterative Improvement

• Expand lần 2

46Logic Synthesis

1111101001111011

_ _1110_11_0__0_1_1_0101_0_1__100

111110100111101110

_ _11100111010001_11010100_10_1001000

EXPAND

2008dce Lặp tối giản ESPRESSO

MINIMIZE(F, D);{

R = COMPLEMENT(F D)lDo {φ1= |F|;F = REDUCE(F, D);F = EXPAND(F, R);F = IRREDUNDANT(F, D);

} while(|F| < φ1);F = MAKE_SPARSE(F, D, R);Return(F);

}

47Logic Synthesis

2008dce Espresso Inputs and Outputs

.i 4

.o 1

.ilb a b c d

.ob f

.p 100100 10101 10110 11000 11001 11010 11101 10000 -0111 -1111 -.e

-- # inputs-- # outputs-- input names-- output name-- number of product terms-- A'BC'D'-- A'BC'D-- A'BCD'-- AB'C'D'-- AB'C'D-- AB'CD'-- ABC'D-- A'B'C'D' don't care-- A'BCD don't care-- ABCD don't care-- end of list

f(A,B,C,D) = m(4,5,6,8,9,10,13) + d(0,7,15)

Espresso Input Espresso Output.i 4.o 1.ilb a b c d.ob f.p 31-01 110-0 101-- 1.e

f= A C' D + A B' D' + A' B

Page 13: Chapter 4

2008dce Espresso: Why Iterate on Reduce, Irredundant Cover, Expand?

Initial Set of Primes found bySteps1 and 2 of the Espresso

Method

4 primes, irredundant cover,but not a minimal cover!

Result of REDUCE:Shrink primes while still

covering the ON-set

Choice of order in which to perform shrink is important

AB CD 00 01 11 10

00

01

11

10

D

B

C

A

1 1 0 0

1 1 1 1

0 0 1 1

1 1 1 1

AB CD 00 01 11 10

00

01

11

10

D

B

C

A

1 1 0 0

1 1 1 1

0 0 1 1

1 1 1 1

2008dce

Espresso Iteration (Continued)

Second EXPAND generates adifferent set of prime implicants

IRREDUNDANT COVER found byfinal step of espresso

Only three prime implicants!

AB CD 00 01 11 10

00

01

11

10

D

B

C

A

1 1 0 0

1 1 1 1

0 0 1 1

1 1 1 1

AB CD 00 01 11 10

00

01

11

10

D

B

C

A

1 1 0 0

1 1 1 1

0 0 1 1

1 1 1 1

2008dce

ESPRESSO Illustrated

REDUCE

EXPAND

IRREDUNDANT

minimumLocal

minimumLocal

2008dce Expand

• Expand the cubes that are unlikely to be covered by other cubes

• Selection:– Compute vector of column sums– Weight: inner product of cube and vector– Sort implicants in ascending order of weight

• Rationale:– Low weight correlates to having few 1s in densely

populated columns

Page 14: Chapter 4

2008dce Expand Weighting Cubes 2008

dce Example• f = a’b’c’ + ab’c’ + a’bc’ + a’b’c

DC-set = abc’

• Ordering:– Vector: [3 1 3 1 3 1]T

– Weights: (9, 7, 7, 7)• Select second implicant.

10 10 1001 10 10

10 10 0110 01 10

2008dce Example (2)

ba

c

α 10 10 10

δ 10 10 01γ 10 01 10β 01 10 10

2008dce Example (3)

• OFF-set:

• Expand 01 10 10:– 11 10 10 valid.– 11 11 10 valid.– 11 11 11 invalid.

• Update cover to:

01 11 0111 01 01

11 11 1010 10 01

Page 15: Chapter 4

2008dce Example (4)

• Expand 10 10 01:– 11 10 01 invalid.– 10 11 01 invalid.– 10 10 11 valid.

• Expand cover:

11 11 1010 10 01

11 11 1010 10 11

2008dce Reduce

• Sort implicants– Heuristics: sort by descending weight– Opposite to the heurstic sorting for expand

• Maximal reduction can be determine exactly• Theorem:

– Let α be in F and Q = F U D – { α }Then, the maximally reduced cube is:α = α ∩ supercube (Q’α)

2008dce Example

• Expand cover:

• Select first implicant:– Q’=

– Supercube= 11 11 11– Cannot be reduced.

• Select second implicant: Q’= 11 11 01– β = β ∩ supercube (Q’β) = 10 10 01

• Reduced cover:

α 11 11 10β 10 10 11

11 11 1010 10 01

01 11 1111 01 11

Q = F U D – { α } α = α ∩ supercube (Q’α)

2008dce Irredundant cover

ba

c

α 10 10 11

δ 01 01 11γ 01 11 01β 11 10 01

ε 11 01 10

Page 16: Chapter 4

2008dce Irredundant cover

• Relatively essential set Er

– Implicants covering some minterms of the function not covered by other implicants

– Important remark: we do not know all the primes!• Totally redundant set Rt

– Implicants covered by the relatively essentials• Partially redundant set Rp

– Remaining implicants

2008dce Example

• Er = {α, ε}• Rt = ∅• Rp = {β, γ, δ}

α 10 10 11

δ 01 01 11γ 01 11 01β 11 10 01

ε 11 01 10

2008dce Example (2)

• Covering relations:– β is covered by {α, γ}.– γ is covered by {β, δ}.– δ is covered by {γ, ε}.

• Minimum cover: γ U Er