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_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp

    r88 r112  
    88
    99#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h"
     10#include "Behavioural/include/Allocation.h"
    1011
    1112namespace morpheo                    {
     
    2526    if (usage_is_set(_usage,USE_SYSTEMC))
    2627      {
    27     // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    28     delete     in_CLOCK ;
    29     delete     in_NRESET;
     28        delete     in_CLOCK ;
     29        delete     in_NRESET;
    3030
    31     // ~~~~~[ Interface : "read_queue_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    32     delete     in_READ_QUEUE_IN_VAL            ;
    33     delete    out_READ_QUEUE_IN_ACK            ;
     31        DELETE0_SIGNAL( in_READ_QUEUE_IN_VAL                   ,1                             );
     32        DELETE0_SIGNAL(out_READ_QUEUE_IN_ACK                   ,1                             );
     33        DELETE0_SIGNAL( in_READ_QUEUE_IN_CONTEXT_ID            ,_param->_size_context_id      );
     34        DELETE0_SIGNAL( in_READ_QUEUE_IN_FRONT_END_ID          ,_param->_size_front_end_id    );
     35        DELETE0_SIGNAL( in_READ_QUEUE_IN_OOO_ENGINE_ID         ,_param->_size_ooo_engine_id   );
     36        DELETE0_SIGNAL( in_READ_QUEUE_IN_ROB_ID                ,_param->_size_rob_ptr         );
     37        DELETE0_SIGNAL( in_READ_QUEUE_IN_OPERATION             ,_param->_size_operation       );
     38        DELETE0_SIGNAL( in_READ_QUEUE_IN_TYPE                  ,_param->_size_type            );
     39        DELETE0_SIGNAL( in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE ,_param->_size_store_queue_ptr );
     40        DELETE0_SIGNAL( in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE  ,_param->_size_load_queue_ptr  );
     41        DELETE0_SIGNAL( in_READ_QUEUE_IN_HAS_IMMEDIAT          ,1                             );
     42        DELETE0_SIGNAL( in_READ_QUEUE_IN_IMMEDIAT              ,_param->_size_general_data    );
     43        DELETE0_SIGNAL( in_READ_QUEUE_IN_READ_RA               ,1                             );
     44        DELETE0_SIGNAL( in_READ_QUEUE_IN_NUM_REG_RA            ,_param->_size_general_register);
     45        DELETE0_SIGNAL( in_READ_QUEUE_IN_READ_RB               ,1                             );
     46        DELETE0_SIGNAL( in_READ_QUEUE_IN_NUM_REG_RB            ,_param->_size_general_register);
     47        DELETE0_SIGNAL( in_READ_QUEUE_IN_READ_RC               ,1                             );
     48        DELETE0_SIGNAL( in_READ_QUEUE_IN_NUM_REG_RC            ,_param->_size_special_register);
     49        DELETE0_SIGNAL( in_READ_QUEUE_IN_WRITE_RD              ,1                             );
     50        DELETE0_SIGNAL( in_READ_QUEUE_IN_NUM_REG_RD            ,_param->_size_general_register);
     51        DELETE0_SIGNAL( in_READ_QUEUE_IN_WRITE_RE              ,1                             );
     52        DELETE0_SIGNAL( in_READ_QUEUE_IN_NUM_REG_RE            ,_param->_size_special_register);
     53     
     54        DELETE0_SIGNAL(out_READ_QUEUE_OUT_VAL                  ,1                              );
     55        DELETE0_SIGNAL( in_READ_QUEUE_OUT_ACK                  ,1                              );
     56        DELETE0_SIGNAL(out_READ_QUEUE_OUT_CONTEXT_ID           ,_param->_size_context_id       );
     57        DELETE0_SIGNAL(out_READ_QUEUE_OUT_FRONT_END_ID         ,_param->_size_front_end_id     );
     58        DELETE0_SIGNAL(out_READ_QUEUE_OUT_OOO_ENGINE_ID        ,_param->_size_ooo_engine_id    );
     59        DELETE0_SIGNAL(out_READ_QUEUE_OUT_ROB_ID               ,_param->_size_rob_ptr          );
     60        DELETE0_SIGNAL(out_READ_QUEUE_OUT_OPERATION            ,_param->_size_operation        );
     61        DELETE0_SIGNAL(out_READ_QUEUE_OUT_TYPE                 ,_param->_size_type             );
     62        DELETE0_SIGNAL(out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE, _param->_size_store_queue_ptr );
     63        DELETE0_SIGNAL(out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE , _param->_size_load_queue_ptr  );
     64        DELETE0_SIGNAL(out_READ_QUEUE_OUT_HAS_IMMEDIAT         ,1                              );
     65        DELETE0_SIGNAL(out_READ_QUEUE_OUT_IMMEDIAT             ,_param->_size_general_data     );
     66//      DELETE0_SIGNAL(out_READ_QUEUE_OUT_READ_RA              ,1                              );
     67        DELETE0_SIGNAL(out_READ_QUEUE_OUT_NUM_REG_RA           ,_param->_size_general_register );
     68        DELETE0_SIGNAL(out_READ_QUEUE_OUT_DATA_RA_VAL          ,1                              );
     69        DELETE0_SIGNAL(out_READ_QUEUE_OUT_DATA_RA              ,_param->_size_general_data     );
     70//      DELETE0_SIGNAL(out_READ_QUEUE_OUT_READ_RB              ,1                              );
     71        DELETE0_SIGNAL(out_READ_QUEUE_OUT_NUM_REG_RB           ,_param->_size_general_register );
     72        DELETE0_SIGNAL(out_READ_QUEUE_OUT_DATA_RB_VAL          ,1                              );
     73        DELETE0_SIGNAL(out_READ_QUEUE_OUT_DATA_RB              ,_param->_size_general_data     );
     74//      DELETE0_SIGNAL(out_READ_QUEUE_OUT_READ_RC              ,1                              );
     75        DELETE0_SIGNAL(out_READ_QUEUE_OUT_NUM_REG_RC           ,_param->_size_special_register );
     76        DELETE0_SIGNAL(out_READ_QUEUE_OUT_DATA_RC_VAL          ,1                              );
     77        DELETE0_SIGNAL(out_READ_QUEUE_OUT_DATA_RC              ,_param->_size_special_data     );
     78        DELETE0_SIGNAL(out_READ_QUEUE_OUT_WRITE_RD             ,1                              );
     79        DELETE0_SIGNAL(out_READ_QUEUE_OUT_NUM_REG_RD           ,_param->_size_general_register );
     80        DELETE0_SIGNAL(out_READ_QUEUE_OUT_WRITE_RE             ,1                              );
     81        DELETE0_SIGNAL(out_READ_QUEUE_OUT_NUM_REG_RE           ,_param->_size_special_register );     
    3482
    35     if(_param->_have_port_context_id   )
    36       delete     in_READ_QUEUE_IN_CONTEXT_ID     ;
    37     if(_param->_have_port_front_end_id )
    38       delete     in_READ_QUEUE_IN_FRONT_END_ID   ;
    39     if(_param->_have_port_ooo_engine_id)
    40       delete     in_READ_QUEUE_IN_OOO_ENGINE_ID  ;
    41     if(_param->_have_port_rob_ptr       )
    42       delete     in_READ_QUEUE_IN_ROB_ID         ;
    43     delete     in_READ_QUEUE_IN_OPERATION      ;
    44     delete     in_READ_QUEUE_IN_TYPE           ;
    45     delete     in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE;
    46     if (_param->_have_port_load_queue_ptr)
    47     delete     in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ;
    48     delete     in_READ_QUEUE_IN_HAS_IMMEDIAT   ;
    49     delete     in_READ_QUEUE_IN_IMMEDIAT       ;
    50     delete     in_READ_QUEUE_IN_READ_RA        ;
    51     delete     in_READ_QUEUE_IN_NUM_REG_RA     ;
    52     delete     in_READ_QUEUE_IN_READ_RB        ;
    53     delete     in_READ_QUEUE_IN_NUM_REG_RB     ;
    54     delete     in_READ_QUEUE_IN_READ_RC        ;
    55     delete     in_READ_QUEUE_IN_NUM_REG_RC     ;
    56     delete     in_READ_QUEUE_IN_WRITE_RD       ;
    57     delete     in_READ_QUEUE_IN_NUM_REG_RD     ;
    58     delete     in_READ_QUEUE_IN_WRITE_RE       ;
    59     delete     in_READ_QUEUE_IN_NUM_REG_RE     ;
     83        DELETE1_SIGNAL(out_GPR_READ_VAL           ,_param->_nb_gpr_read,1);
     84        DELETE1_SIGNAL( in_GPR_READ_ACK           ,_param->_nb_gpr_read,1);
     85        DELETE1_SIGNAL(out_GPR_READ_OOO_ENGINE_ID ,_param->_nb_gpr_read,_param->_size_ooo_engine_id);
     86        DELETE1_SIGNAL(out_GPR_READ_NUM_REG       ,_param->_nb_gpr_read,_param->_size_general_register);
     87        DELETE1_SIGNAL( in_GPR_READ_DATA          ,_param->_nb_gpr_read,_param->_size_general_data);
     88        DELETE1_SIGNAL( in_GPR_READ_DATA_VAL      ,_param->_nb_gpr_read,1);
    6089
    61     // ~~~~~[ Interface : "read_queue_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    62     delete    out_READ_QUEUE_OUT_VAL            ;
    63     delete     in_READ_QUEUE_OUT_ACK            ;
     90        DELETE1_SIGNAL(out_SPR_READ_VAL           ,_param->_nb_spr_read,1);
     91        DELETE1_SIGNAL( in_SPR_READ_ACK           ,_param->_nb_spr_read,1);
     92        DELETE1_SIGNAL(out_SPR_READ_OOO_ENGINE_ID ,_param->_nb_spr_read,_param->_size_ooo_engine_id);
     93        DELETE1_SIGNAL(out_SPR_READ_NUM_REG       ,_param->_nb_spr_read,_param->_size_general_register);
     94        DELETE1_SIGNAL( in_SPR_READ_DATA          ,_param->_nb_spr_read,_param->_size_general_data);
     95        DELETE1_SIGNAL( in_SPR_READ_DATA_VAL      ,_param->_nb_spr_read,1);
     96       
     97        DELETE1_SIGNAL(in_GPR_WRITE_VAL           ,_param->_nb_gpr_write,1);
     98        DELETE1_SIGNAL(in_GPR_WRITE_OOO_ENGINE_ID ,_param->_nb_gpr_write,_param->_size_ooo_engine_id);
     99        DELETE1_SIGNAL(in_GPR_WRITE_NUM_REG       ,_param->_nb_gpr_write,_param->_size_general_register);
     100        DELETE1_SIGNAL(in_GPR_WRITE_DATA          ,_param->_nb_gpr_write,_param->_size_general_data);
    64101
    65     if(_param->_have_port_context_id   )
    66       delete    out_READ_QUEUE_OUT_CONTEXT_ID     ;
    67     if(_param->_have_port_front_end_id )
    68       delete    out_READ_QUEUE_OUT_FRONT_END_ID   ;
    69     if(_param->_have_port_ooo_engine_id)
    70       delete    out_READ_QUEUE_OUT_OOO_ENGINE_ID  ;
    71     if(_param->_have_port_rob_ptr       )
    72       delete    out_READ_QUEUE_OUT_ROB_ID         ;
    73     delete    out_READ_QUEUE_OUT_OPERATION      ;
    74     delete    out_READ_QUEUE_OUT_TYPE           ;
    75     delete    out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE;
    76     if (_param->_have_port_load_queue_ptr)
    77     delete    out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE ;
    78     delete    out_READ_QUEUE_OUT_HAS_IMMEDIAT   ;
    79     delete    out_READ_QUEUE_OUT_IMMEDIAT       ;
    80 //     delete    out_READ_QUEUE_OUT_READ_RA        ;
    81     delete    out_READ_QUEUE_OUT_NUM_REG_RA     ;
    82     delete    out_READ_QUEUE_OUT_DATA_RA_VAL    ;
    83     delete    out_READ_QUEUE_OUT_DATA_RA        ;
    84 //     delete    out_READ_QUEUE_OUT_READ_RB        ;
    85     delete    out_READ_QUEUE_OUT_NUM_REG_RB     ;
    86     delete    out_READ_QUEUE_OUT_DATA_RB_VAL    ;
    87     delete    out_READ_QUEUE_OUT_DATA_RB        ;
    88 //     delete    out_READ_QUEUE_OUT_READ_RC        ;
    89     delete    out_READ_QUEUE_OUT_NUM_REG_RC     ;
    90     delete    out_READ_QUEUE_OUT_DATA_RC_VAL    ;
    91     delete    out_READ_QUEUE_OUT_DATA_RC        ;
    92     delete    out_READ_QUEUE_OUT_WRITE_RD       ;
    93     delete    out_READ_QUEUE_OUT_NUM_REG_RD     ;
    94     delete    out_READ_QUEUE_OUT_WRITE_RE       ;
    95     delete    out_READ_QUEUE_OUT_NUM_REG_RE     ;
    96 
    97     // ~~~~~[ Interface : "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    98    
    99     delete [] out_GPR_READ_VAL       ;
    100     delete []  in_GPR_READ_ACK       ;
    101     if(_param->_have_port_ooo_engine_id)
    102       delete [] out_GPR_READ_OOO_ENGINE_ID;
    103     delete [] out_GPR_READ_NUM_REG   ;
    104     delete []  in_GPR_READ_DATA      ;
    105     delete []  in_GPR_READ_DATA_VAL  ;
    106 
    107     // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    108    
    109     delete [] out_SPR_READ_VAL       ;
    110     delete []  in_SPR_READ_ACK       ;
    111     if(_param->_have_port_ooo_engine_id)
    112       delete [] out_SPR_READ_OOO_ENGINE_ID;
    113     delete [] out_SPR_READ_NUM_REG   ;
    114     delete []  in_SPR_READ_DATA      ;
    115     delete []  in_SPR_READ_DATA_VAL  ;
    116 
    117     // ~~~~~[ Interface : "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    118    
    119     delete []  in_GPR_WRITE_VAL       ;
    120     if(_param->_have_port_ooo_engine_id)
    121       delete []  in_GPR_WRITE_OOO_ENGINE_ID;
    122     delete []  in_GPR_WRITE_NUM_REG   ;
    123     delete []  in_GPR_WRITE_DATA      ;
    124 
    125     // ~~~~~[ Interface : "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    126    
    127     delete []  in_SPR_WRITE_VAL       ;
    128     if(_param->_have_port_ooo_engine_id)
    129       delete []  in_SPR_WRITE_OOO_ENGINE_ID;
    130     delete []  in_SPR_WRITE_NUM_REG   ;
    131     delete []  in_SPR_WRITE_DATA      ;
     102        DELETE1_SIGNAL(in_SPR_WRITE_VAL           ,_param->_nb_spr_write,1);
     103        DELETE1_SIGNAL(in_SPR_WRITE_OOO_ENGINE_ID ,_param->_nb_spr_write,_param->_size_ooo_engine_id);
     104        DELETE1_SIGNAL(in_SPR_WRITE_NUM_REG       ,_param->_nb_spr_write,_param->_size_general_register);
     105        DELETE1_SIGNAL(in_SPR_WRITE_DATA          ,_param->_nb_spr_write,_param->_size_general_data);
    132106      }
    133107
Note: See TracChangeset for help on using the changeset viewer.