Revert "Fix techmapping muxes some more"
authorEddie Hung <eddie@fpgeh.com>
Mon, 24 Jun 2019 21:15:31 +0000 (14:15 -0700)
committerEddie Hung <eddie@fpgeh.com>
Mon, 24 Jun 2019 21:15:31 +0000 (14:15 -0700)
This reverts commit 0aae3b4f4361db6d2c6b9c8d69df041f40519cec.

techlibs/xilinx/cells_map.v

index f4b7888b06127750d710a0f517d50c6d5f7ca3ec..85f174d3d38649802236cd962145d676046f8da1 100644 (file)
@@ -225,7 +225,7 @@ module \$__XILINX_SHIFTX (A, B, Y);
     else if (A_WIDTH <= 2 ** 4) begin
       localparam a_width0 = 2 ** 2;
       localparam num_mux8 = A_WIDTH / a_width0;
-      localparam a_widthN = A_WIDTH a_width0;
+      localparam a_widthN = A_WIDTH - num_mux8*a_width0;
       wire [a_width0-1:0] T;
       for (i = 0; i < a_width0; i++)
         if (i < num_mux8)
@@ -243,9 +243,9 @@ module \$__XILINX_SHIFTX (A, B, Y);
     else begin
       localparam a_width0 = 2 ** 4;
       localparam num_mux16 = A_WIDTH / a_width0;
-      localparam a_widthN = A_WIDTH a_width0;
-      wire [(2**(B_WIDTH-4))-1:0] T;
-      for (i = 0; i < 2 ** (B_WIDTH-4); i++)
+      localparam a_widthN = A_WIDTH - num_mux16*a_width0;
+      wire [a_width0-1:0] T;
+      for (i = 0; i < a_width0; i++)
         if (i < num_mux16)
           \$__XILINX_SHIFTX  #(.A_SIGNED(A_SIGNED), .B_SIGNED(B_SIGNED), .A_WIDTH(a_width0), .B_WIDTH(4), .Y_WIDTH(Y_WIDTH)) fpga_soft_mux (.A(A[i*a_width0+:a_width0]), .B(B[4-1:0]), .Y(T[i]));
         else if (i == num_mux16 && a_widthN > 0) begin