Ignore:
Timestamp:
Jul 11, 2009, 6:39:35 PM (15 years ago)
Author:
rosiere
Message:

1) add constant method - compatibility with SystemC
2) add Script to test sensitive list
3) fix bug in sensitive list

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management_genMoore.cpp

    r123 r132  
    2222  void Address_management::genMoore (void)
    2323  {
    24     log_printf(FUNC,Address_management,FUNCTION,"Begin");
     24    log_begin(Address_management,FUNCTION);
     25    log_function(Address_management,FUNCTION,_name.c_str());
    2526
    2627    if (PORT_READ(in_NRESET))
     
    5253    PORT_WRITE(out_PREDICT_PC_CURRENT           ,reg_PC_NEXT           );
    5354    PORT_WRITE(out_PREDICT_PC_CURRENT_IS_DS_TAKE,reg_PC_NEXT_IS_DS_TAKE);
     55
    5456      }
    5557    else
     
    5961      }
    6062
     63    log_printf(TRACE,Address_management,FUNCTION," * ADDRESS_VAL : %d",internal_ADDRESS_VAL);
     64    log_printf(TRACE,Address_management,FUNCTION," * PREDICT_VAL : %d",internal_PREDICT_VAL);
     65
    6166    PORT_WRITE(out_ADDRESS_VAL,internal_ADDRESS_VAL);
    6267    PORT_WRITE(out_PREDICT_VAL,internal_PREDICT_VAL);
    6368
    64     log_printf(FUNC,Address_management,FUNCTION,"End");
     69    log_end(Address_management,FUNCTION);
    6570  };
    6671
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp

    r131 r132  
    7676        log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - constant"),_name.c_str());
    7777
     78#ifdef SYSTEMCASS_SPECIFIC
     79        constant();
     80#else
    7881        SC_METHOD (constant);
    7982//      dont_initialize ();
     
    8285        // List dependency information
    8386# endif   
    84 
     87#endif
    8588        log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - transition"),_name.c_str());
    8689
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_genMoore.cpp

    r123 r132  
    2121  void Ifetch_queue::genMoore (void)
    2222  {
    23     log_printf(FUNC,Ifetch_queue,FUNCTION,"Begin");
     23    log_begin(Ifetch_queue,FUNCTION);
     24    log_function(Ifetch_queue,FUNCTION,_name.c_str());
    2425
    2526    if (PORT_READ(in_NRESET))
     
    3031    {
    3132      internal_ADDRESS_ACK = (_queue[reg_PTR_WRITE]->_state == IFETCH_QUEUE_STATE_EMPTY);
    32      
     33 
     34      log_printf(TRACE,Ifetch_queue,FUNCTION,"  * ADDRESS_ACK : %d",internal_ADDRESS_ACK);
     35     
    3336      if (_param->_have_port_ifetch_queue_ptr)
    3437      PORT_WRITE(out_ADDRESS_IFETCH_QUEUE_ID, reg_PTR_WRITE);
     
    4447        {
    4548          internal_DECOD_VAL [i] = ack and _queue[reg_PTR_READ]->_instruction_enable [i];
     49
     50          log_printf(TRACE,Ifetch_queue,FUNCTION,"  * DECOD_VAL [%d] : %d",i,internal_DECOD_VAL [i]);
     51
    4652          PORT_WRITE(out_DECOD_INSTRUCTION [i],         _queue[reg_PTR_READ]->_instruction        [i]);
    4753        }
     
    7076    PORT_WRITE(out_DECOD_VAL [i], internal_DECOD_VAL [i]);
    7177
    72     log_printf(FUNC,Ifetch_queue,FUNCTION,"End");
     78    log_end(Ifetch_queue,FUNCTION);
    7379  };
    7480
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp

    r131 r132  
    103103        dont_initialize ();
    104104//      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
    105         sensitive << (*(in_ICACHE_REQ_ADDRESS_VAL))
     105        sensitive << (*(in_NRESET))
     106                  << (*(in_ICACHE_REQ_ADDRESS_VAL))
    106107                  << (*(in_ICACHE_REQ_ACK        ))
    107108                  << (*(in_ICACHE_REQ_QUEUE_ACK  ))
     
    130131        dont_initialize ();
    131132//      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
    132         sensitive << (*(in_EVENT_VAL        ))
     133        sensitive << (*(in_NRESET))
     134                  << (*(in_EVENT_VAL        ))
    133135                  << (*(in_EVENT_ADDRESS_ACK))
    134136                  << (*(in_EVENT_QUEUE_ACK  ));
Note: See TracChangeset for help on using the changeset viewer.