「ハードウェア実行」の設定の「デバイスのベンダ」および「デバイスタイプ」を変更した場合、それらの変更に伴い、設定下にあります「ビット数」も変更されます。
このビット数の変更が、Simulink上の演算の精度やコード生成に関係してきます。
例えば、Discrete-Time Integrator、Gain、Product、Sum、Switch の各ブロックは、「出力データタイプ」の設定において、[継承: 内部ルールによる継承]があります。
[継承: 内部ルールによる継承]が選択された場合、Simulinkは、メモリが最小となる出力スケーリングとデータ型を組み合わせて、任意に出力データタイプを決定します。
その時、「ハードウェア実行」設定のビット数に見合う様に決定します。(下記は、上記各ブロックのヘルプにも記載されている内容と同様になりますが、)
コンフィギュレーション パラメーターの [ハードウェア実行] ペインの [デバイスのベンダー] パラメーターが [ASIC/FPGA] に設定された場合、
Simulink はハードウェア制約に関係なく、出力データ型を選択します。
それ以外の場合、Simulink は、範囲と精度の制約に対応できるハードウェア データ型のうち、最小のものを選択します。
たとえば、ターゲット ハードウェア タイプとして [ASIC/FPGA] が指定されている場合、 int8 型の入力と int16型の入力を乗算すると出力データ型は sfix24 になります。
ターゲット ハードウェアとして [Unspecified (assume 32-bit Generic)]、すなわち汎用 32 ビット マイクロプロセッサーが指定されている場合、出力データ型は int32 です。
この様に決定された出力データ型が、コード生成に反映されます。
ターゲット マイクロプロセッサーによって指定される語長では出力範囲に対応できない場合、Simulink はシミュレーション診断ビューアーにエラー メッセージを表示します。