source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h @ 124

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

1) Add test and configuration
2) Fix Bug
3) Add log file in load store unit
4) Fix Bug in environment

  • Property svn:keywords set to Id
File size: 3.1 KB
Line 
1#ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Parameters_h
2#define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Parameters_h
3
4/*
5 * $Id: Parameters.h 124 2009-06-17 12:11:25Z rosiere $
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Common/include/Debug.h"
12#include "Behavioural/include/Parameters.h"
13#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h"
14#include <math.h>
15
16namespace morpheo {
17namespace behavioural {
18namespace generic {
19namespace registerfile {
20namespace registerfile_multi_banked {
21
22
23  class Parameters : public morpheo::behavioural::Parameters
24  {
25    //-----[ fields ]------------------------------------------------------------
26  public : const uint32_t    _nb_port_read         ; // Global read  port
27  public : const uint32_t    _nb_port_write        ; // Global write port
28  public : const uint32_t    _nb_word              ;
29  public : const uint32_t    _size_word            ;
30  public : const uint32_t    _nb_bank              ; // Number of bank (All bank is identical)
31  public : const uint32_t    _nb_port_read_by_bank ; // Local  read  port
32  public : const uint32_t    _nb_port_write_by_bank; // Local  write port
33  public : const Tcrossbar_t _crossbar             ;
34  public : const bool        _have_init_value;
35  public : const std::string _init_value;
36
37  public : const uint32_t    _size_address         ;
38  public : const uint32_t    _size_address_by_bank ;
39
40  public : const uint32_t    _bank_shift           ;
41  public : const Taddress_t  _bank_mask            ;
42  public : const uint32_t    _num_reg_shift        ;
43  public : const Taddress_t  _num_reg_mask         ;
44
45  public : const uint32_t    _nb_word_by_bank      ;
46
47  public : const bool        _have_port_address     ;
48  public : const bool        _have_bank_port_address;
49
50    // A lot of table to the partial crossbar
51  public :       uint32_t  * _link_port_read_to_bank_read  ;
52//public :       uint32_t  * _link_port_read_to_num_bank   ;
53  public :       uint32_t  * _link_port_write_to_bank_write;
54//public :       uint32_t  * _link_port_write_to_num_bank  ;
55
56    //-----[ methods ]-----------------------------------------------------------
57  public : Parameters  (uint32_t    nb_port_read         ,
58                        uint32_t    nb_port_write        ,
59                        uint32_t    nb_word              ,
60                        uint32_t    size_word            ,
61                        uint32_t    nb_bank              ,
62                        uint32_t    nb_port_read_by_bank ,
63                        uint32_t    nb_port_write_by_bank,
64                        Tcrossbar_t crossbar             ,
65                        std::string init_value=""        );
66//   public : Parameters  (Parameters & param) ;
67  public : ~Parameters () ;
68
69  public :        void            copy       (void);
70
71  public :        Parameters_test msg_error  (void);
72
73  public :        std::string     print      (uint32_t depth);
74  public : friend std::ostream&   operator<< (std::ostream& output_stream,
75                                              morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters & x);
76  };
77
78}; // end namespace registerfile_multi_banked
79}; // end namespace registerfile
80}; // end namespace generic
81}; // end namespace behavioural
82}; // end namespace morpheo             
83
84#endif
Note: See TracBrowser for help on using the repository browser.