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