source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/SelfTest/src/test.cpp @ 129

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

1) Debug_Signal

  • Property svn:keywords set to Id
File size: 40.2 KB
Line 
1/*
2 * $Id: test.cpp 129 2009-06-29 16:38:40Z rosiere $
3 *
4 * [ Description ]
5 *
6 * Test
7 */
8
9#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/SelfTest/include/test.h"
10#include "Behavioural/include/Allocation.h"
11
12void test (string name,
13           morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::Parameters * _param)
14{
15  msg(_("<%s> : Simulation SystemC.\n"),name.c_str());
16
17#ifdef STATISTICS
18  morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,CYCLE_MAX);
19#endif
20
21  simulation_init(0,0,0,false,false);
22  _model.set_model(NAME_Rename_unit                      , MODEL_SYSTEMC, true);
23  _model.set_model(NAME_Load_Store_pointer_unit          , MODEL_SYSTEMC, true);
24  _model.set_model(NAME_Register_translation_unit        , MODEL_SYSTEMC, true);
25  _model.set_model(NAME_Dependency_checking_unit         , MODEL_SYSTEMC, true);
26  _model.set_model(NAME_Free_List_unit                   , MODEL_SYSTEMC, true);
27  _model.set_model(NAME_Register_Address_Translation_unit, MODEL_SYSTEMC, true);
28  _model.set_model(NAME_Register_translation_unit_Glue   , MODEL_SYSTEMC, true);
29  _model.set_model(NAME_Stat_List_unit                   , MODEL_SYSTEMC, true);
30  _model.set_model(NAME_Rename_select                    , MODEL_SYSTEMC, true);
31  _model.set_model(NAME_Rename_unit_Glue                 , MODEL_SYSTEMC, true);
32
33  Tusage_t _usage = USE_ALL;
34
35//   _usage = usage_unset(_usage,USE_SYSTEMC              );
36//   _usage = usage_unset(_usage,USE_VHDL                 );
37//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH       );
38//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT);
39//   _usage = usage_unset(_usage,USE_POSITION             );
40//   _usage = usage_unset(_usage,USE_STATISTICS           );
41//   _usage = usage_unset(_usage,USE_INFORMATION          );
42
43  Rename_unit * _Rename_unit = new Rename_unit
44    (name.c_str(),
45#ifdef STATISTICS
46     _parameters_statistics,
47#endif
48     _param,
49     _usage);
50 
51#ifdef SYSTEMC
52  if (usage_is_set(_usage,USE_SYSTEMC))
53    {
54  /*********************************************************************
55   * Déclarations des signaux
56   *********************************************************************/
57  string rename;
58
59  sc_clock              *  in_CLOCK  = new sc_clock ("clock", 1.0, 0.5);         
60  sc_signal<Tcontrol_t> *  in_NRESET = new sc_signal<Tcontrol_t> ("NRESET");
61
62  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_VAL               ;
63  sc_signal<Tcontrol_t        > *** out_RENAME_IN_ACK               ;
64  sc_signal<Tcontext_t        > ***  in_RENAME_IN_FRONT_END_ID      ;
65  sc_signal<Tcontext_t        > ***  in_RENAME_IN_CONTEXT_ID        ;
66  sc_signal<Tdepth_t          > ***  in_RENAME_IN_DEPTH             ;
67  sc_signal<Ttype_t           > ***  in_RENAME_IN_TYPE              ;
68  sc_signal<Toperation_t      > ***  in_RENAME_IN_OPERATION         ;
69  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_NO_EXECUTE        ;
70  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_LAST_EVENT        ;
71  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_IS_DELAY_SLOT     ;
72  sc_signal<Tgeneral_data_t   > ***  in_RENAME_IN_ADDRESS           ;
73  sc_signal<Tgeneral_data_t   > ***  in_RENAME_IN_ADDRESS_NEXT      ;
74  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_HAS_IMMEDIAT      ;
75  sc_signal<Tgeneral_data_t   > ***  in_RENAME_IN_IMMEDIAT          ;
76  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_READ_RA           ;
77  sc_signal<Tgeneral_address_t> ***  in_RENAME_IN_NUM_REG_RA        ;
78  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_READ_RB           ;
79  sc_signal<Tgeneral_address_t> ***  in_RENAME_IN_NUM_REG_RB        ;
80  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_READ_RC           ;
81  sc_signal<Tspecial_address_t> ***  in_RENAME_IN_NUM_REG_RC        ;
82  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_WRITE_RD          ;
83  sc_signal<Tgeneral_address_t> ***  in_RENAME_IN_NUM_REG_RD        ;
84  sc_signal<Tcontrol_t        > ***  in_RENAME_IN_WRITE_RE          ;
85  sc_signal<Tspecial_address_t> ***  in_RENAME_IN_NUM_REG_RE        ;
86  sc_signal<Texception_t      > ***  in_RENAME_IN_EXCEPTION_USE     ;
87  sc_signal<Texception_t      > ***  in_RENAME_IN_EXCEPTION         ;
88  sc_signal<Tcontrol_t        >  ** out_INSERT_VAL                  ;
89  sc_signal<Tcontrol_t        >  **  in_INSERT_ACK                  ;
90  sc_signal<Tcontext_t        >  ** out_INSERT_FRONT_END_ID         ;
91  sc_signal<Tcontext_t        >  ** out_INSERT_CONTEXT_ID           ;
92  sc_signal<Tdepth_t          >  ** out_INSERT_DEPTH                ;
93  sc_signal<Ttype_t           >  ** out_INSERT_TYPE                 ;
94  sc_signal<Toperation_t      >  ** out_INSERT_OPERATION            ;
95  sc_signal<Tcontrol_t        >  ** out_INSERT_NO_EXECUTE           ;
96  sc_signal<Tcontrol_t        >  ** out_INSERT_LAST_EVENT           ;
97  sc_signal<Tcontrol_t        >  ** out_INSERT_IS_DELAY_SLOT        ;
98  sc_signal<Tgeneral_data_t   >  ** out_INSERT_ADDRESS              ;
99  sc_signal<Tgeneral_data_t   >  ** out_INSERT_ADDRESS_NEXT         ;
100  sc_signal<Tcontrol_t        >  ** out_INSERT_HAS_IMMEDIAT         ;
101  sc_signal<Tgeneral_data_t   >  ** out_INSERT_IMMEDIAT             ;
102  sc_signal<Tlsq_ptr_t        >  ** out_INSERT_STORE_QUEUE_PTR_WRITE;
103  sc_signal<Tlsq_ptr_t        >  ** out_INSERT_STORE_QUEUE_PTR_READ ;
104  sc_signal<Tcontrol_t        >  ** out_INSERT_STORE_QUEUE_EMPTY    ;
105  sc_signal<Tlsq_ptr_t        >  ** out_INSERT_LOAD_QUEUE_PTR_WRITE ;
106  sc_signal<Tcontrol_t        >  ** out_INSERT_READ_RA              ;
107  sc_signal<Tgeneral_address_t>  ** out_INSERT_NUM_REG_RA_LOG       ;
108  sc_signal<Tgeneral_address_t>  ** out_INSERT_NUM_REG_RA_PHY       ;
109  sc_signal<Tcontrol_t        >  ** out_INSERT_READ_RB              ;
110  sc_signal<Tgeneral_address_t>  ** out_INSERT_NUM_REG_RB_LOG       ;
111  sc_signal<Tgeneral_address_t>  ** out_INSERT_NUM_REG_RB_PHY       ;
112  sc_signal<Tcontrol_t        >  ** out_INSERT_READ_RC              ;
113  sc_signal<Tspecial_address_t>  ** out_INSERT_NUM_REG_RC_LOG       ;
114  sc_signal<Tspecial_address_t>  ** out_INSERT_NUM_REG_RC_PHY       ;
115  sc_signal<Tcontrol_t        >  ** out_INSERT_WRITE_RD             ;
116  sc_signal<Tgeneral_address_t>  ** out_INSERT_NUM_REG_RD_LOG       ;
117  sc_signal<Tgeneral_address_t>  ** out_INSERT_NUM_REG_RD_PHY_OLD   ;
118  sc_signal<Tgeneral_address_t>  ** out_INSERT_NUM_REG_RD_PHY_NEW   ;
119  sc_signal<Tcontrol_t        >  ** out_INSERT_WRITE_RE             ;
120  sc_signal<Tspecial_address_t>  ** out_INSERT_NUM_REG_RE_LOG       ;
121  sc_signal<Tspecial_address_t>  ** out_INSERT_NUM_REG_RE_PHY_OLD   ;
122  sc_signal<Tspecial_address_t>  ** out_INSERT_NUM_REG_RE_PHY_NEW   ;
123  sc_signal<Texception_t      >  ** out_INSERT_EXCEPTION_USE        ;
124  sc_signal<Texception_t      >  ** out_INSERT_EXCEPTION            ;
125  sc_signal<Tcontrol_t        >  **  in_RETIRE_VAL                  ;
126  sc_signal<Tcontrol_t        >  ** out_RETIRE_ACK                  ;
127  sc_signal<Tcontext_t        >  **  in_RETIRE_FRONT_END_ID         ;
128  sc_signal<Tcontext_t        >  **  in_RETIRE_CONTEXT_ID           ;
129//sc_signal<Ttype_t           >  **  in_RETIRE_TYPE                 ;
130//sc_signal<Toperation_t      >  **  in_RETIRE_OPERATION            ;
131  sc_signal<Tcontrol_t        >  **  in_RETIRE_USE_STORE_QUEUE      ;
132  sc_signal<Tcontrol_t        >  **  in_RETIRE_USE_LOAD_QUEUE       ;
133  sc_signal<Tlsq_ptr_t        >  **  in_RETIRE_STORE_QUEUE_PTR_WRITE;
134  sc_signal<Tlsq_ptr_t        >  **  in_RETIRE_LOAD_QUEUE_PTR_WRITE ;
135  sc_signal<Tcontrol_t        >  **  in_RETIRE_READ_RA              ;
136  sc_signal<Tgeneral_address_t>  **  in_RETIRE_NUM_REG_RA_PHY       ;
137  sc_signal<Tcontrol_t        >  **  in_RETIRE_READ_RB              ;
138  sc_signal<Tgeneral_address_t>  **  in_RETIRE_NUM_REG_RB_PHY       ;
139  sc_signal<Tcontrol_t        >  **  in_RETIRE_READ_RC              ;
140  sc_signal<Tspecial_address_t>  **  in_RETIRE_NUM_REG_RC_PHY       ;
141  sc_signal<Tcontrol_t        >  **  in_RETIRE_WRITE_RD             ;
142  sc_signal<Tgeneral_address_t>  **  in_RETIRE_NUM_REG_RD_LOG       ;
143  sc_signal<Tgeneral_address_t>  **  in_RETIRE_NUM_REG_RD_PHY_OLD   ;
144  sc_signal<Tgeneral_address_t>  **  in_RETIRE_NUM_REG_RD_PHY_NEW   ;
145  sc_signal<Tcontrol_t        >  **  in_RETIRE_WRITE_RE             ;
146  sc_signal<Tspecial_address_t>  **  in_RETIRE_NUM_REG_RE_LOG       ;
147  sc_signal<Tspecial_address_t>  **  in_RETIRE_NUM_REG_RE_PHY_OLD   ;
148  sc_signal<Tspecial_address_t>  **  in_RETIRE_NUM_REG_RE_PHY_NEW   ;
149  sc_signal<Tcontrol_t        > ***  in_RETIRE_EVENT_VAL            ;
150  sc_signal<Tcontrol_t        > *** out_RETIRE_EVENT_ACK            ;
151  sc_signal<Tevent_state_t    > ***  in_RETIRE_EVENT_STATE          ;
152  sc_signal<Tspr_t            > ***  in_SPR_READ_SR                 ;
153  sc_signal<bool              >   *  in_INFO_ROB_EMPTY              ;
154
155  ALLOC2_SC_SIGNAL( in_RENAME_IN_VAL               ," in_RENAME_IN_VAL               ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
156  ALLOC2_SC_SIGNAL(out_RENAME_IN_ACK               ,"out_RENAME_IN_ACK               ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
157  ALLOC2_SC_SIGNAL( in_RENAME_IN_FRONT_END_ID      ," in_RENAME_IN_FRONT_END_ID      ",Tcontext_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
158  ALLOC2_SC_SIGNAL( in_RENAME_IN_CONTEXT_ID        ," in_RENAME_IN_CONTEXT_ID        ",Tcontext_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
159  ALLOC2_SC_SIGNAL( in_RENAME_IN_DEPTH             ," in_RENAME_IN_DEPTH             ",Tdepth_t          ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
160  ALLOC2_SC_SIGNAL( in_RENAME_IN_TYPE              ," in_RENAME_IN_TYPE              ",Ttype_t           ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
161  ALLOC2_SC_SIGNAL( in_RENAME_IN_OPERATION         ," in_RENAME_IN_OPERATION         ",Toperation_t      ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
162  ALLOC2_SC_SIGNAL( in_RENAME_IN_NO_EXECUTE        ," in_RENAME_IN_NO_EXECUTE        ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
163  ALLOC2_SC_SIGNAL( in_RENAME_IN_LAST_EVENT        ," in_RENAME_IN_LAST_EVENT        ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
164  ALLOC2_SC_SIGNAL( in_RENAME_IN_IS_DELAY_SLOT     ," in_RENAME_IN_IS_DELAY_SLOT     ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
165  ALLOC2_SC_SIGNAL( in_RENAME_IN_ADDRESS           ," in_RENAME_IN_ADDRESS           ",Tgeneral_data_t   ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
166  ALLOC2_SC_SIGNAL( in_RENAME_IN_ADDRESS_NEXT      ," in_RENAME_IN_ADDRESS_NEXT      ",Tgeneral_data_t   ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
167  ALLOC2_SC_SIGNAL( in_RENAME_IN_HAS_IMMEDIAT      ," in_RENAME_IN_HAS_IMMEDIAT      ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
168  ALLOC2_SC_SIGNAL( in_RENAME_IN_IMMEDIAT          ," in_RENAME_IN_IMMEDIAT          ",Tgeneral_data_t   ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
169  ALLOC2_SC_SIGNAL( in_RENAME_IN_READ_RA           ," in_RENAME_IN_READ_RA           ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
170  ALLOC2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RA        ," in_RENAME_IN_NUM_REG_RA        ",Tgeneral_address_t,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
171  ALLOC2_SC_SIGNAL( in_RENAME_IN_READ_RB           ," in_RENAME_IN_READ_RB           ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
172  ALLOC2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RB        ," in_RENAME_IN_NUM_REG_RB        ",Tgeneral_address_t,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
173  ALLOC2_SC_SIGNAL( in_RENAME_IN_READ_RC           ," in_RENAME_IN_READ_RC           ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
174  ALLOC2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RC        ," in_RENAME_IN_NUM_REG_RC        ",Tspecial_address_t,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
175  ALLOC2_SC_SIGNAL( in_RENAME_IN_WRITE_RD          ," in_RENAME_IN_WRITE_RD          ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
176  ALLOC2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RD        ," in_RENAME_IN_NUM_REG_RD        ",Tgeneral_address_t,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
177  ALLOC2_SC_SIGNAL( in_RENAME_IN_WRITE_RE          ," in_RENAME_IN_WRITE_RE          ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
178  ALLOC2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RE        ," in_RENAME_IN_NUM_REG_RE        ",Tspecial_address_t,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
179  ALLOC2_SC_SIGNAL( in_RENAME_IN_EXCEPTION_USE     ," in_RENAME_IN_EXCEPTION_USE     ",Texception_t      ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
180  ALLOC2_SC_SIGNAL( in_RENAME_IN_EXCEPTION         ," in_RENAME_IN_EXCEPTION         ",Texception_t      ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
181  ALLOC1_SC_SIGNAL(out_INSERT_VAL                  ,"out_INSERT_VAL                  ",Tcontrol_t        ,_param->_nb_inst_insert);
182  ALLOC1_SC_SIGNAL( in_INSERT_ACK                  ," in_INSERT_ACK                  ",Tcontrol_t        ,_param->_nb_inst_insert);
183  ALLOC1_SC_SIGNAL(out_INSERT_FRONT_END_ID         ,"out_INSERT_FRONT_END_ID         ",Tcontext_t        ,_param->_nb_inst_insert);
184  ALLOC1_SC_SIGNAL(out_INSERT_CONTEXT_ID           ,"out_INSERT_CONTEXT_ID           ",Tcontext_t        ,_param->_nb_inst_insert);
185  ALLOC1_SC_SIGNAL(out_INSERT_DEPTH                ,"out_INSERT_DEPTH                ",Tdepth_t          ,_param->_nb_inst_insert);
186  ALLOC1_SC_SIGNAL(out_INSERT_TYPE                 ,"out_INSERT_TYPE                 ",Ttype_t           ,_param->_nb_inst_insert);
187  ALLOC1_SC_SIGNAL(out_INSERT_OPERATION            ,"out_INSERT_OPERATION            ",Toperation_t      ,_param->_nb_inst_insert);
188  ALLOC1_SC_SIGNAL(out_INSERT_NO_EXECUTE           ,"out_INSERT_NO_EXECUTE           ",Tcontrol_t        ,_param->_nb_inst_insert);
189  ALLOC1_SC_SIGNAL(out_INSERT_LAST_EVENT           ,"out_INSERT_LAST_EVENT           ",Tcontrol_t        ,_param->_nb_inst_insert);
190  ALLOC1_SC_SIGNAL(out_INSERT_IS_DELAY_SLOT        ,"out_INSERT_IS_DELAY_SLOT        ",Tcontrol_t        ,_param->_nb_inst_insert);
191  ALLOC1_SC_SIGNAL(out_INSERT_ADDRESS              ,"out_INSERT_ADDRESS              ",Tgeneral_data_t   ,_param->_nb_inst_insert);
192  ALLOC1_SC_SIGNAL(out_INSERT_ADDRESS_NEXT         ,"out_INSERT_ADDRESS_NEXT         ",Tgeneral_data_t   ,_param->_nb_inst_insert);
193  ALLOC1_SC_SIGNAL(out_INSERT_HAS_IMMEDIAT         ,"out_INSERT_HAS_IMMEDIAT         ",Tcontrol_t        ,_param->_nb_inst_insert);
194  ALLOC1_SC_SIGNAL(out_INSERT_IMMEDIAT             ,"out_INSERT_IMMEDIAT             ",Tgeneral_data_t   ,_param->_nb_inst_insert);
195  ALLOC1_SC_SIGNAL(out_INSERT_STORE_QUEUE_PTR_WRITE,"out_INSERT_STORE_QUEUE_PTR_WRITE",Tlsq_ptr_t        ,_param->_nb_inst_insert);
196  ALLOC1_SC_SIGNAL(out_INSERT_STORE_QUEUE_PTR_READ ,"out_INSERT_STORE_QUEUE_PTR_READ ",Tlsq_ptr_t        ,_param->_nb_inst_insert);
197  ALLOC1_SC_SIGNAL(out_INSERT_STORE_QUEUE_EMPTY    ,"out_INSERT_STORE_QUEUE_EMPTY    ",Tcontrol_t        ,_param->_nb_inst_insert);
198  ALLOC1_SC_SIGNAL(out_INSERT_LOAD_QUEUE_PTR_WRITE ,"out_INSERT_LOAD_QUEUE_PTR_WRITE ",Tlsq_ptr_t        ,_param->_nb_inst_insert);
199  ALLOC1_SC_SIGNAL(out_INSERT_READ_RA              ,"out_INSERT_READ_RA              ",Tcontrol_t        ,_param->_nb_inst_insert);
200  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RA_LOG       ,"out_INSERT_NUM_REG_RA_LOG       ",Tgeneral_address_t,_param->_nb_inst_insert);
201  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RA_PHY       ,"out_INSERT_NUM_REG_RA_PHY       ",Tgeneral_address_t,_param->_nb_inst_insert);
202  ALLOC1_SC_SIGNAL(out_INSERT_READ_RB              ,"out_INSERT_READ_RB              ",Tcontrol_t        ,_param->_nb_inst_insert);
203  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RB_LOG       ,"out_INSERT_NUM_REG_RB_LOG       ",Tgeneral_address_t,_param->_nb_inst_insert);
204  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RB_PHY       ,"out_INSERT_NUM_REG_RB_PHY       ",Tgeneral_address_t,_param->_nb_inst_insert);
205  ALLOC1_SC_SIGNAL(out_INSERT_READ_RC              ,"out_INSERT_READ_RC              ",Tcontrol_t        ,_param->_nb_inst_insert);
206  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RC_LOG       ,"out_INSERT_NUM_REG_RC_LOG       ",Tspecial_address_t,_param->_nb_inst_insert);
207  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RC_PHY       ,"out_INSERT_NUM_REG_RC_PHY       ",Tspecial_address_t,_param->_nb_inst_insert);
208  ALLOC1_SC_SIGNAL(out_INSERT_WRITE_RD             ,"out_INSERT_WRITE_RD             ",Tcontrol_t        ,_param->_nb_inst_insert);
209  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RD_LOG       ,"out_INSERT_NUM_REG_RD_LOG       ",Tgeneral_address_t,_param->_nb_inst_insert);
210  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RD_PHY_OLD   ,"out_INSERT_NUM_REG_RD_PHY_OLD   ",Tgeneral_address_t,_param->_nb_inst_insert);
211  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RD_PHY_NEW   ,"out_INSERT_NUM_REG_RD_PHY_NEW   ",Tgeneral_address_t,_param->_nb_inst_insert);
212  ALLOC1_SC_SIGNAL(out_INSERT_WRITE_RE             ,"out_INSERT_WRITE_RE             ",Tcontrol_t        ,_param->_nb_inst_insert);
213  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RE_LOG       ,"out_INSERT_NUM_REG_RE_LOG       ",Tspecial_address_t,_param->_nb_inst_insert);
214  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RE_PHY_OLD   ,"out_INSERT_NUM_REG_RE_PHY_OLD   ",Tspecial_address_t,_param->_nb_inst_insert);
215  ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RE_PHY_NEW   ,"out_INSERT_NUM_REG_RE_PHY_NEW   ",Tspecial_address_t,_param->_nb_inst_insert);
216  ALLOC1_SC_SIGNAL(out_INSERT_EXCEPTION_USE        ,"out_INSERT_EXCEPTION_USE        ",Texception_t      ,_param->_nb_inst_insert);
217  ALLOC1_SC_SIGNAL(out_INSERT_EXCEPTION            ,"out_INSERT_EXCEPTION            ",Texception_t      ,_param->_nb_inst_insert);
218  ALLOC1_SC_SIGNAL( in_RETIRE_VAL                  ," in_RETIRE_VAL                  ",Tcontrol_t        ,_param->_nb_inst_retire);
219  ALLOC1_SC_SIGNAL(out_RETIRE_ACK                  ,"out_RETIRE_ACK                  ",Tcontrol_t        ,_param->_nb_inst_retire);
220  ALLOC1_SC_SIGNAL( in_RETIRE_FRONT_END_ID         ," in_RETIRE_FRONT_END_ID         ",Tcontext_t        ,_param->_nb_inst_retire);
221  ALLOC1_SC_SIGNAL( in_RETIRE_CONTEXT_ID           ," in_RETIRE_CONTEXT_ID           ",Tcontext_t        ,_param->_nb_inst_retire);
222//ALLOC1_SC_SIGNAL( in_RETIRE_TYPE                 ," in_RETIRE_TYPE                 ",Ttype_t           ,_param->_nb_inst_retire);
223//ALLOC1_SC_SIGNAL( in_RETIRE_OPERATION            ," in_RETIRE_OPERATION            ",Toperation_t      ,_param->_nb_inst_retire);
224  ALLOC1_SC_SIGNAL( in_RETIRE_USE_STORE_QUEUE      ," in_RETIRE_USE_STORE_QUEUE      ",Tcontrol_t        ,_param->_nb_inst_retire);
225  ALLOC1_SC_SIGNAL( in_RETIRE_USE_LOAD_QUEUE       ," in_RETIRE_USE_LOAD_QUEUE       ",Tcontrol_t        ,_param->_nb_inst_retire);
226  ALLOC1_SC_SIGNAL( in_RETIRE_STORE_QUEUE_PTR_WRITE," in_RETIRE_STORE_QUEUE_PTR_WRITE",Tlsq_ptr_t        ,_param->_nb_inst_retire);
227  ALLOC1_SC_SIGNAL( in_RETIRE_LOAD_QUEUE_PTR_WRITE ," in_RETIRE_LOAD_QUEUE_PTR_WRITE ",Tlsq_ptr_t        ,_param->_nb_inst_retire);
228//   ALLOC1_SC_SIGNAL( in_RETIRE_READ_RA              ," in_RETIRE_READ_RA              ",Tcontrol_t        ,_param->_nb_inst_retire);
229//   ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RA_PHY       ," in_RETIRE_NUM_REG_RA_PHY       ",Tgeneral_address_t,_param->_nb_inst_retire);
230//   ALLOC1_SC_SIGNAL( in_RETIRE_READ_RB              ," in_RETIRE_READ_RB              ",Tcontrol_t        ,_param->_nb_inst_retire);
231//   ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RB_PHY       ," in_RETIRE_NUM_REG_RB_PHY       ",Tgeneral_address_t,_param->_nb_inst_retire);
232//   ALLOC1_SC_SIGNAL( in_RETIRE_READ_RC              ," in_RETIRE_READ_RC              ",Tcontrol_t        ,_param->_nb_inst_retire);
233//   ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RC_PHY       ," in_RETIRE_NUM_REG_RC_PHY       ",Tspecial_address_t,_param->_nb_inst_retire);
234  ALLOC1_SC_SIGNAL( in_RETIRE_WRITE_RD             ," in_RETIRE_WRITE_RD             ",Tcontrol_t        ,_param->_nb_inst_retire);
235  ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RD_LOG       ," in_RETIRE_NUM_REG_RD_LOG       ",Tgeneral_address_t,_param->_nb_inst_retire);
236  ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_OLD   ," in_RETIRE_NUM_REG_RD_PHY_OLD   ",Tgeneral_address_t,_param->_nb_inst_retire);
237  ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_NEW   ," in_RETIRE_NUM_REG_RD_PHY_NEW   ",Tgeneral_address_t,_param->_nb_inst_retire);
238  ALLOC1_SC_SIGNAL( in_RETIRE_WRITE_RE             ," in_RETIRE_WRITE_RE             ",Tcontrol_t        ,_param->_nb_inst_retire);
239  ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RE_LOG       ," in_RETIRE_NUM_REG_RE_LOG       ",Tspecial_address_t,_param->_nb_inst_retire);
240  ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_OLD   ," in_RETIRE_NUM_REG_RE_PHY_OLD   ",Tspecial_address_t,_param->_nb_inst_retire);
241  ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_NEW   ," in_RETIRE_NUM_REG_RE_PHY_NEW   ",Tspecial_address_t,_param->_nb_inst_retire);
242  ALLOC2_SC_SIGNAL( in_RETIRE_EVENT_VAL            ," in_RETIRE_EVENT_VAL            ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_context[it1]);
243  ALLOC2_SC_SIGNAL(out_RETIRE_EVENT_ACK            ,"out_RETIRE_EVENT_ACK            ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_context[it1]);
244  ALLOC2_SC_SIGNAL( in_RETIRE_EVENT_STATE          ," in_RETIRE_EVENT_STATE          ",Tevent_state_t    ,_param->_nb_front_end,_param->_nb_context[it1]);
245  ALLOC2_SC_SIGNAL( in_SPR_READ_SR                 ," in_SPR_READ_SR                 ",Tspr_t            ,_param->_nb_front_end,_param->_nb_context[it1]);
246  ALLOC0_SC_SIGNAL( in_INFO_ROB_EMPTY              ," in_INFO_ROB_EMPTY              ",bool              );
247 
248  /********************************************************
249   * Instanciation
250   ********************************************************/
251 
252  msg(_("<%s> : Instanciation of _Rename_unit.\n"),name.c_str());
253
254  (*(_Rename_unit->in_CLOCK))        (*(in_CLOCK));
255  (*(_Rename_unit->in_NRESET))       (*(in_NRESET));
256
257  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_VAL               ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
258  INSTANCE2_SC_SIGNAL(_Rename_unit,out_RENAME_IN_ACK               ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
259  if (_param->_have_port_front_end_id)
260  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_FRONT_END_ID      ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
261  if (_param->_have_port_context_id)
262  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_CONTEXT_ID        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
263  if (_param->_have_port_depth)
264  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_DEPTH             ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
265  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_TYPE              ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
266  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_OPERATION         ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
267  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_NO_EXECUTE        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
268  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_LAST_EVENT        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
269  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_IS_DELAY_SLOT     ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
270#ifdef DEBUG
271  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_ADDRESS           ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
272#endif
273  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_ADDRESS_NEXT      ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
274  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_HAS_IMMEDIAT      ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
275  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_IMMEDIAT          ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
276  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_READ_RA           ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
277  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_NUM_REG_RA        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
278  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_READ_RB           ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
279  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_NUM_REG_RB        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
280  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_READ_RC           ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
281  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_NUM_REG_RC        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
282  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_WRITE_RD          ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
283  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_NUM_REG_RD        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
284  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_WRITE_RE          ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
285  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_NUM_REG_RE        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
286  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_EXCEPTION_USE     ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
287  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RENAME_IN_EXCEPTION         ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
288
289  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_VAL                  ,_param->_nb_inst_insert);
290  INSTANCE1_SC_SIGNAL(_Rename_unit, in_INSERT_ACK                  ,_param->_nb_inst_insert);
291  if (_param->_have_port_front_end_id)
292  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_FRONT_END_ID         ,_param->_nb_inst_insert);
293  if (_param->_have_port_context_id)
294  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_CONTEXT_ID           ,_param->_nb_inst_insert);
295  if (_param->_have_port_depth)
296  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_DEPTH                ,_param->_nb_inst_insert);
297  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_TYPE                 ,_param->_nb_inst_insert);
298  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_OPERATION            ,_param->_nb_inst_insert);
299  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NO_EXECUTE           ,_param->_nb_inst_insert);
300  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_LAST_EVENT           ,_param->_nb_inst_insert);
301  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_IS_DELAY_SLOT        ,_param->_nb_inst_insert);
302#ifdef DEBUG
303  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_ADDRESS              ,_param->_nb_inst_insert);
304#endif
305  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_ADDRESS_NEXT         ,_param->_nb_inst_insert);
306  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_HAS_IMMEDIAT         ,_param->_nb_inst_insert);
307  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_IMMEDIAT             ,_param->_nb_inst_insert);
308  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_insert);
309  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_STORE_QUEUE_PTR_READ ,_param->_nb_inst_insert);
310  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_STORE_QUEUE_EMPTY    ,_param->_nb_inst_insert);
311  if (_param->_have_port_load_queue_ptr)
312  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_insert);
313  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_EXCEPTION_USE        ,_param->_nb_inst_insert);
314  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_EXCEPTION            ,_param->_nb_inst_insert);
315  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_READ_RA              ,_param->_nb_inst_insert);
316#ifdef DEBUG
317  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RA_LOG       ,_param->_nb_inst_insert);
318#endif
319  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RA_PHY       ,_param->_nb_inst_insert);
320  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_READ_RB              ,_param->_nb_inst_insert);
321#ifdef DEBUG
322  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RB_LOG       ,_param->_nb_inst_insert);
323#endif
324  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RB_PHY       ,_param->_nb_inst_insert);
325  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_READ_RC              ,_param->_nb_inst_insert);
326#ifdef DEBUG
327  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RC_LOG       ,_param->_nb_inst_insert);
328#endif
329  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RC_PHY       ,_param->_nb_inst_insert);
330  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_WRITE_RD             ,_param->_nb_inst_insert);
331  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RD_LOG       ,_param->_nb_inst_insert);
332  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RD_PHY_OLD   ,_param->_nb_inst_insert);
333  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RD_PHY_NEW   ,_param->_nb_inst_insert);
334  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_WRITE_RE             ,_param->_nb_inst_insert);
335  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RE_LOG       ,_param->_nb_inst_insert);
336  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RE_PHY_OLD   ,_param->_nb_inst_insert);
337  INSTANCE1_SC_SIGNAL(_Rename_unit,out_INSERT_NUM_REG_RE_PHY_NEW   ,_param->_nb_inst_insert);
338
339  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_VAL                  ,_param->_nb_inst_retire);
340  INSTANCE1_SC_SIGNAL(_Rename_unit,out_RETIRE_ACK                  ,_param->_nb_inst_retire);
341  if (_param->_have_port_front_end_id)
342  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_FRONT_END_ID         ,_param->_nb_inst_retire);
343  if (_param->_have_port_context_id)
344  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_CONTEXT_ID           ,_param->_nb_inst_retire);
345//INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_TYPE                 ,_param->_nb_inst_retire);
346//INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_OPERATION            ,_param->_nb_inst_retire);
347  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_USE_STORE_QUEUE      ,_param->_nb_inst_retire);
348  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_USE_LOAD_QUEUE       ,_param->_nb_inst_retire);
349  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_retire);
350  if (_param->_have_port_load_queue_ptr)
351  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_retire);
352//   INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_READ_RA              ,_param->_nb_inst_retire);
353//   INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_NUM_REG_RA_PHY       ,_param->_nb_inst_retire);
354//   INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_READ_RB              ,_param->_nb_inst_retire);
355//   INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_NUM_REG_RB_PHY       ,_param->_nb_inst_retire);
356//   INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_READ_RC              ,_param->_nb_inst_retire);
357//   INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_NUM_REG_RC_PHY       ,_param->_nb_inst_retire);
358  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_WRITE_RD             ,_param->_nb_inst_retire);
359  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_NUM_REG_RD_LOG       ,_param->_nb_inst_retire);
360  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_NUM_REG_RD_PHY_OLD   ,_param->_nb_inst_retire);
361  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_NUM_REG_RD_PHY_NEW   ,_param->_nb_inst_retire);
362  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_WRITE_RE             ,_param->_nb_inst_retire);
363  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_NUM_REG_RE_LOG       ,_param->_nb_inst_retire);
364  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_NUM_REG_RE_PHY_OLD   ,_param->_nb_inst_retire);
365  INSTANCE1_SC_SIGNAL(_Rename_unit, in_RETIRE_NUM_REG_RE_PHY_NEW   ,_param->_nb_inst_retire);
366
367  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RETIRE_EVENT_VAL            ,_param->_nb_front_end, _param->_nb_context[it1]);
368  INSTANCE2_SC_SIGNAL(_Rename_unit,out_RETIRE_EVENT_ACK            ,_param->_nb_front_end, _param->_nb_context[it1]);
369  INSTANCE2_SC_SIGNAL(_Rename_unit, in_RETIRE_EVENT_STATE          ,_param->_nb_front_end, _param->_nb_context[it1]);
370
371  INSTANCE2_SC_SIGNAL(_Rename_unit,in_SPR_READ_SR                  ,_param->_nb_front_end, _param->_nb_context[it1]);
372
373#ifdef DEBUG_TEST
374  INSTANCE0_SC_SIGNAL(_Rename_unit,in_INFO_ROB_EMPTY               );
375#endif
376
377  msg(_("<%s> : Start Simulation ............\n"),name.c_str());
378   
379  Time * _time = new Time();
380
381  /********************************************************
382   * Simulation - Begin
383   ********************************************************/
384
385  // Initialisation
386
387  const uint32_t seed = 0;
388//const uint32_t seed = static_cast<uint32_t>(time(NULL));
389
390  srand(seed);
391
392  SC_START(0);
393  LABEL("Initialisation");
394
395  LABEL("Reset");
396  in_NRESET->write(0);
397  SC_START(5);
398  in_NRESET->write(1); 
399
400#ifdef SELFTEST
401  LABEL("Loop of Test");
402
403  for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++)
404    {
405      LABEL("Iteration %d",iteration);
406
407      SC_START(1);
408    }
409#else
410  SC_START(1000);
411#endif
412
413  /********************************************************
414   * Simulation - End
415   ********************************************************/
416
417  TEST_OK ("End of Simulation");
418  delete _time;
419
420  msg(_("<%s> : ............ Stop Simulation\n"),name.c_str());
421
422  delete in_CLOCK;
423  delete in_NRESET;
424
425  DELETE2_SC_SIGNAL( in_RENAME_IN_VAL               ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
426  DELETE2_SC_SIGNAL(out_RENAME_IN_ACK               ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
427  DELETE2_SC_SIGNAL( in_RENAME_IN_FRONT_END_ID      ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
428  DELETE2_SC_SIGNAL( in_RENAME_IN_CONTEXT_ID        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
429  DELETE2_SC_SIGNAL( in_RENAME_IN_DEPTH             ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
430  DELETE2_SC_SIGNAL( in_RENAME_IN_TYPE              ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
431  DELETE2_SC_SIGNAL( in_RENAME_IN_OPERATION         ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
432  DELETE2_SC_SIGNAL( in_RENAME_IN_NO_EXECUTE        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
433  DELETE2_SC_SIGNAL( in_RENAME_IN_LAST_EVENT        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
434  DELETE2_SC_SIGNAL( in_RENAME_IN_IS_DELAY_SLOT     ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
435  DELETE2_SC_SIGNAL( in_RENAME_IN_ADDRESS           ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
436  DELETE2_SC_SIGNAL( in_RENAME_IN_ADDRESS_NEXT      ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
437  DELETE2_SC_SIGNAL( in_RENAME_IN_HAS_IMMEDIAT      ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
438  DELETE2_SC_SIGNAL( in_RENAME_IN_IMMEDIAT          ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
439  DELETE2_SC_SIGNAL( in_RENAME_IN_READ_RA           ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
440  DELETE2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RA        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
441  DELETE2_SC_SIGNAL( in_RENAME_IN_READ_RB           ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
442  DELETE2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RB        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
443  DELETE2_SC_SIGNAL( in_RENAME_IN_READ_RC           ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
444  DELETE2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RC        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
445  DELETE2_SC_SIGNAL( in_RENAME_IN_WRITE_RD          ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
446  DELETE2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RD        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
447  DELETE2_SC_SIGNAL( in_RENAME_IN_WRITE_RE          ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
448  DELETE2_SC_SIGNAL( in_RENAME_IN_NUM_REG_RE        ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
449  DELETE2_SC_SIGNAL( in_RENAME_IN_EXCEPTION_USE     ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
450  DELETE2_SC_SIGNAL( in_RENAME_IN_EXCEPTION         ,_param->_nb_front_end, _param->_nb_inst_decod[it1]);
451 
452  DELETE1_SC_SIGNAL(out_INSERT_VAL                  ,_param->_nb_inst_insert);
453  DELETE1_SC_SIGNAL( in_INSERT_ACK                  ,_param->_nb_inst_insert);
454  DELETE1_SC_SIGNAL(out_INSERT_FRONT_END_ID         ,_param->_nb_inst_insert);
455  DELETE1_SC_SIGNAL(out_INSERT_CONTEXT_ID           ,_param->_nb_inst_insert);
456  DELETE1_SC_SIGNAL(out_INSERT_DEPTH                ,_param->_nb_inst_insert);
457  DELETE1_SC_SIGNAL(out_INSERT_TYPE                 ,_param->_nb_inst_insert);
458  DELETE1_SC_SIGNAL(out_INSERT_OPERATION            ,_param->_nb_inst_insert);
459  DELETE1_SC_SIGNAL(out_INSERT_NO_EXECUTE           ,_param->_nb_inst_insert);
460  DELETE1_SC_SIGNAL(out_INSERT_LAST_EVENT           ,_param->_nb_inst_insert);
461  DELETE1_SC_SIGNAL(out_INSERT_IS_DELAY_SLOT        ,_param->_nb_inst_insert);
462  DELETE1_SC_SIGNAL(out_INSERT_ADDRESS              ,_param->_nb_inst_insert);
463  DELETE1_SC_SIGNAL(out_INSERT_ADDRESS_NEXT         ,_param->_nb_inst_insert);
464  DELETE1_SC_SIGNAL(out_INSERT_HAS_IMMEDIAT         ,_param->_nb_inst_insert);
465  DELETE1_SC_SIGNAL(out_INSERT_IMMEDIAT             ,_param->_nb_inst_insert);
466  DELETE1_SC_SIGNAL(out_INSERT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_insert);
467  DELETE1_SC_SIGNAL(out_INSERT_STORE_QUEUE_PTR_READ ,_param->_nb_inst_insert);
468  DELETE1_SC_SIGNAL(out_INSERT_STORE_QUEUE_EMPTY    ,_param->_nb_inst_insert);
469  DELETE1_SC_SIGNAL(out_INSERT_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_insert);
470  DELETE1_SC_SIGNAL(out_INSERT_EXCEPTION_USE        ,_param->_nb_inst_insert);
471  DELETE1_SC_SIGNAL(out_INSERT_EXCEPTION            ,_param->_nb_inst_insert);
472  DELETE1_SC_SIGNAL(out_INSERT_READ_RA              ,_param->_nb_inst_insert);
473  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RA_LOG       ,_param->_nb_inst_insert);
474  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RA_PHY       ,_param->_nb_inst_insert);
475  DELETE1_SC_SIGNAL(out_INSERT_READ_RB              ,_param->_nb_inst_insert);
476  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RB_LOG       ,_param->_nb_inst_insert);
477  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RB_PHY       ,_param->_nb_inst_insert);
478  DELETE1_SC_SIGNAL(out_INSERT_READ_RC              ,_param->_nb_inst_insert);
479  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RC_LOG       ,_param->_nb_inst_insert);
480  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RC_PHY       ,_param->_nb_inst_insert);
481  DELETE1_SC_SIGNAL(out_INSERT_WRITE_RD             ,_param->_nb_inst_insert);
482  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RD_LOG       ,_param->_nb_inst_insert);
483  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RD_PHY_OLD   ,_param->_nb_inst_insert);
484  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RD_PHY_NEW   ,_param->_nb_inst_insert);
485  DELETE1_SC_SIGNAL(out_INSERT_WRITE_RE             ,_param->_nb_inst_insert);
486  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RE_LOG       ,_param->_nb_inst_insert);
487  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RE_PHY_OLD   ,_param->_nb_inst_insert);
488  DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RE_PHY_NEW   ,_param->_nb_inst_insert);
489 
490  DELETE1_SC_SIGNAL( in_RETIRE_VAL                  ,_param->_nb_inst_retire);
491  DELETE1_SC_SIGNAL(out_RETIRE_ACK                  ,_param->_nb_inst_retire);
492  DELETE1_SC_SIGNAL( in_RETIRE_FRONT_END_ID         ,_param->_nb_inst_retire);
493  DELETE1_SC_SIGNAL( in_RETIRE_CONTEXT_ID           ,_param->_nb_inst_retire);
494//DELETE1_SC_SIGNAL( in_RETIRE_TYPE                 ,_param->_nb_inst_retire);
495//DELETE1_SC_SIGNAL( in_RETIRE_OPERATION            ,_param->_nb_inst_retire);
496  DELETE1_SC_SIGNAL( in_RETIRE_USE_STORE_QUEUE      ,_param->_nb_inst_retire);
497  DELETE1_SC_SIGNAL( in_RETIRE_USE_LOAD_QUEUE       ,_param->_nb_inst_retire);
498  DELETE1_SC_SIGNAL( in_RETIRE_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_retire);
499  DELETE1_SC_SIGNAL( in_RETIRE_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_retire);
500//   DELETE1_SC_SIGNAL( in_RETIRE_READ_RA              ,_param->_nb_inst_retire);
501//   DELETE1_SC_SIGNAL( in_RETIRE_NUM_REG_RA_PHY       ,_param->_nb_inst_retire);
502//   DELETE1_SC_SIGNAL( in_RETIRE_READ_RB              ,_param->_nb_inst_retire);
503//   DELETE1_SC_SIGNAL( in_RETIRE_NUM_REG_RB_PHY       ,_param->_nb_inst_retire);
504//   DELETE1_SC_SIGNAL( in_RETIRE_READ_RC              ,_param->_nb_inst_retire);
505//   DELETE1_SC_SIGNAL( in_RETIRE_NUM_REG_RC_PHY       ,_param->_nb_inst_retire);
506  DELETE1_SC_SIGNAL( in_RETIRE_WRITE_RD             ,_param->_nb_inst_retire);
507  DELETE1_SC_SIGNAL( in_RETIRE_NUM_REG_RD_LOG       ,_param->_nb_inst_retire);
508  DELETE1_SC_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_OLD   ,_param->_nb_inst_retire);
509  DELETE1_SC_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_NEW   ,_param->_nb_inst_retire);
510  DELETE1_SC_SIGNAL( in_RETIRE_WRITE_RE             ,_param->_nb_inst_retire);
511  DELETE1_SC_SIGNAL( in_RETIRE_NUM_REG_RE_LOG       ,_param->_nb_inst_retire);
512  DELETE1_SC_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_OLD   ,_param->_nb_inst_retire);
513  DELETE1_SC_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_NEW   ,_param->_nb_inst_retire);
514 
515  DELETE2_SC_SIGNAL( in_RETIRE_EVENT_VAL            ,_param->_nb_front_end, _param->_nb_context[it1]);
516  DELETE2_SC_SIGNAL(out_RETIRE_EVENT_ACK            ,_param->_nb_front_end, _param->_nb_context[it1]);
517  DELETE2_SC_SIGNAL( in_RETIRE_EVENT_STATE          ,_param->_nb_front_end, _param->_nb_context[it1]);
518
519  DELETE2_SC_SIGNAL(in_SPR_READ_SR                  ,_param->_nb_front_end, _param->_nb_context[it1]);
520
521  DELETE0_SC_SIGNAL(in_INFO_ROB_EMPTY               );
522    }
523#endif
524
525  delete _Rename_unit;
526#ifdef STATISTICS
527  delete _parameters_statistics;
528#endif
529}
Note: See TracBrowser for help on using the repository browser.