aboutsummaryrefslogtreecommitdiffstats
path: root/backends/aiger/xaiger.cc
diff options
context:
space:
mode:
authorEddie Hung <eddieh@ece.ubc.ca>2019-02-16 20:08:59 -0800
committerEddie Hung <eddieh@ece.ubc.ca>2019-02-16 20:08:59 -0800
commitb9a305b85d17ce61880ee057e19e5ceafd7a6c05 (patch)
treee786e0296605f107115382b6d6b6f5106ec587f2 /backends/aiger/xaiger.cc
parentd8c4d4e6c77ebce04c3e0ea43a74d37389fab103 (diff)
downloadyosys-b9a305b85d17ce61880ee057e19e5ceafd7a6c05.tar.gz
yosys-b9a305b85d17ce61880ee057e19e5ceafd7a6c05.tar.bz2
yosys-b9a305b85d17ce61880ee057e19e5ceafd7a6c05.zip
write_aiger -O to write dummy output as __dummy_o__
Diffstat (limited to 'backends/aiger/xaiger.cc')
-rw-r--r--backends/aiger/xaiger.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/backends/aiger/xaiger.cc b/backends/aiger/xaiger.cc
index c0bd9e921..25e03fa5f 100644
--- a/backends/aiger/xaiger.cc
+++ b/backends/aiger/xaiger.cc
@@ -502,7 +502,7 @@ struct XAigerWriter
f << stringf("c\nGenerated by %s\n", yosys_version_str);
}
- void write_map(std::ostream &f, bool verbose_map)
+ void write_map(std::ostream &f, bool verbose_map, bool omode)
{
dict<int, string> input_lines;
dict<int, string> init_lines;
@@ -564,6 +564,9 @@ struct XAigerWriter
output_lines.sort();
for (auto &it : output_lines)
f << it.second;
+ if (omode && output_bits.empty()) {
+ f << "output 0 0 __dummy_o__\n";
+ }
latch_lines.sort();
for (auto &it : latch_lines)
@@ -675,7 +678,7 @@ struct XAigerBackend : public Backend {
mapf.open(map_filename.c_str(), std::ofstream::trunc);
if (mapf.fail())
log_error("Can't open file `%s' for writing: %s\n", map_filename.c_str(), strerror(errno));
- writer.write_map(mapf, verbose_map);
+ writer.write_map(mapf, verbose_map, omode);
}
}
} XAigerBackend;