0% found this document useful (0 votes)
12 views2 pages

Lab

Uploaded by

Sourav kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views2 pages

Lab

Uploaded by

Sourav kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

//121EC0290 Sourav Kumar Naik //121EC0290 Sourav Kumar Naik

module module d_ff_asyn_tb();


d_ff_asyn(d,en,reset,q,clk); input reg d,en,reset,clk;
d, en, reset; output q; reg q; input wire q;
clk; wire clk; d_ff_asyn uut(d,en,reset,q,clk);

always@(posedge clk|reset) initial clk =1;


begin initial d =0;
if(reset) initial en =1;
q<=0; initial reset =0; always
else if(en) #10 clk=~clk; always #15
begin reset = ~reset;
q<=d; //121ec1066
end always
end begin
endmodule d =0; #25;
d =1; #25;
end
endmodule

//121EC0290 Sourav Kumar Naik //121EC0290 Sourav Kumar Naik

module module d_ff_syn_tb();


d_ff_syn(d,en,reset,q,clk); input reg d,en,reset,clk;
d, en, reset; output q; reg q; input wire q;
clk; d_ff_syn uut(d,en,reset,q,clk);
wire clk;
always@(posedge clk) initial clk =1;
begin initial d =0;
if(reset) initial en =1;
q<=0; initial reset =0; always #5
else if(en) clk=~clk; always #15 reset
begin = ~reset;
q<=d; //121ec1066
end always
end begin
endmodule d =0; #20;
d =1; #20;
end
endmodule
//121EC0290 Sourav Kumar Naik //121EC0290 Sourav Kumar Naik

module module
Dlatch(d,en,reset,q); input Dlatch_tb(); reg
d,en,reset; output q; reg q; d,en,reset; wire q;
always@(d,reset,en) Dlatch uut(d,en,reset,q);
begin if(reset) q=0; initial en=1;
else if(en) begin q = initial reset =0; always
d; end #10 reset =~reset; initial
end begin
endmodule d=0;#10;
d=1;#20;
reset =1;
d=0;#20;
d=1;#20;
reset=0;
d=1;#20;
d=1;#20;
end
endmodule

//121EC0290 Sourav Kumar Naik //121EC0290 Sourav Kumar Naik

module register( module


input wire [3:0]d, register_tb(); wire
input wire reset, [3:0]q; reg [3:0]d;
input wire clk, reg clk; reg reset;
output reg [3:0]q register
); uut(d,reset,clk,q); initial
always@(posedge clk or posedge reset) begin reset =0;
begin clk=0; end always begin
if(reset) clk=~clk; #7;end always begin
q<=0; #20 reset=~reset;
else #2;reset=~reset;end
q<=d; always begin d
end = 4'b1100;#10; d
endmodule = 4'b1110;#10; d
= 4'b1000;#10;
end endmodule

You might also like