source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_deallocation.cpp @ 88

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

Almost complete design
with Test and test platform

  • Property svn:keywords set to Id
File size: 5.5 KB
Line 
1/*
2 * $Id: Read_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_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_is_set(_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_rob_ptr)
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        if (_param->_have_port_load_queue_ptr)
45        delete     in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ;
46        delete     in_READ_UNIT_IN_HAS_IMMEDIAT         ;
47        delete     in_READ_UNIT_IN_IMMEDIAT             ;
48        delete     in_READ_UNIT_IN_READ_RA              ;
49        delete     in_READ_UNIT_IN_NUM_REG_RA           ;
50        delete     in_READ_UNIT_IN_READ_RB              ;
51        delete     in_READ_UNIT_IN_NUM_REG_RB           ;
52        delete     in_READ_UNIT_IN_READ_RC              ;
53        delete     in_READ_UNIT_IN_NUM_REG_RC           ;
54        delete     in_READ_UNIT_IN_WRITE_RD             ;
55        delete     in_READ_UNIT_IN_NUM_REG_RD           ;
56        delete     in_READ_UNIT_IN_WRITE_RE             ;
57        delete     in_READ_UNIT_IN_NUM_REG_RE           ;
58
59        // ~~~~~[ Interface "read_unit_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60        delete [] out_READ_UNIT_OUT_VAL                  ;
61        delete []  in_READ_UNIT_OUT_ACK                  ;
62        if (_param->_have_port_context_id)
63        delete [] out_READ_UNIT_OUT_CONTEXT_ID           ;
64        if (_param->_have_port_front_end_id)
65        delete [] out_READ_UNIT_OUT_FRONT_END_ID         ;
66        if (_param->_have_port_ooo_engine_id)
67        delete [] out_READ_UNIT_OUT_OOO_ENGINE_ID        ;
68        if (_param->_have_port_rob_ptr)
69        delete [] out_READ_UNIT_OUT_PACKET_ID            ;
70        delete [] out_READ_UNIT_OUT_OPERATION            ;
71        delete [] out_READ_UNIT_OUT_TYPE                 ;
72        delete [] out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE;
73        if (_param->_have_port_load_queue_ptr)
74        delete [] out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ;
75        delete [] out_READ_UNIT_OUT_HAS_IMMEDIAT         ;
76        delete [] out_READ_UNIT_OUT_IMMEDIAT             ;
77        delete [] out_READ_UNIT_OUT_DATA_RA              ;
78        delete [] out_READ_UNIT_OUT_DATA_RB              ;
79        delete [] out_READ_UNIT_OUT_DATA_RC              ;
80        delete [] out_READ_UNIT_OUT_WRITE_RD             ;
81        delete [] out_READ_UNIT_OUT_NUM_REG_RD           ;
82        delete [] out_READ_UNIT_OUT_WRITE_RE             ;
83        delete [] out_READ_UNIT_OUT_NUM_REG_RE           ;
84
85        // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86        delete [] out_GPR_READ_VAL          ;
87        delete []  in_GPR_READ_ACK          ;
88        if (_param->_have_port_ooo_engine_id)
89        delete [] out_GPR_READ_OOO_ENGINE_ID;
90        delete [] out_GPR_READ_NUM_REG      ;
91        delete []  in_GPR_READ_DATA         ;
92        delete []  in_GPR_READ_DATA_VAL     ;
93
94        // ~~~~~[ Interface "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95        delete [] out_SPR_READ_VAL          ;
96        delete []  in_SPR_READ_ACK          ;
97        if (_param->_have_port_ooo_engine_id)
98        delete [] out_SPR_READ_OOO_ENGINE_ID;
99        delete [] out_SPR_READ_NUM_REG      ;
100        delete []  in_SPR_READ_DATA         ;
101        delete []  in_SPR_READ_DATA_VAL     ;
102
103        // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104        delete []  in_GPR_WRITE_VAL          ;
105        if (_param->_have_port_ooo_engine_id)
106        delete []  in_GPR_WRITE_OOO_ENGINE_ID;
107        delete []  in_GPR_WRITE_NUM_REG      ;
108        delete []  in_GPR_WRITE_DATA         ;
109
110        // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
111        delete []  in_SPR_WRITE_VAL          ;
112        if (_param->_have_port_ooo_engine_id)
113        delete []  in_SPR_WRITE_OOO_ENGINE_ID;
114        delete []  in_SPR_WRITE_NUM_REG      ;
115        delete []  in_SPR_WRITE_DATA         ;
116
117        // ~~~~~[ Interface "bypass_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
118        if (_param->_have_port_ooo_engine_id)
119        delete []  in_BYPASS_WRITE_OOO_ENGINE_ID ;
120        delete []  in_BYPASS_WRITE_GPR_VAL       ;
121        delete []  in_BYPASS_WRITE_GPR_NUM_REG   ;
122        delete []  in_BYPASS_WRITE_GPR_DATA      ;
123        delete []  in_BYPASS_WRITE_SPR_VAL       ;
124        delete []  in_BYPASS_WRITE_SPR_NUM_REG   ;
125        delete []  in_BYPASS_WRITE_SPR_DATA      ;
126
127        // ~~~~~[ Interface "bypass_memory" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
128        delete []  in_BYPASS_MEMORY_VAL          ;
129        if (_param->_have_port_ooo_engine_id)
130        delete []  in_BYPASS_MEMORY_OOO_ENGINE_ID;
131        delete []  in_BYPASS_MEMORY_NUM_REG      ;
132        delete []  in_BYPASS_MEMORY_DATA         ;
133      }
134    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
135
136    delete _component_read_queue;
137    delete _component_reservation_station;
138    delete _component;
139
140    log_printf(FUNC,Read_unit,FUNCTION,"End");
141  };
142
143}; // end namespace read_unit
144}; // end namespace multi_read_unit
145}; // end namespace execute_loop
146}; // end namespace multi_execute_loop
147}; // end namespace core
148
149}; // end namespace behavioural
150}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.