Debug: don't need to fully populate flags array
This commit is contained in:
		| @@ -785,7 +785,7 @@ class TLDebugModuleInner(device: Device, getNComponents: () => Int)(implicit p: | |||||||
|       val go = Bool() |       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), |     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."); |       "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 |     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"), |       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", ""))}), |         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         -> 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"), |       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. |     // Override System Bus accesses with dmactive reset. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user