source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_vhdl_port.cpp @ 2

Last change on this file since 2 was 2, checked in by kane, 17 years ago

Import Morpheo

File size: 1.2 KB
Line 
1#ifdef VHDL
2/*
3 * $Id$
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Generic/RegisterFile/include/RegisterFile.h"
10
11namespace morpheo                    {
12namespace behavioural                {
13namespace generic                    {
14namespace registerfile               {
15
16  void RegisterFile::vhdl_port (Vhdl & vhdl)
17  {
18    vhdl.set_port ("in_CLOCK", IN, "std_logic");
19
20    for (uint32_t i = 0; i < _param._nb_port_read; i ++)
21      {
22        vhdl.set_port (" in_READ_ENABLE_"+toString(i)+" ",IN ,std_logic(1)                    );
23        vhdl.set_port (" in_READ_ADDRESS_"+toString(i)+"",IN ,std_logic(static_cast<uint32_t>(log2(_param._nb_word))));
24        vhdl.set_port ("out_READ_DATA_"+toString(i)+"   ",OUT,std_logic(_param._size_word    ));
25      }
26
27    for (uint32_t i = 0; i < _param._nb_port_write; i ++)
28      {
29        vhdl.set_port (" in_WRITE_ENABLE_"+toString(i)+" ",IN ,std_logic(1)                    );
30        vhdl.set_port (" in_WRITE_ADDRESS_"+toString(i)+"",IN ,std_logic(static_cast<uint32_t>(log2(_param._nb_word))));
31        vhdl.set_port (" in_WRITE_DATA_"+toString(i)+"   ",IN ,std_logic(_param._size_word    ));
32      }
33  };
34
35}; // end namespace registerfile
36}; // end namespace generic
37}; // end namespace behavioural         
38}; // end namespace morpheo             
39#endif
Note: See TracBrowser for help on using the repository browser.