mirror of
https://github.com/YosysHQ/yosys
synced 2025-12-18 10:18:35 +00:00
test_cell.cc: Generate .aag for all compatible cells
Skips (with warning) on cells that didn't convert to avoid `write_aiger` from raising an error.
This commit is contained in:
parent
34fa8a4ff7
commit
9ec361beab
1 changed files with 23 additions and 1 deletions
|
|
@ -1143,7 +1143,29 @@ struct TestCellPass : public Pass {
|
||||||
else
|
else
|
||||||
uut = create_gold_module(design, cell_type, cell_types.at(cell_type), constmode, muxdiv);
|
uut = create_gold_module(design, cell_type, cell_types.at(cell_type), constmode, muxdiv);
|
||||||
if (!write_prefix.empty()) {
|
if (!write_prefix.empty()) {
|
||||||
Pass::call(design, stringf("write_rtlil %s_%s_%05d.il", write_prefix, cell_type.c_str()+1, i));
|
string writer = "write_rtlil";
|
||||||
|
string suffix = "il";
|
||||||
|
if (techmap_cmd.compare("aigmap") == 0) {
|
||||||
|
// try to convert to aiger
|
||||||
|
Pass::call(design, techmap_cmd);
|
||||||
|
bool is_unconverted = false;
|
||||||
|
for (auto *mod : design->selected_modules())
|
||||||
|
for (auto *cell : mod->selected_cells())
|
||||||
|
if (!cell->type.in(ID::$_NOT_, ID::$_AND_)) {
|
||||||
|
is_unconverted = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (is_unconverted) {
|
||||||
|
// skip unconverted cells
|
||||||
|
log_warning("Skipping %s\n", cell_type);
|
||||||
|
delete design;
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
writer = "write_aiger -ascii";
|
||||||
|
suffix = "aag";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Pass::call(design, stringf("%s %s_%s_%05d.%s", writer, write_prefix, cell_type.c_str()+1, i, suffix));
|
||||||
} else if (edges) {
|
} else if (edges) {
|
||||||
Pass::call(design, "dump gold");
|
Pass::call(design, "dump gold");
|
||||||
run_edges_test(design, verbose);
|
run_edges_test(design, verbose);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue