3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-16 12:15:52 +00:00
Commit graph

1466 commits

Author SHA1 Message Date
Akash Levy
439d859bba
Merge branch 'YosysHQ:main' into main 2025-04-03 10:48:42 -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
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
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
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