From 197699b93add3c3ab3fb6c9ac15ce321703d91cb Mon Sep 17 00:00:00 2001 From: Megan Wachs Date: Thu, 15 Feb 2018 13:23:51 -0800 Subject: [PATCH] Debug: don't need to fully populate flags array --- src/main/scala/devices/debug/Debug.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/scala/devices/debug/Debug.scala b/src/main/scala/devices/debug/Debug.scala index 5e0c3fc6..bf2211c7 100644 --- a/src/main/scala/devices/debug/Debug.scala +++ b/src/main/scala/devices/debug/Debug.scala @@ -785,7 +785,7 @@ class TLDebugModuleInner(device: Device, getNComponents: () => Int)(implicit p: val go = Bool() } - val flags = Wire(init = Vec.fill(1024){new flagBundle().fromBits(0.U)}) + val flags = Wire(init = Vec.fill(nComponents){new flagBundle().fromBits(0.U)}) assert ((cfg.hartSelToHartId(selectedHartReg) < 1024.U), "HartSel to HartId Mapping is illegal for this Debug Implementation, because HartID must be < 1024 for it to work."); flags(cfg.hartSelToHartId(selectedHartReg)).go := goReg @@ -904,9 +904,10 @@ class TLDebugModuleInner(device: Device, getNComponents: () => Int)(implicit p: ABSTRACT(cfg) -> RegFieldGroup("debug_abstract", Some("Instructions generated by Debug Module"), abstractGeneratedMem.zipWithIndex.map{ case (x,i) => RegField.r(32, x, RegFieldDesc(s"debug_abstract_$i", ""))}), FLAGS -> RegFieldGroup("debug_flags", Some("Memory region used to control hart going/resuming in Debug Mode"), - flags.zipWithIndex.map{case(x, i) => RegField.r(8, x.asUInt(), RegFieldDesc(s"debug_flags_$i", ""))}), + flags.zipWithIndex.map{case(x, i) => RegField.r(8, x.asUInt(), RegFieldDesc(s"debug_flags_${i/4}_${i%4}", ""))}), ROMBASE -> RegFieldGroup("debug_rom", Some("Debug ROM"), - DebugRomContents().zipWithIndex.map{case (x, i) => RegField.r(8, (x & 0xFF).U(8.W), RegFieldDesc(s"debug_rom_$i", "", reset=Some(x)))}) + DebugRomContents().zipWithIndex.map{case (x, i) => RegField.r(8, (x & 0xFF).U(8.W), + RegFieldDesc(s"debug_rom_$i", "", reset=Some(x)))}) ) // Override System Bus accesses with dmactive reset.