module fenpin (q,clk,reset);
output q;
input reset;
input clk;
reg q;
reg [1:0] count; // 设了一个2位的计数器可以从00计数到11;
always @ (posedge clk or negedge reset) // yi步复位,上升沿有效
if (!reset) // 复位
begin
count<=2'd0;
end
else if(count==2'd0) // 第一个CLK上升沿来的时候q翻转一次计数器加一;
begin
q<=~q;
count<=count+1'b1;
end
else if(count==2'd2) //第3个CLK上升沿来的时候输出q翻转一次计数器归零;
begin
q<=~q;
count<=2'd0;
end
else // 第二个CLK上升沿来的时候q不动作,计数器加一。
begin
count<=count+1'b1;
end
endmodule
我要赚赏金
