aboutsummaryrefslogtreecommitdiff
path: root/test/chisel3/MemorySearch.fir
diff options
context:
space:
mode:
authorjackbackrack2015-04-13 18:24:37 -0700
committerjackbackrack2015-04-13 18:24:37 -0700
commite6beb7b3bbb745a7c7fde616bb349df1bdb7b764 (patch)
tree392bc8ed6dc497aaa98329133bd135d729426e3d /test/chisel3/MemorySearch.fir
parentc140b1ffbcf7fb5b2bb05e93388b2c79f2ddf9f9 (diff)
new chisel3 tests
Diffstat (limited to 'test/chisel3/MemorySearch.fir')
-rw-r--r--test/chisel3/MemorySearch.fir43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/chisel3/MemorySearch.fir b/test/chisel3/MemorySearch.fir
new file mode 100644
index 00000000..f7a0fb84
--- /dev/null
+++ b/test/chisel3/MemorySearch.fir
@@ -0,0 +1,43 @@
+circuit MemorySearch :
+ module MemorySearch :
+ input target : UInt(4)
+ output address : UInt(3)
+ input en : UInt(1)
+ output done : UInt(1)
+
+ node T_36 : UInt(3) = UInt(0, 3)
+ reg index : UInt(3)
+ index.init := T_36
+ node T_37 : UInt(1) = UInt(0, 1)
+ node T_38 : UInt(3) = UInt(4, 3)
+ node T_39 : UInt(4) = UInt(15, 4)
+ node T_40 : UInt(4) = UInt(14, 4)
+ node T_41 : UInt(2) = UInt(2, 2)
+ node T_42 : UInt(3) = UInt(5, 3)
+ node T_43 : UInt(4) = UInt(13, 4)
+ wire elts : UInt(1)[7]
+ elts.0 := T_37
+ elts.1 := T_38
+ elts.2 := T_39
+ elts.3 := T_40
+ elts.4 := T_41
+ elts.5 := T_42
+ elts.6 := T_43
+ accessor elt = elts[index]
+ node T_44 : UInt(1) = bit-not(en)
+ node T_45 : UInt(1) = equal(elt, target)
+ node T_46 : UInt(3) = UInt(7, 3)
+ node T_47 : UInt(1) = equal(index, T_46)
+ node T_48 : UInt(1) = bit-or(T_45, T_47)
+ node done : UInt(1) = bit-and(T_44, T_48)
+ when en :
+ node T_49 : UInt(1) = UInt(0, 1)
+ index := T_49
+ else :
+ node T_50 : UInt(1) = bit-not(done)
+ when T_50 :
+ node T_51 : UInt(1) = UInt(1, 1)
+ node T_52 : UInt(3) = add(index, T_51)
+ index := T_52
+ done := done
+ address := index \ No newline at end of file