Skip to content

Commit

Permalink
fix for hierarchy connect module traverse
Browse files Browse the repository at this point in the history
Signed-off-by: andyfox-rushc <[email protected]>
  • Loading branch information
andyfox-rushc committed Dec 13, 2024
1 parent 676f845 commit 409d165
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/dbSta/src/dbNetwork.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2894,7 +2894,7 @@ void dbNetwork::getParentHierarchy(dbModule* start_module,
if (cur_module == top_module) {
return;
}
cur_module = start_module->getModInst()->getParent();
cur_module = cur_module->getModInst()->getParent();
}
}

Expand Down Expand Up @@ -3125,7 +3125,9 @@ void dbNetwork::hierarchicalConnect(dbITerm* source_pin,
} else {
dest_pin->connect(top_net);
}

//TODO: Clean up after everything is resolved.
//Turns out that there are intermediate states
/*
// During the addition of new ports and new wiring we may
// leave orphaned pins, clean them up.
std::set<dbModInst*> cleaned_up;
Expand All @@ -3145,6 +3147,7 @@ void dbNetwork::hierarchicalConnect(dbITerm* source_pin,
}
}
}
*/
}
}

Expand Down
69 changes: 69 additions & 0 deletions src/dbSta/src/tmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
///////////////////////////////////////////////////////////////////////////////
// BSD 3-Clause License
//
// Copyright (c) 2021, The Regents of the University of California
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// * Neither the name of the copyright holder nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

#pragma once

#include "AbstractPowerDensityDataSource.h"
#include "gui/heatMap.h"

namespace sta {
class dbSta;
class Corner;

class PowerDensityDataSource : public gui::RealValueHeatMapDataSource,
public AbstractPowerDensityDataSource
{
public:
PowerDensityDataSource(dbSta* sta, utl::Logger* logger);

protected:
bool populateMap() override;
void combineMapData(bool base_has_value,
double& base,
double new_data,
double data_area,
double intersection_area,
double rect_area) override;

private:
sta::dbSta* sta_;

bool include_internal_ = true;
bool include_leakage_ = true;
bool include_switching_ = true;

std::string corner_;

sta::Corner* getCorner() const;
};

} // namespace sta

0 comments on commit 409d165

Please sign in to comment.