diff options
| author | jackbackrack | 2015-04-20 15:21:30 -0700 |
|---|---|---|
| committer | jackbackrack | 2015-04-20 15:21:30 -0700 |
| commit | 6204b6d44aef2f47a8009ad06dfd4e09ce7ce950 (patch) | |
| tree | 8795de870f20086b0615f7c402c234b79e6a71a0 /test/chisel3/MemorySearch.fir | |
| parent | 5298af3dffcd0985922a2a8317fa6a67e192a9c0 (diff) | |
| parent | 7617e33993abf9f6be357e0261755a4736c2e085 (diff) | |
merge
Diffstat (limited to 'test/chisel3/MemorySearch.fir')
| -rw-r--r-- | test/chisel3/MemorySearch.fir | 66 |
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 |
