Changeset 135 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_vhdl_declaration.cpp
- Timestamp:
- Jul 17, 2009, 10:59:05 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_vhdl_declaration.cpp
r81 r135 23 23 { 24 24 log_printf(FUNC,Ifetch_queue,FUNCTION,"Begin"); 25 26 vhdl->set_constant ("IFETCH_QUEUE_STATE_EMPTY ",IFETCH_QUEUE_STATE_SIZE,IFETCH_QUEUE_STATE_EMPTY); 27 // vhdl->set_constant ("IFETCH_QUEUE_STATE_WAIT_REQ ",IFETCH_QUEUE_STATE_SIZE,IFETCH_QUEUE_STATE_WAIT_REQ); 28 vhdl->set_constant ("IFETCH_QUEUE_STATE_WAIT_RSP ",IFETCH_QUEUE_STATE_SIZE,IFETCH_QUEUE_STATE_WAIT_RSP); 29 vhdl->set_constant ("IFETCH_QUEUE_STATE_HAVE_RSP ",IFETCH_QUEUE_STATE_SIZE,IFETCH_QUEUE_STATE_HAVE_RSP); 30 vhdl->set_constant ("IFETCH_QUEUE_STATE_ERROR_WAIT_RSP ",IFETCH_QUEUE_STATE_SIZE,IFETCH_QUEUE_STATE_ERROR_WAIT_RSP); 31 32 vhdl->set_constant ("EXCEPTION_IFETCH_NONE ",_param->_size_exception_ifetch,EXCEPTION_IFETCH_NONE); 33 vhdl->set_constant ("EXCEPTION_IFETCH_BUS_ERROR ",_param->_size_exception_ifetch,EXCEPTION_IFETCH_BUS_ERROR); 34 35 vhdl->set_constant ("ICACHE_ERROR_NONE ",_param->_size_icache_error,ICACHE_ERROR_NONE); 36 vhdl->set_constant ("ICACHE_ERROR_BUS_ERROR ",_param->_size_icache_error,ICACHE_ERROR_BUS_ERROR); 37 38 if (_param->_size_queue>1) 39 { 40 vhdl->set_signal ("reg_PTR_READ ", log2(_param->_size_queue)); 41 vhdl->set_signal ("reg_PTR_WRITE ", log2(_param->_size_queue)); 42 } 43 if (_param->_have_port_ifetch_queue_ptr) 44 { 45 if (_param->_size_queue>1) 46 vhdl->set_signal ("reg_PACKET_PTR ", log2(_param->_size_queue)); 47 else 48 vhdl->set_signal ("reg_PACKET_PTR ", 1); 49 } 50 51 vhdl->set_signal ("reg_EMPTY ", 1); 52 53 vhdl->set_type ("Tcase ","array ("+toString(_param->_nb_instruction-1)+" downto 0) of "+std_logic(_param->_size_instruction)); 54 vhdl->set_type ("Tcase_enable ","array ("+toString(_param->_nb_instruction-1)+" downto 0) of std_logic"); 55 56 vhdl->set_type ("Tstate ","array ("+toString(_param->_size_queue-1)+" downto 0) of "+std_logic(IFETCH_QUEUE_STATE_SIZE)); 57 vhdl->set_signal ("reg_STATE ", "Tstate"); 58 59 vhdl->set_type ("Tqueue ","array ("+toString(_param->_size_queue-1)+" downto 0) of Tcase"); 60 vhdl->set_signal ("reg_DATA ", "Tqueue"); 61 62 vhdl->set_type ("Tenable ","array ("+toString(_param->_size_queue-1)+" downto 0) of Tcase_enable"); 63 vhdl->set_signal ("reg_INSTRUCTION_ENABLE ", "Tenable"); 64 vhdl->set_type ("Tadress ","array ("+toString(_param->_size_queue-1)+" downto 0) of "+std_logic(_param->_size_instruction)); 65 vhdl->set_signal ("reg_ADDRESS ", "Tadress"); 66 67 if (_param->_have_port_inst_ifetch_ptr) 68 { 69 vhdl->set_type ("Tinst_ptr ","array ("+toString(_param->_size_queue-1)+" downto 0) of "+std_logic(_param->_size_inst_ifetch_ptr)); 70 vhdl->set_signal ("reg_INST_IFETCH_PTR ", "Tinst_ptr"); 71 } 72 if (_param->_have_port_depth) 73 { 74 vhdl->set_type ("Tbranch ","array ("+toString(_param->_size_queue-1)+" downto 0) of "+std_logic(_param->_size_depth)); 75 vhdl->set_signal ("reg_BRANCH_UPDATE_PREDICTION_ID ", "Tbranch"); 76 } 77 vhdl->set_type ("Tbranch_state ","array ("+toString(_param->_size_queue-1)+" downto 0) of "+std_logic(_param->_size_branch_state)); 78 vhdl->set_signal ("reg_BRANCH_STATE ", "Tbranch_state"); 79 vhdl->set_type ("Texception ","array ("+toString(_param->_size_queue-1)+" downto 0) of "+std_logic(_param->_size_exception_ifetch)); 80 vhdl->set_signal ("reg_EXCEPTION ", "Texception"); 81 82 for (uint32_t i=0; i<_param->_nb_instruction; ++i) 83 vhdl->set_signal ("internal_DECOD_"+toString(i)+"_VAL ", 1); 84 vhdl->set_signal ("internal_ADDRESS_ACK ", 1); 85 vhdl->set_signal ("internal_ICACHE_RSP_ACK ", 1); 86 vhdl->set_signal ("internal_EVENT_RESET_ACK ", 1); 87 if(_param->_have_port_ifetch_queue_ptr) 88 vhdl->set_signal ("internal_ICACHE_RSP_PACKET_ID ", _param->_size_ifetch_queue_ptr); 89 vhdl->set_signal ("internal_ack ", 1); 90 25 91 log_printf(FUNC,Ifetch_queue,FUNCTION,"End"); 26 92 };
Note: See TracChangeset
for help on using the changeset viewer.