source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_deallocation.cpp @ 74

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

New component : Read_unit (instance between a write queue and a optionnal execute_queue)

File size: 4.2 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/include/Write_unit.h"
9
10namespace morpheo                    {
11namespace behavioural {
12namespace core {
13namespace multi_execute_loop {
14namespace execute_loop {
15namespace multi_write_unit {
16namespace write_unit {
17
18
19#undef  FUNCTION
20#define FUNCTION "Write_unit::deallocation"
21  void Write_unit::deallocation (void)
22  {
23    log_printf(FUNC,Write_unit,FUNCTION,"Begin");
24
25    if (_usage & USE_SYSTEMC)
26      {
27        delete    in_CLOCK ;
28        delete    in_NRESET;
29
30        // -----[ Interface "write_unit_in" ]--------------------------------   
31        delete      in_WRITE_UNIT_IN_VAL          ;
32        delete     out_WRITE_UNIT_IN_ACK          ;
33        if (_param->_have_port_context_id)
34        delete      in_WRITE_UNIT_IN_CONTEXT_ID   ;
35        if (_param->_have_port_front_end_id)
36        delete      in_WRITE_UNIT_IN_FRONT_END_ID ;
37        if (_param->_have_port_ooo_engine_id)
38        delete      in_WRITE_UNIT_IN_OOO_ENGINE_ID;
39        if (_param->_have_port_packet_id)
40        delete      in_WRITE_UNIT_IN_PACKET_ID    ;
41//      delete      in_WRITE_UNIT_IN_OPERATION    ;
42//      delete      in_WRITE_UNIT_IN_TYPE         ;
43        delete      in_WRITE_UNIT_IN_WRITE_RD     ;
44        delete      in_WRITE_UNIT_IN_NUM_REG_RD   ;
45        delete      in_WRITE_UNIT_IN_DATA_RD      ;
46        delete      in_WRITE_UNIT_IN_WRITE_RE     ;
47        delete      in_WRITE_UNIT_IN_NUM_REG_RE   ;
48        delete      in_WRITE_UNIT_IN_DATA_RE      ;
49        delete      in_WRITE_UNIT_IN_EXCEPTION    ;
50        delete      in_WRITE_UNIT_IN_NO_SEQUENCE  ;
51        delete      in_WRITE_UNIT_IN_ADDRESS      ;
52
53        // -----[ Interface "write_unit_out" ]-------------------------------   
54        delete     out_WRITE_UNIT_OUT_VAL          ;
55        delete      in_WRITE_UNIT_OUT_ACK          ;
56        if (_param->_have_port_context_id)
57        delete     out_WRITE_UNIT_OUT_CONTEXT_ID   ;
58        if (_param->_have_port_front_end_id)
59        delete     out_WRITE_UNIT_OUT_FRONT_END_ID ;
60        if (_param->_have_port_ooo_engine_id)
61        delete     out_WRITE_UNIT_OUT_OOO_ENGINE_ID;
62        if (_param->_have_port_packet_id)
63        delete     out_WRITE_UNIT_OUT_PACKET_ID    ;
64//      delete     out_WRITE_UNIT_OUT_OPERATION    ;
65//      delete     out_WRITE_UNIT_OUT_TYPE         ;
66        delete     out_WRITE_UNIT_OUT_FLAGS        ;
67        delete     out_WRITE_UNIT_OUT_EXCEPTION    ;
68        delete     out_WRITE_UNIT_OUT_NO_SEQUENCE  ;
69        delete     out_WRITE_UNIT_OUT_ADDRESS      ;
70
71        // -----[ Interface "gpr_write" ]-------------------------------------
72        delete []  out_GPR_WRITE_VAL               ;
73        delete []   in_GPR_WRITE_ACK               ;
74        if (_param->_have_port_ooo_engine_id)
75        delete []  out_GPR_WRITE_OOO_ENGINE_ID     ;
76        delete []  out_GPR_WRITE_NUM_REG           ;
77        delete []  out_GPR_WRITE_DATA              ;
78       
79        // -----[ Interface "spr_write" ]-------------------------------------
80        delete []  out_SPR_WRITE_VAL               ;
81        delete []   in_SPR_WRITE_ACK               ;
82        if (_param->_have_port_ooo_engine_id)
83        delete []  out_SPR_WRITE_OOO_ENGINE_ID     ;
84        delete []  out_SPR_WRITE_NUM_REG           ;
85        delete []  out_SPR_WRITE_DATA              ;
86
87        // -----[ Interface "bypass_write" ]----------------------------------
88        if (_param->_have_port_ooo_engine_id)
89        delete []  out_BYPASS_WRITE_OOO_ENGINE_ID ;
90        delete []  out_BYPASS_WRITE_GPR_VAL       ;
91        delete []  out_BYPASS_WRITE_GPR_NUM_REG   ;
92        delete []  out_BYPASS_WRITE_GPR_DATA      ;
93        delete []  out_BYPASS_WRITE_SPR_VAL       ;
94        delete []  out_BYPASS_WRITE_SPR_NUM_REG   ;
95        delete []  out_BYPASS_WRITE_SPR_DATA      ;
96
97      }
98    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
99
100    delete component_write_queue;
101    if (_param->_have_component_execute_queue)
102      delete component_execute_queue;
103
104    delete _component;
105
106    log_printf(FUNC,Write_unit,FUNCTION,"End");
107  };
108
109}; // end namespace write_unit
110}; // end namespace multi_write_unit
111}; // end namespace execute_loop
112}; // end namespace multi_execute_loop
113}; // end namespace core
114
115}; // end namespace behavioural
116}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.