3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-08-14 17:05:31 +00:00

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.
This commit is contained in:
Jannis Harder 2024-02-19 21:06:26 +01:00
parent 5c649c8e75
commit 52184e5bf0
8 changed files with 462 additions and 5 deletions

View file

@ -88,6 +88,10 @@ class SbyProperty:
return c.FAIR
raise ValueError("Unknown property type: " + name)
@property
def assume_like(self):
return self in [self.ASSUME, self.FAIR]
name: str
path: Tuple[str, ...]
type: Type
@ -171,9 +175,12 @@ class SbyDesign:
properties_by_path: dict = field(default_factory=dict)
def pass_unknown_asserts(self):
updated = []
for prop in self.hierarchy:
if prop.type == prop.Type.ASSERT and prop.status == "UNKNOWN":
prop.status = "PASS"
updated.append(prop)
return updated
def cell_path(cell):