Ignore:
Timestamp:
Jun 26, 2009, 10:43:23 AM (15 years ago)
Author:
rosiere
Message:

1) Correct bug in link two signal
2) Fix error detected with valgrind
3) modif distexe script

Location:
trunk/IPs/systemC/Environment
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/Environment/Queue/include/Sort_Queue.h

    r85 r128  
    6363        if (num >= Queue <T>::_nb_slot)
    6464          {
    65             std::cerr << "<Sort_Queue.read> {ERROR} can't read because : num (" << num << ") >= nb_slot (" << Queue <T>::_nb_slot << ")" << std::endl;
     65            std::cerr << "<" << Queue<T>::_name << ".read> {ERROR} can't read because : num (" << num << ") >= nb_slot (" << Queue <T>::_nb_slot << ")" << std::endl;
    6666            exit(1);
    6767          }
     
    7676        if (num >= Queue <T>::_nb_slot)
    7777          {
    78             std::cerr << "<Sort_Queue.pop> {ERROR} can't read because : num (" << num << ") >= nb_slot (" << Queue <T>::_nb_slot << ")" << std::endl;
     78            std::cerr << "<" << Queue<T>::_name << ".pop> {ERROR} can't read because : num (" << num << ") >= nb_slot (" << Queue <T>::_nb_slot << ")" << std::endl;
    7979            exit(1);
    8080          }
  • trunk/IPs/systemC/Environment/include/Environment.h

    r117 r128  
    6262  public : morpheo::Tcontrol_t                      ** icache_req_ack        ;
    6363  public : morpheo::Tcontrol_t                      ** icache_rsp_val        ;
     64  public :          uint32_t                        ** icache_rsp_num        ;
    6465  public : morpheo::Tcontrol_t                      ** dcache_req_ack        ;
    6566  public : morpheo::Tcontrol_t                      ** dcache_rsp_val        ;
     67  public :          uint32_t                        ** dcache_rsp_num        ;
    6668
    6769    // ===== [ Variables ]===================================================
  • trunk/IPs/systemC/Environment/selftest/main.cpp

    r88 r128  
    175175    Parameters * param = new Parameters
    176176      (nb_entity,
     177       nb_entity,
    177178       
    178179       iaccess_nb_context,
  • trunk/IPs/systemC/Environment/src/Environment.cpp

    r123 r128  
    11#include "../include/Environment.h"
     2#include "../../processor/Morpheo/Common/include/ToString.h"
    23
    34using namespace morpheo;
     
    1314    component_tty         = new tty::TTY * [param->nb_component_tty];
    1415    for (uint32_t i=0; i<param->nb_component_tty; i++)
    15     component_tty     [i] = new tty::TTY         ("tty_"+i    ,param->param_tty     [i]);
     16      component_tty     [i] = new tty::TTY         ("tty_"+morpheo::toString(i),param->param_tty     [i]);
    1617    component_ramlock     = new ramlock::RamLock * [param->nb_component_ramlock];
    1718    for (uint32_t i=0; i<param->nb_component_ramlock; i++)
    18     component_ramlock [i] = new ramlock::RamLock ("ramlock_"+i,param->param_ramlock [i]);
     19    component_ramlock [i] = new ramlock::RamLock ("ramlock_"+morpheo::toString(i),param->param_ramlock [i]);
    1920    component_sim2os      = new sim2os::Sim2OS   ("sim2os" ,param->param_sim2os );
    2021    component_data        = new data::Data       ("data"   ,param->param_data   );
     
    186187    icache_req_ack = new Tcontrol_t * [param->nb_entity];
    187188    icache_rsp_val = new Tcontrol_t * [param->nb_entity];
     189    icache_rsp_num = new uint32_t   * [param->nb_entity];
    188190    dcache_req_ack = new Tcontrol_t * [param->nb_entity];
    189191    dcache_rsp_val = new Tcontrol_t * [param->nb_entity];
     192    dcache_rsp_num = new uint32_t   * [param->nb_entity];
    190193
    191194    for (uint32_t i=0; i<param->nb_entity; i++)
     
    193196        icache_req_ack [i] = new Tcontrol_t [param->icache_dedicated_nb_port[i]];
    194197        icache_rsp_val [i] = new Tcontrol_t [param->icache_dedicated_nb_port[i]];
     198        icache_rsp_num [i] = new uint32_t   [param->icache_dedicated_nb_port[i]];
    195199        dcache_req_ack [i] = new Tcontrol_t [param->dcache_dedicated_nb_port[i]];
    196200        dcache_rsp_val [i] = new Tcontrol_t [param->dcache_dedicated_nb_port[i]];
     201        dcache_rsp_num [i] = new uint32_t   [param->dcache_dedicated_nb_port[i]];
    197202      }
    198203
     
    214219        delete [] icache_req_ack [i];
    215220        delete [] icache_rsp_val [i];
     221        delete [] icache_rsp_num [i];
    216222        delete [] dcache_req_ack [i];
    217223        delete [] dcache_rsp_val [i];
     224        delete [] dcache_rsp_num [i];
    218225      }
    219226
    220227    delete [] icache_req_ack;
    221228    delete [] icache_rsp_val;
     229    delete [] icache_rsp_num;
    222230    delete [] dcache_req_ack;
    223231    delete [] dcache_rsp_val;
     232    delete [] dcache_rsp_num;
    224233
    225234    delete CLOCK ;
     
    243252
    244253            for (uint32_t k=0; k<param->iaccess_nb_instruction[i]; k++)
    245               delete ICACHE_RSP_INSTRUCTION [i][j][k];
    246 
     254            delete    ICACHE_RSP_INSTRUCTION [i][j][k];
    247255            delete [] ICACHE_RSP_INSTRUCTION [i][j];
    248256          }
     257
    249258        delete [] ICACHE_REQ_VAL         [i];
    250259        delete [] ICACHE_REQ_ACK         [i];
     
    276285    for (uint32_t i=0; i<param->nb_entity; i++)
    277286      {
    278         for (uint32_t j=0; j<param->icache_dedicated_nb_port[i]; j++)
     287        for (uint32_t j=0; j<param->dcache_dedicated_nb_port[i]; j++)
    279288          {
    280289            delete DCACHE_REQ_VAL        [i][j];
  • trunk/IPs/systemC/Environment/src/Environment_genMoore.cpp

    r127 r128  
    11#include "../include/Environment.h"
     2#include "../../processor/Morpheo/Common/include/Systemc.h"
    23
    34using namespace morpheo;
     
    78  void Environment::genMoore (void)
    89  {
     10    _cout(ENVIRONMENT, " [%d] <Environment::genMoore>\n",static_cast<uint32_t>(simulation_cycle()));
     11
    912    //Scan all entity and for each entity scan all port
    1013    for (uint32_t i = 0; i < param->nb_entity; i++)
     
    3235          // init
    3336          for (uint32_t j = 0; j < param->icache_dedicated_nb_port [i]; j ++)
    34             icache_rsp_val [i][j] = 0;
     37            {
     38              icache_rsp_val [i][j] = 0;
     39              icache_rsp_num [i][j] = 0;
     40            }
    3541
    36           _cout(ENVIRONMENT, "buffer_irsp [%d] : nb_slot_use %d\n",i,component_buffer_irsp [i]->nb_slot_use());
     42          _cout(ENVIRONMENT, "  * buffer_irsp [%d] : nb_slot_use %d\n",i,component_buffer_irsp [i]->nb_slot_use());
    3743          for (uint32_t j = 0; j+1 <= component_buffer_irsp [i]->nb_slot_use(); j ++)
    3844            {
     
    4551              bool val = ((slot._delay == 0) and (icache_rsp_val [i][port] == 0));
    4652
    47               _cout(ENVIRONMENT, "buffer_irsp [%d][%d] - delay %d - port %d\n",i,j,slot._delay,port);
     53              _cout(ENVIRONMENT, "  * buffer_irsp [%d][%d] - delay %d - port %d\n",i,j,slot._delay,port);
    4854
    4955             
    5056              if (val)
    5157                {
    52                   _cout(ENVIRONMENT, "ICACHE_RSP [%d][%d] - respons valid\n",i,port);
     58                  _cout(ENVIRONMENT, "  * ICACHE_RSP [%d][%d] - respons valid\n",i,port);
    5359                 
    5460                  icache_rsp_val        [i][port] = 1;
     61                  icache_rsp_num        [i][port] = j;
    5562                               
    5663                  ICACHE_RSP_CONTEXT_ID [i][port]->write(slot._data->trdid); // TODO : test if exist
     
    93100        //-----------------------------------------------------------------------------
    94101        {
     102          // init
    95103          for (uint32_t j = 0; j < param->dcache_dedicated_nb_port [i]; j ++)
     104            {
     105              dcache_rsp_val [i][j] = 0;
     106              dcache_rsp_num [i][j] = 0;
     107            }
     108
     109          for (uint32_t j = 0; j+1 <= component_buffer_drsp [i]->nb_slot_use(); j ++)
    96110            {
    97               // Test the number of element in the respons's buffer
    98               if (j >= component_buffer_drsp [i]->nb_slot_use())
    99                 {
    100                   dcache_rsp_val [i][j] = 0; // No respons
    101                 }
    102               else
    103                 {
    104                   queue::slot_t<drsp_t*> slot = component_buffer_drsp [i]->read(j);
     111              queue::slot_t<drsp_t*> slot = component_buffer_drsp [i]->read(j);
     112             
     113              uint32_t port = slot._data->port;
     114              bool val = ((slot._delay == 0) and (dcache_rsp_val [i][port] == 0));
     115             
     116              if (val)
     117                {
     118                  _cout(ENVIRONMENT, "  * DCACHE_RSP [%d][%d] - respons valid\n",i,port);
     119                 
     120                  dcache_rsp_val        [i][port] = 1;
     121                  dcache_rsp_num        [i][port] = j;
     122                 
     123                  DCACHE_RSP_CONTEXT_ID [i][port]->write(slot._data->trdid); // TODO : test if exist
     124                  DCACHE_RSP_PACKET_ID  [i][port]->write(slot._data->pktid); // TODO : test if exist
     125                  DCACHE_RSP_ERROR      [i][port]->write(slot._data->error);
     126                 
     127                  Tdcache_data_t data = 0;
     128                  atoi (slot._data->data[0], data, param->daccess_size_data[i]/8);
     129                 
     130                  DCACHE_RSP_RDATA      [i][port]->write(data);
     131                }
     132            }
    105133
    106                   bool val = (slot._delay == 0); // respons if have a result
    107                  
    108                   dcache_rsp_val [i][j] = (val); // respons if have a result
    109 
    110                   if (val)
    111                     {
    112                       _cout(ENVIRONMENT, "DCACHE_RSP [%d][%d] - respons valid\n",i,j);
    113 
    114                       DCACHE_RSP_CONTEXT_ID [i][j]->write(slot._data->trdid); // TODO : test if exist
    115                       DCACHE_RSP_PACKET_ID  [i][j]->write(slot._data->pktid); // TODO : test if exist
    116                       DCACHE_RSP_ERROR      [i][j]->write(slot._data->error);
    117                      
    118                       Tdcache_data_t data = 0;
    119                       atoi (slot._data->data[0], data, param->daccess_size_data[i]/8);
    120                      
    121                       DCACHE_RSP_RDATA       [i][j]->write(data);
    122                     }
    123                 }
    124               DCACHE_RSP_VAL [i][j]->write (dcache_rsp_val [i][j]);
    125             }
     134          for (uint32_t j = 0; j < param->dcache_dedicated_nb_port [i]; j ++)
     135            DCACHE_RSP_VAL [i][j]->write (dcache_rsp_val [i][j]);
    126136        }
    127137      }
  • trunk/IPs/systemC/Environment/src/Environment_transition.cpp

    r124 r128  
    33#define CYCLE_MAX 0
    44#include "../../processor/Morpheo/Common/include/Test.h"
     5#include "../../processor/Morpheo/Common/include/Systemc.h"
    56
    67using namespace morpheo;
     
    1011  void Environment::transition (void)
    1112  {
     13    _cout(ENVIRONMENT, " [%d] <Environment::transition>\n",static_cast<uint32_t>(simulation_cycle()));
     14
    1215    if (NRESET->read() == 0)
    1316      {
     
    2124        for (uint32_t i = 0; i < param->nb_entity; i++)
    2225          for (int32_t j=param->icache_dedicated_nb_port [i]-1; j>=0; j--)
    23             if (icache_rsp_val [i][j] and ICACHE_RSP_ACK [i][j]->read())
    24               {
    25                 delete component_buffer_irsp [i]->read(j)._data;
    26                 component_buffer_irsp [i]->pop(j);
    27               }
     26            {
     27              _cout(ENVIRONMENT, "  * ICACHE_RSP [%d][%d]\n",i,j);
     28
     29              if (icache_rsp_val [i][j] and ICACHE_RSP_ACK [i][j]->read())
     30                {
     31                  _cout(ENVIRONMENT, "  * ICACHE_RSP [%d][%d] : Transaction accepted\n",i,j);
     32                 
     33                  uint32_t num = icache_rsp_num [i][j];
     34
     35                  delete component_buffer_irsp [i]->read(num)._data;
     36                  component_buffer_irsp [i]->pop(num);
     37                }
     38            }
    2839        //=============================================================================
    2940        //===== [ DCACHE - RESPONS ]===================================================
     
    3142        for (uint32_t i = 0; i < param->nb_entity; i++)
    3243          for (int32_t j=param->dcache_dedicated_nb_port [i]-1; j>=0; j--)
    33             if (dcache_rsp_val [i][j] and DCACHE_RSP_ACK [i][j]->read())
    34               {
    35                 delete component_buffer_drsp [i]->read(j)._data;
    36                 component_buffer_drsp [i]->pop(j);
    37               }
     44            {
     45              _cout(ENVIRONMENT, "  * DCACHE_RSP [%d][%d]\n",i,j);
     46              if (dcache_rsp_val [i][j] and DCACHE_RSP_ACK [i][j]->read())
     47                {
     48                  _cout(ENVIRONMENT, "  * DCACHE_RSP [%d][%d] : Transaction accepted\n",i,j);
     49                 
     50                  uint32_t num = dcache_rsp_num [i][j];
     51
     52                  delete component_buffer_drsp [i]->read(num)._data;
     53                  component_buffer_drsp [i]->pop(num);
     54                }
     55            }
    3856
    3957        //=============================================================================
     
    4462            if (ICACHE_REQ_VAL [i][j]->read() and icache_req_ack [i][j])
    4563              {
    46                 _cout(ENVIRONMENT, "ICACHE_REQ [%d][%d] : Transaction accepted\n",i,j);
     64                _cout(ENVIRONMENT, "  * ICACHE_REQ [%d][%d] : Transaction accepted\n",i,j);
    4765
    4866                Ticache_context_t context   = ICACHE_REQ_CONTEXT_ID [i][j]->read();// TODO : test presence
     
    5270                uint32_t          size      = (param->iaccess_size_address [i]+2)/8;
    5371
    54                 _cout(ENVIRONMENT,"  * information\n");
    55                 _cout(ENVIRONMENT,"    * context : %d\n" ,static_cast<uint32_t>(context));
    56                 _cout(ENVIRONMENT,"    * packet  : %d\n" ,static_cast<uint32_t>(packet ));
    57                 _cout(ENVIRONMENT,"    * address : %.x\n",static_cast<uint32_t>(address));
    58                 _cout(ENVIRONMENT,"    * type    : %d\n" ,static_cast<uint32_t>(type   ));
    59                 _cout(ENVIRONMENT,"    * size    : %d\n" ,static_cast<uint32_t>(size   ));
     72                _cout(ENVIRONMENT,"    * information\n");
     73                _cout(ENVIRONMENT,"      * context : %d\n" ,static_cast<uint32_t>(context));
     74                _cout(ENVIRONMENT,"      * packet  : %d\n" ,static_cast<uint32_t>(packet ));
     75                _cout(ENVIRONMENT,"      * address : %.x\n",static_cast<uint32_t>(address));
     76                _cout(ENVIRONMENT,"      * type    : %d\n" ,static_cast<uint32_t>(type   ));
     77                _cout(ENVIRONMENT,"      * size    : %d\n" ,static_cast<uint32_t>(size   ));
    6078
    6179                // search the entity
     
    7290                    (entity.segment->getType() == data::TYPE_TARGET_MEMORY))
    7391                  {
    74                     _cout(ENVIRONMENT,"  * OK !\n");
     92                    _cout(ENVIRONMENT,"    * OK !\n");
    7593                    bus_error = false;
    7694                    uncached  = entity.segment->getUncached();
     
    7896                    if (must_read == true) // Test if must read the ram
    7997                      {
    80                         _cout(ENVIRONMENT,"    * must read\n");
     98                        _cout(ENVIRONMENT,"      * must read\n");
    8199                        // Read all instruction
    82100                        for (unsigned int k=0; k<param->iaccess_nb_instruction[i]; k++)
    83101                          {
    84102                            uint32_t addr = address+k*(size);
    85                             _cout(ENVIRONMENT,"    * addr    : %.8x - ",addr);
     103                            _cout(ENVIRONMENT,"      * addr    : %.8x - ",addr);
    86104
    87105                            bus_error |= !component_data->read(addr,size,read_iram[k]);
     
    102120                else
    103121                  {
    104                     _cout(ENVIRONMENT, "  * KO !\n");
    105                     _cout(ENVIRONMENT, "    * present : %d\n",entity.present);
     122                    _cout(ENVIRONMENT, "    * KO !\n");
     123                    _cout(ENVIRONMENT, "      * present : %d\n",entity.present);
    106124                    if (entity.present)
    107                     _cout(ENVIRONMENT, "    * type    : %d must be data::TYPE_TARGET_MEMORY (%d)\n",entity.segment->getType(), data::TYPE_TARGET_MEMORY);
     125                    _cout(ENVIRONMENT, "      * type    : %d must be data::TYPE_TARGET_MEMORY (%d)\n",entity.segment->getType(), data::TYPE_TARGET_MEMORY);
    108126                     
    109127                    // entity is not present, or is present but is not a memory : have a bus error
     
    121139                                                            cache_type.direction);
    122140               
    123                 _cout(ENVIRONMENT, "    * latence : %d\n",latence);
     141                _cout(ENVIRONMENT, "      * latence : %d\n",latence);
    124142               
    125143                // If is a respons -> compute the latence and push in the write_buffer
    126144                if (must_ack or (must_ack_on_error and bus_error))
    127145                  {
    128                     _cout(ENVIRONMENT, "  * must ack\n");
     146                    _cout(ENVIRONMENT, "    * must ack\n");
    129147                   
    130148                    if (bus_error == true)
    131149                      {
    132                         _cout(ENVIRONMENT,"   * Icache : have a bus error\n");
    133                         _cout(ENVIRONMENT,"     * entity     : %d\n",i);
    134                         _cout(ENVIRONMENT,"     * port       : %d\n",j);
    135                         _cout(ENVIRONMENT,"     * req_addr   : %x\n",address);
    136                         _cout(ENVIRONMENT,"     * req_trdid  : %d\n",context);
    137                         _cout(ENVIRONMENT,"     * req_pktid  : %d\n",packet );
     150                        _cout(ENVIRONMENT,"     * Icache : have a bus error\n");
     151                        _cout(ENVIRONMENT,"       * entity     : %d\n",i);
     152                        _cout(ENVIRONMENT,"       * port       : %d\n",j);
     153                        _cout(ENVIRONMENT,"       * req_addr   : %x\n",address);
     154                        _cout(ENVIRONMENT,"       * req_trdid  : %d\n",context);
     155                        _cout(ENVIRONMENT,"       * req_pktid  : %d\n",packet );
    138156
    139157                        // Write in instruction [0] the bad address (only 32bit ....)
     
    142160                           
    143161                    // Simplification : the size of a line is a multiple of size_iword (no test)
    144                     _cout(ENVIRONMENT, "    * push in buffer_irsp[%d]\n",i);
     162                    _cout(ENVIRONMENT, "      * push in buffer_irsp[%d]\n",i);
    145163
    146164                    irsp_t * rsp = new irsp_t(j,
     
    154172                  }
    155173
    156                 _cout(ENVIRONMENT, "  * End request\n");
     174                _cout(ENVIRONMENT, "    * End request\n");
    157175              }
    158176
     
    164182            if (DCACHE_REQ_VAL [i][j]->read() and dcache_req_ack [i][j])
    165183              {
    166                 _cout(ENVIRONMENT, "DCACHE_REQ [%d][%d] : Transaction accepted\n",i,j);
     184                _cout(ENVIRONMENT, "  * DCACHE_REQ [%d][%d] : Transaction accepted\n",i,j);
    167185
    168186                Tdcache_context_t context   = DCACHE_REQ_CONTEXT_ID [i][j]->read();// TODO : test presence
     
    173191                uint32_t          size      = param->daccess_size_data [i]/8;
    174192
    175                 _cout(ENVIRONMENT,"  * information\n");
    176                 _cout(ENVIRONMENT,"    * context : %d\n" ,static_cast<uint32_t>(context));
    177                 _cout(ENVIRONMENT,"    * packet  : %d\n" ,static_cast<uint32_t>(packet ));
    178                 _cout(ENVIRONMENT,"    * address : %.x\n",static_cast<uint32_t>(address));
    179                 _cout(ENVIRONMENT,"    * type    : %d\n" ,static_cast<uint32_t>(type   ));
    180                 _cout(ENVIRONMENT,"    * size    : %d\n" ,static_cast<uint32_t>(size   ));
     193                _cout(ENVIRONMENT,"    * information\n");
     194                _cout(ENVIRONMENT,"      * context : %d\n" ,static_cast<uint32_t>(context));
     195                _cout(ENVIRONMENT,"      * packet  : %d\n" ,static_cast<uint32_t>(packet ));
     196                _cout(ENVIRONMENT,"      * address : %.x\n",static_cast<uint32_t>(address));
     197                _cout(ENVIRONMENT,"      * type    : %d\n" ,static_cast<uint32_t>(type   ));
     198                _cout(ENVIRONMENT,"      * size    : %d\n" ,static_cast<uint32_t>(size   ));
    181199
    182200                bool              uncached  = false;
     
    231249                          uint32_t num_tty   = (address - entity.segment->getBase())>>4;
    232250                          uint32_t num_print = ((address>>2) & 0x3);
    233                           _cout(true,"  * TYPE_TARGET_TTY : num_tty : %d, num_print : %d\n",num_tty, num_print);
     251                          _cout(true,"    * TYPE_TARGET_TTY : num_tty : %d, num_print : %d\n",num_tty, num_print);
    234252                         
    235253                          switch (num_print)
     
    294312                      case data::TYPE_TARGET_MEMORY  :
    295313                        {
    296                           _cout(ENVIRONMENT,"  * TYPE_TARGET_MEMORY\n");
    297                           _cout(ENVIRONMENT,"    * access : %x\n",address);
     314                          _cout(ENVIRONMENT,"    * TYPE_TARGET_MEMORY\n");
     315                          _cout(ENVIRONMENT,"      * access : %x\n",address);
    298316
    299317                          if (must_read == true)
    300318                            {
    301319                              // Read
    302                               _cout(ENVIRONMENT,"    * Read  (%d bytes)\n",size);
     320                              _cout(ENVIRONMENT,"      * Read  (%d bytes)\n",size);
    303321                              bus_error |= !component_data->read(address,nb_bytes,read_dram[0]); // always read a complete word
    304322
     
    315333                            {
    316334                              // Write
    317                               _cout(ENVIRONMENT,"    * Write (%d bytes)\n",size);
    318                               _cout(ENVIRONMENT,"    * Wdata : %x\n",wdata);
     335                              _cout(ENVIRONMENT,"      * Write (%d bytes)\n",size);
     336                              _cout(ENVIRONMENT,"      * Wdata : %x\n",wdata);
    319337                              itoa<Tdcache_data_t>(wdata,write_dram,nb_bytes);
    320338
     
    330348                      case data::TYPE_TARGET_RAMLOCK :
    331349                        {
    332                           _cout(ENVIRONMENT,"  * TYPE_TARGET_RAMLOCK\n");
     350                          _cout(ENVIRONMENT,"    * TYPE_TARGET_RAMLOCK\n");
    333351
    334352                          // Access is on a byte, else error
     
    343361                          uint32_t num_component_ramlock = entity.segment->getIndex();
    344362
    345 //                        _cout(ENVIRONMENT,"    * num_ramlock           : %d\n",num_ramlock          );
    346 //                        _cout(ENVIRONMENT,"    * num_lock              : %d\n",num_lock             );
    347 //                        _cout(ENVIRONMENT,"    * num_component_ramlock : %d\n",num_component_ramlock);
    348                           _cout(true,"    * num_ramlock           : %d\n",num_ramlock          );
    349                           _cout(true,"    * num_lock              : %d\n",num_lock             );
    350                           _cout(true,"    * num_component_ramlock : %d\n",num_component_ramlock);
     363                          _cout(ENVIRONMENT,"      * num_ramlock           : %d\n",num_ramlock          );
     364                          _cout(ENVIRONMENT,"      * num_lock              : %d\n",num_lock             );
     365                          _cout(ENVIRONMENT,"      * num_component_ramlock : %d\n",num_component_ramlock);
     366//                        _cout(true,"      * num_ramlock           : %d\n",num_ramlock          );
     367//                        _cout(true,"      * num_lock              : %d\n",num_lock             );
     368//                        _cout(true,"      * num_component_ramlock : %d\n",num_component_ramlock);
    351369
    352370                          // No test : because out of range
     
    364382                            read_dram [0][num_lock] = static_cast<char>(component_ramlock [num_component_ramlock]->write(num_ramlock));
    365383
    366                           _cout(true,"    * lock                  : %d\n",(int)read_dram [0][num_lock]);
    367 //                        _cout(ENVIRONMENT,"    * lock                  : %d\n",(int)read_dram [0][num_lock]);
     384//                        _cout(true,"      * lock                  : %d\n",(int)read_dram [0][num_lock]);
     385                          _cout(ENVIRONMENT,"      * lock                  : %d\n",(int)read_dram [0][num_lock]);
    368386                         
    369387                          break;
     
    375393                      case data::TYPE_TARGET_SIM2OS  :
    376394                        {
    377                           _cout(ENVIRONMENT,"  * TYPE_TARGET_SIM2OS\n");
     395                          _cout(ENVIRONMENT,"    * TYPE_TARGET_SIM2OS\n");
    378396
    379397                          // Mapping :
     
    385403                          uint32_t num_reg = (address - entity.segment->getBase())>>2;
    386404
    387                           _cout(ENVIRONMENT,"    * num_reg : %d\n",num_reg);
     405                          _cout(ENVIRONMENT,"      * num_reg : %d\n",num_reg);
    388406                         
    389407                          switch (num_reg)
     
    398416                                else
    399417                                  {
    400                                     _cout(ENVIRONMENT,"    * service     : %x\n",wdata);
     418                                    _cout(ENVIRONMENT,"      * service     : %x\n",wdata);
    401419                                    component_sim2os->execute(sim2os::int2service(static_cast<uint32_t>(wdata)));
    402420                                  }
     
    414432                                    // Decomposition en groupe octect
    415433                                    Tdcache_data_t result = static_cast<Tdcache_data_t>(reinterpret_cast<uint64_t>(component_sim2os->result));
    416                                     _cout(ENVIRONMENT,"    * result      : %x\n",result);
     434                                    _cout(ENVIRONMENT,"      * result      : %x\n",result);
    417435                                   
    418436                                    itoa<Tdcache_data_t>(result,read_dram[0],size);
     
    431449                                    // Decomposition en groupe octect
    432450                                    Tdcache_data_t error = (Tdcache_data_t)component_sim2os->error;
    433                                     _cout(ENVIRONMENT,"    * error       : %x\n",error);
     451                                    _cout(ENVIRONMENT,"      * error       : %x\n",error);
    434452                                   
    435453                                    itoa<Tdcache_data_t>(error,read_dram[0],size);
     
    447465                                  else
    448466                                    {
    449                                       _cout(ENVIRONMENT,"    * argument[%d] : %x\n",num_reg-1,wdata);
     467                                      _cout(ENVIRONMENT,"      * argument[%d] : %x\n",num_reg-1,wdata);
    450468                                      component_sim2os->parameter(num_reg-2,(void *)wdata);
    451469                                    }
     
    498516                    if (bus_error == true)
    499517                      {
    500                         _cout(ENVIRONMENT,"   * Dcache : have a bus error\n");
    501                         _cout(ENVIRONMENT,"     * entity     : %d\n",i);
    502                         _cout(ENVIRONMENT,"     * port       : %d\n",j);
    503                         _cout(ENVIRONMENT,"     * req_addr   : 0x%x\n",address);
    504                         _cout(ENVIRONMENT,"     * req_trdid  : %d\n",context);
    505                         _cout(ENVIRONMENT,"     * req_pktid  : %d\n",packet );
     518                        _cout(ENVIRONMENT,"     * Dcache : have a bus error\n");
     519                        _cout(ENVIRONMENT,"       * entity     : %d\n",i);
     520                        _cout(ENVIRONMENT,"       * port       : %d\n",j);
     521                        _cout(ENVIRONMENT,"       * req_addr   : 0x%x\n",address);
     522                        _cout(ENVIRONMENT,"       * req_trdid  : %d\n",context);
     523                        _cout(ENVIRONMENT,"       * req_pktid  : %d\n",packet );
    506524
    507525                        // Write in data [0] the bad address (32bit or 64bits    )
     
    509527                      }
    510528
    511                     _cout(ENVIRONMENT,"     * Rdata : ");
     529                    _cout(ENVIRONMENT,"       * Rdata : ");
    512530                    for (uint32_t x=0; x<nb_bytes; x++)
    513531                      __cout(ENVIRONMENT,"%.2x",0xff&static_cast<uint32_t>(read_dram[0][x]));
Note: See TracChangeset for help on using the changeset viewer.