Ignore:
Timestamp:
Dec 19, 2008, 4:34:00 PM (16 years ago)
Author:
rosiere
Message:

1) Update Prediction Table : statistics
2) Size instruction address on 30 bits
3) Change Log File
4) Add debug_level in simulation configuration file

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_body.cpp

    r81 r97  
    2222  {
    2323    log_printf(FUNC,Read_queue,"vhdl_body","Begin");
    24     vhdl->set_body ("");
    25     vhdl->set_body("");
    26     vhdl->set_body("-----------------------------------");
    27     vhdl->set_body("-- Instance queue                  ");
    28     vhdl->set_body("-----------------------------------");
    29     vhdl->set_body("");
    30 
    31     vhdl->set_body("instance_"+_name+"_queue : "+_name+"_queue");
    32     vhdl->set_body("port map (");
    33     vhdl->set_body("\t  in_CLOCK       \t=>\t      in_CLOCK ");
    34     vhdl->set_body("\t, in_NRESET      \t=>\t      in_NRESET");
    35     vhdl->set_body("\t, in_INSERT_VAL  \t=>\tinternal_QUEUE_INSERT_VAL");
    36     vhdl->set_body("\t,out_INSERT_ACK  \t=>\tinternal_QUEUE_INSERT_ACK");
    37     vhdl->set_body("\t, in_INSERT_DATA \t=>\tinternal_QUEUE_INSERT_DATA");
    38     vhdl->set_body("\t,out_RETIRE_VAL  \t=>\tinternal_QUEUE_RETIRE_VAL");
    39     vhdl->set_body("\t, in_RETIRE_ACK  \t=>\tinternal_QUEUE_RETIRE_ACK");
    40     vhdl->set_body("\t,out_RETIRE_DATA \t=>\tinternal_QUEUE_RETIRE_DATA");
    41     vhdl->set_body(");");
    42 
    43     vhdl->set_body("");
    44     vhdl->set_body("-----------------------------------");
    45     vhdl->set_body("-- Queue_data                      ");
    46     vhdl->set_body("-----------------------------------");
    47     vhdl->set_body("");
     24    vhdl->set_body(0,"");
     25    vhdl->set_body(0,"");
     26    vhdl->set_body(0,"-----------------------------------");
     27    vhdl->set_body(0,"-- Instance queue                  ");
     28    vhdl->set_body(0,"-----------------------------------");
     29    vhdl->set_body(0,"");
     30
     31    vhdl->set_body(0,"instance_"+_name+"_queue : "+_name+"_queue");
     32    vhdl->set_body(0,"port map (");
     33    vhdl->set_body(1,"  in_CLOCK       \t=>\t      in_CLOCK ");
     34    vhdl->set_body(1,", in_NRESET      \t=>\t      in_NRESET");
     35    vhdl->set_body(1,", in_INSERT_VAL  \t=>\tinternal_QUEUE_INSERT_VAL");
     36    vhdl->set_body(1,",out_INSERT_ACK  \t=>\tinternal_QUEUE_INSERT_ACK");
     37    vhdl->set_body(1,", in_INSERT_DATA \t=>\tinternal_QUEUE_INSERT_DATA");
     38    vhdl->set_body(1,",out_RETIRE_VAL  \t=>\tinternal_QUEUE_RETIRE_VAL");
     39    vhdl->set_body(1,", in_RETIRE_ACK  \t=>\tinternal_QUEUE_RETIRE_ACK");
     40    vhdl->set_body(1,",out_RETIRE_DATA \t=>\tinternal_QUEUE_RETIRE_DATA");
     41    vhdl->set_body(0,");");
     42
     43    vhdl->set_body(0,"");
     44    vhdl->set_body(0,"-----------------------------------");
     45    vhdl->set_body(0,"-- Queue_data                      ");
     46    vhdl->set_body(0,"-----------------------------------");
     47    vhdl->set_body(0,"");
    4848   
    4949    uint32_t min = 0;
     
    5353      {
    5454        max = min-1+_param->_size_context_id;
    55         vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_CONTEXT_ID;");
     55        vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_CONTEXT_ID;");
    5656        min = max+1;
    5757      }
     
    5959      {
    6060        max = min-1+_param->_size_front_end_id;
    61         vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_FRONT_END_ID;");
     61        vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_FRONT_END_ID;");
    6262        min = max+1;
    6363      }
     
    6565      {
    6666        max = min-1+_param->_size_ooo_engine_id;
    67         vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_OOO_ENGINE_ID;");
     67        vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_OOO_ENGINE_ID;");
    6868        min = max+1;
    6969      }
    70     if(_param->_have_port_rob_id   )
    71       {
    72         max = min-1+_param->_size_rob_id;
    73         vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_ROB_ID;");
     70    if(_param->_have_port_rob_ptr  )
     71      {
     72        max = min-1+_param->_size_rob_ptr  ;
     73        vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_ROB_ID;");
    7474        min = max+1;
    7575      }
    7676
    7777    max = min-1+_param->_size_operation;
    78     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_OPERATION;");
     78    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_OPERATION;");
    7979    min = max+1;
    8080
    8181    max = min-1+_param->_size_type;
    82     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_TYPE;");
    83     min = max+1;
    84 
    85     max = min;
    86     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_HAS_IMMEDIAT;");
     82    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_TYPE;");
     83    min = max+1;
     84
     85    max = min;
     86    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_HAS_IMMEDIAT;");
    8787    min = max+1;
    8888
    8989    max = min-1+_param->_size_general_data;
    90     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_IMMEDIAT;");
    91     min = max+1;
    92 
    93     max = min;
    94     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_READ_RA;");
     90    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_IMMEDIAT;");
     91    min = max+1;
     92
     93    max = min;
     94    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_READ_RA;");
    9595    min = max+1;
    9696
    9797    max = min-1+_param->_size_general_register;
    98     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RA;");
    99     min = max+1;
    100 
    101     max = min;
    102     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_READ_RB;");
     98    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RA;");
     99    min = max+1;
     100
     101    max = min;
     102    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_READ_RB;");
    103103    min = max+1;
    104104
    105105    max = min-1+_param->_size_general_register;
    106     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RB;");
    107     min = max+1;
    108 
    109     max = min;
    110     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_READ_RC;");
     106    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RB;");
     107    min = max+1;
     108
     109    max = min;
     110    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_READ_RC;");
    111111    min = max+1;
    112112
    113113    max = min-1+_param->_size_special_register;
    114     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RC;");
    115     min = max+1;
    116 
    117     max = min;
    118     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_WRITE_RD;");
     114    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RC;");
     115    min = max+1;
     116
     117    max = min;
     118    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_WRITE_RD;");
    119119    min = max+1;
    120120
    121121    max = min-1+_param->_size_general_register;
    122     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RD;");
    123     min = max+1;
    124 
    125     max = min;
    126     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_WRITE_RE;");
     122    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RD;");
     123    min = max+1;
     124
     125    max = min;
     126    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_WRITE_RE;");
    127127    min = max+1;
    128128
    129129    max = min-1+_param->_size_special_register;
    130     vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RE;");
    131     min = max+1;
    132 
    133     vhdl->set_body ("internal_QUEUE_RETIRE_ACK <= internal_READ_QUEUE_OUT_VAL and in_READ_QUEUE_OUT_ACK;");
    134 
    135     vhdl->set_body("");
    136     vhdl->set_body("-----------------------------------");
    137     vhdl->set_body("-- Interface read");
    138     vhdl->set_body("-----------------------------------");
    139     vhdl->set_body("");
    140     vhdl->set_body("-- GPR");
    141     vhdl->set_body ("out_GPR_READ_0_VAL           <= internal_QUEUE_RETIRE_VAL and internal_READ_RA_VAL;");
    142     vhdl->set_body ("out_GPR_READ_1_VAL           <= internal_QUEUE_RETIRE_VAL and internal_READ_RB_VAL;");
     130    vhdl->set_body(0,"internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RE;");
     131    min = max+1;
     132
     133    vhdl->set_body(0,"internal_QUEUE_RETIRE_ACK <= internal_READ_QUEUE_OUT_VAL and in_READ_QUEUE_OUT_ACK;");
     134
     135    vhdl->set_body(0,"");
     136    vhdl->set_body(0,"-----------------------------------");
     137    vhdl->set_body(0,"-- Interface read");
     138    vhdl->set_body(0,"-----------------------------------");
     139    vhdl->set_body(0,"");
     140    vhdl->set_body(0,"-- GPR");
     141    vhdl->set_body(0,"out_GPR_READ_0_VAL           <= internal_QUEUE_RETIRE_VAL and internal_READ_RA_VAL;");
     142    vhdl->set_body(0,"out_GPR_READ_1_VAL           <= internal_QUEUE_RETIRE_VAL and internal_READ_RB_VAL;");
    143143    if(_param->_have_port_ooo_engine_id)
    144144      {
    145         vhdl->set_body ("out_GPR_READ_0_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
    146         vhdl->set_body ("out_GPR_READ_1_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
    147       }
    148     vhdl->set_body ("out_GPR_READ_0_NUM_REG       <= internal_NUM_REG_RA;");
    149     vhdl->set_body ("out_GPR_READ_1_NUM_REG       <= internal_NUM_REG_RB;");
    150     vhdl->set_body("");
    151    
    152     vhdl->set_body("-- SPR");
    153     vhdl->set_body ("out_SPR_READ_0_VAL           <= internal_QUEUE_RETIRE_VAL and internal_READ_RC_VAL;");
     145        vhdl->set_body(0,"out_GPR_READ_0_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
     146        vhdl->set_body(0,"out_GPR_READ_1_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
     147      }
     148    vhdl->set_body(0,"out_GPR_READ_0_NUM_REG       <= internal_NUM_REG_RA;");
     149    vhdl->set_body(0,"out_GPR_READ_1_NUM_REG       <= internal_NUM_REG_RB;");
     150    vhdl->set_body(0,"");
     151   
     152    vhdl->set_body(0,"-- SPR");
     153    vhdl->set_body(0,"out_SPR_READ_0_VAL           <= internal_QUEUE_RETIRE_VAL and internal_READ_RC_VAL;");
    154154    if(_param->_have_port_ooo_engine_id)
    155155      {
    156         vhdl->set_body ("out_SPR_READ_0_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
    157       }
    158     vhdl->set_body ("out_SPR_READ_0_NUM_REG       <= internal_NUM_REG_RC;");
    159 
    160     vhdl->set_body("");
    161     vhdl->set_body("-----------------------------------");
    162     vhdl->set_body("-- Interface read_queue_out");
    163     vhdl->set_body("-----------------------------------");
    164     vhdl->set_body("");
     156        vhdl->set_body(0,"out_SPR_READ_0_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
     157      }
     158    vhdl->set_body(0,"out_SPR_READ_0_NUM_REG       <= internal_NUM_REG_RC;");
     159
     160    vhdl->set_body(0,"");
     161    vhdl->set_body(0,"-----------------------------------");
     162    vhdl->set_body(0,"-- Interface read_queue_out");
     163    vhdl->set_body(0,"-----------------------------------");
     164    vhdl->set_body(0,"");
    165165   
    166166    if(_param->_have_port_context_id   )
    167       vhdl->set_body ("out_READ_QUEUE_OUT_CONTEXT_ID    <= internal_CONTEXT_ID   ;");
     167      vhdl->set_body(0,"out_READ_QUEUE_OUT_CONTEXT_ID    <= internal_CONTEXT_ID   ;");
    168168    if(_param->_have_port_front_end_id   )
    169       vhdl->set_body ("out_READ_QUEUE_OUT_FRONT_END_ID  <= internal_FRONT_END_ID ;");
     169      vhdl->set_body(0,"out_READ_QUEUE_OUT_FRONT_END_ID  <= internal_FRONT_END_ID ;");
    170170    if(_param->_have_port_ooo_engine_id   )
    171       vhdl->set_body ("out_READ_QUEUE_OUT_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
    172     if(_param->_have_port_rob_id   )
    173       vhdl->set_body ("out_READ_QUEUE_OUT_ROB_ID        <= internal_ROB_ID       ;");
    174     vhdl->set_body ("out_READ_QUEUE_OUT_OPERATION     <= internal_OPERATION    ;");
    175     vhdl->set_body ("out_READ_QUEUE_OUT_TYPE          <= internal_TYPE         ;");
    176     vhdl->set_body ("out_READ_QUEUE_OUT_HAS_IMMEDIAT  <= internal_HAS_IMMEDIAT ;");
    177     vhdl->set_body ("out_READ_QUEUE_OUT_IMMEDIAT      <= internal_IMMEDIAT     ;");
    178     vhdl->set_body ("out_READ_QUEUE_OUT_READ_RA       <= internal_READ_RA      ;");
    179     vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RA    <= internal_NUM_REG_RA   ;");
    180     vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RA_VAL   <= internal_NEXT_DATA_RA_VAL;");
    181     vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RA       <= internal_NEXT_DATA_RA ;");
    182     vhdl->set_body ("out_READ_QUEUE_OUT_READ_RB       <= internal_READ_RB      ;");
    183     vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RB    <= internal_NUM_REG_RB   ;");
    184     vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RB_VAL   <= internal_NEXT_DATA_RB_VAL;");
    185     vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RB       <= internal_NEXT_DATA_RB ;");
    186     vhdl->set_body ("out_READ_QUEUE_OUT_READ_RC       <= internal_READ_RC      ;");
    187     vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RC    <= internal_NUM_REG_RC   ;");
    188     vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RC_VAL   <= internal_NEXT_DATA_RC_VAL;");
    189     vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RC       <= internal_NEXT_DATA_RC ;");
    190     vhdl->set_body ("out_READ_QUEUE_OUT_WRITE_RD      <= internal_WRITE_RD     ;");
    191     vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RD    <= internal_NUM_REG_RD   ;");
    192     vhdl->set_body ("out_READ_QUEUE_OUT_WRITE_RE      <= internal_WRITE_RE     ;");
    193     vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RE    <= internal_NUM_REG_RE   ;");
    194    
    195     vhdl->set_body("");
    196     vhdl->set_body("-----------------------------------");
    197     vhdl->set_body("-- next reg update");
    198     vhdl->set_body("-----------------------------------");
    199     vhdl->set_body("");
    200     vhdl->set_body("-- read_rx_val - 1 : must access at the registerFile (after access, is set at 0)");
    201    
    202     {
    203       vhdl->set_body("");
    204       vhdl->set_body("internal_NEXT_READ_RA_VAL <=");
    205       vhdl->set_body("\t'0' when");
    206       // bypass
    207       vhdl->set_body("\t\t-- check bypass");
    208       for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
    209         {
    210           std::string cmp;
    211          
    212           if (_param->_have_port_ooo_engine_id)
    213             cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
    214           else
    215             cmp = "";
    216          
    217           vhdl->set_body("\t\t((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RA=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
    218         }
    219       vhdl->set_body("\t\tfalse else");
    220       vhdl->set_body("\tinternal_READ_RA_VAL and not in_GPR_READ_0_ACK;");
    221     }
    222     {
    223       vhdl->set_body("");
    224       vhdl->set_body("internal_NEXT_READ_RB_VAL <=");
    225       vhdl->set_body("\t'0' when");
    226       // bypass
    227       vhdl->set_body("\t\t-- check bypass");
    228       for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
    229         {
    230           std::string cmp;
    231          
    232           if (_param->_have_port_ooo_engine_id)
    233             cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
    234           else
    235             cmp = "";
    236          
    237           vhdl->set_body("\t\t((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RB=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
    238         }
    239       vhdl->set_body("\t\tfalse else");
    240       vhdl->set_body("\tinternal_READ_RB_VAL and not in_GPR_READ_1_ACK;");
    241     }
    242     {
    243       vhdl->set_body("");
    244       vhdl->set_body("internal_NEXT_READ_RC_VAL <=");
    245       vhdl->set_body("\t'0' when");
    246       // bypass
    247       vhdl->set_body("\t\t-- check bypass");
     171      vhdl->set_body(0,"out_READ_QUEUE_OUT_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
     172    if(_param->_have_port_rob_ptr  )
     173      vhdl->set_body(0,"out_READ_QUEUE_OUT_ROB_ID        <= internal_ROB_ID       ;");
     174    vhdl->set_body(0,"out_READ_QUEUE_OUT_OPERATION     <= internal_OPERATION    ;");
     175    vhdl->set_body(0,"out_READ_QUEUE_OUT_TYPE          <= internal_TYPE         ;");
     176    vhdl->set_body(0,"out_READ_QUEUE_OUT_HAS_IMMEDIAT  <= internal_HAS_IMMEDIAT ;");
     177    vhdl->set_body(0,"out_READ_QUEUE_OUT_IMMEDIAT      <= internal_IMMEDIAT     ;");
     178//     vhdl->set_body(0,"out_READ_QUEUE_OUT_READ_RA       <= internal_READ_RA      ;");
     179    vhdl->set_body(0,"out_READ_QUEUE_OUT_NUM_REG_RA    <= internal_NUM_REG_RA   ;");
     180    vhdl->set_body(0,"out_READ_QUEUE_OUT_DATA_RA_VAL   <= internal_NEXT_DATA_RA_VAL;");
     181    vhdl->set_body(0,"out_READ_QUEUE_OUT_DATA_RA       <= internal_NEXT_DATA_RA ;");
     182//     vhdl->set_body(0,"out_READ_QUEUE_OUT_READ_RB       <= internal_READ_RB      ;");
     183    vhdl->set_body(0,"out_READ_QUEUE_OUT_NUM_REG_RB    <= internal_NUM_REG_RB   ;");
     184    vhdl->set_body(0,"out_READ_QUEUE_OUT_DATA_RB_VAL   <= internal_NEXT_DATA_RB_VAL;");
     185    vhdl->set_body(0,"out_READ_QUEUE_OUT_DATA_RB       <= internal_NEXT_DATA_RB ;");
     186//     vhdl->set_body(0,"out_READ_QUEUE_OUT_READ_RC       <= internal_READ_RC      ;");
     187    vhdl->set_body(0,"out_READ_QUEUE_OUT_NUM_REG_RC    <= internal_NUM_REG_RC   ;");
     188    vhdl->set_body(0,"out_READ_QUEUE_OUT_DATA_RC_VAL   <= internal_NEXT_DATA_RC_VAL;");
     189    vhdl->set_body(0,"out_READ_QUEUE_OUT_DATA_RC       <= internal_NEXT_DATA_RC ;");
     190    vhdl->set_body(0,"out_READ_QUEUE_OUT_WRITE_RD      <= internal_WRITE_RD     ;");
     191    vhdl->set_body(0,"out_READ_QUEUE_OUT_NUM_REG_RD    <= internal_NUM_REG_RD   ;");
     192    vhdl->set_body(0,"out_READ_QUEUE_OUT_WRITE_RE      <= internal_WRITE_RE     ;");
     193    vhdl->set_body(0,"out_READ_QUEUE_OUT_NUM_REG_RE    <= internal_NUM_REG_RE   ;");
     194   
     195    vhdl->set_body(0,"");
     196    vhdl->set_body(0,"-----------------------------------");
     197    vhdl->set_body(0,"-- next reg update");
     198    vhdl->set_body(0,"-----------------------------------");
     199    vhdl->set_body(0,"");
     200    vhdl->set_body(0,"-- read_rx_val - 1 : must access at the registerFile (after access, is set at 0)");
     201   
     202    {
     203      vhdl->set_body(0,"");
     204      vhdl->set_body(0,"internal_NEXT_READ_RA_VAL <=");
     205      vhdl->set_body(1,"'0' when");
     206      // bypass
     207      vhdl->set_body(2,"-- check bypass");
     208      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
     209        {
     210          std::string cmp;
     211         
     212          if (_param->_have_port_ooo_engine_id)
     213            cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
     214          else
     215            cmp = "";
     216         
     217          vhdl->set_body(2,"((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RA=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
     218        }
     219      vhdl->set_body(2,"false else");
     220      vhdl->set_body(1,"internal_READ_RA_VAL and not in_GPR_READ_0_ACK;");
     221    }
     222    {
     223      vhdl->set_body(0,"");
     224      vhdl->set_body(0,"internal_NEXT_READ_RB_VAL <=");
     225      vhdl->set_body(1,"'0' when");
     226      // bypass
     227      vhdl->set_body(2,"-- check bypass");
     228      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
     229        {
     230          std::string cmp;
     231         
     232          if (_param->_have_port_ooo_engine_id)
     233            cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
     234          else
     235            cmp = "";
     236         
     237          vhdl->set_body(2,"((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RB=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
     238        }
     239      vhdl->set_body(2,"false else");
     240      vhdl->set_body(1,"internal_READ_RB_VAL and not in_GPR_READ_1_ACK;");
     241    }
     242    {
     243      vhdl->set_body(0,"");
     244      vhdl->set_body(0,"internal_NEXT_READ_RC_VAL <=");
     245      vhdl->set_body(1,"'0' when");
     246      // bypass
     247      vhdl->set_body(2,"-- check bypass");
    248248      for (int32_t i=_param->_nb_spr_write-1; i>=0 ; i--)
    249249        {
     
    255255            cmp = "";
    256256         
    257           vhdl->set_body("\t\t((in_SPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RC=in_SPR_WRITE_"+toString(i)+"_NUM_REG)) or");
    258         }
    259       vhdl->set_body("\t\tfalse else");
    260       vhdl->set_body("\tinternal_READ_RC_VAL and not in_SPR_READ_0_ACK;");
    261     }
    262     {
    263       vhdl->set_body("");
    264       vhdl->set_body("internal_READ_QUEUE_OUT_VAL <= not internal_NEXT_READ_RA_VAL and not internal_NEXT_READ_RB_VAL and not internal_NEXT_READ_RC_VAL;");
    265       vhdl->set_body("     out_READ_QUEUE_OUT_VAL <= internal_READ_QUEUE_OUT_VAL and internal_QUEUE_RETIRE_VAL;");
     257          vhdl->set_body(2,"((in_SPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RC=in_SPR_WRITE_"+toString(i)+"_NUM_REG)) or");
     258        }
     259      vhdl->set_body(2,"false else");
     260      vhdl->set_body(1,"internal_READ_RC_VAL and not in_SPR_READ_0_ACK;");
     261    }
     262    {
     263      vhdl->set_body(0,"");
     264      vhdl->set_body(0,"internal_READ_QUEUE_OUT_VAL <= not internal_NEXT_READ_RA_VAL and not internal_NEXT_READ_RB_VAL and not internal_NEXT_READ_RC_VAL;");
     265      vhdl->set_body(0,"     out_READ_QUEUE_OUT_VAL <= internal_READ_QUEUE_OUT_VAL and internal_QUEUE_RETIRE_VAL;");
    266266     
    267267    }
    268268   
    269     vhdl->set_body("");
    270     vhdl->set_body("-- data_rx_val - 1 : the read of registerFile is valid");
    271    
    272     {
    273       vhdl->set_body("");
    274       vhdl->set_body("internal_NEXT_DATA_RA_VAL <=");
    275       vhdl->set_body("\t'1' when");
    276       // bypass
    277       vhdl->set_body("\t\t-- check bypass");
     269    vhdl->set_body(0,"");
     270    vhdl->set_body(0,"-- data_rx_val - 1 : the read of registerFile is valid");
     271   
     272    {
     273      vhdl->set_body(0,"");
     274      vhdl->set_body(0,"internal_NEXT_DATA_RA_VAL <=");
     275      vhdl->set_body(1,"'1' when");
     276      // bypass
     277      vhdl->set_body(2,"-- check bypass");
    278278      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
    279279        {
     
    285285            cmp = "";
    286286         
    287           vhdl->set_body("\t\t((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RA=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
    288         }
    289       vhdl->set_body("\t\tfalse else");
    290       vhdl->set_body("\tinternal_DATA_RA_VAL or (internal_READ_RA_VAL and in_GPR_READ_0_ACK and in_GPR_READ_0_DATA_VAL);");
    291     }
    292     {
    293       vhdl->set_body("");
    294       vhdl->set_body("internal_NEXT_DATA_RB_VAL <=");
    295       vhdl->set_body("\t'1' when");
    296       // bypass
    297       vhdl->set_body("\t\t-- check bypass");
     287          vhdl->set_body(2,"((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RA=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
     288        }
     289      vhdl->set_body(2,"false else");
     290      vhdl->set_body(1,"internal_DATA_RA_VAL or (internal_READ_RA_VAL and in_GPR_READ_0_ACK and in_GPR_READ_0_DATA_VAL);");
     291    }
     292    {
     293      vhdl->set_body(0,"");
     294      vhdl->set_body(0,"internal_NEXT_DATA_RB_VAL <=");
     295      vhdl->set_body(1,"'1' when");
     296      // bypass
     297      vhdl->set_body(2,"-- check bypass");
    298298      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
    299299        {
     
    305305          cmp = "";
    306306         
    307           vhdl->set_body("\t\t((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RB=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
    308         }
    309       vhdl->set_body("\t\tfalse else");
    310       vhdl->set_body("\tinternal_DATA_RB_VAL or (internal_READ_RB_VAL and in_GPR_READ_1_ACK and in_GPR_READ_1_DATA_VAL);");
    311     }
    312     {
    313       vhdl->set_body("");
    314       vhdl->set_body("internal_NEXT_DATA_RC_VAL <=");
    315       vhdl->set_body("\t'1' when");
    316       // bypass
    317       vhdl->set_body("\t\t-- check bypass");
     307          vhdl->set_body(2,"((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RB=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
     308        }
     309      vhdl->set_body(2,"false else");
     310      vhdl->set_body(1,"internal_DATA_RB_VAL or (internal_READ_RB_VAL and in_GPR_READ_1_ACK and in_GPR_READ_1_DATA_VAL);");
     311    }
     312    {
     313      vhdl->set_body(0,"");
     314      vhdl->set_body(0,"internal_NEXT_DATA_RC_VAL <=");
     315      vhdl->set_body(1,"'1' when");
     316      // bypass
     317      vhdl->set_body(2,"-- check bypass");
    318318      for (int32_t i=_param->_nb_spr_write-1; i>=0 ; i--)
    319319        {
     
    325325            cmp = "";
    326326         
    327           vhdl->set_body("\t\t((in_SPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RC=in_SPR_WRITE_"+toString(i)+"_NUM_REG)) or");
    328         }
    329       vhdl->set_body("\t\tfalse else");
    330       vhdl->set_body("\tinternal_DATA_RC_VAL or (internal_READ_RC_VAL and in_SPR_READ_0_ACK and in_SPR_READ_0_DATA_VAL);");
    331     }
    332    
    333     vhdl->set_body("");
    334     vhdl->set_body("-- data_rx - data read");
    335     {
    336       vhdl->set_body("");
    337       vhdl->set_body("internal_NEXT_DATA_RA <=");
     327          vhdl->set_body(2,"((in_SPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RC=in_SPR_WRITE_"+toString(i)+"_NUM_REG)) or");
     328        }
     329      vhdl->set_body(2,"false else");
     330      vhdl->set_body(1,"internal_DATA_RC_VAL or (internal_READ_RC_VAL and in_SPR_READ_0_ACK and in_SPR_READ_0_DATA_VAL);");
     331    }
     332   
     333    vhdl->set_body(0,"");
     334    vhdl->set_body(0,"-- data_rx - data read");
     335    {
     336      vhdl->set_body(0,"");
     337      vhdl->set_body(0,"internal_NEXT_DATA_RA <=");
    338338#ifdef SYSTEMC_VHDL_COMPATIBILITY
    339       vhdl->set_body("\t"+std_logic_others(_param->_size_general_data,0)+" when internal_READ_RA='0' else");
     339      vhdl->set_body(1,""+std_logic_others(_param->_size_general_data,0)+" when internal_READ_RA='0' else");
    340340#endif
    341341      // bypass
    342       vhdl->set_body("\t\t-- check bypass");
     342      vhdl->set_body(2,"-- check bypass");
    343343      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
    344344        {
     
    350350            cmp = "";
    351351         
    352           vhdl->set_body("\tin_GPR_WRITE_"+toString(i)+"_DATA when ((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RA=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) else");
    353         }
    354       vhdl->set_body("\treg_DATA_RA when (internal_DATA_RA_VAL='1') else");
    355       vhdl->set_body("\tin_GPR_READ_0_DATA;");
    356     }
    357     {
    358       vhdl->set_body("");
    359       vhdl->set_body("internal_NEXT_DATA_RB <=");
     352          vhdl->set_body(1,"in_GPR_WRITE_"+toString(i)+"_DATA when ((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RA=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) else");
     353        }
     354      vhdl->set_body(1,"reg_DATA_RA when (internal_DATA_RA_VAL='1') else");
     355      vhdl->set_body(1,"in_GPR_READ_0_DATA;");
     356    }
     357    {
     358      vhdl->set_body(0,"");
     359      vhdl->set_body(0,"internal_NEXT_DATA_RB <=");
    360360#ifdef SYSTEMC_VHDL_COMPATIBILITY
    361       vhdl->set_body("\t"+std_logic_others(_param->_size_general_data,0)+" when internal_READ_RB='0' else");
     361      vhdl->set_body(1,""+std_logic_others(_param->_size_general_data,0)+" when internal_READ_RB='0' else");
    362362#endif
    363363      // bypass
    364       vhdl->set_body("\t\t-- check bypass");
     364      vhdl->set_body(2,"-- check bypass");
    365365      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
    366366        {
     
    372372            cmp = "";
    373373         
    374           vhdl->set_body("\tin_GPR_WRITE_"+toString(i)+"_DATA when ((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RB=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) else");
    375         }
    376       vhdl->set_body("\treg_DATA_RB when (internal_DATA_RB_VAL='1') else");
    377       vhdl->set_body("\tin_GPR_READ_1_DATA;");
    378     }
    379     {
    380       vhdl->set_body("");
    381       vhdl->set_body("internal_NEXT_DATA_RC <=");
     374          vhdl->set_body(1,"in_GPR_WRITE_"+toString(i)+"_DATA when ((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RB=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) else");
     375        }
     376      vhdl->set_body(1,"reg_DATA_RB when (internal_DATA_RB_VAL='1') else");
     377      vhdl->set_body(1,"in_GPR_READ_1_DATA;");
     378    }
     379    {
     380      vhdl->set_body(0,"");
     381      vhdl->set_body(0,"internal_NEXT_DATA_RC <=");
    382382#ifdef SYSTEMC_VHDL_COMPATIBILITY
    383       vhdl->set_body("\t"+std_logic_others(_param->_size_special_data,0)+" when internal_READ_RC='0' else");
     383      vhdl->set_body(1,""+std_logic_others(_param->_size_special_data,0)+" when internal_READ_RC='0' else");
    384384#endif
    385385      // bypass
    386       vhdl->set_body("\t\t-- check bypass");
     386      vhdl->set_body(2,"-- check bypass");
    387387      for (int32_t i=_param->_nb_spr_write-1; i>=0 ; i--)
    388388        {
     
    394394            cmp = "";
    395395         
    396           vhdl->set_body("\tin_SPR_WRITE_"+toString(i)+"_DATA when ((in_SPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (in_SPR_WRITE_"+toString(i)+"_NUM_REG=internal_NUM_REG_RC)) else");
    397         }
    398       vhdl->set_body("\treg_DATA_RC when (internal_DATA_RC_VAL='1') else");
    399       vhdl->set_body("\tin_SPR_READ_0_DATA;");
    400 
    401     vhdl->set_body("");
    402     vhdl->set_body("-----------------------------------");
    403     vhdl->set_body("-- transition");
    404     vhdl->set_body("-----------------------------------");
    405     vhdl->set_body("");
    406     vhdl->set_body("-- need a new head if :");
    407     vhdl->set_body("--   * queue is empty");
    408     vhdl->set_body("--   * pop with queue");
    409     vhdl->set_body ("internal_NEXT_NEED_NEW_HEAD <= not internal_QUEUE_RETIRE_VAL or (internal_QUEUE_RETIRE_VAL and internal_QUEUE_RETIRE_ACK);");
    410 
    411     vhdl->set_body ("internal_READ_RA_VAL   <=     internal_READ_RA when reg_NEED_NEW_HEAD='1' else reg_READ_RA_VAL;");
    412     vhdl->set_body ("internal_READ_RB_VAL   <=     internal_READ_RB when reg_NEED_NEW_HEAD='1' else reg_READ_RB_VAL;");
    413     vhdl->set_body ("internal_READ_RC_VAL   <=     internal_READ_RC when reg_NEED_NEW_HEAD='1' else reg_READ_RC_VAL;");
    414     vhdl->set_body ("internal_DATA_RA_VAL   <= not internal_READ_RA when reg_NEED_NEW_HEAD='1' else reg_DATA_RA_VAL;");
    415     vhdl->set_body ("internal_DATA_RB_VAL   <= not internal_READ_RB when reg_NEED_NEW_HEAD='1' else reg_DATA_RB_VAL;");
    416     vhdl->set_body ("internal_DATA_RC_VAL   <= not internal_READ_RC when reg_NEED_NEW_HEAD='1' else reg_DATA_RC_VAL;");
    417 
    418 
    419     vhdl->set_body ("");
    420     vhdl->set_body ("transition: process (in_CLOCK)");
    421     vhdl->set_body ("begin  -- process transition");
    422     vhdl->set_body ("\tif in_CLOCK'event and in_CLOCK = '1' then");
    423     vhdl->set_body ("");
    424     vhdl->set_body ("\t\tif (in_NRESET = '0') then");   
    425     vhdl->set_body ("\t\t\treg_NEED_NEW_HEAD <= '1';");
    426     vhdl->set_body ("\t\telse");
    427     vhdl->set_body ("\t\t\treg_NEED_NEW_HEAD <= internal_NEXT_NEED_NEW_HEAD;");
    428     vhdl->set_body ("\t\t\treg_READ_RA_VAL   <= internal_NEXT_READ_RA_VAL;");
    429     vhdl->set_body ("\t\t\treg_READ_RB_VAL   <= internal_NEXT_READ_RB_VAL;");
    430     vhdl->set_body ("\t\t\treg_READ_RC_VAL   <= internal_NEXT_READ_RC_VAL;");
    431     vhdl->set_body ("\t\t\treg_DATA_RA_VAL   <= internal_NEXT_DATA_RA_VAL;");
    432     vhdl->set_body ("\t\t\treg_DATA_RB_VAL   <= internal_NEXT_DATA_RB_VAL;");
    433     vhdl->set_body ("\t\t\treg_DATA_RC_VAL   <= internal_NEXT_DATA_RC_VAL;");
    434     vhdl->set_body ("\t\t\treg_DATA_RA       <= internal_NEXT_DATA_RA    ;");
    435     vhdl->set_body ("\t\t\treg_DATA_RB       <= internal_NEXT_DATA_RB    ;");
    436     vhdl->set_body ("\t\t\treg_DATA_RC       <= internal_NEXT_DATA_RC    ;");
    437 
    438     vhdl->set_body ("\t\tend if;");
    439     vhdl->set_body ("");
    440     vhdl->set_body ("\tend if;");
    441     vhdl->set_body ("end process transition;");
     396          vhdl->set_body(1,"in_SPR_WRITE_"+toString(i)+"_DATA when ((in_SPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (in_SPR_WRITE_"+toString(i)+"_NUM_REG=internal_NUM_REG_RC)) else");
     397        }
     398      vhdl->set_body(1,"reg_DATA_RC when (internal_DATA_RC_VAL='1') else");
     399      vhdl->set_body(1,"in_SPR_READ_0_DATA;");
     400
     401    vhdl->set_body(0,"");
     402    vhdl->set_body(0,"-----------------------------------");
     403    vhdl->set_body(0,"-- transition");
     404    vhdl->set_body(0,"-----------------------------------");
     405    vhdl->set_body(0,"");
     406    vhdl->set_body(0,"-- need a new head if :");
     407    vhdl->set_body(0,"--   * queue is empty");
     408    vhdl->set_body(0,"--   * pop with queue");
     409    vhdl->set_body(0,"internal_NEXT_NEED_NEW_HEAD <= not internal_QUEUE_RETIRE_VAL or (internal_QUEUE_RETIRE_VAL and internal_QUEUE_RETIRE_ACK);");
     410
     411    vhdl->set_body(0,"internal_READ_RA_VAL   <=     internal_READ_RA when reg_NEED_NEW_HEAD='1' else reg_READ_RA_VAL;");
     412    vhdl->set_body(0,"internal_READ_RB_VAL   <=     internal_READ_RB when reg_NEED_NEW_HEAD='1' else reg_READ_RB_VAL;");
     413    vhdl->set_body(0,"internal_READ_RC_VAL   <=     internal_READ_RC when reg_NEED_NEW_HEAD='1' else reg_READ_RC_VAL;");
     414    vhdl->set_body(0,"internal_DATA_RA_VAL   <= not internal_READ_RA when reg_NEED_NEW_HEAD='1' else reg_DATA_RA_VAL;");
     415    vhdl->set_body(0,"internal_DATA_RB_VAL   <= not internal_READ_RB when reg_NEED_NEW_HEAD='1' else reg_DATA_RB_VAL;");
     416    vhdl->set_body(0,"internal_DATA_RC_VAL   <= not internal_READ_RC when reg_NEED_NEW_HEAD='1' else reg_DATA_RC_VAL;");
     417
     418
     419    vhdl->set_body(0,"");
     420    vhdl->set_body(0,"transition: process (in_CLOCK)");
     421    vhdl->set_body(0,"begin  -- process transition");
     422    vhdl->set_body(1,"if in_CLOCK'event and in_CLOCK = '1' then");
     423    vhdl->set_body(0,"");
     424    vhdl->set_body(2,"if (in_NRESET = '0') then");   
     425    vhdl->set_body(3,"reg_NEED_NEW_HEAD <= '1';");
     426    vhdl->set_body(2,"else");
     427    vhdl->set_body(3,"reg_NEED_NEW_HEAD <= internal_NEXT_NEED_NEW_HEAD;");
     428    vhdl->set_body(3,"reg_READ_RA_VAL   <= internal_NEXT_READ_RA_VAL;");
     429    vhdl->set_body(3,"reg_READ_RB_VAL   <= internal_NEXT_READ_RB_VAL;");
     430    vhdl->set_body(3,"reg_READ_RC_VAL   <= internal_NEXT_READ_RC_VAL;");
     431    vhdl->set_body(3,"reg_DATA_RA_VAL   <= internal_NEXT_DATA_RA_VAL;");
     432    vhdl->set_body(3,"reg_DATA_RB_VAL   <= internal_NEXT_DATA_RB_VAL;");
     433    vhdl->set_body(3,"reg_DATA_RC_VAL   <= internal_NEXT_DATA_RC_VAL;");
     434    vhdl->set_body(3,"reg_DATA_RA       <= internal_NEXT_DATA_RA    ;");
     435    vhdl->set_body(3,"reg_DATA_RB       <= internal_NEXT_DATA_RB    ;");
     436    vhdl->set_body(3,"reg_DATA_RC       <= internal_NEXT_DATA_RC    ;");
     437
     438    vhdl->set_body(2,"end if;");
     439    vhdl->set_body(0,"");
     440    vhdl->set_body(1,"end if;");
     441    vhdl->set_body(0,"end process transition;");
    442442
    443443    }
Note: See TracChangeset for help on using the changeset viewer.