Changeset 115 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select
- Timestamp:
- Apr 20, 2009, 11:29:17 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/SelfTest/src/test.cpp
r108 r115 227 227 in_RENAME_IN_VAL [i][j]->write((rand()%100)<percent_transaction_rename_in); 228 228 in_RENAME_IN_FRONT_END_ID [i][j]->write(range<Tcontext_t >(rand(),_param->_size_front_end_id )); 229 in_RENAME_IN_CONTEXT_ID [i][j]->write(ran ge<Tcontext_t >(rand(),log2(_param->_nb_context[i]) ));229 in_RENAME_IN_CONTEXT_ID [i][j]->write(rand()%_param->_nb_context[i]); 230 230 in_RENAME_IN_DEPTH [i][j]->write(range<Tdepth_t >(rand(),_param->_size_depth )); 231 231 in_RENAME_IN_TYPE [i][j]->write(range<Ttype_t >(rand(),_param->_size_type )); … … 293 293 find = true; 294 294 295 Tcontext_t context_id = (_param->_have_port_context_id)?in_RENAME_IN_CONTEXT_ID [x][y]->read():0; 296 295 297 if (_param->_have_port_front_end_id) 296 298 TEST(Tcontext_t ,out_RENAME_OUT_FRONT_END_ID [i]->read(),in_RENAME_IN_FRONT_END_ID [x][y]->read()); 297 299 if (_param->_have_port_context_id) 298 TEST(Tcontext_t ,out_RENAME_OUT_CONTEXT_ID [i]->read(), in_RENAME_IN_CONTEXT_ID [x][y]->read());300 TEST(Tcontext_t ,out_RENAME_OUT_CONTEXT_ID [i]->read(),context_id); 299 301 if (_param->_have_port_depth) 300 302 TEST(Tdepth_t ,out_RENAME_OUT_DEPTH [i]->read(),in_RENAME_IN_DEPTH [x][y]->read()); 301 303 TEST(Ttype_t ,out_RENAME_OUT_TYPE [i]->read(),in_RENAME_IN_TYPE [x][y]->read()); 302 304 TEST(Toperation_t ,out_RENAME_OUT_OPERATION [i]->read(),in_RENAME_IN_OPERATION [x][y]->read()); 303 TEST(Tcontrol_t ,out_RENAME_OUT_NO_EXECUTE [i]->read(),in_RENAME_IN_NO_EXECUTE [x][y]->read()); 305 Tcontrol_t have_event = in_RETIRE_EVENT_STATE[x][context_id]->read() != EVENT_STATE_NO_EVENT; 306 Tcontrol_t no_execute = in_RENAME_IN_NO_EXECUTE [x][y]->read() or have_event; 307 TEST(Tcontrol_t ,out_RENAME_OUT_NO_EXECUTE [i]->read(),no_execute); 304 308 TEST(Tcontrol_t ,out_RENAME_OUT_IS_DELAY_SLOT[i]->read(),in_RENAME_IN_IS_DELAY_SLOT[x][y]->read()); 305 309 TEST(Tcontrol_t ,out_RENAME_OUT_HAS_IMMEDIAT [i]->read(),in_RENAME_IN_HAS_IMMEDIAT [x][y]->read()); 306 310 TEST(Tgeneral_data_t ,out_RENAME_OUT_IMMEDIAT [i]->read(),in_RENAME_IN_IMMEDIAT [x][y]->read()); 307 TEST(Tcontrol_t ,out_RENAME_OUT_READ_RA [i]->read(),in_RENAME_IN_READ_RA [x][y]->read() );311 TEST(Tcontrol_t ,out_RENAME_OUT_READ_RA [i]->read(),in_RENAME_IN_READ_RA [x][y]->read() and not have_event); 308 312 TEST(Tgeneral_address_t,out_RENAME_OUT_NUM_REG_RA [i]->read(),in_RENAME_IN_NUM_REG_RA [x][y]->read()); 309 TEST(Tcontrol_t ,out_RENAME_OUT_READ_RB [i]->read(),in_RENAME_IN_READ_RB [x][y]->read() );313 TEST(Tcontrol_t ,out_RENAME_OUT_READ_RB [i]->read(),in_RENAME_IN_READ_RB [x][y]->read() and not have_event); 310 314 TEST(Tgeneral_address_t,out_RENAME_OUT_NUM_REG_RB [i]->read(),in_RENAME_IN_NUM_REG_RB [x][y]->read()); 311 TEST(Tcontrol_t ,out_RENAME_OUT_READ_RC [i]->read(),in_RENAME_IN_READ_RC [x][y]->read() );315 TEST(Tcontrol_t ,out_RENAME_OUT_READ_RC [i]->read(),in_RENAME_IN_READ_RC [x][y]->read() and not have_event); 312 316 TEST(Tspecial_address_t,out_RENAME_OUT_NUM_REG_RC [i]->read(),in_RENAME_IN_NUM_REG_RC [x][y]->read()); 313 TEST(Tcontrol_t ,out_RENAME_OUT_WRITE_RD [i]->read(),in_RENAME_IN_WRITE_RD [x][y]->read() );317 TEST(Tcontrol_t ,out_RENAME_OUT_WRITE_RD [i]->read(),in_RENAME_IN_WRITE_RD [x][y]->read() and not have_event); 314 318 TEST(Tgeneral_address_t,out_RENAME_OUT_NUM_REG_RD [i]->read(),in_RENAME_IN_NUM_REG_RD [x][y]->read()); 315 TEST(Tcontrol_t ,out_RENAME_OUT_WRITE_RE [i]->read(),in_RENAME_IN_WRITE_RE [x][y]->read() );319 TEST(Tcontrol_t ,out_RENAME_OUT_WRITE_RE [i]->read(),in_RENAME_IN_WRITE_RE [x][y]->read() and not have_event); 316 320 TEST(Tspecial_address_t,out_RENAME_OUT_NUM_REG_RE [i]->read(),in_RENAME_IN_NUM_REG_RE [x][y]->read()); 317 321 TEST(Texception_t ,out_RENAME_OUT_EXCEPTION_USE[i]->read(),in_RENAME_IN_EXCEPTION_USE[x][y]->read()); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select_genMealy.cpp
r112 r115 64 64 65 65 log_printf(TRACE,Rename_select,FUNCTION," * in_RENAME_OUT_ACK : %d",PORT_READ(in_RENAME_OUT_ACK[i])); 66 67 66 Tcontext_t front_end_id = (_param->_have_port_front_end_id)?PORT_READ(in_RENAME_IN_FRONT_END_ID [x][y]):0; 68 67 Tcontext_t context_id = (_param->_have_port_context_id )?PORT_READ(in_RENAME_IN_CONTEXT_ID [x][y]):0; 68 69 log_printf(TRACE,Rename_select,FUNCTION," * front_end_id : %d",front_end_id); 70 log_printf(TRACE,Rename_select,FUNCTION," * context_id : %d",context_id); 69 71 70 Tcontrol_t no_execute = (PORT_READ(in_RENAME_IN_NO_EXECUTE [x][y])); 71 // Tcontrol_t read_ra = (PORT_READ(in_RENAME_IN_READ_RA [x][y])); 72 // Tcontrol_t read_rb = (PORT_READ(in_RENAME_IN_READ_RB [x][y])); 73 // Tcontrol_t read_rc = (PORT_READ(in_RENAME_IN_READ_RC [x][y])); 74 // Tcontrol_t write_rd = (PORT_READ(in_RENAME_IN_WRITE_RD [x][y])); 75 // Tcontrol_t write_re = (PORT_READ(in_RENAME_IN_WRITE_RE [x][y])); 72 // Test if ROB is Flushed 73 Tevent_state_t event_state = PORT_READ(in_RETIRE_EVENT_STATE [x][context_id]); 74 Tcontrol_t have_event = (event_state != EVENT_STATE_NO_EVENT); 75 Tcontrol_t can_register_access = not have_event; 76 Tcontrol_t no_execute = (PORT_READ(in_RENAME_IN_NO_EXECUTE [x][y]) or have_event); 77 Tcontrol_t read_ra = (PORT_READ(in_RENAME_IN_READ_RA [x][y]) and can_register_access); 78 Tcontrol_t read_rb = (PORT_READ(in_RENAME_IN_READ_RB [x][y]) and can_register_access); 79 Tcontrol_t read_rc = (PORT_READ(in_RENAME_IN_READ_RC [x][y]) and can_register_access); 80 Tcontrol_t write_rd = (PORT_READ(in_RENAME_IN_WRITE_RD [x][y]) and can_register_access); 81 Tcontrol_t write_re = (PORT_READ(in_RENAME_IN_WRITE_RE [x][y]) and can_register_access); 82 // Tcontrol_t read_ra = (PORT_READ(in_RENAME_IN_READ_RA [x][y])); 83 // Tcontrol_t read_rb = (PORT_READ(in_RENAME_IN_READ_RB [x][y])); 84 // Tcontrol_t read_rc = (PORT_READ(in_RENAME_IN_READ_RC [x][y])); 85 // Tcontrol_t write_rd = (PORT_READ(in_RENAME_IN_WRITE_RD [x][y])); 86 // Tcontrol_t write_re = (PORT_READ(in_RENAME_IN_WRITE_RE [x][y])); 76 87 77 // Test if ROB is Flushed78 Tevent_state_t event_state = PORT_READ(in_RETIRE_EVENT_STATE [front_end_id][context_id]);79 Tcontrol_t can_register_access = (event_state == EVENT_STATE_NO_EVENT);88 log_printf(TRACE,Rename_select,FUNCTION," * event_state : %d",event_state); 89 log_printf(TRACE,Rename_select,FUNCTION," * no_execute (before) : %d",PORT_READ(in_RENAME_IN_NO_EXECUTE [x][y])); 90 log_printf(TRACE,Rename_select,FUNCTION," * no_execute (after) : %d",no_execute); 80 91 81 Tcontrol_t read_ra = (PORT_READ(in_RENAME_IN_READ_RA [x][y]) and can_register_access);82 Tcontrol_t read_rb = (PORT_READ(in_RENAME_IN_READ_RB [x][y]) and can_register_access);83 Tcontrol_t read_rc = (PORT_READ(in_RENAME_IN_READ_RC [x][y]) and can_register_access);84 Tcontrol_t write_rd = (PORT_READ(in_RENAME_IN_WRITE_RD [x][y]) and can_register_access);85 Tcontrol_t write_re = (PORT_READ(in_RENAME_IN_WRITE_RE [x][y]) and can_register_access);86 87 92 if (_param->_have_port_front_end_id) 88 93 PORT_WRITE(out_RENAME_OUT_FRONT_END_ID [i],front_end_id);
Note: See TracChangeset
for help on using the changeset viewer.