硬體描述語言與驗證
如上方般使用parameter來撰寫module的優點,下列何者正確?
module adder #(parameter W = 8) (
input [W-1:0] a, b,
output [W:0] s
);
assign s = a + b;
endmodule
- A使用parameter的話,電路會自動變快
- Bparameter的值可以在晶片運作中自由改變
- C可以在每個使用的地方指定W,從同一個描述製作出8位元或16位元等不同寬度的加法器
查看答案與解析
正確答案:C. 可以在每個使用的地方指定W,從同一個描述製作出8位元或16位元等不同寬度的加法器
parameter是在使用module時可以指定值的常數。若將位元寬度或FIFO的深度等設為parameter,就能以各種大小重複使用同一個描述,減少重複撰寫相似電路的工夫與錯誤。值在邏輯合成時決定,並會產生符合各個值大小的電路。由於它不是在晶片運作期間會改變的值,所以想在執行時改變的設定要以暫存器持有。
- A. 速度不會改變。
- B. 這是在合成時決定的常數,運作中無法改變。
- C. 正確。設計更容易重複使用。