Ignore:
Timestamp:
May 14, 2008, 3:09:48 PM (16 years ago)
Author:
rosiere
Message:
  • Ifetch_unit : systemC test ok
  • modif shell script and makefile.tools : SHELL=/bin/bash
Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/SelfTest/configuration.cfg

    r81 r85  
    11Ifetch_unit_Glue
     230      30      +32     # size_address
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/SelfTest/src/main.cpp

    r81 r85  
    88#include "Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/SelfTest/include/test.h"
    99
    10 #define NB_PARAMS 0
     10#define NB_PARAMS 1
    1111
    1212void usage (int argc, char * argv[])
     
    1414  err (_("<Usage> %s name_instance list_params.\n"),argv[0]);
    1515  err (_("list_params is :\n"));
    16   err (_(" * ()\n"));
     16  err (_(" * size_address (uint32_t)\n"));
    1717
    1818  exit (1);
     
    3030  uint32_t x = 1;
    3131
    32   string name = argv[x++];
    33 //const uint32_t size_data = atoi(argv[x++]);
    34 //const uint32_t nb_port   = atoi(argv[x++]);
     32  string   name = argv[x++];
     33  uint32_t _size_address = fromString<uint32_t>(argv[x++]);
    3534
    3635  int _return = EXIT_SUCCESS;
     
    3837    {
    3938      morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::ifetch_unit_glue::Parameters * param = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::ifetch_unit_glue::Parameters
    40         (//size_data,
    41          //nb_port 
    42         );
     39        (_size_address);
    4340     
    4441      msg(_("%s"),param->print(1).c_str());
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/SelfTest/src/test.cpp

    r82 r85  
    4747  ALLOC_SC_SIGNAL( in_ICACHE_REQ_QUEUE_ACK  ," in_ICACHE_REQ_QUEUE_ACK  ",Tcontrol_t);
    4848  ALLOC_SC_SIGNAL(out_ICACHE_REQ_TYPE       ,"out_ICACHE_REQ_TYPE       ",Ticache_type_t);
     49  ALLOC_SC_SIGNAL(out_ICACHE_REQ_ADDRESS        ,"out_ICACHE_REQ_ADDRESS        ",Taddress_t);
     50  ALLOC_SC_SIGNAL( in_ICACHE_REQ_ADDRESS_ADDRESS," in_ICACHE_REQ_ADDRESS_ADDRESS",Taddress_t);
     51  ALLOC_SC_SIGNAL(out_ICACHE_REQ_QUEUE_ADDRESS  ,"out_ICACHE_REQ_QUEUE_ADDRESS  ",Taddress_t);
    4952  ALLOC_SC_SIGNAL( in_EVENT_VAL             ," in_EVENT_VAL             ",Tcontrol_t);
    5053  ALLOC_SC_SIGNAL(out_EVENT_ADDRESS_VAL     ,"out_EVENT_ADDRESS_VAL     ",Tcontrol_t);
     
    6972  INSTANCE_SC_SIGNAL(_Ifetch_unit_Glue,out_ICACHE_REQ_ADDRESS_ACK);
    7073  INSTANCE_SC_SIGNAL(_Ifetch_unit_Glue, in_ICACHE_REQ_QUEUE_ACK  );
     74  INSTANCE_SC_SIGNAL(_Ifetch_unit_Glue,out_ICACHE_REQ_ADDRESS        );
     75  INSTANCE_SC_SIGNAL(_Ifetch_unit_Glue, in_ICACHE_REQ_ADDRESS_ADDRESS);
     76  INSTANCE_SC_SIGNAL(_Ifetch_unit_Glue,out_ICACHE_REQ_QUEUE_ADDRESS  );
    7177  INSTANCE_SC_SIGNAL(_Ifetch_unit_Glue,out_ICACHE_REQ_TYPE       );
    7278  INSTANCE_SC_SIGNAL(_Ifetch_unit_Glue, in_EVENT_VAL             );
     
    127133  delete out_ICACHE_REQ_ADDRESS_ACK;
    128134  delete  in_ICACHE_REQ_QUEUE_ACK  ;
     135  delete out_ICACHE_REQ_ADDRESS        ;
     136  delete  in_ICACHE_REQ_ADDRESS_ADDRESS;
     137  delete out_ICACHE_REQ_QUEUE_ADDRESS  ;
    129138  delete out_ICACHE_REQ_TYPE       ;
    130139  delete  in_EVENT_VAL             ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/include/Ifetch_unit_Glue.h

    r82 r85  
    7272   
    7373  public    : SC_OUT(Ticache_type_t       ) * out_ICACHE_REQ_TYPE        ;
     74
     75  public    : SC_OUT(Taddress_t           ) * out_ICACHE_REQ_ADDRESS        ;
     76  public    : SC_IN (Taddress_t           ) *  in_ICACHE_REQ_ADDRESS_ADDRESS;
     77  public    : SC_OUT(Taddress_t           ) * out_ICACHE_REQ_QUEUE_ADDRESS  ;
    7478
    7579    // ~~~~~[ Interface "event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/include/Parameters.h

    r81 r85  
    2424  {
    2525    //-----[ fields ]------------------------------------------------------------
     26  public : uint32_t _size_address;
    2627
    2728    //-----[ methods ]-----------------------------------------------------------
    28   public : Parameters  ();
     29  public : Parameters  (uint32_t size_address);
    2930//   public : Parameters  (Parameters & param) ;
    3031  public : ~Parameters () ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp

    r81 r85  
    8888        sensitive << (*(in_ICACHE_REQ_ADDRESS_VAL))
    8989                  << (*(in_ICACHE_REQ_ACK        ))
    90                   << (*(in_ICACHE_REQ_QUEUE_ACK  ));
     90                  << (*(in_ICACHE_REQ_QUEUE_ACK  ))
     91                  << (*(in_ICACHE_REQ_ADDRESS_ADDRESS))
     92          ;
    9193       
    9294# ifdef SYSTEMCASS_SPECIFIC
     
    100102        (*(out_ICACHE_REQ_ADDRESS_ACK)) (*( in_ICACHE_REQ_QUEUE_ACK  ));
    101103        (*(out_ICACHE_REQ_ADDRESS_ACK)) (*( in_ICACHE_REQ_ACK        ));
     104
     105        (*(out_ICACHE_REQ_ADDRESS      )) (*( in_ICACHE_REQ_ADDRESS_ADDRESS));
     106        (*(out_ICACHE_REQ_QUEUE_ADDRESS)) (*( in_ICACHE_REQ_ADDRESS_ADDRESS));
     107
    102108# endif   
    103109
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue_allocation.cpp

    r81 r85  
    6060      ALLOC_INTERFACE("icache_req",OUT, WEST, "Instruction Cache request.");
    6161
    62       ALLOC_SIGNAL_OUT(out_ICACHE_REQ_VAL        ,"val"        ,Tcontrol_t,1);
    63       ALLOC_SIGNAL_IN ( in_ICACHE_REQ_ADDRESS_VAL,"address_val",Tcontrol_t,1);
    64       ALLOC_SIGNAL_OUT(out_ICACHE_REQ_QUEUE_VAL  ,"queue_val"  ,Tcontrol_t,1);
    65       ALLOC_SIGNAL_IN ( in_ICACHE_REQ_ACK        ,"ack"        ,Tcontrol_t,1);
    66       ALLOC_SIGNAL_OUT(out_ICACHE_REQ_ADDRESS_ACK,"address_ack",Tcontrol_t,1);
    67       ALLOC_SIGNAL_IN ( in_ICACHE_REQ_QUEUE_ACK  ,"queue_ack"  ,Tcontrol_t,1);
    68       ALLOC_SIGNAL_OUT(out_ICACHE_REQ_TYPE       ,"type"       ,Ticache_type_t,_param->_size_icache_type);
     62      ALLOC_SIGNAL_OUT(out_ICACHE_REQ_VAL            ,"val"            ,Tcontrol_t,1);
     63      ALLOC_SIGNAL_IN ( in_ICACHE_REQ_ADDRESS_VAL    ,"address_val"    ,Tcontrol_t,1);
     64      ALLOC_SIGNAL_OUT(out_ICACHE_REQ_QUEUE_VAL      ,"queue_val"      ,Tcontrol_t,1);
     65      ALLOC_SIGNAL_IN ( in_ICACHE_REQ_ACK            ,"ack"            ,Tcontrol_t,1);
     66      ALLOC_SIGNAL_OUT(out_ICACHE_REQ_ADDRESS_ACK    ,"address_ack"    ,Tcontrol_t,1);
     67      ALLOC_SIGNAL_IN ( in_ICACHE_REQ_QUEUE_ACK      ,"queue_ack"      ,Tcontrol_t,1);
     68      ALLOC_SIGNAL_OUT(out_ICACHE_REQ_TYPE           ,"type"           ,Ticache_type_t,_param->_size_icache_type);
     69      ALLOC_SIGNAL_OUT(out_ICACHE_REQ_ADDRESS        ,"address"        ,Taddress_t,_param->_size_address);
     70      ALLOC_SIGNAL_IN ( in_ICACHE_REQ_ADDRESS_ADDRESS,"address_address",Taddress_t,_param->_size_address);
     71      ALLOC_SIGNAL_OUT(out_ICACHE_REQ_QUEUE_ADDRESS  ,"queue_address"  ,Taddress_t,_param->_size_address);
    6972    }
    7073
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue_deallocation.cpp

    r81 r85  
    3535        delete     in_ICACHE_REQ_QUEUE_ACK   ;
    3636        delete    out_ICACHE_REQ_TYPE        ;
     37        delete    out_ICACHE_REQ_ADDRESS         ;
     38        delete     in_ICACHE_REQ_ADDRESS_ADDRESS ;
     39        delete    out_ICACHE_REQ_QUEUE_ADDRESS   ;
    3740       
    3841        delete     in_EVENT_VAL              ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue_genMealy_icache_req.cpp

    r81 r85  
    3131    PORT_WRITE(out_ICACHE_REQ_ADDRESS_ACK, ack         and queue_ack); // cache can accept a new transaction and queue have a slot empty
    3232    PORT_WRITE(out_ICACHE_REQ_QUEUE_VAL  , address_val and ack); // cache can accept a new transaction and the address is valid
     33
     34    Taddress_t address     = PORT_READ(in_ICACHE_REQ_ADDRESS_ADDRESS);
     35    PORT_WRITE(out_ICACHE_REQ_ADDRESS      ,address);
     36    PORT_WRITE(out_ICACHE_REQ_QUEUE_ADDRESS,address);
    3337   
    3438    log_printf(FUNC,Ifetch_unit_Glue,FUNCTION,"End");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Parameters.cpp

    r81 r85  
    1919#undef  FUNCTION
    2020#define FUNCTION "Ifetch_unit_Glue::Parameters"
    21   Parameters::Parameters ()
     21  Parameters::Parameters (uint32_t size_address)
    2222  {
    2323    log_printf(FUNC,Ifetch_unit_Glue,FUNCTION,"Begin");
     24
     25    _size_address = size_address;
     26
    2427    test();
    2528    log_printf(FUNC,Ifetch_unit_Glue,FUNCTION,"End");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Parameters_print.cpp

    r81 r85  
    2727
    2828    xml.balise_open("ifetch_unit_glue");
    29 //  xml.singleton_begin(""); xml.attribut("value",toString(_)); xml.singleton_end();
     29    xml.singleton_begin("size_address"); xml.attribut("value",toString(_size_address)); xml.singleton_end();
    3030    xml.balise_close();
    3131
Note: See TracChangeset for help on using the changeset viewer.