Krystine Sherwin
913ac04764
hierarchy: Derive abstract cells in top mod
...
Previously abstract cells would only be derived if there was no top module declared, this means that `-check` would miss certain kinds of errors that it would normally detect. This fixes #4927 .
2025-03-07 10:12:29 +13:00
KrystalDelusion
9106d6b3bd
Merge pull request #4881 from YosysHQ/pmgen-pass-restructure
...
Move passes out of the passes/pmgen folder
2025-03-01 10:22:54 +13:00
Martin Povišer
bca21c60d8
Merge pull request #4902 from akashlevy/splitcells_aldff_fix
...
`aldff`s do not get split by `splitcells` pass
2025-02-27 00:56:46 +01:00
Emil J
b4a169527d
Merge pull request #4894 from YosysHQ/emil/abstract
...
Add `abstract` pass for formal verification
2025-02-25 11:16:37 +01:00
Emil J. Tywoniak
07004f1089
abstract: typo?
2025-02-25 00:19:15 +01:00
Emil J. Tywoniak
925c617c52
abstract: add module input -value abstraction
2025-02-18 17:08:45 +01:00
Jannis Harder
212224dfe8
abstract: Add help message
2025-02-18 17:08:45 +01:00
Jannis Harder
2943c2142d
abstract: Improve debug logging
...
Print the port bit instead of the arbitrary representative sigbit to
identify the target of the abstraction operation.
2025-02-18 17:08:45 +01:00
Jannis Harder
a0987195f2
abstract: Support slicing of individual wires
2025-02-18 17:08:45 +01:00
Jannis Harder
4766c92e59
abstract: Allow unconditional value and state abstractions
...
Also improves -enable and -enablen command line handling
2025-02-18 17:08:45 +01:00
Jannis Harder
37aa2e6cd8
abstract: Wire vs port offset confusion bugfix
...
This fixes the offsets_to_abstract collection in abstract_state so that
it now works the same way as in abstract_value which was already
correct.
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
28c768e7b8
abstract: better present changes done
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
3dd697fc8a
abstract: improve -init logging
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
9de890c874
abstract: fix -init log_debug bit count, remove unnecessary log_debug
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
aca4d44a40
abstract: improve debug logs for -state and -value
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
cee06cecd0
abstract: factor out emit_mux_anyseq
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
9895370b32
abstract: rework -init without bufnorm, with logging
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
1646991092
abstract: refactor -value
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
e9bba13a0d
abstract: no more bufnorm, -value has bit selection consistent with -state, -init temporarily gutted
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
3f1ee3e0ae
abstract: -state refactor sigbit rep pool collection
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
387d0de383
abstract: -state allow partial abstraction, don't use buffer-normalized mode
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
6027030215
abstract: -value MVP, use buffer-normalized mode
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
4637fa74e3
abstract: -init MVP
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
e4ca7b8846
abstract: -state MVP
2025-02-18 17:08:45 +01:00
Akash Levy
3676429634
`aldff`s do not get split by splitcells
2025-02-14 10:53:51 -08:00
Krystine Sherwin
4c728968a3
Fix runtime error on shr INT_MAX
2025-02-14 14:01:36 +13:00
Emil J
df3c62a4ed
Merge pull request #4892 from YosysHQ/emil/fix-memory-libmap-dangling-cells
...
memory_libmap: update indices on design modification
2025-02-12 10:21:01 +01:00
Emil J. Tywoniak
55b60dca95
memory_libmap: update indices on design modification
2025-02-11 13:32:34 +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
Krystine Sherwin
0ec5f1b756
pmgen: Move passes out of pmgen folder
...
- Techlib pmgens are now in relevant techlibs/*.
- `peepopt` pmgens are now in passes/opt.
- `test_pmgen` is still in passes/pmgen.
- Update `Makefile.inc` and `.gitignore` file(s) to match new `*_pm.h` location,
as well as the `#include`s.
- Change default `%_pm.h` make target to `techlibs/%_pm.h` and move it to the
top level Makefile.
- Update pmgen target to use `$(notdir $*)` (where `$*` is the part of the file
name that matched the '%' in the target) instead of `$(subst _pm.h,,$(notdir
$@))`.
2025-01-31 15:18:28 +13:00
Øystein Hovind
ed076bc168
extract_fa: Invert xor3/xnor3 output when inverting majority3 input
2025-01-30 18:45:07 +01:00
Emil J. Tywoniak
c2691207df
wreduce: fix warning for deprecated IdString::in(pool<IdString>)
2025-01-30 12:01:30 +01:00
Peter Gadfort
9534f4ab80
check if characters are found and use size if not
2025-01-29 15:56:05 -05:00
Peter Gadfort
66545caa1b
Merge branch 'main' into synth-flatten
2025-01-20 10:24:38 -07:00
Peter Gadfort
f0860459ac
add support for using scratchpad value for flatten.separator in flatten command
2025-01-18 10:45:19 -07:00
N. Engelhardt
a5ba1d2eba
fix bugs in handling last id in hdlname to scopename conversion
2025-01-16 12:57:08 +01:00
N. Engelhardt
d640157ec4
fix some cases of hdlname being added to objects with private names
2025-01-15 15:56:42 +01:00
Emil J. Tywoniak
a58481e9b7
mark all hash_into methods nodiscard
2025-01-14 12:39:15 +01:00
Martin Povišer
6225abec71
Merge pull request #4839 from mikesinouye/separator
...
Add option for a custom flatten block separator char
2025-01-13 15:51:31 +01:00
Larry Doolittle
27be9a6b77
keep_hierarchy.cc: use strictly correct syntax for printf of uint64_t values
...
Removes two warnings from the compile, at least on amd64 arch
2025-01-10 14:03:09 -08:00
mikesinouye
13b183c9c5
Add option for a custom flatten block separator char
2025-01-09 18:30:23 -08:00
Martin Povišer
ca0ace66bc
Merge pull request #4817 from povik/macc_v2-1
...
macc: Stop using the B port
2025-01-08 14:42:51 +01:00
Martin Povišer
366e3f22fb
Merge pull request #4836 from YosysHQ/emil/share-fix-log
...
share: fix misleading 0 cells log message
2025-01-08 13:14:34 +01: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
Emil J. Tywoniak
1836a571c9
share: fix misleading log message
2025-01-07 19:25:15 +01:00
Martin Povišer
41e4aa8f0a
Merge pull request #4819 from povik/wreduce-resign
...
wreduce: Optimize signedness when possible
2025-01-06 15:27:55 +01:00
Martin Povišer
be351886a5
wreduce: Adjust naming and comments
2025-01-03 12:54:34 +01:00