Commit Graph

4666 Commits

Author SHA1 Message Date
Lofty
55ccacdcb8 awooter: router improvements and a bugfix 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
4a51da0900 make pip selection cache 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
ccd454c1f8 split pip selection into seperate struct 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
0f9cf8775c move special casing out of partitioner 2023-12-06 17:45:20 +00:00
Lofty
c13e840e41 awooter: significantly speed up partitioner
Co-authored-by: SpaceCat-Chan <49094338+SpaceCat-Chan@users.noreply.github.com>
2023-12-06 17:45:20 +00:00
SpaceCat-Chan
838efaf2f1 make slight improvement to partitioner 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
6f940d29b9 make a theoretically correct partitioner 2023-12-06 17:45:20 +00:00
Lofty
483e42d5e7 awooter: retry partitioning if there are overused wires 2023-12-06 17:45:20 +00:00
Lofty
ac3ef9b0bb awooter: multithreaded routing 2023-12-06 17:45:20 +00:00
Lofty
290291cca6 awooter: fix multithreaded partitioning 2023-12-06 17:45:20 +00:00
Lofty
d9161d9142 awooter: single-thread pathfinding 2023-12-06 17:45:20 +00:00
Lofty
3408f532ec awooter: cargo fmt 2023-12-06 17:45:20 +00:00
Lofty
522dd3da7c awooter: partitioner improvements 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
8fd983af15 make pip exploration not cursed 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
035247ebbf add uphill pips iter 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
afaaff6b00 make find_best_pip take an arc instead of wires 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
f7fc239f75 improve partition sanity check quality of life 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
3694632aa4 use new arc type in partitioner 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
908d7ef69a only search pips inside partition bounds 2023-12-06 17:45:20 +00:00
Lofty
6213b13277 awooter: wip 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
b333080715 finalize downhill iterator 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
2ff491c717 create downhill iter wrapper 2023-12-06 17:45:20 +00:00
Lofty
bc7f7845d2 awooter: further clean up 2023-12-06 17:45:20 +00:00
Lofty
a16247d512 awooter: add Arc struct 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
319d1c4620 split partitioning code into seperate file 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
9b4c6966be split arc extraction into function 2023-12-06 17:45:20 +00:00
Lofty
2c1a9d18ed awooter: clean up unused code 2023-12-06 17:45:20 +00:00
Lofty
cb7dba6dd5 awooter: return of the progress bar 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
ae756e2d8c fix bug in split_line_over_x 2023-12-06 17:45:20 +00:00
Lofty
1cc00308dc awooter: simple time measurement 2023-12-06 17:45:20 +00:00
SpaceCat-Chan
2d3c05da85 make partitioner run in parallel over nets 2023-12-06 17:45:20 +00:00
Lofty
ba9067afaf awooter: atomics instead 2023-12-06 17:45:20 +00:00
Lofty
268906819d awooter: better locking 2023-12-06 17:45:20 +00:00
Lofty
1077cd3654 awooter: properly parallelise 2023-12-06 17:45:20 +00:00
Lofty
c00fba75e9 awooter: clamp pip indices 2023-12-06 17:45:20 +00:00
Lofty
2a18fe58c6 awooter: cargo fmt 2023-12-06 17:45:20 +00:00
Lofty
f1a4848c0f awooter: parallelise partitioning 2023-12-06 17:45:20 +00:00
Lofty
873a70ddd0 awooter: refactor and bugfix
Co-authored-by: Spacecat-Chan <49094338+SpaceCat-Chan@users.noreply.github.com>
2023-12-06 17:45:20 +00:00
Lofty
c8a2b842d6 awooter: further prettify 2023-12-06 17:45:20 +00:00
Lofty
e64cd668b2 awooter: prettify 2023-12-06 17:45:20 +00:00
Lofty
d50ab6139c awooter: net-based partitioner 2023-12-06 17:45:20 +00:00
Lofty
f64caaae24 awooter: wire storage and some cleanup 2023-12-06 17:45:20 +00:00
Lofty
4a0406420b awooter: 'better' FFI API 2023-12-06 17:45:20 +00:00
Lofty
b92a1bf52d awooter: fix an API soundness issue 2023-12-06 17:45:20 +00:00
Lofty
0cc3245d4b awooter: partition experiment code 2023-12-06 17:45:20 +00:00
Lofty
60cc6b7765 awooter: add net import code 2023-12-06 17:45:20 +00:00
Jubilee
195d344d9a Specify PROFILE when importing awooter
Otherwise CMake and Corrosion get confused about how to put things together.
2023-12-06 17:45:20 +00:00
Lofty
d5d6a07c34 awooter: highly, highly WIP 2023-12-06 17:45:20 +00:00
gatecat
6d9322457e static: Reduce stddev of initial solution
Signed-off-by: gatecat <gatecat@ds0.me>
2023-11-26 16:51:47 +01:00
YRabbit
c13b34f20e gowin: Himbaechel. Add BSRAM for all chips.
The following primitives are implemented for the GW1N-1, GW2A-18,
    GW2AR-18C, GW1NSR-4C, GW1NR-9C, GW1NR-9 and GW1N-4 chips:

    * pROM     - read only memory - (bitwidth: 1, 2, 4, 8, 16, 32).
    * pROMX9   - read only memory - (bitwidth: 9, 18, 36).
    * SDPB     - semidual port    - (bitwidth: 1, 2, 4, 8, 16, 32).
    * SDPX9B   - semidual port    - (bitwidth: 9, 18, 36).
    * DPB      - dual port        - (bitwidth: 16).
    * DPX9B    - dual port        - (bitwidth: 18).
    * SP       - single port      - (bitwidth: 1, 2, 4, 8, 16, 32).
    * SPX9     - single port      - (bitwidth: 9, 18, 36).

    For GW1NSR-4C and GW1NR-9 chips, SP/SPX9 primitives with data widths
    of 32/36 bits are implemented using a pair of 16-bit wide
    primitives.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-11-26 13:08:09 +01:00