From cd2bdb2eee5c2164b447022e25c1554afea859f0 Mon Sep 17 00:00:00 2001 From: Sequencer Date: Mon, 6 Apr 2020 22:02:30 +0000 Subject: enable Lit for Record. (#1400) --- src/test/scala/chiselTests/LiteralExtractorSpec.scala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src') diff --git a/src/test/scala/chiselTests/LiteralExtractorSpec.scala b/src/test/scala/chiselTests/LiteralExtractorSpec.scala index 145c1ef2..8735a0ae 100644 --- a/src/test/scala/chiselTests/LiteralExtractorSpec.scala +++ b/src/test/scala/chiselTests/LiteralExtractorSpec.scala @@ -6,6 +6,7 @@ import chisel3._ import chisel3.experimental._ import chisel3.experimental.BundleLiterals._ import chisel3.testers.BasicTester +import scala.collection.immutable.ListMap class LiteralExtractorSpec extends ChiselFlatSpec { "litValue" should "return the literal value" in { @@ -138,4 +139,18 @@ class LiteralExtractorSpec extends ChiselFlatSpec { assert(myBundleLiteral.b.litValue == 1) assert(myBundleLiteral.b.litToBoolean == true) } + + "record literals" should "do the right thing" in { + class MyRecord extends Record{ + override val elements = ListMap( + "a" -> UInt(8.W), + "b" -> Bool() + ) + override def cloneType = (new MyRecord).asInstanceOf[this.type] + } + + val myRecordLiteral = new (MyRecord).Lit(_.elements("a") -> 42.U, _.elements("b") -> true.B) + assert(myRecordLiteral.elements("a").litValue == 42) + assert(myRecordLiteral.elements("b").litValue == 1) + } } -- cgit v1.2.3