source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Icache_Access/src/Icache_Access_deallocation.cpp @ 88

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

Almost complete design
with Test and test platform

  • Property svn:keywords set to Id
File size: 3.9 KB
Line 
1/*
2 * $Id: Icache_Access_deallocation.cpp 88 2008-12-10 18:31:39Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Icache_Access/include/Icache_Access.h"
9#include "Behavioural/include/Allocation.h"
10
11namespace morpheo                    {
12namespace behavioural {
13namespace core {
14namespace icache_access {
15
16
17#undef  FUNCTION
18#define FUNCTION "Icache_Access::deallocation"
19  void Icache_Access::deallocation (void)
20  {
21    log_begin(Icache_Access,FUNCTION);
22
23    if (usage_is_set(_usage,USE_SYSTEMC))
24      {
25        delete    in_CLOCK ;
26        delete    in_NRESET;
27
28        DELETE1_SIGNAL(out_ICACHE_REQ_VAL         ,_param->_nb_icache_port,1);
29        DELETE1_SIGNAL( in_ICACHE_REQ_ACK         ,_param->_nb_icache_port,1);
30        DELETE1_SIGNAL(out_ICACHE_REQ_THREAD_ID   ,_param->_nb_icache_port,_param->_size_icache_thread_id);
31        DELETE1_SIGNAL(out_ICACHE_REQ_PACKET_ID   ,_param->_nb_icache_port,_param->_size_icache_packet_id);
32        DELETE1_SIGNAL(out_ICACHE_REQ_ADDRESS     ,_param->_nb_icache_port,_param->_size_address);
33        DELETE1_SIGNAL(out_ICACHE_REQ_TYPE        ,_param->_nb_icache_port,_param->_size_icache_type);
34 
35        DELETE1_SIGNAL( in_ICACHE_RSP_VAL         ,_param->_nb_icache_port,1);
36        DELETE1_SIGNAL(out_ICACHE_RSP_ACK         ,_param->_nb_icache_port,1);
37        DELETE1_SIGNAL( in_ICACHE_RSP_THREAD_ID   ,_param->_nb_icache_port,_param->_size_icache_thread_id);
38        DELETE1_SIGNAL( in_ICACHE_RSP_PACKET_ID   ,_param->_nb_icache_port,_param->_size_icache_packet_id);
39        DELETE1_SIGNAL( in_ICACHE_RSP_ERROR       ,_param->_nb_icache_port,_param->_size_icache_error);
40        DELETE2_SIGNAL( in_ICACHE_RSP_INSTRUCTION ,_param->_nb_icache_port,_param->_icache_nb_instruction[it1],_param->_size_instruction);
41       
42        DELETE2_SIGNAL( in_CONTEXT_REQ_VAL        ,_param->_nb_front_end, _param->_nb_context[it1],1                                );
43        DELETE2_SIGNAL(out_CONTEXT_REQ_ACK        ,_param->_nb_front_end, _param->_nb_context[it1],1                                );
44//      DELETE2_SIGNAL( in_CONTEXT_REQ_THREAD_ID                                                  ,_param->_size_);
45        DELETE2_SIGNAL( in_CONTEXT_REQ_PACKET_ID  ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_packet_id[it1][it2]);
46        DELETE2_SIGNAL( in_CONTEXT_REQ_ADDRESS    ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_address            );
47        DELETE2_SIGNAL( in_CONTEXT_REQ_TYPE       ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_icache_type        );
48                                                                                                 
49        DELETE2_SIGNAL(out_CONTEXT_RSP_VAL        ,_param->_nb_front_end, _param->_nb_context[it1],1                                );
50        DELETE2_SIGNAL( in_CONTEXT_RSP_ACK        ,_param->_nb_front_end, _param->_nb_context[it1],1                                );
51//      DELETE2_SIGNAL(out_CONTEXT_RSP_THREAD_ID  ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_                   );
52        DELETE2_SIGNAL(out_CONTEXT_RSP_PACKET_ID  ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_packet_id[it1][it2]);
53        DELETE2_SIGNAL(out_CONTEXT_RSP_ERROR      ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_icache_error       );
54        DELETE3_SIGNAL(out_CONTEXT_RSP_INSTRUCTION,_param->_nb_front_end, _param->_nb_context[it1],_param->_nb_instruction[it1][it2],_param->_size_instruction        );
55
56        // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57#ifdef STATISTICS
58        delete [] _internal_ICACHE_REQ_NB_ACCESS        ;
59        delete [] _internal_ICACHE_REQ_NB_ACCESS_CONFLIT;
60#endif
61      }
62
63    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
64    delete _priority;
65
66    delete _component;
67
68    log_end(Icache_Access,FUNCTION);
69  };
70
71}; // end namespace icache_access
72}; // end namespace core
73
74}; // end namespace behavioural
75}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.