Main Content


Develop S-function to represent external code and inline S-function with Target Language Compiler (TLC) block target file

An S-function is a computer language description of a Simulink® block written in MATLAB®, C, C++, or Fortran. You can develop an S-function to represent external code using an API that interacts with the Simulink engine. Use this S-function with the code generator to produce code. Start with S-Functions and Code Generation.


Generated S-FunctionRepresent model or subsystem as generated S-function code


Write S-Functions

S-Functions and Code Generation

Use S-functions to extend Simulink support for simulation and code generation.

Build Integrated Code Within the Simulink Environment

Add support files and control model code generation and builds within the Simulink Environment.

Write Noninlined S-Function

Implement your algorithm according to the S-function API by writing a C or C++ MEX S-function.

Write Wrapper S-Function and TLC Files

Create S-functions that serve as wrappers for existing code.

Write Fully Inlined S-Functions

Inline your algorithm in the TLC file for code generation.

Write Fully Inlined S-Functions with mdlRTW Routine

Use the mdlRTW callback method in an inlined S-function.

Accelerate Simulation, Reuse Code, or Protect Intellectual Property by Using S-Function Target

Generate a shared library from a model or subsystem that you can load dynamically into another application.

Legacy Code Tool

Import Calls to External Code into Generated Code with Legacy Code Tool

Import calls to external code for utility functions, lookup tables, filters, and device drivers into the Simulink environment for simulation and code generation.

Legacy Code Tool Examples

Learn how to use the Legacy Code Tool to generate fully inlined C MEX S-functions for legacy or custom code.

S-Function Builder Block

Generate S-Function from Subsystem

Apply Generate S-Function operation to create an S-Function from a subsystem block.

Use a Bus Signal with S-Function Builder to Create an S-Function

Learn how to use a bus signal with a S-Function Builder block.

Featured Examples