module cnt10(clk,rst,ena,q,cout);
inout clk,rst,ena;
output [3:0]q;
output cout;
reg [3:0]q;
always @(posedge clk or posedeg rst)
begin
if(rst)q=4'b0000;
else if(ena)
begin
if(q<9)q=q+1;
else q=0;
end
end
assign count=q[3]&q[0];
endmodule
module cnt10_tb;
reg clk,rst,ena;
wire [3:0]q;
wire cout;
cnt10 U1(clk,rst,ena,q,cout);
always #50 clk=~clk;
initial
begin
clk=0;rst=0;ena=1;
#1200 rst=1;
#120 rst=0;
#2000 ena=0;
#200 ena=1;
#2000 $finish;
end
endmodule |