Download presentation
Presentation is loading. Please wait.
Published byEvan Heward Modified over 9 years ago
1
Shannon Expansion Given Boolean expression F = w 2 ’ + w 1 ’w 3 ’ + w 1 w 3 Shannon Expansion of F on a variable, say w 2, is to write F as two parts: F = w 2 ’(part0) + w 2 (part1), where part0 is F with w 2 = 0, and part1 is F with w 2 = 1. It is a way to write F as sum of min terms.
2
6.2
3
6.3
4
6.7
5
6.11
6
6.16
7
6.20 module m(f, w0, w1, w2); input w0, w1, w2; output f; wire t1, t2, t3; // wire declaration is optional decoder_3_8 D1 (x0, x1, x2, x3, x4, x5, x6, x7, w0, w1, w2, 1); or (t1, x1, x2); or (t2, x3, x5); or (t3, t1, t2), or (f, t3, x6); endmodule
8
Assume Following Decoder: module decoder_3_8 (x0, x1, x2, x3, x4, x5, x6, x7, w0, w1, w2, en); input w0, w1, w2, en; output x0, x1, x2, x3, x4, x5, x6, x7; assign x0 = ((en==1) ? ((~w0)&(~w1)&(~w2)) : 0; assign x1 = ((en==1) ? ((~w0)&(~w1)&w2)) : 0; … endmodule
9
6.23 module encoder_8_3 (w2, w1, w0, z, x7, x6, x5, x4, x3, x2, x1, x0); input x7, x6, x5, x4, x3, x2, x1, x0; output w2, w1, w0, z; assign {w2,w1,w0,z} = (x7 ? 4b’1110 : (x6 ? 4b’1100 : (x5 ? 4b’1010 : (x4 ? 4b’1000 : (x3 ? 4b’0110 : (x2 ? 4b’0100 : (x1 ? 4b’0010 : (x0 ? 4b’0001 : 4b’0001)))))))); endmodule
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.