Processor-in-the-Loop Simulation
A processor-in-the-loop (PIL) simulation cross-compiles generated source code, and then downloads and runs object code on your target hardware. By comparing normal and PIL simulation results, you can test the numerical equivalence of your model and the generated code. During a PIL simulation, you can collect code coverage and execution-time metrics for the generated code.
A PIL simulation requires a connectivity configuration.
Apps
SIL/PIL Manager | Verify generated code (Since R2019b) |
Packages
target | Manage target hardware and build tool information (Since R2019a) |
Classes
Objects
Functions
Topics
- SIL and PIL Simulations
An overview of software-in-the-loop (SIL) and processor-in-the-loop simulations (PIL).
- Choose a SIL or PIL Approach
Test code generated from top models, referenced models, or subsystems.
- Create PIL Target Connectivity Configuration for Simulink
Customize PIL simulation for your target environment.
- Host-Target Communication for Simulink PIL Simulation
Use the
rtiostream
API for communication between your development computer and target hardware during a PIL simulation. - Specify Hardware Timer for Simulink
Specify a hardware timer using the Code Replacement Tool.
- Set Up PIL Connectivity by Using target Package
Provide PIL connectivity between Simulink® and the target hardware.
- Custom Toolchain Directives Required for Code Coverage and Execution Profiling
Specify compiler directives for building PIL application that supports code coverage analysis and execution profiling.
- Configure and Run PIL Simulation
Set up and run top-model PIL, Model block PIL, and PIL block simulations.
- Unit Test Subsystem Code with SIL/PIL Manager
Perform unit testing on atomic subsystem by using SIL/PIL Manager.
- SIL/PIL Manager Verification Workflow
A simplified workflow for verifying generated code.
- PIL Simulation Sequence
How a PIL simulation proceeds.
- Simulation Mode Override Behavior in Model Reference Hierarchy
How the simulation mode of the top model or parent model determines the simulation behavior of a model hierarchy.
- Field-Oriented Control of Permanent Magnet Synchronous Machine
Simulate motor control system, generate controller code, and use PIL simulation to test numerical equivalence and profile code execution times.
- Security for PIL Simulations
Security measures for PIL simulations.
- SIL and PIL Limitations
Modeling and code generation features that are not supported or partially supported by SIL and PIL simulations.
Troubleshooting
Debug Generated Code During SIL or PIL Simulation
Use a debugger to understand the behavior of generated code.
View SIL and PIL Files in Code Generation Report
Produce a code generation report and static code metrics that cover SIL and PIL files.
Verification of Code Generation Assumptions
The SIL or PIL simulation checks code generation assumptions.