OpenCores
URL https://opencores.org/ocsvn/kiss-board/kiss-board/trunk

Subversion Repositories kiss-board

[/] [kiss-board/] [tags/] [initial/] [kiss-board_soc/] [src/] [extend/] [wb_dma/] [wb_dma_ch_arb.v] - Blame information for rev 11

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 fukuchi
/////////////////////////////////////////////////////////////////////
2
////                                                             ////
3
////  WISHBONE DMA Channel Arbiter                               ////
4
////                                                             ////
5
////                                                             ////
6
////  Author: Rudolf Usselmann                                   ////
7
////          rudi@asics.ws                                      ////
8
////                                                             ////
9
////                                                             ////
10
////  Downloaded from: http://www.opencores.org/cores/wb_dma/    ////
11
////                                                             ////
12
/////////////////////////////////////////////////////////////////////
13
////                                                             ////
14
//// Copyright (C) 2000-2002 Rudolf Usselmann                    ////
15
////                         www.asics.ws                        ////
16
////                         rudi@asics.ws                       ////
17
////                                                             ////
18
//// This source file may be used and distributed without        ////
19
//// restriction provided that this copyright statement is not   ////
20
//// removed from the file and that any derivative work contains ////
21
//// the original copyright notice and the associated disclaimer.////
22
////                                                             ////
23
////     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     ////
24
//// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   ////
25
//// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   ////
26
//// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      ////
27
//// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         ////
28
//// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    ////
29
//// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   ////
30
//// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        ////
31
//// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  ////
32
//// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  ////
33
//// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  ////
34
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         ////
35
//// POSSIBILITY OF SUCH DAMAGE.                                 ////
36
////                                                             ////
37
/////////////////////////////////////////////////////////////////////
38
 
39
//  CVS Log
40
//
41
//  $Id: wb_dma_ch_arb.v,v 1.1.1.1 2006-05-29 13:45:11 fukuchi Exp $
42
//
43
//  $Date: 2006-05-29 13:45:11 $
44
//  $Revision: 1.1.1.1 $
45
//  $Author: fukuchi $
46
//  $Locker:  $
47
//  $State: Exp $
48
//
49
// Change History:
50
//               $Log: not supported by cvs2svn $
51
//               Revision 1.2  2002/02/01 01:54:44  rudi
52
//
53
//               - Minor cleanup
54
//
55
//               Revision 1.1  2001/07/29 08:57:02  rudi
56
//
57
//
58
//               1) Changed Directory Structure
59
//               2) Added restart signal (REST)
60
//
61
//               Revision 1.4  2001/06/14 08:51:25  rudi
62
//
63
//
64
//               Changed Module name to match file name.
65
//
66
//               Revision 1.3  2001/06/13 02:26:46  rudi
67
//
68
//
69
//               Small changes after running lint.
70
//
71
//               Revision 1.2  2001/06/05 10:22:34  rudi
72
//
73
//
74
//               - Added Support of up to 31 channels
75
//               - Added support for 2,4 and 8 priority levels
76
//               - Now can have up to 31 channels
77
//               - Added many configuration items
78
//               - Changed reset to async
79
//
80
//               Revision 1.1.1.1  2001/03/19 13:10:47  rudi
81
//               Initial Release
82
//
83
//
84
//                        
85
 
86
`include "wb_dma_defines.v"
87
 
88
// Arbiter
89
//
90
// Implements a simple round robin arbiter for DMA channels of
91
// same priority
92
 
93
module wb_dma_ch_arb(clk, rst, req, gnt, advance);
94
 
95
input           clk;
96
input           rst;
97
input   [30:0]   req;            // Req input
98
output  [4:0]    gnt;            // Grant output
99
input           advance;        // Next Target
100
 
101
///////////////////////////////////////////////////////////////////////
102
//
103
// Definitions
104
//
105
 
106
parameter       [4:0]
107
                grant0 = 5'h0,
108
                grant1 = 5'h1,
109
                grant2 = 5'h2,
110
                grant3 = 5'h3,
111
                grant4 = 5'h4,
112
                grant5 = 5'h5,
113
                grant6 = 5'h6,
114
                grant7 = 5'h7,
115
                grant8 = 5'h8,
116
                grant9 = 5'h9,
117
                grant10 = 5'ha,
118
                grant11 = 5'hb,
119
                grant12 = 5'hc,
120
                grant13 = 5'hd,
121
                grant14 = 5'he,
122
                grant15 = 5'hf,
123
                grant16 = 5'h10,
124
                grant17 = 5'h11,
125
                grant18 = 5'h12,
126
                grant19 = 5'h13,
127
                grant20 = 5'h14,
128
                grant21 = 5'h15,
129
                grant22 = 5'h16,
130
                grant23 = 5'h17,
131
                grant24 = 5'h18,
132
                grant25 = 5'h19,
133
                grant26 = 5'h1a,
134
                grant27 = 5'h1b,
135
                grant28 = 5'h1c,
136
                grant29 = 5'h1d,
137
                grant30 = 5'h1e;
138
 
139
///////////////////////////////////////////////////////////////////////
140
//
141
// Local Registers and Wires
142
//
143
 
144
reg [4:0]        state, next_state;
145
 
146
///////////////////////////////////////////////////////////////////////
147
//
148
//  Misc Logic 
149
//
150
 
151
assign  gnt = state;
152
 
153
always@(posedge clk or negedge rst)
154
        if(!rst)        state <= #1 grant0;
155
        else            state <= #1 next_state;
156
 
157
///////////////////////////////////////////////////////////////////////
158
//
159
// Next State Logic
160
//   - implements round robin arbitration algorithm
161
//   - switches grant if current req is dropped or next is asserted
162
//   - parks at last grant
163
//
164
 
165
always@(state or req or advance)
166
   begin
167
        next_state = state;     // Default Keep State
168
        case(state)             // synopsys parallel_case full_case
169
           grant0:
170
                // if this req is dropped or next is asserted, check for other req's
171
                if(!req[0] | advance)
172
                   begin
173
                        if(req[1])      next_state = grant1;
174
                        else
175
                        if(req[2])      next_state = grant2;
176
                        else
177
                        if(req[3])      next_state = grant3;
178
                        else
179
                        if(req[4])      next_state = grant4;
180
                        else
181
                        if(req[5])      next_state = grant5;
182
                        else
183
                        if(req[6])      next_state = grant6;
184
                        else
185
                        if(req[7])      next_state = grant7;
186
                        else
187
                        if(req[8])      next_state = grant8;
188
                        else
189
                        if(req[9])      next_state = grant9;
190
                        else
191
                        if(req[10])     next_state = grant10;
192
                        else
193
                        if(req[11])     next_state = grant11;
194
                        else
195
                        if(req[12])     next_state = grant12;
196
                        else
197
                        if(req[13])     next_state = grant13;
198
                        else
199
                        if(req[14])     next_state = grant14;
200
                        else
201
                        if(req[15])     next_state = grant15;
202
                        else
203
                        if(req[16])     next_state = grant16;
204
                        else
205
                        if(req[17])     next_state = grant17;
206
                        else
207
                        if(req[18])     next_state = grant18;
208
                        else
209
                        if(req[19])     next_state = grant19;
210
                        else
211
                        if(req[20])     next_state = grant20;
212
                        else
213
                        if(req[21])     next_state = grant21;
214
                        else
215
                        if(req[22])     next_state = grant22;
216
                        else
217
                        if(req[23])     next_state = grant23;
218
                        else
219
                        if(req[24])     next_state = grant24;
220
                        else
221
                        if(req[25])     next_state = grant25;
222
                        else
223
                        if(req[26])     next_state = grant26;
224
                        else
225
                        if(req[27])     next_state = grant27;
226
                        else
227
                        if(req[28])     next_state = grant28;
228
                        else
229
                        if(req[29])     next_state = grant29;
230
                        else
231
                        if(req[30])     next_state = grant30;
232
                   end
233
           grant1:
234
                // if this req is dropped or next is asserted, check for other req's
235
                if(!req[1] | advance)
236
                   begin
237
                        if(req[2])      next_state = grant2;
238
                        else
239
                        if(req[3])      next_state = grant3;
240
                        else
241
                        if(req[4])      next_state = grant4;
242
                        else
243
                        if(req[5])      next_state = grant5;
244
                        else
245
                        if(req[6])      next_state = grant6;
246
                        else
247
                        if(req[7])      next_state = grant7;
248
                        else
249
                        if(req[8])      next_state = grant8;
250
                        else
251
                        if(req[9])      next_state = grant9;
252
                        else
253
                        if(req[10])     next_state = grant10;
254
                        else
255
                        if(req[11])     next_state = grant11;
256
                        else
257
                        if(req[12])     next_state = grant12;
258
                        else
259
                        if(req[13])     next_state = grant13;
260
                        else
261
                        if(req[14])     next_state = grant14;
262
                        else
263
                        if(req[15])     next_state = grant15;
264
                        else
265
                        if(req[16])     next_state = grant16;
266
                        else
267
                        if(req[17])     next_state = grant17;
268
                        else
269
                        if(req[18])     next_state = grant18;
270
                        else
271
                        if(req[19])     next_state = grant19;
272
                        else
273
                        if(req[20])     next_state = grant20;
274
                        else
275
                        if(req[21])     next_state = grant21;
276
                        else
277
                        if(req[22])     next_state = grant22;
278
                        else
279
                        if(req[23])     next_state = grant23;
280
                        else
281
                        if(req[24])     next_state = grant24;
282
                        else
283
                        if(req[25])     next_state = grant25;
284
                        else
285
                        if(req[26])     next_state = grant26;
286
                        else
287
                        if(req[27])     next_state = grant27;
288
                        else
289
                        if(req[28])     next_state = grant28;
290
                        else
291
                        if(req[29])     next_state = grant29;
292
                        else
293
                        if(req[30])     next_state = grant30;
294
                        else
295
                        if(req[0])       next_state = grant0;
296
                   end
297
           grant2:
298
                // if this req is dropped or next is asserted, check for other req's
299
                if(!req[2] | advance)
300
                   begin
301
                        if(req[3])      next_state = grant3;
302
                        else
303
                        if(req[4])      next_state = grant4;
304
                        else
305
                        if(req[5])      next_state = grant5;
306
                        else
307
                        if(req[6])      next_state = grant6;
308
                        else
309
                        if(req[7])      next_state = grant7;
310
                        else
311
                        if(req[8])      next_state = grant8;
312
                        else
313
                        if(req[9])      next_state = grant9;
314
                        else
315
                        if(req[10])     next_state = grant10;
316
                        else
317
                        if(req[11])     next_state = grant11;
318
                        else
319
                        if(req[12])     next_state = grant12;
320
                        else
321
                        if(req[13])     next_state = grant13;
322
                        else
323
                        if(req[14])     next_state = grant14;
324
                        else
325
                        if(req[15])     next_state = grant15;
326
                        else
327
                        if(req[16])     next_state = grant16;
328
                        else
329
                        if(req[17])     next_state = grant17;
330
                        else
331
                        if(req[18])     next_state = grant18;
332
                        else
333
                        if(req[19])     next_state = grant19;
334
                        else
335
                        if(req[20])     next_state = grant20;
336
                        else
337
                        if(req[21])     next_state = grant21;
338
                        else
339
                        if(req[22])     next_state = grant22;
340
                        else
341
                        if(req[23])     next_state = grant23;
342
                        else
343
                        if(req[24])     next_state = grant24;
344
                        else
345
                        if(req[25])     next_state = grant25;
346
                        else
347
                        if(req[26])     next_state = grant26;
348
                        else
349
                        if(req[27])     next_state = grant27;
350
                        else
351
                        if(req[28])     next_state = grant28;
352
                        else
353
                        if(req[29])     next_state = grant29;
354
                        else
355
                        if(req[30])     next_state = grant30;
356
                        else
357
                        if(req[0])       next_state = grant0;
358
                        else
359
                        if(req[1])      next_state = grant1;
360
                   end
361
           grant3:
362
                // if this req is dropped or next is asserted, check for other req's
363
                if(!req[3] | advance)
364
                   begin
365
                        if(req[4])      next_state = grant4;
366
                        else
367
                        if(req[5])      next_state = grant5;
368
                        else
369
                        if(req[6])      next_state = grant6;
370
                        else
371
                        if(req[7])      next_state = grant7;
372
                        else
373
                        if(req[8])      next_state = grant8;
374
                        else
375
                        if(req[9])      next_state = grant9;
376
                        else
377
                        if(req[10])     next_state = grant10;
378
                        else
379
                        if(req[11])     next_state = grant11;
380
                        else
381
                        if(req[12])     next_state = grant12;
382
                        else
383
                        if(req[13])     next_state = grant13;
384
                        else
385
                        if(req[14])     next_state = grant14;
386
                        else
387
                        if(req[15])     next_state = grant15;
388
                        else
389
                        if(req[16])     next_state = grant16;
390
                        else
391
                        if(req[17])     next_state = grant17;
392
                        else
393
                        if(req[18])     next_state = grant18;
394
                        else
395
                        if(req[19])     next_state = grant19;
396
                        else
397
                        if(req[20])     next_state = grant20;
398
                        else
399
                        if(req[21])     next_state = grant21;
400
                        else
401
                        if(req[22])     next_state = grant22;
402
                        else
403
                        if(req[23])     next_state = grant23;
404
                        else
405
                        if(req[24])     next_state = grant24;
406
                        else
407
                        if(req[25])     next_state = grant25;
408
                        else
409
                        if(req[26])     next_state = grant26;
410
                        else
411
                        if(req[27])     next_state = grant27;
412
                        else
413
                        if(req[28])     next_state = grant28;
414
                        else
415
                        if(req[29])     next_state = grant29;
416
                        else
417
                        if(req[30])     next_state = grant30;
418
                        else
419
                        if(req[0])       next_state = grant0;
420
                        else
421
                        if(req[1])      next_state = grant1;
422
                        else
423
                        if(req[2])      next_state = grant2;
424
                   end
425
           grant4:
426
                // if this req is dropped or next is asserted, check for other req's
427
                if(!req[4] | advance)
428
                   begin
429
                        if(req[5])      next_state = grant5;
430
                        else
431
                        if(req[6])      next_state = grant6;
432
                        else
433
                        if(req[7])      next_state = grant7;
434
                        else
435
                        if(req[8])      next_state = grant8;
436
                        else
437
                        if(req[9])      next_state = grant9;
438
                        else
439
                        if(req[10])     next_state = grant10;
440
                        else
441
                        if(req[11])     next_state = grant11;
442
                        else
443
                        if(req[12])     next_state = grant12;
444
                        else
445
                        if(req[13])     next_state = grant13;
446
                        else
447
                        if(req[14])     next_state = grant14;
448
                        else
449
                        if(req[15])     next_state = grant15;
450
                        else
451
                        if(req[16])     next_state = grant16;
452
                        else
453
                        if(req[17])     next_state = grant17;
454
                        else
455
                        if(req[18])     next_state = grant18;
456
                        else
457
                        if(req[19])     next_state = grant19;
458
                        else
459
                        if(req[20])     next_state = grant20;
460
                        else
461
                        if(req[21])     next_state = grant21;
462
                        else
463
                        if(req[22])     next_state = grant22;
464
                        else
465
                        if(req[23])     next_state = grant23;
466
                        else
467
                        if(req[24])     next_state = grant24;
468
                        else
469
                        if(req[25])     next_state = grant25;
470
                        else
471
                        if(req[26])     next_state = grant26;
472
                        else
473
                        if(req[27])     next_state = grant27;
474
                        else
475
                        if(req[28])     next_state = grant28;
476
                        else
477
                        if(req[29])     next_state = grant29;
478
                        else
479
                        if(req[30])     next_state = grant30;
480
                        else
481
                        if(req[0])       next_state = grant0;
482
                        else
483
                        if(req[1])      next_state = grant1;
484
                        else
485
                        if(req[2])      next_state = grant2;
486
                        else
487
                        if(req[3])      next_state = grant3;
488
                   end
489
           grant5:
490
                // if this req is dropped or next is asserted, check for other req's
491
                if(!req[5] | advance)
492
                   begin
493
                        if(req[6])      next_state = grant6;
494
                        else
495
                        if(req[7])      next_state = grant7;
496
                        else
497
                        if(req[8])      next_state = grant8;
498
                        else
499
                        if(req[9])      next_state = grant9;
500
                        else
501
                        if(req[10])     next_state = grant10;
502
                        else
503
                        if(req[11])     next_state = grant11;
504
                        else
505
                        if(req[12])     next_state = grant12;
506
                        else
507
                        if(req[13])     next_state = grant13;
508
                        else
509
                        if(req[14])     next_state = grant14;
510
                        else
511
                        if(req[15])     next_state = grant15;
512
                        else
513
                        if(req[16])     next_state = grant16;
514
                        else
515
                        if(req[17])     next_state = grant17;
516
                        else
517
                        if(req[18])     next_state = grant18;
518
                        else
519
                        if(req[19])     next_state = grant19;
520
                        else
521
                        if(req[20])     next_state = grant20;
522
                        else
523
                        if(req[21])     next_state = grant21;
524
                        else
525
                        if(req[22])     next_state = grant22;
526
                        else
527
                        if(req[23])     next_state = grant23;
528
                        else
529
                        if(req[24])     next_state = grant24;
530
                        else
531
                        if(req[25])     next_state = grant25;
532
                        else
533
                        if(req[26])     next_state = grant26;
534
                        else
535
                        if(req[27])     next_state = grant27;
536
                        else
537
                        if(req[28])     next_state = grant28;
538
                        else
539
                        if(req[29])     next_state = grant29;
540
                        else
541
                        if(req[30])     next_state = grant30;
542
                        else
543
                        if(req[0])       next_state = grant0;
544
                        else
545
                        if(req[1])      next_state = grant1;
546
                        else
547
                        if(req[2])      next_state = grant2;
548
                        else
549
                        if(req[3])      next_state = grant3;
550
                        else
551
                        if(req[4])      next_state = grant4;
552
                   end
553
           grant6:
554
                // if this req is dropped or next is asserted, check for other req's
555
                if(!req[6] | advance)
556
                   begin
557
                        if(req[7])      next_state = grant7;
558
                        else
559
                        if(req[8])      next_state = grant8;
560
                        else
561
                        if(req[9])      next_state = grant9;
562
                        else
563
                        if(req[10])     next_state = grant10;
564
                        else
565
                        if(req[11])     next_state = grant11;
566
                        else
567
                        if(req[12])     next_state = grant12;
568
                        else
569
                        if(req[13])     next_state = grant13;
570
                        else
571
                        if(req[14])     next_state = grant14;
572
                        else
573
                        if(req[15])     next_state = grant15;
574
                        else
575
                        if(req[16])     next_state = grant16;
576
                        else
577
                        if(req[17])     next_state = grant17;
578
                        else
579
                        if(req[18])     next_state = grant18;
580
                        else
581
                        if(req[19])     next_state = grant19;
582
                        else
583
                        if(req[20])     next_state = grant20;
584
                        else
585
                        if(req[21])     next_state = grant21;
586
                        else
587
                        if(req[22])     next_state = grant22;
588
                        else
589
                        if(req[23])     next_state = grant23;
590
                        else
591
                        if(req[24])     next_state = grant24;
592
                        else
593
                        if(req[25])     next_state = grant25;
594
                        else
595
                        if(req[26])     next_state = grant26;
596
                        else
597
                        if(req[27])     next_state = grant27;
598
                        else
599
                        if(req[28])     next_state = grant28;
600
                        else
601
                        if(req[29])     next_state = grant29;
602
                        else
603
                        if(req[30])     next_state = grant30;
604
                        else
605
                        if(req[0])       next_state = grant0;
606
                        else
607
                        if(req[1])      next_state = grant1;
608
                        else
609
                        if(req[2])      next_state = grant2;
610
                        else
611
                        if(req[3])      next_state = grant3;
612
                        else
613
                        if(req[4])      next_state = grant4;
614
                        else
615
                        if(req[5])      next_state = grant5;
616
                   end
617
           grant7:
618
                // if this req is dropped or next is asserted, check for other req's
619
                if(!req[7] | advance)
620
                   begin
621
                        if(req[8])      next_state = grant8;
622
                        else
623
                        if(req[9])      next_state = grant9;
624
                        else
625
                        if(req[10])     next_state = grant10;
626
                        else
627
                        if(req[11])     next_state = grant11;
628
                        else
629
                        if(req[12])     next_state = grant12;
630
                        else
631
                        if(req[13])     next_state = grant13;
632
                        else
633
                        if(req[14])     next_state = grant14;
634
                        else
635
                        if(req[15])     next_state = grant15;
636
                        else
637
                        if(req[16])     next_state = grant16;
638
                        else
639
                        if(req[17])     next_state = grant17;
640
                        else
641
                        if(req[18])     next_state = grant18;
642
                        else
643
                        if(req[19])     next_state = grant19;
644
                        else
645
                        if(req[20])     next_state = grant20;
646
                        else
647
                        if(req[21])     next_state = grant21;
648
                        else
649
                        if(req[22])     next_state = grant22;
650
                        else
651
                        if(req[23])     next_state = grant23;
652
                        else
653
                        if(req[24])     next_state = grant24;
654
                        else
655
                        if(req[25])     next_state = grant25;
656
                        else
657
                        if(req[26])     next_state = grant26;
658
                        else
659
                        if(req[27])     next_state = grant27;
660
                        else
661
                        if(req[28])     next_state = grant28;
662
                        else
663
                        if(req[29])     next_state = grant29;
664
                        else
665
                        if(req[30])     next_state = grant30;
666
                        else
667
                        if(req[0])       next_state = grant0;
668
                        else
669
                        if(req[1])      next_state = grant1;
670
                        else
671
                        if(req[2])      next_state = grant2;
672
                        else
673
                        if(req[3])      next_state = grant3;
674
                        else
675
                        if(req[4])      next_state = grant4;
676
                        else
677
                        if(req[5])      next_state = grant5;
678
                        else
679
                        if(req[6])      next_state = grant6;
680
                   end
681
           grant8:
682
                // if this req is dropped or next is asserted, check for other req's
683
                if(!req[8] | advance)
684
                   begin
685
                        if(req[9])      next_state = grant9;
686
                        else
687
                        if(req[10])     next_state = grant10;
688
                        else
689
                        if(req[11])     next_state = grant11;
690
                        else
691
                        if(req[12])     next_state = grant12;
692
                        else
693
                        if(req[13])     next_state = grant13;
694
                        else
695
                        if(req[14])     next_state = grant14;
696
                        else
697
                        if(req[15])     next_state = grant15;
698
                        else
699
                        if(req[16])     next_state = grant16;
700
                        else
701
                        if(req[17])     next_state = grant17;
702
                        else
703
                        if(req[18])     next_state = grant18;
704
                        else
705
                        if(req[19])     next_state = grant19;
706
                        else
707
                        if(req[20])     next_state = grant20;
708
                        else
709
                        if(req[21])     next_state = grant21;
710
                        else
711
                        if(req[22])     next_state = grant22;
712
                        else
713
                        if(req[23])     next_state = grant23;
714
                        else
715
                        if(req[24])     next_state = grant24;
716
                        else
717
                        if(req[25])     next_state = grant25;
718
                        else
719
                        if(req[26])     next_state = grant26;
720
                        else
721
                        if(req[27])     next_state = grant27;
722
                        else
723
                        if(req[28])     next_state = grant28;
724
                        else
725
                        if(req[29])     next_state = grant29;
726
                        else
727
                        if(req[30])     next_state = grant30;
728
                        else
729
                        if(req[0])       next_state = grant0;
730
                        else
731
                        if(req[1])      next_state = grant1;
732
                        else
733
                        if(req[2])      next_state = grant2;
734
                        else
735
                        if(req[3])      next_state = grant3;
736
                        else
737
                        if(req[4])      next_state = grant4;
738
                        else
739
                        if(req[5])      next_state = grant5;
740
                        else
741
                        if(req[6])      next_state = grant6;
742
                        else
743
                        if(req[7])      next_state = grant7;
744
                   end
745
           grant9:
746
                // if this req is dropped or next is asserted, check for other req's
747
                if(!req[9] | advance)
748
                   begin
749
                        if(req[10])     next_state = grant10;
750
                        else
751
                        if(req[11])     next_state = grant11;
752
                        else
753
                        if(req[12])     next_state = grant12;
754
                        else
755
                        if(req[13])     next_state = grant13;
756
                        else
757
                        if(req[14])     next_state = grant14;
758
                        else
759
                        if(req[15])     next_state = grant15;
760
                        else
761
                        if(req[16])     next_state = grant16;
762
                        else
763
                        if(req[17])     next_state = grant17;
764
                        else
765
                        if(req[18])     next_state = grant18;
766
                        else
767
                        if(req[19])     next_state = grant19;
768
                        else
769
                        if(req[20])     next_state = grant20;
770
                        else
771
                        if(req[21])     next_state = grant21;
772
                        else
773
                        if(req[22])     next_state = grant22;
774
                        else
775
                        if(req[23])     next_state = grant23;
776
                        else
777
                        if(req[24])     next_state = grant24;
778
                        else
779
                        if(req[25])     next_state = grant25;
780
                        else
781
                        if(req[26])     next_state = grant26;
782
                        else
783
                        if(req[27])     next_state = grant27;
784
                        else
785
                        if(req[28])     next_state = grant28;
786
                        else
787
                        if(req[29])     next_state = grant29;
788
                        else
789
                        if(req[30])     next_state = grant30;
790
                        else
791
                        if(req[0])       next_state = grant0;
792
                        else
793
                        if(req[1])      next_state = grant1;
794
                        else
795
                        if(req[2])      next_state = grant2;
796
                        else
797
                        if(req[3])      next_state = grant3;
798
                        else
799
                        if(req[4])      next_state = grant4;
800
                        else
801
                        if(req[5])      next_state = grant5;
802
                        else
803
                        if(req[6])      next_state = grant6;
804
                        else
805
                        if(req[7])      next_state = grant7;
806
                        else
807
                        if(req[8])      next_state = grant8;
808
                   end
809
           grant10:
810
                // if this req is dropped or next is asserted, check for other req's
811
                if(!req[10] | advance)
812
                   begin
813
                        if(req[11])     next_state = grant11;
814
                        else
815
                        if(req[12])     next_state = grant12;
816
                        else
817
                        if(req[13])     next_state = grant13;
818
                        else
819
                        if(req[14])     next_state = grant14;
820
                        else
821
                        if(req[15])     next_state = grant15;
822
                        else
823
                        if(req[16])     next_state = grant16;
824
                        else
825
                        if(req[17])     next_state = grant17;
826
                        else
827
                        if(req[18])     next_state = grant18;
828
                        else
829
                        if(req[19])     next_state = grant19;
830
                        else
831
                        if(req[20])     next_state = grant20;
832
                        else
833
                        if(req[21])     next_state = grant21;
834
                        else
835
                        if(req[22])     next_state = grant22;
836
                        else
837
                        if(req[23])     next_state = grant23;
838
                        else
839
                        if(req[24])     next_state = grant24;
840
                        else
841
                        if(req[25])     next_state = grant25;
842
                        else
843
                        if(req[26])     next_state = grant26;
844
                        else
845
                        if(req[27])     next_state = grant27;
846
                        else
847
                        if(req[28])     next_state = grant28;
848
                        else
849
                        if(req[29])     next_state = grant29;
850
                        else
851
                        if(req[30])     next_state = grant30;
852
                        else
853
                        if(req[0])       next_state = grant0;
854
                        else
855
                        if(req[1])      next_state = grant1;
856
                        else
857
                        if(req[2])      next_state = grant2;
858
                        else
859
                        if(req[3])      next_state = grant3;
860
                        else
861
                        if(req[4])      next_state = grant4;
862
                        else
863
                        if(req[5])      next_state = grant5;
864
                        else
865
                        if(req[6])      next_state = grant6;
866
                        else
867
                        if(req[7])      next_state = grant7;
868
                        else
869
                        if(req[8])      next_state = grant8;
870
                        else
871
                        if(req[9])      next_state = grant9;
872
                   end
873
           grant11:
874
                // if this req is dropped or next is asserted, check for other req's
875
                if(!req[11] | advance)
876
                   begin
877
                        if(req[12])     next_state = grant12;
878
                        else
879
                        if(req[13])     next_state = grant13;
880
                        else
881
                        if(req[14])     next_state = grant14;
882
                        else
883
                        if(req[15])     next_state = grant15;
884
                        else
885
                        if(req[16])     next_state = grant16;
886
                        else
887
                        if(req[17])     next_state = grant17;
888
                        else
889
                        if(req[18])     next_state = grant18;
890
                        else
891
                        if(req[19])     next_state = grant19;
892
                        else
893
                        if(req[20])     next_state = grant20;
894
                        else
895
                        if(req[21])     next_state = grant21;
896
                        else
897
                        if(req[22])     next_state = grant22;
898
                        else
899
                        if(req[23])     next_state = grant23;
900
                        else
901
                        if(req[24])     next_state = grant24;
902
                        else
903
                        if(req[25])     next_state = grant25;
904
                        else
905
                        if(req[26])     next_state = grant26;
906
                        else
907
                        if(req[27])     next_state = grant27;
908
                        else
909
                        if(req[28])     next_state = grant28;
910
                        else
911
                        if(req[29])     next_state = grant29;
912
                        else
913
                        if(req[30])     next_state = grant30;
914
                        else
915
                        if(req[0])       next_state = grant0;
916
                        else
917
                        if(req[1])      next_state = grant1;
918
                        else
919
                        if(req[2])      next_state = grant2;
920
                        else
921
                        if(req[3])      next_state = grant3;
922
                        else
923
                        if(req[4])      next_state = grant4;
924
                        else
925
                        if(req[5])      next_state = grant5;
926
                        else
927
                        if(req[6])      next_state = grant6;
928
                        else
929
                        if(req[7])      next_state = grant7;
930
                        else
931
                        if(req[8])      next_state = grant8;
932
                        else
933
                        if(req[9])      next_state = grant9;
934
                        else
935
                        if(req[10])     next_state = grant10;
936
                   end
937
           grant12:
938
                // if this req is dropped or next is asserted, check for other req's
939
                if(!req[12] | advance)
940
                   begin
941
                        if(req[13])     next_state = grant13;
942
                        else
943
                        if(req[14])     next_state = grant14;
944
                        else
945
                        if(req[15])     next_state = grant15;
946
                        else
947
                        if(req[16])     next_state = grant16;
948
                        else
949
                        if(req[17])     next_state = grant17;
950
                        else
951
                        if(req[18])     next_state = grant18;
952
                        else
953
                        if(req[19])     next_state = grant19;
954
                        else
955
                        if(req[20])     next_state = grant20;
956
                        else
957
                        if(req[21])     next_state = grant21;
958
                        else
959
                        if(req[22])     next_state = grant22;
960
                        else
961
                        if(req[23])     next_state = grant23;
962
                        else
963
                        if(req[24])     next_state = grant24;
964
                        else
965
                        if(req[25])     next_state = grant25;
966
                        else
967
                        if(req[26])     next_state = grant26;
968
                        else
969
                        if(req[27])     next_state = grant27;
970
                        else
971
                        if(req[28])     next_state = grant28;
972
                        else
973
                        if(req[29])     next_state = grant29;
974
                        else
975
                        if(req[30])     next_state = grant30;
976
                        else
977
                        if(req[0])       next_state = grant0;
978
                        else
979
                        if(req[1])      next_state = grant1;
980
                        else
981
                        if(req[2])      next_state = grant2;
982
                        else
983
                        if(req[3])      next_state = grant3;
984
                        else
985
                        if(req[4])      next_state = grant4;
986
                        else
987
                        if(req[5])      next_state = grant5;
988
                        else
989
                        if(req[6])      next_state = grant6;
990
                        else
991
                        if(req[7])      next_state = grant7;
992
                        else
993
                        if(req[8])      next_state = grant8;
994
                        else
995
                        if(req[9])      next_state = grant9;
996
                        else
997
                        if(req[10])     next_state = grant10;
998
                        else
999
                        if(req[11])     next_state = grant11;
1000
                   end
1001
           grant13:
1002
                // if this req is dropped or next is asserted, check for other req's
1003
                if(!req[13] | advance)
1004
                   begin
1005
                        if(req[14])     next_state = grant14;
1006
                        else
1007
                        if(req[15])     next_state = grant15;
1008
                        else
1009
                        if(req[16])     next_state = grant16;
1010
                        else
1011
                        if(req[17])     next_state = grant17;
1012
                        else
1013
                        if(req[18])     next_state = grant18;
1014
                        else
1015
                        if(req[19])     next_state = grant19;
1016
                        else
1017
                        if(req[20])     next_state = grant20;
1018
                        else
1019
                        if(req[21])     next_state = grant21;
1020
                        else
1021
                        if(req[22])     next_state = grant22;
1022
                        else
1023
                        if(req[23])     next_state = grant23;
1024
                        else
1025
                        if(req[24])     next_state = grant24;
1026
                        else
1027
                        if(req[25])     next_state = grant25;
1028
                        else
1029
                        if(req[26])     next_state = grant26;
1030
                        else
1031
                        if(req[27])     next_state = grant27;
1032
                        else
1033
                        if(req[28])     next_state = grant28;
1034
                        else
1035
                        if(req[29])     next_state = grant29;
1036
                        else
1037
                        if(req[30])     next_state = grant30;
1038
                        else
1039
                        if(req[0])       next_state = grant0;
1040
                        else
1041
                        if(req[1])      next_state = grant1;
1042
                        else
1043
                        if(req[2])      next_state = grant2;
1044
                        else
1045
                        if(req[3])      next_state = grant3;
1046
                        else
1047
                        if(req[4])      next_state = grant4;
1048
                        else
1049
                        if(req[5])      next_state = grant5;
1050
                        else
1051
                        if(req[6])      next_state = grant6;
1052
                        else
1053
                        if(req[7])      next_state = grant7;
1054
                        else
1055
                        if(req[8])      next_state = grant8;
1056
                        else
1057
                        if(req[9])      next_state = grant9;
1058
                        else
1059
                        if(req[10])     next_state = grant10;
1060
                        else
1061
                        if(req[11])     next_state = grant11;
1062
                        else
1063
                        if(req[12])     next_state = grant12;
1064
                   end
1065
           grant14:
1066
                // if this req is dropped or next is asserted, check for other req's
1067
                if(!req[14] | advance)
1068
                   begin
1069
                        if(req[15])     next_state = grant15;
1070
                        else
1071
                        if(req[16])     next_state = grant16;
1072
                        else
1073
                        if(req[17])     next_state = grant17;
1074
                        else
1075
                        if(req[18])     next_state = grant18;
1076
                        else
1077
                        if(req[19])     next_state = grant19;
1078
                        else
1079
                        if(req[20])     next_state = grant20;
1080
                        else
1081
                        if(req[21])     next_state = grant21;
1082
                        else
1083
                        if(req[22])     next_state = grant22;
1084
                        else
1085
                        if(req[23])     next_state = grant23;
1086
                        else
1087
                        if(req[24])     next_state = grant24;
1088
                        else
1089
                        if(req[25])     next_state = grant25;
1090
                        else
1091
                        if(req[26])     next_state = grant26;
1092
                        else
1093
                        if(req[27])     next_state = grant27;
1094
                        else
1095
                        if(req[28])     next_state = grant28;
1096
                        else
1097
                        if(req[29])     next_state = grant29;
1098
                        else
1099
                        if(req[30])     next_state = grant30;
1100
                        else
1101
                        if(req[0])       next_state = grant0;
1102
                        else
1103
                        if(req[1])      next_state = grant1;
1104
                        else
1105
                        if(req[2])      next_state = grant2;
1106
                        else
1107
                        if(req[3])      next_state = grant3;
1108
                        else
1109
                        if(req[4])      next_state = grant4;
1110
                        else
1111
                        if(req[5])      next_state = grant5;
1112
                        else
1113
                        if(req[6])      next_state = grant6;
1114
                        else
1115
                        if(req[7])      next_state = grant7;
1116
                        else
1117
                        if(req[8])      next_state = grant8;
1118
                        else
1119
                        if(req[9])      next_state = grant9;
1120
                        else
1121
                        if(req[10])     next_state = grant10;
1122
                        else
1123
                        if(req[11])     next_state = grant11;
1124
                        else
1125
                        if(req[12])     next_state = grant12;
1126
                        else
1127
                        if(req[13])     next_state = grant13;
1128
                   end
1129
           grant15:
1130
                // if this req is dropped or next is asserted, check for other req's
1131
                if(!req[15] | advance)
1132
                   begin
1133
                        if(req[16])     next_state = grant16;
1134
                        else
1135
                        if(req[17])     next_state = grant17;
1136
                        else
1137
                        if(req[18])     next_state = grant18;
1138
                        else
1139
                        if(req[19])     next_state = grant19;
1140
                        else
1141
                        if(req[20])     next_state = grant20;
1142
                        else
1143
                        if(req[21])     next_state = grant21;
1144
                        else
1145
                        if(req[22])     next_state = grant22;
1146
                        else
1147
                        if(req[23])     next_state = grant23;
1148
                        else
1149
                        if(req[24])     next_state = grant24;
1150
                        else
1151
                        if(req[25])     next_state = grant25;
1152
                        else
1153
                        if(req[26])     next_state = grant26;
1154
                        else
1155
                        if(req[27])     next_state = grant27;
1156
                        else
1157
                        if(req[28])     next_state = grant28;
1158
                        else
1159
                        if(req[29])     next_state = grant29;
1160
                        else
1161
                        if(req[30])     next_state = grant30;
1162
                        else
1163
                        if(req[0])       next_state = grant0;
1164
                        else
1165
                        if(req[1])      next_state = grant1;
1166
                        else
1167
                        if(req[2])      next_state = grant2;
1168
                        else
1169
                        if(req[3])      next_state = grant3;
1170
                        else
1171
                        if(req[4])      next_state = grant4;
1172
                        else
1173
                        if(req[5])      next_state = grant5;
1174
                        else
1175
                        if(req[6])      next_state = grant6;
1176
                        else
1177
                        if(req[7])      next_state = grant7;
1178
                        else
1179
                        if(req[8])      next_state = grant8;
1180
                        else
1181
                        if(req[9])      next_state = grant9;
1182
                        else
1183
                        if(req[10])     next_state = grant10;
1184
                        else
1185
                        if(req[11])     next_state = grant11;
1186
                        else
1187
                        if(req[12])     next_state = grant12;
1188
                        else
1189
                        if(req[13])     next_state = grant13;
1190
                        else
1191
                        if(req[14])     next_state = grant14;
1192
                   end
1193
           grant16:
1194
                // if this req is dropped or next is asserted, check for other req's
1195
                if(!req[16] | advance)
1196
                   begin
1197
                        if(req[17])     next_state = grant17;
1198
                        else
1199
                        if(req[18])     next_state = grant18;
1200
                        else
1201
                        if(req[19])     next_state = grant19;
1202
                        else
1203
                        if(req[20])     next_state = grant20;
1204
                        else
1205
                        if(req[21])     next_state = grant21;
1206
                        else
1207
                        if(req[22])     next_state = grant22;
1208
                        else
1209
                        if(req[23])     next_state = grant23;
1210
                        else
1211
                        if(req[24])     next_state = grant24;
1212
                        else
1213
                        if(req[25])     next_state = grant25;
1214
                        else
1215
                        if(req[26])     next_state = grant26;
1216
                        else
1217
                        if(req[27])     next_state = grant27;
1218
                        else
1219
                        if(req[28])     next_state = grant28;
1220
                        else
1221
                        if(req[29])     next_state = grant29;
1222
                        else
1223
                        if(req[30])     next_state = grant30;
1224
                        else
1225
                        if(req[0])       next_state = grant0;
1226
                        else
1227
                        if(req[1])      next_state = grant1;
1228
                        else
1229
                        if(req[2])      next_state = grant2;
1230
                        else
1231
                        if(req[3])      next_state = grant3;
1232
                        else
1233
                        if(req[4])      next_state = grant4;
1234
                        else
1235
                        if(req[5])      next_state = grant5;
1236
                        else
1237
                        if(req[6])      next_state = grant6;
1238
                        else
1239
                        if(req[7])      next_state = grant7;
1240
                        else
1241
                        if(req[8])      next_state = grant8;
1242
                        else
1243
                        if(req[9])      next_state = grant9;
1244
                        else
1245
                        if(req[10])     next_state = grant10;
1246
                        else
1247
                        if(req[11])     next_state = grant11;
1248
                        else
1249
                        if(req[12])     next_state = grant12;
1250
                        else
1251
                        if(req[13])     next_state = grant13;
1252
                        else
1253
                        if(req[14])     next_state = grant14;
1254
                        else
1255
                        if(req[15])     next_state = grant15;
1256
                   end
1257
           grant17:
1258
                // if this req is dropped or next is asserted, check for other req's
1259
                if(!req[17] | advance)
1260
                   begin
1261
                        if(req[18])     next_state = grant18;
1262
                        else
1263
                        if(req[19])     next_state = grant19;
1264
                        else
1265
                        if(req[20])     next_state = grant20;
1266
                        else
1267
                        if(req[21])     next_state = grant21;
1268
                        else
1269
                        if(req[22])     next_state = grant22;
1270
                        else
1271
                        if(req[23])     next_state = grant23;
1272
                        else
1273
                        if(req[24])     next_state = grant24;
1274
                        else
1275
                        if(req[25])     next_state = grant25;
1276
                        else
1277
                        if(req[26])     next_state = grant26;
1278
                        else
1279
                        if(req[27])     next_state = grant27;
1280
                        else
1281
                        if(req[28])     next_state = grant28;
1282
                        else
1283
                        if(req[29])     next_state = grant29;
1284
                        else
1285
                        if(req[30])     next_state = grant30;
1286
                        else
1287
                        if(req[0])       next_state = grant0;
1288
                        else
1289
                        if(req[1])      next_state = grant1;
1290
                        else
1291
                        if(req[2])      next_state = grant2;
1292
                        else
1293
                        if(req[3])      next_state = grant3;
1294
                        else
1295
                        if(req[4])      next_state = grant4;
1296
                        else
1297
                        if(req[5])      next_state = grant5;
1298
                        else
1299
                        if(req[6])      next_state = grant6;
1300
                        else
1301
                        if(req[7])      next_state = grant7;
1302
                        else
1303
                        if(req[8])      next_state = grant8;
1304
                        else
1305
                        if(req[9])      next_state = grant9;
1306
                        else
1307
                        if(req[10])     next_state = grant10;
1308
                        else
1309
                        if(req[11])     next_state = grant11;
1310
                        else
1311
                        if(req[12])     next_state = grant12;
1312
                        else
1313
                        if(req[13])     next_state = grant13;
1314
                        else
1315
                        if(req[14])     next_state = grant14;
1316
                        else
1317
                        if(req[15])     next_state = grant15;
1318
                        else
1319
                        if(req[16])     next_state = grant16;
1320
                   end
1321
           grant18:
1322
                // if this req is dropped or next is asserted, check for other req's
1323
                if(!req[18] | advance)
1324
                   begin
1325
                        if(req[19])     next_state = grant19;
1326
                        else
1327
                        if(req[20])     next_state = grant20;
1328
                        else
1329
                        if(req[21])     next_state = grant21;
1330
                        else
1331
                        if(req[22])     next_state = grant22;
1332
                        else
1333
                        if(req[23])     next_state = grant23;
1334
                        else
1335
                        if(req[24])     next_state = grant24;
1336
                        else
1337
                        if(req[25])     next_state = grant25;
1338
                        else
1339
                        if(req[26])     next_state = grant26;
1340
                        else
1341
                        if(req[27])     next_state = grant27;
1342
                        else
1343
                        if(req[28])     next_state = grant28;
1344
                        else
1345
                        if(req[29])     next_state = grant29;
1346
                        else
1347
                        if(req[30])     next_state = grant30;
1348
                        else
1349
                        if(req[0])       next_state = grant0;
1350
                        else
1351
                        if(req[1])      next_state = grant1;
1352
                        else
1353
                        if(req[2])      next_state = grant2;
1354
                        else
1355
                        if(req[3])      next_state = grant3;
1356
                        else
1357
                        if(req[4])      next_state = grant4;
1358
                        else
1359
                        if(req[5])      next_state = grant5;
1360
                        else
1361
                        if(req[6])      next_state = grant6;
1362
                        else
1363
                        if(req[7])      next_state = grant7;
1364
                        else
1365
                        if(req[8])      next_state = grant8;
1366
                        else
1367
                        if(req[9])      next_state = grant9;
1368
                        else
1369
                        if(req[10])     next_state = grant10;
1370
                        else
1371
                        if(req[11])     next_state = grant11;
1372
                        else
1373
                        if(req[12])     next_state = grant12;
1374
                        else
1375
                        if(req[13])     next_state = grant13;
1376
                        else
1377
                        if(req[14])     next_state = grant14;
1378
                        else
1379
                        if(req[15])     next_state = grant15;
1380
                        else
1381
                        if(req[16])     next_state = grant16;
1382
                        else
1383
                        if(req[17])     next_state = grant17;
1384
                   end
1385
           grant19:
1386
                // if this req is dropped or next is asserted, check for other req's
1387
                if(!req[19] | advance)
1388
                   begin
1389
                        if(req[20])     next_state = grant20;
1390
                        else
1391
                        if(req[21])     next_state = grant21;
1392
                        else
1393
                        if(req[22])     next_state = grant22;
1394
                        else
1395
                        if(req[23])     next_state = grant23;
1396
                        else
1397
                        if(req[24])     next_state = grant24;
1398
                        else
1399
                        if(req[25])     next_state = grant25;
1400
                        else
1401
                        if(req[26])     next_state = grant26;
1402
                        else
1403
                        if(req[27])     next_state = grant27;
1404
                        else
1405
                        if(req[28])     next_state = grant28;
1406
                        else
1407
                        if(req[29])     next_state = grant29;
1408
                        else
1409
                        if(req[30])     next_state = grant30;
1410
                        else
1411
                        if(req[0])       next_state = grant0;
1412
                        else
1413
                        if(req[1])      next_state = grant1;
1414
                        else
1415
                        if(req[2])      next_state = grant2;
1416
                        else
1417
                        if(req[3])      next_state = grant3;
1418
                        else
1419
                        if(req[4])      next_state = grant4;
1420
                        else
1421
                        if(req[5])      next_state = grant5;
1422
                        else
1423
                        if(req[6])      next_state = grant6;
1424
                        else
1425
                        if(req[7])      next_state = grant7;
1426
                        else
1427
                        if(req[8])      next_state = grant8;
1428
                        else
1429
                        if(req[9])      next_state = grant9;
1430
                        else
1431
                        if(req[10])     next_state = grant10;
1432
                        else
1433
                        if(req[11])     next_state = grant11;
1434
                        else
1435
                        if(req[12])     next_state = grant12;
1436
                        else
1437
                        if(req[13])     next_state = grant13;
1438
                        else
1439
                        if(req[14])     next_state = grant14;
1440
                        else
1441
                        if(req[15])     next_state = grant15;
1442
                        else
1443
                        if(req[16])     next_state = grant16;
1444
                        else
1445
                        if(req[17])     next_state = grant17;
1446
                        else
1447
                        if(req[18])     next_state = grant18;
1448
                   end
1449
           grant20:
1450
                // if this req is dropped or next is asserted, check for other req's
1451
                if(!req[20] | advance)
1452
                   begin
1453
                        if(req[21])     next_state = grant21;
1454
                        else
1455
                        if(req[22])     next_state = grant22;
1456
                        else
1457
                        if(req[23])     next_state = grant23;
1458
                        else
1459
                        if(req[24])     next_state = grant24;
1460
                        else
1461
                        if(req[25])     next_state = grant25;
1462
                        else
1463
                        if(req[26])     next_state = grant26;
1464
                        else
1465
                        if(req[27])     next_state = grant27;
1466
                        else
1467
                        if(req[28])     next_state = grant28;
1468
                        else
1469
                        if(req[29])     next_state = grant29;
1470
                        else
1471
                        if(req[30])     next_state = grant30;
1472
                        else
1473
                        if(req[0])       next_state = grant0;
1474
                        else
1475
                        if(req[1])      next_state = grant1;
1476
                        else
1477
                        if(req[2])      next_state = grant2;
1478
                        else
1479
                        if(req[3])      next_state = grant3;
1480
                        else
1481
                        if(req[4])      next_state = grant4;
1482
                        else
1483
                        if(req[5])      next_state = grant5;
1484
                        else
1485
                        if(req[6])      next_state = grant6;
1486
                        else
1487
                        if(req[7])      next_state = grant7;
1488
                        else
1489
                        if(req[8])      next_state = grant8;
1490
                        else
1491
                        if(req[9])      next_state = grant9;
1492
                        else
1493
                        if(req[10])     next_state = grant10;
1494
                        else
1495
                        if(req[11])     next_state = grant11;
1496
                        else
1497
                        if(req[12])     next_state = grant12;
1498
                        else
1499
                        if(req[13])     next_state = grant13;
1500
                        else
1501
                        if(req[14])     next_state = grant14;
1502
                        else
1503
                        if(req[15])     next_state = grant15;
1504
                        else
1505
                        if(req[16])     next_state = grant16;
1506
                        else
1507
                        if(req[17])     next_state = grant17;
1508
                        else
1509
                        if(req[18])     next_state = grant18;
1510
                        else
1511
                        if(req[19])     next_state = grant19;
1512
                   end
1513
           grant21:
1514
                // if this req is dropped or next is asserted, check for other req's
1515
                if(!req[21] | advance)
1516
                   begin
1517
                        if(req[22])     next_state = grant22;
1518
                        else
1519
                        if(req[23])     next_state = grant23;
1520
                        else
1521
                        if(req[24])     next_state = grant24;
1522
                        else
1523
                        if(req[25])     next_state = grant25;
1524
                        else
1525
                        if(req[26])     next_state = grant26;
1526
                        else
1527
                        if(req[27])     next_state = grant27;
1528
                        else
1529
                        if(req[28])     next_state = grant28;
1530
                        else
1531
                        if(req[29])     next_state = grant29;
1532
                        else
1533
                        if(req[30])     next_state = grant30;
1534
                        else
1535
                        if(req[0])       next_state = grant0;
1536
                        else
1537
                        if(req[1])      next_state = grant1;
1538
                        else
1539
                        if(req[2])      next_state = grant2;
1540
                        else
1541
                        if(req[3])      next_state = grant3;
1542
                        else
1543
                        if(req[4])      next_state = grant4;
1544
                        else
1545
                        if(req[5])      next_state = grant5;
1546
                        else
1547
                        if(req[6])      next_state = grant6;
1548
                        else
1549
                        if(req[7])      next_state = grant7;
1550
                        else
1551
                        if(req[8])      next_state = grant8;
1552
                        else
1553
                        if(req[9])      next_state = grant9;
1554
                        else
1555
                        if(req[10])     next_state = grant10;
1556
                        else
1557
                        if(req[11])     next_state = grant11;
1558
                        else
1559
                        if(req[12])     next_state = grant12;
1560
                        else
1561
                        if(req[13])     next_state = grant13;
1562
                        else
1563
                        if(req[14])     next_state = grant14;
1564
                        else
1565
                        if(req[15])     next_state = grant15;
1566
                        else
1567
                        if(req[16])     next_state = grant16;
1568
                        else
1569
                        if(req[17])     next_state = grant17;
1570
                        else
1571
                        if(req[18])     next_state = grant18;
1572
                        else
1573
                        if(req[19])     next_state = grant19;
1574
                        else
1575
                        if(req[20])     next_state = grant20;
1576
                   end
1577
           grant22:
1578
                // if this req is dropped or next is asserted, check for other req's
1579
                if(!req[22] | advance)
1580
                   begin
1581
                        if(req[23])     next_state = grant23;
1582
                        else
1583
                        if(req[24])     next_state = grant24;
1584
                        else
1585
                        if(req[25])     next_state = grant25;
1586
                        else
1587
                        if(req[26])     next_state = grant26;
1588
                        else
1589
                        if(req[27])     next_state = grant27;
1590
                        else
1591
                        if(req[28])     next_state = grant28;
1592
                        else
1593
                        if(req[29])     next_state = grant29;
1594
                        else
1595
                        if(req[30])     next_state = grant30;
1596
                        else
1597
                        if(req[0])       next_state = grant0;
1598
                        else
1599
                        if(req[1])      next_state = grant1;
1600
                        else
1601
                        if(req[2])      next_state = grant2;
1602
                        else
1603
                        if(req[3])      next_state = grant3;
1604
                        else
1605
                        if(req[4])      next_state = grant4;
1606
                        else
1607
                        if(req[5])      next_state = grant5;
1608
                        else
1609
                        if(req[6])      next_state = grant6;
1610
                        else
1611
                        if(req[7])      next_state = grant7;
1612
                        else
1613
                        if(req[8])      next_state = grant8;
1614
                        else
1615
                        if(req[9])      next_state = grant9;
1616
                        else
1617
                        if(req[10])     next_state = grant10;
1618
                        else
1619
                        if(req[11])     next_state = grant11;
1620
                        else
1621
                        if(req[12])     next_state = grant12;
1622
                        else
1623
                        if(req[13])     next_state = grant13;
1624
                        else
1625
                        if(req[14])     next_state = grant14;
1626
                        else
1627
                        if(req[15])     next_state = grant15;
1628
                        else
1629
                        if(req[16])     next_state = grant16;
1630
                        else
1631
                        if(req[17])     next_state = grant17;
1632
                        else
1633
                        if(req[18])     next_state = grant18;
1634
                        else
1635
                        if(req[19])     next_state = grant19;
1636
                        else
1637
                        if(req[20])     next_state = grant20;
1638
                        else
1639
                        if(req[21])     next_state = grant21;
1640
                   end
1641
           grant23:
1642
                // if this req is dropped or next is asserted, check for other req's
1643
                if(!req[23] | advance)
1644
                   begin
1645
                        if(req[24])     next_state = grant24;
1646
                        else
1647
                        if(req[25])     next_state = grant25;
1648
                        else
1649
                        if(req[26])     next_state = grant26;
1650
                        else
1651
                        if(req[27])     next_state = grant27;
1652
                        else
1653
                        if(req[28])     next_state = grant28;
1654
                        else
1655
                        if(req[29])     next_state = grant29;
1656
                        else
1657
                        if(req[30])     next_state = grant30;
1658
                        else
1659
                        if(req[0])       next_state = grant0;
1660
                        else
1661
                        if(req[1])      next_state = grant1;
1662
                        else
1663
                        if(req[2])      next_state = grant2;
1664
                        else
1665
                        if(req[3])      next_state = grant3;
1666
                        else
1667
                        if(req[4])      next_state = grant4;
1668
                        else
1669
                        if(req[5])      next_state = grant5;
1670
                        else
1671
                        if(req[6])      next_state = grant6;
1672
                        else
1673
                        if(req[7])      next_state = grant7;
1674
                        else
1675
                        if(req[8])      next_state = grant8;
1676
                        else
1677
                        if(req[9])      next_state = grant9;
1678
                        else
1679
                        if(req[10])     next_state = grant10;
1680
                        else
1681
                        if(req[11])     next_state = grant11;
1682
                        else
1683
                        if(req[12])     next_state = grant12;
1684
                        else
1685
                        if(req[13])     next_state = grant13;
1686
                        else
1687
                        if(req[14])     next_state = grant14;
1688
                        else
1689
                        if(req[15])     next_state = grant15;
1690
                        else
1691
                        if(req[16])     next_state = grant16;
1692
                        else
1693
                        if(req[17])     next_state = grant17;
1694
                        else
1695
                        if(req[18])     next_state = grant18;
1696
                        else
1697
                        if(req[19])     next_state = grant19;
1698
                        else
1699
                        if(req[20])     next_state = grant20;
1700
                        else
1701
                        if(req[21])     next_state = grant21;
1702
                        else
1703
                        if(req[22])     next_state = grant22;
1704
                   end
1705
           grant24:
1706
                // if this req is dropped or next is asserted, check for other req's
1707
                if(!req[24] | advance)
1708
                   begin
1709
                        if(req[25])     next_state = grant25;
1710
                        else
1711
                        if(req[26])     next_state = grant26;
1712
                        else
1713
                        if(req[27])     next_state = grant27;
1714
                        else
1715
                        if(req[28])     next_state = grant28;
1716
                        else
1717
                        if(req[29])     next_state = grant29;
1718
                        else
1719
                        if(req[30])     next_state = grant30;
1720
                        else
1721
                        if(req[0])       next_state = grant0;
1722
                        else
1723
                        if(req[1])      next_state = grant1;
1724
                        else
1725
                        if(req[2])      next_state = grant2;
1726
                        else
1727
                        if(req[3])      next_state = grant3;
1728
                        else
1729
                        if(req[4])      next_state = grant4;
1730
                        else
1731
                        if(req[5])      next_state = grant5;
1732
                        else
1733
                        if(req[6])      next_state = grant6;
1734
                        else
1735
                        if(req[7])      next_state = grant7;
1736
                        else
1737
                        if(req[8])      next_state = grant8;
1738
                        else
1739
                        if(req[9])      next_state = grant9;
1740
                        else
1741
                        if(req[10])     next_state = grant10;
1742
                        else
1743
                        if(req[11])     next_state = grant11;
1744
                        else
1745
                        if(req[12])     next_state = grant12;
1746
                        else
1747
                        if(req[13])     next_state = grant13;
1748
                        else
1749
                        if(req[14])     next_state = grant14;
1750
                        else
1751
                        if(req[15])     next_state = grant15;
1752
                        else
1753
                        if(req[16])     next_state = grant16;
1754
                        else
1755
                        if(req[17])     next_state = grant17;
1756
                        else
1757
                        if(req[18])     next_state = grant18;
1758
                        else
1759
                        if(req[19])     next_state = grant19;
1760
                        else
1761
                        if(req[20])     next_state = grant20;
1762
                        else
1763
                        if(req[21])     next_state = grant21;
1764
                        else
1765
                        if(req[22])     next_state = grant22;
1766
                        else
1767
                        if(req[23])     next_state = grant23;
1768
                   end
1769
           grant25:
1770
                // if this req is dropped or next is asserted, check for other req's
1771
                if(!req[25] | advance)
1772
                   begin
1773
                        if(req[26])     next_state = grant26;
1774
                        else
1775
                        if(req[27])     next_state = grant27;
1776
                        else
1777
                        if(req[28])     next_state = grant28;
1778
                        else
1779
                        if(req[29])     next_state = grant29;
1780
                        else
1781
                        if(req[30])     next_state = grant30;
1782
                        else
1783
                        if(req[0])       next_state = grant0;
1784
                        else
1785
                        if(req[1])      next_state = grant1;
1786
                        else
1787
                        if(req[2])      next_state = grant2;
1788
                        else
1789
                        if(req[3])      next_state = grant3;
1790
                        else
1791
                        if(req[4])      next_state = grant4;
1792
                        else
1793
                        if(req[5])      next_state = grant5;
1794
                        else
1795
                        if(req[6])      next_state = grant6;
1796
                        else
1797
                        if(req[7])      next_state = grant7;
1798
                        else
1799
                        if(req[8])      next_state = grant8;
1800
                        else
1801
                        if(req[9])      next_state = grant9;
1802
                        else
1803
                        if(req[10])     next_state = grant10;
1804
                        else
1805
                        if(req[11])     next_state = grant11;
1806
                        else
1807
                        if(req[12])     next_state = grant12;
1808
                        else
1809
                        if(req[13])     next_state = grant13;
1810
                        else
1811
                        if(req[14])     next_state = grant14;
1812
                        else
1813
                        if(req[15])     next_state = grant15;
1814
                        else
1815
                        if(req[16])     next_state = grant16;
1816
                        else
1817
                        if(req[17])     next_state = grant17;
1818
                        else
1819
                        if(req[18])     next_state = grant18;
1820
                        else
1821
                        if(req[19])     next_state = grant19;
1822
                        else
1823
                        if(req[20])     next_state = grant20;
1824
                        else
1825
                        if(req[21])     next_state = grant21;
1826
                        else
1827
                        if(req[22])     next_state = grant22;
1828
                        else
1829
                        if(req[23])     next_state = grant23;
1830
                        else
1831
                        if(req[24])     next_state = grant24;
1832
                   end
1833
           grant26:
1834
                // if this req is dropped or next is asserted, check for other req's
1835
                if(!req[26] | advance)
1836
                   begin
1837
                        if(req[27])     next_state = grant27;
1838
                        else
1839
                        if(req[28])     next_state = grant28;
1840
                        else
1841
                        if(req[29])     next_state = grant29;
1842
                        else
1843
                        if(req[30])     next_state = grant30;
1844
                        else
1845
                        if(req[0])       next_state = grant0;
1846
                        else
1847
                        if(req[1])      next_state = grant1;
1848
                        else
1849
                        if(req[2])      next_state = grant2;
1850
                        else
1851
                        if(req[3])      next_state = grant3;
1852
                        else
1853
                        if(req[4])      next_state = grant4;
1854
                        else
1855
                        if(req[5])      next_state = grant5;
1856
                        else
1857
                        if(req[6])      next_state = grant6;
1858
                        else
1859
                        if(req[7])      next_state = grant7;
1860
                        else
1861
                        if(req[8])      next_state = grant8;
1862
                        else
1863
                        if(req[9])      next_state = grant9;
1864
                        else
1865
                        if(req[10])     next_state = grant10;
1866
                        else
1867
                        if(req[11])     next_state = grant11;
1868
                        else
1869
                        if(req[12])     next_state = grant12;
1870
                        else
1871
                        if(req[13])     next_state = grant13;
1872
                        else
1873
                        if(req[14])     next_state = grant14;
1874
                        else
1875
                        if(req[15])     next_state = grant15;
1876
                        else
1877
                        if(req[16])     next_state = grant16;
1878
                        else
1879
                        if(req[17])     next_state = grant17;
1880
                        else
1881
                        if(req[18])     next_state = grant18;
1882
                        else
1883
                        if(req[19])     next_state = grant19;
1884
                        else
1885
                        if(req[20])     next_state = grant20;
1886
                        else
1887
                        if(req[21])     next_state = grant21;
1888
                        else
1889
                        if(req[22])     next_state = grant22;
1890
                        else
1891
                        if(req[23])     next_state = grant23;
1892
                        else
1893
                        if(req[24])     next_state = grant24;
1894
                        else
1895
                        if(req[25])     next_state = grant25;
1896
                   end
1897
           grant27:
1898
                // if this req is dropped or next is asserted, check for other req's
1899
                if(!req[27] | advance)
1900
                   begin
1901
                        if(req[28])     next_state = grant28;
1902
                        else
1903
                        if(req[29])     next_state = grant29;
1904
                        else
1905
                        if(req[30])     next_state = grant30;
1906
                        else
1907
                        if(req[0])       next_state = grant0;
1908
                        else
1909
                        if(req[1])      next_state = grant1;
1910
                        else
1911
                        if(req[2])      next_state = grant2;
1912
                        else
1913
                        if(req[3])      next_state = grant3;
1914
                        else
1915
                        if(req[4])      next_state = grant4;
1916
                        else
1917
                        if(req[5])      next_state = grant5;
1918
                        else
1919
                        if(req[6])      next_state = grant6;
1920
                        else
1921
                        if(req[7])      next_state = grant7;
1922
                        else
1923
                        if(req[8])      next_state = grant8;
1924
                        else
1925
                        if(req[9])      next_state = grant9;
1926
                        else
1927
                        if(req[10])     next_state = grant10;
1928
                        else
1929
                        if(req[11])     next_state = grant11;
1930
                        else
1931
                        if(req[12])     next_state = grant12;
1932
                        else
1933
                        if(req[13])     next_state = grant13;
1934
                        else
1935
                        if(req[14])     next_state = grant14;
1936
                        else
1937
                        if(req[15])     next_state = grant15;
1938
                        else
1939
                        if(req[16])     next_state = grant16;
1940
                        else
1941
                        if(req[17])     next_state = grant17;
1942
                        else
1943
                        if(req[18])     next_state = grant18;
1944
                        else
1945
                        if(req[19])     next_state = grant19;
1946
                        else
1947
                        if(req[20])     next_state = grant20;
1948
                        else
1949
                        if(req[21])     next_state = grant21;
1950
                        else
1951
                        if(req[22])     next_state = grant22;
1952
                        else
1953
                        if(req[23])     next_state = grant23;
1954
                        else
1955
                        if(req[24])     next_state = grant24;
1956
                        else
1957
                        if(req[25])     next_state = grant25;
1958
                        else
1959
                        if(req[26])     next_state = grant26;
1960
                   end
1961
           grant28:
1962
                // if this req is dropped or next is asserted, check for other req's
1963
                if(!req[28] | advance)
1964
                   begin
1965
                        if(req[29])     next_state = grant29;
1966
                        else
1967
                        if(req[30])     next_state = grant30;
1968
                        else
1969
                        if(req[0])       next_state = grant0;
1970
                        else
1971
                        if(req[1])      next_state = grant1;
1972
                        else
1973
                        if(req[2])      next_state = grant2;
1974
                        else
1975
                        if(req[3])      next_state = grant3;
1976
                        else
1977
                        if(req[4])      next_state = grant4;
1978
                        else
1979
                        if(req[5])      next_state = grant5;
1980
                        else
1981
                        if(req[6])      next_state = grant6;
1982
                        else
1983
                        if(req[7])      next_state = grant7;
1984
                        else
1985
                        if(req[8])      next_state = grant8;
1986
                        else
1987
                        if(req[9])      next_state = grant9;
1988
                        else
1989
                        if(req[10])     next_state = grant10;
1990
                        else
1991
                        if(req[11])     next_state = grant11;
1992
                        else
1993
                        if(req[12])     next_state = grant12;
1994
                        else
1995
                        if(req[13])     next_state = grant13;
1996
                        else
1997
                        if(req[14])     next_state = grant14;
1998
                        else
1999
                        if(req[15])     next_state = grant15;
2000
                        else
2001
                        if(req[16])     next_state = grant16;
2002
                        else
2003
                        if(req[17])     next_state = grant17;
2004
                        else
2005
                        if(req[18])     next_state = grant18;
2006
                        else
2007
                        if(req[19])     next_state = grant19;
2008
                        else
2009
                        if(req[20])     next_state = grant20;
2010
                        else
2011
                        if(req[21])     next_state = grant21;
2012
                        else
2013
                        if(req[22])     next_state = grant22;
2014
                        else
2015
                        if(req[23])     next_state = grant23;
2016
                        else
2017
                        if(req[24])     next_state = grant24;
2018
                        else
2019
                        if(req[25])     next_state = grant25;
2020
                        else
2021
                        if(req[26])     next_state = grant26;
2022
                        else
2023
                        if(req[27])     next_state = grant27;
2024
                   end
2025
           grant29:
2026
                // if this req is dropped or next is asserted, check for other req's
2027
                if(!req[29] | advance)
2028
                   begin
2029
                        if(req[30])     next_state = grant30;
2030
                        else
2031
                        if(req[0])       next_state = grant0;
2032
                        else
2033
                        if(req[1])      next_state = grant1;
2034
                        else
2035
                        if(req[2])      next_state = grant2;
2036
                        else
2037
                        if(req[3])      next_state = grant3;
2038
                        else
2039
                        if(req[4])      next_state = grant4;
2040
                        else
2041
                        if(req[5])      next_state = grant5;
2042
                        else
2043
                        if(req[6])      next_state = grant6;
2044
                        else
2045
                        if(req[7])      next_state = grant7;
2046
                        else
2047
                        if(req[8])      next_state = grant8;
2048
                        else
2049
                        if(req[9])      next_state = grant9;
2050
                        else
2051
                        if(req[10])     next_state = grant10;
2052
                        else
2053
                        if(req[11])     next_state = grant11;
2054
                        else
2055
                        if(req[12])     next_state = grant12;
2056
                        else
2057
                        if(req[13])     next_state = grant13;
2058
                        else
2059
                        if(req[14])     next_state = grant14;
2060
                        else
2061
                        if(req[15])     next_state = grant15;
2062
                        else
2063
                        if(req[16])     next_state = grant16;
2064
                        else
2065
                        if(req[17])     next_state = grant17;
2066
                        else
2067
                        if(req[18])     next_state = grant18;
2068
                        else
2069
                        if(req[19])     next_state = grant19;
2070
                        else
2071
                        if(req[20])     next_state = grant20;
2072
                        else
2073
                        if(req[21])     next_state = grant21;
2074
                        else
2075
                        if(req[22])     next_state = grant22;
2076
                        else
2077
                        if(req[23])     next_state = grant23;
2078
                        else
2079
                        if(req[24])     next_state = grant24;
2080
                        else
2081
                        if(req[25])     next_state = grant25;
2082
                        else
2083
                        if(req[26])     next_state = grant26;
2084
                        else
2085
                        if(req[27])     next_state = grant27;
2086
                        else
2087
                        if(req[28])     next_state = grant28;
2088
                   end
2089
           grant30:
2090
                // if this req is dropped or next is asserted, check for other req's
2091
                if(!req[30] | advance)
2092
                   begin
2093
                        if(req[0])       next_state = grant0;
2094
                        else
2095
                        if(req[1])      next_state = grant1;
2096
                        else
2097
                        if(req[2])      next_state = grant2;
2098
                        else
2099
                        if(req[3])      next_state = grant3;
2100
                        else
2101
                        if(req[4])      next_state = grant4;
2102
                        else
2103
                        if(req[5])      next_state = grant5;
2104
                        else
2105
                        if(req[6])      next_state = grant6;
2106
                        else
2107
                        if(req[7])      next_state = grant7;
2108
                        else
2109
                        if(req[8])      next_state = grant8;
2110
                        else
2111
                        if(req[9])      next_state = grant9;
2112
                        else
2113
                        if(req[10])     next_state = grant10;
2114
                        else
2115
                        if(req[11])     next_state = grant11;
2116
                        else
2117
                        if(req[12])     next_state = grant12;
2118
                        else
2119
                        if(req[13])     next_state = grant13;
2120
                        else
2121
                        if(req[14])     next_state = grant14;
2122
                        else
2123
                        if(req[15])     next_state = grant15;
2124
                        else
2125
                        if(req[16])     next_state = grant16;
2126
                        else
2127
                        if(req[17])     next_state = grant17;
2128
                        else
2129
                        if(req[18])     next_state = grant18;
2130
                        else
2131
                        if(req[19])     next_state = grant19;
2132
                        else
2133
                        if(req[20])     next_state = grant20;
2134
                        else
2135
                        if(req[21])     next_state = grant21;
2136
                        else
2137
                        if(req[22])     next_state = grant22;
2138
                        else
2139
                        if(req[23])     next_state = grant23;
2140
                        else
2141
                        if(req[24])     next_state = grant24;
2142
                        else
2143
                        if(req[25])     next_state = grant25;
2144
                        else
2145
                        if(req[26])     next_state = grant26;
2146
                        else
2147
                        if(req[27])     next_state = grant27;
2148
                        else
2149
                        if(req[28])     next_state = grant28;
2150
                        else
2151
                        if(req[29])     next_state = grant29;
2152
                   end
2153
        endcase
2154
   end
2155
 
2156
endmodule
2157
 

powered by: WebSVN 2.1.0

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