Ignore:
Timestamp:
Dec 10, 2008, 7:31:39 PM (15 years ago)
Author:
rosiere
Message:

Almost complete design
with Test and test platform

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/src/Return_Address_Stack_deallocation.cpp

    r81 r88  
    77
    88#include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/include/Return_Address_Stack.h"
     9#include "Behavioural/include/Allocation.h"
    910
    1011namespace morpheo                    {
     
    2324    log_printf(FUNC,Return_Address_Stack,FUNCTION,"Begin");
    2425
    25     if (_usage & USE_SYSTEMC)
     26    if (usage_is_set(_usage,USE_SYSTEMC))
    2627      {
    2728        delete    in_CLOCK ;
    2829        delete    in_NRESET;
    2930
    30         delete []  in_PREDICT_VAL          ;
    31         delete [] out_PREDICT_ACK          ;
    32         if (_param->_have_port_context_id)
    33         delete []  in_PREDICT_CONTEXT_ID   ;
    34         delete [] out_PREDICT_HIT          ;
    35         delete []  in_PREDICT_PUSH         ;
    36         delete []  in_PREDICT_ADDRESS_PUSH ;
    37         delete [] out_PREDICT_ADDRESS_POP  ;
    38         delete [] out_PREDICT_INDEX        ;
    39         delete []  in_DECOD_VAL            ;
    40         delete [] out_DECOD_ACK            ;
    41         delete []  in_DECOD_PUSH           ;
    42         if (_param->_have_port_context_id)
    43         delete []  in_DECOD_CONTEXT_ID     ;
    44         delete [] out_DECOD_HIT            ;
    45         delete []  in_DECOD_ADDRESS_PUSH   ;
    46         delete [] out_DECOD_ADDRESS_POP    ;
    47         delete [] out_DECOD_INDEX          ;
    48         delete []  in_DECOD_MISS_PREDICTION;
    49         delete []  in_UPDATE_VAL           ;
    50         delete [] out_UPDATE_ACK           ;
    51         if (_param->_have_port_context_id)
    52         delete []  in_UPDATE_CONTEXT_ID    ;
    53         delete []  in_UPDATE_PUSH          ;
    54         delete []  in_UPDATE_INDEX         ;
    55         delete []  in_UPDATE_ADDRESS       ;
    56         delete []  in_UPDATE_MISS_PREDICTION;
    57         delete []  in_UPDATE_PREDICTION_IFETCH;
     31        DELETE1_SIGNAL( in_PREDICT_VAL             ,_param->_nb_inst_predict,1);
     32        DELETE1_SIGNAL(out_PREDICT_ACK             ,_param->_nb_inst_predict,1);
     33        DELETE1_SIGNAL( in_PREDICT_CONTEXT_ID      ,_param->_nb_inst_predict,_param->_size_context_id);
     34        DELETE1_SIGNAL(out_PREDICT_HIT             ,_param->_nb_inst_predict,1);
     35        DELETE1_SIGNAL( in_PREDICT_PUSH            ,_param->_nb_inst_predict,1);
     36        DELETE1_SIGNAL( in_PREDICT_ADDRESS_PUSH    ,_param->_nb_inst_predict,_param->_size_instruction_address);
     37        DELETE1_SIGNAL(out_PREDICT_ADDRESS_POP     ,_param->_nb_inst_predict,_param->_size_instruction_address);
     38        DELETE1_SIGNAL(out_PREDICT_INDEX           ,_param->_nb_inst_predict,_param->_size_index);
     39
     40        DELETE1_SIGNAL( in_DECOD_VAL               ,_param->_nb_inst_decod,1);
     41        DELETE1_SIGNAL(out_DECOD_ACK               ,_param->_nb_inst_decod,1);
     42        DELETE1_SIGNAL( in_DECOD_CONTEXT_ID        ,_param->_nb_inst_decod,_param->_size_context_id);
     43        DELETE1_SIGNAL(out_DECOD_HIT               ,_param->_nb_inst_decod,1);
     44        DELETE1_SIGNAL( in_DECOD_PUSH              ,_param->_nb_inst_decod,1);
     45        DELETE1_SIGNAL( in_DECOD_ADDRESS_PUSH      ,_param->_nb_inst_decod,_param->_size_instruction_address);
     46        DELETE1_SIGNAL(out_DECOD_ADDRESS_POP       ,_param->_nb_inst_decod,_param->_size_instruction_address);
     47        DELETE1_SIGNAL(out_DECOD_INDEX             ,_param->_nb_inst_decod,_param->_size_index);
     48        DELETE1_SIGNAL( in_DECOD_MISS_PREDICTION   ,_param->_nb_inst_decod,1);
     49
     50        DELETE1_SIGNAL( in_UPDATE_VAL              ,_param->_nb_inst_update,1);
     51        DELETE1_SIGNAL(out_UPDATE_ACK              ,_param->_nb_inst_update,1);
     52        DELETE1_SIGNAL( in_UPDATE_CONTEXT_ID       ,_param->_nb_inst_update,_param->_size_context_id);
     53        DELETE1_SIGNAL( in_UPDATE_PUSH             ,_param->_nb_inst_update,1);
     54        DELETE1_SIGNAL( in_UPDATE_ADDRESS          ,_param->_nb_inst_update,_param->_size_instruction_address);
     55        DELETE1_SIGNAL( in_UPDATE_INDEX            ,_param->_nb_inst_update,_param->_size_index);
     56        DELETE1_SIGNAL( in_UPDATE_MISS_PREDICTION  ,_param->_nb_inst_update,1);
     57        DELETE1_SIGNAL( in_UPDATE_PREDICTION_IFETCH,_param->_nb_inst_update,1);
     58       
     59        // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     60       
     61        for (uint32_t i=0; i<_param->_nb_context; i++)
     62          delete [] reg_stack [i];
     63        delete [] reg_stack;
     64        delete [] reg_TOP;
     65        delete [] reg_BOTTOM;
     66        delete [] reg_NB_ELT;
     67        delete [] reg_PREDICT_TOP;
     68        delete [] reg_PREDICT_BOTTOM;
     69        delete [] reg_PREDICT_NB_ELT;
     70       
     71        delete [] internal_PREDICT_ACK;
     72        delete [] internal_PREDICT_HIT;
     73        delete [] internal_DECOD_ACK;
     74        delete [] internal_DECOD_HIT;
     75        delete [] internal_UPDATE_ACK;
    5876      }
    59 
    60     // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    61 
    62     delete [] reg_stack;
    63     delete [] reg_TOP;
    64     delete [] reg_BOTTOM;
    65     delete [] reg_NB_ELT;
    66     delete [] reg_PREDICT_TOP;
    67     delete [] reg_PREDICT_BOTTOM;
    68     delete [] reg_PREDICT_NB_ELT;
    69    
    70     delete [] internal_PREDICT_ACK;
    71     delete [] internal_PREDICT_HIT;
    72     delete [] internal_DECOD_ACK;
    73     delete [] internal_DECOD_HIT;
    74     delete [] internal_UPDATE_ACK;
    7577
    7678    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
Note: See TracChangeset for help on using the changeset viewer.