aboutsummaryrefslogtreecommitdiff
path: root/test/features/NestedSubAccessTester.fir
diff options
context:
space:
mode:
authorAdam Izraelevitz2016-04-08 15:14:57 -0700
committerjackkoenig2016-04-08 17:46:07 -0700
commit4ebc6e2d874b2a936efd262aedb87acb2abcd854 (patch)
tree28d1a47bc8deb4f0f3d6ba706507a0694936e1f9 /test/features/NestedSubAccessTester.fir
parentc69b16e3b7db132273805d3a75ba9b33ec74eafd (diff)
Fixed bug in Remove Accesses where a WSubAccess's index was not checked for accesses.
Fixes #105
Diffstat (limited to 'test/features/NestedSubAccessTester.fir')
-rw-r--r--test/features/NestedSubAccessTester.fir27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/features/NestedSubAccessTester.fir b/test/features/NestedSubAccessTester.fir
new file mode 100644
index 00000000..36465012
--- /dev/null
+++ b/test/features/NestedSubAccessTester.fir
@@ -0,0 +1,27 @@
+circuit NestedSubAccessTester :
+ module NestedSubAccess :
+ input foo : UInt<1>[4]
+ input index : UInt<2>
+ output out : UInt<4>
+
+ wire vec : UInt<4>[2]
+ vec[0] <= UInt(3)
+ vec[1] <= UInt(4)
+
+ out <= vec[foo[index]]
+
+ module NestedSubAccessTester :
+ input clk : Clock
+ input reset : UInt<1>
+
+ inst dut of NestedSubAccess
+
+ dut.foo is invalid
+ dut.index <= UInt(2)
+ dut.foo[2] <= UInt(1)
+
+ when neq(dut.out, UInt(4)) :
+ printf(clk, not(reset), "Assertion failed\nTest Failed!\n")
+ stop(clk, not(reset), 1)
+ else :
+ stop(clk, not(reset), 0)