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

197 commits

Author SHA1 Message Date
Krystine Sherwin
a6496d646f
Cancel shouldn't use timeout logic 2025-07-09 10:28:50 +12:00
Krystine Sherwin
1f3b418018
Fix autotune 2025-07-09 10:04:58 +12:00
Krystine Sherwin
67212a20e5
Add --statuscancels option
The statusdb is only used to check for task completions if this option is used, requiring the user to explicitly request the feature.
2025-07-09 10:04:37 +12:00
Krystine Sherwin
5fc8df43f8
Intertask cancellation via database
Task checking via database rated limited to once every 10s.
Rename killer.sby to cancelledby.sby and add Makefile for testing.
2025-07-09 10:03:54 +12:00
Krystine Sherwin
e7c756a43f
Add cancelledby config section 2025-07-09 10:03:54 +12:00
Krystine Sherwin
a153349ac8
Initial intertask cancellation
Taskloops store tasks_done, tasks can be cancelled, and if a task named "killer" is in tasks_done then any other tasks are cancelled.
2025-07-09 10:03:54 +12:00
KrystalDelusion
1130847901
Merge branch 'main' into krys/symlink 2025-07-09 10:01:30 +12:00
Krystine Sherwin
f399acc22d
Update unknowns on timeout 2025-07-08 15:47:34 +12:00
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
Krystine Sherwin
829b4cc32f
Add linkmode --link
Symlinks files instead of copying them.
2025-06-23 16:17:18 +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