0
我已經閱讀了這本書"Digital Design and Computers Architecture"作者:David Harris,本書中有一個關於SystemVerilog示例的問題。在「參數化結構」中引入了# (parameter ...)
之後,幾乎在每個示例中都使用了該運算符。參數化模塊(SystemVerilog)
例如,這本書中的「減法」模塊:
module subtractor #(parameter N = 8)
(input logic [N - 1:0] a,b,
output logic [N - 1:0] y);
assign y = a - b;
endmodule
是什麼在此代碼中使用N
的原因是什麼? 我們就不能寫出下面?:
input logic [7:0] a,b,
output logic [7:0] y);
而且,這樣的參數在幾乎每一個例子進一步書中使用,但對我來說,沒有理由使用它。 我們可以直接在方括號中設置位數,而無需使用額外的「參數」。
那麼,這種形式的編碼的原因是什麼?
簡而言之,參數用於模塊的泛化。 – sharvil111
可重用性是參數化模塊的主要目的。 –
@ sharvil111謝謝你的回覆 –