summaryrefslogtreecommitdiff
path: root/src/main/scala/Chisel/Reg.scala
diff options
context:
space:
mode:
authorAndrew Waterman2016-01-28 12:25:17 -0800
committerAndrew Waterman2016-01-28 12:25:17 -0800
commita6cdcecb7920b661de09948609674b89f21b985f (patch)
tree11fb062f11c784287a0c63f933a0e3d9f863b702 /src/main/scala/Chisel/Reg.scala
parentccc88bbd9d462f04fe1dd39327349aeea8de9d3c (diff)
parentf9977fb4e5508032c3e17d201f747e71a32b9311 (diff)
Merge branch 'master' into modrefactor
Diffstat (limited to 'src/main/scala/Chisel/Reg.scala')
-rw-r--r--src/main/scala/Chisel/Reg.scala10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main/scala/Chisel/Reg.scala b/src/main/scala/Chisel/Reg.scala
index f166c84b..e69061c5 100644
--- a/src/main/scala/Chisel/Reg.scala
+++ b/src/main/scala/Chisel/Reg.scala
@@ -45,10 +45,12 @@ object Reg {
// to resolve all use cases. If the type inferencer / implicit resolution
// system improves, this may be changed.
val x = makeType(t, next, init)
- val (resetEn, resetVal) =
- if (init != null) (Node(x._parent.get.reset), init)
- else (ULit(0, Width(1)), x)
- pushCommand(DefRegister(x, Node(x._parent.get.clock), resetEn, resetVal.ref)) // TODO multi-clock
+ val clock = Node(x._parent.get.clock) // TODO multi-clock
+ if (init == null) {
+ pushCommand(DefReg(x, clock))
+ } else {
+ pushCommand(DefRegInit(x, clock, Node(x._parent.get.reset), init.ref))
+ }
if (next != null) {
x := next
}