summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3
diff options
context:
space:
mode:
authorJack Koenig2018-06-01 12:16:11 -0700
committerGitHub2018-06-01 12:16:11 -0700
commitd0cdd3b4c3713bb7454868fac7fa9c43bae2332c (patch)
tree1b0ec2359ae56b3f2be006a09eca50a6b430ede4 /chiselFrontend/src/main/scala/chisel3
parent7df245e7c01d28de51d8dc27a35756e7f5eb4331 (diff)
Literals set their ref so they no longer get named (#826)
Fixes #763 Add tests for #763 and #472 This has a few implications * Constructing a literal no longer increments _T_ suffixes * Internally, wrapping a literal Bits in Node(...) will work * Literal Bools work in withReset/withClockAndReset
Diffstat (limited to 'chiselFrontend/src/main/scala/chisel3')
-rw-r--r--chiselFrontend/src/main/scala/chisel3/core/Bits.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/core/Bits.scala b/chiselFrontend/src/main/scala/chisel3/core/Bits.scala
index b3091db3..dd99d822 100644
--- a/chiselFrontend/src/main/scala/chisel3/core/Bits.scala
+++ b/chiselFrontend/src/main/scala/chisel3/core/Bits.scala
@@ -67,6 +67,9 @@ sealed abstract class Bits(width: Width, override val litArg: Option[LitArg])
// Arguments for: self-checking code (can't do arithmetic on bits)
// Arguments against: generates down to a FIRRTL UInt anyways
+ // If this is a literal, setRef so that we don't allocate a name
+ litArg.foreach(setRef)
+
// Only used for in a few cases, hopefully to be removed
private[core] def cloneTypeWidth(width: Width): this.type