Ignore:
Timestamp:
Apr 15, 2008, 8:40:01 PM (16 years ago)
Author:
rosiere
Message:
  • Finish Environment (and test)
  • Continue predictor_unit
  • Add external tools
  • svn keyword "Id" set
Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/include
Files:
1 added
25 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Allocation.h

    • Property svn:keywords set to Id
    r78 r81  
    1 #ifndef Allocation_H
    2 #define Allocation_H
     1#ifndef morpheo_behavioural_Allocation_h
     2#define morpheo_behavioural_Allocation_h
     3
     4#include "Common/include/Debug.h"
    35
    46// Help to allocate interface
     7#define INTERFACE_PRINT(name) log_printf(TRACE,true,"allocation","Interface's creation : %s (%s, %d)",name,__FILE__,__LINE__);
    58
    69// ----------------------------------------------------------------------
     
    1518#ifdef POSITION
    1619#define ALLOC_INTERFACE( name, direction, localisation, str)            \
     20  INTERFACE_PRINT(name);                                                \
    1721  Interface_fifo * interface = _interfaces->set_interface( name, direction, localisation, str);
    1822#else
    1923#define ALLOC_INTERFACE( name, direction, localisation, str)            \
     24  INTERFACE_PRINT(name);                                                \
    2025  Interface_fifo * interface = _interfaces->set_interface( name);
    2126#endif
     
    4853    }
    4954
     55#define DELETE_SIGNAL( sig, size)                                       \
     56  if (size > 0)                                                         \
     57    {                                                                   \
     58      delete sig;                                                       \
     59    }
     60
    5061#define ALLOC_SC_SIGNAL(  sig, name, type)                              \
    5162  sc_signal<type> * sig = new sc_signal<type> (name);
     
    5465  (*(component->sig)) (*(sig));
    5566
     67#define DELETE_SC_SIGNAL( sig)                                          \
     68  delete sig;
     69
    5670// ----------------------------------------------------------------------
    5771// -----[ ITERATION 1 ]--------------------------------------------------
    5872// ----------------------------------------------------------------------
    5973
    60 #define __ALLOC1_INTERFACE(name, it1)           \
    61   const std::string interface_name = name;      \
     74#define __ALLOC1_INTERFACE(name, it1)                                   \
     75  INTERFACE_PRINT(name);                                                \
     76  const std::string interface_name = name;                              \
    6277  const uint32_t iterator_1 = it1;
    6378
     
    86101#ifdef POSITION
    87102#define ALLOC1_INTERFACE( name, direction, localisation, str, it1)      \
     103  INTERFACE_PRINT(name);                                                \
    88104  const uint32_t iterator_1 = it1;                                      \
    89105  Interface_fifo * interface [iterator_1];                              \
     
    97113#else
    98114#define ALLOC1_INTERFACE( name, direction, localisation, str, it1)      \
     115  INTERFACE_PRINT(name);                                                \
    99116  const uint32_t iterator_1 = it1;                                      \
    100117  Interface_fifo * interface [iterator_1];                              \
     
    141158  }
    142159#define ALLOC1_SIGNAL_IN( sig, name, type, size)                        \
    143   if (size > 0)                                                         \
    144     {                                                                   \
    145       sig = new SC_IN (type) * [iterator_1];                            \
    146       for (uint32_t alloc_signal_it1=0; alloc_signal_it1<iterator_1; alloc_signal_it1++) \
    147         {                                                               \
    148           sig [alloc_signal_it1] = interface[alloc_signal_it1]->set_signal_in <type> (name, size); \
    149         }                                                               \
    150     }
     160  {                                                                     \
     161    sig = new SC_IN (type) * [iterator_1];                              \
     162    for (uint32_t alloc_signal_it1=0; alloc_signal_it1<iterator_1; alloc_signal_it1++) \
     163      {                                                                 \
     164        if (size > 0)                                                   \
     165          {                                                             \
     166            sig [alloc_signal_it1] = interface[alloc_signal_it1]->set_signal_in <type> (name, size); \
     167          }                                                             \
     168      }                                                                 \
     169  }
    151170
    152171#define ALLOC1_SIGNAL_OUT(sig, name, type, size)                        \
    153   if (size > 0)                                                         \
    154     {                                                                   \
    155       sig = new SC_OUT(type) * [iterator_1];                            \
    156       for (uint32_t alloc_signal_it1=0; alloc_signal_it1<iterator_1; alloc_signal_it1++) \
    157         {                                                               \
    158           sig [alloc_signal_it1] = interface[alloc_signal_it1]->set_signal_out<type> (name, size); \
    159         }                                                               \
    160     }
     172  {                                                                     \
     173    sig = new SC_OUT(type) * [iterator_1];                              \
     174    for (uint32_t alloc_signal_it1=0; alloc_signal_it1<iterator_1; alloc_signal_it1++) \
     175      {                                                                 \
     176        if (size > 0)                                                   \
     177          {                                                             \
     178            sig [alloc_signal_it1] = interface[alloc_signal_it1]->set_signal_out<type> (name, size); \
     179          }                                                             \
     180      }                                                                 \
     181  }
     182
     183#define DELETE1_SIGNAL(sig, it1, size)                                  \
     184  {                                                                     \
     185    for (uint32_t alloc_signal_it1=0; alloc_signal_it1<it1; alloc_signal_it1++) \
     186      {                                                                 \
     187        if (size > 0)                                                   \
     188          {                                                             \
     189            delete sig[alloc_signal_it1];                               \
     190          }                                                             \
     191      }                                                                 \
     192    delete [] sig;                                                      \
     193  }
    161194
    162195#define ALLOC1_SC_SIGNAL( sig, name, type, it1)                         \
     
    178211    }
    179212
     213#define DELETE1_SC_SIGNAL(sig, it1)                                     \
     214  {                                                                     \
     215    for (uint32_t alloc_signal_it1=0; alloc_signal_it1<it1; alloc_signal_it1++) \
     216      {                                                                 \
     217        delete sig[alloc_signal_it1];                                   \
     218      }                                                                 \
     219    delete [] sig;                                                      \
     220  }
     221
    180222// ----------------------------------------------------------------------
    181223// -----[ ITERATION 2 ]--------------------------------------------------
     
    184226#ifdef POSITION
    185227#define ALLOC2_INTERFACE( name, direction, localisation, str, it1, it2) \
     228  INTERFACE_PRINT(name);                                                \
    186229  uint32_t iterator_1 = 0;                                              \
    187230  uint32_t iterator_2 = 0;                                              \
     
    203246#else
    204247#define ALLOC2_INTERFACE( name, direction, localisation, str, it1, it2) \
     248  INTERFACE_PRINT(name);                                                \
    205249  uint32_t iterator_1 = 0;                                              \
    206250  uint32_t iterator_2 = 0;                                              \
     
    275319
    276320#define _ALLOC2_SIGNAL_IN( sig, name, type, size, it1, it2)             \
    277   if (size > 0)                                                         \
    278     {                                                                   \
    279       sig = new SC_IN (type) ** [it1];                                  \
    280       for (uint32_t alloc_signal_it1=0; alloc_signal_it1<it1; alloc_signal_it1++) \
    281         {                                                               \
    282           sig [alloc_signal_it1] = new SC_IN (type) * [it2];            \
    283           for (uint32_t alloc_signal_it2=0; alloc_signal_it2<it2; alloc_signal_it2++) \
    284             {                                                           \
    285               sig [alloc_signal_it1][alloc_signal_it2] = interface[alloc_signal_it1][alloc_signal_it2]->set_signal_in <type> (name, size); \
    286             }                                                           \
    287         }                                                               \
    288     }
     321  {                                                                     \
     322    sig = new SC_IN (type) ** [it1];                                    \
     323    for (uint32_t alloc_signal_it1=0; alloc_signal_it1<it1; alloc_signal_it1++) \
     324      {                                                                 \
     325        sig [alloc_signal_it1] = new SC_IN (type) * [it2];              \
     326        for (uint32_t alloc_signal_it2=0; alloc_signal_it2<it2; alloc_signal_it2++) \
     327          {                                                             \
     328            if (size > 0)                                               \
     329              {                                                         \
     330                sig [alloc_signal_it1][alloc_signal_it2] = interface[alloc_signal_it1][alloc_signal_it2]->set_signal_in <type> (name, size); \
     331              }                                                         \
     332          }                                                             \
     333      }                                                                 \
     334  }
    289335
    290336#define _ALLOC2_SIGNAL_OUT( sig, name, type, size, it1, it2)            \
    291   if (size > 0)                                                         \
    292     {                                                                   \
    293       sig = new SC_OUT (type) ** [it1];                                 \
    294       for (uint32_t alloc_signal_it1=0; alloc_signal_it1<it1; alloc_signal_it1++) \
    295         {                                                               \
    296           sig [alloc_signal_it1] = new SC_OUT (type) * [it2];           \
    297           for (uint32_t alloc_signal_it2=0; alloc_signal_it2<it2; alloc_signal_it2++) \
    298             {                                                           \
    299               sig [alloc_signal_it1][alloc_signal_it2] = interface[alloc_signal_it1][alloc_signal_it2]->set_signal_out <type> (name, size); \
    300             }                                                           \
    301         }                                                               \
    302     }
     337  {                                                                     \
     338    sig = new SC_OUT (type) ** [it1];                                   \
     339    for (uint32_t alloc_signal_it1=0; alloc_signal_it1<it1; alloc_signal_it1++) \
     340      {                                                                 \
     341        sig [alloc_signal_it1] = new SC_OUT (type) * [it2];             \
     342        for (uint32_t alloc_signal_it2=0; alloc_signal_it2<it2; alloc_signal_it2++) \
     343          {                                                             \
     344            if (size > 0)                                               \
     345              {                                                         \
     346                sig [alloc_signal_it1][alloc_signal_it2] = interface[alloc_signal_it1][alloc_signal_it2]->set_signal_out <type> (name, size); \
     347              }                                                         \
     348          }                                                             \
     349      }                                                                 \
     350  }
    303351
    304352#define ALLOC2_VAL_ACK_IN( sig, name, type      ) _ALLOC2_VAL_ACK_IN( sig, name, type      , iterator_1, iterator_2)
     
    309357#define ALLOC2_SIGNAL_OUT( sig, name, type, size) _ALLOC2_SIGNAL_OUT( sig, name, type, size, iterator_1, iterator_2)
    310358
     359#define DELETE2_SIGNAL(sig, it1,it2, size)                              \
     360  {                                                                     \
     361    for (uint32_t alloc_signal_it1=0; alloc_signal_it1<it1; alloc_signal_it1++) \
     362      {                                                                 \
     363        for (uint32_t alloc_signal_it2=0; alloc_signal_it2<it2; alloc_signal_it2++) \
     364          {                                                             \
     365            if (size > 0)                                               \
     366              {                                                         \
     367                delete sig[alloc_signal_it1][alloc_signal_it2];         \
     368              }                                                         \
     369          }                                                             \
     370        delete [] sig[alloc_signal_it1];                                \
     371      }                                                                 \
     372    delete [] sig;                                                      \
     373  }
     374
    311375#define ALLOC2_SC_SIGNAL( sig, name, type, it1, it2)                    \
    312376  sc_signal<type> *** sig = new sc_signal<type> ** [it1];               \
     
    331395        (*(component->sig[alloc_signal_it1][alloc_signal_it2])) (*(sig[alloc_signal_it1][alloc_signal_it2])); \
    332396      }
     397
     398#define DELETE2_SC_SIGNAL(sig,it1,it2)                                  \
     399  {                                                                     \
     400    for (uint32_t alloc_signal_it1=0; alloc_signal_it1<it1; alloc_signal_it1++) \
     401      {                                                                 \
     402        for (uint32_t alloc_signal_it2=0; alloc_signal_it2<it2; alloc_signal_it2++) \
     403          {                                                             \
     404            delete sig[alloc_signal_it1][alloc_signal_it2];             \
     405          }                                                             \
     406        delete [] sig[alloc_signal_it1];                                \
     407      }                                                                 \
     408    delete [] sig;                                                      \
     409  }
     410
    333411#endif
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Component.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Configuration_Parameters.h

    • Property svn:keywords set to Id
    r75 r81  
    11#ifndef morpheo_behavioural_Configuration_Parameters_h
    22#define morpheo_behavioural_Configuration_Parameters_h
     3#ifdef CONFIGURATION
    34
    45/*
    56 * $Id$
    67 *
    7  * [ Description ]
     8 * [ Description ]
    89 *
    910 */
     
    1213#include <iostream>
    1314#include "Behavioural/include/XML.h"
    14 #include "Behavioural/include/Environnement.h"
     15#include "Behavioural/include/Environment.h"
    1516#include "Common/include/ErrorMorpheo.h"
    1617#include "Common/include/ToString.h"
     
    2122  class Configuration_Parameters
    2223  {
    23     // -----[ fields ]----------------------------------------------------
     24    // -----[ fields ]----------------------------------------------------
    2425    // Constant
    25   public   : const std::string    _name   ;
    26   public   : const uint32_t  _value  ;
    27   public   : const uint32_t  _min    ;
    28   public   : const uint32_t  _max    ;
    29   public   : const std::string    _step   ;
    30   public   : const uint32_t  _default;
    31   public   : const uint32_t  _level  ;
    32   public   : const std::string    _comment;
     26  public   : const std::string _name   ;
     27  public   : const uint32_t    _value  ;
     28  public   : const uint32_t    _min    ;
     29  public   : const uint32_t    _max    ;
     30  public   : const std::string _step   ;
     31  public   : const uint32_t    _default;
     32  public   : const uint32_t    _level  ;
     33  public   : const std::string _comment;
    3334
    34     // -----[ methods ]---------------------------------------------------
    35   public   :                 Configuration_Parameters  (std::string   name   ,
    36                                                         uint32_t value  ,
    37                                                         uint32_t min    ,
    38                                                         uint32_t max    ,
    39                                                         std::string   step   ,
    40                                                         uint32_t value_default,
    41                                                         uint32_t level  ,
    42                                                         std::string   comment);
     35    // -----[ methods ]---------------------------------------------------
     36  public   :                 Configuration_Parameters  (std::string name   ,
     37                                                        uint32_t    value  ,
     38                                                        uint32_t    min    ,
     39                                                        uint32_t    max    ,
     40                                                        std::string step   ,
     41                                                        uint32_t    value_default,
     42                                                        uint32_t    level  ,
     43                                                        std::string comment);
    4344  public   :                 ~Configuration_Parameters ();
    4445
     
    5354
    5455#endif
     56#endif
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Constants.h

    • Property svn:keywords set to Id
    r78 r81  
    2424
    2525  //-------------------------------------------------------[ Memory ]-----
    26 #  define OPERATION_MEMORY_LOAD                    0x0        // 000_0000
    27 #  define OPERATION_MEMORY_LOAD_8_Z                0x0        // 000_0000
    28 #  define OPERATION_MEMORY_LOAD_16_Z               0x20       // 010_0000
    29 #  define OPERATION_MEMORY_LOAD_32_Z               0x40       // 100_0000
    30 #  define OPERATION_MEMORY_LOAD_64_Z               0x60       // 110_0000
    31 #  define OPERATION_MEMORY_LOAD_8_S                0x10       // 001_0000
    32 #  define OPERATION_MEMORY_LOAD_16_S               0x30       // 011_0000
    33 #  define OPERATION_MEMORY_LOAD_32_S               0x50       // 101_0000
    34 #  define OPERATION_MEMORY_LOAD_64_S               0x70       // 111_0000
    35 
    36 #  define OPERATION_MEMORY_STORE_8                 0x8        // 000_1000
    37 #  define OPERATION_MEMORY_STORE_16                0x9        // 000_1001
    38 #  define OPERATION_MEMORY_STORE_32                0xa        // 000_1010
    39 #  define OPERATION_MEMORY_STORE_64                0xb        // 000_1011
    40 #  define OPERATION_MEMORY_STORE_HEAD_OK           0xc        // 000_1100
    41 #  define OPERATION_MEMORY_STORE_HEAD_KO           0xd        // 000_1101
    42 
    43 #  define OPERATION_MEMORY_LOCK                    0x1        // 000_0001
    44 #  define OPERATION_MEMORY_INVALIDATE              0x2        // 000_0010
    45 #  define OPERATION_MEMORY_PREFETCH                0x3        // 000_0011
    46 #  define OPERATION_MEMORY_FLUSH                   0x6        // 000_0110
    47 #  define OPERATION_MEMORY_SYNCHRONIZATION         0x7        // 000_0111
     26#  define OPERATION_MEMORY_LOAD_8_Z                0x08       // 0_1000
     27#  define OPERATION_MEMORY_LOAD_16_Z               0x09       // 0_1001
     28#  define OPERATION_MEMORY_LOAD_32_Z               0x0a       // 0_1010
     29#  define OPERATION_MEMORY_LOAD_64_Z               0x0b       // 0_1011
     30#  define OPERATION_MEMORY_LOAD_8_S                0x18       // 1_1000
     31#  define OPERATION_MEMORY_LOAD_16_S               0x19       // 1_1001
     32#  define OPERATION_MEMORY_LOAD_32_S               0x1a       // 1_1010
     33#  define OPERATION_MEMORY_LOAD_64_S               0x1b       // 1_1011
     34
     35#  define OPERATION_MEMORY_STORE_8                 0x0c       // 0_1100
     36#  define OPERATION_MEMORY_STORE_16                0x0d       // 0_1101
     37#  define OPERATION_MEMORY_STORE_32                0x0e       // 0_1110
     38#  define OPERATION_MEMORY_STORE_64                0x0f       // 0_1111
     39#  define OPERATION_MEMORY_STORE_HEAD_OK           0x1c       // 1_1100
     40#  define OPERATION_MEMORY_STORE_HEAD_KO           0x1d       // 1_1101
     41
     42#  define OPERATION_MEMORY_LOCK                    0x01       // 0_0001
     43#  define OPERATION_MEMORY_INVALIDATE              0x02       // 0_0010
     44#  define OPERATION_MEMORY_PREFETCH                0x03       // 0_0011
     45#  define OPERATION_MEMORY_FLUSH                   0x06       // 0_0110
     46#  define OPERATION_MEMORY_SYNCHRONIZATION         0x07       // 0_0111
    4847 
    4948#define is_operation_memory_load(x)             \
     
    322321#  define SIZE_DCACHE_TYPE                              4
    323322
    324 #  define DCACHE_TYPE_LOAD                              0x0        // 0000
     323//#define DCACHE_TYPE_                                  0x0        // 0000
    325324#  define DCACHE_TYPE_LOCK                              0x1        // 0001
    326325#  define DCACHE_TYPE_INVALIDATE                        0x2        // 0010
     
    330329#  define DCACHE_TYPE_FLUSH                             0x6        // 0110
    331330#  define DCACHE_TYPE_SYNCHRONIZATION                   0x7        // 0111
    332 #  define DCACHE_TYPE_STORE_8                           0x8        // 1000
    333 #  define DCACHE_TYPE_STORE_16                          0x9        // 1001
    334 #  define DCACHE_TYPE_STORE_32                          0xa        // 1010
    335 #  define DCACHE_TYPE_STORE_64                          0xb        // 1011
    336 //#define DCACHE_TYPE_                                  0xc        // 1100
    337 //#define DCACHE_TYPE_                                  0xd        // 1101
    338 //#define DCACHE_TYPE_                                  0xe        // 1110
    339 //#define DCACHE_TYPE_                                  0xf        // 1111
     331#  define DCACHE_TYPE_LOAD_8                            0x8        // 1000
     332#  define DCACHE_TYPE_LOAD_16                           0x9        // 1001
     333#  define DCACHE_TYPE_LOAD_32                           0xa        // 1010
     334#  define DCACHE_TYPE_LOAD_64                           0xb        // 1011
     335#  define DCACHE_TYPE_STORE_8                           0xc        // 1100
     336#  define DCACHE_TYPE_STORE_16                          0xd        // 1101
     337#  define DCACHE_TYPE_STORE_32                          0xe        // 1110
     338#  define DCACHE_TYPE_STORE_64                          0xf        // 1111
    340339
    341340// just take the 4 less significative bits.
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h

    • Property svn:keywords set to Id
    r78 r81  
    5959#  define                   DEBUG_Branch_History_Table              false
    6060#  define                   DEBUG_Pattern_History_Table             false
     61#  define           DEBUG_Prediction_unit_Glue                      true
    6162#  define           DEBUG_Return_Address_Stack                      true
    6263#  define           DEBUG_Update_Prediction_Table                   true
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Direction.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Entity.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Environment.h

    • Property svn:keywords set to Id
    r78 r81  
     1#ifndef morpheo_behavioural_Environment_h
     2#define morpheo_behavioural_Environment_h
     3
    14#if (defined(STATISTICS) and not defined(SYSTEMC))
    25#  error "To have the statistics, you must set flags SYSTEMC"
     6#endif
     7
     8#if (defined(INFORMATION) and not defined(STATISTICS))
     9#  error "To have the information, you must set flags STATISTICS"
    310#endif
    411
     
    2330#endif
    2431
    25 #define MORPHEO_HOME "MORPHEO_HOME"
     32// Environment variable
     33#define MORPHEO_HOME          "MORPHEO_HOME"
     34
     35#endif
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Identification.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface_fifo.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interfaces.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Localisation.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Parameters.h

    • Property svn:keywords set to Id
    r78 r81  
    1212#include <iostream>
    1313#include <math.h>
    14 #include "Behavioural/include/Environnement.h"
     14#include "Behavioural/include/Environment.h"
    1515#include "Behavioural/include/Constants.h"
    1616#include "Behavioural/include/Test.h"
     
    2222namespace morpheo     {
    2323namespace behavioural {
     24
     25  template <typename T> bool test (uint32_t size)
     26  {
     27    return (size <= (8*sizeof(T)));
     28  };
    2429
    2530  class Parameters_test
     
    7580
    7681    // -----[ methods ]---------------------------------------------------
    77   public   :                          Parameters          (void);
    78   public   : virtual                 ~Parameters          ();
     82  public   :                            Parameters (void);
     83  public   : virtual                   ~Parameters ();
    7984       
    8085    // methods to print and test parameters
    81   public   : virtual std::string     print                 (uint32_t depth) = 0;
    82   public   : virtual Parameters_test msg_error             (void) = 0;
     86  public   : virtual std::string        print       (uint32_t depth) = 0;
     87  public   : virtual Parameters_test    msg_error   (void) = 0;
    8388
    8489    // methods to generate configuration file
    8590   
    8691    // methods to test
    87   public   :         void            test                  (void);
     92  public   :         void               test        (void);
    8893  };
    8994}; // end namespace behavioural         
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Parameters_Statistics.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/SPR_access_mode.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Schema.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h

    • Property svn:keywords set to Id
    r78 r81  
    2020#endif
    2121
     22#include "Behavioural/include/Parameters.h"
    2223#include "Behavioural/include/Direction.h"
    2324#include "Behavioural/include/XML.h"
     
    147148      if (_type_info != UNKNOW)
    148149        throw (ErrorMorpheo ("Signal \""+_name+"\" : already allocate."));
     150
     151      if (test<T>(_size) == false)
     152        throw (ErrorMorpheo ("Signal \""+_name+"\" : size is too small to the associate type."));
    149153
    150154      _is_allocate    = true;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat_binary_tree.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat_type.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Test.h

    • Property svn:keywords set to Id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Types.h

    • Property svn:keywords set to Id
    r78 r81  
    1616
    1717  // ***** general
    18   typedef uint32_t        Tinstruction_t;
    19   typedef bool            Tcontrol_t;
    20   typedef uint8_t         Toperation_t;
    21 //typedef uint32_t        Tdestination1_t;
    22 //typedef uint32_t        Tdestination2_t;
    23 //typedef uint32_t        Texec_flag_t;
    24 //typedef bool            Texec_excep_t;
    25                          
    26   typedef uint8_t         Texception_t;
    27   typedef uint8_t         Tcontext_t;
    28   typedef uint8_t         Tpacket_t;
    29   typedef uint8_t         Ttype_t;
    30   typedef uint8_t         Tevent_state_t;
    31   typedef uint8_t         Tevent_type_t;
    32   typedef uint8_t         Tcounter_t; // universal counter
    33   typedef uint8_t         Tptr_t;     // universal pointer
    34                          
    35   // ***** Register       
    36   typedef uint32_t        Tgeneral_address_t;
    37   typedef uint32_t        Tgeneral_data_t;
    38   typedef uint32_t        Tspecial_address_t;
    39   typedef uint32_t        Tspecial_data_t;
     18  typedef uint32_t           Tinstruction_t;
     19  typedef bool               Tcontrol_t;
     20  typedef uint8_t            Texception_t;
     21  typedef uint8_t            Tcontext_t;
     22  typedef uint8_t            Tpacket_t;
     23  typedef uint8_t            Toperation_t;
     24  typedef uint8_t            Ttype_t;
     25  typedef uint8_t            Tcounter_t; // universal counter
     26  typedef uint8_t            Tptr_t;     // universal pointer
     27                             
     28//typedef uint32_t           Tdestination1_t;
     29//typedef uint32_t           Tdestination2_t;
     30//typedef uint32_t           Texec_flag_t;
     31//typedef bool               Texec_excep_t;
     32                             
     33  // ***** Event             
     34  typedef uint8_t            Tevent_state_t;
     35  typedef uint8_t            Tevent_type_t;
     36                             
     37  // ***** Register         
     38  typedef uint32_t           Tgeneral_address_t;
     39  typedef uint32_t           Tgeneral_data_t;
     40  typedef uint32_t           Tspecial_address_t;
     41  typedef uint32_t           Tspecial_data_t;
     42                             
     43  // ~~~~~ prediction_unit   
     44  typedef uint8_t            Thistory_t;
     45  typedef Tptr_t             Tprediction_ptr_t;
     46  typedef uint8_t            Tbranch_state_t;
     47  typedef uint8_t            Tbranch_condition_t;
     48  typedef Tprediction_ptr_t  Tdepth_t;
     49  typedef Tgeneral_data_t    Taddress_t;
    4050
    4151  // ***** component dependant
    4252  // ~~~~~ load store queue
    43   typedef uint8_t         Taccess_t;
    44   typedef uint8_t         Tlsq_ptr_t;
    45   typedef uint32_t        Tdcache_address_t;
    46   typedef uint32_t        Tdcache_data_t;
    47   typedef bool            Tdcache_error_t;
    48   typedef uint8_t         Tdcache_type_t;
    49 
    50   // ~~~~~ prediction_unit
    51   typedef uint8_t         Thistory_t;
    52   typedef uint8_t         Tprediction_ptr_t;
    53   typedef uint8_t         Tbranch_state_t;
    54   typedef uint8_t         Tbranch_condition_t;
    55   typedef uint8_t         Tdepth_t;     
    56   typedef Tgeneral_data_t Taddress_t;
    57 
    58 
    59   // ~~~~~ ifetch
    60   typedef uint8_t         Tinst_ifetch_ptr_t;
    61   typedef uint8_t         Tifetch_queue_ptr_t;
    62   typedef uint32_t        Ticache_address_t;
    63   typedef uint32_t        Ticache_instruction_t;
    64   typedef bool            Ticache_error_t;
    65   typedef uint8_t         Ticache_type_t;
     53  typedef uint8_t            Taccess_t;
     54  typedef Tptr_t             Tlsq_ptr_t;
     55  typedef Tgeneral_address_t Tdcache_address_t;
     56  typedef Tgeneral_data_t    Tdcache_data_t;
     57  typedef bool               Tdcache_error_t;
     58  typedef uint8_t            Tdcache_type_t;
     59                             
     60                             
     61  // ~~~~~ ifetch           
     62  typedef Tptr_t             Tinst_ifetch_ptr_t;
     63  typedef Tptr_t             Tifetch_queue_ptr_t;
     64  typedef Tgeneral_address_t Ticache_address_t;
     65  typedef Tgeneral_data_t    Ticache_instruction_t;
     66  typedef bool               Ticache_error_t;
     67  typedef uint8_t            Ticache_type_t;
    6668
    6769  typedef enum
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Usage.h

    • Property svn:keywords set to Id
    r57 r81  
    11#ifndef morpheo_behavioural_Usage_h
    22#define morpheo_behavioural_Usage_h
     3
     4#include <stdint.h>
    35
    46namespace morpheo {
     
    79  typedef uint8_t Tusage_t;
    810
    9 #define USE_SYSTEMC        0x01
    10 #define USE_VHDL           0x02
    11 #define USE_VHDL_TESTBENCH 0x04
    12 #define USE_STATISTICS     0x08
    13 #define USE_POSITION       0x10
    14 #define USE_ALL            0x1F
     11#  define USE_SYSTEMC               0x01
     12#  define USE_VHDL                  0x02
     13#  define USE_VHDL_TESTBENCH        0x04
     14#  define USE_VHDL_TESTBENCH_ASSERT 0x08
     15#  define USE_POSITION              0x10
     16#  define USE_STATISTICS            0x20
     17#  define USE_INFORMATION           0x40
     18//#define USE_                      0x80
     19
     20#  define USE_NONE                  0x00
     21//#define USE_ALL                   0xff
     22#  define USE_ALL                   usage_all()
     23
     24
     25  Tusage_t usage_set         (Tusage_t usage, Tusage_t flag);
     26  Tusage_t usage_unset       (Tusage_t usage, Tusage_t flag);
     27  bool     usage_is_set      (Tusage_t usage, Tusage_t flag);
     28  void     usage_environment (Tusage_t usage);
     29  Tusage_t usage_all         (void);
    1530
    1631}; // end namespace behavioural
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Vhdl.h

    • Property svn:keywords set to Id
    r71 r81  
    1414#include <iostream>
    1515#include <list>
    16 #include "Behavioural/include/Environnement.h"
     16#include "Behavioural/include/Environment.h"
    1717#include "Behavioural/include/Direction.h"
    1818#include "Common/include/ToString.h"
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/XML.h

    • Property svn:keywords set to Id
Note: See TracChangeset for help on using the changeset viewer.