source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Read_unit_to_Execution_unit_deallocation.cpp @ 77

Last change on this file since 77 was 77, checked in by rosiere, 16 years ago
  • Add two component :
    • network between read unit and execute unit
    • network between execute unit and write unit
  • remove parameters "nb_operation" and "nb_type"
  • in write_queue add the special case : load_speculative
File size: 3.5 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/include/Read_unit_to_Execution_unit.h"
9
10namespace morpheo                    {
11namespace behavioural {
12namespace core {
13namespace multi_execute_loop {
14namespace execute_loop {
15namespace network {
16namespace read_unit_to_execution_unit {
17
18
19#undef  FUNCTION
20#define FUNCTION "Read_unit_to_Execution_unit::deallocation"
21  void Read_unit_to_Execution_unit::deallocation (void)
22  {
23    log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"Begin");
24
25    if (_usage & USE_SYSTEMC)
26      {
27        delete    in_CLOCK ;
28        delete    in_NRESET;
29
30        // ~~~~~[ Interface "read_unit_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31        delete [] in_READ_UNIT_OUT_VAL                  ;
32        delete []out_READ_UNIT_OUT_ACK                  ;
33        if (_param->_have_port_context_id)
34        delete [] in_READ_UNIT_OUT_CONTEXT_ID           ;
35        if (_param->_have_port_front_end_id)
36        delete [] in_READ_UNIT_OUT_FRONT_END_ID         ;
37        if (_param->_have_port_ooo_engine_id)
38        delete [] in_READ_UNIT_OUT_OOO_ENGINE_ID        ;
39        if (_param->_have_port_packet_id)
40        delete [] in_READ_UNIT_OUT_PACKET_ID            ;
41        delete [] in_READ_UNIT_OUT_OPERATION            ;
42        delete [] in_READ_UNIT_OUT_TYPE                 ;
43        delete [] in_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE;
44        delete [] in_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ;
45        delete [] in_READ_UNIT_OUT_HAS_IMMEDIAT         ;
46        delete [] in_READ_UNIT_OUT_IMMEDIAT             ;
47        delete [] in_READ_UNIT_OUT_DATA_RA              ;
48        delete [] in_READ_UNIT_OUT_DATA_RB              ;
49        delete [] in_READ_UNIT_OUT_DATA_RC              ;
50        delete [] in_READ_UNIT_OUT_WRITE_RD             ;
51        delete [] in_READ_UNIT_OUT_NUM_REG_RD           ;
52        delete [] in_READ_UNIT_OUT_WRITE_RE             ;
53        delete [] in_READ_UNIT_OUT_NUM_REG_RE           ;
54
55        // ~~~~~[ Interface "execute_unit_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56        delete [] out_EXECUTE_UNIT_IN_VAL                  ;
57        delete []  in_EXECUTE_UNIT_IN_ACK                  ;
58        if (_param->_have_port_context_id)
59        delete [] out_EXECUTE_UNIT_IN_CONTEXT_ID           ;
60        if (_param->_have_port_front_end_id)
61        delete [] out_EXECUTE_UNIT_IN_FRONT_END_ID         ;
62        if (_param->_have_port_ooo_engine_id)
63        delete [] out_EXECUTE_UNIT_IN_OOO_ENGINE_ID        ;
64        if (_param->_have_port_packet_id)
65        delete [] out_EXECUTE_UNIT_IN_PACKET_ID            ;
66        delete [] out_EXECUTE_UNIT_IN_OPERATION            ;
67        delete [] out_EXECUTE_UNIT_IN_TYPE                 ;
68        delete [] out_EXECUTE_UNIT_IN_STORE_QUEUE_PTR_WRITE;
69        delete [] out_EXECUTE_UNIT_IN_LOAD_QUEUE_PTR_WRITE ;
70        delete [] out_EXECUTE_UNIT_IN_HAS_IMMEDIAT         ;
71        delete [] out_EXECUTE_UNIT_IN_IMMEDIAT             ;
72        delete [] out_EXECUTE_UNIT_IN_DATA_RA              ;
73        delete [] out_EXECUTE_UNIT_IN_DATA_RB              ;
74        delete [] out_EXECUTE_UNIT_IN_DATA_RC              ;
75        delete [] out_EXECUTE_UNIT_IN_WRITE_RD             ;
76        delete [] out_EXECUTE_UNIT_IN_NUM_REG_RD           ;
77        delete [] out_EXECUTE_UNIT_IN_WRITE_RE             ;
78        delete [] out_EXECUTE_UNIT_IN_NUM_REG_RE           ;
79      }
80    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
81
82    delete [] _destination;
83    delete    _component;
84
85    log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"End");
86  };
87
88}; // end namespace read_unit_to_execution_unit
89}; // end namespace network
90}; // end namespace execute_loop
91}; // end namespace multi_execute_loop
92}; // end namespace core
93
94}; // end namespace behavioural
95}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.