Commit Graph

4659 Commits

Author SHA1 Message Date
Lofty
25ca4cdc01 awooter: retry partitioning if there are overused wires 2023-12-06 17:52:37 +00:00
Lofty
bed9ae6c17 awooter: multithreaded routing 2023-12-06 17:52:37 +00:00
Lofty
1685482552 awooter: fix multithreaded partitioning 2023-12-06 17:52:37 +00:00
Lofty
879b6e6691 awooter: single-thread pathfinding 2023-12-06 17:52:37 +00:00
Lofty
7ef4be49dc awooter: cargo fmt 2023-12-06 17:52:37 +00:00
Lofty
a1fb22909c awooter: partitioner improvements 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
a7e25754e1 make pip exploration not cursed 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
8e66d3d7d8 add uphill pips iter 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
1c0885435c make find_best_pip take an arc instead of wires 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
fe5daebba5 improve partition sanity check quality of life 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
38908e64fb use new arc type in partitioner 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
88f88e48cb only search pips inside partition bounds 2023-12-06 17:52:37 +00:00
Lofty
686648c406 awooter: wip 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
d64289da65 finalize downhill iterator 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
0c647c0471 create downhill iter wrapper 2023-12-06 17:52:37 +00:00
Lofty
0aadeab542 awooter: further clean up 2023-12-06 17:52:37 +00:00
Lofty
063c96c3df awooter: add Arc struct 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
b50e56a543 split partitioning code into seperate file 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
862fbf7ca7 split arc extraction into function 2023-12-06 17:52:37 +00:00
Lofty
6279d1642c awooter: clean up unused code 2023-12-06 17:52:37 +00:00
Lofty
fbbcf6aa67 awooter: return of the progress bar 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
d7dbaa2c7e fix bug in split_line_over_x 2023-12-06 17:52:37 +00:00
Lofty
b4a442ba29 awooter: simple time measurement 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
0a46c5b491 make partitioner run in parallel over nets 2023-12-06 17:52:37 +00:00
Lofty
3931daefc7 awooter: atomics instead 2023-12-06 17:52:37 +00:00
Lofty
1b80a559e2 awooter: better locking 2023-12-06 17:52:37 +00:00
Lofty
026c2883e5 awooter: properly parallelise 2023-12-06 17:52:37 +00:00
Lofty
937acd3ee9 awooter: clamp pip indices 2023-12-06 17:52:37 +00:00
Lofty
49b6d894d1 awooter: cargo fmt 2023-12-06 17:52:37 +00:00
Lofty
8276bf255d awooter: parallelise partitioning 2023-12-06 17:52:37 +00:00
Lofty
ac43ddbcc5 awooter: refactor and bugfix
Co-authored-by: Spacecat-Chan <49094338+SpaceCat-Chan@users.noreply.github.com>
2023-12-06 17:52:37 +00:00
Lofty
5d74f340dd awooter: further prettify 2023-12-06 17:52:37 +00:00
Lofty
94c921a48e awooter: prettify 2023-12-06 17:52:37 +00:00
Lofty
9a2532be45 awooter: net-based partitioner 2023-12-06 17:52:37 +00:00
Lofty
95e802ee3d awooter: wire storage and some cleanup 2023-12-06 17:52:37 +00:00
Lofty
153c8a9c6c awooter: 'better' FFI API 2023-12-06 17:52:37 +00:00
Lofty
d27bcbf19e awooter: fix an API soundness issue 2023-12-06 17:52:37 +00:00
Lofty
2662354aae awooter: partition experiment code 2023-12-06 17:52:37 +00:00
Lofty
c821a68da7 awooter: add net import code 2023-12-06 17:52:37 +00:00
Jubilee
a579b5852a Specify PROFILE when importing awooter
Otherwise CMake and Corrosion get confused about how to put things together.
2023-12-06 17:52:37 +00:00
Lofty
8052a3eea6 awooter: highly, highly WIP 2023-12-06 17:52:37 +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
YRabbit
90d4863dd4 gowin: Himbaechel. Add GW1NZ-1 BSRAM.
The following primitives are implemented for the GW1NZ-1 chip:

* 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).

Also:
 - The creation of databases for GW1NS-2 has been removed - this was not
   planned to be supported in Himbaechel from the very beginning and
   even examples were not created in apicula for this chip due to the
   lack of boards with it on sale.
 - It is temporarily prohibited to connect DFFs and LUTs into clusters
   because for some reason this prevents the creation of images on lower
   chips (placer cannot find the placement), although without these
   clusters the images are quite working. Requires further research.
 - Added creation of ALU with mode 0 - addition. Such an element is not
   generated by Yosys, but it is a favorite vendor element and its
   support here greatly simplifies the compilation of vendor netlists.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-11-26 13:08:09 +01:00
YRabbit
f2c280feda gowin: Himbaechel. Initial BSRAM support
Only pROM/pROMX9 for now

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-11-26 13:08:09 +01:00
Miodrag Milanovic
e3f4578b3b CRLF -> LF eol 2023-11-23 09:22:07 +01:00
Miodrag Milanovic
ec60542ffd create wiremap for himbaechel arch 2023-11-23 09:22:07 +01:00
Miodrag Milanovic
1ec8e411d7 set render bound box, so grid is displayed 2023-11-23 08:21:26 +01:00
Miodrag Milanovic
0b8a93eed5 fix compile warning 2023-11-23 08:21:26 +01:00
gatecat
de3d5be8f0 python: Remove deprecated use of Py_SetProgramName
Signed-off-by: gatecat <gatecat@ds0.me>
2023-11-23 06:49:15 +01:00