3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-08-09 14:51:26 +00:00
Commit graph

188 commits

Author SHA1 Message Date
Krystine Sherwin
2aa8d266ad
Update unknown covers as well as asserts
Currently only applicable to smtbmc.
Also don't update assert depth during `cover` mode.
2025-07-08 15:47:33 +12:00
Krystine Sherwin
4fc23bebec
Fix prop.tracefiles 2025-07-08 15:47:33 +12:00
Krystine Sherwin
b3f2889b9e
CSV tidying
Use the same function for csv formatting during live and status reporting.  Reads back the row for live reporting to get the full JOIN data.
Remove unused/unnecessary arguments for setting task property status.
Drop transaction wrapper from read-only db access.
2025-07-08 15:47:33 +12:00
Krystine Sherwin
98ef1c4182
More status tracking unification
- Status database only gets called from summary events instead of from engines.
- More trace witnesses (.aiw and .yw) are tracked as events.
- Multiple tracefiles can be included in the same trace summary, varying only by
  extension.  These are ordered by priority so that in the logfile only a single
  tracefile is listed.
- For engines where multiple properties can be collected for a single trace,
  these properties are now available for all traces until the next step.  If any
  properties are collected but never recorded with a trace, an error is raised.
- Fix formatting for events without steps (e.g. running abc with `vcd off`).
- Drop task_property_data table entirely, since it is now redundant and unused.
- Fix properties being skipped in all status dump if they don't have a trace.
2025-07-08 15:47:33 +12:00
Krystine Sherwin
e2b1e85090
Add --livecsv
Gate csv dump on status updates.
Format 'csv' heading in yellow.
2025-07-08 15:47:32 +12:00
Krystine Sherwin
e9f4f06fe9
smtbmc updates db at each step
All properties marked UNKNOWN get dumped to the db for the previous step, each time the current step is updated.
2025-07-08 15:47:32 +12:00
Krystine Sherwin
a332b017e4
More depth tracking
`SbyTask::update_status()` optionally takes the current step/depth, which gets used for some solvers/engines when exiting to pass unknown properties.
btor engine tracks the current step, but it doesn't track/report which property triggered a CEX so it's only useful on exit.
Use data source as a fallback if engine isn't provided (such as when coming from the `task_status` instead of an engine update).
2025-07-08 15:47:31 +12:00
Krystine Sherwin
f63cd46d12
Store task name in task and statusdb 2025-07-08 15:47:31 +12:00
Krystine Sherwin
4d8462b58e
Add cover_assert option 2025-07-05 11:17:05 +12:00
Krystine Sherwin
aa7d8ab4ce
Reapply "Remove asserts during cover mode"
This reverts commit 205245c827.
2025-07-02 18:00:28 +12:00
Krystine Sherwin
205245c827
Revert "Remove asserts during cover mode"
This reverts commit 81873292c9.
2025-07-02 17:59:46 +12:00
Krystine Sherwin
81873292c9
Remove asserts during cover mode 2025-07-02 17:57:31 +12:00
Yuheng Su
daf4e4cb39 Support rIC3 as backend
Signed-off-by: Yuheng Su <gipsyh.icu@gmail.com>
2024-12-16 11:02:45 +00:00
Krystine Sherwin
176e59c3d8
Replace (read_)ilang with (read_)rtlil 2024-11-05 12:55:09 +13:00
Jannis Harder
b8a001eab2 Add support for the imctk-eqy-engine
This is not added to the documentation, as this is currently intended
for internal use only.
2024-09-08 16:04:26 +02:00
Jannis Harder
b6e41a388b Support for the new anytime schedule in yosys-abc's pdr 2024-03-06 12:26:01 +01:00
Jannis Harder
6ba762db4c Support for "abc --keep-going pdr" via new "pdr -X" mode 2024-02-20 14:06:43 +01:00
Jannis Harder
52184e5bf0 Initial support for a multi-task property status database
This adds initial support for an sqlite database that is shared across
multiple tasks of a single SBY file and that can track the status of
individual properties.

The amount of information tracked in the database is currently quite
minimal and depends on the engine and options used. This can be
incrementally extended in the future.

The ways in which the information in the database can be queries is even
more limited for this initial version, consisting of a single '--status'
option which lists all properties and their status.
2024-02-20 13:34:58 +01:00
Jannis Harder
1eeb6f3f0b Delete $print cells in the backend flows
They are only useful and supported for the simulation that is run with
the output of the prep flow, not the output of the backend flows.
2024-01-22 18:10:00 +01:00
Jannis Harder
884ef862cb assume_early option to implement cross assumes in IVY
Checking IVY's cross assumes requires delaying a subset of assumptions,
which we don't want SBY to undo.
2023-08-11 15:58:55 +02:00
Claire Xen
4cddd7a749
Merge branch 'master' into krys/scy_dev 2023-07-18 16:46:09 +02:00
Claire Xenia Wolf
8b3ba68845 Add aigfolds option
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2023-06-07 22:05:17 +02:00
Claire Xenia Wolf
7d60a3ba34 Add aigvmap and aigsyms options
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2023-06-03 22:16:35 +02:00
Claire Xenia Wolf
f49c9ebb29 Make call to "witness -rename" optional (default=on)
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2023-06-02 13:04:45 +02:00
Krystine Sherwin
36e7a72586
Adding prep mode and skip_prep option
Allows for generating a design_prep model which can then be used by multiple distinct sby runs.
2023-05-16 17:42:53 +12:00
Jannis Harder
74f33880bd
Merge pull request #232 from dlmiles/win-qol-cleanopt
-f clean: QoL improvement on Windows concerning file/dir removal locking
2023-02-20 19:48:36 +01:00
Darryl L. Miles
fa5bc957c1 -f clean: QoL improvement on Windows concerning file/dir removal locking
When using the -f argument be more forgiving with the expectation of a clean
workspace and the expectation of the new sby run being responsible for
directory creation.

This is a usability and quality of life improvement for Windows users where
the OS can implement file and directory locking implicitly.  In the EDA world
it is common to have multiple tools in use at any one time and it can become
tortious to have to close files / exit 3rd party applications to release
locking so sby is happy to rerun.

This change will prevent sby claiming a terminal error has occurred when it
fails to create a directory that already exists.  It also now considers the
environment to be 'clean' (as per -f) if all the non-directory elements of
the file tree have been deleted, leaving potentially an empty a skeleton of
directories.
2023-02-18 09:36:18 +00:00
Jannis Harder
c5dce57067 append_assume: Make append_assume on the default for now
Having `append_assume off` needs `vcd_sim on` to not be ignored with a
warning and `vcd_sim off` is still the default.
2023-02-08 14:18:52 +01:00
Jannis Harder
f14aaa57c4 avy: Fold aiger model using abc to support assumptions 2023-01-11 18:36:06 +01:00
Jannis Harder
6398938e6a Enable yosys sim support for clock signals in hierarchical designs 2023-01-11 18:02:45 +01:00
Jannis Harder
6d3b5aa960 Unified trace generation using yosys's sim across all engines
Currently opt-in using the `fst` or `vcd_sim` options.
2023-01-10 18:42:26 +01:00
Claire Xenia Wolf
e8d713cc27 Add colors to early and late log messages
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2022-11-02 12:35:11 +01:00
Claire Xenia Wolf
003ccf7197 Add color handling via click.style and click.echo
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2022-10-31 20:29:32 +01:00
Jannis Harder
966bdae1f6 aigbmc: Convert aiw trace to yw trace and load that into smtbmc
This handles more edge cases concerning FF initialization, memories and
hierarchy.
2022-10-20 14:36:07 +02:00
Jannis Harder
83a1aa23c8
Merge pull request #218 from jix/fix_engine_list
Fix engine_list's return value
2022-09-15 17:59:25 +02:00
Jannis Harder
a0e3dd3d9a Fix engine_list's return value
This fixes #216
2022-09-15 15:47:27 +02:00
Jannis Harder
168d667b6d Add vcd option to make VCD writing optional 2022-09-05 15:42:24 +02:00
Jannis Harder
bd88454d7d
Merge pull request #196 from jix/parallel_jobserver
Run tasks in parallel and integrate with the make jobserver
2022-08-19 14:21:53 +02:00
Jannis Harder
b0786aea43 Make jobserver integration
Only implements the POSIX jobserver and will break on windows.
Unbreaking it on windows will be done as a follow up.

Not used for autotune, that needs some more changes.
2022-08-18 14:40:00 +02:00
Jannis Harder
de939e279a Run tasks in parallel 2022-08-18 14:38:40 +02:00
Aki Van Ness
de40cc499f
sby: core: removed invalid None check in setup section 2022-08-18 05:52:38 -04:00
Aki Van Ness
41b4ce5a7e
sby: fixed issue where engine index would be out of range 2022-08-18 05:51:03 -04:00
Aki Van Ness
8f5508142d
sby: core: minor error message cleanups for consistency 2022-08-18 05:36:11 -04:00
Aki Van Ness
a6c220dd5d
docs: Cut out the in-progress docs in preperation for a merge 2022-08-18 05:36:11 -04:00
Aki Van Ness
841e0cb797
sby: core: Added unsupported messages to the new sections 2022-08-18 05:36:11 -04:00
Aki Van Ness
637095a8ec
sby: fixed the sby task execution to accept the new engine internal layout 2022-08-18 05:36:11 -04:00
Aki Van Ness
98fdcd7772
sby: core: fixed up the [setup] section 2022-08-18 05:36:11 -04:00
Aki Van Ness
6c959577f3
sby: core: cleaned up the [stage] section parsing 2022-08-18 05:36:11 -04:00
Aki Van Ness
ad4f506d2a
sby: core: fixed up the engines section parser 2022-08-18 05:36:10 -04:00
Aki Van Ness
2f841e5d55
sby: core: updated the parsing to match the changes in PR #206 2022-08-18 05:36:10 -04:00