Changeset 83 for trunk/IPs/systemC


Ignore:
Timestamp:
May 9, 2008, 8:00:21 PM (17 years ago)
Author:
rosiere
Message:

Add component : Context_State (manage miss prediction, exception , decod_enable, synchronisation instruction ...)

Location:
trunk/IPs/systemC/processor/Morpheo
Files:
95 added
17 edited

Legend:

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

    r81 r83  
    22# $Id$
    33#
    4 # [ Description ]
     4# [ Description ]
    55#
    66# Makefile
     
    4545
    4646test_env                        :
    47                                 @$(ECHO) "-------------------| $(ENTITY)"
    4847ifeq ($(origin MORPHEO_TOPLEVEL), undefined)
    4948                                $(error "variable MORPHEO_TOPLEVEL is undefined");
     
    5554                                $(error "variable DIR_MORPHEO      is undefined");
    5655endif
     56                                @$(ECHO) "-------------------| $(ENTITY)"
     57
    5758
    5859$(DIR_OBJ)/%.o                  : $(DIR_SRC)/%.cpp $(HEADERS)
     
    6869common_clean                    :
    6970                                @\
    70                                 $(ECHO) "Delete     temporary files in directory "$(PWD);\
     71                                $(ECHO) "Delete     temporary files in directory $(PWD)";\
    7172                                $(RM)   $(DIR_OBJ)      \
    7273                                        $(DIR_BIN)      \
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Selftest

    r82 r83  
    5050                                done;                                                   \
    5151                                if $(TEST) $$all_ok -eq 1;                              \
    52                                 then echo "-------------------| Test OK"; exit 0;       \
    53                                 else echo "-------------------| Test KO"; exit 1;       \
     52                                then $(ECHO) "-------------------| Test OK"; exit 0;    \
     53                                else $(ECHO) "-------------------| Test KO"; exit 1;    \
    5454                                fi;
    5555
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vbe/SelfTest/include/test.h

    r82 r83  
    1111#endif
    1212
    13 #include <string>
    14 #include <iostream>
    15 #include <sys/time.h>
     13#define NB_ITERATION  1
     14#define CYCLE_MAX     (1024*NB_ITERATION)
    1615
     16#include "Common/include/Test.h"
    1717#include "Common/include/Time.h"
    1818#include "Behavioural/@DIRECTORY/include/@COMPONENT.h"
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vbe/SelfTest/src/main.cpp

    r82 r83  
    1414  err (_("<Usage> %s name_instance list_params.\n"),argv[0]);
    1515  err (_("list_params is :\n"));
    16   err (_(" * ()\n"));
     16  err (_(" *  ()\n"));
    1717
    1818  exit (1);
     
    3131
    3232  string name = argv[x++];
    33 //const uint32_t size_data = atoi(argv[x++]);
    34 //const uint32_t nb_port   = atoi(argv[x++]);
    3533
    3634  int _return = EXIT_SUCCESS;
     
    3836    {
    3937      morpheo::behavioural::@NAMESPACE_USE::Parameters * param = new morpheo::behavioural::@NAMESPACE_USE::Parameters
    40         (//size_data,
    41          //nb_port 
     38        (
    4239        );
    4340     
     
    5148      _return = EXIT_FAILURE;
    5249    }
    53   catch (...)
     50 
     51  try
    5452    {
    55       err (_("<%s> : This test must generate a error.\n"),name.c_str());
     53      if (_return == EXIT_SUCCESS)
     54        TEST_OK("@COMPONENT : no error");
     55      else
     56        TEST_KO("@COMPONENT : a lot of error");
     57    }
     58  catch (morpheo::ErrorMorpheo & error)
     59    {
     60      msg (_("<%s> :\n%s"),name.c_str(), error.what ());
    5661      _return = EXIT_FAILURE;
    5762    }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vbe/SelfTest/src/test.cpp

    r82 r83  
    77 */
    88
    9 #define NB_ITERATION  1
    10 #define CYCLE_MAX     (128*NB_ITERATION)
    11 
    129#include "Behavioural/@DIRECTORY/SelfTest/include/test.h"
    13 #include "Common/include/Test.h"
    1410#include "Behavioural/include/Allocation.h"
    1511
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/SelfTest/include/test.h

    r82 r83  
    1111#endif
    1212
     13#define NB_ITERATION  1
     14#define CYCLE_MAX     (1024*NB_ITERATION)
     15
     16#include "Common/include/Test.h"
     17#include "Common/include/Time.h"
     18#include "Behavioural/@DIRECTORY/include/@COMPONENT.h"
     19
    1320#include <string>
    1421#include <iostream>
    1522#include <sys/time.h>
    16 
    17 #include "Common/include/Time.h"
    18 #include "Behavioural/@DIRECTORY/include/@COMPONENT.h"
    1923
    2024using namespace std;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/SelfTest/src/main.cpp

    r82 r83  
    1414  err (_("<Usage> %s name_instance list_params.\n"),argv[0]);
    1515  err (_("list_params is :\n"));
    16   err (_(" * ()\n"));
     16  err (_(" *  ()\n"));
    1717
    1818  exit (1);
     
    3131
    3232  string name = argv[x++];
    33 //const uint32_t size_data = atoi(argv[x++]);
    34 //const uint32_t nb_port   = atoi(argv[x++]);
    3533
    3634  int _return = EXIT_SUCCESS;
     
    3836    {
    3937      morpheo::behavioural::@NAMESPACE_USE::Parameters * param = new morpheo::behavioural::@NAMESPACE_USE::Parameters
    40         (//size_data,
    41          //nb_port 
     38        (
    4239        );
    4340     
     
    5148      _return = EXIT_FAILURE;
    5249    }
    53   catch (...)
     50
     51  try
    5452    {
    55       err (_("<%s> : This test must generate a error.\n"),name.c_str());
     53      if (_return == EXIT_SUCCESS)
     54        TEST_OK("@COMPONENT : no error");
     55      else
     56        TEST_KO("@COMPONENT : a lot of error");
     57    }
     58  catch (morpheo::ErrorMorpheo & error)
     59    {
     60      msg (_("<%s> :\n%s"),name.c_str(), error.what ());
    5661      _return = EXIT_FAILURE;
    5762    }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/SelfTest/src/test.cpp

    r82 r83  
    77 */
    88
    9 #define NB_ITERATION  1
    10 #define CYCLE_MAX     (128*NB_ITERATION)
    11 
    129#include "Behavioural/@DIRECTORY/SelfTest/include/test.h"
    13 #include "Common/include/Test.h"
    1410#include "Behavioural/include/Allocation.h"
    1511
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/src/New_Component_allocation.cpp

    r82 r83  
    2525   )
    2626  {
    27     log_begin@COMPONENT,FUNCTION);
     27    log_begin(@COMPONENT,FUNCTION);
    2828
    2929    _component   = new Component (_usage);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h

    r82 r83  
    4141#  define     DEBUG_Multi_Front_end                                 false
    4242#  define       DEBUG_Front_end                                     false
     43#  define         DEBUG_Context_State                               true
    4344#  define         DEBUG_Decod_unit                                  false
    4445#  define           DEBUG_Decod                                     false
    45 #  define           DEBUG_Decod_queue                               true
     46#  define           DEBUG_Decod_queue                               false
    4647#  define         DEBUG_Ifetch_unit                                 false
    4748#  define           DEBUG_Address_management                        false
    4849#  define           DEBUG_Ifetch_queue                              false
    4950#  define           DEBUG_Ifetch_unit_Glue                          false
    50 #  define         DEBUG_Prediction_unit                             true
     51#  define         DEBUG_Prediction_unit                             false
    5152#  define           DEBUG_Branch_Target_Buffer                      false
    5253#  define             DEBUG_Branch_Target_Buffer_Glue               false
     
    6263#  define           DEBUG_Prediction_unit_Glue                      false
    6364#  define           DEBUG_Return_Address_Stack                      false
    64 #  define           DEBUG_Update_Prediction_Table                   true
     65#  define           DEBUG_Update_Prediction_Table                   false
    6566#  define     DEBUG_Multi_OOO_Engine                                false
    6667#  define       DEBUG_OOO_Engine                                    false
     
    7374#  define             DEBUG_Register_translation_unit_Glue          false
    7475#  define             DEBUG_Stat_List_unit                          false
    75 //#define           DEBUG_Rename_queue                              true
     76//#define           DEBUG_Rename_queue                              false
    7677#  define           DEBUG_Rename_select                             false
    7778#endif
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h

    r82 r83  
    66#define MORPHEO_MAJOR_VERSION 0
    77#define MORPHEO_MINOR_VERSION 2
    8 #define MORPHEO_REVISION      82
     8#define MORPHEO_REVISION      83
    99
    1010// Identification : MORPHEO_MAJOR_VERSION.MORPHEO_MINOR_VERSION.MORPHEO_REVISION
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_get_body.cpp

    r81 r83  
    2727    std::string tabulation = indent(depth);
    2828
    29     body.insert(0,tabulation);
    30     for (size_t pos=body.find('\n',0); pos<body.length()-1; pos=body.find('\n',++pos))
     29//  body.insert(0,tabulation);
     30    for (size_t pos=body.find('\n',0); (pos<body.length()-1); pos=body.find('\n',++pos))
    3131      body.insert(++pos,tabulation);
    3232
  • trunk/IPs/systemC/processor/Morpheo/Common/include/Debug.h

    r82 r83  
    128128    {                                                                   \
    129129      if (x == NULL)                                                    \
    130         err(_("%s File %s, Line %d, this pointeur is null"),MSG_ERROR,__FILE__,__LINE__); \
     130        err(_("%s File %s, Line %d, this pointeur is null\n"),MSG_ERROR,__FILE__,__LINE__); \
    131131    }                                                                   \
    132132  while (0)
  • trunk/IPs/systemC/processor/Morpheo/Common/include/Message.h

    r82 r83  
    2828  do                                            \
    2929    {                                           \
    30       fprintf(stderr,"%s ",MSG_ERROR);          \
    3130      fprintf(stderr,arg);                      \
    3231    } while (0)
  • trunk/IPs/systemC/processor/Morpheo/Common/include/Test.h

    r81 r83  
    2525{
    2626  std::cerr << "[" << num_test << "] : Test KO"
    27        << "\tline " << line                           << std::endl
    28        << " * Localisation"                           << std::endl
    29        << "   - File : " << file                      << std::endl
    30        << "   - Line : " << line                      << std::endl
    31        << " * Expression is different"                << std::endl
    32        << "   - exp1 : "+morpheo::toString(exp1)               << std::endl
    33        << "   - exp2 : "+morpheo::toString(exp2)               << std::endl;
     27       << "\tline " << line                      << std::endl
     28       << " * Localisation"                      << std::endl
     29       << "   - File : " << file                 << std::endl
     30       << "   - Line : " << line                 << std::endl
     31       << " * Expression is different"           << std::endl
     32       << "   - exp1 : "+morpheo::toString(exp1) << std::endl
     33       << "   - exp2 : "+morpheo::toString(exp2) << std::endl;
    3434
    3535  test_ko_error ();
     
    8686#define TEST_KO(str...)                 do {fprintf(stdout,str); fprintf(stdout,"\n"); morpheo::test_ko(__FILE__,__LINE__);} while(0)
    8787
    88 
    8988#define LABEL(str...)                                                   \
    9089  {                                                                     \
  • trunk/IPs/systemC/processor/Morpheo/Script/SelfTest.sh

    r82 r83  
    1313declare -a directory=(
    1414    ""
     15    "Custom"
     16
    1517    "Generic/Counter"
    1618    "Generic/Queue_Control"                                 
     
    2628    "Generic/Victim"                               
    2729
     30    "Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/Operation"
    2831    "Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit"
    2932    "Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit"
     
    5962    "Core/Multi_OOO_Engine"
    6063   
     64    "Core/Multi_Front_end/Front_end/Context_State"
     65    "Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction"
    6166    "Core/Multi_Front_end/Front_end/Decod_unit/Decod"
    6267    "Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue"
  • trunk/IPs/systemC/processor/Morpheo/Script/version.sh

    r82 r83  
    1010function usage ()
    1111{
    12     echo "Usage       : ${0} action";
    13     echo "Arguments   : ";
    14     echo " * action";
    15     echo "   * add    : add all file unpresent in project and set proprity";
    16     echo "   * commit : update revision number and commit";
    17     echo "   * help   : print this message";
    18     echo "Note        :";
     12    echo "Usage           : ${0} action";
     13    echo "Arguments       : ";
     14    echo " * action";     
     15    echo "   * add        : add all file unpresent in project and set proprity";
     16    echo "   * commit     : update revision number and commit";
     17    echo "   * status     : print only locally modified items";
     18    echo "   * status_new : print only locally new      items";
     19    echo "   * help       : print this message";
     20    echo "Note            :";
    1921    echo " * Morpheo's environnement must be positionned.";
    2022    exit;
     
    6466            cd ${pwd};
    6567            ;;
     68
     69        "status")
     70            cd ${MORPHEO_TOPLEVEL};
     71
     72            svn status;
     73
     74            cd ${pwd};
     75            ;;
     76
     77        "status_new")
     78            cd ${MORPHEO_TOPLEVEL};
     79
     80            svn status | grep '?';
     81
     82            cd ${pwd};
     83            ;;
     84           
    6685        "help")
    6786            usage ${*};
Note: See TracChangeset for help on using the changeset viewer.