source: trunk/Platforms/Test/src/sc_main.cpp

Last change on this file was 145, checked in by rosiere, 14 years ago

1) add test with SPECINT2K
2) new config of Selftest
3) modif RAT to support multiple depth_save ... but not finish (need fix Update Prediction Table)
4) add Function_pointer but need fix

  • Property svn:keywords set to Id
File size: 2.6 KB
Line 
1/*
2 * $Id: sc_main.cpp 145 2010-10-13 18:15:51Z rosiere $
3 *
4 * [ Description ]
5 *
6 * Platforms : Morpheo + Environment
7 */
8
9#include "../include/test.h"
10
11using namespace std;
12using namespace morpheo;
13
14void usage (int argc
15#ifdef MTI_SYSTEMC
16            ,const char * const * argv
17#else
18            ,char * argv[]
19#endif
20            )
21{
22  msgError("<Usage> %s\n",argv[0]);
23  msgError("In input stream :\n");
24  msgError(" * filename_simulator   (string  )\n");
25  msgError(" * filename_generator   (string  )\n");
26  msgError(" * filename_instance    (string  )\n");
27  msgError(" * filename_software    (string  )\n");
28  msgError(" * nb_cache_dedicated   (uint32_t)\n");
29  msgError(" * nb_cache_shared      (uint32_t)\n");
30  msgError(" * size cache L1 (byte) (uint32_t)\n");
31  msgError(" * ratio cache          (uint32_t)\n");
32
33  exit (EXIT_FAILURE);
34};
35
36#ifdef MTI_SYSTEMC
37SC_MODULE_EXPORT(top);
38
39top::top (sc_module_name name)
40#else
41int sc_main (int argc, char * argv[])
42#endif
43{
44  msgInformation("<sc_main> Begin\n");
45
46  sc_report_handler::set_actions("/IEEE_Std_1666/deprecated", SC_DO_NOTHING);
47
48#ifdef MTI_SYSTEMC
49  // accessing command-line arguments with modelsim
50  int argc;
51  const char * const * argv;
52
53  argc = sc_argc ();
54  argv = sc_argv ();
55#endif
56
57  msgInformation("Command line : ");
58  for (int32_t i=0; i<argc; ++i)
59    msg("%s ",argv[i]);
60  msg("\n");
61 
62  //==============================================================================
63  //===== [ Parameters ]==========================================================
64  //==============================================================================
65 
66  if (argc != 9)
67    usage (argc, argv);
68 
69  uint32_t x = 1;
70  string   filename_simulator = argv[x++];
71  string   filename_generator = argv[x++];
72  string   filename_instance  = argv[x++];
73  string   filename_software  = argv[x++];
74  uint32_t nb_cache_dedicated = fromString<uint32_t>(argv[x++]);
75  uint32_t nb_cache_shared    = fromString<uint32_t>(argv[x++]);
76  uint32_t cache_size         = fromString<uint32_t>(argv[x++]);
77  uint32_t cache_ratio        = fromString<uint32_t>(argv[x++]);
78
79  morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void) = NULL;
80
81  int _return = test (filename_simulator ,
82                      filename_generator ,
83                      filename_instance  ,
84                      filename_software  ,
85                      nb_cache_dedicated ,
86                      nb_cache_shared    ,
87                      cache_size         ,
88                      cache_ratio        ,
89                      get_custom_information);
90
91  msgInformation("  * return : %d\n",_return);
92  msgInformation("<sc_main> End\n");
93
94#ifndef MTI_SYSTEMC
95  return _return;
96#endif
97};
Note: See TracBrowser for help on using the repository browser.