| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Simulink |
| Contents | Index |
| Learn more about Simulink |
Whenever you build a Simulink model that contains Embedded MATLAB Function blocks, Simulink automatically generates a compilation report in HTML format for each Embedded MATLAB Function block in your model. The report helps you debug your Embedded MATLAB functions and verify compliance with the Embedded MATLAB subset. The report provides links to your Embedded MATLAB functions and compile-time type information for the variables and expressions in these functions. If your model fails to build, this information simplifies finding sources of error messages and aids understanding of type propagation rules.
Embedded MATLAB provides a compilation report for each Embedded MATLAB Function block in the model model_name at the following location:
slprj/_sfprj/ model_name/_self/ sfun/html/
Open the compilation report using one of the following methods:
Click the Open compilation report
in the Embedded MATLAB Editor.
Select Tools > Open Compilation Report from the Embedded MATLAB Editor toolbar.
Click the report link in the Diagnostics Manager window if compilation errors occur.

When you build the Embedded MATLAB function, Embedded MATLAB generates an HTML report. The following example shows a successful compilation:

The report provides the following information, as applicable:
M-code information, including a list of all functions and their compilation status
Call stack information, providing information on the nesting of function calls
Summary of compilation results, including type of target and number of warnings or errors
List of all error and warning messages
List of all variables in your Embedded MATLAB function
To view your Embedded MATLAB function code, click the M-code tab. The compilation report displays the M-code for the function highlighted in the list on this tab.

The M-code tab provides:
A list of the Embedded MATLAB functions that have been compiled. The report displays icons next to each function name to indicate whether compilation was successful:
Errors in function.
Warnings in function.
Successful compilation,
no errors or warnings.
A filter control, Filter function list by attributes, that you can use to sort your functions by:
Size
Complexity
Class
The compilation report annotates the subfunction with the name of the parent function in the list of functions on the M-code tab.
For example, if the M-functions fcn1 contains the subfunction subfcn and fcn2 contains the subfunction subfcn2, the report displays:
fcn1 > subfcn1 fcn2 > subfcn2
If your Embedded MATLAB function calls the same function with different types of inputs, the compilation report numbers each of these specializations in the list of functions on the M-code tab.
For example, if the function fcn calls the function subfcn with different types of inputs:
function y = fcn(u) %#eml % Specializations y = y + subfcn(single(u)); y = y + subfcn(double(u));
The compilation report numbers the specializations in the list of functions.
fcn > subfcn > 1 fcn > subfcn > 2
To view call stack information, click the Call stack tab. The call stack lists the functions in the order that the top-level function calls them. It also lists the subfunctions that each function calls.
To view a summary of the compilation results, including type of target and number of errors or warnings, click the Summary tab.
The compilation report provides information about errors and warnings. If errors occur during simulation of a Simulink model, simulation stops. If warnings occur, but no errors, simulation of the model continues.
The compilation report provides information about warnings and errors by:
Listing all errors and warnings in the All Messages tab. The report lists these messages in chronological order.
Highlighting all errors and warnings in the M-code pane
If errors or warnings occurred during compilation, click the All Messages tab to view a complete list of these messages. The report lists the messages in the order that the compiler detects them. It is best practice to address the first message in the list, because often subsequent errors and warnings are related to the first message. The compilation report marks messages as follows:
|
| Error |
|
| Warning |
To locate the offending line of code for an error or warning in the list, click the message in the list. The compilation report highlights errors in the list and M-code in red and warnings in orange. Click the blue line number next to the offending line of code in the M-code window to go to the error in the source file.

If errors or warnings occurred during compilation, the compilation report highlights them in your M-code.
To learn more about a particular error or warning, place your pointer over the highlighted text. The compilation report provides more information as follows:
The report highlights errors in red and provides an error message.

You can click the error to go to the message in the All Messages tab.
The report highlights warnings in orange and provides a warning message.

You can click the warning to go to the message in the All Messages tab.
The compilation report provides compile-time type information for the variables and expressions in your M-code, including name, type, size, complexity, and class. The report also provides type information for fixed-point data types including word length and fraction length. You can use this type information to find sources of error messages and to understand type propagation rules.
You can view information about the variables in your Embedded MATLAB function by:
Viewing the list in the Variables tab
Placing your pointer over the variable name in your M-code
To view a list of all the variables in your M-function, click the Variables tab. The compilation report displays a complete list of variables in the order they appear in the M-function selected in the M-code tab. Clicking a variable in the list highlights all instances of that variable, and scrolls the M-code panel so that the first instance is in view.
Tip You can sort the variables by clicking the column headings in the Variables tab. To sort the variables by multiple columns, hold down the Shift key when clicking the column headings. |
The report provides the following information about each variable, as applicable.
Name
Type
Size
Complexity
Class
DataTypeMode (DT mode) — for fixed-point data types only.
Signed — sign information for built-in data types, signedness information for fixed-point data types
Word length (WL) — for fixed-point data types only
Fraction length (FL) — for fixed-point data types only
The report only displays a column if at least one variable in the code has information in that column. For example, if the code does not contain any fixed-point data types, the report does not display the DT mode, WL or FL columns.
Note For more information on viewing fixed-point data types, see Working with Fixed-Point Compilation Reports in the Fixed-Point Toolbox documentation. |
Viewing Information about Variable-Size Arrays in the Variables Tab. For variable-size arrays, the size field includes information on the computed maximum size of the array. The size of each array dimension that varies is prefixed with a colon :.

If Embedded MATLAB technology cannot compute the maximum size of a variable-sized array, the compilation report displays the size as :?.

For more information on how to use the size information for variable-sized arrays, see Representing Data that Varies in Size at Runtime in the Embedded MATLAB documentation.
To view information about a particular variable or expression in your Embedded MATLAB function code, place your pointer over the variable name or expression in the M-code pane. The compilation report highlights variables and expressions in different colors:
Green, when the variable has data type information at this location in the code.

For variable-sized arrays, the size field includes information on the computed maximum size of the array. The size of each array dimension that varies is prefixed with a colon :.

Pink, when the variable has no data type information.

Purple, information about expressions. You can also view information about expressions in your M-code. Place your pointer over an expression in the M-code pane. The compilation report highlights expressions in purple and provides more detailed information.

Red, when there is error information for an expression. If the Embedded MATLAB software cannot compute the maximum size of a variable-sized array, the compilation report provides error information.

You can use the following keyboard shortcuts to navigate between the different panes in the compilation report. Once you have selected a pane, use the Tab key to advance through data in that pane.
| To select ... | Use... |
|---|---|
| M-Code Tab | Ctrl+m |
| Call Stack Tab | Ctrl+k |
| M-Code Pane | Ctrl+w |
| Summary Tab | Ctrl+s |
| All Messages Tab | Ctrl+a |
| Variables Tab | Ctrl+v |
The compilation report displays information about the variables and expressions in your Embedded MATLAB function, with the following limitations:
Column Headings on Variables Tab
![]() | Embedded MATLAB Function Editor | Typing Function Arguments | ![]() |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |