Changeset 113 for trunk/Platforms


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

Location:
trunk/Platforms/Test
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Platforms/Test/Makefile

    r109 r113  
    2929#----------------------------------------------------------
    3030ENTITY                          =       Test
     31SIMULATOR                       =       modelsim
    3132
    3233DIR_TMP                         =       $(MORPHEO_TMP)
     
    3435DIR_SRC                         =       src
    3536DIR_OBJ                         =       $(DIR_TMP)/obj
     37DIR_LIB                         =       $(DIR_TMP)/lib
    3638DIR_BIN                         =       $(DIR_TMP)/bin
    3739DIR_LOG                         =       $(DIR_TMP)/log
     
    5759#----------------------------------------------------------
    5860
    59 OBJECTS                         =       $(patsubst $(DIR_SRC)/%.cpp,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SRC)/*.cpp))
     61SOURCES                         =       $(wildcard $(DIR_SRC)/*.cpp)
     62OBJECTS                         =       $(patsubst $(DIR_SRC)/%.cpp,$(DIR_OBJ)/%.o,$(SOURCES))
    6063LOGS                            =       $(patsubst $(DIR_DATA_TEST)/%.cfg,$(DIR_LOG)/%.log,$(wildcard $(DIR_DATA_TEST)/*.cfg))
    6164BENCHS                          =       $(patsubst $(DIR_DATA_BENCH)/%.cfg,$(DIR_LOG)/%.log,$(wildcard $(DIR_DATA_BENCH)/*.cfg))
     
    7376                                        -I$(DIR_INC)                         
    7477
     78#LIBDIR                         =       $(SYSTEMC_LIBDIR_$(SIMULATOR))          \
     79#                                       $(ENVIRONMENT_LIBDIR)                   \
     80#                                       $(MORPHEO_LIBDIR)                       
     81
     82# FIXME !!!
    7583LIBDIR                          =       $(SYSTEMC_LIBDIR_$(SIMULATOR))          \
    76                                         $(ENVIRONMENT_LIBDIR)                   \
    77                                         $(MORPHEO_LIBDIR)                       
     84                                        -L$(DIR_LIB)
    7885
    7986LIBNAME                         =       $(ENVIRONMENT_LIBNAME)                  \
     
    99106.PRECIOUS                       : $(DIR_OBJ)/%.o $(DIR_BIN)/%.x $(DIR_LOG)/%.log
    100107
    101 all                             : $(DIR_OBJ) $(DIR_BIN)
    102                                 @\
    103                                 $(MAKE) $(EXEC)
    104 
    105 $(DIR_BIN)/%.x                  : $(OBJECTS)
    106                                 @\
    107                                 $(ECHO) "Compilation        : $*";\
    108                                 $(CXX) $(PLATFORMS_L_FLAGS)      -o $@ $^ $(LIBNAME);
     108all                             : $(EXEC)
     109
     110$(DIR_BIN)/%.x                  :  $(DIR_OBJ) $(DIR_BIN)
     111                                @\
     112                                $(ECHO) "Linkage            : $*";\
     113                                case "${SIMULATOR}" in                                                          \
     114                                    "modelsim")                                                                 \
     115                                        $(MAKE) $(WORK_NAME);                                                   \
     116                                        $(MODELTECH_SCCOM) $(PLATFORMS_CXX_FLAGS) $(SOURCES);                   \
     117                                        $(MODELTECH_SCCOM) -link $(PLATFORMS_L_FLAGS) $(LIBNAME);               \
     118                                        $(ECHO) "#!$(SHELL)"                                              > $@; \
     119                                        $(ECHO) "cd $${PWD};"                                            >> $@; \
     120                                        $(ECHO) "$(MODELTECH_VSIM) -sc_arg "'"$${*}"'" $(WORK_NAME).top;" >> $@;\
     121                                        $(ECHO) "cd -;"                                                  >> $@; \
     122                                        $(CHMOD) +x $@;                                                         \
     123                                        ;;                                                                      \
     124                                    *)                                                                          \
     125                                        $(MAKE) $(OBJECTS);                                                     \
     126                                        $(CXX) $(PLATFORMS_L_FLAGS) -o $@ $(OBJECTS) $(LIBNAME);                \
     127                                        ;;                                                                      \
     128                                esac;                                                                           \
     129
    109130
    110131test                            : $(DIR_LOG) all
     
    141162execute                         : bench
    142163
     164#                               $(ECHO) $${data} | $(EXEC_PREFIX) $(EXEC) &> $$log;     \
     165
    143166$(DIR_LOG)/%.log                : %.cfg
    144167                                @\
     
    158181                                fi;                                                     \
    159182
    160 
    161183#-----[ Library + Software ]-------------------------------
    162184
     
    177199                                $(CXX) $(PLATFORMS_CXX_FLAGS) -c -o $@ $<;
    178200
    179 $(DIR_OBJ)                      :
     201$(DIR_OBJ) $(DIR_BIN) $(DIR_LOG) :
    180202                                @\
    181203                                $(ECHO) "Create directory   : $@";\
    182204                                $(MKDIR) $@
    183205
    184 $(DIR_BIN)                      :
    185                                 @\
    186                                 $(ECHO) "Create directory   : $@";\
    187                                 $(MKDIR) $@
    188 
    189 $(DIR_LOG)                      :
    190                                 @\
    191                                 $(ECHO) "Create directory   : $@";\
    192                                 $(MKDIR) $@
    193 
    194206#-----[ Clean + help ]-------------------------------------
    195207
     
    197209                                @\
    198210                                $(ECHO) "Delete     temporary files in directory $(PWD)";\
    199                                 $(RM)   *~ $(DIR_SRC)/*~ $(DIR_INC)/*~ $(DIR_DATA_TEST)/*~ $(DIR_DATA_BENCH)/*~ *core* tty* *.vhdl *.log *.stat *.pos\
    200                                         $(DIR_OBJ) $(DIR_BIN) $(DIR_LOG);
     211                                $(RM)   $(OBJECTS) $(EXEC) \
     212                                        *~ $(DIR_SRC)/*~ $(DIR_INC)/*~ $(DIR_DATA_TEST)/*~ $(DIR_DATA_BENCH)/*~ \
     213                                        *core* \
     214                                        tty* \
     215                                        *.vhdl \
     216                                        *.log \
     217                                        *.stat \
     218                                        *.pos \
     219                                        modelsim.ini transcript *wlf* $(WORK_NAME)
    201220
    202221clean_all                       : clean
    203222                                @\
    204223                                $(ECHO) "Delete     generated files in directory $(PWD)";\
     224                                $(RM) $(DIR_OBJ) $(DIR_BIN) $(DIR_LOG);\
    205225                                $(MAKE) --directory=$(DIR_SOFT)        --makefile=Makefile clean_all; \
    206226                                $(MAKE) --directory=$(ENVIRONMENT_DIR) --makefile=Makefile clean_all; \
     
    223243                                $(ECHO) "";
    224244
     245include $(MORPHEO_TOPLEVEL)/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Synthesis
    225246include $(MORPHEO_TOPLEVEL)/IPs/systemC/processor/Morpheo/Makefile.deps
    226247include $(MORPHEO_TOPLEVEL)/IPs/systemC/Environment/Makefile.deps
  • trunk/Platforms/Test/include/test.h

    r88 r113  
    99 */
    1010
     11#include <systemc.h>
    1112#include "Morpheo.h"
    1213#include <iostream>
     
    2324         );
    2425
     26#ifdef MTI_SYSTEMC
     27class top : public sc_module
     28{
     29//public : top (int argc, char * argv[]);
     30  public : top (sc_module_name name);
     31};
    2532#endif
     33#endif
  • trunk/Platforms/Test/src/sc_main.cpp

    r88 r113  
    1212using namespace morpheo;
    1313
    14 void usage (int argc, char * argv[])
     14void usage (int argc
     15#ifdef MTI_SYSTEMC
     16            ,const char * const * argv
     17#else
     18            ,char * argv[]
     19#endif
     20            )
    1521{
    16   cerr <<  "<Usage> " << argv[0] << " list_params." << endl
    17        <<  "list_params is :" << endl
     22  cerr <<  "<Usage> " << argv[0] << endl
     23       <<  "In input stream : " << endl
    1824       <<  " * filename_simulator   (string  )" << endl
    1925       <<  " * filename_generator   (string  )" << endl
     
    2733}
    2834
     35#ifdef MTI_SYSTEMC
     36SC_MODULE_EXPORT(top);
     37
     38top::top (sc_module_name name)
     39#else
    2940int sc_main (int argc, char * argv[])
     41#endif
    3042{
    3143  cout << "<sc_main> Begin" << endl;
     44
     45#ifdef MTI_SYSTEMC
     46  // accessing command-line arguments with modelsim
     47  int argc;
     48  const char * const * argv;
     49
     50  argc = sc_argc ();
     51  argv = sc_argv ();
     52#endif
    3253
    3354  for (int32_t i=0; i<argc; ++i)
    3455    cout << argv[i] << " ";
    3556  cout << endl;
    36 
     57 
    3758  //==============================================================================
    3859  //===== [ Parameters ]==========================================================
    3960  //==============================================================================
    40 
     61 
    4162  if (argc != 9)
    4263    usage (argc, argv);
    43 
     64 
    4465  uint32_t x = 1;
    4566  string   filename_simulator = argv[x++];
     
    5172  uint32_t cache_size         = fromString<uint32_t>(argv[x++]);
    5273  uint32_t cache_ratio        = fromString<uint32_t>(argv[x++]);
     74 
     75//   string   filename_simulator;
     76//   string   filename_generator;
     77//   string   filename_instance ;
     78//   string   filename_software ;
     79//   uint32_t nb_cache_dedicated;
     80//   uint32_t nb_cache_shared   ;
     81//   uint32_t cache_size        ;
     82//   uint32_t cache_ratio       ;
     83
     84//   cout <<  "get filename_simulator   ? " << endl;
     85//   cin >> filename_simulator ;
     86
     87//   cout <<  "get filename_generator   ? " << endl;
     88//   cin >> filename_generator ;
     89
     90//   cout <<  "get filename_instance    ? " << endl;
     91//   cin >> filename_instance  ;
     92
     93//   cout <<  "get filename_software    ? " << endl;
     94//   cin >> filename_software  ;
     95
     96//   cout <<  "get nb_cache_dedicated   ? " << endl;
     97//   cin >> nb_cache_dedicated ;
     98
     99//   cout <<  "get nb_cache_shared      ? " << endl;
     100//   cin >> nb_cache_shared    ;
     101
     102//   cout <<  "get size cache L1 (byte) ? " << endl;
     103//   cin >> cache_size         ;
     104
     105//   cout <<  "get ratio cache          ? " << endl;
     106//   cin >> cache_ratio        ;
    53107
    54108  morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void) = NULL;
     
    64118                      get_custom_information);
    65119
     120  cout << "  * return : " << _return << endl; 
    66121  cout << "<sc_main> End" << endl; 
    67122
     123#ifndef MTI_SYSTEMC
    68124  return _return;
     125#endif
    69126}
Note: See TracChangeset for help on using the changeset viewer.