Main Content

Device type

Select the type of hardware to use to implement the system that this model represents.


Default: x86–64 (Windows64)

If you have installed target support packages, the list of settings includes additional types of hardware.

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:



  • Before you specify the device type, select the device vendor.

  • To view parameters for a device type, click the arrow button to the left of Device details.

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

    • Default hardware properties appear as the initial values.

    • You cannot change parameters with only one possible value.

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

    The following 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
  • The Device vendor and Device type fields share the command-line parameter ProdHWDeviceType. When specifying this parameter at the command line, separate the device vendor and device type values by using the characters ->. For example: 'Intel->x86-64 (Linux 64)'.

  • If you have a Simulink® Coder™ license and you want to add Device vendor and Device type values to the default set, see Register New Hardware Devices (Simulink Coder).


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

Menu options that are available in the menu 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

  • 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 setting of a device-specific parameter varies according to device type.

Command-Line Information

Parameter: ProdHWDeviceType
Type: string
Value: any valid value (see tips)
Default: 'Intel->x86–64 (Windows64)'

Recommended Settings

DebuggingNo impact
TraceabilityNo impact
EfficiencyNo impact
Safety precaution

No recommendation for simulation without code generation.
For simulation with code generation, select your Device vendor and Device type if they are available in the drop-down list.  If your Device vendor and Device type are not available, set device-specific values by using Custom Processor.

See Also