Ignore:
Timestamp:
Mar 27, 2008, 11:04:49 AM (16 years ago)
Author:
rosiere
Message:

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
Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst
Files:
1 added
8 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/Makefile.deps

    r77 r78  
    3030@COMPONENT_library              :
    3131                                @\
    32                                 $(MAKE) Behavioural_library;
     32                                $(MAKE) Behavioural_library;            \
    3333                                $(MAKE) --directory=$(@COMPONENT_DIR) --makefile=Makefile;
    3434
    3535@COMPONENT_library_clean        :
    3636                                @\
    37                                 $(MAKE) Behavioural_library_clean;
     37                                $(MAKE) Behavioural_library_clean;      \
    3838                                $(MAKE) --directory=$(@COMPONENT_DIR) --makefile=Makefile clean;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/SelfTest/src/main.cpp

    r76 r78  
    1414  err (_("<Usage> %s name_instance list_params.\n"),argv[0]);
    1515  err (_("list_params is :\n"));
     16  err (_(" * ()\n"));
    1617
    1718  exit (1);
     
    2425#endif
    2526{
    26   if (argc != 2+NB_PARAMS)
     27  if (argc != static_cast<int>(2+NB_PARAMS))
    2728    usage (argc, argv);
    2829
    29   uint32_t       x = 1;
     30  uint32_t x = 1;
    3031
    31   const string   name      =      argv[x++];
     32  string name = argv[x++];
    3233//const uint32_t size_data = atoi(argv[x++]);
    3334//const uint32_t nb_port   = atoi(argv[x++]);
    3435
     36  int _return = EXIT_SUCCESS;
    3537  try
    3638    {
     
    4648  catch (morpheo::ErrorMorpheo & error)
    4749    {
    48       msg (_("<%s> : %s.\n"),name.c_str(), error.what ());
    49       exit (EXIT_FAILURE);
     50      msg (_("<%s> :\n%s"),name.c_str(), error.what ());
     51      _return = EXIT_FAILURE;
    5052    }
    5153  catch (...)
    5254    {
    5355      err (_("<%s> : This test must generate a error.\n"),name.c_str());
    54       exit (EXIT_FAILURE);
     56      _return = EXIT_FAILURE;
    5557    }
    5658
    57   return (EXIT_SUCCESS);
     59  return (_return);
    5860}
    59 
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/include/New_Component.h

    r76 r78  
    5353#ifdef SYSTEMC
    5454    // ~~~~~[ Interface ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    55     // Interface
     55    // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    5656  public    : SC_CLOCK                      *  in_CLOCK        ;
    5757  public    : SC_IN (Tcontrol_t)            *  in_NRESET       ;
     
    104104
    105105#ifdef STATISTICS
    106   public  : void        statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
     106  public  : void        statistics_allocation     (morpheo::behavioural::Parameters_Statistics * param_statistics);
     107  public  : void        statistics_deallocation   (void);
    107108#endif
    108109#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/include/Parameters.h

    r77 r78  
    2222    //-----[ methods ]-----------------------------------------------------------
    2323  public : Parameters  ();
    24   public : Parameters  (Parameters & param) ;
     24//   public : Parameters  (Parameters & param) ;
    2525  public : ~Parameters () ;
    2626
    27   public :        std::string  msg_error  (void);
     27  public :        Parameters_test msg_error  (void);
    2828
    29   public :        std::string   print      (uint32_t depth);
    30   public : friend std::ostream& operator<< (std::ostream& output_stream,
     29  public :        std::string     print      (uint32_t depth);
     30  public : friend std::ostream&   operator<< (std::ostream& output_stream,
    3131                                            morpheo::behavioural::@NAMESPACE_USE::Parameters & x);
    3232  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/src/New_Component.cpp

    r76 r78  
    4646        log_printf(INFO,@COMPONENT,FUNCTION,"Allocation of statistics");
    4747
    48         statistics_declaration(param_statistics);
     48        statistics_allocation(param_statistics);
    4949      }
    5050#endif
     
    8787    if (_usage & USE_STATISTICS)
    8888      {
    89         log_printf(INFO,@COMPONENT,FUNCTION,"Generate Statistics file");
    90        
    91         delete _stat;
     89        statistics_deallocation();
    9290      }
    9391#endif
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/src/New_Component_allocation.cpp

    r76 r78  
    3636
    3737    _interfaces = entity->set_interfaces();
    38 
    39     // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    40 
     38   
     39    // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40    {
    4141      Interface * interface = _interfaces->set_interface(""
    4242#ifdef POSITION
     
    4646#endif
    4747                                                         );
     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    }
     52   
     53    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     54   
     55    // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
     56    std::string src,dest;
    4857
    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);
    5158
    52     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
     59    // ~~~~~[ Others ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     60     _component->test_map();
    5361
    5462#ifdef POSITION
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/src/New_Component_statistics_allocation.cpp

    r76 r78  
    1414
    1515#undef  FUNCTION
    16 #define FUNCTION "@COMPONENT::statistics_declaration"
    17   void @COMPONENT::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
     16#define FUNCTION "@COMPONENT::statistics_allocation"
     17  void @COMPONENT::statistics_allocation (morpheo::behavioural::Parameters_Statistics * param_statistics)
    1818  {
    1919    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/src/Parameters.cpp

    r76 r78  
    2121  };
    2222 
    23 #undef  FUNCTION
    24 #define FUNCTION "@COMPONENT::Parameters (copy)"
    25   Parameters::Parameters (Parameters & param)
    26   {
    27     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
    28     test();
    29     log_printf(FUNC,@COMPONENT,FUNCTION,"End");
    30   };
     23// #undef  FUNCTION
     24// #define FUNCTION "@COMPONENT::Parameters (copy)"
     25//   Parameters::Parameters (Parameters & param)
     26//   {
     27//     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
     28//     test();
     29//     log_printf(FUNC,@COMPONENT,FUNCTION,"End");
     30//   };
    3131
    3232#undef  FUNCTION
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/src/Parameters_msg_error.cpp

    r76 r78  
    1616#undef  FUNCTION
    1717#define FUNCTION "@COMPONENT::msg_error"
    18   std::string Parameters::msg_error(void)
     18  Parameters_test Parameters::msg_error(void)
    1919  {
    2020    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
    2121
    22     std::string msg = "";
    23 
    24     return msg;
     22    Parameters_test test ("@COMPONENT");
    2523
    2624    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
     25
     26    return test;
    2727  };
    2828
Note: See TracChangeset for help on using the changeset viewer.