aboutsummaryrefslogtreecommitdiffstats
path: root/common/placer_heap.cc
Commit message (Collapse)AuthorAgeFilesLines
* HeAP: Don't call Eigen if system is emptyDavid Shah2019-04-011-1/+2
| | | | | | Fixes #259 Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Make log output more consistentDavid Shah2019-03-251-5/+8
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Per-iteration output all on one lineDavid Shah2019-03-241-7/+5
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Add PlacerHeapCfgDavid Shah2019-03-221-7/+21
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Make HeAP placer optionalDavid Shah2019-03-221-0/+16
| | | | | | | | | | | | | A CMake option 'BUILD_HEAP' (default on) configures building of the HeAP placer and the associated Eigen3 dependency. Default for the iCE40 is SA placer, with --heap-placer to use HeAP Default for the ECP5 is HeAP placer, as SA placer can take 1hr+ for large ECP5 designs and HeAP tends to give better QoR. --sa-placer can be used to use SA instead, and auto-fallback to SA if HeAP not built. Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Switching from TAUCS to EigenDavid Shah2019-03-221-21/+28
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* HeAP: Fix occupancy countDavid Shah2019-03-221-2/+3
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* HeAP: Legaliser fixesDavid Shah2019-03-221-2/+2
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Avoid getting stuck in legaliser ripupDavid Shah2019-03-221-3/+26
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Chain supportDavid Shah2019-03-221-7/+92
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: tidying upDavid Shah2019-03-221-109/+78
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Make strict legalisation wirelength driven where neededDavid Shah2019-03-221-6/+62
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Use for ECP5 as well as iCE40David Shah2019-03-221-9/+20
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Implement 'all+rotate' HeAP strategyDavid Shah2019-03-221-27/+53
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Weight arcs by criticality for timing-driven placementDavid Shah2019-03-221-6/+18
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Add multithreadingDavid Shah2019-03-221-27/+24
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: fine tuningDavid Shah2019-03-221-28/+100
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Add performance countersDavid Shah2019-03-221-3/+27
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Add SA-based iterative refinement after APDavid Shah2019-03-221-22/+40
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Spreading working acceptablyDavid Shah2019-03-221-64/+51
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Make cut-based spreading recursiveDavid Shah2019-03-221-17/+56
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Cut peturbation, binning and intra-bin linear spreadingDavid Shah2019-03-221-19/+132
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Cut finder for spreadingDavid Shah2019-03-221-18/+130
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Region finder for spreading and strict legaliserDavid Shah2019-03-221-36/+454
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Fix how initial placement handles chainsDavid Shah2019-03-221-9/+67
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Successful solver converganceDavid Shah2019-03-221-21/+95
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Add TAUCS wrapper and integrationDavid Shah2019-03-221-1/+46
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Initial infrastructureDavid Shah2019-03-221-0/+366
Signed-off-by: David Shah <dave@ds0.me>