Ignore:
Timestamp:
Jul 8, 2009, 8:40:08 PM (15 years ago)
Author:
rosiere
Message:

1) add constant method
2) test with systemc 2.2.0

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine
Files:
6 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h

    r124 r131  
    338338                                               
    339339#ifdef SYSTEMC                                 
     340  public  : void        constant                  (void);
    340341  public  : void        transition                (void);
    341342  public  : void        genMoore                  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit.cpp

    r123 r131  
    7676    if (usage_is_set(_usage,USE_SYSTEMC))
    7777      {
    78         // Constant
    79         for (uint32_t i=0; i<_param->_nb_front_end; i++)
    80           for (uint32_t j=0; j<_param->_nb_context [i]; j++)
    81             {
    82               internal_EVENT_ACK [i][j] = 1;
    83               PORT_WRITE(out_EVENT_ACK [i][j], internal_EVENT_ACK [i][j]);
    84 
    85               internal_RETIRE_EVENT_VAL [i][j] = 1;
    86               PORT_WRITE(out_RETIRE_EVENT_VAL [i][j], internal_RETIRE_EVENT_VAL [i][j]);
    87             }
     78#ifdef SYSTEMCASS_SPECIFIC
     79        constant();
     80#else
     81        log_printf(INFO,Commit_unit,FUNCTION,_("<%s> Method - constant"),_name.c_str());
     82
     83        SC_METHOD (constant);
     84//      dont_initialize ();
     85       
     86# ifdef SYSTEMCASS_SPECIFIC
     87        // List dependency information
     88# endif   
     89#endif
    8890
    8991        log_printf(INFO,Commit_unit,FUNCTION,_("<%s> Method - transition"),_name.c_str());
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/include/Reexecute_unit.h

    r122 r131  
    199199  private : bool        must_reexecute            (Tspr_address_t address, info_t & info);
    200200
     201  public  : void        constant                  (void);
    201202  public  : void        transition                (void);
    202203  public  : void        genMoore                  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp

    r123 r131  
    7575    if (usage_is_set(_usage,USE_SYSTEMC))
    7676      {
    77         // Constant
    78         for (uint32_t i=0; i<_param->_nb_inst_reexecute; ++i)
    79           {
    80             if (_param->_have_port_load_queue_ptr)
    81             PORT_WRITE(out_REEXECUTE_LOAD_QUEUE_PTR_WRITE [i],0);
    82             PORT_WRITE(out_REEXECUTE_READ_RA              [i],0);
    83             PORT_WRITE(out_REEXECUTE_NUM_REG_RA           [i],0);
    84             PORT_WRITE(out_REEXECUTE_READ_RB              [i],0);
    85             PORT_WRITE(out_REEXECUTE_NUM_REG_RB           [i],0);
    86             PORT_WRITE(out_REEXECUTE_READ_RC              [i],0);
    87             PORT_WRITE(out_REEXECUTE_NUM_REG_RC           [i],0);
    88             PORT_WRITE(out_REEXECUTE_WRITE_RE             [i],0);
    89             PORT_WRITE(out_REEXECUTE_NUM_REG_RE           [i],0);
    90           }
     77#ifdef SYSTEMCASS_SPECIFIC
     78        constant();
     79#else
     80        log_printf(INFO,Reexecute_unit,FUNCTION,_("<%s> : Method - constant"),_name.c_str());
    9181
     82        SC_METHOD (constant);
     83//      dont_initialize ();
     84       
     85# ifdef SYSTEMCASS_SPECIFIC
     86        // List dependency information
     87# endif   
     88#endif
    9289
    9390        log_printf(INFO,Reexecute_unit,FUNCTION,_("<%s> : Method - transition"),_name.c_str());
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_commit.cpp

    r123 r131  
    131131    else
    132132      {
     133        for (uint32_t i=0; i<_param->_nb_bank; i++)
     134          internal_QUEUE_PUSH [i] = 0;
     135
    133136#ifdef STATISTICS
    134137        for (uint32_t i=0; i<_param->_nb_inst_commit; ++i)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_transition.cpp

    r101 r131  
    4949              uint32_t y = internal_QUEUE_NUM_INST_EXECUTE [i];
    5050              uint32_t z = internal_QUEUE_NUM_INST_COMMIT  [i];
    51              
     51
     52              log_printf(TRACE,Reexecute_unit,FUNCTION,"  * EXECUTE_LOOP[%d][%d] - COMMIT[%d]",x,y,z);
     53
    5254              entry->state        = STATE_SPR_ACCESS;
    5355              entry->context_id   = (_param->_have_port_context_id  )?PORT_READ(in_EXECUTE_LOOP_CONTEXT_ID   [x][y]):0;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/include/Load_Store_pointer_unit.h

    r122 r131  
    146146                                               
    147147#ifdef SYSTEMC                                 
     148  public  : void        constant                 (void);
    148149  public  : void        transition                (void);
    149150  public  : void        genMealy_insert           (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Load_Store_pointer_unit.cpp

    r123 r131  
    7474    if (usage_is_set(_usage,USE_SYSTEMC))
    7575      {
    76 
    77         // Constant : accepted already transaction
    78         for (uint32_t i=0; i<_param->_nb_front_end; ++i)
    79           for (uint32_t j=0; j<_param->_nb_context[i]; ++j)
    80             {
    81               internal_RETIRE_EVENT_ACK [i][j] = 1;
    82              
    83               PORT_WRITE(out_RETIRE_EVENT_ACK[i][j],internal_RETIRE_EVENT_ACK [i][j]);
    84             }
     76#ifdef SYSTEMCASS_SPECIFIC
     77        constant();
     78#else
     79        log_printf(INFO,Load_Store_pointer_unit,FUNCTION,"Method - constant");
     80
     81        SC_METHOD (constant);
     82//      dont_initialize ();
     83       
     84# ifdef SYSTEMCASS_SPECIFIC
     85        // List dependency information
     86# endif   
     87#endif
    8588
    8689        log_printf(INFO,Load_Store_pointer_unit,FUNCTION,"Method - transition");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include/Register_Address_Translation_unit.h

    r122 r131  
    169169                                               
    170170#ifdef SYSTEMC                                 
     171  public  : void        constant                  (void);
    171172  public  : void        transition                (void);
    172173  public  : void        genMealy_rename           (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit.cpp

    r123 r131  
    7575    if (usage_is_set(_usage,USE_SYSTEMC))
    7676      {
    77         // Constant : accepted already transaction
    78         for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
    79           {
    80             internal_RENAME_ACK [i] = 1;
    81             internal_INSERT_ACK [i] = 1;
     77#ifdef SYSTEMCASS_SPECIFIC
     78        constant();
     79#else
     80        log_printf(INFO,Register_Address_Translation_unit,FUNCTION,"Method - constant");
    8281
    83             PORT_WRITE(out_RENAME_ACK[i],internal_RENAME_ACK [i]);
    84             PORT_WRITE(out_INSERT_ACK[i],internal_INSERT_ACK [i]);
    85           }
    86 
    87         for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
    88           {
    89             internal_RETIRE_ACK [i] = 1;
    90 
    91             PORT_WRITE(out_RETIRE_ACK[i],internal_RETIRE_ACK [i]);
    92           }
    93 
    94         for (uint32_t i=0; i<_param->_nb_front_end; ++i)
    95           for (uint32_t j=0; j<_param->_nb_context[i]; ++j)
    96             {
    97               internal_RETIRE_EVENT_ACK [i][j] = 1;
    98              
    99               PORT_WRITE(out_RETIRE_EVENT_ACK[i][j],internal_RETIRE_EVENT_ACK [i][j]);
    100             }
     82        SC_METHOD (constant);
     83//      dont_initialize ();
     84       
     85# ifdef SYSTEMCASS_SPECIFIC
     86        // List dependency information
     87# endif   
     88#endif
    10189
    10290        log_printf(INFO,Register_Address_Translation_unit,FUNCTION,"Method - transition");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/include/Stat_List_unit.h

    r123 r131  
    164164                                               
    165165#ifdef SYSTEMC                                 
     166  public  : void        constant                  (void);
    166167  public  : void        transition                (void);
    167168  public  : void        genMoore                  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit.cpp

    r123 r131  
    7474    if (usage_is_set(_usage,USE_SYSTEMC))
    7575      {
    76         // Constant
    77         for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
    78           {
    79             internal_INSERT_ACK[i] = 1;
    80             PORT_WRITE(out_INSERT_ACK[i], internal_INSERT_ACK[i]);
    81           }
    82         for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
    83           {
    84             internal_RETIRE_ACK[i] = 1;
    85             PORT_WRITE(out_RETIRE_ACK[i], internal_RETIRE_ACK[i]);
    86           }
     76#ifdef SYSTEMCASS_SPECIFIC
     77        constant();
     78#else
     79        log_printf(INFO,Stat_List_unit,FUNCTION,"Method - constant");
     80
     81        SC_METHOD (constant);
     82//      dont_initialize ();
     83       
     84# ifdef SYSTEMCASS_SPECIFIC
     85        // List dependency information
     86# endif   
     87#endif
    8788
    8889        log_printf(INFO,Stat_List_unit,FUNCTION,"Method - transition");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/src/test.cpp

    r128 r131  
    6161  sc_signal<Toperation_t      > ***  in_RENAME_OPERATION                 ;
    6262  sc_signal<Tcontrol_t        > ***  in_RENAME_NO_EXECUTE                ;
     63  sc_signal<Tcontrol_t        > ***  in_RENAME_LAST_EVENT                ;
    6364  sc_signal<Tcontrol_t        > ***  in_RENAME_IS_DELAY_SLOT             ;
    6465  sc_signal<Taddress_t        > ***  in_RENAME_ADDRESS                   ;
     
    8788  sc_signal<Toperation_t      >  ** out_ISSUE_OPERATION                  ;
    8889  sc_signal<Tlsq_ptr_t        >  ** out_ISSUE_STORE_QUEUE_PTR_WRITE      ;
     90  sc_signal<Tlsq_ptr_t        >  ** out_ISSUE_STORE_QUEUE_PTR_READ       ;
     91  sc_signal<Tcontrol_t        >  ** out_ISSUE_STORE_QUEUE_EMPTY          ;
    8992  sc_signal<Tlsq_ptr_t        >  ** out_ISSUE_LOAD_QUEUE_PTR_WRITE       ;
    9093  sc_signal<Tcontrol_t        >  ** out_ISSUE_HAS_IMMEDIAT               ;
     
    188191  ALLOC2_SC_SIGNAL( in_RENAME_OPERATION                 ," in_RENAME_OPERATION                 ",Toperation_t      ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
    189192  ALLOC2_SC_SIGNAL( in_RENAME_NO_EXECUTE                ," in_RENAME_NO_EXECUTE                ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
     193  ALLOC2_SC_SIGNAL( in_RENAME_LAST_EVENT                ," in_RENAME_LAST_EVENT                ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
    190194  ALLOC2_SC_SIGNAL( in_RENAME_IS_DELAY_SLOT             ," in_RENAME_IS_DELAY_SLOT             ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
    191195#ifdef DEBUG
     
    216220  ALLOC1_SC_SIGNAL(out_ISSUE_OPERATION                  ,"out_ISSUE_OPERATION                  ",Toperation_t      ,_param->_nb_inst_issue);
    217221  ALLOC1_SC_SIGNAL(out_ISSUE_STORE_QUEUE_PTR_WRITE      ,"out_ISSUE_STORE_QUEUE_PTR_WRITE      ",Tlsq_ptr_t        ,_param->_nb_inst_issue);
     222  ALLOC1_SC_SIGNAL(out_ISSUE_STORE_QUEUE_PTR_READ       ,"out_ISSUE_STORE_QUEUE_PTR_READ       ",Tlsq_ptr_t        ,_param->_nb_inst_issue);
     223  ALLOC1_SC_SIGNAL(out_ISSUE_STORE_QUEUE_EMPTY          ,"out_ISSUE_STORE_QUEUE_EMPTY          ",Tcontrol_t        ,_param->_nb_inst_issue);
    218224  ALLOC1_SC_SIGNAL(out_ISSUE_LOAD_QUEUE_PTR_WRITE       ,"out_ISSUE_LOAD_QUEUE_PTR_WRITE       ",Tlsq_ptr_t        ,_param->_nb_inst_issue);
    219225  ALLOC1_SC_SIGNAL(out_ISSUE_HAS_IMMEDIAT               ,"out_ISSUE_HAS_IMMEDIAT               ",Tcontrol_t        ,_param->_nb_inst_issue);
     
    329335  INSTANCE2_SC_SIGNAL(_OOO_Engine, in_RENAME_OPERATION                 ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
    330336  INSTANCE2_SC_SIGNAL(_OOO_Engine, in_RENAME_NO_EXECUTE                ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
     337  INSTANCE2_SC_SIGNAL(_OOO_Engine, in_RENAME_LAST_EVENT                ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
    331338  INSTANCE2_SC_SIGNAL(_OOO_Engine, in_RENAME_IS_DELAY_SLOT             ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
    332339#ifdef DEBUG
     
    360367  INSTANCE1_SC_SIGNAL(_OOO_Engine,out_ISSUE_OPERATION                  ,_param->_nb_inst_issue);
    361368  INSTANCE1_SC_SIGNAL(_OOO_Engine,out_ISSUE_STORE_QUEUE_PTR_WRITE      ,_param->_nb_inst_issue);
     369  INSTANCE1_SC_SIGNAL(_OOO_Engine,out_ISSUE_STORE_QUEUE_PTR_READ       ,_param->_nb_inst_issue);
     370  INSTANCE1_SC_SIGNAL(_OOO_Engine,out_ISSUE_STORE_QUEUE_EMPTY          ,_param->_nb_inst_issue);
    362371  if (_param->_have_port_load_queue_ptr)
    363372  INSTANCE1_SC_SIGNAL(_OOO_Engine,out_ISSUE_LOAD_QUEUE_PTR_WRITE       ,_param->_nb_inst_issue);
     
    517526  DELETE2_SC_SIGNAL( in_RENAME_OPERATION                 ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
    518527  DELETE2_SC_SIGNAL( in_RENAME_NO_EXECUTE                ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
     528  DELETE2_SC_SIGNAL( in_RENAME_LAST_EVENT                ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
    519529  DELETE2_SC_SIGNAL( in_RENAME_IS_DELAY_SLOT             ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
    520530#ifdef DEBUG
     
    545555  DELETE1_SC_SIGNAL(out_ISSUE_OPERATION                  ,_param->_nb_inst_issue);
    546556  DELETE1_SC_SIGNAL(out_ISSUE_STORE_QUEUE_PTR_WRITE      ,_param->_nb_inst_issue);
     557  DELETE1_SC_SIGNAL(out_ISSUE_STORE_QUEUE_PTR_READ       ,_param->_nb_inst_issue);
     558  DELETE1_SC_SIGNAL(out_ISSUE_STORE_QUEUE_EMPTY          ,_param->_nb_inst_issue);
    547559  DELETE1_SC_SIGNAL(out_ISSUE_LOAD_QUEUE_PTR_WRITE       ,_param->_nb_inst_issue);
    548560  DELETE1_SC_SIGNAL(out_ISSUE_HAS_IMMEDIAT               ,_param->_nb_inst_issue);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/include/Special_Register_unit.h

    r88 r131  
    139139                                               
    140140#ifdef SYSTEMC                                 
     141  public  : void        constant                  (void);
    141142  public  : void        transition                (void);
    142143  public  : void        genMoore                  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit.cpp

    r123 r131  
    7575    if (usage_is_set(_usage,USE_SYSTEMC))
    7676      {
    77         // Constant
    78         for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
    79           {
    80             internal_SPR_ACCESS_ACK [i] = 1;
    81             PORT_WRITE(out_SPR_ACCESS_ACK [i], internal_SPR_ACCESS_ACK [i]);
    82           }
     77#ifdef SYSTEMCASS_SPECIFIC
     78        constant();
     79#else
     80        log_printf(INFO,Special_Register_unit,FUNCTION,_("<%s> : Method - constant"),_name.c_str());
    8381
    84         for (uint32_t i=0; i<_param->_nb_front_end; i++)
    85           for (uint32_t j=0; j<_param->_nb_context[i]; j++)
    86             {
    87               internal_SPR_COMMIT_ACK [i][j] = 1;
    88               internal_SPR_EVENT_ACK  [i][j] = 1;
    89               PORT_WRITE(out_SPR_COMMIT_ACK [i][j], internal_SPR_COMMIT_ACK [i][j]);
    90               PORT_WRITE(out_SPR_EVENT_ACK  [i][j], internal_SPR_EVENT_ACK  [i][j]);
    91             }
     82        SC_METHOD (constant);
     83//      dont_initialize ();
     84       
     85# ifdef SYSTEMCASS_SPECIFIC
     86        // List dependency information
     87# endif   
     88#endif
    9289
    9390        log_printf(INFO,Special_Register_unit,FUNCTION,_("<%s> : Method - transition"),_name.c_str());
Note: See TracChangeset for help on using the changeset viewer.