aboutsummaryrefslogtreecommitdiffstats
path: root/backends/aiger/xaiger.cc
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-03-06 10:20:30 -0800
committerEddie Hung <eddie@fpgeh.com>2020-03-06 10:20:30 -0800
commit91a7a74ac438ba5b030d90fcfafeb1db03757d91 (patch)
tree91b62605ba778167dff37b4b2cc55ea13b83e29a /backends/aiger/xaiger.cc
parent2335c59e5bdd40c16ced821a27de7df00016963a (diff)
downloadyosys-91a7a74ac438ba5b030d90fcfafeb1db03757d91.tar.gz
yosys-91a7a74ac438ba5b030d90fcfafeb1db03757d91.tar.bz2
yosys-91a7a74ac438ba5b030d90fcfafeb1db03757d91.zip
abc9: (* keep *) wires to be PO only, not PI as well; fix scc handling
Diffstat (limited to 'backends/aiger/xaiger.cc')
-rw-r--r--backends/aiger/xaiger.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/backends/aiger/xaiger.cc b/backends/aiger/xaiger.cc
index 402f41597..7b6b851b3 100644
--- a/backends/aiger/xaiger.cc
+++ b/backends/aiger/xaiger.cc
@@ -174,11 +174,12 @@ struct XAigerWriter
undriven_bits.insert(bit);
unused_bits.insert(bit);
- bool keep = wire->get_bool_attribute(ID::keep);
- if (wire->port_input || keep)
+ bool scc = wire->attributes.count(ID(abc9_scc));
+ if (wire->port_input || scc)
input_bits.insert(bit);
- if (wire->port_output || keep) {
+ bool keep = wire->get_bool_attribute(ID::keep);
+ if (wire->port_output || keep || scc) {
if (bit != wirebit)
alias_map[wirebit] = bit;
output_bits.insert(wirebit);