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

Last change on this file since 76 was 76, checked in by rosiere, 16 years ago

Add new component : Read_unit (no tested)
Change functionnal_unit : now use type and operation to execute the good function
Change New_Component's script

File size: 2.9 KB
Line 
1/*
2 * $Id$
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_HAS_IMMEDIAT  ;
44        delete  in_EXECUTE_IN_IMMEDIAT      ;
45        delete  in_EXECUTE_IN_DATA_RA       ;
46        delete  in_EXECUTE_IN_DATA_RB       ;
47        delete  in_EXECUTE_IN_DATA_RC       ;
48        delete  in_EXECUTE_IN_WRITE_RD      ;
49        delete  in_EXECUTE_IN_NUM_REG_RD    ;
50        delete  in_EXECUTE_IN_WRITE_RE      ;
51        delete  in_EXECUTE_IN_NUM_REG_RE    ;
52
53        delete out_EXECUTE_OUT_VAL            ;
54        delete  in_EXECUTE_OUT_ACK            ;
55        if (_param->_have_port_context_id)
56        delete out_EXECUTE_OUT_CONTEXT_ID     ; 
57        if (_param->_have_port_front_end_id)
58        delete out_EXECUTE_OUT_FRONT_END_ID   ; 
59        if (_param->_have_port_ooo_engine_id)
60        delete out_EXECUTE_OUT_OOO_ENGINE_ID  ; 
61        if (_param->_have_port_packet_id)
62        delete out_EXECUTE_OUT_PACKET_ID      ; 
63      //delete out_EXECUTE_OUT_OPERATION      ;
64      //delete out_EXECUTE_OUT_TYPE           ;
65        delete out_EXECUTE_OUT_WRITE_RD       ; 
66        delete out_EXECUTE_OUT_NUM_REG_RD     ; 
67        delete out_EXECUTE_OUT_DATA_RD        ; 
68        delete out_EXECUTE_OUT_WRITE_RE       ; 
69        delete out_EXECUTE_OUT_NUM_REG_RE     ; 
70        delete out_EXECUTE_OUT_DATA_RE        ;
71        delete out_EXECUTE_OUT_EXCEPTION      ;
72        delete out_EXECUTE_OUT_NO_SEQUENCE    ;
73        delete out_EXECUTE_OUT_ADDRESS        ;
74      }
75    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
76
77    delete [] _execute_register;
78    delete    _execute_param;
79    delete    _execute_operation;
80    delete [] _function_execute;
81
82    delete    _component;
83
84    log_printf(FUNC,Functionnal_unit,FUNCTION,"End");
85  };
86
87}; // end namespace functionnal_unit
88}; // end namespace execute_unit
89}; // end namespace multi_execute_unit
90}; // end namespace execute_loop
91}; // end namespace multi_execute_loop
92}; // end namespace core
93
94}; // end namespace behavioural
95}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.