Ignore:
Timestamp:
Dec 31, 2008, 11:18:08 AM (15 years ago)
Author:
rosiere
Message:

1) Fix bug (read unit, RAT -> write in R0, SPR desallocation ...)
2) Change VHDL Execute_queue -> use Generic/Queue?
3) Complete document on VHDL generation
4) Add soc test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue_genMealy_decod.cpp

    r81 r98  
    2222  void Branch_Target_Buffer_Glue::genMealy_decod (void)
    2323  {
    24     log_printf(FUNC,Branch_Target_Buffer_Glue,FUNCTION,"Begin");
     24    log_begin(Branch_Target_Buffer_Glue,FUNCTION);
     25    log_function(Branch_Target_Buffer_Glue,FUNCTION,_name.c_str());
    2526
    2627    for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
    2728      {
     29        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"  * DECOD [%d]",i);
    2830        Tcontrol_t val          = PORT_READ(in_DECOD_VAL          [i]);
    2931        Tcontrol_t register_ack = PORT_READ(in_DECOD_REGISTER_ACK [i]);
    3032        Tcontrol_t victim_ack   = (_param->_have_port_victim)?PORT_READ(in_DECOD_VICTIM_ACK [i]):true;
    3133       
    32         PORT_WRITE(out_DECOD_ACK            [i],         register_ack and victim_ack);
    33         PORT_WRITE(out_DECOD_REGISTER_VAL   [i], val and                  victim_ack);
     34        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * val          : %d", val         );
     35        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * register_ack : %d", register_ack);
     36        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * victim_ack   : %d", victim_ack  );
    3437
     38        PORT_WRITE(out_DECOD_ACK            [i], (
     39//                                                val          and
     40                                                  register_ack and
     41                                                  victim_ack
     42                                                  ));
     43        PORT_WRITE(out_DECOD_REGISTER_VAL   [i], (
     44                                                  val          and
     45//                                                register_ack and
     46                                                  victim_ack
     47                                                  ));
    3548        if (_param->_have_port_victim)
    3649          {
    37         PORT_WRITE(out_DECOD_VICTIM_VAL     [i], val and register_ack );
     50        PORT_WRITE(out_DECOD_VICTIM_VAL     [i], (
     51                                                  val          and
     52                                                  register_ack // and
     53//                                                victim_ack
     54                                                  ));
    3855        if (not _param->_is_full_associative)
    39         PORT_WRITE(out_DECOD_VICTIM_ADDRESS [i], (PORT_READ(in_DECOD_ADDRESS_SRC [i]) >> _param->_shift_bank)&_param->_mask_bank);
     56          {
     57            Tgeneral_data_t address_src = PORT_READ(in_DECOD_ADDRESS_SRC [i]);
     58            log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * address_src  : %.8x", address_src);
     59           
     60            PORT_WRITE(out_DECOD_VICTIM_ADDRESS [i], (address_src >> _param->_shift_bank)&_param->_mask_bank);
     61          }
    4062          }
    4163      }
    4264
    43     log_printf(FUNC,Branch_Target_Buffer_Glue,FUNCTION,"End");
     65    log_end(Branch_Target_Buffer_Glue,FUNCTION);
    4466  };
    4567
Note: See TracChangeset for help on using the changeset viewer.