Merge pull request #1121 from YosysHQ/ecp5-ccu2c-inv

ecp5: Improve mapping of $alu when BI is used
This commit is contained in:
Clifford Wolf 2019-06-21 15:07:39 +02:00 committed by GitHub
commit f0955452ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 4 deletions

View File

@ -50,20 +50,21 @@ module _80_ecp5_alu (A, B, CI, BI, X, Y, CO);
wire [Y_WIDTH2-1:0] AA = A_buf; wire [Y_WIDTH2-1:0] AA = A_buf;
wire [Y_WIDTH2-1:0] BB = BI ? ~B_buf : B_buf; wire [Y_WIDTH2-1:0] BB = BI ? ~B_buf : B_buf;
wire [Y_WIDTH2-1:0] BX = B_buf;
wire [Y_WIDTH2-1:0] C = {CO, CI}; wire [Y_WIDTH2-1:0] C = {CO, CI};
wire [Y_WIDTH2-1:0] FCO, Y1; wire [Y_WIDTH2-1:0] FCO, Y1;
genvar i; genvar i;
generate for (i = 0; i < Y_WIDTH2; i = i + 2) begin:slice generate for (i = 0; i < Y_WIDTH2; i = i + 2) begin:slice
CCU2C #( CCU2C #(
.INIT0(16'b0110011010101010), .INIT0(16'b1001011010101010),
.INIT1(16'b0110011010101010), .INIT1(16'b1001011010101010),
.INJECT1_0("NO"), .INJECT1_0("NO"),
.INJECT1_1("NO") .INJECT1_1("NO")
) ccu2c_i ( ) ccu2c_i (
.CIN(C[i]), .CIN(C[i]),
.A0(AA[i]), .B0(BB[i]), .C0(1'b0), .D0(1'b1), .A0(AA[i]), .B0(BX[i]), .C0(BI), .D0(1'b1),
.A1(AA[i+1]), .B1(BB[i+1]), .C1(1'b0), .D1(1'b1), .A1(AA[i+1]), .B1(BX[i+1]), .C1(BI), .D1(1'b1),
.S0(Y[i]), .S1(Y1[i]), .S0(Y[i]), .S1(Y1[i]),
.COUT(FCO[i]) .COUT(FCO[i])
); );