summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/internal
diff options
context:
space:
mode:
authorJiuyang Liu2021-08-18 03:44:17 +0800
committerGitHub2021-08-17 19:44:17 +0000
commited894c61474c8bc73761a6c360ef9d14505d853b (patch)
tree34ba107d6c88da9a5a7ef796564cea640dda94eb /core/src/main/scala/chisel3/internal
parentb6929c9ad438db26055707b8ec5c66e4f70a22b8 (diff)
remove DefRegInit, change DefReg API with option definition. (#1944)
* remove DefRegInit, change DefReg API with option defination. * add error message * use Option[RegInitIR]. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Diffstat (limited to 'core/src/main/scala/chisel3/internal')
-rw-r--r--core/src/main/scala/chisel3/internal/firrtl/Converter.scala4
-rw-r--r--core/src/main/scala/chisel3/internal/firrtl/IR.scala4
2 files changed, 4 insertions, 4 deletions
diff --git a/core/src/main/scala/chisel3/internal/firrtl/Converter.scala b/core/src/main/scala/chisel3/internal/firrtl/Converter.scala
index 8efb2abc..e8fb197c 100644
--- a/core/src/main/scala/chisel3/internal/firrtl/Converter.scala
+++ b/core/src/main/scala/chisel3/internal/firrtl/Converter.scala
@@ -117,10 +117,10 @@ private[chisel3] object Converter {
Some(fir.DefNode(convert(e.sourceInfo), e.name, expr))
case e @ DefWire(info, id) =>
Some(fir.DefWire(convert(info), e.name, extractType(id, info)))
- case e @ DefReg(info, id, clock) =>
+ case e @ DefReg(info, id, clock, None) =>
Some(fir.DefRegister(convert(info), e.name, extractType(id, info), convert(clock, ctx, info),
firrtl.Utils.zero, convert(getRef(id, info), ctx, info)))
- case e @ DefRegInit(info, id, clock, reset, init) =>
+ case e @ DefReg(info, id, clock, Some(RegInitIR(reset, init))) =>
Some(fir.DefRegister(convert(info), e.name, extractType(id, info), convert(clock, ctx, info),
convert(reset, ctx, info), convert(init, ctx, info)))
case e @ DefMemory(info, id, t, size) =>
diff --git a/core/src/main/scala/chisel3/internal/firrtl/IR.scala b/core/src/main/scala/chisel3/internal/firrtl/IR.scala
index f8a3cf7f..a45ae3c2 100644
--- a/core/src/main/scala/chisel3/internal/firrtl/IR.scala
+++ b/core/src/main/scala/chisel3/internal/firrtl/IR.scala
@@ -758,8 +758,8 @@ abstract class Definition extends Command {
case class DefPrim[T <: Data](sourceInfo: SourceInfo, id: T, op: PrimOp, args: Arg*) extends Definition
case class DefInvalid(sourceInfo: SourceInfo, arg: Arg) extends Command
case class DefWire(sourceInfo: SourceInfo, id: Data) extends Definition
-case class DefReg(sourceInfo: SourceInfo, id: Data, clock: Arg) extends Definition
-case class DefRegInit(sourceInfo: SourceInfo, id: Data, clock: Arg, reset: Arg, init: Arg) extends Definition
+case class RegInitIR(reset: Arg, init: Arg)
+case class DefReg(sourceInfo: SourceInfo, id: Data, clock: Arg, regInit: Option[RegInitIR]) extends Definition
case class DefMemory(sourceInfo: SourceInfo, id: HasId, t: Data, size: BigInt) extends Definition
case class DefSeqMemory(sourceInfo: SourceInfo, id: HasId, t: Data, size: BigInt, readUnderWrite: fir.ReadUnderWrite.Value) extends Definition
case class DefMemPort[T <: Data](sourceInfo: SourceInfo, id: T, source: Node, dir: MemPortDirection, index: Arg, clock: Arg) extends Definition