aboutsummaryrefslogtreecommitdiffstats
path: root/gui/designwidget.cc
diff options
context:
space:
mode:
authorEddie Hung <eddie.hung+gitlab@gmail.com>2018-07-24 01:19:09 +0000
committerEddie Hung <eddie.hung+gitlab@gmail.com>2018-07-24 01:19:09 +0000
commit30ec1cfbd7dd02578fa2a3e33612e863f01ea959 (patch)
treee77d130f96c8061374318f036856aa73d431017d /gui/designwidget.cc
parenteeb93d6eda613c0946867118c1ff93f2462e417f (diff)
parent771edd1fda8692930e186a8913b7588d18fda710 (diff)
downloadnextpnr-30ec1cfbd7dd02578fa2a3e33612e863f01ea959.tar.gz
nextpnr-30ec1cfbd7dd02578fa2a3e33612e863f01ea959.tar.bz2
nextpnr-30ec1cfbd7dd02578fa2a3e33612e863f01ea959.zip
Merge branch 'redist_slack' into 'redist_slack'
Update budgets during routing See merge request SymbioticEDA/nextpnr!15
Diffstat (limited to 'gui/designwidget.cc')
-rw-r--r--gui/designwidget.cc23
1 files changed, 11 insertions, 12 deletions
diff --git a/gui/designwidget.cc b/gui/designwidget.cc
index a59307f0..91ec5163 100644
--- a/gui/designwidget.cc
+++ b/gui/designwidget.cc
@@ -497,6 +497,14 @@ void DesignWidget::onItemSelectionChanged()
addProperty(topItem, QVariant::String, "Conflicting Cell", ctx->getConflictingBelCell(bel).c_str(ctx),
ElementType::CELL);
+ QtProperty *belpinsItem = addSubGroup(topItem, "Ports");
+ for (const auto &item : ctx->getBelPins(bel)) {
+ QtProperty *portInfoItem = addSubGroup(belpinsItem, ctx->portPinToId(item).c_str(ctx));
+ addProperty(portInfoItem, QVariant::String, "Name", ctx->portPinToId(item).c_str(ctx));
+ addProperty(portInfoItem, QVariant::Int, "Type", int(ctx->getBelPinType(bel, item)));
+ WireId wire = ctx->getBelPinWire(bel, item);
+ addProperty(portInfoItem, QVariant::String, "Wire", ctx->getWireName(wire).c_str(ctx), ElementType::WIRE);
+ }
} else if (type == ElementType::WIRE) {
WireId wire = ctx->getWireByName(c);
QtProperty *topItem = addTopLevelProperty("Wire");
@@ -515,23 +523,14 @@ void DesignWidget::onItemSelectionChanged()
addProperty(delayItem, QVariant::Double, "Min Fall", delay.minFallDelay());
addProperty(delayItem, QVariant::Double, "Max Fall", delay.maxFallDelay());
- QtProperty *belpinItem = addSubGroup(topItem, "BelPin Uphill");
- BelPin uphill = ctx->getBelPinUphill(wire);
- if (uphill.bel != BelId())
- addProperty(belpinItem, QVariant::String, "Bel", ctx->getBelName(uphill.bel).c_str(ctx), ElementType::BEL);
- else
- addProperty(belpinItem, QVariant::String, "Bel", "", ElementType::BEL);
-
- addProperty(belpinItem, QVariant::String, "PortPin", ctx->portPinToId(uphill.pin).c_str(ctx), ElementType::BEL);
-
- QtProperty *downhillItem = addSubGroup(topItem, "BelPin Downhill");
- for (const auto &item : ctx->getBelPinsDownhill(wire)) {
+ QtProperty *belpinsItem = addSubGroup(topItem, "BelPins");
+ for (const auto &item : ctx->getWireBelPins(wire)) {
QString belname = "";
if (item.bel != BelId())
belname = ctx->getBelName(item.bel).c_str(ctx);
QString pinname = ctx->portPinToId(item.pin).c_str(ctx);
- QtProperty *dhItem = addSubGroup(downhillItem, belname + "-" + pinname);
+ QtProperty *dhItem = addSubGroup(belpinsItem, belname + "-" + pinname);
addProperty(dhItem, QVariant::String, "Bel", belname, ElementType::BEL);
addProperty(dhItem, QVariant::String, "PortPin", pinname);
}