aboutsummaryrefslogtreecommitdiffstats
path: root/common/nextpnr.h
diff options
context:
space:
mode:
authorEddie Hung <e.hung@imperial.ac.uk>2018-07-24 22:20:10 -0700
committerEddie Hung <e.hung@imperial.ac.uk>2018-07-24 22:20:10 -0700
commit9382938661613b84e3ad3155e414aaae2fa87da2 (patch)
tree107c14811cf2e91c82ee4f9ea983260ee7acea8c /common/nextpnr.h
parent4920cf18fa1128758dac2ffd12bf88d194863f17 (diff)
parent32c7247785f48b2307e559a0af50d9387bda8b49 (diff)
downloadnextpnr-9382938661613b84e3ad3155e414aaae2fa87da2.tar.gz
nextpnr-9382938661613b84e3ad3155e414aaae2fa87da2.tar.bz2
nextpnr-9382938661613b84e3ad3155e414aaae2fa87da2.zip
Merge branch 'master' into redist_slack
Diffstat (limited to 'common/nextpnr.h')
-rw-r--r--common/nextpnr.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/common/nextpnr.h b/common/nextpnr.h
index 021772fe..4a1aaac1 100644
--- a/common/nextpnr.h
+++ b/common/nextpnr.h
@@ -147,6 +147,7 @@ struct GraphicElement
{
G_NONE,
G_LINE,
+ G_ARROW,
G_BOX,
G_CIRCLE,
G_LABEL
@@ -272,6 +273,16 @@ struct CellInfo : ArchCellInfo
// cell_port -> bel_pin
std::unordered_map<IdString, IdString> pins;
+
+ // placement constraints
+ CellInfo *constr_parent;
+ std::vector<CellInfo*> constr_children;
+ const int UNCONSTR = INT_MIN;
+ int constr_x = UNCONSTR; // this.x - parent.x
+ int constr_y = UNCONSTR; // this.y - parent.y
+ int constr_z = UNCONSTR; // this.z - parent.z
+ bool constr_abs_z = false; // parent.z := 0
+ // parent.[xyz] := 0 when (constr_parent == nullptr)
};
struct DeterministicRNG