diff options
author | Eddie Hung <eddie@fpgeh.com> | 2019-11-22 15:13:18 -0800 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2019-11-22 15:13:18 -0800 |
commit | 2a54fa41c40969841ba0574ba725caa436b0212f (patch) | |
tree | 1dbf518fc73dbe253612bdb5e466c50b78bce44b /techlibs/xilinx/xcu_dsp_map.v | |
parent | 6b9f90de789b1d0daf93ac1d2b608b057e7ca272 (diff) | |
parent | c03b6a3e9cab9fc05b2d5b256676f5ddc6c2d763 (diff) | |
download | yosys-2a54fa41c40969841ba0574ba725caa436b0212f.tar.gz yosys-2a54fa41c40969841ba0574ba725caa436b0212f.tar.bz2 yosys-2a54fa41c40969841ba0574ba725caa436b0212f.zip |
Merge branch 'master' of github.com:YosysHQ/yosys
Diffstat (limited to 'techlibs/xilinx/xcu_dsp_map.v')
-rw-r--r-- | techlibs/xilinx/xcu_dsp_map.v | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/techlibs/xilinx/xcu_dsp_map.v b/techlibs/xilinx/xcu_dsp_map.v new file mode 100644 index 000000000..fa95a5776 --- /dev/null +++ b/techlibs/xilinx/xcu_dsp_map.v @@ -0,0 +1,51 @@ +module \$__MUL27X18 (input [26:0] A, input [17:0] B, output [44: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; + DSP48E2 #( + // Disable all registers + .ACASCREG(0), + .ADREG(0), + .A_INPUT("DIRECT"), + .ALUMODEREG(0), + .AREG(0), + .BCASCREG(0), + .B_INPUT("DIRECT"), + .BREG(0), + .CARRYINREG(0), + .CARRYINSELREG(0), + .CREG(0), + .DREG(0), + .INMODEREG(0), + .MREG(0), + .OPMODEREG(0), + .PREG(0), + .USE_MULT("MULTIPLY"), + .USE_SIMD("ONE48"), + .AMULTSEL("A"), + .BMULTSEL("B") + ) _TECHMAP_REPLACE_ ( + //Data path + .A({{3{A[26]}}, A}), + .B(B), + .C(48'b0), + .D(27'b0), + .P(P_48), + + .INMODE(5'b00000), + .ALUMODE(4'b0000), + .OPMODE(9'b00000101), + .CARRYINSEL(3'b000), + + .ACIN(30'b0), + .BCIN(18'b0), + .PCIN(48'b0), + .CARRYIN(1'b0) + ); + assign Y = P_48; +endmodule + |