Documentation Center

  • Trial Software
  • Product Updates

Debug a Truth Table

Check Truth Tables for Errors

Once you completely specify your truth tables, you begin the process of debugging them. The first step is to run diagnostics to check truth tables for syntax errors including overspecification and underspecification, as described in Correct Overspecified and Underspecified Truth Tables.

To check for syntax errors:

  1. Double-click the truth table to open its editor.

  2. In the Truth Table Editor, select Settings > Run Diagnostics.

    If there are no errors or warnings, a message of success appears. If errors exist, you see a window with diagnostic messages. For example, if you change the action for decision column D4 to an action that does not exist, you get the following messages:

    Each error appears with a red button, and each warning appears with a gray button. The first error message appears highlighted in the top pane, and the diagnostic message appears in the bottom pane.

Truth table diagnostics run automatically when you start simulation of the model with a new or modified truth table. If no errors exist, the diagnostic window does not appear and simulation starts immediately.

Debug a Truth Table During Simulation

Ways to debug truth tables during simulation include:

MethodType of Truth TablesHow To Do It
Use Stateflow® debugging tools to step through each condition and action, and monitor data values during simulation.C truth table and MATLAB® truth tableSee Use Stateflow Debugging Tools.
Use MATLAB debugging tools to step through generated code for the truth table.MATLAB truth table onlySee Use MATLAB Debugging Tools.

Use Stateflow Debugging Tools

When you use Stateflow debugging tools to debug truth tables, you must perform these tasks:

  1. Specify a breakpoint for the call to the truth table.

  2. Step through the conditions and actions.

Specify a Breakpoint for the Call to a Truth Table.  Before you debug the truth table during simulation, you must set a breakpoint for the truth table. This breakpoint pauses execution during simulation so that you can debug each execution step of a truth table using the Stateflow Debugger.

  1. In the chart, right-click the function box for the truth table.

  2. Select Set Breakpoint During Function Call.

    A breakpoint occurs when the chart calls this truth table function during simulation.

    Note:   You can also set breakpoints using the Truth Table properties dialog box. However, using the right-click context menu is faster. For more information, see Set Breakpoints to Debug Charts.

Step Through Conditions and Actions of a Truth Table.  After setting a breakpoint for the truth table function call, you can step through conditions and actions:

  1. Enter sfdebugger at the command prompt to open the Stateflow Debugging window.

  2. In the Stateflow Debugging window, click Start to begin simulation of your model.

    If you made any changes to the truth tables since the last simulation, the debugger checks automatically for syntax errors. If you receive errors or warnings, make corrections before you try to simulate again.

    If no syntax errors exist in the truth table, simulation of your model begins.

  3. Wait until the breakpoint for the call to the truth table occurs.

    When this breakpoint occurs, the Truth Table Editor appears and the Start button in the Stateflow Debugging window changes to Continue.

  4. In the Stateflow Debugging window, from the Browse Data pull-down, select All Data (Current Chart).

    An updated display appears in the bottom pane.

    You can use this display to monitor Stateflow data during simulation.

  5. In the Stateflow Debugging window, click Step In twice to advance simulation through the call to the truth table.

    The INIT action of the truth table highlights prior to execution.

  6. Click Step In to execute the INIT action and advance truth table execution to the first condition.

  7. Click Step In to evaluate the first condition and advance truth table execution to the second condition.

  8. Click Step In to evaluate the second condition and advance truth table execution to the third condition.

  9. Click Step In to evaluate the third condition and advance truth table execution to the first decision.

  10. Click Step In twice.

    Because the first decision is true, truth table execution advances to its action A1.

  11. Click Step In four times to execute action A1 and advance to the FINAL action.

  12. In the Stateflow Debugging window, click Stop Simulation.

    This step executes the final action and exits the truth table. The Display block in the model displays the number 1.

Use MATLAB Debugging Tools

MATLAB truth tables generate content as MATLAB code, a format that offers advantages for debugging. You can set breakpoints on any line of generated code (whereas you cannot set breakpoints directly on a truth table). You can debug code that MATLAB truth tables generate the same way you debug a MATLAB function.

For more information about how to generate content for truth tables, see How Stateflow Generates Content for Truth Tables.

Was this topic helpful?