diff --git a/src/main/scala/rocketchip/Utils.scala b/src/main/scala/rocketchip/Utils.scala index ac93ad9d..4b9d3128 100644 --- a/src/main/scala/rocketchip/Utils.scala +++ b/src/main/scala/rocketchip/Utils.scala @@ -15,19 +15,19 @@ import java.nio.{ByteBuffer, ByteOrder} class RangeManager { private var finalized = false - private val l = collection.mutable.HashMap[String, Int]() + private val l = collection.mutable.ListBuffer[(String, Int)]() def add(name: String, element: Int) = { require(!finalized); l += (name -> element) } def rangeMap = { finalized = true - l map { + (l map { var sum = 0 x => { sum += x._2; (x._1 -> (sum-x._2, sum)) } - } + }).toMap } def range(name: String) = rangeMap(name) def print = { - rangeMap map { case (name, (start, end)) => - println(s"${name} on port ${start}-${end-1}") + rangeMap.toSeq.sortBy(_._2).foreach { case (name, (start, end)) => + println(s"${name} on int ${start}-${end-1}") } } def sum = {