Tidy up
authorEddie Hung <eddie@fpgeh.com>
Wed, 11 Sep 2019 21:20:49 +0000 (14:20 -0700)
committerEddie Hung <eddie@fpgeh.com>
Wed, 11 Sep 2019 21:20:49 +0000 (14:20 -0700)
passes/pmgen/peepopt_dffmux.pmg

index fbabf90f0cb8813801402189e9dbfbdfcd3124eb..c88a5222636a1ce81f1a2fb1886506512c59714b 100644 (file)
@@ -42,6 +42,12 @@ code
                rst = port(rstmux, rstmuxBA).as_const();
        int width = GetSize(D);
 
+       SigSpec &ceA = cemux->connections_.at(\A);
+       SigSpec &ceB = cemux->connections_.at(\B);
+       SigSpec &ceY = cemux->connections_.at(\Y);
+       SigSpec &dffD = dff->connections_.at(\D);
+       SigSpec &dffQ = dff->connections_.at(\Q);
+
        if (D[width-1] == D[width-2]) {
                did_something = true;
 
@@ -61,12 +67,12 @@ code
                        }
                }
 
-               cemux->connections_.at(\A).remove(i, width-i);
-               cemux->connections_.at(\B).remove(i, width-i);
-               cemux->connections_.at(\Y).remove(i, width-i);
+               ceA.remove(i, width-i);
+               ceB.remove(i, width-i);
+               ceY.remove(i, width-i);
                cemux->fixup_parameters();
-               dff->connections_.at(\D).remove(i, width-i);
-               dff->connections_.at(\Q).remove(i, width-i);
+               dffD.remove(i, width-i);
+               dffQ.remove(i, width-i);
                dff->fixup_parameters();
 
                log("dffcemux pattern in %s: dff=%s, cemux=%s; removed top %d bits.\n", log_id(module), log_id(dff), log_id(cemux), width-i);
@@ -88,11 +94,11 @@ code
                        if (init == State::Sx || init == D[i].data) {
                                count++;
                                module->connect(Q[i], D[i]);
-                               cemux->connections_.at(\A).remove(i);
-                               cemux->connections_.at(\B).remove(i);
-                               cemux->connections_.at(\Y).remove(i);
-                               dff->connections_.at(\D).remove(i);
-                               dff->connections_.at(\Q).remove(i);
+                               ceA.remove(i);
+                               ceB.remove(i);
+                               ceY.remove(i);
+                               dffD.remove(i);
+                               dffQ.remove(i);
                        }
                }
                if (count > 0) {