diff options
author | Eddie Hung <eddie@fpgeh.com> | 2019-09-11 14:20:49 -0700 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2019-09-11 14:20:49 -0700 |
commit | 3a49aa6b4a707f558ec378a25d28c3e0d914cfac (patch) | |
tree | c854cf7df40de781ed2c618d9c8a47dc0302e0d2 /passes | |
parent | 817ac7c5e051b2f0947bd9cb9044ac7c3e2f089c (diff) | |
download | yosys-3a49aa6b4a707f558ec378a25d28c3e0d914cfac.tar.gz yosys-3a49aa6b4a707f558ec378a25d28c3e0d914cfac.tar.bz2 yosys-3a49aa6b4a707f558ec378a25d28c3e0d914cfac.zip |
Tidy up
Diffstat (limited to 'passes')
-rw-r--r-- | passes/pmgen/peepopt_dffmux.pmg | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/passes/pmgen/peepopt_dffmux.pmg b/passes/pmgen/peepopt_dffmux.pmg index fbabf90f0..c88a52226 100644 --- a/passes/pmgen/peepopt_dffmux.pmg +++ b/passes/pmgen/peepopt_dffmux.pmg @@ -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) { |