aboutsummaryrefslogtreecommitdiffstats
path: root/common/router2.cc
Commit message (Collapse)AuthorAgeFilesLines
* cleanup: Spelling fixesD. Shah2021-01-281-1/+1
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* cleanup: Fix compiler warningsD. Shah2021-01-281-1/+2
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* router2: Avoid ripup of critical pathDavid Shah2020-12-011-2/+17
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Make splitting of wires thread-safeDavid Shah2020-12-011-4/+39
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Add per-thread rngDavid Shah2020-12-011-1/+7
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Fix case where src and dst are the sameDavid Shah2020-11-301-1/+4
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Port nextpnr-{ice40,ecp5} to WASI.whitequark2020-05-231-3/+17
| | | | | | | | | | | | | | | | | | | | | This involves very few changes, all typical to WASM ports: * WASM doesn't currently support threads or atomics so those are disabled. * WASM doesn't currently support exceptions so the exception machinery is stubbed out. * WASM doesn't (and can't) have mmap(), so an emulation library is used. That library currently doesn't support MAP_SHARED flags, so MAP_PRIVATE is used instead. There is also an update to bring ECP5 bbasm CMake rules to parity with iCE40 ones, since although it is possible to embed chipdb into nextpnr on WASM, a 200 MB WASM file has very few practical uses. The README is not updated and there is no included toolchain file because at the moment it's not possible to build nextpnr with upstream boost and wasi-libc. Boost requires a patch (merged, will be available in boost 1.74.0), wasi-libc requires a few unmerged patches.
* router2: Prevent overflowDavid Shah2020-03-221-2/+3
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Improve flow and log outputDavid Shah2020-02-031-5/+12
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Add a simple timing heuristicDavid Shah2020-02-031-0/+27
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Make magic numbers configurableDavid Shah2020-02-031-38/+54
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Fix case of undriven unsunk arcsDavid Shah2020-02-031-0/+2
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Multi-thread in more casesDavid Shah2020-02-031-6/+32
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Flatten wire structureDavid Shah2020-02-031-79/+88
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Experiment with data structuresDavid Shah2020-02-031-36/+63
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Profile nets by route timeDavid Shah2020-02-031-0/+24
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: ImprovementsDavid Shah2020-02-031-12/+17
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: reduce bias cost factorDavid Shah2020-02-031-1/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: special case improvementDavid Shah2020-02-031-1/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: reduce memory footprintDavid Shah2020-02-031-21/+28
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: debuggingDavid Shah2020-02-031-2/+6
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: debuggingDavid Shah2020-02-031-1/+6
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: first pass at reserved wiresDavid Shah2020-02-031-3/+65
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: debugging some edge casesDavid Shah2020-02-031-10/+10
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: speedupDavid Shah2020-02-031-1/+2
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Improve backwards routing of some casesDavid Shah2020-02-031-1/+27
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: tweaksDavid Shah2020-02-031-3/+5
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Attempt to fix some stuck routing casesDavid Shah2020-02-031-9/+26
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: DebuggingDavid Shah2020-02-031-1/+2
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Working on multithreadingDavid Shah2020-02-031-1/+59
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Some simple partitioningDavid Shah2020-02-031-0/+44
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Congestion map generationDavid Shah2020-02-031-0/+46
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Add IPIN cost to modelDavid Shah2020-02-031-1/+3
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Changes for ECP5David Shah2020-02-031-1/+19
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Deal with some special casesDavid Shah2020-02-031-0/+10
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Binding nextpnr wires/pipsDavid Shah2020-02-031-6/+90
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Special backwards mode for gnd/vcc-like netsDavid Shah2020-02-031-3/+67
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Bounding box improvementsDavid Shah2020-02-031-8/+36
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: nearly thereDavid Shah2020-02-031-8/+21
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Net data fixesDavid Shah2020-02-031-7/+29
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: FixesDavid Shah2020-02-031-5/+28
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Add some test glueDavid Shah2020-02-031-27/+70
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: A* main loopDavid Shah2020-02-031-8/+80
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: helper functionsDavid Shah2020-02-031-3/+94
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: infrastructureDavid Shah2020-02-031-39/+83
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: Basic infrastructureDavid Shah2020-02-031-0/+202
Signed-off-by: David Shah <dave@ds0.me>