Flip Flops
SR flip flop
module rsff(q,q0,clock,reset,s,r);
input s,r,clock,reset;
output q=0,q0;
reg q;
always@(posedge clock)
begin
if(reset)
q=0;
else if(r==0&&s==0)
q=q;
else if(r==1&&s==1)
q="x";
else
q=s;
end
assign q0=~q;
endmodule
JK flip flop
module jkff(q,q0,clock,reset,j,k);
input clock,reset,j,k;
output q=0,q0;
reg q;
always@(posedge clock)
begin
if(reset)
q=0;
else if(j==0&&k==0)
q=q;
else if(j==1&&k==1)
q=~q;
else
q=j;
end
assign q0=~q;
endmodule
D-Flip flop
module dff(clock,reset,data,q,qbar);
input clock,reset,data;
output q,qbar;
reg q;
always @ (posedge clock)
begin
if(reset)
q=0;
else
q=data;
end
assign qbar=~q;
endmodule
T flip flop
module tff(q,q0,clock,t,reset);
input clock,reset,t;
output q=0,q0;
reg q;
always@(posedge clock)
begin
if(reset)
q=0;
else if(t)
q=~q;
end
assign q0=~q;
endmodule
SR flip flop
module rsff(q,q0,clock,reset,s,r);
input s,r,clock,reset;
output q=0,q0;
reg q;
always@(posedge clock)
begin
if(reset)
q=0;
else if(r==0&&s==0)
q=q;
else if(r==1&&s==1)
q="x";
else
q=s;
end
assign q0=~q;
endmodule
JK flip flop
module jkff(q,q0,clock,reset,j,k);
input clock,reset,j,k;
output q=0,q0;
reg q;
always@(posedge clock)
begin
if(reset)
q=0;
else if(j==0&&k==0)
q=q;
else if(j==1&&k==1)
q=~q;
else
q=j;
end
assign q0=~q;
endmodule
D-Flip flop
module dff(clock,reset,data,q,qbar);
input clock,reset,data;
output q,qbar;
reg q;
always @ (posedge clock)
begin
if(reset)
q=0;
else
q=data;
end
assign qbar=~q;
endmodule
T flip flop
module tff(q,q0,clock,t,reset);
input clock,reset,t;
output q=0,q0;
reg q;
always@(posedge clock)
begin
if(reset)
q=0;
else if(t)
q=~q;
end
assign q0=~q;
endmodule

No comments:
Post a Comment