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 @ 78

Last change on this file since 78 was 78, checked in by rosiere, 16 years ago

Add :

  • Execute_loop (must be test systemC)
  • Prediction
    • Direction : predifined scheme
    • Branch Target Buffer
  • iFetch_unit
    • ifetch_queue
    • pc management
  • Decod_unit
    • coming soon : support for custom operation
  • Rename_unit
    • RAT
    • Free_list
    • Dependence RAW check
    • Load store unit pointer
  • New Environnement (hierarchy_memory will remove in a next version)


Modif :

  • Manage Custom Operation
  • All component in execute_loop to use the new statistics management

Not Finish :

  • Return Address Stack
  • Environnement
File size: 1.5 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id$
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_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"Begin");
26
27    for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
28      {
29        Tcontrol_t val           = PORT_READ(in_RETIRE_VAL           [i]);
30        Tcontrol_t rat_ack       = PORT_READ(in_RETIRE_RAT_ACK       [i]);
31        Tcontrol_t stat_list_ack = PORT_READ(in_RETIRE_STAT_LIST_ACK [i]);
32
33        PORT_WRITE(out_RETIRE_ACK           [i], rat_ack and stat_list_ack);
34        PORT_WRITE(out_RETIRE_RAT_VAL       [i], val and stat_list_ack);
35        PORT_WRITE(out_RETIRE_STAT_LIST_VAL [i], val and rat_ack);
36      }
37
38    log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"End");
39  };
40
41}; // end namespace register_translation_unit_glue
42}; // end namespace register_translation_unit
43}; // end namespace rename_unit
44}; // end namespace ooo_engine
45}; // end namespace multi_ooo_engine
46}; // end namespace core
47
48}; // end namespace behavioural
49}; // end namespace morpheo             
50#endif
Note: See TracBrowser for help on using the repository browser.