summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/Module.scala
diff options
context:
space:
mode:
authormergify[bot]2022-06-08 20:09:45 +0000
committerGitHub2022-06-08 20:09:45 +0000
commita689c7c0dd336fe0b9db6171786993b190a700f8 (patch)
treeb914bcb25c7d1809a79aad804386cb10b2b1fa23 /core/src/main/scala/chisel3/Module.scala
parent9c79051866743ba5b8f922fc309abc1302ba5547 (diff)
Added migration for inferModuleReset (#2571) (#2573)
Co-authored-by: Jack Koenig <koenig@sifive.com> (cherry picked from commit 3c6c044b6bdee850ad9ba375324abaf3813c557d) Co-authored-by: Adam Izraelevitz <adam.izraelevitz@sifive.com>
Diffstat (limited to 'core/src/main/scala/chisel3/Module.scala')
-rw-r--r--core/src/main/scala/chisel3/Module.scala9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/src/main/scala/chisel3/Module.scala b/core/src/main/scala/chisel3/Module.scala
index 3382cd1b..08286ed5 100644
--- a/core/src/main/scala/chisel3/Module.scala
+++ b/core/src/main/scala/chisel3/Module.scala
@@ -141,6 +141,15 @@ abstract class Module(implicit moduleCompileOptions: CompileOptions) extends Raw
// Top module and compatibility mode use Bool for reset
// Note that a Definition elaboration will lack a parent, but still not be a Top module
val inferReset = (_parent.isDefined || Builder.inDefinition) && moduleCompileOptions.inferModuleReset
+ if (moduleCompileOptions.migrateInferModuleReset && !moduleCompileOptions.inferModuleReset) {
+ this match {
+ case _: RequireSyncReset => // Good! It's been migrated.
+ case _ => // Bad! It hasn't been migrated.
+ Builder.error(
+ s"$desiredName is not inferring its module reset, but has not been marked `RequireSyncReset`. Please extend this trait."
+ )
+ }
+ }
if (inferReset) Reset() else Bool()
}