source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Custom/include/Custom.h @ 78

Last change on this file since 78 was 78, checked in by rosiere, 16 years ago

Add :

  • Execute_loop (must be test systemC)
  • Prediction
    • Direction : predifined scheme
    • Branch Target Buffer
  • iFetch_unit
    • ifetch_queue
    • pc management
  • Decod_unit
    • coming soon : support for custom operation
  • Rename_unit
    • RAT
    • Free_list
    • Dependence RAW check
    • Load store unit pointer
  • New Environnement (hierarchy_memory will remove in a next version)


Modif :

  • Manage Custom Operation
  • All component in execute_loop to use the new statistics management

Not Finish :

  • Return Address Stack
  • Environnement
File size: 2.3 KB
Line 
1#ifndef morpheo_behavioural_custom_Custom_h
2#define morpheo_behavioural_custom_Custom_h
3
4/*
5 * $Id$
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Common/include/ToString.h"
12#include "Common/include/Debug.h"
13#include "Common/include/ErrorMorpheo.h"
14#include "Behavioural/include/Types.h"
15#include "Behavioural/include/Usage.h"
16#include "Behavioural/include/Constants.h"
17#include "Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/include/Types.h"
18#include "Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/include/Instruction.h"
19#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/Operation/include/Types.h"
20#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/Operation/include/Operation.h"
21
22namespace morpheo {
23namespace behavioural {
24namespace custom {
25
26  // TODO get_custom_vhdl
27  typedef uint32_t custom_vhdl_t;
28
29  typedef morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::function_decod_t custom_decod_t;
30
31  typedef morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::function_execute_t           custom_execute_genMoore_t;
32
33  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;
34
35  typedef morpheo::behavioural::spr_access_mode_t access_mode_t;
36
37  typedef struct 
38  {
39    bool                          (*_get_valid_group              ) (uint32_t);
40    uint32_t                      (*_get_nb_register              ) (uint32_t);
41    access_mode_t                 (*_get_access_mode              ) (uint32_t, uint32_t);
42    custom_decod_t              * (*_get_custom_decod             ) (Toperation_t);
43    custom_execute_genMoore_t   * (*_get_custom_execute_genMoore  ) (Toperation_t);
44    custom_execute_transition_t * (*_get_custom_execute_transition) (uint32_t);
45    custom_execute_transition_t * (*_get_custom_execute_reset     ) (uint32_t);
46    custom_vhdl_t               * (*_get_vhdl_decod               ) (void);
47    custom_vhdl_t               * (*_get_vhdl_execute             ) (void);
48  } custom_information_t;
49
50}; // end namespace custom
51}; // end namespace behavioural
52}; // end namespace morpheo             
53
54#endif
Note: See TracBrowser for help on using the repository browser.