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

Almost complete design
with Test and test platform

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_insert.cpp

    r81 r88  
    2323  void Register_unit_Glue::genMealy_insert (void)
    2424  {
    25     log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
     25    log_begin(Register_unit_Glue,FUNCTION);
     26    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2627
    2728    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    28       {
    29         uint32_t x=_param->_nb_inst_insert_rob [i];
     29      for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++)
     30        {
     31          Tcontrol_t val            = PORT_READ(in_INSERT_ROB_VAL [i][j]);
     32          Tcontrol_t gpr_use        = PORT_READ(in_INSERT_ROB_RD_USE [i][j]);
     33          Tcontrol_t spr_use        = PORT_READ(in_INSERT_ROB_RE_USE [i][j]);
     34          Tcontrol_t gpr_status_ack = PORT_READ(in_INSERT_ROB_GPR_STATUS_ACK [i][j]);
     35          Tcontrol_t spr_status_ack = PORT_READ(in_INSERT_ROB_SPR_STATUS_ACK [i][j]);
     36         
     37          Tcontrol_t ack            = (gpr_status_ack and
     38                                       spr_status_ack);     
     39          Tcontrol_t gpr_status_val = (val     and
     40                                       gpr_use and
     41                                       spr_status_ack);
     42          Tcontrol_t spr_status_val = (val     and
     43                                       spr_use and
     44                                       gpr_status_ack);
    3045
    31         for (uint32_t j=0; j<x; j++)
    32           {
    33             Tcontrol_t val = PORT_READ(in_INSERT_ROB_VAL [i][j]);
    34             Tcontrol_t gpr_use = PORT_READ(in_INSERT_ROB_RD_USE [i][j]);
    35             Tcontrol_t spr_use = PORT_READ(in_INSERT_ROB_RE_USE [i][j]);
    36             Tcontrol_t gpr_ack = PORT_READ(in_INSERT_ROB_GPR_STATUS_ACK [i][j]);
    37             Tcontrol_t spr_ack = PORT_READ(in_INSERT_ROB_SPR_STATUS_ACK [i][j]);
    38            
    39             PORT_WRITE(out_INSERT_ROB_ACK [i][j], gpr_ack and spr_ack);     
    40             PORT_WRITE(out_INSERT_ROB_GPR_STATUS_VAL [i][j], val and gpr_use and spr_ack);
    41             PORT_WRITE(out_INSERT_ROB_SPR_STATUS_VAL [i][j], val and spr_use and gpr_ack);
    42           }
    43       }
     46          log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"  * insert_rob [%d][%d]",i,j);
     47          log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * val            (r) : %d",val           );
     48          log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * ack            (w) : %d",ack           );
     49          log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * gpr_use (rd)   (r) : %d",gpr_use       );
     50          log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * gpr_status_val (w) : %d",gpr_status_val);
     51          log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * gpr_status_ack (r) : %d",gpr_status_ack);
     52          log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * spr_use (re)   (r) : %d",spr_use       );
     53          log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * spr_status_val (w) : %d",spr_status_val);
     54          log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * spr_status_ack (r) : %d",spr_status_ack);
    4455
    45     log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
     56          PORT_WRITE(out_INSERT_ROB_ACK            [i][j], ack           );
     57          PORT_WRITE(out_INSERT_ROB_GPR_STATUS_VAL [i][j], gpr_status_val);
     58          PORT_WRITE(out_INSERT_ROB_SPR_STATUS_VAL [i][j], spr_status_val);
     59
     60        }
     61
     62    log_end(Register_unit_Glue,FUNCTION);
    4663  };
    4764
Note: See TracChangeset for help on using the changeset viewer.