You are on page 1of 105

EC2207 - DIGITAL ELECTRONICS LAB MANUAL

SYLLABUS
1. Design and implementation of Adders and Subtractors using logic gates. 2. Design and implementation of code converters using logic gates (i) (ii) BCD to excess-3 code and vice versa Binary to gray and vice-versa

3. Design and implementation of 4 bit binary Adder/ subtractor and BCD adder using IC 7483 4. Design and implementation of 2Bit Magnitude Comparator using logic gates 8 Bit Magnitude Comparator using IC 7485 5. Design and implementation of 16 bit odd/even parity checker /generator using IC74180. 6. Design and implementation of Multiplexer and De-multiplexer using logic gates and study of IC74150 and IC 74154 7. Design and implementation of encoder and decoder using logic gates and study of IC7445 and IC74147 8. Construction and verification of 4 bit ripple counter and Mod-10 / Mod-12 Ripple counters 9. Design and implementation of 3-bit synchronous up/down counter 10. 11. Implementation of SISO, SIPO, PISO and PIPO shift registers Design of expts 1,6,8,10 using Verilog HDL. using Flip- flops.

LIST OF EXPERIMENTS
1. Study of logic gates. 2. Design and implementation of adders and subtractors using logic gates. 3. Design and implementation of code converters using logic gates. 4. Design and implementation of 4-bit binary adder/subtractor and BCD adder using IC 7483. 5. Design and implementation of 2-bit magnitude comparator using logic gates, 8-bit magnitude comparator using IC 7485. 6. Design and implementation of 16-bit odd/even parity checker/ generator using IC 74180. 7. Design and implementation of multiplexer and demultiplexer using logic gates and study of IC 74150 and IC 74154. 8. Design and implementation of encoder and decoder using logic gates and study of IC 7445 and IC 74147. 9. Construction and verification of 4-bit ripple counter and Mod10/Mod-12 ripple counter. 10. 11. 12. Design and implementation of 3-bit synchronous up/down Implementation of SISO, SIPO, PISO and PIPO shift Design of expts 1,6,8,10 using Verilog HDL. counter. registers using flip-flops.

CONTENTS S.NO. 1 2 3 4 5 NAME OF THE EXPERIMENT


Study of logic gates. Design and implementation of adders and subtractors using logic gates. Design and implementation of code converters using logic gates. Design and implementation of 4-bit binary adder/subtractor and BCD adder using IC 7483. Design and implementation of 2-bit magnitude comparator using logic gates, 8bit magnitude comparator using IC 7485. Design and implementation of 16-bit odd/even parity checker/ generator using IC 74180. Design and implementation of multiplexer and demultiplexer using logic gates and study of IC 74150 and IC 74154. Design and implementation of encoder and decoder using logic gates and study of IC 7445 and IC 74147. Construction and verification of 4-bit ripple counter and Mod-10/Mod-12 ripple counter. Design and implementation of 3-bit synchronous up/down counter.

PAGE NO. 1

6 7

9 10

11 12

Implementation of SISO, SIPO, PISO and PIPO shift registers using flip-flops. Design of expts 1,6,8,10 using Verilog HDL.

EXPT NO. : 1

STUDY OF LOGIC GATES

AIM: To study about logic gates and verify their truth tables. APPARATUS REQUIRED: SL No. 1. 2. 3. 4. 5. 6. 7. 8. 9. THEORY: Circuit that takes the logical decision and the process are called logic gates. Each gate has one or more input and only one output. OR, AND and NOT are basic gates. NAND, NOR and X-OR are known as universal gates. Basic gates form these gates. COMPONENT SPECIFICATION QTY AND GATE IC 7408 1 OR GATE IC 7432 1 NOT GATE IC 7404 1 NAND GATE 2 I/P IC 7400 1 NOR GATE IC 7402 1 X-OR GATE IC 7486 1 NAND GATE 3 I/P IC 7410 1 IC TRAINER KIT 1 PATCH CORD 14

AND GATE:
4

The AND gate performs a logical multiplication commonly known as AND function. The output is high when both the inputs are high. The output is low level when any one of the inputs is low.

OR GATE: The OR gate performs a logical addition commonly known as OR function. The output is high when any one of the inputs is high. The output is low level when both the inputs are low. NOT GATE: The NOT gate is called an inverter. The output is high when the input is low. The output is low when the input is high.

NAND GATE: The NAND gate is a contraction of AND-NOT. The output is high when both inputs are lo0w and any one of the input is low .The output is low level when both inputs are high.

NOR GATE: The NOR gate is a contraction of OR-NOT. The output is high when both inputs are low. The output is low when one or both inputs are high.

X-OR GATE:

The output is high when any one of the inputs is high. The output is low when both the inputs are low and both the inputs are high.

PROCEDURE: (i) Connections are given as per circuit diagram. (ii) (iii)
AND GATE: PIN DIAGRAM: IC7408

Logical inputs are given as per circuit diagram. Observe the output and verify the truth table.

SYMBOL :

OR GATE: PIN DIAGRAM: IC7432

SYMBOL :

NOT GATE: PIN DIAGRAM: IC 7404

SYMBOL:

X-OR GATE : PIN DIAGRAM : IC7486

SYMBOL: 9

2-INPUT NAND GATE: PIN DIAGRAM: IC7400

SYMBOL:

10

3-INPUT NAND GATE : PIN DIAGRAM: IC7410

SYMBOL:

11

NOR GATE: PIN DIAGRAM: IC7402

SYMBOL: 12

RESULT: Thus the logic gates is studied and truth table is verified.

EXPT NO. : 2 AIM:

DESIGN OF ADDER AND SUBTRACTOR

To design and construct half adder, full adder, half subtractor and full subtractor circuits and verify the truth table using logic gates.

APPARATUS REQUIRED: Sl.No. 1. 2. 3. 4. 3. COMPONENT AND GATE X-OR GATE NOT GATE OR GATE IC TRAINER KIT
13

SPECIFICATION QTY. IC 7408 1 IC 7486 1 IC 7404 1 IC 7432 1 1

4.

PATCH CORDS

23

THEORY: HALF ADDER: A half adder has two inputs for the two bits to be added and two outputs one from the sum S and other from the carry c into the higher adder position. Above circuit is called as a carry signal from the addition of the less significant bits sum from the X-OR Gate the carry out from the AND gate.

FULL ADDER: A full adder is a combinational circuit that forms the arithmetic sum of input; it consists of three inputs and two outputs. A full adder is useful to add three bits at a time but a half adder cannot do so. In full adder sum output will be taken from X-OR Gate, carry output will be taken from OR Gate. HALF SUBTRACTOR: The half subtractor is constructed using X-OR and AND Gate. The half subtractor has two input and two outputs. The outputs are difference and borrow. The difference can be applied using X-OR Gate, borrow output can be implemented using an AND Gate and an inverter.
14

FULL SUBTRACTOR: The full subtractor is a combination of X-OR, AND, OR, NOT Gates. In a full subtractor the logic circuit should have three inputs and two outputs. The two half subtractor put together gives a full subtractor .The first half subtractor will be C and A B. The output will be difference output of full subtractor. The expression AB assembles the borrow output of the half subtractor and the second term is the inverted difference output of first XOR.

LOGIC DIAGRAM: HALF ADDER

TRUTH TABLE: A 0 0 1 B 0 1 0 CARRY SUM 0 0 0 1 0 1


15

1 K-Map for SUM:

0 K-Map for CARRY:

SUM = AB + AB Example: 101 210 ________ 311 LOGIC DIAGRAM: FULL ADDER FULL ADDER USING TWO HALF ADDER

CARRY = AB

311 210 ________ 51]01

TRUTH TABLE:

16

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

CARRY 0 0 0 1 0 1 1 1

SUM 0 1 1 0 1 0 0 1

Example: 4100 3011 ---------------7111 with carry: 5101 6110 -----------------111]011

K-Map for SUM:

SUM = ABC + ABC + ABC + ABC K-Map for CARRY:

17

CARRY = AB + BC + AC LOGIC DIAGRAM: HALF SUBTRACTOR

TRUTH TABLE: A 0 0 1 B 0 1 0 BORROW 0 1 0 DIFFERENCE 0 1 1

18

K-Map for DIFFERENCE:

K-Map for BORROW

DIFFERENCE = AB + AB

BORROW = AB

Example: 311 101 ------------210

LOGIC DIAGRAM: FULL SUBTRACTOR

19

FULL SUBTRACTOR USING TWO HALF SUBTRACTOR:

TRUTH TABLE:
20

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

BORROW DIFFERENCE 0 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1

K-Map for Difference:

Difference = ABC + ABC + ABC + ABC K-Map for Borrow:

Borrow = AB + BC + AC Example:

21

4100 3011 ---------------1001

with carry:

51]101 6 110 -----------------7 111 1s 000 2s 1 (+) --------------1 001

PROCEEDURE: (i) Connections are given as per circuit diagram. (ii) (iii) Logical inputs are given as per circuit diagram. Observe the output and verify the truth table.

RESULT: Thus the design of Adder and subtractor is constructed and the truth table is verified using logic gates.

22

EXPT NO. :3 DESIGN AND IMPLEMENTATION OF CODE CONVERTOR AIM: To design and implement 4-bit (i) Binary to gray code converter (ii) Gray to binary code converter (iii) BCD to excess-3 code converter (iv) Excess-3 to BCD code converter APPARATUS REQUIRED: Sl.No. COMPONENT SPECIFICATION QTY. 1. X-OR GATE IC 7486 1 2. AND GATE IC 7408 1 3. OR GATE IC 7432 1 4. NOT GATE IC 7404 1 5. IC TRAINER KIT 1 6. PATCH CORDS 35 THEORY: The availability of large variety of codes for the same discrete elements of information results in the use of different codes by different systems. A conversion circuit must be inserted between the two systems if each uses different codes for same information. Thus, code converter is a circuit that makes the two systems compatible even though each uses different binary code. The bit combination assigned to binary code to gray code. Since each code uses four bits to represent a decimal digit. There are four inputs and four outputs. Gray code is a non-weighted code. The input variable are designated as B3, B2, B1, B0 and the output variables are designated as C3, C2, C1, Co. from the truth table,
23

combinational circuit is designed. The Boolean functions are obtained from K-Map for each output variable. A code converter is a circuit that makes the two systems compatible even though each uses a different binary code. To convert from binary code to Excess-3 code, the input lines must supply the bit combination of elements as specified by code and the output lines generate the corresponding bit combination of code. Each one of the four maps represents one of the four outputs of the circuit as a function of the four input variables. A two-level logic diagram may be obtained directly from the Boolean expressions derived by the maps. These are various other possibilities for a logic diagram that implements this circuit. Now the OR gate whose output is C+D has been used to implement partially each of three outputs. LOGIC
DIAGRAM:

BINARY TO GRAY CODE

CONVERTOR

K-Map for G3:


24

G3 = B3

K-Map for G2: K-Map for G0: K-Map for G1:

25

TRUTH TABLE: | B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Binary input B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 | G3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Gray code output G2 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 G1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 G0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 |

26

Example:

LOGIC DIAGRAM: GRAY CODE TO BINARY CONVERTOR

27

K-Map for B3: K-Map for B2:

B3 = G3

K-Map for B1:

K-Map for B0:

28

Example:

TRUTH TABLE: | G3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Gray Code G2 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 G1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 G0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 | B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Binary Code B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 |

29

LOGIC DIAGRAM: BCD TO EXCESS-3 CONVERTOR

K-Map for E3:

K-Map for E2:

E3 = B3 + B2 (B0 + B1)

30

K-Map for E0: K-Map for E1:

TRUTH TABLE: | BCD input B3 B2 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1

| B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
31

G3 0 0 0 0 0 1 1 1 1 1 x x x x x x

Excess 3 output G2 G1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 x x x x x x x x x x x x

| G0 1 0 1 0 1 0 1 0 1 0 x x x x x x

Example: 2 0010 ---------- BCD + 3 0011 -------------0101 --------- Excess 3 -------------

LOGIC DIAGRAM: EXCESS-3 TO BCD CONVERTOR

32

K-Map for A:

K-Map for B:

A = X1 X2 + X3 X4 X1 K-Map for C: K-Map for D:

33

TRUTH TABLE: | B3 0 0 0 0 0 1 1 1 1 1 Excess 3 Input B2 0 1 1 1 1 0 0 0 0 1 B1 1 0 0 1 1 0 0 1 1 0 B0 1 0 1 0 1 0 1 0 1 0 | BCD Output G3 0 0 0 0 0 0 0 0 1 1 G2 0 0 0 0 1 1 1 1 0 0 G1 0 0 1 1 0 0 1 1 0 0 G0 0 1 0 1 0 1 0 1 0 1 |

Example: 30011 ---------Excess 3 (-)30011 -------------0000 ----------BCD -------------PROCEDURE: (i) (ii) (iii) Connections were given as per circuit diagram. Logical inputs were given as per truth table Observe the logical output and verify with the truth tables.

RESULT: Thus the design of code convertor is implemented and the truth table is verified using logic gates.
34

EXPT NO. :4

DESIGN OF 4-BIT ADDER AND SUBTRACTOR

AIM: To design and implement 4-bit adder and subtractor using IC 7483. APPARATUS REQUIRED: Sl.No. 1. 2. 3. 3. 4. THEORY: 4 BIT BINARY ADDER: A binary adder is a digital circuit that produces the arithmetic sum of two binary numbers. It can be constructed with full adders connected in cascade, with the output carry from each full adder connected to the input carry of next full adder in chain. The augends bits of A and the addend bits of B are designated by subscript numbers from right to left, with subscript 0 denoting the least significant bits. The carries are connected in chain through the full adder. The input carry to the adder is C0 and it ripples through the full adder to the output carry C4. 4 BIT BINARY SUBTRACTOR: The circuit for subtracting A-B consists of an adder with inverters, placed between each data input B and the corresponding input of full adder. The input carry C0 must be equal to 1 when performing subtraction.
35

COMPONENT SPECIFICATION QTY. IC IC 7483 1 EX-OR GATE IC 7486 1 NOT GATE IC 7404 1 IC TRAINER KIT 1 PATCH CORDS 40

4 BIT BINARY ADDER/SUBTRACTOR: The addition and subtraction operation can be combined into one circuit with one common binary adder. The mode input M controls the operation. When M=0, the circuit is adder circuit. When M=1, it becomes subtractor. 4 BIT BCD ADDER: Consider the arithmetic addition of two decimal digits in BCD, together with an input carry from a previous stage. Since each input digit does not exceed 9, the output sum cannot be greater than 19, the 1 in the sum being an input carry. The output of two decimal digits must be represented in BCD and should appear in the form listed in the columns. ABCD adder that adds 2 BCD digits and produce a sum digit in BCD. The 2 decimal digits, together with the input carry, are first added in the top 4 bit adder to produce the binary sum. PIN DIAGRAM FOR IC 7483:

36

LOGIC DIAGRAM: 4-BIT BINARY ADDER

LOGIC DIAGRAM: 4-BIT BINARY SUBTRACTOR

37

LOGIC DIAGRAM: 4-BIT BINARY ADDER/SUBTRACTOR

TRUTH TABLE:
Input Data A Input Data B C 0 1 0 0 1 1 1 38 Addition S4 S3 S2 S1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 B 1 1 0 0 0 0 0 Subtraction D4 D3 D2 D1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1

A4 A3 A2 A1 B4 B3 B2 B1 1 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1

LOGIC DIAGRAM: BCD ADDER

K MAP

Y = S4 (S3 + S2)
39

TRUTH TABLE:
S4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 BCD SUM S3 S2 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 S1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 CARRY C 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1

PROCEDURE: (i) (ii) (iii) Connections were given as per circuit diagram. Logical inputs were given as per truth table Observe the logical output and verify with the truth tables.

RESULT: Thus the design of 4-Bit Adder and subtractor is constructed and the truth table is verified.

40

EXPT NO. :5 DESIGN AND IMPLEMENTATION OF MAGNITUDE COMPARATOR AIM: To design and implement (i) (ii) 2 bit magnitude comparator using basic gates. 8 bit magnitude comparator using IC 7485.

APPARATUS REQUIRED: Sl.No. 1. 2. 3. 4. 5. 6. 7. COMPONENT AND GATE X-OR GATE OR GATE NOT GATE 4-BIT MAGNITUDE COMPARATOR IC TRAINER KIT PATCH CORDS SPECIFICATION IC 7408 IC 7486 IC 7432 IC 7404 IC 7485 QTY. 2 1 1 1 2 1 30

THEORY: The comparison of two numbers is an operator that determine one number is greater than, less than (or) equal to the other number. A magnitude comparator is a combinational circuit that compares two numbers A and B and determine their relative magnitude. The outcome of the comparator is specified by three binary variables that indicate whether A>B, A=B (or) A<B.
41

A = A3 A2 A1 A0 B = B3 B2 B1 B0 The equality of the two numbers and B is displayed in a combinational circuit designated by the symbol (A=B).

This indicates A greater than B, then inspect the relative magnitude of pairs of significant digits starting from most significant position. A is 0 and that of B is 0.

We have A<B, the sequential comparison can be expanded as A>B = A3B31 + X3A2B21 + X3X2A1B11 + X3X2X1A0B01 A<B = A31B3 + X3A21B2 + X3X2A11B1 + X3X2X1A01B0 The same circuit can be used to compare the relative magnitude of two BCD digits. Where, A = B is expanded as,

A = B = (A3 + B3) (A2 + B2) (A1 + B1) (A0 + B0) x3 x2 x1 x0

42

LOGIC DIAGRAM: 2 BIT MAGNITUDE COMPARATOR

43

K MAP

44

TRUTH TABLE A1 A0 B1 B0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 A>B 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 A=B 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1


45

A<B 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0

PIN DIAGRAM FOR IC 7485:

LOGIC DIAGRAM: 8 BIT MAGNITUDE COMPARATOR

46

TRUTH TABLE:

A 0000 0000 0001 0001 0000 0000 Example:

B 0000 0000 0000 0000 0001 0001

A>B 0 1 0

A=B 1 0 0

A<B 0 0 1

A > B ---------- 5>3 A = B ---------- 5=5 A < B ---------- 3<5 PROCEDURE: (i) (ii) (iii) Connections are given as per circuit diagram. Logical inputs are given as per circuit diagram. Observe the output and verify the truth table.

RESULT: Thus the design of Magnitude comparator is implemented and the truth table is verified using logic gates.

47

EXPT NO. :6 16 BIT ODD/EVEN PARITY CHECKER /GENERATOR AIM: To design and implement 16 bit odd/even parity checker generator using IC 74180.

APPARATUS REQUIRED: Sl.No. 1. 1. 2. 3. COMPONENT NOT GATE IC TRAINER KIT PATCH CORDS SPECIFICATION QTY. IC 7404 1 IC 74180 2 1 30

THEORY: A parity bit is used for detecting errors during transmission of binary information. A parity bit is an extra bit included with a binary message to make the number is either even or odd. The message including the parity bit is transmitted and then checked at the receiver ends for errors. An error is detected if the checked parity bit doesnt correspond to the one transmitted. The circuit that generates the parity bit in the transmitter is called a parity generator and the circuit that checks the parity in the receiver is called a parity checker. In even parity, the added parity bit will make the total number is even amount. In odd parity, the added parity bit will make the total number is odd amount. The parity checker circuit checks for possible errors in the
48

transmission. If the information is passed in even parity, then the bits required must have an even number of 1s. An error occur during transmission, if the received bits have an odd number of 1s indicating that one bit has changed in value during transmission.

PIN DIAGRAM FOR IC 74180:

FUNCTION TABLE: INPUTS Number of High Data Inputs (I0 I7) EVEN ODD EVEN ODD X X

PE 1 1 0 0 1 0

PO 0 0 1 1 1 0

OUTPUTS O E 1 0 0 1 0 1 0 1 1 0 0 1

49

LOGIC DIAGRAM: 16 BIT ODD/EVEN PARITY CHECKER

TRUTH TABLE: I7 I6 I5 I4 I3 I2 I1 I0 I7I6I5I4I3I211 I0 Active 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 LOGIC DIAGRAM: 16 BIT ODD/EVEN PARITY GENERATOR E 1 1 0 O 0 0 1

50

TRUTH TABLE: E 1 0 1 O 0 1 0

I7 I6 I5 I4 I3 I2 I1 I0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0

I7 I6 I5 I4 I3 I2 I1 I0 Active 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

PROCEDURE: (i) (ii) (iii) Connections are given as per circuit diagram. Logical inputs are given as per circuit diagram. Observe the output and verify the truth table.

RESULT: Thus the design of 16 bit odd/even parity checker generator is implemented and the truth table is verified.

51

EXPT NO. :7 DESIGN AND IMPLEMENTATION OF MULTIPLEXER AND DEMULTIPLEXER AIM: To design and implement multiplexer and demultiplexer using logic gates and study of IC 74150 and IC 74154.

APPARATUS REQUIRED: Sl.No. 1. 2. 3. 2. 3. COMPONENT 3 I/P AND GATE OR GATE NOT GATE IC TRAINER KIT PATCH CORDS SPECIFICATION QTY. IC 7411 2 IC 7432 1 IC 7404 1 1 32

THEORY: MULTIPLEXER: Multiplexer means transmitting a large number of information units over a smaller number of channels or lines. A digital multiplexer is a combinational circuit that selects binary information from one of many input lines and directs it to a single output line. The selection of a particular input line is controlled by a set of selection lines. Normally there are 2 n input line and n selection lines whose bit combination determine which input is selected. DEMULTIPLEXER: The function of Demultiplexer is in contrast to multiplexer function. It takes information from one line and distributes it to a given number of

52

output lines. For this reason, the demultiplexer is also known as a data distributor. Decoder can also be used as demultiplexer. In the 1: 4 demultiplexer circuit, the data input line goes to all of the AND gates. The data select lines enable only one gate at a time and the data on the data input line will pass through the selected gate to the associated data output line. BLOCK DIAGRAM FOR 4:1 MULTIPLEXER:

FUNCTION TABLE:

S1 0 0 1 1

S0 0 1 0 1

INPUTS Y D0 D0 S1 S0 D1 D1 S1 S0 D2 D2 S1 S0 D3 D3 S1 S0

Y = D0 S1 S0 + D1 S1 S0 + D2 S1 S0 + D3 S1 S0
53

CIRCUIT DIAGRAM FOR MULTIPLEXER:

TRUTH TABLE: S1 0 0 1 1 S0 0 1 0 1 Y = OUTPUT D0 D1 D2 D3

54

BLOCK DIAGRAM FOR 1:4 DEMULTIPLEXER:

FUNCTION TABLE:

S1 0 0 1 1

S0 0 1 0 1

INPUT X D0 = X S1 S0 X D1 = X S1 S0 X D2 = X S1 S0 X D3 = X S1 S0

Y = X S1 S0 + X S1 S0 + X S1 S0 + X S1 S0

55

LOGIC DIAGRAM FOR DEMULTIPLEXER:

56

TRUTH TABLE: INPUT S1 0 0 0 0 1 1 1 1 S0 0 0 1 1 0 0 1 1 I/P 0 1 0 1 0 1 0 1 D0 0 1 0 0 0 0 0 0 OUTPUT D1 0 0 0 1 0 0 0 0 D2 0 0 0 0 0 1 0 0 D3 0 0 0 0 0 0 0 1

PIN DIAGRAM FOR IC 74150:

57

PIN DIAGRAM FOR IC 74154:

PROCEDURE: (i) Connections are given as per circuit diagram. (ii) (iii) Logical inputs are given as per circuit diagram. Observe the output and verify the truth table.

RESULT: Thus the design of multiplexer and demultiplexer is implemented and the truth table is verified using logic gates.

58

EXPT NO. :8 DESIGN AND IMPLEMENTATION OF ENCODER AND DECODER

AIM: To design and implement encoder and decoder using logic gates and study of IC 7445 and IC 74147.

APPARATUS REQUIRED: Sl.No. 1. 2. 3. 2. 3. COMPONENT 3 I/P NAND GATE OR GATE NOT GATE IC TRAINER KIT PATCH CORDS SPECIFICATION QTY. IC 7410 2 IC 7432 3 IC 7404 1 1 27

THEORY: ENCODER: An encoder is a digital circuit that perform inverse operation of a decoder. An encoder has 2n input lines and n output lines. In encoder the output lines generates the binary code corresponding to the input value. In octal to binary encoder it has eight inputs, one for each octal digit and three output that generate the corresponding binary code. In encoder it is assumed that only one input has a value of one at any given time otherwise the circuit is meaningless. It has an ambiguila that when all inputs are zero the outputs are zero. The zero outputs can also be generated when D0 = 1.

59

DECODER: A decoder is a multiple input multiple output logic circuit which converts coded input into coded output where input and output codes are different. The input code generally has fewer bits than the output code. Each input code word produces a different output code word i.e there is one to one mapping can be expressed in truth table. In the block diagram of decoder circuit the encoded information is present as n input producing 2 n possible outputs. 2n output values are from 0 through out 2n 1.

PIN DIAGRAM FOR IC 7445: BCD TO DECIMAL DECODER:

60

PIN DIAGRAM FOR IC 74147:

LOGIC DIAGRAM FOR ENCODER:

61

TRUTH TABLE: INPUT Y1 1 0 0 0 0 0 0 Y2 0 1 0 0 0 0 0 Y3 0 0 1 0 0 0 0 Y4 0 0 0 1 0 0 0 Y5 0 0 0 0 1 0 0 Y6 0 0 0 0 0 1 0 Y7 0 0 0 0 0 0 1 A 0 0 0 1 1 1 1 OUTPUT B 0 1 1 0 0 1 1 C 1 0 1 0 1 0 1

LOGIC DIAGRAM FOR DECODER:

62

TRUTH TABLE: INPUT E 1 0 0 0 0 A 0 0 0 1 1 B 0 0 1 0 1 D0 1 0 1 1 1 OUTPUT D1 1 1 0 1 1 D2 1 1 1 0 1 D3 1 1 1 1 0

PROCEDURE: (i) (ii) (iii) Connections are given as per circuit diagram. Logical inputs are given as per circuit diagram. Observe the output and verify the truth table.

RESULT: Thus the design of encoder and decoder is implemented and the truth table is verified using logic gates.

63

EXPT NO. :9 CONSTRUCTION AND VERIFICATION OF 4 BIT RIPPLE COUNTER AND MOD 10/MOD 12 RIPPLE COUNTER AIM: To design and verify 4 bit ripple counter mod 10/ mod 12 ripple counter.

APPARATUS REQUIRED: Sl.No. 1. 2. 3. 4. COMPONENT JK FLIP FLOP NAND GATE IC TRAINER KIT PATCH CORDS SPECIFICATION QTY. IC 7476 2 IC 7400 1 1 30

THEORY: A counter is a register capable of counting number of clock pulse arriving at its clock input. Counter represents the number of clock pulses arrived. A specified sequence of states appears as counter output. This is the main difference between a register and a counter. There are two types of counter, synchronous and asynchronous. In synchronous common clock is given to all flip flop and in asynchronous first flip flop is clocked by external pulse and then each successive flip flop is clocked by Q or Q output of previous stage. A soon the clock of second stage is triggered by output of first stage. Because of inherent propagation delay time all flip flops are not activated at same time which results in asynchronous operation.

64

PIN DIAGRAM FOR IC 7476:

LOGIC DIAGRAM FOR 4 BIT RIPPLE COUNTER:

65

TRUTH TABLE:

CLK 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

QA 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

QB 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

QC 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

QD 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

66

LOGIC DIAGRAM FOR MOD - 10 RIPPLE COUNTER:

TRUTH TABLE:

CLK 0 1 2 3 4 5 6 7 8 9 10

QA 0 1 0 1 0 1 0 1 0 1 0

QB 0 0 1 1 0 0 1 1 0 0 0

QC 0 0 0 0 1 1 1 1 0 0 0

QD 0 0 0 0 0 0 0 0 1 1 0

67

LOGIC DIAGRAM FOR MOD - 12 RIPPLE COUNTER:

TRUTH TABLE: CLK 0 1 2 3 4 5 6 7 8 9 10 11 12 QA 0 1 0 1 0 1 0 1 0 1 0 1 0 QB 0 0 1 1 0 0 1 1 0 0 1 1 0


68

QC 0 0 0 0 1 1 1 1 0 0 0 0 0

QD 0 0 0 0 0 0 0 0 1 1 1 1 0

PROCEDURE: (i) (ii) (iii) Connections are given as per circuit diagram. Logical inputs are given as per circuit diagram. Observe the output and verify the truth table.

RESULT: Thus the design of 4 bit ripple counter and mod 10/mod 12 ripple counter is constructed and the truth table is verified.

69

EXPT NO. :10 DESIGN AND IMPLEMENTATION OF 3 BIT SYNCHRONOUS UP/DOWN COUNTER AIM: To design and implement 3 bit synchronous up/down counter.

APPARATUS REQUIRED: Sl.No. 1. 2. 3. 4. 5. 6. 7. COMPONENT JK FLIP FLOP 3 I/P AND GATE OR GATE XOR GATE NOT GATE IC TRAINER KIT PATCH CORDS SPECIFICATION QTY. IC 7476 2 IC 7411 1 IC 7432 1 IC 7486 1 IC 7404 1 1 35

THEORY: A counter is a register capable of counting number of clock pulse arriving at its clock input. Counter represents the number of clock pulses arrived. An up/down counter is one that is capable of progressing in increasing order or decreasing order through a certain sequence. An up/down counter is also called bidirectional counter. Usually up/down operation of the counter is controlled by up/down signal. When this signal is high counter goes through up sequence and when up/down signal is low counter follows reverse sequence.

70

K MAP

STATE DIAGRAM:

71

CHARACTERISTICS TABLE: Q 0 0 1 1 Qt+1 0 1 0 1 J 0 1 X X K X X 1 0

LOGIC DIAGRAM:

72

TRUTH TABLE: Input Present State Next State Up/Down QA QB QC QA+1 Q B+1 QC+1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 0

A JA 1 X X X X 0 0 0 0 0 0 1 X X X X KA X 0 0 0 1 X X X X X X X 0 0 0 1 JB 1 X X 0 1 X X 0 0 1 X X 0 1 X X

B KB X 0 1 X X 0 1 X X X 0 1 X X 0 1 JC 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X

C KC X 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1

PROCEDURE: (i) Connections are given as per circuit diagram. (ii) (iii) Logical inputs are given as per circuit diagram. Observe the output and verify the truth table.

RESULT: Thus the design of code convertor is implemented and the truth table is verified using logic gates.
73

EXPT NO. :11 DESIGN AND IMPLEMENTATION OF SHIFT REGISTER AIM: To design and implement (i) Serial in serial out (ii) Serial in parallel out (iii) Parallel in serial out (iv) Parallel in parallel out APPARATUS REQUIRED: Sl.No. 1. 2. 3. 4. COMPONENT D FLIP FLOP OR GATE IC TRAINER KIT PATCH CORDS SPECIFICATION QTY. IC 7474 2 IC 7432 1 1 35

THEORY: A register is capable of shifting its binary information in one or both directions is known as shift register. The logical configuration of shift register consist of a D-Flip flop cascaded with output of one flip flop connected to input of next flip flop. All flip flops receive common clock pulses which causes the shift in the output of the flip flop. The simplest

possible shift register is one that uses only flip flop. The output of a given flip flop is connected to the input of next flip flop of the register. Each clock pulse shifts the content of register one bit position to right.

74

PIN DIAGRAM:

LOGIC DIAGRAM:

SERIAL IN SERIAL OUT:

75

TRUTH TABLE:
Serial in CLK 1 2 3 4 5 6 7 1 0 0 1 X X X 0 0 0 1 0 0 1 Serial out

LOGIC DIAGRAM: SERIAL IN PARALLEL OUT:

76

TRUTH TABLE: OUTPUT CLK 1 2 3 4 DATA 1 0 0 1 QA 1 0 0 1 QB 0 1 0 0 QC 0 0 1 0 QD 0 0 1 1

LOGIC DIAGRAM: PARALLEL IN SERIAL OUT:

77

TRUTH TABLE: CLK 0 1 2 3 Q3 1 0 0 0 Q2 0 0 0 0 Q1 0 0 0 0 Q0 1 0 0 0 O/P 1 0 0 1

LOGIC DIAGRAM: PARALLEL IN PARALLEL OUT:

TRUTH TABLE: DATA INPUT CLK 1 2 DA 1 1 DB 0 0 DC 0 1 DD 1 0 QA 1 1 OUTPUT QB 0 0 QC 0 1 QD 1 0

78

PROCEDURE: (i) (ii) (iii) Connections are given as per circuit diagram. Logical inputs are given as per circuit diagram. Observe the output and verify the truth table.

RESULT: Thus the design of shift register is implemented and the truth table is verified using Flip flops.

79

EXPT NO. :12

GENERAL PROCEDURE TO RUN XILINX ISE (Integrated Software Environment) -9.2i


VERILOG and VHDL is a Programming language. It is executed in XILINX software. According to our syllabus, VERILOG is used. Procedure: 1. Open the Xilinx software 9.2i version. 2. Goto File and select New Project.

80

3. Select the project location and give the project Name

4. Click next and check the device property and again click next.

81

5. Now New project wizard-Create new source window will open, in that select New source.

6. In that New source Wizard-select source type window, select the verilog module & give the file name. Then click next.

82

7. Now New source wizard- define module will open, here assign input & output ports and then click next and finsh and then go on to finish.

8. Then program window will open.

83

9. In that window, type the program and save(ctrl + s).

10.In the leftside of the program window, processes window will open. In that processes window right click syntheseis-XST and select Run. Wait till the compilation compeleted successfully.

84

11.After compilation, click project and select new source. New source wizard- select source type will open. In that select test bench waveform and assign file name & then click next and finish.

12.After that, Intial timing & clock wizard will open. In that window choose combinatorial (or internal clock) and then click finish.

85

13.Now input & output waveform window will open.

14.Now assign the input by just clicking on the coressponding line.

86

15.On the leftside of the source window, select the behavioural source window.

16. In leftside processor window, now right click simulator and select Run.

XILINX-ISE

87

17.Now simulation window will open to view the output.

88

ADDERS AND SUBTRACTORS AIM: To develop the source code for adders and subtractors by using VERILOG and obtain the simulation, synthesis, place and route and implement into FPGA. APPARATUS REQUIRED: 1. 2. 3. 4. PC with Windows XP. XILINX software. FPGA kit. RS 232 cable.

ALGORITM: Step1: Define the specifications and initialize the design. Step2: Declare the name of the entity and architecture by using VHDL source code. Step3: Write the source code in VERILOG. Step4: Check the syntax and debug the errors if found, obtain the synthesis report. Step5: Verify the output by simulating the source code. Step6: Write all possible combinations of input using the test bench. Step7: Obtain the place and route report. Step 8:Implement the above code in Spartan III using FPGA kit. PROCEDURE: VERILOG is a Programming language. It is executed in XILINX software. 1. Open the Xilinx software 9.2i version. Goto File and select New Project. Give the project Name, Click next and check the device property and again click next. 2. Now New project wizard window will open, in that select New source. select the verilog module & give the file name. Then click next and then go on to finish . 3. Then program window will open. In that window, type the program and save(ctrl + s).
89

4. Check the syntax and debug the errors if found, obtain the synthesis report.Verify the output by simulating the source code.

BASIC ADDERS & SUBTRACTORS: HALF ADDER: LOGIC DIAGRAM: TRUTH TABLE:

A 0 0 1 1

B 0 1 0 1

SUM CARRY 0 1 1 0 0 0 0 1

VERILOG SOURCE CODE: --Design : VERIFICATION OF HALF ADDERS --Description : To implement HALF ADDERS --Version : Xilinx- 9.2i

Dataflow Modeling: module ha_dataflow(a, b, s, ca); input a, b; output s; output ca; assign#2 s=a^b; assign#2 ca=a&b; endmodule

90

Behavioral Modeling: module ha_behv(a, b, s, ca); input a; input b; output s; output ca; reg s,ca; always @ (a or b) begin s=a^b; ca=a&b; end endmodule Structural Modeling: module ha_struct(a, b, s, ca); input a; input b; output s; output ca; xor x1(s,a,b); and a1(ca,a,b); endmodule Example: Simulation output:

91

HALF SUBSTRACTOR: LOGIC DIAGRAM: TRUTH TABLE A 0 0 1 1 VERILOG SOURCE CODE: B DIFFERENCE BORROW 0 0 0 1 1 1 0 1 0 1 0 0

--Design : HALF SUBSTRACTOR --Description : To implement HALF SUBSTRACTOR --Version : Xilinx- 9.1i

Dataflow Modeling: module hs_dataflow(a, b, dif, bor); input a; input b; output dif; output bor; wire abar; assign#3 abar=~a; assign#3 dif=a^b; assign#3 bor=b&abar; endmodule

92

Behavioral Modeling: module hs_behv(a, b, dif, bor); input a; input b; output dif; output bor; reg dif,bor; reg abar; always@(a or b) begin abar=~a; dif=a^b; bor=b&abar; end endmodule Structural Modeling: module hs_struct(a, b, dif, bor); input a; input b; output dif; output bor; wire abar; xor x1(dif,a,b); not n1(abar,a); and a1(bor,abar,b); endmodule Example: Simulation output:

93

FULL ADDER: LOGIC DIAGRAM: TRUTH TABLE: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C SUM CARRY 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1

VERILOG SOURCE CODE: --Design : FULL ADDER --Description : To implement FULL ADDER --Version : Xilinx- 9.2i

Dataflow Modeling: module fulladddataflow(a, b, cin, sum, carry); input a; input b; input cin; output sum; output carry; assign sum=a^b^cin; assign carry=(a & b) | (b & cin) | (cin & a); endmodule

94

Behavioral Modeling: module fuladbehavioral(a, b, c, sum, carry); input a; input b; input c; output sum; output carry; reg sum,carry; reg t1,t2,t3; always @ (a or b or c) begin sum = (a^b)^c; t1=a & b; t2=b & c; t3=a & c; carry=(t1 | t2) | t3; end endmodule

Structural Modeling: module fa_struct(a, b, c, sum, carry); input a; input b; input c; output sum; output carry; wire p,q,r,s; xor x1(p,a,b), x2(sum,p,c); and a1(q,a,b), a2(r,b,c), a3(s,a,c); or o1(carry,q,r,s); endmodule
95

Example: Simulation output:

FULL SUBSTRACTOR: LOGIC DIAGRAM: TRUTH TABLE: A 0 0 0 0 1 1 1 1 VERILOG SOURCE CODE: --Design :FULL SUBSTRACTOR --Description : To implement FULL SUBSTRACTOR --Version : Xilinx- 9.2i Dataflow Modeling: module fulsubdataflow(a, b, cin, diff, borrow); input a; input b; input cin; output diff; output borrow; wire abar; assign abar= ~ a; assign diff=a^b^cin; assign borrow=(abar & b) | (b & cin) |(cin & abar); endmodule
96

B 0 0 1 1 0 0 1 1

C DIFFERENCE BORROW 0 0 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1

Behavioral Modeling: module fulsubbehavioral(a, b, cin, diff, borrow); input a; input b; input cin; output diff; output borrow; reg t1,t2,t3; reg diff,borrow; reg abar; always @ (a or b or cin) begin abar= ~ a; diff = (a^b)^cin; t1=abar & b; t2=b & cin; t3=cin & abar; borrow=(t1 | t2) | t3; end endmodule Structural Modeling: module fs_struct(a, b, c, diff, borrow); input a; input b; input c; output diff; output borrow; wire abar,p,q,r,s; not n1(abar,a); xor x1(p,a,b), x2(diff,p,c); and a1(q,abar,b), a2(r,abar,c), a3(s,a,c); or o1(borrow,q,r,s); endmodule
97

Example: Simulation output:

MULTIPLEXER: LOGIC DIAGRAM: TRUTH TABLE: SELECT INPUT S1 S0 0 0 0 1 1 0 1 1 OUTPUT Y D0 D1 D2 D3

VERILOG SOURCE CODE: --Design : MULTIPLEXER --Description : To implement MULTIPLEXER --Version : Xilinx- 7.1i

98

Dataflow Modeling:

module muxdataflow(s, i, y); input [1:0] s; input [3:0] i; output y; wire s2,s3,s4,s5,s6,s7; assign s2 = ~s[1]; assign s3 = ~s[0]; assign s4 = i[0]&s2&s3; assign s5 = i[1]&s2&s[0]; assign s6 = i[2]&s[1]&s3; assign s7 = i[3]&s[1]&s[0]; assign y = s4 | s5 | s6 | s7; endmodule Behavioral Modeling:

module mux_behv(i, s0, s1, y); input [3:0] i; input s0; input s1; output y; reg y; always@(i or s0 or s1) case({s1,s0}) 2'd0:y=i[0]; 2'd1:y=i[1]; 2'd2:y=i[2]; 2'd3:y=i[3]; default:$display("invalid control signals"); endcase endmodule

99

Structural Modeling: module mux_struct(i, s0, s1, y); input [3:0] i; input s0; input s1; output y; wire s2,s3,s4,s5,s6,s7; not n1(s2,s1), n2(s3,s0); and a1(s4,i[0],s2,s3), a2(s5,i[1],s2,s0), a3(s6,i[2],s1,s3), a4(s7,i[3],s1,s0); or o1(y,s4,s5,s6,s7); endmodule Example: Simulation output:

100

DEMULTIPLEXER: LOGIC DIAGRAM: TABLE: INPUT OUTPUT D S0 S1 Y0 Y1 Y2 Y3 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 ` TRUTH

VERILOG SOURCE CODE: --Design : DEMULTIPLEXER --Description : To implement DEMULTIPLEXER --Version : Xilinx- 7.1i Dataflow Modeling: module demuxdataflow(s0,s1,i,y); input s0,s1,i; output [3:0] y; wire s2,s3; assign #2 s2=~s0; assign #2 s3=~s1; assign #3 y[0]=i&s2&s3; assign #3 y[1]=i&s2&s1; assign #3 y[2]=i&s0&s3; assign #3 y[3]=i&s0&s1;
101

endmodule Behavioral Modeling: module demux_behv(s0, s1, i, y); input s0; input s1; input i; output [3:0] y; reg [3:0] y; reg s2,s3; always@(i or s0 or s1) begin s2=~s0; s3=~s1; y[0]=i & s2 & s3; y[1]=i & s2 & s1; y[2]=i & s0 & s3; y[3]=i & s0 & s1; end endmodule Structural Modeling: module demux_struct(s0, s1, i, y); input s0; input s1; input i; output [3:0] y; wire s2,s3; not n1(s2,s0), n2(s3,s1); and a1(y[0],i,s2,s3), a2(y[1],i,s2,s1), a3(y[2],i,s0,s3), a4(y[3],i,s0,s1); endmodule

102

Example: Simulation output:

Ripple counter: module ri_counter(count,RST,A0,A1,A2,A3) Output A0,A1,A2,A3; Input count,RST; D-FF(d0~A0,A0,count,RST); D1(~A1,A1,A0,RST); D2(~A2,A2,A1,RST); D3(~A3,A3,A2,RST); endmodule Shift Register: Serial In Serial Out: module shifting(sI,so,clk) input sI,clk; output so; res[3:0]q; assign so=q[0]; always @(posedge clk) Q={sI,so,q[3:1]}; endmodule

103

Parallel In Parallel Out: module shifting(pI,po,clk) input [3:0]pI; output [3:0]po; res[3:0]q; assign po=q[0]; always @(posedge clk) Q={sI,so,q[3:1]}; endmodule

RESULT: Thus the OUTPUTs of combinational circuits are verified by synthesizing and simulating the VERILOG code.

104

105

You might also like