Test Environments

Processor-in-the-Loop (PIL)

Frontload tests on the target for unit and integration level.

Terminology

What is Processor-in-the-Loop testing (PIL)?

Processor-in-the-Loop testing (PIL) means the code under test is compiled with the target compiler and executed on the target processor itself. Whether you're developing handwritten code or working model-based, you're most likely running software-in-the-loop (SIL) simulations on a host PC — a much more powerful CPU than the target, using a different compiler.

That raises real questions: does the target compiler affect software behavior, especially for floating-point code? How do you analyze runtime aspects like execution time or stack size early on? And how do you fulfill the ISO 26262 requirement to test as close to the target as possible?

Testing these target-dependent aspects only at system level with hardware-in-the-loop simulators (HIL) isn't efficient. To catch issues earlier, smaller parts of the software — a unit, for example — can be compiled individually for the target and executed in a PIL environment: an evaluation board connects to the host PC, which controls test execution on the board. PIL testing confirms correct functional behavior, and also demonstrates that the function runs fast enough and fits within the target's stack.

Processor-in-the-Loop testing setup: host PC controlling test execution on an evaluation board
BTC TestStack

PIL testing with BTC TestStack

BTC TestStack offers several ways to run Processor-in-the-Loop testing. For dSPACE TargetLink models, PIL simulation runs directly through the built-in TargetLink mechanism — BTC TestStack automatically detects available compilers and target boards and adds them as an additional simulation level alongside MIL and SIL. TargetLink supports a wide range of evaluation-board and microcontroller combinations.

For non-TargetLink users, BTC TestStack can be extended with add-ons enabling Processor-in-the-Loop testing through iSYSTEM winIDEA or Lauterbach Trace32.

Built-in TargetLink PIL mode
Automatic compiler & board detection
iSYSTEM winIDEA / Lauterbach Trace32 add-ons
Alongside MIL and SIL
Processor-in-the-Loop testing with BTC TestStack alongside Model-in-the-Loop and Software-in-the-Loop
Automated

Including PIL tests in CI/CD

For larger projects, BTC TestStack also lets you run requirements-based tests or back-to-back tests in Processor-in-the-Loop mode as part of your CI/CD pipeline — through our Jenkins integration or our versatile REST API — adding early quality gates that keep watch on quality every day and night.

Including Processor-in-the-Loop tests in a CI/CD pipeline
Get started

Talk to our engineering team.

Tell us which environment you're testing in. We'll show you how BTC TestStack fits into your existing toolchain.