aboutsummaryrefslogtreecommitdiffstats
path: root/frontends
diff options
context:
space:
mode:
Diffstat (limited to 'frontends')
-rw-r--r--frontends/verific/verificsva.cc5
-rw-r--r--frontends/verilog/preproc.cc11
2 files changed, 15 insertions, 1 deletions
diff --git a/frontends/verific/verificsva.cc b/frontends/verific/verificsva.cc
index 632043b6f..1f5da1b1d 100644
--- a/frontends/verific/verificsva.cc
+++ b/frontends/verific/verificsva.cc
@@ -1759,6 +1759,11 @@ struct VerificSvaImporter
clocking.addDff(NEW_ID, sig_en, sig_en_q, State::S0);
}
+ // accept in disable case
+
+ if (clocking.disable_sig != State::S0)
+ sig_a_q = module->Or(NEW_ID, sig_a_q, clocking.disable_sig);
+
// generate fair/live cell
RTLIL::Cell *c = nullptr;
diff --git a/frontends/verilog/preproc.cc b/frontends/verilog/preproc.cc
index c451c4c20..de707593f 100644
--- a/frontends/verilog/preproc.cc
+++ b/frontends/verilog/preproc.cc
@@ -477,7 +477,16 @@ static bool try_expand_macro(define_map_t &defines, std::string &tok)
std::string name = tok.substr(1);
std::string skipped_spaces = skip_spaces();
tok = next_token(false);
- if (tok == "(" && body->has_args) {
+ if (body->has_args) {
+ if (tok != "(") {
+ if (tok.size() == 1 && iscntrl(tok[0])) {
+ char buf[5];
+ snprintf(buf, sizeof(buf), "\\x%02x", tok[0]);
+ tok = buf;
+ }
+ log_error("Expected to find '(' to begin macro arguments for '%s', but instead found '%s'\n",
+ name.c_str(), tok.c_str());
+ }
std::vector<std::string> args;
bool done = false;
while (!done) {