Changeset 30


Ignore:
Timestamp:
02/21/12 16:51:17 (6 years ago)
Author:
shan2
Message:

ForSyDe-SystemC/CoMPSoC: fixed the problem with the order of ports in argument mapping in the generated XML files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ForSyDe-SystemC/branches/CoMPSoC/src/forsyde/xml.hpp

    r29 r30  
    457457                                    // add argument mapping for the inputs 
    458458                                    int fifoIndex=0; 
    459                                     for (auto it2=channels.begin();it2!=channels.end();it2++) 
     459                                    for (auto it2=it->second->boundInChans.begin();it2!=it->second->boundInChans.end();it2++) 
    460460                                    { 
    461                                         if (it2->second.desActor==it->second) 
    462                                         { 
    463                                             xml_node<> *argMapElmNode = doc.allocate_node(node_element, "argument"); 
    464                                             argMapNode->append_node(argMapElmNode); 
    465                                             std::stringstream tss; tss << fifoIndex++; 
    466                                             char* num = doc.allocate_string(tss.str().c_str()); 
    467                                             xml_attribute<> *argMapNumAttr = doc.allocate_attribute("number", num); 
    468                                             argMapElmNode->append_attribute(argMapNumAttr); 
    469                                             xml_attribute<> *argMapPortAttr = doc.allocate_attribute("port", it2->second.desPort->name()); 
    470                                             argMapElmNode->append_attribute(argMapPortAttr); 
    471                                         } 
     461                                        xml_node<> *argMapElmNode = doc.allocate_node(node_element, "argument"); 
     462                                        argMapNode->append_node(argMapElmNode); 
     463                                        std::stringstream tss; tss << fifoIndex++; 
     464                                        char* num = doc.allocate_string(tss.str().c_str()); 
     465                                        xml_attribute<> *argMapNumAttr = doc.allocate_attribute("number", num); 
     466                                        argMapElmNode->append_attribute(argMapNumAttr); 
     467                                        xml_attribute<> *argMapPortAttr = doc.allocate_attribute("port", (*it2).port->name()); 
     468                                        argMapElmNode->append_attribute(argMapPortAttr); 
    472469                                    } 
    473470                                     
    474                                     // add argument mapping for the inputs 
    475                                     for (auto it2=channels.begin();it2!=channels.end();it2++) 
     471                                    // add argument mapping for the outputs 
     472                                    for (auto it2=it->second->boundOutChans.begin();it2!=it->second->boundOutChans.end();it2++) 
    476473                                    { 
    477                                         if (it2->second.srcActor==it->second) 
    478                                         { 
    479                                             xml_node<> *argMapElmNode = doc.allocate_node(node_element, "argument"); 
    480                                             argMapNode->append_node(argMapElmNode); 
    481                                             std::stringstream tss; tss << fifoIndex++; 
    482                                             char* num = doc.allocate_string(tss.str().c_str()); 
    483                                             xml_attribute<> *argMapNumAttr = doc.allocate_attribute("number", num); 
    484                                             argMapElmNode->append_attribute(argMapNumAttr); 
    485                                             xml_attribute<> *argMapPortAttr = doc.allocate_attribute("port", it2->second.srcPort->name()); 
    486                                             argMapElmNode->append_attribute(argMapPortAttr); 
    487                                         } 
     474                                        xml_node<> *argMapElmNode = doc.allocate_node(node_element, "argument"); 
     475                                        argMapNode->append_node(argMapElmNode); 
     476                                        std::stringstream tss; tss << fifoIndex++; 
     477                                        char* num = doc.allocate_string(tss.str().c_str()); 
     478                                        xml_attribute<> *argMapNumAttr = doc.allocate_attribute("number", num); 
     479                                        argMapElmNode->append_attribute(argMapNumAttr); 
     480                                        xml_attribute<> *argMapPortAttr = doc.allocate_attribute("port", (*it2).port->name()); 
     481                                        argMapElmNode->append_attribute(argMapPortAttr); 
    488482                                    } 
    489483                                 
Note: See TracChangeset for help on using the changeset viewer.