source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/include/Types.h @ 82

Last change on this file since 82 was 82, checked in by rosiere, 16 years ago
  • support locale (now must "just" translate)
  • update all component with new test format
  • update all component with usage
  • New component : decod queue and prediction_unit
  • Property svn:keywords set to Id
File size: 3.7 KB
Line 
1#ifndef morpheo_behavioural_core_multi_front_end_front_end_decod_unit_decod_queue_Types_h
2#define morpheo_behavioural_core_multi_front_end_front_end_decod_unit_decod_queue_Types_h
3
4/*
5 * $Id: Types.h 82 2008-05-01 16:48:45Z rosiere $
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Behavioural/include/Types.h"
12
13namespace morpheo {
14namespace behavioural {
15namespace core {
16namespace multi_front_end {
17namespace front_end {
18namespace decod_unit {
19namespace decod_queue {
20
21  class decod_queue_entry_t
22  {
23  private: const uint32_t       _nb_inst        ;
24
25  public : Tcontrol_t         * _val            ;
26  public : Tcontext_t         * _context_id     ;
27  public : Tdepth_t           * _depth          ;
28  public : Ttype_t            * _type           ;
29  public : Toperation_t       * _operation      ;
30  public : Tcontrol_t         * _is_delay_slot  ;
31  public : Tgeneral_data_t    * _address        ;
32  public : Tcontrol_t         * _has_immediat   ;
33  public : Tgeneral_data_t    * _immediat       ;
34  public : Tcontrol_t         * _read_ra        ;
35  public : Tgeneral_address_t * _num_reg_ra     ;
36  public : Tcontrol_t         * _read_rb        ;
37  public : Tgeneral_address_t * _num_reg_rb     ;
38  public : Tcontrol_t         * _read_rc        ;
39  public : Tspecial_address_t * _num_reg_rc     ;
40  public : Tcontrol_t         * _write_rd       ;
41  public : Tgeneral_address_t * _num_reg_rd     ;
42  public : Tcontrol_t         * _write_re       ;
43  public : Tspecial_address_t * _num_reg_re     ;
44  public : Texception_t       * _exception_use  ;
45
46  public :  decod_queue_entry_t (uint32_t nb_inst):
47    _nb_inst (nb_inst)
48    {
49      _val            = new Tcontrol_t         [_nb_inst];
50      _context_id     = new Tcontext_t         [_nb_inst];
51      _depth          = new Tdepth_t           [_nb_inst];
52      _type           = new Ttype_t            [_nb_inst];
53      _operation      = new Toperation_t       [_nb_inst];
54      _is_delay_slot  = new Tcontrol_t         [_nb_inst];
55      _address        = new Tgeneral_data_t    [_nb_inst];
56      _has_immediat   = new Tcontrol_t         [_nb_inst];
57      _immediat       = new Tgeneral_data_t    [_nb_inst];
58      _read_ra        = new Tcontrol_t         [_nb_inst];
59      _num_reg_ra     = new Tgeneral_address_t [_nb_inst];
60      _read_rb        = new Tcontrol_t         [_nb_inst];
61      _num_reg_rb     = new Tgeneral_address_t [_nb_inst];
62      _read_rc        = new Tcontrol_t         [_nb_inst];
63      _num_reg_rc     = new Tspecial_address_t [_nb_inst];
64      _write_rd       = new Tcontrol_t         [_nb_inst];
65      _num_reg_rd     = new Tgeneral_address_t [_nb_inst];
66      _write_re       = new Tcontrol_t         [_nb_inst];
67      _num_reg_re     = new Tspecial_address_t [_nb_inst];
68      _exception_use  = new Texception_t       [_nb_inst];
69
70      for (uint32_t i=0; i<_nb_inst; i++)
71        _val [i]=0; // default : not valid
72    }
73
74  public : ~decod_queue_entry_t (void)
75    {
76      delete [] _val            ;
77      delete [] _context_id     ;
78      delete [] _depth          ;
79      delete [] _type           ;
80      delete [] _operation      ;
81      delete [] _is_delay_slot  ;
82      delete [] _address        ;
83      delete [] _has_immediat   ;
84      delete [] _immediat       ;
85      delete [] _read_ra        ;
86      delete [] _num_reg_ra     ;
87      delete [] _read_rb        ;
88      delete [] _num_reg_rb     ;
89      delete [] _read_rc        ;
90      delete [] _num_reg_rc     ;
91      delete [] _write_rd       ;
92      delete [] _num_reg_rd     ;
93      delete [] _write_re       ;
94      delete [] _num_reg_re     ;
95      delete [] _exception_use  ;
96    }
97  };
98
99}; // end namespace decod_queue
100}; // end namespace decod_unit
101}; // end namespace front_end
102}; // end namespace multi_front_end
103}; // end namespace core
104
105}; // end namespace behavioural
106}; // end namespace morpheo             
107
108#endif
Note: See TracBrowser for help on using the repository browser.