From aa60c6944b62a4a4e7b3f7e49daf15e61873ca62 Mon Sep 17 00:00:00 2001 From: Yunsup Lee Date: Sun, 6 Aug 2017 13:40:07 -0700 Subject: [PATCH] diplomacy: provide default clock/reset for LazyRawModuleImp --- src/main/scala/diplomacy/LazyModule.scala | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/scala/diplomacy/LazyModule.scala b/src/main/scala/diplomacy/LazyModule.scala index 4823f98f..adaf9734 100644 --- a/src/main/scala/diplomacy/LazyModule.scala +++ b/src/main/scala/diplomacy/LazyModule.scala @@ -3,7 +3,7 @@ package freechips.rocketchip.diplomacy import Chisel._ -import chisel3.experimental.{BaseModule, RawModule, MultiIOModule} +import chisel3.experimental.{BaseModule, RawModule, MultiIOModule, withClockAndReset} import chisel3.internal.sourceinfo.{SourceInfo, SourceLine, UnlocatableSourceInfo} import freechips.rocketchip.config.Parameters @@ -151,13 +151,19 @@ trait LazyModuleImpLike extends BaseModule override def desiredName = wrapper.moduleName suggestName(wrapper.instanceName) - wrapper.instantiate() - implicit val p = wrapper.p } -abstract class LazyModuleImp(val wrapper: LazyModule) extends Module with LazyModuleImpLike +abstract class LazyModuleImp(val wrapper: LazyModule) extends Module with LazyModuleImpLike { + wrapper.instantiate() +} -abstract class LazyMultiIOModuleImp(val wrapper: LazyModule) extends MultiIOModule with LazyModuleImpLike +abstract class LazyMultiIOModuleImp(val wrapper: LazyModule) extends MultiIOModule with LazyModuleImpLike { + wrapper.instantiate() +} -abstract class LazyRawModuleImp(val wrapper: LazyModule) extends RawModule with LazyModuleImpLike +abstract class LazyRawModuleImp(val wrapper: LazyModule) extends RawModule with LazyModuleImpLike { + withClockAndReset(Bool(false).asClock, Bool(true)) { + wrapper.instantiate() + } +}