source: trunk/IPs/systemC/processor/Morpheo/TopLevel/src/Morpheo_deallocation.cpp @ 145

Last change on this file since 145 was 145, checked in by rosiere, 14 years ago

1) add test with SPECINT2K
2) new config of Selftest
3) modif RAT to support multiple depth_save ... but not finish (need fix Update Prediction Table)
4) add Function_pointer but need fix

  • Property svn:keywords set to Id
File size: 3.3 KB
Line 
1/*
2 * $Id: Morpheo_deallocation.cpp 145 2010-10-13 18:15:51Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "TopLevel/include/Morpheo.h"
9#include "Behavioural/include/Allocation.h"
10
11namespace morpheo {
12
13  using namespace behavioural;
14
15#undef  FUNCTION
16#define FUNCTION "Morpheo::deallocation"
17  void Morpheo::deallocation (void)
18  {
19    log_begin(Morpheo,FUNCTION);
20
21    if (usage_is_set(_usage,USE_SYSTEMC))
22      {
23        delete    in_CLOCK ;
24        delete    in_NRESET;
25
26        DELETE1_SIGNAL(out_ICACHE_REQ_VAL         ,_param_core->_nb_icache_port,1);
27        DELETE1_SIGNAL( in_ICACHE_REQ_ACK         ,_param_core->_nb_icache_port,1);
28        DELETE1_SIGNAL(out_ICACHE_REQ_THREAD_ID   ,_param_core->_nb_icache_port,_param_core->_size_icache_thread_id);
29        DELETE1_SIGNAL(out_ICACHE_REQ_PACKET_ID   ,_param_core->_nb_icache_port,_param_core->_size_icache_packet_id);
30        DELETE1_SIGNAL(out_ICACHE_REQ_ADDRESS     ,_param_core->_nb_icache_port,_param_core->_size_icache_address);
31        DELETE1_SIGNAL(out_ICACHE_REQ_TYPE        ,_param_core->_nb_icache_port,_param_core->_size_icache_type);
32 
33        DELETE1_SIGNAL( in_ICACHE_RSP_VAL         ,_param_core->_nb_icache_port,1);
34        DELETE1_SIGNAL(out_ICACHE_RSP_ACK         ,_param_core->_nb_icache_port,1);
35        DELETE1_SIGNAL( in_ICACHE_RSP_THREAD_ID   ,_param_core->_nb_icache_port,_param_core->_size_icache_thread_id);
36        DELETE1_SIGNAL( in_ICACHE_RSP_PACKET_ID   ,_param_core->_nb_icache_port,_param_core->_size_icache_packet_id);
37        DELETE1_SIGNAL( in_ICACHE_RSP_ERROR       ,_param_core->_nb_icache_port,_param_core->_size_icache_error);
38        DELETE2_SIGNAL( in_ICACHE_RSP_INSTRUCTION ,_param_core->_nb_icache_port,_param_core->_icache_nb_instruction[it1],_param_core->_size_instruction);
39 
40        DELETE1_SIGNAL(out_DCACHE_REQ_VAL         ,_param_core->_nb_dcache_port,1);
41        DELETE1_SIGNAL( in_DCACHE_REQ_ACK         ,_param_core->_nb_dcache_port,1);
42        DELETE1_SIGNAL(out_DCACHE_REQ_THREAD_ID   ,_param_core->_nb_dcache_port,_param_core->_size_dcache_thread_id);
43        DELETE1_SIGNAL(out_DCACHE_REQ_PACKET_ID   ,_param_core->_nb_dcache_port,_param_core->_size_dcache_packet_id);
44        DELETE1_SIGNAL(out_DCACHE_REQ_ADDRESS     ,_param_core->_nb_dcache_port,_param_core->_size_dcache_address);
45        DELETE1_SIGNAL(out_DCACHE_REQ_WDATA       ,_param_core->_nb_dcache_port,_param_core->_size_dcache_data);
46        DELETE1_SIGNAL(out_DCACHE_REQ_TYPE        ,_param_core->_nb_dcache_port,_param_core->_size_dcache_type);
47 
48        DELETE1_SIGNAL( in_DCACHE_RSP_VAL         ,_param_core->_nb_dcache_port,1);
49        DELETE1_SIGNAL(out_DCACHE_RSP_ACK         ,_param_core->_nb_dcache_port,1);
50        DELETE1_SIGNAL( in_DCACHE_RSP_THREAD_ID   ,_param_core->_nb_dcache_port,_param_core->_size_dcache_thread_id);
51        DELETE1_SIGNAL( in_DCACHE_RSP_PACKET_ID   ,_param_core->_nb_dcache_port,_param_core->_size_dcache_packet_id);
52        DELETE1_SIGNAL( in_DCACHE_RSP_RDATA       ,_param_core->_nb_dcache_port,_param_core->_size_dcache_data);
53        DELETE1_SIGNAL( in_DCACHE_RSP_ERROR       ,_param_core->_nb_dcache_port,_param_core->_size_dcache_error);
54 
55        DELETE1_SIGNAL( in_INTERRUPT_ENABLE       ,_param_core->_nb_thread,1);
56      }
57    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
58
59    delete _component_core;
60    delete _component;
61    // delete _function_pointer;
62
63    log_end(Morpheo,FUNCTION);
64  };
65
66}; // end namespace morpheo
Note: See TracBrowser for help on using the repository browser.