From 5a1f1796d73030a285250d9c0ddc4029a2c69577 Mon Sep 17 00:00:00 2001 From: Geza Lore Date: Fri, 15 Jul 2022 16:16:43 +0100 Subject: [PATCH] Fix t/t_public_{clk,src}.pl after merge of master --- src/V3Sched.cpp | 4 +++- src/V3SchedReplicate.cpp | 4 +++- test_regress/t/t_inst_tree_inl0_pub1.pl | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/V3Sched.cpp b/src/V3Sched.cpp index 5c7b43f15..c5e44719b 100644 --- a/src/V3Sched.cpp +++ b/src/V3Sched.cpp @@ -806,7 +806,9 @@ AstNode* createInputCombLoop(AstNetlist* netlistp, SenExprBuilder& senExprBuilde = V3Order::order(netlistp, {&logic}, trigToSen, "ico", false, false, [=](const AstVarScope* vscp, std::vector& out) { AstVar* const varp = vscp->varp(); - if (varp->isPrimaryInish()) out.push_back(inputChanged); + if (varp->isPrimaryInish() || varp->isSigUserRWPublic()) { + out.push_back(inputChanged); + } if (varp->isWrittenByDpi()) out.push_back(dpiExportTriggered); }); splitCheck(icoFuncp); diff --git a/src/V3SchedReplicate.cpp b/src/V3SchedReplicate.cpp index d047045f8..76c3c564b 100644 --- a/src/V3SchedReplicate.cpp +++ b/src/V3SchedReplicate.cpp @@ -121,7 +121,9 @@ public: : Vertex{graphp} , m_vscp{vscp} { // Top level inputs are - if (varp()->isPrimaryInish() || varp()->isWrittenByDpi()) addDrivingRegions(INPUT); + if (varp()->isPrimaryInish() || varp()->isSigUserRWPublic() || varp()->isWrittenByDpi()) { + addDrivingRegions(INPUT); + } } AstVarScope* vscp() const { return m_vscp; } AstVar* varp() const { return m_vscp->varp(); } diff --git a/test_regress/t/t_inst_tree_inl0_pub1.pl b/test_regress/t/t_inst_tree_inl0_pub1.pl index 3bd8daa93..107b1e56d 100755 --- a/test_regress/t/t_inst_tree_inl0_pub1.pl +++ b/test_regress/t/t_inst_tree_inl0_pub1.pl @@ -42,7 +42,7 @@ if ($Self->{vlt_all}) { # We expect to combine sequent functions across multiple instances of # l2, l3, l4, l5. If this number drops, please confirm this has not broken. file_grep($Self->{stats}, qr/Optimizations, Combined CFuncs\s+(\d+)/i, - ($Self->{vltmt} ? 70 : 52)); + ($Self->{vltmt} ? 85 : 67)); # Everything should use relative references checkRelativeRefs("t", 1);