Commit Graph
2145 Commits
Author SHA1 Message Date
Emil J. Tywoniak dcb9c0d7af rtlil: track where a case is selected and where a switch reads
A CaseRule's own src is where its body is; compare_src is where the case
is selected. A SwitchRule's own src is the whole statement; signal_src is
where its expression is. Both survive a clone and a cross-pool copy.

Also root the srcs a process holds outside its AttrObjects - one per
assignment, plus the two above - so garbage collection cannot free the
twines they point at.
2026-08-25 13:09:07 +02:00
Emil J. Tywoniak 16db584210 rtlil frontend: keep the handles a file names
A replayable .il names twines and source location sets by pool index, and
a design that has freed slots writes a set with gaps in it. Reading such a
file into a fresh design packed the survivors, so write, read, write did
not reproduce the file.

Let the pools intern at a caller-chosen index and use that while loading
into a design with no twines or srcs of its own, falling back to the old
remapping when the file's numbering does not fit this build.
2026-08-25 12:42:21 +02:00
Emil J. Tywoniak 9a93e377a3 rtlil: replace SigSig actions with new type SyncAction
(cherry picked from commit bfc098772c0244273ee52a8989168a6a6c0c89f2)
2026-08-25 12:41:46 +02:00
Emil J. Tywoniak ba74d22f6b rtlil: intern source locations in a per-design SrcPool
Source locations move off the attribute dict into a dedicated SrcRef on
AttrObject, interned in a per-design SrcPool that hash-conses sets of
location twines. Locations share their file prefix with each other through
the twine pool, and objects that fuse (opt_merge, share, ff/mem rewrites)
carry the union of their inputs' locations instead of a '|'-joined string.

write_rtlil emits an `srcs` section of location sets alongside `twines`;
read_rtlil resolves `\src "@N"` back to a handle and still accepts a plain
location string. -readable renders the locations as text.
2026-08-25 11:40:52 +02:00
Emil J. Tywoniak 1168e35394 twine: split Twine into in-memory TwineNode that doesn't support autoidx variants and temporary TwineSpec that does 2026-08-24 15:53:14 +02:00
Emil J. Tywoniak 81a010b0b6 kernel: best-effort IdString provenance checking 2026-08-13 18:15:58 +02:00
Emil J. Tywoniak 7dfc30db11 pyosys: twines 2026-08-13 18:15:58 +02:00
Emil J. Tywoniak 2686d1ce47 kernel: twine damage for utilities that key or search on names 2026-08-13 18:15:58 +02:00
Emil J. Tywoniak bcdf5e0f43 kernel: trivial twine damage 2026-08-13 18:15:56 +02:00
Emil J. Tywoniak 4a7a670fb6 kernel: reimplement IdString as handle on a Twine in a per-design TwinePool 2026-08-13 18:15:40 +02:00
Catherine 9020fc2ffe Accept UTF-8 filenames and terminal I/O on Windows. 2026-08-06 12:06:07 +00:00
nella 9ae214932e Add reusable SatEffortBudget helper to qcsat. 2026-08-05 12:57:56 +02:00
Emil J 7a2bd64c93 Merge pull request #6080 from YosysHQ/emil/hashlib-noexcept
hashlib: noexcept moves for performance
2026-08-05 07:33:15 +00:00
Emil J. Tywoniak bfb65f9e21 hashlib: noexcept moves for performance 2026-08-04 11:02:37 +02:00
nella 250a467518 Attr file:line. 2026-07-31 10:31:44 +02:00
nella 7defa51862 Merge pull request #6007 from YosysHQ/nella/fix-shift-fold
Fix wide shift count folded as truncated/signed negative count
2026-07-24 08:17:11 +00:00
Miodrag Milanović e2c27aaafa Merge pull request #6042 from YosysHQ/krys/symfpu
Add `symfpu` pass
2026-07-20 10:20:23 +00:00
Miodrag Milanovic cfd80cb48e Update constids to fix leaks 2026-07-20 11:53:55 +02:00
Catherine 21aa69f448 Fix DPI-C support broken in v0.67.
Fixes #6052.
2026-07-17 22:21:59 +00:00
nella dddf137888 Merge pull request #6024 from YosysHQ/nella/scl-build-date
Include build datetime in scl cache hash
2026-07-13 11:54:45 +00:00
nella b678c238e4 Include build datetime in scl cache hash. 2026-07-10 12:44:34 +02:00
Michael Baier 58fc67ee66 Adding Width check to resize 2026-07-09 14:34:56 +02:00
Michael Baier 5cd9efefe3 Adding widht checks to backend 2026-07-09 14:34:56 +02:00
Michael Baier ea41b196da Adding Widht Limit 2026-07-09 14:34:56 +02:00
Krystine Sherwin 53d1e7615b Fixup help contents source_file
Stop empty source files `""` from being exported to json.
Move source path fixing to a separate function.
`ContentListing::to_json` now takes the source root, recursively calling the source path fixup function on all source paths in the content listing.
2026-07-09 16:05:15 +12:00
Krystine Sherwin 0e763f320b Fix ContentListing::option source location
Use a null location instead of referencing `log_help.cc`.
2026-07-09 15:54:17 +12:00
nella 5628dff0bd Fix wide shift count fold. 2026-07-07 15:04:57 +02:00
nella 8a2499b544 Merge pull request #5986 from YosysHQ/nella/x-wildcard
fix case item containing x/z treated as wildcard in proc_rmdead
2026-07-07 08:00:02 +00:00
nella 2b4ec9d57a Fix covers_nothing. 2026-07-06 13:26:00 +02:00
Miodrag Milanovic 97e2600e5c Removed rewrite leftovers from log 2026-06-29 08:32:44 +02:00
nella cb9bfed169 Tighten sig2bits. 2026-06-25 11:14:46 +02:00
Miodrag Milanovic a689342207 Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
Miodrag Milanovic 48a3dcc02a End of file fix 2026-06-23 07:23:41 +02:00
Miodrag Milanovic 94e43f7675 Remove define since snprintf is supported in MSVC now 2026-06-22 09:50:39 +02:00
nella c99a037c33 Merge pull request #5886 from YosysHQ/nella/fix-signedness-5745
Fix  `chparam` values are unsigned when using read_verilog frontend
2026-06-18 16:50:22 +00:00
Miodrag Milanovic 88d4af94cf Fix share lookup for mingw builds 2026-06-17 10:40:13 +02:00
nella 05805e8b93 Merge pull request #5900 from YosysHQ/nella/arith_tree_improvements
arith_tree improvements
2026-06-12 14:23:10 +00:00
nella 80011b16b2 Add constant note. 2026-06-12 14:57:53 +02:00
Miodrag Milanovic ec6266a328 Add one more compatibility logger used in patches for some time 2026-06-12 14:44:26 +02:00
nella 135c2a4113 Get rid of normalize_to_width. 2026-06-11 01:12:35 +02:00
nella 3c6900a570 Depth-schedule finar adder. 2026-06-08 13:47:56 +02:00
nella 11a650c695 Fix depth bug. 2026-06-08 13:47:56 +02:00
nella a1d841bf64 Rebase + Cmake. 2026-06-08 13:47:56 +02:00
nella d40431f249 Remove black boxes for now. 2026-06-08 13:29:05 +02:00
nella 5e4e5a1d40 Arith tree - parallel prefix. 2026-06-08 13:29:05 +02:00
nella 862e9fc54e Remove elarith-fast for now. 2026-06-08 13:29:05 +02:00
nella 25eb394ad0 Collapse signed*signed or combined nodes via BW. 2026-06-08 13:29:05 +02:00
nella bc07c6b1b0 Improve arith_tree: FMA add, elarith WIP. 2026-06-08 13:29:05 +02:00
Miodrag Milanovic 102f008194 Remove EMSCRIPTEN leftovers 2026-06-05 10:03:27 +02:00
Miodrag Milanovic 58f44a1c1b Fix compile with VisualStudio 2026-06-04 12:25:41 +02:00