source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Parameters.h @ 124

Last change on this file since 124 was 124, checked in by rosiere, 15 years ago

1) Add test and configuration
2) Fix Bug
3) Add log file in load store unit
4) Fix Bug in environment

  • Property svn:keywords set to Id
File size: 5.2 KB
Line 
1#ifndef morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_execute_unit_execute_unit_load_store_unit_Parameters_h
2#define morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_execute_unit_execute_unit_load_store_unit_Parameters_h
3
4/*
5 * $Id: Parameters.h 124 2009-06-17 12:11:25Z rosiere $
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Types.h"
12#include "Common/include/Debug.h"
13#include "Behavioural/include/Parameters.h"
14#include "Common/include/BitManipulation.h"
15#include <math.h>
16
17namespace morpheo {
18namespace behavioural {
19namespace core {
20namespace multi_execute_loop {
21namespace execute_loop {
22namespace multi_execute_unit {
23namespace execute_unit {
24namespace load_store_unit {
25
26  class Parameters : public morpheo::behavioural::Parameters
27  {
28    //-----[ fields ]------------------------------------------------------------
29  public : uint32_t            _size_store_queue             ;
30  public : uint32_t            _size_load_queue              ;
31  public : uint32_t            _size_speculative_access_queue;
32  public : uint32_t            _nb_port_check                ;
33  public : Tspeculative_load_t _speculative_load             ;
34  public : uint32_t            _nb_bypass_memory             ;
35  public : uint32_t            _nb_cache_port                ;
36  public : uint32_t            _nb_inst_memory               ;
37  public : uint32_t            _nb_context                   ;
38  public : uint32_t            _nb_front_end                 ;
39  public : uint32_t            _nb_ooo_engine                ;
40  public : uint32_t            _nb_packet                    ;
41//public : uint32_t            _size_general_data            ;
42//public : uint32_t            _size_special_data            ;
43  public : uint32_t            _nb_general_register          ;
44  public : uint32_t            _nb_special_register          ;
45  public : uint32_t            _nb_thread                    ;
46  public : bool              * _num_thread_valid             ; //[nb_thread]
47
48//public : uint32_t            _size_address_store_queue             ;
49//public : uint32_t            _size_address_load_queue              ;
50  public : uint32_t            _size_speculative_access_queue_ptr    ;
51//public : uint32_t            _size_context_id                      ;
52//public : uint32_t            _size_front_end_id                    ;
53//public : uint32_t            _size_ooo_engine_id                   ;
54//public : uint32_t            _size_packet_id                       ;
55//public : uint32_t            _size_general_register                ;
56//public : uint32_t            _size_special_register                ;
57  public : uint32_t            _size_dcache_context_id               ;
58  public : uint32_t            _size_dcache_packet_id                ;
59
60//public : bool                _have_port_context_id                 ;
61//public : bool                _have_port_front_end_id               ;
62//public : bool                _have_port_ooo_engine_id              ;
63//public : bool                _have_port_packet_id                  ;
64  public : bool                _have_port_dcache_context_id          ;
65//public : bool                _have_port_load_queue_ptr             ;
66
67  public : Tdcache_address_t   _mask_address_lsb                     ;
68  public : Tdcache_address_t   _mask_address_msb                     ;
69  public : Tdcache_address_t   _mask_check_hit_byte                  ;
70
71    //-----[ methods ]-----------------------------------------------------------
72  public : Parameters  (uint32_t            size_store_queue       ,
73                        uint32_t            size_load_queue        ,
74                        uint32_t            size_speculative_access_queue,
75                        uint32_t            nb_port_check          ,
76                        Tspeculative_load_t speculative_load       ,
77                        uint32_t            nb_bypass_memory       ,
78                        uint32_t            nb_cache_port          ,
79                        uint32_t            nb_inst_memory         ,
80                        uint32_t            nb_context             ,
81                        uint32_t            nb_front_end           ,
82                        uint32_t            nb_ooo_engine          ,
83                        uint32_t            nb_packet              ,
84                        uint32_t            size_general_data      ,
85                        uint32_t            size_special_data      ,
86                        uint32_t            nb_general_register    ,
87                        uint32_t            nb_special_register    ,
88                        uint32_t            nb_thread              ,
89                        bool              * num_thread_valid       , //[nb_thread]
90                        bool                is_toplevel=false);
91
92//   public : Parameters  (Parameters & param) ;
93
94  public : ~Parameters () ;
95
96  public : void            copy      (void);
97
98  public : Parameters_test msg_error (void);
99
100  public :        std::string   print      (uint32_t depth);
101  public : friend std::ostream& operator<< (std::ostream& output_stream,
102                                            morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::load_store_unit::Parameters & x);
103  };
104
105}; // end namespace load_store_unit
106}; // end namespace execute_unit
107}; // end namespace multi_execute_unit
108}; // end namespace execute_loop
109}; // end namespace multi_execute_loop
110}; // end namespace core
111}; // end namespace behavioural
112}; // end namespace morpheo             
113
114#endif
Note: See TracBrowser for help on using the repository browser.