Support NBAs in initial blocks with delay/event controls (#7566) (#7600)

Fixes #7566.
This commit is contained in:
Muzaffer Kal
2026-05-17 07:34:29 -04:00
committed by GitHub
parent c1ab369da2
commit 9fe058677b
5 changed files with 64 additions and 2 deletions
+7 -1
View File
@@ -509,7 +509,13 @@ class ActiveVisitor final : public VNVisitor {
void visit(AstInitialStatic* nodep) override { moveUnderSpecial<AstSenItem::Static>(nodep); }
void visit(AstInitial* nodep) override {
const ActiveDlyVisitor dlyvisitor{nodep, ActiveDlyVisitor::CT_INITIAL};
const bool timedInitial
= v3Global.opt.timing().isSetTrue()
&& nodep->exists([](const AstNode* const subp) {
return VN_IS(subp, Delay) || VN_IS(subp, EventControl);
});
const ActiveDlyVisitor dlyvisitor{nodep, timedInitial ? ActiveDlyVisitor::CT_SUSPENDABLE
: ActiveDlyVisitor::CT_INITIAL};
visitSenItems(nodep);
moveUnderSpecial<AstSenItem::Initial>(nodep);
}