From 7b350cacd410b16fdac5a6933aea1bb009b83621 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Ko=C5=9Bcielnicki?= Date: Tue, 8 Oct 2019 17:00:30 +0000 Subject: xilinx: Support multiplier mapping for all families. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This supports several older families that are not yet supported for actual logic synthesis — the intention is to add them soon. --- techlibs/xilinx/xc6s_dsp_map.v | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 techlibs/xilinx/xc6s_dsp_map.v (limited to 'techlibs/xilinx/xc6s_dsp_map.v') diff --git a/techlibs/xilinx/xc6s_dsp_map.v b/techlibs/xilinx/xc6s_dsp_map.v new file mode 100644 index 000000000..e8705723b --- /dev/null +++ b/techlibs/xilinx/xc6s_dsp_map.v @@ -0,0 +1,35 @@ +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; + DSP48A1 #( + // Disable all registers + .A0REG(0), + .A1REG(0), + .B0REG(0), + .B1REG(0), + .CARRYINREG(0), + .CARRYINSEL("OPMODE5"), + .CREG(0), + .DREG(0), + .MREG(0), + .OPMODEREG(0), + .PREG(0) + ) _TECHMAP_REPLACE_ ( + //Data path + .A(A), + .B(B), + .C(48'b0), + .D(18'b0), + .P(P_48), + + .OPMODE(8'b0000010) + ); + assign Y = P_48; +endmodule + + -- cgit v1.2.3