From 0c288c48382f1b31fbfb1c202867fb444e46136c Mon Sep 17 00:00:00 2001 From: Jack Date: Mon, 12 Oct 2015 16:45:21 -0700 Subject: Added support for no width to mean unknown, and print nothing instead of for unknown width. Also added test to check this --- test/parser/bundle.fir | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 test/parser/bundle.fir (limited to 'test/parser/bundle.fir') diff --git a/test/parser/bundle.fir b/test/parser/bundle.fir new file mode 100644 index 00000000..15fa26d0 --- /dev/null +++ b/test/parser/bundle.fir @@ -0,0 +1,43 @@ +; RUN: firrtl -i %s -o %s.out -X HighFIRRTL && cat %s.out | FileCheck %s +circuit top : + module top : + wire z : { x : UInt, flip y: SInt} + z.x := UInt(1) + z.y := SInt(1) + node x = z.x + node y = z.y + wire a : UInt<3>[10] + a[0] := UInt(1) + a[1] := UInt(1) + a[2] := UInt(1) + a[3] := UInt(1) + a[4] := UInt(1) + a[5] := UInt(1) + a[6] := UInt(1) + a[7] := UInt(1) + a[8] := UInt(1) + a[9] := UInt(1) + node b = a[2] + read accessor c = a[UInt(3)] + +; CHECK: circuit top : +; CHECK: module top : +; CHECK: wire z : { x : UInt, flip y : SInt } +; CHECK: z.x := UInt("h01") +; CHECK: z.y := SInt("h01") +; CHECK: node x = z.x +; CHECK: node y = z.y +; CHECK: wire a : UInt<3>[10] +; CHECK: a[0] := UInt("h01") +; CHECK: a[1] := UInt("h01") +; CHECK: a[2] := UInt("h01") +; CHECK: a[3] := UInt("h01") +; CHECK: a[4] := UInt("h01") +; CHECK: a[5] := UInt("h01") +; CHECK: a[6] := UInt("h01") +; CHECK: a[7] := UInt("h01") +; CHECK: a[8] := UInt("h01") +; CHECK: a[9] := UInt("h01") +; CHECK: node b = a[2] +; CHECK: read accessor c = a[UInt("h03")] + -- cgit v1.2.3 From 9b737de6551e7446dfd92d86cd009b4b2f95c980 Mon Sep 17 00:00:00 2001 From: Jack Date: Wed, 14 Oct 2015 13:53:22 -0700 Subject: Moved Logger to new private object DebugUtils, changed UInt/SInt value printing to match stanza implementation --- test/parser/bundle.fir | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'test/parser/bundle.fir') diff --git a/test/parser/bundle.fir b/test/parser/bundle.fir index 15fa26d0..c9f5e226 100644 --- a/test/parser/bundle.fir +++ b/test/parser/bundle.fir @@ -23,21 +23,21 @@ circuit top : ; CHECK: circuit top : ; CHECK: module top : ; CHECK: wire z : { x : UInt, flip y : SInt } -; CHECK: z.x := UInt("h01") -; CHECK: z.y := SInt("h01") +; CHECK: z.x := UInt("h1") +; CHECK: z.y := SInt("h1") ; CHECK: node x = z.x ; CHECK: node y = z.y ; CHECK: wire a : UInt<3>[10] -; CHECK: a[0] := UInt("h01") -; CHECK: a[1] := UInt("h01") -; CHECK: a[2] := UInt("h01") -; CHECK: a[3] := UInt("h01") -; CHECK: a[4] := UInt("h01") -; CHECK: a[5] := UInt("h01") -; CHECK: a[6] := UInt("h01") -; CHECK: a[7] := UInt("h01") -; CHECK: a[8] := UInt("h01") -; CHECK: a[9] := UInt("h01") +; CHECK: a[0] := UInt("h1") +; CHECK: a[1] := UInt("h1") +; CHECK: a[2] := UInt("h1") +; CHECK: a[3] := UInt("h1") +; CHECK: a[4] := UInt("h1") +; CHECK: a[5] := UInt("h1") +; CHECK: a[6] := UInt("h1") +; CHECK: a[7] := UInt("h1") +; CHECK: a[8] := UInt("h1") +; CHECK: a[9] := UInt("h1") ; CHECK: node b = a[2] -; CHECK: read accessor c = a[UInt("h03")] +; CHECK: read accessor c = a[UInt("h3")] -- cgit v1.2.3 From edd57efbadf493b331e69c8686662500fe859372 Mon Sep 17 00:00:00 2001 From: Jack Date: Wed, 14 Oct 2015 14:04:33 -0700 Subject: Modified getType to return Type rather than Option[Type] which makes more sense for some applications, also fixed up printing to better match stanza implementation --- test/parser/bundle.fir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/parser/bundle.fir') diff --git a/test/parser/bundle.fir b/test/parser/bundle.fir index c9f5e226..c9600d10 100644 --- a/test/parser/bundle.fir +++ b/test/parser/bundle.fir @@ -22,7 +22,7 @@ circuit top : ; CHECK: circuit top : ; CHECK: module top : -; CHECK: wire z : { x : UInt, flip y : SInt } +; CHECK: wire z : { x : UInt, flip y : SInt} ; CHECK: z.x := UInt("h1") ; CHECK: z.y := SInt("h1") ; CHECK: node x = z.x -- cgit v1.2.3