This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > Wiki encyclopedia > Simulink


Simulink is a visual simulation tool in MATLAB launched by Mathworks in the United States. Simulink is a block diagram environment for multi-domain simulation and model-based design. It supports system design, simulation, automatic code generation, and continuous testing and verification of embedded systems.

Simulink provides a graphical editor, a customizable block library, and a solver, capable of modeling and simulating dynamic systems.

Simulink is integrated with MATLAB, which can integrate MATLAB algorithm into the model in Simulink, and can also export the simulation results to MATLAB for further analysis. Simulink applications include automotive, aerospace, industrial automation, large-scale modeling, complex logic, physical logic, signal processing, etc.



Simulink has the advantages of wide adaptability, clear structure and flow, fine simulation, close to reality, high efficiency, and flexibility. Based on the above advantages, Simulink has been widely used in complex simulation and design of control theory and digital signal processing. At the same time, a large number of third-party software and hardware can be applied or required to be used in Simulink.

Simulink can be modeled with continuous sampling time, discrete sampling time, or two mixed sampling times. It also supports multi-rate systems, that is, different parts of the system have different sampling rates. In order to create a dynamic system model, Simulink provides a graphical user interface for building model block diagrams. This creation process can be completed by clicking and dragging the mouse. It provides a quicker and straightforward way, and the user You can immediately see the simulation results of the system.

Simulink is a multi-domain simulation and model-based design tool for dynamic systems and embedded systems. For various time-varying systems, including communication, control, signal processing, video processing, and image processing systems, Simulink provides an interactive graphical environment and a customizable module library to design, simulate, execute, and test it. .

Other products based on Simulink extend Simulink's multi-domain modeling capabilities and provide corresponding tools for design, execution, verification, and validation tasks. Simulink is tightly integrated with MATLAB and can directly access a large number of MATLAB tools for algorithm development, simulation analysis and visualization, batch script creation, modeling environment customization, and definition of signal parameters and test data.


Rich and expandable library of predefined modules.

Interactive graphical editor to combine and manage intuitive block diagrams.

Divide the model with the hierarchical nature of design functions to achieve management of complex designs

Navigate, create, configure, and search any signal, parameter, and attribute in the model through Model Explorer to generate model code.

Provide API for connection with other emulation programs or integration with handwritten code.

Use Embedded MATLABâ„¢ module to call MATLAB algorithm in Simulink and embedded system execution

Use a fixed step size or variable step size to run the simulation, according to the simulation mode (Normal, Accelerator, Rapid Accelerator) to decide to run in an interpreted manner or to run the model in the form of compiled C code.

Graphical debugger and profiler to check simulation results, diagnose design performance and abnormal behavior

Access MATLAB to analyze and visualize results, customize modeling environment, define signal parameters and test data.

Model analysis and diagnostic tools to ensure the consistency of the model and determine errors in the model.


The SIMULINK module library is classified according to functions, including the following 8 types of sub-libraries:


Discrete (discrete module)

Function&Tables (functions and platform modules)

Math (Mathematics module)

Nonlinear (non-linear module)

Signals&Systems (signal and system modules)

Sinks (receiver module)

Sources (input source module)

Continuous module (Continuous) continuous.mdl

Integrator: input signal integration

Derivative: input signal differentiation

State-Space: Linear state-space system model

Transfer-Fcn: Linear transfer function model

Zero-Pole: The transfer function model expressed in zero poles

Memory: stores the state value of the last moment

Transport Delay: The input signal is delayed for a fixed time before being output

Variable Transport Delay: The input signal is delayed for a variable time before being output

Discrete module (Discrete) discrete.mdl

Discrete-time Integrator: Discrete-time Integrator

Discrete Filter: IIR and FIR filters

Discrete State-Space: Discrete state-space system model

Discrete Transfer-Fcn: Discrete Transfer Function Model

Discrete Zero-Pole: Discrete transfer function model expressed by zero pole

First-Order Hold: first-order sample and hold

Zero-Order Hold: zero-order sample and hold

Unit Delay: delay of one sampling period

Function&Tables (functions and platform modules) function.mdl

Fcn: Use user-defined functions (expressions) to perform calculations

MATLAB Fcn: use matlab's existing functions for operations

S-Function: call the self-made S function program to perform calculation

Look-Up Table: Establish a look-up table of input signals (linear peak matching)

Look-Up Table (2-D): establish a look-up table of two input signals (linear peak matching)

Math (Mathematics module) math.mdl

Sum: Addition and subtraction

Product: Multiplication

Dot Product: Dot product operation

Gain: proportional gain operation

Math Function: includes common mathematical functions such as exponential function, logarithmic function, square, root sign

Trigonometric Function: Trigonometric functions, including sine, cosine, tangent, etc.

MinMax: most value operation

Abs: Take the absolute value

Sign: symbolic function

Logical Operator: logical operation

Relational Operator: Relational Operator

Complex to Magnitude-Angle: From complex input to amplitude and phase angle output

Magnitude-Angle to Complex: composite output from amplitude and phase angle input

Complex to Real-Imag: From complex input to real and imaginary output

Real-Imag to Complex: real and imaginary components are combined into complex output

Nonlinear (non-linear module) nonlinear.mdl

Saturation: Saturation output, so that the output can be saturated when it exceeds a certain value.

Relay: Hysteresis comparator, limiting the output value to change within a certain range.

Switch: Switch selection, when the second input is greater than the critical value, the output comes from the first input, otherwise the output comes from the third input.

Manual Switch: manual selection switch

Signal&Systems (signal and system modules) sigsys.mdl

In1: input terminal.

Out1: output terminal.

Mux: Convert multiple single inputs into a composite output.

Demux: Convert a composite input into multiple single outputs.

Ground: Connect to the input that is not connected.

Terminator: Connect to the output that is not connected.

SubSystem: Create a new encapsulation (Mask) function module

Sinks (receiver module) sinks.mdl

Scope: oscilloscope.

XY Graph: Display two-dimensional graph.

To Workspace: Write the output to MATLAB's workspace.

To File(.mat): Write the output to a data file.

Sources (input source module) sources.mdl

Constant: Constant signal.

Clock: Clock signal.

From Workspace: Workspace from MATLAB.

From File(.mat): From the data file.

Pulse Generator: Pulse generator.

Repeating Sequence: Repeating signal.

Signal Generator: Signal generator, can generate sine, square wave, sawtooth wave and random wave.

Sine Wave: Sine wave signal.

Step: Step wave signal.

Ramp: Ramp signal.


  • XC3S400A-4FT256I


    FPGA Spartan-3A Family 400K Gates 8064 Cells 667MHz 90nm Technology 1.2V 256-Pin FTBGA

  • XC2C256-6PQG208C


    CPLD CoolRunner -II Family 6K Gates 256 Macro Cells 256MHz 0.18um Technology 1.8V 208-Pin PQFP

  • XC2C256-7CP132C


    CPLD CoolRunner -II Family 6K Gates 256 Macro Cells 152MHz 0.18um Technology 1.8V 132-Pin CSBGA

  • XC2C256-7FTG256C


    CPLD CoolRunner -II Family 6K Gates 256 Macro Cells 152MHz 0.18um Technology 1.8V 256-Pin FTBGA

  • XC3S400A-5FT256C


    FPGA Spartan-3A Family 400K Gates 8064 Cells 770MHz 90nm Technology 1.2V 256-Pin FTBGA

FPGA Tutorial Lattice FPGA
Need Help?


If you have any questions about the product and related issues, Please contact us.