source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Parameters.cpp @ 88

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

Almost complete design
with Test and test platform

  • Property svn:keywords set to Id
File size: 3.1 KB
Line 
1/*
2 * $Id: Parameters.cpp 88 2008-12-10 18:31:39Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h"
9
10namespace morpheo {
11namespace behavioural {
12namespace core {
13namespace multi_execute_loop {
14namespace execute_loop {
15namespace register_unit {
16namespace register_unit_glue {
17
18
19#undef  FUNCTION
20#define FUNCTION "Register_unit_Glue::Parameters"
21  Parameters::Parameters (uint32_t   nb_ooo_engine        ,
22                          uint32_t   size_general_data    ,
23                          uint32_t   size_special_data    ,
24                          uint32_t   nb_gpr_read          ,
25                          uint32_t   nb_spr_read          ,   
26                          uint32_t   nb_gpr_write         ,
27                          uint32_t   nb_spr_write         ,
28                          uint32_t * nb_inst_insert_rob   ,
29                          uint32_t * nb_inst_retire_rob   ,
30                          bool       is_toplevel          )
31  {
32    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
33   
34    _nb_ooo_engine           = nb_ooo_engine     ;
35    _nb_gpr_read             = nb_gpr_read       ;
36    _nb_spr_read             = nb_spr_read       ;   
37    _nb_gpr_write            = nb_gpr_write      ;
38    _nb_spr_write            = nb_spr_write      ;
39    _nb_inst_insert_rob      = nb_inst_insert_rob;
40    _nb_inst_retire_rob      = nb_inst_retire_rob;
41
42    test();
43
44    if (is_toplevel)
45      {
46        _size_ooo_engine_id      = log2(nb_ooo_engine);
47        _size_general_data       = size_general_data ;
48        _size_special_data       = size_special_data ;
49       
50        _have_port_ooo_engine_id = _size_ooo_engine_id > 0;
51
52        copy();
53      }
54
55    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
56  };
57 
58// #undef  FUNCTION
59// #define FUNCTION "Register_unit_Glue::Parameters (copy)"
60//   Parameters::Parameters (Parameters & param):
61//     _nb_ooo_engine        (param._nb_ooo_engine    ),
62//     _size_general_data    (param._size_general_data),
63//     _size_special_data    (param._size_special_data),
64//     _nb_gpr_read          (param._nb_gpr_read      ),
65//     _nb_spr_read          (param._nb_spr_read      ),   
66//     _nb_gpr_write         (param._nb_gpr_write     ),
67//     _nb_spr_write         (param._nb_spr_write     ),
68//     _nb_inst_insert_rob   (param._nb_inst_insert_rob),
69//     _nb_inst_retire_rob   (param._nb_inst_retire_rob),
70//     _have_port_ooo_engine_id (param._have_port_ooo_engine_id)
71//   {
72//     log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
73//     test();
74//     log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
75//   };
76
77#undef  FUNCTION
78#define FUNCTION "Register_unit_Glue::~Parameters"
79  Parameters::~Parameters (void) 
80  {
81    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
82    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
83  };
84
85#undef  FUNCTION
86#define FUNCTION "Register_unit_Glue::copy"
87  void Parameters::copy (void) 
88  {
89    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
90    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
91  };
92
93}; // end namespace register_unit_glue
94}; // end namespace register_unit
95}; // end namespace execute_loop
96}; // end namespace multi_execute_loop
97}; // end namespace core
98
99}; // end namespace behavioural
100}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.