| Contents | Index |

| On this page… |
|---|
Hardware Implementation Overview Largest atomic size: floating-point Signed integer division rounds to Shift right on a signed integer as arithmetic shift Largest atomic size: floating-point |
Describe the hardware characteristics for the modelled system, including how to set up embedded and emulation hardware settings for both simulation and code generation.
Note Hardware Implementation pane options do not control hardware or compiler behavior: their purpose is to solely describe hardware and compiler properties to MATLAB software, which uses the information to generate code that is correct for the platform, runs as efficiently as possible, and gives bit-true agreement for the results of integer and fixed-point operations in simulation, production code, and test code. |
Choose the Device type in the Embedded hardware subpane.
Set the parameters displayed for the selected device type.
Apply the changes.
Repeat as needed for Emulation hardware.
This pane applies to models of computer-based systems, such as embedded controllers.
Specifying hardware characteristics enables simulation of the model to detect error conditions that could arise when executing code, such as hardware overflow.
Select the manufacturer of the hardware you will use to implement the production version of the system represented by this model.
Default: Generic
AMD
ARM Compatible
ASIC/FPGA (Embedded hardware subpane only)
Analog Devices
Atmel
Freescale
Infineon
Intel
Microchip
NEC
Renesas
SGI
STMicroelectronics
Texas Instruments
Generic
Select the device vendor before you specify the hardware device used to define your system's constraints.
If your production hardware does not match any of the listed vendors, select Generic.
The Device vendor and Device type fields both share the same command line parameter: ProdHWDeviceType. When specifying this parameter from the command line, separate the device vendor and device type values using the characters —>. For example: 'Intel->8051 Compatible'.
To add Device vendor and Device type values to the default set that is displayed on the Hardware Implementation pane, see Register Additional Device Vendor and Device Type Values in the Simulink Coder documentation.
Selecting a value for this parameter allows you to view a list of supported devices from the selected vendor in the Device type drop-down menu.
| Parameter: ProdHWDeviceType |
| Type: string |
| Value: any valid value (see tips) |
| Default: 'Generic->Unspecified (assume 32-bit Generic)' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Device type (production hardware)
Device vendor (test hardware)
Select the type of hardware you will use to implement the production version of the system represented by this model.
Default: Unspecified (assume 32–bit Generic)
Generic options:
16-bit Embedded Processor
32-bit Embedded Processor
32-bit Real-Time Simulator
32-bit x86 compatible
8-bit Embedded Processor
Custom
MATLAB Host Computer (available as an Emulation hardware device and, for MATLAB Coder configuration, as an Embedded hardware device)
Unspecified (assume 32-bit Generic)
AMD® options:
K5/K6/Athlon
ARM® Compatible options:
ARM 10
ARM 11
ARM 7
ARM 8
ARM 9
ARM Cortex
ASIC/FPGA options: (Embedded hardware subpane only)
ASIC/FPGA
Analog Devices™ options:
Blackfin
SHARC
TigerSHARC
Atmel® options:
AVR
Freescale™ options:
32-bit PowerPC
68332
68HC08
68HC11
ColdFire
DSP563xx (16-bit mode)
HC(S)12
MPC7400
MPC7xxx
MPC82xx
MPC83xx
MPC85xx
MPC86xx
MPC8xx
S12x
Infineon® options:
C16x, XC16x
TriCore
Intel® options:
8051 Compatible
x86/Pentium
Microchip:
PIC18
dsPIC
NEC® options:
V850
Renesas® options:
M16C
M32C
R8C/Tiny
SH-2/3/4
SGI:
UltraSPARC IIi
STMicroelectronics:
ST10/Super10
Texas Instruments™ options:
C2000
C5000
C6000
MSP430
TMS470
Select the device vendor before you specify the hardware device type.
Selecting a device type specifies the hardware device to define your system's constraints:
Default hardware properties appear as the initial values.
Parameters with only one possible value cannot be changed.
Parameters with more than one possible value provide a list of legal values.
Static values for each device type are displayed in the following table.
Parameters that you can modify are identified with an x.
| Key: | float and double (not listed) always equal 32 and 64, respectively | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| pointer (not listed) matches the value of int | ||||||||||
| Rounds to = Signed integer division rounds to | ||||||||||
| Shift right = Shift right on a signed integer as arithmetic shift | ||||||||||
| Device vendor / Device type | Number of bits | Largest atomic size | Byte ordering | Rounds to | Shift right | |||||
| char | short | int | long | native | int | float | ||||
| Generic | ||||||||||
| Unspecified (assume 32-bit Generic) (default) | 8 | 16 | 32 | 32 | 32 | x | x | Unspecified | x | Set |
| Custom | x | x | x | x | x | x | x | x | x | x |
| 16-bit Embedded Processor | 8 | 16 | 16 | 32 | 16 | x | x | x | x | Set |
| 32-bit Embedded Processor | 8 | 16 | 32 | 32 | 32 | x | x | x | x | Set |
| 32-bit Real Time Simulator | 8 | 16 | 32 | 32 | 32 | x | x | x | x | Set |
| 32-bit x86 compatible | 8 | 16 | 32 | 32 | 32 | x | x | Little Endian | Zero | Set |
| 8-bit Embedded Processor | 8 | 16 | 16 | 32 | 8 | x | x | x | x | Set |
| MATLAB Host Computer | 8 | 16 | 32 | Host specific value (32 or 64) | Host specific value (32 or 64) | x | x | Little Endian | x | Set |
| AMD | ||||||||||
| K5/K6/Athlon | 8 | 16 | 32 | 32 | 32 | x | x | Little Endian | x | Set |
| ARM Compatible | ||||||||||
| ARM 7/8/9/10 | 8 | 16 | 32 | 32 | 32 | Long | Float | x | x | x |
| ARM 11 | 8 | 16 | 32 | 32 | 32 | Long | Double | x | x | x |
| ARM Cortex | 8 | 16 | 32 | 32 | 32 | Char | None | x | x | x |
| ASIC/FPGA | ||||||||||
| ASIC/FPGA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| Analog Devices | ||||||||||
| Blackfin | 8 | 16 | 32 | 32 | 32 | Long | Double | Little Endian | Zero | Set |
| SHARC | 32 | 32 | 32 | 32 | 32 | Long | Double | Big Endian | Zero | Set |
| TigerSHARC | 32 | 32 | 32 | 32 | 32 | Long | Double | Little Endian | Zero | Set |
| Atmel | ||||||||||
| AVR | 8 | 16 | 16 | 32 | 8 | x | x | Little Endian | Zero | Set |
| Freescale | ||||||||||
| 32-bit PowerPC | 8 | 16 | 32 | 32 | 32 | Long | Double | Big Endian | Zero | Set |
| 68332 | 8 | 16 | 32 | 32 | 32 | x | x | Big Endian | x | Set |
| 68HC08 | 8 | 16 | 16 | 32 | 8 | x | x | Big Endian | x | Set |
| 68HC11 | 8 | 16 | 16 | 32 | 8 | x | x | Big Endian | x | Set |
| ColdFire | 8 | 16 | 32 | 32 | 32 | x | x | Big Endian | Zero | Set |
| DSP563xx (16-bit mode) | 8 | 16 | 16 | 32 | 16 | x | x | x | x | Set |
| HC(S)12 | 8 | 16 | 16 | 32 | 16 | x | x | Big Endian | x | Set |
| MPC52xx, MPC5500, MPC55xx, MPC5xx, MPC7400, MPC7xxx, MPC82xx, MPC83xx, MPC86xx, MPC8xx | 8 | 16 | 32 | 32 | 32 | Long | Double | x | Zero | Set |
| MPC85xx | 8 | 16 | 32 | 32 | 32 | Long | Float | x | Zero | Set |
| S12x | 8 | 16 | 16 | 32 | 16 | x | x | Big Endian | x | Set |
| Infineon | ||||||||||
| C16x, XC16x | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | Zero | Set |
| TriCore | 8 | 16 | 32 | 32 | 32 | x | x | Little Endian | x | Set |
| Intel | ||||||||||
| 8051 Compatible | 8 | 16 | 16 | 32 | 8 | x | x | x | x | Clear |
| x86/Pentium | 8 | 16 | 32 | 32 | 32 | x | x | Little Endian | x | Set |
| Microchip | ||||||||||
| PIC18 | 8 | 16 | 16 | 32 | 8 | x | x | Little Endian | Zero | Set |
| dsPIC | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | Zero | Set |
| NEC | ||||||||||
| V850 | 8 | 16 | 32 | 32 | 32 | x | x | x | x | x |
| Renesas | ||||||||||
| M16C | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | x | x |
| M32C | 8 | 16 | x | 32 | x | x | x | Little Endian | x | x |
| R8C/Tiny | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | x | x |
| SH-2/3/4 | 8 | 16 | 32 | 32 | 32 | x | x | x | x | x |
| SGI | ||||||||||
| UltraSPARC IIi | 8 | 16 | 32 | 32 | 32 | x | x | Big Endian | x | Set |
| STMicroelectronics | ||||||||||
| ST10/Super10 | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | Zero | Set |
| Texas Instruments | ||||||||||
| C2000 | 16 | 16 | 16 | 32 | 16 | Int | None | x | Zero | Set |
| C5000 | 16 | 16 | 16 | 32 | 16 | Int | None | Big Endian | Zero | Set |
| C6000 | 8 | 16 | 32 | 40 | 32 | Int | None | x | Zero | Set |
| MSP430 | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | Zero | Set |
| TMS470 | 8 | 16 | 32 | 32 | x | x | x | x | x | x |
If your production hardware does not match any of the listed types, select Unspecified (assume 32-bit Generic) if it has the characteristics of a generic 32-bit microprocessor; otherwise select Custom.
The Device vendor and Device type fields both share the same command line parameter: ProdHWDeviceType. When specifying this parameter from the command line, separate the device vendor and device type values using the characters —>. For example: 'Intel->8051 Compatible'.
To add Device vendor and Device type values to the default set that is displayed on the Hardware Implementation pane, see Register Additional Device Vendor and Device Type Values in the Simulink Coder documentation.
The options available in the drop-down menu are determined by the Device vendor parameter.
Selecting ASIC/FPGA enables the Emulation hardware (code generation only) subpane.
Selecting any other device type sets the following device-specific parameters:
Number of bits: char
Number of bits: short
Number of bits: int
Number of bits: long
Number of bits: float
Number of bits: double
Number of bits: native
Number of bits: pointer
Largest atomic size: integer
Largest atomic size: floating-point
Byte ordering
Signed integer division rounds to
Shift right on a signed integer as arithmetic shift
Whether you can modify a device-specific parameter varies according to device type. Parameters that cannot be modified for a device are greyed out in the GUI display.
| Parameter: ProdHWDeviceType |
| Type: string |
| Value: any valid value (see tips) |
| Default: 'Generic->Unspecified (assume 32-bit Generic)' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Device vendor (production hardware)
Device type (test hardware)
Describe the character bit length for the production hardware.
Default: 8
Minimum: 8
Maximum: 32
Enter a value between 8 and 32.
All values must be a multiple of 8.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdBitPerChar |
| Type: integer |
| Value: any valid value |
| Default: 8 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the data bit length for the production hardware.
Default: 16
Minimum: 8
Maximum: 32
Enter a value between 8 and 32.
All values must be a multiple of 8.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdBitPerShort |
| Type: integer |
| Value: any valid value |
| Default: 16 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the data integer bit length for the production hardware.
Default: 32
Minimum: 8
Maximum: 32
Enter a number between 8 and 32.
All values must be a multiple of 8.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdBitPerInt |
| Type: integer |
| Value: any valid value |
| Default: 32 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the data bit lengths for the production hardware.
Default: 32
Minimum: 32
Maximum: 64
Enter a value between 32 and 64.
All values must be a multiple of 8 and between 32 and 64.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdBitPerLong |
| Type: integer |
| Value: any valid value |
| Default: 32 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the bit length of floating-point data for the production hardware (read-only)
Default: 32
Always equals 32.
| Parameter: ProdBitPerFloat |
| Type: integer |
| Value: 32 (read-only) |
| Default: 32 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Describe the bit-length of double data for the production hardware (read-only).
Default: 64
Always equals 64.
| Parameter: ProdBitPerDouble |
| Type: integer |
| Value: 64 (read only) |
| Default: 64 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Describe the microprocessor native word size for the production hardware.
Default: 32
Minimum: 8
Maximum: 64
Enter a value between 8 and 64.
All values must be a multiple of 8.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdWordSize |
| Type: integer |
| Value: any valid value |
| Default: 32 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the bit-length of pointer data for the production hardware (read-only).
Default: matches the setting for Number of bits: int
Minimum: 8
Maximum: 32
| Parameter: ProdBitPerPointer |
| Type: integer |
| Value: any valid value (read-only) |
| Default: matches the setting for ProdBitPerInt |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Specify the largest integer data type that can be atomically loaded and stored on the production hardware.
Default: Char
Specifies that char is the largest integer data type that can be atomically loaded and stored on the production hardware.
Specifies that short is the largest integer data type that can be atomically loaded and stored on the production hardware.
Specifies that int is the largest integer data type that can be atomically loaded and stored on the production hardware.
Specifies that long is the largest integer data type that can be atomically loaded and stored on the production hardware.
This parameter is used, where possible, to optimize away unnecessary double-buffering or unnecessary semaphore protection, based on data size, in generated multirate code.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdLargestAtomicInteger |
| Type: string |
| Value: 'Char' | 'Short' | 'Int' | 'Long' |
| Default: 'Char' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Specify the largest floating-point data type that can be atomically loaded and stored on the production hardware.
Default: None
Specifies that float is the largest floating-point data type that can be atomically loaded and stored on the production hardware.
Specifies that double is the largest floating-point data type that can be atomically loaded and stored on the production hardware.
Specifies that there is no applicable setting or not to use this parameter in generating multirate code.
This parameter is used, where possible, to optimize away unnecessary double-buffering or unnecessary semaphore protection, based on data size, in generated multirate code.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdLargestAtomicFloat |
| Type: string |
| Value: 'Float' | 'Double' | 'None' |
| Default: 'None' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the byte ordering for the production hardware.
Default: Unspecified
Specifies that the code determines the endianness of the hardware. This is the least efficient choice.
The most significant byte appears first.
The least significant byte appears first.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdEndianess |
| Type: string |
| Value: 'Unspecified' | 'LittleEndian' | 'BigEndian' |
| Default: 'Unspecified' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Describe how to produce a signed integer quotient for the production hardware.
Default: Undefined
Choose this option if neither Zero nor Floor describes the compiler's behavior, or if that behavior is unknown.
If the quotient is between two integers, the compiler chooses the integer that is closer to zero as the result.
If the quotient is between two integers, the compiler chooses the integer that is closer to negative infinity.
Use the Integer rounding mode parameter on your model's blocks to simulate the rounding behavior of the C compiler that you use to compile code generated from the model. This setting appears on the Signal Attributes pane of the parameter dialog boxes of blocks that can perform signed integer arithmetic, such as the Product block.
For most blocks, the value of Integer rounding mode completely defines rounding behavior. For blocks that support fixed-point data and the Simplest rounding mode, the value of Signed integer division rounds to also affects rounding. For details, see Rounding in the Simulink Fixed Point User's Guide.
See Hardware Implementation Options in the Simulink Coder documentation for information on how this option affects code generation.
The following table illustrates the compiler behavior described by the options for this parameter.
| N | D | Ideal N/D | Zero | Floor | Undefined |
|---|---|---|---|---|---|
33 | 4 | 8.25 | 8 | 8 | 8 |
-33 | 4 | -8.25 | -8 | -9 | -8 or -9 |
33 | -4 | -8.25 | -8 | -9 | -8 or -9 |
-33 | -4 | 8.25 | 8 | 8 | 8 or 9 |
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdIntDivRoundTo |
| Type: string |
| Value: 'Floor' | 'Zero' | 'Undefined' |
| Default: 'Undefined' |
| Application | Setting |
|---|---|
| Debugging | No impact for simulation and during development. Undefined for production code generation. |
| Traceability | No impact for simulation and during development. Zero or Floor for production code generation. |
| Efficiency | No impact for simulation and during development. Zero for production code generation. |
| Safety precaution | No impact for simulation and during development. Floor for production code generation. |
Describe how your compiler rounds the result of two signed integers for the production hardware.
Default: On
Generates simple efficient code whenever the Simulink model performs arithmetic shifts on signed integers.
Generates fully portable but less efficient code to implement right arithmetic shifts.
Select this parameter if the C compiler implements a signed integer right shift as an arithmetic right shift.
An arithmetic right shift fills bits vacated by the right shift with the value of the most significant bit, which indicates the sign of the number in twos complement notation.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: ProdShiftRightIntArith |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'on' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | On |
| Safety precaution | No impact |
Specify whether the test hardware differs from the deployment hardware.
Default: On
Specifies that the hardware used to test the code generated from the model is the same as the production hardware, or has the same characteristics.
Specifies that the hardware used to test the code generated from the model has different characteristics than the production hardware.
You can generate code that runs on the test hardware but behaves as if it had been generated for and executed on the deployment hardware.
The Embedded hardware (simulation and code generation) subpane specifies the deployment hardware properties. The Emulation hardware (code generation only) subpane is used to specify the test hardware properties.
Enables the Emulation hardware subpane.
| Parameter: ProdEqTarget |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'on' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Select the manufacturer of the hardware that will be used to test the code generated from the model.
Default: Generic
AMD
ARM Compatible
ASIC/FPGA (Embedded hardware subpane only)
Analog Devices
Atmel
Freescale
Infineon
Intel
Microchip
NEC
Renesas
SGI
STMicroelectronics
Texas Instruments
Generic
Select the device vendor before you specify the hardware device used to define your system's constraints.
If your test hardware does not match any of the listed vendors, select Generic.
The Device vendor and Device type fields both share the same command line parameter: TargetHWDeviceType. When specifying this parameter from the command line, separate the device vendor and device type values using the characters —>. For example: 'Intel->8051 Compatible'.
To add Device vendor and Device type values to the default set that is displayed on the Hardware Implementation pane, see Register Additional Device Vendor and Device Type Values in the Simulink Coder documentation.
Selecting a value for this parameter allows you to view a list of supported devices from the selected vendor in the Device type drop-down menu.
| Parameter: TargetHWDeviceType |
| Type: string |
| Value: any valid value (see tips) |
| Default: 'Generic->Unspecified (assume 32-bit Generic)' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Device type (test hardware)
Select the type of hardware that will be used to test the code generated from the model.
Default: Unspecified (assume 32–bit Generic)
Generic options:
16-bit Embedded Processor
32-bit Embedded Processor
32-bit Real-Time Simulator
32-bit x86 compatible
8-bit Embedded Processor
Custom
MATLAB Host Computer (available as an Emulation hardware device and, for MATLAB Coder configuration, as an Embedded hardware device)
Unspecified (assume 32-bit Generic)
AMD options:
K5/K6/Athlon
ARM Compatible options:
ARM 10
ARM 11
ARM 7
ARM 8
ARM 9
ARM Cortex
ASIC/FPGA options: (Embedded hardware subpane only)
ASIC/FPGA
Analog Devices options:
Blackfin
SHARC
TigerSHARC
Atmel options:
AVR
Freescale options:
32-bit PowerPC
68332
68HC08
68HC11
ColdFire
DSP563xx (16-bit mode)
HC(S)12
MPC7400
MPC7xxx
MPC82xx
MPC83xx
MPC85xx
MPC86xx
MPC8xx
S12x
Infineon options:
C16x, XC16x
TriCore
Intel options:
8051 Compatible
x86/Pentium
Microchip:
PIC18
dsPIC
NEC options:
V850
Renesas options:
M16C
M32C
R8C/Tiny
SH-2/3/4
SGI:
UltraSPARC IIi
STMicroelectronics:
ST10/Super10
Texas Instruments options:
C2000
C5000
C6000
MSP430
TMS470
Select the device vendor before you specify the hardware device type.
Selecting a device type specifies the hardware device to define your system's constraints:
Default hardware properties appear as the initial values.
Parameters with only one possible value cannot be changed.
Parameters with more than one possible value provide a list of legal values.
Static values for each device type are displayed in the following table.
Parameters that you can modify are identified with an x.
| Key: | float and double (not listed) always equal 32 and 64, respectively | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| pointer (not listed) matches the value of int | ||||||||||
| Rounds to = Signed integer division rounds to | ||||||||||
| Shift right = Shift right on a signed integer as arithmetic shift | ||||||||||
| Device vendor / Device type | Number of bits | Largest atomic size | Byte ordering | Rounds to | Shift right | |||||
| char | short | int | long | native | int | float | ||||
| Generic | ||||||||||
| Unspecified (assume 32-bit Generic) (default) | 8 | 16 | 32 | 32 | 32 | x | x | Unspecified | x | Set |
| Custom | x | x | x | x | x | x | x | x | x | x |
| 16-bit Embedded Processor | 8 | 16 | 16 | 32 | 16 | x | x | x | x | Set |
| 32-bit Embedded Processor | 8 | 16 | 32 | 32 | 32 | x | x | x | x | Set |
| 32-bit Real Time Simulator | 8 | 16 | 32 | 32 | 32 | x | x | x | x | Set |
| 32-bit x86 compatible | 8 | 16 | 32 | 32 | 32 | x | x | Little Endian | Zero | Set |
| 8-bit Embedded Processor | 8 | 16 | 16 | 32 | 8 | x | x | x | x | Set |
| MATLAB Host Computer | 8 | 16 | 32 | Host specific value (32 or 64) | Host specific value (32 or 64) | x | x | Little Endian | x | Set |
| AMD | ||||||||||
| K5/K6/Athlon | 8 | 16 | 32 | 32 | 32 | x | x | Little Endian | x | Set |
| ARM Compatible | ||||||||||
| ARM 7/8/9/10 | 8 | 16 | 32 | 32 | 32 | Long | Float | x | x | x |
| ARM 11 | 8 | 16 | 32 | 32 | 32 | Long | Double | x | x | x |
| ARM Cortex | 8 | 16 | 32 | 32 | 32 | Char | None | x | x | x |
| ASIC/FPGA | ||||||||||
| ASIC/FPGA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| Analog Devices | ||||||||||
| Blackfin | 8 | 16 | 32 | 32 | 32 | Long | Double | Little Endian | Zero | Set |
| SHARC | 32 | 32 | 32 | 32 | 32 | Long | Double | Big Endian | Zero | Set |
| TigerSHARC | 32 | 32 | 32 | 32 | 32 | Long | Double | Little Endian | Zero | Set |
| Atmel | ||||||||||
| AVR | 8 | 16 | 16 | 32 | 8 | x | x | Little Endian | Zero | Set |
| Freescale | ||||||||||
| 32-bit PowerPC | 8 | 16 | 32 | 32 | 32 | Long | Double | Big Endian | Zero | Set |
| 68332 | 8 | 16 | 32 | 32 | 32 | x | x | Big Endian | x | Set |
| 68HC08 | 8 | 16 | 16 | 32 | 8 | x | x | Big Endian | x | Set |
| 68HC11 | 8 | 16 | 16 | 32 | 8 | x | x | Big Endian | x | Set |
| ColdFire | 8 | 16 | 32 | 32 | 32 | x | x | Big Endian | Zero | Set |
| DSP563xx (16-bit mode) | 8 | 16 | 16 | 32 | 16 | x | x | x | x | Set |
| HC(S)12 | 8 | 16 | 16 | 32 | 16 | x | x | Big Endian | x | Set |
| MPC52xx, MPC5500, MPC55xx, MPC5xx, MPC7400, MPC7xxx, MPC82xx, MPC83xx, MPC86xx, MPC8xx | 8 | 16 | 32 | 32 | 32 | Long | Double | x | Zero | Set |
| MPC85xx | 8 | 16 | 32 | 32 | 32 | Long | Float | x | Zero | Set |
| S12x | 8 | 16 | 16 | 32 | 16 | x | x | Big Endian | x | Set |
| Infineon | ||||||||||
| C16x, XC16x | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | Zero | Set |
| TriCore | 8 | 16 | 32 | 32 | 32 | x | x | Little Endian | x | Set |
| Intel | ||||||||||
| 8051 Compatible | 8 | 16 | 16 | 32 | 8 | x | x | x | x | Clear |
| x86/Pentium | 8 | 16 | 32 | 32 | 32 | x | x | Little Endian | x | Set |
| Microchip | ||||||||||
| PIC18 | 8 | 16 | 16 | 32 | 8 | x | x | Little Endian | Zero | Set |
| dsPIC | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | Zero | Set |
| NEC | ||||||||||
| V850 | 8 | 16 | 32 | 32 | 32 | x | x | x | x | x |
| Renesas | ||||||||||
| M16C | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | x | x |
| M32C | 8 | 16 | x | 32 | x | x | x | Little Endian | x | x |
| R8C/Tiny | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | x | x |
| SH-2/3/4 | 8 | 16 | 32 | 32 | 32 | x | x | x | x | x |
| SGI | ||||||||||
| UltraSPARC IIi | 8 | 16 | 32 | 32 | 32 | x | x | Big Endian | x | Set |
| STMicroelectronics | ||||||||||
| ST10/Super10 | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | Zero | Set |
| Texas Instruments | ||||||||||
| C2000 | 16 | 16 | 16 | 32 | 16 | Int | None | x | Zero | Set |
| C5000 | 16 | 16 | 16 | 32 | 16 | Int | None | Big Endian | Zero | Set |
| C6000 | 8 | 16 | 32 | 40 | 32 | Int | None | x | Zero | Set |
| MSP430 | 8 | 16 | 16 | 32 | 16 | x | x | Little Endian | Zero | Set |
| TMS470 | 8 | 16 | 32 | 32 | x | x | x | x | x | x |
If your test hardware does not match any of the listed types, select Unspecified (assume 32-bit Generic) if it has the characteristics of a generic 32-bit microprocessor; otherwise select Custom.
The Device vendor and Device type fields both share the same command line parameter: TargetHWDeviceType. When specifying this parameter from the command line, separate the device vendor and device type values using the characters —>. For example: 'Intel->8051 Compatible'.
To add Device vendor and Device type values to the default set that is displayed on the Hardware Implementation pane, see Register Additional Device Vendor and Device Type Values in the Simulink Coder documentation.
The options available in the drop-down menu are determined by the Device vendor parameter.
Selecting a device type sets the following device-specific parameters:
Number of bits: char
Number of bits: short
Number of bits: int
Number of bits: long
Number of bits: float
Number of bits: double
Number of bits: native
Number of bits: pointer
Largest atomic size: integer
Largest atomic size: floating-point
Byte ordering
Signed integer division rounds to
Shift right on a signed integer as arithmetic shift
Whether you can modify a device-specific parameter varies according to device type. Parameters that cannot be modified for a device are greyed out in the GUI display.
| Parameter: TargetHWDeviceType |
| Type: string |
| Value: any valid value (see tips) |
| Default: 'Generic->Unspecified (assume 32-bit Generic)' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Device vendor (test hardware)
Describe the character bit length for the hardware used to test code.
Default: 8
Minimum: 8
Maximum: 32
Enter a value between 8 and 32.
All values must be a multiple of 8.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetBitPerChar |
| Type: integer |
| Value: any valid value |
| Default: 8 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the data bit length for the hardware used to test code.
Default: 16
Minimum: 8
Maximum: 32
Enter a value between 8 and 32.
All values must be a multiple of 8.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetBitPerShort |
| Type: integer |
| Value: any valid value |
| Default: 16 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the data integer bit length of the hardware used to test code.
Default: 32
Minimum: 8
Maximum: 32
Enter a number between 8 and 32.
All values must be a multiple of 8.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetBitPerInt |
| Type: integer |
| Value: any valid value |
| Default: 32 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the data bit lengths for the hardware used to test code.
Default: 32
Minimum: 32
Maximum: 64
Enter a value between 32 and 64. (The value 64 is selected by default if you run MATLAB software on a 64-bit host computer and select the MATLAB host as the test hardware — that is, TargetHWDeviceType equals 'Generic->MATLAB Host Computer'.)
All values must be a multiple of 8 and between 32 and 64.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetBitPerLong |
| Type: integer |
| Value: any valid value |
| Default: 32 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the bit length of floating-point data for the hardware used to test code (read-only).
Default: 32
Always equals 32.
| Parameter: TargetBitPerFloat |
| Type: integer |
| Value: 32 (read-only) |
| Default: 32 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Describe the bit-length of double data for the hardware used to test code (read-only).
Default: 64
Always equals 64.
| Parameter: TargetBitPerDouble |
| Type: integer |
| Value: 64 (read only) |
| Default: 64 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Describe the microprocessor native word size for the hardware used to test code.
Default: 32
Minimum: 8
Maximum: 64
Enter a value between 8 and 64. (The value 64 is selected by default if you run MATLAB software on a 64-bit host computer and select the MATLAB host as the test hardware — that is, TargetHWDeviceType equals 'Generic->MATLAB Host Computer'.)
All values must be a multiple of 8.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetWordSize |
| Type: integer |
| Value: any valid value |
| Default: 32 |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the bit-length of pointer data for the hardware used to test code (read-only).
Default: matches the setting for Number of bits: int
Minimum: 8
Maximum: 32
| Parameter: TargetBitPerPointer |
| Type: integer |
| Value: any valid value (read only) |
| Default: matches the setting for TargetBitPerInt |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Specify the largest integer data type that can be atomically loaded and stored on the hardware used to test code.
Default: Char
Specifies that char is the largest integer data type that can be atomically loaded and stored on the hardware used to test code.
Specifies that short is the largest integer data type that can be atomically loaded and stored on the hardware used to test code.
Specifies that int is the largest integer data type that can be atomically loaded and stored on the hardware used to test code.
Specifies that long is the largest integer data type that can be atomically loaded and stored on the hardware used to test code.
This parameter is used, where possible, to optimize away unnecessary double-buffering or unnecessary semaphore protection, based on data size, in generated multirate code.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetLargestAtomicInteger |
| Type: string |
| Value: 'Char' | 'Short' | 'Int' | 'Long' |
| Default: 'Char' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Specify the largest floating-point data type that can be atomically loaded and stored on the hardware used to test code.
Default: None
Specifies that float is the largest floating-point data type that can be atomically loaded and stored on the hardware used to test code.
Specifies that double is the largest floating-point data type that can be atomically loaded and stored on the hardware used to test code.
Specifies that there is no applicable setting or not to use this parameter in generating multirate code.
This parameter is used, where possible, to optimize away unnecessary double-buffering or unnecessary semaphore protection, based on data size, in generated multirate code.
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetLargestAtomicFloat |
| Type: string |
| Value: 'Float' | 'Double' | 'None' |
| Default: 'None' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | Target specific |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe the byte ordering for the hardware used to test code.
Default: Unspecified
Specifies that the code determines the endianness of the hardware. This is the least efficient choice.
The most significant byte comes first.
The least significant byte comes first.
Note For guidelines to observe when configuring Embedded hardware controls for code generation, see Hardware Implementation Options in the Simulink Coder documentation. |
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetEndianess |
| Type: string |
| Value: 'Unspecified' | 'LittleEndian' | 'BigEndian' |
| Default: 'Unspecified' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact for simulation and during development. Match operation of compiler and hardware for code generation. |
Describe how to produce a signed integer quotient for the hardware used to test code.
Default: Undefined
Choose this option if neither Zero nor Floor describes the compiler's behavior, or if that behavior is unknown.
If the quotient is between two integers, the compiler chooses the integer that is closer to zero as the result.
If the quotient is between two integers, the compiler chooses the integer that is closer to negative infinity.
Use the Integer rounding mode parameter on your model's blocks to simulate the rounding behavior of the C compiler that you use to compile code generated from the model. This setting appears on the Signal Attributes pane of the parameter dialog boxes of blocks that can perform signed integer arithmetic, such as the Product block.
For most blocks, the value of Integer rounding mode completely defines rounding behavior. For blocks that support fixed-point data and the Simplest rounding mode, the value of Signed integer division rounds to also affects rounding. For details, see Rounding in the Simulink Fixed Point User's Guide.
See Hardware Implementation Options in the Simulink Coder documentation for information on how this option affects code generation.
The following table illustrates the compiler behavior described by the options for this parameter.
| N | D | Ideal N/D | Zero | Floor | Undefined |
|---|---|---|---|---|---|
33 | 4 | 8.25 | 8 | 8 | 8 |
-33 | 4 | -8.25 | -8 | -9 | -8 or -9 |
33 | -4 | -8.25 | -8 | -9 | -8 or -9 |
-33 | -4 | 8.25 | 8 | 8 | 8 or 9 |
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetIntDivRoundTo |
| Type: string |
| Value: 'Floor' | 'Zero' | 'Undefined' |
| Default: 'Undefined' |
| Application | Setting |
|---|---|
| Debugging | No impact for simulation and during development. Undefined for production code generation. |
| Traceability | No impact for simulation and during development. Zero or Floor for production code generation. |
| Efficiency | No impact for simulation and during development. Zero for production code generation. |
| Safety precaution | No impact for simulation and during development. Floor for production code generation. |
Describe how your compiler rounds the result of two signed integers for the hardware used to test code.
Default: On
Generates simple efficient code whenever the Simulink model performs arithmetic shifts on signed integers.
Generates fully portable but less efficient code to implement right arithmetic shifts.
Select this parameter if your C compiler implements a signed integer right shift as an arithmetic right shift.
An arithmetic right shift fills bits vacated by the right shift with the value of the most significant bit, which indicates the sign of the number in twos complement notation. It is equivalent to dividing the number by 2.
This setting affects only code generation
Selecting a device using the Device vendor and Device type parameters sets a device-specific value for this parameter.
This parameter is enabled only if it can be modified for the currently selected device.
| Parameter: TargetShiftRightIntArith |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'on' |
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | On |
| Safety precaution | No impact |
![]() | Diagnostics Pane: Stateflow | Model Referencing Pane | ![]() |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |