aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/memlib
diff options
context:
space:
mode:
authorJack Koenig2020-07-30 11:22:54 -0700
committerGitHub2020-07-30 11:22:54 -0700
commit564312c3a813498b3ba5b88c6984b9cbeb94dd12 (patch)
tree1b17cd99034a3b8e94fb90ae7c904ea7d0bb1783 /src/main/scala/firrtl/passes/memlib
parentc02c9b7f33d67d8a65040c028395e881668294f6 (diff)
parentda3a87ed6a8a11da4eedd3cc35af81c18c24957d (diff)
Merge pull request #1796 from ekiwi-sifive/scala-2.13-support
Scala 2.13 support
Diffstat (limited to 'src/main/scala/firrtl/passes/memlib')
-rw-r--r--src/main/scala/firrtl/passes/memlib/InferReadWrite.scala2
-rw-r--r--src/main/scala/firrtl/passes/memlib/MemConf.scala16
-rw-r--r--src/main/scala/firrtl/passes/memlib/MemIR.scala4
-rw-r--r--src/main/scala/firrtl/passes/memlib/ResolveMemoryReference.scala2
4 files changed, 12 insertions, 12 deletions
diff --git a/src/main/scala/firrtl/passes/memlib/InferReadWrite.scala b/src/main/scala/firrtl/passes/memlib/InferReadWrite.scala
index 03c295ed..4847a698 100644
--- a/src/main/scala/firrtl/passes/memlib/InferReadWrite.scala
+++ b/src/main/scala/firrtl/passes/memlib/InferReadWrite.scala
@@ -135,7 +135,7 @@ object InferReadWritePass extends Pass {
(m map inferReadWriteStmt(connects, repl, stmts)
map replaceStmt(repl)) match {
case m: ExtModule => m
- case m: Module => m copy (body = Block(m.body +: stmts))
+ case m: Module => m copy (body = Block(m.body +: stmts.toSeq))
}
}
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)
}
}
diff --git a/src/main/scala/firrtl/passes/memlib/MemIR.scala b/src/main/scala/firrtl/passes/memlib/MemIR.scala
index afba7535..2781f1e2 100644
--- a/src/main/scala/firrtl/passes/memlib/MemIR.scala
+++ b/src/main/scala/firrtl/passes/memlib/MemIR.scala
@@ -48,8 +48,8 @@ case class DefAnnotatedMemory(
writeLatency, readLatency, readers, writers,
readwriters, readUnderWrite)
def mapInfo(f: Info => Info): Statement = this.copy(info = f(info))
- def foreachStmt(f: Statement => Unit): Unit = Unit
- def foreachExpr(f: Expression => Unit): Unit = Unit
+ def foreachStmt(f: Statement => Unit): Unit = ()
+ def foreachExpr(f: Expression => Unit): Unit = ()
def foreachType(f: Type => Unit): Unit = f(dataType)
def foreachString(f: String => Unit): Unit = f(name)
def foreachInfo(f: Info => Unit): Unit = f(info)
diff --git a/src/main/scala/firrtl/passes/memlib/ResolveMemoryReference.scala b/src/main/scala/firrtl/passes/memlib/ResolveMemoryReference.scala
index 29200631..b5ff10c6 100644
--- a/src/main/scala/firrtl/passes/memlib/ResolveMemoryReference.scala
+++ b/src/main/scala/firrtl/passes/memlib/ResolveMemoryReference.scala
@@ -72,7 +72,7 @@ class ResolveMemoryReference extends Transform with DependencyAPIMigration {
val noDedups = state.annotations.collect {
case NoDedupMemAnnotation(ComponentName(cn, ModuleName(mn, _))) => mn -> cn
}
- val noDedupMap: Map[String, Set[String]] = noDedups.groupBy(_._1).mapValues(_.map(_._2).toSet)
+ val noDedupMap: Map[String, Set[String]] = noDedups.groupBy(_._1).mapValues(_.map(_._2).toSet).toMap
state.copy(circuit = run(state.circuit, noDedupMap))
}
}