Changeset 94 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_body.cpp
- Timestamp:
- Dec 15, 2008, 12:04:03 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_body.cpp
r81 r94 17 17 void RegisterFile_Monolithic::vhdl_body (Vhdl * & vhdl) 18 18 { 19 vhdl->set_body ("");20 vhdl->set_ body ("-----------------------------------------------------------------------------");21 vhdl->set_ body ("--Ackitement");22 vhdl->set_ body ("-----------------------------------------------------------------------------");23 vhdl->set_body ("");19 vhdl->set_body (0,""); 20 vhdl->set_comment(0,"---------------------------------------------------------------------------"); 21 vhdl->set_comment(0," Ackitement"); 22 vhdl->set_comment(0,"---------------------------------------------------------------------------"); 23 vhdl->set_body (0,""); 24 24 25 25 for (uint32_t i = 0; i < _param->_nb_port_read; i++) 26 vhdl->set_body ("out_READ_"+toString(i)+"_ACK <= '1';");26 vhdl->set_body (0,"out_READ_"+toString(i)+"_ACK <= '1';"); 27 27 for (uint32_t i = 0; i < _param->_nb_port_write; i++) 28 vhdl->set_body ("out_WRITE_"+toString(i)+"_ACK <= '1';");28 vhdl->set_body (0,"out_WRITE_"+toString(i)+"_ACK <= '1';"); 29 29 for (uint32_t i = 0; i < _param->_nb_port_read_write; i++) 30 vhdl->set_body ("out_READ_WRITE_"+toString(i)+"_ACK <= '1';");30 vhdl->set_body (0,"out_READ_WRITE_"+toString(i)+"_ACK <= '1';"); 31 31 32 vhdl->set_body ("");33 vhdl->set_ body ("-----------------------------------------------------------------------------");34 vhdl->set_ body ("--Read RegisterFile");35 vhdl->set_ body ("-----------------------------------------------------------------------------");36 vhdl->set_body ("");32 vhdl->set_body (0,""); 33 vhdl->set_comment(0,"---------------------------------------------------------------------------"); 34 vhdl->set_comment(0," Read RegisterFile"); 35 vhdl->set_comment(0,"---------------------------------------------------------------------------"); 36 vhdl->set_body (0,""); 37 37 38 38 for (uint32_t i = 0; i < _param->_nb_port_read; i++) … … 44 44 str_address = "0"; 45 45 46 vhdl->set_body ("out_READ_"+toString(i)+"_DATA <= reg_DATA ("+str_address+") when in_READ_"+toString(i)+"_VAL = '1' else "+std_logic_others(_param->_size_word,0)+";");46 vhdl->set_body (0,"out_READ_"+toString(i)+"_DATA <= reg_DATA ("+str_address+") when in_READ_"+toString(i)+"_VAL = '1' else "+std_logic_others(_param->_size_word,0)+";"); 47 47 } 48 48 for (uint32_t i = 0; i < _param->_nb_port_read_write; i++) … … 53 53 else 54 54 str_address = "0"; 55 vhdl->set_body ("out_READ_WRITE_"+toString(i)+"_RDATA <= reg_DATA ("+str_address+") when in_READ_WRITE_"+toString(i)+"_VAL = '1' and in_READ_WRITE_"+toString(i)+"_RW = '"+toString(RW_READ)+"' else "+std_logic_others(_param->_size_word,0)+";");55 vhdl->set_body (0,"out_READ_WRITE_"+toString(i)+"_RDATA <= reg_DATA ("+str_address+") when in_READ_WRITE_"+toString(i)+"_VAL = '1' and in_READ_WRITE_"+toString(i)+"_RW = '"+toString(RW_READ)+"' else "+std_logic_others(_param->_size_word,0)+";"); 56 56 } 57 57 58 vhdl->set_body ("");59 vhdl->set_ body ("-----------------------------------------------------------------------------");60 vhdl->set_ body ("--Write RegisterFile");61 vhdl->set_ body ("-----------------------------------------------------------------------------");62 vhdl->set_body ("");58 vhdl->set_body (0,""); 59 vhdl->set_comment(0,"---------------------------------------------------------------------------"); 60 vhdl->set_comment(0," Write RegisterFile"); 61 vhdl->set_comment(0,"---------------------------------------------------------------------------"); 62 vhdl->set_body (0,""); 63 63 64 vhdl->set_body ("RegisterFile_write: process (in_CLOCK)");65 vhdl->set_body ("begin -- process RegisterFile_write");66 vhdl->set_body ("\tif in_CLOCK'event and in_CLOCK = '1' then");64 vhdl->set_body (0,"RegisterFile_write: process (in_CLOCK)"); 65 vhdl->set_body (0,"begin -- process RegisterFile_write"); 66 vhdl->set_body (1,"if in_CLOCK'event and in_CLOCK = '1' then"); 67 67 68 68 for (uint32_t i = 0; i < _param->_nb_port_write; i++) … … 74 74 str_address = "0"; 75 75 76 vhdl->set_body ("\t\tif (in_WRITE_"+toString(i)+"_VAL = '1') then");77 vhdl->set_body ("\t\t\treg_DATA("+str_address+") <= in_WRITE_"+toString(i)+"_DATA;");78 vhdl->set_body ("\t\tend if;");76 vhdl->set_body (2,"if (in_WRITE_"+toString(i)+"_VAL = '1') then"); 77 vhdl->set_body (3,"reg_DATA("+str_address+") <= in_WRITE_"+toString(i)+"_DATA;"); 78 vhdl->set_body (2,"end if;"); 79 79 } 80 80 for (uint32_t i = 0; i < _param->_nb_port_read_write; i++) … … 86 86 str_address = "0"; 87 87 88 vhdl->set_body ("\t\tif (in_READ_WRITE_"+toString(i)+"_VAL = '1' and in_READ_WRITE_"+toString(i)+"_RW = '"+toString(RW_WRITE)+"') then");89 vhdl->set_body ("\t\t\treg_DATA("+str_address+") <= in_READ_WRITE_"+toString(i)+"_WDATA;");90 vhdl->set_body ("\t\tend if;");88 vhdl->set_body (2,"if (in_READ_WRITE_"+toString(i)+"_VAL = '1' and in_READ_WRITE_"+toString(i)+"_RW = '"+toString(RW_WRITE)+"') then"); 89 vhdl->set_body (3,"reg_DATA("+str_address+") <= in_READ_WRITE_"+toString(i)+"_WDATA;"); 90 vhdl->set_body (2,"end if;"); 91 91 } 92 92 93 vhdl->set_body ("\tend if;");94 vhdl->set_body ("end process RegisterFile_write;");93 vhdl->set_body (1,"end if;"); 94 vhdl->set_body (0,"end process RegisterFile_write;"); 95 95 }; 96 96
Note: See TracChangeset
for help on using the changeset viewer.