Ignore:
Timestamp:
Mar 6, 2007, 3:34:04 PM (17 years ago)
Author:
kane
Message:

1) Ajout d'un "printer" XML pour la configuration de paramètres

2) Fin du composant "Two_Level_Branch_Predictor"

validation * systemc

  • vhdl
Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src
Files:
7 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_allocation.cpp

    r2 r3  
    4848        in_BRANCH_COMPLETE_ADDRESS = new SC_IN     (Taddress_t) * [_param._nb_branch_complete];
    4949        in_BRANCH_COMPLETE_HISTORY = new SC_IN     (Thistory_t) * [_param._nb_branch_complete];
    50         in_BRANCH_COMPLETE_HIT     = new SC_IN     (Tcontrol_t) * [_param._nb_branch_complete];
     50        in_BRANCH_COMPLETE_DIRECTION= new SC_IN     (Tcontrol_t) * [_param._nb_branch_complete];
    5151    signal_BRANCH_COMPLETE_HISTORY = new SC_SIGNAL (Thistory_t) * [_param._nb_branch_complete];
    5252
     
    6565          in_BRANCH_COMPLETE_HISTORY [i] = new SC_IN (Thistory_t) (rename.c_str());
    6666
    67          rename = "in_BRANCH_COMPLETE_HIT["    +toString(i)+"]";
    68           in_BRANCH_COMPLETE_HIT     [i] = new SC_IN (Tcontrol_t) (rename.c_str());
     67         rename = "in_BRANCH_COMPLETE_DIRECTION["    +toString(i)+"]";
     68          in_BRANCH_COMPLETE_DIRECTION[i] = new SC_IN (Tcontrol_t) (rename.c_str());
    6969
    7070         rename = "signal_BRANCH_COMPLETE_HISTORY["+toString(i)+"]";
     
    9393    for (uint32_t i=0; i<_param._nb_branch_complete; i++)
    9494      {
    95         (*(component_Shifter-> in_SHIFTER_DATA       [i]))    (*(    in_BRANCH_COMPLETE_HISTORY [i]));
    96         (*(component_Shifter-> in_SHIFTER_CARRY_IN   [i]))    (*(    in_BRANCH_COMPLETE_HIT     [i]));
    97         (*(component_Shifter->out_SHIFTER_DATA       [i]))    (*(signal_BRANCH_COMPLETE_HISTORY [i]));
     95        (*(component_Shifter-> in_SHIFTER_DATA       [i]))    (*(    in_BRANCH_COMPLETE_HISTORY  [i]));
     96        (*(component_Shifter-> in_SHIFTER_CARRY_IN   [i]))    (*(    in_BRANCH_COMPLETE_DIRECTION[i]));
     97        (*(component_Shifter->out_SHIFTER_DATA       [i]))    (*(signal_BRANCH_COMPLETE_HISTORY  [i]));
    9898      }
    9999   
  • 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

    r2 r3  
    4040         delete  in_BRANCH_COMPLETE_ADDRESS [i];
    4141         delete  in_BRANCH_COMPLETE_HISTORY [i];
    42          delete  in_BRANCH_COMPLETE_HIT     [i];
     42         delete  in_BRANCH_COMPLETE_DIRECTION[i];
    4343       }
    4444    delete  in_BRANCH_COMPLETE_VAL    ;
     
    4646    delete  in_BRANCH_COMPLETE_ADDRESS;
    4747    delete  in_BRANCH_COMPLETE_HISTORY;
    48     delete  in_BRANCH_COMPLETE_HIT    ;
     48    delete  in_BRANCH_COMPLETE_DIRECTION;
    4949
    5050     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
  • 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

    r2 r3  
    3232      {
    3333        vhdl.set_body_component_port_map (list_port_map," in_SHIFTER_DATA_"+toString(i)+"     ","    in_BRANCH_COMPLETE_HISTORY_"+toString(i));
    34         vhdl.set_body_component_port_map (list_port_map," in_SHIFTER_CARRY_IN_"+toString(i)+" ","    in_BRANCH_COMPLETE_HIT_"+toString(i)    );
     34        vhdl.set_body_component_port_map (list_port_map," in_SHIFTER_CARRY_IN_"+toString(i)+" ","    in_BRANCH_COMPLETE_DIRECTION_"+toString(i)    );
    3535        vhdl.set_body_component_port_map (list_port_map,"out_SHIFTER_DATA_"+toString(i)+"     ","signal_BRANCH_COMPLETE_HISTORY_"+toString(i));
    3636      }
    3737
    3838    vhdl.set_body_component ("component_Shifter",_name+"_Shifter",list_port_map);
    39 
    4039
    4140    list_port_map.clear();
  • 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

    r2 r3  
    2424    for (uint32_t i=0; i<_param._nb_prediction; i++)
    2525      {
    26         vhdl.set_port(" in_PREDICT_VAL_"+toString(i)+"             ", IN, 1);
    27         vhdl.set_port("out_PREDICT_ACK_"+toString(i)+"             ",OUT, 1);
    28         vhdl.set_port(" in_PREDICT_ADDRESS_"+toString(i)+"         ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_shifter))));
    29         vhdl.set_port("out_PREDICT_HISTORY_"+toString(i)+"         ",OUT, _param._size_shifter);
     26        vhdl.set_port(" in_PREDICT_VAL_"+toString(i)+"               ", IN, 1);
     27        vhdl.set_port("out_PREDICT_ACK_"+toString(i)+"               ",OUT, 1);
     28        vhdl.set_port(" in_PREDICT_ADDRESS_"+toString(i)+"           ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_shifter))));
     29        vhdl.set_port("out_PREDICT_HISTORY_"+toString(i)+"           ",OUT, _param._size_shifter);
    3030      }
    3131     for (uint32_t i=0; i<_param._nb_branch_complete; i++)
    3232       {
    33          vhdl.set_port (" in_BRANCH_COMPLETE_VAL_"+toString(i)+"    ", IN, 1);
    34          vhdl.set_port ("out_BRANCH_COMPLETE_ACK_"+toString(i)+"    ",OUT, 1);
    35          vhdl.set_port (" in_BRANCH_COMPLETE_ADDRESS_"+toString(i)+"", IN, static_cast<uint32_t>(ceil(log2(_param._nb_shifter))));
    36          vhdl.set_port (" in_BRANCH_COMPLETE_HISTORY_"+toString(i)+"", IN, _param._size_shifter);
    37          vhdl.set_port (" in_BRANCH_COMPLETE_HIT_"+toString(i)+"    ", IN, 1);
     33         vhdl.set_port (" in_BRANCH_COMPLETE_VAL_"+toString(i)+"      ", IN, 1);
     34         vhdl.set_port ("out_BRANCH_COMPLETE_ACK_"+toString(i)+"      ",OUT, 1);
     35         vhdl.set_port (" in_BRANCH_COMPLETE_ADDRESS_"+toString(i)+"  ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_shifter))));
     36         vhdl.set_port (" in_BRANCH_COMPLETE_HISTORY_"+toString(i)+"  ", IN, _param._size_shifter);
     37         vhdl.set_port (" in_BRANCH_COMPLETE_DIRECTION_"+toString(i)+"", IN, 1);
    3838       }
    3939  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Branch_History_Table_vhdl_signal.cpp

    r2 r3  
    1717namespace branch_history_table {
    1818
    19 
    2019  void Branch_History_Table::vhdl_signal (Vhdl & vhdl)
    2120  {
     
    2928}; // end namespace predictor
    3029}; // end namespace stage_1_ifetch
    31 
    3230}; // end namespace behavioural
    3331}; // end namespace morpheo             
  • 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

    r2 r3  
    2121    for (uint32_t i=0; i<_param._nb_prediction; i++)
    2222      {
    23         _vhdl_testbench->set_port (" in_PREDICT_VAL_"+toString(i)+"             ", IN, 1);
    24         _vhdl_testbench->set_port ("out_PREDICT_ACK_"+toString(i)+"             ",OUT, 1);
    25         _vhdl_testbench->set_port (" in_PREDICT_ADDRESS_"+toString(i)+"         ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_shifter))));
    26         _vhdl_testbench->set_port ("out_PREDICT_HISTORY_"+toString(i)+"         ",OUT, _param._size_shifter);
     23        _vhdl_testbench->set_port (" in_PREDICT_VAL_"+toString(i)+"               ", IN, 1);
     24        _vhdl_testbench->set_port ("out_PREDICT_ACK_"+toString(i)+"               ",OUT, 1);
     25        _vhdl_testbench->set_port (" in_PREDICT_ADDRESS_"+toString(i)+"           ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_shifter))));
     26        _vhdl_testbench->set_port ("out_PREDICT_HISTORY_"+toString(i)+"           ",OUT, _param._size_shifter);
    2727      }
    2828
    2929     for (uint32_t i=0; i<_param._nb_branch_complete; i++)
    3030       {
    31          _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_VAL_"+toString(i)+"    ", IN, 1);
    32          _vhdl_testbench->set_port ("out_BRANCH_COMPLETE_ACK_"+toString(i)+"    ",OUT, 1);
    33          _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_ADDRESS_"+toString(i)+"", IN, static_cast<uint32_t>(ceil(log2(_param._nb_shifter))));
    34          _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_HISTORY_"+toString(i)+"", IN, _param._size_shifter);
    35          _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_HIT_"+toString(i)+"    ", IN, 1);
     31         _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_VAL_"+toString(i)+"      ", IN, 1);
     32         _vhdl_testbench->set_port ("out_BRANCH_COMPLETE_ACK_"+toString(i)+"      ",OUT, 1);
     33         _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_ADDRESS_"+toString(i)+"  ", IN, static_cast<uint32_t>(ceil(log2(_param._nb_shifter))));
     34         _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_HISTORY_"+toString(i)+"  ", IN, _param._size_shifter);
     35         _vhdl_testbench->set_port (" in_BRANCH_COMPLETE_DIRECTION_"+toString(i)+"", IN, 1);
    3636       }
    3737  };
  • 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

    r2 r3  
    4040         _vhdl_testbench->add_input  (PORT_READ( in_BRANCH_COMPLETE_ADDRESS [i]));
    4141         _vhdl_testbench->add_input  (PORT_READ( in_BRANCH_COMPLETE_HISTORY [i]));
    42          _vhdl_testbench->add_input  (PORT_READ( in_BRANCH_COMPLETE_HIT     [i]));
     42         _vhdl_testbench->add_input  (PORT_READ( in_BRANCH_COMPLETE_DIRECTION[i]));
    4343       }
    4444   
Note: See TracChangeset for help on using the changeset viewer.