Fix delays using wrong timeunits when modules inlined (#4806).

This commit is contained in:
Wilson Snyder
2024-01-05 18:07:24 -05:00
parent a36a07c297
commit 5294140753
8 changed files with 135 additions and 13 deletions
+3 -1
View File
@@ -189,7 +189,9 @@ private:
m_clockingp->addNextHere(new AstAlwaysObserved{
flp, new AstSenTree{flp, m_clockingp->sensesp()->cloneTree(false)}, forkp});
if (v3Global.opt.timing().isSetTrue()) {
assignp->timingControlp(new AstDelay{flp, skewp->unlinkFrBack(), false});
AstDelay* const delayp = new AstDelay{flp, skewp->unlinkFrBack(), false};
delayp->timeunit(m_modp->timeunit());
assignp->timingControlp(delayp);
} else if (v3Global.opt.timing().isSetFalse()) {
nodep->v3warn(E_NOTIMING,
"Clocking output skew greater than #0 requires --timing");