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

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

New component : Read_unit (instance between a write queue and a optionnal execute_queue)

File size: 4.6 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              (param._size_queue             ),
73    _nb_context              (param._nb_context             ),
74    _nb_front_end            (param._nb_front_end           ),
75    _nb_ooo_engine           (param._nb_ooo_engine          ),
76    _nb_packet               (param._nb_packet              ),
77    _size_general_data       (param._size_general_data      ),
78    _nb_general_register     (param._nb_general_register    ),
79    _size_special_data       (param._size_special_data      ),
80    _nb_special_register     (param._nb_special_register    ),
81    _nb_operation            (param._nb_operation           ),
82    _nb_type                 (param._nb_type                ),
83    _nb_bypass_write         (param._nb_bypass_write        ),
84
85    _nb_gpr_write            (param._nb_gpr_write           ),
86    _nb_spr_write            (param._nb_spr_write           ),
87
88    _size_context_id         (param._size_context_id        ),
89    _size_front_end_id       (param._size_front_end_id      ),
90    _size_ooo_engine_id      (param._size_ooo_engine_id     ),
91    _size_packet_id          (param._size_packet_id         ),
92    _size_general_register   (param._size_general_register  ),
93    _size_special_register   (param._size_special_register  ),
94    _size_operation          (param._size_operation         ),
95    _size_type               (param._size_type              ),
96
97    _have_port_context_id    (param._have_port_context_id   ),
98    _have_port_front_end_id  (param._have_port_front_end_id ),
99    _have_port_ooo_engine_id (param._have_port_ooo_engine_id),
100    _have_port_packet_id     (param._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.