Actions are a fairly useful concept in SUS. They embody both a "function call", as well as "optional" data.
With this issue, I'd like to introduce a way to do "internal" actions, so basically an action without it also being an input port.
The new keyword I propose is maybe. In fact, an existing action and trigger then are equivalent to:
maybe: A local action, basically an internal subroutine for your module
action == input maybe
trigger == output maybe
state maybe: Basically some data registers with an associated "valid" flag
state trigger: Same as state maybe, but visible outside the module.
Of course, there is no state action, since it is controlled by the parent.
To unset a state maybe, we'd need another keyword. Perhaps unset? This could double as our "don't care" value.
Actions are a fairly useful concept in SUS. They embody both a "function call", as well as "optional" data.
With this issue, I'd like to introduce a way to do "internal" actions, so basically an
actionwithout it also being aninputport.The new keyword I propose is
maybe. In fact, an existingactionandtriggerthen are equivalent to:maybe: A local action, basically an internal subroutine for your moduleaction==input maybetrigger==output maybestate maybe: Basically some data registers with an associated "valid" flagstate trigger: Same asstate maybe, but visible outside the module.Of course, there is no
state action, since it is controlled by the parent.To unset a
state maybe, we'd need another keyword. Perhapsunset? This could double as our "don't care" value.