fulladder

我们来分析 fulladder.sv 文件,它是一个标准的三输入全加器模块,通常用于构建 3:2 压缩器(compressor) 的基本单元。


📘 功能注释

// full adder, the basic module that constitutes the 3:2 compressor

该模块是三输入全加器(Full Adder),用于 Wallace 树或 CSA 树结构中进行部分积压缩。


🔧 模块定义与端口

module fulladder(
    input logic x,y,z,
    output logic sum,carry
);
端口名 方向 功能
x in 三个输入加数之一
y in
z in
sum out 求和位
carry out 进位位

➕ 加法逻辑实现

assign sum = (x ^ y ) ^ z;
assign carry = ((x ^ y) & z) | (x & y);

标准全加器的输出逻辑:

  • sum = x ⊕ y ⊕ z
  • carry = (x ⊕ y) · z + x · y

🔚 模块结束

endmodule

是否将此模块转换为 Verilog-2001 格式(去除 logic,改用 wire)?

posted @ 2025-05-04 17:24  江左子固  阅读(42)  评论(0)    收藏  举报