Ignore:
Timestamp:
Apr 14, 2009, 8:39:12 PM (15 years ago)
Author:
rosiere
Message:

1) Add modelsim simulation systemC
2) Modelsim cosimulation systemC / VHDL is not finish !!!! (cf execute_queue and write_unit)
3) Add multi architecture
5) Add template for comparator, multiplier and divider
6) Change Message
Warning) Various test macro have change, many selftest can't compile

File:
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/SelfTest/include/top.h

    r111 r113  
    22 * $Id$
    33 *
    4  * [ Description ]
     4 * [ Description ]
    55 *
    6  * Test "RegisterFile"
     6 * Test "Write_queue"
    77 */
    88
     
    1111#endif
    1212
    13 #include <string>
    14 #include <iostream>
    15 #include <sys/time.h>
     13#define NB_ITERATION  1
     14#define CYCLE_MAX     (1024*NB_ITERATION)
    1615
     16#include "Common/include/Test.h"
    1717#include "Common/include/Time.h"
    1818#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Write_queue.h"
     
    2929using namespace morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue;
    3030
    31 void test    (string name,
    32               morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::Parameters * param);
     31SC_MODULE(top)
     32{
     33#ifdef SYSTEMC
     34 private: sc_clock               *  in_CLOCK ;
     35 private: sc_signal<Tcontrol_t>  *  in_NRESET;
     36
     37  private: sc_signal<Tcontrol_t        >  *  in_WRITE_QUEUE_IN_VAL           ;
     38  private: sc_signal<Tcontrol_t        >  * out_WRITE_QUEUE_IN_ACK           ;
     39  private: sc_signal<Tcontext_t        >  *  in_WRITE_QUEUE_IN_CONTEXT_ID    ;
     40  private: sc_signal<Tcontext_t        >  *  in_WRITE_QUEUE_IN_FRONT_END_ID  ;
     41  private: sc_signal<Tcontext_t        >  *  in_WRITE_QUEUE_IN_OOO_ENGINE_ID ;
     42  private: sc_signal<Tpacket_t         >  *  in_WRITE_QUEUE_IN_PACKET_ID     ;
     43//private: sc_signal<Toperation_t      >  *  in_WRITE_QUEUE_IN_OPERATION     ;
     44//private: sc_signal<Ttype_t           >  *  in_WRITE_QUEUE_IN_TYPE          ;
     45  private: sc_signal<Tcontrol_t        >  *  in_WRITE_QUEUE_IN_WRITE_RD      ;
     46  private: sc_signal<Tgeneral_address_t>  *  in_WRITE_QUEUE_IN_NUM_REG_RD    ;
     47  private: sc_signal<Tgeneral_data_t   >  *  in_WRITE_QUEUE_IN_DATA_RD       ;
     48  private: sc_signal<Tcontrol_t        >  *  in_WRITE_QUEUE_IN_WRITE_RE      ;
     49  private: sc_signal<Tspecial_address_t>  *  in_WRITE_QUEUE_IN_NUM_REG_RE    ;
     50  private: sc_signal<Tspecial_data_t   >  *  in_WRITE_QUEUE_IN_DATA_RE       ;
     51  private: sc_signal<Texception_t      >  *  in_WRITE_QUEUE_IN_EXCEPTION     ;
     52  private: sc_signal<Tcontrol_t        >  *  in_WRITE_QUEUE_IN_NO_SEQUENCE   ;
     53  private: sc_signal<Taddress_t        >  *  in_WRITE_QUEUE_IN_ADDRESS       ;
     54  private: sc_signal<Tcontrol_t        >  * out_WRITE_QUEUE_OUT_VAL          ;
     55  private: sc_signal<Tcontrol_t        >  *  in_WRITE_QUEUE_OUT_ACK          ;
     56  private: sc_signal<Tcontext_t        >  * out_WRITE_QUEUE_OUT_CONTEXT_ID   ;
     57  private: sc_signal<Tcontext_t        >  * out_WRITE_QUEUE_OUT_FRONT_END_ID ;
     58  private: sc_signal<Tcontext_t        >  * out_WRITE_QUEUE_OUT_OOO_ENGINE_ID;
     59  private: sc_signal<Tpacket_t         >  * out_WRITE_QUEUE_OUT_PACKET_ID    ;
     60//private: sc_signal<Toperation_t      >  * out_WRITE_QUEUE_OUT_OPERATION    ;
     61//private: sc_signal<Ttype_t           >  * out_WRITE_QUEUE_OUT_TYPE         ;
     62  private: sc_signal<Tspecial_data_t   >  * out_WRITE_QUEUE_OUT_FLAGS        ;
     63  private: sc_signal<Texception_t      >  * out_WRITE_QUEUE_OUT_EXCEPTION    ;
     64  private: sc_signal<Tcontrol_t        >  * out_WRITE_QUEUE_OUT_NO_SEQUENCE  ;
     65  private: sc_signal<Tgeneral_data_t   >  * out_WRITE_QUEUE_OUT_ADDRESS      ;
     66  private: sc_signal<Taddress_t        >  * out_WRITE_QUEUE_OUT_DATA         ;
     67  private: sc_signal<Tcontrol_t        > ** out_GPR_WRITE_VAL                ;
     68  private: sc_signal<Tcontrol_t        > **  in_GPR_WRITE_ACK                ;
     69  private: sc_signal<Tcontext_t        > ** out_GPR_WRITE_OOO_ENGINE_ID      ;
     70  private: sc_signal<Tgeneral_address_t> ** out_GPR_WRITE_NUM_REG            ;
     71  private: sc_signal<Tgeneral_data_t   > ** out_GPR_WRITE_DATA               ;
     72  private: sc_signal<Tcontrol_t        > ** out_SPR_WRITE_VAL                ;
     73  private: sc_signal<Tcontrol_t        > **  in_SPR_WRITE_ACK                ;
     74  private: sc_signal<Tcontext_t        > ** out_SPR_WRITE_OOO_ENGINE_ID      ;
     75  private: sc_signal<Tspecial_address_t> ** out_SPR_WRITE_NUM_REG            ;
     76  private: sc_signal<Tspecial_data_t   > ** out_SPR_WRITE_DATA               ;
     77  private: sc_signal<Tcontext_t        > ** out_BYPASS_WRITE_OOO_ENGINE_ID   ;
     78  private: sc_signal<Tcontrol_t        > ** out_BYPASS_WRITE_GPR_VAL         ;
     79  private: sc_signal<Tgeneral_address_t> ** out_BYPASS_WRITE_GPR_NUM_REG     ;
     80  private: sc_signal<Tgeneral_data_t   > ** out_BYPASS_WRITE_GPR_DATA        ;
     81  private: sc_signal<Tcontrol_t        > ** out_BYPASS_WRITE_SPR_VAL         ;
     82  private: sc_signal<Tspecial_address_t> ** out_BYPASS_WRITE_SPR_NUM_REG     ;
     83  private: sc_signal<Tspecial_data_t   > ** out_BYPASS_WRITE_SPR_DATA        ;
     84
     85#endif
     86
     87 private: std::string name;
     88 private: Tusage_t _usage;
     89 private: morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::Parameters * _param;
     90#ifdef STATISTICS
     91 private: morpheo::behavioural::Parameters_Statistics * _param_stat;
     92#endif
     93 private: Write_queue * component;
     94
     95 private: void usage
     96    (
     97#ifdef MTI_SYSTEMC
     98     int argc, const char * const * argv
     99#else
     100     int argc, char * argv[]
     101#endif
     102     );
     103 private: void allocation   (void);
     104 private: void deallocation (void);
     105 public : void test         (void);
     106
     107#ifdef MTI_SYSTEMC
     108  SC_CTOR(top::top);
     109#else
     110 public : top (sc_module_name module_name,int argc, char * argv[]);
     111#endif
     112 public : ~top(void);
     113};
     114
     115 
Note: See TracChangeset for help on using the changeset viewer.