X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fdevices%2Fmockaon%2FMockAONWrapper.scala;h=bfc73b252510a679f7a031bfc8902577a371e62e;hb=4fcf349adb9e66ea7d8cc5394de5d3e0a2340985;hp=aeacd8352b2244067f814c76f709d57b6baa467d;hpb=4cb2f8af17fb390bfd35fbfcadd9c27dba510f24;p=sifive-blocks.git diff --git a/src/main/scala/devices/mockaon/MockAONWrapper.scala b/src/main/scala/devices/mockaon/MockAONWrapper.scala index aeacd83..bfc73b2 100644 --- a/src/main/scala/devices/mockaon/MockAONWrapper.scala +++ b/src/main/scala/devices/mockaon/MockAONWrapper.scala @@ -7,7 +7,7 @@ import freechips.rocketchip.diplomacy._ import freechips.rocketchip.tilelink._ import freechips.rocketchip.util._ import sifive.blocks.devices.pinctrl.{EnhancedPin} -import sifive.blocks.util.{DeglitchShiftRegister, ResetCatchAndSync} +import sifive.blocks.util.{DeglitchShiftRegister} /* The wrapper handles the Clock and Reset Generation for The AON block itself, and instantiates real pad controls (aka pull-ups)*/ @@ -30,8 +30,6 @@ class MockAONWrapperBundle extends Bundle { class MockAONWrapper(w: Int, c: MockAONParams)(implicit p: Parameters) extends LazyModule { - val node = TLAsyncInputNode() - val intnode = IntOutputNode() val aon = LazyModule(new TLMockAON(w, c)) // We only need to isolate the signals @@ -45,20 +43,18 @@ class MockAONWrapper(w: Int, c: MockAONParams)(implicit p: Parameters) extends L val isolation = LazyModule(new TLIsolation(fOut = isoOut, fIn = isoIn)) val crossing = LazyModule(new TLAsyncCrossingSink(depth = 1)) - isolation.node := node + val node: TLAsyncInwardNode = isolation.node crossing.node := isolation.node - val crossing_monitor = (aon.node := crossing.node) + aon.node := crossing.node // crossing lives outside in Periphery - intnode := aon.intnode + val intnode: IntOutwardNode = aon.intnode lazy val module = new LazyModuleImp(this) { - val io = new MockAONWrapperBundle { - val in = node.bundleIn - val ip = intnode.bundleOut + val io = IO(new MockAONWrapperBundle { val rtc = Clock(OUTPUT) val ndreset = Bool(INPUT) - } + }) val aon_io = aon.module.io val pins = io.pins @@ -122,11 +118,6 @@ class MockAONWrapper(w: Int, c: MockAONParams)(implicit p: Parameters) extends L crossing.module.clock := lfclk crossing.module.reset := crossing_slave_reset - crossing_monitor.foreach { lm => - lm.module.clock := lfclk - lm.module.reset := crossing_slave_reset - } - // Note that aon.moff.corerst is synchronous // to aon.module.clock, so this is safe. isolation.module.io.iso_out := aon.module.io.moff.corerst