From 4ce48788c5eea5f730c536eb5183c23fb5fb4c9a Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sun, 13 Dec 2020 19:40:05 -0500 Subject: [PATCH] Always use verilated_heavy (#2701). On test suite adds ~7% runtime but will simplify logic and enable some future changes. Most large designs I saw were already using verilated_heavy as were using strings, queues, associative arrays, classes, $readmem, $writemem, or $valueplusargs. --- src/V3Global.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/V3Global.h b/src/V3Global.h index 43500078b..d7d17c760 100644 --- a/src/V3Global.h +++ b/src/V3Global.h @@ -97,7 +97,8 @@ class V3Global final { bool m_assertDTypesResolved = false; // Tree should have dtypep()'s bool m_assertScoped = false; // Tree is scoped bool m_constRemoveXs = false; // Const needs to strip any Xs - bool m_needHeavy = false; // Need verilated_heavy.h include + // Experimenting with always requiring heavy, see (#2701) + bool m_needHeavy = true; // Need verilated_heavy.h include bool m_needTraceDumper = false; // Need __Vm_dumperp in symbols bool m_dpi = false; // Need __Dpi include files bool m_useParallelBuild = false; // Use parallel build for model