Changeset 111 for trunk/modules


Ignore:
Timestamp:
Oct 28, 2010, 5:35:15 PM (14 years ago)
Author:
choichil
Message:

Puisque c'est comme ça, je commite mon truc...

Location:
trunk/modules/vci_synthetic_initator/caba/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/vci_synthetic_initator/caba/sources/include/vci_synthetic_initiator.h

    r106 r111  
    3939#include "int_tab.h"
    4040#include "mapping_table.h"
     41#include "arithmetics.h"
    4142
    4243namespace soclib {  namespace caba {
  • trunk/modules/vci_synthetic_initator/caba/sources/src/vci_synthetic_initiator.cpp

    r106 r111  
    134134                  << " : " << m_cpt_cycles << " cycles "
    135135                  << " : state = " << state_str[r_vci_fsm]
    136                   << " Adresse to send : " << m_address_to_send << std::endl;
     136                  << " Adresse to send : " << m_address_to_send
     137                  << " Number of broadcast to receive : " << m_bc_nrsp << std::endl;
    137138  }
    138139
     
    188189          if (m_date_fifo.rok()){
    189190            if (r_broadcast_req.read()){
    190               m_address_to_send = (((((((((m_xmin << 5) | m_xmax ) << 5 ) | m_ymin ) << 5 ) | m_ymax ) << 5 ) << vci_param::N-(4*5) ) | 0x3) | 0 ;
     191              m_address_to_send = 0x3 | (0x7c1f << vci_param::N-20) ;
    191192              r_vci_fsm = VCI_BC_SEND ;
    192193            } else {
    193194              r_vci_fsm = VCI_SINGLE_SEND ;
    194               m_address_to_send = destAdress() << 32-10;
     195              m_address_to_send = destAdress() << (vci_param::N)-(soclib::common::uint32_log2((uint32_t)m_xmesh)+soclib::common::uint32_log2((uint32_t)m_ymesh));
    195196              m_count = 0;
    196197            }
     
    229230      case VCI_BC_SEND:
    230231        {
    231           m_bc_nrsp = (m_xmax - m_xmin) * (m_ymax - m_ymin);
    232           r_vci_fsm = VCI_BC_SEND;
    233           break;
     232          if (p_vci.cmdack.read()) {
     233            m_bc_nrsp = (m_xmax - m_xmin) * (m_ymax - m_ymin) ;
     234            r_vci_fsm = VCI_BC_RECEIVE;
     235            break;
     236          }
    234237        }
    235238        ////////////////////
     
    237240        {
    238241          if (p_vci.rspval.read()){
    239             if (m_bc_nrsp == 0) {
     242            if (m_bc_nrsp == 1) {
    240243              r_broadcast_req = false;
    241244              m_address_to_send = 0;
Note: See TracChangeset for help on using the changeset viewer.