mirror of
https://github.com/YosysHQ/yosys.git
synced 2026-10-06 01:53:53 +02:00
Clean up after bufnorm.
This commit is contained in:
@@ -1745,6 +1745,23 @@ struct XAigerWriter : AigerWriter {
|
||||
}
|
||||
};
|
||||
|
||||
// $input_port cells only encode buffer-normalized form, but bufNormalize(false)
|
||||
// leaves the cells in the design
|
||||
void remove_input_port_cells(Design *design)
|
||||
{
|
||||
std::vector<Cell *> to_remove;
|
||||
|
||||
for (auto module : design->modules()) {
|
||||
to_remove.clear();
|
||||
for (auto cell : module->cells())
|
||||
if (cell->type == ID($input_port))
|
||||
to_remove.push_back(cell);
|
||||
|
||||
for (auto cell : to_remove)
|
||||
module->remove(cell);
|
||||
}
|
||||
}
|
||||
|
||||
struct Aiger2Backend : Backend {
|
||||
Aiger2Backend() : Backend("aiger2", "(experimental) write design to AIGER file")
|
||||
{
|
||||
@@ -1842,6 +1859,7 @@ struct Aiger2Backend : Backend {
|
||||
// flag must not be kept on past the code that can work
|
||||
// with it)
|
||||
design->bufNormalize(false);
|
||||
remove_input_port_cells(design);
|
||||
}
|
||||
} Aiger2Backend;
|
||||
|
||||
@@ -1923,6 +1941,7 @@ struct XAiger2Backend : Backend {
|
||||
// flag must not be kept on past the code that can work
|
||||
// with it)
|
||||
design->bufNormalize(false);
|
||||
remove_input_port_cells(design);
|
||||
}
|
||||
} XAiger2Backend;
|
||||
|
||||
|
||||
@@ -3,18 +3,6 @@
|
||||
import sys
|
||||
sys.path.append("..")
|
||||
|
||||
import glob
|
||||
|
||||
import gen_tests_makefile
|
||||
|
||||
skip = [
|
||||
"hier_check.ys",
|
||||
]
|
||||
|
||||
def create_tests():
|
||||
for ys in sorted(glob.glob("*.ys")):
|
||||
if ys in skip:
|
||||
continue
|
||||
gen_tests_makefile.generate_ys_test(ys)
|
||||
|
||||
gen_tests_makefile.generate_custom(create_tests)
|
||||
gen_tests_makefile.generate(["--yosys-scripts"])
|
||||
|
||||
@@ -11,6 +11,13 @@ EOT
|
||||
|
||||
hierarchy -top top
|
||||
techmap
|
||||
design -save pre
|
||||
|
||||
abc9 -lut 4
|
||||
select -assert-none t:$input_port
|
||||
check -assert
|
||||
|
||||
design -load pre
|
||||
abc_new -liberty openroad/cm_test_cells.lib
|
||||
select -assert-none t:$input_port
|
||||
check -assert
|
||||
|
||||
Reference in New Issue
Block a user