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_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_deallocation.cpp

    r97 r112  
    77
    88#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/include/Write_unit.h"
     9#include "Behavioural/include/Allocation.h"
    910
    1011namespace morpheo                    {
     
    2829        delete    in_NRESET;
    2930
    30         // -----[ Interface "write_unit_in" ]--------------------------------   
    31         delete      in_WRITE_UNIT_IN_VAL          ;
    32         delete     out_WRITE_UNIT_IN_ACK          ;
    33         if (_param->_have_port_context_id)
    34         delete      in_WRITE_UNIT_IN_CONTEXT_ID   ;
    35         if (_param->_have_port_front_end_id)
    36         delete      in_WRITE_UNIT_IN_FRONT_END_ID ;
    37         if (_param->_have_port_ooo_engine_id)
    38         delete      in_WRITE_UNIT_IN_OOO_ENGINE_ID;
    39         if (_param->_have_port_rob_ptr)
    40         delete      in_WRITE_UNIT_IN_PACKET_ID    ;
    41 //      delete      in_WRITE_UNIT_IN_OPERATION    ;
    42 //      delete      in_WRITE_UNIT_IN_TYPE         ;
    43         delete      in_WRITE_UNIT_IN_WRITE_RD     ;
    44         delete      in_WRITE_UNIT_IN_NUM_REG_RD   ;
    45         delete      in_WRITE_UNIT_IN_DATA_RD      ;
    46         delete      in_WRITE_UNIT_IN_WRITE_RE     ;
    47         delete      in_WRITE_UNIT_IN_NUM_REG_RE   ;
    48         delete      in_WRITE_UNIT_IN_DATA_RE      ;
    49         delete      in_WRITE_UNIT_IN_EXCEPTION    ;
    50         delete      in_WRITE_UNIT_IN_NO_SEQUENCE  ;
    51         delete      in_WRITE_UNIT_IN_ADDRESS      ;
     31        DELETE0_SIGNAL( in_WRITE_UNIT_IN_VAL          ,1);
     32        DELETE0_SIGNAL(out_WRITE_UNIT_IN_ACK          ,1);
     33        DELETE0_SIGNAL( in_WRITE_UNIT_IN_CONTEXT_ID   ,_param->_size_context_id       );
     34        DELETE0_SIGNAL( in_WRITE_UNIT_IN_FRONT_END_ID ,_param->_size_front_end_id     );
     35        DELETE0_SIGNAL( in_WRITE_UNIT_IN_OOO_ENGINE_ID,_param->_size_ooo_engine_id    );
     36        DELETE0_SIGNAL( in_WRITE_UNIT_IN_PACKET_ID    ,_param->_size_rob_ptr          );
     37//      DELETE0_SIGNAL( in_WRITE_UNIT_IN_OPERATION    ,_param->_size_operation        );
     38//      DELETE0_SIGNAL( in_WRITE_UNIT_IN_TYPE         ,_param->_size_type             );
     39        DELETE0_SIGNAL( in_WRITE_UNIT_IN_WRITE_RD     ,1                              );
     40        DELETE0_SIGNAL( in_WRITE_UNIT_IN_NUM_REG_RD   ,_param->_size_general_register );
     41        DELETE0_SIGNAL( in_WRITE_UNIT_IN_DATA_RD      ,_param->_size_general_data     );
     42        DELETE0_SIGNAL( in_WRITE_UNIT_IN_WRITE_RE     ,1                              );
     43        DELETE0_SIGNAL( in_WRITE_UNIT_IN_NUM_REG_RE   ,_param->_size_special_register );
     44        DELETE0_SIGNAL( in_WRITE_UNIT_IN_DATA_RE      ,_param->_size_special_data     );
     45        DELETE0_SIGNAL( in_WRITE_UNIT_IN_EXCEPTION    ,_param->_size_exception        );
     46        DELETE0_SIGNAL( in_WRITE_UNIT_IN_NO_SEQUENCE  ,1                              );
     47        DELETE0_SIGNAL( in_WRITE_UNIT_IN_ADDRESS      ,_param->_size_instruction_address);
     48       
     49        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_VAL          ,1);
     50        DELETE0_SIGNAL( in_WRITE_UNIT_OUT_ACK          ,1);
     51        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_CONTEXT_ID   ,_param->_size_context_id   );
     52        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_FRONT_END_ID ,_param->_size_front_end_id );
     53        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_OOO_ENGINE_ID,_param->_size_ooo_engine_id);
     54        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_PACKET_ID    ,_param->_size_rob_ptr      );
     55//      DELETE0_SIGNAL(out_WRITE_UNIT_OUT_OPERATION    ,_param->_size_operation    );
     56//      DELETE0_SIGNAL(out_WRITE_UNIT_OUT_TYPE         ,_param->_size_type         );
     57        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_FLAGS        ,_param->_size_special_data );
     58        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_EXCEPTION    ,_param->_size_exception    );
     59        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_NO_SEQUENCE  ,1                          );
     60        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_ADDRESS      ,_param->_size_instruction_address);
     61        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_DATA         ,_param->_size_general_data );
     62       
     63        DELETE1_SIGNAL(out_GPR_WRITE_VAL          , _param->_nb_gpr_write,1);
     64        DELETE1_SIGNAL( in_GPR_WRITE_ACK          , _param->_nb_gpr_write,1);
     65        DELETE1_SIGNAL(out_GPR_WRITE_OOO_ENGINE_ID, _param->_nb_gpr_write,_param->_size_ooo_engine_id   );
     66        DELETE1_SIGNAL(out_GPR_WRITE_NUM_REG      , _param->_nb_gpr_write,_param->_size_general_register);
     67        DELETE1_SIGNAL(out_GPR_WRITE_DATA         , _param->_nb_gpr_write,_param->_size_general_data    );
     68       
     69        DELETE1_SIGNAL(out_SPR_WRITE_VAL          , _param->_nb_spr_write,1);
     70        DELETE1_SIGNAL( in_SPR_WRITE_ACK          , _param->_nb_spr_write,1);
     71        DELETE1_SIGNAL(out_SPR_WRITE_OOO_ENGINE_ID, _param->_nb_spr_write,_param->_size_ooo_engine_id   );
     72        DELETE1_SIGNAL(out_SPR_WRITE_NUM_REG      , _param->_nb_spr_write,_param->_size_special_register);
     73        DELETE1_SIGNAL(out_SPR_WRITE_DATA         , _param->_nb_spr_write,_param->_size_special_data    );
     74       
     75        DELETE1_SIGNAL(out_BYPASS_WRITE_OOO_ENGINE_ID, _param->_nb_bypass_write,_param->_size_ooo_engine_id   );
     76        DELETE1_SIGNAL(out_BYPASS_WRITE_GPR_VAL      , _param->_nb_bypass_write,1                             );
     77        DELETE1_SIGNAL(out_BYPASS_WRITE_GPR_NUM_REG  , _param->_nb_bypass_write,_param->_size_general_register);
     78        DELETE1_SIGNAL(out_BYPASS_WRITE_GPR_DATA     , _param->_nb_bypass_write,_param->_size_general_data    );
     79        DELETE1_SIGNAL(out_BYPASS_WRITE_SPR_VAL      , _param->_nb_bypass_write,1                             );
     80        DELETE1_SIGNAL(out_BYPASS_WRITE_SPR_NUM_REG  , _param->_nb_bypass_write,_param->_size_special_register);
     81        DELETE1_SIGNAL(out_BYPASS_WRITE_SPR_DATA     , _param->_nb_bypass_write,_param->_size_special_data    );
     82      }
    5283
    53         // -----[ Interface "write_unit_out" ]-------------------------------   
    54         delete     out_WRITE_UNIT_OUT_VAL          ;
    55         delete      in_WRITE_UNIT_OUT_ACK          ;
    56         if (_param->_have_port_context_id)
    57         delete     out_WRITE_UNIT_OUT_CONTEXT_ID   ;
    58         if (_param->_have_port_front_end_id)
    59         delete     out_WRITE_UNIT_OUT_FRONT_END_ID ;
    60         if (_param->_have_port_ooo_engine_id)
    61         delete     out_WRITE_UNIT_OUT_OOO_ENGINE_ID;
    62         if (_param->_have_port_rob_ptr)
    63         delete     out_WRITE_UNIT_OUT_PACKET_ID    ;
    64 //      delete     out_WRITE_UNIT_OUT_OPERATION    ;
    65 //      delete     out_WRITE_UNIT_OUT_TYPE         ;
    66         delete     out_WRITE_UNIT_OUT_FLAGS        ;
    67         delete     out_WRITE_UNIT_OUT_EXCEPTION    ;
    68         delete     out_WRITE_UNIT_OUT_NO_SEQUENCE  ;
    69         delete     out_WRITE_UNIT_OUT_ADDRESS      ;
    70         delete     out_WRITE_UNIT_OUT_DATA         ;
    71 
    72         // -----[ Interface "gpr_write" ]-------------------------------------
    73         delete []  out_GPR_WRITE_VAL               ;
    74         delete []   in_GPR_WRITE_ACK               ;
    75         if (_param->_have_port_ooo_engine_id)
    76         delete []  out_GPR_WRITE_OOO_ENGINE_ID     ;
    77         delete []  out_GPR_WRITE_NUM_REG           ;
    78         delete []  out_GPR_WRITE_DATA              ;
    79        
    80         // -----[ Interface "spr_write" ]-------------------------------------
    81         delete []  out_SPR_WRITE_VAL               ;
    82         delete []   in_SPR_WRITE_ACK               ;
    83         if (_param->_have_port_ooo_engine_id)
    84         delete []  out_SPR_WRITE_OOO_ENGINE_ID     ;
    85         delete []  out_SPR_WRITE_NUM_REG           ;
    86         delete []  out_SPR_WRITE_DATA              ;
    87 
    88         // -----[ Interface "bypass_write" ]----------------------------------
    89         if (_param->_have_port_ooo_engine_id)
    90         delete []  out_BYPASS_WRITE_OOO_ENGINE_ID ;
    91         delete []  out_BYPASS_WRITE_GPR_VAL       ;
    92         delete []  out_BYPASS_WRITE_GPR_NUM_REG   ;
    93         delete []  out_BYPASS_WRITE_GPR_DATA      ;
    94         delete []  out_BYPASS_WRITE_SPR_VAL       ;
    95         delete []  out_BYPASS_WRITE_SPR_NUM_REG   ;
    96         delete []  out_BYPASS_WRITE_SPR_DATA      ;
    97 
    98       }
    9984    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    10085
Note: See TracChangeset for help on using the changeset viewer.