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

Subversion Repositories cryptosorter

[/] [cryptosorter/] [trunk/] [memocodeDesignContest2008/] [ctrl/] [mkTH.sched] - Blame information for rev 3

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

Line No. Rev Author Line
1 3 kfleming
=== Generated schedule for mkTH ===
2
 
3
Rule schedule
4
-------------
5
Rule: finish
6
Predicate: state == 32'd5
7
Blocking rules: (none)
8
 
9
Rule: disp_orig_a
10
Predicate: (state == 32'd3) && cnt_done
11
Blocking rules: (none)
12
 
13
Rule: start_sort
14
Predicate: cnt_aes_cores_commandQ.RDY_enq &&
15
           cnt_done && cnt_aes_cores_commandQ.notFull &&
16
           (state == 32'd2)
17
Blocking rules: (none)
18
 
19
Rule: check
20
Predicate: (! extMem_readRespFIFO.first) &&
21
           plbmaster_plbMasterCommand.i_notEmpty &&
22
           (plbmaster_plbMasterCommand.first[31:30] == 2'd1) &&
23
           (! plbmaster_jitter2) &&
24
           extMem_readRespFIFO.i_notEmpty &&
25
           (state == 32'd4)
26
Blocking rules: (none)
27
 
28
Rule: disp_mem
29
Predicate: extMem_reqSnapshot.notFull && (state == 32'd4) && need_req
30
Blocking rules: (none)
31
 
32
Rule: disp_msg
33
Predicate: cnt_msg_queue.i_notEmpty
34
Blocking rules: (none)
35
 
36
Rule: open_file
37
Predicate: state == 32'd0
38
Blocking rules: (none)
39
 
40
Rule: incrCycle
41
Predicate: True
42
Blocking rules: (none)
43
 
44
Rule: cnt_put_rec
45
Predicate: cnt_sort_tree.RDY_inStream_putRecord && cnt_put_rec_fifo.i_notEmpty
46
Blocking rules: (none)
47
 
48
Rule: cnt_read_resp
49
Predicate: cnt_put_rec_fifo.i_notFull &&
50
           cnt_rdfifo.i_notEmpty &&
51
           ((cnt_rsp_offsets.sub(cnt_rdfifo.first) == 20'd0) ||
52
            ((! extMem_readRespFIFO.first) &&
53
             plbmaster_plbMasterCommand.i_notEmpty &&
54
             (plbmaster_plbMasterCommand.first[31:30] == 2'd1) &&
55
             (! plbmaster_jitter2) &&
56
             extMem_readRespFIFO.i_notEmpty)) &&
57
           (! cnt_done) && (! (cnt_iter == 3'd0)) && (! cnt_set_next_stage)
58
Blocking rules: check, cnt_write_to_mem
59
 
60
Rule: cnt_read_request_b
61
Predicate: cnt_sort_tree.RDY_inStream_putDeqTok &&
62
           cnt_rdfifo.i_notFull &&
63
           (cnt_pending_req_need_eos || extMem_reqSnapshot.notFull) &&
64
           (! cnt_done) && (! (cnt_iter == 3'd0)) && cnt_pending_read_req
65
Blocking rules: disp_mem, cnt_read_request_a
66
 
67
Rule: cnt_read_request_a
68
Predicate: cnt_rsfifo.i_notEmpty && (! cnt_done) && (! (cnt_iter == 3'd0))
69
Blocking rules: (none)
70
 
71
Rule: cnt_schedule_read_request
72
Predicate: cnt_sort_tree.RDY_inStream_getTokInfo && cnt_rsfifo.i_notFull &&
73
           (! cnt_done) && (! (cnt_iter == 3'd0)) && (! cnt_set_next_stage) &&
74
           (! cnt_pending_read_req)
75
Blocking rules: (none)
76
 
77
Rule: cnt_setup_stream_stage
78
Predicate: (! cnt_done) && (! (cnt_iter == 3'd0)) && cnt_set_next_stage
79
Blocking rules: cnt_read_request_b, cnt_write_to_mem
80
 
81
Rule: cnt_write_to_mem
82
Predicate: (! extMem_writeFIFO.first) &&
83
           plbmaster_plbMasterCommand.i_notEmpty &&
84
           (! (plbmaster_plbMasterCommand.first[31:30] == 2'd0)) &&
85
           (! (plbmaster_plbMasterCommand.first[31:30] == 2'd1)) &&
86
           (plbmaster_jitter1 == 2'd0) &&
87
           cnt_out_buff_fifo.i_notEmpty &&
88
           extMem_writeFIFO.i_notEmpty &&
89
           ((! cnt_last) ||
90
            (cnt_aes_cores_respQ.RDY_first &&
91
             cnt_aes_cores_respQ.RDY_deq && cnt_aes_cores_respQ.notEmpty))
92
Blocking rules: (none)
93
 
94
Rule: cnt_write_command
95
Predicate: cnt_wrfifo.i_notEmpty && extMem_reqSnapshot.notFull
96
Blocking rules: (none)
97
 
98
Rule: cnt_drain_sorter
99
Predicate: cnt_sort_tree.RDY_getRecord &&
100
           cnt_out_buff_fifo.i_notFull &&
101
           ((! (cnt_out_buff_cnt == 3'd7)) || cnt_wrfifo.i_notFull)
102
Blocking rules: (none)
103
 
104
Rule: cnt_first_stage_read_resp
105
Predicate: cnt_put_rec_fifo.i_notFull &&
106
           (cnt_read_eos ||
107
            (cnt_aes_cores_respQ.RDY_first &&
108
             cnt_aes_cores_respQ.RDY_deq &&
109
             (! extMem_readRespFIFO.first) &&
110
             plbmaster_plbMasterCommand.i_notEmpty &&
111
             (plbmaster_plbMasterCommand.first[31:30] == 2'd1) &&
112
             (! plbmaster_jitter2) &&
113
             cnt_aes_cores_respQ.notEmpty &&
114
             extMem_readRespFIFO.i_notEmpty)) &&
115
           (! cnt_done) && (cnt_iter == 3'd0)
116
Blocking rules: check, cnt_write_to_mem
117
 
118
Rule: cnt_first_stage_read_req
119
Predicate: extMem_reqSnapshot.notFull && cnt_fsfifo.i_notEmpty &&
120
           (! cnt_done) && (cnt_iter == 3'd0)
121
Blocking rules: disp_mem
122
 
123
Rule: cnt_first_stage_reserve_c
124
Predicate: cnt_pending_first_read_res_count.i_notEmpty &&
125
           cnt_pending_pending_reserve.i_notEmpty &&
126
           ((! (cnt_pending_pending_reserve.first[2:0] == 3'd0)) ||
127
            cnt_fsfifo.i_notFull) &&
128
           (! cnt_done) && (cnt_iter == 3'd0)
129
Blocking rules: (none)
130
 
131
Rule: cnt_first_stage_reserve_b
132
Predicate: cnt_sort_tree.RDY_inStream_putDeqTok &&
133
           cnt_pending_first_res_count.i_notEmpty &&
134
           cnt_pending_pending_reserve.i_notFull &&
135
           (! cnt_done) && (cnt_iter == 3'd0)
136
Blocking rules: (none)
137
 
138
Rule: cnt_first_stage_reserve_a
139
Predicate: cnt_pending_first_res_count.i_notFull &&
140
           cnt_pending_first_read_res_count.i_notFull &&
141
           cnt_sort_tree.RDY_inStream_getTokInfo &&
142
           (! cnt_done) && (cnt_iter == 3'd0) &&
143
           (! (cnt_read_res_count == 20'd0)) &&
144
           (! (((cnt_res_count == 6'd0)
145
                ? cnt_sort_tree.inStream_getTokInfo[4:0]
146
                : ((cnt_res_count == 6'd1)
147
                   ? cnt_sort_tree.inStream_getTokInfo[9:5]
148
                   : ((cnt_res_count == 6'd2)
149
                      ? cnt_sort_tree.inStream_getTokInfo[14:10]
150
                      : ((cnt_res_count == 6'd3)
151
                         ? cnt_sort_tree.inStream_getTokInfo[19:15]
152
                         : ((cnt_res_count == 6'd4)
153
                            ? cnt_sort_tree.inStream_getTokInfo[24:20]
154
                            : ((cnt_res_count == 6'd5)
155
                               ? cnt_sort_tree.inStream_getTokInfo[29:25]
156
                               : ((cnt_res_count == 6'd6)
157
                                  ? cnt_sort_tree.inStream_getTokInfo[34:30]
158
                                  : ((cnt_res_count == 6'd7)
159
                                     ? cnt_sort_tree.inStream_getTokInfo[39:35]
160
                                     : ((cnt_res_count == 6'd8)
161
                                        ? cnt_sort_tree.inStream_getTokInfo[44:40]
162
                                        : ((cnt_res_count == 6'd9)
163
                                           ? cnt_sort_tree.inStream_getTokInfo[49:45]
164
                                           : ((cnt_res_count == 6'd10)
165
                                              ? cnt_sort_tree.inStream_getTokInfo[54:50]
166
                                              : ((cnt_res_count == 6'd11)
167
                                                 ? cnt_sort_tree.inStream_getTokInfo[59:55]
168
                                                 : ((cnt_res_count == 6'd12)
169
                                                    ? cnt_sort_tree.inStream_getTokInfo[64:60]
170
                                                    : ((cnt_res_count ==
171
                                                        6'd13)
172
                                                       ? cnt_sort_tree.inStream_getTokInfo[69:65]
173
                                                       : ((x__h66583(...) ==
174
                                                           6'd14)
175
                                                          ? cnt_sort_tree_inStream_getTokInfo____d1471(...)[74:70]
176
                                                          : (cnt_res_count_87_EQ_15___d1003(...)
177
                                                             ? cnt_sort_tree_inStream_getTokInfo__81_BITS_79__ETC___d1341(...)
178
                                                             : IF_cnt_res_count_87_EQ_16_004_THEN_cnt_sort_tr_ETC___d1099(...))))))))))))))))) <=
179
               5'd1))
180
Blocking rules: (none)
181
 
182
Rule: cnt_debug_stuff8
183
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd8)
184
Blocking rules: (none)
185
 
186
Rule: cnt_debug_stuff7
187
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd7)
188
Blocking rules: (none)
189
 
190
Rule: cnt_debug_stuff6
191
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd6)
192
Blocking rules: (none)
193
 
194
Rule: cnt_debug_stuff5
195
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd5)
196
Blocking rules: (none)
197
 
198
Rule: cnt_debug_stuff4
199
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd4)
200
Blocking rules: (none)
201
 
202
Rule: cnt_debug_stuff3
203
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd3)
204
Blocking rules: (none)
205
 
206
Rule: cnt_debug_stuff2
207
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd2)
208
Blocking rules: (none)
209
 
210
Rule: cnt_debug_stuff1
211
Predicate: cnt_msg_queue.i_notFull && (cnt_msg_state == 32'd1)
212
Blocking rules: (none)
213
 
214
Rule: cnt_debug_stuff0
215
Predicate: cnt_msg_queue.i_notFull && (cnt_tic_counter == 30'd0)
216
Blocking rules: cnt_debug_stuff1,
217
                cnt_debug_stuff2,
218
                cnt_debug_stuff3,
219
                cnt_debug_stuff4,
220
                cnt_debug_stuff5,
221
                cnt_debug_stuff6,
222
                cnt_debug_stuff7,
223
                cnt_debug_stuff8
224
 
225
Rule: cnt_tic_toc
226
Predicate: True
227
Blocking rules: (none)
228
 
229
Rule: cnt_aes_cores_respRule
230
Predicate: cnt_aes_cores_respQ.RDY_enq &&
231
           ((cnt_aes_cores_ptr == 32'd0)
232
            ? cnt_aes_cores_cores.RDY_decrypt
233
            : ((! (cnt_aes_cores_ptr == 32'd1)) ||
234
               cnt_aes_cores_cores_1.RDY_decrypt)) &&
235
           ((cnt_aes_cores_ptr == 32'd0)
236
            ? cnt_aes_cores_cores.RDY_get_result
237
            : ((! (cnt_aes_cores_ptr == 32'd1)) ||
238
               cnt_aes_cores_cores_1.RDY_get_result)) &&
239
           (! (cnt_aes_cores_iter == 2'd0))
240
Blocking rules: (none)
241
 
242
Rule: cnt_aes_cores_startRule
243
Predicate: cnt_aes_cores_cores.RDY_decrypt &&
244
           cnt_aes_cores_cores_1.RDY_decrypt &&
245
           cnt_aes_cores_commandQ.RDY_first &&
246
           cnt_aes_cores_commandQ.RDY_deq &&
247
           (cnt_aes_cores_iter == 2'd0)
248
Blocking rules: (none)
249
 
250
Rule: extMem_chooseReq
251
Predicate: extMem_reqSnapshot.i_notEmpty &&
252
           ((((! extMem_reqSnapshot.first[32]) || extMem_nextToSend) &&
253
             (! extMem_reqSnapshot.first[65])) ||
254
            (plbmaster_stall_fifo.i_notFull &&
255
             (((extMem_reqSnapshot.first[32] && (! extMem_nextToSend))
256
               ? extMem_reqSnapshot.first[31:30] == 2'd1
257
               : (extMem_reqSnapshot.first[64:63] == 2'd1))
258
              ? extMem_readRespFIFO.i_notFull
259
              : extMem_writeFIFO.i_notFull)))
260
Blocking rules: (none)
261
 
262
Rule: extMem_processReqs
263
Predicate: ((! extMem_readReqs.whas) && (! extMem_writeReqs.whas)) ||
264
           extMem_reqSnapshot.i_notFull
265
Blocking rules: (none)
266
 
267
Rule: plbmaster_xfer
268
Predicate: plbmaster_plbMasterCommand.i_notFull &&
269
           plbmaster_stall_fifo.i_notEmpty &&
270
           (plbmaster_stall == 5'd0)
271
Blocking rules: (none)
272
 
273
Rule: plbmaster_decr_stall
274
Predicate: ! (plbmaster_stall == 5'd0)
275
Blocking rules: (none)
276
 
277
Rule: plbmaster_toggle
278
Predicate: True
279
Blocking rules: (none)
280
 
281
Logical execution order: cnt_schedule_read_request,
282
                         cnt_read_request_a,
283
                         finish,
284
                         disp_mem,
285
                         disp_orig_a,
286
                         check,
287
                         disp_msg,
288
                         open_file,
289
                         incrCycle,
290
                         cnt_first_stage_reserve_c,
291
                         cnt_first_stage_reserve_b,
292
                         cnt_first_stage_reserve_a,
293
                         cnt_setup_stream_stage,
294
                         cnt_debug_stuff8,
295
                         cnt_read_resp,
296
                         cnt_debug_stuff7,
297
                         cnt_first_stage_read_resp,
298
                         cnt_debug_stuff6,
299
                         cnt_debug_stuff5,
300
                         cnt_debug_stuff4,
301
                         cnt_put_rec,
302
                         cnt_debug_stuff3,
303
                         cnt_debug_stuff2,
304
                         cnt_drain_sorter,
305
                         cnt_debug_stuff1,
306
                         cnt_write_command,
307
                         cnt_debug_stuff0,
308
                         cnt_read_request_b,
309
                         cnt_first_stage_read_req,
310
                         cnt_write_to_mem,
311
                         start_sort,
312
                         cnt_tic_toc,
313
                         cnt_aes_cores_respRule,
314
                         cnt_aes_cores_startRule,
315
                         extMem_chooseReq,
316
                         extMem_processReqs,
317
                         plbmaster_xfer,
318
                         plbmaster_decr_stall,
319
                         plbmaster_toggle
320
 
321
====================================

powered by: WebSVN 2.1.0

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