Ignore:
Timestamp:
Jun 26, 2009, 10:43:23 AM (15 years ago)
Author:
rosiere
Message:

1) Correct bug in link two signal
2) Fix error detected with valgrind
3) modif distexe script

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src/main.cpp

    r115 r128  
    77
    88#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/include/test.h"
     9#include "Behavioural/include/Allocation.h"
    910
    1011#define NB_PARAMS 18
     
    309310  morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void) = &(morpheo::behavioural::custom::default_get_custom_information);
    310311
     312  bool * num_thread_valid;
     313  ALLOC1(num_thread_valid              ,bool, nb_thread);
     314  for (uint32_t i=0; i<nb_thread; ++i)
     315    num_thread_valid [i] = true;
     316
    311317  try
    312318    {
     
    367373         is_load_store_unit                            , //[nb_execute_unit]
    368374         translate_num_execute_unit                    , //[nb_execute_unit]
     375         num_thread_valid                              , //[nb_thread]
    369376         true // is_toplevel
    370377         );
    371378     
    372379      test (name,param);
     380
     381      delete param;
    373382    }
    374383  catch (morpheo::ErrorMorpheo & error)
     
    383392    }
    384393
     394  for (uint32_t i=0; i< nb_functionnal_unit; i++)
     395    {
     396  for (uint32_t j=0; j< MAX_TYPE; j++)
     397  delete [] timing [i][j];
     398  delete [] timing [i];
     399    }
     400  delete [] timing;
     401
     402  DELETE1(translate_num_execute_unit    ,_nb_execute_unit);
     403  DELETE1(is_load_store_unit            ,_nb_execute_unit);
     404
     405  for (uint32_t i=0; i<nb_execute_unit; i++)
     406  delete    read_unit_to_execution_unit_table_thread [i];
     407  delete [] read_unit_to_execution_unit_table_thread;
     408
     409  for (uint32_t i=0; i<nb_read_unit; i++)
     410    {
     411  for (uint32_t j=0; j<nb_execute_unit; j++)
     412  delete [] read_unit_to_execution_unit_table_routing [i][j];
     413  delete [] read_unit_to_execution_unit_table_routing [i];
     414   }
     415  delete [] read_unit_to_execution_unit_table_routing;
     416
     417  for (uint32_t i=0; i<nb_write_unit; i++)
     418  delete    execution_unit_to_write_unit_table_thread [i];
     419  delete [] execution_unit_to_write_unit_table_thread;
     420
     421  for (uint32_t i=0; i<nb_execute_unit; i++)
     422    {
     423      uint32_t nb_execute_unit_port = (i<nb_load_store_unit)?nb_inst_memory[i]:nb_inst_functionnal_unit[i-nb_load_store_unit];
     424  for (uint32_t j=0; j<nb_execute_unit_port; j++)
     425  delete [] execution_unit_to_write_unit_table_routing [i][j];
     426  delete [] execution_unit_to_write_unit_table_routing [i];
     427   }
     428  delete [] execution_unit_to_write_unit_table_routing;
     429
     430  DELETE1(nb_inst_retire_rob            ,_nb_ooo_engine);
     431  DELETE1(nb_inst_insert_rob            ,_nb_ooo_engine);
     432  DELETE1(nb_special_register           ,_nb_ooo_engine);
     433  DELETE1(nb_general_register           ,_nb_ooo_engine);
     434  DELETE1(write_queue_scheme            ,_nb_write_unit);
     435  DELETE1(nb_bypass_write               ,_nb_write_unit);
     436  DELETE1(size_execute_queue            ,_nb_write_unit);
     437  DELETE1(size_write_queue              ,_nb_write_unit);
     438  DELETE1(nb_inst_memory                ,_nb_load_store_unit);
     439  DELETE1(nb_cache_port                 ,_nb_load_store_unit);
     440  DELETE1(nb_bypass_memory              ,_nb_load_store_unit);
     441  DELETE1(speculative_load              ,_nb_load_store_unit);
     442  DELETE1(nb_port_check                 ,_nb_load_store_unit);
     443  DELETE1(size_speculative_access_queue ,_nb_load_store_unit);
     444  DELETE1(size_load_queue               ,_nb_load_store_unit);
     445  DELETE1(size_store_queue              ,_nb_load_store_unit);
     446  DELETE1(nb_inst_functionnal_unit      ,_nb_functionnal_unit);
     447  DELETE1(nb_inst_retire                ,_nb_read_unit);
     448  DELETE1(size_reservation_station      ,_nb_read_unit);
     449  DELETE1(size_read_queue               ,_nb_read_unit);
     450  DELETE1(num_thread_valid              , nb_thread);
     451
    385452  return (EXIT_SUCCESS);
    386453}
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src/test.cpp

    r97 r128  
    5050  sc_clock              *  in_CLOCK  = new sc_clock ("clock", 1.0, 0.5);         
    5151  sc_signal<Tcontrol_t> *  in_NRESET = new sc_signal<Tcontrol_t> ("NRESET");
     52
     53  sc_signal<Tcontrol_t        >  **  in_EXECUTE_LOOP_IN_VAL                  ;
     54  sc_signal<Tcontrol_t        >  ** out_EXECUTE_LOOP_IN_ACK                  ;
     55  sc_signal<Tcontext_t        >  **  in_EXECUTE_LOOP_IN_CONTEXT_ID           ;
     56  sc_signal<Tcontext_t        >  **  in_EXECUTE_LOOP_IN_FRONT_END_ID         ;
     57  sc_signal<Tcontext_t        >  **  in_EXECUTE_LOOP_IN_OOO_ENGINE_ID        ;
     58  sc_signal<Tpacket_t         >  **  in_EXECUTE_LOOP_IN_PACKET_ID            ;
     59  sc_signal<Toperation_t      >  **  in_EXECUTE_LOOP_IN_OPERATION            ;
     60  sc_signal<Ttype_t           >  **  in_EXECUTE_LOOP_IN_TYPE                 ;
     61  sc_signal<Tlsq_ptr_t        >  **  in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_WRITE;
     62  sc_signal<Tlsq_ptr_t        >  **  in_EXECUTE_LOOP_IN_LOAD_QUEUE_PTR_WRITE ;
     63  sc_signal<Tcontrol_t        >  **  in_EXECUTE_LOOP_IN_HAS_IMMEDIAT         ;
     64  sc_signal<Tgeneral_data_t   >  **  in_EXECUTE_LOOP_IN_IMMEDIAT             ;
     65  sc_signal<Tcontrol_t        >  **  in_EXECUTE_LOOP_IN_READ_RA              ;
     66  sc_signal<Tgeneral_address_t>  **  in_EXECUTE_LOOP_IN_NUM_REG_RA           ;
     67  sc_signal<Tcontrol_t        >  **  in_EXECUTE_LOOP_IN_READ_RB              ;
     68  sc_signal<Tgeneral_address_t>  **  in_EXECUTE_LOOP_IN_NUM_REG_RB           ;
     69  sc_signal<Tcontrol_t        >  **  in_EXECUTE_LOOP_IN_READ_RC              ;
     70  sc_signal<Tspecial_address_t>  **  in_EXECUTE_LOOP_IN_NUM_REG_RC           ;
     71  sc_signal<Tcontrol_t        >  **  in_EXECUTE_LOOP_IN_WRITE_RD             ;
     72  sc_signal<Tgeneral_address_t>  **  in_EXECUTE_LOOP_IN_NUM_REG_RD           ;
     73  sc_signal<Tcontrol_t        >  **  in_EXECUTE_LOOP_IN_WRITE_RE             ;
     74  sc_signal<Tspecial_address_t>  **  in_EXECUTE_LOOP_IN_NUM_REG_RE           ;
     75  sc_signal<Tcontrol_t        >  ** out_EXECUTE_LOOP_OUT_VAL                 ;
     76  sc_signal<Tcontrol_t        >  **  in_EXECUTE_LOOP_OUT_ACK                 ;
     77  sc_signal<Tcontext_t        >  ** out_EXECUTE_LOOP_OUT_CONTEXT_ID          ;
     78  sc_signal<Tcontext_t        >  ** out_EXECUTE_LOOP_OUT_FRONT_END_ID        ;
     79  sc_signal<Tcontext_t        >  ** out_EXECUTE_LOOP_OUT_OOO_ENGINE_ID       ;
     80  sc_signal<Tpacket_t         >  ** out_EXECUTE_LOOP_OUT_PACKET_ID           ;
     81//sc_signal<Toperation_t      >  ** out_EXECUTE_LOOP_OUT_OPERATION           ;
     82//sc_signal<Ttype_t           >  ** out_EXECUTE_LOOP_OUT_TYPE                ;
     83  sc_signal<Tspecial_data_t   >  ** out_EXECUTE_LOOP_OUT_FLAGS               ;
     84  sc_signal<Texception_t      >  ** out_EXECUTE_LOOP_OUT_EXCEPTION           ;
     85  sc_signal<Tcontrol_t        >  ** out_EXECUTE_LOOP_OUT_NO_SEQUENCE         ;
     86  sc_signal<Taddress_t        >  ** out_EXECUTE_LOOP_OUT_ADDRESS             ;
     87  sc_signal<Tgeneral_data_t   >  ** out_EXECUTE_LOOP_OUT_DATA                ;
     88  sc_signal<Tcontrol_t        > *** out_DCACHE_REQ_VAL                       ;
     89  sc_signal<Tcontrol_t        > ***  in_DCACHE_REQ_ACK                       ;
     90  sc_signal<Tcontext_t        > *** out_DCACHE_REQ_CONTEXT_ID                ;
     91  sc_signal<Tpacket_t         > *** out_DCACHE_REQ_PACKET_ID                 ;
     92  sc_signal<Tdcache_address_t > *** out_DCACHE_REQ_ADDRESS                   ;
     93  sc_signal<Tdcache_type_t    > *** out_DCACHE_REQ_TYPE                      ;
     94  sc_signal<Tdcache_data_t    > *** out_DCACHE_REQ_WDATA                     ;
     95  sc_signal<Tcontrol_t        > ***  in_DCACHE_RSP_VAL                       ;
     96  sc_signal<Tcontrol_t        > *** out_DCACHE_RSP_ACK                       ;
     97  sc_signal<Tcontext_t        > ***  in_DCACHE_RSP_CONTEXT_ID                ;
     98  sc_signal<Tpacket_t         > ***  in_DCACHE_RSP_PACKET_ID                 ;
     99  sc_signal<Tdcache_data_t    > ***  in_DCACHE_RSP_RDATA                     ;
     100  sc_signal<Tdcache_error_t   > ***  in_DCACHE_RSP_ERROR                     ;
     101  sc_signal<Tcontrol_t        > ***  in_INSERT_ROB_VAL                       ;
     102  sc_signal<Tcontrol_t        > *** out_INSERT_ROB_ACK                       ;
     103  sc_signal<Tcontrol_t        > ***  in_INSERT_ROB_RD_USE                    ;
     104  sc_signal<Tgeneral_address_t> ***  in_INSERT_ROB_RD_NUM_REG                ;
     105  sc_signal<Tcontrol_t        > ***  in_INSERT_ROB_RE_USE                    ;
     106  sc_signal<Tspecial_address_t> ***  in_INSERT_ROB_RE_NUM_REG                ;
     107//sc_signal<Tcontrol_t        > ***  in_RETIRE_ROB_VAL                       ;
     108//sc_signal<Tcontrol_t        > *** out_RETIRE_ROB_ACK                       ;
     109//sc_signal<Tcontrol_t        > ***  in_RETIRE_ROB_RD_OLD_USE                ;
     110//sc_signal<Tgeneral_address_t> ***  in_RETIRE_ROB_RD_OLD_NUM_REG            ;
     111//sc_signal<Tcontrol_t        > ***  in_RETIRE_ROB_RD_NEW_USE                ;
     112//sc_signal<Tgeneral_address_t> ***  in_RETIRE_ROB_RD_NEW_NUM_REG            ;
     113//sc_signal<Tcontrol_t        > ***  in_RETIRE_ROB_RE_OLD_USE                ;
     114//sc_signal<Tspecial_address_t> ***  in_RETIRE_ROB_RE_OLD_NUM_REG            ;
     115//sc_signal<Tcontrol_t        > ***  in_RETIRE_ROB_RE_NEW_USE                ;
     116//sc_signal<Tspecial_address_t> ***  in_RETIRE_ROB_RE_NEW_NUM_REG            ;
    52117 
    53118  ALLOC1_SC_SIGNAL( in_EXECUTE_LOOP_IN_VAL                  ," in_EXECUTE_LOOP_IN_VAL                  ",Tcontrol_t        ,_param->_nb_read_unit);
Note: See TracChangeset for help on using the changeset viewer.