模8計數器的功能模塊如下:
module counter_8(clock,clear,q);
input clock,clear;
output[2:0] q;
reg[2:0] q;
always @(posedge clock or negedge clear)
begin
if(!clear)
q<=0;
else
q <= q +1;
end
endmodule
測試激勵如下:
module test_counter8;
reg clk,clr;
wire[2:0] q;
counter_8 counter(.clock(clk),.clear(clr),.q(q));
initial
clk = 0;
always
#100 clk = ~clk;
initial
begin
clr = 0;
#50 clr = 1;
#200 clr = 0;
#50 clr = 1;
end
initial
$monitor($time,"clear= %b,clock= %b,q= %b",clr,clk,q);
endmodule
|