source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_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: 4.1 KB
Line 
1#undef  FUNCTION
2#define FUNCTION "Load_store_unit::"
3
4#ifdef SYSTEMC
5/*
6 * $Id: Load_store_unit_deallocation.cpp 81 2008-04-15 18:40:01Z rosiere $
7 *
8 * [ Description ]
9 *
10 */
11
12#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h"
13
14namespace morpheo                    {
15namespace behavioural {
16namespace core {
17namespace multi_execute_loop {
18namespace execute_loop {
19namespace multi_execute_unit {
20namespace execute_unit {
21namespace load_store_unit {
22
23
24#undef  FUNCTION
25#define FUNCTION "Load_store_unit::deallocation"
26  void Load_store_unit::deallocation (void)
27  {
28    log_printf(FUNC,Load_store_unit,FUNCTION,"Begin");
29
30//#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
31    delete    in_CLOCK ;
32//#endif
33    delete    in_NRESET;
34
35    delete     in_MEMORY_IN_VAL         ;
36    delete    out_MEMORY_IN_ACK         ;
37    if (_param->_have_port_context_id)
38    delete     in_MEMORY_IN_CONTEXT_ID  ;
39    if (_param->_have_port_front_end_id)
40    delete     in_MEMORY_IN_FRONT_END_ID  ;
41    if (_param->_have_port_ooo_engine_id)
42    delete     in_MEMORY_IN_OOO_ENGINE_ID  ;
43    if (_param->_have_port_packet_id)
44    delete     in_MEMORY_IN_PACKET_ID   ;
45    delete     in_MEMORY_IN_OPERATION   ;
46    delete     in_MEMORY_IN_TYPE        ;
47    delete     in_MEMORY_IN_STORE_QUEUE_PTR_WRITE;
48    if (_param->_have_port_load_queue_ptr)
49    delete     in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE ;
50    delete     in_MEMORY_IN_HAS_IMMEDIAT;
51    delete     in_MEMORY_IN_IMMEDIAT    ;
52    delete     in_MEMORY_IN_DATA_RA     ;
53    delete     in_MEMORY_IN_DATA_RB     ;
54    delete     in_MEMORY_IN_DATA_RC     ;
55    delete     in_MEMORY_IN_WRITE_RD    ;
56    delete     in_MEMORY_IN_NUM_REG_RD  ;
57    delete     in_MEMORY_IN_WRITE_RE    ;
58    delete     in_MEMORY_IN_NUM_REG_RE  ;
59   
60    delete    out_MEMORY_OUT_VAL       ;
61    delete     in_MEMORY_OUT_ACK       ;
62    if (_param->_have_port_context_id)
63    delete    out_MEMORY_OUT_CONTEXT_ID;
64    if (_param->_have_port_front_end_id)
65    delete    out_MEMORY_OUT_FRONT_END_ID;
66    if (_param->_have_port_ooo_engine_id)
67      delete    out_MEMORY_OUT_OOO_ENGINE_ID;
68    if (_param->_have_port_packet_id)
69    delete    out_MEMORY_OUT_PACKET_ID ;
70//  delete    out_MEMORY_OUT_OPERATION ;
71    delete    out_MEMORY_OUT_TYPE      ;
72    delete    out_MEMORY_OUT_WRITE_RD  ;
73    delete    out_MEMORY_OUT_NUM_REG_RD;
74    delete    out_MEMORY_OUT_DATA_RD   ;
75    delete    out_MEMORY_OUT_WRITE_RE  ;
76    delete    out_MEMORY_OUT_NUM_REG_RE;
77    delete    out_MEMORY_OUT_DATA_RE   ;
78    delete    out_MEMORY_OUT_EXCEPTION ;
79    delete    out_MEMORY_OUT_NO_SEQUENCE;
80    delete    out_MEMORY_OUT_ADDRESS   ;
81   
82    delete    out_DCACHE_REQ_VAL       ;
83    delete     in_DCACHE_REQ_ACK       ;
84    if (_param->_have_port_dcache_context_id)
85    delete    out_DCACHE_REQ_CONTEXT_ID;
86    delete    out_DCACHE_REQ_PACKET_ID ;
87    delete    out_DCACHE_REQ_ADDRESS   ;
88    delete    out_DCACHE_REQ_TYPE      ;
89    delete    out_DCACHE_REQ_WDATA     ;
90   
91    delete     in_DCACHE_RSP_VAL       ;
92    delete    out_DCACHE_RSP_ACK       ;
93    if (_param->_have_port_dcache_context_id)
94    delete     in_DCACHE_RSP_CONTEXT_ID;
95    delete     in_DCACHE_RSP_PACKET_ID ;
96    delete     in_DCACHE_RSP_RDATA     ;
97    delete     in_DCACHE_RSP_ERROR     ;
98   
99    delete [] out_BYPASS_MEMORY_VAL       ;
100    if (_param->_have_port_ooo_engine_id)   
101    delete [] out_BYPASS_MEMORY_OOO_ENGINE_ID;
102    delete [] out_BYPASS_MEMORY_NUM_REG   ;
103    delete [] out_BYPASS_MEMORY_DATA      ;
104    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
105
106    delete    _component;
107
108    delete [] _store_queue                      ;
109    delete [] _load_queue                       ;
110    delete    _speculative_access_queue_control ;
111    delete [] _speculative_access_queue         ;
112
113    log_printf(FUNC,Load_store_unit,FUNCTION,"End");
114  };
115
116}; // end namespace load_store_unit
117}; // end namespace execute_unit
118}; // end namespace multi_execute_unit
119}; // end namespace execute_loop
120}; // end namespace multi_execute_loop
121}; // end namespace core
122
123}; // end namespace behavioural
124}; // end namespace morpheo             
125#endif
Note: See TracBrowser for help on using the repository browser.