Robert O'Callahan
a7c46f7b4a
Remove .c_str() calls from parameters to log_warning()/log_warning_noprefix()
2025-09-16 23:02:16 +00:00
Robert O'Callahan
5ac6858f26
Remove .c_str() from log_cmd_error() and log_file_error() parameters
2025-09-16 22:59:08 +00:00
Jannis Harder
b95549b469
Merge pull request #5348 from rocallahan/remove-string_buf
...
Remove `string_buf` by making `log_signal()` and `log_const()` return `std::string`
2025-09-16 20:20:56 +02:00
Emil J. Tywoniak
73747f6928
read_verilog: add -relativeshare for synthesis reproducibility testing
2025-09-16 15:47:35 +02:00
Robert O'Callahan
8cc86b2643
Update passes/techmap to avoid bits()
2025-09-16 03:17:23 +00:00
Robert O'Callahan
8492c49f6c
Remove `string_buf` by making `log_signal()` and `log_const()` return `std::string`
...
We only have to fix one caller in-tree so this probably has very low impact on out-of-tree plugins.
Resolves #5215
2025-09-16 03:06:17 +00:00
Akash Levy
045e7a83c8
Bump abc for multi-threading
2025-09-15 11:17:04 -07:00
Robert O'Callahan
ae0ca7578a
Use a pool of ABC processes.
...
Doing ABC runs in parallel can actually make things slower when every ABC run requires
spawning an ABC subprocess --- especially when using popen(), which on glibc does not
use vfork(). What seems to happen is that constant fork()ing keeps making the main
process data pages copy-on-write, so the main process code that is setting up each ABC
call takes a lot of minor page-faults, slowing it down.
The solution is pretty straightforward although a little tricky to implement.
We just reuse ABC subprocesses. Instead of passing the ABC script name on the command
line, we spawn an ABC REPL and pipe a command into it to source the script. When that's
done we echo an `ABC_DONE` token instead of exiting. Yosys then puts the ABC process
onto a stack which we can pull from the next time we do an ABC run.
For one of our large designs, this is an additional 5x speedup of the primary AbcPass.
It does 5155 ABC runs, all very small; runtime of the AbcPass goes from 760s to 149s
(not very scientific benchmarking but the effect size is large).
2025-09-15 17:22:15 +02:00
Robert O'Callahan
27462da208
Run ABCs in parallel.
...
Large circuits can run hundreds or thousands of ABCs in a single AbcPass.
For some circuits, some of those ABC runs can run for hundreds of seconds.
Running ABCs in parallel with each other and in parallel with main-thread
processing (reading and writing BLIF files, copying ABC BLIF output into
the design) can give large speedups.
2025-09-15 17:18:42 +02:00
Robert O'Callahan
38f8165c80
Remove direct RTLIL access from gate_t
2025-09-15 17:10:20 +02:00
Robert O'Callahan
222f457a04
Only write out stdcells/lutcosts once for all ABC runs
2025-09-15 17:10:07 +02:00
Robert O'Callahan
13b3418a7f
Split `abc_module()` into `prepare_module()` and `run_abc()`
...
`prepare_module()` will have to run on the main thread.
2025-09-15 17:01:25 +02:00
Akash Levy
f5cb0c328f
Bump Yosys to latest
2025-09-13 04:35:52 -07:00
Robert O'Callahan
e0ae7b7af4
Remove .c_str() calls from log()/log_error()
...
There are some leftovers, but this is an easy regex-based approach that removes most of them.
2025-09-11 20:59:37 +00:00
Akash Levy
a43de44f9d
Merge upstream changes
2025-09-10 23:02:15 -07:00
Robert O'Callahan
d34ac0c87d
Make `log()` use the `FmtString` infrastructure.
...
Now `log()` supports `std::string`.
We have to fix a few places where the format parameter was not a compile time constant.
This is mostly trivial.
2025-09-09 15:41:03 +02:00
Akash Levy
1b3375d8df
Merge upstream in
2025-09-09 05:50:48 -07: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
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
Robert O'Callahan
c7df6954b9
Remove .c_str() from stringf parameters
2025-09-01 23:34:42 +00:00
Akash Levy
4029034ce3
Fix issue with $mux in abc
2025-08-22 08:35:10 -07:00
Akash Levy
e54fa487b8
Merge from upstream
2025-08-21 17:56:55 -07:00
Akash Levy
3ed5da8c9e
Fix clock gate naming
2025-08-21 12:59:03 -07:00
Robert O'Callahan
62c441107d
Build FfInitVals for the entire module once and use it for every ABC run.
2025-08-14 22:29:51 +00:00
Robert O'Callahan
2654bd5355
Compute `is_port` in AbcPass without iterating through all cells and wires in the module every time we run ABC.
...
This does not scale when we run ABC thousands of times in a single AbcPass.
2025-08-14 22:29:45 +00:00
Robert O'Callahan
ac8259b02e
Preserve `assign_map` across ABC invocations.
...
Currently `assign_map` is rebuilt from the module from scratch every time we invoke ABC.
That doesn't scale when we do thousands of ABC runs over large modules. Instead,
create it once and then maintain incrementally it as we update the module.
2025-08-14 22:27:04 +00:00
Robert O'Callahan
4de3ee093e
Mark kept FF output wires as ports directly instead of via the 'keep' attribute
2025-08-14 22:26:38 +00:00
Robert O'Callahan
ccb23ffc1a
Fix indentation
2025-08-13 05:44:52 +00:00
Robert O'Callahan
885bb744e3
Make `module` a parameter of the function so we can change its constness in context
2025-08-13 05:44:52 +00:00
Robert O'Callahan
53c72c0d39
Move code in `abc_module()` that modifies the design into a new function `extract()`
...
Splits up the big `abc_module()` function and isolates the code that modifies the design
after running ABC.
2025-08-13 05:44:52 +00:00
Robert O'Callahan
ceedcecfae
Move the input parameters to `abc_module` that are identical across modules to an `AbcConfig` struct.
2025-08-13 05:44:52 +00:00
Robert O'Callahan
4ba42c4752
Move ABC pass state to a struct instead of storing it in global variables.
2025-08-13 05:44:52 +00:00
Akash Levy
77be4d7be7
Bump Yosys to latest
2025-08-07 17:22:25 -07:00
Krystine Sherwin
3959d19291
Reapply "Add groups to command reference"
...
This reverts commit 81f87ce6ed .
2025-08-06 13:52:12 +12:00
Akash Levy
cc733fd11b
Merge from upstream
2025-07-30 22:50:14 -07:00
Drew Lewis
d9b3a3f7bb
Improve the performance of `concat_name` in the flattening pass
...
- Make IdString parameter pass by const ref to avoid IdString ref counting in the constructor
- Remove extra std::string allocation to remove prefix
- Avoid using `stringf` for concatenation
2025-07-29 10:52:32 +02:00
N. Engelhardt
81f87ce6ed
Revert "Add groups to command reference"
2025-07-23 14:41:49 +00:00
Krystine Sherwin
3eb7b35c29
flatten: Move to hierarchy folder
2025-07-21 10:36:19 +12:00
Akash Levy
37806d5ea7
Merge branch 'YosysHQ:main' into main
2025-07-16 14:59:29 -07:00
Emil J. Tywoniak
21e68ec9be
libparse: fix space ANDs
2025-07-15 12:53:13 +02:00
Akash Levy
082adf8684
Merge branch 'YosysHQ:main' into main
2025-07-15 00:04:28 -04:00
Emil J. Tywoniak
bf1f236998
dfflibmap: add back tab and quote filters for good vibes
2025-07-11 23:12:58 +02:00
Emil J. Tywoniak
c6e1d461fa
libparse: support space ANDs
2025-07-11 23:09:30 +02:00
Emil J. Tywoniak
4b1a8a3b66
libparse: add LibertyExpression::str for testing
2025-07-11 18:27:19 +02:00
Emil J
14aad097f0
Merge pull request #5190 from YosysHQ/emil/dfflibmap-fix-negated-next_state
...
dfflibmap: propagate negated next_state to output correctly
2025-07-10 19:50:02 +02:00
Emil J. Tywoniak
ad80e2bd39
libparse: install headers for use in plugins
2025-07-08 13:39:03 +02:00
Akash Levy
3d4bf57745
Merge from upstream
2025-07-02 11:25:18 -07:00
Miodrag Milanović
54013c6da7
Merge pull request #5162 from YosysHQ/micko/attrmap
...
Make attrmap able to alter memory attributes as well
2025-06-30 15:24:04 +02:00
Emil J. Tywoniak
778079b058
dfflibmap: propagate negated next_state to output correctly
2025-06-24 12:01:12 +02:00
Krystine Sherwin
beaca05b40
Include boxes in attrmap
...
Rename `selected_members` iterator to memb.
Add comment on `selected_processes` loop for clarity.
2025-06-21 09:49:56 +12:00
Akash Levy
447a73ea86
Merge branch 'YosysHQ:main' into main
2025-06-09 14:51:56 -07:00
Neil Deo
093bf7ed7e
Fix getPort issue to pass yosys tests
2025-06-05 14:38:38 -07:00
Miodrag Milanovic
784de0f6e3
Make attrmap able to alter memory attributes as well
2025-06-04 08:01:21 +02:00
Krystine Sherwin
785cabcb0f
abc9_ops: Skip opt_expr in proc
2025-05-31 12:16:37 +12:00
Akash Levy
3fc74be3e2
Merge branch 'YosysHQ:main' into main
2025-05-28 01:54:49 +02:00
Lofty
e4ab6acb46
Add genlib support to abc_new
2025-05-27 09:47:29 +01:00
Akash Levy
3a23e772dd
Merge branch 'YosysHQ:main' into main
2025-05-24 12:11:52 -07:00
Akash Levy
d308ecdbcf
Fix warnings with block curly braces
2025-05-13 20:42:28 -07:00
Akash Levy
769aaa113c
Get boolopt src attribution working for dress
2025-05-13 20:05:16 -07:00
Akash Levy
2e030bfdfd
Refactor bmuxmap attribute inheritance
2025-05-13 20:05:16 -07:00
Akash Levy
13e053fb11
Fixups
2025-05-12 14:49:37 -07:00
Akash Levy
8171f04cbf
Add preliminary boolopt src attribution support
2025-05-12 02:30:36 -07:00
Akash Levy
a1cc22aa0e
Add abc word mode, which uses word-level cells where possible
2025-05-11 15:07:23 -07:00
Emil J. Tywoniak
2ca2ecaa1c
libcache: fix help
2025-05-09 12:40:45 +02:00
Emil J. Tywoniak
0d621ecc11
libcache: add -quiet and -verbose
2025-05-09 11:36:39 +02:00
Akash Levy
d2aa569d8f
Merge branch 'YosysHQ:main' into main
2025-05-01 08:40:31 -07:00
Emil J. Tywoniak
adb1986dc1
gzip: refactor file open failure errors
2025-04-29 10:37:35 +02:00
Akash Levy
f67da2df2f
Merge branch 'YosysHQ:main' into main
2025-04-23 15:22:38 -07:00
Akash Levy
e9bf25f333
Undo flatten -scopeinfo to -noscopeinfo
2025-04-22 16:32:22 -07:00
Mike Inouye
b7d7b377fd
Detect FF functions that use parentheses.
...
Signed-off-by: Mike Inouye <mikeinouye@google.com>
2025-04-22 23:26:55 +00:00
Akash Levy
4fad708795
Merge branch 'YosysHQ:main' into main
2025-04-22 11:23:26 -07:00
Akash Levy
5f5ed1b29e
Merge upstream yosys
2025-04-21 17:36:24 -07:00
N. Engelhardt
5db1765bee
add flatten -nocleanup option
2025-04-17 18:17:42 +02:00
Jannis Harder
7f7ad87b7b
Merge pull request #5033 from jix/liberty-fixes
...
liberty: More robust parsing
2025-04-17 09:24:42 +02:00
KrystalDelusion
026d161f91
Merge pull request #4923 from KelvinChung2000/const-wrap
...
feat: Allow full constant wrapping for hilomap
2025-04-17 10:16:59 +12:00
Jannis Harder
ce74404890
liberty: Error on unclosed curly braces
...
This is an indication that the liberty file was truncated, which
shouldn't be silently ignored.
2025-04-16 19:12:01 +02:00
Jannis Harder
418e795235
liberty: Error when a read liberty file has no nodes
2025-04-16 19:03:05 +02:00
Jannis Harder
5101b9fcba
liberty: Fix handling of non-ascii characters
...
Use an `unsigned char` buffer to ensure characters cast to an `int` are
in the range 0 <= c <= 255.
2025-04-16 18:52:49 +02:00
Miodrag Milanović
9f25f972dc
Merge pull request #5008 from donn/wheel_builds_fix
...
wheels: fix builds, add linux aarch64 to ci
2025-04-14 15:10:37 +02:00
Donn
c18f1310a5
Revert #4901
...
Partially reverts commit 9c5bffcf93 .
The reasoning behind this is that setup.py is intended to strictly consume the Makefile and not be consumed by it. The attempt at using them recursively has caused a number of issues and has rendered Pyosys unusable to some users: See https://github.com/YosysHQ/yosys/issues/5012
Additionally, unlike the previous pyosys installation target, the wheel installation does not respect PREFIX=, only venvs.
For installation inside a venv, the intended method should remain a user manually executing `pip3 install .` instead of relying on the Makefile.
2025-04-14 14:45:41 +02:00
Kelvin Chung
81f3369f24
Add check at constmap and merge test
2025-04-14 11:44:52 +01:00
Martin Povišer
38beae1e06
Merge pull request #4946 from povik/cost-cc-enhance
...
cost: Add `$mem_v2`, `$macc_v2` estimates
2025-04-14 11:08:59 +02:00
Akash Levy
e241c9d513
Merge branch 'YosysHQ:main' into main
2025-04-10 14:28:10 -07:00
N. Engelhardt
3410e10ed5
Merge pull request #5000 from YosysHQ/krys/re_refactor_selections
2025-04-10 16:06:36 +00:00
Akash Levy
e391707d0a
Merge remote-tracking branch 'upstream/main'
2025-04-10 00:19:00 -07:00
Kelvin Chung
414dc85573
Correct and more test
2025-04-10 00:01:50 +01:00
Emil J
a5e8f52ce5
Merge pull request #4976 from Logikable/main
...
Support array ranges for identifiers in the Liberty parser.
2025-04-09 22:49:52 +02:00
Krystine Sherwin
cd3b914132
Reinstate #4768
...
Revert the reversion so that we can fix the bugs that the PR missed.
2025-04-08 11:58:05 +12:00
Akash Levy
06c614a010
Merge branch 'YosysHQ:main' into main
2025-04-07 07:28:06 -07:00
Akash Levy
0dab4308a3
Actual merge here
2025-04-06 18:53:43 -07:00
Akash Levy
809a38a597
Merge pull request #78 from williamzhu17/extract_reduce-tests
...
extract_reduce tests and removed XNOR functionality from extract_reduce
2025-04-03 15:23:09 -07:00
Akash Levy
439d859bba
Merge branch 'YosysHQ:main' into main
2025-04-03 10:48:42 -07:00
Jannis Harder
0f13b55173
Liberty file caching with new `libcache` command
...
This adds optional in-memory caching of parsed liberty files to speed up
flows that repeatedly parse the same liberty files. To avoid increasing
the memory overhead by default, the caching is disabled by default. The
caching can be controlled globally or on a per path basis using the new
`libcache` command, which also allows purging cached data.
2025-04-03 13:39:35 +02:00
Sean Luchen
4610889d27
Fix two parsing bugs that were causing private regression tests to fail.
...
These were introduced by 0a6d9f4 .
1) While in a paren "(", don't error on newline.
2) Don't parse an extra token when parsing vector ranges. Let the caller parse the next token as necessary.
2025-04-01 13:01:00 -07:00
williamzhu17
bbd132f6ba
updated extract_reduce to not consider xnors
2025-04-01 10:10:06 -07:00
Jannis Harder
bc01468c75
read_liberty: Faster std::string construction in the liberty lexer
...
This extends the `LibertyInputStream` added in the previous commit to
allow arbitrary lookahead. Then this uses the lookahead to find the
total length of the token within the input buffer, instead of consuming
the token byte by byte while appending to a std::string. Constructing
the std::string with the total length is known avoids any reallocations
from growing std::string's buffer.
2025-04-01 14:12:12 +02:00
Jannis Harder
119e998f12
read_liberty: Faster input handling for the liberty lexer
...
The lexer for liberty files was using istream's `get` and `unget` which
are notorious for bad performance and that showed up during profiling.
This replaces the direct `istream` use with a custom LibertyInputStream
that does its own buffering to provide `get` and `unget` that behave the
same way but are implemented with a fast path that is easy to inline and
optimize.
2025-04-01 14:12:12 +02:00
Akash Levy
d743a18ea3
Fix extract_reduce infinite loop
2025-03-31 12:36:43 -07:00
Sean Luchen
23f59e0196
Support array ranges for identifiers in the Liberty parser.
...
This change only handles the case `id : id[range] ;`.
2025-03-31 10:54:00 -07:00
Sean Luchen
ac1033ecd5
Factor parse_vector_range out into its own function.
...
This also fixes the parsing a bit. It was consuming 1 fewer token than
required.
2025-03-31 10:46:18 -07:00
Sean Luchen
0a6d9f4dc9
Factor report_unexpected_token out into its own function.
2025-03-31 10:44:23 -07:00
Akash Levy
f72d27fae0
Robustness fixes
2025-03-30 22:23:21 -07:00
Akash Levy
984c6357ba
Add -word mode to lut2mux and improve the naming
2025-03-30 17:54:35 -07:00
Kelvin Chung
7bbdf6049a
Move implementation to constmap and add test
2025-03-26 11:52:55 +00:00
Kelvin Chung
1113c8c95a
feat: Allow full constant wrapping for hilomap
2025-03-26 11:00:38 +00:00
Akash Levy
cded9861dd
Add muxpacking to extract_reduce
2025-03-21 02:54:39 -07:00
Akash Levy
95f489beec
Merge nice gzip refactor
2025-03-20 16:47:12 -07:00
Emil J. Tywoniak
7aefd4b226
gzip: back to pointers
2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
0877798e18
dfflibmap: allow gzipped liberty files
2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
d00259081d
gzip: simplify uncompressed interface
2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
218ec3fc05
dfflibmap: allow gzipped liberty files
2025-03-19 13:43:44 +01:00
Martin Povišer
91cd382f8b
macc: Rename 'ports' to 'terms' throughout codebase
2025-03-18 13:25:10 +01:00
Akash Levy
ecd289b996
Small simplemap rename
2025-03-17 00:38:32 -07:00
Akash Levy
e4066b784d
Merge remote-tracking branch 'upstream/main'
2025-03-12 19:21:32 -07:00
Martin Povišer
6da543a61a
Merge pull request #4818 from povik/macc_v2
...
Add `$macc_v2`
2025-03-12 22:55:40 +01:00
Akash Levy
e360511339
Merge branch 'YosysHQ:main' into main
2025-03-10 14:21:49 -07:00
Akash Levy
2679e1d458
Undo the changes to muxcover so that Yosys tests can pass
2025-03-10 00:41:52 -07:00
Akash Levy
73417368b4
Add muxcover changes
2025-03-09 22:08:19 -07:00
Martin Povišer
557047fe1e
opt_clean, simplemap: Add `$buf` handling
2025-03-07 16:08:38 +01:00
Akash Levy
27c0fd9905
Fix pmuxtree naming
2025-03-05 06:36:17 -08:00
Akash Levy
8117ab228e
Use set for strpool_attribute to maintain ordering, but keep some backwards compatibility
2025-03-05 03:28:19 -08:00
Akash Levy
3a67468860
Use ordered set for src attrs when flattening
2025-03-04 23:47:48 -08:00
Akash Levy
1b1855353d
Reduce verbosity of some key things
2025-03-04 22:58:56 -08:00
Akash Levy
ba09c6c173
Better reduce_* message
2025-02-18 04:34:54 -08:00
Akash Levy
ef9645990e
Reduce pass verbosity
2025-02-18 04:05:40 -08:00
Akash Levy
fd811ddaee
Cleanup
2025-02-14 08:48:27 -08:00
Akash Levy
8369792e03
Improve extract_reduce further
2025-02-13 21:40:04 -08:00
Akash Levy
610d4cc716
Allow extract_reduce to operate on xnors and single-bit word-wide operators
2025-02-12 15:57:28 -08:00
Akash Levy
00a37bb318
Merge branch 'YosysHQ:main' into main
2025-02-07 14:25:02 -08:00
Martin Povišer
fc88ea360e
Merge pull request #4876 from gadfort/segfault-lexer
...
liberty expression lexer check if characters are found and use size if not for `pin()`
2025-02-07 20:24:08 +01:00
Akash Levy
4e45a86e12
Merge branch 'YosysHQ:main' into main
2025-02-06 12:29:43 -08:00
Martin Povišer
772b9c0cfd
Merge pull request #4691 from hovind/experiments/extract-fa-fix
...
extract_fa: Fix `xor3`/`xnor3` inversion bug
2025-02-06 21:12:32 +01:00
Akash Levy
20c358bce2
Merge branch 'YosysHQ:main' into main
2025-02-04 10:27:16 -08:00
Martin Povišer
b5752dfe16
alumacc: Fix missing signedness check
2025-02-04 13:05:53 +01:00
Adrian Parvin Ouano
23b3638c1e
alumacc: alternative cmp unification implementation
2025-02-04 11:52:37 +01:00
Øystein Hovind
ed076bc168
extract_fa: Invert xor3/xnor3 output when inverting majority3 input
2025-01-30 18:45:07 +01:00
Peter Gadfort
9534f4ab80
check if characters are found and use size if not
2025-01-29 15:56:05 -05:00
Martin Povišer
6c76dcec3e
macc_v2: Fix v2 omissions
2025-01-27 13:08:44 +01:00
Martin Povišer
61450e8b6e
Update codebase for macc_v2
2025-01-24 12:38:03 +01:00
Martin Povišer
c5fd96ebb0
macc_v2: Start new cell
2025-01-24 12:38:03 +01:00
Akash Levy
bd439fc524
Reapply "Merge upstream"
...
This reverts commit e73d51dbf0 .
2025-01-23 13:40:32 -08:00
Akash Levy
e73d51dbf0
Revert "Merge upstream"
...
This reverts commit c58a50f880 , reversing
changes made to a1c3c98773 .
2025-01-21 05:28:36 -08:00
Akash Levy
c58a50f880
Merge upstream
2025-01-21 04:36:34 -08:00
Peter Gadfort
f0860459ac
add support for using scratchpad value for flatten.separator in flatten command
2025-01-18 10:45:19 -07:00
Akash Levy
57bf3a6f51
Merge branch 'YosysHQ:main' into main
2025-01-14 08:38:59 -08:00
Emil J. Tywoniak
a58481e9b7
mark all hash_into methods nodiscard
2025-01-14 12:39:15 +01:00
Akash Levy
5c514e00a4
Sync with upstream
2025-01-13 17:20:59 -08:00
Akash Levy
2b4e175698
bufnorm log_debug to reduce time
2025-01-09 19:24:54 -08:00
mikesinouye
13b183c9c5
Add option for a custom flatten block separator char
2025-01-09 18:30:23 -08:00
Martin Povišer
652a1b9806
macc: Stop using the B port
...
The B port is for single-bit summands. These can just as well be
represented as an additional summand on the A port (which supports
summands of arbitrary width). An upcoming `$macc_v2` cell won't be
special-casing single-bit summands in any way.
In preparation, make the following changes:
* remove the `bit_ports` field from the `Macc` helper (instead add any
single-bit summands to `ports` next to other summands)
* leave `B` empty on cells emitted from `Macc::to_cell`
2025-01-08 13:03:35 +01:00
Akash Levy
1dcf75d175
Sync
2024-12-19 21:40:30 -08:00
Emil J. Tywoniak
b9b9515bb0
hashlib: hash_eat -> hash_into
2024-12-18 15:09:25 +01:00
Emil J. Tywoniak
4e29ec1854
hashlib: acc -> eat
2024-12-18 15:09:25 +01:00
Emil J. Tywoniak
c10b3f57e1
abc: sort stats
2024-12-18 14:58:31 +01:00
Emil J. Tywoniak
d071489ab1
hashlib: redo interface for flexibility
2024-12-18 14:49:25 +01:00
Akash Levy
2d105fc2c3
Small naming fixes to remove sig_ prefix
2024-12-17 10:48:28 -08:00
Akash Levy
caaef5ac14
Merge branch 'YosysHQ:main' into main
2024-12-11 12:00:34 -08:00
Martin Povišer
f7ad003a6f
Merge pull request #4802 from povik/abc9-box-repeat
...
Adjust `abc9_ops -prep_box` to allow repeated invocation
2024-12-10 20:08:17 +01:00
Martin Povišer
0bb139dc25
abc_new: Fix help crash
2024-12-10 14:27:55 +01:00
Martin Povišer
2a3f60bc06
abc_new: Support `abc9_box` mode on ordinary design hierarchy
...
Previously the `abc9_box` mode was reserved to modules with the
`blackbox` or `whitebox` attribute. Allow `abc9_box` on ordinary modules
when doing hierarchical synthesis.
2024-12-10 14:27:29 +01:00
Martin Povišer
285f24d764
abc_new: Support per-module script override
2024-12-10 14:27:29 +01:00
Martin Povišer
f3f8037328
abc9_ops: Allow no arcs on box w/o inputs or w/o outputs
2024-12-05 18:32:41 +01:00
Martin Povišer
481d596c43
abc9_ops -prep_box: Adjust for repeated invocation
...
`abc9_ops -prep_box` command interprets the `abc9_box` attribute and
prepares a .box file for ABC consumption. Previously this command was
removing the attribute as it was processing each module which prevented
repeated invocation of this command unless the box definitions were
refreshed from a source file.
Also the command was keeping existing `abc9_box_id` attributes instead
of overwriting them with values from a new number sequence.
Change both behaviors to allow repeated invocations of the command on
the same design.
2024-12-05 18:32:41 +01:00
Akash Levy
4356eae4c9
Yosys sync
2024-12-04 14:16:55 -08:00
Martin Povišer
14ee5ce800
Merge pull request #4787 from povik/booth-macc
...
booth: Map simple `$macc` instances too
2024-12-04 11:49:34 +01:00
Emil J
3b8e8ee012
Merge pull request #4797 from YosysHQ/emil/multiple-liberty
...
Allow multiple -liberty args in dfflibmap and clockgate
2024-12-04 11:18:52 +01:00
Martin Povišer
384c191192
Merge pull request #4775 from povik/dont_map
...
techmap: Add `-dont_map` for selective disabling of rules
2024-12-03 20:21:47 +01:00
Martin Povišer
1c7bb700c9
techmap: Rephrase help
2024-12-03 20:20:00 +01:00
Emil J. Tywoniak
6edf9c86cb
libparse: add LibertyMergedCells, enable multiple -liberty args for dfflibmap and clockgate
2024-12-03 17:36:00 +01:00
Emil J. Tywoniak
60fb241cb3
clockgate: clean up argument parsing
2024-12-03 17:35:10 +01:00
Akash Levy
e0cef06b52
Merge branch 'YosysHQ:main' into main
2024-12-02 19:39:14 -05:00
KrystalDelusion
889894a6d2
Merge pull request #4790 from YosysHQ/emil/clockgate-warnings
...
clockgate: reduce build warnings
2024-12-03 13:25:52 +13:00
Lofty
fd05f73d50
dfflibmap: demote some warnings to debug
2024-12-02 14:17:51 +00:00
Emil J. Tywoniak
6b006e5f61
clockgate: reduce build warnings
2024-12-02 10:07:01 +01:00
Martin Povišer
1ded817beb
booth: Map simple `$macc` instances too
2024-12-01 16:00:04 +01:00
Martin Povišer
2962f8fa88
techmap: Add `-dont_map` for selective disabling of rules
2024-11-27 15:54:37 +01:00
Alain Dargelas
e9b7db0a4a
Selective boolopt
2024-11-25 15:22:16 -08:00
Alain Dargelas
b2587f5e68
Selective boolopt
2024-11-25 15:19:35 -08:00
Alain Dargelas
e8e25b4cea
Selective boolopt
2024-11-25 15:18:22 -08:00
Alain Dargelas
10bad88bdb
Selective boolopt
2024-11-25 15:15:35 -08:00
Alain Dargelas
13915dee96
Selective boolopt
2024-11-25 15:14:14 -08:00
Alain Dargelas
c32d0a412c
Selective boolopt
2024-11-25 15:08:42 -08:00
Akash Levy
52a1493548
Naming improvements
2024-11-21 03:29:35 -08:00
Akash Levy
f855b39dbb
Merge branch 'YosysHQ:main' into main
2024-11-21 00:34:49 -08:00
Akash Levy
b9456acdd1
Remove unused and_cell
2024-11-20 20:36:39 -08:00
Emil J. Tywoniak
4d96cbec75
clockgate: reduce errors to warnings
2024-11-18 18:32:18 +01:00
Emil J. Tywoniak
983c54c75f
clockgate: help string add -dont_use and -liberty
2024-11-18 13:57:49 +01:00
Emil J. Tywoniak
a5bc36f77e
clockgate: add -dont_use
2024-11-18 13:45:30 +01:00
Emil J. Tywoniak
e6793da9a0
clockgate: refactor
2024-11-18 12:50:25 +01:00
Akash Levy
0e00fc9824
Add breaksop
2024-11-16 21:58:17 -08:00
Akash Levy
aad94abef4
aigmap fix prefix
2024-11-16 21:58:11 -08:00
Akash Levy
6be73e5c2e
Updates
2024-11-15 19:02:06 -08:00
Emil J. Tywoniak
45880ea7f2
clockgate: add -liberty
2024-11-14 20:37:59 +01:00
Lofty
4f40187759
dfflibmap: move expression code into libparse
2024-11-13 16:06:57 +00:00
Lofty
08ed2c765e
dfflibmap: enable inference
2024-11-13 15:57:45 +00:00
Martin Povišer
9da7341003
Merge pull request #4727 from georgerennie/george/bufnorm_constants2
...
bufnorm: preserve constant bits when mapping back to connections
2024-11-13 14:32:15 +01:00
Akash Levy
e99828dc94
Add aigmap
2024-11-12 12:00:09 -08:00
Akash Levy
894c9816d3
Improve naming: big fix
2024-11-11 17:06:11 -08:00
Emil J. Tywoniak
49e1597ea4
filterlib: preserve value quotes
2024-11-12 01:21:07 +01:00
George Rennie
ff6c9446c0
bufnorm: preserve constant bits when mapping back to connections
2024-11-12 01:05:15 +01:00