3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-18 14:49:02 +00:00

techmap: map $alu to $fa instead of relying on extract_fa

This commit is contained in:
Emil J. Tywoniak 2025-04-07 13:16:49 +02:00
parent 0c689091e2
commit 7d560698ac

View file

@ -283,9 +283,16 @@ module _90_alu (A, B, CI, BI, X, Y, CO);
\$pos #(.A_SIGNED(A_SIGNED), .A_WIDTH(A_WIDTH), .Y_WIDTH(Y_WIDTH)) A_conv (.A(A), .Y(A_buf));
\$pos #(.A_SIGNED(B_SIGNED), .A_WIDTH(B_WIDTH), .Y_WIDTH(Y_WIDTH)) B_conv (.A(B), .Y(B_buf));
\$lcu #(.WIDTH(Y_WIDTH)) lcu (.P(X), .G(AA & BB), .CI(CI), .CO(CO));
(* force_downto *)
wire [Y_WIDTH-1:0] P;
wire [Y_WIDTH-1:0] G;
wire [Y_WIDTH-1:0] Cnull;
assign Cnull = 1'b0;
assign X = AA ^ BB;
\$fa #(.WIDTH(Y_WIDTH)) fa (.A(AA), .B(BB), .C(Cnull), .X(G), .Y(P));
\$lcu #(.WIDTH(Y_WIDTH)) lcu (.P(P), .G(G), .CI(CI), .CO(CO));
assign X = P;
assign Y = X ^ {CO, CI};
endmodule