gatecat
8b7dbbedd1
static: Lower start penalty
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-11 13:17:44 +02:00
gatecat
36595c5486
static: Disable dark nodes for now
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-11 12:28:44 +02:00
gatecat
68fb8c0d4c
static: Fix spacer insertion
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-11 12:28:44 +02:00
gatecat
9cb5fc6428
static: Use centroid as position
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-06 12:32:24 +02:00
gatecat
516f6874a6
static: Compute a 'dense' placement grid to avoid excess dark nodes
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-06 11:55:36 +02:00
gatecat
c4cbc3ff88
static: Log legalisation displacement per group
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-06 08:29:47 +02:00
gatecat
6fffc4d2c7
static: Fix offset when aligning macros
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-06 07:59:27 +02:00
gatecat
946faea376
static: Fallback termination criteria for tricky cases
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-05 15:44:20 +02:00
gatecat
272b1097d0
static: Fix handling of heterogeneous macros
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-05 15:29:38 +02:00
gatecat
211cb5703c
static: Consistent HPWL reporting with other placers
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-04 18:12:09 +02:00
gatecat
ca6a25e41e
static: Fix exponent overflow on big designs
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-04 18:12:09 +02:00
gatecat
92c392f5f5
heap: Fix updating of chain cells
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-05-04 13:11:05 +02:00
Catherine
ec1b3fde8f
Merge pull request #1711 from YosysHQ/cat/wasm-exception-cleanup
...
Remove Wasm exception handling workarounds
2026-05-01 13:34:28 +01:00
Catherine
1407b33558
Ensure only non-truncating values are returned from main().
...
POSIX allows any `int` value to be returned but specifies that only
the low 8 bits are available in some contexts:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/_exit.html
For reasons that aren't entirely clear, WASI requires the value to be
in range [0;126), and this is enforced with an assertion at runtime
level in Wasmtime. This should probably be fixed in Wasmtime but until
it is done there doesn't seem to be any harm in returning `125` instead
of `-1`. This also removes any discrepancy due to truncation.
2026-05-01 11:22:38 +00:00
Catherine
6cf255cc2b
Remove Wasm exception handling workarounds.
2026-05-01 11:08:43 +00:00
gatecat
98c18d7f14
router2: Fix ripup of constant nets
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-04-21 14:00:12 +02:00
myrtle
ce08c3053c
Remove unused --slack_redist_iter option ( #1704 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-04-20 16:19:00 +02:00
gatecat
d5e6bfc74e
clangformat
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-04-20 15:45:20 +02:00
gatecat
68978f076f
router2: Also write congestion-per-net in heatmap mode
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-04-20 10:04:41 +02:00
mrcmry
33e1c9033b
Improve file open error messages ( #1700 )
...
Define open_(o|i)fstream_and_log_error in log.h to:
- quote 'filename'
- add error cause to easier troubleshoot
- use existing consistent string style
- easily allows OS specific message
Introduce it when file are opened and add it where error message
was missing.
2026-04-19 16:41:47 +02:00
Lunaphied
8db8311103
remove scopedlock ( #1698 )
...
* common/kernel: removed ScopedLock type in favor of C++11 lock_guard
* fix unlock_early() usages
2026-04-15 09:30:42 +02:00
myrtle
41032f9d77
cleanup: Remove dead files ( #1688 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-04-03 09:41:32 +02:00
Lunaphied
d6b4d3ed3d
common: fix missing header in array2d.h ( #1686 )
...
This trips up my LSP and is technically wrong.
2026-04-02 21:37:20 +02:00
myrtle
c6b876fc85
control set awareness in the HeAP legaliser ( #1678 )
...
* xilinx: Index control sets
Signed-off-by: gatecat <gatecat@ds0.me >
* heap: data structure for control sets
Signed-off-by: gatecat <gatecat@ds0.me >
* heap: fail faster on control set mismatch
Signed-off-by: gatecat <gatecat@ds0.me >
* xilinx: Reduce control set search radius
Signed-off-by: gatecat <gatecat@ds0.me >
* Fix compiler warning
Signed-off-by: gatecat <gatecat@ds0.me >
* heap: Allow disabling control set awareness for comparison/debug
Signed-off-by: gatecat <gatecat@ds0.me >
* heap: Add some notes about control sets
Signed-off-by: gatecat <gatecat@ds0.me >
* heap: Fix typo and regression
Signed-off-by: gatecat <gatecat@ds0.me >
* heap: Add a schedule for ctrlset search radius
Signed-off-by: gatecat <gatecat@ds0.me >
* heap: Tidy up
Signed-off-by: gatecat <gatecat@ds0.me >
---------
Signed-off-by: gatecat <gatecat@ds0.me >
2026-04-02 13:36:50 +02:00
mrcmry
4f5db1f7b9
gui: fix segfault when providing --sdc ( #1682 )
2026-04-01 11:09:00 +02:00
gatecat
93fe10ceb1
heap: fix calculation of legalisation runtime
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-03-19 14:59:46 +01:00
myrtle
aeffe819de
heap: Refactor strict legaliser into multiple functions ( #1671 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-03-18 19:19:45 +01:00
gatecat
fcaafbaa08
static: Fix NaN on a big xilinx design
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-03-04 09:46:08 +01:00
myrtle
575689b7e4
himbaechel: Enable use of electrostatic placer ( #1657 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-03-03 12:19:41 +01:00
myrtle
2b4deb4313
timing: Fix critical path report with async resets ( #1648 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-02-25 14:21:25 +01:00
gatecat
0d3a578539
run clangformat
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-02-25 11:18:14 +01:00
Miodrag Milanović
b8a6559a3f
gatemate: add CP lines as clock and general routing [sc-184] ( #1638 )
...
* gatemate: add alternate clock routes
* use additional pins
* Fix clock router and timings
* Fix DDR nets
* Test passtrough concept
* remove not used variable
* wip
* handle pip masks
* Cleanup
* create CPE_CPLINES cells and set properties on them
* Fix pip masking
* rough code to break cplines into subnets
* add ports to cell
* mux bridges need cell bel pins too
* fix multiplier output register packing
* remove empty if
* Fix ODDR
* Add options to disable some pips
* Use resources info
* mask field to resource field
* produce valid netlist with propagation netlist at least
* adapt reassign_cplines for internal resource pips
* Handle block and resources
* fix formatting
* It is required to set all mandatory properties now
* arch API for resources
* current progress
* Add option to skip bridges
* perform per-wire resource congestion costing
* Added no-cpe-cp option
* resource bugfix
* comment out spammy debug message
* Fix routing conflicts issues
* allow only some pass trough for clock router
* handle inversion bits for pass signals
* verify inversion before/after assigning bridges
* we care only if there is net
* Revert "we care only if there is net"
This reverts commit 3da2769e31 .
* Revert "verify inversion before/after assigning bridges"
This reverts commit 8613ee17c8 .
* chipdb version bump
* clangformat
* cleanup
* cleanup
* Initial conversion to GroupId
* Keep group info in pip extra
* Cleanup headers
* Initialize resource efficiently
* Addressing review comments
* improve resource docs
* Make CP lines not use as clocks as default
---------
Co-authored-by: Lofty <dan.ravensloft@gmail.com >
2026-02-25 08:22:16 +01:00
myrtle
501b36e646
gowin placement performance improvements, phase 3 ( #1646 )
...
* gowin: Improve placer performance
Signed-off-by: gatecat <gatecat@ds0.me >
* Add blocker cells for LUTRAM
Signed-off-by: gatecat <gatecat@ds0.me >
* gowin: Faster validity checks
Signed-off-by: gatecat <gatecat@ds0.me >
* heap: Improve macro handling, in verbose report per cell type
Signed-off-by: gatecat <gatecat@ds0.me >
---------
Signed-off-by: gatecat <gatecat@ds0.me >
2026-02-24 20:56:54 +01:00
myrtle
2400a90e04
router2: Try harder on constants to prevent infinite loop ( #1647 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-02-24 14:28:25 +01:00
myrtle
49ba0b277f
Support use of router2 for gowin ( #1636 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2026-02-17 09:26:25 +01:00
Miodrag Milanović
a530283600
Cleanup Context API ( #1593 )
...
* Cleanup Context API
* Remove exit to prvent crash
2025-10-23 14:44:14 +02:00
myrtle
c7cfb0aa4b
Remove use of boost system and filesystem ( #1591 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2025-10-22 15:01:21 +02:00
Miodrag Milanović
36045543c7
gatemate: support multiple clock distribution strategies ( #1574 )
...
* gatemate: support multiple clock distribution strategies
* error out on non supported cases
* Implement full use strategy
* Address review comments
2025-10-15 15:33:21 +02:00
Miodrag Milanović
e7f9060efb
placer_heap: fix clamping to region ( #1569 )
2025-10-06 09:08:24 +02:00
Miodrag Milanović
8ac7ed161a
gatemate: code cleanup and netlist fix ( #1554 )
2025-09-10 14:04:42 +02:00
myrtle
9715a1d565
heap: Allow chains to ripup other chains (opt-in only) ( #1552 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2025-09-05 09:02:19 +02:00
Miodrag Milanovic
8ab9301dc4
clangformat
2025-08-27 10:37:39 +02:00
Lofty
0a7cbe1cd7
router2: iteratively reserve arc driver wires, too ( #1539 )
2025-08-26 16:17:11 +02:00
Miodrag Milanovic
d796cc720b
clangformat
2025-08-22 11:08:39 +02:00
Lofty
0ad43e6ec7
gatemate: remove placement density restriction ( #1527 )
2025-08-08 17:02:56 +02:00
Miodrag Milanovic
0ebd7afab9
clangformat
2025-07-07 10:15:50 +02:00
myrtle
27635785c8
heap: Allow customising legalisation ordering ( #1507 )
...
Signed-off-by: gatecat <gatecat@ds0.me >
2025-07-01 15:32:28 +02:00
gatecat
ff695f26d5
sdc: Fix EOF handling during string parse
...
Fixes #1490
Signed-off-by: gatecat <gatecat@ds0.me >
2025-06-25 11:58:11 +02:00
Frans Skarman
0c86a218fd
Add sources to detailed timing report ( #1502 )
2025-06-25 11:39:25 +02:00
gatecat
226a2dfdb4
clangformat
...
Signed-off-by: gatecat <gatecat@ds0.me >
2025-05-20 13:19:52 +02:00