source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_vhdl_body.cpp

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

Various modif (add test, and vhdl)

  • Property svn:keywords set to Id
File size: 17.0 KB
Line 
1#ifdef VHDL
2/*
3 * $Id: Register_unit_Glue_vhdl_body.cpp 137 2010-02-16 12:35:48Z rosiere $
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h"
10
11namespace morpheo                    {
12namespace behavioural {
13namespace core {
14namespace multi_execute_loop {
15namespace execute_loop {
16namespace register_unit {
17namespace register_unit_glue {
18
19
20#undef  FUNCTION
21#define FUNCTION "Register_unit_Glue::vhdl_body"
22  void Register_unit_Glue::vhdl_body (Vhdl * & vhdl)
23  {
24    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
25
26    // vhdl->set_body("out_CONST_0 <= '0';");
27    // vhdl->set_body("out_CONST_1 <= '1';");
28
29    //-----------------------------------
30    // GPR_READ
31    //-----------------------------------
32
33    vhdl->set_body ("");
34    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
35      {
36        vhdl->set_body ("out_GPR_READ_"+toString(j)+"_ACK <=");
37        for (uint32_t i=_param->_nb_ooo_engine-1; i>=1; i--)
38          {
39            vhdl->set_body ("\tin_GPR_READ_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_ACK and in_GPR_READ_STATUS_"+toString(i)+"_"+toString(j)+"_ACK when in_GPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else");
40          }
41        vhdl->set_body ("\tin_GPR_READ_REGISTERFILE_0_"+toString(j)+"_ACK and in_GPR_READ_STATUS_0_"+toString(j)+"_ACK;");
42      }
43
44    vhdl->set_body ("");
45    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
46      {
47        vhdl->set_body ("out_GPR_READ_"+toString(j)+"_DATA <=");
48        for (uint32_t i=_param->_nb_ooo_engine-1; i>=1; i--)
49          {
50            vhdl->set_body ("\tin_GPR_READ_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_DATA when in_GPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else");
51          }
52        vhdl->set_body ("\tin_GPR_READ_REGISTERFILE_0_"+toString(j)+"_DATA;");
53      }
54
55    vhdl->set_body ("");
56    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
57      {
58        vhdl->set_body ("out_GPR_READ_"+toString(j)+"_DATA_VAL <=");
59        for (uint32_t i=_param->_nb_ooo_engine-1; i>=1; i--)
60          {
61            vhdl->set_body ("\tin_GPR_READ_STATUS_"+toString(i)+"_"+toString(j)+"_DATA_VAL when in_GPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else");
62          }
63        vhdl->set_body ("\tin_GPR_READ_STATUS_0_"+toString(j)+"_DATA_VAL;");
64      }
65
66    if (_param->_have_port_ooo_engine_id == true)
67      {
68        vhdl->set_body ("");
69        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
70          {
71            for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
72              {
73                vhdl->set_body ("out_GPR_READ_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_VAL <= in_GPR_READ_"+toString(j)+"_VAL and in_GPR_READ_STATUS_"+toString(i)+"_"+toString(j)+"_ACK when in_GPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else '0';");
74              }
75          }
76       
77        vhdl->set_body ("");
78        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
79          {
80            for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
81              {
82                vhdl->set_body ("out_GPR_READ_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <= in_GPR_READ_"+toString(j)+"_VAL and in_GPR_READ_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_ACK when in_GPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else '0';");
83              }
84          }
85      }
86    else
87      {
88        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
89          vhdl->set_body ("out_GPR_READ_REGISTERFILE_0_"+toString(j)+"_VAL <= in_GPR_READ_"+toString(j)+"_VAL and in_GPR_READ_STATUS_0_"+toString(j)+"_ACK;");
90        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
91          vhdl->set_body ("out_GPR_READ_STATUS_0_"+toString(j)+"_VAL <= in_GPR_READ_"+toString(j)+"_VAL and in_GPR_READ_REGISTERFILE_0_"+toString(j)+"_ACK;");
92      }
93
94    //-----------------------------------
95    // GPR_WRITE
96    //-----------------------------------
97
98    vhdl->set_body ("");
99    for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
100      {
101        vhdl->set_body ("out_GPR_WRITE_"+toString(j)+"_ACK <=");
102        for (uint32_t i=_param->_nb_ooo_engine-1; i>=1; i--)
103          {
104            vhdl->set_body ("\tin_GPR_WRITE_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_ACK and in_GPR_WRITE_STATUS_"+toString(i)+"_"+toString(j)+"_ACK when in_GPR_WRITE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else");
105          }
106        vhdl->set_body ("\tin_GPR_WRITE_REGISTERFILE_0_"+toString(j)+"_ACK and in_GPR_WRITE_STATUS_0_"+toString(j)+"_ACK;");
107      }
108
109    if (_param->_have_port_ooo_engine_id == true)
110      {
111        vhdl->set_body ("");
112        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
113          {
114            for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
115              {
116                vhdl->set_body ("out_GPR_WRITE_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_VAL <= in_GPR_WRITE_"+toString(j)+"_VAL and in_GPR_WRITE_STATUS_"+toString(i)+"_"+toString(j)+"_ACK when in_GPR_WRITE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else '0';");
117              }
118          }
119       
120        vhdl->set_body ("");
121        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
122          {
123            for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
124              {
125                vhdl->set_body ("out_GPR_WRITE_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <= in_GPR_WRITE_"+toString(j)+"_VAL and in_GPR_WRITE_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_ACK when in_GPR_WRITE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else '0';");
126              }
127          }
128      }
129    else
130      {
131        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
132          vhdl->set_body ("out_GPR_WRITE_REGISTERFILE_0_"+toString(j)+"_VAL <= in_GPR_WRITE_"+toString(j)+"_VAL and in_GPR_WRITE_STATUS_0_"+toString(j)+"_ACK;");
133        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
134          vhdl->set_body ("out_GPR_WRITE_STATUS_0_"+toString(j)+"_VAL <= in_GPR_WRITE_"+toString(j)+"_VAL and in_GPR_WRITE_REGISTERFILE_0_"+toString(j)+"_ACK;");
135      }
136
137    //-----------------------------------
138    // SPR_READ
139    //-----------------------------------
140
141    vhdl->set_body ("");
142    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
143      {
144        vhdl->set_body ("out_SPR_READ_"+toString(j)+"_ACK <=");
145        for (uint32_t i=_param->_nb_ooo_engine-1; i>=1; i--)
146          {
147            vhdl->set_body ("\tin_SPR_READ_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_ACK and in_SPR_READ_STATUS_"+toString(i)+"_"+toString(j)+"_ACK when in_SPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else");
148          }
149        vhdl->set_body ("\tin_SPR_READ_REGISTERFILE_0_"+toString(j)+"_ACK and in_SPR_READ_STATUS_0_"+toString(j)+"_ACK;");
150      }
151
152    vhdl->set_body ("");
153    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
154      {
155        vhdl->set_body ("out_SPR_READ_"+toString(j)+"_DATA <=");
156        for (uint32_t i=_param->_nb_ooo_engine-1; i>=1; i--)
157          {
158            vhdl->set_body ("\tin_SPR_READ_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_DATA when in_SPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else");
159          }
160        vhdl->set_body ("\tin_SPR_READ_REGISTERFILE_0_"+toString(j)+"_DATA;");
161      }
162
163    vhdl->set_body ("");
164    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
165      {
166        vhdl->set_body ("out_SPR_READ_"+toString(j)+"_DATA_VAL <=");
167        for (uint32_t i=_param->_nb_ooo_engine-1; i>=1; i--)
168          {
169            vhdl->set_body ("\tin_SPR_READ_STATUS_"+toString(i)+"_"+toString(j)+"_DATA_VAL when in_SPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else");
170          }
171        vhdl->set_body ("\tin_SPR_READ_STATUS_0_"+toString(j)+"_DATA_VAL;");
172      }
173
174    if (_param->_have_port_ooo_engine_id == true)
175      {
176        vhdl->set_body ("");
177        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
178          {
179            for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
180              {
181                vhdl->set_body ("out_SPR_READ_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_VAL <= in_SPR_READ_"+toString(j)+"_VAL and in_SPR_READ_STATUS_"+toString(i)+"_"+toString(j)+"_ACK when in_SPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else '0';");
182              }
183          }
184       
185        vhdl->set_body ("");
186        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
187          {
188            for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
189              {
190                vhdl->set_body ("out_SPR_READ_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <= in_SPR_READ_"+toString(j)+"_VAL and in_SPR_READ_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_ACK when in_SPR_READ_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else '0';");
191              }
192          }
193      }
194    else
195      {
196        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
197          vhdl->set_body ("out_SPR_READ_REGISTERFILE_0_"+toString(j)+"_VAL <= in_SPR_READ_"+toString(j)+"_VAL and in_SPR_READ_STATUS_0_"+toString(j)+"_ACK;");
198        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
199          vhdl->set_body ("out_SPR_READ_STATUS_0_"+toString(j)+"_VAL <= in_SPR_READ_"+toString(j)+"_VAL and in_SPR_READ_REGISTERFILE_0_"+toString(j)+"_ACK;");
200      }
201
202    //-----------------------------------
203    // SPR_WRITE
204    //-----------------------------------
205
206    vhdl->set_body ("");
207    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
208      {
209        vhdl->set_body ("out_SPR_WRITE_"+toString(j)+"_ACK <=");
210        for (uint32_t i=_param->_nb_ooo_engine-1; i>=1; i--)
211          {
212            vhdl->set_body ("\tin_SPR_WRITE_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_ACK and in_SPR_WRITE_STATUS_"+toString(i)+"_"+toString(j)+"_ACK when in_SPR_WRITE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else");
213          }
214        vhdl->set_body ("\tin_SPR_WRITE_REGISTERFILE_0_"+toString(j)+"_ACK and in_SPR_WRITE_STATUS_0_"+toString(j)+"_ACK;");
215      }
216
217    if (_param->_have_port_ooo_engine_id == true)
218      {
219        vhdl->set_body ("");
220        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
221          {
222            for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
223              {
224                vhdl->set_body ("out_SPR_WRITE_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_VAL <= in_SPR_WRITE_"+toString(j)+"_VAL and in_SPR_WRITE_STATUS_"+toString(i)+"_"+toString(j)+"_ACK when in_SPR_WRITE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else '0';");
225              }
226          }
227       
228        vhdl->set_body ("");
229        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
230          {
231            for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
232              {
233                vhdl->set_body ("out_SPR_WRITE_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <= in_SPR_WRITE_"+toString(j)+"_VAL and in_SPR_WRITE_REGISTERFILE_"+toString(i)+"_"+toString(j)+"_ACK when in_SPR_WRITE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)+" else '0';");
234              }
235          }
236      }
237    else
238      {
239        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
240          vhdl->set_body ("out_SPR_WRITE_REGISTERFILE_0_"+toString(j)+"_VAL <= in_SPR_WRITE_"+toString(j)+"_VAL and in_SPR_WRITE_STATUS_0_"+toString(j)+"_ACK;");
241        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
242          vhdl->set_body ("out_SPR_WRITE_STATUS_0_"+toString(j)+"_VAL <= in_SPR_WRITE_"+toString(j)+"_VAL and in_SPR_WRITE_REGISTERFILE_0_"+toString(j)+"_ACK;");
243      }
244
245
246    //-----------------------------------
247    // ISSUE
248    //-----------------------------------
249
250    vhdl->set_body ("");
251    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
252      for (uint32_t j=0; j<_param->_nb_inst_issue; j++)
253        {
254          vhdl->set_body ("out_ISSUE_"+toString(j)+"_ACK <=");
255          vhdl->set_body ("\tin_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK and");
256          vhdl->set_body ("\tin_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK");
257          if (_param->_have_port_ooo_engine_id)
258            {
259          vhdl->set_body ("when out_ISSUE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i));
260          vhdl->set_body ("else '0'");   
261            }
262          vhdl->set_body (";");   
263         
264
265          vhdl->set_body ("out_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <=");
266          vhdl->set_body ("\tin_ISSUE_"+toString(j)+"_VAL            and");
267          vhdl->set_body ("\tin_ISSUE_"+toString(j)+"_RD_USE         and");
268          vhdl->set_body ("\tin_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK");
269          if (_param->_have_port_ooo_engine_id)
270            {
271          vhdl->set_body ("when out_ISSUE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i));
272          vhdl->set_body ("else '0'");   
273            }
274          vhdl->set_body (";");   
275         
276          vhdl->set_body ("out_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <=");
277          vhdl->set_body ("\tin_ISSUE_"+toString(j)+"_VAL            and");
278          vhdl->set_body ("\tin_ISSUE_"+toString(j)+"_RE_USE         and");
279          vhdl->set_body ("\tin_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK");
280          if (_param->_have_port_ooo_engine_id)
281            {
282          vhdl->set_body ("when out_ISSUE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i));
283          vhdl->set_body ("else '0'");   
284            }
285          vhdl->set_body (";");   
286        }
287   
288//     //-----------------------------------
289//     // INSERT_ROB
290//     //-----------------------------------
291
292//     vhdl->set_body ("");
293//     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
294//       {
295//      uint32_t x=_param->_nb_inst_insert_rob [i];
296//      for (uint32_t j=0; j<x; j++)
297//        {
298//          vhdl->set_body ("out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK <=");
299//          vhdl->set_body ("\tin_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK and");
300//          vhdl->set_body ("\tin_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK;");
301
302//          vhdl->set_body ("out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <=");
303//          vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL            and");
304//          vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE         and");
305//          vhdl->set_body ("\tin_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK;");
306
307//          vhdl->set_body ("out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <=");
308//          vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL            and");
309//          vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE         and");
310//          vhdl->set_body ("\tin_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK;");
311//        }
312//       }
313
314//     //-----------------------------------
315//     // RETIRE_ROB
316//     //-----------------------------------
317//     vhdl->set_body ("");
318//     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
319//       {
320//      uint32_t x=_param->_nb_inst_retire_rob [i];
321//      for (uint32_t j=0; j<x; j++)
322//        {
323//          vhdl->set_body ("out_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_ACK <=");
324//          vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and");
325//          vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and");
326//          vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and");
327//          vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;");
328
329//          vhdl->set_body ("out_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_VAL <=");
330//          vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL                and");
331//          vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_USE         and");
332//          vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and");
333//          vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and");
334//          vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;");
335
336//          vhdl->set_body ("out_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_VAL <=");
337//          vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL                and");
338//          vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_USE         and");
339//          vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and");
340//          vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and");
341//          vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;");
342
343//          vhdl->set_body ("out_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_VAL <=");
344//          vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL                and");
345//          vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_USE         and");
346//          vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and");
347//          vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and");
348//          vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;");
349
350//          vhdl->set_body ("out_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_VAL <=");
351//          vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL                and");
352//          vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_USE         and");
353//          vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and");
354//          vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and");
355//          vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK;");
356//        }
357//       }
358
359    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
360  };
361
362}; // end namespace register_unit_glue
363}; // end namespace register_unit
364}; // end namespace execute_loop
365}; // end namespace multi_execute_loop
366}; // end namespace core
367}; // end namespace behavioural
368}; // end namespace morpheo             
369#endif
Note: See TracBrowser for help on using the repository browser.