Code Monkey home page Code Monkey logo

experiment--05-implementation-of-flipflops-using-verilog's Introduction

Experiment--05-Implementation-of-flipflops-using-verilog

AIM:

To implement all the flipflops using verilog and validating their functionality using their functional tables

HARDWARE REQUIRED: – PC, Cyclone II , USB flasher

SOFTWARE REQUIRED: Quartus prime

THEORY

SR Flip-Flop SR flip-flop operates with only positive clock transitions or negative clock transitions. Whereas, SR latch operates with enable signal. The circuit diagram of SR flip-flop is shown in the following figure.

image

This circuit has two inputs S & R and two outputs Qtt & Qtt’. The operation of SR flipflop is similar to SR Latch. But, this flip-flop affects the outputs only when positive transition of the clock signal is applied instead of active enable. The following table shows the state table of SR flip-flop.

image

Here, Qtt & Qt+1t+1 are present state & next state respectively. So, SR flip-flop can be used for one of these three functions such as Hold, Reset & Set based on the input conditions, when positive transition of clock signal is applied. The following table shows the characteristic table of SR flip-flop. Present Inputs Present State Next State

image

By using three variable K-Map, we can get the simplified expression for next state, Qt+1t+1. The three variable K-Map for next state, Qt+1t+1 is shown in the following figure.

image

The maximum possible groupings of adjacent ones are already shown in the figure. Therefore, the simplified expression for next state Qt+1t+1 is Q(t+1)=S+R′Q(t)Q(t+1)=S+R′Q(t)

D Flip-Flop

D flip-flop operates with only positive clock transitions or negative clock transitions. Whereas, D latch operates with enable signal. That means, the output of D flip-flop is insensitive to the changes in the input, D except for active transition of the clock signal. The circuit diagram of D flip-flop is shown in the following figure.

This circuit has single input D and two outputs Qtt & Qtt’. The operation of D flip-flop is similar to D Latch. But, this flip-flop affects the outputs only when positive transition of the clock signal is applied instead of active enable. The following table shows the state table of D flip-flop. image

image

Therefore, D flip-flop always Hold the information, which is available on data input, D of earlier positive transition of clock signal. From the above state table, we can directly write the next state equation as Qt+1t+1 = D

image

Next state of D flip-flop is always equal to data input, D for every positive transition of the clock signal. Hence, D flip-flops can be used in registers, shift registers and some of the counters.

JK Flip-Flop

JK flip-flop is the modified version of SR flip-flop. It operates with only positive clock transitions or negative clock transitions. The circuit diagram of JK flip-flop is shown in the following figure. image

This circuit has two inputs J & K and two outputs Qtt & Qtt’. The operation of JK flip-flop is similar to SR flip-flop. Here, we considered the inputs of SR flip-flop as S = J Qtt’ and R = KQtt in order to utilize the modified SR flip-flop for 4 combinations of inputs. The following table shows the state table of JK flip-flop.

image

Here, Qtt & Qt+1t+1 are present state & next state respectively. So, JK flip-flop can be used for one of these four functions such as Hold, Reset, Set & Complement of present state based on the input conditions, when positive transition of clock signal is applied. The following table shows the characteristic table of JK flip-flop. Present Inputs Present State Next State

image

By using three variable K-Map, we can get the simplified expression for next state, Qt+1t+1. Three variable K-Map for next state, Qt+1t+1 is shown in the following figure.

image

The maximum possible groupings of adjacent ones are already shown in the figure. Therefore, the simplified expression for next state Qt+1t+1 is Q(t+1)=JQ(t)′+K′Q(t)Q(t+1)=JQ(t)′+K′Q(t)

T Flip-Flop

T flip-flop is the simplified version of JK flip-flop. It is obtained by connecting the same input ‘T’ to both inputs of JK flip-flop. It operates with only positive clock transitions or negative clock transitions. The circuit diagram of T flip-flop is shown in the following figure.

image

This circuit has single input T and two outputs Qtt & Qtt’. The operation of T flip-flop is same as that of JK flip-flop. Here, we considered the inputs of JK flip-flop as J = T and K = T in order to utilize the modified JK flip-flop for 2 combinations of inputs. So, we eliminated the other two combinations of J & K, for which those two values are complement to each other in T flip-flop. The following table shows the state table of T flip-flop.

Here, Qtt & Qt+1t+1 are present state & next state respectively. So, T flip-flop can be used for one of these two functions such as Hold, & Complement of present state based on the input conditions, when positive transition of clock signal is applied. The following table shows the characteristic table of T flip-flop. Inputs Present State Next State

image

From the above characteristic table, we can directly write the next state equation as Q(t+1)=T′Q(t)+TQ(t)′ ⇒Q(t+1)=T⊕Q(t)

Procedure:

STEP 1:

Open Quartus II and select new project and choose the file location.

STEP 2:

Module Declaration. Module should have the file name.

STEPS 3:

Input-Output Delecaration.

STEPS 4:

Use assign declaration and wire to define the functionality of logic circuits.

STEP 5:

At the end give endmodule.

STEP 6:

Run the program and choose RTL viewer to get RTL realization.

PROGRAM

Program for flipflops  and verify its truth table in quartus using Verilog programming.
Developed by: B.PAVIZHI
RegisterNumber:  212221230077

 SR FLIP-FLOP:

module ex5(S,Clock,R,Q,Qbar);
input S,Clock,R;
output Q,Qbar;
wire X,Y;
nand(X,S,Clock);
nand(Y,R,Clock);
nand(Q,X,Qbar);
nand(Qbar,Y,Q);
endmodule

RTL LOGIC FOR FLIPFLOPS

output

TIMING DIGRAMS FOR FLIP FLOPS

output

PROGRAM-2:

JK FLIP-FLOP:

module ex5(j,k,clk,q,qbar);
input j,k,clk;
output q,qbar;
wire x,y;
nand(x,j,clk,qbar);
nand(y,k,clk,q);
nand(q,x,qbar);
nand(qbar,y,q);
endmodule

RTL LOGIC FOR FLIPFLOPS

output

TIMING DIGRAMS FOR FLIP FLOPS

output

PROGRAM-3:

D FLIP-FLOP:

module ex5(d,clk,q,qbar);
input d,clk;
output q,qbar;
assign dbar = ~d;
wire x,y,dbar;
nand(x,d,clk);
nand(y,dbar,clk);
nand(q,x,qbar);
nand(qbar,y,q);
endmodule

RTL LOGIC FOR FLIPFLOPS

output

TIMING DIGRAMS FOR FLIP FLOPS

output

PROGRAM-4:

T FLIP-FLOP:

module ex5(T,Clk,Q,Qbar);
input T,Clk;
output Q,Qbar;
wire X,Y;
nand(X,T,Clk,Qbar);
nand(Y,T,Clk,Q);
nand(Q,X,Qbar);
nand(Qbar,Y,Q);
endmodule

RTL LOGIC FOR FLIPFLOPS

output

TIMING DIGRAMS FOR FLIP FLOPS

output

RESULT:

  All the flipflops are implementde using verilog and their functionality has been validated using their functional tables.

experiment--05-implementation-of-flipflops-using-verilog's People

Contributors

pavizhi avatar vasanthkumarch avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.