mirror of https://github.com/YosysHQ/yosys.git
21 lines
439 B
Verilog
21 lines
439 B
Verilog
|
// Copied from techlibs/common/simlib.v
|
||
|
// with this condition removed: (^{P, G, CI} !== 1'bx)
|
||
|
module lcu (P, G, CI, CO);
|
||
|
|
||
|
parameter WIDTH = 2;
|
||
|
|
||
|
input [WIDTH-1:0] P; // Propagate
|
||
|
input [WIDTH-1:0] G; // Generate
|
||
|
input CI; // Carry-in
|
||
|
|
||
|
output reg [WIDTH-1:0] CO; // Carry-out
|
||
|
|
||
|
integer i;
|
||
|
always @* begin
|
||
|
CO[0] = G[0] || (P[0] && CI);
|
||
|
for (i = 1; i < WIDTH; i = i+1)
|
||
|
CO[i] = G[i] || (P[i] && CO[i-1]);
|
||
|
end
|
||
|
|
||
|
endmodule
|