source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Parameters.cpp @ 73

Last change on this file since 73 was 73, checked in by rosiere, 16 years ago

add two component :

  • Write Queue (in Moore version)
  • Execute Queue

add macro to help the interface allocation : Allocation.h

File size: 4.5 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Parameters.h"
9
10namespace morpheo {
11namespace behavioural {
12namespace core {
13namespace multi_execute_loop {
14namespace execute_loop {
15namespace multi_write_unit {
16namespace write_unit {
17namespace write_queue {
18
19
20#undef  FUNCTION
21#define FUNCTION "Write_queue::Parameters"
22  Parameters::Parameters (uint32_t size_queue         ,
23                          uint32_t nb_context         ,
24                          uint32_t nb_front_end       ,
25                          uint32_t nb_ooo_engine      ,
26                          uint32_t nb_packet          ,
27                          uint32_t size_general_data  ,
28                          uint32_t nb_general_register,
29                          uint32_t size_special_data  ,
30                          uint32_t nb_special_register,
31                          uint32_t nb_operation       ,
32                          uint32_t nb_type            ,
33                          uint32_t nb_bypass_write    ):
34    _size_queue              (size_queue         ),
35    _nb_context              (nb_context         ),
36    _nb_front_end            (nb_front_end       ),
37    _nb_ooo_engine           (nb_ooo_engine      ),
38    _nb_packet               (nb_packet          ),
39    _size_general_data       (size_general_data  ),
40    _nb_general_register     (nb_general_register),
41    _size_special_data       (size_special_data  ),
42    _nb_special_register     (nb_special_register),
43    _nb_operation            (nb_operation       ),
44    _nb_type                 (nb_type            ),
45    _nb_bypass_write         (nb_bypass_write    ),
46
47    _nb_gpr_write            (1),
48    _nb_spr_write            (1),
49
50    _size_context_id         (log2(_nb_context         )),
51    _size_front_end_id       (log2(_nb_front_end       )),
52    _size_ooo_engine_id      (log2(_nb_ooo_engine      )),
53    _size_packet_id          (log2(_nb_packet          )),
54    _size_general_register   (log2(_nb_general_register)),
55    _size_special_register   (log2(_nb_special_register)),
56    _size_operation          (log2(_nb_operation       )),
57    _size_type               (log2(_nb_type            )),
58
59    _have_port_context_id    (_size_context_id    > 0),
60    _have_port_front_end_id  (_size_front_end_id  > 0),
61    _have_port_ooo_engine_id (_size_ooo_engine_id > 0),
62    _have_port_packet_id     (_size_packet_id     > 0)
63  {
64    log_printf(FUNC,Write_queue,FUNCTION,"Begin");
65    test();
66    log_printf(FUNC,Write_queue,FUNCTION,"End");
67  };
68 
69#undef  FUNCTION
70#define FUNCTION "Write_queue::Parameters (copy)"
71  Parameters::Parameters (Parameters & param):
72    _size_queue              (_size_queue             ),
73    _nb_context              (_nb_context             ),
74    _nb_front_end            (_nb_front_end           ),
75    _nb_ooo_engine           (_nb_ooo_engine          ),
76    _nb_packet               (_nb_packet              ),
77    _size_general_data       (_size_general_data      ),
78    _nb_general_register     (_nb_general_register    ),
79    _size_special_data       (_size_special_data      ),
80    _nb_special_register     (_nb_special_register    ),
81    _nb_operation            (_nb_operation           ),
82    _nb_type                 (_nb_type                ),
83    _nb_bypass_write         (_nb_bypass_write        ),
84
85    _nb_gpr_write            (_nb_gpr_write           ),
86    _nb_spr_write            (_nb_spr_write           ),
87
88    _size_context_id         (_size_context_id        ),
89    _size_front_end_id       (_size_front_end_id      ),
90    _size_ooo_engine_id      (_size_ooo_engine_id     ),
91    _size_packet_id          (_size_packet_id         ),
92    _size_general_register   (_size_general_register  ),
93    _size_special_register   (_size_special_register  ),
94    _size_operation          (_size_operation         ),
95    _size_type               (_size_type              ),
96
97    _have_port_context_id    (_have_port_context_id   ),
98    _have_port_front_end_id  (_have_port_front_end_id ),
99    _have_port_ooo_engine_id (_have_port_ooo_engine_id),
100    _have_port_packet_id     (_have_port_packet_id    )
101  {
102    log_printf(FUNC,Write_queue,FUNCTION,"Begin");
103    test();
104    log_printf(FUNC,Write_queue,FUNCTION,"End");
105  };
106
107#undef  FUNCTION
108#define FUNCTION "Write_queue::~Parameters"
109  Parameters::~Parameters () 
110  {
111    log_printf(FUNC,Write_queue,FUNCTION,"Begin");
112    log_printf(FUNC,Write_queue,FUNCTION,"End");
113  };
114
115}; // end namespace write_queue
116}; // end namespace write_unit
117}; // end namespace multi_write_unit
118}; // end namespace execute_loop
119}; // end namespace multi_execute_loop
120}; // end namespace core
121
122}; // end namespace behavioural
123}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.