source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_declaration.cpp @ 95

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

1) Update Prediction Table - New architecture (systemC) done (and tested) -> need change interface in top level
2) Change documentation on VHDL generation
3) Change VHDL constant (case std_logic and std_logic_vector)

  • Property svn:keywords set to Id
File size: 1.2 KB
Line 
1#ifdef VHDL
2/*
3 * $Id: Victim_Pseudo_LRU_vhdl_declaration.cpp 95 2008-12-16 16:24:26Z rosiere $
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h"
10
11namespace morpheo {
12namespace behavioural {
13namespace generic {
14namespace victim {
15namespace victim_pseudo_lru {
16
17
18  void Victim_Pseudo_LRU::vhdl_declaration (Vhdl * & vhdl)
19  {
20    vhdl->set_type ("Ttable", "array (" + toString(_param->_size_table-1) + " downto 0) of "+std_logic(_param->_nb_entity-1));
21
22
23    vhdl->set_signal ("reg_TABLE", "Ttable");
24    for (uint32_t i=0; i<_param->_nb_access; i++)
25      {
26        vhdl->set_signal ("access_entry_"+toString(i)+"     ",std_logic(_param->_nb_entity-1));
27        vhdl->set_signal ("access_next_entry_"+toString(i)+"",std_logic(_param->_nb_entity-1));
28        vhdl->set_signal ("access_entity_"+toString(i)+"    ",std_logic(static_cast<uint32_t>(log2(_param->_nb_entity))));
29      }
30
31//     for (uint32_t i=0; i<_param->_nb_update; i++)
32//       {
33//      vhdl->set_signal ("update_next_entry_"+toString(i)+"",std_logic(_param->_nb_entity-1));
34//       }
35  };
36
37}; // end namespace victim_pseudo_lru
38}; // end namespace victim
39}; // end namespace generic
40}; // end namespace behavioural
41}; // end namespace morpheo             
42#endif
Note: See TracBrowser for help on using the repository browser.