Ignore:
Timestamp:
Apr 14, 2009, 8:39:12 PM (15 years ago)
Author:
rosiere
Message:

1) Add modelsim simulation systemC
2) Modelsim cosimulation systemC / VHDL is not finish !!!! (cf execute_queue and write_unit)
3) Add multi architecture
5) Add template for comparator, multiplier and divider
6) Change Message
Warning) Various test macro have change, many selftest can't compile

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h

    r88 r113  
    9191
    9292#ifdef SYSTEMC
     93
     94#undef  FUNCTION
     95#define FUNCTION "Interface::set_signal_clk"
    9396  public    : sc_in_clk *           set_signal_clk       (std::string     name     ,
    9497                                                          uint32_t        size     ,
    9598                                                          presence_port_t presence_port=CLOCK_VHDL_YES)
    9699    {
    97       log_printf(FUNC,Behavioural,"set_signal_clk","Begin");
     100      log_begin(Behavioural,FUNCTION);
    98101
    99102      if ((presence_port != CLOCK_VHDL_YES) and
     
    101104        throw ErrorMorpheo ("Signal \""+name+"\" is a clock, bad presence_port.");
    102105
     106      LowerCase(name);
     107
    103108      Signal    * sig  = set_signal (name, IN , size, presence_port);
    104109      sc_in_clk * port;
    105110
    106       if (_usage & USE_SYSTEMC)
     111      if (_usage & USE_SYSTEMC_INTERFACE)
    107112        {
    108113          port = new sc_in_clk (sig->_name.c_str());
     
    114119        }
    115120
    116       log_printf(FUNC,Behavioural,"set_signal_clk","End");
    117 
    118       return port;
    119     };
    120 
     121      log_end(Behavioural,FUNCTION);
     122
     123      return port;
     124    };
     125
     126#undef  FUNCTION
     127#define FUNCTION "Interface::set_signal_in"
    121128  public    : template <typename T>
    122129              sc_in <T> *           set_signal_in       (std::string     name     ,
     
    124131                                                         presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
    125132    {
    126       log_printf(FUNC,Behavioural,"set_signal_in","Begin");
     133      log_begin(Behavioural,FUNCTION);
    127134
    128135      if ((presence_port == CLOCK_VHDL_YES) or
     
    130137        throw ErrorMorpheo ("Signal \""+name+"\" is not a clock, bad presence_port.");
    131138
     139      LowerCase(name);
     140
    132141      Signal    * sig  = set_signal (name, IN , size, presence_port);
    133142      sc_in <T> * port;
    134143
    135       if (_usage & USE_SYSTEMC)
     144      if (_usage & USE_SYSTEMC_INTERFACE)
    136145        {
    137146          port = new sc_in <T> (sig->_name.c_str());
     
    143152        }
    144153
    145       log_printf(FUNC,Behavioural,"set_signal_in","End");
    146 
    147       return port;
    148     };
    149 
     154      log_end(Behavioural,FUNCTION);
     155
     156      return port;
     157    };
     158
     159#undef  FUNCTION
     160#define FUNCTION "Interface::set_signal_out"
    150161  public    : template <typename T>
    151162              sc_out <T> *          set_signal_out      (std::string     name     ,
     
    153164                                                         presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
    154165    {
    155       log_printf(FUNC,Behavioural,"set_signal_out","Begin");
     166      log_begin(Behavioural,FUNCTION);
     167
     168      LowerCase(name);
    156169
    157170      if ((presence_port == CLOCK_VHDL_YES) or
     
    162175      sc_out <T> * port;
    163176
    164       if (_usage & USE_SYSTEMC)
     177      if (_usage & USE_SYSTEMC_INTERFACE)
    165178        {
    166179          port = new sc_out <T> (sig->_name.c_str());
     
    172185        }
    173186
    174       log_printf(FUNC,Behavioural,"set_signal_out","End");
    175 
    176       return port;
    177     };
    178 
     187      log_end(Behavioural,FUNCTION);
     188
     189      return port;
     190    };
     191
     192#undef  FUNCTION
     193#define FUNCTION "Interface::set_signal_internal"
    179194  public    : template <typename T>
    180195              sc_signal <T> *       set_signal_internal (std::string   name,
    181196                                                         uint32_t size)
    182197    {
    183       log_printf(FUNC,Behavioural,"set_signal_internal","Begin");
     198      log_begin(Behavioural,FUNCTION);
     199
     200      LowerCase(name);
    184201
    185202      Signal * sig = set_signal (name, INTERNAL , size, PORT_VHDL_NO_TESTBENCH_NO);
    186203      sc_signal <T> * port;
    187204
    188       if (_usage & USE_SYSTEMC)
     205      if (_usage & USE_SYSTEMC_INTERFACE)
    189206        {
    190207          port = new sc_signal <T> (sig->_name.c_str());
     
    196213        }
    197214
    198       log_printf(FUNC,Behavioural,"set_signal_internal","End");
     215      log_end(Behavioural,FUNCTION);
    199216
    200217      return port;
Note: See TracChangeset for help on using the changeset viewer.