3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-08-08 20:21:25 +00:00

xilinx: Support multiplier mapping for all families.

This supports several older families that are not yet supported for
actual logic synthesis — the intention is to add them soon.
This commit is contained in:
Marcin Kościelnicki 2019-10-08 17:00:30 +00:00
parent a3a7bb9bf7
commit 7b350cacd4
9 changed files with 269 additions and 9 deletions

View file

@ -0,0 +1,38 @@
module \$__MUL18X18 (input [17:0] A, input [17:0] B, output [35:0] Y);
parameter A_SIGNED = 0;
parameter B_SIGNED = 0;
parameter A_WIDTH = 0;
parameter B_WIDTH = 0;
parameter Y_WIDTH = 0;
wire [47:0] P_48;
DSP48 #(
// Disable all registers
.AREG(0),
.BREG(0),
.B_INPUT("DIRECT"),
.CARRYINREG(0),
.CARRYINSELREG(0),
.CREG(0),
.MREG(0),
.OPMODEREG(0),
.PREG(0),
.SUBTRACTREG(0),
.LEGACY_MODE("MULT18X18")
) _TECHMAP_REPLACE_ (
//Data path
.A(A),
.B(B),
.C(48'b0),
.P(P_48),
.SUBTRACT(1'b0),
.OPMODE(7'b000101),
.CARRYINSEL(2'b00),
.BCIN(18'b0),
.PCIN(48'b0),
.CARRYIN(1'b0)
);
assign Y = P_48;
endmodule