source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/SelfTest/src/main.cpp

Last change on this file was 128, checked in by rosiere, 15 years ago

1) Correct bug in link two signal
2) Fix error detected with valgrind
3) modif distexe script

  • Property svn:keywords set to Id
File size: 2.3 KB
Line 
1/*
2 * $Id: main.cpp 128 2009-06-26 08:43:23Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/SelfTest/include/test.h"
9
10#define NB_PARAMS 5
11
12void usage (int argc, char * argv[])
13{
14  err (_("<Usage> %s name_instance list_params.\n"),argv[0]);
15  err (_("list_params is :\n"));
16  err (_(" * nb_front_end                       (uint32_t)\n"));
17  err (_(" * nb_context          [nb_front_end] (uint32_t)\n"));
18  err (_(" * nb_general_register                (uint32_t)\n"));
19  err (_(" * nb_special_register                (uint32_t)\n"));
20  err (_(" * nb_inst_insert                     (uint32_t)\n"));
21  err (_(" * nb_inst_retire                     (uint32_t)\n"));
22
23  exit (1);
24}
25
26#ifndef SYSTEMC
27int main    (int argc, char * argv[])
28#else
29int sc_main (int argc, char * argv[])
30#endif
31{
32  if (argc < 2+NB_PARAMS)
33    usage (argc, argv);
34
35  uint32_t       x = 1;
36
37  const string   name      =      argv[x++];
38
39  uint32_t   _nb_front_end        = atoi(argv[x++]);
40
41  if (argc != static_cast<int>(2+NB_PARAMS+_nb_front_end))
42    usage (argc, argv);
43 
44  uint32_t * _nb_context          = new uint32_t [_nb_front_end];
45
46  for (uint32_t i=0; i<_nb_front_end; i++)
47    _nb_context [i] = atoi(argv[x++]);
48
49  uint32_t   _nb_general_register = atoi(argv[x++]);
50  uint32_t   _nb_special_register = atoi(argv[x++]);
51  uint32_t   _nb_inst_insert      = atoi(argv[x++]);
52  uint32_t   _nb_inst_retire      = atoi(argv[x++]);
53 
54  try 
55    {
56      morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Parameters * param = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Parameters
57        (_nb_front_end        ,
58         _nb_context          ,
59         _nb_general_register ,
60         _nb_special_register ,
61         _nb_inst_insert      ,
62         _nb_inst_retire      ,
63         true //is_toplevel
64         );
65     
66      msg(_("%s"),param->print(1).c_str());
67     
68      test (name,param);
69
70      delete param;
71    }
72  catch (morpheo::ErrorMorpheo & error)
73    {
74      msg (_("<%s> : %s.\n"),name.c_str(), error.what ());
75      exit (EXIT_FAILURE);
76    }
77  catch (...)
78    {
79      err (_("<%s> : This test must generate a error.\n"),name.c_str());
80      exit (EXIT_FAILURE);
81    }
82
83  return (EXIT_SUCCESS);
84}
85
Note: See TracBrowser for help on using the repository browser.