[RTLLM-p002] Arithmetic/Adder/adder_16bit
使用 8 位元加法器建構 16 位元加法器
題目說明
請設計一個名為 adder_16bit 的 Verilog 模組,實作一個 16 位元組合邏輯加法器。
模組接受兩個 16 位元輸入 a、b 與一個進位輸入 Cin,輸出 16 位元加法結果 y 以及最終進位 Co。
請勿直接設計單一 16 位元加法器,而是先設計一個 8 位元加法器,再透過例化(Instantiation)多次組成完整的 16 位元加法器。
模組介面 (Module Interface)
| 埠 | 方向 | 位元寬度 | 說明 |
|---|---|---|---|
a |
input | 16 | 運算元 A |
b |
input | 16 | 運算元 B |
Cin |
input | 1 | 初始進位輸入 |
y |
output | 16 | 加法結果 |
Co |
output | 1 | 最終進位輸出 |
設計要求與提示
- 模組名稱: 必須為
adder_16bit。 - 組合邏輯: 不可使用 Clock 或任何時序邏輯。
- 階層式設計: 先設計一個 8 位元加法器,再例化兩次完成 16 位元加法器。
- Carry 串接: 第一個 8 位元加法器的 Carry-out 應作為第二個 8 位元加法器的 Carry-in。
程式設計模板
module adder_16bit (
input [15:0] a,
input [15:0] b,
input Cin,
output [15:0] y,
output Co
);
// 在此處填寫您的程式碼
endmodule
評論