2
Asynchronous (ripple) counter – changing state bits are used as clocks to subsequent state fip-fops Verilog program or d pfop module D (d!q!reset!clk)" input d!reset!clk" output reg q" al#ays $(posedge reset! negedge clk) begin i(reset) begin q%&" end i('%% ** k%% ) q%d" else q%q" end endmodule Verilog program or ripple counter module +ipple,ounter(d!clk!reset!out)" input ./&0 d" input clk! reset" output ./&0 out" 11 2bit D a(d &0!out &0!reset!clk)" D b(d 0!out 0!reset!out &0)" D c(d 30!out 30!reset!out 0)" D d4(d .0!out .0!reset!out 30)" endmodule

ASynchronous upcounter program

Embed Size (px)

DESCRIPTION

verilog code

Citation preview

Asynchronous (ripple) counter changing state bits are used as clocks to subsequent state flip-flops

Verilog program for d ffipflop

module DFF(d,q,reset,clk);

input d,reset,clk;

output reg q;

always @(posedge reset, negedge clk) begin

if(reset) begin

q=0;

end

if(j==1 && k==1)

q=d;

else

q=q;

end

endmoduleVerilog program for ripple counter

module RippleCounter(d,clk,reset,out);

input [3:0] d;

input clk, reset;

output [3:0] out; // 4bit

DFF a(d[0],out[0],reset,clk);

DFF b(d[1],out[1],reset,out[0]);

DFF c(d[2],out[2],reset,out[1]);

DFF dx(d[3],out[3],reset,out[2]);

endmodule