Ignore:
Timestamp:
Apr 14, 2009, 8:39:12 PM (15 years ago)
Author:
rosiere
Message:

1) Add modelsim simulation systemC
2) Modelsim cosimulation systemC / VHDL is not finish !!!! (cf execute_queue and write_unit)
3) Add multi architecture
5) Add template for comparator, multiplier and divider
6) Change Message
Warning) Various test macro have change, many selftest can't compile

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_vhdl_body.cpp

    r98 r113  
    5757    size = _param->_size_context_id;
    5858    max = min-1+size;
    59     vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_CONTEXT_ID;");
     59    vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_CONTEXT_ID "+std_logic_range(size)+";");
    6060    min = max+1;
    6161      }
     
    6464    size = _param->_size_front_end_id;
    6565    max = min-1+size;
    66     vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_FRONT_END_ID;");
     66    vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_FRONT_END_ID"+std_logic_range(size)+";");
    6767    min = max+1;
    6868      }
     
    7171    size = _param->_size_ooo_engine_id;
    7272    max = min-1+size;
    73     vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID;");
     73    vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID"+std_logic_range(size)+";");
    7474    min = max+1;
    7575      }
     
    7878    size = _param->_size_rob_ptr;
    7979    max = min-1+size;
    80     vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_PACKET_ID;");
     80    vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_PACKET_ID"+std_logic_range(size)+";");
    8181    min = max+1;
    8282      }
     
    8484//  size = _param->_size_operation;
    8585//  max = min-1+size;
    86 //  vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_OPERATION;");
     86//  vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_OPERATION"+std_logic_range(size)+";");
    8787//  min = max+1;
    8888//
    8989//  size = _param->_size_type;
    9090//  max = min-1+size;
    91 //  vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_TYPE;");
     91//  vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_TYPE"+std_logic_range(size)+";");
    9292//  min = max+1;
    9393
    9494    size = _param->_size_special_data;
    9595    max = min-1+size;
    96     vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_FLAGS;");
     96    vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_FLAGS"+std_logic_range(size)+";");
    9797    min = max+1;
    9898
    9999    size = _param->_size_exception;   
    100100    max = min-1+size;
    101     vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_EXCEPTION;");
     101    vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_EXCEPTION"+std_logic_range(size)+";");
    102102    min = max+1;
    103103
    104104    size = 1;
    105105    max = min-1+size;
    106     vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_NO_SEQUENCE;");
     106    vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_NO_SEQUENCE"+std_logic_range(size)+";");
    107107    min = max+1;
    108108
    109109    size = _param->_size_instruction_address;
    110110    max = min-1+size;
    111     vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_ADDRESS;");
     111    vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_ADDRESS"+std_logic_range(size)+";");
    112112    min = max+1;
    113113
    114114    size = _param->_size_general_data;
    115115    max = min-1+size;
    116     vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_DATA;");
     116    vhdl->set_body   (0,"internal_QUEUE_INSERT_DATA "+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_EXECUTE_QUEUE_IN_DATA"+std_logic_range(size)+";");
    117117    min = max+1;
    118118    }
     
    125125
    126126    if(_param->_have_port_context_id)
    127     vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_CONTEXT_ID    <= internal_EXECUTE_QUEUE_OUT_CONTEXT_ID   ;");
     127    vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_CONTEXT_ID    "+std_logic_range(_param->_size_context_id         )+" <= internal_EXECUTE_QUEUE_OUT_CONTEXT_ID   ;");
    128128    if(_param->_have_port_front_end_id)
    129     vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_FRONT_END_ID  <= internal_EXECUTE_QUEUE_OUT_FRONT_END_ID ;");
     129    vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_FRONT_END_ID  "+std_logic_range(_param->_size_front_end_id       )+" <= internal_EXECUTE_QUEUE_OUT_FRONT_END_ID ;");
    130130    if(_param->_have_port_ooo_engine_id)
    131     vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID <= internal_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID;");
     131    vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID "+std_logic_range(_param->_size_ooo_engine_id      )+" <= internal_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID;");
    132132    if(_param->_have_port_rob_ptr)
    133     vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_PACKET_ID     <= internal_EXECUTE_QUEUE_OUT_PACKET_ID    ;");
    134 //  vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_OPERATION     <= internal_EXECUTE_QUEUE_OUT_OPERATION    ;");
    135 //  vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_TYPE          <= internal_EXECUTE_QUEUE_OUT_TYPE         ;");
    136     vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_FLAGS         <= internal_EXECUTE_QUEUE_OUT_FLAGS        ;");
    137     vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_EXCEPTION     <= internal_EXECUTE_QUEUE_OUT_EXCEPTION    ;");
    138     vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_NO_SEQUENCE   <= internal_EXECUTE_QUEUE_OUT_NO_SEQUENCE  ;");
    139     vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_ADDRESS       <= internal_EXECUTE_QUEUE_OUT_ADDRESS      ;");
    140     vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_DATA          <= internal_EXECUTE_QUEUE_OUT_DATA         ;");
     133    vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_PACKET_ID     "+std_logic_range(_param->_size_rob_ptr            )+" <= internal_EXECUTE_QUEUE_OUT_PACKET_ID    ;");
     134//  vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_OPERATION     "+std_logic_range(_param->_size_operation          )+" <= internal_EXECUTE_QUEUE_OUT_OPERATION    ;");
     135//  vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_TYPE          "+std_logic_range(_param->_size_type               )+" <= internal_EXECUTE_QUEUE_OUT_TYPE         ;");
     136    vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_FLAGS         "+std_logic_range(_param->_size_special_data       )+" <= internal_EXECUTE_QUEUE_OUT_FLAGS        ;");
     137    vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_EXCEPTION     "+std_logic_range(_param->_size_exception          )+" <= internal_EXECUTE_QUEUE_OUT_EXCEPTION    ;");
     138    vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_NO_SEQUENCE   "+std_logic_range(1                                )+" <= internal_EXECUTE_QUEUE_OUT_NO_SEQUENCE  ;");
     139    vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_ADDRESS       "+std_logic_range(_param->_size_instruction_address)+" <= internal_EXECUTE_QUEUE_OUT_ADDRESS      ;");
     140    vhdl->set_body   (0,"out_EXECUTE_QUEUE_OUT_DATA          "+std_logic_range(_param->_size_general_data       )+" <= internal_EXECUTE_QUEUE_OUT_DATA         ;");
    141141
    142 
    143 //     vhdl->set_body (0,"");
    144 //     vhdl->set_body (0,"process (in_CLOCK)");
    145 //     vhdl->set_body (0,"begin");
    146 //     vhdl->set_body (1,"if in_CLOCK'event and in_CLOCK = '1' then");
    147 // //     vhdl->set_body (2,"if in_NRESET = '0' then");
    148 // //     vhdl->set_body (3,"reg_CURRENT_STATE <= STATE_0;");
    149 // //     vhdl->set_body (2,"else");
    150 //     vhdl->set_body (3,"reg_CURRENT_STATE <= sig_NEXT_STATE;");
    151 // //     vhdl->set_body (2,"end if;");
    152 
    153 //     for (uint32_t i = 0; i <_param->_size_queue - 1; i++)
    154 //       {
    155 //      vhdl->set_body (2,"if sig_WEN_"+toString(i)+" = '1' then");
    156 //      vhdl->set_body (3,"if sig_SEL_"+toString(i)+" = '0' then");
    157 //      if (_param->_have_port_context_id)
    158 //      vhdl->set_body (4,"reg_CONTEXT_ID_"+toString(i)+"    <= in_EXECUTE_QUEUE_IN_CONTEXT_ID;");
    159 //      if (_param->_have_port_front_end_id)
    160 //      vhdl->set_body (4,"reg_FRONT_END_ID_"+toString(i)+"  <= in_EXECUTE_QUEUE_IN_FRONT_END_ID;");
    161 //      if (_param->_have_port_ooo_engine_id)
    162 //      vhdl->set_body (4,"reg_OOO_ENGINE_ID_"+toString(i)+" <= in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID;");
    163 //      if (_param->_have_port_rob_ptr)
    164 //         vhdl->set_body (4,"reg_PACKET_ID_"+toString(i)+"     <= in_EXECUTE_QUEUE_IN_PACKET_ID;");
    165 //      vhdl->set_body (4, "reg_FLAGS_"+toString(i)+"        <= in_EXECUTE_QUEUE_IN_FLAGS;");
    166 //      vhdl->set_body (4, "reg_EXCEPTION_"+toString(i)+"    <= in_EXECUTE_QUEUE_IN_EXCEPTION;");
    167 //      vhdl->set_body (4, "reg_NO_SEQUENCE_"+toString(i)+"  <= in_EXECUTE_QUEUE_IN_NO_SEQUENCE;");
    168 //      vhdl->set_body (4, "reg_ADDRESS_"+toString(i)+"      <= in_EXECUTE_QUEUE_IN_ADDRESS;");
    169 //      vhdl->set_body (4, "reg_DATA_"+toString(i)+"         <= in_EXECUTE_QUEUE_IN_DATA;");
    170 
    171 //      vhdl->set_body (3, "else");
    172 //      if (_param->_have_port_context_id)
    173 //      vhdl->set_body (4,"reg_CONTEXT_ID_"+toString(i)+"    <= reg_CONTEXT_ID_"+toString(i+1)+";");
    174 //      if (_param->_have_port_front_end_id)
    175 //      vhdl->set_body (4,"reg_FRONT_END_ID_"+toString(i)+"  <= reg_FRONT_END_ID_"+toString(i+1)+";");
    176 //      if (_param->_have_port_ooo_engine_id)
    177 //      vhdl->set_body (4,"reg_OOO_ENGINE_ID_"+toString(i)+" <= reg_OOO_ENGINE_ID_"+toString(i+1)+";");
    178 //      if (_param->_have_port_rob_ptr)
    179 //         vhdl->set_body (4,"reg_PACKET_ID_"+toString(i)+"     <= reg_PACKET_ID_"+toString(i+1)+";");
    180 //      vhdl->set_body (4, "reg_FLAGS_"+toString(i)+"        <= reg_FLAGS_"+toString(i+1)+";");
    181 //      vhdl->set_body (4, "reg_EXCEPTION_"+toString(i)+"    <= reg_EXCEPTION_"+toString(i+1)+";");
    182 //      vhdl->set_body (4, "reg_NO_SEQUENCE_"+toString(i)+"  <= reg_NO_SEQUENCE_"+toString(i+1)+";");
    183 //      vhdl->set_body (4, "reg_ADDRESS_"+toString(i)+"      <= reg_ADDRESS_"+toString(i+1)+";");
    184 //      vhdl->set_body (4, "reg_DATA_"+toString(i)+"         <= reg_DATA_"+toString(i+1)+";");
    185        
    186 //      vhdl->set_body (3,"end if;");
    187 
    188 //      vhdl->set_body (2,"end if;");
    189 //       }
    190 
    191 //     vhdl->set_body (2,"if sig_WEN_"+toString(_param->_size_queue-1)+" = '1' then");
    192 //     if (_param->_have_port_context_id)
    193 //       vhdl->set_body (3,"reg_CONTEXT_ID_"+toString(_param->_size_queue-1)+"    <= in_EXECUTE_QUEUE_IN_CONTEXT_ID;");
    194 //     if (_param->_have_port_front_end_id)
    195 //       vhdl->set_body (3,"reg_FRONT_END_ID_"+toString(_param->_size_queue-1)+"  <= in_EXECUTE_QUEUE_IN_FRONT_END_ID;");
    196 //     if (_param->_have_port_ooo_engine_id)
    197 //       vhdl->set_body (3,"reg_OOO_ENGINE_ID_"+toString(_param->_size_queue-1)+" <= in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID;");
    198 //     if (_param->_have_port_rob_ptr)
    199 //       vhdl->set_body (3,"reg_PACKET_ID_"+toString(_param->_size_queue-1)+"     <= in_EXECUTE_QUEUE_IN_PACKET_ID;");
    200 //     vhdl->set_body (3, "reg_FLAGS_"+toString(_param->_size_queue-1)+"        <= in_EXECUTE_QUEUE_IN_FLAGS;");
    201 //     vhdl->set_body (3, "reg_EXCEPTION_"+toString(_param->_size_queue-1)+"    <= in_EXECUTE_QUEUE_IN_EXCEPTION;");
    202 //     vhdl->set_body (3, "reg_NO_SEQUENCE_"+toString(_param->_size_queue-1)+"  <= in_EXECUTE_QUEUE_IN_NO_SEQUENCE;");
    203 //     vhdl->set_body (3, "reg_ADDRESS_"+toString(_param->_size_queue-1)+"      <= in_EXECUTE_QUEUE_IN_ADDRESS;");
    204 //     vhdl->set_body (3, "reg_DATA_"+toString(_param->_size_queue-1)+"         <= in_EXECUTE_QUEUE_IN_DATA;");
    205 //     vhdl->set_body (2,"end if;");
    206 
    207 
    208 //     vhdl->set_body (1,"end if;");
    209 //     vhdl->set_body (0,"end process;");
    210 
    211 
    212 //     vhdl->set_body (0,"");
    213 //     vhdl->set_body (0,"");
    214 //     vhdl->set_body (0,"");
    215 
    216 //     vhdl->set_body (0,"out_EXECUTE_QUEUE_OUT_VAL <= sig_OUT_VAL;");
    217 //     vhdl->set_body (0,"out_EXECUTE_QUEUE_IN_ACK <= sig_IN_ACK;");
    218 //     if (_param->_have_port_context_id)
    219 //     vhdl->set_body (0,"out_EXECUTE_QUEUE_OUT_CONTEXT_ID <= reg_CONTEXT_ID_0;");
    220 //     if (_param->_have_port_front_end_id)
    221 //     vhdl->set_body (0,"out_EXECUTE_QUEUE_OUT_FRONT_END_ID <= reg_FRONT_END_ID_0;");
    222 //     if (_param->_have_port_ooo_engine_id)
    223 //     vhdl->set_body (0,"out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID <= reg_OOO_ENGINE_ID_0;");
    224 //     if (_param->_have_port_rob_ptr)
    225 //     vhdl->set_body (0,"out_EXECUTE_QUEUE_OUT_PACKET_ID <= reg_PACKET_ID_0;");
    226 //     vhdl->set_body (0, "out_EXECUTE_QUEUE_OUT_FLAGS <= reg_FLAGS_0;");
    227 //     vhdl->set_body (0, "out_EXECUTE_QUEUE_OUT_EXCEPTION <= reg_EXCEPTION_0;");
    228 //     vhdl->set_body (0, "out_EXECUTE_QUEUE_OUT_NO_SEQUENCE <= reg_NO_SEQUENCE_0;");
    229 //     vhdl->set_body (0, "out_EXECUTE_QUEUE_OUT_ADDRESS <= reg_ADDRESS_0;");
    230 //     vhdl->set_body (0, "out_EXECUTE_QUEUE_OUT_DATA <= reg_DATA_0;");
    231 
    232 
    233 //     vhdl->set_body (0,"");
    234 
    235 //     vhdl->set_body (0,"process (reg_CURRENT_STATE, in_EXECUTE_QUEUE_OUT_ACK, in_EXECUTE_QUEUE_IN_VAL, in_NRESET)");
    236 //     vhdl->set_body (0,"begin");
    237 //     vhdl->set_body (1,"if in_NRESET = '0' then");
    238 //     vhdl->set_body (2,"sig_NEXT_STATE <= STATE_0;");
    239 //     vhdl->set_body (1,"else");
    240 //     vhdl->set_body (2,"case reg_CURRENT_STATE is");
    241 //     for (uint32_t i = 0; i <_param->_size_queue + 1; i++)
    242 //       {
    243 //      vhdl->set_body (3,"when STATE_"+toString(i)+" =>");
    244 //      if (i == 0)
    245 //        {
    246 //          vhdl->set_body (4,"if in_EXECUTE_QUEUE_IN_VAL = '1' then");
    247 //          vhdl->set_body (5,"sig_NEXT_STATE <= reg_CURRENT_STATE ("+toString(_param->_size_queue-1)+" downto 0) & '0';");
    248 //          vhdl->set_body (4,"else");
    249 //          vhdl->set_body (5,"sig_NEXT_STATE <= reg_CURRENT_STATE;");
    250 //          vhdl->set_body (4,"end if;");
    251 //          continue;
    252 //        }
    253 //      if (i == (_param->_size_queue))
    254 //        {
    255 //          vhdl->set_body (4,"if in_EXECUTE_QUEUE_OUT_ACK = '1' then");
    256 //          vhdl->set_body (5,"sig_NEXT_STATE <= '0' & reg_CURRENT_STATE ("+toString(_param->_size_queue)+" downto 1);");
    257 //          vhdl->set_body (4,"else");
    258 //          vhdl->set_body (5,"sig_NEXT_STATE <= reg_CURRENT_STATE;");
    259 //          vhdl->set_body (4,"end if;");
    260 //          continue;
    261 //        }
    262 //      vhdl->set_body (4,"if in_EXECUTE_QUEUE_IN_VAL = '1' and in_EXECUTE_QUEUE_OUT_ACK = '0' then");
    263 //      vhdl->set_body (5,"sig_NEXT_STATE <= reg_CURRENT_STATE ("+toString(_param->_size_queue-1)+" downto 0) & '0';");
    264 //      vhdl->set_body (4,"elsif in_EXECUTE_QUEUE_IN_VAL = '0' and in_EXECUTE_QUEUE_OUT_ACK = '1' then");
    265 //      vhdl->set_body (5,"sig_NEXT_STATE <= '0' & reg_CURRENT_STATE ("+toString(_param->_size_queue)+" downto 1);");
    266 //      vhdl->set_body (4,"else");
    267 //      vhdl->set_body (5,"sig_NEXT_STATE <= reg_CURRENT_STATE;");
    268 //      vhdl->set_body (4,"end if;");
    269 //       }
    270 //     vhdl->set_body (3,"when others => assert false report \"wrong state\" severity failure;");
    271 //     vhdl->set_body (2,"end case;");
    272 //     vhdl->set_body (1,"end if;");
    273 
    274 //     vhdl->set_body (2,"case reg_CURRENT_STATE is");
    275 //     for (uint32_t i = 0; i <_param->_size_queue + 1; i++)
    276 //       {
    277 //      vhdl->set_body (3,"when STATE_"+toString(i)+" =>");
    278 //      if (i == 0)
    279 //        {
    280 //          vhdl->set_body (4,"sig_OUT_VAL <= '0';");
    281 //          vhdl->set_body (4,"sig_IN_ACK <= '1';");
    282 //          for (uint32_t j = 0; j <_param->_size_queue; j++)
    283 //            {
    284 //              if (i == j)
    285 //                {
    286 //                  vhdl->set_body (4,"sig_SEL_"+toString(j)+" <= '0';");
    287 //                  vhdl->set_body (4,"sig_WEN_"+toString(j)+" <= in_EXECUTE_QUEUE_IN_VAL;");
    288 //                }
    289 //              else
    290 //                {
    291 //                  if (j < (_param->_size_queue - 1))
    292 //                    vhdl->set_body (4,"sig_SEL_"+toString(j)+" <= '0';");
    293 //                  vhdl->set_body (4,"sig_WEN_"+toString(j)+" <= '0';");
    294 //                }
    295 //            }
    296 //          continue;
    297 //        }
    298 //      if (i == (_param->_size_queue))
    299 //        {
    300 //          vhdl->set_body (4,"sig_OUT_VAL <= '1';");
    301 //          vhdl->set_body (4,"sig_IN_ACK <= '0';");
    302 //          for (uint32_t j = 0; j <_param->_size_queue; j++)
    303 //            {
    304 //              if (j == (i - 1))
    305 //                {
    306 //                  vhdl->set_body (4,"sig_WEN_"+toString(j)+" <= '0';");
    307 //                }
    308 //              else
    309 //                {
    310 //                  vhdl->set_body (4,"sig_SEL_"+toString(j)+" <= in_EXECUTE_QUEUE_OUT_ACK;");
    311 //                  vhdl->set_body (4,"sig_WEN_"+toString(j)+" <= in_EXECUTE_QUEUE_OUT_ACK;");
    312 //                }
    313 //            }
    314 //          continue;
    315 //        }
    316 //      vhdl->set_body (4,"sig_OUT_VAL <= '1';");
    317 //      vhdl->set_body (4,"sig_IN_ACK <= '1';");
    318 //      for (uint32_t j = 0; j <_param->_size_queue; j++)
    319 //        {
    320 //          if (j < (i - 1))
    321 //            {
    322 //              vhdl->set_body (4,"sig_SEL_"+toString(j)+" <= in_EXECUTE_QUEUE_OUT_ACK;");
    323 //              vhdl->set_body (4,"sig_WEN_"+toString(j)+" <= in_EXECUTE_QUEUE_OUT_ACK;");
    324 //            }
    325 //          if (j == (i - 1))
    326 //            {
    327 //              vhdl->set_body (4,"sig_SEL_"+toString(j)+" <= '0';");
    328 //              vhdl->set_body (4,"sig_WEN_"+toString(j)+" <= in_EXECUTE_QUEUE_OUT_ACK and in_EXECUTE_QUEUE_IN_VAL;");
    329 //            }
    330 //          if (j == i)
    331 //            {
    332 //              if (j < (_param->_size_queue - 1))
    333 //                vhdl->set_body (4,"sig_SEL_"+toString(j)+" <= '0';");
    334 //              vhdl->set_body (4,"sig_WEN_"+toString(j)+" <= in_EXECUTE_QUEUE_IN_VAL and not in_EXECUTE_QUEUE_OUT_ACK;");
    335 //            }
    336 //          if (j > i)
    337 //            {
    338 //              if (j < (_param->_size_queue - 1))
    339 //                vhdl->set_body (4,"sig_SEL_"+toString(j)+" <= '0';");
    340 //              vhdl->set_body (4,"sig_WEN_"+toString(j)+" <= '0';");
    341 //            }
    342 //        }
    343 //       }
    344 //     vhdl->set_body (3,"when others =>");
    345 //     vhdl->set_body (2,"end case;");
    346 //     vhdl->set_body (0,"end process;");
     142    vhdl->set_debug  ("in_CLOCK = 'U'","GLOP1: Clock = 'U'");
     143    vhdl->set_debug  ("in_CLOCK = 'X'","GLOP2: Clock = 'X'");
     144    vhdl->set_debug  ("in_CLOCK = 'Z'","GLOP3: Clock = 'Z'");
     145    vhdl->set_debug  ("in_CLOCK = 'W'","GLOP4: Clock = 'W'");
     146    vhdl->set_debug  ("in_CLOCK = '1'","KANE : Clock = '1'");
     147    vhdl->set_debug  ("in_CLOCK = '0'","SETH : Clock = '0'");
    347148
    348149    log_printf(FUNC,Execute_queue,FUNCTION,"End");
Note: See TracChangeset for help on using the changeset viewer.