source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_transition.cpp @ 3

Last change on this file since 3 was 3, checked in by kane, 17 years ago

1) Ajout d'un "printer" XML pour la configuration de paramètres

2) Fin du composant "Two_Level_Branch_Predictor"

validation * systemc

  • vhdl
File size: 1.3 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id$
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Generic/RegisterFile/include/RegisterFile.h"
10
11namespace morpheo                    {
12namespace behavioural                {
13namespace generic                    {
14namespace registerfile               {
15
16  void RegisterFile::transition (void)
17  {
18    log_printf(FUNC,Register_File,"transition","Begin");
19#ifdef STATISTICS
20    _stat_nb_write = 0;
21#endif   
22
23    for (uint32_t i=0; i<_param._nb_port_write; i++)
24      {
25        // Have a write?
26        if ( PORT_READ(in_WRITE_ENABLE[i]) == true)
27          {
28#ifdef STATISTICS
29            _stat_nb_write ++;
30#endif   
31
32            Taddress_t address = PORT_READ(in_WRITE_ADDRESS[i]);
33            Tdata_t    data    = PORT_READ(in_WRITE_DATA   [i]);
34           
35            log_printf(TRACE,Register_File,"transition","[%d] <- %.8x",static_cast<uint32_t>(address),static_cast<uint32_t>(data));
36
37            // Write in registerFile
38            REGISTER_WRITE(reg_DATA[address],data);
39          }
40      }
41
42#ifdef STATISTICS
43    _stat->add(_stat_nb_read,_stat_nb_write);
44#endif   
45
46#ifdef VHDL_TESTBENCH
47    vhdl_testbench_transition (*_vhdl_testbench);
48#endif
49    log_printf(FUNC,Register_File,"transition","End");
50  };
51
52}; // end namespace registerfile
53}; // end namespace generic
54}; // end namespace behavioural         
55}; // end namespace morpheo             
56#endif
Note: See TracBrowser for help on using the repository browser.