diff options
| -rw-r--r-- | core/src/main/scala/chisel3/Module.scala | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/core/src/main/scala/chisel3/Module.scala b/core/src/main/scala/chisel3/Module.scala index 27b38d0c..9a1a0ce1 100644 --- a/core/src/main/scala/chisel3/Module.scala +++ b/core/src/main/scala/chisel3/Module.scala @@ -98,9 +98,22 @@ abstract class Module(implicit moduleCompileOptions: CompileOptions) extends Raw final val clock: Clock = IO(Input(Clock())).suggestName("clock") final val reset: Reset = IO(Input(mkReset)).suggestName("reset") - // These are to be phased out - protected var override_clock: Option[Clock] = None - protected var override_reset: Option[Bool] = None + // TODO It's hard to remove these deprecated override methods because they're used by + // Chisel.QueueCompatibility which extends chisel3.Queue which extends chisel3.Module + private var _override_clock: Option[Clock] = None + private var _override_reset: Option[Bool] = None + @deprecated("Use withClock at Module instantiation", "Chisel 3.5") + protected def override_clock: Option[Clock] = _override_clock + @deprecated("Use withClock at Module instantiation", "Chisel 3.5") + protected def override_reset: Option[Bool] = _override_reset + @deprecated("Use withClock at Module instantiation", "Chisel 3.5") + protected def override_clock_=(rhs: Option[Clock]): Unit = { + _override_clock = rhs + } + @deprecated("Use withClock at Module instantiation", "Chisel 3.5") + protected def override_reset_=(rhs: Option[Bool]): Unit = { + _override_reset = rhs + } private[chisel3] def mkReset: Reset = { // Top module and compatibility mode use Bool for reset @@ -117,8 +130,8 @@ abstract class Module(implicit moduleCompileOptions: CompileOptions) extends Raw implicit val sourceInfo = UnlocatableSourceInfo super.initializeInParent(parentCompileOptions) - clock := override_clock.getOrElse(Builder.forcedClock) - reset := override_reset.getOrElse(Builder.forcedReset) + clock := _override_clock.getOrElse(Builder.forcedClock) + reset := _override_reset.getOrElse(Builder.forcedReset) } } |
