32
Dept. of CSE Logic Design Lab Manual Bangalore Institute of Technology, Bangalore 1 LOGIC DESIGN LABORATORY 1 (1a) Given a four variable expression, simplify using Entered Variable Map (EVM) and realize the simplified logic using 8:1 MUX. AIM: To simplify Boolean expression using Entered Variable Map method and realize the simplified logic using 8:1 MUX COMPONENTS REQUIRED: IC74151/IC74153, IC7404, IC7432, patch chords, power chords and trainer kit THEORY: Multiplexer sometimes is called universal logic circuit because a 2 n to 1 multiplexer can be used as a design solution for any n variable truth table. Let’s consider A B and C variables to be fed as select inputs, the fourth variable D as data input. We write all the combinations of 3 select inputs in first row along different columns. Now corresponding to each value of 4 th variable D Truth table output Y is written. The 4 th column Y as a function of D. PROCEDURE: Verify all the components and patch chords whether they are in good condition or not. Make connections as shown in the circuit diagram. Give power supply to the trainer kit. Provide input data to the circuit via switches. Record and verify the output sequence for each combination of the select lines. RESULT: All the entries in the truth table are verified.

LD Lab Manual

  • Upload
    hanishb

  • View
    37

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 1

LOGIC DESIGN LABORATORY 1

(1a) Given a four variable expression, simplify using Entered Variable Map (EVM)and realize the simplified logic using 8:1 MUX.

AIM: To simplify Boolean expression using Entered Variable Map method and realize the

simplified logic using 8:1 MUX

COMPONENTS REQUIRED: IC74151/IC74153, IC7404, IC7432, patch chords, power

chords and trainer kit

THEORY: Multiplexer sometimes is called universal logic circuit because a 2n to 1

multiplexer can be used as a design solution for any n variable truth table. Let’s consider A B

and C variables to be fed as select inputs, the fourth variable D as data input. We write all

the combinations of 3 select inputs in first row along different columns. Now corresponding

to each value of 4th variable D Truth table output Y is written. The 4th column Y as a

function of D.

PROCEDURE:

Verify all the components and patch chords whether they are in good condition or

not.

Make connections as shown in the circuit diagram.

Give power supply to the trainer kit.

Provide input data to the circuit via switches.

Record and verify the output sequence for each combination of the select lines.

RESULT: All the entries in the truth table are verified.

Page 2: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 2

PIN DIAGRAMS:

E.g.,

Simplify the function using MEV technique

f(A,B,C,D) = ∑m(2, 3, 4, 5, 12, 14)

Y=ABCD+ABCD+ABCD+ABCD+ABCD+ABCD

By Entered Variable MAP:

Simplification by K-Map: Y = ABC + ABC + ABD

A B C D Y

0000000011111111

0000111100001111

0011001100110011

0101010101010101

0011110000001010

A B C Y DataInputs

00001111

00110011

01010101

011000DD

D0D1D2D3D4D5D6D7

CD CD CD CD

AB

AB

AB

AB

0 0 1 1

1 1 0 0

1 0 0 1

0 0 0 0

Page 3: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 3

CIRCUIT DIAGRAM:

Page 4: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 4

LOGIC DESIGN LABORATORY 2

(2a) Realize a Full Adder using 3 to 8 decoder IC and 4 input NAND gates.

AIM: To realize a full adder using 3:8 decoder and 4 input NAND gates using IC74138

COMPONENTS REQUIRED: IC74LS20 - four input NAND gate, IC74LS138, patch

chords, power chords and trainer kit

THEORY: The simplest Binary adder is a half adder. It has 2 inputs and 2 output bits. One

is the sum and the other is carry. A half adder has no provision to add carry of lower order

bits when binary numbers are added. When two input bits and a carry are to be added, the

number of input bits become 3 and input combination increases to 8. For this, a full adder is

used. Like half adder, it has 2 outputs. One is sum and the other is carry. New carry

generated is denoted as Cn and carry generated from addition of previous lower order bits is

denoted as Cn-1

PROCEDURE:

Verify all the components and patch chords whether they are in good condition or

not.

Make connections as shown in the circuit diagram.

Give power supply to the trainer kit.

Provide the input data to the circuit via switches.

Record and verify the output sequence for each combination of the select lines.

RESULT: All the entries in the truth table are verified.

Page 5: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 5

PIN DIAGRAMS:

TRUTH TABLE:

A B C SUM CARRY

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

1

0

1

0

0

1

0

0

0

1

0

1

1

1

Page 6: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 6

Simplification by K-Map:

SUM AB AB AB AB

C

C

0 1 0 1

1 0 1 0

Y = ABC + ABC + ABC + ABC Y = ABC + ABC + ABC + ABC

= ABC + ABC + ABC + ABC = (ABC) . (ABC) . (ABC) . (ABC)

= (ABC) . (ABC) . (ABC) . (ABC) = 011 . 111 . 110 . 101

= 010 . 100 . 001 . 111 = O3 . O7 . O6 . O5

= O2 . O4 . O1 . O7

CIRCUIT DIAGRAM:

CARRY AB AB AB AB

C

C

0 0 1 0

0 1 1 1

Page 7: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 7

LOGIC DESIGN LABORATORY 3

(3a) Realize a J-K Master/Slave FF using NAND gates and verify its truth table.

AIM: To realize a J-K Master/Slave FF using NAND gates and verifies its truth table

COMPONENTS REQUIRED: IC7410 (Q -2) three input NAND gate, IC7400 (Q -1)

two input NAND gate, IC7404 (Q -1) NOT gate, patch chords, power chords and trainer kit

THEORY: The circuit below shows the solution. To the RS flip-flop we have added two

new connections from the Q and Q' outputs back to the original input gates. Remember that

a NAND gate may have any number of inputs, so this causes no trouble. To show that we

have done this, we change the designations of the logic inputs and of the flip-flop itself. The

inputs are now designated J (instead of S) and K (instead of R). The entire circuit is known

as a JK flip-flop.

In most ways, the JK flip-flop behaves just like the RS flip-flop. The Q and Q' outputs will

only change state on the falling edge of the CLK signal, and the J and K inputs will control

the future output state pretty much as before. However, there are some important

differences.

Since one of the two logic inputs is always disabled according to the output state of the

overall flip-flop, the master latch cannot change state back and forth while the CLK input is

at logic 1. Instead, the enabled input can change the state of the master latch once, after which

this latch will not change again. This was not true of the RS flip-flop.

If both the J and K inputs are held at logic 1 and the CLK signal continues to change, the Q

and Q' outputs will simply change state with each falling edge of the CLK signal. (The

master latch circuit will change state with each rising edge of CLK.) We can use this

characteristic to advantage in a number of ways. A flip-flop built specifically to operate this

way is typically designated as a T (for Toggle) flip-flop. The lone T input is in fact the CLK

input for other types of flip-flops.

The JK flip-flop must be edge triggered in this manner. Any level-triggered JK latch circuit

will oscillate rapidly if all three inputs are held at logic 1. This is not very useful. For the

Page 8: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 8

same reason, the T flip-flop must also be edge triggered. For both types, this is the only way

to ensure that the flip-flop will change state only once on any given clock pulse.

Because the behavior of the JK flip-flop is completely predictable under all conditions, this is

the preferred type of flip-flop for most logic circuit designs. The RS flip-flop is only used in

applications where it can be guaranteed that both R and S cannot be logic 1 at the same time.

At the same time, there are some additional useful configurations of both latches and flip-

flops. In the next pages, we will look first at the major configurations and note their

properties. Then we will see how multiple flip-flops or latches can be combined to perform

useful functions and operations.

Master Slave Flip Flop: The control inputs to a clocked flip flop will be making a transition at approximately the

same times as triggering edge of the clock input occurs. This can lead to unpredictable

triggering.

A JK master flip flop is positive edge triggered, where as slave is negative edge triggered.

Therefore master first responds to J and K inputs and then slave. If J=0 and K=1, master

resets on arrival of positive clock edge. High output of the master drives the K input of the

slave. For the trailing edge of the clock pulse the slave is forced to reset. If both the inputs

are high, it changes the state or toggles on the arrival of the positive clock edge and the slave

toggles on the negative clock edge. The slave does exactly what the master does.

PROCEDURE:

Verify all the components and patch chords whether they are in good condition or

not.

Make connections as shown in the circuit diagram.

Give power supply to the trainer kit.

Provide the input data to the circuit via switches.

Record and verify the output sequence for each combination of the select lines.

RESULT: All the entries in the truth table are verified.

Page 9: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 9

PIN DIAGRAMS:

Page 10: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 10

TRUTH TABLE:

PRESET CLEAR CLOCK J K Qn+1 Qn+1

0

1

0

1

1

1

1

1

0

0

1

1

1

1

X

X

X

0

0

1

1

X

X

X

0

1

0

1

1

0

NotusedQn

0

1

Toggle

0

1

Notused

Qn Bar

1

0

Toggle

CIRCUIT DIAGRAM:

PRESET (Pr)

CLEAR (Cr)

Page 11: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 11

LOGIC DESIGN LABORATORY 4

(4a) Design and implement a mod n (a<8) synchronous up counter using JK FF.

AIM: To Design and implement a mod n (a<8) synchronous up counter using JK FF

COMPONENTS REQUIRED: IC7476, IC7408, patch chords, power chords and trainer

kit

THEORY: The ripple counter requires a finite amount of time for each flip flop to change

state. This problem can be solved by using a synchronous parallel counter where every flip

flop is triggered in synchronism with the clock and all the output which are scheduled to

change do so simultaneously.

The counter progresses counting upwards in a natural binary sequence from count 000 to

count 100 advancing count with every negative clock transition and get back to 000 after this

cycle.

In synchronous counter, all of the FF’s are clocked at the same time. Before each clock

pulse, the J and K inputs of each FF must be at the correct level to ensure that each FF goes

to the correct state.

PROCEDURE:

Verify all the components and patch chords whether they are in good condition or

not.

Make connections as shown in the circuit diagram.

Give power supply to the trainer kit.

Provide the input data to the circuit via switches.

Record and verify the output sequence for each combination of the select lines.

RESULT: All the entries in the truth table are verified.

Page 12: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 12

PIN DIAGRAMS:

K-MAPS:EXCITATION TABLE:

Qn Qn+1 J K0011

0101

01XX

XX10

Page 13: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 13

TRANSITION TABLE:

Present State Next State Jc Kc Jb Kb Ja Ka

Qc Qb Qa

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Qc+1 Qb+1 Qa+1

0 0 1

0 1 0

0 1 1

1 0 0

0 0 0

x x x

x x x

x x x

0 x

0 x

0 x

1 x

x 1

x x

x x

x x

0 x

1 x

x 0

x 1

0 x

x x

x x

x x

1 x

x 1

1 x

x 1

0 x

x x

x x

x x

CIRCUIT DIAGRAM:

Page 14: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 14

LOGIC DESIGN LABORATORY 5

(5a) Design and implement ring counter using 4-bit shift register.

AIM: To design and implement a ring counter using 4-bit shift register

COMPONENTS REQUIRED: IC7495, patch chords, power chords and trainer kit

THEORY: Ring Counter is a basic register with direct feedback such that contents of the

register simply circulate around the register when the clock is running. Here last output Qd in

a shift register is connected back to the serial input.

PROCEDURE:

Verify all the components and patch chords whether they are in good condition or

not.

Make connections as shown in the circuit diagram.

Give power supply to the trainer kit.

Provide the input data to the circuit via switches.

Record and verify the output sequence for each combination of the select lines.

RESULT: All the entries in the truth table are verified.

Page 15: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 15

IC7495

PIN DIAGRAMS:

FUNCTION TABLE:

Clk Qa Qb Qc Qd

012345

100010

010001

001000

000100

CIRCUIT DIAGRAM:

Page 16: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 16

LOGIC DESIGN LABORATORY 6

(6a) Design and implement an asynchronous counter using decade counter IC tocount up from 0 to n (n≤9).

AIM: To design and implement an asynchronous counter using decade counter IC to count

up from 0 to n (n≤9)

COMPONENTS REQUIRED: IC7490, patch chords, power chords and trainer kit

THEORY: Asynchronous counter is a counter in which the clock signal is connected to the

clock input of only first stage flip flop. The clock input of the second stage flip flop is

triggered by the output of the first stage flip flop and so on. This introduces an inherent

propagation delay time through a flip flop. A transition of input clock pulse and a transition

of the output of a flip flop can never occur exactly at the same time. Therefore, the two flip

flops are never simultaneously triggered, which results in asynchronous counter operation.

PROCEDURE:

Verify all the components and patch chords whether they are in good condition or

not.

Make connections as shown in the circuit diagram.

Give power supply to the trainer kit.

Provide the input data to the circuit via switches.

Record and verify the output sequence for each combination of the select lines.

RESULT: All the entries in the truth table are verified.

Page 17: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 17

PIN DIAGRAMS:

FUNCTION TABLE:

Clock Qd Qc Qb Qa0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 18 1 0 0 09 1 0 0 1

CIRCUIT DIAGRAM:

Page 18: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 18

LOGIC DESIGN LABORATORY 7

(7a) Design a 4-bit R-2R ladder D/A converter using Op-Amp. Determine itsaccuracy and resolution.

AIM: To design a 4 bit R-2R ladder D/A converter using Op-Amp and to determine its

accuracy and resolution.

COMPONENTS REQUIRED: 20kΩ RESISTOR - QUANTITY - 6, 10 kΩ RESISTOR

- QUANTITY - 4, OP 741, patch chords, power chords and trainer kit

THEORY:

PROCEDURE:

Verify all the components and patch chords whether they are in good condition or

not.

Make connections as shown in the circuit diagram.

In different digital inputs measure the analog output voltage using multimeter.

Tabulate the results compare the theoretical output values with the practical ones.

RESULT:Resolution = 0.067

STEP SIZE Theoretical = 0.625 Practical =

ACCURACY Theoretical = 0.3125 Practical =

Page 19: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 19

CIRCUIT DIAGRAM:

FORMULA:

Vo = (Bo + 2B1 + 4B2 + 8B3) RF/24(R)

R - Resistor of 10kΩ

RF - 20kΩ Feedback resistor

Vo - Output voltage

B0, B1, B2 , B3 - Digital input voltage levels

Resolution = 1/2n-1 where n=4 since 4 - bit ladder

= 0.067

= 6.7%

Accuracy = ½ * Step Size

Page 20: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 20

TABULAR COLUMN:

B3 B2 B1 B0 VoTheoretical

VoPractical

0000000011111111

0000111100001111

0011001100110011

0101010101010101

0.0000.6251.2501.8752.5003.1253.7504.3755.0005.6256.2506.8757.5008.1258.7509.375

Page 21: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 21

SIMULATIONIt is one of most popular software tool used to synthesize VHDL code. This tool includes

many steps. To make user feel comfortable with the tool the steps are given below:-

Double click on Project navigator. (Assumed icon is present on desktop).

Select NEW PROJECT in FILE MENU.Enter following details as per your convenience

Project name : sample

Project location : C:\example

Top level module : HDL

In NEW PROJECT dropdown Dialog box, Choose your appropriate device

specification. Example is given below:

Device family : Spartan2

Device : xc2s200

Package : PQ208

TOP Level Module : HDL

Synthesis Tool : XST

Simulation : Modelsim / others

Generate sim lang : VHDL

In source window right click on specification, select new source

Enter the following details

Entity : sample

Architecture : BehavioralEnter the input and output port and modes.

This will create sample.VHD source file. Click Next and finish the initial Project

preparation.

Double click on synthesis. If error occurs edit and correct VHDL code.

Double click on Lunch modelsim (or any equivalent simulator if you are using) for

functional simulation of your design.

Right click on sample.VHD in source window, select new source

Select source : Implementation constraints file.

File name : sample

This will create sample. UCF constraints file.

Page 22: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 22

Double click on Edit constraint (Text) in process window.

Edit and enter pin constraints with syntax:

NET “NETNAME” LOC = “PIN NAME”

Double click on Implement, which will carry out translate, mapping, place and route of

your design. Also generate program file by double clicking on it, intern which will

create .bit file.

Connect JTAG cable between your kit and parallel pot of your computer.

Double click on configure device and select mode in which you want to configure your

device. For ex: select slave serial mode in configuration window and finish your

configuration.

Right click on device and select ‘program’. Verify your design giving appropriate

inputs and check for the output.

Also verify the actual working of the circuit using pattern generator & logicanalyzer.

Page 23: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 23

(1B) WRITE A VERILOG/VHDL CODE FOR 8:1 MUX. SIMULATE ANDVERIFY ITS WORKING.

TRUTHTABLE

INPUTS OUTPUTSSEL(2) SEL(1) SEL (0) Zout0 0 0 I(0)0 0 1 I(1)0 1 0 I(2)0 1 1 I(3)1 0 0 I(4)1 0 1 I(5)0 1 1 I(6)1 1 1 I(7)

VHDL CODE FOR 8 TO 1 MUX (BEHAVIORAL MODELING)

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity mux1 isPort ( I : in std_logic_vector(7 down to 0);

sel : in std_logic_vector(2 downto 0);zout : out std_logic);

end mux1;

architecture Behavioral of mux1 isbegin

zout<=I(0) when sel="000" elseI(1) when sel="001" elseI(2) when sel="010" elseI(3) when sel="011" elseI(4) when sel="100" elseI(5) when sel="101" elseI(6) when sel="110" elseI(7);

end Behavioral;

SEL

MULTIPLEXER8 TO 1

8ZoutI

3

Page 24: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 24

8:1 MUX SIMULATION RESULTS

output

Page 25: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 25

(2B) WRITE THE VERILOG /VHDL CODE FOR FULL ADDER. SIMULATE &VERIFY ITS WORKING.

TRUTH TABLE

INPUTS OUTPUTS

X Y Z SUM CARRY0 0 0 0 0

0 0 1 1 00 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

EXPRESSIONS Sum (S) = X Y ZCarry (Cout) = XY + YZ + ZX

VHDL CODE FOR FULL ADDER USING DATA FLOW

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY fa ISPort (X, Y, Z : in STD_LOGIC; Cout, S : out STD_LOGIC);End fa;

ARCHITECTURE df OF fa ISBegin

Cout<= ((X AND Y) OR (Y AND Z) OR (X AND Z)); S<= (X XOR Y) XOR Z;End df;

FULLADDER

S

Cout

X

Y

Z

Page 26: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 26

FULL ADDER SIMULATION RESULS

Sum Carry

Page 27: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 27

(3B) WRITE A VERILOG/VHDL CODE FOR D-FF WITH POSITIVE EDGETRIGGERING. SIMULATE AND VERIFY ITS WORKING.

D

TRUTH TABLE

VHDL CODE FOR D FLIP FLOP COUNTER.

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity dflipflop is Port ( D,Clk : in std_logic; Q : inout std_logic; Qbar : out std_logic);end dflipflop;

architecture Behavioral of dflipflop isbegin

process(clk)begin

if rising_edge(clk) thenQ<= D;

end if;end process;

Qbar<= not Q; end Behavioral;

INPUT OUTPUTSD Q QBar0 0 11 1 0

D-FF

Clk

Q

QBar

Page 28: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 28

D-FF SIMULATION RESULTS

Page 29: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 29

(4B) WRITE THE VERILOG/VHDL CODE FOR MOD 8 UP COUNTER.SIMULATE AND VERIFY ITS WORKING.

TRUTH TABLE

rst Clk En Q1 X 0 00000 1 1 00010 1 1 00100 1 1 00110 1 1 01000 1 1 01010 1 1 01100 1 1 0111

VHDL CODE FOR MOD-8 COUNTER.

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity mod_8 isPort ( rst,clk,en: in std_logic;

q : inout std_logic_vector(3 downto 0));end mod_8;

architecture Behavioral of mod_8 isbegin

process(clk,rst) isbegin

if rst='1' then q<="0000";

elsif rising_edge(clk) thenif en='1' then

Q<=Q+1;end if;

Clk

En Q(3 down to 0)

rst/clr

Mod 8 Counter

Page 30: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 30

if Q="0111" thenQ<= "0000";

end if;end if;

end process;end Behavioral;

MOD 8 COUNTER SIMULATION RESULTS

Output

Page 31: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 31

(5B) WRITE THE VERILOG /VHDL CODE FOR SWITCHED TAILCOUNTER OR JOHNSON COUNTER

TRUTH TABLE

rst Clk En Q1 0 0 xxxx0 1 1 00000 1 1 10000 1 1 11000 1 1 11100 1 1 11110 1 1 01110 1 1 00110 1 1 0001

VHDL CODE FOR JOHNSON COUNTER.

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity jc is Port ( clk,e,rst : in std_logic; q : inout std_logic_vector(3 downto 0));end jc;

architecture Behavioral of jc isbegin

Process(clk,rst)begin

if rst='1' then q<="0001";

elsif rising_edge (clk) thenif e='1' then

q<=(not q(0))& Q(3 downto 1);

Q(3 down to 0)JohnsonCounter

Clk

En

rst

Page 32: LD Lab Manual

Dept. of CSE Logic Design Lab Manual

Bangalore Institute of Technology, Bangalore 32

end if;end if;

end process;end Behavioral;

JOHNSON COUNTER SIMULATION RESULTS

Output