source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Parameters.cpp @ 81

Last change on this file since 81 was 81, checked in by rosiere, 16 years ago
  • Finish Environment (and test)
  • Continue predictor_unit
  • Add external tools
  • svn keyword "Id" set
  • Property svn:keywords set to Id
File size: 3.1 KB
Line 
1/*
2 * $Id: Parameters.cpp 81 2008-04-15 18:40:01Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/include/Parameters.h"
9#include "Common/include/Max.h"
10
11namespace morpheo {
12namespace behavioural {
13namespace core {
14namespace multi_ooo_engine {
15namespace ooo_engine {
16namespace rename_unit {
17namespace load_store_pointer_unit {
18
19
20#undef  FUNCTION
21#define FUNCTION "Load_Store_pointer_unit::Parameters"
22  Parameters::Parameters (uint32_t    nb_front_end                    ,
23                          uint32_t  * nb_context                      ,
24                          uint32_t    nb_load_store_queue             ,
25                          uint32_t  * size_store_queue                ,
26                          uint32_t  * size_load_queue                 ,
27                          uint32_t ** link_load_store_unit_with_thread,
28                          uint32_t    nb_inst_insert                  ,
29                          uint32_t    nb_inst_retire                  )
30  {
31    log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"Begin");
32
33    _nb_front_end                     = nb_front_end                    ;
34    _nb_context                       = nb_context                      ;
35    _nb_load_store_queue              = nb_load_store_queue             ;
36    _size_store_queue                 = size_store_queue                ;
37    _size_load_queue                  = size_load_queue                 ;
38    _link_load_store_unit_with_thread = link_load_store_unit_with_thread;
39    _nb_inst_insert                   = nb_inst_insert                  ;
40    _nb_inst_retire                   = nb_inst_retire                  ;
41   
42    uint32_t max_nb_context       = max<uint32_t>(nb_context,       nb_front_end);
43    uint32_t max_size_store_queue = max<uint32_t>(size_store_queue, nb_load_store_queue);
44    uint32_t max_size_load_queue  = max<uint32_t>(size_load_queue,  nb_load_store_queue);
45
46    _size_front_end_id                = log2(nb_front_end        );
47    _size_context_id                  = log2(max_nb_context      );
48    _size_store_queue_ptr             = log2(max_size_store_queue);
49    _size_load_queue_ptr              = log2(max_size_load_queue );
50    _have_port_front_end_id           = (_size_front_end_id   > 0);
51    _have_port_context_id             = (_size_context_id     > 0);
52    _have_port_load_queue_ptr         = (_size_load_queue_ptr > 0);
53   
54    test();
55    log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"End");
56  };
57 
58// #undef  FUNCTION
59// #define FUNCTION "Load_Store_pointer_unit::Parameters (copy)"
60//   Parameters::Parameters (Parameters & param)
61//   {
62//     log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"Begin");
63//     test();
64//     log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"End");
65//   };
66
67#undef  FUNCTION
68#define FUNCTION "Load_Store_pointer_unit::~Parameters"
69  Parameters::~Parameters () 
70  {
71    log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"Begin");
72    log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"End");
73  };
74
75}; // end namespace load_store_pointer_unit
76}; // end namespace rename_unit
77}; // end namespace ooo_engine
78}; // end namespace multi_ooo_engine
79}; // end namespace core
80
81}; // end namespace behavioural
82}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.