aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs
diff options
context:
space:
mode:
authorMarcin Koƛcielnicki <mwk@0x04.net>2019-12-25 16:18:44 +0100
committerGitHub <noreply@github.com>2019-12-25 16:18:44 +0100
commit13a3041030d9475fdb45dd650f62aaa9dc8bb876 (patch)
tree0ef54d1c4b970df2ba6766977525368a5d0a9977 /techlibs
parentdadaf7ed788370c94a463e5e479bed4d540cdf4b (diff)
parente226a8f7f1e2fa55102890462fc2a0097a04092b (diff)
downloadyosys-13a3041030d9475fdb45dd650f62aaa9dc8bb876.tar.gz
yosys-13a3041030d9475fdb45dd650f62aaa9dc8bb876.tar.bz2
yosys-13a3041030d9475fdb45dd650f62aaa9dc8bb876.zip
Merge pull request #1593 from YosysHQ/mwk/dsp48a1-pmgen
xilinx_dsp: Initial DSP48A/DSP48A1 support.
Diffstat (limited to 'techlibs')
-rw-r--r--techlibs/xilinx/synth_xilinx.cc5
-rw-r--r--techlibs/xilinx/xc3sda_dsp_map.v2
-rw-r--r--techlibs/xilinx/xc6s_dsp_map.v2
3 files changed, 6 insertions, 3 deletions
diff --git a/techlibs/xilinx/synth_xilinx.cc b/techlibs/xilinx/synth_xilinx.cc
index 971089b28..a19046911 100644
--- a/techlibs/xilinx/synth_xilinx.cc
+++ b/techlibs/xilinx/synth_xilinx.cc
@@ -387,7 +387,10 @@ struct SynthXilinxPass : public ScriptPass
run("opt_expr -fine");
run("wreduce");
run("select -clear");
- run("xilinx_dsp");
+ if (help_mode)
+ run("xilinx_dsp -family <family>");
+ else
+ run("xilinx_dsp -family " + family);
run("chtype -set $mul t:$__soft_mul");
}
}
diff --git a/techlibs/xilinx/xc3sda_dsp_map.v b/techlibs/xilinx/xc3sda_dsp_map.v
index 87348a173..258f90395 100644
--- a/techlibs/xilinx/xc3sda_dsp_map.v
+++ b/techlibs/xilinx/xc3sda_dsp_map.v
@@ -27,7 +27,7 @@ module \$__MUL18X18 (input [17:0] A, input [17:0] B, output [35:0] Y);
.D(18'b0),
.P(P_48),
- .OPMODE(8'b0000010)
+ .OPMODE(8'b0000001)
);
assign Y = P_48;
endmodule
diff --git a/techlibs/xilinx/xc6s_dsp_map.v b/techlibs/xilinx/xc6s_dsp_map.v
index e8705723b..bdce60c14 100644
--- a/techlibs/xilinx/xc6s_dsp_map.v
+++ b/techlibs/xilinx/xc6s_dsp_map.v
@@ -27,7 +27,7 @@ module \$__MUL18X18 (input [17:0] A, input [17:0] B, output [35:0] Y);
.D(18'b0),
.P(P_48),
- .OPMODE(8'b0000010)
+ .OPMODE(8'b0000001)
);
assign Y = P_48;
endmodule