Changeset 3 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/src
- Timestamp:
- Mar 6, 2007, 3:34:04 PM (17 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/src/Pattern_History_Table_allocation.cpp
r2 r3 46 46 } 47 47 48 in_BRANCH_COMPLETE_VAL = new SC_IN (Tcontrol_t) * [_param._nb_branch_complete];49 out_BRANCH_COMPLETE_ACK = new SC_OUT (Tcontrol_t) * [_param._nb_branch_complete];50 in_BRANCH_COMPLETE_ADDRESS = new SC_IN (Taddress_t) * [_param._nb_branch_complete];51 in_BRANCH_COMPLETE_HISTORY = new SC_IN (Thistory_t) * [_param._nb_branch_complete];52 in_BRANCH_COMPLETE_ HIT= new SC_IN (Tcontrol_t) * [_param._nb_branch_complete];53 signal_BRANCH_COMPLETE_HISTORY = new SC_SIGNAL (Thistory_t) * [_param._nb_branch_complete];48 in_BRANCH_COMPLETE_VAL = new SC_IN (Tcontrol_t) * [_param._nb_branch_complete]; 49 out_BRANCH_COMPLETE_ACK = new SC_OUT (Tcontrol_t) * [_param._nb_branch_complete]; 50 in_BRANCH_COMPLETE_ADDRESS = new SC_IN (Taddress_t) * [_param._nb_branch_complete]; 51 in_BRANCH_COMPLETE_HISTORY = new SC_IN (Thistory_t) * [_param._nb_branch_complete]; 52 in_BRANCH_COMPLETE_DIRECTION = new SC_IN (Tcontrol_t) * [_param._nb_branch_complete]; 53 signal_BRANCH_COMPLETE_HISTORY = new SC_SIGNAL (Thistory_t) * [_param._nb_branch_complete]; 54 54 55 55 for (uint32_t i=0; i<_param._nb_branch_complete; i++) … … 67 67 in_BRANCH_COMPLETE_HISTORY [i] = new SC_IN (Thistory_t) (rename.c_str()); 68 68 69 rename = "in_BRANCH_COMPLETE_ HIT[" +toString(i)+"]";70 in_BRANCH_COMPLETE_ HIT[i] = new SC_IN (Tcontrol_t) (rename.c_str());69 rename = "in_BRANCH_COMPLETE_DIRECTION[" +toString(i)+"]"; 70 in_BRANCH_COMPLETE_DIRECTION [i] = new SC_IN (Tcontrol_t) (rename.c_str()); 71 71 72 72 rename = "signal_BRANCH_COMPLETE_HISTORY["+toString(i)+"]"; … … 95 95 for (uint32_t i=0; i<_param._nb_branch_complete; i++) 96 96 { 97 (*(component_Counter-> in_COUNTER_DATA [i])) (*( in_BRANCH_COMPLETE_HISTORY [i]));98 (*(component_Counter-> in_COUNTER_ADDSUB [i])) (*( in_BRANCH_COMPLETE_ HIT[i]));99 (*(component_Counter->out_COUNTER_DATA [i])) (*(signal_BRANCH_COMPLETE_HISTORY [i]));97 (*(component_Counter-> in_COUNTER_DATA [i])) (*( in_BRANCH_COMPLETE_HISTORY [i])); 98 (*(component_Counter-> in_COUNTER_ADDSUB [i])) (*( in_BRANCH_COMPLETE_DIRECTION [i])); 99 (*(component_Counter->out_COUNTER_DATA [i])) (*(signal_BRANCH_COMPLETE_HISTORY [i])); 100 100 } 101 101 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/src/Pattern_History_Table_deallocation.cpp
r2 r3 39 39 for (uint32_t i=0; i<_param._nb_branch_complete; i++) 40 40 { 41 delete in_BRANCH_COMPLETE_VAL [i];42 delete out_BRANCH_COMPLETE_ACK [i];43 delete in_BRANCH_COMPLETE_ADDRESS [i];44 delete in_BRANCH_COMPLETE_HISTORY [i];45 delete in_BRANCH_COMPLETE_ HIT[i];41 delete in_BRANCH_COMPLETE_VAL [i]; 42 delete out_BRANCH_COMPLETE_ACK [i]; 43 delete in_BRANCH_COMPLETE_ADDRESS [i]; 44 delete in_BRANCH_COMPLETE_HISTORY [i]; 45 delete in_BRANCH_COMPLETE_DIRECTION [i]; 46 46 } 47 47 delete in_BRANCH_COMPLETE_VAL ; … … 49 49 delete in_BRANCH_COMPLETE_ADDRESS; 50 50 delete in_BRANCH_COMPLETE_HISTORY; 51 delete in_BRANCH_COMPLETE_ HIT;51 delete in_BRANCH_COMPLETE_DIRECTION; 52 52 53 53 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/src/Pattern_History_Table_vhdl_body.cpp
r2 r3 34 34 { 35 35 vhdl.set_body_component_port_map (list_port_map," in_COUNTER_DATA_"+toString(i)+" "," in_BRANCH_COMPLETE_HISTORY_"+toString(i)); 36 vhdl.set_body_component_port_map (list_port_map," in_COUNTER_ADDSUB_"+toString(i)+" "," in_BRANCH_COMPLETE_ HIT_"+toString(i) );36 vhdl.set_body_component_port_map (list_port_map," in_COUNTER_ADDSUB_"+toString(i)+" "," in_BRANCH_COMPLETE_DIRECTION_"+toString(i) ); 37 37 vhdl.set_body_component_port_map (list_port_map,"out_COUNTER_DATA_"+toString(i)+" ","signal_BRANCH_COMPLETE_HISTORY_"+toString(i)); 38 38 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/src/Pattern_History_Table_vhdl_port.cpp
r2 r3 26 26 for (uint32_t i=0; i<_param._nb_prediction; i++) 27 27 { 28 vhdl.set_port(" in_PREDICT_VAL_"+toString(i)+" ", IN, 1);29 vhdl.set_port("out_PREDICT_ACK_"+toString(i)+" ",OUT, 1);30 vhdl.set_port(" in_PREDICT_ADDRESS_"+toString(i)+" ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_counter))));31 vhdl.set_port("out_PREDICT_HISTORY_"+toString(i)+" ",OUT, _param._size_counter);28 vhdl.set_port(" in_PREDICT_VAL_"+toString(i)+" ", IN, 1); 29 vhdl.set_port("out_PREDICT_ACK_"+toString(i)+" ",OUT, 1); 30 vhdl.set_port(" in_PREDICT_ADDRESS_"+toString(i)+" ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_counter)))); 31 vhdl.set_port("out_PREDICT_HISTORY_"+toString(i)+" ",OUT, _param._size_counter); 32 32 } 33 33 for (uint32_t i=0; i<_param._nb_branch_complete; i++) 34 34 { 35 vhdl.set_port (" in_BRANCH_COMPLETE_VAL_"+toString(i)+" ", IN, 1);36 vhdl.set_port ("out_BRANCH_COMPLETE_ACK_"+toString(i)+" ",OUT, 1);37 vhdl.set_port (" in_BRANCH_COMPLETE_ADDRESS_"+toString(i)+" ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_counter))));38 vhdl.set_port (" in_BRANCH_COMPLETE_HISTORY_"+toString(i)+" ", IN, _param._size_counter);39 vhdl.set_port (" in_BRANCH_COMPLETE_ HIT_"+toString(i)+"", IN, 1);35 vhdl.set_port (" in_BRANCH_COMPLETE_VAL_"+toString(i)+" ", IN, 1); 36 vhdl.set_port ("out_BRANCH_COMPLETE_ACK_"+toString(i)+" ",OUT, 1); 37 vhdl.set_port (" in_BRANCH_COMPLETE_ADDRESS_"+toString(i)+" ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_counter)))); 38 vhdl.set_port (" in_BRANCH_COMPLETE_HISTORY_"+toString(i)+" ", IN, _param._size_counter); 39 vhdl.set_port (" in_BRANCH_COMPLETE_DIRECTION_"+toString(i)+"", IN, 1); 40 40 } 41 41 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/src/Pattern_History_Table_vhdl_testbench_port.cpp
r2 r3 24 24 for (uint32_t i=0; i<_param._nb_prediction; i++) 25 25 { 26 _vhdl_testbench->set_port (" in_PREDICT_VAL_"+toString(i)+" ", IN, 1);27 _vhdl_testbench->set_port ("out_PREDICT_ACK_"+toString(i)+" ",OUT, 1);28 _vhdl_testbench->set_port (" in_PREDICT_ADDRESS_"+toString(i)+" ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_counter))));29 _vhdl_testbench->set_port ("out_PREDICT_HISTORY_"+toString(i)+" ",OUT, _param._size_counter);30 } 31 32 for (uint32_t i=0; i<_param._nb_branch_complete; i++) 33 { 34 _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_VAL_"+toString(i)+" ", IN, 1);35 _vhdl_testbench->set_port ("out_BRANCH_COMPLETE_ACK_"+toString(i)+" ",OUT, 1);36 _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_ADDRESS_"+toString(i)+" ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_counter))));37 _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_HISTORY_"+toString(i)+" ", IN, _param._size_counter);38 _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_ HIT_"+toString(i)+"", IN, 1);26 _vhdl_testbench->set_port (" in_PREDICT_VAL_"+toString(i)+" ", IN, 1); 27 _vhdl_testbench->set_port ("out_PREDICT_ACK_"+toString(i)+" ",OUT, 1); 28 _vhdl_testbench->set_port (" in_PREDICT_ADDRESS_"+toString(i)+" ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_counter)))); 29 _vhdl_testbench->set_port ("out_PREDICT_HISTORY_"+toString(i)+" ",OUT, _param._size_counter); 30 } 31 32 for (uint32_t i=0; i<_param._nb_branch_complete; i++) 33 { 34 _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_VAL_"+toString(i)+" ", IN, 1); 35 _vhdl_testbench->set_port ("out_BRANCH_COMPLETE_ACK_"+toString(i)+" ",OUT, 1); 36 _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_ADDRESS_"+toString(i)+" ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_counter)))); 37 _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_HISTORY_"+toString(i)+" ", IN, _param._size_counter); 38 _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_DIRECTION_"+toString(i)+"", IN, 1); 39 39 } 40 40 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/src/Pattern_History_Table_vhdl_testbench_transition.cpp
r2 r3 41 41 for (uint32_t i=0; i<_param._nb_branch_complete; i++) 42 42 { 43 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_VAL [i]));44 _vhdl_testbench->add_output (PORT_READ(out_BRANCH_COMPLETE_ACK [i]));45 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_ADDRESS [i]));46 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_HISTORY [i]));47 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_ HIT[i]));43 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_VAL [i])); 44 _vhdl_testbench->add_output (PORT_READ(out_BRANCH_COMPLETE_ACK [i])); 45 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_ADDRESS [i])); 46 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_HISTORY [i])); 47 _vhdl_testbench->add_input (PORT_READ( in_BRANCH_COMPLETE_DIRECTION[i])); 48 48 } 49 50 49 51 50 // add_test : 52 51 // - True : the cycle must be compare with the output of systemC
Note: See TracChangeset
for help on using the changeset viewer.