#ifdef SYSTEMC /* * $Id$ * * [ Description ] * */ #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h" namespace morpheo { namespace behavioural { namespace core { namespace multi_execute_loop { namespace execute_loop { namespace multi_execute_unit { namespace execute_unit { namespace functionnal_unit { #undef FUNCTION #define FUNCTION "Functionnal_unit::genMealy" void Functionnal_unit::genMoore (void) { log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin"); internal_EXECUTE_OUT_VAL = reg_BUSY and (_execute_operation->_timing._latence == 0); PORT_WRITE(out_EXECUTE_OUT_VAL , internal_EXECUTE_OUT_VAL); if (_param->_have_port_context_id) PORT_WRITE(out_EXECUTE_OUT_CONTEXT_ID ,_execute_operation->_context_id ); if (_param->_have_port_front_end_id) PORT_WRITE(out_EXECUTE_OUT_FRONT_END_ID ,_execute_operation->_front_end_id ); if (_param->_have_port_ooo_engine_id) PORT_WRITE(out_EXECUTE_OUT_OOO_ENGINE_ID,_execute_operation->_ooo_engine_id); if (_param->_have_port_packet_id) PORT_WRITE(out_EXECUTE_OUT_PACKET_ID ,_execute_operation->_packet_id ); //PORT_WRITE(out_EXECUTE_OUT_OPERATION ,_execute_operation->_operation ); //PORT_WRITE(out_EXECUTE_OUT_TYPE ,_execute_operation->_type ); PORT_WRITE(out_EXECUTE_OUT_WRITE_RD ,_execute_operation->_write_rd ); PORT_WRITE(out_EXECUTE_OUT_NUM_REG_RD ,_execute_operation->_num_reg_rd ); PORT_WRITE(out_EXECUTE_OUT_DATA_RD ,_execute_operation->_data_rd ); PORT_WRITE(out_EXECUTE_OUT_WRITE_RE ,_execute_operation->_write_re ); PORT_WRITE(out_EXECUTE_OUT_NUM_REG_RE ,_execute_operation->_num_reg_re ); PORT_WRITE(out_EXECUTE_OUT_DATA_RE ,_execute_operation->_data_re ); PORT_WRITE(out_EXECUTE_OUT_EXCEPTION ,_execute_operation->_exception ); PORT_WRITE(out_EXECUTE_OUT_NO_SEQUENCE ,_execute_operation->_no_sequence ); PORT_WRITE(out_EXECUTE_OUT_ADDRESS ,_execute_operation->_address ); log_printf(FUNC,Functionnal_unit,FUNCTION,"End"); }; }; // end namespace functionnal_unit }; // end namespace execute_unit }; // end namespace multi_execute_unit }; // end namespace execute_loop }; // end namespace multi_execute_loop }; // end namespace core }; // end namespace behavioural }; // end namespace morpheo #endif