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

Subversion Repositories wb_dma

[/] [wb_dma/] [trunk/] [rtl/] [verilog/] [wb_dma_ch_arb.v] - Diff between revs 15 and 17

Only display areas with differences | Details | Blame | View Log

Rev 15 Rev 17
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
////                                                             ////
////                                                             ////
////  WISHBONE DMA Channel Arbiter                               ////
////  WISHBONE DMA Channel Arbiter                               ////
////                                                             ////
////                                                             ////
////                                                             ////
////                                                             ////
////  Author: Rudolf Usselmann                                   ////
////  Author: Rudolf Usselmann                                   ////
////          rudi@asics.ws                                      ////
////          rudi@asics.ws                                      ////
////                                                             ////
////                                                             ////
////                                                             ////
////                                                             ////
////  Downloaded from: http://www.opencores.org/cores/wb_dma/    ////
////  Downloaded from: http://www.opencores.org/cores/wb_dma/    ////
////                                                             ////
////                                                             ////
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
////                                                             ////
////                                                             ////
//// Copyright (C) 2000-2002 Rudolf Usselmann                    ////
//// Copyright (C) 2000-2002 Rudolf Usselmann                    ////
////                         www.asics.ws                        ////
////                         www.asics.ws                        ////
////                         rudi@asics.ws                       ////
////                         rudi@asics.ws                       ////
////                                                             ////
////                                                             ////
//// This source file may be used and distributed without        ////
//// This source file may be used and distributed without        ////
//// restriction provided that this copyright statement is not   ////
//// restriction provided that this copyright statement is not   ////
//// removed from the file and that any derivative work contains ////
//// removed from the file and that any derivative work contains ////
//// the original copyright notice and the associated disclaimer.////
//// the original copyright notice and the associated disclaimer.////
////                                                             ////
////                                                             ////
////     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     ////
////     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     ////
//// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   ////
//// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   ////
//// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   ////
//// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   ////
//// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      ////
//// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      ////
//// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         ////
//// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         ////
//// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    ////
//// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    ////
//// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   ////
//// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   ////
//// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        ////
//// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        ////
//// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  ////
//// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  ////
//// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  ////
//// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  ////
//// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  ////
//// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  ////
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         ////
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         ////
//// POSSIBILITY OF SUCH DAMAGE.                                 ////
//// POSSIBILITY OF SUCH DAMAGE.                                 ////
////                                                             ////
////                                                             ////
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
 
 
//  CVS Log
//  CVS Log
//
//
//  $Id: wb_dma_ch_arb.v,v 1.2 2002-02-01 01:54:44 rudi Exp $
//  $Id: wb_dma_ch_arb.v,v 1.2 2002-02-01 01:54:44 rudi Exp $
//
//
//  $Date: 2002-02-01 01:54:44 $
//  $Date: 2002-02-01 01:54:44 $
//  $Revision: 1.2 $
//  $Revision: 1.2 $
//  $Author: rudi $
//  $Author: rudi $
//  $Locker:  $
//  $Locker:  $
//  $State: Exp $
//  $State: Exp $
//
//
// Change History:
// Change History:
//               $Log: not supported by cvs2svn $
//               $Log: not supported by cvs2svn $
//               Revision 1.1  2001/07/29 08:57:02  rudi
//               Revision 1.1  2001/07/29 08:57:02  rudi
//
//
//
//
//               1) Changed Directory Structure
//               1) Changed Directory Structure
//               2) Added restart signal (REST)
//               2) Added restart signal (REST)
//
//
//               Revision 1.4  2001/06/14 08:51:25  rudi
//               Revision 1.4  2001/06/14 08:51:25  rudi
//
//
//
//
//               Changed Module name to match file name.
//               Changed Module name to match file name.
//
//
//               Revision 1.3  2001/06/13 02:26:46  rudi
//               Revision 1.3  2001/06/13 02:26:46  rudi
//
//
//
//
//               Small changes after running lint.
//               Small changes after running lint.
//
//
//               Revision 1.2  2001/06/05 10:22:34  rudi
//               Revision 1.2  2001/06/05 10:22:34  rudi
//
//
//
//
//               - Added Support of up to 31 channels
//               - Added Support of up to 31 channels
//               - Added support for 2,4 and 8 priority levels
//               - Added support for 2,4 and 8 priority levels
//               - Now can have up to 31 channels
//               - Now can have up to 31 channels
//               - Added many configuration items
//               - Added many configuration items
//               - Changed reset to async
//               - Changed reset to async
//
//
//               Revision 1.1.1.1  2001/03/19 13:10:47  rudi
//               Revision 1.1.1.1  2001/03/19 13:10:47  rudi
//               Initial Release
//               Initial Release
//
//
//
//
//                        
//                        
 
 
`include "wb_dma_defines.v"
`include "wb_dma_defines.v"
 
 
// Arbiter
// Arbiter
//
//
// Implements a simple round robin arbiter for DMA channels of
// Implements a simple round robin arbiter for DMA channels of
// same priority
// same priority
 
 
module wb_dma_ch_arb(clk, rst, req, gnt, advance);
module wb_dma_ch_arb(clk, rst, req, gnt, advance);
 
 
input           clk;
input           clk;
input           rst;
input           rst;
input   [30:0]   req;            // Req input
input   [30:0]   req;            // Req input
output  [4:0]    gnt;            // Grant output
output  [4:0]    gnt;            // Grant output
input           advance;        // Next Target
input           advance;        // Next Target
 
 
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
//
//
// Definitions
// Definitions
//
//
 
 
parameter       [4:0]
parameter       [4:0]
                grant0 = 5'h0,
                grant0 = 5'h0,
                grant1 = 5'h1,
                grant1 = 5'h1,
                grant2 = 5'h2,
                grant2 = 5'h2,
                grant3 = 5'h3,
                grant3 = 5'h3,
                grant4 = 5'h4,
                grant4 = 5'h4,
                grant5 = 5'h5,
                grant5 = 5'h5,
                grant6 = 5'h6,
                grant6 = 5'h6,
                grant7 = 5'h7,
                grant7 = 5'h7,
                grant8 = 5'h8,
                grant8 = 5'h8,
                grant9 = 5'h9,
                grant9 = 5'h9,
                grant10 = 5'ha,
                grant10 = 5'ha,
                grant11 = 5'hb,
                grant11 = 5'hb,
                grant12 = 5'hc,
                grant12 = 5'hc,
                grant13 = 5'hd,
                grant13 = 5'hd,
                grant14 = 5'he,
                grant14 = 5'he,
                grant15 = 5'hf,
                grant15 = 5'hf,
                grant16 = 5'h10,
                grant16 = 5'h10,
                grant17 = 5'h11,
                grant17 = 5'h11,
                grant18 = 5'h12,
                grant18 = 5'h12,
                grant19 = 5'h13,
                grant19 = 5'h13,
                grant20 = 5'h14,
                grant20 = 5'h14,
                grant21 = 5'h15,
                grant21 = 5'h15,
                grant22 = 5'h16,
                grant22 = 5'h16,
                grant23 = 5'h17,
                grant23 = 5'h17,
                grant24 = 5'h18,
                grant24 = 5'h18,
                grant25 = 5'h19,
                grant25 = 5'h19,
                grant26 = 5'h1a,
                grant26 = 5'h1a,
                grant27 = 5'h1b,
                grant27 = 5'h1b,
                grant28 = 5'h1c,
                grant28 = 5'h1c,
                grant29 = 5'h1d,
                grant29 = 5'h1d,
                grant30 = 5'h1e;
                grant30 = 5'h1e;
 
 
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
//
//
// Local Registers and Wires
// Local Registers and Wires
//
//
 
 
reg [4:0]        state, next_state;
reg [4:0]        state, next_state;
 
 
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
//
//
//  Misc Logic 
//  Misc Logic 
//
//
 
 
assign  gnt = state;
assign  gnt = state;
 
 
always@(posedge clk or negedge rst)
always@(posedge clk or negedge rst)
        if(!rst)        state <= #1 grant0;
        if(!rst)        state <= #1 grant0;
        else            state <= #1 next_state;
        else            state <= #1 next_state;
 
 
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
//
//
// Next State Logic
// Next State Logic
//   - implements round robin arbitration algorithm
//   - implements round robin arbitration algorithm
//   - switches grant if current req is dropped or next is asserted
//   - switches grant if current req is dropped or next is asserted
//   - parks at last grant
//   - parks at last grant
//
//
 
 
always@(state or req or advance)
always@(state or req or advance)
   begin
   begin
        next_state = state;     // Default Keep State
        next_state = state;     // Default Keep State
        case(state)             // synopsys parallel_case full_case
        case(state)             // synopsys parallel_case full_case
           grant0:
           grant0:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[0] | advance)
                if(!req[0] | advance)
                   begin
                   begin
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                   end
                   end
           grant1:
           grant1:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[1] | advance)
                if(!req[1] | advance)
                   begin
                   begin
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                   end
                   end
           grant2:
           grant2:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[2] | advance)
                if(!req[2] | advance)
                   begin
                   begin
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                   end
                   end
           grant3:
           grant3:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[3] | advance)
                if(!req[3] | advance)
                   begin
                   begin
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                   end
                   end
           grant4:
           grant4:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[4] | advance)
                if(!req[4] | advance)
                   begin
                   begin
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                   end
                   end
           grant5:
           grant5:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[5] | advance)
                if(!req[5] | advance)
                   begin
                   begin
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                   end
                   end
           grant6:
           grant6:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[6] | advance)
                if(!req[6] | advance)
                   begin
                   begin
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                   end
                   end
           grant7:
           grant7:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[7] | advance)
                if(!req[7] | advance)
                   begin
                   begin
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                   end
                   end
           grant8:
           grant8:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[8] | advance)
                if(!req[8] | advance)
                   begin
                   begin
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                   end
                   end
           grant9:
           grant9:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[9] | advance)
                if(!req[9] | advance)
                   begin
                   begin
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                   end
                   end
           grant10:
           grant10:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[10] | advance)
                if(!req[10] | advance)
                   begin
                   begin
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                   end
                   end
           grant11:
           grant11:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[11] | advance)
                if(!req[11] | advance)
                   begin
                   begin
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                   end
                   end
           grant12:
           grant12:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[12] | advance)
                if(!req[12] | advance)
                   begin
                   begin
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                   end
                   end
           grant13:
           grant13:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[13] | advance)
                if(!req[13] | advance)
                   begin
                   begin
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                   end
                   end
           grant14:
           grant14:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[14] | advance)
                if(!req[14] | advance)
                   begin
                   begin
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                   end
                   end
           grant15:
           grant15:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[15] | advance)
                if(!req[15] | advance)
                   begin
                   begin
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                   end
                   end
           grant16:
           grant16:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[16] | advance)
                if(!req[16] | advance)
                   begin
                   begin
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                   end
                   end
           grant17:
           grant17:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[17] | advance)
                if(!req[17] | advance)
                   begin
                   begin
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                   end
                   end
           grant18:
           grant18:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[18] | advance)
                if(!req[18] | advance)
                   begin
                   begin
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                   end
                   end
           grant19:
           grant19:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[19] | advance)
                if(!req[19] | advance)
                   begin
                   begin
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                   end
                   end
           grant20:
           grant20:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[20] | advance)
                if(!req[20] | advance)
                   begin
                   begin
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                   end
                   end
           grant21:
           grant21:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[21] | advance)
                if(!req[21] | advance)
                   begin
                   begin
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                   end
                   end
           grant22:
           grant22:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[22] | advance)
                if(!req[22] | advance)
                   begin
                   begin
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                   end
                   end
           grant23:
           grant23:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[23] | advance)
                if(!req[23] | advance)
                   begin
                   begin
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                   end
                   end
           grant24:
           grant24:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[24] | advance)
                if(!req[24] | advance)
                   begin
                   begin
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                   end
                   end
           grant25:
           grant25:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[25] | advance)
                if(!req[25] | advance)
                   begin
                   begin
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                   end
                   end
           grant26:
           grant26:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[26] | advance)
                if(!req[26] | advance)
                   begin
                   begin
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                   end
                   end
           grant27:
           grant27:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[27] | advance)
                if(!req[27] | advance)
                   begin
                   begin
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                   end
                   end
           grant28:
           grant28:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[28] | advance)
                if(!req[28] | advance)
                   begin
                   begin
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                        else
                        else
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                   end
                   end
           grant29:
           grant29:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[29] | advance)
                if(!req[29] | advance)
                   begin
                   begin
                        if(req[30])     next_state = grant30;
                        if(req[30])     next_state = grant30;
                        else
                        else
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                   end
                   end
           grant30:
           grant30:
                // if this req is dropped or next is asserted, check for other req's
                // if this req is dropped or next is asserted, check for other req's
                if(!req[30] | advance)
                if(!req[30] | advance)
                   begin
                   begin
                        if(req[0])       next_state = grant0;
                        if(req[0])       next_state = grant0;
                        else
                        else
                        if(req[1])      next_state = grant1;
                        if(req[1])      next_state = grant1;
                        else
                        else
                        if(req[2])      next_state = grant2;
                        if(req[2])      next_state = grant2;
                        else
                        else
                        if(req[3])      next_state = grant3;
                        if(req[3])      next_state = grant3;
                        else
                        else
                        if(req[4])      next_state = grant4;
                        if(req[4])      next_state = grant4;
                        else
                        else
                        if(req[5])      next_state = grant5;
                        if(req[5])      next_state = grant5;
                        else
                        else
                        if(req[6])      next_state = grant6;
                        if(req[6])      next_state = grant6;
                        else
                        else
                        if(req[7])      next_state = grant7;
                        if(req[7])      next_state = grant7;
                        else
                        else
                        if(req[8])      next_state = grant8;
                        if(req[8])      next_state = grant8;
                        else
                        else
                        if(req[9])      next_state = grant9;
                        if(req[9])      next_state = grant9;
                        else
                        else
                        if(req[10])     next_state = grant10;
                        if(req[10])     next_state = grant10;
                        else
                        else
                        if(req[11])     next_state = grant11;
                        if(req[11])     next_state = grant11;
                        else
                        else
                        if(req[12])     next_state = grant12;
                        if(req[12])     next_state = grant12;
                        else
                        else
                        if(req[13])     next_state = grant13;
                        if(req[13])     next_state = grant13;
                        else
                        else
                        if(req[14])     next_state = grant14;
                        if(req[14])     next_state = grant14;
                        else
                        else
                        if(req[15])     next_state = grant15;
                        if(req[15])     next_state = grant15;
                        else
                        else
                        if(req[16])     next_state = grant16;
                        if(req[16])     next_state = grant16;
                        else
                        else
                        if(req[17])     next_state = grant17;
                        if(req[17])     next_state = grant17;
                        else
                        else
                        if(req[18])     next_state = grant18;
                        if(req[18])     next_state = grant18;
                        else
                        else
                        if(req[19])     next_state = grant19;
                        if(req[19])     next_state = grant19;
                        else
                        else
                        if(req[20])     next_state = grant20;
                        if(req[20])     next_state = grant20;
                        else
                        else
                        if(req[21])     next_state = grant21;
                        if(req[21])     next_state = grant21;
                        else
                        else
                        if(req[22])     next_state = grant22;
                        if(req[22])     next_state = grant22;
                        else
                        else
                        if(req[23])     next_state = grant23;
                        if(req[23])     next_state = grant23;
                        else
                        else
                        if(req[24])     next_state = grant24;
                        if(req[24])     next_state = grant24;
                        else
                        else
                        if(req[25])     next_state = grant25;
                        if(req[25])     next_state = grant25;
                        else
                        else
                        if(req[26])     next_state = grant26;
                        if(req[26])     next_state = grant26;
                        else
                        else
                        if(req[27])     next_state = grant27;
                        if(req[27])     next_state = grant27;
                        else
                        else
                        if(req[28])     next_state = grant28;
                        if(req[28])     next_state = grant28;
                        else
                        else
                        if(req[29])     next_state = grant29;
                        if(req[29])     next_state = grant29;
                   end
                   end
        endcase
        endcase
   end
   end
 
 
endmodule
endmodule
 
 
 
 

powered by: WebSVN 2.1.0

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