mirror of
https://github.com/YosysHQ/sby.git
synced 2025-09-04 18:47:43 +00:00
sby: core: Started on the initial stages setup script generation
This commit is contained in:
parent
81ee5fdd5a
commit
eb90f08086
1 changed files with 36 additions and 1 deletions
|
@ -443,7 +443,7 @@ class SbyConfig:
|
||||||
|
|
||||||
if mode == "setup":
|
if mode == "setup":
|
||||||
_valid_options = (
|
_valid_options = (
|
||||||
"cutpoint", "disable", "enable", "assume", "define"
|
"cutpoint", "disable", "enable", "assume", "define", "invoke"
|
||||||
)
|
)
|
||||||
|
|
||||||
args = line.strip().split(maxsplit = 1)
|
args = line.strip().split(maxsplit = 1)
|
||||||
|
@ -546,6 +546,41 @@ class SbyConfig:
|
||||||
def error(self, logmessage):
|
def error(self, logmessage):
|
||||||
raise SbyAbort(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:
|
class SbyTaskloop:
|
||||||
def __init__(self, jobclient=None):
|
def __init__(self, jobclient=None):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue