Ignore:
Timestamp:
Jul 8, 2009, 8:40:08 PM (15 years ago)
Author:
rosiere
Message:

1) add constant method
2) test with systemc 2.2.0

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue
Files:
1 added
4 edited

Legend:

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

    r88 r131  
    4646  sc_clock                         *  in_CLOCK;
    4747  sc_signal<Tcontrol_t>            *  in_NRESET;
    48   sc_signal<Tcontrol_t>            * out_CONST_0;
    49   sc_signal<Tcontrol_t>            * out_CONST_1;
     48//sc_signal<Tcontrol_t>            * out_CONST_0;
     49//sc_signal<Tcontrol_t>            * out_CONST_1;
    5050
    5151  sc_signal<Tcontrol_t        >   **  in_GPR_READ_VAL              ;
     
    5454  sc_signal<Tgeneral_data_t   >   ** out_GPR_READ_DATA             ;
    5555  sc_signal<Tcontrol_t        >   ** out_GPR_READ_DATA_VAL         ;
     56
    5657  sc_signal<Tcontrol_t        >  *** out_GPR_READ_REGISTERFILE_VAL ;
    5758  sc_signal<Tcontrol_t        >  ***  in_GPR_READ_REGISTERFILE_ACK ;
    5859  sc_signal<Tgeneral_data_t   >  ***  in_GPR_READ_REGISTERFILE_DATA;
     60
    5961  sc_signal<Tcontrol_t        >  *** out_GPR_READ_STATUS_VAL       ;
    6062  sc_signal<Tcontrol_t        >  ***  in_GPR_READ_STATUS_ACK       ;
    61   sc_signal<Tcontrol_t        >  ***  in_GPR_READ_STATUS_DATA_VAL  ;
     63  sc_signal<Tgeneral_data_t   >  ***  in_GPR_READ_STATUS_DATA_VAL  ;
    6264
    6365  sc_signal<Tcontrol_t        >   **  in_SPR_READ_VAL              ;
     
    6668  sc_signal<Tspecial_data_t   >   ** out_SPR_READ_DATA             ;
    6769  sc_signal<Tcontrol_t        >   ** out_SPR_READ_DATA_VAL         ;
     70
    6871  sc_signal<Tcontrol_t        >  *** out_SPR_READ_REGISTERFILE_VAL ;
    6972  sc_signal<Tcontrol_t        >  ***  in_SPR_READ_REGISTERFILE_ACK ;
    7073  sc_signal<Tspecial_data_t   >  ***  in_SPR_READ_REGISTERFILE_DATA;
     74
    7175  sc_signal<Tcontrol_t        >  *** out_SPR_READ_STATUS_VAL       ;
    7276  sc_signal<Tcontrol_t        >  ***  in_SPR_READ_STATUS_ACK       ;
    73   sc_signal<Tcontrol_t        >  ***  in_SPR_READ_STATUS_DATA_VAL  ;
     77  sc_signal<Tspecial_data_t   >  ***  in_SPR_READ_STATUS_DATA_VAL  ;
    7478
    7579  sc_signal<Tcontrol_t        >   **  in_GPR_WRITE_VAL             ;
    7680  sc_signal<Tcontrol_t        >   ** out_GPR_WRITE_ACK             ;
    7781  sc_signal<Tcontext_t        >   **  in_GPR_WRITE_OOO_ENGINE_ID   ;
     82
    7883  sc_signal<Tcontrol_t        >  *** out_GPR_WRITE_REGISTERFILE_VAL;
    7984  sc_signal<Tcontrol_t        >  ***  in_GPR_WRITE_REGISTERFILE_ACK;
     85
    8086  sc_signal<Tcontrol_t        >  *** out_GPR_WRITE_STATUS_VAL      ;
    8187  sc_signal<Tcontrol_t        >  ***  in_GPR_WRITE_STATUS_ACK      ;
     88  sc_signal<Tgeneral_data_t   >  *** out_GPR_WRITE_STATUS_DATA     ;
    8289 
    8390  sc_signal<Tcontrol_t        >   **  in_SPR_WRITE_VAL             ;
    8491  sc_signal<Tcontrol_t        >   ** out_SPR_WRITE_ACK             ;
    8592  sc_signal<Tcontext_t        >   **  in_SPR_WRITE_OOO_ENGINE_ID   ;
     93
    8694  sc_signal<Tcontrol_t        >  *** out_SPR_WRITE_REGISTERFILE_VAL;
    8795  sc_signal<Tcontrol_t        >  ***  in_SPR_WRITE_REGISTERFILE_ACK;
     96
    8897  sc_signal<Tcontrol_t        >  *** out_SPR_WRITE_STATUS_VAL      ;
    8998  sc_signal<Tcontrol_t        >  ***  in_SPR_WRITE_STATUS_ACK      ;
     99  sc_signal<Tspecial_data_t   >  *** out_SPR_WRITE_STATUS_DATA     ;
    90100
    91101  sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_VAL                       ;
     
    93103  sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_RD_USE                    ;
    94104  sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_RE_USE                    ;
     105
    95106  sc_signal<Tcontrol_t        >  *** out_INSERT_ROB_GPR_STATUS_VAL            ;
    96107  sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_GPR_STATUS_ACK            ;
     108  sc_signal<Tgeneral_data_t   >  *** out_INSERT_ROB_GPR_STATUS_DATA           ;
     109
    97110  sc_signal<Tcontrol_t        >  *** out_INSERT_ROB_SPR_STATUS_VAL            ;
    98111  sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_SPR_STATUS_ACK            ;
     112  sc_signal<Tspecial_data_t   >  *** out_INSERT_ROB_SPR_STATUS_DATA           ;
    99113
    100114//   sc_signal<Tcontrol_t        >  ***  in_RETIRE_ROB_VAL                       ;
     
    117131   in_CLOCK                               = new sc_clock ("clock", 1.0, 0.5);
    118132   in_NRESET                              = new sc_signal<Tcontrol_t> ("NRESET");
    119   out_CONST_0                             = new sc_signal<Tcontrol_t> ("CONST_0");
    120   out_CONST_1                             = new sc_signal<Tcontrol_t> ("CONST_1");
     133//   out_CONST_0                             = new sc_signal<Tcontrol_t> ("CONST_0");
     134//   out_CONST_1                             = new sc_signal<Tcontrol_t> ("CONST_1");
    121135
    122136    // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
    131145  out_GPR_READ_STATUS_VAL        = new sc_signal<Tcontrol_t     >  ** [_param->_nb_ooo_engine];
    132146   in_GPR_READ_STATUS_ACK        = new sc_signal<Tcontrol_t     >  ** [_param->_nb_ooo_engine];
    133    in_GPR_READ_STATUS_DATA_VAL   = new sc_signal<Tcontrol_t     >  ** [_param->_nb_ooo_engine];
     147   in_GPR_READ_STATUS_DATA_VAL   = new sc_signal<Tgeneral_data_t>  ** [_param->_nb_ooo_engine];
    134148
    135149   for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     
    140154       out_GPR_READ_STATUS_VAL        [i] = new sc_signal<Tcontrol_t     >  * [_param->_nb_gpr_read];
    141155        in_GPR_READ_STATUS_ACK        [i] = new sc_signal<Tcontrol_t     >  * [_param->_nb_gpr_read];
    142         in_GPR_READ_STATUS_DATA_VAL   [i] = new sc_signal<Tcontrol_t     >  * [_param->_nb_gpr_read];
     156        in_GPR_READ_STATUS_DATA_VAL   [i] = new sc_signal<Tgeneral_data_t>  * [_param->_nb_gpr_read];
    143157     }
    144158
     
    158172             out_GPR_READ_STATUS_VAL        [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
    159173              in_GPR_READ_STATUS_ACK        [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
    160               in_GPR_READ_STATUS_DATA_VAL   [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
     174              in_GPR_READ_STATUS_DATA_VAL   [i][j] = new sc_signal<Tgeneral_data_t> (rename.c_str());
    161175         }
    162176     }
     
    173187  out_SPR_READ_STATUS_VAL        = new sc_signal<Tcontrol_t     > ** [_param->_nb_ooo_engine];
    174188   in_SPR_READ_STATUS_ACK        = new sc_signal<Tcontrol_t     > ** [_param->_nb_ooo_engine];
    175    in_SPR_READ_STATUS_DATA_VAL   = new sc_signal<Tcontrol_t     > ** [_param->_nb_ooo_engine];
     189   in_SPR_READ_STATUS_DATA_VAL   = new sc_signal<Tspecial_data_t> ** [_param->_nb_ooo_engine];
    176190
    177191   for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     
    182196       out_SPR_READ_STATUS_VAL        [i] = new sc_signal<Tcontrol_t     > * [_param->_nb_spr_read];
    183197        in_SPR_READ_STATUS_ACK        [i] = new sc_signal<Tcontrol_t     > * [_param->_nb_spr_read];
    184         in_SPR_READ_STATUS_DATA_VAL   [i] = new sc_signal<Tcontrol_t     > * [_param->_nb_spr_read];
     198        in_SPR_READ_STATUS_DATA_VAL   [i] = new sc_signal<Tspecial_data_t> * [_param->_nb_spr_read];
    185199     }
    186200
     
    200214             out_SPR_READ_STATUS_VAL        [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
    201215              in_SPR_READ_STATUS_ACK        [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
    202               in_SPR_READ_STATUS_DATA_VAL   [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
     216              in_SPR_READ_STATUS_DATA_VAL   [i][j] = new sc_signal<Tspecial_data_t> (rename.c_str());
    203217         }
    204218     }
     
    212226  out_GPR_WRITE_STATUS_VAL        = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
    213227   in_GPR_WRITE_STATUS_ACK        = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
     228  out_GPR_WRITE_STATUS_DATA       = new sc_signal<Tgeneral_data_t> ** [_param->_nb_ooo_engine];
    214229
    215230   for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     
    219234       out_GPR_WRITE_STATUS_VAL        [i] = new sc_signal<Tcontrol_t> * [_param->_nb_gpr_write];
    220235        in_GPR_WRITE_STATUS_ACK        [i] = new sc_signal<Tcontrol_t> * [_param->_nb_gpr_write];
     236       out_GPR_WRITE_STATUS_DATA       [i] = new sc_signal<Tgeneral_data_t> * [_param->_nb_gpr_write];
    221237     }
    222238
     
    233249             out_GPR_WRITE_STATUS_VAL        [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());;
    234250              in_GPR_WRITE_STATUS_ACK        [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());;
     251             out_GPR_WRITE_STATUS_DATA       [i][j] = new sc_signal<Tgeneral_data_t> (rename.c_str());;
    235252         }
    236253     }
     
    244261  out_SPR_WRITE_STATUS_VAL        = new sc_signal<Tcontrol_t>  ** [_param->_nb_ooo_engine];
    245262   in_SPR_WRITE_STATUS_ACK        = new sc_signal<Tcontrol_t>  ** [_param->_nb_ooo_engine];
     263  out_SPR_WRITE_STATUS_DATA       = new sc_signal<Tspecial_data_t>  ** [_param->_nb_ooo_engine];
    246264
    247265   for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     
    251269       out_SPR_WRITE_STATUS_VAL        [i] = new sc_signal<Tcontrol_t> * [_param->_nb_spr_write];
    252270        in_SPR_WRITE_STATUS_ACK        [i] = new sc_signal<Tcontrol_t> * [_param->_nb_spr_write];
     271       out_SPR_WRITE_STATUS_DATA       [i] = new sc_signal<Tspecial_data_t> * [_param->_nb_spr_write];
    253272     }
    254273
     
    265284             out_SPR_WRITE_STATUS_VAL        [i][j] = new sc_signal<Tcontrol_t>  (rename.c_str());
    266285              in_SPR_WRITE_STATUS_ACK        [i][j] = new sc_signal<Tcontrol_t>  (rename.c_str());
     286             out_SPR_WRITE_STATUS_DATA       [i][j] = new sc_signal<Tspecial_data_t>  (rename.c_str());
    267287         }
    268288     }
     
    275295   out_INSERT_ROB_GPR_STATUS_VAL       = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
    276296    in_INSERT_ROB_GPR_STATUS_ACK       = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
     297   out_INSERT_ROB_GPR_STATUS_DATA      = new sc_signal<Tgeneral_data_t> ** [_param->_nb_ooo_engine];
    277298   out_INSERT_ROB_SPR_STATUS_VAL       = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
    278299    in_INSERT_ROB_SPR_STATUS_ACK       = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
     300   out_INSERT_ROB_SPR_STATUS_DATA      = new sc_signal<Tspecial_data_t> ** [_param->_nb_ooo_engine];
    279301
    280302    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     
    288310       out_INSERT_ROB_GPR_STATUS_VAL       [i] = new sc_signal<Tcontrol_t> * [x];
    289311        in_INSERT_ROB_GPR_STATUS_ACK       [i] = new sc_signal<Tcontrol_t> * [x];
     312       out_INSERT_ROB_GPR_STATUS_DATA      [i] = new sc_signal<Tgeneral_data_t> * [x];
    290313       out_INSERT_ROB_SPR_STATUS_VAL       [i] = new sc_signal<Tcontrol_t> * [x];
    291314        in_INSERT_ROB_SPR_STATUS_ACK       [i] = new sc_signal<Tcontrol_t> * [x];
     315       out_INSERT_ROB_SPR_STATUS_DATA      [i] = new sc_signal<Tspecial_data_t> * [x];
    292316
    293317        for (uint32_t j=0; j<x; j++)
     
    299323              out_INSERT_ROB_GPR_STATUS_VAL       [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());
    300324               in_INSERT_ROB_GPR_STATUS_ACK       [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());
     325              out_INSERT_ROB_GPR_STATUS_DATA      [i][j] = new sc_signal<Tgeneral_data_t> (rename.c_str());
    301326              out_INSERT_ROB_SPR_STATUS_VAL       [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());
    302327               in_INSERT_ROB_SPR_STATUS_ACK       [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());
     328              out_INSERT_ROB_SPR_STATUS_DATA      [i][j] = new sc_signal<Tspecial_data_t> (rename.c_str());
    303329          }
    304330      }
     
    368394  (*(_Register_unit_Glue-> in_CLOCK  ))       (*( in_CLOCK  ));
    369395  (*(_Register_unit_Glue-> in_NRESET ))       (*( in_NRESET ));
    370   (*(_Register_unit_Glue->out_CONST_0))       (*(out_CONST_0));
    371   (*(_Register_unit_Glue->out_CONST_1))       (*(out_CONST_1));
     396//   (*(_Register_unit_Glue->out_CONST_0))       (*(out_CONST_0));
     397//   (*(_Register_unit_Glue->out_CONST_1))       (*(out_CONST_1));
    372398
    373399   for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
     
    424450           (*(_Register_unit_Glue->out_GPR_WRITE_STATUS_VAL        [i][j]))(*(out_GPR_WRITE_STATUS_VAL        [i][j]));
    425451           (*(_Register_unit_Glue-> in_GPR_WRITE_STATUS_ACK        [i][j]))(*( in_GPR_WRITE_STATUS_ACK        [i][j]));
     452           (*(_Register_unit_Glue->out_GPR_WRITE_STATUS_DATA       [i][j]))(*(out_GPR_WRITE_STATUS_DATA       [i][j]));
    426453         }
    427454     }
     
    440467           (*(_Register_unit_Glue->out_SPR_WRITE_STATUS_VAL        [i][j]))(*(out_SPR_WRITE_STATUS_VAL        [i][j]));
    441468           (*(_Register_unit_Glue-> in_SPR_WRITE_STATUS_ACK        [i][j]))(*( in_SPR_WRITE_STATUS_ACK        [i][j]));
     469           (*(_Register_unit_Glue->out_SPR_WRITE_STATUS_DATA       [i][j]))(*(out_SPR_WRITE_STATUS_DATA       [i][j]));
    442470         }
    443471     }
     
    456484            (*(_Register_unit_Glue->out_INSERT_ROB_GPR_STATUS_VAL [i][j]))  (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]));
    457485            (*(_Register_unit_Glue-> in_INSERT_ROB_GPR_STATUS_ACK [i][j]))  (*( in_INSERT_ROB_GPR_STATUS_ACK [i][j]));
     486            (*(_Register_unit_Glue->out_INSERT_ROB_GPR_STATUS_DATA[i][j]))  (*(out_INSERT_ROB_GPR_STATUS_DATA[i][j]));
    458487            (*(_Register_unit_Glue->out_INSERT_ROB_SPR_STATUS_VAL [i][j]))  (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]));
    459488            (*(_Register_unit_Glue-> in_INSERT_ROB_SPR_STATUS_ACK [i][j]))  (*( in_INSERT_ROB_SPR_STATUS_ACK [i][j]));
     489            (*(_Register_unit_Glue->out_INSERT_ROB_SPR_STATUS_DATA[i][j]))  (*(out_INSERT_ROB_SPR_STATUS_DATA[i][j]));
    460490          }
    461491      }
     
    506536  srand(seed);
    507537
     538  SC_START(0);
     539  LABEL("Initialisation");
     540
     541  in_NRESET->write(0);
     542  SC_START(5);
     543  in_NRESET->write(1);
     544
     545#ifdef SELFTEST
    508546  Tcontext_t      context;
    509547  Tcontrol_t      gpr_read_ack              [_param->_nb_gpr_read];
     
    548586  Tcontrol_t      insert_rob_gpr_status_val [_param->_nb_ooo_engine][max_nb_inst_insert_rob];
    549587  Tcontrol_t      insert_rob_spr_status_val [_param->_nb_ooo_engine][max_nb_inst_insert_rob];
    550 
    551   SC_START(0);
    552   LABEL("Initialisation");
    553 
    554   in_NRESET->write(0);
    555   SC_START(5);
    556   in_NRESET->write(1);
    557588
    558589  LABEL("Loop of Test");
     
    791822
    792823      // Test
    793       TEST(Tcontrol_t, out_CONST_0->read() , 0);
    794       TEST(Tcontrol_t, out_CONST_1->read() , 1);
     824//       TEST(Tcontrol_t, out_CONST_0->read() , 0);
     825//       TEST(Tcontrol_t, out_CONST_1->read() , 1);
    795826     
    796827      if (test_read == true)
     
    832863                  TEST(Tcontrol_t, out_GPR_WRITE_REGISTERFILE_VAL  [i][j]->read(), gpr_write_registerfile_val [i][j]);
    833864                  TEST(Tcontrol_t, out_GPR_WRITE_STATUS_VAL        [i][j]->read(), gpr_write_status_val       [i][j]);
     865                  TEST(Tcontrol_t, out_GPR_WRITE_STATUS_DATA       [i][j]->read(), 1);
    834866                }
    835867            }
     
    842874                  TEST(Tcontrol_t, out_SPR_WRITE_REGISTERFILE_VAL  [i][j]->read(), spr_write_registerfile_val [i][j]);
    843875                  TEST(Tcontrol_t, out_SPR_WRITE_STATUS_VAL        [i][j]->read(), spr_write_status_val       [i][j]);
     876                  TEST(Tcontrol_t, out_SPR_WRITE_STATUS_DATA       [i][j]->read(), 1);
    844877                }
    845878            }
     
    874907                  TEST(Tcontrol_t, out_INSERT_ROB_ACK            [i][j]->read(), insert_rob_ack            [i][j]);
    875908                  TEST(Tcontrol_t, out_INSERT_ROB_GPR_STATUS_VAL [i][j]->read(), insert_rob_gpr_status_val [i][j]);
     909                  TEST(Tcontrol_t, out_INSERT_ROB_GPR_STATUS_DATA[i][j]->read(), 0);
    876910                  TEST(Tcontrol_t, out_INSERT_ROB_SPR_STATUS_VAL [i][j]->read(), insert_rob_spr_status_val [i][j]);
     911                  TEST(Tcontrol_t, out_INSERT_ROB_SPR_STATUS_DATA[i][j]->read(), 0);
    877912                }
    878913            }
     
    882917      SC_START(1);
    883918    }
    884 
     919#else
     920  SC_START(100);
     921#endif
    885922  /********************************************************
    886923   * Simulation - End
     
    922959  delete [] out_GPR_WRITE_STATUS_VAL        ;
    923960  delete []  in_GPR_WRITE_STATUS_ACK        ;
     961  delete [] out_GPR_WRITE_STATUS_DATA       ;
    924962  delete []  in_SPR_WRITE_VAL               ;
    925963  delete [] out_SPR_WRITE_ACK               ;
     
    929967  delete [] out_SPR_WRITE_STATUS_VAL        ;
    930968  delete []  in_SPR_WRITE_STATUS_ACK        ;
     969  delete [] out_SPR_WRITE_STATUS_DATA       ;
    931970  delete []  in_INSERT_ROB_VAL                  ;
    932971  delete [] out_INSERT_ROB_ACK                  ;
     
    935974  delete [] out_INSERT_ROB_GPR_STATUS_VAL       ;
    936975  delete []  in_INSERT_ROB_GPR_STATUS_ACK       ;
     976  delete [] out_INSERT_ROB_GPR_STATUS_DATA      ;
    937977  delete [] out_INSERT_ROB_SPR_STATUS_VAL       ;
    938978  delete []  in_INSERT_ROB_SPR_STATUS_ACK       ;
     979  delete [] out_INSERT_ROB_SPR_STATUS_DATA      ;
    939980//   delete []  in_RETIRE_ROB_VAL                      ;
    940981//   delete [] out_RETIRE_ROB_ACK                      ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h

    r128 r131  
    181181                                               
    182182#ifdef SYSTEMC                                 
     183  public  : void     constant                        (void);
    183184  public  : void     transition                      (void);
    184185  public  : void     genMealy_gpr_read               (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp

    r128 r131  
    7070    if (usage_is_set(_usage,USE_SYSTEMC))
    7171      {
    72     // Constant
    73 //     PORT_WRITE(out_CONST_0 ,0);
    74 //     PORT_WRITE(out_CONST_1 ,1);
    75         for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
    76           {
    77             for (uint32_t j=0; j<_param->_nb_gpr_write; ++j)
    78               PORT_WRITE(out_GPR_WRITE_STATUS_DATA [i][j],1);
    79             for (uint32_t j=0; j<_param->_nb_spr_write; ++j)
    80               PORT_WRITE(out_SPR_WRITE_STATUS_DATA [i][j],1);
    81 
    82             for (uint32_t j=0; j<_param->_nb_inst_insert_rob[i]; ++j)
    83               {
    84                 PORT_WRITE(out_INSERT_ROB_GPR_STATUS_DATA [i][j],0);
    85                 PORT_WRITE(out_INSERT_ROB_SPR_STATUS_DATA [i][j],0);
    86               }
    87           }
     72#ifdef SYSTEMCASS_SPECIFIC
     73        constant();
     74#else
     75    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - constant");
     76
     77    SC_METHOD (constant);
     78//     dont_initialize ();
     79
     80#ifdef SYSTEMCASS_SPECIFIC
     81    // List dependency information
     82#endif   
     83#endif
    8884
    8985    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - transition");
     
    9187    SC_METHOD (transition);
    9288    dont_initialize ();
    93     sensitive_pos << *(in_CLOCK);
     89    sensitive << (*(in_CLOCK)).pos();
    9490
    9591#ifdef SYSTEMCASS_SPECIFIC
     
    10197    SC_METHOD (genMealy_gpr_read);
    10298    dont_initialize ();
    103 //     sensitive_neg << *(in_CLOCK);
     99//     sensitive << (*(in_CLOCK)).neg();
    104100    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    105101      {
     
    138134    SC_METHOD (genMealy_gpr_read_status);
    139135    dont_initialize ();
    140 //     sensitive_neg << *(in_CLOCK);
     136//     sensitive << (*(in_CLOCK)).neg();
    141137    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    142138      {
     
    167163    SC_METHOD (genMealy_gpr_read_registerfile);
    168164    dont_initialize ();
    169 //     sensitive_neg << *(in_CLOCK);
     165//     sensitive << (*(in_CLOCK)).neg();
    170166    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    171167      {
     
    196192    SC_METHOD (genMealy_gpr_write);
    197193    dont_initialize ();
    198 //     sensitive_neg << *(in_CLOCK);
     194//     sensitive << (*(in_CLOCK)).neg();
    199195    for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    200196      {
     
    226222    SC_METHOD (genMealy_gpr_write_status);
    227223    dont_initialize ();
    228 //     sensitive_neg << *(in_CLOCK);
     224//     sensitive << (*(in_CLOCK)).neg();
    229225    for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    230226      {
     
    255251    SC_METHOD (genMealy_gpr_write_registerfile);
    256252    dont_initialize ();
    257 //     sensitive_neg << *(in_CLOCK);
     253//     sensitive << (*(in_CLOCK)).neg();
    258254    for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    259255      {
     
    284280    SC_METHOD (genMealy_spr_read);
    285281    dont_initialize ();
    286 //     sensitive_neg << *(in_CLOCK);
     282//     sensitive << (*(in_CLOCK)).neg();
    287283    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    288284      {
     
    321317    SC_METHOD (genMealy_spr_read_status);
    322318    dont_initialize ();
    323 //     sensitive_neg << *(in_CLOCK);
     319//     sensitive << (*(in_CLOCK)).neg();
    324320    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    325321      {
     
    350346    SC_METHOD (genMealy_spr_read_registerfile);
    351347    dont_initialize ();
    352 //     sensitive_neg << *(in_CLOCK);
     348//     sensitive << (*(in_CLOCK)).neg();
    353349    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    354350      {
     
    379375    SC_METHOD (genMealy_spr_write);
    380376    dont_initialize ();
    381 //     sensitive_neg << *(in_CLOCK);
     377//     sensitive << (*(in_CLOCK)).neg();
    382378    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    383379      {
     
    409405    SC_METHOD (genMealy_spr_write_status);
    410406    dont_initialize ();
    411 //     sensitive_neg << *(in_CLOCK);
     407//     sensitive << (*(in_CLOCK)).neg();
    412408    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    413409      {
     
    438434    SC_METHOD (genMealy_spr_write_registerfile);
    439435    dont_initialize ();
    440 //     sensitive_neg << *(in_CLOCK);
     436//     sensitive << (*(in_CLOCK)).neg();
    441437    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    442438      {
     
    467463    SC_METHOD (genMealy_insert);
    468464    dont_initialize ();
    469 //     sensitive_neg << *(in_CLOCK);
     465//     sensitive << (*(in_CLOCK)).neg();
    470466    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    471467      {
     
    503499//     SC_METHOD (genMealy_retire);
    504500//     dont_initialize ();
    505 // //     sensitive_neg << *(in_CLOCK);
     501// //     sensitive << (*(in_CLOCK)).neg();
    506502//     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    507503//       {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_allocation.cpp

    r128 r131  
    177177    }
    178178
    179     // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     179    // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    180180    {
    181181      ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
     
    192192      ALLOC2_INTERFACE_BEGIN("insert_rob_gpr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
    193193     
    194       _ALLOC2_VALACK_OUT(out_INSERT_ROB_GPR_STATUS_VAL ,VAL                   ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
    195       _ALLOC2_VALACK_IN ( in_INSERT_ROB_GPR_STATUS_ACK ,ACK                   ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
     194      _ALLOC2_VALACK_OUT(out_INSERT_ROB_GPR_STATUS_VAL ,VAL                     ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
     195      _ALLOC2_VALACK_IN ( in_INSERT_ROB_GPR_STATUS_ACK ,ACK                     ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
    196196      _ALLOC2_SIGNAL_OUT(out_INSERT_ROB_GPR_STATUS_DATA,"data",Tgeneral_data_t,1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
    197197
     
    202202      ALLOC2_INTERFACE_BEGIN("insert_rob_spr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
    203203     
    204       _ALLOC2_VALACK_OUT(out_INSERT_ROB_SPR_STATUS_VAL ,VAL                   ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
    205       _ALLOC2_VALACK_IN ( in_INSERT_ROB_SPR_STATUS_ACK ,ACK                   ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
     204      _ALLOC2_VALACK_OUT(out_INSERT_ROB_SPR_STATUS_VAL ,VAL                     ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
     205      _ALLOC2_VALACK_IN ( in_INSERT_ROB_SPR_STATUS_ACK ,ACK                     ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
    206206      _ALLOC2_SIGNAL_OUT(out_INSERT_ROB_SPR_STATUS_DATA,"data",Tspecial_data_t,1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
    207207
Note: See TracChangeset for help on using the changeset viewer.