From 927244bf2e724c01b42a59dc297942ba12bdaa39 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Sat, 5 Sep 2020 11:16:55 -0700 Subject: [PATCH 1/2] DTM only supports HTIF in DMI mode --- generators/chipyard/src/main/scala/Subsystem.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/chipyard/src/main/scala/Subsystem.scala b/generators/chipyard/src/main/scala/Subsystem.scala index 7f089ce1..92753db5 100644 --- a/generators/chipyard/src/main/scala/Subsystem.scala +++ b/generators/chipyard/src/main/scala/Subsystem.scala @@ -31,7 +31,7 @@ trait CanHaveHTIF { this: BaseSubsystem => // Advertise HTIF if system can communicate with fesvr if (this match { case _: CanHavePeripherySerial if p(SerialKey) => true - case _: HasPeripheryDebug if p(ExportDebug).protocols.nonEmpty => true + case _: HasPeripheryDebug if p(ExportDebug).dmi => true case _ => false }) { ResourceBinding { From 10625a3a6cc72a304a8608134b9d4876b9386e6a Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Mon, 14 Sep 2020 13:27:31 -0700 Subject: [PATCH 2/2] Undo regression in iocells flexibility --- .../src/main/scala/BridgeBinders.scala | 18 ++++++++++++++---- tools/barstools | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/generators/firechip/src/main/scala/BridgeBinders.scala b/generators/firechip/src/main/scala/BridgeBinders.scala index f42a1adf..8a4d0a69 100644 --- a/generators/firechip/src/main/scala/BridgeBinders.scala +++ b/generators/firechip/src/main/scala/BridgeBinders.scala @@ -39,10 +39,20 @@ trait Unsupported { require(false, "We do not support this IOCell type") } -class FireSimAnalogIOCell extends RawModule with AnalogIOCell with Unsupported -class FireSimDigitalGPIOCell extends RawModule with DigitalGPIOCell with Unsupported -class FireSimDigitalInIOCell extends RawModule with DigitalInIOCell { io.i := io.pad } -class FireSimDigitalOutIOCell extends RawModule with DigitalOutIOCell { io.pad := io.o } +class FireSimAnalogIOCell extends RawModule with AnalogIOCell with Unsupported { + val io = IO(new AnalogIOCellBundle) +} +class FireSimDigitalGPIOCell extends RawModule with DigitalGPIOCell with Unsupported { + val io = IO(new DigitalGPIOCellBundle) +} +class FireSimDigitalInIOCell extends RawModule with DigitalInIOCell { + val io = IO(new DigitalInIOCellBundle) + io.i := io.pad +} +class FireSimDigitalOutIOCell extends RawModule with DigitalOutIOCell { + val io = IO(new DigitalOutIOCellBundle) + io.pad := io.o +} case class FireSimIOCellParams() extends IOCellTypeParams { def analog() = Module(new FireSimAnalogIOCell) diff --git a/tools/barstools b/tools/barstools index ba681676..31590a79 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit ba681676f338af158023c99b4c802009aa0b601b +Subproject commit 31590a7948db47fd16beed266c4833579acc305b