mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-20 12:53:39 +00:00
abc9: make re-entrant (#2993)
* Add testcase * Cleanup some state at end of abc9 * Re-assign abc9_box_id from scratch * Suppress delete unless prep_bypass did something
This commit is contained in:
parent
65316ec926
commit
96b6410dcb
3 changed files with 29 additions and 9 deletions
|
@ -432,6 +432,8 @@ void prep_bypass(RTLIL::Design *design)
|
|||
}
|
||||
}
|
||||
unmap_module->fixup_ports();
|
||||
|
||||
design->scratchpad_set_bool("abc9_ops.prep_bypass.did_something", true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -942,15 +944,8 @@ void prep_box(RTLIL::Design *design)
|
|||
{
|
||||
TimingInfo timing;
|
||||
|
||||
std::stringstream ss;
|
||||
int abc9_box_id = 1;
|
||||
for (auto module : design->modules()) {
|
||||
auto it = module->attributes.find(ID::abc9_box_id);
|
||||
if (it == module->attributes.end())
|
||||
continue;
|
||||
abc9_box_id = std::max(abc9_box_id, it->second.as_int());
|
||||
}
|
||||
|
||||
std::stringstream ss;
|
||||
dict<IdString,std::vector<IdString>> box_ports;
|
||||
for (auto module : design->modules()) {
|
||||
auto it = module->attributes.find(ID::abc9_box);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue