clr,prはclkより優先(非同期)
/*4bit Ring Counter*/
module ringCounter4(clk,clr,pr,q);
input clk,clr,pr;
output [3:0] q;
reg [3:0] q;
always @(posedge clk or negedge clr or negedge pr) begin
if(!clr) q <= 4'b0000;
else if (!pr) q <= 4'b1111;
else
case (q)
4'b0001 : q <= 4'b0010;
4'b0010 : q <= 4'b0100;
4'b0100 : q <= 4'b1000;
4'b1000 : q <= 4'b0001;
default : q <= 4'b0001;
endcase
end
endmodule
リングカウンタ本体
clr=1,pr=1,
clk立ち上がりクロックで動作
リングカウンタ
本体の記述