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

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

Almost complete design
with Test and test platform

  • Property svn:keywords set to Id
File size: 3.3 KB
Line 
1/*
2 * $Id: Morpheo_deallocation.cpp 88 2008-12-10 18:31:39Z 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;
60    delete _component_core;
61
62    log_end(Morpheo,FUNCTION);
63  };
64
65}; // end namespace morpheo
Note: See TracBrowser for help on using the repository browser.