source: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vbe/src/New_Component_allocation.cpp @ 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: 1.4 KB
RevLine 
[2]1/*
2 * $Id$
3 *
[73]4 * [ Description ]
[2]5 *
6 */
7
8#include "Behavioural/@DIRECTORY/include/@COMPONENT.h"
[73]9#include "Behavioural/include/Allocation.h"
[2]10
11namespace morpheo                    {
12namespace behavioural {
13@NAMESPACE_BEGIN
14
[53]15
16#undef  FUNCTION
17#define FUNCTION "@COMPONENT::allocation"
[74]18  void @COMPONENT::allocation (
19#ifdef STATISTICS
20                               morpheo::behavioural::Parameters_Statistics * param_statistics
21#else
22                               void
23#endif
24                               )
[2]25  {
[53]26    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
[2]27
[68]28    _component   = new Component (_usage);
[42]29
30    Entity * entity = _component->set_entity (_name       
[50]31                                              ,"@COMPONENT"
[40]32#ifdef POSITION
[42]33                                              ,COMBINATORY
34#endif
35                                              );
[2]36
[40]37    _interfaces = entity->set_interfaces();
38
[78]39    // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40    {
[42]41      Interface * interface = _interfaces->set_interface(""
42#ifdef POSITION
43                                                         ,IN
44                                                         ,SOUTH,
45                                                         "Generalist interface"
46#endif
47                                                         );
[78]48     
49      in_CLOCK        = interface->set_signal_clk              ("clock" ,1, CLOCK_VHDL_YES);
50      in_NRESET       = interface->set_signal_in  <Tcontrol_t> ("nreset",1, RESET_VHDL_YES);
51    }
[73]52    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
[2]53
[40]54#ifdef POSITION
[42]55    _component->generate_file();
[40]56#endif
57
[53]58    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
[2]59  };
60
61@NAMESPACE_END
62}; // end namespace behavioural
63}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.