diff --git a/generators/chipyard/src/main/scala/HarnessBinders.scala b/generators/chipyard/src/main/scala/HarnessBinders.scala index 643b2065ad..9159873d97 100644 --- a/generators/chipyard/src/main/scala/HarnessBinders.scala +++ b/generators/chipyard/src/main/scala/HarnessBinders.scala @@ -242,8 +242,11 @@ class WithSerialAdapterTiedOff extends OverrideHarnessBinder({ (system: CanHavePeripheryTLSerial, th: HasHarnessSignalReferences, ports: Seq[ClockedIO[SerialIO]]) => { implicit val p = chipyard.iobinders.GetSystemParameters(system) ports.map({ port => - val ram = SerialAdapter.connectHarnessRAM(system.serdesser.get, port, th.harnessReset) - SerialAdapter.tieoff(ram.module.io.tsi_ser) + val bits = SerialAdapter.asyncQueue(port, th.harnessClock, th.harnessReset) + withClockAndReset(th.harnessClock, th.harnessReset) { + val ram = SerialAdapter.connectHarnessRAM(system.serdesser.get, bits, th.harnessReset) + SerialAdapter.tieoff(ram.module.io.tsi_ser) + } }) } }) @@ -252,9 +255,12 @@ class WithSimSerial extends OverrideHarnessBinder({ (system: CanHavePeripheryTLSerial, th: HasHarnessSignalReferences, ports: Seq[ClockedIO[SerialIO]]) => { implicit val p = chipyard.iobinders.GetSystemParameters(system) ports.map({ port => - val ram = SerialAdapter.connectHarnessRAM(system.serdesser.get, port, th.harnessReset) - val success = SerialAdapter.connectSimSerial(ram.module.io.tsi_ser, port.clock, th.harnessReset.asBool) - when (success) { th.success := true.B } + val bits = SerialAdapter.asyncQueue(port, th.harnessClock, th.harnessReset) + withClockAndReset(th.harnessClock, th.harnessReset) { + val ram = SerialAdapter.connectHarnessRAM(system.serdesser.get, bits, th.harnessReset) + val success = SerialAdapter.connectSimSerial(ram.module.io.tsi_ser, th.harnessClock, th.harnessReset.asBool) + when (success) { th.success := true.B } + } }) } }) diff --git a/generators/firechip/src/main/scala/BridgeBinders.scala b/generators/firechip/src/main/scala/BridgeBinders.scala index bdbb7d4414..95f0bf3b4e 100644 --- a/generators/firechip/src/main/scala/BridgeBinders.scala +++ b/generators/firechip/src/main/scala/BridgeBinders.scala @@ -70,8 +70,11 @@ class WithSerialBridge extends OverrideHarnessBinder({ (system: CanHavePeripheryTLSerial, th: FireSim, ports: Seq[ClockedIO[SerialIO]]) => { ports.map { port => implicit val p = GetSystemParameters(system) - val ram = SerialAdapter.connectHarnessRAM(system.serdesser.get, port, th.harnessReset) - SerialBridge(port.clock, ram.module.io.tsi_ser, p(ExtMem).map(_ => MainMemoryConsts.globalName)) + val bits = SerialAdapter.asyncQueue(port, th.harnessClock, th.harnessReset) + val ram = withClockAndReset(th.harnessClock, th.harnessReset) { + SerialAdapter.connectHarnessRAM(system.serdesser.get, bits, th.harnessReset) + } + SerialBridge(th.harnessClock, ram.module.io.tsi_ser, p(ExtMem).map(_ => MainMemoryConsts.globalName)) } Nil } diff --git a/generators/testchipip b/generators/testchipip index 282ca2e25e..ca3cc6245c 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 282ca2e25e191e63051afafc8808561f6a54c695 +Subproject commit ca3cc6245c2edd253bcec67283dbfdbda4d5c3dc