Main Content

Test device vendor and type

Option to specify test hardware manufacturer and type

Model Configuration Pane: Hardware Implementation


Select the manufacturer and type of the hardware to use to test the code generated from the model.


The Device vendor and Device type parameter values reflect available device support for the selected hardware board.

Menu options that are available depend on the Device vendor parameter setting.

With the exception of device vendor ASIC/FPGA, selecting a device type sets the following parameters:

  • Number of bits: char

  • Number of bits: short

  • Number of bits: int

  • Number of bits: long

  • Number of bits: long long

  • Number of bits: float

  • Number of bits: double

  • Number of bits: native

  • Number of bits: pointer

  • Number of bits: size_t

  • Number of bits: ptrdiff_t

  • 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

  • Support long long

Whether you can modify the value of a device-specific parameter varies according to device type.


Intel, x86–64 (Windows64) | ...

Select one of these device vendors:

  • AMD

  • ARM Compatible

  • Altera

  • Analog Devices

  • Apple

  • Atmel

  • Freescale

  • Infineon

  • Intel

  • Microchip

  • NXP

  • Renesas

  • STMicroelectronics

  • Texas Instruments


  • Custom Processor

Then, select the device type. The available device types change depending on the device vendor selected. If your hardware does not match one of the listed types, select Custom.

AMD® options:

  • Athlon 64

  • K5/K6/Athlon

  • x86–32 (Windows 32)

  • x86–64 (Linux 64)

  • x86–64 (macOS)

  • x86–64 (Windows64)

ARM® options:

  • ARM 10

  • ARM 11

  • ARM 64-bit (LLP64)

  • ARM 64-bit (LP64)

  • ARM 7

  • ARM 8

  • ARM 9

  • ARM Cortex-A (32-bit)

  • ARM Cortex-A (64-bit)

  • ARM Cortex-M

  • ARM Cortex-R

Altera® options:

  • SoC (ARM CortexA)

Analog Devices® options:

  • ADSP–CM40x (ARM Cortex-M)

  • Blackfin


  • TigerSHARC

Apple options:

  • ARM64

Atmel® options:

  • AVR

  • AVR (32-bit)

  • AVR (8-bit)

Freescale® options:

  • 32-bit PowerPC

  • 68332

  • 68HC08

  • 68HC11

  • ColdFire

  • DSP563xx (16-bit mode)

  • HC(S)12

  • MPC52xx

  • MPC5500

  • MPC55xx

  • MPC5xx

  • MPC7xxx

  • MPC82xx

  • MPC83xx

  • MPC85xx

  • MPC86xx

  • MPC8xx

  • S08

  • S12x

  • StarCore

Infineon® options:

  • C16x, XC16x

  • TriCore

Intel® options:

  • x86–32 (Windows32)

  • x86–64 (Linux 64)

  • x86–64 (macOS)

  • x86–64 (Windows64)

Microchip options:

  • PIC18

  • dsPIC

NXP options:

  • Cortex—M0/M0+

  • Cortex—M3

  • Cortex—M4

Renesas® options:

  • M16C

  • M32C

  • R8C/Tiny

  • RH850

  • RL78

  • RX

  • RZ

  • SH-2/3/4

  • V850


  • ST10/Super10

Texas Instruments® options:

  • C2000

  • C5000

  • C6000

  • MSP430

  • Stellaris Cortex—M3

  • TMS470

  • TMS570 Cortex—R4

ASIC/FPGA options:


Selecting a device type specifies the hardware device to define system constraints:

  • Hardware properties have default initial values.

  • You cannot change parameters that have only one possible value.

  • Parameters that have more than one possible value provide a list of valid values.

The table lists values for each device type.

Key:float and double (not listed) always equal 32 and 64, respectively
Round to = Signed integer division rounds to
Shift right = Shift right on a signed integer as arithmetic shift
Long long = Support long long
Device vendor / Device typeNumber of bitsLargest atomic sizeByte orderingRound toShift right Long long
charshortintlonglong longnativepointersize_tptrdiff_tintfloat
Athlon 6481632646464646464CharNoneLittle EndianZero
K5/K6/Athlon81632326432323232CharNoneLittle EndianZero
x86–32 (Windows32)81632326432323232CharFloatLittle EndianZero
x86–64 (Linux 64)81632646464646464CharFloatLittle EndianZero
x86–64 (macOS)81632646464646464CharFloatLittle EndianZero
x86–64 (Windows64)81632326464646464CharFloatLittle EndianZero
ARM Compatible
ARM 7/8/9/1081632326432323232LongFloatLittle EndianZero
ARM 1181632326432323232LongDoubleLittle EndianZero
ARM 64-bit (LP64)81632646464646464LongDoubleLittle EndianZero
ARM 64-bit (LLP64)81632326464646464LongDoubleLittle EndianZero
ARM Cortex-A (32-bit)81632326432323232LongDoubleLittle EndianZero
ARM Cortex-A (64-bit)81632646432646464LongLongDoubleLittle EndianZero
ARM Cortex-M81632326432323232LongDoubleLittle EndianZero
ARM Cortex-R81632326432323232LongDoubleLittle EndianZero
SoC (ARM Cortex A)81632326432323232CharNoneLittle EndianZero
Analog Devices
ADSP-CM40x(ARM Cortex-M)81632326432323232LongDoubleLittle EndianZero
Blackfin81632326432323232LongDoubleLittle EndianZero
SHARC323232326432323232LongDoubleBig EndianZero
TigerSHARC323232326432323232LongDoubleLittle EndianZero
ARM6481632646464646464CharFloatLittle EndianZero
AVR8161632648161616CharNoneLittle EndianZero
AVR (32-bit)81632326432323232CharNoneLittle EndianZero
AVR (8-bit)81616326416161616CharNoneLittle EndianZero
32-bit PowerPC81632326432323232LongDoubleBig EndianZero
6833281632326432323232CharNoneBig EndianZero
68HC0881616326488168CharNoneBig EndianZero
68HC11816163264881616CharNoneBig EndianZero
ColdFire81632326432323232CharNoneBig EndianZero
DSP563xx (16-bit mode)81616326416161616CharNoneLittle EndianZero
DSP5685x81616326416161616CharFloatLittle EndianZero
HC(S)1281616326416161616CharNoneBig EndianZero
MPC52xx, MPC5500, MPC55xx, MPC5xx, PC5xx, MPC7xxx, MPC82xx, MPC83xx, MPC86xx, MPC8xx81632326432323232LongNoneBig EndianZero
MPC85xx81632326432323232LongDoubleBig EndianZero
S0881616326416161616CharNoneBig EndianZero
S12x81616326416161616CharNoneBig EndianZero
StarCore81632326432323232CharNoneLittle EndianZero
C16x, XC16x81616326416161616CharNoneLittle EndianZero
TriCore81632326432323232CharNoneLittle EndianZero
x86–32 (Windows32)81632326432323232CharFloatLittle EndianZero
x86–64 (Linux 64)81632646464646464CharFloatLittle EndianZero
x86–64 (macOS)81632646464646464CharFloatLittle EndianZero
x86–64 (Windows64)81632326464646464CharFloatLittle EndianZero
PIC18816163264882424CharNoneLittle EndianZero
dsPIC81616326416161616CharNoneLittle EndianZero
Cortex—M0/M0+81632326432323232LongDoubleLittle EndianZero
Cortex—M381632326432323232LongDoubleLittle EndianZero
Cortex—M481632326432323232LongDoubleLittle EndianZero
M16C81616326416161616CharNoneLittle EndianZero
M32C81616326416161616CharNoneLittle EndianZero
R8C/Tiny81616326416161616CharNoneLittle EndianZero
RH85081632326432323232CharNoneLittle EndianZero
RL7881616326416161616CharNoneLittle EndianZero
RX81632326432323232CharNoneLittle EndianZero
RZ81632326432323232LongDoubleLittle EndianZero
SH-2/3/481632326432323232CharNoneBig EndianZero
V85081632326432323232CharNoneLittle EndianZero
ST10/Super1081616326416161616CharNoneLittle EndianZero
Texas Instruments
C2000161616326416321616IntNoneLittle EndianZero
C5000161616326416161616IntNoneBig EndianZero
C600081632406432323232IntNoneLittle EndianZero
MSP43081616326416161616CharNoneLittle EndianZero
Stellaris Cortex—M38163232632323232LongDoubleLittle EndianZero
TMS47081632326432323232LongDoubleLittle EndianZero
TMS570 Cortex—R481632326432323232LongDoubleBig EndianZero


  • Use the parameter TargetHWDeviceType to set both the Device vendor and Device type fields programmatically. Specify the parameter value as a character vector that defines both the device vendor and the device type, separated by the characters ->. For example, this command specifies the device vendor as Intel and the device type as x86-64 (Linux 64).

    set_param(mdl,"TargetHWDeviceType","Intel->x86->64 (Linux 64)")

  • If you have a Simulink® Coder™ license, you can add to the set of values available for the Device vendor and Device type parameters. For more information, see Register New Hardware Devices (Simulink Coder).

Recommended Settings

DebuggingNo impact
TraceabilityNo impact
EfficiencyNo impact
Safety precaution

No impact when Test hardware is the same as production hardware is selected. If it is not selected, no recommendation.

Programmatic Use

Parameter: TargetHWDeviceType
Type: string | character vector
Default:'Intel->x86–64 (Windows64)'

Version History

Introduced in R2006b