diff --git a/python_arborist.py b/python_arborist.py index e4b78fb9b982709aff3a30a00f0e68a4c71d2c8d..b19c227ce6ac0dee2dcbae883a0cfccc83733ec3 100644 --- a/python_arborist.py +++ b/python_arborist.py @@ -208,6 +208,7 @@ class Cirno(Elaboratable): m.submodules.StateMachine = msm self.tapir = msm.tapir + self.finalized = msm.parse_complete_out with m.If(resetted == 0): m.d.sync += resetted.eq(1) @@ -261,14 +262,22 @@ if __name__ == '__main__': trace = [] def process(): - for _ in range(128): - yield - array = [] - for idx in range(36): - #print(idx) - x = yield nine.tapir[idx] - array.append(x) - trace.append(array) + while True: + z = yield nine.finalized + print(z) + if(z==0): + yield + z = yield nine.finalized + print(z) + + array = [] + for idx in range(36): + #print(idx) + x = yield nine.tapir[idx] + array.append(x) + trace.append(array) + else: + break init_data = [OPENPAREN, OPENPAREN, 0XE102, CLOSEPAREN, ADDOP, 0XE103, CLOSEPAREN, ADDOP, 0XE101, ENDOFPARSE]