Ignore:
Timestamp:
Feb 9, 2009, 11:55:26 PM (15 years ago)
Author:
rosiere
Message:

1) RAT : Fix bug when update and event in same cycle
2) Context State : Compute depth
3) Load Store Unit : In check logic, translate all access in little endian. More easy to check
4) UFPT : End Event

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_read.cpp

    r81 r106  
    1717
    1818
     19#undef  FUNCTION
     20#define FUNCTION "RegisterFile_Multi_Banked::full_crossbar_genMealy_read"
    1921  void RegisterFile_Multi_Banked::full_crossbar_genMealy_read (void)
    2022  {
    21     log_printf(FUNC,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read","Begin");
     23    log_begin(RegisterFile_Multi_Banked,FUNCTION);
     24    log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
    2225
    2326    bool read_port_use [_param->_nb_bank][_param->_nb_port_read_by_bank];
     
    3235        bool ack = false;
    3336
    34         log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read","read[%d] : %d",i,val);
     37        log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"  * read [%d] : %d",i,val);
    3538
    3639        if (val == true)
     
    4346              address = 0;
    4447
    45             log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * address   : %d",address);
     48            log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * address   : %d",address);
    4649            Taddress_t bank    = address_bank    (address);
    47             log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * bank      : %d",bank   );
     50            log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * bank      : %d",bank   );
    4851
    4952            // Search loop
     
    5962                    Taddress_t num_reg = address_num_reg (address);
    6063
    61                     log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * num_reg   : %d",num_reg);
    62                     log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * bank_port : %d",j);
     64                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * num_reg   : %d",num_reg);
     65                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * bank_port : %d",j);
    6366
    6467                    Tdata_t    data    = reg_DATA[bank][num_reg];
    6568                   
    66                     log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * data      : %d",data);
     69                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * data      : %d",data);
    6770
    6871                    PORT_WRITE(out_READ_DATA [i], data);
     
    7780      }
    7881
    79     log_printf(FUNC,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read","End");
     82    log_end(RegisterFile_Multi_Banked,FUNCTION);
    8083  };
    8184
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_write.cpp

    r81 r106  
    1717
    1818
     19#undef  FUNCTION
     20#define FUNCTION "RegisterFile_Multi_Banked::full_crossbar_genMealy_write"
    1921  void RegisterFile_Multi_Banked::full_crossbar_genMealy_write (void)
    2022  {
    21     log_printf(FUNC,RegisterFile_Multi_Banked,"full_crossbar_genMealy_write","Begin");
     23    log_begin(RegisterFile_Multi_Banked,FUNCTION);
     24    log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
    2225
    2326    bool write_port_use [_param->_nb_bank][_param->_nb_port_write_by_bank];
     
    3235        bool ack = false;
    3336
    34         log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_write","write[%d] : %d",i,val);
     37        log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"  * write [%d] : %d",i,val);
    3538
    3639        if (val == true)
     
    4346            else
    4447              address = 0;
    45             log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_write"," * address   : %d",address);
     48            log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * address   : %d",address);
    4649            Taddress_t bank    = address_bank    (address);
    47             log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_write"," * bank      : %d",bank   );
     50            log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * bank      : %d",bank   );
    4851
    4952            // Search loop
     
    6063                    Taddress_t num_reg = address_num_reg (address);
    6164
    62                     log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_write"," * num_reg   : %d",num_reg);
    63                     log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_write"," * bank_port : %d",j      );
     65                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * num_reg   : %d",num_reg);
     66                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * bank_port : %d",j      );
    6467                                   
    6568                    internal_WRITE_NUM_REG [i] = num_reg;
     
    7780      }
    7881
    79     log_printf(FUNC,RegisterFile_Multi_Banked,"full_crossbar_genMealy_write","End");
     82    log_end(RegisterFile_Multi_Banked,FUNCTION);
    8083  };
    8184
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_transition.cpp

    r81 r106  
    1717
    1818
     19#undef  FUNCTION
     20#define FUNCTION "RegisterFile_Multi_Banked::full_crossbar_genMealy_transition"
    1921  void RegisterFile_Multi_Banked::full_crossbar_transition (void)
    2022  {
    21     log_printf(FUNC,RegisterFile_Multi_Banked,"full_crossbar_transition","Begin");
     23    log_begin(RegisterFile_Multi_Banked,FUNCTION);
     24    log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
    2225
    23     log_printf(FUNC,RegisterFile_Multi_Banked,"full_crossbar_transition","End");
     26    log_end(RegisterFile_Multi_Banked,FUNCTION);
    2427  };
    2528
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_genMealy_read.cpp

    r81 r106  
    1717
    1818
     19#undef  FUNCTION
     20#define FUNCTION "RegisterFile_Multi_Banked::genMealy_read"
    1921  void RegisterFile_Multi_Banked::genMealy_read (void)
    2022  {
    21     log_printf(FUNC,RegisterFile_Multi_Banked,"genMealy_read","Begin");
     23    log_begin(RegisterFile_Multi_Banked,FUNCTION);
     24    log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
    2225
    2326    // call function pointer
    2427    (this->*function_genMealy_read) ();
    2528
    26 
    27     log_printf(FUNC,RegisterFile_Multi_Banked,"genMealy_read","End");
     29    log_end(RegisterFile_Multi_Banked,FUNCTION);
    2830  };
    2931
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_genMealy_write.cpp

    r81 r106  
    1717
    1818
     19#undef  FUNCTION
     20#define FUNCTION "RegisterFile_Multi_Banked::genMealy_write"
    1921  void RegisterFile_Multi_Banked::genMealy_write (void)
    2022  {
    21     log_printf(FUNC,RegisterFile_Multi_Banked,"genMealy_write","Begin");
     23    log_begin(RegisterFile_Multi_Banked,FUNCTION);
     24    log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
    2225
    2326    // call function pointer
    2427    (this->*function_genMealy_write) ();
    2528
    26     log_printf(FUNC,RegisterFile_Multi_Banked,"genMealy_write","End");
     29    log_end(RegisterFile_Multi_Banked,FUNCTION);
    2730  };
    2831
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_read.cpp

    r81 r106  
    1717
    1818
     19#undef  FUNCTION
     20#define FUNCTION "RegisterFile_Multi_Banked::partial_crossbar_genMealy_read"
    1921  void RegisterFile_Multi_Banked::partial_crossbar_genMealy_read (void)
    2022  {
    21     log_printf(FUNC,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_read","Begin");
     23    log_begin(RegisterFile_Multi_Banked,FUNCTION);
     24    log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
    2225
    2326    bool read_port_use [_param->_nb_bank][_param->_nb_port_read_by_bank];
     
    3235        bool ack = false;
    3336
    34         log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read","read[%d] : %d",i,val);
     37        log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"  * read [%d] : %d",i,val);
    3538
    3639        if (val == true)
     
    4245            else
    4346              address = 0;
    44             log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * address   : %d",address);
     47            log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * address   : %d",address);
    4548            Taddress_t bank    = address_bank    (address);
    46             log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * bank      : %d",bank   );
     49            log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * bank      : %d",bank   );
    4750
    4851//          // Search loop
     
    6164                    Taddress_t num_reg = address_num_reg (address);
    6265
    63                     log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * num_reg   : %d",num_reg);
    64                     log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * bank_port : %d",j);
     66                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * num_reg   : %d",num_reg);
     67                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * bank_port : %d",j);
    6568
    6669                    Tdata_t    data    = reg_DATA[bank][num_reg];
    6770                   
    68                     log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * data      : %d",data);
     71                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * data      : %d",data);
    6972
    7073                    PORT_WRITE(out_READ_DATA [i], data);
     
    7982      }
    8083
    81     log_printf(FUNC,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_read","End");
     84    log_end(RegisterFile_Multi_Banked,FUNCTION);
    8285  };
    8386
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_write.cpp

    r81 r106  
    1717
    1818
     19#undef  FUNCTION
     20#define FUNCTION "RegisterFile_Multi_Banked::partial_crossbar_genMealy_write"
    1921  void RegisterFile_Multi_Banked::partial_crossbar_genMealy_write (void)
    2022  {
    21     log_printf(FUNC,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_write","Begin");
     23    log_begin(RegisterFile_Multi_Banked,FUNCTION);
     24    log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
    2225
    2326    bool write_port_use [_param->_nb_bank][_param->_nb_port_write_by_bank];
     
    3134        bool ack = false;
    3235
    33         log_printf(TRACE,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_write","write[%d] : %d",i,val);
     36        log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"  * write [%d] : %d",i,val);
    3437
    3538        if (val == true)
     
    4245            else
    4346              address = 0;
    44             log_printf(TRACE,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_write"," * address   : %d",address);
     47            log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * address   : %d",address);
    4548            Taddress_t bank    = address_bank    (address);
    46             log_printf(TRACE,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_write"," * bank      : %d",bank   );
     49            log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * bank      : %d",bank   );
    4750
    4851//          // Search loop
     
    6164                    Taddress_t num_reg = address_num_reg (address);
    6265
    63                     log_printf(TRACE,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_write"," * num_reg   : %d",num_reg);
    64                     log_printf(TRACE,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_write"," * bank_port : %d",j      );
     66                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * num_reg   : %d",num_reg);
     67                    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * bank_port : %d",j      );
    6568                                   
    6669                    internal_WRITE_NUM_REG [i] = num_reg;
     
    7982      }
    8083
    81     log_printf(FUNC,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_write","End");
     84    log_end(RegisterFile_Multi_Banked,FUNCTION);
    8285  };
    8386
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_transition.cpp

    r81 r106  
    1717
    1818
     19#undef  FUNCTION
     20#define FUNCTION "RegisterFile_Multi_Banked::partial_crossbar_transition"
    1921  void RegisterFile_Multi_Banked::partial_crossbar_transition (void)
    2022  {
    21     log_printf(FUNC,RegisterFile_Multi_Banked,"partial_crossbar_transition","Begin");
     23    log_begin(RegisterFile_Multi_Banked,FUNCTION);
     24    log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
    2225
    23     log_printf(FUNC,RegisterFile_Multi_Banked,"partial_crossbar_transition","End");
     26    log_end(RegisterFile_Multi_Banked,FUNCTION);
    2427  };
    2528
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_transition.cpp

    r81 r106  
    1616namespace registerfile_multi_banked {
    1717
    18 
     18#undef  FUNCTION
     19#define FUNCTION "RegisterFile_Multi_Banked::transition"
    1920  void RegisterFile_Multi_Banked::transition (void)
    2021  {
    21     log_printf(FUNC,RegisterFile_Multi_Banked,"transition","Begin");
     22    log_begin(RegisterFile_Multi_Banked,FUNCTION);
     23    log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
    2224   
    2325    // call function pointer
     
    3537      }
    3638
     39#if defined(DEBUG_RegisterFile_Multi_Banked) and DEBUG_RegisterFile_Multi_Banked and (DEBUG >= DEBUG_TRACE)
     40    {
     41      log_printf(TRACE,RegisterFile,FUNCTION,"  * Dump RegisterFile");
     42
     43      uint32_t limit = 4;
     44     
     45      for (uint32_t i=0; i<_param->_nb_bank; i++)
     46        {
     47         
     48          log_printf(TRACE,RegisterFile,FUNCTION,"  Bank %d",i);
     49
     50          for (uint32_t j=0; j<_param->_nb_word_by_bank; j+=limit)
     51            {
     52              std::string str = "";
     53             
     54              for (uint32_t k=0; k<limit; k++)
     55                {
     56                  uint32_t index = j+k;
     57                  if (index >= _param->_nb_word)
     58                    break;
     59                  else
     60                    str+=toString("[%.4d] %.8x ",index,reg_DATA[i][index]);
     61                }
     62             
     63              log_printf(TRACE,RegisterFile,FUNCTION,"  %s",str.c_str());
     64            }
     65        }
     66    }
     67#endif
     68
    3769#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
    3870    end_cycle();
    3971#endif
    4072
    41     log_printf(FUNC,RegisterFile_Multi_Banked,"transition","End");
     73    log_end(RegisterFile_Multi_Banked,FUNCTION);
    4274  };
    4375
Note: See TracChangeset for help on using the changeset viewer.