URL
https://opencores.org/ocsvn/cryptosorter/cryptosorter/trunk
Subversion Repositories cryptosorter
[/] [cryptosorter/] [trunk/] [memocodeDesignContest2008/] [ctrl/] [mkTH.sched] - Rev 6
Compare with Previous | Blame | View Log
=== Generated schedule for mkTH ===
Rule schedule
-------------
Rule: finish
Predicate: state == 32'd5
Blocking rules: (none)
Rule: disp_orig_a
Predicate: (state == 32'd3) && cnt_done
Blocking rules: (none)
Rule: start_sort
Predicate: cnt_aes_cores_commandQ.RDY_enq &&
cnt_done && cnt_aes_cores_commandQ.notFull &&
(state == 32'd2)
Blocking rules: (none)
Rule: check
Predicate: (! extMem_readRespFIFO.first) &&
plbmaster_plbMasterCommand.i_notEmpty &&
(plbmaster_plbMasterCommand.first[31:30] == 2'd1) &&
(! plbmaster_jitter2) &&
extMem_readRespFIFO.i_notEmpty &&
(state == 32'd4)
Blocking rules: (none)
Rule: disp_mem
Predicate: extMem_reqSnapshot.notFull && (state == 32'd4) && need_req
Blocking rules: (none)
Rule: disp_msg
Predicate: cnt_msg_queue.i_notEmpty
Blocking rules: (none)
Rule: open_file
Predicate: state == 32'd0
Blocking rules: (none)
Rule: incrCycle
Predicate: True
Blocking rules: (none)
Rule: cnt_put_rec
Predicate: cnt_sort_tree.RDY_inStream_putRecord && cnt_put_rec_fifo.i_notEmpty
Blocking rules: (none)
Rule: cnt_read_resp
Predicate: cnt_put_rec_fifo.i_notFull &&
cnt_rdfifo.i_notEmpty &&
((cnt_rsp_offsets.sub(cnt_rdfifo.first) == 20'd0) ||
((! extMem_readRespFIFO.first) &&
plbmaster_plbMasterCommand.i_notEmpty &&
(plbmaster_plbMasterCommand.first[31:30] == 2'd1) &&
(! plbmaster_jitter2) &&
extMem_readRespFIFO.i_notEmpty)) &&
(! cnt_done) && (! (cnt_iter == 3'd0)) && (! cnt_set_next_stage)
Blocking rules: check, cnt_write_to_mem
Rule: cnt_read_request_b
Predicate: cnt_sort_tree.RDY_inStream_putDeqTok &&
cnt_rdfifo.i_notFull &&
(cnt_pending_req_need_eos || extMem_reqSnapshot.notFull) &&
(! cnt_done) && (! (cnt_iter == 3'd0)) && cnt_pending_read_req
Blocking rules: disp_mem, cnt_read_request_a
Rule: cnt_read_request_a
Predicate: cnt_rsfifo.i_notEmpty && (! cnt_done) && (! (cnt_iter == 3'd0))
Blocking rules: (none)
Rule: cnt_schedule_read_request
Predicate: cnt_sort_tree.RDY_inStream_getTokInfo && cnt_rsfifo.i_notFull &&
(! cnt_done) && (! (cnt_iter == 3'd0)) && (! cnt_set_next_stage) &&
(! cnt_pending_read_req)
Blocking rules: (none)
Rule: cnt_setup_stream_stage
Predicate: (! cnt_done) && (! (cnt_iter == 3'd0)) && cnt_set_next_stage
Blocking rules: cnt_read_request_b, cnt_write_to_mem
Rule: cnt_write_to_mem
Predicate: (! extMem_writeFIFO.first) &&
plbmaster_plbMasterCommand.i_notEmpty &&
(! (plbmaster_plbMasterCommand.first[31:30] == 2'd0)) &&
(! (plbmaster_plbMasterCommand.first[31:30] == 2'd1)) &&
(plbmaster_jitter1 == 2'd0) &&
cnt_out_buff_fifo.i_notEmpty &&
extMem_writeFIFO.i_notEmpty &&
((! cnt_last) ||
(cnt_aes_cores_respQ.RDY_first &&
cnt_aes_cores_respQ.RDY_deq && cnt_aes_cores_respQ.notEmpty))
Blocking rules: (none)
Rule: cnt_write_command
Predicate: cnt_wrfifo.i_notEmpty && extMem_reqSnapshot.notFull
Blocking rules: (none)
Rule: cnt_drain_sorter
Predicate: cnt_sort_tree.RDY_getRecord &&
cnt_out_buff_fifo.i_notFull &&
((! (cnt_out_buff_cnt == 3'd7)) || cnt_wrfifo.i_notFull)
Blocking rules: (none)
Rule: cnt_first_stage_read_resp
Predicate: cnt_put_rec_fifo.i_notFull &&
(cnt_read_eos ||
(cnt_aes_cores_respQ.RDY_first &&
cnt_aes_cores_respQ.RDY_deq &&
(! extMem_readRespFIFO.first) &&
plbmaster_plbMasterCommand.i_notEmpty &&
(plbmaster_plbMasterCommand.first[31:30] == 2'd1) &&
(! plbmaster_jitter2) &&
cnt_aes_cores_respQ.notEmpty &&
extMem_readRespFIFO.i_notEmpty)) &&
(! cnt_done) && (cnt_iter == 3'd0)
Blocking rules: check, cnt_write_to_mem
Rule: cnt_first_stage_read_req
Predicate: extMem_reqSnapshot.notFull && cnt_fsfifo.i_notEmpty &&
(! cnt_done) && (cnt_iter == 3'd0)
Blocking rules: disp_mem
Rule: cnt_first_stage_reserve_c
Predicate: cnt_pending_first_read_res_count.i_notEmpty &&
cnt_pending_pending_reserve.i_notEmpty &&
((! (cnt_pending_pending_reserve.first[2:0] == 3'd0)) ||
cnt_fsfifo.i_notFull) &&
(! cnt_done) && (cnt_iter == 3'd0)
Blocking rules: (none)
Rule: cnt_first_stage_reserve_b
Predicate: cnt_sort_tree.RDY_inStream_putDeqTok &&
cnt_pending_first_res_count.i_notEmpty &&
cnt_pending_pending_reserve.i_notFull &&
(! cnt_done) && (cnt_iter == 3'd0)
Blocking rules: (none)
Rule: cnt_first_stage_reserve_a
Predicate: cnt_pending_first_res_count.i_notFull &&
cnt_pending_first_read_res_count.i_notFull &&
cnt_sort_tree.RDY_inStream_getTokInfo &&
(! cnt_done) && (cnt_iter == 3'd0) &&
(! (cnt_read_res_count == 20'd0)) &&
(! (((cnt_res_count == 6'd0)
? cnt_sort_tree.inStream_getTokInfo[4:0]
: ((cnt_res_count == 6'd1)
? cnt_sort_tree.inStream_getTokInfo[9:5]
: ((cnt_res_count == 6'd2)
? cnt_sort_tree.inStream_getTokInfo[14:10]
: ((cnt_res_count == 6'd3)
? cnt_sort_tree.inStream_getTokInfo[19:15]
: ((cnt_res_count == 6'd4)
? cnt_sort_tree.inStream_getTokInfo[24:20]
: ((cnt_res_count == 6'd5)
? cnt_sort_tree.inStream_getTokInfo[29:25]
: ((cnt_res_count == 6'd6)
? cnt_sort_tree.inStream_getTokInfo[34:30]
: ((cnt_res_count == 6'd7)
? cnt_sort_tree.inStream_getTokInfo[39:35]
: ((cnt_res_count == 6'd8)
? cnt_sort_tree.inStream_getTokInfo[44:40]
: ((cnt_res_count == 6'd9)
? cnt_sort_tree.inStream_getTokInfo[49:45]
: ((cnt_res_count == 6'd10)
? cnt_sort_tree.inStream_getTokInfo[54:50]
: ((cnt_res_count == 6'd11)
? cnt_sort_tree.inStream_getTokInfo[59:55]
: ((cnt_res_count == 6'd12)
? cnt_sort_tree.inStream_getTokInfo[64:60]
: ((cnt_res_count ==
6'd13)
? cnt_sort_tree.inStream_getTokInfo[69:65]
: ((x__h66583(...) ==
6'd14)
? cnt_sort_tree_inStream_getTokInfo____d1471(...)[74:70]
: (cnt_res_count_87_EQ_15___d1003(...)
? cnt_sort_tree_inStream_getTokInfo__81_BITS_79__ETC___d1341(...)
: IF_cnt_res_count_87_EQ_16_004_THEN_cnt_sort_tr_ETC___d1099(...))))))))))))))))) <=
5'd1))
Blocking rules: (none)
Rule: cnt_debug_stuff8
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd8)
Blocking rules: (none)
Rule: cnt_debug_stuff7
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd7)
Blocking rules: (none)
Rule: cnt_debug_stuff6
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd6)
Blocking rules: (none)
Rule: cnt_debug_stuff5
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd5)
Blocking rules: (none)
Rule: cnt_debug_stuff4
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd4)
Blocking rules: (none)
Rule: cnt_debug_stuff3
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd3)
Blocking rules: (none)
Rule: cnt_debug_stuff2
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd2)
Blocking rules: (none)
Rule: cnt_debug_stuff1
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd1)
Blocking rules: (none)
Rule: cnt_debug_stuff0
Predicate: cnt_msg_queue.i_notFull && (cnt_tic_counter == 30'd0)
Blocking rules: cnt_debug_stuff1,
cnt_debug_stuff2,
cnt_debug_stuff3,
cnt_debug_stuff4,
cnt_debug_stuff5,
cnt_debug_stuff6,
cnt_debug_stuff7,
cnt_debug_stuff8
Rule: cnt_tic_toc
Predicate: True
Blocking rules: (none)
Rule: cnt_aes_cores_respRule
Predicate: cnt_aes_cores_respQ.RDY_enq &&
((cnt_aes_cores_ptr == 32'd0)
? cnt_aes_cores_cores.RDY_decrypt
: ((! (cnt_aes_cores_ptr == 32'd1)) ||
cnt_aes_cores_cores_1.RDY_decrypt)) &&
((cnt_aes_cores_ptr == 32'd0)
? cnt_aes_cores_cores.RDY_get_result
: ((! (cnt_aes_cores_ptr == 32'd1)) ||
cnt_aes_cores_cores_1.RDY_get_result)) &&
(! (cnt_aes_cores_iter == 2'd0))
Blocking rules: (none)
Rule: cnt_aes_cores_startRule
Predicate: cnt_aes_cores_cores.RDY_decrypt &&
cnt_aes_cores_cores_1.RDY_decrypt &&
cnt_aes_cores_commandQ.RDY_first &&
cnt_aes_cores_commandQ.RDY_deq &&
(cnt_aes_cores_iter == 2'd0)
Blocking rules: (none)
Rule: extMem_chooseReq
Predicate: extMem_reqSnapshot.i_notEmpty &&
((((! extMem_reqSnapshot.first[32]) || extMem_nextToSend) &&
(! extMem_reqSnapshot.first[65])) ||
(plbmaster_stall_fifo.i_notFull &&
(((extMem_reqSnapshot.first[32] && (! extMem_nextToSend))
? extMem_reqSnapshot.first[31:30] == 2'd1
: (extMem_reqSnapshot.first[64:63] == 2'd1))
? extMem_readRespFIFO.i_notFull
: extMem_writeFIFO.i_notFull)))
Blocking rules: (none)
Rule: extMem_processReqs
Predicate: ((! extMem_readReqs.whas) && (! extMem_writeReqs.whas)) ||
extMem_reqSnapshot.i_notFull
Blocking rules: (none)
Rule: plbmaster_xfer
Predicate: plbmaster_plbMasterCommand.i_notFull &&
plbmaster_stall_fifo.i_notEmpty &&
(plbmaster_stall == 5'd0)
Blocking rules: (none)
Rule: plbmaster_decr_stall
Predicate: ! (plbmaster_stall == 5'd0)
Blocking rules: (none)
Rule: plbmaster_toggle
Predicate: True
Blocking rules: (none)
Logical execution order: cnt_schedule_read_request,
cnt_read_request_a,
finish,
disp_mem,
disp_orig_a,
check,
disp_msg,
open_file,
incrCycle,
cnt_first_stage_reserve_c,
cnt_first_stage_reserve_b,
cnt_first_stage_reserve_a,
cnt_setup_stream_stage,
cnt_debug_stuff8,
cnt_read_resp,
cnt_debug_stuff7,
cnt_first_stage_read_resp,
cnt_debug_stuff6,
cnt_debug_stuff5,
cnt_debug_stuff4,
cnt_put_rec,
cnt_debug_stuff3,
cnt_debug_stuff2,
cnt_drain_sorter,
cnt_debug_stuff1,
cnt_write_command,
cnt_debug_stuff0,
cnt_read_request_b,
cnt_first_stage_read_req,
cnt_write_to_mem,
start_sort,
cnt_tic_toc,
cnt_aes_cores_respRule,
cnt_aes_cores_startRule,
extMem_chooseReq,
extMem_processReqs,
plbmaster_xfer,
plbmaster_decr_stall,
plbmaster_toggle
====================================