if (A_SIGNED != B_SIGNED)\r
wire _TECHMAP_FAIL_ = 1;\r
// NB: A_SIGNED == B_SIGNED from here\r
+`ifdef DSP_SIGNEDONLY\r
+ else if (!A_SIGNED) begin\r
+ wire [1:0] _;\r
+ \$mul #(\r
+ .A_SIGNED(1),\r
+ .B_SIGNED(1),\r
+ .A_WIDTH(A_WIDTH + 1),\r
+ .B_WIDTH(B_WIDTH + 1),\r
+ .Y_WIDTH(Y_WIDTH + 2)\r
+ ) _TECHMAP_REPLACE_ (\r
+ .A({1'b0, A}),\r
+ .B({1'b0, B}),\r
+ .Y({_, Y})\r
+ );\r
+ end\r
+`endif\r
else if (A_WIDTH < B_WIDTH)\r
\$mul #(\r
.A_SIGNED(B_SIGNED),\r