source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue_genMealy_retire.cpp @ 112

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

1) OOO_egine : add stat to depiste low perf source
2) Commit : add stat
3) LSU_Pointer : retire - always ack (else combinatory loop). insert - max nb_inst_memory
4) TopLevel? : add debug_idle_time to stop combinatory loop.
5) Issue_queue : add reexecute_queue, new implementation (routage after issue_queue)
6) Decod / Predictor : add "can_continue"

  • Property svn:keywords set to Id
File size: 2.9 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id: Register_translation_unit_Glue_genMealy_retire.cpp 110 2009-02-19 16:31:47Z rosiere $
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/include/Register_translation_unit_Glue.h"
10
11namespace morpheo                    {
12namespace behavioural {
13namespace core {
14namespace multi_ooo_engine {
15namespace ooo_engine {
16namespace rename_unit {
17namespace register_translation_unit {
18namespace register_translation_unit_glue {
19
20
21#undef  FUNCTION
22#define FUNCTION "Register_translation_unit_Glue::genMealy_retire"
23  void Register_translation_unit_Glue::genMealy_retire (void)
24  {
25    log_begin(Register_translation_unit_Glue,FUNCTION);
26    log_function(Register_translation_unit_Glue,FUNCTION,_name.c_str());
27
28    for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
29      {
30        Tcontrol_t val           = PORT_READ(in_RETIRE_VAL           [i]);
31        Tcontrol_t rat_ack       = PORT_READ(in_RETIRE_RAT_ACK       [i]);
32        Tcontrol_t stat_list_ack = PORT_READ(in_RETIRE_STAT_LIST_ACK [i]);
33
34        Tcontrol_t ack           = (true
35//                                     and val
36                                    and rat_ack
37                                    and stat_list_ack
38                                    );
39        Tcontrol_t rat_val       = (true
40                                    and val
41//                                     and rat_ack
42                                    and stat_list_ack
43                                    );
44        Tcontrol_t stat_list_val = (true
45                                    and val
46                                    and rat_ack
47//                                     and stat_list_ack
48                                    );
49
50        PORT_WRITE(out_RETIRE_ACK           [i], ack          );
51        PORT_WRITE(out_RETIRE_RAT_VAL       [i], rat_val      );
52        PORT_WRITE(out_RETIRE_STAT_LIST_VAL [i], stat_list_val);
53
54        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"  * inst_insert [%d]",i);
55        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * val            (r): %d",val           );
56        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * ack            (w): %d",ack           );
57        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * rat_val        (w): %d",rat_val       );
58        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * rat_ack        (r): %d",rat_ack       );
59        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * stat_list_val  (w): %d",stat_list_val );
60        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * stat_list_ack  (r): %d",stat_list_ack );
61      }
62
63    log_end(Register_translation_unit_Glue,FUNCTION);
64  };
65
66}; // end namespace register_translation_unit_glue
67}; // end namespace register_translation_unit
68}; // end namespace rename_unit
69}; // end namespace ooo_engine
70}; // end namespace multi_ooo_engine
71}; // end namespace core
72
73}; // end namespace behavioural
74}; // end namespace morpheo             
75#endif
Note: See TracBrowser for help on using the repository browser.