3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-09-11 20:21:26 +00:00
Commit graph

15721 commits

Author SHA1 Message Date
github-actions[bot]
23e4c0e424 Bump version 2025-09-09 00:23:18 +00:00
Jannis Harder
51fb5eed4e
Merge pull request #5324 from rocallahan/IdString-constants
Make `IdString` indices known at compile-time for `ID::` constants
2025-09-09 01:35:12 +02:00
Jannis Harder
0116dc4384 Add windows workaround to constids.inc 2025-09-09 10:04:08 +12:00
Jannis Harder
6498265eb0 Add macOS workaround to constids.inc
The ID(OVERFLOW) IdString isn't used widely enough that we require a
statically allocated IdString, but I think it's good to have an example
workaround in place in case more collisions come up.
2025-09-09 10:04:08 +12:00
Jannis Harder
985b9164da Disable flaky arch/anlogic/mux test 2025-09-09 10:04:08 +12:00
Jannis Harder
9213bc5d54 Update kernel/constids.inc to include all literal ids
I've used this shell command to obtain the list:

    rg -I -t cpp -t yacc -o \
        'ID\((\$?[a-zA-Z0-9_]+)\)|ID::($?[a-zA-Z0-9_]+)' -r 'X($1$2)' \
        | LC_ALL=C sort -u

This removed the entries X(_TECHMAP_FAIL_) and X(nomem2init).
2025-09-09 09:56:55 +12:00
Jannis Harder
a97381448a Ensure static IdStrings get prepopulated when initializing yosys
An alternative would be to call ensure_prepopulated() in various
IdString methods.
2025-09-09 09:56:55 +12:00
Jannis Harder
b6db32873d Add IdString const &id_string() const to StaticIdString and IdString
The vast majority of ID(...) uses are in a context that is overloaded
for StaticIdString or will cause implicit conversion to an IdString
constant reference. For some sufficently overloaded contexts, implicit
conversion may fail, so it's useful to have a method to force obtaining
a `IdString const &` from an ID(...) use.

When turning all literal IdStrings of the codebase into StaticIdStrings
this was needed in exactly one place, for which this commit adds an
`id_string()` call.
2025-09-09 09:56:55 +12:00
Jannis Harder
3ebecb631c Add a compile time check that kernel/constids.inc is sorted
This is an invariant now required by the ID macro, so it's better to
have an actual check and not rely on a comment at the top of
kernel/constids.inc.
2025-09-09 09:56:55 +12:00
Jannis Harder
2a4a9aedfe Ensure the ID macro consistently uses YOSYS_NAMESPACE_PREFIX
The previous version of the ID macro used this for everything in the
Yosys namespace, so the new version should continue to do so.
2025-09-09 09:56:55 +12:00
Robert O'Callahan
23af52c3c8 Use well-known constants in ID macro and make the constant values known at compile time 2025-09-09 09:56:55 +12:00
Jannis Harder
3d14108a96
Merge pull request #5323 from rocallahan/IdString-references
Pass `IdString` by reference in more places
2025-09-08 20:40:24 +02:00
Jannis Harder
c468ee7add
Merge pull request #5304 from rocallahan/idstring-stringf
Support `IdString` parameters in `stringf()` and remove `.c_str()` in a lot of places
2025-09-08 20:29:20 +02:00
Emil J
80582e02b0
Merge pull request #5317 from donn/libparse_error_weak
libparse/filterlib: mark LibertyParser::error() as weak
2025-09-08 19:59:08 +02:00
George Rennie
8fb3f88842 tests: remove -seq 1 from sat with -tempinduct where possible
* When used with -tempinduct mode, -seq <N> causes assertions to be
  ignored in the first N steps. While this has uses for reset modelling,
  for these test cases it is unnecessary and could lead to failures
  slipping through uncaught
2025-09-08 18:04:32 +02:00
github-actions[bot]
012ddc2f1e Bump version 2025-09-06 00:21:53 +00:00
Emil J
db7aa538f9
Merge pull request #5330 from higuoxing/fix-sva-in-case-expr
Fix handling of cases that look like sva labels again.
2025-09-05 20:10:56 +02:00
Emil J. Tywoniak
62120bda06 verilog: test cases that look like SVA labels #862 2025-09-05 12:34:38 +02:00
Emil J
71a88996d1
Merge pull request #5329 from mikesinouye/muxtree
Increase muxtree glob eval attempts to 10M.
2025-09-05 12:22:39 +02:00
Xing Guo
c30fd46ea3 Fix handling of cases that look like sva labels again.
Commit c8e0ac0 introduces a regression on handling case exprs that look
like sva labels.  After some debugging, we shouldn't push the identifier
ast node to the ast_stack, otherwise, we will get the following
assertion failure:

```
➜  /tmp yosys -p 'read -sv a1.v'

 /----------------------------------------------------------------------------\
 |  yosys -- Yosys Open SYnthesis Suite                                       |
 |  Copyright (C) 2012 - 2025  Claire Xenia Wolf <claire@yosyshq.com>         |
 |  Distributed under an ISC-like license, type "license" to see terms        |
 \----------------------------------------------------------------------------/
 Yosys 0.57+1 (git sha1 baa61a146, clang++ 20.1.8 -fPIC -O3)

-- Running command `read -sv a1.v' --

1. Executing Verilog-2005 frontend: a1.v
Parsing SystemVerilog input from `a1.v' to AST representation.
ERROR: Assert `extra->ast_stack.size() == 1' failed in frontends/verilog/verilog_parser.y:709.
➜  /tmp cat a1.v
module test(input wire A);
  localparam TEST = 1;
  always_comb begin
    case (A)
      TEST: assert(1);
    endcase
  end
endmodule
```

We encountered this issue before but with a different error message[^1],

[^1]: https://github.com/YosysHQ/yosys/issues/862
2025-09-05 11:54:13 +08:00
github-actions[bot]
baa61a146f Bump version 2025-09-05 00:23:12 +00:00
Mohamed Gaber
ae8c4e2ea6 libparse/filterlib: mark LibertyParser::error() as weak
When FILTERLIB is defined (attempts to compile libparse more or less standalone,) mark the `LibertyParser::error()` as weak so utilities using libparse as a library can override its behavior (the default behavior being exit(1)). As the code is quite performance-critical, I've elected to not modify it to raise an exception or have a callback or similar and simply allow for a link-time replacement.
2025-09-05 00:13:45 +02:00
Mike Inouye
6276464ea7
Increase muxtree glob eval attempts to 10M. 2025-09-04 10:52:37 -07:00
Robert O'Callahan
030e5ec438 Make IdString hashing take a reference to the IdString instead of copying it 2025-09-04 14:17:08 +02:00
Robert O'Callahan
ddf7ba5a34 Make ID() macro return a reference to the underlying IdString instead of copying it
Lambda return type deduction infers `IdString` here.
2025-09-04 14:17:08 +02:00
Robert O'Callahan
b2ccfb2d0e Make in() variadic operator take parameters by reference so we don't copy IdStrings
Template argument deduction strips references.
2025-09-04 14:17:08 +02:00
Robert O'Callahan
54a258f854 In hash_cell_inputs, avoid constructing an std::pair (which requires copying the port IdString) 2025-09-04 14:17:08 +02:00
Robert O'Callahan
41b6c0cb9f Make CellTypes methods take IdString by reference to avoid refcount churn 2025-09-04 14:17:08 +02:00
Miodrag Milanovic
cec48c6abd Next dev cycle 2025-09-04 08:03:57 +02:00
Miodrag Milanovic
3aca86049e Release version 0.57 2025-09-04 08:00:38 +02:00
github-actions[bot]
cd7f924290 Bump version 2025-09-04 00:22:11 +00:00
Miodrag Milanović
1e43e85f39
Merge pull request #5325 from YosysHQ/update_abc_092025
Update ABC to version as of 03/09/2025
2025-09-03 20:07:59 +02:00
Miodrag Milanovic
7454699a00 Update ABC to version as of 03/09/2025 2025-09-03 18:12:21 +02:00
Miodrag Milanović
6fa1435dc7
Merge pull request #5322 from YosysHQ/krys/macos_cpp20
CI Fixes
2025-09-03 18:10:38 +02:00
github-actions[bot]
45829e4d08 Bump version 2025-09-03 00:21:58 +00:00
Krystine Sherwin
5d59903f36
Bump Windows SDK 2025-09-03 09:32:21 +12:00
Krystine Sherwin
d70f132792
wrapcell.cc: Avoid format name collision 2025-09-03 03:32:01 +12:00
Krystine Sherwin
7fb6c1ee52
test-compile.yml: Specify clang-19
Will trigger C++20 builds to run (which are currently failing).
2025-09-03 03:32:00 +12:00
KrystalDelusion
819b9635b4
Merge pull request #5319 from YosysHQ/krys/brew_bundle
Fix failing macOS CI runs
2025-09-02 18:03:00 +12:00
Krystine Sherwin
11f5913da6
Brewfile: Skip tcl-tk 2025-09-02 15:25:39 +12:00
Robert O'Callahan
c7df6954b9 Remove .c_str() from stringf parameters 2025-09-01 23:34:42 +00:00
Robert O'Callahan
c41ba912d8 Support IdString parameters in stringf 2025-09-01 23:34:42 +00:00
Krystine Sherwin
5db312b6cf
Bump to llvm@20 2025-09-02 11:30:57 +12:00
Krystine Sherwin
2261c7e366
test-compile.yml: Compiler tests for arm mac 2025-09-02 11:25:31 +12:00
Krystine Sherwin
3426905e60
CI: Use brew bundle
Also skip `brew update`.
Specify llvm@20 due to problems with clang-21 and macOS .dylib.
2025-09-02 10:36:55 +12:00
Jannis Harder
41452e43b2
Merge pull request #4475 from georgerennie/skip_cover
smtbmc: Support skipping steps in cover mode
2025-09-01 13:53:04 +02:00
Jannis Harder
501bf4ce40
Merge pull request #4711 from georgerennie/george/btor_buf
write_btor: support $buf
2025-09-01 13:38:25 +02:00
Emil J
5aa71505fc
Merge pull request #5287 from Anhijkt/opt_dff-fix-5279
opt_dff: fix timeout issue
2025-09-01 11:20:35 +02:00
github-actions[bot]
d4c4b21066 Bump version 2025-08-29 00:23:40 +00:00
Miodrag Milanovic
88eb83a0c3 Revert "Merge pull request #5301 from KrystalDelusion/krys/re_5280"
This reverts commit c9a602e882, reversing
changes made to 51eaaffe09.
2025-08-28 11:58:02 +02:00