Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue
- Timestamp:
- Mar 18, 2009, 11:36:26 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/SelfTest/src/test.cpp
r97 r112 125 125 sc_signal<Tcontrol_t> * in_NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 126 126 127 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_VAL ," in_WRITE_QUEUE_IN_VAL" , Tcontrol_t );128 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_IN_ACK ,"out_WRITE_QUEUE_IN_ACK" , Tcontrol_t );129 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_CONTEXT_ID ," in_WRITE_QUEUE_IN_CONTEXT_ID" , Tcontext_t );130 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_FRONT_END_ID ," in_WRITE_QUEUE_IN_FRONT_END_ID" , Tcontext_t );131 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_OOO_ENGINE_ID ," in_WRITE_QUEUE_IN_OOO_ENGINE_ID" , Tcontext_t );132 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_PACKET_ID ," in_WRITE_QUEUE_IN_PACKET_ID" , Tpacket_t );133 //ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_OPERATION ," in_WRITE_QUEUE_IN_OPERATION" , Toperation_t );134 //ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_TYPE ," in_WRITE_QUEUE_IN_TYPE" , Ttype_t );135 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RD ," in_WRITE_QUEUE_IN_WRITE_RD" , Tcontrol_t );136 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RD ," in_WRITE_QUEUE_IN_NUM_REG_RD" , Tgeneral_address_t);137 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_DATA_RD ," in_WRITE_QUEUE_IN_DATA_RD" , Tgeneral_data_t );138 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RE ," in_WRITE_QUEUE_IN_WRITE_RE" , Tcontrol_t );139 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RE ," in_WRITE_QUEUE_IN_NUM_REG_RE" , Tspecial_address_t);140 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_DATA_RE ," in_WRITE_QUEUE_IN_DATA_RE" , Tspecial_data_t );141 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_EXCEPTION ," in_WRITE_QUEUE_IN_EXCEPTION" , Texception_t );142 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_NO_SEQUENCE ," in_WRITE_QUEUE_IN_NO_SEQUENCE" , Tcontrol_t );143 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_IN_ADDRESS ," in_WRITE_QUEUE_IN_ADDRESS" , Taddress_t );144 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_VAL ,"out_WRITE_QUEUE_OUT_VAL" , Tcontrol_t );145 ALLOC _SC_SIGNAL( in_WRITE_QUEUE_OUT_ACK ," in_WRITE_QUEUE_OUT_ACK" , Tcontrol_t );146 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_CONTEXT_ID ,"out_WRITE_QUEUE_OUT_CONTEXT_ID" , Tcontext_t );147 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_FRONT_END_ID ,"out_WRITE_QUEUE_OUT_FRONT_END_ID" , Tcontext_t );148 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_OOO_ENGINE_ID,"out_WRITE_QUEUE_OUT_OOO_ENGINE_ID", Tcontext_t );149 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_PACKET_ID ,"out_WRITE_QUEUE_OUT_PACKET_ID" , Tpacket_t );150 //ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_OPERATION ,"out_WRITE_QUEUE_OUT_OPERATION" , Toperation_t );151 //ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_TYPE ,"out_WRITE_QUEUE_OUT_TYPE" , Ttype_t );152 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_FLAGS ,"out_WRITE_QUEUE_OUT_FLAGS" , Tspecial_data_t );153 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_EXCEPTION ,"out_WRITE_QUEUE_OUT_EXCEPTION" , Texception_t );154 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_NO_SEQUENCE ,"out_WRITE_QUEUE_OUT_NO_SEQUENCE" , Tcontrol_t );155 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_ADDRESS ,"out_WRITE_QUEUE_OUT_ADDRESS" , Tgeneral_data_t );156 ALLOC _SC_SIGNAL(out_WRITE_QUEUE_OUT_DATA ,"out_WRITE_QUEUE_OUT_DATA" , Taddress_t );127 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_VAL ," in_WRITE_QUEUE_IN_VAL" , Tcontrol_t ); 128 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_IN_ACK ,"out_WRITE_QUEUE_IN_ACK" , Tcontrol_t ); 129 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_CONTEXT_ID ," in_WRITE_QUEUE_IN_CONTEXT_ID" , Tcontext_t ); 130 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_FRONT_END_ID ," in_WRITE_QUEUE_IN_FRONT_END_ID" , Tcontext_t ); 131 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_OOO_ENGINE_ID ," in_WRITE_QUEUE_IN_OOO_ENGINE_ID" , Tcontext_t ); 132 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_PACKET_ID ," in_WRITE_QUEUE_IN_PACKET_ID" , Tpacket_t ); 133 //ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_OPERATION ," in_WRITE_QUEUE_IN_OPERATION" , Toperation_t ); 134 //ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_TYPE ," in_WRITE_QUEUE_IN_TYPE" , Ttype_t ); 135 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RD ," in_WRITE_QUEUE_IN_WRITE_RD" , Tcontrol_t ); 136 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RD ," in_WRITE_QUEUE_IN_NUM_REG_RD" , Tgeneral_address_t); 137 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_DATA_RD ," in_WRITE_QUEUE_IN_DATA_RD" , Tgeneral_data_t ); 138 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RE ," in_WRITE_QUEUE_IN_WRITE_RE" , Tcontrol_t ); 139 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RE ," in_WRITE_QUEUE_IN_NUM_REG_RE" , Tspecial_address_t); 140 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_DATA_RE ," in_WRITE_QUEUE_IN_DATA_RE" , Tspecial_data_t ); 141 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_EXCEPTION ," in_WRITE_QUEUE_IN_EXCEPTION" , Texception_t ); 142 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_NO_SEQUENCE ," in_WRITE_QUEUE_IN_NO_SEQUENCE" , Tcontrol_t ); 143 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_IN_ADDRESS ," in_WRITE_QUEUE_IN_ADDRESS" , Taddress_t ); 144 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_VAL ,"out_WRITE_QUEUE_OUT_VAL" , Tcontrol_t ); 145 ALLOC0_SC_SIGNAL( in_WRITE_QUEUE_OUT_ACK ," in_WRITE_QUEUE_OUT_ACK" , Tcontrol_t ); 146 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_CONTEXT_ID ,"out_WRITE_QUEUE_OUT_CONTEXT_ID" , Tcontext_t ); 147 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_FRONT_END_ID ,"out_WRITE_QUEUE_OUT_FRONT_END_ID" , Tcontext_t ); 148 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_OOO_ENGINE_ID,"out_WRITE_QUEUE_OUT_OOO_ENGINE_ID", Tcontext_t ); 149 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_PACKET_ID ,"out_WRITE_QUEUE_OUT_PACKET_ID" , Tpacket_t ); 150 //ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_OPERATION ,"out_WRITE_QUEUE_OUT_OPERATION" , Toperation_t ); 151 //ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_TYPE ,"out_WRITE_QUEUE_OUT_TYPE" , Ttype_t ); 152 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_FLAGS ,"out_WRITE_QUEUE_OUT_FLAGS" , Tspecial_data_t ); 153 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_EXCEPTION ,"out_WRITE_QUEUE_OUT_EXCEPTION" , Texception_t ); 154 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_NO_SEQUENCE ,"out_WRITE_QUEUE_OUT_NO_SEQUENCE" , Tcontrol_t ); 155 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_ADDRESS ,"out_WRITE_QUEUE_OUT_ADDRESS" , Tgeneral_data_t ); 156 ALLOC0_SC_SIGNAL(out_WRITE_QUEUE_OUT_DATA ,"out_WRITE_QUEUE_OUT_DATA" , Taddress_t ); 157 157 ALLOC1_SC_SIGNAL(out_GPR_WRITE_VAL ,"out_GPR_WRITE_VAL" , Tcontrol_t , _param->_nb_gpr_write); 158 158 ALLOC1_SC_SIGNAL( in_GPR_WRITE_ACK ," in_GPR_WRITE_ACK" , Tcontrol_t , _param->_nb_gpr_write); … … 182 182 (*(_Write_queue->in_NRESET)) (*(in_NRESET)); 183 183 184 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_VAL );185 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_IN_ACK );184 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_VAL ); 185 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_IN_ACK ); 186 186 if (_param->_have_port_context_id) 187 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_CONTEXT_ID );187 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_CONTEXT_ID ); 188 188 if (_param->_have_port_front_end_id) 189 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_FRONT_END_ID );189 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_FRONT_END_ID ); 190 190 if (_param->_have_port_ooo_engine_id) 191 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_OOO_ENGINE_ID );191 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_OOO_ENGINE_ID ); 192 192 if (_param->_have_port_rob_ptr ) 193 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_PACKET_ID );194 //INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_OPERATION );195 //INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_TYPE );196 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_WRITE_RD );197 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_NUM_REG_RD );198 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_DATA_RD );199 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_WRITE_RE );200 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_NUM_REG_RE );201 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_DATA_RE );202 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_EXCEPTION );203 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_NO_SEQUENCE );204 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_ADDRESS );205 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_VAL );206 INSTANCE _SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_OUT_ACK );193 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_PACKET_ID ); 194 //INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_OPERATION ); 195 //INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_TYPE ); 196 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_WRITE_RD ); 197 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_NUM_REG_RD ); 198 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_DATA_RD ); 199 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_WRITE_RE ); 200 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_NUM_REG_RE ); 201 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_DATA_RE ); 202 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_EXCEPTION ); 203 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_NO_SEQUENCE ); 204 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_IN_ADDRESS ); 205 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_VAL ); 206 INSTANCE0_SC_SIGNAL(_Write_queue, in_WRITE_QUEUE_OUT_ACK ); 207 207 if (_param->_have_port_context_id) 208 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_CONTEXT_ID );208 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_CONTEXT_ID ); 209 209 if (_param->_have_port_front_end_id) 210 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_FRONT_END_ID );210 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_FRONT_END_ID ); 211 211 if (_param->_have_port_ooo_engine_id) 212 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_OOO_ENGINE_ID);212 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_OOO_ENGINE_ID); 213 213 if (_param->_have_port_rob_ptr ) 214 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_PACKET_ID );215 //INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_OPERATION );216 //INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_TYPE );217 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_FLAGS );218 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_EXCEPTION );219 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_NO_SEQUENCE );220 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_ADDRESS );221 INSTANCE _SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_DATA );214 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_PACKET_ID ); 215 //INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_OPERATION ); 216 //INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_TYPE ); 217 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_FLAGS ); 218 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_EXCEPTION ); 219 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_NO_SEQUENCE ); 220 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_ADDRESS ); 221 INSTANCE0_SC_SIGNAL(_Write_queue, out_WRITE_QUEUE_OUT_DATA ); 222 222 INSTANCE1_SC_SIGNAL(_Write_queue, out_GPR_WRITE_VAL , _param->_nb_gpr_write); 223 223 INSTANCE1_SC_SIGNAL(_Write_queue, in_GPR_WRITE_ACK , _param->_nb_gpr_write); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp
r97 r112 51 51 // -----[ Interface "Write_queue_in" ]-------------------------------- 52 52 { 53 ALLOC _INTERFACE("write_queue_in", IN, WEST, "Input of write_queue");53 ALLOC0_INTERFACE_BEGIN ("write_queue_in", IN, WEST, "Input of write_queue"); 54 54 55 ALLOC_VALACK_IN ( in_WRITE_QUEUE_IN_VAL,VAL); 56 ALLOC_VALACK_OUT(out_WRITE_QUEUE_IN_ACK,ACK); 57 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 58 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 59 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 60 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 61 // ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 62 // ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 63 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 64 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register ); 65 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_DATA_RD ,"data_rd" ,Tgeneral_data_t ,_param->_size_general_data ); 66 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_WRITE_RE ,"write_re" ,Tcontrol_t ,1 ); 67 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_NUM_REG_RE ,"num_reg_re" ,Tspecial_address_t,_param->_size_special_register ); 68 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_DATA_RE ,"data_re" ,Tspecial_data_t ,_param->_size_special_data ); 69 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception ); 70 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1 ); 71 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address); 55 ALLOC0_VALACK_IN ( in_WRITE_QUEUE_IN_VAL,VAL); 56 ALLOC0_VALACK_OUT(out_WRITE_QUEUE_IN_ACK,ACK); 57 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 58 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 59 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 60 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 61 // ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 62 // ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 63 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 64 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register ); 65 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_DATA_RD ,"data_rd" ,Tgeneral_data_t ,_param->_size_general_data ); 66 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_WRITE_RE ,"write_re" ,Tcontrol_t ,1 ); 67 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_NUM_REG_RE ,"num_reg_re" ,Tspecial_address_t,_param->_size_special_register ); 68 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_DATA_RE ,"data_re" ,Tspecial_data_t ,_param->_size_special_data ); 69 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception ); 70 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1 ); 71 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address); 72 73 ALLOC0_INTERFACE_END(); 72 74 } 73 75 74 76 // -----[ Interface "Write_queue_out" ]------------------------------- 75 77 { 76 ALLOC _INTERFACE("write_queue_out", OUT, EAST, "Output of write_queue");78 ALLOC0_INTERFACE_BEGIN("write_queue_out", OUT, EAST, "Output of write_queue"); 77 79 78 ALLOC_VALACK_OUT(out_WRITE_QUEUE_OUT_VAL,VAL); 79 ALLOC_VALACK_IN ( in_WRITE_QUEUE_OUT_ACK,ACK); 80 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 81 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 82 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 83 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 84 // ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 85 // ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 86 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_FLAGS ,"flags" ,Tspecial_data_t,_param->_size_special_data ); 87 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception ); 88 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1 ); 89 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address); 90 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_DATA ,"data" ,Tgeneral_data_t,_param->_size_general_data ); 80 ALLOC0_VALACK_OUT(out_WRITE_QUEUE_OUT_VAL,VAL); 81 ALLOC0_VALACK_IN ( in_WRITE_QUEUE_OUT_ACK,ACK); 82 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 83 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 84 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 85 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 86 // ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 87 // ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 88 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_FLAGS ,"flags" ,Tspecial_data_t,_param->_size_special_data ); 89 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception ); 90 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1 ); 91 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address); 92 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_DATA ,"data" ,Tgeneral_data_t,_param->_size_general_data ); 93 94 ALLOC0_INTERFACE_END(); 91 95 } 92 96 93 97 // -----[ Interface "gpr_write" ]------------------------------------- 94 98 { 95 ALLOC1_INTERFACE ("gpr_write", OUT, SOUTH ,"Output of write_queue", _param->_nb_gpr_write);99 ALLOC1_INTERFACE_BEGIN("gpr_write", OUT, SOUTH ,"Output of write_queue", _param->_nb_gpr_write); 96 100 97 101 ALLOC1_VALACK_OUT(out_GPR_WRITE_VAL,VAL); … … 100 104 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_NUM_REG ,"num_reg" ,Tgeneral_address_t,_param->_size_general_register); 101 105 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_DATA ,"data" ,Tgeneral_data_t ,_param->_size_general_data ); 106 107 ALLOC1_INTERFACE_END(_param->_nb_gpr_write); 102 108 } 103 109 104 110 // -----[ Interface "spr_write" ]------------------------------------- 105 111 { 106 ALLOC1_INTERFACE ("spr_write", OUT, SOUTH ,"Output of write_queue", _param->_nb_spr_write);112 ALLOC1_INTERFACE_BEGIN("spr_write", OUT, SOUTH ,"Output of write_queue", _param->_nb_spr_write); 107 113 108 114 ALLOC1_VALACK_OUT(out_SPR_WRITE_VAL,VAL); … … 111 117 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_NUM_REG ,"num_reg" ,Tspecial_address_t,_param->_size_special_register); 112 118 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_DATA ,"data" ,Tspecial_data_t ,_param->_size_special_data ); 119 120 ALLOC1_INTERFACE_END(_param->_nb_spr_write); 113 121 } 114 122 115 123 // -----[ Interface "bypass_write" ]---------------------------------- 116 124 { 117 ALLOC1_INTERFACE ("bypass_write", OUT, NORTH ,"Output of internal write_queue", _param->_nb_bypass_write);125 ALLOC1_INTERFACE_BEGIN("bypass_write", OUT, NORTH ,"Output of internal write_queue", _param->_nb_bypass_write); 118 126 119 127 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); … … 124 132 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_NUM_REG ,"spr_num_reg" ,Tspecial_address_t,_param->_size_special_register); 125 133 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_DATA ,"spr_data" ,Tspecial_data_t ,_param->_size_special_data ); 134 135 ALLOC1_INTERFACE_END(_param->_nb_bypass_write); 126 136 } 137 127 138 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 128 139 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_deallocation.cpp
r97 r112 7 7 8 8 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Write_queue.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 namespace morpheo { … … 29 30 delete in_NRESET; 30 31 31 // -----[ Interface "Write_queue_in" ]-------------------------------- 32 delete in_WRITE_QUEUE_IN_VAL ; 33 delete out_WRITE_QUEUE_IN_ACK ; 34 if (_param->_have_port_context_id) 35 delete in_WRITE_QUEUE_IN_CONTEXT_ID ; 36 if (_param->_have_port_front_end_id) 37 delete in_WRITE_QUEUE_IN_FRONT_END_ID ; 38 if (_param->_have_port_ooo_engine_id) 39 delete in_WRITE_QUEUE_IN_OOO_ENGINE_ID; 40 if (_param->_have_port_rob_ptr ) 41 delete in_WRITE_QUEUE_IN_PACKET_ID ; 42 // delete in_WRITE_QUEUE_IN_OPERATION ; 43 // delete in_WRITE_QUEUE_IN_TYPE ; 44 delete in_WRITE_QUEUE_IN_WRITE_RD ; 45 delete in_WRITE_QUEUE_IN_NUM_REG_RD ; 46 delete in_WRITE_QUEUE_IN_DATA_RD ; 47 delete in_WRITE_QUEUE_IN_WRITE_RE ; 48 delete in_WRITE_QUEUE_IN_NUM_REG_RE ; 49 delete in_WRITE_QUEUE_IN_DATA_RE ; 50 delete in_WRITE_QUEUE_IN_EXCEPTION ; 51 delete in_WRITE_QUEUE_IN_NO_SEQUENCE ; 52 delete in_WRITE_QUEUE_IN_ADDRESS ; 53 54 // -----[ Interface "Write_queue_out" ]------------------------------- 55 delete out_WRITE_QUEUE_OUT_VAL ; 56 delete in_WRITE_QUEUE_OUT_ACK ; 57 if (_param->_have_port_context_id) 58 delete out_WRITE_QUEUE_OUT_CONTEXT_ID ; 59 if (_param->_have_port_front_end_id) 60 delete out_WRITE_QUEUE_OUT_FRONT_END_ID ; 61 if (_param->_have_port_ooo_engine_id) 62 delete out_WRITE_QUEUE_OUT_OOO_ENGINE_ID; 63 if (_param->_have_port_rob_ptr ) 64 delete out_WRITE_QUEUE_OUT_PACKET_ID ; 65 // delete out_WRITE_QUEUE_OUT_OPERATION ; 66 // delete out_WRITE_QUEUE_OUT_TYPE ; 67 delete out_WRITE_QUEUE_OUT_FLAGS ; 68 delete out_WRITE_QUEUE_OUT_EXCEPTION ; 69 delete out_WRITE_QUEUE_OUT_NO_SEQUENCE ; 70 delete out_WRITE_QUEUE_OUT_ADDRESS ; 71 delete out_WRITE_QUEUE_OUT_DATA ; 72 73 // -----[ Interface "gpr_write" ]------------------------------------- 74 delete [] out_GPR_WRITE_VAL ; 75 delete [] in_GPR_WRITE_ACK ; 76 if (_param->_have_port_ooo_engine_id) 77 delete [] out_GPR_WRITE_OOO_ENGINE_ID ; 78 delete [] out_GPR_WRITE_NUM_REG ; 79 delete [] out_GPR_WRITE_DATA ; 80 81 // -----[ Interface "spr_write" ]------------------------------------- 82 delete [] out_SPR_WRITE_VAL ; 83 delete [] in_SPR_WRITE_ACK ; 84 if (_param->_have_port_ooo_engine_id) 85 delete [] out_SPR_WRITE_OOO_ENGINE_ID ; 86 delete [] out_SPR_WRITE_NUM_REG ; 87 delete [] out_SPR_WRITE_DATA ; 88 89 // -----[ Interface "bypass_write" ]---------------------------------- 90 if (_param->_have_port_ooo_engine_id) 91 delete [] out_BYPASS_WRITE_OOO_ENGINE_ID ; 92 delete [] out_BYPASS_WRITE_GPR_VAL ; 93 delete [] out_BYPASS_WRITE_GPR_NUM_REG ; 94 delete [] out_BYPASS_WRITE_GPR_DATA ; 95 delete [] out_BYPASS_WRITE_SPR_VAL ; 96 delete [] out_BYPASS_WRITE_SPR_NUM_REG ; 97 delete [] out_BYPASS_WRITE_SPR_DATA ; 32 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_VAL ,1); 33 DELETE0_SIGNAL(out_WRITE_QUEUE_IN_ACK ,1); 34 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_CONTEXT_ID ,_param->_size_context_id ); 35 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_FRONT_END_ID ,_param->_size_front_end_id ); 36 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_OOO_ENGINE_ID ,_param->_size_ooo_engine_id ); 37 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_PACKET_ID ,_param->_size_rob_ptr ); 38 // DELETE0_SIGNAL( in_WRITE_QUEUE_IN_OPERATION ,_param->_size_operation ); 39 // DELETE0_SIGNAL( in_WRITE_QUEUE_IN_TYPE ,_param->_size_type ); 40 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RD ,1 ); 41 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RD ,_param->_size_general_register ); 42 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_DATA_RD ,_param->_size_general_data ); 43 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RE ,1 ); 44 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RE ,_param->_size_special_register ); 45 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_DATA_RE ,_param->_size_special_data ); 46 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_EXCEPTION ,_param->_size_exception ); 47 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_NO_SEQUENCE ,1 ); 48 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_ADDRESS ,_param->_size_instruction_address); 49 50 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_VAL ,1); 51 DELETE0_SIGNAL( in_WRITE_QUEUE_OUT_ACK ,1); 52 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_CONTEXT_ID ,_param->_size_context_id ); 53 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_FRONT_END_ID ,_param->_size_front_end_id ); 54 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_OOO_ENGINE_ID,_param->_size_ooo_engine_id); 55 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_PACKET_ID ,_param->_size_rob_ptr ); 56 // DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_OPERATION ,_param->_size_operation ); 57 // DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_TYPE ,_param->_size_type ); 58 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_FLAGS ,_param->_size_special_data ); 59 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_EXCEPTION ,_param->_size_exception ); 60 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_NO_SEQUENCE ,1 ); 61 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_ADDRESS ,_param->_size_instruction_address); 62 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_DATA ,_param->_size_general_data ); 63 64 DELETE1_SIGNAL(out_GPR_WRITE_VAL , _param->_nb_gpr_write,1); 65 DELETE1_SIGNAL( in_GPR_WRITE_ACK , _param->_nb_gpr_write,1); 66 DELETE1_SIGNAL(out_GPR_WRITE_OOO_ENGINE_ID, _param->_nb_gpr_write,_param->_size_ooo_engine_id ); 67 DELETE1_SIGNAL(out_GPR_WRITE_NUM_REG , _param->_nb_gpr_write,_param->_size_general_register); 68 DELETE1_SIGNAL(out_GPR_WRITE_DATA , _param->_nb_gpr_write,_param->_size_general_data ); 69 70 DELETE1_SIGNAL(out_SPR_WRITE_VAL , _param->_nb_spr_write,1); 71 DELETE1_SIGNAL( in_SPR_WRITE_ACK , _param->_nb_spr_write,1); 72 DELETE1_SIGNAL(out_SPR_WRITE_OOO_ENGINE_ID, _param->_nb_spr_write,_param->_size_ooo_engine_id ); 73 DELETE1_SIGNAL(out_SPR_WRITE_NUM_REG , _param->_nb_spr_write,_param->_size_special_register); 74 DELETE1_SIGNAL(out_SPR_WRITE_DATA , _param->_nb_spr_write,_param->_size_special_data ); 75 76 DELETE1_SIGNAL(out_BYPASS_WRITE_OOO_ENGINE_ID,_param->_nb_bypass_write,_param->_size_ooo_engine_id ); 77 DELETE1_SIGNAL(out_BYPASS_WRITE_GPR_VAL ,_param->_nb_bypass_write,1 ); 78 DELETE1_SIGNAL(out_BYPASS_WRITE_GPR_NUM_REG ,_param->_nb_bypass_write,_param->_size_general_register); 79 DELETE1_SIGNAL(out_BYPASS_WRITE_GPR_DATA ,_param->_nb_bypass_write,_param->_size_general_data ); 80 DELETE1_SIGNAL(out_BYPASS_WRITE_SPR_VAL ,_param->_nb_bypass_write,1 ); 81 DELETE1_SIGNAL(out_BYPASS_WRITE_SPR_NUM_REG ,_param->_nb_bypass_write,_param->_size_special_register); 82 DELETE1_SIGNAL(out_BYPASS_WRITE_SPR_DATA ,_param->_nb_bypass_write,_param->_size_special_data ); 98 83 } 99 84
Note: See TracChangeset
for help on using the changeset viewer.