Emil J. Tywoniak
d10c3f75e1
rtlil: add case_src to CaseRule
2025-12-11 00:44:52 +01:00
Emil J. Tywoniak
7072a8e893
rtlil: add source tracking to CaseRule actions
2025-12-10 18:32:39 +01:00
Emil J. Tywoniak
31fde78a09
rtlil: replace SigSig actions with new type SyncAction
2025-12-10 18:32:39 +01:00
Emil J
5594b817cd
Merge pull request #5524 from rocallahan/single-thread-log
...
Check that we don't use logging during multithreading
2025-12-10 13:54:09 +01:00
Emil J
e08e9119ee
Merge pull request #5516 from rocallahan/limit-threads
...
Limit thread usage in tests
2025-12-10 13:45:07 +01:00
Emil J
1cceaa2a80
Merge pull request #5538 from YosysHQ/emil/driver-git-hash
...
driver: add --git-hash
2025-12-09 15:00:36 +01:00
Emil J. Tywoniak
6acb79afa2
driver: add --git-hash
2025-12-09 11:58:57 +01:00
Emil J. Tywoniak
23e1b0656c
version: add git hash string
2025-12-09 11:58:43 +01:00
Robert O'Callahan
d274ff8627
Delete prefix strings on shutdown to avoid triggering leak warnings.
...
Fixes #5532
2025-12-05 09:45:47 +00:00
Robert O'Callahan
638e904f91
Remove cover() coverage tracking
2025-12-04 16:27:13 +01:00
Robert O'Callahan
7219ac94b3
Add YOSYS_MAX_THREADS
2025-12-04 12:09:04 +01:00
Robert O'Callahan
7e75200b2a
Check that we don't use logging during multithreading
2025-11-29 22:47:23 +00:00
Robert O'Callahan
b23dc345ae
Make it safe to access .c_str() for autoidx IDs in a multithreaded context
2025-11-25 22:49:41 +00:00
Robert O'Callahan
948001f39f
Merge the two autoidx hashtables into one
...
When something calls `IdString::c_str()` on an autoidx ID, we need to cache the
full string in a thread-safe way. If we need to allocate an entry in some data
structure to do that, it's difficult to do in a thread-safe no-performance-hazard way.
So instead, store the cached string pointer in the same hashtable as the prefix
pointer.
2025-11-25 21:57:46 +00:00
Robert O'Callahan
8f0ecce53f
Forbid creating IdStrings and incrementing autoidx during multithreaded phases, and add dynamic checks for that
...
We could make it safe to increment autoidx during multithreaded passes, but that's
actually undesirable because it would lead to nondeterminism. If/when we need new
IDs during parallel passes, we'll have to figure out how to allocate them in a
deterministic way, and that will depend on the details of what the pass does.
So don't try to tackle that now.
2025-11-25 21:57:46 +00:00
Robert O'Callahan
4c8b537d71
Remove YOSYS_NO_IDS_REFCNT
...
Refcounting is hardly used at all so this option is not that useful.
We might want to have a different option that disables GC if that becomes
a performance issue, but that should be a different option.
2025-11-25 21:57:46 +00:00
Robert O'Callahan
7f9de6e48f
Make coverage data thread-safe
2025-11-25 21:46:48 +00:00
Emil J
2eff366e8c
Merge branch 'main' into emil/sdc_expand
2025-11-19 16:29:37 +01:00
Emil J. Tywoniak
5a798b64ef
sdc: separate out
2025-11-19 15:25:22 +01:00
Emil Jiří Tywoniak
c281bac461
sdc: add initial stubbed demo
2025-11-19 15:25:03 +01:00
Emil J. Tywoniak
9f07e21e35
rtlil: undeprecate builtin_ff_cell_types
2025-11-19 15:20:50 +01:00
Emil J. Tywoniak
9e81db4373
ff: split out type-only information
2025-11-19 15:20:50 +01:00
Robert O'Callahan
261a0ae9e1
Implement at() methods on SigSpec so that SigSpec::bits().at() continues to work as it did
...
Fixes a regression caused by commit 745222fa3b , which caused some
third-party code to fail to build, e.g.:
5d7aa035c6/lib/Transforms/YosysOptimizer/RTLILImporter.cpp (L229)
2025-11-17 09:15:55 +00:00
Emil J
84adc82fad
Merge pull request #5484 from YosysHQ/emil/idstring-simpler-final-gc
...
driver: move IdString collection to yosys_shutdown
2025-11-15 00:10:12 +01:00
Emil J. Tywoniak
c497b3b24c
Revert "rtlil: make tracing optional in IdString garbage collection"
...
This reverts commit 8c76f93fce .
2025-11-14 15:32:10 +01:00
Emil J. Tywoniak
65d7d70507
driver: move IdString collection to yosys_shutdown
2025-11-14 15:31:45 +01:00
Miodrag Milanović
ba99c05902
Merge pull request #5482 from rocallahan/newid-namespace
...
Add missing `YOSYS_NAMESPACE_PREFIX` to fix callers of `NEW_ID` that aren't in the Yosys namespace
2025-11-14 14:06:15 +01:00
Emil J. Tywoniak
c48bc56f4a
driver: fix timing data divison by zero when no passes run
2025-11-13 14:10:52 +01:00
Emil J. Tywoniak
1dd5b150e5
driver: garbage collect IdStrings without tracing at exit
2025-11-13 14:10:52 +01:00
Robert O'Callahan
ead0f922e1
Add missing YOSYS_NAMESPACE_PREFIX to fix callers of NEW_ID that aren't in the Yosys namespace
2025-11-12 22:29:54 +00:00
Emil J. Tywoniak
8c76f93fce
rtlil: make tracing optional in IdString garbage collection
2025-11-12 20:22:30 +01:00
Emil J. Tywoniak
1ee4fc9d27
fix YOSYS_XTRACE_GET_PUT
2025-11-12 20:20:51 +01:00
Emil J. Tywoniak
50bfb5c5c9
constids: add $input_port and $connect
2025-11-12 20:19:42 +01:00
Robert O'Callahan
578d658871
Add timing stats for IdString garbage collection
2025-11-12 11:52:04 +01:00
Robert O'Callahan
df8444c5e7
Optimize IdString operations to avoid calling c_str()
2025-11-12 11:52:04 +01:00
Robert O'Callahan
e95ed7bbab
Make NEW_ID create IDs whose string allocation is delayed
2025-11-12 11:52:04 +01:00
Robert O'Callahan
8895757364
Ensure that `new_id(_suffix)()` cannot create collisions with existing `IdString`s.
2025-11-12 11:52:04 +01:00
Robert O'Callahan
9577a028c8
Make new_id/new_id_suffix taking string_view to avoid allocating strings
2025-11-12 11:52:04 +01:00
Robert O'Callahan
b3f3f42577
Remove StaticIdString and just use IdString now that we can make it constexpr
2025-11-12 11:52:04 +01:00
Robert O'Callahan
b0e2d75dbe
Make IdString refcounts a hashtable containing only the nonzero refcounts
...
This saves space and doesn't cost very much since we hardly ever have nonzero refcounts any more.
It also allows for IdStrings with negative indexes, which we're going to add.
2025-11-12 11:52:04 +01:00
Robert O'Callahan
54bde15329
Implement IdString garbage collection instead of refcounting.
2025-11-12 11:52:04 +01:00
Robert O'Callahan
5133b4bdea
Create RTLIL::OwningIdString and use it in a few places
2025-11-12 11:52:04 +01:00
Robert O'Callahan
d28f97e9da
Remove YOSYS_USE_STICKY_IDS
2025-11-12 11:52:04 +01:00
Robert O'Callahan
0fe79ce01b
Make RTLIL::Design::get_all_designs() unconditionally defined
2025-11-12 11:52:04 +01:00
Robert O'Callahan
e84bc3c6c5
Remove explicit empty-string check when looking up IdStrings
2025-11-12 11:52:04 +01:00
Robert O'Callahan
20639906e3
Store IdString lengths and use them
2025-11-12 11:52:04 +01:00
Robert O'Callahan
32641bbf93
Make IdString::contains take std::string_view so we avoid a strlen when the parameter is a string constant
2025-11-12 11:52:04 +01:00
Robert O'Callahan
2319d82efb
Make IdString::begins_width/ends_with take std::string_view so we avoid a strlen when the parameter is a string constant
2025-11-12 11:52:04 +01:00
KrystalDelusion
529886f7fb
Merge pull request #5473 from YosysHQ/krys/unsized_params
...
Handle unsized params
2025-11-12 07:14:44 +13:00
Emil J. Tywoniak
ee5b8a97b9
rtlil: avoid clang warning
2025-11-10 12:02:36 +01:00