aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/chip.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-06-13 12:37:23 +0200
committerClifford Wolf <clifford@clifford.at>2018-06-13 12:37:23 +0200
commit4d7f18dd98a7ef9540a279a8e27cb9dbef355af7 (patch)
tree28a147e3435cec7ff9cd22950b6b349260d1ec11 /ice40/chip.h
parent301136db033e6696b7d606f9833474fdd5e77aac (diff)
downloadnextpnr-4d7f18dd98a7ef9540a279a8e27cb9dbef355af7.tar.gz
nextpnr-4d7f18dd98a7ef9540a279a8e27cb9dbef355af7.tar.bz2
nextpnr-4d7f18dd98a7ef9540a279a8e27cb9dbef355af7.zip
Redesign PosInfo API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'ice40/chip.h')
-rw-r--r--ice40/chip.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/ice40/chip.h b/ice40/chip.h
index f8946610..2c95bf4e 100644
--- a/ice40/chip.h
+++ b/ice40/chip.h
@@ -42,6 +42,11 @@ struct DelayInfo
}
};
+struct PosInfo
+{
+ float x = 0, y = 0;
+};
+
// -----------------------------------------------------------------------
enum BelType
@@ -679,9 +684,12 @@ struct Chip
// -------------------------------------------------
- void getBelPosition(BelId bel, float &x, float &y) const;
- void getWirePosition(WireId wire, float &x, float &y) const;
- void getPipPosition(PipId pip, float &x, float &y) const;
+ PosInfo getBelPosition(BelId bel) const;
+ PosInfo getWirePosition(WireId wire) const;
+ PosInfo getPipPosition(PipId pip) const;
+ float estimateDelay(PosInfo src, PosInfo dst) const;
+
+ // -------------------------------------------------
std::vector<GraphicElement> getBelGraphics(BelId bel) const;
std::vector<GraphicElement> getWireGraphics(WireId wire) const;