aboutsummaryrefslogtreecommitdiffstats
path: root/passes
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-09-25 22:58:03 -0700
committerEddie Hung <eddie@fpgeh.com>2019-09-25 22:58:03 -0700
commitf1de93edf5b5c73440d445d8d6fa32251d2bdab1 (patch)
treeaa244105f95faefe8544024340111c791c0c6e52 /passes
parentcd8a640989d0819266d2678304951de2a247405d (diff)
downloadyosys-f1de93edf5b5c73440d445d8d6fa32251d2bdab1.tar.gz
yosys-f1de93edf5b5c73440d445d8d6fa32251d2bdab1.tar.bz2
yosys-f1de93edf5b5c73440d445d8d6fa32251d2bdab1.zip
Do not die if DSP48E1.P has no users (would otherwise get 'clean'-ed)
Diffstat (limited to 'passes')
-rw-r--r--passes/pmgen/xilinx_dsp.pmg6
1 files changed, 5 insertions, 1 deletions
diff --git a/passes/pmgen/xilinx_dsp.pmg b/passes/pmgen/xilinx_dsp.pmg
index 0a345e88d..3d0b1f2c3 100644
--- a/passes/pmgen/xilinx_dsp.pmg
+++ b/passes/pmgen/xilinx_dsp.pmg
@@ -53,6 +53,10 @@ code sigA sigB sigC sigD sigM clock
}
else
sigM = P;
+ // This sigM could have no users if downstream $add
+ // is narrower than $mul result, for example
+ if (sigM.empty())
+ reject;
clock = port(dsp, \CLK, SigBit());
endcode
@@ -261,7 +265,7 @@ endcode
match postAdd
// Ensure that Z mux is not already used
- if port(dsp, \OPMODE).extract(4,3).is_fully_zero()
+ if port(dsp, \OPMODE, SigSpec()).extract(4,3).is_fully_zero()
select postAdd->type.in($add)
select GetSize(port(postAdd, \Y)) <= 48