Changeset 15 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src
- Timestamp:
- Apr 5, 2007, 4:17:30 PM (17 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Branch_History_Table.cpp
r2 r15 56 56 allocation (); 57 57 58 // Constant59 for (uint32_t i=0; i<_param._nb_prediction ; i++)60 PORT_WRITE(out_PREDICT_ACK [i],1);61 for (uint32_t i=0; i<_param._nb_branch_complete; i++)62 PORT_WRITE(out_BRANCH_COMPLETE_ACK [i],1);58 // // Constant 59 // for (uint32_t i=0; i<_param._nb_prediction ; i++) 60 // PORT_WRITE(out_PREDICT_ACK [i],1); 61 // for (uint32_t i=0; i<_param._nb_branch_complete; i++) 62 // PORT_WRITE(out_BRANCH_COMPLETE_ACK [i],1); 63 63 64 64 #if (defined(STATISTICS) || defined (VHDL_TESTBENCH)) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Branch_History_Table_allocation.cpp
r3 r15 23 23 24 24 in_CLOCK = new SC_CLOCK ("in_CLOCK"); 25 in_NRESET = new SC_IN (Tcontrol_t) ("in_NRESET"); 25 26 26 27 in_PREDICT_VAL = new SC_IN (Tcontrol_t) * [_param._nb_prediction]; … … 102 103 name_component = _name+"_RegisterFile"; 103 104 104 component_RegisterFile = new morpheo::behavioural::generic::registerfile:: RegisterFile(name_component.c_str(),105 component_RegisterFile = new morpheo::behavioural::generic::registerfile::registerfile_monolithic::RegisterFile_Monolithic(name_component.c_str(), 105 106 #ifdef STATISTICS 106 107 _param_statistics , … … 109 110 110 111 // Instantiation 111 (*(component_RegisterFile->in_CLOCK)) (*(in_CLOCK)); 112 (*(component_RegisterFile->in_CLOCK )) (*(in_CLOCK )); 113 (*(component_RegisterFile->in_NRESET)) (*(in_NRESET)); 112 114 113 115 for (uint32_t i=0; i<_param._nb_prediction; i++) 114 116 { 115 (*(component_RegisterFile-> in_READ_ENABLE [i])) (*( in_PREDICT_VAL [i])); 117 (*(component_RegisterFile-> in_READ_VAL [i])) (*( in_PREDICT_VAL [i])); 118 (*(component_RegisterFile->out_READ_ACK [i])) (*(out_PREDICT_ACK [i])); 116 119 (*(component_RegisterFile-> in_READ_ADDRESS [i])) (*( in_PREDICT_ADDRESS [i])); 117 120 (*(component_RegisterFile->out_READ_DATA [i])) (*(out_PREDICT_HISTORY [i])); … … 120 123 for (uint32_t i=0; i<_param._nb_branch_complete; i++) 121 124 { 122 (*(component_RegisterFile-> in_WRITE_ENABLE [i])) (*( in_BRANCH_COMPLETE_VAL [i])); 125 (*(component_RegisterFile-> in_WRITE_VAL [i])) (*( in_BRANCH_COMPLETE_VAL [i])); 126 (*(component_RegisterFile->out_WRITE_ACK [i])) (*( out_BRANCH_COMPLETE_ACK [i])); 123 127 (*(component_RegisterFile-> in_WRITE_ADDRESS [i])) (*( in_BRANCH_COMPLETE_ADDRESS [i])); 124 128 (*(component_RegisterFile-> in_WRITE_DATA [i])) (*(signal_BRANCH_COMPLETE_HISTORY [i])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Branch_History_Table_deallocation.cpp
r3 r15 20 20 { 21 21 delete in_CLOCK; 22 delete in_NRESET; 22 23 23 24 for (uint32_t i=0; i<_param._nb_prediction; i++) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Branch_History_Table_vhdl_body.cpp
r3 r15 20 20 void Branch_History_Table::vhdl_body (Vhdl & vhdl) 21 21 { 22 vhdl.set_body ("-- Output : always at '1'");23 for (uint32_t i=0; i<_param._nb_branch_complete; i++)24 vhdl.set_body ("out_BRANCH_COMPLETE_ACK_"+toString(i)+" <= '1';");25 for (uint32_t i=0; i<_param._nb_prediction ; i++)26 vhdl.set_body ("out_PREDICT_ACK_"+toString(i)+" <= '1';");27 vhdl.set_body ("");22 // vhdl.set_body ("-- Output : always at '1'"); 23 // for (uint32_t i=0; i<_param._nb_branch_complete; i++) 24 // vhdl.set_body ("out_BRANCH_COMPLETE_ACK_"+toString(i)+" <= '1';"); 25 // for (uint32_t i=0; i<_param._nb_prediction ; i++) 26 // vhdl.set_body ("out_PREDICT_ACK_"+toString(i)+" <= '1';"); 27 // vhdl.set_body (""); 28 28 29 29 list<string> list_port_map; … … 40 40 list_port_map.clear(); 41 41 vhdl.set_body_component_port_map (list_port_map,"in_CLOCK","in_CLOCK"); 42 vhdl.set_body_component_port_map (list_port_map,"in_NRESET","in_NRESET"); 43 42 44 for (uint32_t i=0; i<_param._nb_prediction; i++) 43 45 { 44 vhdl.set_body_component_port_map (list_port_map," in_READ_ENABLE_"+toString(i)+" "," in_PREDICT_VAL_"+toString(i)); 46 vhdl.set_body_component_port_map (list_port_map," in_READ_VAL_"+toString(i)+" "," in_PREDICT_VAL_"+toString(i)); 47 vhdl.set_body_component_port_map (list_port_map,"out_READ_ACK_"+toString(i)+" ","out_PREDICT_ACK_"+toString(i)); 45 48 vhdl.set_body_component_port_map (list_port_map," in_READ_ADDRESS_"+toString(i)+" "," in_PREDICT_ADDRESS_"+toString(i)); 46 49 vhdl.set_body_component_port_map (list_port_map,"out_READ_DATA_"+toString(i)+" ","out_PREDICT_HISTORY_"+toString(i)); … … 49 52 for (uint32_t i=0; i<_param._nb_branch_complete; i++) 50 53 { 51 vhdl.set_body_component_port_map (list_port_map," in_WRITE_ENABLE_"+toString(i)+" "," in_BRANCH_COMPLETE_VAL_"+toString(i)+""); 54 vhdl.set_body_component_port_map (list_port_map," in_WRITE_VAL_"+toString(i)+" "," in_BRANCH_COMPLETE_VAL_"+toString(i)+""); 55 vhdl.set_body_component_port_map (list_port_map,"out_WRITE_ACK_"+toString(i)+" "," out_BRANCH_COMPLETE_ACK_"+toString(i)+""); 52 56 vhdl.set_body_component_port_map (list_port_map," in_WRITE_ADDRESS_"+toString(i)+""," in_BRANCH_COMPLETE_ADDRESS_"+toString(i)); 53 57 vhdl.set_body_component_port_map (list_port_map," in_WRITE_DATA_"+toString(i)+" ","signal_BRANCH_COMPLETE_HISTORY_"+toString(i)); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Branch_History_Table_vhdl_port.cpp
r3 r15 21 21 { 22 22 vhdl.set_port (" in_CLOCK" , IN, 1); 23 vhdl.set_port (" in_NRESET", IN, 1); 23 24 24 25 for (uint32_t i=0; i<_param._nb_prediction; i++) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Branch_History_Table_vhdl_testbench_port.cpp
r3 r15 19 19 void Branch_History_Table::vhdl_testbench_port (void) 20 20 { 21 _vhdl_testbench->set_port (" in_NRESET", IN, 1); 21 22 for (uint32_t i=0; i<_param._nb_prediction; i++) 22 23 { -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Branch_History_Table_vhdl_testbench_transition.cpp
r3 r15 25 25 #endif 26 26 27 _vhdl_testbench->add_input (PORT_READ( in_NRESET)); 28 27 29 for (uint32_t i=0; i<_param._nb_prediction; i++) 28 30 { 29 31 _vhdl_testbench->add_input (PORT_READ( in_PREDICT_VAL [i])); 30 _vhdl_testbench->add_output (PORT_READ( out_PREDICT_ACK[i]));32 _vhdl_testbench->add_output (PORT_READ(component_RegisterFile->out_READ_ACK [i])); 31 33 _vhdl_testbench->add_input (PORT_READ( in_PREDICT_ADDRESS [i])); 32 34 _vhdl_testbench->add_output (PORT_READ(component_RegisterFile->out_READ_DATA [i])); … … 37 39 { 38 40 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_VAL [i])); 39 _vhdl_testbench->add_output (PORT_READ( out_BRANCH_COMPLETE_ACK[i]));41 _vhdl_testbench->add_output (PORT_READ(component_RegisterFile->out_WRITE_ACK [i])); 40 42 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_ADDRESS [i])); 41 43 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_HISTORY [i])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Parameters.cpp
r2 r15 32 32 morpheo::behavioural::generic::shifter::internal_left_shift, 33 33 morpheo::behavioural::generic::shifter::external_completion), 34 _param_registerfile = new morpheo::behavioural::generic::registerfile:: Parameters (nb_prediction ,35 36 37 34 _param_registerfile = new morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters (nb_prediction , 35 nb_branch_complete , 36 nb_shifter , 37 size_shifter ); 38 38 39 39 test(); … … 54 54 true), 55 55 56 _param_registerfile = new morpheo::behavioural::generic::registerfile:: Parameters (param._nb_prediction ,57 58 59 56 _param_registerfile = new morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters (param._nb_prediction , 57 param._nb_branch_complete , 58 param._nb_shifter , 59 param._size_shifter ); 60 60 61 61
Note: See TracChangeset
for help on using the changeset viewer.