Ignore:
Timestamp:
Mar 27, 2008, 11:04:49 AM (16 years ago)
Author:
rosiere
Message:

Add :

  • Execute_loop (must be test systemC)
  • Prediction
    • Direction : predifined scheme
    • Branch Target Buffer
  • iFetch_unit
    • ifetch_queue
    • pc management
  • Decod_unit
    • coming soon : support for custom operation
  • Rename_unit
    • RAT
    • Free_list
    • Dependence RAW check
    • Load store unit pointer
  • New Environnement (hierarchy_memory will remove in a next version)


Modif :

  • Manage Custom Operation
  • All component in execute_loop to use the new statistics management

Not Finish :

  • Return Address Stack
  • Environnement
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Parameters_msg_error.cpp

    r77 r78  
    2121#undef  FUNCTION
    2222#define FUNCTION "Read_unit_to_Execution_unit::msg_error"
    23   std::string Parameters::msg_error(void)
     23  Parameters_test Parameters::msg_error(void)
    2424  {
    2525    log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"Begin");
    2626
    27     std::string msg = "";
     27    Parameters_test test ("Read_unit_to_Execution_unit");
    2828
    2929    // TYPE         | multiple? | Optionnal? | Exclusive? | Comment
     
    9090                // Test uniq type
    9191                if (type_present [j][k] and type_uniq[k])
    92                   msg += "  - The execute_unit '"+toString(i)+"' can execute operation of type '"+toString_type(k)+"' at the thread '"+toString(j)+"'. But an another execute_unit can be execute the same type for the same thread. And the type must be uniq !.\n";
     92                  test.error("The execute_unit '"+toString(i)+"' can execute operation of type '"+toString_type(k)+"' at the thread '"+toString(j)+"'. But an another execute_unit can be execute the same type for the same thread. And the type must be uniq !.");
    9393               
    9494                type_present [j][k] = true;
     
    9999        for (uint32_t i=0; i<_nb_thread; i++)
    100100          if (not type_present [i][j])
    101             msg += "  - The thread '"+toString(i)+"' can't access at the execute_unit to execute the type's operation '"+toString_type(j)+"' (and this type is not optionnal !).\n";
     101            test.error("The thread '"+toString(i)+"' can't access at the execute_unit to execute the type's operation '"+toString_type(j)+"' (and this type is not optionnal !).");
    102102           
    103103    // Test all excluve type
     
    108108            if ((j != k) and (_table_execute_type[i][k] == true))
    109109              {
    110                 msg += "  - The execute_unit ["+toString(i)+"] implement the type '"+toString_type(j)+"', and this type is exclusive with all others type.\n";
     110                test.error("The execute_unit ["+toString(i)+"] implement the type '"+toString_type(j)+"', and this type is exclusive with all others type.");
    111111                break;
    112112              }
     
    120120
    121121        if (j == _nb_thread)
    122           msg += "  - The execute_unit ["+toString(i)+"] have none source's thread.\n";
     122          test.error("The execute_unit ["+toString(i)+"] have none source's thread.");
    123123      }   
    124    
    125     return msg;
    126124
     125    if ( (_priority != PRIORITY_STATIC     ) and
     126         (_priority != PRIORITY_ROUND_ROBIN))
     127      test.error("Unsupported priority scheme. It must be Static or Round Robin.");
     128       
    127129    log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"End");
     130
     131    return test;
    128132  };
    129133
Note: See TracChangeset for help on using the changeset viewer.