Ignore:
Timestamp:
May 31, 2007, 11:22:29 PM (17 years ago)
Author:
rosiere
Message:

Interface et vhdl_testbench : l'appel aux fonction add_input et add_ouput est maintenant réalisé par la classe Interface (et autre).

2 remarques :

  • tester avec des sous composants (en particulier les sorties d'un est directement relié au sortie d'un autre)
  • Signal_testbench.cpp -> l'optimisé (par exemple pointeur de fonction afin d'éviter le test et le switch)
File:
1 edited

Legend:

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

    r31 r38  
    4444  private   :       string          _comment      ;
    4545
     46  private   : list<Signal *>      * _list_signal  ;
     47
     48
    4649#ifdef POSITION
    4750  private   :       bool            _is_map       ;
     
    4952  private   :       void          * _interface_map; // pour être homogène avec _entity_map
    5053#endif
    51   private   : list<Signal>        * _list_signal  ;
    5254
    5355    // -----[ methods ]---------------------------------------------------
     
    7375                                                          presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
    7476    {
     77      log_printf(FUNC,Behavioural,"set_signal_clk","Begin");
     78
    7579      Signal * sig = set_signal (name, IN , size, presence_port);
    7680      sc_in_clk * signal = new sc_in_clk (sig->_name.c_str());
     81
     82      log_printf(FUNC,Behavioural,"set_signal_clk","End");
     83
    7784      return signal;
    7885    };
     
    8390                                                         presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
    8491    {
     92      log_printf(FUNC,Behavioural,"set_signal_in","Begin");
     93
    8594      Signal * sig = set_signal (name, IN , size, presence_port);
    86       sc_in <T> * signal = new sc_in <T> (sig->_name.c_str());
    87       return signal;
     95      sc_in <T> * port = new sc_in <T> (sig->_name.c_str());
     96#ifdef VHDL_TESTBENCH
     97      sig->alloc<T> (static_cast<void *>(port));
     98#endif
     99
     100      log_printf(FUNC,Behavioural,"set_signal_in","End");
     101
     102      return port;
    88103    };
    89104
     
    93108                                                         presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
    94109    {
     110      log_printf(FUNC,Behavioural,"set_signal_out","Begin");
     111
    95112      Signal * sig = set_signal (name, OUT , size, presence_port);
    96       sc_out <T> * signal = new sc_out <T> (sig->_name.c_str());
    97       return signal;
     113      sc_out <T> * port = new sc_out <T> (sig->_name.c_str());
     114#ifdef VHDL_TESTBENCH
     115      sig->alloc<T> (static_cast<void *>(port));
     116#endif
     117
     118      log_printf(FUNC,Behavioural,"set_signal_out","End");
     119
     120      return port;
    98121    };
    99122#endif
     
    111134#endif
    112135
     136#ifdef VHDL_TESTBENCH
     137  public    : void                  testbench            (Vhdl_Testbench * & vhdl_testbench);
     138#endif
     139
    113140  public    : XML                   toXML                (void);
    114141#ifdef POSITION
Note: See TracChangeset for help on using the changeset viewer.