Changeset 97 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src
- Timestamp:
- Dec 19, 2008, 4:34:00 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue.cpp
r88 r97 138 138 // sensitive << (*(in_CLOCK)).neg(); // don't need internal register 139 139 for (uint32_t i=0; i<_param->_nb_context; ++i) 140 sensitive << (*( in_EVENT_ACK [i])) 141 << (*( in_EVENT_IFETCH_UNIT_ACK [i])) 142 << (*( in_EVENT_CONTEXT_STATE_VAL [i])) 143 << (*( in_EVENT_CONTEXT_STATE_ADDRESS [i])) 144 << (*( in_EVENT_CONTEXT_STATE_ADDRESS_NEXT [i])) 145 << (*( in_EVENT_CONTEXT_STATE_ADDRESS_NEXT_VAL [i])) 146 << (*( in_EVENT_CONTEXT_STATE_IS_DS_TAKE [i])); 140 { 141 sensitive << (*( in_EVENT_ACK [i])) 142 << (*( in_EVENT_IFETCH_UNIT_ACK [i])) 143 << (*( in_EVENT_PREDICTION_UNIT_ACK [i])) 144 << (*( in_EVENT_CONTEXT_STATE_VAL [i])) 145 << (*( in_EVENT_CONTEXT_STATE_ADDRESS [i])) 146 << (*( in_EVENT_CONTEXT_STATE_ADDRESS_NEXT [i])) 147 << (*( in_EVENT_CONTEXT_STATE_ADDRESS_NEXT_VAL [i])) 148 << (*( in_EVENT_CONTEXT_STATE_IS_DS_TAKE [i])) 149 << (*( in_EVENT_CONTEXT_STATE_TYPE [i])); 150 if (_param->_have_port_depth) 151 sensitive << (*( in_EVENT_CONTEXT_STATE_DEPTH [i])); 152 } 147 153 148 154 # ifdef SYSTEMCASS_SPECIFIC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue_allocation.cpp
r88 r97 105 105 ALLOC1_SIGNAL_OUT (out_EVENT_IFETCH_UNIT_ADDRESS_NEXT_VAL ,"IFETCH_UNIT_ADDRESS_NEXT_VAL" ,Tcontrol_t ,1); 106 106 ALLOC1_SIGNAL_OUT (out_EVENT_IFETCH_UNIT_IS_DS_TAKE ,"IFETCH_UNIT_IS_DS_TAKE" ,Tcontrol_t ,1); 107 108 ALLOC1_SIGNAL_OUT (out_EVENT_PREDICTION_UNIT_VAL ,"PREDICTION_UNIT_VAL" ,Tcontrol_t ,1); 109 ALLOC1_SIGNAL_IN ( in_EVENT_PREDICTION_UNIT_ACK ,"PREDICTION_UNIT_ACK" ,Tcontrol_t ,1); 110 ALLOC1_SIGNAL_OUT (out_EVENT_PREDICTION_UNIT_TYPE ,"PREDICTION_UNIT_TYPE" ,Tevent_type_t ,_param->_size_event_type); 111 ALLOC1_SIGNAL_OUT (out_EVENT_PREDICTION_UNIT_DEPTH ,"PREDICTION_UNIT_DEPTH" ,Tdepth_t ,_param->_size_depth); 107 112 108 113 ALLOC1_SIGNAL_IN ( in_EVENT_CONTEXT_STATE_VAL ,"CONTEXT_STATE_VAL" ,Tcontrol_t ,1); … … 112 117 ALLOC1_SIGNAL_IN ( in_EVENT_CONTEXT_STATE_ADDRESS_NEXT_VAL ,"CONTEXT_STATE_ADDRESS_NEXT_VAL",Tcontrol_t ,1); 113 118 ALLOC1_SIGNAL_IN ( in_EVENT_CONTEXT_STATE_IS_DS_TAKE ,"CONTEXT_STATE_IS_DS_TAKE" ,Tcontrol_t ,1); 119 ALLOC1_SIGNAL_IN ( in_EVENT_CONTEXT_STATE_TYPE ,"CONTEXT_STATE_TYPE" ,Tevent_type_t ,_param->_size_event_type); 120 ALLOC1_SIGNAL_IN ( in_EVENT_CONTEXT_STATE_DEPTH ,"CONTEXT_STATE_DEPTH" ,Tdepth_t ,_param->_size_depth); 121 114 122 } 115 123 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue_deallocation.cpp
r88 r97 55 55 DELETE1_SIGNAL(out_EVENT_IFETCH_UNIT_ADDRESS_NEXT_VAL ,_param->_nb_context,1); 56 56 DELETE1_SIGNAL(out_EVENT_IFETCH_UNIT_IS_DS_TAKE ,_param->_nb_context,1); 57 58 DELETE1_SIGNAL(out_EVENT_PREDICTION_UNIT_VAL ,_param->_nb_context,1); 59 DELETE1_SIGNAL( in_EVENT_PREDICTION_UNIT_ACK ,_param->_nb_context,1); 60 DELETE1_SIGNAL(out_EVENT_PREDICTION_UNIT_TYPE ,_param->_nb_context,_param->_size_event_type); 61 DELETE1_SIGNAL(out_EVENT_PREDICTION_UNIT_DEPTH ,_param->_nb_context,_param->_size_depth); 62 57 63 DELETE1_SIGNAL( in_EVENT_CONTEXT_STATE_VAL ,_param->_nb_context,1); 58 64 DELETE1_SIGNAL(out_EVENT_CONTEXT_STATE_ACK ,_param->_nb_context,1); … … 61 67 DELETE1_SIGNAL( in_EVENT_CONTEXT_STATE_ADDRESS_NEXT_VAL ,_param->_nb_context,1); 62 68 DELETE1_SIGNAL( in_EVENT_CONTEXT_STATE_IS_DS_TAKE ,_param->_nb_context,1); 69 DELETE1_SIGNAL( in_EVENT_CONTEXT_STATE_TYPE ,_param->_nb_context,_param->_size_event_type); 70 DELETE1_SIGNAL( in_EVENT_CONTEXT_STATE_DEPTH ,_param->_nb_context,_param->_size_depth); 63 71 64 72 DELETE1_SIGNAL(out_DEPTH_MIN ,_param->_nb_context,_param->_size_depth ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue_genMealy_event.cpp
r88 r97 25 25 for (uint32_t i=0; i<_param->_nb_context; ++i) 26 26 { 27 Taddress_t address = PORT_READ(in_EVENT_CONTEXT_STATE_ADDRESS [i]);27 Taddress_t address = PORT_READ(in_EVENT_CONTEXT_STATE_ADDRESS [i]); 28 28 PORT_WRITE(out_EVENT_ADDRESS [i],address); 29 29 PORT_WRITE(out_EVENT_IFETCH_UNIT_ADDRESS [i],address); 30 30 31 Taddress_t address_next = PORT_READ(in_EVENT_CONTEXT_STATE_ADDRESS_NEXT [i]);31 Taddress_t address_next = PORT_READ(in_EVENT_CONTEXT_STATE_ADDRESS_NEXT [i]); 32 32 PORT_WRITE(out_EVENT_ADDRESS_NEXT [i],address_next); 33 33 PORT_WRITE(out_EVENT_IFETCH_UNIT_ADDRESS_NEXT [i],address_next); 34 34 35 Tcontrol_t address_next_val = PORT_READ(in_EVENT_CONTEXT_STATE_ADDRESS_NEXT_VAL [i]);35 Tcontrol_t address_next_val = PORT_READ(in_EVENT_CONTEXT_STATE_ADDRESS_NEXT_VAL [i]); 36 36 PORT_WRITE(out_EVENT_ADDRESS_NEXT_VAL [i],address_next_val); 37 37 PORT_WRITE(out_EVENT_IFETCH_UNIT_ADDRESS_NEXT_VAL [i],address_next_val); 38 38 39 Tcontrol_t is_ds_take = PORT_READ(in_EVENT_CONTEXT_STATE_IS_DS_TAKE [i]);39 Tcontrol_t is_ds_take = PORT_READ(in_EVENT_CONTEXT_STATE_IS_DS_TAKE [i]); 40 40 PORT_WRITE(out_EVENT_IS_DS_TAKE [i],is_ds_take); 41 41 PORT_WRITE(out_EVENT_IFETCH_UNIT_IS_DS_TAKE [i],is_ds_take); 42 42 43 Tcontrol_t val = PORT_READ(in_EVENT_CONTEXT_STATE_VAL [i]); 44 PORT_WRITE(out_EVENT_VAL [i],val); 45 PORT_WRITE(out_EVENT_IFETCH_UNIT_VAL [i],val); 43 Tevent_type_t event_type = PORT_READ(in_EVENT_CONTEXT_STATE_TYPE [i]); 44 PORT_WRITE(out_EVENT_PREDICTION_UNIT_TYPE [i],event_type); 45 46 if (_param->_have_port_depth) 47 { 48 Tdepth_t depth = PORT_READ(in_EVENT_CONTEXT_STATE_DEPTH [i]); 49 PORT_WRITE(out_EVENT_PREDICTION_UNIT_DEPTH [i],depth); 50 } 51 46 52 47 Tcontrol_t ack = (PORT_READ(in_EVENT_ACK [i]) and 48 PORT_READ(in_EVENT_IFETCH_UNIT_ACK [i])); 49 PORT_WRITE(out_EVENT_CONTEXT_STATE_ACK [i],ack); 53 Tcontrol_t ack = PORT_READ(in_EVENT_ACK [i]); 54 Tcontrol_t ifetch_unit_ack = PORT_READ(in_EVENT_IFETCH_UNIT_ACK [i]); 55 Tcontrol_t prediction_unit_ack = PORT_READ(in_EVENT_PREDICTION_UNIT_ACK [i]); 56 Tcontrol_t context_state_val = PORT_READ(in_EVENT_CONTEXT_STATE_VAL [i]); 57 58 Tcontrol_t val = (//ack and 59 ifetch_unit_ack and 60 prediction_unit_ack and 61 context_state_val 62 ); 63 Tcontrol_t ifetch_unit_val = ( ack and 64 //ifetch_unit_ack and 65 prediction_unit_ack and 66 context_state_val 67 ); 68 Tcontrol_t prediction_unit_val = ( ack and 69 ifetch_unit_ack and 70 //prediction_unit_ack and 71 context_state_val 72 ); 73 Tcontrol_t context_state_ack = ( ack and 74 ifetch_unit_ack and 75 prediction_unit_ack // and 76 //context_state_val 77 ); 78 79 log_printf(TRACE,Front_end_Glue,FUNCTION," * val %d, ack %d",val ,ack ); 80 log_printf(TRACE,Front_end_Glue,FUNCTION," * ifetch_unit_val %d, ifetch_unit_ack %d",ifetch_unit_val ,ifetch_unit_ack ); 81 log_printf(TRACE,Front_end_Glue,FUNCTION," * prediction_unit_val %d, prediction_unit_ack %d",prediction_unit_val,prediction_unit_ack); 82 log_printf(TRACE,Front_end_Glue,FUNCTION," * context_state_val %d, context_state_ack %d",context_state_val ,context_state_ack ); 83 84 85 PORT_WRITE(out_EVENT_VAL [i], val ); 86 PORT_WRITE(out_EVENT_IFETCH_UNIT_VAL [i], ifetch_unit_val ); 87 PORT_WRITE(out_EVENT_PREDICTION_UNIT_VAL [i], prediction_unit_val); 88 PORT_WRITE(out_EVENT_CONTEXT_STATE_ACK [i], context_state_ack ); 50 89 51 90 #ifdef DEBUG
Note: See TracChangeset
for help on using the changeset viewer.