Ignore:
Timestamp:
Jul 5, 2007, 5:50:19 PM (17 years ago)
Author:
rosiere
Message:

Modification des classes d'encapsulation des interfaces :

  • gère les signaux à écrire dans le vhdl
  • les traces pour le testbench
  • la génération des vhdl structurelles

-> test sur la Pattern History Table

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp

    r41 r42  
    1717  void RegisterFile_Monolithic::allocation (void)
    1818  {
     19    _component   = new Component ();
     20
     21    Entity * entity = _component->set_entity (_name                   
     22                                             ,"RegisterFile_Monolithic"
    1923#ifdef POSITION
    20     _position   = new Position ();
    21 
    22     Entity * entity = _position->set_entity (_name                    ,
    23                                              "RegisterFile_Monolithic",
    24                                              REGISTER                 );
     24                                             ,REGISTER                 
     25#endif
     26                                              );
    2527   
    2628    _interfaces = entity->set_interfaces();
    27 #else
    28     _interfaces = new Interfaces();
    29 #endif
    3029
    3130    // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    32     Interface * interface_ = _interfaces->set_interface("", IN  ,SOUTH, "Generalist interface");
    33 
    34      in_CLOCK              = interface_->set_signal_clk              ("clock" ,1);
    35      in_NRESET             = interface_->set_signal_in  <Tcontrol_t> ("nreset",1);
    36 
     31    {
     32      Interface * interface = _interfaces->set_interface(""
     33#ifdef POSITION
     34                                                         , IN
     35                                                         ,SOUTH
     36                                                         , "Generalist interface"
     37#endif
     38                                                         );
     39     
     40      in_CLOCK              = interface->set_signal_clk              ("clock" ,1);
     41      in_NRESET             = interface->set_signal_in  <Tcontrol_t> ("nreset",1, RESET_VHDL_YES);
     42    }
    3743    // ~~~~~[ Interface : "read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    3844
     
    4450    for (uint32_t i=0; i<_param._nb_port_read; i++)
    4551      {
    46         Interface_fifo * interface_read = _interfaces->set_interface("read_"+toString(i), IN  ,WEST, "Interface Read");
     52        Interface_fifo * interface = _interfaces->set_interface("read_"+toString(i)
     53#ifdef POSITION
     54                                                                , IN 
     55                                                                ,WEST
     56                                                                , "Interface Read"
     57#endif
     58                                                                );
    4759
    48          in_READ_VAL     [i]  = interface_read->set_signal_valack_in        ("val"    , VAL);
    49         out_READ_ACK     [i]  = interface_read->set_signal_valack_out       ("ack"    , ACK);
    50          in_READ_ADDRESS [i]  = interface_read->set_signal_in  <Taddress_t> ("address", static_cast<uint32_t>(log2(_param._nb_word)));
    51         out_READ_DATA    [i]  = interface_read->set_signal_out <Tdata_t   > ("data"   , _param._size_word);
     60         in_READ_VAL     [i]  = interface->set_signal_valack_in        ("val"    , VAL);
     61        out_READ_ACK     [i]  = interface->set_signal_valack_out       ("ack"    , ACK);
     62         in_READ_ADDRESS [i]  = interface->set_signal_in  <Taddress_t> ("address", static_cast<uint32_t>(log2(_param._nb_word)));
     63        out_READ_DATA    [i]  = interface->set_signal_out <Tdata_t   > ("data"   , _param._size_word);
    5264      }
    5365
     
    6173    for (uint32_t i=0; i<_param._nb_port_write; i++)
    6274      {
    63         Interface_fifo * interface_write = _interfaces->set_interface("write_"+toString(i), IN  ,EAST, "Interface Write");
     75        Interface_fifo * interface = _interfaces->set_interface("write_"+toString(i)
     76#ifdef POSITION
     77                                                                , IN 
     78                                                                ,EAST
     79                                                                , "Interface Write"
     80#endif
     81                                                                );
    6482
    65          in_WRITE_VAL     [i]  = interface_write->set_signal_valack_in        ("val"    , VAL);
    66         out_WRITE_ACK     [i]  = interface_write->set_signal_valack_out       ("ack"    , ACK);
    67          in_WRITE_ADDRESS [i]  = interface_write->set_signal_in  <Taddress_t> ("address", static_cast<uint32_t>(log2(_param._nb_word)));
    68          in_WRITE_DATA    [i]  = interface_write->set_signal_in  <Tdata_t   > ("data"   , _param._size_word);
     83         in_WRITE_VAL     [i]  = interface->set_signal_valack_in        ("val"    , VAL);
     84        out_WRITE_ACK     [i]  = interface->set_signal_valack_out       ("ack"    , ACK);
     85         in_WRITE_ADDRESS [i]  = interface->set_signal_in  <Taddress_t> ("address", static_cast<uint32_t>(log2(_param._nb_word)));
     86         in_WRITE_DATA    [i]  = interface->set_signal_in  <Tdata_t   > ("data"   , _param._size_word);
    6987      }
    7088
     
    7997
    8098#ifdef POSITION
    81     _position->generate_file();
     99    _component->generate_file();
    82100#endif
    83101  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_deallocation.cpp

    r41 r42  
    1717  void RegisterFile_Monolithic::deallocation (void)
    1818  {
     19    delete _component;
     20
    1921    delete    in_CLOCK;
    2022    delete    in_NRESET;
     
    3335    // ----- Register
    3436    delete [] reg_DATA;
    35 
    36 #ifdef POSITION
    37     delete _position;
    38 #else
    39     delete _interfaces;
    40 #endif
    4137  };
    4238
Note: See TracChangeset for help on using the changeset viewer.