source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_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: 3.0 KB
Line 
1/*
2 * $Id: Functionnal_unit_deallocation.cpp 81 2008-04-15 18:40:01Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h"
9
10namespace morpheo                    {
11namespace behavioural {
12namespace core {
13namespace multi_execute_loop {
14namespace execute_loop {
15namespace multi_execute_unit {
16namespace execute_unit {
17namespace functionnal_unit {
18
19
20#undef  FUNCTION
21#define FUNCTION "Functionnal_unit::deallocation"
22  void Functionnal_unit::deallocation (void)
23  {
24    log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin");
25
26    if (_usage & USE_SYSTEMC)
27      {
28        delete    in_CLOCK ;
29        delete    in_NRESET;
30       
31        delete  in_EXECUTE_IN_VAL           ;
32        delete out_EXECUTE_IN_ACK           ;
33        if (_param->_have_port_context_id)
34        delete  in_EXECUTE_IN_CONTEXT_ID    ;
35        if (_param->_have_port_front_end_id)
36        delete  in_EXECUTE_IN_FRONT_END_ID  ;
37        if (_param->_have_port_ooo_engine_id)
38        delete  in_EXECUTE_IN_OOO_ENGINE_ID ;
39        if (_param->_have_port_packet_id)
40        delete  in_EXECUTE_IN_PACKET_ID     ;
41        delete  in_EXECUTE_IN_OPERATION     ;
42        delete  in_EXECUTE_IN_TYPE          ;
43        delete  in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE;
44        if (_param->_have_port_load_queue_ptr)
45        delete  in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE ;
46        delete  in_EXECUTE_IN_HAS_IMMEDIAT  ;
47        delete  in_EXECUTE_IN_IMMEDIAT      ;
48        delete  in_EXECUTE_IN_DATA_RA       ;
49        delete  in_EXECUTE_IN_DATA_RB       ;
50        delete  in_EXECUTE_IN_DATA_RC       ;
51        delete  in_EXECUTE_IN_WRITE_RD      ;
52        delete  in_EXECUTE_IN_NUM_REG_RD    ;
53        delete  in_EXECUTE_IN_WRITE_RE      ;
54        delete  in_EXECUTE_IN_NUM_REG_RE    ;
55
56        delete out_EXECUTE_OUT_VAL            ;
57        delete  in_EXECUTE_OUT_ACK            ;
58        if (_param->_have_port_context_id)
59        delete out_EXECUTE_OUT_CONTEXT_ID     ; 
60        if (_param->_have_port_front_end_id)
61        delete out_EXECUTE_OUT_FRONT_END_ID   ; 
62        if (_param->_have_port_ooo_engine_id)
63        delete out_EXECUTE_OUT_OOO_ENGINE_ID  ; 
64        if (_param->_have_port_packet_id)
65        delete out_EXECUTE_OUT_PACKET_ID      ; 
66      //delete out_EXECUTE_OUT_OPERATION      ;
67        delete out_EXECUTE_OUT_TYPE           ; 
68        delete out_EXECUTE_OUT_WRITE_RD       ; 
69        delete out_EXECUTE_OUT_NUM_REG_RD     ; 
70        delete out_EXECUTE_OUT_DATA_RD        ; 
71        delete out_EXECUTE_OUT_WRITE_RE       ; 
72        delete out_EXECUTE_OUT_NUM_REG_RE     ; 
73        delete out_EXECUTE_OUT_DATA_RE        ;
74        delete out_EXECUTE_OUT_EXCEPTION      ;
75        delete out_EXECUTE_OUT_NO_SEQUENCE    ;
76        delete out_EXECUTE_OUT_ADDRESS        ;
77      }
78    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
79
80    delete [] _execute_register;
81    delete    _execute_param;
82    delete    _execute_operation;
83    delete [] _function_execute;
84
85    delete    _component;
86
87    log_printf(FUNC,Functionnal_unit,FUNCTION,"End");
88  };
89
90}; // end namespace functionnal_unit
91}; // end namespace execute_unit
92}; // end namespace multi_execute_unit
93}; // end namespace execute_loop
94}; // end namespace multi_execute_loop
95}; // end namespace core
96
97}; // end namespace behavioural
98}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.