source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management_deallocation.cpp @ 101

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

1) Add soc test
2) fix bug (Pc management, Decod and execute, Update prediction ...)

  • Property svn:keywords set to Id
File size: 2.7 KB
Line 
1/*
2 * $Id: Address_management_deallocation.cpp 101 2009-01-15 17:19:08Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/include/Address_management.h"
9
10namespace morpheo                    {
11namespace behavioural {
12namespace core {
13namespace multi_front_end {
14namespace front_end {
15namespace ifetch_unit {
16namespace address_management {
17
18
19#undef  FUNCTION
20#define FUNCTION "Address_management::deallocation"
21  void Address_management::deallocation (void)
22  {
23    log_printf(FUNC,Address_management,FUNCTION,"Begin");
24
25    if (usage_is_set(_usage,USE_SYSTEMC))
26      {
27        delete    in_CLOCK ;
28        delete    in_NRESET;
29
30        delete    out_ADDRESS_VAL                        ;
31        delete     in_ADDRESS_ACK                        ;
32        delete    out_ADDRESS_INSTRUCTION_ADDRESS        ;
33        delete [] out_ADDRESS_INSTRUCTION_ENABLE         ;
34        if (_param->_have_port_inst_ifetch_ptr)
35        delete    out_ADDRESS_INST_IFETCH_PTR            ;
36        delete    out_ADDRESS_BRANCH_STATE               ;
37        if (_param->_have_port_depth)
38        delete    out_ADDRESS_BRANCH_UPDATE_PREDICTION_ID;
39        delete    out_PREDICT_VAL                        ;
40        delete     in_PREDICT_ACK                        ;
41        delete    out_PREDICT_PC_PREVIOUS                ;
42        delete    out_PREDICT_PC_CURRENT                 ;
43        delete    out_PREDICT_PC_CURRENT_IS_DS_TAKE      ;
44        delete     in_PREDICT_PC_NEXT                    ;
45        delete     in_PREDICT_PC_NEXT_IS_DS_TAKE         ;
46        delete []  in_PREDICT_INSTRUCTION_ENABLE         ;
47        if (_param->_have_port_inst_ifetch_ptr)
48        delete     in_PREDICT_INST_IFETCH_PTR            ;
49//      delete     in_PREDICT_BRANCH_IS_CURRENT          ;
50        delete     in_PREDICT_BRANCH_STATE               ;
51        if (_param->_have_port_depth)
52        delete     in_PREDICT_BRANCH_UPDATE_PREDICTION_ID;
53        delete     in_EVENT_VAL                          ;
54        delete    out_EVENT_ACK                          ;
55        delete     in_EVENT_ADDRESS                      ;
56        delete     in_EVENT_ADDRESS_NEXT                 ;
57        delete     in_EVENT_ADDRESS_NEXT_VAL             ;
58        delete     in_EVENT_IS_DS_TAKE                   ;
59     
60        // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
61        if (usage_is_set(_usage,USE_SYSTEMC))
62          {
63            delete reg_PC_ACCESS_INSTRUCTION_ENABLE ;
64            delete reg_PC_CURRENT_INSTRUCTION_ENABLE;
65            delete reg_PC_NEXT_INSTRUCTION_ENABLE   ;
66          }
67      }
68
69
70    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
71    delete _component;
72
73    log_printf(FUNC,Address_management,FUNCTION,"End");
74  };
75
76}; // end namespace address_management
77}; // end namespace ifetch_unit
78}; // end namespace front_end
79}; // end namespace multi_front_end
80}; // end namespace core
81
82}; // end namespace behavioural
83}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.