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

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

1) Add new algo in ifetch queue
2) Add Cancel bit
3) new config

  • Property svn:keywords set to Id
File size: 3.2 KB
Line 
1/*
2 * $Id: Parameters.cpp 136 2009-10-20 18:52:15Z 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_issue        ,
29//                        uint32_t * nb_inst_insert_rob   ,
30//                        uint32_t * nb_inst_retire_rob   ,
31                          bool       is_toplevel          )
32  {
33    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
34   
35    _nb_ooo_engine           = nb_ooo_engine     ;
36    _nb_gpr_read             = nb_gpr_read       ;
37    _nb_spr_read             = nb_spr_read       ;   
38    _nb_gpr_write            = nb_gpr_write      ;
39    _nb_spr_write            = nb_spr_write      ;
40    _nb_inst_issue           = nb_inst_issue     ;
41//     _nb_inst_insert_rob      = nb_inst_insert_rob;
42//     _nb_inst_retire_rob      = nb_inst_retire_rob;
43
44    test();
45
46    if (is_toplevel)
47      {
48        _size_ooo_engine_id      = log2(nb_ooo_engine);
49        _size_general_data       = size_general_data ;
50        _size_special_data       = size_special_data ;
51       
52        _have_port_ooo_engine_id = _size_ooo_engine_id > 0;
53
54        copy();
55      }
56
57    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
58  };
59 
60// #undef  FUNCTION
61// #define FUNCTION "Register_unit_Glue::Parameters (copy)"
62//   Parameters::Parameters (Parameters & param):
63//     _nb_ooo_engine        (param._nb_ooo_engine    ),
64//     _size_general_data    (param._size_general_data),
65//     _size_special_data    (param._size_special_data),
66//     _nb_gpr_read          (param._nb_gpr_read      ),
67//     _nb_spr_read          (param._nb_spr_read      ),   
68//     _nb_gpr_write         (param._nb_gpr_write     ),
69//     _nb_spr_write         (param._nb_spr_write     ),
70//     _nb_inst_insert_rob   (param._nb_inst_insert_rob),
71//     _nb_inst_retire_rob   (param._nb_inst_retire_rob),
72//     _have_port_ooo_engine_id (param._have_port_ooo_engine_id)
73//   {
74//     log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
75//     test();
76//     log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
77//   };
78
79#undef  FUNCTION
80#define FUNCTION "Register_unit_Glue::~Parameters"
81  Parameters::~Parameters (void) 
82  {
83    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
84    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
85  };
86
87#undef  FUNCTION
88#define FUNCTION "Register_unit_Glue::copy"
89  void Parameters::copy (void) 
90  {
91    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
92    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
93  };
94
95}; // end namespace register_unit_glue
96}; // end namespace register_unit
97}; // end namespace execute_loop
98}; // end namespace multi_execute_loop
99}; // end namespace core
100
101}; // end namespace behavioural
102}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.