From fa23fcb7ab8a64351de756e1da565b04d60d343e Mon Sep 17 00:00:00 2001 From: Ryan Macdonald Date: Wed, 18 Mar 2020 17:00:08 -0700 Subject: [PATCH] Subsystem: Add HierarchicalLocation --- src/main/scala/subsystem/BaseSubsystem.scala | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/scala/subsystem/BaseSubsystem.scala b/src/main/scala/subsystem/BaseSubsystem.scala index 408ebf18161..c0e58b0d4a5 100644 --- a/src/main/scala/subsystem/BaseSubsystem.scala +++ b/src/main/scala/subsystem/BaseSubsystem.scala @@ -24,6 +24,11 @@ case object BuildSystemBus extends Field[Parameters => SystemBus](p => new Syste case object SubsystemDriveAsyncClockGroupsKey extends Field[Option[ClockGroupDriverParameters]](Some(ClockGroupDriverParameters(1))) case object AsyncClockGroupsKey extends Field[ClockGroupEphemeralNode](ClockGroupEphemeralNode()(ValName("async_clock_groups"))) +class HierarchicalLocation(override val name: String) extends Location[LazyScope](name) +case object InTile extends HierarchicalLocation("InTile") +case object InSubsystem extends HierarchicalLocation("InSubsystem") +case object InSystem extends HierarchicalLocation("InSystem") + /** BareSubsystem is the root class for creating a subsystem */ abstract class BareSubsystem(implicit p: Parameters) extends LazyModule with BindingScope { lazy val dts = DTS(bindingTree)