3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-04-15 09:48:43 +00:00

sby: core: Started on the initial stages setup script generation

This commit is contained in:
Aki Van Ness 2022-09-15 06:52:25 -04:00
parent 81ee5fdd5a
commit eb90f08086
No known key found for this signature in database
GPG key ID: C629E8EC06327BEE

View file

@ -443,7 +443,7 @@ class SbyConfig:
if mode == "setup":
_valid_options = (
"cutpoint", "disable", "enable", "assume", "define"
"cutpoint", "disable", "enable", "assume", "define", "invoke"
)
args = line.strip().split(maxsplit = 1)
@ -546,6 +546,41 @@ class SbyConfig:
def error(self, logmessage):
raise SbyAbort(logmessage)
def gen_setup_script(self):
script = '# Autogenerated by SBY stage setup\n'
def cutpoint(v):
return f"cutpoint {v}"
def disable(v):
return f"select -del {v}"
def enable(v):
return f"select -add {v}"
def assume(v):
return f"chformal -assert2assume {v}"
def define(v):
return f"select -set {v}"
def invoke(v):
return f"{v}"
for k, v in self.setup.items():
script += {
'cutpoint': cutpoint(v),
'disable': disable(v),
'enable': enable(v),
'assume': assume(v),
'define': define(v),
'invoke': invoke(v)
}.get(k, '') + '\n'
# TODO: Invert selection, then `chformal -assert -remove`
return script
class SbyTaskloop:
def __init__(self, jobclient=None):