diff options
author | Anton Blanchard <anton@linux.ibm.com> | 2022-02-23 18:54:28 +1100 |
---|---|---|
committer | Anton Blanchard <anton@ozlabs.org> | 2022-02-23 18:54:28 +1100 |
commit | 89300b2dca56e5d8e82a516376abc89a9e18d9db (patch) | |
tree | 63096b689080d87f5e4a8aef7489e79088980fbb /passes/techmap | |
parent | a41c1df76f724476136e2668405ccae05494ebb8 (diff) | |
download | yosys-89300b2dca56e5d8e82a516376abc89a9e18d9db.tar.gz yosys-89300b2dca56e5d8e82a516376abc89a9e18d9db.tar.bz2 yosys-89300b2dca56e5d8e82a516376abc89a9e18d9db.zip |
abc: Fix {I} and {P} substitution
We were searching for {D} after the first match of {I} or {P}.
Diffstat (limited to 'passes/techmap')
-rw-r--r-- | passes/techmap/abc.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/passes/techmap/abc.cc b/passes/techmap/abc.cc index 80c6282c4..2c91f3a48 100644 --- a/passes/techmap/abc.cc +++ b/passes/techmap/abc.cc @@ -757,10 +757,10 @@ void abc_module(RTLIL::Design *design, RTLIL::Module *current_module, std::strin for (size_t pos = abc_script.find("{D}"); pos != std::string::npos; pos = abc_script.find("{D}", pos)) abc_script = abc_script.substr(0, pos) + delay_target + abc_script.substr(pos+3); - for (size_t pos = abc_script.find("{I}"); pos != std::string::npos; pos = abc_script.find("{D}", pos)) + for (size_t pos = abc_script.find("{I}"); pos != std::string::npos; pos = abc_script.find("{I}", pos)) abc_script = abc_script.substr(0, pos) + sop_inputs + abc_script.substr(pos+3); - for (size_t pos = abc_script.find("{P}"); pos != std::string::npos; pos = abc_script.find("{D}", pos)) + for (size_t pos = abc_script.find("{P}"); pos != std::string::npos; pos = abc_script.find("{P}", pos)) abc_script = abc_script.substr(0, pos) + sop_products + abc_script.substr(pos+3); for (size_t pos = abc_script.find("{S}"); pos != std::string::npos; pos = abc_script.find("{S}", pos)) |