diff options
| author | Andrew Waterman | 2016-04-05 15:19:42 -0700 |
|---|---|---|
| committer | Andrew Waterman | 2016-04-05 16:09:48 -0700 |
| commit | f9689cab3bbb5cb2cddbb429bc30d630c886034d (patch) | |
| tree | 7f6f6f06327ca346f1d7a5189d0aea0290615d31 /src/main/scala/Chisel/Data.scala | |
| parent | 5d6547ad929730223fbcdeb7bf8fefbf8deba2bb (diff) | |
Make Wire(init = x) behave the same as Wire(t = x) := x
There's a separate debate to be had about whether we want to
default-initialize Wires to invalid. This patch just fixes the
implementation of the previous, unsafe approach, which was usually,
but not always, defaulting to invalid.
Diffstat (limited to 'src/main/scala/Chisel/Data.scala')
| -rw-r--r-- | src/main/scala/Chisel/Data.scala | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/main/scala/Chisel/Data.scala b/src/main/scala/Chisel/Data.scala index fa6e5729..ac3bd9ab 100644 --- a/src/main/scala/Chisel/Data.scala +++ b/src/main/scala/Chisel/Data.scala @@ -123,11 +123,9 @@ object Wire { private def makeWire[T <: Data](t: T, init: T): T = { val x = Reg.makeType(t, null.asInstanceOf[T], init) pushCommand(DefWire(x)) - if (init != null) { + pushCommand(DefInvalid(x.ref)) + if (init != null) x := init - } else { - pushCommand(DefInvalid(x.ref)) - } x } } |
