1
0
mirror of https://github.com/aolofsson/oh.git synced 2025-01-30 02:32:53 +08:00
oh/asiclib/hdl/asic_csa42.v
aolofsson 9e41b55f22 Adding default property to all cells
-Can be used to select between different cells (like sizes) that have the exact same logical function
2021-07-27 22:55:45 -04:00

23 lines
766 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 #(parameter PROP = "DEFAULT") ( 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