Ignore:
Timestamp:
Apr 5, 2007, 4:17:30 PM (17 years ago)
Author:
rosiere
Message:

Interface normalisé
Début du banc de registres multi niveaux

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  
    5656    allocation ();
    5757
    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);
     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);
    6363
    6464#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  
    2323
    2424     in_CLOCK           = new SC_CLOCK           ("in_CLOCK");
     25     in_NRESET          = new SC_IN (Tcontrol_t) ("in_NRESET");
    2526
    2627     in_PREDICT_VAL     = new SC_IN (Tcontrol_t) * [_param._nb_prediction];
     
    102103    name_component = _name+"_RegisterFile";
    103104   
    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(),
    105106#ifdef STATISTICS
    106107                                                                                            _param_statistics            ,
     
    109110     
    110111    // Instantiation
    111     (*(component_RegisterFile->in_CLOCK))        (*(in_CLOCK));
     112    (*(component_RegisterFile->in_CLOCK ))       (*(in_CLOCK ));
     113    (*(component_RegisterFile->in_NRESET))       (*(in_NRESET));
    112114   
    113115    for (uint32_t i=0; i<_param._nb_prediction; i++)
    114116      {
    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]));
    116119        (*(component_RegisterFile-> in_READ_ADDRESS  [i])) (*( in_PREDICT_ADDRESS  [i]));
    117120        (*(component_RegisterFile->out_READ_DATA     [i])) (*(out_PREDICT_HISTORY  [i]));   
     
    120123    for (uint32_t i=0; i<_param._nb_branch_complete; i++)
    121124      {
    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]));
    123127        (*(component_RegisterFile-> in_WRITE_ADDRESS [i])) (*(    in_BRANCH_COMPLETE_ADDRESS  [i]));
    124128        (*(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  
    2020  {
    2121    delete in_CLOCK;
     22    delete in_NRESET;
    2223
    2324    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  
    2020  void Branch_History_Table::vhdl_body (Vhdl & vhdl)
    2121  {
    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 ("");
    2828
    2929    list<string> list_port_map;
     
    4040    list_port_map.clear();
    4141    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
    4244    for (uint32_t i=0; i<_param._nb_prediction; i++)
    4345      {
    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));
    4548        vhdl.set_body_component_port_map (list_port_map," in_READ_ADDRESS_"+toString(i)+" "," in_PREDICT_ADDRESS_"+toString(i));
    4649        vhdl.set_body_component_port_map (list_port_map,"out_READ_DATA_"+toString(i)+"    ","out_PREDICT_HISTORY_"+toString(i));   
     
    4952    for (uint32_t i=0; i<_param._nb_branch_complete; i++)
    5053      {
    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)+"");
    5256        vhdl.set_body_component_port_map (list_port_map," in_WRITE_ADDRESS_"+toString(i)+"","    in_BRANCH_COMPLETE_ADDRESS_"+toString(i));
    5357        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  
    2121  {
    2222    vhdl.set_port (" in_CLOCK" , IN, 1);
     23    vhdl.set_port (" in_NRESET", IN, 1);
    2324   
    2425    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  
    1919  void Branch_History_Table::vhdl_testbench_port (void)
    2020  {
     21    _vhdl_testbench->set_port (" in_NRESET", IN, 1);
    2122    for (uint32_t i=0; i<_param._nb_prediction; i++)
    2223      {
  • 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  
    2525#endif   
    2626
     27    _vhdl_testbench->add_input  (PORT_READ( in_NRESET));
     28
    2729    for (uint32_t i=0; i<_param._nb_prediction; i++)
    2830      {
    2931        _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]));
    3133        _vhdl_testbench->add_input  (PORT_READ( in_PREDICT_ADDRESS [i]));
    3234        _vhdl_testbench->add_output (PORT_READ(component_RegisterFile->out_READ_DATA [i]));
     
    3739       {
    3840         _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]));
    4042         _vhdl_testbench->add_input  (PORT_READ( in_BRANCH_COMPLETE_ADDRESS [i]));
    4143         _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  
    3232                                                                             morpheo::behavioural::generic::shifter::internal_left_shift,
    3333                                                                             morpheo::behavioural::generic::shifter::external_completion),
    34     _param_registerfile = new morpheo::behavioural::generic::registerfile::Parameters (nb_prediction      ,
    35                                                                                        nb_branch_complete ,
    36                                                                                        nb_shifter         ,
    37                                                                                        size_shifter       );
     34    _param_registerfile = new morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters (nb_prediction      ,
     35                                                                                                                nb_branch_complete ,
     36                                                                                                                nb_shifter         ,
     37                                                                                                                size_shifter       );
    3838   
    3939    test();
     
    5454                                                                             true),
    5555
    56     _param_registerfile = new morpheo::behavioural::generic::registerfile::Parameters (param._nb_prediction      ,
    57                                                                                        param._nb_branch_complete ,
    58                                                                                        param._nb_shifter         ,
    59                                                                                        param._size_shifter       );
     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       );
    6060     
    6161
Note: See TracChangeset for help on using the changeset viewer.