From 3c67df3b44425016d435f86eb55f25f2683f8fdc Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 14 Mar 2024 09:51:37 -0700 Subject: [PATCH] Add GPIOPunchthrough harnessbinder --- .../chipyard/src/main/scala/config/AbstractConfig.scala | 1 + .../chipyard/src/main/scala/harness/HarnessBinders.scala | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/generators/chipyard/src/main/scala/config/AbstractConfig.scala b/generators/chipyard/src/main/scala/config/AbstractConfig.scala index 5ad20661..016d8843 100644 --- a/generators/chipyard/src/main/scala/config/AbstractConfig.scala +++ b/generators/chipyard/src/main/scala/config/AbstractConfig.scala @@ -20,6 +20,7 @@ class AbstractConfig extends Config( new chipyard.harness.WithSimTSIOverSerialTL ++ /** add external serial-adapter and RAM */ new chipyard.harness.WithSimJTAGDebug ++ /** add SimJTAG if JTAG for debug exposed */ new chipyard.harness.WithSimDMI ++ /** add SimJTAG if DMI exposed */ + new chipyard.harness.WithGPIOPinsTiedOff ++ /** tie-off chiptop GPIO-pins, if GPIO-punchthrough is used */ new chipyard.harness.WithGPIOTiedOff ++ /** tie-off chiptop GPIOs, if GPIOs are present */ new chipyard.harness.WithSimSPIFlashModel ++ /** add simulated SPI flash memory, if SPI is enabled */ new chipyard.harness.WithSimAXIMMIO ++ /** add SimAXIMem for axi4 mmio port, if enabled */ diff --git a/generators/chipyard/src/main/scala/harness/HarnessBinders.scala b/generators/chipyard/src/main/scala/harness/HarnessBinders.scala index ead97346..f357f357 100644 --- a/generators/chipyard/src/main/scala/harness/HarnessBinders.scala +++ b/generators/chipyard/src/main/scala/harness/HarnessBinders.scala @@ -44,6 +44,14 @@ class HarnessBinder[T <: HasHarnessInstantiators, S <: Port[_]]( class WithGPIOTiedOff extends HarnessBinder({ case (th: HasHarnessInstantiators, port: GPIOPort, chipId: Int) => { port.io <> AnalogConst(0) + + } +}) + +class WithGPIOPinsTiedOff extends HarnessBinder({ + case (th: HasHarnessInstantiators, port: GPIOPinsPort, chipId: Int) => { + port.io := DontCare + } })