aboutsummaryrefslogtreecommitdiff
path: root/test/chisel3/MemorySearch.fir
diff options
context:
space:
mode:
authorjackbackrack2015-04-20 15:21:30 -0700
committerjackbackrack2015-04-20 15:21:30 -0700
commit6204b6d44aef2f47a8009ad06dfd4e09ce7ce950 (patch)
tree8795de870f20086b0615f7c402c234b79e6a71a0 /test/chisel3/MemorySearch.fir
parent5298af3dffcd0985922a2a8317fa6a67e192a9c0 (diff)
parent7617e33993abf9f6be357e0261755a4736c2e085 (diff)
merge
Diffstat (limited to 'test/chisel3/MemorySearch.fir')
-rw-r--r--test/chisel3/MemorySearch.fir66
1 files changed, 34 insertions, 32 deletions
diff --git a/test/chisel3/MemorySearch.fir b/test/chisel3/MemorySearch.fir
index 78e804d1..a2df4671 100644
--- a/test/chisel3/MemorySearch.fir
+++ b/test/chisel3/MemorySearch.fir
@@ -1,43 +1,45 @@
+; RUN: firrtl -i %s -o %s.flo -x X -p c | tee %s.out | FileCheck %s
+; CHECK: Done!
circuit MemorySearch :
module MemorySearch :
input target : UInt(4)
output address : UInt(3)
input en : UInt(1)
- output done : UInt(1)
+ output odone : UInt(1)
- node T_36 : UInt(3) = UInt(0, 3)
+ node T_35 = 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)
+ index.init := T_35
+ node T_36 = UInt(0, 1)
+ node T_37 = UInt(4, 3)
+ node T_38 = UInt(15, 4)
+ node T_39 = UInt(14, 4)
+ node T_40 = UInt(2, 2)
+ node T_41 = UInt(5, 3)
+ node T_42 = 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
+ elts.0 := T_36
+ elts.1 := T_37
+ elts.2 := T_38
+ elts.3 := T_39
+ elts.4 := T_40
+ elts.5 := T_41
+ elts.6 := T_42
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)
+ node T_43 = bit-not(en)
+ node T_44 = eq(elt, target)
+ node T_45 = UInt(7, 3)
+ node T_46 = eq(index, T_45)
+ node T_47 = bit-or(T_44, T_46)
+ node done = bit-and(T_43, T_47)
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
+ node T_48 = UInt(0, 1)
+ index := T_48
+ else :
+ node T_49 = bit-not(done)
+ when T_49 :
+ node T_50 = UInt(1, 1)
+ node T_51 = add(index, T_50)
+ index := T_51
+ odone := done
address := index