#ifndef morpheo_behavioural_custom_random_h #define morpheo_behavioural_custom_random_h /* * $Id: Random.h 81 2008-04-15 18:40:01Z rosiere $ * * [ Description ] * */ #include "Behavioural/Custom/include/Custom.h" namespace morpheo { namespace behavioural { namespace custom { namespace random { enum { num_register_random, num_register_cst1 , num_register_cst2 , num_register_max }; class Random { public : Random (uint32_t num_group); public : uint32_t get_nb_register (void); public : access_mode_t get_access_mode (uint32_t reg); public : custom_decod_t * get_custom_decod (Toperation_t operation); public : custom_execute_genMoore_t * get_custom_execute_genMoore (Toperation_t operation); public : custom_execute_transition_t * get_custom_execute_transition (void); public : custom_execute_transition_t * get_custom_execute_reset (void); private : static void Random::function_transition (morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::execute_register_t * reg, morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::execute_param_t * param); private : static void Random::function_reset (morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::execute_register_t * reg, morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::execute_param_t * param); }; }; // end namespace random }; // end namespace custom }; // end namespace behavioural }; // end namespace morpheo #endif