Ignore:
Timestamp:
Apr 5, 2007, 4:17:30 PM (17 years ago)
Author:
rosiere
Message:

Interface normalisé
Début du banc de registres multi niveaux

File:
1 edited

Legend:

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

    r10 r15  
    66 */
    77
    8 #include "Behavioural/Generic/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"
     8#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"
    99
    1010namespace morpheo                    {
    1111namespace behavioural {
    1212namespace generic {
     13namespace registerfile{
    1314namespace registerfile_multi_banked {
    1415namespace registerfile_multi_banked_glue {
     
    2324                              morpheo::behavioural::Parameters_Statistics             param_statistics,
    2425#endif
    25                               morpheo::behavioural::generic::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters param ):
     26                              morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters param ):
    2627                              _name              (name)
    2728                              ,_param            (param)
     
    6667    allocation ();
    6768
    68 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
     69#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
    6970    log_printf(INFO,RegisterFile_Multi_Banked_Glue,"RegisterFile_Multi_Banked_Glue","Method - transition");
    7071
     
    7273    dont_initialize ();
    7374    sensitive_pos << *(in_CLOCK);
    74 //#endif
     75#endif
     76
     77    log_printf(INFO,RegisterFile_Multi_Banked_Glue,"RegisterFile_Multi_Banked_Glue","Method - transition");
     78
     79    SC_METHOD (genMealy_read_in);
     80    dont_initialize ();
     81    for (uint32_t l=0; l<_param._nb_port_read; l++)
     82      sensitive << (*(in_READ_IN_ADDRESS [l]));
     83    for (uint32_t i=0; i<_param._nb_bank; i++)
     84       for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++)
     85         {
     86           sensitive << (*(in_READ_OUT_ACK      [i][j]))
     87                     << (*(in_READ_OUT_DATA     [i][j]));
     88           for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++)
     89             sensitive << (*(in_READ_SELECT_ACK [i][j][k]));
     90         }
    7591
    7692#ifdef SYSTEMCASS_SPECIFIC
    7793    // List dependency information
     94    for (uint32_t l=0; l<_param._nb_port_read; l++)
     95      {
     96        (*(out_READ_IN_ACK  [l])) (*(in_READ_IN_ADDRESS [l]));
     97        (*(out_READ_IN_DATA [l])) (*(in_READ_IN_ADDRESS [l]));
     98
     99        for (uint32_t i=0; i<_param._nb_bank; i++)
     100          for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++)
     101            {
     102              (*(out_READ_IN_ACK  [l])) (*(in_READ_OUT_ACK      [i][j]));
     103              (*(out_READ_IN_DATA [l])) (*(in_READ_OUT_DATA     [i][j]));
     104              for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++)
     105                {
     106                  (*(out_READ_IN_ACK  [l])) (*(in_READ_SELECT_ACK [i][j][k]));
     107                  (*(out_READ_IN_DATA [l])) (*(in_READ_SELECT_ACK [i][j][k]));
     108                }
     109            }
     110      }
    78111#endif   
    79112
     
    113146}; // end namespace registerfile_multi_banked_glue
    114147}; // end namespace registerfile_multi_banked
     148}; // end namespace registerfile
    115149}; // end namespace generic
    116150
Note: See TracChangeset for help on using the changeset viewer.