Commit Graph

737 Commits

Author SHA1 Message Date
KrystalDelusion b06a661913
Merge pull request #4834 from YosysHQ/emil/gzip-refactor
Memory-efficient zlib usage across Liberty file consumers
2025-03-21 10:01:00 +13:00
Krystine Sherwin d704ca8019
abstract: Fix indentation 2025-03-20 17:20:36 +13:00
Krystine Sherwin 452dd1b74b
abstract: Assign default to value
Fix `-Wmaybe-uninitialized` on line 43 and 44.
2025-03-20 17:19:22 +13:00
Emil J. Tywoniak 199702a392 dft_tag: fix autoNot not notting 2025-03-19 18:28:50 +01:00
Emil J. Tywoniak 980a0a15c1 stat: allow gzipped liberty files 2025-03-19 13:43:44 +01:00
Anhijkt de032d2e2a splitcells: change for-loop condition 2025-02-28 23:16:04 +02:00
Anhijkt 9a14ab8d98 splitcells: Fix the assertion bug caused by out-of-bound offset 2025-02-28 13:51:22 +02: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. 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
Emil J. Tywoniak a58481e9b7 mark all hash_into methods nodiscard 2025-01-14 12:39:15 +01: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 c73c88033d hashlib: only include in one place 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
Martin Povišer 4bd6061709
Merge pull request #4799 from povik/wrapcell-unused
wrapcell: Optionally track unused outputs
2024-12-10 21:16:28 +01:00
Martin Povišer 3cd01a57cd wrapcell: Add comments, const qualifier 2024-12-10 15:13:31 +01:00
Martin Povišer 9161377c5a wrapcell: Fix help 2024-12-09 15:40:33 +01:00
Martin Povišer 481162b848
Merge pull request #4800 from povik/portarcs-fix
Fix portarcs edge cases
2024-12-09 15:13:15 +01:00
N. Engelhardt 8557455411 handle quotes and check return value 2024-12-06 11:25:45 +01:00
Miodrag Milanovic 1b403b82d7 Handle setting environment on Windows 2024-12-06 11:25:45 +01:00
N. Engelhardt 8b0f665cc5 add setenv pass 2024-12-06 11:25:43 +01:00
Martin Povišer f4f65493a1 portarcs: Fix confusing disconnected and zero-delay case 2024-12-05 18:27:44 +01:00
Martin Povišer 2c66557d22 portarcs: Fix for case of unused gates 2024-12-05 18:27:43 +01:00
Martin Povišer d57d21e566 wrapcell: Optionally track unused outputs 2024-12-05 18:16:53 +01:00
Martin Povišer 79e9258a31 wrapcell: Add new command 2024-11-27 14:01:00 +01:00
Martin Povišer 2dba345049 portarcs: New command to derive propagation arcs 2024-11-13 16:20:35 +01:00
Martin Povišer 4ce8c7a0d3
Merge pull request #4709 from YosysHQ/emil/idstring-in-fold
functional, glift: use fold overload of IdString::in instead of pool …
2024-11-13 15:17:33 +01:00
mszelwiga 8e508f2a2a Fix setting bits of parameters in setundef pass
This commit also adds test that verifies correctness of this change.
2024-11-08 17:03:08 +01:00
Emil J. Tywoniak 387a235158 functional, glift: use fold overload of IdString::in instead of pool literals 2024-11-06 12:48:32 +01:00
Martin Povišer 29af057430
Merge pull request #4707 from povik/stat-unused
stat: Drop unused field
2024-11-05 09:38:29 +01:00
Martin Povišer 4df3a5d7ec stat: Drop unused field 2024-11-05 09:37:35 +01:00
Martin Povišer 35a20da512 logger: Adjust print 2024-11-04 13:16:40 +01:00
Martin Povišer 7aa3fdab80 select: Add `-list-mod` option 2024-11-04 13:16:13 +01:00
Lofty dd7ea0ab6c qwp: remove 2024-10-25 14:09:58 +01:00
Martin Povišer 9432e972f7
Merge pull request #4626 from povik/select-t-at
select: Add new `t:@<name>` syntax
2024-10-16 10:18:05 +02:00
Martin Povišer 09be0351ce select: Add new `t:@<name>` syntax 2024-10-15 12:22:02 +02:00
Emil J. Tywoniak 785bd44da7 rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
Miodrag Milanovic f079772ade Add TODO for missing help messages 2024-10-08 08:47:51 +02:00
Mike A. 95a2099c90
Allow whitespace in `tee` command paths 2024-09-29 17:15:59 +02:00
N. Engelhardt 8e1e2b9a39
Merge pull request #4495 from povik/check-avert-costly-detail 2024-09-23 15:19:48 +02:00
N. Engelhardt c8b42b7d48
Merge pull request #4538 from RCoeurjoly/verific_bounds 2024-09-12 13:04:04 +02:00
Martin Povišer 34572708d5
Merge pull request #4595 from YosysHQ/emil/internal_stats-astnode
internal_stats: astnode (sizeof)
2024-09-11 12:21:29 +02:00
Emil J. Tywoniak 1372c47036 internal_stats: astnode (sizeof) 2024-09-11 11:34:20 +02:00
Roland Coeurjoly bdc43c6592 Add left and right bound properties to wire. Add test. Fix printing
for signed attributes

Co-authored-by: N. Engelhardt <nak@yosyshq.com>
Co-authored-by: Roland Coeurjoly <rolandcoeurjoly@gmail.com>
2024-09-10 12:52:42 +02:00
Hoa Nguyen c1205ebc42 Initialize area stats in stat pass
Currently, the area variables in the stat struct are not initialized.
This caused the area stats occasionally being an erroneous value.

Signed-off-by: Hoa Nguyen <hnpl@google.com>
2024-09-07 21:30:58 -07:00
Miodrag Milanović b20df72e1e
Merge pull request #4536 from YosysHQ/functional
Functional Backend
2024-09-06 10:05:04 +02:00
Emil J. Tywoniak 14b9155492 internal_stats: fix doc build by adding a help string 2024-09-05 11:22:21 +02:00
Emil J. Tywoniak 0ce7631956 internal_stats: init, report current memory consumption on linux and mac 2024-09-03 19:28:24 +02:00
Emily Schmidt 850b3a6c29 convert class FunctionalIR to a namespace Functional, rename functionalir.h to functional.h, rename functional.h to compute_graph.h 2024-08-21 11:04:08 +01:00
Emily Schmidt 8c0f625c3a functional backend: topological sort starts with the output and next states nodes, other nodes get deleted 2024-08-21 11:03:29 +01:00
Emily Schmidt dd5ec84a26 fix bugs in drivertools 2024-08-21 11:01:09 +01:00
Jannis Harder d4e3daa9d0 ComputeGraph datatype for the upcoming functional backend 2024-08-21 11:01:09 +01:00
Jannis Harder 68c3a47945 WIP temporary drivertools example 2024-08-21 11:01:08 +01:00
Martin Povišer 3057c13a66 Improve libparse encapsulation 2024-08-13 18:47:36 +02:00
Martin Povišer 4c3203866f exec: Add missing newline 2024-08-07 13:02:00 +02:00
Emil J. Tywoniak 4b29f64142 cost: add model for techmapped cell count, keep_hierarchy pass with -min_cost parameter 2024-07-29 10:26:02 +02:00
Martin Povišer 0cefe8a1e8 check: Skip detailed edge modeling if costly 2024-07-18 13:08:19 +02:00
Martin Povišer e70b1251ad check: Adjust prints 2024-07-18 13:08:19 +02:00
Martin Povišer 3f71bc469d check: Rephrase comment 2024-07-18 13:08:19 +02:00
Miodrag Milanovic 9b82a44d25 Fix help message typo 2024-06-07 08:26:59 +02:00
Martin Povišer 4b67f3757f
Merge pull request #4404 from YosysHQ/povik/bbox_derive
box_derive: New command to derive modules for boxes
2024-05-31 19:09:18 +02:00
Martin Povišer b230c95cc4 select: Adjust help 2024-05-29 20:41:56 +02:00
Martin Povišer 49906be776 select: Introduce `-assert-mod-count` 2024-05-21 16:34:38 +02:00
Martin Povišer adc1a01490 select: Refactor some flag validation 2024-05-21 16:29:20 +02:00
Martin Povišer c0a196173a Rename `bbox_derive` to `box_derive` 2024-05-21 16:18:03 +02:00
Martin Povišer 5c929a91c2 bbox_derive: Write help 2024-05-21 14:57:37 +02:00
Martin Povišer 88af059fad bbox_derive: Fix `done` base type confusion 2024-05-21 14:57:26 +02:00
Emil J. Tywoniak 44b0fdc2bf bbox_derive: add assert and debug print 2024-05-03 20:43:01 +02:00
Emil J. Tywoniak e8c58a5528 bbox_derive: fix unininitialized memory UB when run with no named args 2024-05-03 20:41:42 +02:00
Martin Povišer 4c000d3aba Add new `bbox_derive` command for blackbox derivation 2024-05-03 20:39:11 +02:00
Martin Povišer b00abe4a26 Extend `log` command with `-push`, `-pop`, `-header` options 2024-04-10 11:49:20 +02:00
Martin Povišer 47931f9050
Merge pull request #4295 from gadfort/add-ports-stat
add port statistics to stat command
2024-04-08 11:12:02 +02:00
Peter Gadfort 160e3e089a add port statistics to stat command 2024-03-22 09:20:20 -04:00
Martin Povišer 206d894c56 check: Omit private wires in loop report 2024-03-11 10:45:36 +01:00
Martin Povišer d01728aaa5 celledges: Register async FF paths 2024-03-11 10:45:36 +01:00
Martin Povišer 4fdcf388d3 check: Assert edges data is not out-of-bounds 2024-03-11 10:45:17 +01:00
Martin Povišer b6112b3551 check: Consider read ports in loop detection 2024-03-11 10:45:17 +01:00
Martin Povišer fa74d0bd1a check: Use cell edges data in detecting combinational loops 2024-03-11 10:43:49 +01:00
Martin Povišer c5ae74af34 check: Improve found loop logging
Print the detected loop in-order, and include source location for each
node, if available.
2024-03-11 10:43:49 +01:00
Jannis Harder d8cdc213a6 rename -witness: Bug fix and rename formal cells
Rename formal cells in addition to witness signals. This is required to
reliably track individual property states for the non-smtbmc flows.

Also removes a misplced `break` which resulted in only partial witness
renaming.
2024-03-04 16:53:03 +01:00