RTL 與驗證

Verilog(硬體描述語言)

Verilog 是使用最廣泛的硬體描述語言(HDL)——一種用來描述數位電路、而不是寫一步步指令的文字語言。你宣告一個帶輸入和輸出的 `module`,再用程式碼說明輸出如何由輸入決定。之後由工具把這段描述變成真正的邏輯閘。

關鍵的思維轉變是:Verilog 不是程式語言。程式行並不是一行接一行地執行,而是在描述同時存在、同時反應的硬體。一條 `assign` 敘述是一根永久的連線,而不是一次性的計算;而 `always @(posedge clk)` 區塊描述的是一組正反器,它們在時脈的每一次跳動時一起更新。

現代專案大多使用 SystemVerilog——它是 Verilog 的超集,增加了更豐富的型別和驗證功能;不過工程師習慣上把兩者都稱作「Verilog」。

module mux2(input a, b, sel, output y);
  assign y = sel ? b : a;   // a 2-to-1 multiplexer in one line
endmodule

用 Verilog 描述的二選一多工器。

又稱
HDLSystemVerilog硬件描述语言硬體描述語言