aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/satgen.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2016-07-13 16:56:17 +0200
committerClifford Wolf <clifford@clifford.at>2016-07-13 16:56:17 +0200
commit721f1f5ecfb6334904f6058d6d376d21b5efc438 (patch)
tree3573f744b6d7c33f55dd06a152d4ff199cf30b22 /kernel/satgen.h
parentb3155af5f65333d272da339222e1e1962fb088b7 (diff)
downloadyosys-721f1f5ecfb6334904f6058d6d376d21b5efc438.tar.gz
yosys-721f1f5ecfb6334904f6058d6d376d21b5efc438.tar.bz2
yosys-721f1f5ecfb6334904f6058d6d376d21b5efc438.zip
Added basic support for $expect cells
Diffstat (limited to 'kernel/satgen.h')
-rw-r--r--kernel/satgen.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/satgen.h b/kernel/satgen.h
index e118c1569..da892c710 100644
--- a/kernel/satgen.h
+++ b/kernel/satgen.h
@@ -69,6 +69,7 @@ struct SatGen
SigPool initial_state;
std::map<std::string, RTLIL::SigSpec> asserts_a, asserts_en;
std::map<std::string, RTLIL::SigSpec> assumes_a, assumes_en;
+ std::map<std::string, RTLIL::SigSpec> expects_a, expects_en;
std::map<std::string, std::map<RTLIL::SigBit, int>> imported_signals;
bool ignore_div_by_zero;
bool model_undef;
@@ -1346,6 +1347,14 @@ struct SatGen
return true;
}
+ if (cell->type == "$expect")
+ {
+ std::string pf = prefix + (timestep == -1 ? "" : stringf("@%d:", timestep));
+ expects_a[pf].append((*sigmap)(cell->getPort("\\A")));
+ expects_en[pf].append((*sigmap)(cell->getPort("\\EN")));
+ return true;
+ }
+
// Unsupported internal cell types: $pow $lut
// .. and all sequential cells except $dff and $_DFF_[NP]_
return false;