ch06d functions of combinational logic.pdf

23
FUNCTIONS OF COMBINATIONAL LOGIC (SYSTEM DESIGN Lecture 10 Digital Design Dr. PO Kimtho Department of Computer Sciences Norton University (NU)

Upload: oryrgb

Post on 12-Dec-2015

254 views

Category:

Documents


0 download

TRANSCRIPT

FUNCTIONS OF COMBINATIONAL LOGIC

(SYSTEM DESIGN

Lecture 10

Digital Design

Dr. PO Kimtho

Department of Computer Sciences

Norton University (NU)

Topic Outlines

Code Converters

Comparators

Parity Generators/Checkers

Code Converters

Code converters is a device that is used to convert a

coded number into another form that is more

usable by a computer or digital system

Example: BCD to binary, BCD to 7-segment display, Gray-

to-binary code and binary-to-Gray code

The basic conversion process is as follows:

(a) The value, or weight of each bit in the BCD number is represented by a binary number

(b) All of the binary representations of the weights of bits that are 1’s in the BCD number are added

(c) The result of this addition is the binary equivalent of the BCD number

BCD-to-Binary Conversion

Code Converters

Example: 1000 0111 : BCD 8 7 : decimal weight 10 1

Within each group, the binary weight of each bit is as follows: Tens Digit Units Digit Weight: 80 40 20 10 8 4 2 1 Bit designation: B3 B2 B1 B0 A3 A2 A1 A0

BCD-to-Binary Conversion

Code Converters

BCD BIT

BCD WEIGHT

BINARY REPRESENTATION (MSB) (LSB)

64 32 16 8 4 2 1

A0 1 0 0 0 0 0 0 0

A1 2 0 0 0 0 0 1 0

A2 4 0 0 0 0 1 0 0

A3 8 0 0 0 1 0 0 0

B0 10 0 0 0 1 0 1 0

B1 20 0 0 1 0 1 0 0

B2 40 0 1 0 1 0 0 0

B3 80 1 0 1 0 0 0 0

If the binary representations for the weights of all the 1’s in the BCD number are added, the results is the binary number that corresponds to the BCD number.

BCD-to-Binary Conversion

Code Converters

4-bit binary-to-Gray conversion logic

4-bit Gray-to-binary conversion logic

Binary-to-Gray Conversion (and vice-versa)

Code Converters

Comparators

To compare two digital quantities to determine the relationship of those quantities

Comparison is made in terms of

Equal to (“=”)

Less than (“<”)

Greater than (“>”)

Equality

A B A=B

0 0 1

0 1 0

1 0 0

1 1 1

Truth-Table

Logic diagram The output of the AND gate indicates equality (1) or inequality (0)

Equality comparison of two 2-bit numbers

Comparators

Logic symbol for a 4-bit comparator with

inequality function

To determine the inequality of binary numbers A and B, first examine the highest order bit for each number: If A3=1 and B3=0, means number A > B

If A3=0 and B3=1, means number A < B

If A3=B3, need to examine the next

lower bit position for an inequality

Inequality (“<” or “>”)

Comparators

7485 comparator chip

Comparators

8-bit magnitude comparator

Comparators

Parity Generators/Checkers Error detection

A parity bit is a scheme for detecting errors during transmission of binary info.

The message, including the parity bit, is transmitted and then checked at the receiving end for errors.

An error is detected if the checked parity does not correspond to the one transmitted.

The circuit that generates the parity bit in the transmitter is a parity generator.

The circuit that checks the parity bit in the receiver is a parity checker.

Parity systems are defined as either odd parity or even parity.

The parity system adds an extra bit to the digital information being transmitted.

E.g.: 4-bit system requires a 5-th bit,

8-bit system will require a 9-th bit, …

The parity bit will be a 1 or 0, depending on what the other bits are.

E.g. (4-bit system)

Odd-parity system - the parity bit that is added must make the sum of all 5 bits odd

Even-parity system - the parity bit makes the sum of all 5 bits even

Error detection

Parity Generators/Checkers

Odd Parity

In ODD parity when we add the bits together disregarding weight we get or want to get an odd number.

0000 is a four bit message

add a parity bit to make it odd

10000 Odd parity is satisfied

00011001 is an eight bit message

add a parity bit to make it odd

000011001 Odd parity is satisfied

Parity bit

Even Parity

In EVEN parity when we add the bits together disregarding weight we get or want to get an even number.

0000 is a four bit message

add a parity bit to make it even

00000 Even parity is satisfied

00011001 is an eight bit message

add a parity bit to make it even

100011001 Even parity is satisfied

Parity bit

Use exclusive ORs and Exclusive NORs

Parity Generator

Parity Generator

Even Parity Odd Parity

Parity Generator Parity generator truth table

For odd parity, the bit P is generated so as to make the number of 1’s odd (including P)

P

X

Y

Z

X Y Z P

0 0 0 1

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 0

3-bit odd parity generator

Question: How about EVEN parity generator?

Parity Checker Parity Checker

Even Parity Odd Parity

0 – ok 1 – error

Parity Checker The three-bit message (X, Y, Z)

and parity bit (P) are transmitted to their destination, where they are applied to a ODD parity checker circuit.

An error occurs during transmission if the parity of the four bits is even, since the binary info transmitted was originally odd.

The output C of the parity checker should be a 1 when an error occurs, i.e. when the number of 1’s in the four inputs is even.

X Y Z P C 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1

Input is 8-bits of data and 1 parity bit

When there is an even no. of 1’s at the inputs, the Σ Even is high while the Σ Odd is low.

The 9-bit parity generator/checker

Parity Generators/Checkers

Parity Generators/Checkers

Parity Checker Function

When used as an EVEN Parity Checker,

If a parity error occurs, the Σ Even is low while the Σ Odd

is high.

When used as an ODD Parity Checker,

If a parity error occurs, the Σ Odd is low while the Σ Even

is high.

The 9-bit parity generator/checker

Parity Generators/Checkers

Parity Generator Function

When used as an EVEN Parity Generator,

The parity bit is taken at the Σ Odd output.

It is 0 if there is an even no. of 1’s, and is 1 if there is an odd no.

When used as an ODD Parity Generator,

The parity bit is taken at the Σ Even output.

It is 0 if there is an odd no. of 1’s, and is 1 if there is an even no.

The 9-bit parity generator/checker