Main Content

Troubleshooting SoC Builder

Troubleshooting Control Law Accelerator (CLA) Using Model Reference

Problem

The SoC Builder throws an error stating that the long long data type is not supported.

Solution

Open the Configuration Parameters for the top model and all reference models used. Navigate to Hardware Implementation > Device details and disable the Support long long option, for all the models used and save them. Then try to rebuild from the SoC Builder.

Problem

The SoC Builder throws an error stating that Outports outputting a nonvirtual bus signal and having a constant sample time is not allowed in a reference model, when using the Software Trigger CPU <-> CLA block.

Solution

The Software Trigger CPU<->CLA block must be in an atomic subsystem block for periodic tasks. For more information, see Link Task Execution Using Software Triggers.

  1. Navigate to the CPU reference model and move the Software Trigger CPU <-> CLA block into a Subsystem.

  2. Right-click the Subsystem and open the Block Parameters.

  3. Enable the Treat as atomic unit option.

  4. Specify a Sample time for the subsystem.

  5. Rebuild using the SoC Builder.

Troubleshooting Validation Errors in SoC Builder

Problem

The SoC Builder throws a validation error stating that the selected target hardware does not support ModelSpecific for the Code generation folder structure.

Solution

Change the Code generation folder structure to TargetSpecific in the Simulink Preferences or navigate to the top model and click the Fix button.

  1. Navigate to the Modeling tab > Environment > Simulink Preferences > General.

  2. Set Code generation folder structure parameter to Target environment subfolder.

Problem

The SoC Builder throws a validation error stating that the priority of the Asynchronous task must be higher than the periodic base rate, even though these have been appropriately set in the block.

Solution

Open the Configuration Parameters for the top model and all reference models used. Navigate to Solver > Tasking and sample time options and enable the Higher priority value indicates higher task priority option, for all the models used and save them. Then try to rebuild from the SoC Builder.