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

Last change on this file since 62 was 62, checked in by rosiere, 17 years ago

Modification en profondeur de Component-port_map.
Compilation ok pour Register_unit ... a tester (systemC et vhdl)

File size: 3.3 KB
Line 
1#undef  FUNCTION
2#define FUNCTION "Load_store_unit::"
3
4#ifdef SYSTEMC
5/*
6 * $Id$
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    delete     in_MEMORY_IN_CONTEXT_ID  ;
38    delete     in_MEMORY_IN_PACKET_ID   ;
39    delete     in_MEMORY_IN_OPERATION   ;
40    delete     in_MEMORY_IN_STORE_QUEUE_PTR_WRITE;
41    delete     in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE ;
42//  delete     in_MEMORY_IN_HAS_IMMEDIAT;
43    delete     in_MEMORY_IN_IMMEDIAT    ;
44    delete     in_MEMORY_IN_DATA_RA     ;
45    delete     in_MEMORY_IN_DATA_RB     ;
46//  delete     in_MEMORY_IN_DATA_RC     ;
47    delete     in_MEMORY_IN_WRITE_RD    ;
48    delete     in_MEMORY_IN_NUM_REG_RD  ;
49//  delete     in_MEMORY_IN_WRITE_RE    ;
50//  delete     in_MEMORY_IN_NUM_REG_RE  ;
51   
52    delete    out_MEMORY_OUT_VAL       ;
53    delete     in_MEMORY_OUT_ACK       ;
54    delete    out_MEMORY_OUT_CONTEXT_ID;
55    delete    out_MEMORY_OUT_PACKET_ID ;
56    delete    out_MEMORY_OUT_WRITE_RD  ;
57    delete    out_MEMORY_OUT_NUM_REG_RD;
58    delete    out_MEMORY_OUT_DATA_RD   ;
59//  delete    out_MEMORY_OUT_WRITE_RE  ;
60//  delete    out_MEMORY_OUT_NUM_REG_RE;
61//  delete    out_MEMORY_OUT_DATA_RE   ;
62    delete    out_MEMORY_OUT_EXCEPTION ;
63   
64    delete    out_DCACHE_REQ_VAL       ;
65    delete     in_DCACHE_REQ_ACK       ;
66    delete    out_DCACHE_REQ_CONTEXT_ID;
67    delete    out_DCACHE_REQ_PACKET_ID ;
68    delete    out_DCACHE_REQ_ADDRESS   ;
69    delete    out_DCACHE_REQ_TYPE      ;
70    delete    out_DCACHE_REQ_UNCACHED  ;
71    delete    out_DCACHE_REQ_WDATA     ;
72   
73    delete     in_DCACHE_RSP_VAL       ;
74    delete    out_DCACHE_RSP_ACK       ;
75    delete     in_DCACHE_RSP_CONTEXT_ID;
76    delete     in_DCACHE_RSP_PACKET_ID ;
77    delete     in_DCACHE_RSP_RDATA     ;
78    delete     in_DCACHE_RSP_ERROR     ;
79   
80    if (_param->_speculative_load == SPECULATIVE_LOAD_BYPASS)
81      {
82        delete [] out_BYPASS_MEMORY_VAL       ;
83        delete [] out_BYPASS_MEMORY_CONTEXT_ID;
84        delete [] out_BYPASS_MEMORY_NUM_REG   ;
85        delete [] out_BYPASS_MEMORY_DATA      ;
86      }
87    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
88
89    delete    _component;
90
91    delete [] _store_queue                      ;
92    delete [] _load_queue                       ;
93    delete    _speculative_access_queue_control ;
94    delete [] _speculative_access_queue         ;
95
96    log_printf(FUNC,Load_store_unit,FUNCTION,"End");
97  };
98
99}; // end namespace load_store_unit
100}; // end namespace execute_unit
101}; // end namespace multi_execute_unit
102}; // end namespace execute_loop
103}; // end namespace multi_execute_loop
104}; // end namespace core
105
106}; // end namespace behavioural
107}; // end namespace morpheo             
108#endif
Note: See TracBrowser for help on using the repository browser.