source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp @ 81

Last change on this file since 81 was 81, checked in by rosiere, 16 years ago
  • Finish Environment (and test)
  • Continue predictor_unit
  • Add external tools
  • svn keyword "Id" set
  • Property svn:keywords set to Id
File size: 5.5 KB
RevLine 
[54]1#ifdef SYSTEMC
2/*
3 * $Id: Read_queue_deallocation.cpp 81 2008-04-15 18:40:01Z rosiere $
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h"
10
11namespace morpheo                    {
12namespace behavioural {
13namespace core {
14namespace multi_execute_loop {
15namespace execute_loop {
16namespace multi_read_unit {
17namespace read_unit {
18namespace read_queue {
19
20
21  void Read_queue::deallocation (void)
22  {
23    log_printf(FUNC,Read_queue,"deallocation","Begin");
24
25    // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26    delete     in_CLOCK ;
27    delete     in_NRESET;
28
29    // ~~~~~[ Interface : "read_queue_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30    delete     in_READ_QUEUE_IN_VAL            ;
31    delete    out_READ_QUEUE_IN_ACK            ;
[68]32
33    if(_param->_have_port_context_id   )
34      delete     in_READ_QUEUE_IN_CONTEXT_ID     ;
35    if(_param->_have_port_front_end_id )
36      delete     in_READ_QUEUE_IN_FRONT_END_ID   ;
37    if(_param->_have_port_ooo_engine_id)
38      delete     in_READ_QUEUE_IN_OOO_ENGINE_ID  ;
39    if(_param->_have_port_rob_id       )
40      delete     in_READ_QUEUE_IN_ROB_ID         ;
[54]41    delete     in_READ_QUEUE_IN_OPERATION      ;
42    delete     in_READ_QUEUE_IN_TYPE           ;
[76]43    delete     in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE;
[78]44    if (_param->_have_port_load_queue_ptr)
[76]45    delete     in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ;
[54]46    delete     in_READ_QUEUE_IN_HAS_IMMEDIAT   ;
47    delete     in_READ_QUEUE_IN_IMMEDIAT       ;
48    delete     in_READ_QUEUE_IN_READ_RA        ;
49    delete     in_READ_QUEUE_IN_NUM_REG_RA     ;
50    delete     in_READ_QUEUE_IN_READ_RB        ;
51    delete     in_READ_QUEUE_IN_NUM_REG_RB     ;
52    delete     in_READ_QUEUE_IN_READ_RC        ;
53    delete     in_READ_QUEUE_IN_NUM_REG_RC     ;
54    delete     in_READ_QUEUE_IN_WRITE_RD       ;
55    delete     in_READ_QUEUE_IN_NUM_REG_RD     ;
56    delete     in_READ_QUEUE_IN_WRITE_RE       ;
57    delete     in_READ_QUEUE_IN_NUM_REG_RE     ;
58
59    // ~~~~~[ Interface : "read_queue_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60    delete    out_READ_QUEUE_OUT_VAL            ;
61    delete     in_READ_QUEUE_OUT_ACK            ;
[68]62
63    if(_param->_have_port_context_id   )
64      delete    out_READ_QUEUE_OUT_CONTEXT_ID     ;
65    if(_param->_have_port_front_end_id )
66      delete    out_READ_QUEUE_OUT_FRONT_END_ID   ;
67    if(_param->_have_port_ooo_engine_id)
68      delete    out_READ_QUEUE_OUT_OOO_ENGINE_ID  ;
69    if(_param->_have_port_rob_id       )
70      delete    out_READ_QUEUE_OUT_ROB_ID         ;
[54]71    delete    out_READ_QUEUE_OUT_OPERATION      ;
72    delete    out_READ_QUEUE_OUT_TYPE           ;
[76]73    delete    out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE;
[78]74    if (_param->_have_port_load_queue_ptr)
[76]75    delete    out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE ;
[54]76    delete    out_READ_QUEUE_OUT_HAS_IMMEDIAT   ;
77    delete    out_READ_QUEUE_OUT_IMMEDIAT       ;
[76]78//     delete    out_READ_QUEUE_OUT_READ_RA        ;
[54]79    delete    out_READ_QUEUE_OUT_NUM_REG_RA     ;
80    delete    out_READ_QUEUE_OUT_DATA_RA_VAL    ;
81    delete    out_READ_QUEUE_OUT_DATA_RA        ;
[76]82//     delete    out_READ_QUEUE_OUT_READ_RB        ;
[54]83    delete    out_READ_QUEUE_OUT_NUM_REG_RB     ;
84    delete    out_READ_QUEUE_OUT_DATA_RB_VAL    ;
85    delete    out_READ_QUEUE_OUT_DATA_RB        ;
[76]86//     delete    out_READ_QUEUE_OUT_READ_RC        ;
[54]87    delete    out_READ_QUEUE_OUT_NUM_REG_RC     ;
88    delete    out_READ_QUEUE_OUT_DATA_RC_VAL    ;
89    delete    out_READ_QUEUE_OUT_DATA_RC        ;
90    delete    out_READ_QUEUE_OUT_WRITE_RD       ;
91    delete    out_READ_QUEUE_OUT_NUM_REG_RD     ;
92    delete    out_READ_QUEUE_OUT_WRITE_RE       ;
93    delete    out_READ_QUEUE_OUT_NUM_REG_RE     ;
94
95    // ~~~~~[ Interface : "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96   
97    delete [] out_GPR_READ_VAL       ;
98    delete []  in_GPR_READ_ACK       ;
[68]99    if(_param->_have_port_ooo_engine_id)
100      delete [] out_GPR_READ_OOO_ENGINE_ID;
[54]101    delete [] out_GPR_READ_NUM_REG   ;
102    delete []  in_GPR_READ_DATA      ;
103    delete []  in_GPR_READ_DATA_VAL  ;
104
105    // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106   
107    delete [] out_SPR_READ_VAL       ;
108    delete []  in_SPR_READ_ACK       ;
[68]109    if(_param->_have_port_ooo_engine_id)
110      delete [] out_SPR_READ_OOO_ENGINE_ID;
[54]111    delete [] out_SPR_READ_NUM_REG   ;
112    delete []  in_SPR_READ_DATA      ;
113    delete []  in_SPR_READ_DATA_VAL  ;
114
[55]115    // ~~~~~[ Interface : "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[54]116   
[55]117    delete []  in_GPR_WRITE_VAL       ;
[68]118    if(_param->_have_port_ooo_engine_id)
119      delete []  in_GPR_WRITE_OOO_ENGINE_ID;
[55]120    delete []  in_GPR_WRITE_NUM_REG   ;
121    delete []  in_GPR_WRITE_DATA      ;
[54]122
[55]123    // ~~~~~[ Interface : "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[54]124   
[55]125    delete []  in_SPR_WRITE_VAL       ;
[68]126    if(_param->_have_port_ooo_engine_id)
127      delete []  in_SPR_WRITE_OOO_ENGINE_ID;
[55]128    delete []  in_SPR_WRITE_NUM_REG   ;
129    delete []  in_SPR_WRITE_DATA      ;
[54]130
131    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
[66]132
[54]133    while (_queue->empty() == false)
134      {
135        delete _queue->front();
136        _queue->pop();
137      }
138    delete _queue;
139    delete _queue_head;
140    delete _component;
141    log_printf(FUNC,Read_queue,"deallocation","End");
142  };
143
144}; // end namespace read_queue
145}; // end namespace read_unit
146}; // end namespace multi_read_unit
147}; // end namespace execute_loop
148}; // end namespace multi_execute_loop
149}; // end namespace core
150
151}; // end namespace behavioural
152}; // end namespace morpheo             
153#endif
Note: See TracBrowser for help on using the repository browser.