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 |
