Real Reciprocal HDL Optimized
逆数を計算して最適化された HDL コードを生成
- ライブラリ:
Fixed-Point Designer HDL Support / Math Operations

説明
Real Reciprocal HDL Optimized ブロックは、1/u
を計算します。ここで、u
は実数スカラーです。
制限
Real Reciprocal HDL Optimized ブロックではデータ型オーバーライドはサポートされていません。
端子
入力
u
— 逆数を求める値
実数スカラー
逆数を求める値。実数スカラーとして指定します。
勾配とバイアス表現は固定小数点データ型ではサポートされていません。
データ型: single
| double
| fixed point
validIn
— 入力が有効であるかどうか
Boolean
スカラー
入力が有効であるかどうか。boolean スカラーとして指定します。この制御信号は u
入力端子からのデータが有効であるかどうかを示します。この値が 1
(true
) の場合、ブロックは u
入力端子の値を取得します。この値が 0
(false
) の場合、ブロックは入力サンプルを無視します。
データ型: Boolean
出力
y
— 逆数
実数スカラー
逆数。[出力データ型] パラメーターで指定されたデータ型の実数スカラーとして返されます。
データ型: single
| double
| fixed point
validOut
— 出力データが有効であるかどうか
Boolean
スカラー
出力データが有効であるかどうか。boolean スカラーとして返されます。この制御信号の値が 1
(true
) の場合、ブロックは端子 y
の出力を正常に計算しています。この値が 0
(false
) の場合、出力データは有効ではありません。
データ型: Boolean
パラメーター
出力データ型
— 出力のデータ型
fixdt(1,18,10)
(既定値) | single
| fixdt(1,16,0)
| <data type expression>
出力 y
のデータ型。fixdt(1,18,10)
、single
、fixdt(1,16,0)
、またはユーザー指定のデータ型式として指定します。型は直接指定されるか、Simulink.NumericType
などのデータ型オブジェクトとして表現されます。
プログラムでの使用
ブロック パラメーター: OutputType |
型: 文字ベクトル |
値: 'fixdt(1,18,10)' | 'single' | 'fixdt(1,16,0)' | '<data type expression>' |
既定の設定: 'fixdt(1,18,10)' |
アルゴリズム
ゼロ除算の動作
固定小数点入力の u
について、Real Reciprocal HDL Optimized ブロックはゼロ除算のオーバーフロー時にラップします。固定小数点のゼロ除算の動作を次の表にまとめます。
オーバーフローをラップ | オーバーフローを飽和 |
---|---|
0/0 = 0 | 0/0 = 0 |
1/0 = 0 | 1/0 = 上限 |
-1/0 = 0 | -1/0 = 下限 |
浮動小数点入力については、Real Reciprocal HDL Optimized ブロックは IEEE® Standard 754 に従います。
Real Reciprocal HDL Optimized ブロックとのインターフェイス
Real Reciprocal HDL Optimized ブロックは、完全にパイプライン化されるという性質から、連続するクロック サイクルを含む任意のサイクルで入力データを受け入れることができます。入力データをブロックに送信するには、validIn
信号が true でなければなりません。ブロックが計算を終え、出力を送信する準備ができると、1 クロック サイクルの間、validOut
を true に変更します。連続するサイクルの入力のセットの場合、連続するサイクルでも validOut
が true に設定されます。
レイテンシは入力から対応する出力までとして定義されます。たとえば、次の図では、In1
から Out1
まで、In2
から Out2
まで、In3
から Out3
までなどです。
レイテンシは入力のデータ型によって異なります。これを次の表にまとめます。
入力の型 | レイテンシ |
---|---|
| nextpow2(u.WordLength) + 1 + u.WordLength + 2 - issigned(u) + 7 |
スケーリングされた double | u.WordLength + 2 - issigned(u) + 7 |
浮動小数点 | 7 |
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
勾配とバイアス表現は固定小数点データ型ではサポートされていません。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための Verilog および VHDL のコードを生成します。
固定小数点データ型のみをサポートします。
バージョン履歴
R2021a で導入
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)