概述

  • 什麼是硬體描述語言(HDL Hardware Description Language)?

    硬件描述語言(HDL)顧名思義就是描述數位電路和設計數位系統的語言。設計者可利用這種語言來描述自己的設計想法,利用電子設計自動化(EDA)工具進行仿真,再用ASIC或FPGA實現其功能,常見有Verilog和VHDL。

  • 什麼是 FPGA(Field Programmable Gate Array)?

    現場可程式邏輯閘陣列,是一種可以使使用者進行編程的邏輯閘元件。FPGA 的 IC 內部已經預先製作好各種的邏輯閘、數位電路,只須將編寫好的 HDL 檔案燒錄至 FPGA,改變 FPGA 內部邏輯閘的連接,達到實現的效果。就某種程度上 FPGA 與 Verilog 的關係就好比 MCU 與 C 語言的關係。

  • 關於 Verilog HDL 教學講義

    此講義算是 Verilog 的"重點整理"或"備忘錄",內容較為精簡,不會做詳細的解釋,若是沒學過 Verilog 的初學者,建議有了解的人來教學、解答,較不建議拿來自學。

  • 關於 Verilog

    Verilog 是結構鬆散的語言,也就是自由的語言,相對來說也就是不嚴謹的語言,這種語言的好處是容易撰寫,但缺點就是容易出現BUG,所以建立一套良好的撰寫風格、用法,會影響到日後的撰寫。

Verilog 常用到的關鍵字

module
input , output , inout
wire, reg, parameter
always@(), assign
posedge , negedge
if-else, case, begin ... end

Verilog 常用到的運算子

<= , = (賦值), 
> , < , <= , >=
 != , ==
[] , {}
<< , >>
+, - , * , / , %
  • Verilog 是一種容易入門,但不易掌握的語言,從上面就可看的出來,雖然常用到的東西並不多,但確實了解這些就足夠了。

  • Verilog 是硬體描述語言,描述硬體的語言,雖然與C相似,但概念卻是大不同。

  • 軟體是循序的,硬體是並行的

    C 語言是一行一行的執行,而硬體電路則是只要一供電,所有的電路就會同時工作。

  • Verilog 程式碼沒有先後之分

    除了 Blocking 先後順序執行和 Non-Blocking 的同時執行外,Verilog 的程式碼沒有前後順序之分,先寫的不代表先執行,後寫的也不代表會後執行,所以才稱為『描述』語言,而非『程式』語言。