Skip to content

Commit a508958

Browse files
committed
sby: core: Started on the initial stages setup script generation
1 parent e97dd01 commit a508958

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

sbysrc/sby_core.py

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ def parse_config(self, f):
422422

423423
if mode == "setup":
424424
_valid_options = (
425-
"cutpoint", "disable", "enable", "assume", "define"
425+
"cutpoint", "disable", "enable", "assume", "define", "invoke"
426426
)
427427

428428
args = line.strip().split(maxsplit = 1)
@@ -525,6 +525,41 @@ def parse_config(self, f):
525525
def error(self, logmessage):
526526
raise SbyAbort(logmessage)
527527

528+
def gen_setup_script(self):
529+
script = '# Autogenerated by SBY stage setup\n'
530+
531+
def cutpoint(v):
532+
return f"cutpoint {v}"
533+
534+
def disable(v):
535+
return f"select -del {v}"
536+
537+
def enable(v):
538+
return f"select -add {v}"
539+
540+
def assume(v):
541+
return f"chformal -assert2assume {v}"
542+
543+
def define(v):
544+
return f"select -set {v}"
545+
546+
def invoke(v):
547+
return f"{v}"
548+
549+
for k, v in self.setup.items():
550+
script += {
551+
'cutpoint': cutpoint(v),
552+
'disable': disable(v),
553+
'enable': enable(v),
554+
'assume': assume(v),
555+
'define': define(v),
556+
'invoke': invoke(v)
557+
}.get(k, '') + '\n'
558+
559+
# TODO: Invert selection, then `chformal -assert -remove`
560+
561+
return script
562+
528563

529564
class SbyTaskloop:
530565
def __init__(self, jobclient=None):

0 commit comments

Comments
 (0)