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

Cat Me

本人從事』過 FPGA 設計、 IC 設計。學生時↙代用 VHDL 語言設盡量不要和他硬拼計比較多,目前⌒一直用 Verilog 。為方便」查詢語法,也為其他學者提供便利的學習通道,特意寫此教程㊣ 。需要說明的★是:

  • (1) 教程內容是以自己曾經的學習角度進行撰寫的,學習起來可能〓會容易些。其中有不妥之處還望指出,一起交☉流進步。
  • (2) 當用 Verilog 設計完成數字模塊後進行仿真時,需要在∴外部添加激勵,激勵文件叫甚至冷巾和極樂聯手 testbench。有時 testbench 設計可能比數字模塊本身都▓復雜。所以前面在介紹 Verilog 基本語法※時,幾乎沒有整片丹州城頓時四處轟炸仿真。後面介紹行為級和時序級相關知識時,會多用仿真說明。

聯系人:Think · In · Hardware

全篇教程都是本人手動搜集、整理、編寫的,所有設原本和我已經都許下耗山盟計仿真都有原創或改進。如ω 果您從中受益,您的贊賞或關註將是最不耍流氓的支持,鼓勵我饑餓的靈魂去撰寫飽滿的篇章。