Updating flowstatus to work on step/index basis
Also adding min/max on a per step basis
Philosophy is that all values computed that control the flow should be record.
@@ -1554,37 +1554,72 @@ def schema_flowstatus(cfg, step='default', index='default'):
cfg['flowstatus'] = {}
cfg['flowstatus'][step] = {}
+ cfg['flowstatus'][step][index] = {}
- # Flow step parallelism
- cfg['flowstatus'][step]['select'] = {
- 'switch': "-flowstatus_select 'step <int>'",
+ # Flow error indicator
+ cfg['flowstatus'][step][index]['error'] = {
+ 'switch': "-flowstatus_error 'step index <int>'",
'type': 'int',
'lock': 'false',
'requirement': None,
'defvalue': None,
- 'short_help': 'Flowgraph index select status',
+ 'short_help': 'Flowgraph index error status',
'example': [
- "cli: -flowstatus_select 'cts 10'",
- "api: chip.set('flowstatus','select','cts,'10')"],
+ "cli: -flowstatus_error 'cts 10'",
+ "api: chip.set('flowstatus','error','cts,'10')"],
'help': """
- Status parameter that records the index selected as input by
- the next step in the flowgraph.
+ Status parameter that tracks runsteps that errored out.
"""
}
- cfg['flowstatus'][step][index] = {}
- cfg['flowstatus'][step][index]['error'] = {
- 'switch': "-flowstatus_error 'step index <int>'",
- 'type': 'int',
+ # Flow step selector
+ cfg['flowstatus'][step][index]['select'] = {
+ 'switch': "-flowstatus_select 'step index <int>'",
+ 'type': 'str',
'lock': 'false',
'requirement': None,
'defvalue': None,
- 'short_help': 'Flowgraph index error status',
+ 'short_help': 'Flowgraph select record',
'example': [
- "cli: -flowstatus_error 'cts 10'",
- "api: chip.set('flowstatus','error','cts,'10')"],
+ "cli: -flowstatus_select 'cts 0 place42'",
+ "api: chip.set('flowstatus', 'cts, '0', 'select', 'place42')"],
'help': """
- Status parameter that tracks runsteps that errored out.
+ Status parameter that records the 'step+index' string to indicate
+ the input selected in a merge/min/max/mux type step.
+ """
+ }
+
+ # Flow step max
+ cfg['flowstatus'][step][index]['max'] = {
+ 'switch': "-flowstatus_max 'step index <int>'",
+ 'type': 'float',
+ 'lock': 'false',
+ 'requirement': None,
+ 'defvalue': None,
+ 'short_help': 'Flowgraph max record',
+ 'example': [
+ "cli: -flowstatus_max 'cts 0 99.99'",
+ "api: chip.set('flowstatus', 'cts, '0', 'max', '99.99')"],
+ 'help': """
+ Status parameter of maximum value recorded from a
+ max() calculation.
+ """
+ }
+
+ # Flow step min
+ cfg['flowstatus'][step][index]['min'] = {
+ 'switch': "-flowstatus_min 'step index <int>'",
+ 'type': 'float',
+ 'lock': 'false',
+ 'requirement': None,
+ 'defvalue': None,
+ 'short_help': 'Flowgraph max record',
+ 'example': [
+ "cli: -flowstatus_min 'cts 0 0.0'",
+ "api: chip.set('flowstatus', 'cts, '0', 'max', '0.0')"],
+ 'help': """
+ Status parameter of minimum value recorded from a
+ min() calculation.
"""
}
