Ignore:
Timestamp:
Dec 10, 2008, 7:31:39 PM (16 years ago)
Author:
rosiere
Message:

Almost complete design
with Test and test platform

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit.cpp

    r81 r88  
    3939    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
    4040
     41#if DEBUG_Dependency_checking_unit == true
     42    log_printf(INFO,Dependency_checking_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
     43
     44    std::cout << *param << std::endl;
     45#endif   
     46
    4147    log_printf(INFO,Dependency_checking_unit,FUNCTION,"Allocation");
    4248
     
    4854
    4955#ifdef STATISTICS
    50     if (_usage & USE_STATISTICS)
     56    if (usage_is_set(_usage,USE_STATISTICS))
    5157      {
    5258        log_printf(INFO,Dependency_checking_unit,FUNCTION,"Allocation of statistics");
     
    5763
    5864#ifdef VHDL
    59     if (_usage & USE_VHDL)
     65    if (usage_is_set(_usage,USE_VHDL))
    6066      {
    6167        // generate the vhdl
     
    6773
    6874#ifdef SYSTEMC
    69     if (_usage & USE_SYSTEMC)
     75    if (usage_is_set(_usage,USE_SYSTEMC))
    7076      {
    7177# if defined(STATISTICS) or defined(VHDL_TESTBENCH)
     
    8692        SC_METHOD (genMealy);
    8793        dont_initialize ();
    88         sensitive << (*(in_CLOCK)).neg();
     94//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
    8995        for (uint32_t i=0;i<_param->_nb_inst_insert; i++)
    9096          {
     
    221227
    222228#ifdef STATISTICS
    223     if (_usage & USE_STATISTICS)
     229    if (usage_is_set(_usage,USE_STATISTICS))
    224230      {
    225231        log_printf(INFO,Dependency_checking_unit,FUNCTION,"Generate Statistics file");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_allocation.cpp

    r81 r88  
    113113
    114114#ifdef POSITION
    115     _component->generate_file();
     115     if (usage_is_set(_usage,USE_POSITION))
     116       _component->generate_file();
    116117#endif
    117118
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_deallocation.cpp

    r81 r88  
    2424    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
    2525
    26     if (_usage & USE_SYSTEMC)
     26    if (usage_is_set(_usage,USE_SYSTEMC))
    2727      {
    2828        delete     in_CLOCK ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_end_cycle.cpp

    r81 r88  
    2626
    2727#ifdef STATISTICS
    28     _stat->end_cycle();
     28    if (usage_is_set(_usage,USE_STATISTICS))
     29      _stat->end_cycle();
    2930#endif   
    3031
     
    3233    // Evaluation before read the ouput signal
    3334//  sc_start(0);
    34     _interfaces->testbench();
     35    if (usage_is_set(_usage,USE_VHDL_TESTBENCH))
     36      _interfaces->testbench();
    3537#endif
    3638
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_genMealy.cpp

    r81 r88  
    2323  void Dependency_checking_unit::genMealy (void)
    2424  {
    25     log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
     25    log_begin(Dependency_checking_unit,FUNCTION);
     26    log_function(Dependency_checking_unit,FUNCTION,_name.c_str());
    2627
    2728//     Tcontrol_t         val                [_param->_nb_inst_insert];
     
    7778        num_reg_re_phy_new [i] = PORT_READ(in_RENAME_IN_NUM_REG_RE_PHY_NEW [i]);
    7879       
     80        log_printf(TRACE,Dependency_checking_unit,FUNCTION,"  * (before) [%d] %.2d %.2d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d -> %.5d, %.1d %.2d %.5d -> %.5d",
     81                   i,
     82                   front_end_id       [i],
     83                   context_id         [i],
     84                   read_ra            [i],
     85                   num_reg_ra_log     [i],
     86                   num_reg_ra_phy     [i],
     87                   read_rb            [i],
     88                   num_reg_rb_log     [i],
     89                   num_reg_rb_phy     [i],
     90                   read_rc            [i],
     91                   num_reg_rc_log     [i],
     92                   num_reg_rc_phy     [i],
     93                   write_rd           [i],
     94                   num_reg_rd_log     [i],
     95                   num_reg_rd_phy_old [i],
     96                   num_reg_rd_phy_new [i],
     97                   write_re           [i],
     98                   num_reg_re_log     [i],
     99                   num_reg_re_phy_old [i],
     100                   num_reg_re_phy_new [i]);
     101
    79102        // ================================================================
    80103        // =====[ Write after Write ]======================================
     
    88111                (context_id     [j] == context_id     [i]) )
    89112              {
     113                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RD :  WAW dependency with inst[%d].RD",j);
    90114                num_reg_rd_phy_old [i] = num_reg_rd_phy_new [j];
    91115                break; // find the most recently dependency
     
    100124                (context_id     [j] == context_id     [i]) )
    101125              {
     126                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RE : WAW dependency with inst[%d].RE",j);
    102127                num_reg_re_phy_old [i] = num_reg_re_phy_new [j];
    103128                break; // find the most recently dependency
     
    114139                (context_id     [j] == context_id     [i]) )
    115140              {
     141                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RA :  RAW dependency with inst[%d].RD",j);
    116142                num_reg_ra_phy [i] = num_reg_rd_phy_new [j];
    117143                break; // find the most recently dependency
     
    126152                (context_id     [j] == context_id     [i]) )
    127153              {
     154                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RB :  RAW dependency with inst[%d].RD",j);
    128155                num_reg_rb_phy [i] = num_reg_rd_phy_new [j];
    129156                break; // find the most recently dependency
     
    138165                (context_id     [j] == context_id     [i]) )
    139166              {
     167                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RC :  RAW dependency with inst[%d].RE",j);
    140168                num_reg_rc_phy [i] = num_reg_re_phy_new [j];
    141169                break; // find the most recently dependency
    142170              }
     171
     172        log_printf(TRACE,Dependency_checking_unit,FUNCTION,"  * (after ) [%d] %.2d %.2d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d -> %.5d, %.1d %.2d %.5d -> %.5d",
     173                   i,
     174                   front_end_id       [i],
     175                   context_id         [i],
     176                   read_ra            [i],
     177                   num_reg_ra_log     [i],
     178                   num_reg_ra_phy     [i],
     179                   read_rb            [i],
     180                   num_reg_rb_log     [i],
     181                   num_reg_rb_phy     [i],
     182                   read_rc            [i],
     183                   num_reg_rc_log     [i],
     184                   num_reg_rc_phy     [i],
     185                   write_rd           [i],
     186                   num_reg_rd_log     [i],
     187                   num_reg_rd_phy_old [i],
     188                   num_reg_rd_phy_new [i],
     189                   write_re           [i],
     190                   num_reg_re_log     [i],
     191                   num_reg_re_phy_old [i],
     192                   num_reg_re_phy_new [i]);
    143193
    144194        // =====[ Output ]=================================================
     
    168218      }
    169219
    170     log_printf(FUNC,Dependency_checking_unit,FUNCTION,"End");
     220    log_end(Dependency_checking_unit,FUNCTION);
    171221  };
    172222
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Parameters.cpp

    r81 r88  
    2424                          uint32_t nb_general_register   ,
    2525                          uint32_t nb_special_register   ,
    26                           uint32_t nb_inst_insert        )
     26                          uint32_t nb_inst_insert        ,
     27                          bool     is_toplevel           )
    2728  {
    2829    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
     
    3435    _nb_inst_insert      = nb_inst_insert     ;
    3536
    36     _size_front_end_id      = log2(nb_front_end       );
    37     _size_context_id        = log2(max_nb_context     );
    38     _size_general_register  = log2(nb_general_register);
    39     _size_special_register  = log2(nb_special_register);
    40    
    41     _have_port_front_end_id = _size_front_end_id>0;
    42     _have_port_context_id   = _size_context_id  >0;
     37    test();
    4338
    44     test();
     39    if (is_toplevel)
     40      {
     41        _size_front_end_id      = log2(nb_front_end       );
     42        _size_context_id        = log2(max_nb_context     );
     43        _size_general_register  = log2(nb_general_register);
     44        _size_special_register  = log2(nb_special_register);
     45       
     46        _have_port_front_end_id = _size_front_end_id>0;
     47        _have_port_context_id   = _size_context_id  >0;
     48
     49        copy();
     50      }
     51
    4552    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"End");
    4653  };
     
    5764#undef  FUNCTION
    5865#define FUNCTION "Dependency_checking_unit::~Parameters"
    59   Parameters::~Parameters ()
     66  Parameters::~Parameters (void)
     67  {
     68    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
     69    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"End");
     70  };
     71
     72#undef  FUNCTION
     73#define FUNCTION "Dependency_checking_unit::copy"
     74  void Parameters::copy (void)
    6075  {
    6176    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
Note: See TracChangeset for help on using the changeset viewer.