source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_deallocation.cpp @ 15

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

Interface normalisé
Début du banc de registres multi niveaux

File size: 3.9 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id$
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"
10
11namespace morpheo {
12namespace behavioural {
13namespace generic {
14namespace registerfile{
15namespace registerfile_multi_banked {
16namespace registerfile_multi_banked_glue {
17
18  void RegisterFile_Multi_Banked_Glue::deallocation (void)
19  {
20    log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"deallocation","Begin");
21
22#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
23    delete in_CLOCK;
24#endif
25
26   for (uint32_t i=0; i<_param._nb_port_read; i++)
27     {
28       delete  in_READ_IN_VAL       [i];
29       delete out_READ_IN_ACK       [i];
30       delete  in_READ_IN_ADDRESS   [i];
31       delete out_READ_IN_DATA      [i];
32     }
33                                                     
34   delete  in_READ_IN_VAL    ;
35   delete out_READ_IN_ACK    ;
36   delete  in_READ_IN_ADDRESS;
37   delete out_READ_IN_DATA   ;
38   
39   for (uint32_t i=0; i<_param._nb_bank; i++)
40     {
41       for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++)
42         {
43           for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++)
44             {
45               delete out_READ_SELECT_VAL [i][j][k];
46               delete  in_READ_SELECT_ACK [i][j][k];
47             }
48           delete out_READ_SELECT_VAL [i][j];
49           delete  in_READ_SELECT_ACK [i][j];
50         }
51       delete out_READ_SELECT_VAL [i];
52       delete  in_READ_SELECT_ACK [i];
53     }
54   delete out_READ_SELECT_VAL;
55   delete  in_READ_SELECT_ACK;
56   
57   for (uint32_t i=0; i<_param._nb_bank; i++)
58      {
59        for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++)
60          {
61            delete out_READ_OUT_VAL      [i][j];
62            delete  in_READ_OUT_ACK      [i][j];
63            delete out_READ_OUT_ADDRESS  [i][j];
64            delete  in_READ_OUT_DATA     [i][j];
65          }
66
67        delete out_READ_OUT_VAL      [i];
68        delete  in_READ_OUT_ACK      [i];
69        delete out_READ_OUT_ADDRESS  [i];
70        delete  in_READ_OUT_DATA     [i];
71      }
72
73   delete out_READ_OUT_VAL    ;
74   delete  in_READ_OUT_ACK    ;
75   delete out_READ_OUT_ADDRESS;
76   delete  in_READ_OUT_DATA   ;
77
78   for (uint32_t i=0; i<_param._nb_port_write; i++)
79     {
80       delete  in_WRITE_IN_VAL      [i];
81       delete out_WRITE_IN_ACK      [i];
82       delete  in_WRITE_IN_ADDRESS  [i];
83       delete  in_WRITE_IN_DATA     [i];
84     }
85
86   delete  in_WRITE_IN_VAL    ;
87   delete out_WRITE_IN_ACK    ;
88   delete  in_WRITE_IN_ADDRESS;
89   delete  in_WRITE_IN_DATA   ;
90
91   for (uint32_t i=0; i<_param._nb_bank; i++)
92     {
93       for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++)
94         {
95           for (uint32_t k=0; k<_param._nb_port_select_by_bank_write_port[j]; k++)
96             {
97               delete out_WRITE_SELECT_VAL [i][j][k];
98               delete  in_WRITE_SELECT_ACK [i][j][k];
99             }
100           delete out_WRITE_SELECT_VAL [i][j];
101           delete  in_WRITE_SELECT_ACK [i][j];
102         }
103       delete out_WRITE_SELECT_VAL [i];
104       delete  in_WRITE_SELECT_ACK [i];
105     }
106   delete out_WRITE_SELECT_VAL;
107   delete  in_WRITE_SELECT_ACK;
108   
109   for (uint32_t i=0; i<_param._nb_bank; i++)
110     {
111       for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++)
112         {
113           delete out_WRITE_OUT_VAL     [i][j];
114           delete  in_WRITE_OUT_ACK     [i][j];
115           delete out_WRITE_OUT_ADDRESS [i][j];
116           delete out_WRITE_OUT_DATA    [i][j];
117         }
118       
119       delete out_WRITE_OUT_VAL     [i];
120       delete  in_WRITE_OUT_ACK     [i];
121       delete out_WRITE_OUT_ADDRESS [i];
122       delete out_WRITE_OUT_DATA    [i];
123     }
124     
125   delete out_WRITE_OUT_VAL    ;
126   delete  in_WRITE_OUT_ACK    ;
127   delete out_WRITE_OUT_ADDRESS;
128   delete out_WRITE_OUT_DATA   ;
129   
130   // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
131   
132   log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"deallocation","End");
133  };
134 
135}; // end namespace registerfile_multi_banked_glue
136}; // end namespace registerfile_multi_banked
137}; // end namespace registerfile
138}; // end namespace generic
139}; // end namespace behavioural
140}; // end namespace morpheo             
141#endif
Note: See TracBrowser for help on using the repository browser.