diff options
| -rw-r--r-- | src/main/scala/chisel3/util/Enum.scala | 2 | ||||
| -rw-r--r-- | src/test/scala/chiselTests/EnumSpec.scala | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/main/scala/chisel3/util/Enum.scala b/src/main/scala/chisel3/util/Enum.scala index a3e39047..6ed0d422 100644 --- a/src/main/scala/chisel3/util/Enum.scala +++ b/src/main/scala/chisel3/util/Enum.scala @@ -10,7 +10,7 @@ import chisel3._ trait Enum { /** Returns a sequence of Bits subtypes with values from 0 until n. Helper method. */ protected def createValues(n: Int): Seq[UInt] = - (0 until n).map(_.U(log2Ceil(n).W)) + (0 until n).map(_.U((1 max log2Ceil(n)).W)) /** Returns n unique UInt values, use with unpacking to specify an enumeration. * diff --git a/src/test/scala/chiselTests/EnumSpec.scala b/src/test/scala/chiselTests/EnumSpec.scala new file mode 100644 index 00000000..37bbe2ff --- /dev/null +++ b/src/test/scala/chiselTests/EnumSpec.scala @@ -0,0 +1,19 @@ +// See LICENSE for license details. + +package chiselTests + +import chisel3._ +import chisel3.util.Enum +import chisel3.testers.BasicTester + +class EnumSpec extends ChiselFlatSpec { + + "1-entry Enums" should "work" in { + assertTesterPasses(new BasicTester { + val onlyState :: Nil = Enum(1) + val wire = Wire(init = onlyState) + chisel3.assert(wire === onlyState) + stop() + }) + } +} |
