diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-07-24 19:21:36 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2018-07-24 19:21:36 +0200 |
commit | a08b71c676ff664828105654e3c09e13fa690270 (patch) | |
tree | db9bae53ca7bb8f3fcab5df836c3bfe89e51ce7a | |
parent | 62bcda87bdd6a847b4ff27e59cf122caa7efba11 (diff) | |
parent | f86fc6e7fdf91341a1bd44415e578767fa0b13fb (diff) | |
download | nextpnr-a08b71c676ff664828105654e3c09e13fa690270.tar.gz nextpnr-a08b71c676ff664828105654e3c09e13fa690270.tar.bz2 nextpnr-a08b71c676ff664828105654e3c09e13fa690270.zip |
Merge branch 'placeconstr2'
-rw-r--r-- | common/nextpnr.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/common/nextpnr.h b/common/nextpnr.h index 3ba4f3b3..4a1aaac1 100644 --- a/common/nextpnr.h +++ b/common/nextpnr.h @@ -273,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 |