diff options
Diffstat (limited to 'test/passes/jacktest/MemorySearch.fir')
| -rw-r--r-- | test/passes/jacktest/MemorySearch.fir | 59 |
1 files changed, 23 insertions, 36 deletions
diff --git a/test/passes/jacktest/MemorySearch.fir b/test/passes/jacktest/MemorySearch.fir index 18d8070d..1953e39b 100644 --- a/test/passes/jacktest/MemorySearch.fir +++ b/test/passes/jacktest/MemorySearch.fir @@ -1,6 +1,5 @@ -; RUN: firrtl -i %s -o %s.flo -X flo -p cd | tee %s.out | FileCheck %s -; CHECK: Done! - +; RUN: firrtl -i %s -o %s.flo -X flo -p c | tee %s.out | FileCheck %s +;CHECK: Done! circuit MemorySearch : module MemorySearch : input target : UInt<4> @@ -8,39 +7,27 @@ circuit MemorySearch : input en : UInt<1> output done : UInt<1> - node T_35 = UInt<3>(0) reg index : UInt<3> - on-reset index := T_35 - node T_36 = UInt<1>(0) - node T_37 = UInt<3>(4) - node T_38 = UInt<4>(15) - node T_39 = UInt<4>(14) - node T_40 = UInt<2>(2) - node T_41 = UInt<3>(5) - node T_42 = UInt<4>(13) - wire elts : UInt<1>[7] - elts[0] := Pad(T_36,?) - elts[1] := Pad(T_37,?) - elts[2] := Pad(T_38,?) - elts[3] := Pad(T_39,?) - elts[4] := Pad(T_40,?) - elts[5] := Pad(T_41,?) - elts[6] := Pad(T_42,?) + on-reset index := UInt<3>(0) + wire elts : UInt<4>[7] + elts[0] := UInt<4>(0) + elts[1] := UInt<4>(4) + elts[2] := UInt<4>(15) + elts[3] := UInt<4>(14) + elts[4] := UInt<4>(2) + elts[5] := UInt<4>(5) + elts[6] := UInt<4>(13) accessor elt = elts[index] - node T_43 = bit-not(en) - node T_44 = eq(Pad(elt,?), Pad(target,?)) - node T_45 = UInt<3>(7) - node T_46 = eq(Pad(index,?), Pad(T_45,?)) - node T_47 = bit-or(T_44, T_46) - node end = bit-and(T_43, T_47) - when en : - node T_48 = UInt<1>(0) - index := Pad(T_48,?) + node T_35 = bit-not(en) + node T_36 = eq(elt, target) + node T_37 = eq(index, UInt<3>(7)) + node T_38 = bit-or(T_36, T_37) + node end = bit-and(T_35, T_38) + when en : index := UInt<1>(0) else : - node T_49 = bit-not(end) - when T_49 : - node T_50 = UInt<1>(1) - node T_51 = add-wrap(Pad(index,?), Pad(T_50,?)) - index := Pad(T_51,?) - done := Pad(end,?) - address := Pad(index,?) + node T_39 = bit-not(end) + when T_39 : + node T_40 = add-wrap(index, UInt<1>(1)) + index := T_40 + done := end + address := index |
