source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters.cpp @ 146

Last change on this file since 146 was 146, checked in by rosiere, 13 years ago

1) Integration of RegisterFile_Internal_Banked in RegisterFile?
2) Erase "read_write" interface in RegisterFile_Monolithic component
3) Add smith predictor parameters in Load_store_pointer_unit.
4) Fix not statistics flags

  • Property svn:keywords set to Id
File size: 3.2 KB
Line 
1/*
2 * $Id: Parameters.cpp 146 2011-02-01 20:57:54Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Generic/RegisterFile/include/Parameters.h"
9
10namespace morpheo {
11namespace behavioural {
12namespace generic {
13namespace registerfile {
14
15
16  Parameters::Parameters (morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::Parameters * param)
17  {
18    log_printf(FUNC,RegisterFile,"Parameters","Begin");
19
20    _instance          = instance_RegisterFile_Monolithic;
21    _nb_port_read      = param->_nb_port_read ;
22    _nb_port_write     = param->_nb_port_write;
23    _nb_word           = param->_nb_word      ; 
24    _size_word         = param->_size_word    ; 
25    _size_address      = param->_size_address ;
26    _have_port_address = param->_have_port_address;
27
28    _param_registerfile_monolithic      = param;
29    _param_registerfile_internal_banked = NULL;
30    _param_registerfile_multi_banked    = NULL;
31
32    test();
33
34    log_printf(FUNC,RegisterFile,"Parameters","End");
35  };
36
37  Parameters::Parameters (morpheo::behavioural::generic::registerfile::registerfile_internal_banked  ::Parameters * param)
38  {
39    log_printf(FUNC,RegisterFile,"Parameters","Begin");
40
41    _instance          = instance_RegisterFile_Internal_Banked;
42    _nb_port_read      = param->_nb_port_read ;
43    _nb_port_write     = param->_nb_port_write;
44    _nb_word           = param->_nb_word      ; 
45    _size_word         = param->_size_word    ; 
46    _size_address      = param->_size_address ;
47    _have_port_address = param->_have_port_address;
48
49    _param_registerfile_monolithic      = NULL;
50    _param_registerfile_internal_banked = param;
51    _param_registerfile_multi_banked    = NULL;
52
53    test();
54
55    log_printf(FUNC,RegisterFile,"Parameters","End");
56  };
57
58  Parameters::Parameters (morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters * param) :
59    _instance (instance_RegisterFile_Multi_Banked),
60    _nb_port_read      (param->_nb_port_read ),
61    _nb_port_write     (param->_nb_port_write),
62    _nb_word           (param->_nb_word      ), 
63    _size_word         (param->_size_word    ), 
64    _size_address      (param->_size_address ),
65    _have_port_address (param->_have_port_address)
66  {
67    log_printf(FUNC,RegisterFile,"Parameters","Begin");
68
69    _param_registerfile_monolithic      = NULL;
70    _param_registerfile_internal_banked = NULL;
71    _param_registerfile_multi_banked    = param;
72
73    test();
74
75    log_printf(FUNC,RegisterFile,"Parameters","End");
76  };
77 
78  Parameters::~Parameters () 
79  {
80    log_printf(FUNC,RegisterFile,"~Parameters","Begin");
81    log_printf(FUNC,RegisterFile,"~Parameters","End");
82  };
83
84  void Parameters::copy (void) 
85  {
86    log_printf(FUNC,RegisterFile,"copy","Begin");
87
88    throw ERRORMORPHEO("RegisterFile::copy",_("Invalid copy"));
89
90//     if (_instance == instance_RegisterFile_Monolithic)
91//       COPY(_param_registerfile_monolithic);
92//     if (_instance == instance_RegisterFile_Internal_Banked)
93//       COPY(_param_registerfile_internal_banked);
94//     if (_instance == instance_RegisterFile_Multi_Banked)
95//       COPY(_param_registerfile_multi_banked);
96   
97    log_printf(FUNC,RegisterFile,"copy","End");
98  };
99
100}; // end namespace registerfile
101}; // end namespace generic
102}; // end namespace behavioural
103}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.