#ifndef morpheo_behavioural_custom_Custom_h #define morpheo_behavioural_custom_Custom_h /* * $Id$ * * [ Description ] * */ #include "Common/include/ToString.h" #include "Common/include/Debug.h" #include "Common/include/ErrorMorpheo.h" #include "Behavioural/include/Types.h" #include "Behavioural/include/Usage.h" #include "Behavioural/include/Constants.h" #include "Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/include/Types.h" #include "Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/include/Instruction.h" #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/Operation/include/Types.h" #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/Operation/include/Operation.h" namespace morpheo { namespace behavioural { namespace custom { // TODO get_custom_vhdl typedef uint32_t custom_vhdl_t; typedef morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::function_decod_t custom_decod_t; typedef morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::function_execute_t custom_execute_genMoore_t; typedef morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::function_execute_end_cycle_t custom_execute_transition_t; typedef morpheo::behavioural::spr_access_mode_t access_mode_t; typedef struct { bool (*_get_valid_group ) (uint32_t); uint32_t (*_get_nb_register ) (uint32_t); access_mode_t (*_get_access_mode ) (uint32_t, uint32_t); custom_decod_t * (*_get_custom_decod ) (Toperation_t); custom_execute_genMoore_t * (*_get_custom_execute_genMoore ) (Toperation_t); custom_execute_transition_t * (*_get_custom_execute_transition) (uint32_t); custom_execute_transition_t * (*_get_custom_execute_reset ) (uint32_t); custom_vhdl_t * (*_get_vhdl_decod ) (void); custom_vhdl_t * (*_get_vhdl_execute ) (void); } custom_information_t; }; // end namespace custom }; // end namespace behavioural }; // end namespace morpheo #endif