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
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