Effacer les filtres
Effacer les filtres

How do you generate a registered output from Stateflow?

1 vue (au cours des 30 derniers jours)
James Price
James Price le 16 Jan 2019
If I have an output from a Stateflow diagram; in the generated HDL code the output is assigned from the next state decision logic (combinatorial) _next signal and not from the clocked process, _reg signal. As best practice is to have all outputs from a module being registered a unit delay is added to the output external to the stateflow. However when the generated code is synthesised this register is identified as an equivalent register to the equivalent _reg signal and removed, generating a warning.
How do I generate an output from stateflow that is sourced from the _reg signal as opposed to the the _next signal so that I do not need to put unit delays external to the stateflow diagram?

Réponses (2)

Michael Felger
Michael Felger le 15 Oct 2019
I have exactly the same question!
  1 commentaire
James Price
James Price le 29 Oct 2019
Hi Michael, the solution I have employed is that when creating my Stateflow diagrams I have two super states with the execution order set as parallel (and). I then use the priority 1 super state to contain purely assignments from internal registers to outputs - having these as priority 1 means that assignments are generated at the top of the code (i.e. no variables). Superstate 2 is then used to comprise the stateflow diagram required to model the behaviour you require.
Hop this helps.

Connectez-vous pour commenter.


Michael Felger
Michael Felger le 26 Mai 2023
Update: starting with R2022b, the ClockDrivenOutput parameter for stateflow is available for Moore charts.
With this, registered output is generated.

Catégories

En savoir plus sur Stateflow dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by