Adding parameter to track index minimum winners
This parameter is split from the flowgraph to separate control from status
The parameter is updated in the runstep based on the inputs to step.
It has to be calculated on the "next step" since there will be many threads in flight simultaneously.
@@ -33,6 +33,9 @@ def schema_cfg():
# Flow graph Setup
cfg = schema_flowgraph(cfg)
+ # Keeping track of flow execution
+ cfg = schema_flowstatus(cfg)
+
# Design Hiearchy
cfg = schema_hier(cfg)
@@ -1453,8 +1456,6 @@ def schema_flowgraph(cfg, step='default'):
"""
}
-
-
# Flow input merging
cfg['flowgraph'][step]['mergeop'] = {
'switch': "-flowgraph_mergeop 'step <str>'",
@@ -1525,6 +1526,34 @@ def schema_flowgraph(cfg, step='default'):
return cfg
+
+###########################################################################
+# Flow Status
+###########################################################################
+def schema_flowstatus(cfg, step='default'):
+
+ cfg['flowstatus'] = {}
+ cfg['flowstatus'][step] = {}
+
+ # Flow step parallelism
+ cfg['flowstatus'][step]['select'] = {
+ 'switch': "-flowstatus_select 'step <int>'",
+ 'type': 'int',
+ 'lock': 'false',
+ 'requirement': 'all',
+ 'defvalue': None,
+ 'short_help': 'Flowgraph index select status',
+ 'example': [
+ "cli: -flowstatus_select 'cts 10'",
+ "api: chip.set('flowstatus','select','cts,'10')"],
+ 'help': """
+ Status parameter that records the index selected as input by
+ the next step in the flowgraph.
+ """
+ }
+
+ return cfg
+
###########################################################################
# Design Hieararchy
###########################################################################
