OpenCores
URL https://opencores.org/ocsvn/cryptosorter/cryptosorter/trunk

Subversion Repositories cryptosorter

[/] [cryptosorter/] [trunk/] [memocodeDesignContest2008/] [ctrl/] [mkTH.sched] - Rev 3

Go to most recent revision | 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

====================================

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.