source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Types.h @ 136

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

1) Add new algo in ifetch queue
2) Add Cancel bit
3) new config

File size: 4.9 KB
Line 
1#ifndef morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_read_unit_read_unit_reservation_station_Types_h
2#define morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_read_unit_read_unit_reservation_station_Types_h
3
4/*
5 * $Id$
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Behavioural/include/Types.h"
12
13namespace morpheo {
14namespace behavioural {
15namespace core {
16namespace multi_execute_loop {
17namespace execute_loop {
18namespace multi_read_unit {
19namespace read_unit {
20namespace reservation_station {
21
22  class Treservation_station_entry_t
23  {
24  public    : Tcontext_t         _context_id     ;
25  public    : Tcontext_t         _front_end_id   ;
26  public    : Tcontext_t         _ooo_engine_id  ;
27  public    : Tpacket_t          _rob_id         ;
28  public    : Toperation_t       _operation   ;
29  public    : Ttype_t            _type        ;
30  public    : Tcontrol_t         _cancel      ;
31  public    : Tlsq_ptr_t         _store_queue_ptr_write;
32  public    : Tlsq_ptr_t         _store_queue_ptr_read ;
33  public    : Tcontrol_t         _store_queue_empty    ;
34  public    : Tlsq_ptr_t         _load_queue_ptr_write ;
35  public    : Tcontrol_t         _has_immediat;
36  public    : Tgeneral_data_t    _immediat    ;
37//public    : Tcontrol_t         _read_ra     ;
38  public    : Tgeneral_address_t _num_reg_ra  ;
39  public    : Tcontrol_t         _data_ra_val ;
40  public    : Tgeneral_data_t    _data_ra     ;
41//public    : Tcontrol_t         _read_rb     ;
42  public    : Tgeneral_address_t _num_reg_rb  ;
43  public    : Tcontrol_t         _data_rb_val ;
44  public    : Tgeneral_data_t    _data_rb     ;
45//public    : Tcontrol_t         _read_rc     ;
46  public    : Tspecial_address_t _num_reg_rc  ;
47  public    : Tcontrol_t         _data_rc_val ;
48  public    : Tspecial_data_t    _data_rc     ;
49  public    : Tcontrol_t         _write_rd    ;
50  public    : Tgeneral_address_t _num_reg_rd  ;
51  public    : Tcontrol_t         _write_re    ;
52  public    : Tspecial_address_t _num_reg_re  ;
53
54    friend std::ostream& operator<< (std::ostream& output_stream,
55                                morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Treservation_station_entry_t & x)
56    {
57      output_stream << " * _context_id            : " << toString(x._context_id     ) << std::endl
58                    << " * _front_end_id          : " << toString(x._front_end_id   ) << std::endl
59                    << " * _ooo_engine_id         : " << toString(x._ooo_engine_id  ) << std::endl
60                    << " * _rob_id                : " << toString(x._rob_id         ) << std::endl
61                    << " * _operation             : " << toString(x._operation      ) << std::endl
62                    << " * _type                  : " << toString(x._type           ) << std::endl
63                    << " * _cancel                : " << toString(x._cancel         ) << std::endl
64                    << " * _store_queue_ptr_write : " << toString(x._store_queue_ptr_write) << std::endl
65                    << " * _store_queue_ptr_read  : " << toString(x._store_queue_ptr_read ) << std::endl
66                    << " * _store_queue_empty     : " << toString(x._store_queue_empty    ) << std::endl
67                    << " * _load_queue_ptr_write  : " << toString(x._load_queue_ptr_write ) << std::endl
68                    << " * _has_immediat          : " << toString(x._has_immediat   ) << std::endl
69                    << " * _immediat              : " << toString(x._immediat       ) << std::endl
70//                  << " * _read_ra               : " << toString(x._read_ra        ) << std::endl
71                    << " * _num_reg_ra            : " << toString(x._num_reg_ra     ) << std::endl
72                    << " * _data_ra_val           : " << toString(x._data_ra_val    ) << std::endl
73                    << " * _data_ra               : " << toString(x._data_ra        ) << std::endl
74//                  << " * _read_rb               : " << toString(x._read_rb        ) << std::endl
75                    << " * _num_reg_rb            : " << toString(x._num_reg_rb     ) << std::endl
76                    << " * _data_rb_val           : " << toString(x._data_rb_val    ) << std::endl
77                    << " * _data_rb               : " << toString(x._data_rb        ) << std::endl
78//                  << " * _read_rc               : " << toString(x._read_rc        ) << std::endl
79                    << " * _num_reg_rc            : " << toString(x._num_reg_rc     ) << std::endl
80                    << " * _data_rc_val           : " << toString(x._data_rc_val    ) << std::endl
81                    << " * _data_rc               : " << toString(x._data_rc        ) << std::endl
82                    << " * _write_rd              : " << toString(x._write_rd       ) << std::endl
83                    << " * _num_reg_rd            : " << toString(x._num_reg_rd     ) << std::endl
84                    << " * _write_re              : " << toString(x._write_re       ) << std::endl
85                    << " * _num_reg_re            : " << toString(x._num_reg_re     ) << std::endl;
86
87      return output_stream;
88    }
89  };
90
91}; // end namespace reservation_station
92}; // end namespace read_unit
93}; // end namespace multi_read_unit
94}; // end namespace execute_loop
95}; // end namespace multi_execute_loop
96}; // end namespace core
97
98}; // end namespace behavioural
99}; // end namespace morpheo             
100
101#endif
Note: See TracBrowser for help on using the repository browser.