Ignore:
Timestamp:
Mar 18, 2009, 11:36:26 PM (15 years ago)
Author:
rosiere
Message:

1) Stat_list : fix retire old and new register bug
2) Stat_list : remove read_counter and valid flag, because validation of destination is in retire step (not in commit step)
3) Model : add class Model (cf Morpheo.sim)
4) Allocation : alloc_interface_begin and alloc_interface_end to delete temporary array.
5) Script : add distexe.sh
6) Add Comparator, Multiplier, Divider. But this component are not implemented
7) Software : add Dhrystone

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/include/Types.h

    r111 r112  
    1010
    1111#include "Behavioural/include/Types.h"
     12#include "Behavioural/include/Allocation.h"
    1213
    1314namespace morpheo {
     
    5859    _nb_inst (nb_inst)
    5960    {
    60       _val            = new Tcontrol_t         [_nb_inst];
    61       _context_id     = new Tcontext_t         [_nb_inst];
    62       _depth          = new Tdepth_t           [_nb_inst];
    63       _type           = new Ttype_t            [_nb_inst];
    64       _operation      = new Toperation_t       [_nb_inst];
    65       _no_execute     = new Tcontrol_t         [_nb_inst];
    66       _is_delay_slot  = new Tcontrol_t         [_nb_inst];
     61      ALLOC1(_val            ,Tcontrol_t         ,_nb_inst);
     62      ALLOC1(_context_id     ,Tcontext_t         ,_nb_inst);
     63      ALLOC1(_depth          ,Tdepth_t           ,_nb_inst);
     64      ALLOC1(_type           ,Ttype_t            ,_nb_inst);
     65      ALLOC1(_operation      ,Toperation_t       ,_nb_inst);
     66      ALLOC1(_no_execute     ,Tcontrol_t         ,_nb_inst);
     67      ALLOC1(_is_delay_slot  ,Tcontrol_t         ,_nb_inst);
    6768#ifdef DEBUG
    68       _address        = new Tgeneral_data_t    [_nb_inst];
     69      ALLOC1(_address        ,Tgeneral_data_t    ,_nb_inst);
    6970#endif
    70       _address_next   = new Tgeneral_data_t    [_nb_inst];
    71       _has_immediat   = new Tcontrol_t         [_nb_inst];
    72       _immediat       = new Tgeneral_data_t    [_nb_inst];
    73       _read_ra        = new Tcontrol_t         [_nb_inst];
    74       _num_reg_ra     = new Tgeneral_address_t [_nb_inst];
    75       _read_rb        = new Tcontrol_t         [_nb_inst];
    76       _num_reg_rb     = new Tgeneral_address_t [_nb_inst];
    77       _read_rc        = new Tcontrol_t         [_nb_inst];
    78       _num_reg_rc     = new Tspecial_address_t [_nb_inst];
    79       _write_rd       = new Tcontrol_t         [_nb_inst];
    80       _num_reg_rd     = new Tgeneral_address_t [_nb_inst];
    81       _write_re       = new Tcontrol_t         [_nb_inst];
    82       _num_reg_re     = new Tspecial_address_t [_nb_inst];
    83       _exception_use  = new Texception_t       [_nb_inst];
    84       _exception      = new Texception_t       [_nb_inst];
     71      ALLOC1(_address_next   ,Tgeneral_data_t    ,_nb_inst);
     72      ALLOC1(_has_immediat   ,Tcontrol_t         ,_nb_inst);
     73      ALLOC1(_immediat       ,Tgeneral_data_t    ,_nb_inst);
     74      ALLOC1(_read_ra        ,Tcontrol_t         ,_nb_inst);
     75      ALLOC1(_num_reg_ra     ,Tgeneral_address_t ,_nb_inst);
     76      ALLOC1(_read_rb        ,Tcontrol_t         ,_nb_inst);
     77      ALLOC1(_num_reg_rb     ,Tgeneral_address_t ,_nb_inst);
     78      ALLOC1(_read_rc        ,Tcontrol_t         ,_nb_inst);
     79      ALLOC1(_num_reg_rc     ,Tspecial_address_t ,_nb_inst);
     80      ALLOC1(_write_rd       ,Tcontrol_t         ,_nb_inst);
     81      ALLOC1(_num_reg_rd     ,Tgeneral_address_t ,_nb_inst);
     82      ALLOC1(_write_re       ,Tcontrol_t         ,_nb_inst);
     83      ALLOC1(_num_reg_re     ,Tspecial_address_t ,_nb_inst);
     84      ALLOC1(_exception_use  ,Texception_t       ,_nb_inst);
     85      ALLOC1(_exception      ,Texception_t       ,_nb_inst);
    8586
    8687      for (uint32_t i=0; i<_nb_inst; i++)
     
    9091  public : ~decod_queue_entry_t (void)
    9192    {
    92       delete [] _val            ;
    93       delete [] _context_id     ;
    94       delete [] _depth          ;
    95       delete [] _type           ;
    96       delete [] _operation      ;
    97       delete [] _no_execute     ;
    98       delete [] _is_delay_slot  ;
     93      DELETE1(_val            ,_nb_inst);
     94      DELETE1(_context_id     ,_nb_inst);
     95      DELETE1(_depth          ,_nb_inst);
     96      DELETE1(_type           ,_nb_inst);
     97      DELETE1(_operation      ,_nb_inst);
     98      DELETE1(_no_execute     ,_nb_inst);
     99      DELETE1(_is_delay_slot  ,_nb_inst);
    99100#ifdef DEBUG
    100       delete [] _address        ;
     101      DELETE1(_address        ,_nb_inst);
    101102#endif
    102       delete [] _address_next   ;
    103       delete [] _has_immediat   ;
    104       delete [] _immediat       ;
    105       delete [] _read_ra        ;
    106       delete [] _num_reg_ra     ;
    107       delete [] _read_rb        ;
    108       delete [] _num_reg_rb     ;
    109       delete [] _read_rc        ;
    110       delete [] _num_reg_rc     ;
    111       delete [] _write_rd       ;
    112       delete [] _num_reg_rd     ;
    113       delete [] _write_re       ;
    114       delete [] _num_reg_re     ;
    115       delete [] _exception_use  ;
    116       delete [] _exception      ;
     103      DELETE1(_address_next   ,_nb_inst);
     104      DELETE1(_has_immediat   ,_nb_inst);
     105      DELETE1(_immediat       ,_nb_inst);
     106      DELETE1(_read_ra        ,_nb_inst);
     107      DELETE1(_num_reg_ra     ,_nb_inst);
     108      DELETE1(_read_rb        ,_nb_inst);
     109      DELETE1(_num_reg_rb     ,_nb_inst);
     110      DELETE1(_read_rc        ,_nb_inst);
     111      DELETE1(_num_reg_rc     ,_nb_inst);
     112      DELETE1(_write_rd       ,_nb_inst);
     113      DELETE1(_num_reg_rd     ,_nb_inst);
     114      DELETE1(_write_re       ,_nb_inst);
     115      DELETE1(_num_reg_re     ,_nb_inst);
     116      DELETE1(_exception_use  ,_nb_inst);
     117      DELETE1(_exception      ,_nb_inst);
    117118    }
    118119  };
Note: See TracChangeset for help on using the changeset viewer.