Skip to content

Commit

Permalink
write_aiger: Include $assert and $assume cells in -ywmap output
Browse files Browse the repository at this point in the history
  • Loading branch information
jix committed Feb 21, 2024
1 parent d593435 commit fbfbc6b
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions backends/aiger/aiger.cc
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ struct AigerWriter
int initstate_ff = 0;

dict<SigBit, int> ywmap_clocks;
vector<Cell *> ywmap_asserts;
vector<Cell *> ywmap_assumes;

int mkgate(int a0, int a1)
{
Expand Down Expand Up @@ -269,6 +271,7 @@ struct AigerWriter
unused_bits.erase(A);
unused_bits.erase(EN);
asserts.push_back(make_pair(A, EN));
ywmap_asserts.push_back(cell);
continue;
}

Expand All @@ -279,6 +282,7 @@ struct AigerWriter
unused_bits.erase(A);
unused_bits.erase(EN);
assumes.push_back(make_pair(A, EN));
ywmap_assumes.push_back(cell);
continue;
}

Expand Down Expand Up @@ -852,6 +856,19 @@ struct AigerWriter
for (auto &it : init_lines)
json.value(it.second);
json.end_array();

json.name("asserts");
json.begin_array();
for (Cell *cell : ywmap_asserts)
json.value(witness_path(cell));
json.end_array();

json.name("assumes");
json.begin_array();
for (Cell *cell : ywmap_assumes)
json.value(witness_path(cell));
json.end_array();

json.end_object();
}

Expand Down

0 comments on commit fbfbc6b

Please sign in to comment.