3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-17 12:45:44 +00:00
Commit graph

131 commits

Author SHA1 Message Date
Akash Levy
1b3375d8df Merge upstream in 2025-09-09 05:50:48 -07: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
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
Neil Deo
093bf7ed7e Fix getPort issue to pass yosys tests 2025-06-05 14:38:38 -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
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
Akash Levy
1dcf75d175 Sync 2024-12-19 21:40:30 -08:00
Emil J. Tywoniak
c10b3f57e1 abc: sort stats 2024-12-18 14:58:31 +01: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
894c9816d3 Improve naming: big fix 2024-11-11 17:06:11 -08:00
Krystine Sherwin
7b47f645d7
Address warnings
- Setting default values
- Fixing mismatched types
- Guarding unused var
2024-08-16 04:30:31 +12:00
Peter Gadfort
a48825a604 add support for using ABCs library merging when providing multiple liberty files 2024-04-12 13:57:29 -04:00
Miodrag Milanović
88ce47e4f0
Merge pull request #3892 from QuantamHD/dont_use
abc: Exposes dont_use flag in ABC
2023-09-12 14:58:44 +02:00
Martin Povišer
e995dddeaa abc: Warn about replacing undef bits 2023-09-05 10:45:30 +02:00
Ethan Mahintorabi
d525a41497
abc: Exposes dont_use flag in ABC
ABC's read_lib command has a dont_use
cell list that is configurable by the user.

This PR exposes that option to Yosys.

See
5405d4787a/src/map/scl/scl.c (L285)
for documentation on this option.

Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2023-08-15 20:03:46 +00:00
Catherine
6965abeefa abc, abc9_exe: fix build on WASI (and others with const* stdout).
C does not guarantee that stdout/stderr can be reassigned.
Most platforms do make them assignable, however musl and WASI that
is based on musl do not. WASI does not have `dup2()`; instead it has
its own non-portable version of it that can only assign to previously
allocated fds.

Update the stream redirection code so that it does the right thing
on WASI and other platforms.
2023-07-23 05:13:29 +01:00
Catherine
411b6e98cd abc, abc9_exe: respect -q when built with linked ABC.
This is mostly important for YoWASP builds, since those do not have
a way to build with external ABC (I prototyped it but for some reason
ABC always segfaults when built as an independent Wasm binary...)
2023-07-23 02:03:29 +01:00
N. Engelhardt
da614fe13a Fix tmpdir naming when passing -nocleanup option to abc(9) on systems where base_tmpdir isn't /tmp/ 2022-09-13 19:30:40 +02:00
N. Engelhardt
d829d7fe00
Merge pull request #3458 from QuantamHD/abc_faster 2022-08-31 08:58:42 +02:00
Ethan Mahintorabi
114253cd54 Improves ABC command runtime by 10-100x
After speaking with the author of ABC he let me know that ifraig is a very old command, and that &get; &fraig -x; &put is over 100x faster than ifraig with improved PPA results.

After making the change I confirmed that this is in fact a major speed up. On our internal designs in O(millions) of standard cells we saw multi hour reductions in runtime.

Also included is an improvement to the dress command. Using AIG based transformations removes the spec it SATs against. Proving the input blif will make sure that no matter what commands are run the dress command can still do its job. I noticed a regression against some LUT mapping jobs that prompted me to fix this.
2022-08-24 00:35:02 +00:00
KrystalDelusion
9465b2af95 Fitting help messages to 80 character width
Uses the regex below to search (using vscode):
	^\t\tlog\("(.{10,}(?<!\\n)|.{81,}\\n)"\);

Finds any log messages double indented (which help messages are)
and checks if *either* there are is no newline character at the end,
*or* the number of characters before the newline is more than 80.
2022-08-24 10:40:57 +12:00
Miodrag Milanovic
f4a1906721 support file locations containing spaces 2022-08-08 20:30:50 +02:00
Catherine
502b96fe53 Fix external ABC build after commit 0ca0932b5. 2022-07-07 08:38:30 +00:00
Mohamed A. Bamakhrama
1822be8792 Observe $TMPDIR variable when creating tmp files
POSIX defines $TMPDIR as containing the pathname of the directory where
programs can create temporary files. On most systems, this variable points to
"/tmp". However, on some systems it can point to a different location.
Without respecting this variable, yosys fails to run on such systems.

Signed-off-by: Mohamed A. Bamakhrama <mohamed@alumni.tum.de>
2022-05-27 15:06:53 +02:00
Marcelina Kościelnicka
18a48b1337 abc: Use dict/pool instead of std::map/std::set 2022-05-04 22:04:50 +02:00
Marcelina Kościelnicka
376d8cb26f abc: Add support for FFs with reset in -dff 2022-04-07 15:05:02 +02:00
Anton Blanchard
89300b2dca abc: Fix {I} and {P} substitution
We were searching for {D} after the first match of {I} or {P}.
2022-02-23 18:54:28 +11:00
Claire Xen
c77d5a2aac
Spelling fix in abc.cc 2021-11-10 16:47:54 +01:00
Claire Xenia Wolf
093e287a1e Add genlib support to ABC command
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2021-11-10 16:40:54 +01:00
Claire Xenia Wolf
72787f52fc Fixing old e-mail addresses and deadnames
s/((Claire|Xen|Xenia|Clifford)\s+)+(Wolf|Xen)\s+<(claire|clifford)@(symbioticeda.com|clifford.at|yosyshq.com)>/Claire Xenia Wolf <claire@yosyshq.com>/gi;
s/((Nina|Nak|N\.)\s+)+Engelhardt\s+<nak@(symbioticeda.com|yosyshq.com)>/N. Engelhardt <nak@yosyshq.com>/gi;
s/((David)\s+)+Shah\s+<(dave|david)@(symbioticeda.com|yosyshq.com|ds0.me)>/David Shah <dave@ds0.me>/gi;
s/((Miodrag)\s+)+Milanovic\s+<(miodrag|micko)@(symbioticeda.com|yosyshq.com)>/Miodrag Milanovic <micko@yosyshq.com>/gi;
s,https?://www.clifford.at/yosys/,http://yosyshq.net/yosys/,g;
2021-06-08 00:39:36 +02:00
Robert Baruch
1d79222af4 Fixes command line for abc pass in -fast -sop mode 2021-02-16 16:34:09 -08:00
whitequark
f200a8fe1c
Merge pull request #2549 from pgadfort/support-multiple-libs
adding support for passing multiple liberty files to abc
2021-01-25 10:36:14 +00:00
Peter Gadfort
169234d6e9 adding support for passing multiple liberty files to abc 2021-01-18 16:47:49 -05:00
Tobias Faller
760a2c1343 Fixed missing goto statement in passes/techmap/abc.cc 2021-01-12 16:17:51 +01:00
Miodrag Milanovic
829b5cca60 Expose abc and data paths as globals 2020-11-06 14:17:15 +01:00