aboutsummaryrefslogtreecommitdiff
path: root/src/test/resources/features/CHIRRTLMems.fir
diff options
context:
space:
mode:
authorAdam Izraelevitz2016-05-02 14:59:51 -0700
committerjackkoenig2016-05-12 22:42:06 -0700
commitf07baed2bc46e107250c317f290af48747a98322 (patch)
treea63c5d2477eabccab85dc6780f289fc24cbcad5c /src/test/resources/features/CHIRRTLMems.fir
parent0ee659e85c7fe46c2678a49866ef1eca8f4a2c65 (diff)
Restructured Compiler to use Transforms. Added an InlineInstance pass.
Transforms are new unit of modularity within the compiler.
Diffstat (limited to 'src/test/resources/features/CHIRRTLMems.fir')
-rw-r--r--src/test/resources/features/CHIRRTLMems.fir34
1 files changed, 0 insertions, 34 deletions
diff --git a/src/test/resources/features/CHIRRTLMems.fir b/src/test/resources/features/CHIRRTLMems.fir
deleted file mode 100644
index bd92c872..00000000
--- a/src/test/resources/features/CHIRRTLMems.fir
+++ /dev/null
@@ -1,34 +0,0 @@
-
-circuit ChirrtlMems :
- module ChirrtlMems :
- input clk : Clock
- input reset : UInt<1>
-
- cmem ram : UInt<32>[16]
- node newClock = clk
-
- wire wen : UInt<1>
- wen <= not(reset) ; Don't const prop me!
-
- reg raddr : UInt<4>, clk with : (reset => (reset, UInt(0)))
- raddr <= add(raddr, UInt(1))
- infer mport r = ram[raddr], newClock
-
- when wen :
- node newerClock = clk
- reg waddr : UInt<4>, clk with : (reset => (reset, UInt(0)))
- waddr <= add(waddr, UInt(1))
- infer mport w = ram[waddr], newerClock
- w <= waddr
-
- when eq(waddr, UInt(0)) :
- raddr <= UInt(0)
-
- when not(reset) :
- when gt(waddr, UInt(1)) :
- when neq(r, raddr) :
- printf(clk, UInt(1), "Assertion failed! r =/= raddr\n")
- stop(clk, UInt(1), 1) ; Failure!
- when eq(raddr, UInt(15)) :
- stop(clk, UInt(1), 0) ; Success!
-