[RTLLM-p003] Arithmetic/Adder/adder_32bit


提交解答


分數: 5
時間限制: 2.0s
記憶體限制: 256M

作者:
題目代碼
題目類型
允許的語言
Verilog

32 位元 Carry-Lookahead 加法器

題目說明

請設計一個名為 adder_32bit 的 Verilog 模組,實作一個 32 位元 Carry-Lookahead Adder(CLA,超前進位加法器)

模組輸入兩個 32 位元運算元:

  • A
  • B

並輸出:

  • 32 位元加法結果 S
  • 最終進位輸出 C32

頂層模組 adder_32bit 必須由多個自行設計的 16 位元 CLA 模組組成。

本題要求使用 Carry-Lookahead 架構,而不是直接使用 Verilog 的加法運算子。


模組介面 (Module Interface)

方向 位元寬度 描述
A input 32 輸入運算元 A
B input 32 輸入運算元 B
S output 32 加法結果
C32 output 1 最終進位輸出

設計要求與提示

  • 模組名稱: 必須為 adder_32bit
  • 架構要求: 使用 Carry-Lookahead Adder 架構。
  • 階層式設計: 32 位元加法器需由多個 16 位元 CLA Block 組成。
  • Carry 串接: 低 16 位元 CLA 的 Carry-out 必須連接至高 16 位元 CLA 的 Carry-in。
  • 組合邏輯: 不可使用 Clock 或 Register。

程式設計模板

module adder_32bit (
    input  [31:0] A,
    input  [31:0] B,
    output [31:0] S,
    output        C32
);

    // 在此處填寫您的程式碼

endmodule

評論

目前沒有評論。