source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_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: 5.4 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/include/Read_unit.h"
9
10namespace morpheo                    {
11namespace behavioural {
12namespace core {
13namespace multi_execute_loop {
14namespace execute_loop {
15namespace multi_read_unit {
16namespace read_unit {
17
18
19#undef  FUNCTION
20#define FUNCTION "Read_unit::deallocation"
21  void Read_unit::deallocation (void)
22  {
23    log_printf(FUNC,Read_unit,FUNCTION,"Begin");
24
25    if (_usage & USE_SYSTEMC)
26      {
27        delete     in_CLOCK ;
28        delete     in_NRESET;
29
30        // ~~~~~[ Interface "read_unit_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31        delete     in_READ_UNIT_IN_VAL                  ;
32        delete    out_READ_UNIT_IN_ACK                  ;
33        if (_param->_have_port_context_id)
34        delete     in_READ_UNIT_IN_CONTEXT_ID           ;
35        if (_param->_have_port_front_end_id)
36        delete     in_READ_UNIT_IN_FRONT_END_ID         ;
37        if (_param->_have_port_ooo_engine_id)
38        delete     in_READ_UNIT_IN_OOO_ENGINE_ID        ;
39        if (_param->_have_port_packet_id)
40        delete     in_READ_UNIT_IN_PACKET_ID            ;
41        delete     in_READ_UNIT_IN_OPERATION            ;
42        delete     in_READ_UNIT_IN_TYPE                 ;
43        delete     in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE;
44        delete     in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ;
45        delete     in_READ_UNIT_IN_HAS_IMMEDIAT         ;
46        delete     in_READ_UNIT_IN_IMMEDIAT             ;
47        delete     in_READ_UNIT_IN_READ_RA              ;
48        delete     in_READ_UNIT_IN_NUM_REG_RA           ;
49        delete     in_READ_UNIT_IN_READ_RB              ;
50        delete     in_READ_UNIT_IN_NUM_REG_RB           ;
51        delete     in_READ_UNIT_IN_READ_RC              ;
52        delete     in_READ_UNIT_IN_NUM_REG_RC           ;
53        delete     in_READ_UNIT_IN_WRITE_RD             ;
54        delete     in_READ_UNIT_IN_NUM_REG_RD           ;
55        delete     in_READ_UNIT_IN_WRITE_RE             ;
56        delete     in_READ_UNIT_IN_NUM_REG_RE           ;
57
58        // ~~~~~[ Interface "read_unit_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59        delete [] out_READ_UNIT_OUT_VAL                  ;
60        delete []  in_READ_UNIT_OUT_ACK                  ;
61        if (_param->_have_port_context_id)
62        delete [] out_READ_UNIT_OUT_CONTEXT_ID           ;
63        if (_param->_have_port_front_end_id)
64        delete [] out_READ_UNIT_OUT_FRONT_END_ID         ;
65        if (_param->_have_port_ooo_engine_id)
66        delete [] out_READ_UNIT_OUT_OOO_ENGINE_ID        ;
67        if (_param->_have_port_packet_id)
68        delete [] out_READ_UNIT_OUT_PACKET_ID            ;
69        delete [] out_READ_UNIT_OUT_OPERATION            ;
70        delete [] out_READ_UNIT_OUT_TYPE                 ;
71        delete [] out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE;
72        delete [] out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ;
73        delete [] out_READ_UNIT_OUT_HAS_IMMEDIAT         ;
74        delete [] out_READ_UNIT_OUT_IMMEDIAT             ;
75        delete [] out_READ_UNIT_OUT_DATA_RA              ;
76        delete [] out_READ_UNIT_OUT_DATA_RB              ;
77        delete [] out_READ_UNIT_OUT_DATA_RC              ;
78        delete [] out_READ_UNIT_OUT_WRITE_RD             ;
79        delete [] out_READ_UNIT_OUT_NUM_REG_RD           ;
80        delete [] out_READ_UNIT_OUT_WRITE_RE             ;
81        delete [] out_READ_UNIT_OUT_NUM_REG_RE           ;
82
83        // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84        delete [] out_GPR_READ_VAL          ;
85        delete []  in_GPR_READ_ACK          ;
86        if (_param->_have_port_ooo_engine_id)
87        delete [] out_GPR_READ_OOO_ENGINE_ID;
88        delete [] out_GPR_READ_NUM_REG      ;
89        delete []  in_GPR_READ_DATA         ;
90        delete []  in_GPR_READ_DATA_VAL     ;
91
92        // ~~~~~[ Interface "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93        delete [] out_SPR_READ_VAL          ;
94        delete []  in_SPR_READ_ACK          ;
95        if (_param->_have_port_ooo_engine_id)
96        delete [] out_SPR_READ_OOO_ENGINE_ID;
97        delete [] out_SPR_READ_NUM_REG      ;
98        delete []  in_SPR_READ_DATA         ;
99        delete []  in_SPR_READ_DATA_VAL     ;
100
101        // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
102        delete []  in_GPR_WRITE_VAL          ;
103        if (_param->_have_port_ooo_engine_id)
104        delete []  in_GPR_WRITE_OOO_ENGINE_ID;
105        delete []  in_GPR_WRITE_NUM_REG      ;
106        delete []  in_GPR_WRITE_DATA         ;
107
108        // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
109        delete []  in_SPR_WRITE_VAL          ;
110        if (_param->_have_port_ooo_engine_id)
111        delete []  in_SPR_WRITE_OOO_ENGINE_ID;
112        delete []  in_SPR_WRITE_NUM_REG      ;
113        delete []  in_SPR_WRITE_DATA         ;
114
115        // ~~~~~[ Interface "bypass_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
116        if (_param->_have_port_ooo_engine_id)
117        delete []  in_BYPASS_WRITE_OOO_ENGINE_ID ;
118        delete []  in_BYPASS_WRITE_GPR_VAL       ;
119        delete []  in_BYPASS_WRITE_GPR_NUM_REG   ;
120        delete []  in_BYPASS_WRITE_GPR_DATA      ;
121        delete []  in_BYPASS_WRITE_SPR_VAL       ;
122        delete []  in_BYPASS_WRITE_SPR_NUM_REG   ;
123        delete []  in_BYPASS_WRITE_SPR_DATA      ;
124
125        // ~~~~~[ Interface "bypass_memory" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
126        delete []  in_BYPASS_MEMORY_VAL          ;
127        if (_param->_have_port_ooo_engine_id)
128        delete []  in_BYPASS_MEMORY_OOO_ENGINE_ID;
129        delete []  in_BYPASS_MEMORY_NUM_REG      ;
130        delete []  in_BYPASS_MEMORY_DATA         ;
131      }
132    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
133
134    delete _component_read_queue;
135    delete _component_reservation_station;
136    delete _component;
137
138    log_printf(FUNC,Read_unit,FUNCTION,"End");
139  };
140
141}; // end namespace read_unit
142}; // end namespace multi_read_unit
143}; // end namespace execute_loop
144}; // end namespace multi_execute_loop
145}; // end namespace core
146
147}; // end namespace behavioural
148}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.