Ignore:
Timestamp:
Feb 5, 2008, 5:21:20 PM (17 years ago)
Author:
rosiere
Message:
  • Add two component :
    • network between read unit and execute unit
    • network between execute unit and write unit
  • remove parameters "nb_operation" and "nb_type"
  • in write_queue add the special case : load_speculative
Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/include
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Constants.h

    r76 r77  
    1010#  define TYPE_MOVE                                0x2        // 00000 - unit multiple
    1111#  define TYPE_TEST                                0x3        // 00000 - unit multiple
    12 #  define TYPE_MUL_DIV                             0x4        // 00000 - unit multiple, type optionnal
     12#  define TYPE_MUL_DIV                             0x4        // 00000 - unit multiple
    1313#  define TYPE_EXTEND                              0x5        // 00000 - unit multiple, type optionnal
    1414#  define TYPE_FIND                                0x6        // 00000 - unit multiple, type optionnal
    1515#  define TYPE_SPECIAL                             0x7        // 00000 - unit uniq
    16 #  define TYPE_CUSTOM                              0x8        // 00000 - unit uniq
    17 #  define TYPE_BRANCH                              0x9        // 00000 - unit multiple, to a special routing
     16#  define TYPE_CUSTOM                              0x8        // 00000 - unit uniq    , type optionnal
     17#  define TYPE_BRANCH                              0x9        // 00000 - unit multiple
    1818#  define TYPE_MEMORY                              0xa        // 00000 - unit uniq
    19 #  define MAX_TYPE                                 0x10       // 00000 - unit uniq
     19
     20#  define SIZE_TYPE                                5
     21#  define MAX_TYPE                                 (1<<SIZE_TYPE)
    2022
    2123  //====================================================[ Operation ]=====
     
    186188#  define OPERATION_CUSTOM_LV_4                    0x4f       // 100_1111
    187189
    188 #  define MAX_OPERATION                            0x80
     190#  define SIZE_OPERATION                           7
     191#  define MAX_OPERATION                            (1<<SIZE_OPERATION)
    189192
    190193  //====================================================[ Exception ]=====
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h

    r73 r77  
    2929#define         DEBUG_Multi_Write_unit                            false
    3030#define           DEBUG_Write_unit                                false
    31 #define             DEBUG_Execute_queue                           true
    32 #define             DEBUG_Write_queue                             true
     31#define             DEBUG_Execute_queue                           false
     32#define             DEBUG_Write_queue                             false
     33#define         DEBUG_Network                                     true
     34#define           DEBUG_Execution_unit_to_Write_unit              true
     35#define           DEBUG_Read_unit_to_Execution_unit               true
    3336#define         DEBUG_Register_unit                               false
    3437#define           DEBUG_Register_unit_Glue                        false
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Parameters.h

    r72 r77  
    55 * $Id$
    66 *
    7  * [ Description ]
     7 * [ Description ]
    88 *
    99 */
     
    2525  class Parameters
    2626  {
    27     // -----[ fields ]----------------------------------------------------
     27    // -----[ fields ]----------------------------------------------------
     28  public   : static const uint32_t   _nb_operation        = MAX_OPERATION;
     29  public   : static const uint32_t   _nb_type             = MAX_TYPE;
     30  public   : static const uint32_t   _size_operation      = SIZE_OPERATION;
     31  public   : static const uint32_t   _size_type           = SIZE_TYPE;     
    2832  public   : static const uint32_t   _size_exception      = SIZE_EXCEPTION;
    2933  public   : static const uint32_t   _size_dcache_type    = SIZE_DCACHE_TYPE;
    3034  public   : static const uint32_t   _size_dcache_error   = SIZE_DCACHE_ERROR;
    3135
    32     // -----[ methods ]---------------------------------------------------
     36    // -----[ methods ]---------------------------------------------------
    3337  public   :                  Parameters            (void);
    3438  public   : virtual          ~Parameters           ();
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Types.h

    r73 r77  
    33
    44#include "Common/include/Types.h"
     5#include "Common/include/ToString.h"
    56#include "Behavioural/include/Constants.h"
    67
     
    5657  };
    5758
    58   inline Tcontext_t get_num_thread (Tcontext_t num_context_id ,
    59                                     uint32_t   size_context_id,
    60                                     Tcontext_t num_front_end_id ,
    61                                     uint32_t   size_front_end_id,
    62                                     Tcontext_t num_ooo_engine_id ,
    63                                     uint32_t   size_ooo_engine_id)
     59  inline Tcontext_t get_num_thread (Tcontext_t num_context_id   , uint32_t size_context_id   ,
     60                                    Tcontext_t num_front_end_id , uint32_t size_front_end_id ,
     61                                    Tcontext_t num_ooo_engine_id, uint32_t size_ooo_engine_id)
    6462  {
    6563    return ((num_ooo_engine_id << (size_context_id + size_front_end_id)) |
     
    6765            (num_context_id));
    6866  }
    69                                    
    7067
     68  inline uint32_t get_nb_thread (uint32_t nb_context ,
     69                                 uint32_t nb_front_end ,
     70                                 uint32_t nb_ooo_engine )
     71  {
     72    return (nb_ooo_engine *
     73            nb_front_end  *
     74            nb_context) ;
     75  }
    7176
    7277}; // end namespace behavioural
     78
     79  inline std::string toString_type(const morpheo::behavioural::Ttype_t& x)
     80  {
     81    switch (x)
     82      {
     83      case TYPE_ALU     : return "ALU"    ; break;
     84      case TYPE_SHIFT   : return "SHIFT"  ; break;
     85      case TYPE_MOVE    : return "MOVE"   ; break;
     86      case TYPE_TEST    : return "TEST"   ; break;
     87      case TYPE_MUL_DIV : return "MUL_DIV"; break;
     88      case TYPE_EXTEND  : return "EXTEND" ; break;
     89      case TYPE_FIND    : return "FIND"   ; break;
     90      case TYPE_SPECIAL : return "SPECIAL"; break;
     91      case TYPE_CUSTOM  : return "CUSTOM" ; break;
     92      case TYPE_BRANCH  : return "BRANCH" ; break;
     93      case TYPE_MEMORY  : return "MEMORY" ; break;
     94      default           : return ""       ; break;
     95      }
     96  };
     97
    7398}; // end namespace morpheo             
    7499
Note: See TracChangeset for help on using the changeset viewer.