Fix last_cell.D
authorEddie Hung <eddie@fpgeh.com>
Fri, 23 Aug 2019 22:08:49 +0000 (15:08 -0700)
committerEddie Hung <eddie@fpgeh.com>
Fri, 23 Aug 2019 22:08:49 +0000 (15:08 -0700)
passes/pmgen/xilinx_srl.cc

index ef3e61661cf46ef51f806eb274bbf62fe3db4a54..c0c827a2542df16ea7aa978bc7289923316c752b 100644 (file)
@@ -141,8 +141,7 @@ void run_variable(xilinx_srl_pm &pm)
        if (c->type.in(ID($dff), ID($dffe))) {
                auto &Q = last_cell->connections_.at(ID(Q));
                Q = Q[last_slice];
-               auto &D = first_cell->connections_.at(ID(D));
-               D = D[first_slice];
+               last_cell->setPort(ID(D), first_cell->getPort(ID(D))[first_slice]);
        }
 
        if (c->type.in(ID($_DFF_N_), ID($_DFF_P_), ID($_DFFE_NN_), ID($_DFFE_NP_), ID($_DFFE_PN_), ID($_DFFE_PP_), ID($dff), ID($dffe))) {