source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp @ 60

Last change on this file since 60 was 60, checked in by rosiere, 17 years ago
File size: 16.3 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h"
9
10namespace morpheo                    {
11namespace behavioural {
12namespace core {
13namespace multi_execute_loop {
14namespace execute_loop {
15namespace register_unit {
16namespace register_unit_glue {
17
18
19#undef  FUNCTION
20#define FUNCTION "Register_unit_Glue::Register_unit_Glue"
21  Register_unit_Glue::Register_unit_Glue
22  (
23#ifdef SYSTEMC
24   sc_module_name name,
25#else
26   string name,
27#endif
28#ifdef STATISTICS
29   morpheo::behavioural::Parameters_Statistics * param_statistics,
30#endif
31   morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters * param,
32   morpheo::behavioural::Tusage_t usage
33   ):
34    _name              (name)
35    ,_param            (param)
36    ,_usage            (usage)
37// #ifdef STATISTICS
38//                            ,_param_statistics (param_statistics)
39// #endif
40  {
41    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
42
43    log_printf(INFO,Register_unit_Glue,FUNCTION,"Allocation");
44    allocation ();
45
46#ifdef STATISTICS
47    log_printf(INFO,Register_unit_Glue,FUNCTION,"Allocation of statistics");
48
49    // Allocation of statistics
50    _stat = new Statistics (static_cast<string>(_name),
51                            param_statistics          ,
52                            param);
53#endif
54
55#ifdef VHDL
56    // generate the vhdl
57    log_printf(INFO,Register_unit_Glue,FUNCTION,"Generate the vhdl");
58
59    vhdl();
60#endif
61
62#ifdef SYSTEMC
63    // Constant
64
65    PORT_WRITE(out_CONST_0 ,0);
66    PORT_WRITE(out_CONST_1 ,1);
67
68//#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
69
70    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - transition");
71
72    SC_METHOD (transition);
73    dont_initialize ();
74    sensitive_pos << *(in_CLOCK);
75//#endif
76
77#ifdef SYSTEMCASS_SPECIFIC
78    // List dependency information
79#endif   
80
81    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_gpr_read");
82
83    SC_METHOD (genMealy_gpr_read);
84    dont_initialize ();
85    sensitive_neg << *(in_CLOCK);
86    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
87      {
88        sensitive << *(in_GPR_READ_VAL           [j]);
89        if (_param->_have_port_ooo_engine_id == true)
90          sensitive << *(in_GPR_READ_OOO_ENGINE_ID [j]);
91
92        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
93          sensitive << *(in_GPR_READ_REGISTERFILE_ACK  [i][j])
94                    << *(in_GPR_READ_REGISTERFILE_DATA [i][j])
95                    << *(in_GPR_READ_STATUS_ACK        [i][j])
96                    << *(in_GPR_READ_STATUS_DATA_VAL   [i][j]);
97      }
98//#endif
99
100#ifdef SYSTEMCASS_SPECIFIC
101    // List dependency information
102    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
103      {
104        if (_param->_have_port_ooo_engine_id == true)
105          {
106            (*(out_GPR_READ_ACK                  [j])) (*( in_GPR_READ_OOO_ENGINE_ID        [j]));
107            (*(out_GPR_READ_DATA_VAL             [j])) (*( in_GPR_READ_OOO_ENGINE_ID        [j]));
108            (*(out_GPR_READ_DATA                 [j])) (*( in_GPR_READ_OOO_ENGINE_ID        [j]));
109          }
110        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
111          {
112            (*(out_GPR_READ_ACK                  [j])) (*( in_GPR_READ_REGISTERFILE_ACK  [i][j]));
113            (*(out_GPR_READ_ACK                  [j])) (*( in_GPR_READ_STATUS_ACK        [i][j]));
114            (*(out_GPR_READ_DATA                 [j])) (*( in_GPR_READ_REGISTERFILE_DATA [i][j]));
115            (*(out_GPR_READ_DATA_VAL             [j])) (*( in_GPR_READ_STATUS_DATA_VAL   [i][j]));     
116
117            (*(out_GPR_READ_REGISTERFILE_VAL  [i][j])) (*( in_GPR_READ_VAL                  [j]));
118            (*(out_GPR_READ_REGISTERFILE_VAL  [i][j])) (*( in_GPR_READ_STATUS_ACK        [i][j]));
119            if (_param->_have_port_ooo_engine_id == true)
120            (*(out_GPR_READ_REGISTERFILE_VAL  [i][j])) (*( in_GPR_READ_OOO_ENGINE_ID        [j]));
121
122            (*(out_GPR_READ_STATUS_VAL        [i][j])) (*( in_GPR_READ_VAL                  [j]));
123            (*(out_GPR_READ_STATUS_VAL        [i][j])) (*( in_GPR_READ_REGISTERFILE_ACK  [i][j]));
124            if (_param->_have_port_ooo_engine_id == true)
125            (*(out_GPR_READ_STATUS_VAL        [i][j])) (*( in_GPR_READ_OOO_ENGINE_ID        [j]));
126          }
127      }
128#endif   
129
130    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_gpr_write");
131
132    SC_METHOD (genMealy_gpr_write);
133    dont_initialize ();
134    sensitive_neg << *(in_CLOCK);
135    for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
136      {
137        sensitive << *(in_GPR_WRITE_VAL           [j]);
138        if (_param->_have_port_ooo_engine_id == true)
139          sensitive << *(in_GPR_WRITE_OOO_ENGINE_ID [j]);
140
141        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
142          sensitive << *(in_GPR_WRITE_REGISTERFILE_ACK  [i][j])
143                    << *(in_GPR_WRITE_STATUS_ACK        [i][j]);
144      }
145//#endif
146
147#ifdef SYSTEMCASS_SPECIFIC
148    // List dependency information
149    for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
150      {
151        if (_param->_have_port_ooo_engine_id == true)
152        (*(out_GPR_WRITE_ACK                  [j])) (*( in_GPR_WRITE_OOO_ENGINE_ID        [j]));
153                   
154        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
155          {
156            (*(out_GPR_WRITE_ACK                  [j])) (*( in_GPR_WRITE_REGISTERFILE_ACK  [i][j]));
157            (*(out_GPR_WRITE_ACK                  [j])) (*( in_GPR_WRITE_STATUS_ACK        [i][j]));
158
159            (*(out_GPR_WRITE_REGISTERFILE_VAL  [i][j])) (*( in_GPR_WRITE_VAL                  [j]));
160            (*(out_GPR_WRITE_REGISTERFILE_VAL  [i][j])) (*( in_GPR_WRITE_STATUS_ACK        [i][j]));
161            if (_param->_have_port_ooo_engine_id == true)
162            (*(out_GPR_WRITE_REGISTERFILE_VAL  [i][j])) (*( in_GPR_WRITE_OOO_ENGINE_ID        [j]));
163           
164            (*(out_GPR_WRITE_STATUS_VAL        [i][j])) (*( in_GPR_WRITE_VAL                  [j]));
165            (*(out_GPR_WRITE_STATUS_VAL        [i][j])) (*( in_GPR_WRITE_REGISTERFILE_ACK  [i][j]));
166            if (_param->_have_port_ooo_engine_id == true)
167            (*(out_GPR_WRITE_STATUS_VAL        [i][j])) (*( in_GPR_WRITE_OOO_ENGINE_ID        [j]));
168          }
169      }
170#endif   
171
172//     log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_gpr_write_status");
173
174//     SC_METHOD (genMealy_gpr_write_status);
175//     dont_initialize ();
176//     sensitive_neg << *(in_CLOCK);
177//     for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
178//       {
179//      sensitive << *(in_GPR_WRITE_VAL           [j]);
180//      if (_param->_have_port_ooo_engine_id == true)
181//        sensitive << *(in_GPR_WRITE_OOO_ENGINE_ID [j]);
182
183//      for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
184//        sensitive << *(in_GPR_WRITE_REGISTERFILE_ACK  [i][j]);
185//       }
186// //#endif
187
188// #ifdef SYSTEMCASS_SPECIFIC
189//     // List dependency information
190//     for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
191//       {
192//      for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
193//        {
194//          (*(out_GPR_WRITE_STATUS_VAL        [i][j])) (*( in_GPR_WRITE_VAL                  [j]));
195//          (*(out_GPR_WRITE_STATUS_VAL        [i][j])) (*( in_GPR_WRITE_REGISTERFILE_ACK  [i][j]));
196//          if (_param->_have_port_ooo_engine_id == true)
197//          (*(out_GPR_WRITE_STATUS_VAL        [i][j])) (*( in_GPR_WRITE_OOO_ENGINE_ID        [j]));
198//        }
199//       }
200// #endif   
201
202    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_spr_read");
203
204    SC_METHOD (genMealy_spr_read);
205    dont_initialize ();
206    sensitive_neg << *(in_CLOCK);
207    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
208      {
209        sensitive << *(in_SPR_READ_VAL           [j]);
210        if (_param->_have_port_ooo_engine_id == true)
211          sensitive << *(in_SPR_READ_OOO_ENGINE_ID [j]);
212
213        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
214          sensitive << *(in_SPR_READ_REGISTERFILE_ACK  [i][j])
215                    << *(in_SPR_READ_REGISTERFILE_DATA [i][j])
216                    << *(in_SPR_READ_STATUS_ACK        [i][j])
217                    << *(in_SPR_READ_STATUS_DATA_VAL   [i][j]);
218      }
219//#endif
220
221#ifdef SYSTEMCASS_SPECIFIC
222    // List dependency information
223    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
224      {
225        if (_param->_have_port_ooo_engine_id == true)
226          {
227            (*(out_SPR_READ_ACK                  [j])) (*( in_SPR_READ_OOO_ENGINE_ID        [j]));
228            (*(out_SPR_READ_DATA_VAL             [j])) (*( in_SPR_READ_OOO_ENGINE_ID        [j]));
229            (*(out_SPR_READ_DATA                 [j])) (*( in_SPR_READ_OOO_ENGINE_ID        [j]));
230          }
231        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
232          {
233            (*(out_SPR_READ_ACK                  [j])) (*( in_SPR_READ_REGISTERFILE_ACK  [i][j]));
234            (*(out_SPR_READ_ACK                  [j])) (*( in_SPR_READ_STATUS_ACK        [i][j]));
235            (*(out_SPR_READ_DATA                 [j])) (*( in_SPR_READ_REGISTERFILE_DATA [i][j]));
236            (*(out_SPR_READ_DATA_VAL             [j])) (*( in_SPR_READ_STATUS_DATA_VAL   [i][j]));     
237
238            (*(out_SPR_READ_REGISTERFILE_VAL  [i][j])) (*( in_SPR_READ_VAL                  [j]));
239            (*(out_SPR_READ_REGISTERFILE_VAL  [i][j])) (*( in_SPR_READ_STATUS_ACK        [i][j]));
240            if (_param->_have_port_ooo_engine_id == true)
241            (*(out_SPR_READ_REGISTERFILE_VAL  [i][j])) (*( in_SPR_READ_OOO_ENGINE_ID        [j]));
242           
243            (*(out_SPR_READ_STATUS_VAL        [i][j])) (*( in_SPR_READ_VAL                  [j]));
244            (*(out_SPR_READ_STATUS_VAL        [i][j])) (*( in_SPR_READ_REGISTERFILE_ACK  [i][j]));
245            if (_param->_have_port_ooo_engine_id == true)
246            (*(out_SPR_READ_STATUS_VAL        [i][j])) (*( in_SPR_READ_OOO_ENGINE_ID        [j]));
247          }
248      }
249#endif   
250
251    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_spr_write");
252
253    SC_METHOD (genMealy_spr_write);
254    dont_initialize ();
255    sensitive_neg << *(in_CLOCK);
256    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
257      {
258        sensitive << *(in_SPR_WRITE_VAL           [j]);
259        if (_param->_have_port_ooo_engine_id == true)
260          sensitive << *(in_SPR_WRITE_OOO_ENGINE_ID [j]);
261
262        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
263          sensitive << *(in_SPR_WRITE_REGISTERFILE_ACK  [i][j])
264                    << *(in_SPR_WRITE_STATUS_ACK        [i][j]);
265      }
266//#endif
267
268#ifdef SYSTEMCASS_SPECIFIC
269    // List dependency information
270    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
271      {
272        if (_param->_have_port_ooo_engine_id == true)
273        (*(out_SPR_WRITE_ACK                  [j])) (*( in_SPR_WRITE_OOO_ENGINE_ID        [j]));
274                   
275        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
276          {
277            (*(out_SPR_WRITE_ACK                  [j])) (*( in_SPR_WRITE_REGISTERFILE_ACK  [i][j]));
278            (*(out_SPR_WRITE_ACK                  [j])) (*( in_SPR_WRITE_STATUS_ACK        [i][j]));
279
280            (*(out_SPR_WRITE_REGISTERFILE_VAL  [i][j])) (*( in_SPR_WRITE_VAL                  [j]));
281            (*(out_SPR_WRITE_REGISTERFILE_VAL  [i][j])) (*( in_SPR_WRITE_STATUS_ACK        [i][j]));
282            if (_param->_have_port_ooo_engine_id == true)
283            (*(out_SPR_WRITE_REGISTERFILE_VAL  [i][j])) (*( in_SPR_WRITE_OOO_ENGINE_ID        [j]));
284           
285            (*(out_SPR_WRITE_STATUS_VAL        [i][j])) (*( in_SPR_WRITE_VAL                  [j]));
286            (*(out_SPR_WRITE_STATUS_VAL        [i][j])) (*( in_SPR_WRITE_REGISTERFILE_ACK  [i][j]));
287            if (_param->_have_port_ooo_engine_id == true)
288            (*(out_SPR_WRITE_STATUS_VAL        [i][j])) (*( in_SPR_WRITE_OOO_ENGINE_ID        [j]));
289          }
290      }
291#endif   
292
293    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_insert");
294
295    SC_METHOD (genMealy_insert);
296    dont_initialize ();
297    sensitive_neg << *(in_CLOCK);
298    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
299      {
300        uint32_t x=_param->_nb_inst_insert_rob [i];
301        for (uint32_t j=0; j<x; j++)
302          sensitive << *( in_INSERT_ROB_VAL            [i][j])
303                    << *( in_INSERT_ROB_RD_USE         [i][j]) 
304                    << *( in_INSERT_ROB_RE_USE         [i][j]) 
305                    << *( in_INSERT_ROB_GPR_STATUS_ACK [i][j])
306                    << *( in_INSERT_ROB_SPR_STATUS_ACK [i][j]);
307      }
308#ifdef SYSTEMCASS_SPECIFIC
309    // List dependency information
310    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
311      {
312        uint32_t x=_param->_nb_inst_insert_rob [i];
313        for (uint32_t j=0; j<x; j++)
314          {
315            (*(out_INSERT_ROB_ACK            [i][j]))(*( in_INSERT_ROB_GPR_STATUS_ACK [i][j]));
316            (*(out_INSERT_ROB_ACK            [i][j]))(*( in_INSERT_ROB_SPR_STATUS_ACK [i][j]));
317
318            (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_VAL            [i][j]));
319            (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_RD_USE         [i][j])); 
320            (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_SPR_STATUS_ACK [i][j]));
321
322            (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_VAL            [i][j])); 
323            (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_RE_USE         [i][j]));
324            (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_GPR_STATUS_ACK [i][j]));
325          }
326      }
327#endif   
328
329    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_retire");
330
331    SC_METHOD (genMealy_retire);
332    dont_initialize ();
333    sensitive_neg << *(in_CLOCK);
334    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
335      {
336        uint32_t x=_param->_nb_inst_retire_rob [i];
337        for (uint32_t j=0; j<x; j++)
338          sensitive << *( in_RETIRE_ROB_VAL                [i][j])
339                    << *( in_RETIRE_ROB_RD_OLD_USE         [i][j]) 
340                    << *( in_RETIRE_ROB_RD_NEW_USE         [i][j])
341                    << *( in_RETIRE_ROB_RE_OLD_USE         [i][j]) 
342                    << *( in_RETIRE_ROB_RE_NEW_USE         [i][j])
343                    << *( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j])
344                    << *( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j])
345                    << *( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j])
346                    << *( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]);
347      }
348#ifdef SYSTEMCASS_SPECIFIC
349    // List dependency information
350    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
351      {
352        uint32_t x=_param->_nb_inst_retire_rob [i];
353        for (uint32_t j=0; j<x; j++)
354          {
355            (*(out_RETIRE_ROB_ACK                [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j]));
356            (*(out_RETIRE_ROB_ACK                [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j]));
357            (*(out_RETIRE_ROB_ACK                [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j]));
358            (*(out_RETIRE_ROB_ACK                [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]));
359
360            (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_VAL                [i][j]));
361            (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_RD_OLD_USE         [i][j])); 
362            (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j]));
363            (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j]));
364            (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]));
365
366            (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_VAL                [i][j])); 
367            (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_RD_NEW_USE         [i][j]));
368            (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j]));
369            (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j]));
370            (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]));
371
372            (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_VAL                [i][j])); 
373            (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_RE_OLD_USE         [i][j]));
374            (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j]));
375            (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j]));
376            (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j]));
377
378            (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_VAL                [i][j])); 
379            (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_RE_NEW_USE         [i][j]));
380            (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j]));
381            (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j]));
382            (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]));
383          }
384      }
385#endif   
386
387#endif
388    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
389  };
390 
391#undef  FUNCTION
392#define FUNCTION "Register_unit_Glue::~Register_unit_Glue"
393  Register_unit_Glue::~Register_unit_Glue (void)
394  {
395    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
396
397#ifdef STATISTICS
398    log_printf(INFO,Register_unit_Glue,FUNCTION,"Generate Statistics file");
399
400    _stat->generate_file(statistics(0));
401    delete _stat;
402#endif
403
404    log_printf(INFO,Register_unit_Glue,FUNCTION,"Deallocation");
405    deallocation ();
406
407    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
408  };
409
410}; // end namespace register_unit_glue
411}; // end namespace register_unit
412}; // end namespace execute_loop
413}; // end namespace multi_execute_loop
414}; // end namespace core
415
416}; // end namespace behavioural
417}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.