source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_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: 4.2 KB
Line 
1/*
2 * $Id: Write_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_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_is_set(_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_rob_ptr)
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_rob_ptr)
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        delete     out_WRITE_UNIT_OUT_DATA         ;
71
72        // -----[ Interface "gpr_write" ]-------------------------------------
73        delete []  out_GPR_WRITE_VAL               ;
74        delete []   in_GPR_WRITE_ACK               ;
75        if (_param->_have_port_ooo_engine_id)
76        delete []  out_GPR_WRITE_OOO_ENGINE_ID     ;
77        delete []  out_GPR_WRITE_NUM_REG           ;
78        delete []  out_GPR_WRITE_DATA              ;
79       
80        // -----[ Interface "spr_write" ]-------------------------------------
81        delete []  out_SPR_WRITE_VAL               ;
82        delete []   in_SPR_WRITE_ACK               ;
83        if (_param->_have_port_ooo_engine_id)
84        delete []  out_SPR_WRITE_OOO_ENGINE_ID     ;
85        delete []  out_SPR_WRITE_NUM_REG           ;
86        delete []  out_SPR_WRITE_DATA              ;
87
88        // -----[ Interface "bypass_write" ]----------------------------------
89        if (_param->_have_port_ooo_engine_id)
90        delete []  out_BYPASS_WRITE_OOO_ENGINE_ID ;
91        delete []  out_BYPASS_WRITE_GPR_VAL       ;
92        delete []  out_BYPASS_WRITE_GPR_NUM_REG   ;
93        delete []  out_BYPASS_WRITE_GPR_DATA      ;
94        delete []  out_BYPASS_WRITE_SPR_VAL       ;
95        delete []  out_BYPASS_WRITE_SPR_NUM_REG   ;
96        delete []  out_BYPASS_WRITE_SPR_DATA      ;
97
98      }
99    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
100
101    delete component_write_queue;
102    if (_param->_have_component_execute_queue)
103      delete component_execute_queue;
104
105    delete _component;
106
107    log_printf(FUNC,Write_unit,FUNCTION,"End");
108  };
109
110}; // end namespace write_unit
111}; // end namespace multi_write_unit
112}; // end namespace execute_loop
113}; // end namespace multi_execute_loop
114}; // end namespace core
115
116}; // end namespace behavioural
117}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.