Ignore:
Timestamp:
Jun 17, 2009, 2:11:25 PM (15 years ago)
Author:
rosiere
Message:

1) Add test and configuration
2) Fix Bug
3) Add log file in load store unit
4) Fix Bug in environment

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/Environment/src/Environment_transition.cpp

    r123 r124  
    4444            if (ICACHE_REQ_VAL [i][j]->read() and icache_req_ack [i][j])
    4545              {
    46                 _cout(ENVIRONMENT, "ICACHE_REQ [%d] : Transaction accepted\n",i);
     46                _cout(ENVIRONMENT, "ICACHE_REQ [%d][%d] : Transaction accepted\n",i,j);
    4747
    4848                Ticache_context_t context   = ICACHE_REQ_CONTEXT_ID [i][j]->read();// TODO : test presence
     
    8383                          {
    8484                            uint32_t addr = address+k*(size);
    85                             _cout(ENVIRONMENT,"    * addr    : %.8x\n",addr);
     85                            _cout(ENVIRONMENT,"    * addr    : %.8x - ",addr);
    8686
    8787                            bus_error |= !component_data->read(addr,size,read_iram[k]);
     
    9393                              }
    9494
    95                             _cout(ENVIRONMENT,"    * inst    :");
     95                            //_cout(ENVIRONMENT,"    * inst    : ");
    9696                            for (int32_t cpt=(param->iaccess_size_instruction[i]/8)-1; cpt>=0; --cpt)
    9797                              __cout(ENVIRONMENT, "%.2x",0xff&static_cast<uint32_t>(read_iram[k][cpt]));
     
    144144                    _cout(ENVIRONMENT, "    * push in buffer_irsp[%d]\n",i);
    145145
    146                     irsp_t * rsp = new irsp_t(context,
     146                    irsp_t * rsp = new irsp_t(j,
     147                                              context,
    147148                                              packet,
    148149                                              param->iaccess_nb_instruction[i],
     
    163164            if (DCACHE_REQ_VAL [i][j]->read() and dcache_req_ack [i][j])
    164165              {
    165                 _cout(ENVIRONMENT, "DCACHE_REQ [%d] : Transaction accepted\n",i);
     166                _cout(ENVIRONMENT, "DCACHE_REQ [%d][%d] : Transaction accepted\n",i,j);
    166167
    167168                Tdcache_context_t context   = DCACHE_REQ_CONTEXT_ID [i][j]->read();// TODO : test presence
     
    339340
    340341                          uint32_t num_ramlock           = (address - entity.segment->getBase()); // Char access
     342                          uint32_t num_lock              = num_ramlock % (param->daccess_size_data [i]/8);
    341343                          uint32_t num_component_ramlock = entity.segment->getIndex();
    342344
    343                           _cout(ENVIRONMENT,"    * num_ramlock           : %d\n",num_ramlock          );
    344                           _cout(ENVIRONMENT,"    * num_component_ramlock : %d\n",num_component_ramlock);
     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);
    345351
    346352                          // No test : because out of range
     
    352358
    353359                          memset (read_dram[0],0,size);
    354                          
     360
    355361                          if (must_read == true)
    356                             read_dram [0][0] = static_cast<char>(component_ramlock [num_component_ramlock]->read (num_ramlock));
     362                            read_dram [0][num_lock] = static_cast<char>(component_ramlock [num_component_ramlock]->read (num_ramlock));
    357363                          if (must_write == true)
    358                             read_dram [0][0] = static_cast<char>(component_ramlock [num_component_ramlock]->write(num_ramlock));
     364                            read_dram [0][num_lock] = static_cast<char>(component_ramlock [num_component_ramlock]->write(num_ramlock));
     365
     366                          _cout(true,"    * lock                  : %d\n",(int)read_dram [0][num_lock]);
     367//                        _cout(ENVIRONMENT,"    * lock                  : %d\n",(int)read_dram [0][num_lock]);
    359368                         
    360369                          break;
     
    506515                   
    507516                    // Simplification : the size of a line is a multiple of size_iword (no test)
    508                     drsp_t * rsp = new drsp_t(context,
     517                    drsp_t * rsp = new drsp_t(j,
     518                                              context,
    509519                                              packet,
    510520                                              1,
Note: See TracChangeset for help on using the changeset viewer.