module UDcounter(Clock,Reset,Up,Q);
input Clock,Reset,Up;
output [3:0] Q;
reg [3:0] Q;
always @ ( posedge Clock ) begin
if (Reset) Q <= 4'h0;
else if (Up) Q <= Q+1;
else Q <= Q-1;
end
endmodule |
UDcounterという名称の回路と入出力端子を定義
入力端子を定義
出力端子を定義
回路内部のFlipFlopを定義
Clock信号の立ち上がりで動くFlipFlopを記述
Reset時にはQレジスタはゼロにする
Up時にはQレジスタの値に1を足した値をQレジスタに入れる
それ以外ではQレジスタの値から1を引いた値をQレジスタに入れる
FlipFlop記述の終了を宣言
UDcounter回路の記述の終了を宣言 |