diff options
| author | Jack Koenig | 2020-07-30 11:22:54 -0700 |
|---|---|---|
| committer | GitHub | 2020-07-30 11:22:54 -0700 |
| commit | 564312c3a813498b3ba5b88c6984b9cbeb94dd12 (patch) | |
| tree | 1b17cd99034a3b8e94fb90ae7c904ea7d0bb1783 /src/main/scala/firrtl/passes/memlib | |
| parent | c02c9b7f33d67d8a65040c028395e881668294f6 (diff) | |
| parent | da3a87ed6a8a11da4eedd3cc35af81c18c24957d (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')
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)) } } |
