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

Subversion Repositories cryptosorter

[/] [cryptosorter/] [trunk/] [memocodeDesignContest2008/] [sort/] [mkBRAMLevel3MergerInstance.sched] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 kfleming
=== Generated schedule for mkBRAMLevel3MergerInstance ===
2
 
3
Method schedule
4
---------------
5
Method: inStream_getTokInfo
6
Ready signal: res_inFstHalf_finishInit && res_inSndHalf_finishInit
7
Conflict-free: inStream_getTokInfo,
8
               inStream_putDeqTok,
9
               inStream_putRecord,
10
               outStream_putTokInfo,
11
               outStream_getDeqTok_fst,
12
               outStream_getDeqTok_snd,
13
               outStream_getRecord_fst,
14
               outStream_getRecord_snd
15
 
16
Method: inStream_putDeqTok
17
Ready signal: res_inSndHalf_finishInit && res_inFstHalf_finishInit
18
Conflict-free: inStream_getTokInfo,
19
               inStream_putRecord,
20
               outStream_putTokInfo,
21
               outStream_getDeqTok_fst,
22
               outStream_getDeqTok_snd,
23
               outStream_getRecord_fst,
24
               outStream_getRecord_snd
25
Conflicts: inStream_putDeqTok
26
 
27
Method: inStream_putRecord
28
Ready signal: res_inSndHalf_finishInit && res_inFstHalf_finishInit
29
Conflict-free: inStream_getTokInfo,
30
               inStream_putDeqTok,
31
               outStream_putTokInfo,
32
               outStream_getDeqTok_fst,
33
               outStream_getDeqTok_snd,
34
               outStream_getRecord_fst,
35
               outStream_getRecord_snd
36
Conflicts: inStream_putRecord
37
 
38
Method: outStream_putTokInfo
39
Ready signal: True
40
Conflict-free: inStream_getTokInfo,
41
               inStream_putDeqTok,
42
               inStream_putRecord,
43
               outStream_getRecord_fst,
44
               outStream_getRecord_snd
45
Sequenced before (restricted): outStream_getDeqTok_fst,
46
                               outStream_getDeqTok_snd
47
Conflicts: outStream_putTokInfo
48
 
49
Method: outStream_getDeqTok_fst
50
Ready signal: res_getDeqTokW.whas && res_getDeqTokW.wget[2]
51
Conflict-free: inStream_getTokInfo,
52
               inStream_putDeqTok,
53
               inStream_putRecord,
54
               outStream_getDeqTok_fst,
55
               outStream_getDeqTok_snd,
56
               outStream_getRecord_fst,
57
               outStream_getRecord_snd
58
Sequenced after (restricted): outStream_putTokInfo
59
 
60
Method: outStream_getDeqTok_snd
61
Ready signal: res_getDeqTokW.whas && res_getDeqTokW.wget[2]
62
Conflict-free: inStream_getTokInfo,
63
               inStream_putDeqTok,
64
               inStream_putRecord,
65
               outStream_getDeqTok_fst,
66
               outStream_getDeqTok_snd,
67
               outStream_getRecord_fst,
68
               outStream_getRecord_snd
69
Sequenced after (restricted): outStream_putTokInfo
70
 
71
Method: outStream_getRecord_fst
72
Ready signal: res_outW.whas && res_outW.wget[131]
73
Conflict-free: inStream_getTokInfo,
74
               inStream_putDeqTok,
75
               inStream_putRecord,
76
               outStream_putTokInfo,
77
               outStream_getDeqTok_fst,
78
               outStream_getDeqTok_snd,
79
               outStream_getRecord_fst,
80
               outStream_getRecord_snd
81
 
82
Method: outStream_getRecord_snd
83
Ready signal: res_outW.whas && res_outW.wget[131]
84
Conflict-free: inStream_getTokInfo,
85
               inStream_putDeqTok,
86
               inStream_putRecord,
87
               outStream_putTokInfo,
88
               outStream_getDeqTok_fst,
89
               outStream_getDeqTok_snd,
90
               outStream_getRecord_fst,
91
               outStream_getRecord_snd
92
 
93
Rule schedule
94
-------------
95
Rule: res_compares
96
Predicate: res_inFstHalf_ugbram_bram.RDY_read_resp &&
97
           res_inSndHalf_ugbram_bram.RDY_read_resp &&
98
           res_inFstHalf_finishInit &&
99
           res_inSndHalf_finishInit && res_reqQ.i_notEmpty
100
Blocking rules: (none)
101
 
102
Rule: res_nextToProcess
103
Predicate: res_inFstHalf_finishInit &&
104
           res_inSndHalf_finishInit &&
105
           ((! res_scheduler_getNextW.whas) ||
106
            (! res_scheduler_getNextW.wget[2]) ||
107
            res_reqQ.i_notFull)
108
Blocking rules: (none)
109
 
110
Rule: res_feedScheduler
111
Predicate: (((res_nextTokW.whas
112
              ? res_nextTokW.wget[2:0]
113
              : _) ==
114
             3'd0) ||
115
            res_inFstHalf_finishInit) &&
116
           (((res_nextTokW.whas
117
              ? res_nextTokW.wget[2:0]
118
              : _) ==
119
             3'd0) ||
120
            (((res_scheduler_last[2]
121
               ? res_scheduler_last[1:0]
122
               : _) ==
123
              2'd0)
124
             ? res_scheduler_last[2] || (res_inFstHalf_usedReg[2:0] == 3'd0)
125
             : (res_inFstHalf_usedReg[2:0] == 3'd0)) ||
126
            res_inSndHalf_finishInit) &&
127
           (((! ((res_nextTokW.whas
128
                  ? res_nextTokW.wget[2:0]
129
                  : _) ==
130
                 3'd0)) &&
131
             (((res_scheduler_last[2]
132
                ? res_scheduler_last[1:0]
133
                : _) ==
134
               2'd0)
135
              ? (! res_scheduler_last[2]) &&
136
                (((res_scheduler_last[2]
137
                   ? res_scheduler_last[1:0]
138
                   : _) ==
139
                  2'd0)
140
                 ? ! (res_inFstHalf_usedReg[2:0] == 3'd0)
141
                 : (((res_scheduler_last[2]
142
                      ? res_scheduler_last[1:0]
143
                      : _) ==
144
                     2'd1)
145
                    ? ! (res_inFstHalf_usedReg[5:3] == 3'd0)
146
                    : (((res_scheduler_last[2]
147
                         ? res_scheduler_last[1:0]
148
                         : _) ==
149
                        2'd2)
150
                       ? ! (res_inFstHalf_usedReg[8:6] == 3'd0)
151
                       : (((res_scheduler_last[2]
152
                            ? res_scheduler_last[1:0]
153
                            : _) ==
154
                           2'd3)
155
                          ? ! (res_inFstHalf_usedReg[11:9] == 3'd0)
156
                          : _))))
157
              : (! (res_inFstHalf_usedReg[2:0] == 3'd0))) &&
158
             (! (res_inSndHalf_usedReg[2:0] == 3'd0)))
159
            ? res_inFstHalf_finishInit && res_inSndHalf_finishInit
160
            : ((((res_nextTokW.whas
161
                  ? res_nextTokW.wget[5:3]
162
                  : _) ==
163
                 3'd0) ||
164
                res_inFstHalf_finishInit) &&
165
               (((res_nextTokW.whas
166
                  ? res_nextTokW.wget[5:3]
167
                  : _) ==
168
                 3'd0) ||
169
                (((res_scheduler_last[2]
170
                   ? res_scheduler_last[1:0]
171
                   : _) ==
172
                  2'd1)
173
                 ? res_scheduler_last[2] ||
174
                   (res_inFstHalf_usedReg[5:3] == 3'd0)
175
                 : (res_inFstHalf_usedReg[5:3] == 3'd0)) ||
176
                res_inSndHalf_finishInit))) &&
177
           (((! ((res_nextTokW.whas
178
                  ? res_nextTokW.wget[2:0]
179
                  : _) ==
180
                 3'd0)) &&
181
             (((res_scheduler_last[2]
182
                ? res_scheduler_last[1:0]
183
                : _) ==
184
               2'd0)
185
              ? (! res_scheduler_last[2]) &&
186
                (((res_scheduler_last[2]
187
                   ? res_scheduler_last[1:0]
188
                   : _) ==
189
                  2'd0)
190
                 ? ! (res_inFstHalf_usedReg[2:0] == 3'd0)
191
                 : (((res_scheduler_last[2]
192
                      ? res_scheduler_last[1:0]
193
                      : _) ==
194
                     2'd1)
195
                    ? ! (res_inFstHalf_usedReg[5:3] == 3'd0)
196
                    : (((res_scheduler_last[2]
197
                         ? res_scheduler_last[1:0]
198
                         : _) ==
199
                        2'd2)
200
                       ? ! (res_inFstHalf_usedReg[8:6] == 3'd0)
201
                       : (((res_scheduler_last[2]
202
                            ? res_scheduler_last[1:0]
203
                            : _) ==
204
                           2'd3)
205
                          ? ! (res_inFstHalf_usedReg[11:9] == 3'd0)
206
                          : _))))
207
              : (! (res_inFstHalf_usedReg[2:0] == 3'd0))) &&
208
             (! (res_inSndHalf_usedReg[2:0] == 3'd0))) ||
209
            ((! ((res_nextTokW.whas
210
                  ? res_nextTokW.wget[5:3]
211
                  : _) ==
212
                 3'd0)) &&
213
             (((res_scheduler_last[2]
214
                ? res_scheduler_last[1:0]
215
                : _) ==
216
               2'd1)
217
              ? (! res_scheduler_last[2]) &&
218
                (((res_scheduler_last[2]
219
                   ? res_scheduler_last[1:0]
220
                   : _) ==
221
                  2'd0)
222
                 ? ! (res_inFstHalf_usedReg[2:0] == 3'd0)
223
                 : (((res_scheduler_last[2]
224
                      ? res_scheduler_last[1:0]
225
                      : _) ==
226
                     2'd1)
227
                    ? ! (res_inFstHalf_usedReg[5:3] == 3'd0)
228
                    : (((res_scheduler_last[2]
229
                         ? res_scheduler_last[1:0]
230
                         : _) ==
231
                        2'd2)
232
                       ? ! (res_inFstHalf_usedReg[8:6] == 3'd0)
233
                       : (((res_scheduler_last[2]
234
                            ? res_scheduler_last[1:0]
235
                            : _) ==
236
                           2'd3)
237
                          ? ! (res_inFstHalf_usedReg[11:9] == 3'd0)
238
                          : _))))
239
              : (! (res_inFstHalf_usedReg[5:3] == 3'd0))) &&
240
             (! (res_inSndHalf_usedReg[5:3] == 3'd0))) ||
241
            ((((res_nextTokW.whas
242
                ? res_nextTokW.wget[8:6]
243
                : _) ==
244
               3'd0) ||
245
              res_inFstHalf_finishInit) &&
246
             (((res_nextTokW.whas
247
                ? res_nextTokW.wget[8:6]
248
                : _) ==
249
               3'd0) ||
250
              (((res_scheduler_last[2]
251
                 ? res_scheduler_last[1:0]
252
                 : _) ==
253
                2'd2)
254
               ? res_scheduler_last[2] || (res_inFstHalf_usedReg[8:6] == 3'd0)
255
               : (res_inFstHalf_usedReg[8:6] == 3'd0)) ||
256
              res_inSndHalf_finishInit) &&
257
             (((! ((res_nextTokW.whas
258
                    ? res_nextTokW.wget[8:6]
259
                    : _) ==
260
                   3'd0)) &&
261
               (((res_scheduler_last[2]
262
                  ? res_scheduler_last[1:0]
263
                  : _) ==
264
                 2'd2)
265
                ? (! res_scheduler_last[2]) &&
266
                  (((res_scheduler_last[2]
267
                     ? res_scheduler_last[1:0]
268
                     : _) ==
269
                    2'd0)
270
                   ? ! (res_inFstHalf_usedReg[2:0] == 3'd0)
271
                   : (((res_scheduler_last[2]
272
                        ? res_scheduler_last[1:0]
273
                        : _) ==
274
                       2'd1)
275
                      ? ! (res_inFstHalf_usedReg[5:3] == 3'd0)
276
                      : (((res_scheduler_last[2]
277
                           ? res_scheduler_last[1:0]
278
                           : _) ==
279
                          2'd2)
280
                         ? ! (res_inFstHalf_usedReg[8:6] == 3'd0)
281
                         : (((res_scheduler_last[2]
282
                              ? res_scheduler_last[1:0]
283
                              : _) ==
284
                             2'd3)
285
                            ? ! (res_inFstHalf_usedReg[11:9] == 3'd0)
286
                            : _))))
287
                : (! (res_inFstHalf_usedReg[8:6] == 3'd0))) &&
288
               (! (res_inSndHalf_usedReg[8:6] == 3'd0)))
289
              ? res_inFstHalf_finishInit && res_inSndHalf_finishInit
290
              : ((((res_nextTokW.whas
291
                    ? res_nextTokW.wget[11:9]
292
                    : _) ==
293
                   3'd0) ||
294
                  res_inFstHalf_finishInit) &&
295
                 (((res_nextTokW.whas
296
                    ? res_nextTokW.wget[11:9]
297
                    : _) ==
298
                   3'd0) ||
299
                  (((res_scheduler_last[2]
300
                     ? res_scheduler_last[1:0]
301
                     : _) ==
302
                    2'd3)
303
                   ? res_scheduler_last[2] ||
304
                     (res_inFstHalf_usedReg[11:9] == 3'd0)
305
                   : (res_inFstHalf_usedReg[11:9] == 3'd0)) ||
306
                  res_inSndHalf_finishInit))))) &&
307
           (((((res_nextTokW.whas
308
                ? res_nextTokW.wget[2:0]
309
                : _) ==
310
               3'd0) ||
311
              (((res_scheduler_last[2]
312
                 ? res_scheduler_last[1:0]
313
                 : _) ==
314
                2'd0)
315
               ? res_scheduler_last[2] || (res_inFstHalf_usedReg[2:0] == 3'd0)
316
               : (res_inFstHalf_usedReg[2:0] == 3'd0)) ||
317
              (res_inSndHalf_usedReg[2:0] == 3'd0)) &&
318
             (((res_nextTokW.whas
319
                ? res_nextTokW.wget[5:3]
320
                : _) ==
321
               3'd0) ||
322
              (((res_scheduler_last[2]
323
                 ? res_scheduler_last[1:0]
324
                 : _) ==
325
                2'd1)
326
               ? res_scheduler_last[2] || (res_inFstHalf_usedReg[5:3] == 3'd0)
327
               : (res_inFstHalf_usedReg[5:3] == 3'd0)) ||
328
              (res_inSndHalf_usedReg[5:3] == 3'd0)) &&
329
             (((res_nextTokW.whas
330
                ? res_nextTokW.wget[8:6]
331
                : _) ==
332
               3'd0) ||
333
              (((res_scheduler_last[2]
334
                 ? res_scheduler_last[1:0]
335
                 : _) ==
336
                2'd2)
337
               ? res_scheduler_last[2] || (res_inFstHalf_usedReg[8:6] == 3'd0)
338
               : (res_inFstHalf_usedReg[8:6] == 3'd0)) ||
339
              (res_inSndHalf_usedReg[8:6] == 3'd0)) &&
340
             (((res_nextTokW.whas
341
                ? res_nextTokW.wget[11:9]
342
                : _) ==
343
               3'd0) ||
344
              (((res_scheduler_last[2]
345
                 ? res_scheduler_last[1:0]
346
                 : _) ==
347
                2'd3)
348
               ? res_scheduler_last[2] ||
349
                 (res_inFstHalf_usedReg[11:9] == 3'd0)
350
               : (res_inFstHalf_usedReg[11:9] == 3'd0)) ||
351
              (res_inSndHalf_usedReg[11:9] == 3'd0))) ||
352
            ((! ((res_nextTokW.whas
353
                  ? res_nextTokW.wget[2:0]
354
                  : _) ==
355
                 3'd0)) &&
356
             (((res_scheduler_last[2]
357
                ? res_scheduler_last[1:0]
358
                : _) ==
359
               2'd0)
360
              ? (! res_scheduler_last[2]) &&
361
                (((res_scheduler_last[2]
362
                   ? res_scheduler_last[1:0]
363
                   : _) ==
364
                  2'd0)
365
                 ? ! (res_inFstHalf_usedReg[2:0] == 3'd0)
366
                 : (((res_scheduler_last[2]
367
                      ? res_scheduler_last[1:0]
368
                      : _) ==
369
                     2'd1)
370
                    ? ! (res_inFstHalf_usedReg[5:3] == 3'd0)
371
                    : (((res_scheduler_last[2]
372
                         ? res_scheduler_last[1:0]
373
                         : _) ==
374
                        2'd2)
375
                       ? ! (res_inFstHalf_usedReg[8:6] == 3'd0)
376
                       : (((res_scheduler_last[2]
377
                            ? res_scheduler_last[1:0]
378
                            : _) ==
379
                           2'd3)
380
                          ? ! (res_inFstHalf_usedReg[11:9] == 3'd0)
381
                          : _))))
382
              : (! (res_inFstHalf_usedReg[2:0] == 3'd0))) &&
383
             (! (res_inSndHalf_usedReg[2:0] == 3'd0))) ||
384
            ((! ((res_nextTokW.whas
385
                  ? res_nextTokW.wget[5:3]
386
                  : _) ==
387
                 3'd0)) &&
388
             (((res_scheduler_last[2]
389
                ? res_scheduler_last[1:0]
390
                : _) ==
391
               2'd1)
392
              ? (! res_scheduler_last[2]) &&
393
                (((res_scheduler_last[2]
394
                   ? res_scheduler_last[1:0]
395
                   : _) ==
396
                  2'd0)
397
                 ? ! (res_inFstHalf_usedReg[2:0] == 3'd0)
398
                 : (((res_scheduler_last[2]
399
                      ? res_scheduler_last[1:0]
400
                      : _) ==
401
                     2'd1)
402
                    ? ! (res_inFstHalf_usedReg[5:3] == 3'd0)
403
                    : (((res_scheduler_last[2]
404
                         ? res_scheduler_last[1:0]
405
                         : _) ==
406
                        2'd2)
407
                       ? ! (res_inFstHalf_usedReg[8:6] == 3'd0)
408
                       : (((res_scheduler_last[2]
409
                            ? res_scheduler_last[1:0]
410
                            : _) ==
411
                           2'd3)
412
                          ? ! (res_inFstHalf_usedReg[11:9] == 3'd0)
413
                          : _))))
414
              : (! (res_inFstHalf_usedReg[5:3] == 3'd0))) &&
415
             (! (res_inSndHalf_usedReg[5:3] == 3'd0))) ||
416
            ((((res_nextTokW.whas
417
                ? res_nextTokW.wget[8:6]
418
                : _) ==
419
               3'd0) ||
420
              res_inFstHalf_finishInit) &&
421
             (((res_nextTokW.whas
422
                ? res_nextTokW.wget[8:6]
423
                : _) ==
424
               3'd0) ||
425
              (((res_scheduler_last[2]
426
                 ? res_scheduler_last[1:0]
427
                 : _) ==
428
                2'd2)
429
               ? res_scheduler_last[2] || (res_inFstHalf_usedReg[8:6] == 3'd0)
430
               : (res_inFstHalf_usedReg[8:6] == 3'd0)) ||
431
              res_inSndHalf_finishInit)))
432
Blocking rules: (none)
433
 
434
Rule: res_inSndHalf_processDeq
435
Predicate: res_inSndHalf_finishInit &&
436
           res_inSndHalf_deqIdx.whas && res_inSndHalf_deqIdx.wget[2]
437
Blocking rules: (none)
438
 
439
Rule: res_inSndHalf_processFirstReq
440
Predicate: res_inSndHalf_finishInit &&
441
           res_inSndHalf_firstIdx.whas && res_inSndHalf_firstIdx.wget[2]
442
Blocking rules: (none)
443
 
444
Rule: res_inSndHalf_processEnq
445
Predicate: res_inSndHalf_finishInit &&
446
           res_inSndHalf_enqIdx.whas && res_inSndHalf_enqIdx.wget[2]
447
Blocking rules: (none)
448
 
449
Rule: res_inSndHalf_updateFreeReg
450
Predicate: res_inSndHalf_finishInit &&
451
           ((res_inSndHalf_decrFreeIdx.whas &&
452
             res_inSndHalf_decrFreeIdx.wget[2]) ||
453
            (res_inSndHalf_deqIdx.whas && res_inSndHalf_deqIdx.wget[2]))
454
Blocking rules: (none)
455
 
456
Rule: res_inSndHalf_updateUsedReg
457
Predicate: res_inSndHalf_finishInit &&
458
           ((res_inSndHalf_enqIdx.whas && res_inSndHalf_enqIdx.wget[2]) ||
459
            (res_inSndHalf_deqIdx.whas && res_inSndHalf_deqIdx.wget[2]))
460
Blocking rules: (none)
461
 
462
Rule: res_inSndHalf_initialization
463
Predicate: ! res_inSndHalf_finishInit
464
Blocking rules: (none)
465
 
466
Rule: res_inFstHalf_processDeq
467
Predicate: res_inFstHalf_finishInit &&
468
           res_inFstHalf_deqIdx.whas && res_inFstHalf_deqIdx.wget[2]
469
Blocking rules: (none)
470
 
471
Rule: res_inFstHalf_processFirstReq
472
Predicate: res_inFstHalf_finishInit &&
473
           res_inFstHalf_firstIdx.whas && res_inFstHalf_firstIdx.wget[2]
474
Blocking rules: (none)
475
 
476
Rule: res_inFstHalf_processEnq
477
Predicate: res_inFstHalf_finishInit &&
478
           res_inFstHalf_enqIdx.whas && res_inFstHalf_enqIdx.wget[2]
479
Blocking rules: (none)
480
 
481
Rule: res_inFstHalf_updateFreeReg
482
Predicate: res_inFstHalf_finishInit &&
483
           ((res_inFstHalf_decrFreeIdx.whas &&
484
             res_inFstHalf_decrFreeIdx.wget[2]) ||
485
            (res_inFstHalf_deqIdx.whas && res_inFstHalf_deqIdx.wget[2]))
486
Blocking rules: (none)
487
 
488
Rule: res_inFstHalf_updateUsedReg
489
Predicate: res_inFstHalf_finishInit &&
490
           ((res_inFstHalf_enqIdx.whas && res_inFstHalf_enqIdx.wget[2]) ||
491
            (res_inFstHalf_deqIdx.whas && res_inFstHalf_deqIdx.wget[2]))
492
Blocking rules: (none)
493
 
494
Rule: res_inFstHalf_initialization
495
Predicate: ! res_inFstHalf_finishInit
496
Blocking rules: (none)
497
 
498
Logical execution order: outStream_putTokInfo,
499
                         inStream_putRecord,
500
                         inStream_putDeqTok,
501
                         inStream_getTokInfo,
502
                         res_feedScheduler,
503
                         res_nextToProcess,
504
                         outStream_getDeqTok_snd,
505
                         outStream_getDeqTok_fst,
506
                         res_compares,
507
                         outStream_getRecord_snd,
508
                         outStream_getRecord_fst,
509
                         res_inSndHalf_processFirstReq,
510
                         res_inSndHalf_processDeq,
511
                         res_inSndHalf_updateFreeReg,
512
                         res_inSndHalf_updateUsedReg,
513
                         res_inSndHalf_processEnq,
514
                         res_inFstHalf_processFirstReq,
515
                         res_inSndHalf_initialization,
516
                         res_inFstHalf_processDeq,
517
                         res_inFstHalf_updateFreeReg,
518
                         res_inFstHalf_updateUsedReg,
519
                         res_inFstHalf_processEnq,
520
                         res_inFstHalf_initialization
521
 
522
==========================================================

powered by: WebSVN 2.1.0

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