From bc7639b2c96bdd5ca4899dd165e6eca7cec9e951 Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Fri, 20 Dec 2013 14:54:49 +0000 Subject: [PATCH] * ./kite: - Bug: In Manipulator::insertInTrack(), no longer skip overlapping segment with an Id inferior to AutoSegment::maxId(). This counter is no longer used, and I don't remember this test was done in the first place. --- kite/src/KiteEngine.cpp | 17 +++++++++-------- kite/src/Manipulator.cpp | 11 +++++++++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/kite/src/KiteEngine.cpp b/kite/src/KiteEngine.cpp index d90cdbc2..30d60ec2 100644 --- a/kite/src/KiteEngine.cpp +++ b/kite/src/KiteEngine.cpp @@ -352,19 +352,18 @@ namespace Kite { TrackElement* element = track->getSegment( ielement ); if (element->getNet() == NULL) { - ltrace(300) << "Reject capacity from (not Net): " << (void*)element << ":" << element << endl; + ltrace(300) << "Reject capacity from (not Net): " << element << endl; continue; } if ( (not element->isFixed()) and (not element->isBlockage()) ) { - ltrace(300) << "Reject capacity from (neither fixed nor blockage): " << (void*)element << ":" << element << endl; + ltrace(300) << "Reject capacity from (neither fixed nor blockage): " << element << endl; continue; } Box elementBb = element->getBoundingBox(); int elementCapacity = (chipCorona.contains(elementBb)) ? -hEdgeCapacity : -1; - ltrace(300) << "Capacity from: " << (void*)element << ":" << element - << ":" << elementCapacity << endl; + ltrace(300) << "Capacity from: " << element << ":" << elementCapacity << endl; Katabatic::GCell* gcell = getGCellGrid()->getGCell( Point(element->getSourceU(),track->getAxis()) ); Katabatic::GCell* end = getGCellGrid()->getGCell( Point(element->getTargetU(),track->getAxis()) ); @@ -390,19 +389,18 @@ namespace Kite { TrackElement* element = track->getSegment( ielement ); if (element->getNet() == NULL) { - ltrace(300) << "Reject capacity from (not Net): " << (void*)element << ":" << element << endl; + ltrace(300) << "Reject capacity from (not Net): " << element << endl; continue; } if ( (not element->isFixed()) and not (element->isBlockage()) ) { - ltrace(300) << "Reject capacity from (neither fixed nor blockage): " << (void*)element << ":" << element << endl; + ltrace(300) << "Reject capacity from (neither fixed nor blockage): " << element << endl; continue; } Box elementBb = element->getBoundingBox(); int elementCapacity = (chipCorona.contains(elementBb)) ? -vEdgeCapacity : -1; - ltrace(300) << "Capacity from: " << (void*)element << ":" << element - << ":" << elementCapacity << endl; + ltrace(300) << "Capacity from: " << element << ":" << elementCapacity << endl; Katabatic::GCell* gcell = getGCellGrid()->getGCell( Point(track->getAxis(),element->getSourceU()) ); Katabatic::GCell* end = getGCellGrid()->getGCell( Point(track->getAxis(),element->getTargetU()) ); @@ -440,6 +438,7 @@ namespace Kite { // Test signals from . //DebugSession::addToTrace( getCell(), "auxsc37" ); // Test signals from . + //DebugSession::addToTrace( getCell(), "cout" ); //DebugSession::addToTrace( getCell(), "acc_reg_ckx" ); //DebugSession::addToTrace( getCell(), "acc_reg_nckx" ); //DebugSession::addToTrace( getCell(), "i(0)" ); @@ -456,6 +455,7 @@ namespace Kite { // Test signals from (M1-VLSI). //DebugSession::addToTrace( getCell(), "zero_to_pads" ); //DebugSession::addToTrace( getCell(), "shift_r" ); + //DebugSession::addToTrace( getCell(), "cin_from_pads" ); // Test signals from (R3000,micro-programmed). //DebugSession::addToTrace( getCell(), "scout" ); //DebugSession::addToTrace( getCell(), "adr_1_n" ); @@ -490,6 +490,7 @@ namespace Kite { //DebugSession::addToTrace( getCell(), "mips_r3000_1m_dp_mux32_s_mw_se_sel0" ); //DebugSession::addToTrace( getCell(), "mips_r3000_1m_dp_mux32_badr_sd_sel1" ); //DebugSession::addToTrace( getCell(), "mips_r3000_1m_dp_addsub32_carith_se_pi_3_21" ); + //DebugSession::addToTrace( getCell(), "mips_r3000_1m_ct_cause_rx(1)" ); //Test signals from (R3000,pipeline+chip). //DebugSession::addToTrace( getCell(), "mips_r3000_core.mips_r3000_1m_dp.banc.reada0" ); //DebugSession::addToTrace( getCell(), "mips_r3000_core.mips_r3000_1m_ct.i_ri(29)" ); diff --git a/kite/src/Manipulator.cpp b/kite/src/Manipulator.cpp index b8a39f2f..14adffc9 100644 --- a/kite/src/Manipulator.cpp +++ b/kite/src/Manipulator.cpp @@ -649,12 +649,19 @@ namespace Kite { ltrace(200) << "* Looking // " << segment2 << endl; if ( segment2->getNet() == ownerNet ) continue; - if ( not toFree.intersect(segment2->getCanonicalInterval()) ) continue; + if ( not toFree.intersect(segment2->getCanonicalInterval()) ) { + ltrace(200) << "No intersection with: " << segment2->getCanonicalInterval() << endl; + continue; + } if ( segment2->isBlockage() or segment2->isFixed() ) { + ltrace(200) << "Ovelap is blockage or fixed." << endl; success = false; continue; } - if ( segment2->getId() >= maxId ) continue; + // if ( segment2->getId() >= maxId ) { + // ltrace(200) << "Ovelap has an Id superior to AutoSegment::maxId:" << maxId << "." << endl; + // continue; + // } ripupNet = segment2->getNet(); DataNegociate* data2 = segment2->getDataNegociate();