1
0
mirror of https://github.com/aolofsson/oh.git synced 2025-02-07 06:44:09 +08:00
oh/asiclib/hdl/asic_csa42.v
aolofsson 3dbb3755af Adding asiclib
-Represent set of cells that need hard coded cells or hard coded gate level designs.
2021-07-27 22:24:40 -04:00

24 lines
737 B
Verilog

//#############################################################################
//# Function: Carry Save Adder (4:2) (aka 5:3) #
//# Copyright: OH Project Authors. ALl rights Reserved. #
//# License: MIT (see LICENSE file in OH repository) #
//#############################################################################
module asic_csa42
( input a,
input b,
input c,
input d,
input cin,
output sum,
output carry,
output cout
);
assign cout = (a & b) | (b & c) | (a & c);
assign sumint = a ^ b ^ c;
assign sum = cin ^ d ^ sumint;
assign carry = (cin & d) | (cin & sumint) | (d & sumint);
endmodule