Ignore:
Timestamp:
Jun 17, 2009, 2:11:25 PM (15 years ago)
Author:
rosiere
Message:

1) Add test and configuration
2) Fix Bug
3) Add log file in load store unit
4) Fix Bug in environment

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_multi_fifo_genMealy_decod_out.cpp

    r123 r124  
    5353            log_printf(TRACE,Decod_queue,FUNCTION,_("  * Queue is not empty, slot [%d] is valid."),i);
    5454           
    55             Tcontext_t context         = reg_QUEUE[num_bank].front()->_context_id    [0];
     55            Tcontext_t context  = reg_QUEUE[num_bank].front()->_context_id [0];
    5656
    5757            log_printf(TRACE,Decod_queue,FUNCTION,"      * context      : %d",context);
     
    100100               
    101101                internal_DECOD_OUT_VAL [i] = 1; // in all case, val is set (entry is not empty, and instruction is valid)
    102                
     102
    103103                if (is_valid)
    104104                  {
    105105                    val                    [i] = 1;
    106106                    internal_DECOD_OUT_ACK [i] = PORT_READ(in_DECOD_OUT_ACK [i]);
    107                
    108107                  }
    109108                else
     
    124123                      }
    125124                  }
     125
     126                log_printf(TRACE,Decod_queue,FUNCTION,"      * decod_out_ack: %d (%d)",internal_DECOD_OUT_ACK [i],PORT_READ(in_DECOD_OUT_ACK [i]));
    126127              }
    127128          }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_multi_fifo_transition.cpp

    r123 r124  
    117117        //--------------------------------------------------------------------
    118118        {
     119          bool can_continue = true; // in_order
     120
    119121          for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
    120             if (internal_DECOD_OUT_VAL [i] and internal_DECOD_OUT_ACK[i])
     122            if (can_continue and (internal_DECOD_OUT_VAL [i] and internal_DECOD_OUT_ACK[i]))
    121123              {
    122124                log_printf(TRACE,Decod_queue,FUNCTION,_("  * DECOD_OUT [%d]"),i);
     
    139141                reg_NB_INST_EVENT [context] --;
    140142              }
     143            else
     144              can_continue = false;
    141145        }
    142146
Note: See TracChangeset for help on using the changeset viewer.