aboutsummaryrefslogtreecommitdiffstats
path: root/frontends
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-04-22 17:41:21 -0700
committerEddie Hung <eddie@fpgeh.com>2019-04-22 17:41:21 -0700
commit8f30019b68c68258979137a9d9fbbe68794781c5 (patch)
treef1c158b66d1f48110979586264bdb8c211062d02 /frontends
parenteaf3c247729365cec776e147f380ce59f7dccd4d (diff)
downloadyosys-8f30019b68c68258979137a9d9fbbe68794781c5.tar.gz
yosys-8f30019b68c68258979137a9d9fbbe68794781c5.tar.bz2
yosys-8f30019b68c68258979137a9d9fbbe68794781c5.zip
Revert "Temporarily remove 'r' extension"
This reverts commit eaf3c247729365cec776e147f380ce59f7dccd4d.
Diffstat (limited to 'frontends')
-rw-r--r--frontends/aiger/aigerparse.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/frontends/aiger/aigerparse.cc b/frontends/aiger/aigerparse.cc
index 3fa6f5c2d..4e3f5e7c9 100644
--- a/frontends/aiger/aigerparse.cc
+++ b/frontends/aiger/aigerparse.cc
@@ -360,6 +360,24 @@ void AigerReader::parse_xaiger()
module->addLut(stringf("\\__%d__$lut", rootNodeID), input_sig, output_sig, std::move(lut_mask));
}
}
+ else if (c == 'r') {
+ uint32_t dataSize = parse_xaiger_literal(f);
+ uint32_t flopNum = parse_xaiger_literal(f);
+ f.ignore(flopNum * sizeof(uint32_t));
+ log_assert(inputs.size() >= flopNum);
+ for (auto it = inputs.end() - flopNum; it != inputs.end(); ++it) {
+ log_assert((*it)->port_input);
+ (*it)->port_input = false;
+ }
+ inputs.erase(inputs.end() - flopNum, inputs.end());
+ log_assert(outputs.size() >= flopNum);
+ for (auto it = outputs.end() - flopNum; it != outputs.end(); ++it) {
+ log_assert((*it)->port_output);
+ (*it)->port_output = false;
+ }
+ outputs.erase(outputs.end() - flopNum, outputs.end());
+ module->fixup_ports();
+ }
else if (c == 'n') {
parse_xaiger_literal(f);
f >> s;