このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Product of Elements
1 つのスカラー入力のコピーまたは逆数、あるいは 1 つの非スカラー入力をベクトルやスカラーに変換
ライブラリ:
Simulink /
Math Operations
HDL Coder /
HDL Floating Point Operations
HDL Coder /
Math Operations
説明
Product of Elements ブロックは、1 つのスカラー、ベクトルまたは行列を入力します。ブロックを使用して以下のことを行うことができます。
スカラー入力を変化させずにコピーする
スカラー入力の逆数 (1 を入力スカラーで除算)
すべての要素を乗算するか、要素の連続した逆数をとることで、ベクトルまたは行列をスカラーに変換
次のいずれかのオプションを使用して、行列をベクトルに変換します。
各行または列の要素を乗算する
各行または列の要素の連続した逆数をとる
Product of Elements ブロックは、機能的には、事前設定された 2 つのパラメーター値をもつ Product ブロックです。
乗算:
要素単位(.*)
入力数:
*
これらのパラメーターのいずれかに既定でない値を設定すると、Product of Elements ブロックを機能的に等価な Product ブロックまたは Divide ブロックに変更できます。
例
Product of Elements ブロックを使用した要素単位の乗算と除算
この例では、Product of Elements ブロックを使用して入力の要素単位の乗算と除算を実行する方法を説明します。
Product of Elements ブロックを使用した複素数の除算
この例では、Product of Elements ブロックを使用して要素単位の複素数の除算を実行する方法を説明します。
一番上の Product of Elements ブロックは、4 つの要素の連続した逆数をとることで、行列入力をスカラーに変換します。
y = ((((1/2+i)/3)/4-i)/5)
一番下の Product of Elements ブロックは、2 番目の次元に沿って連続した逆数をとることで、行列入力をベクトルに変換します。
y(1) = ((1/2+i)/3)
y(2) = ((1/4-i)/5)
端子
入力
Port_1 — 乗算または除算する 1 番目の入力
スカラー | ベクトル | 行列 | N 次元配列
乗算または除算する 1 番目の入力。スカラー、ベクトル、行列または N 次元配列として指定します。
データ型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Port_N — 乗算または除算する N 番目の入力
スカラー | ベクトル | 行列 | N 次元配列
乗算または除算する N 番目の入力。スカラー、ベクトル、行列または N 次元配列として指定します。
データ型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
X — 乗算する入力信号
スカラー | ベクトル | 行列 | N 次元配列
他の入力に乗算する入力信号。
依存関係
1 つ以上の X 端子を有効にするには、[入力の数] パラメーターに対して 1 つ以上の *
文字を指定します。
データ型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
÷ — 除算または逆数を求める入力信号
スカラー | ベクトル | 行列 | N 次元配列
除算または逆演算の入力信号。
依存関係
1 つ以上の ÷ 端子を有効にするには、[入力の数] パラメーターに対して 1 つ以上の /
文字を指定します。
データ型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
出力
Port_1 — 入力を乗算、除算または逆数を求めることで計算される出力
スカラー | ベクトル | 行列 | N 次元配列
入力を乗算、除算、または逆数を求めることで計算される出力。
データ型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
パラメーター
メイン
入力数 — 入力数と演算のタイプを制御
*
(既定値) | 正の整数スカラー | 各入力端子に対して *
または /
ブロックの 2 つのプロパティを制御します。
ブロックの入力端子の数
各入力が出力されるときに乗算されるかまたは除算されるか
指定に関する詳細は次の通りです。
1
、*
、または/
このブロックは 1 つの入力端子をもっています。要素単位モードでは、ブロックは Product of Elements ブロックで記述されたとおりに入力を処理します。行列モードでは、パラメーター値が
1
または*
の場合、ブロックは入力値を出力します。値が/
である場合、入力は正方行列 (縮退した場合としてスカラーを含む) でなければなりません。ブロックは逆行列を出力します。詳細については、要素単位モードおよび行列モードを参照してください。整数値 > 1
ブロックがもつ入力数は整数値で指定されます。[乗算] パラメーターで指定される要素単位モードまたは行列モードによって、入力は互いに乗算されます。詳細については、要素単位モードおよび行列モードを参照してください。
2 つ以上の
*
と/
から成る単純文字列ブロックは文字ベクトルの長さで与えられる入力数をもちます。
*
に相当する各入力は、乗算され、出力されます。/
に対応する各入力は除算され、出力されます。演算は、[乗算] パラメーターで指定されるように、要素単位モードまたは行列モードで行われます。詳細については、要素単位モードおよび行列モードを参照してください。
プログラムでの使用
ブロック パラメーター: Inputs |
型: 文字ベクトル |
値: '2' | '*' | '**' | '*/' | '*/*' | ... |
既定の設定: '*' |
乗算 — 要素単位 (.*) または行列 (*) の乗算
要素単位(.*)
(既定値) | 行列 (*)
ブロックが [要素単位(.*)]
または [行列 (*)]
の乗算を実行するかどうかを指定します。
プログラムでの使用
ブロック パラメーター: Multiplication |
型: 文字ベクトル |
値: 'Element-wise(.*)' | 'Matrix(*)' |
既定の設定: 'Element-wise(.*)' |
適用範囲 — 指定した次元に沿って関数を適用する方法
すべての次元
(既定値) | 指定した次元
指定した次元に沿って関数を適用する方法を指定します。
すべての次元
— すべての次元のすべての入力値について関数を適用します。たとえば、次のモデルでは、[乗算] を
[要素単位(.*)]
に設定し、[適用範囲] を[すべての次元]
に設定しています。ブロックは、すべての次元のすべての値の積を返します。[すべての次元]
を選択し、コンフィギュレーション パラメーター [行優先の配列レイアウトに最適化されたアルゴリズムを使用] を選択すると、Simulink® はシミュレーションに対して行優先アルゴリズムを有効にします。行優先のコードを生成するには、コンフィギュレーション パラメーター [配列のレイアウト] (Simulink Coder) を[行優先]
に設定し、[行優先の配列レイアウトに最適化されたアルゴリズムを使用] を選択します。列優先アルゴリズムと行優先のルゴリズムで異なるのは乗算の順序のみです。場合によっては、同じデータ セットに対する演算関数の順序により、列優先アルゴリズムと行優先アルゴリズムの出力の数値にわずかな差が生じることがあります。指定した次元
— 指定した次元のすべての入力値について関数を適用します。
依存関係
このパラメーターを有効にするには、[入力の数] を *
に、[乗算] を [要素単位(.*)]
に設定します。
プログラムでの使用
ブロック パラメーター: CollapseMode |
型: 文字ベクトル |
値: 'All dimensions' | 'Specified dimension' |
既定の設定: 'All dimensions' |
次元 — 乗算する次元
1
(既定値) | 正の整数
乗算する次元を正の整数として指定します。たとえば、2 次元行列では、1
の場合は各列に関数が適用され、2
の場合は各行に関数が適用されます。
たとえば、次のモデルでは、[乗算] を [要素単位(.*)]
に設定し、[適用範囲] を [指定した次元]
に設定し、[次元] を 2
に設定しています。ブロックは、各行のすべての値の積を返します。
依存関係
このパラメーターは次の場合に有効になります。
[入力の数] を
*
に設定[乗算] を
[要素単位(.*)]
に設定[適用範囲] を
[指定した次元]
に設定
プログラムでの使用
ブロック パラメーター: CollapseDim |
型: 文字ベクトル |
値: '1' | '2' | ... |
既定の設定: '1' |
サンプル時間 (継承は -1) — サンプルの間隔
-1
(既定値) | スカラー | ベクトル
サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1
に設定します。詳細については、サンプル時間の指定を参照してください。
依存関係
このパラメーターは、-1
以外の値に設定した場合にのみ表示されます。詳細は、サンプル時間が推奨されないブロックを参照してください。
プログラムでの使用
ブロック パラメーター: SampleTime |
型: string スカラーまたは文字ベクトル |
既定の設定: "-1" |
信号属性
すべての入力が同じデータ型をもつ — すべての入力が同じデータ型をもつようにします。
off
(既定値) | on
すべての入力信号が同じデータ型をもたなければならないかどうかを指定します。このパラメーターを有効にすると、入力信号のデータ型が異なる場合はシミュレーション中にエラーが発生します。
プログラムでの使用
ブロック パラメーター: InputSameDT |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
出力の最小値 — 範囲チェックの最小出力値
[]
(既定値) | スカラー
Simulink がチェックする出力範囲の下限値。
Simulink は、最小値を使って以下を行います。
一部のブロックに対するパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定およびシミュレーション範囲のチェックの有効化を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[出力の最小値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。
プログラムでの使用
ブロック パラメーター: OutMin |
型: 文字ベクトル |
値: '[ ]' | スカラー |
既定の設定: '[ ]' |
出力の最大値 — 範囲チェックの最大出力値
[]
(既定値) | スカラー
Simulink がチェックする出力範囲の上限値。
Simulink は、最大値を使って以下を行います。
一部のブロックに対するパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定およびシミュレーション範囲のチェックの有効化を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[出力の最大値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。
プログラムでの使用
ブロック パラメーター: OutMax |
型: 文字ベクトル |
値: '[ ]' | スカラー |
既定の設定: '[ ]' |
出力データ型 — 出力データ型を指定
継承: 内部ルールによる継承
(既定値) | 継承: 逆伝播による継承
| 継承: 1 番目の入力と同じ
| double
| single
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| <data type expression>
出力のデータ型を選択します。型は継承されるか、直接指定されるか、Simulink.NumericType
などのデータ型オブジェクトとして表現されます。詳細については、信号のデータ型の制御を参照してください。
継承オプションを選択すると、ブロックは次のように動作します。
継承: 内部ルールによる継承
— Simulink は、組み込みターゲット ハードウェアのプロパティを考慮しつつ、数値の精度、パフォーマンス、および生成コードのサイズのバランスが取れるように、データ型を選択します。組み込みターゲット ハードウェアの設定を変更すると、内部ルールにより選択されるデータ型が変更される可能性があります。たとえば、ブロックがint8
型の入力にint16
のゲインを乗算し、ターゲット ハードウェア タイプとして[ASIC/FPGA]
が指定されている場合、出力データ型はsfix24
です。ターゲット ハードウェアとして[Unspecified (assume 32-bit Generic)]
(汎用 32 ビット マイクロプロセッサ) が指定された場合、出力データ型はint32
です。ターゲット マイクロプロセッサによって指定される語長では出力範囲に対応できない場合、Simulink は診断ビューアーにエラーを表示します。コードの効率と数値の精度が、ソフトウェアにより同時に最適化されるとは限りません。内部ルールが、数値精度またはパフォーマンスに対する要求を満たさない場合は、以下のいずれかを行ってください。
出力データ型を明示的に指定する。
単に
[継承: 入力と同じ]
を選択します。fixdt(1,32,16)
のように既定のデータ型を明示的に指定し、固定小数点ツールを使用してモデルにデータ型を推奨する。詳細については、fxptdlg
(Fixed-Point Designer) を参照してください。独自の継承ルールを指定するには、
[継承: 逆伝播による継承]
を使用し、Data Type Propagation ブロックを使用します。このブロックの使い方の例については、Signal Attributes ライブラリの Data Type Propagation Examples ブロックを参照してください。
継承: 逆伝播による継承
— 駆動ブロックのデータ型を使用します。継承: 1 番目の入力と同じ
— 1 番目の入力信号のデータ型を使用します。
依存関係
入力が単精度より小さい浮動小数点データ型の場合、[継承: 内部ルールによる継承]
出力データ型は単精度より小さい浮動小数点の出力型を継承するコンフィギュレーション パラメーターの設定によって変わります。データ型の符合化に必要なビット数が単精度データ型の符合化に必要な 32 ビットより少ない場合、データ型は単精度より小さくなります。たとえば、half
と int16
は単精度より小さくなります。
プログラムでの使用
ブロック パラメーター: OutDataTypeStr |
型: 文字ベクトル |
値: 'Inherit: Inherit via internal rule | 'Inherit: Same as first input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
既定の設定: 'Inherit: Inherit via internal rule' |
固定小数点ツールによる変更に対して出力データ型の設定をロックする — 固定小数点ツールが出力データ型をオーバーライドするのを防止するオプション
off
(既定値) | on
固定小数点ツールが、ブロックに指定した [出力] データ型をオーバーライドしないようにするには、このパラメーターを選択します。詳細については、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーター: LockScale |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
整数丸めモード — 固定小数点演算の丸めモード
負方向
(既定値) | 正方向
| 最も近い偶数方向
| 最も近い正の整数方向
| 最も近い整数方向
| 最も簡潔
| ゼロ方向
固定小数点演算の丸めモードを選択します。以下を選択できます。
正方向
正の無限大方向に正負の値を丸めます。MATLAB® 関数
ceil
と等価です。最も近い偶数方向
最も近い表現可能な値に数値を丸めます。同順位が発生した場合は、最も近い偶数の整数に丸めます。Fixed-Point Designer™ 関数
convergent
と等価です。負方向
負の無限大方向に正負の値を丸めます。MATLAB 関数
floor
と等価です。最も近い正の整数方向
最も近い表現可能な値に数値を丸めます。同順位が発生した場合は、正の無限大方向に丸めます。Fixed-Point Designer 関数
nearest
と等価です。最も近い整数方向
最も近い表現可能な値に数値を丸めます。同順位が発生した場合は、正の数値を正の無限大方向、負の数値を負の無限大方向に丸めます。Fixed-Point Designer 関数
round
と等価です。最も簡潔
負方向の丸めとゼロ方向の丸めのいずれかを選択し、できるだけ効率の高い丸めコードを生成します。
ゼロ方向
ゼロ方向に数値を丸めます。MATLAB 関数
fix
と等価です。
詳細については、丸め (Fixed-Point Designer)を参照してください。
ブロック パラメーターは常に最近傍の表現可能な値に丸められます。ブロックパラメーターの丸めを直接制御するには、MATLAB の丸め関数を使用する式をマスク フィールドに入力します。
プログラムでの使用
ブロック パラメーター: RndMeth |
型: 文字ベクトル |
値: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
既定の設定: 'Floor' |
整数オーバーフローで飽和 — オーバーフロー アクションの方法
off
(既定値) | on
オーバーフローで飽和するかラップするかを指定します。
動作 | 根拠 | オーバーフローの影響 | 例 |
---|---|---|---|
このチェック ボックスをオンにする ( | モデルでオーバーフローが発生する可能性があるので、生成コードに飽和保護を明示的に組み込むことをお勧めします。 | オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。 |
|
このチェック ボックスをオンにしない ( | 生成コードの効率を最適化することをお勧めします。 ブロックが範囲外の信号を処理する方法を指定しすぎないようにすることをお勧めします。詳細については、信号範囲のエラーのトラブルシューティングを参照してください。 | オーバーフローは、データ型によって表現される適切な値にラップされます。 |
|
このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。
プログラムでの使用
ブロック パラメーター: SaturateOnIntegerOverflow |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
モード — データ型モードを選択
Inherit
(既定値) | Built in
| Fixed Point
指定するデータのカテゴリを選択します。
継承
— データ型の規則の継承。Inherit
を選択すると、右側から 2 番目のメニュー/テキスト ボックスが有効になり、そこで継承モードを選択できます。組み込み
— 組み込みデータ型を指定します。Built in
を選択すると、右側から 2 番目のメニュー/テキスト ボックスが有効になり、そこで組み込みデータ型を選択できます。固定小数点
— 固定小数点データ型。[固定小数点]
を選択すると、固定小数点データ型を指定するために使用できる追加のパラメーターが有効になります。式
— 評価結果がデータ型となる式。[式
] を選択すると、右側から 2 番目のメニュー/テキスト ボックスが有効になります。そこに式を入力することができます。
詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[データ型アシスタントを表示] ボタンをクリックします。
データ型オーバーライド — この信号のデータ型オーバーライド モードを指定します。
Inherit
| Off
この信号のデータ型オーバーライド モードを選択します。
[継承]
を選択すると、Simulink はコンテキストからデータ型オーバーライド設定を継承します。コンテキストとはブロックのことで、信号を使用している Simulink のSimulink.Signal
オブジェクトまたは Stateflow® チャートです。[オフ]
を選択すると、Simulink はコンテキストのデータ型オーバーライド設定を無視し、信号に対して指定された固定小数点データ型を使用します。
詳細については、Simulink ドキュメンテーションのデータ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [組み込み]
または [固定小数点]
に設定します。
ヒント
個々のデータ型に対してデータ型オーバーライドをオフにする機能により、データ型オーバーライドを適用する際に、モデル内のデータ型をさらに効果的に制御できます。たとえば、このオプションを使用すると、データ型オーバーライド設定にかかわらず、データ型が下流ブロックの要件を満たすことを確認できます。
符号属性 — 符号付きまたは符号なしを指定
Signed
(既定値) | Unsigned
固定小数点データが符号付きであるか符号なしであるかを指定します。符号付きデータでは正の値と負の値を表現できますが、符号なしデータでは正の値のみを表現できます。
[符号付き]
。符号付き固定小数点データを指定します。[符号なし]
。符号なし固定小数点データを指定します。
詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [Fixed point
] に設定します。
語長 — 量子化された整数をもつ語のビット サイズ
16
(既定値) | 0 ~ 32 の整数
量子化された整数をもつ語のビット サイズを指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点]
に設定します。
小数部の長さ — 固定小数点データ型の小数部の長さを指定します。
0
(既定値) | スカラー整数
固定小数点データ型の小数部の長さを正または負の整数として指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [2 進小数点]
に設定します。
スケーリング — 固定小数点データのスケーリング方法
最高精度
(既定値) | 2 進小数点
| 勾配とバイアス
オーバーフローを避け、量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点]
に設定します。
勾配 — 固定小数点データ型の勾配を指定
2^0
(既定値) | 正の実数値のスカラー
固定小数点データ型の勾配を指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [勾配とバイアス]
に設定します。
バイアス — 固定小数点データ型のバイアスを指定
0
(既定値) | 実数値のスカラー
固定小数点データ型のバイアスを任意の実数として指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [勾配とバイアス]
に設定します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
アルゴリズム
Product of Elements ブロックは、これらのアルゴリズムを使用して、浮動小数点、組み込み整数および固定小数点型の入力に対して要素単位演算を実行します。
入力 | 要素単位演算 | アルゴリズム |
---|---|---|
実数スカラー、 | 乗算 | y = u |
除算 | y = 1/u | |
要素 | 乗算 | y = u1*u2*u3*...*uN |
除算 | y = ((((1/u1)/u2)/u3).../uN) | |
複素数スカラー、 | 乗算 | y = u |
除算 | y = 1/u | |
要素 | 乗算 | y = u1*u2*u3*...*uN |
除算 | y = ((((1/u1)/u2)/u3).../uN) |
要素単位の乗算または除算用に指定された次元が行列の行または列である場合、このアルゴリズムはその行または列に適用されます。Product of Elements ブロックを使用した複素数の除算の例について考えます。
一番上の Product of Elements ブロックは、4 つの要素の連続した逆数をとることで、行列入力をスカラーに変換します。
y = ((((1/2+i)/3)/4-i)/5)
一番下の Product of Elements ブロックは、2 番目の次元に沿って連続した逆数をとることで、行列入力をベクトルに変換します。
y(1) = ((1/2+i)/3)
y(2) = ((1/4-i)/5)
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
HDL Coder は、複数の要素で単一のベクトル入力をもつ Product ブロックまたは Product of Elements ブロックについて、[ツリー]
アーキテクチャをサポートしています。
このブロックには、生成されたコードで追加のレイテンシを導入するマルチサイクル実装があります。追加されたレイテンシを確認するには、生成されたモデルまたは検証モデルを表示します。生成されたモデルと検証モデル (HDL Coder)を参照してください。
アーキテクチャ | 追加のレイテンシのサイクル | 説明 |
---|---|---|
線形 (既定値) | 0 | 積の和を計算する加算器の線形チェーンを生成します。 |
ツリー | 0 | 積の和を計算する加算器のツリー構造を生成します。 |
メモ
Product of Element ブロックは、Native Floating Point
モードでの double
データ型を使用した HDL コード生成をサポートしません。
ブロックを行列乗算モードで使用する場合、[DotProductStrategy] を指定できます。この設定により、行列乗算を、加算器および乗算器のツリーを使用して実装するか、Multiply-Accumulate ブロックの実装を使用するかが決定されます。既定の設定は Fully Parallel
です。
メモ
Native Floating Point
モードを使用する場合、[DotProductStrategy] を [Fully Parallel
] に設定しなければなりません。
詳細については、DotProductStrategy (HDL Coder)を参照してください。
行列とベクトルの設計に関する考慮事項 (HDL Coder)も参照してください。
一般 | |
---|---|
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
DSPStyle | 乗算器のマッピングの合成属性。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
ネイティブ浮動小数点 | |
---|---|
HandleDenormals | HDL Coder で追加のロジックを挿入して設計で非正規数を処理するかどうかを指定します。非正規数とは、その大きさが仮数の先頭にゼロを付けずに表現できる最小の浮動小数点数より小さい数値のことです。既定の設定は |
LatencyStrategy | 浮動小数点演算子について、設計内のブロックを |
NFPCustomLatency | 値を指定するには [LatencyStrategy] を |
MantissaMultiplyStrategy | コード生成中に仮数乗算演算を実装する方法を指定します。さまざまな設定を使用することで、ターゲット FPGA デバイスでの DSP の使用方法を制御できます。既定の設定は |
既定 (線形) の実装は複素数データをサポートします。
複素数の除算はサポートされていません。除算モードまたは逆数モードでの Product ブロックのブロック実装については、Divide ブロックのリファレンス ページのHDL コード生成を参照してください。
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006a より前に導入
参考
Product | Divide | Dot Product
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)