Fix ffP just like ffPmux
authorEddie Hung <eddie@fpgeh.com>
Fri, 6 Sep 2019 22:51:21 +0000 (15:51 -0700)
committerEddie Hung <eddie@fpgeh.com>
Fri, 6 Sep 2019 22:51:21 +0000 (15:51 -0700)
passes/pmgen/xilinx_dsp.pmg

index 9e4738c88536eb9390a70ea717dc815a37b00415..7be841ff3fe03fc4a1f962389168c4a2d389565e 100644 (file)
@@ -440,10 +440,10 @@ endmatch
 match ffP
        if !ffP_enable
        if param(dsp, \PREG).as_int() == 0
-       // If ffMmux, input net must have exactly three users: ffMmux, ffM and ffP
-       if !ffMmux || nusers(sigP) == 3
-       // Otherwise input net must have exactly two users: dsp and ffP
-       if ffMmux || nusers(sigP) == 2
+       // If ffMmux and no postAdd new-value net must have exactly three users: ffMmux, ffM and ffPmux
+       if !ffMmux || postAdd || nusers(sigP) == 3
+       // Otherwise new-value net must have exactly two users: dsp and ffPmux
+       if (ffMmux && !postAdd) || nusers(sigP) == 2
 
        select ffP->type.in($dff)
        // DSP48E1 does not support clock inversion