aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/memlib/MemConf.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/firrtl/passes/memlib/MemConf.scala')
-rw-r--r--src/main/scala/firrtl/passes/memlib/MemConf.scala16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/main/scala/firrtl/passes/memlib/MemConf.scala b/src/main/scala/firrtl/passes/memlib/MemConf.scala
index 4d6ba2c6..3809c47c 100644
--- a/src/main/scala/firrtl/passes/memlib/MemConf.scala
+++ b/src/main/scala/firrtl/passes/memlib/MemConf.scala
@@ -22,7 +22,7 @@ object MemPort {
s.split(",").toSeq.map(MemPort.apply).map(_ match {
case Some(x) => x
case _ => throw new Exception(s"Error parsing MemPort string : ${s}")
- }).groupBy(identity).mapValues(_.size)
+ }).groupBy(identity).mapValues(_.size).toMap
}
}
@@ -57,13 +57,13 @@ object MemConf {
}
def apply(name: String, depth: BigInt, width: Int, readPorts: Int, writePorts: Int, readWritePorts: Int, maskGranularity: Option[Int]): MemConf = {
- val ports: Map[MemPort, Int] = (if (maskGranularity.isEmpty) {
- (if (writePorts == 0) Map.empty[MemPort, Int] else Map(WritePort -> writePorts)) ++
- (if (readWritePorts == 0) Map.empty[MemPort, Int] else Map(ReadWritePort -> readWritePorts))
+ val ports: Seq[(MemPort, Int)] = (if (maskGranularity.isEmpty) {
+ (if (writePorts == 0) Seq() else Seq(WritePort -> writePorts)) ++
+ (if (readWritePorts == 0) Seq() else Seq(ReadWritePort -> readWritePorts))
} else {
- (if (writePorts == 0) Map.empty[MemPort, Int] else Map(MaskedWritePort -> writePorts)) ++
- (if (readWritePorts == 0) Map.empty[MemPort, Int] else Map(MaskedReadWritePort -> readWritePorts))
- }) ++ (if (readPorts == 0) Map.empty[MemPort, Int] else Map(ReadPort -> readPorts))
- return new MemConf(name, depth, width, ports, maskGranularity)
+ (if (writePorts == 0) Seq() else Seq(MaskedWritePort -> writePorts)) ++
+ (if (readWritePorts == 0) Seq() else Seq(MaskedReadWritePort -> readWritePorts))
+ }) ++ (if (readPorts == 0) Seq() else Seq(ReadPort -> readPorts))
+ new MemConf(name, depth, width, ports.toMap, maskGranularity)
}
}