Commit Graph

40 Commits

Author SHA1 Message Date
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
myrtle ce08c3053c
Remove unused --slack_redist_iter option (#1704)
Signed-off-by: gatecat <gatecat@ds0.me>
2026-04-20 16:19:00 +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
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
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 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
gatecat 226a2dfdb4 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2025-05-20 13:19:52 +02:00
Catherine cd7f7c12f1 CMake: refactor architecture-specific build system parts.
Two user-visible changes were made:
* `-DUSE_RUST` is replaced with `-DBUILD_RUST`, by analogy with
  `-DBUILD_PYTHON`
* `-DCOVERAGE` was removed as it doesn't work with either modern GCC
  or Clang
2025-01-21 17:13:03 +00:00
Catherine 5fe680390f
Various fixes for clang/libc++ build (#1415)
* Gowin: add header includes required on libstdc++.

* kernel: fix incorrect printf-style format.

* himbaechel: add missing `override` qualifiers.

* Gowin: remove unnecessary `std::move`.

These calls inhibit RVO, a stronger optimization than moving an object.
2025-01-12 08:11:33 +01:00
Meinhard Kissich cf42baa43b
Fix RNG seed initialization (#1383) 2024-10-09 18:25:02 +02:00
Jonas Thörnblad 6ca64526bb Fix handling of RNG seed
* Fix truncation of output seed value from 64 bits to 32 bits (int
  instead of uint64) when written to json file.

* Fix input seed value conversion when --seed option is used.

* Remove input seed value scrambling (use of rngseed()) when --seed
  or --randomize-seed option is used since the output seed value will
  be the scrambled value and not the seed that was actually supplied
  or generated.
2024-09-18 16:29:32 +02:00
Rowan Goemans 0d5d32951c
SDC parsing support (#1348)
* kernel: Add SDC file parser

* kernel: Add sdc as valid option

* kernel/sdc: Add error on EOF when fetching strings

* kernel/sdc: WIP command parsing for set_false_path

* kernel/sdc: Fully parse set_false_path

* kernel/sdc: Handle review comments
2024-08-12 17:45:27 +02:00
gatecat a29a17f8f2 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2024-06-18 13:54:12 +02:00
gmanricks f99346ba61 fix for windows path 2024-05-06 11:22:56 +02:00
gatecat 3f2451f8d7 static: Guard density CSV dumps behind a flag
Signed-off-by: gatecat <gatecat@ds0.me>
2024-05-03 09:50:40 +02:00
Patrick Dähne f085950383 Fixed header files for boost 1.85.0 2024-04-30 12:13:11 +02:00
Jason Thorpe 7f9f75c0d3 Tweak the FreeBSD version of proc_self_dirname() to work on NetBSD and use it.
Resolves issue #1298.
2024-03-27 22:02:16 +00:00
Justin Rajewski 95f0a19391 Fixes for building on windows 2023-10-26 21:21:14 +02:00
Justin Rajewski 1238b69d74 Fixes for building on windows 2023-10-26 21:21:14 +02:00
YRabbit f5996ff4a1 gowin: Himbaechel. Support DragonFlyBSD
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-09-16 07:38:57 +02:00
YRabbit 8a54e5ec1c gowin: Himbaechel. Support DragonFlyBSD
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-09-16 07:38:57 +02:00
YRabbit 165e89f49a gowin: Himbaechel. Support DragonFlyBSD
We add support right here so that later I don’t have to make patches to the ports.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-09-16 07:38:57 +02:00
gatecat 565927dfcc himbaechel: Add discovery of uarch and chipdb
Signed-off-by: gatecat <gatecat@ds0.me>
2023-09-15 08:23:43 +02:00
rowanG077 cfd3a52a3c tmg: add timing_report 2023-08-18 09:15:37 +02:00
rowanG077 914999673c Rip out budgets 2023-06-20 10:57:10 +02:00
Lofty 5936464967
router2: add alternate weight option (#1162) 2023-05-25 10:47:10 +02:00
Catherine ebbaf8c08d common: disable parallel refinement only without threads.
Previously it was always disabled on WebAssembly builds.
2023-02-23 09:45:19 +01:00
Catherine 8f0731edc9 common: update deprecated use of `boost::filesystem::basename`. 2023-02-23 09:44:46 +01:00
rowanG077 32e818204e common: Print out generated seed value 2023-02-16 12:02:00 +01:00
rowanG077 3608c3eb02 common: Implement Werror flag 2023-02-13 10:52:05 +01:00
gatecat 7845b66512 Add missing <set> includes
Signed-off-by: gatecat <gatecat@ds0.me>
2023-01-20 09:04:41 +01:00
gatecat f89b959b5f clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2023-01-02 09:33:11 +01:00
Arjen Roodselaar be1f700b0b Set divisor instead of absolute value 2022-12-20 13:10:37 -08:00
Arjen Roodselaar 923458a2c9 Allow setting cell placement timeout 2022-12-20 11:15:06 -08:00
Arjen Roodselaar d5299f144f Add --no-placer-timeout flag to override timeout during refinement 2022-12-19 22:58:52 -08:00
Maciej Kurc 9000c41c4b Added the --ignore-rel-clk option to control timing checks for cross-domain paths, formatted code
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2022-09-20 14:40:40 +02:00
gatecat 49f178ed94 Split up common into kernel,place,route
Signed-off-by: gatecat <gatecat@ds0.me>
2022-04-08 13:42:54 +01:00