Ignore:
Timestamp:
Feb 27, 2009, 7:37:40 PM (15 years ago)
Author:
rosiere
Message:

1) Decod_queue : multi implementation (one_fifo, multi_fifo)
2) Issue_queue : multi implementation (in_order, out_of_order)
3) Direction : Add Meta predictor
4) Context_State : re add Branch_complete, More priority to Load miss (is not speculative)
5) Return_Address_Stack : update reg_PREDICT pointer on decod miss prediction
6) UPT : Fix bug in multi event
7) Prediction_glue : in read_stack case, insert in UPT pc_next
8) Rename select : when rob have an event (need flush), read_r{a,b,c} and write_r{d,e} is set at 0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/SelfTest/src/main.cpp

    r97 r111  
    1515  err (_("<Usage> %s name_instance list_params.\n"),argv[0]);
    1616  err (_("list_params is :\n"));
    17   err (_(" * size_general_data                                                                    (uint32_t         )\n"));
    18   err (_(" * size_special_data                                                                    (uint32_t         )\n"));
    19 //morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void),
    20    
    21   err (_(" * nb_thread                                                                            (uint32_t         )\n"));
    22   err (_(" * size_ifetch_queue                       [nb_thread]                                  (uint32_t         )\n"));
    23   err (_(" * nb_inst_fetch                           [nb_thread]                                  (uint32_t         )\n"));
    24 //err (_(" * implement_group                         [nb_thread][NB_GROUP]                        (bool             )\n"));
    25   err (_(" * ras_size_queue                          [nb_thread]                                  (uint32_t         )\n"));
    26   err (_(" * upt_size_queue                          [nb_thread]                                  (uint32_t         )\n"));
    27   err (_(" * ufpt_size_queue                         [nb_thread]                                  (uint32_t         )\n"));
    28 
    29   err (_(" * nb_decod_bloc                                                                        (uint32_t         )\n"));
    30   err (_(" * size_decod_queue                        [nb_decod_bloc]                              (uint32_t         )\n"));
    31   err (_(" * nb_inst_decod                           [nb_decod_bloc]                              (uint32_t         )\n"));
    32   err (_(" * nb_context_select                       [nb_decod_bloc]                              (uint32_t         )\n"));
    33   err (_(" * context_select_priority                 [nb_decod_bloc]                              (Tpriority_t      )\n"));
    34   err (_(" * context_select_load_balancing           [nb_decod_bloc]                              (Tload_balancing_t)\n"));
    35 
    36   err (_(" * nb_rename_bloc                                                                       (uint32_t         )\n"));
    37   err (_(" * nb_inst_insert                          [nb_rename_bloc]                             (uint32_t         )\n"));
    38   err (_(" * nb_inst_retire                          [nb_rename_bloc]                             (uint32_t         )\n"));
    39   err (_(" * rename_select_priority                  [nb_rename_bloc]                             (Tpriority_t      )\n"));
    40   err (_(" * rename_select_load_balancing            [nb_rename_bloc]                             (Tload_balancing_t)\n"));
    41   err (_(" * rename_select_nb_front_end_select       [nb_rename_bloc]                             (uint32_t         )\n"));
    42   err (_(" * nb_general_register                     [nb_rename_bloc]                             (uint32_t         )\n"));
    43   err (_(" * nb_special_register                     [nb_rename_bloc]                             (uint32_t         )\n"));
    44   err (_(" * nb_reg_free                             [nb_rename_bloc]                             (uint32_t         )\n"));
    45   err (_(" * nb_rename_unit_bank                     [nb_rename_bloc]                             (uint32_t         )\n"));
    46   err (_(" * size_read_counter                       [nb_rename_bloc]                             (uint32_t         )\n"));
    47 
    48   err (_(" * nb_read_bloc                                                                         (uint32_t         )\n"));
    49   err (_(" * size_read_queue                         [nb_read_bloc]                               (uint32_t         )\n"));
    50   err (_(" * size_reservation_station                [nb_read_bloc]                               (uint32_t         )\n"));
    51   err (_(" * nb_inst_retire_reservation_station      [nb_read_bloc]                               (uint32_t         )\n"));
    52 
    53   err (_(" * nb_write_bloc                                                                        (uint32_t         )\n"));
    54   err (_(" * size_write_queue                        [nb_write_bloc]                              (uint32_t         )\n"));
    55   err (_(" * size_execute_queue                      [nb_write_bloc]                              (uint32_t         )\n"));
    56   err (_(" * nb_bypass_write                         [nb_write_bloc]                              (uint32_t         )\n"));
    57 
    58   err (_(" * nb_load_store_unit                                                                   (uint32_t         )\n"));
    59   err (_(" * size_store_queue                        [nb_load_store_unit]                         (uint32_t         )\n"));
    60   err (_(" * size_load_queue                         [nb_load_store_unit]                         (uint32_t         )\n"));
    61   err (_(" * size_speculative_access_queue           [nb_load_store_unit]                         (uint32_t         )\n"));
    62   err (_(" * nb_port_check                           [nb_load_store_unit]                         (uint32_t         )\n"));
    63   err (_(" * speculative_load                        [nb_load_store_unit]                         (Tspeculative_load)\n"));
    64   err (_(" * nb_bypass_memory                        [nb_load_store_unit]                         (uint32_t         )\n"));
    65   err (_(" * nb_cache_port                           [nb_load_store_unit]                         (uint32_t         )\n"));
    66   err (_(" * nb_inst_memory                          [nb_load_store_unit]                         (uint32_t         )\n"));
    67 
    68   err (_(" * nb_functionnal_unit                                                                  (uint32_t         )\n"));
    69   err (_(" * nb_inst_functionnal_unit                [nb_functionnal_unit]                        (uint32_t         )\n"));
    70 //err (_(" * timing                                  [nb_functionnal_unit][nb_type][nb_operation] (execute_timing_t )\n"));
    71 
    72   err (_(" * nb_icache_port                                                                       (uint32_t         )\n"));
    73   err (_(" * icache_port_priority                                                                 (Tpriority_t      )\n"));
    74   err (_(" * icache_port_load_balancing                                                           (Tload_balancing_t)\n"));
    75 
    76   err (_(" * nb_dcache_port                                                                       (uint32_t         )\n"));
    77   err (_(" * dcache_port_priority                                                                 (Tpriority_t      )\n"));
    78   err (_(" * dcache_port_load_balancing                                                           (Tload_balancing_t)\n"));
    79 
    80   err (_(" * nb_front_end                                                                         (uint32_t         )\n"));
    81   err (_(" * nb_context                              [nb_front_end]                               (uint32_t         )\n"));
    82   err (_(" * nb_decod_unit                           [nb_front_end]                               (uint32_t         )\n"));
    83   err (_(" * nb_inst_branch_predict                  [nb_front_end]                               (uint32_t         )\n"));
    84   err (_(" * nb_inst_branch_decod                    [nb_front_end]                               (uint32_t         )\n"));
    85   err (_(" * nb_inst_branch_update                   [nb_front_end]                               (uint32_t         )\n"));
    86   err (_(" * btb_size_queue                          [nb_front_end]                               (uint32_t         )\n"));
    87   err (_(" * btb_associativity                       [nb_front_end]                               (uint32_t         )\n"));
    88   err (_(" * btb_size_counter                        [nb_front_end]                               (uint32_t         )\n"));
    89   err (_(" * btb_victim_scheme                       [nb_front_end]                               (Tvictim_t        )\n"));
    90   err (_(" * dir_predictor_scheme                    [nb_front_end]                               (Tpredictor_t     )\n"));
    91   err (_(" * dir_have_bht                            [nb_front_end][3]                            (bool             )\n"));
    92   err (_(" * dir_bht_size_shifter                    [nb_front_end][3]                            (uint32_t         )\n"));
    93   err (_(" * dir_bht_nb_shifter                      [nb_front_end][3]                            (uint32_t         )\n"));
    94   err (_(" * dir_have_pht                            [nb_front_end][3]                            (bool             )\n"));
    95   err (_(" * dir_pht_size_counter                    [nb_front_end][3]                            (uint32_t         )\n"));
    96   err (_(" * dir_pht_nb_counter                      [nb_front_end][3]                            (uint32_t         )\n"));
    97   err (_(" * dir_pht_size_address_share              [nb_front_end][3]                            (uint32_t         )\n"));
    98 
    99   err (_(" * nb_ooo_engine                                                                        (uint32_t         )\n"));
    100   err (_(" * nb_rename_unit                          [nb_ooo_engine]                              (uint32_t         )\n"));
    101   err (_(" * nb_inst_issue                           [nb_ooo_engine]                              (uint32_t         )\n"));
    102   err (_(" * nb_inst_reexecute                       [nb_ooo_engine]                              (uint32_t         )\n"));
    103   err (_(" * nb_inst_commit                          [nb_ooo_engine]                              (uint32_t         )\n"));
    104   err (_(" * nb_inst_branch_complete                 [nb_ooo_engine]                              (uint32_t         )\n"));
    105   err (_(" * nb_rename_unit_select                   [nb_ooo_engine]                              (uint32_t         )\n"));
    106   err (_(" * nb_execute_loop_select                  [nb_ooo_engine]                              (uint32_t         )\n"));
    107   err (_(" * size_re_order_buffer                    [nb_ooo_engine]                              (uint32_t         )\n"));
    108   err (_(" * nb_re_order_buffer_bank                 [nb_ooo_engine]                              (uint32_t         )\n"));
    109   err (_(" * commit_priority                         [nb_ooo_engine]                              (Tpriority_t      )\n"));
    110   err (_(" * commit_load_balancing                   [nb_ooo_engine]                              (Tload_balancing_t)\n"));
    111   err (_(" * size_issue_queue                        [nb_ooo_engine]                              (uint32_t         )\n"));
    112   err (_(" * nb_issue_queue_bank                     [nb_ooo_engine]                              (uint32_t         )\n"));
    113   err (_(" * issue_priority                          [nb_ooo_engine]                              (Tpriority_t      )\n"));
    114   err (_(" * issue_load_balancing                    [nb_ooo_engine]                              (Tload_balancing_t)\n"));
    115   err (_(" * size_reexecute_queue                    [nb_ooo_engine]                              (uint32_t         )\n"));
    116   err (_(" * reexecute_priority                      [nb_ooo_engine]                              (Tpriority_t      )\n"));
    117   err (_(" * reexecute_load_balancing                [nb_ooo_engine]                              (Tload_balancing_t)\n"));
    118 
    119   err (_(" * nb_execute_loop                                                                      (uint32_t         )\n"));
    120   err (_(" * nb_read_unit                            [nb_execute_loop]                            (uint32_t         )\n"));
    121   err (_(" * nb_execute_unit                         [nb_execute_loop]                            (uint32_t         )\n"));
    122   err (_(" * nb_write_unit                           [nb_execute_loop]                            (uint32_t         )\n"));
    123   err (_(" * nb_gpr_bank                             [nb_execute_loop]                            (uint32_t         )\n"));
    124   err (_(" * nb_gpr_port_read_by_bank                [nb_execute_loop]                            (uint32_t         )\n"));
    125   err (_(" * nb_gpr_port_write_by_bank               [nb_execute_loop]                            (uint32_t         )\n"));
    126   err (_(" * nb_spr_bank                             [nb_execute_loop]                            (uint32_t         )\n"));
    127   err (_(" * nb_spr_port_read_by_bank                [nb_execute_loop]                            (uint32_t         )\n"));
    128   err (_(" * nb_spr_port_write_by_bank               [nb_execute_loop]                            (uint32_t         )\n"));
    129   err (_(" * execution_unit_to_write_unit_priority   [nb_execute_loop]                            (Tpriority_t      )\n"));
    130   err (_(" * read_unit_to_execution_unit_priority    [nb_execute_loop]                            (Tpriority_t      )\n"));
    131 
    132   err (_(" * link_context_with_thread                [nb_thread]                                  (pair_dual        )\n"));
    133   err (_(" * link_decod_unit_with_decod_bloc         [nb_decod_bloc]                              (pair_dual        )\n"));
    134   err (_(" * link_rename_unit_with_rename_bloc       [nb_rename_bloc]                             (pair_dual        )\n"));
    135   err (_(" * link_read_unit_with_read_bloc           [nb_read_bloc]                               (pair_dual        )\n"));
    136   err (_(" * link_write_unit_with_write_bloc         [nb_write_bloc]                              (pair_dual        )\n"));
    137   err (_(" * link_execute_unit_with_functionnal_unit [nb_functionnal_unit]                        (pair_dual        )\n"));
    138   err (_(" * link_execute_unit_with_load_store_unit  [nb_load_store_unit]                         (pair_dual        )\n"));
    139   err (_(" * link_decod_bloc_with_thread             [nb_thread]                                  (uint32_t         )\n"));
    140   err (_(" * link_rename_bloc_with_front_end         [nb_front_end]                               (uint32_t         )\n"));
    141   err (_(" * table_dispatch                          [nb_ooo_engine][nb_inst_issue][nb_read_bloc] (bool             )\n"));
    142   err (_(" * link_read_bloc_and_load_store_unit      [nb_read_bloc][nb_load_store_unit]           (bool             )\n"));
    143   err (_(" * link_read_bloc_and_functionnal_unit     [nb_read_bloc][nb_functionnal_unit]          (bool             )\n"));
    144   err (_(" * link_write_bloc_and_load_store_unit     [nb_write_bloc][nb_load_store_unit]          (bool             )\n"));
    145   err (_(" * link_write_bloc_and_functionnal_unit    [nb_write_bloc][nb_functionnal_unit]         (bool             )\n"));
    146   err (_(" * link_load_store_unit_with_thread        [nb_thread]                                  (uint32_t         )\n"));
    147   err (_(" * link_thread_and_functionnal_unit        [nb_thread][nb_functionnal_unit]             (bool             )\n"));
    148   err (_(" * link_icache_port_with_thread            [nb_thread]                                  (uint32_t         )\n"));
    149   err (_(" * link_dcache_port_with_load_store_unit   [nb_load_store_unit][nb_cache_port]          (uint32_t         )\n"));
    150 
    151   err (_(" * dispatch_priority                                                                    (Tpriority_t      )\n"));
    152   err (_(" * dispatch_load_balancing                                                              (Tload_balancing_t)\n"));
     17  err (_(" * size_general_data                                                                    (uint32_t             )\n"));
     18  err (_(" * size_special_data                                                                    (uint32_t             )\n"));
     19//morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void),                                 
     20                                                                                                                       
     21  err (_(" * nb_thread                                                                            (uint32_t             )\n"));
     22  err (_(" * size_ifetch_queue                       [nb_thread]                                  (uint32_t             )\n"));
     23  err (_(" * nb_inst_fetch                           [nb_thread]                                  (uint32_t             )\n"));
     24//err (_(" * implement_group                         [nb_thread][NB_GROUP]                        (bool                 )\n"));
     25  err (_(" * ras_size_queue                          [nb_thread]                                  (uint32_t             )\n"));
     26  err (_(" * upt_size_queue                          [nb_thread]                                  (uint32_t             )\n"));
     27  err (_(" * ufpt_size_queue                         [nb_thread]                                  (uint32_t             )\n"));
     28                                                                                                                       
     29  err (_(" * nb_decod_bloc                                                                        (uint32_t             )\n"));
     30  err (_(" * size_decod_queue                        [nb_decod_bloc]                              (uint32_t             )\n"));
     31  err (_(" * decod_queue_scheme                      [nb_decod_bloc]                              (Tdecod_queue_scheme_t)\n"));
     32  err (_(" * nb_inst_decod                           [nb_decod_bloc]                              (uint32_t             )\n"));
     33  err (_(" * nb_context_select                       [nb_decod_bloc]                              (uint32_t             )\n"));
     34  err (_(" * context_select_priority                 [nb_decod_bloc]                              (Tpriority_t          )\n"));
     35  err (_(" * context_select_load_balancing           [nb_decod_bloc]                              (Tload_balancing_t    )\n"));
     36                                                                                                                       
     37  err (_(" * nb_rename_bloc                                                                       (uint32_t             )\n"));
     38  err (_(" * nb_inst_insert                          [nb_rename_bloc]                             (uint32_t             )\n"));
     39  err (_(" * nb_inst_retire                          [nb_rename_bloc]                             (uint32_t             )\n"));
     40  err (_(" * rename_select_priority                  [nb_rename_bloc]                             (Tpriority_t          )\n"));
     41  err (_(" * rename_select_load_balancing            [nb_rename_bloc]                             (Tload_balancing_t    )\n"));
     42  err (_(" * rename_select_nb_front_end_select       [nb_rename_bloc]                             (uint32_t             )\n"));
     43  err (_(" * nb_general_register                     [nb_rename_bloc]                             (uint32_t             )\n"));
     44  err (_(" * nb_special_register                     [nb_rename_bloc]                             (uint32_t             )\n"));
     45  err (_(" * nb_reg_free                             [nb_rename_bloc]                             (uint32_t             )\n"));
     46  err (_(" * nb_rename_unit_bank                     [nb_rename_bloc]                             (uint32_t             )\n"));
     47  err (_(" * size_read_counter                       [nb_rename_bloc]                             (uint32_t             )\n"));
     48                                                                                                                       
     49  err (_(" * nb_read_bloc                                                                         (uint32_t             )\n"));
     50  err (_(" * size_read_queue                         [nb_read_bloc]                               (uint32_t             )\n"));
     51  err (_(" * size_reservation_station                [nb_read_bloc]                               (uint32_t             )\n"));
     52  err (_(" * nb_inst_retire_reservation_station      [nb_read_bloc]                               (uint32_t             )\n"));
     53                                                                                                                       
     54  err (_(" * nb_write_bloc                                                                        (uint32_t             )\n"));
     55  err (_(" * size_write_queue                        [nb_write_bloc]                              (uint32_t             )\n"));
     56  err (_(" * size_execute_queue                      [nb_write_bloc]                              (uint32_t             )\n"));
     57  err (_(" * nb_bypass_write                         [nb_write_bloc]                              (uint32_t             )\n"));
     58                                                                                                                       
     59  err (_(" * nb_load_store_unit                                                                   (uint32_t             )\n"));
     60  err (_(" * size_store_queue                        [nb_load_store_unit]                         (uint32_t             )\n"));
     61  err (_(" * size_load_queue                         [nb_load_store_unit]                         (uint32_t             )\n"));
     62  err (_(" * size_speculative_access_queue           [nb_load_store_unit]                         (uint32_t             )\n"));
     63  err (_(" * nb_port_check                           [nb_load_store_unit]                         (uint32_t             )\n"));
     64  err (_(" * speculative_load                        [nb_load_store_unit]                         (Tspeculative_load    )\n"));
     65  err (_(" * nb_bypass_memory                        [nb_load_store_unit]                         (uint32_t             )\n"));
     66  err (_(" * nb_cache_port                           [nb_load_store_unit]                         (uint32_t             )\n"));
     67  err (_(" * nb_inst_memory                          [nb_load_store_unit]                         (uint32_t             )\n"));
     68                                                                                                                       
     69  err (_(" * nb_functionnal_unit                                                                  (uint32_t             )\n"));
     70  err (_(" * nb_inst_functionnal_unit                [nb_functionnal_unit]                        (uint32_t             )\n"));
     71//err (_(" * timing                                  [nb_functionnal_unit][nb_type][nb_operation] (execute_timing_t     )\n"));
     72                                                                                                                       
     73  err (_(" * nb_icache_port                                                                       (uint32_t             )\n"));
     74  err (_(" * icache_port_priority                                                                 (Tpriority_t          )\n"));
     75  err (_(" * icache_port_load_balancing                                                           (Tload_balancing_t    )\n"));
     76                                                                                                                       
     77  err (_(" * nb_dcache_port                                                                       (uint32_t             )\n"));
     78  err (_(" * dcache_port_priority                                                                 (Tpriority_t          )\n"));
     79  err (_(" * dcache_port_load_balancing                                                           (Tload_balancing_t    )\n"));
     80                                                                                                                       
     81  err (_(" * nb_front_end                                                                         (uint32_t             )\n"));
     82  err (_(" * nb_context                              [nb_front_end]                               (uint32_t             )\n"));
     83  err (_(" * nb_decod_unit                           [nb_front_end]                               (uint32_t             )\n"));
     84  err (_(" * nb_inst_branch_predict                  [nb_front_end]                               (uint32_t             )\n"));
     85  err (_(" * nb_inst_branch_decod                    [nb_front_end]                               (uint32_t             )\n"));
     86  err (_(" * nb_inst_branch_update                   [nb_front_end]                               (uint32_t             )\n"));
     87  err (_(" * btb_size_queue                          [nb_front_end]                               (uint32_t             )\n"));
     88  err (_(" * btb_associativity                       [nb_front_end]                               (uint32_t             )\n"));
     89  err (_(" * btb_size_counter                        [nb_front_end]                               (uint32_t             )\n"));
     90  err (_(" * btb_victim_scheme                       [nb_front_end]                               (Tvictim_t            )\n"));
     91  err (_(" * dir_predictor_scheme                    [nb_front_end]                               (Tpredictor_t         )\n"));
     92  err (_(" * dir_have_bht                            [nb_front_end][3]                            (bool                 )\n"));
     93  err (_(" * dir_bht_size_shifter                    [nb_front_end][3]                            (uint32_t             )\n"));
     94  err (_(" * dir_bht_nb_shifter                      [nb_front_end][3]                            (uint32_t             )\n"));
     95  err (_(" * dir_have_pht                            [nb_front_end][3]                            (bool                 )\n"));
     96  err (_(" * dir_pht_size_counter                    [nb_front_end][3]                            (uint32_t             )\n"));
     97  err (_(" * dir_pht_nb_counter                      [nb_front_end][3]                            (uint32_t             )\n"));
     98  err (_(" * dir_pht_size_address_share              [nb_front_end][3]                            (uint32_t             )\n"));
     99                                                                                                                       
     100  err (_(" * nb_ooo_engine                                                                        (uint32_t             )\n"));
     101  err (_(" * nb_rename_unit                          [nb_ooo_engine]                              (uint32_t             )\n"));
     102  err (_(" * nb_inst_issue                           [nb_ooo_engine]                              (uint32_t             )\n"));
     103  err (_(" * nb_inst_reexecute                       [nb_ooo_engine]                              (uint32_t             )\n"));
     104  err (_(" * nb_inst_commit                          [nb_ooo_engine]                              (uint32_t             )\n"));
     105  err (_(" * nb_inst_branch_complete                 [nb_ooo_engine]                              (uint32_t             )\n"));
     106  err (_(" * nb_rename_unit_select                   [nb_ooo_engine]                              (uint32_t             )\n"));
     107  err (_(" * nb_execute_loop_select                  [nb_ooo_engine]                              (uint32_t             )\n"));
     108  err (_(" * size_re_order_buffer                    [nb_ooo_engine]                              (uint32_t             )\n"));
     109  err (_(" * nb_re_order_buffer_bank                 [nb_ooo_engine]                              (uint32_t             )\n"));
     110  err (_(" * commit_priority                         [nb_ooo_engine]                              (Tpriority_t          )\n"));
     111  err (_(" * commit_load_balancing                   [nb_ooo_engine]                              (Tload_balancing_t    )\n"));
     112  err (_(" * size_issue_queue                        [nb_ooo_engine]                              (uint32_t             )\n"));
     113  err (_(" * issue_queue_scheme                      [nb_ooo_engine]                              (Tissue_queue_scheme_t)\n"));
     114  err (_(" * nb_issue_queue_bank                     [nb_ooo_engine]                              (uint32_t             )\n"));
     115  err (_(" * issue_priority                          [nb_ooo_engine]                              (Tpriority_t          )\n"));
     116  err (_(" * issue_load_balancing                    [nb_ooo_engine]                              (Tload_balancing_t    )\n"));
     117  err (_(" * size_reexecute_queue                    [nb_ooo_engine]                              (uint32_t             )\n"));
     118  err (_(" * reexecute_priority                      [nb_ooo_engine]                              (Tpriority_t          )\n"));
     119  err (_(" * reexecute_load_balancing                [nb_ooo_engine]                              (Tload_balancing_t    )\n"));
     120                                                                                                                       
     121  err (_(" * nb_execute_loop                                                                      (uint32_t             )\n"));
     122  err (_(" * nb_read_unit                            [nb_execute_loop]                            (uint32_t             )\n"));
     123  err (_(" * nb_execute_unit                         [nb_execute_loop]                            (uint32_t             )\n"));
     124  err (_(" * nb_write_unit                           [nb_execute_loop]                            (uint32_t             )\n"));
     125  err (_(" * nb_gpr_bank                             [nb_execute_loop]                            (uint32_t             )\n"));
     126  err (_(" * nb_gpr_port_read_by_bank                [nb_execute_loop]                            (uint32_t             )\n"));
     127  err (_(" * nb_gpr_port_write_by_bank               [nb_execute_loop]                            (uint32_t             )\n"));
     128  err (_(" * nb_spr_bank                             [nb_execute_loop]                            (uint32_t             )\n"));
     129  err (_(" * nb_spr_port_read_by_bank                [nb_execute_loop]                            (uint32_t             )\n"));
     130  err (_(" * nb_spr_port_write_by_bank               [nb_execute_loop]                            (uint32_t             )\n"));
     131  err (_(" * execution_unit_to_write_unit_priority   [nb_execute_loop]                            (Tpriority_t          )\n"));
     132  err (_(" * read_unit_to_execution_unit_priority    [nb_execute_loop]                            (Tpriority_t          )\n"));
     133                                                                                                                       
     134  err (_(" * link_context_with_thread                [nb_thread]                                  (pair_dual            )\n"));
     135  err (_(" * link_decod_unit_with_decod_bloc         [nb_decod_bloc]                              (pair_dual            )\n"));
     136  err (_(" * link_rename_unit_with_rename_bloc       [nb_rename_bloc]                             (pair_dual            )\n"));
     137  err (_(" * link_read_unit_with_read_bloc           [nb_read_bloc]                               (pair_dual            )\n"));
     138  err (_(" * link_write_unit_with_write_bloc         [nb_write_bloc]                              (pair_dual            )\n"));
     139  err (_(" * link_execute_unit_with_functionnal_unit [nb_functionnal_unit]                        (pair_dual            )\n"));
     140  err (_(" * link_execute_unit_with_load_store_unit  [nb_load_store_unit]                         (pair_dual            )\n"));
     141  err (_(" * link_decod_bloc_with_thread             [nb_thread]                                  (uint32_t             )\n"));
     142  err (_(" * link_rename_bloc_with_front_end         [nb_front_end]                               (uint32_t             )\n"));
     143  err (_(" * table_dispatch                          [nb_ooo_engine][nb_inst_issue][nb_read_bloc] (bool                 )\n"));
     144  err (_(" * link_read_bloc_and_load_store_unit      [nb_read_bloc][nb_load_store_unit]           (bool                 )\n"));
     145  err (_(" * link_read_bloc_and_functionnal_unit     [nb_read_bloc][nb_functionnal_unit]          (bool                 )\n"));
     146  err (_(" * link_write_bloc_and_load_store_unit     [nb_write_bloc][nb_load_store_unit]          (bool                 )\n"));
     147  err (_(" * link_write_bloc_and_functionnal_unit    [nb_write_bloc][nb_functionnal_unit]         (bool                 )\n"));
     148  err (_(" * link_load_store_unit_with_thread        [nb_thread]                                  (uint32_t             )\n"));
     149  err (_(" * link_thread_and_functionnal_unit        [nb_thread][nb_functionnal_unit]             (bool                 )\n"));
     150  err (_(" * link_icache_port_with_thread            [nb_thread]                                  (uint32_t             )\n"));
     151  err (_(" * link_dcache_port_with_load_store_unit   [nb_load_store_unit][nb_cache_port]          (uint32_t             )\n"));
     152                                                                                                                       
     153  err (_(" * dispatch_priority                                                                    (Tpriority_t          )\n"));
     154  err (_(" * dispatch_load_balancing                                                              (Tload_balancing_t    )\n"));
    153155  err (_("\n"));
    154156  err (_(" - pair_dual : first = x div 1000, second = x mod 1000\n"));
     
    189191  uint32_t                _nb_decod_bloc                                 ;//
    190192  uint32_t              * _size_decod_queue                              ;//[nb_decod_bloc]
     193  multi_front_end::front_end::decod_unit::decod_queue::Tdecod_queue_scheme_t
     194                        * _decod_queue_scheme                            ;//[nb_decod_bloc]
    191195  uint32_t              * _nb_inst_decod                                 ;//[nb_decod_bloc]
    192196  uint32_t              * _nb_context_select                             ;//[nb_decod_bloc]
     
    281285  Tload_balancing_t     * _commit_load_balancing                         ;//[nb_ooo_engine]
    282286  uint32_t              * _size_issue_queue                              ;//[nb_ooo_engine]
     287  multi_ooo_engine::ooo_engine::issue_queue::Tissue_queue_scheme_t
     288                        * _issue_queue_scheme                            ;//[nb_ooo_engine]
    283289  uint32_t              * _nb_issue_queue_bank                           ;//[nb_ooo_engine]
    284290  Tpriority_t           * _issue_priority                                ;//[nb_ooo_engine]
     
    354360  SELFTEST0(_nb_decod_bloc                                 ,uint32_t                ,argv,x);
    355361
    356   if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+5*_nb_decod_bloc))
     362  if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+6*_nb_decod_bloc))
    357363    usage (argc, argv);
    358364 
    359365  SELFTEST1(_size_decod_queue                              ,uint32_t                ,argv,x,_nb_decod_bloc);
     366  SELFTEST1(_decod_queue_scheme                            ,multi_front_end::front_end::decod_unit::decod_queue::Tdecod_queue_scheme_t,argv,x,_nb_decod_bloc);
    360367  SELFTEST1(_nb_inst_decod                                 ,uint32_t                ,argv,x,_nb_decod_bloc);
    361368  SELFTEST1(_nb_context_select                             ,uint32_t                ,argv,x,_nb_decod_bloc);
     
    367374  SELFTEST0(_nb_rename_bloc                                ,uint32_t                ,argv,x);
    368375
    369   if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+5*_nb_decod_bloc+10*_nb_rename_bloc))
     376  if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+6*_nb_decod_bloc+10*_nb_rename_bloc))
    370377    usage (argc, argv);
    371378 
     
    385392  SELFTEST0(_nb_read_bloc                                  ,uint32_t                ,argv,x);
    386393
    387   if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+5*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc))
     394  if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+6*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc))
    388395    usage (argc, argv);
    389396 
     
    396403  SELFTEST0(_nb_write_bloc                                 ,uint32_t                ,argv,x);
    397404
    398   if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+5*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc))
     405  if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+6*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc))
    399406    usage (argc, argv);
    400407 
     
    407414  SELFTEST0(_nb_load_store_unit                            ,uint32_t                ,argv,x);
    408415
    409   if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+5*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit))
     416  if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+6*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit))
    410417    usage (argc, argv);
    411418 
     
    424431  SELFTEST0(_nb_functionnal_unit                           ,uint32_t                ,argv,x);
    425432
    426   if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+5*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit+1*_nb_functionnal_unit))
     433  if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+6*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit+1*_nb_functionnal_unit))
    427434    usage (argc, argv);
    428435 
     
    467474  SELFTEST0(_nb_front_end                                  ,uint32_t                ,argv,x);
    468475
    469   if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+5*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit+1*_nb_functionnal_unit+31*_nb_front_end))
     476  if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+6*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit+1*_nb_functionnal_unit+31*_nb_front_end))
    470477    usage (argc, argv);
    471478 
     
    494501  SELFTEST0(_nb_ooo_engine                                 ,uint32_t                ,argv,x);
    495502 
    496   if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+5*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit+1*_nb_functionnal_unit+31*_nb_front_end+18*_nb_ooo_engine))
     503  if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+6*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit+1*_nb_functionnal_unit+31*_nb_front_end+19*_nb_ooo_engine))
    497504    usage (argc, argv);
    498505 
     
    509516  SELFTEST1(_commit_load_balancing                         ,Tload_balancing_t       ,argv,x,_nb_ooo_engine);
    510517  SELFTEST1(_size_issue_queue                              ,uint32_t                ,argv,x,_nb_ooo_engine);
     518  SELFTEST1(_issue_queue_scheme                            ,multi_ooo_engine::ooo_engine::issue_queue::Tissue_queue_scheme_t,argv,x,_nb_ooo_engine);
    511519  SELFTEST1(_nb_issue_queue_bank                           ,uint32_t                ,argv,x,_nb_ooo_engine);
    512520  SELFTEST1(_issue_priority                                ,Tpriority_t             ,argv,x,_nb_ooo_engine);
     
    521529  SELFTEST0(_nb_execute_loop                               ,uint32_t                ,argv,x);
    522530
    523   if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+5*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit+1*_nb_functionnal_unit+31*_nb_front_end+18*_nb_ooo_engine+11*_nb_execute_loop))
     531  if (argc < static_cast<int>(2+NB_PARAMS+5*_nb_thread+6*_nb_decod_bloc+10*_nb_rename_bloc+3*_nb_read_bloc+3*_nb_write_bloc+8*_nb_load_store_unit+1*_nb_functionnal_unit+31*_nb_front_end+19*_nb_ooo_engine+11*_nb_execute_loop))
    524532    usage (argc, argv);
    525533 
     
    539547  printf(" * Link\n");
    540548
    541   if (argc < static_cast<int>(2+NB_PARAMS+6*_nb_thread+6*_nb_decod_bloc+11*_nb_rename_bloc+4*_nb_read_bloc+4*_nb_write_bloc+9*_nb_load_store_unit+2*_nb_functionnal_unit+31*_nb_front_end+18*_nb_ooo_engine+11*_nb_execute_loop))
     549  if (argc < static_cast<int>(2+NB_PARAMS+6*_nb_thread+6*_nb_decod_bloc+11*_nb_rename_bloc+4*_nb_read_bloc+4*_nb_write_bloc+9*_nb_load_store_unit+2*_nb_functionnal_unit+31*_nb_front_end+19*_nb_ooo_engine+11*_nb_execute_loop))
    542550    usage (argc, argv);
    543551 
     
    593601    _sum_cache_port += _nb_cache_port[i];
    594602 
    595   if (argc != static_cast<int>(2+NB_PARAMS+6*_nb_thread+6*_nb_decod_bloc+11*_nb_rename_bloc+4*_nb_read_bloc+4*_nb_write_bloc+9*_nb_load_store_unit+2*_nb_functionnal_unit+31*_nb_front_end+18*_nb_ooo_engine+11*_nb_execute_loop+
     603  if (argc != static_cast<int>(2+NB_PARAMS+6*_nb_thread+6*_nb_decod_bloc+11*_nb_rename_bloc+4*_nb_read_bloc+4*_nb_write_bloc+9*_nb_load_store_unit+2*_nb_functionnal_unit+31*_nb_front_end+19*_nb_ooo_engine+11*_nb_execute_loop+
    596604                               3*_nb_thread+_nb_front_end+_sum_inst_issue*_nb_read_bloc+_nb_load_store_unit*(_nb_read_bloc+_nb_write_bloc+_nb_thread)+_nb_functionnal_unit*(_nb_read_bloc+_nb_write_bloc)+_sum_cache_port))
    597605    usage (argc, argv);
     
    633641         _nb_decod_bloc                                 ,
    634642         _size_decod_queue                              ,
     643         _decod_queue_scheme                            ,
    635644         _nb_inst_decod                                 ,
    636645         _nb_context_select                             ,
     
    714723         _commit_load_balancing                         ,
    715724         _size_issue_queue                              ,
     725         _issue_queue_scheme                            ,
    716726         _nb_issue_queue_bank                           ,
    717727         _issue_priority                                ,
Note: See TracChangeset for help on using the changeset viewer.