aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/proto/ToProto.scala
diff options
context:
space:
mode:
authorJack Koenig2019-04-22 13:46:37 -0700
committerGitHub2019-04-22 13:46:37 -0700
commit99ae1d6649f1731c5dec2098b10733735232b72c (patch)
tree04e7b0f4515fc9f79aa5f0d80aff2bb5805637c9 /src/main/scala/firrtl/proto/ToProto.scala
parentbf66997b1a2438a322cd619ca2b6aeb0f0ac0ba0 (diff)
Change Memory Depth to a BigInt (#1075)
Diffstat (limited to 'src/main/scala/firrtl/proto/ToProto.scala')
-rw-r--r--src/main/scala/firrtl/proto/ToProto.scala10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main/scala/firrtl/proto/ToProto.scala b/src/main/scala/firrtl/proto/ToProto.scala
index b0b59e06..8681e8f2 100644
--- a/src/main/scala/firrtl/proto/ToProto.scala
+++ b/src/main/scala/firrtl/proto/ToProto.scala
@@ -190,6 +190,11 @@ object ToProto {
}
}
+ def convert(tpe: ir.Type, depth: BigInt): Firrtl.Statement.CMemory.TypeAndDepth.Builder =
+ Firrtl.Statement.CMemory.TypeAndDepth.newBuilder()
+ .setDataType(convert(tpe))
+ .setDepth(convertToBigInt(depth))
+
def convert(stmt: ir.Statement): Seq[Firrtl.Statement.Builder] = {
stmt match {
case ir.Block(stmts) => stmts.flatMap(convert(_))
@@ -259,7 +264,7 @@ object ToProto {
val mem = Firrtl.Statement.Memory.newBuilder()
.setId(name)
.setType(convert(dtype))
- .setDepth(depth)
+ .setBigintDepth(convertToBigInt(depth))
.setWriteLatency(wlat)
.setReadLatency(rlat)
mem.addAllReaderId(rs.asJava)
@@ -267,10 +272,9 @@ object ToProto {
mem.addAllReadwriterId(rws.asJava)
sb.setMemory(mem)
case CDefMemory(_, name, tpe, size, seq) =>
- val tpeb = convert(ir.VectorType(tpe, size))
val mb = Firrtl.Statement.CMemory.newBuilder()
.setId(name)
- .setType(tpeb)
+ .setTypeAndDepth(convert(tpe, size))
.setSyncRead(seq)
sb.setCmemory(mb)
case CDefMPort(_, name, _, mem, exprs, dir) =>