-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simulation traces are not understandable for human being #23 #33
Conversation
to
|
Honestly, I don't get the point why we need to print those traces in such a fine-grained way. It exhibits too many details for users to identify which are useful. Maybe we should start with discussing the purpose of printing traces and then decide how we print it?
|
…RTL.py, Line 63, Col 28: s.send_out[0].msg @= DataType(s.recv_in[s.in0_idx].msg.payload, b1( 0 ), b1( 0 ) ) - BitStruct CGRAData_32_1_1_1 has 4 fields but 3 arguments are given!
You wanna create a new PR for this issue? |
Will re-raise PR as I forked from tancheng/VectorCGRA now, as there's always a merge information in git log from coredac repo after it sync from tancheng. |
Better?
5: [tile0]: class: TileRTL, recv: [{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}] => [recv_opt_msg: {'ctrl': Bits6(0x03), 'predicate': Bits1(0x0), 'fu_in': [Bits3(0x1), Bits3(0x2), Bits3(0x3), Bits3(0x4)], 'outport': [Bits4(0x4), Bits4(0x3), Bits4(0x2), Bits4(0x1), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x5), Bits4(0x5), Bits4(0x5), Bits4(0x5)], 'predicate_in': [Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0)]}] (class: FlexibleFuRTL, [recv: [{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)},{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)},{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)},{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}]] opt: # (P0) (const: {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, en: 0) ] = [out: [{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)},{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}]] (recv_opt.rdy: 0, recv_in[0].rdy: 0, recv_in[1].rdy: 0, recv_predicate.msg: {'payload': Bits1(0x0), 'predicate': Bits1(0x0)}, (++), recv_opt.en: 0, send[0].en: 0) ) => channel_recv: [{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}] => channel_send: [{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}] => out: [{send_msg_payload: 0000000000000000, send_msg_predicate: 0}, {send_msg_payload: 0000000000000000, send_msg_predicate: 0}, {send_msg_payload: 0000000000000000, send_msg_predicate: 0}, {send_msg_payload: 0000000000000000, send_msg_predicate: 0}, {send_msg_payload: 0000000000000000, send_msg_predicate: 0}, {send_msg_payload: 0000000000000000, send_msg_predicate: 0}, {send_msg_payload: 0000000000000000, send_msg_predicate: 0}, {send_msg_payload: 0000000000000000, send_msg_predicate: 0}]class: CtrlMemRTL, recv_ctrl_msg: {'ctrl': Bits6(0x02), 'predicate': Bits1(0x0), 'fu_in': [Bits3(0x1), Bits3(0x2), Bits3(0x3), Bits3(0x4)], 'outport': [Bits4(0x4), Bits4(0x3), Bits4(0x2), Bits4(0x1), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x5), Bits4(0x5), Bits4(0x5), Bits4(0x5)], 'predicate_in': [Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0)]} : out: [{'ctrl': Bits6(0x03), 'predicate': Bits1(0x0), 'fu_in': [Bits3(0x1), Bits3(0x2), Bits3(0x3), Bits3(0x4)], 'outport': [Bits4(0x4), Bits4(0x3), Bits4(0x2), Bits4(0x1), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x5), Bits4(0x5), Bits4(0x5), Bits4(0x5)], 'predicate_in': [Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0)]}, {'ctrl': Bits6(0x03), 'predicate': Bits1(0x0), 'fu_in': [Bits3(0x1), Bits3(0x2), Bits3(0x3), Bits3(0x4)], 'outport': [Bits4(0x4), Bits4(0x3), Bits4(0x2), Bits4(0x1), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x5), Bits4(0x5), Bits4(0x5), Bits4(0x5)], 'predicate_in': [Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0)]}, {'ctrl': Bits6(0x00), 'predicate': Bits1(0x0), 'fu_in': [Bits3(0x0), Bits3(0x0), Bits3(0x0), Bits3(0x0)], 'outport': [Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0)], 'predicate_in': [Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0)]}, {'ctrl': Bits6(0x00), 'predicate': Bits1(0x0), 'fu_in': [Bits3(0x0), Bits3(0x0), Bits3(0x0), Bits3(0x0)], 'outport': [Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0)], 'predicate_in': [Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0)]}, {'ctrl': Bits6(0x00), 'predicate': Bits1(0x0), 'fu_in': [Bits3(0x0), Bits3(0x0), Bits3(0x0), Bits3(0x0)], 'outport': [Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0)], 'predicate_in': [Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0)]}, {'ctrl': Bits6(0x00), 'predicate': Bits1(0x0), 'fu_in': [Bits3(0x0), Bits3(0x0), Bits3(0x0), Bits3(0x0)], 'outport': [Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0)], 'predicate_in': [Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0)]}] : send_ctrl_msg: {'ctrl': Bits6(0x03), 'predicate': Bits1(0x0), 'fu_in': [Bits3(0x1), Bits3(0x2), Bits3(0x3), Bits3(0x4)], 'outport': [Bits4(0x4), Bits4(0x3), Bits4(0x2), Bits4(0x1), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x0), Bits4(0x5), Bits4(0x5), Bits4(0x5), Bits4(0x5)], 'predicate_in': [Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0), Bits1(0x0)]}||
...
data_mem:: [class: DataMemRTL, recv_read_addr: [0, 0, 0, 0] || recv_write_addr: [0, 0, 0, 0] || recv_write_data: [{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}] || [content: [{'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}, {'payload': Bits64(0x0000000000000000), 'predicate': Bits1(0x0), 'bypass': Bits1(0x0), 'delay': Bits1(0x0)}]] || send_read_data: [0000000000000000.0.0.0, 0000000000000000.0.0.0, 0000000000000000.0.0.0, 0000000000000000.0.0.0]]