Add an index
authorEddie Hung <eddie@fpgeh.com>
Fri, 20 Sep 2019 03:04:44 +0000 (20:04 -0700)
committerEddie Hung <eddie@fpgeh.com>
Fri, 20 Sep 2019 03:04:44 +0000 (20:04 -0700)
passes/pmgen/ice40_dsp.pmg
passes/pmgen/xilinx_dsp.pmg

index 73e92031e6ff0e227aa0f5fe9b2f43bac2b566df..35db228072e92b9ffadf1ef2121c2b5110f8e2e1 100644 (file)
@@ -189,6 +189,7 @@ match add
        index <SigBit> port(add, AB)[0] === sigH[0]
        filter GetSize(port(add, AB)) <= GetSize(sigH)
        filter port(add, AB) ==  sigH.extract(0, GetSize(port(add, AB)))
+       filter nusers(sigH.extract_end(GetSize(port(add, AB)))) <= 1
        set addAB AB
        optional
 endmatch
index f0537670fff003d8d9a13d68b6b30fbdb91acefc..20565f47d327a6f64fe7965bd188a8073b773dbf 100644 (file)
@@ -268,6 +268,8 @@ match postAdd
        select nusers(port(postAdd, AB)) <= 3
        filter ffMcemux || nusers(port(postAdd, AB)) == 2
        filter !ffMcemux || nusers(port(postAdd, AB)) == 3
+
+       index <SigBit> port(postAdd, AB)[0] === sigP[0]
        filter GetSize(unextend(port(postAdd, AB))) <= GetSize(sigP)
        filter unextend(port(postAdd, AB)) == sigP.extract(0, GetSize(unextend(port(postAdd, AB))))
        filter nusers(sigP.extract_end(GetSize(unextend(port(postAdd, AB))))) <= 1