For a better experience on dSPACE.com, enable JavaScript in your browser. Thank you!

Excellent Code Properties

High Code Efficiency

Plot overview window (left) indicating an overflow of an outport block.

Regardless of the application type (fixed-point or floating point), TargetLink generates highly efficient production code for your embedded system. Multiple scaling properties give ample choices to fine-tune fixed-point code to the conflicting requirements of low execution time, high computational precision, and overflow avoidance. If an overflow occurs, TargetLink’s overflow detection shows the exact location in the block diagram. The problem can be corrected right away.   

Scaling Variables

Dialogs to carry out automatic scaling.

To shorten the time-consuming and error-prone manual scaling process, TargetLink provides an Autoscaling Tool. It supports you in finding suitable ranges and calculating appropriate scaling parameters. A scaling task that took days and weeks in the past can now be done in minutes and hours.  

As a scaling method, TargetLink offers the two-coefficient linear scaling, which is widely used in embedded control applications. The properties for specifying fixed-point scalings in TargetLink are:

  • Data type
  • Power-of-two scaling factor or arbitrary scaling factor
  • Offset value
  • Constraint values
  • Bit safety margins
  • Saturation options

While fixed-point scaling can be done manually by a software engineer, in most instances it is left to TargetLink’s autoscaling tools. Two autoscaling procedures are available:

  • Simulation-based autoscaling – benefit from maximum computational precision
  • Worst-case autoscaling – no plant model required and overflows automatically prevented

Moreover, TargetLink also supports scaling with scaling formulas and type definitions.

Highly Configurable Code

Variable class specification for a Gain block.

TargetLink code is easily readable and includes helpful comments. Comprehensive configuration options give you full control over variables, functions, and file naming, as well as the flexibility to partition the code into functions and files to keep the structure logical and manageable.  

For the integration of external code, TargetLink offers a wide variety of specification options, e.g., on the block diagram level for easily interfacing with external code, such as device drivers, or with any other routine written in C or assembler. Company-specific programming style guides can be easily applied via TargetLink´s flexible code output formatting, e.g., by using XML configuration files or XSL style sheets.

Powerful Code Optimization

TargetLink generates highly optimized ANSI C code that is just as efficient as optimized handwritten code. This is achieved by various optimization techniques, such as standard optimization techniques that are also used by modern C compilers.

Example of interblock optimization.

TargetLink’s interblock optimization gives the generated code a human touch, because it combines code in a very similar way to what a skilled software engineer would do.

For more complex blocks, TargetLink uses code from an internal code pattern library during the code generation process, ensuring that the code for complex blocks is also highly efficient.