Verilog 入門

Verilog HDL(略語Verilog)は、デジタル回路のシステム設計で使用されるハードウェア記述言語です。アルゴリズムレベル、ゲートレベル、スイッチレベルなど、複数の抽象的な設計レベルをモデリングできます。

Verilogは、C言語のさまざまな演算子と構造を継承しています。別のハードウェア言語記述であるVHDLと比較すると、構文はそれほど厳密ではなく、コードはより簡潔で習得しやすいです。

Verilogは、文法を定義するだけでなく、文法構造の明確なシミュレーション・セマンティックも定義します。そのため、Verilogで記述されたデジタルモデルは、Verilogシミュレータで検証できます。

この記事を読むのに適する方

この記事は、主にVerilogの初心者を対象としています。

Verilogの基礎をすでに習得している読者は、他の記事で学習し、コミュニケーションすることができます。

この記事を読む前に知るべきこと

この記事を学習する前に、デジタル回路に関するいくつかの基本的な情報を理解する必要があります。

C言語をある程度で理解している場合は、Verilogをより早く習得するのに役立ちます。

最初のVerilogデザイン

幅が4桁の10進カウンタ:

実例

module counter10(
        //ポート定義
        input                   rstn,   //リセット、アクティブロー
        input                   clk,    //時計を入力する
        output [3:0]    cnt,    //カウントを出力する
        output                  cout);  //オーバーフロー

        reg [3:0]               cnt_temp ;      //カウンタレジスタ
        always@(posedge clk or negedge rstn) begin
                if(! rstn)begin         //リセットすると、タイマーは0に戻る
                        cnt_temp        <= 4'b0 ;
                end
                else if (cnt_temp==4'd9) begin  //カウンタが10個のサイクル(cycle)になると、タイマーは0に戻る
                        cnt_temp        <=4'b000;
                end
                else begin                                      //カウンタ+1
                        cnt_temp        <= cnt_temp + 1'b1 ; 
                end
        end

        assign  cout = (cnt_temp==4'd9) ;       //サイクルを出力する
        assign  cnt  = cnt_temp ;                       //リアルタイムタイマーを出力する

endmodule
Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です