硬體描述語言與驗證

如上方般使用parameter來撰寫module的優點,下列何者正確?

module adder #(parameter W = 8) (
    input  [W-1:0] a, b,
    output [W:0]   s
);
    assign s = a + b;
endmodule
  1. A使用parameter的話,電路會自動變快
  2. Bparameter的值可以在晶片運作中自由改變
  3. C可以在每個使用的地方指定W,從同一個描述製作出8位元或16位元等不同寬度的加法器
查看答案與解析

正確答案:C. 可以在每個使用的地方指定W,從同一個描述製作出8位元或16位元等不同寬度的加法器

parameter是在使用module時可以指定值的常數。若將位元寬度或FIFO的深度等設為parameter,就能以各種大小重複使用同一個描述,減少重複撰寫相似電路的工夫與錯誤。值在邏輯合成時決定,並會產生符合各個值大小的電路。由於它不是在晶片運作期間會改變的值,所以想在執行時改變的設定要以暫存器持有。

  • A. 速度不會改變。
  • B. 這是在合成時決定的常數,運作中無法改變。
  • C. 正確。設計更容易重複使用。
練習這個領域 前往領域頁面

硬體描述語言與驗證的其他題目

  1. 上方generate語句的作用,下列何者正確?
  2. HDL驗證中所使用的Lint工具的作用,下列何者正確?
  3. 對邏輯合成或佈局繞線之後的電路(閘級網表),加入延遲資訊進行模擬的主要目的為何?
  4. 如上方的描述般,不經過正反器,而是組合電路的輸出回到自己的輸入的形式稱為什麼?又為什麼應該避免?
  5. 將上方的描述針對FPGA進行邏輯合成時,一般會如何處理?

這個領域的比較