Ignore:
Timestamp:
Jun 7, 2007, 9:13:47 PM (17 years ago)
Author:
rosiere
Message:

Vhdl_Testbench : Modification du testbench. Maintenant complétement encapsuler dans la classe "Interfaces".
Suppression de la class Vhdl_Testbench dans un avenir proche :D
Suppression du répertoire Configuration.old

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/include
Files:
7 edited

Legend:

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

    r38 r41  
    77#define     DEBUG_Group                                     false
    88#define     DEBUG_Shifter                                   false
    9 #define     DEBUG_Register_File                             false
    10 #define     DEBUG_RegisterFile_Multi_Banked                 false
    11 #define       DEBUG_RegisterFile_Multi_Banked_Glue          false
     9#define     DEBUG_Register_File                             false
     10#define       DEBUG_RegisterFile_Monolithic                 false
     11#define       DEBUG_RegisterFile_Multi_Banked               false
     12#define         DEBUG_RegisterFile_Multi_Banked_Glue        false
    1213#define     DEBUG_Select                                    false
    1314#define       DEBUG_Select_Priority_Fixed                   false
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Direction.h

    r31 r41  
    77namespace behavioural          {
    88
    9 typedef enum { IN, OUT, INOUT } direction_t;
     9typedef enum { IN, OUT } direction_t;
     10  //typedef enum { IN, OUT, INOUT } direction_t;
    1011
    1112}; // end namespace behavioural         
     
    1718      case morpheo::behavioural::IN    : return "in"    ; break;
    1819      case morpheo::behavioural::OUT   : return "out"   ; break;
    19       case morpheo::behavioural::INOUT : return "inout" ; break;
     20//    case morpheo::behavioural::INOUT : return "inout" ; break;
    2021      default    : return ""      ; break;
    2122      }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h

    r40 r41  
    2121#ifdef VHDL
    2222#include "Behavioural/include/Vhdl.h"
    23 #endif
    24 #ifdef VHDL_TESTBENCH
    25 #include "Behavioural/include/Vhdl_Testbench.h"
    2623#endif
    2724#include "Include/ToString.h"
     
    5350
    5451#ifdef VHDL_TESTBENCH
    55   private   : list<string>        * _list_cycle   ;
     52  private   : uint32_t              _nb_cycle     ;
    5653#endif
    5754   
     
    8077  public    : sc_in_clk *           set_signal_clk       (string          name     ,
    8178                                                          uint32_t        size     ,
    82                                                           presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
     79                                                          presence_port_t presence_port=CLOCK_VHDL_YES)
    8380    {
    8481      log_printf(FUNC,Behavioural,"set_signal_clk","Begin");
    8582
    86       Signal * sig = set_signal (name, IN , size, presence_port);
     83      if ((presence_port != CLOCK_VHDL_YES) and
     84          (presence_port != CLOCK_VHDL_NO ))
     85        throw ErrorMorpheo ("Signal \""+name+"\" is a clock, bad presence_port.");
     86
     87      Signal    * sig    = set_signal (name, IN , size, presence_port);
    8788      sc_in_clk * signal = new sc_in_clk (sig->_name.c_str());
    8889
     
    9899    {
    99100      log_printf(FUNC,Behavioural,"set_signal_in","Begin");
     101
     102      if ((presence_port == CLOCK_VHDL_YES) or
     103          (presence_port == CLOCK_VHDL_NO ))
     104        throw ErrorMorpheo ("Signal \""+name+"\" is not a clock, bad presence_port.");
    100105
    101106      Signal * sig = set_signal (name, IN , size, presence_port);
     
    117122      log_printf(FUNC,Behavioural,"set_signal_out","Begin");
    118123
     124      if ((presence_port == CLOCK_VHDL_YES) or
     125          (presence_port == CLOCK_VHDL_NO ))
     126        throw ErrorMorpheo ("Signal \""+name+"\" is not a clock, bad presence_port.");
     127
    119128      Signal * sig = set_signal (name, OUT , size, presence_port);
    120129      sc_out <T> * port = new sc_out <T> (sig->_name.c_str());
     
    131140#ifdef VHDL
    132141  public    : void                  set_port             (Vhdl * & vhdl);
     142#ifdef VHDL_TESTBENCH
     143  public    : void                  set_signal           (Vhdl * & vhdl);
     144  public    : void                  get_signal           (list<string> * & list_signal);
     145#endif
    133146#endif
    134147#ifdef VHDL_TESTBENCH
    135   public    : void                  set_port             (Vhdl_Testbench * & vhdl_testbench);
     148  public    : uint32_t              get_cycle            (void);
     149  public    : string                get_clock            (void);
     150
     151  public    : void                  testbench            (void);
     152  public    : void                  testbench_cycle      (void);
     153  public    : void                  testbench_body       (Vhdl           * & vhdl          ,
     154                                                          string             counter_name  );
     155  public    : string                testbench_test       (Vhdl           * & vhdl        ,
     156                                                          string             counter_name);
     157  public    : string                testbench_test_ok    (Vhdl           * & vhdl        );
     158  protected : string                testbench_test_name   (Vhdl           * & vhdl);
     159  protected : string                testbench_test_ok_name(Vhdl           * & vhdl);
     160
    136161#endif
    137162
     
    139164  public    : void                  port_map             (void * entity,
    140165                                                          void * interface);
    141 #endif
    142 
    143 #ifdef VHDL_TESTBENCH
    144   public    : void                  testbench_cycle      (void);
    145   public    : void                  testbench            (Vhdl_Testbench * & vhdl_testbench);
    146166#endif
    147167
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface_fifo.h

    r40 r41  
    2323#ifdef VHDL_TESTBENCH
    2424  private   : bool                  _test_exhaustive;
     25  private   : list<uint32_t>      * _list_cycle   ;
     26
    2527#endif
    2628
     
    7274
    7375#ifdef VHDL_TESTBENCH
     76  public    : uint32_t              get_cycle            (void);
     77
     78  public    : void                  testbench            (void);
    7479  public    : bool                  testbench_transaction(void);
    75   public    : void                  testbench            (Vhdl_Testbench * & vhdl_testbench);
     80  public    : void                  testbench_cycle      (void);
     81  public    : string                testbench_test       (Vhdl           * & vhdl        ,
     82                                                          string             counter_name);
    7683#endif
    7784  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interfaces.h

    r40 r41  
    1818#include "Behavioural/include/Vhdl.h"
    1919#endif
    20 #ifdef VHDL_TESTBENCH
    21 #include "Behavioural/include/Vhdl_Testbench.h"
    22 #endif
    2320
    2421using namespace std;
     
    3027  {
    3128    // -----[ fields ]----------------------------------------------------
     29  private   : const string               _name;
    3230  private   : list<Interface_fifo*>    * _list_interface;
    3331
    3432    // -----[ methods ]---------------------------------------------------
    35   public    :                       Interfaces            (void);
     33  public    :                       Interfaces            (string name);
    3634  public    :                       Interfaces            (const Interfaces & interfaces);
    3735  public    :                       ~Interfaces           ();
     
    4846#ifdef VHDL
    4947  public    : void                  set_port              (Vhdl           * & vhdl          );
     48#  ifdef VHDL_TESTBENCH
     49  private   : void                  get_signal            (list<string>   * & list_signal   );
     50  private   : void                  set_signal            (Vhdl           * & vhdl          );
     51#  endif
    5052#endif
    5153#ifdef VHDL_TESTBENCH
    52   public    : void                  set_port              (Vhdl_Testbench * & vhdl_testbench);
     54  private   : uint32_t              get_cycle             (void);
     55  private   : string                get_clock             (void);
     56
     57  private   : void                  testbench_generate_file (void);
     58  public    : void                  testbench             (void);
     59  private   : string                testbench_body        (Vhdl           * & vhdl          ,
     60                                                           string             counter_name  );
    5361#endif
    5462
    5563  public    : Interface_fifo  *     find_interface        (string name);
    56 
    57 #ifdef VHDL_TESTBENCH
    58   public    : void                  testbench             (Vhdl_Testbench * & vhdl_testbench);
    59 #endif
    6064
    6165  public    : XML                   toXML                 (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h

    r40 r41  
    1616#include <iostream>
    1717
    18 #ifdef VHDL_TESTBENCH
    19 #include "Behavioural/include/Vhdl_Testbench.h"
     18#ifdef VHDL
     19#include "Behavioural/include/Vhdl.h"
    2020#endif
    2121
     
    4242                PORT_VHDL_YES_TESTBENCH_NO ,
    4343                PORT_VHDL_NO_TESTBENCH_YES ,
    44                 PORT_VHDL_NO_TESTBENCH_NO  } presence_port_t;
     44                PORT_VHDL_NO_TESTBENCH_NO  ,
     45                CLOCK_VHDL_YES             ,
     46                CLOCK_VHDL_NO              } presence_port_t;
    4547
    4648  class Signal
     
    109111    }
    110112
    111   public    : void              testbench       (Vhdl_Testbench * & vhdl_testbench);
    112 
    113113  public    : template <typename T>
    114114              void              alloc           (void * port)
     
    136136        _type_info = UNKNOW;
    137137    }
     138
     139  public    : void              testbench        (void);
     140  public    : void              testbench_body   (Vhdl           * & vhdl          ,
     141                                                  string             counter_name  );
     142  public    : void              testbench_test_ok(Vhdl           * & vhdl          );
    138143#endif
    139 
     144#ifdef VHDL
     145  public    : void              set_port        (Vhdl * & vhdl);
     146#  ifdef VHDL_TESTBENCH
     147  public    : string            get_clock       (void);
     148  public    : void              set_signal      (Vhdl * & vhdl);
     149  public    : void              get_name_vhdl   (list<string> * & list_signal);
     150#  endif
     151#endif
    140152  public    : XML               toXML           (void);
    141153
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Vhdl_Testbench.h

    r40 r41  
    3838    };
    3939
    40     // -----[ fields ]----------------------------------------------------
    41   private   : const string     _name       ;
    42   private   : const bool       _exhaustive ;
     40//     // -----[ fields ]----------------------------------------------------
     41//   private   : const string     _name       ;
     42//   private   : const bool       _exhaustive ;
    4343
    44   private   : string           _clock_name ;
    45   private   : uint32_t         _num_cycle  ;
     44//   private   : string           _clock_name ;
     45//   private   : uint32_t         _num_cycle  ;
    4646
    47   private   : uint32_t         _size_input ;
    48   private   : uint32_t         _size_output;
     47//   private   : uint32_t         _size_input ;
     48//   private   : uint32_t         _size_output;
    4949
    50   private   : list<string>     _list_input ;
    51   private   : list<string>     _list_input_cycle;
    52   private   : list<uint32_t>   _list_input_size ;
     50//   private   : list<string>     _list_input ;
     51//   private   : list<string>     _list_input_cycle;
     52//   private   : list<uint32_t>   _list_input_size ;
    5353
    54   private   : list<string>     _list_output;
    55   private   : list<string>     _list_output_cycle;
    56   private   : list<uint32_t>   _list_output_size ;
     54//   private   : list<string>     _list_output;
     55//   private   : list<string>     _list_output_cycle;
     56//   private   : list<uint32_t>   _list_output_size ;
    5757
    58   private   : list<bool>       _list_test;
    59   private   : list<string>     _list_port;
    60   private   : list<label_t>    _list_label;
     58//   private   : list<bool>       _list_test;
     59//   private   : list<string>     _list_port;
     60//   private   : list<label_t>    _list_label;
    6161
    62   private   : list<uint32_t>::iterator   _num_input ;
    63   private   : list<uint32_t>::iterator   _num_output;
     62//   private   : list<uint32_t>::iterator   _num_input ;
     63//   private   : list<uint32_t>::iterator   _num_output;
    6464
    65   private   : Vhdl           * _vhdl;
     65//   private   : Vhdl           * _vhdl;
    6666   
    6767    // -----[ methods ]---------------------------------------------------
    6868  public    :                  Vhdl_Testbench              (string   name,
    69                                                             bool     exhaustive=true);
    70   public    : virtual          ~Vhdl_Testbench             ();
     69                                                            bool     exhaustive=true){};
     70  public    :                  ~Vhdl_Testbench             (){};
    7171                                                           
    72   public    : void             generate_file               (void);
     72  public    : void             generate_file               (void){};
    7373
    7474  public    : void             set_port                    (string      name      ,
    7575                                                            direction_t direction ,
    76                                                             uint32_t    size      );
     76                                                            uint32_t    size      ){};
    7777  public    : void             set_clock                   (string      name      ,
    78                                                             bool        model_have_clock);
    79   public    : void             new_cycle                   (void);
     78                                                            bool        model_have_clock){};
     79  public    : void             new_cycle                   (void){};
    8080
    81   private   : uint32_t         get_input                   (void);
    82   private   : void             set_input                   (void);
    83   public    : void             add_input                   (uint32_t    value     );
     81  private   : uint32_t         get_input                   (void){return 0;};
     82  private   : void             set_input                   (void){};
     83  public    : void             add_input                   (uint32_t    value     ){};
    8484
    85   private   : uint32_t         get_output                  (void);
    86   private   : void             set_output                  (void);
    87   public    : void             add_output                  (uint32_t    value     );
     85  private   : uint32_t         get_output                  (void){return 0;};
     86  private   : void             set_output                  (void){};
     87  public    : void             add_output                  (uint32_t    value     ){};
    8888
    89   private   : uint32_t         get_test                    (void);
    90   public    : void             add_test                    (bool        must_test );
     89  private   : uint32_t         get_test                    (void){return 0;};
     90  public    : void             add_test                    (bool        must_test ){};
    9191
    92   private   : void             get_label                   (void);
    93   public    : void             add_label                   (string      label     );
     92  private   : void             get_label                   (void){};
     93  public    : void             add_label                   (string      label     ){};
    9494
    95   private   : void             generate_process_clock      (uint32_t    counter   );
    96   private   : void             generate_instance           (void);
     95  private   : void             generate_process_clock      (uint32_t    counter   ){};
     96  private   : void             generate_instance           (void){};
    9797  };
    9898
Note: See TracChangeset for help on using the changeset viewer.