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硬件描述语言硬體描述語言