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

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

Almost complete design
with Test and test platform

  • Property svn:keywords set to Id
File size: 3.1 KB
Line 
1/*
2 * $Id: Functionnal_unit_deallocation.cpp 88 2008-12-10 18:31:39Z 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_is_set(_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_rob_ptr)
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_rob_ptr)
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_in;
83        delete    _execute_operation_out;
84        delete [] _function_execute;
85      }
86
87    delete    _component;
88
89    log_printf(FUNC,Functionnal_unit,FUNCTION,"End");
90  };
91
92}; // end namespace functionnal_unit
93}; // end namespace execute_unit
94}; // end namespace multi_execute_unit
95}; // end namespace execute_loop
96}; // end namespace multi_execute_loop
97}; // end namespace core
98
99}; // end namespace behavioural
100}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.