Verilog HDL: 行動カウンター

author-image

投稿者:

この例では、カウントイネーブルのある、8ビットの読み込み可能なカウンターを説明しています。赤文字で強調表示された always 構造は、カウンターの動作方法を説明しています。

Verilog の詳細については、以下をご覧ください。

behav_counter.v

module behav_counter( d, clk, clear, load, up_down, qd);

// Port Declaration

input   [7:0] d;
input   clk;
input   clear;
input   load;
input   up_down;
output  [7:0] qd;

reg     [7:0] cnt;

always @ (posedge clk)
begin
    if (!clear)
        cnt <= 8'h00;
    else if (load)
        cnt <= d;
    else if (up_down)
        cnt <= cnt + 1;
    else
        cnt <= cnt - 1;
end 
 
 
 assign qd = cnt;



endmodule