magnitude comparator lecture l6.4 section 6.1. 4-bit equality detector equality detector a[3..0]...

23
Magnitude Comparator Lecture L6.4 Section 6.1

Upload: duane-dodsworth

Post on 11-Jan-2016

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Magnitude Comparator

Lecture L6.4

Section 6.1

Page 2: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

4-Bit Equality Detector

EqualityDetector

A[3..0]

B[3..0]A_EQ_B

Page 3: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Magnitude Comparator

MagnitudeDetector

A[3..0]

B[3..0]A_EQ_B

A_LT_B

A_GT_B

Page 4: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Magnitude Comparator

How can we find A_GT_B?

How many rows would a truth table have?

28 = 256!

A0

A1

A2

A3

B0

B1

B2

B3

A_EQ_B

C0

C1

C3

C2

Page 5: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Magnitude Comparator

If A = 1001 and B = 0111is A > B?Why?

Because A3 > B3i.e. A3 & !B3 = 1

Therefore, one term in thelogic equation for A_GT_B isA3 & !B3

Find A_GT_B

A0

A1

A2

A3

B0

B1

B2

B3

A_EQ_B

C0

C1

C3

C2

Page 6: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Magnitude Comparator

If A = 1101 and B = 1011is A > B?Why?

Because A3 = B3 and A2 > B2i.e. C3 = 1 and A2 & !B2 = 1

Therefore, the next term in thelogic equation for A_GT_B isC3 & A2 & !B2

A_GT_B = A3 & !B3 # …..

A0

A1

A2

A3

B0

B1

B2

B3

A_EQ_B

C0

C1

C3

C2

Page 7: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Magnitude Comparator

If A = 1010 and B = 1001is A > B?Why?

Because A3 = B3 and A2 = B2 and A1 > B1i.e. C3 = 1 and C2 = 1 and A1 & !B1 = 1

Therefore, the next term in thelogic equation for A_GT_B isC3 & C2 & A1 & !B1

A_GT_B = A3 & !B3 # C3 & A2 & !B2 # …..

A0

A1

A2

A3

B0

B1

B2

B3

A_EQ_B

C0

C1

C3

C2

Page 8: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Magnitude Comparator

If A = 1011 and B = 1010is A > B?Why?

Because A3 = B3 and A2 = B2 and A1 = B1 and A0 > B0i.e. C3 = 1 and C2 = 1 and C1 = 1 and A0 & !B0 = 1

Therefore, the last term in thelogic equation for A_GT_B isC3 & C2 & C1 & A0 & !B0

A_GT_B = A3 & !B3 # C3 & A2 & !B2 # C3 & C2 & A1 & !B1 # …..

A0

A1

A2

A3

B0

B1

B2

B3

A_EQ_B

C0

C1

C3

C2

Page 9: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Magnitude Comparator

A_GT_B = A3 & !B3 # C3 & A2 & !B2 # C3 & C2 & A1 & !B1 # C3 & C2 & C1 & A0 & !B0

A0

A1

A2

A3

B0

B1

B2

B3

A_EQ_B

C0

C1

C3

C2

Page 10: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Magnitude Comparator

A_LT_B = !A3 & B3 # C3 & !A2 & B2 # C3 & C2 & !A1 & B1 # C3 & C2 & C1 & !A0 & B0

Find A_LT_BA0

A1

A2

A3

B0

B1

B2

B3

A_EQ_B

C0

C1

C3

C2

Page 11: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

ABEL ProgramMODULE magcomp4

TITLE '4-BIT COMPARATOR, R. Haskell, 9/21/02‘

DECLARATIONS

" INPUT PINS "

A3..A0 PIN 11, 7, 6, 5;

A = [A3..A0];

B3..B0 PIN 4, 3, 2, 1;

B = [B3..B0];

" OUTPUT PINS "

A_EQ_B PIN 36;

A_LT_B PIN 35;

A_GT_B PIN 37;

C3..C0 NODE;

C = [C3..C0];

A0

A1

A2

A3

B0

B1

B2

B3

A_EQ_B

C0

C1

C3

C2

Page 12: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

ABEL Program (cont.)

EQUATIONS

C = !(A $ B);

A_EQ_B = C0 & C1 & C2 & C3;

A_GT_B = A3 & !B3

# C3 & A2 & !B2

# C3 & C2 & A1 & !B1

# C3 & C2 & C1 & A0 & !B0;

A_LT_B = !A3 & B3

# C3 & !A2 & B2

# C3 & C2 & !A1 & B1

# C3 & C2 & C1 & !A0 & B0;

Page 13: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

ABEL Program (cont.)test_vectors ([A, B] -> [A_EQ_B, A_LT_B, A_GT_B])

[0, 0] -> [1, 0, 0];

[2, 5] -> [0, 1, 0];

[10, 12] -> [0, 1, 0];

[7, 8] -> [0, 1, 0];

[4, 2] -> [0, 0, 1];

[6, 6] -> [1, 0, 0];

[1, 7] -> [0, 1, 0];

[5, 13] -> [0, 1, 0];

[12, 0] -> [0, 0, 1];

[6, 3] -> [0, 0, 1];

[9, 9] -> [1, 0, 0];

[12, 13] -> [0, 1, 0];

[7, 0] -> [0, 0, 1];

[4, 1] -> [0, 0, 1];

[3, 2] -> [0, 0, 1];

[15, 15] -> [1, 0, 0];

END

Page 14: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B
Page 15: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B
Page 16: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B
Page 17: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

TTL Comparators1

2

3

4

5

6

7

9

10 11

12

8

19

20

17

18

15

16

13

14

GND

Vcc P>Q

P0

Q0

P1

Q1

P2

Q2

P3

Q3

P=Q

Q7

P7

Q6

P6

Q5

P5

Q4

P4

74LS682

1

2

3

4

5

6

7

8 9

10

11

12

13

14

15

16

GND

Vcc B3

A<Bin

A=Bin

A>Bin

A>Bout

A=Bout

A<Bout

A3B2

A2A1

B1

A0

B0

74LS85

Page 18: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Cascading two 74LS85s

13

1

3 6

9

14

2

10

11

7

4

15

12

5

P0P1P2P3

Q0Q1Q2Q3

< = >

P<Q

P=Q

P>Q

13

1

3 6

9

14

2

10

11

7

4

15

12

5

P0P1P2P3

Q0Q1Q2Q3

< = >

P<Q

P=Q

P>Q

A3 A2 A1 A0 A7 A6 A5 A4

B3 B2 B1 B0 B7 B6 B5 B4

+5V

A<B

A=B

A>B

Page 19: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Question

1

2

3

4

5

6

7

9

10 11

12

8

19

20

17

18

15

16

13

14

GND

Vcc P>Q

P0

Q0

P1

Q1

P2

Q2

P3

Q3

P=Q

Q7

P7

Q6

P6

Q5

P5

Q4

P4

74LS682

P_GT_Q

P_EQ_Q

P_LT_Q

Draw a logic circuit forwhat is in the green box.

Page 20: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Answer

Outputs: Y = !(P_GT_Q)Z = !(P_EQ_Q)

P_GT_Q = !Y NOT GATE

P_EQ_Q = !Z NOT GATE

P_LT_Q = !(P_GT_Q) & !(P_EQ_Q) = Y & Z AND GATE

P_LT_Q = !(P_GT_Q # P_EQ_Q) = !(!Y # !Z) NOR GATE = Y & Z AND GATE

Page 21: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Comparator Using Behavioral ABELMODULE comp4bitTITLE '4-BIT COMPARATOR, R. Haskell, 7/29/02'

DECLARATIONS

" INPUT PINS "A3..A0 PIN 11,7, 6, 5;A = [A3..A0];

B3..B0 PIN 4, 3, 2, 1;B = [B3..B0];

A_EQ_B PIN 36;A_LT_B PIN 35;A_GT_B PIN 37;

Page 22: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Comparator Using Behavioral ABEL

EQUATIONS

A_EQ_B = (A == B);

A_GT_B = (A > B);

A_LT_B = !((A == B) # (A > B));

Page 23: Magnitude Comparator Lecture L6.4 Section 6.1. 4-Bit Equality Detector Equality Detector A[3..0] B[3..0] A_EQ_B

Comparator Using Behavioral ABELtest_vectors ([A, B] -> [A_EQ_B, A_LT_B, A_GT_B])[0, 0] -> [1, 0, 0];[2, 5] -> [0, 1, 0];[10, 12] -> [0, 1, 0];[7, 8] -> [0, 1, 0];[4, 2] -> [0, 0, 1];[6, 6] -> [1, 0, 0];[1, 7] -> [0, 1, 0];[5, 13] -> [0, 1, 0];[12, 0] -> [0, 0, 1];[6, 3] -> [0, 0, 1];[9, 9] -> [1, 0, 0];[12, 13] -> [0, 1, 0];[7, 0] -> [0, 0, 1];[4, 1] -> [0, 0, 1];[3, 2] -> [0, 0, 1];[15, 15] -> [1, 0, 0];

END