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
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
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
Lofty
e4ab6acb46
Add genlib support to abc_new
2025-05-27 09:47:29 +01: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
Emil J. Tywoniak
adb1986dc1
gzip: refactor file open failure errors
2025-04-29 10:37:35 +02: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
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
N. Engelhardt
3410e10ed5
Merge pull request #5000 from YosysHQ/krys/re_refactor_selections
2025-04-10 16:06:36 +00: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
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
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
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
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
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
Martin Povišer
6da543a61a
Merge pull request #4818 from povik/macc_v2
...
Add `$macc_v2`
2025-03-12 22:55:40 +01:00
Martin Povišer
557047fe1e
opt_clean, simplemap: Add $buf
handling
2025-03-07 16:08:38 +01: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
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
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
Peter Gadfort
f0860459ac
add support for using scratchpad value for flatten.separator in flatten command
2025-01-18 10:45:19 -07:00
Emil J. Tywoniak
a58481e9b7
mark all hash_into methods nodiscard
2025-01-14 12:39:15 +01:00