3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-09-30 13:19:05 +00:00
Commit graph

15900 commits

Author SHA1 Message Date
Jannis Harder
86a46b9e5c log: Flush stdout before printing a fatal error to stderr
This hasn't been an issue when using -l to redirect or when stdout is
line buffered, explaining how we didn't notice this earlier, but for
`yosys ... > log` that extra flush is required to ensure all messages
preceding the fatal error are flushed.
2025-09-24 13:20:27 +02:00
Jannis Harder
71882debe7 simplemap: Remove leftover debug output 2025-09-24 13:20:27 +02:00
Jannis Harder
904d49c6d8 abc9_ops: Remove temporary debug log message
I missed this when adding the -replace_zbufs option.
2025-09-24 13:20:27 +02:00
Emil J
99a23c777c
Merge pull request #5380 from YosysHQ/emil/dev-jf-contributing
CONTRIBUTING: add link to dev jf doc, replace slack with Discourse
2025-09-24 11:07:55 +02:00
Emil Jiří Tywoniak
6de21a8999 CONTRIBUTING: prefer Discourse over GitHub Discussions 2025-09-24 11:07:26 +02:00
Jannis Harder
9c1d0a2346
Merge pull request #5382 from rocallahan/fix-bounds-check
Fix off-by-one error in bounds check in `RTLIL::SigChunk::operator[]`
2025-09-24 08:41:16 +02:00
Jannis Harder
7a69dbb63d
Merge pull request #5372 from rocallahan/abc-done
Make ABC_DONE tracking more robust
2025-09-24 08:40:26 +02:00
github-actions[bot]
ef22c6ee73 Bump version 2025-09-24 00:22:58 +00:00
Robert O'Callahan
0a17205a95 Fix off-by-one error in bounds check 2025-09-23 21:29:57 +00:00
Emil J
5f6819fd76
Merge pull request #5361 from YosysHQ/emil/simplemap-transfer-src
simplemap: fix src attribute transfer
2025-09-23 20:40:57 +02:00
Emil Jiří Tywoniak
6527cc2134 gowin: fix test 2025-09-23 20:03:50 +02:00
Emil Jiří Tywoniak
9409a11be4 CONTRIBUTING: don't mention dead slack, add link to dev jf doc 2025-09-23 19:34:13 +02:00
Emil J
a316b8f90c
Merge pull request #4997 from YosysHQ/emil/techmap-alu-half-adder
techmap: map $alu to $fa instead of relying on extract_fa
2025-09-23 18:40:38 +02:00
KrystalDelusion
d4071b63f7
Merge pull request #5268 from YosysHQ/krys/cutpoint_inout
Track wire drivers in cutpoint
2025-09-24 04:14:19 +12:00
Miodrag Milanović
fcc3d7132d
Fix building and running unit tests (#5374)
* Fix building and running unit tests

* Enable unit tests

* Add gtest always

* test-sanitizers.yml: Use makefile.conf

* proper test setup

* make it run on macOS

* Run libyosys build only for unit tests after testing is done

* Disable LTO on public CI

---------

Co-authored-by: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com>
2025-09-23 17:10:18 +02:00
Emil J. Tywoniak
d30f7847d8 techmap: map $alu to $fa instead of relying on extract_fa 2025-09-23 17:05:12 +02:00
George Rennie
b586043647
Merge pull request #5379 from YosysHQ/george/dump_cmds_json
docs typo: -dump-cmds-json
2025-09-23 14:39:19 +01:00
George Rennie
398e5d4bf0 docs typo: -dump-cmds-json 2025-09-23 14:36:27 +01:00
Jannis Harder
e8f8297e5d
Merge pull request #5376 from rocallahan/remove-more-cstr
Remove more uses of `.c_str()`
2025-09-23 12:41:09 +02:00
Robert O'Callahan
1e5f920dbd Remove .c_str() from parameters to log_debug() 2025-09-23 19:10:33 +12:00
Jannis Harder
cb9d0b6ff9
Merge pull request #5378 from rocallahan/static-ID-namespace
Make `ID::` constants be `StaticIdString`s for better optimization
2025-09-23 08:25:54 +02:00
KrystalDelusion
991561fe98
Merge pull request #5363 from KrystalDelusion/krys/yosyshq-only-jobs 2025-09-23 17:27:43 +12:00
Robert O'Callahan
effc52fedc Make ID:: constants be StaticIdStrings for better optimization.
Their internal indexes will be known at compile time, like we already support for the `ID()` macro.
2025-09-23 03:25:16 +00:00
Krystine Sherwin
6f7cd637cb
CI: Check repo for YosysHQ specific jobs
Prevents unintended bumps on the flake.lock and Yosys version on forks (provided the forks synchronize their main after this gets merged).
Update version.yml to use the same style of `if` on the job, rather than on specific actions.
Wheels will still build as a cron job, but won't try to upload if it's a fork.
2025-09-23 15:08:04 +12:00
github-actions[bot]
93dca50b91 Bump version 2025-09-23 00:22:45 +00:00
Jannis Harder
13a2481da7
Merge pull request #5365 from rocallahan/deterministic-abc
Extract ABC results in the order of `assigned_cells`
2025-09-22 23:21:11 +02:00
Jannis Harder
e546f3b8f0
Merge pull request #5355 from rocallahan/deprecate-logv_file_error
Deprecate `logv_file_error()`
2025-09-22 14:23:55 +02:00
Emil J
a78eb9e151
Merge pull request #5315 from YosysHQ/emil/write_rtlil-no-sort
write_rtlil: don't sort
2025-09-22 11:14:39 +02:00
Robert O'Callahan
7f6fae1f66 Extract ABC results in the order of assigned_cells.
Currently the order of extraction can vary based on which ABC runs finish first. That's
nondeterministic, therefore bad. Instead, force the processing to happen in the same order
as `assigned_cells`, i.e. the same order we use when not using parallelism. This should
make everything deterministic.

Note that we still allow ABC runs to complete out of order. Out-of-order results are
just not extracted until all the previous runs have completed and their results
extracted.
2025-09-22 05:07:03 +00:00
Robert O'Callahan
4fc782ef2b Make ABC_DONE detection more robust.
1) Change token from ABC_DONE to YOSYS_ABC_DONE to be a bit more robust against false matches.
2) Emit the token from the sourced script so that we don't have to worry about it showing up in the echoing
of the command as it executes. It will only appear in ABC stdout when it executes, i.e. when
our script has completed.
3) `set abcout` doesn't actually switch ABC to line buffering on stdout, since HAVE_SETVBUF is not actually
set in ABC builds in general. So stop using that. ABC does the necessary flushing when
`source` has finished.
2025-09-22 05:01:51 +00:00
Robert O'Callahan
2de641d051 Don't redirect spawned ABCs' stderr to our pipe.
popen() doesn't do this and we should emulate the behavior of popen() as much as possible.
2025-09-22 05:01:51 +00:00
github-actions[bot]
b9dc578411 Bump version 2025-09-21 00:25:14 +00:00
YRabbit
d60dc93e92 Gowin. Renaming inputs of the DCS primitive.
The dynamic clock selection (DCS) primitive has undergone changes with
the release of the GW5A series—the CLK0,1,2,3 inputs are now
CLKIN0,1,2,3, but only for GW5A series chips.

There are no functional changes, only renaming.

Here we are transferring the description of the DCS primitive from
general to specialized files for each chip series.

We have also fixed a bug in the generation script that caused the loss
of primitive parameters. Fortunately, this only affected the
analog-to-digital converter, which has not yet been implemented.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2025-09-20 16:22:23 +01:00
Mohamed Gaber
1fa5ceee8c pyosys: restore remaining log functions
Co-authored-by: George Rennie <19538554+georgerennie@users.noreply.github.com>
2025-09-20 16:14:07 +01:00
Mohamed Gaber
9fa27dae3c hotfix: fix new log functions being incompatible with pyosys
Modify python wrapper generator script with corner-case handlers such that functions that start with `log_formatted` have the format string coerced to `"%s"` and also have an alias without the `_formatted` part.
2025-09-20 16:14:07 +01:00
github-actions[bot]
6b3a7e2440 Bump version 2025-09-20 00:21:36 +00:00
KrystalDelusion
230855b3f9
Merge pull request #5364 from YosysHQ/krys/gcc-14
Bump newest supported GCC
2025-09-20 08:37:06 +12:00
Emil J. Tywoniak
0d8c21129f rtlil: remove textual RTLIL reference tests for ease of maintenance 2025-09-19 16:23:26 +02:00
Krystine Sherwin
19667dd6f1
CI: Don't use self-hosted runner on forks 2025-09-19 11:43:22 +12:00
Krystine Sherwin
042aff7c77
Bump test-compile to gcc-14 as newest 2025-09-19 11:39:24 +12:00
KrystalDelusion
259bd6fb33
Merge pull request #5358 from georgerennie/george/help_leak
help: fix memory leak for -dump-cells-json
2025-09-19 10:15:57 +12:00
Emil J. Tywoniak
96f87aa2d4 simplemap: fix src attribute transfer 2025-09-18 12:59:12 +02:00
github-actions[bot]
a686c5a73c Bump version 2025-09-18 00:22:24 +00:00
George Rennie
5b099abda4 help: fix memory leak for -dump-cells-json 2025-09-17 16:08:36 +01:00
Jannis Harder
d5053033e4
Merge pull request #5353 from jix/new_bufnorm
Extended buffer normalization
2025-09-17 16:46:35 +02:00
Jannis Harder
79e05a195d verilog: Bufnorm cell backend and frontend support
This makes the Verilog backend handle the $connect and $input_port
cells. This represents the undirected $connect cell using the `tran`
primitive, so we also extend the frontend to support this.
2025-09-17 14:01:09 +02:00
Jannis Harder
4f239b536b abc_new: Hide buffered 'z drivers from read/write_xaiger2
With the updated bufnorm code, buffered 'z drivers are used as anchor
points for undirected connections. These are currently not supported by
read/write_xaiger2, so we temporarily replace those by roughly
equivalent $tribuf cells which will be handled as blackboxes that
properly roundtrip through the xaiger2 front and backend.
2025-09-17 13:56:46 +02:00
Jannis Harder
47b3ee8c8b write_aiger2: Ignore the $input_port cell during indexing.
The $input_port cell is added by the bufnorm code to simplify handling
of input ports for new code that uses bufnorm, but the aiger2 backend
does already handle input ports separately, so we just ignore those.
2025-09-17 13:56:46 +02:00
Jannis Harder
4918f37be3 write_aiger2: Treat inout ports as output ports
With the previous bufnorm implementation inout ports were not supported
at all, so this didn't matter, but with the new bufnorm implementation
they need to be treated as output ports.
2025-09-17 13:56:46 +02:00
Jannis Harder
5f79a6e868 Clean up $buf with 'z inputs, $input_port and $connect cells
This ensures that entering and leaving bufnorm followed by `opt_clean`
is equivalent to just running `opt_clean`.

Also make sure that 'z-$buf cells get techmapped in a compatible way.
2025-09-17 13:56:46 +02:00