Changeset 117 for trunk/Platforms


Ignore:
Timestamp:
May 16, 2009, 4:42:39 PM (15 years ago)
Author:
rosiere
Message:

1) Platforms : add new organization for test
2) Load_Store_Unit : add array to count nb_check in store_queue
3) Issue_queue and Core_Glue : rewrite the issue network
4) Special_Register_Unit : add reset value to register CID
5) Softwares : add multicontext test
6) Softwares : add SPECINT
7) Softwares : add MiBench?
7) Read_queue : inhib access for r0
8) Change Core_Glue (network) - dont yet support priority and load balancing scheme

Location:
trunk/Platforms/Test
Files:
900 added
67 deleted
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Platforms/Test/Makefile

    r114 r117  
     1
    12#
    23# $Id$
     
    2122ifeq ($(origin MORPHEO_TMP), undefined)
    2223        $(error "variable MORPHEO_TMP is undefined")
     24endif
     25
     26DATA_ALL                        = *
     27ifeq ($(origin DATA), undefined)
     28DATA                            = $(DATA_ALL)
     29endif
     30ifeq ($(origin PRIORITY), undefined)
     31PRIORITY                        = 0
    2332endif
    2433
     
    3746DIR_BIN                         =       $(DIR_TMP)/bin
    3847DIR_LOG                         =       $(DIR_TMP)/log
    39 DIR_DATA_TEST                   =       ./data_test
    40 DIR_DATA_BENCH                  =       ./data_bench
     48DIR_DATA                        =       ./data
     49DIR_LOGS                        =       $(patsubst $(DIR_DATA)/%,$(DIR_LOG)/%,$(wildcard $(DIR_DATA)/*))
     50
    4151DIR_SOFT                        =       $(MORPHEO_TOPLEVEL)/Softwares
    4252
     
    5767#----------------------------------------------------------
    5868#----------------------------------------------------------
    59 
    6069SOURCES                         =       $(wildcard $(DIR_SRC)/*.cpp)
    6170OBJECTS                         =       $(patsubst $(DIR_SRC)/%.cpp,$(DIR_OBJ)/%.o,$(SOURCES))
    62 LOGS                            =       $(patsubst $(DIR_DATA_TEST)/%.cfg,$(DIR_LOG)/%.log,$(wildcard $(DIR_DATA_TEST)/*.cfg))
    63 BENCHS                          =       $(patsubst $(DIR_DATA_BENCH)/%.cfg,$(DIR_LOG)/%.log,$(wildcard $(DIR_DATA_BENCH)/*.cfg))
    64 DEBUG_CFG                       =       $(DIR_DATA_TEST)/debug.cfg
    65 DEBUG_LOG                       =       $(DIR_LOG)/debug.log
    66 
     71LOGS                            =       $(patsubst $(DIR_DATA)/%.cfg,$(DIR_LOG)/%.log,$(wildcard $(DIR_DATA)/$(DATA)/*.cfg))
    6772EXEC                            =       $(DIR_BIN)/soft.x
    68 EXEC_PREFIX                     =       
     73EXEC_PREFIX                     =       $(NICE) -n $(PRIORITY)
    6974#$(VALGRIND)
    7075
    7176#-----[ Compilation ]--------------------------------------
    72 INCDIR                          =       $(SYSTEMC_INCDIR_$(SIMULATOR))          \
     77INCDIR                          =       $(SYSTEMC_INCDIR_$(SIMULATOR_SYSTEMC))          \
    7378                                        $(MORPHEO_INCDIR)                       \
    7479                                        $(ENVIRONMENT_INCDIR)                   \
    7580                                        -I$(DIR_INC)                         
    7681
    77 #LIBDIR                         =       $(SYSTEMC_LIBDIR_$(SIMULATOR))          \
     82#LIBDIR                         =       $(SYSTEMC_LIBDIR_$(SIMULATOR_SYSTEMC))          \
    7883#                                       $(ENVIRONMENT_LIBDIR)                   \
    7984#                                       $(MORPHEO_LIBDIR)                       
    8085
    8186# FIXME !!!
    82 LIBDIR                          =       $(SYSTEMC_LIBDIR_$(SIMULATOR))          \
     87LIBDIR                          =       $(SYSTEMC_LIBDIR_$(SIMULATOR_SYSTEMC))          \
    8388                                        -L$(DIR_LIB)
    8489
    8590LIBNAME                         =       $(ENVIRONMENT_LIBNAME)                  \
    8691                                        $(MORPHEO_LIBNAME)                      \
    87                                         $(SYSTEMC_LIBNAME_$(SIMULATOR))
    88 
    89 FLAGS                           =       $(SYSTEMC_CFLAGS_$(SIMULATOR))
     92                                        $(SYSTEMC_LIBNAME_$(SIMULATOR_SYSTEMC))
     93
     94FLAGS                           =       $(SYSTEMC_CFLAGS_$(SIMULATOR_SYSTEMC))
    9095
    9196PLATFORMS_CXX_FLAGS             =       $(MORPHEO_FLAGS) $(CXX_FLAGS) $(FLAGS) $(INCDIR)
     
    101106vpath   %.cpp   $(DIR_SRC)
    102107vpath   %.o     $(DIR_OBJ)
    103 vpath   %.cfg   $(DIR_DATA_TEST) $(DIR_DATA_BENCH)
     108vpath   %.cfg   $(DIR_DATA)/*/
    104109
    105110.PRECIOUS                       : $(DIR_OBJ)/%.o $(DIR_BIN)/%.x $(DIR_LOG)/%.log
     
    110115                                @\
    111116                                $(ECHO) "Linkage            : $*";\
    112                                 case "${SIMULATOR}" in                                                          \
     117                                case "${SIMULATOR_SYSTEMC}" in                                                          \
    113118                                    "modelsim")                                                                 \
    114119                                        $(MAKE) $(WORK_NAME);                                                   \
     
    127132                                esac;                                                                           \
    128133
    129 
    130 test                            : $(DIR_LOG) all
    131                                 @\
    132                                 declare logs;                                           \
    133                                 if $(TEST) -f "$(DEBUG_CFG)"; then                      \
    134                                         logs="$(DEBUG_LOG)";                            \
    135                                 else                                                    \
    136                                         logs="$(LOGS)";                                 \
     134run                             : all
     135                                @\
     136                                if $(TEST) "$(DATA)" != "$(DATA_ALL)"; then             \
     137                                        $(RM) $(DIR_LOG)/$(DATA);                       \
    137138                                fi;                                                     \
     139                                $(MAKE) $(DIR_LOGS);                                    \
     140                                declare logs="$(LOGS)";                                 \
    138141                                $(MAKE) $$logs;                                         \
    139142                                declare -i nb_test=0;                                   \
     
    154157                                fi;
    155158
    156 bench                           : $(DIR_LOG) all
    157                                 @\
    158                                 declare logs="$(BENCHS)";                               \
    159                                 $(MAKE) $$logs;
    160 
    161 execute                         : bench
    162 
    163 #                               $(ECHO) $${data} | $(EXEC_PREFIX) $(EXEC) &> $$log;     \
    164 
    165 $(DIR_LOG)/%.log                : %.cfg
     159execute                         : run
     160
     161debug                           :
     162                                @\
     163                                $(MAKE) run DATA=debug;
     164
     165bench                           :
     166                                @\
     167                                $(MAKE) run DATA=bench;
     168
     169$(DIR_LOG)/%.log                : $(DIR_DATA)/%.cfg
    166170                                @\
    167171                                file=$$($(BASENAME) $<);                                \
    168172                                data=$$($(CAT) $<);                                     \
    169173                                log=$@;                                                 \
    170                                 $(ECHO) "Run                : $$file";                  \
     174                                $(ECHO) "Run                : $*";                      \
    171175                                $(EXEC_PREFIX) $(EXEC) $${data} &> $$log;               \
    172176                                $(GREP) -q "Test OK" $$log;                             \
     
    176180                                declare timing=$$($(GREP) -h "Timing" $$log);           \
    177181                                if $(TEST) $$test_ko -ne 0 -a $$test_ok -eq 0;          \
    178                                 then $(ECHO) -e "                     $$file ... OK    \t$$timing";     \
    179                                 else $(ECHO) -e "                     $$file ... KO !!!\t$$timing";     \
     182                                then test="... OK    ";                                 \
     183                                else test="... KO !!!";                                 \
    180184                                fi;                                                     \
     185                                $(ECHO) -e "                     $* $${test}\t$${timing}";\
     186                                echo "{$$($(date))} $* $${test} $${timing}" >> $$($(DIRNAME) $*).res;\
    181187
    182188#-----[ Library + Software ]-------------------------------
     
    198204                                $(CXX) $(PLATFORMS_CXX_FLAGS) -c -o $@ $<;
    199205
    200 $(DIR_OBJ) $(DIR_BIN) $(DIR_LOG) :
     206$(DIR_OBJ) $(DIR_BIN) $(DIR_LOGS) :
    201207                                @\
    202208                                $(ECHO) "Create directory   : $@";\
     
    208214                                @\
    209215                                $(ECHO) "Delete     temporary files in directory $(PWD)";\
    210                                 $(RM)   $(OBJECTS) $(EXEC) \
    211                                         *~ $(DIR_SRC)/*~ $(DIR_INC)/*~ $(DIR_DATA_TEST)/*~ $(DIR_DATA_BENCH)/*~ \
     216                                $(RM)   $(OBJECTS) $(EXEC) $(LOGS) \
     217                                        *~ $(DIR_SRC)/*~ $(DIR_INC)/*~ $(DIR_DATA)/*/*~ *.res *.txt\
    212218                                        *core* \
    213219                                        tty* \
     
    232238                                $(ECHO) "";\
    233239                                $(ECHO) " * all (default rules) : create software";\
    234                                 $(ECHO) " * test                : execute platforms with test configuration";\
    235                                 $(ECHO) " * bench               : execute platforms with bench configuration";\
     240                                $(ECHO) " * run                 : execute platforms with test configuration";\
     241                                $(ECHO) "                         set DATA to select a specific directory in $(DIR_DATA) (default : all)";\
     242                                $(ECHO) "                         set PRIORITY to nice the execution (default : 0)";\
     243                                $(ECHO) "                         example : make run DATA=debug PRIORITY=10";\
     244                                $(ECHO) " * execute             : cf 'make run'";\
     245                                $(ECHO) " * debug               : cf 'make run DATA=debug'";\
     246                                $(ECHO) " * bench               : cf 'make run DATA=bench'";\
    236247                                $(ECHO) " * lib                 : make library";\
    237248                                $(ECHO) " * soft                : make software";\
    238                                 $(ECHO) " * execute             : cf 'make bench'";\
    239249                                $(ECHO) " * clean               : erase temporary files";\
    240250                                $(ECHO) " * clean_all           : erase generated files";\
  • trunk/Platforms/Test/src/test.cpp

    r114 r117  
    6060  //~~~~~ [ Environment  ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    6161  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    62  
     62
     63  uint32_t    nb_thread = morpheo->_nb_thread;
    6364  uint32_t    nb_entity = 1;
    6465
     
    212213    {
    213214      tty_address [i] = TTY_BASE;
    214       nb_tty      [i] = 4;
     215      nb_tty      [i] = nb_thread;
    215216    }
    216217  string  ** name_tty    = new string * [nb_component_tty];
     
    229230    {
    230231      ramlock_address [i] = RAMLOCK_BASE;
    231       nb_lock         [i] = 10;
     232      nb_lock         [i] = 100*nb_thread;
    232233    }
    233234
     
    247248
    248249  Parameters * param_environment = new Parameters
    249     (nb_entity,
     250    (nb_thread,
     251     nb_entity,
    250252     
    251253     iaccess_nb_context,
     
    293295     nb_tty,
    294296     name_tty,
    295      false,
     297     true,
    296298     
    297299     nb_component_ramlock,
Note: See TracChangeset for help on using the changeset viewer.