RING COUNTER
Hola Amigos
Today I will be discussing with you about Ring Counter.
Today I will be discussing with you about Ring Counter.
A ring Counter is basically a simple counterthat counts upto n states working on the basics of shift registers. Upon each clock cycle the binary number shifts by 1 bit. Thus for n- bit binary number we have n-states.
Remember Johnsson counter works similar was but has n/2 states.
Heres a bsic diagram explaining Ring Counter
Let the input be 1000
Thus we the following output
Here is the code for ring counter.
Give it a shot!!
Code
module D(d,reset,clk,q);
input d;
input clk;
input reset;
output q;
reg q;
initial q = 1'b1;
always @(posedge clk)
begin
if(reset==0)
q <= d;
else
q <= 1'b0;
end
endmodule
module D2(d,clk,q);
input d;
input clk;
output q;
reg q;
initial
q = 1'b0;
always @(posedge clk)
q <= d;
endmodule
module Ring_B();
reg clk;
reg reset;
wire [3:0]q;
initial
begin
reset = 1;
clk = 0;
#45 reset = 0;
end
D ini(q[3],reset,clk,q[0]); // for first FF
D2 rest1(q[0],clk,q[1]); //***
D2 rest2(q[1],clk,q[2]); // * These are rest FFs
D2 rest3(q[2],clk,q[3]); //***
always
#5 clk = !clk ;
endmodule
and here is the output
I will be coming soon with Twisted Ring Counter
So Long
No comments:
Post a Comment