Add comment
authorEddie Hung <eddie@fpgeh.com>
Mon, 22 Apr 2019 23:58:44 +0000 (16:58 -0700)
committerEddie Hung <eddie@fpgeh.com>
Mon, 22 Apr 2019 23:58:44 +0000 (16:58 -0700)
techlibs/xilinx/cells_map.v

index 1def7b9739efaebcce8933748e22745a8bdb9e0c..38c8a49e72a87b5d411b9dfe7ab89e65e41badea 100644 (file)
@@ -170,6 +170,9 @@ module \$shiftx (A, B, Y);
       for (i = 0; i < Y_WIDTH; i++)
         \$shiftx  #(.A_SIGNED(A_SIGNED), .B_SIGNED(B_SIGNED), .A_WIDTH(A_WIDTH), .B_WIDTH(B_WIDTH), .Y_WIDTH(1'd1)) bitblast (.A({{i{1'bx}}, A[A_WIDTH-1:i]}), .B(B), .Y(Y[i]));
     end
+    // If the LSB of B is constant zero (and Y_WIDTH is 1) then
+    //   we can optimise by removing every other entry from A
+    //   and popping the constant zero from B
     else if (_TECHMAP_CONSTMSK_B_[0] && !_TECHMAP_CONSTVAL_B_[0]) begin
       wire [(A_WIDTH+1)/2-1:0] A_i;
       for (i = 0; i < (A_WIDTH+1)/2; i++)