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_insert_valack.cpp @ 88

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

Almost complete design
with Test and test platform

  • Property svn:keywords set to Id
File size: 4.7 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id: Register_translation_unit_Glue_genMealy_insert_valack.cpp 88 2008-12-10 18:31:39Z 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_insert_valack"
23  void Register_translation_unit_Glue::genMealy_insert_valack (void)
24  {
25    log_begin(Register_translation_unit_Glue,FUNCTION);
26    log_function(Register_translation_unit_Glue,FUNCTION,_name.c_str());
27    for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
28      {
29        Tcontrol_t rename_val     = PORT_READ(in_INSERT_RENAME_VAL     [i]);
30        Tcontrol_t insert_ack     = PORT_READ(in_INSERT_INSERT_ACK     [i]);
31        Tcontrol_t rat_rename_ack = PORT_READ(in_INSERT_RAT_RENAME_ACK [i]);
32        Tcontrol_t rat_insert_ack = PORT_READ(in_INSERT_RAT_INSERT_ACK [i]);
33        Tcontrol_t free_list_ack  = PORT_READ(in_INSERT_FREE_LIST_ACK  [i]);
34        Tcontrol_t stat_list_ack  = PORT_READ(in_INSERT_STAT_LIST_ACK  [i]);
35
36        Tcontrol_t rename_ack     = (insert_ack     and
37                                     rat_rename_ack and
38                                     rat_insert_ack and
39                                     free_list_ack  and
40                                     stat_list_ack  );
41        Tcontrol_t insert_val     = (rename_val     and
42                                     rat_rename_ack and
43                                     rat_insert_ack and
44                                     free_list_ack  and
45                                     stat_list_ack  );
46        Tcontrol_t rat_insert_val = (rename_val     and
47                                     insert_ack     and
48                                     rat_rename_ack and
49                                     free_list_ack  and
50                                     stat_list_ack  );
51        Tcontrol_t free_list_val  = (rename_val     and
52                                     insert_ack     and
53                                     rat_rename_ack and
54                                     rat_insert_ack and
55                                     stat_list_ack  );
56        Tcontrol_t stat_list_val  = (rename_val     and
57                                     insert_ack     and
58                                     rat_rename_ack and
59                                     rat_insert_ack and
60                                     free_list_ack  );
61
62        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"  * inst_insert [%d]",i);
63        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * rename_val     (r): %d",rename_val    );
64        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * rename_ack     (w): %d",rename_ack    );
65        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * insert_val     (w): %d",insert_val    );
66        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * insert_ack     (r): %d",insert_ack    );
67//      log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * rat_rename_val (w): %d",rat_rename_val);
68        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * rat_rename_val    -> rename_val");
69        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * rat_rename_ack (r): %d",rat_rename_ack);
70        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * rat_insert_val (w): %d",rat_insert_val);
71        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * rat_insert_ack (r): %d",rat_insert_ack);
72        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * free_list_val  (w): %d",free_list_val );
73        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * free_list_ack  (r): %d",free_list_ack );
74        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * stat_list_val  (w): %d",stat_list_val );
75        log_printf(TRACE,Register_translation_unit_Glue,FUNCTION,"    * stat_list_ack  (r): %d",stat_list_ack );
76
77
78        PORT_WRITE(out_INSERT_RENAME_ACK     [i], rename_ack    );
79        PORT_WRITE(out_INSERT_INSERT_VAL     [i], insert_val    );
80        PORT_WRITE(out_INSERT_RAT_INSERT_VAL [i], rat_insert_val);
81        PORT_WRITE(out_INSERT_FREE_LIST_VAL  [i], free_list_val );
82        PORT_WRITE(out_INSERT_STAT_LIST_VAL  [i], stat_list_val );
83
84      }
85
86    log_end(Register_translation_unit_Glue,FUNCTION);
87  };
88
89}; // end namespace register_translation_unit_glue
90}; // end namespace register_translation_unit
91}; // end namespace rename_unit
92}; // end namespace ooo_engine
93}; // end namespace multi_ooo_engine
94}; // end namespace core
95
96}; // end namespace behavioural
97}; // end namespace morpheo             
98#endif
Note: See TracBrowser for help on using the repository browser.