| Line 124... | Line 124... | 
      
        | reg     [32*dw-1:0]              mem;
 | reg     [32*dw-1:0]              mem;
 | 
      
        | `endif
 | `endif
 | 
      
        | reg     [dw-1:0]         do_a;
 | reg     [dw-1:0]         do_a;
 | 
      
        | reg     [dw-1:0]         do_b;
 | reg     [dw-1:0]         do_b;
 | 
      
        |  
 |  
 | 
      
        |   | `ifdef verilator
 | 
      
        |    // Function to access GPRs (for use by Verilator). No need to hide this one
 |    // Function to access GPRs (for use by Verilator). No need to hide this one
 | 
      
        |    // from the simulator, since it has an input (as required by IEEE 1364-2001).
 |    // from the simulator, since it has an input (as required by IEEE 1364-2001).
 | 
      
        |    function [31:0] get_gpr;
 |    function [31:0] get_gpr;
 | 
      
        |       // verilator public
 |       // verilator public
 | 
      
        |       input [aw-1:0]             gpr_no;
 |       input [aw-1:0]             gpr_no;
 | 
      
        | Line 149... | Line 150... | 
      
        |                   mem[gpr_no*32 +  3], mem[gpr_no*32 +  2],
 |                   mem[gpr_no*32 +  3], mem[gpr_no*32 +  2],
 | 
      
        |                   mem[gpr_no*32 +  1], mem[gpr_no*32 +  0] };
 |                   mem[gpr_no*32 +  1], mem[gpr_no*32 +  0] };
 | 
      
        |  
 |  
 | 
      
        |    endfunction // get_gpr
 |    endfunction // get_gpr
 | 
      
        |  
 |  
 | 
      
        |   |    // Function to access GPRs (for use by Verilator). No need to hide this one
 | 
      
        |   |    // from the simulator, since it has an input (as required by IEEE 1364-2001).
 | 
      
        |   |    function [31:0] set_gpr;
 | 
      
        |   |       // verilator public
 | 
      
        |   |       input [aw-1:0]             gpr_no;
 | 
      
        |   |       input [dw-1:0]             value;
 | 
      
        |   |  
 | 
      
        |   |       mem[gpr_no*32 + 31]   = value[31];
 | 
      
        |   |       mem[gpr_no*32 + 30] = value[30];
 | 
      
        |   |       mem[gpr_no*32 + 29]  = value[29];
 | 
      
        |   |       mem[gpr_no*32 + 28] = value[28];
 | 
      
        |   |       mem[gpr_no*32 + 27]  = value[27];
 | 
      
        |   |       mem[gpr_no*32 + 26] = value[26];
 | 
      
        |   |       mem[gpr_no*32 + 25]  = value[25];
 | 
      
        |   |       mem[gpr_no*32 + 24] = value[24];
 | 
      
        |   |       mem[gpr_no*32 + 23]  = value[23];
 | 
      
        |   |       mem[gpr_no*32 + 22] = value[22];
 | 
      
        |   |       mem[gpr_no*32 + 21]  = value[21];
 | 
      
        |   |       mem[gpr_no*32 + 20] = value[20];
 | 
      
        |   |       mem[gpr_no*32 + 19]  = value[19];
 | 
      
        |   |       mem[gpr_no*32 + 18] = value[18];
 | 
      
        |   |       mem[gpr_no*32 + 17]  = value[17];
 | 
      
        |   |       mem[gpr_no*32 + 16] = value[16];
 | 
      
        |   |       mem[gpr_no*32 + 15]  = value[15];
 | 
      
        |   |       mem[gpr_no*32 + 14] = value[14];
 | 
      
        |   |       mem[gpr_no*32 + 13]  = value[13];
 | 
      
        |   |       mem[gpr_no*32 + 12] = value[12];
 | 
      
        |   |       mem[gpr_no*32 + 11]  = value[11];
 | 
      
        |   |       mem[gpr_no*32 + 10] = value[10];
 | 
      
        |   |       mem[gpr_no*32 +  9]  = value[ 9];
 | 
      
        |   |       mem[gpr_no*32 +  8] = value[ 8];
 | 
      
        |   |       mem[gpr_no*32 +  7]  = value[ 7];
 | 
      
        |   |       mem[gpr_no*32 +  6] = value[ 6];
 | 
      
        |   |       mem[gpr_no*32 +  5]  = value[ 5];
 | 
      
        |   |       mem[gpr_no*32 +  4] = value[ 4];
 | 
      
        |   |       mem[gpr_no*32 +  3]  = value[ 3];
 | 
      
        |   |       mem[gpr_no*32 +  2] = value[ 2];
 | 
      
        |   |       mem[gpr_no*32 +  1]  = value[ 1];
 | 
      
        |   |       mem[gpr_no*32 +  0] = value[ 0];
 | 
      
        |   |  
 | 
      
        |   |       set_gpr = 0;
 | 
      
        |   |  
 | 
      
        |   |    endfunction // set_gpr
 | 
      
        |   | `endif //  `ifdef verilator
 | 
      
        |   |  
 | 
      
        | //
 | //
 | 
      
        | // Write port
 | // Write port
 | 
      
        | //
 | //
 | 
      
        | always @(posedge clk or `OR1200_RST_EVENT rst)
 | always @(posedge clk or `OR1200_RST_EVENT rst)
 | 
      
        |         if (rst == `OR1200_RST_VALUE) begin
 |         if (rst == `OR1200_RST_VALUE) begin
 |