Ignore:
Timestamp:
Apr 5, 2007, 4:17:30 PM (17 years ago)
Author:
rosiere
Message:

Interface normalisé
Début du banc de registres multi niveaux

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h

    r10 r15  
    1 #ifndef morpheo_behavioural_generic_registerfile_multi_banked_registerfile_multi_banked_glue_Parameters_h
    2 #define morpheo_behavioural_generic_registerfile_multi_banked_registerfile_multi_banked_glue_Parameters_h
     1#ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_Parameters_h
     2#define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_Parameters_h
    33
    44/*
     
    1010
    1111#include "Include/Debug.h"
     12#include "Include/FromString.h"
    1213#include "Behavioural/include/Parameters.h"
    1314#include <math.h>
    1415
    1516namespace morpheo {
     17
     18  typedef enum {PARTIAL_CROSSBAR,
     19                FULL_CROSSBAR   } Tcrossbar_t;
     20
     21  template<> inline Tcrossbar_t fromString<Tcrossbar_t> (const std::string& x)
     22  {
     23    if ( (x.compare("0")                == 0) or
     24         (x.compare("PARTIAL_CROSSBAR") == 0))
     25      return PARTIAL_CROSSBAR;
     26    if ( (x.compare("1")                == 0) or
     27         (x.compare("FULL_CROSSBAR"   ) == 0))
     28      return FULL_CROSSBAR;
     29
     30    throw (ErrorMorpheo ("<fromString> : Unknow string : \""+x+"\""));
     31  }
     32 
     33  template<> inline std::string toString<Tcrossbar_t>   (const Tcrossbar_t& x)
     34  {
     35    ostringstream out;
     36
     37    if (x == PARTIAL_CROSSBAR)
     38      out << "PARTIAL_CROSSBAR";
     39    if (x == FULL_CROSSBAR)
     40      out << "FULL_CROSSBAR";
     41
     42    return out.str();
     43  }
     44
    1645namespace behavioural {
    1746namespace generic {
     47namespace registerfile{
    1848namespace registerfile_multi_banked {
    1949namespace registerfile_multi_banked_glue {
    20 
    21 
     50     
    2251  class Parameters : public morpheo::behavioural::Parameters
    2352  {
    2453    //-----[ fields ]------------------------------------------------------------
    25   public : const uint32_t _nb_port_read         ;
    26   public : const uint32_t _nb_port_write        ;
    27   public : const uint32_t _size_address         ;
    28   public : const uint32_t _size_word            ;
    29   public : const uint32_t _nb_bank              ;
     54  public : const uint32_t    _nb_port_read         ;
     55  public : const uint32_t    _nb_port_write        ;
     56  public : const uint32_t    _size_address         ;
     57  public : const uint32_t    _size_word            ;
     58  public : const uint32_t    _nb_bank              ;
     59  public : const uint32_t    _nb_port_read_by_bank ;
     60  public : const uint32_t    _nb_port_write_by_bank;
     61  public : const Tcrossbar_t _crossbar             ;
    3062
    31   public : const uint32_t _nb_port_read_by_bank ;
    32   public : const uint32_t _nb_port_write_by_bank;
     63  public : const uint32_t    _shift_address        ;
     64
     65  public :       uint32_t  * _link_port_read       ;
     66  public :       uint32_t  * _link_port_write      ;
     67
     68  public :       uint32_t  * _nb_port_select_by_bank_read_port ;
     69  public :       uint32_t  * _nb_port_select_by_bank_write_port;
    3370
    3471    //-----[ methods ]-----------------------------------------------------------
    35   public : Parameters  (uint32_t nb_port_read ,
    36                         uint32_t nb_port_write,
    37                         uint32_t size_address ,
    38                         uint32_t size_word    ,
    39                         uint32_t nb_bank      );
     72  public : Parameters  (uint32_t    nb_port_read         ,
     73                        uint32_t    nb_port_write        ,
     74                        uint32_t    size_address         ,
     75                        uint32_t    size_word            ,
     76                        uint32_t    nb_bank              ,
     77                        uint32_t    nb_port_read_by_bank ,
     78                        uint32_t    nb_port_write_by_bank,
     79                        Tcrossbar_t crossbar             );
     80
    4081  public : Parameters  (Parameters & param) ;
    4182  public : ~Parameters () ;
     
    4586  public :        string   print      (uint32_t depth);
    4687  public : friend ostream& operator<< (ostream& output_stream,
    47                                        morpheo::behavioural::generic::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters & x);
     88                                       morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters & x);
    4889  };
    4990
    5091}; // end namespace registerfile_multi_banked_glue
    5192}; // end namespace registerfile_multi_banked
     93}; // end namespace registerfile
    5294}; // end namespace generic
    5395
Note: See TracChangeset for help on using the changeset viewer.