Top Banner
Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ CprE 281: Digital Logic
63

CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Oct 09, 2020

Download

Documents

dariahiddleston
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: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Instructor: Alexander Stoytchev

http://www.ece.iastate.edu/~alexs/classes/

CprE 281: Digital Logic

Page 2: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Intro to Verilog

CprE 281: Digital LogicIowa State University, Ames, IACopyright © Alexander Stoytchev

Page 3: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Administrative Stuff

• HW3 is due on Monday Sep 11 @ 4p

Page 4: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Administrative Stuff• HW4 is out

• It is due on Monday Sep 18 @ 4pm.

• Please write clearly on the first page (in BLOCK CAPITAL letters) the following three things:

§ Your First and Last Name§ Your Student ID Number§ Your Lab Section Letter

• Also, please § Staple your pages

Page 5: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Administrative StuffTA Office Hours:

• 5:00 pm - 6:00 pm on Tuesdays (Vahid Sanei-Mehri)Location: 3125 Coover Hall

• 11:10 am-1:10 pm on Wednesdays (Siyuan Lu) Location: TLA (Coover Hall - first floor)

• 5:00 pm - 6:00 pm on Thursdays (Vahid Sanei-Mehri)Location: 3125 Coover Hall

• 10:00 am-12:00 pm on Fridays (Krishna Teja) Location: 3214 Coover Hall

Page 6: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Administrative Stuff• Midterm Exam #1

• When: Friday Sep 22.

• Where: This classroom

• What: Chapter 1 and Chapter 2 plus number systems

• The exam will be open book and open notes (you can bring up to 3 pages of handwritten notes).

• More details to follow.

Page 7: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Quick Review

Page 8: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

2-1 Multiplexer (Definition)

• Has two inputs: x1 and x2

• Also has another input line s

• If s=0, then the output is equal to x1

• If s=1, then the output is equal to x2

Page 9: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Graphical Symbol for a 2-1 Multiplexer

f

s

x 1 x 2

0

1

[ Figure 2.33c from the textbook ]

Page 10: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Let’s Derive the SOP form

s x1 x2

s x1 x2

s x1 x2

s x1 x2

f (s, x1, x2) = s x1 x2 s x1 x2 s x1 x2 s x1 x2+ + +

Page 11: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Let’s simplify this expression

f (s, x1, x2) = s x1 x2 s x1 x2 s x1 x2 s x1 x2+ + +

f (s, x1, x2) = s x1 (x2 + x2) s (x1 +x1 )x2+ +

f (s, x1, x2) = s x1 s x2+

Page 12: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Circuit for 2-1 Multiplexer

f

x 1

x 2s

f

s

x 1 x 2

0

1

(c) Graphical symbol(b) Circuit

[ Figure 2.33b-c from the textbook ]

f (s, x1, x2) = s x1 s x2+

Page 13: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Analogy: Railroad Switch

http://en.wikipedia.org/wiki/Railroad_switch]

Page 14: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Analogy: Railroad Switch

http://en.wikipedia.org/wiki/Railroad_switch]

selectx1 x2

f

Page 15: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Analogy: Railroad Switch

http://en.wikipedia.org/wiki/Railroad_switch]

selectx1 x2

f

This is not a perfect analogy because the trains can go in either direction, while the multiplexer would only allow them to go from top to bottom.

Page 16: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

More Compact Truth-Table Representation

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

(a) Truth table

s x1 x2 f (s, x1, x2)

[ Figure 2.33 from the textbook ]

0

1

f (s, x1, x2)sx1

x2

Page 17: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

4-1 Multiplexer (Definition)

• Has four inputs: w0 , w1, w2, w3

• Also has two select lines: s1 and s0

• If s1=0 and s0=0, then the output f is equal to w0

• If s1=0 and s0=1, then the output f is equal to w1

• If s1=1 and s0=0, then the output f is equal to w2

• If s1=1 and s0=1, then the output f is equal to w3

We’ll talk more about this when we get to chapter 4, but here is a quick preview.

Page 18: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Graphical Symbol and Truth Table

[ Figure 4.2a-b from the textbook ]

Page 19: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

The long-form truth table

[http://www.absoluteastronomy.com/topics/Multiplexer]

Page 20: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

4-1 Multiplexer (SOP circuit)

[ Figure 4.2c from the textbook ]

Page 21: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

0

w 0 w 1

0

1

w 2 w 3

0

1

f 0

1

s 1

s

Using three 2-to-1 multiplexers to build one 4-to-1 multiplexer

[ Figure 4.3 from the textbook ]

Page 22: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Analogy: Railroad Switches

http://en.wikipedia.org/wiki/Railroad_switch]

Page 23: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Analogy: Railroad Switches

http://en.wikipedia.org/wiki/Railroad_switch]

s1

w0

f

w1 w2 w3

Page 24: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Analogy: Railroad Switches

http://en.wikipedia.org/wiki/Railroad_switch]

s1

w0

f

w1 w2 w3

these two switches are controlled together

s0

Page 25: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Using three 2-to-1 multiplexers to build one 4-to-1 multiplexer

Page 26: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Using three 2-to-1 multiplexers to build one 4-to-1 multiplexer

fs1

s0

w0

w1

w2

w3

Page 27: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

That is different from the SOP form of the 4-1 multiplexer shown below, which uses fewer gates

Page 28: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

w 8

w 11

s 1

w 0

s 0

w 3

w 4

w 7

w 12

w 15

s 3

s 2

f

16-1 Multiplexer

[ Figure 4.4 from the textbook ]

Page 29: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

[http://upload.wikimedia.org/wikipedia/commons/2/26/SunsetTracksCrop.JPG]

Page 30: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

7-Segment Display Example

Page 31: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Display of numbers

[ Figure 2.34 from the textbook ]

Page 32: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Display of numbers

Page 33: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Display of numbers

b = 1

e = s0c = s1

f = s1 s0

g = s1 s0a = s0

d = s0

Page 34: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Intro to Verilog

Page 35: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

History• Created in 1983/1984

• Verilog-95 (IEEE standard 1364-1995)

• Verilog 2001 (IEEE Standard 1364-2001)

• Verilog 2005 (IEEE Standard 1364-2005)

• SystemVerilog

• SystemVerilog 2009 (IEEE Standard 1800-2009).

Page 36: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

HDL

• Hardware Description Language

• Verilog HDL

• VHDL

Page 37: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Verilog HDL != VHDL

• These are two different Languages!

• Verilog is closer to C

• VHDL is closer to Ada

Page 38: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

[ Figure 2.35 from the textbook ]

Page 39: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

“Hello World” in Verilog

[http://en.wikipedia.org/wiki/Verilog]

Page 40: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

x 1 x 2

x 1 x 2 +

AND gate

x x x 1 x 2

x 1 x 2 •

The Three Basic Logic Gates

[ Figure 2.8 from the textbook ]

OR gateNOT gate

You can build any circuit using only these three gates

Page 41: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

How to specify a NOT gate in Verilog

NOT gate

x x

Page 42: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

x y

How to specify a NOT gate in Verilog

NOT gate

we’ll use the letter y for the output

Page 43: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

x y

How to specify a NOT gate in Verilog

NOT gate

not (y, x)

Verilog code

Page 44: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

How to specify an AND gate in Verilog

AND gate

and (f, x1, x2)

Verilog code

x 1 x 2

x 1 x 2 •f=

Page 45: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

How to specify an OR gate in Verilog

OR gate

or (f, x1, x2)

Verilog code

x 1 x 2

x 1 x 2 + f=

Page 46: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

2-1 Multiplexer

[ Figure 2.36 from the textbook ]

Page 47: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Verilog Code for a 2-1 Multiplexer

[ Figure 2.37 from the textbook ][ Figure 2.36 from the textbook ]

Page 48: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Verilog Code for a 2-1 Multiplexer

[ Figure 2.40 from the textbook ][ Figure 2.36 from the textbook ]

Page 49: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Verilog Code for a 2-1 Multiplexer

[ Figure 2.42 from the textbook ][ Figure 2.36 from the textbook ]

Page 50: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Verilog Code for a 2-1 Multiplexer

[ Figure 2.43 from the textbook ][ Figure 2.36 from the textbook ]

Page 51: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Another Example

Page 52: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Let’s Write the Code for This Circuit

[ Figure 2.39 from the textbook ]

Page 53: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

[ Figure 2.38 from the textbook ]

Let’s Write the Code for This Circuit

module example2 (x1, x2, x3, x4, f, g, h);input x1, x2, x3, x4;output f, g, h;

and (z1, x1, x3);and (z2, x2, x4);or (g, z1, z2);or (z3, x1, ~x3);or (z4, ~x2, x4);and (h, z3, z4);or (f, g, h);

endmodule

[ Figure 2.39 from the textbook ]

Page 54: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

[ Figure 2.41 from the textbook ]

Let’s Write the Code for This Circuit

[ Figure 2.39 from the textbook ]

module example4 (x1, x2, x3, x4, f, g, h);input x1, x2, x3, x4;output f, g, h;

assign g = (x1 & x3) | (x2 & x4);assign h = (x1 | ~x3) & (~x2 | x4);assign f = g | h;

endmodule

Page 55: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Yet Another Example

Page 56: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

A logic circuit with two modules

[ Figure 2.44 from the textbook ]

Page 57: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

The adder module

[ Figure 2.12 from the textbook ]

Page 58: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

The adder module

[ Figure 2.45 from the textbook ]

Page 59: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

The display module

b = 1

e = s0c = s1

f = s1 s0

g = s1 s0a = s0

d = s0

Page 60: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

The display module

b = 1

e = s0

c = s1

f = s1 s0

g = s1 s0

a = s0

d = s0

[ Figure 2.46 from the textbook ]

Page 61: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Putting it all together

Page 62: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

Questions?

Page 63: CprE 281: Digital Logic - Computer Engineering4-1 Multiplexer (Definition) • Has four inputs: w 0 , w 1, w 2, w 3 • Also has two select lines: s 1and s 0 • If s 1=0 and s 0=0,

THE END