MATLAB: Am I experiencing a conflict in suggestions between the Code Generation Advisor and the Model Advisor

advisorcodecontradictionefficiencygenerationmisramodelpriorities;ramrom;safetysimulink coder

When I execute the Model Advisor checks related to code generation, I find that the suggestions provided are contradictory to those provided by the Code Generation Advisor.
In my particular case, my Code Generation Advisor priority is ROM efficiency.
The Code Generation Advisor recommends that the 'StateBitsets' Model Configuration Parameter be set to 'off'.
In contrast, the Model Advisor recommends that the 'StateBitsets' Model Configuration Parameter be set to 'on'.
Why am I receiving contradictory recommendations?

Best Answer

The Code Generation Advisor provides suggestions that are tailored to your code generation priorities (in this case ROM efficiency).
The Model Advisor does not tailor its suggestions to these priorities. Thus, specifying ROM efficiency as being of higher priority than RAM efficiency leads to the Code Generation Advisor emphasizing ROM efficiency, while the Model Advisor will not do so.
Below is a link with more information regarding the 'StateBitsets' Model Configuration Parameter:
As can be seen from this page, setting the 'StateBitsets' parameter to 'off' optimizes ROM usage, while setting the 'StateBitsets' parameter to 'on' optimizes RAM usage.
This explains why the Code Generation Advisor recommends the 'StateBitsets' parameter be set to 'off', while the Model Advisor (in attempting to optimize RAM usage) suggests the opposite.