ザイリンクス Divider Generator ブロックは、Radix-2 引き放し (non-restoring) 除算、またはプリスケーリングを使用する高基数 (High-Radix) 除算に基づいて、整数除算用回路を作成します。
ブロック パラメーター
Simulink® モデルでブロックのアイコンをダブルクリックすると、[Block Parameters] ダイアログ ボックスが開きます。
- Basic タブ
-
- Common Options
-
- Algorithm Type
-
- Radix-2: 整数オペランドを使用した非回復型整数除算で、剰余を生成できます。このオプションは、オペランド幅が 16 ビット未満の場合に推奨されます。このオプションでは、符号なし および符号付き (2' 補数) 両方の除数入力と被除数入力がサポートされます。
- High_Radix: プリスケーリングによる除算。このオプションは、オペランド幅が 16 ビットより大きい場合に推奨されます。この場合、インプリメンテーションには DSP48 (またはそのバリアント) プリミティブを使用することが必要となります。このオプションでは、符号付き 2' の補数) の除数入力と被除数入力のみがサポートされます。
- LutMult: 被除数の逆数と乗数の単純なルックアップ推定。逆数推定にバイアスが必要なため、剰余出力タイプのみがサポートされます。このバイアスは、小数部出力を作成するために使用した場合、オフセット (エラー) を発生させます。このオプションは、オペランド幅が 12 ビット以下の場合に推奨されます。このインプリメンテーションには、DSP スライス、ブロック RAM、および少数の FPGA ロジック プリミティブ (レジスタおよび LUT) が使用されます。[Radix2] または [LUTMult] オプションのどちらも可能なオペランド幅の場合は、[LUTMult] の方が DSP とブロック RAM プリミティブを使用するので、使用される FPGA ロジック リソースが少なくなります。符号なしまたは 2 の補数の符号付き値がサポートされます。
- Output channel
-
- Remainder type
-
- Remainder
- [Radix 2] の場合のみサポートされます。
- Fractional
- 小数部ポート出力のビット数を指定できるようにします。
- Fractional width
- [Remainder] に [Fractional] を選択している場合に、小数部ポート出力のビット数を指定します。
- Radix2 Options
-
- Radix2 throughput
- 入力 (および出力) される新しいデータ間のクロック数間隔を指定します。指定可能な値は、1、2、4、および 8 です。
- High Radix Options
-
- Detect divide by zero
- コアにゼロ除算を示す出力ポートを使用するかどうかを指定します。
- AXI Interface
-
- AXI behavior
-
- NonBlocking
- 制御パケットおよびデータ パケットがブロックに同時に供給されたときにのみ処理を実行します。
- Blocking
- データ パケットが供給されたときに処理を実行します。ブロックで前の制御情報が使用されます。
- AXI Implementation emphasis
-
- Resources
- Automatic (完全パイプライン処理) または Manual (次のフィールドにより決定) を選択します。
- Performance
- 最高速度をターゲットとしてインプリメンテーションを実行します。
- Latency Options
-
- Latency configuration
- Automatic (完全パイプライン処理) または Manual (次のフィールドにより決定) を選択します。
- Latency
- 入力から出力へのレイテンシをクロック イネーブルのクロック サイクル数で指定します。
- Optional ports タブ
-
- Optional Ports
-
- Divided Channel Ports
-
- Has TUSER
- 被除数チャネルに TUSER 入力ポートを追加します。
- Has TLAST
- 被除数チャネルに TLAST 出力ポートを追加します。
- Divisor Channel Ports
-
- Has TUSER
- 除数チャネルに TUSER 入力ポートを追加します。
- Has TLAST
- 除数チャネルに TLAST 出力ポートを追加します。
- ACLKEN
- ブロックにクロック イネーブル ポートがあるかどうかを指定します (CORE Generator GUI で [Has ACLKEN] オプションをオンにするのと同等)。
- ARESETn
- ブロックがリセット ポートを持つよう指定します。アクティブ Low の同期クリアです。2 サイクル以上の ARESETn パルスが必要です。
- m_axis_dout_tready
- ブロックが dout_tready ポートを持つよう指定します。
- Input TLAST combination for output
- dout_tlast 入力ポートの動作を指定します。
- Null
- 出力はヌルになります。
- Pass_Dividend_TLAST
- dividend_tlast 入力ポートの値を dout_tlast 出力ポートに渡します。
- Pass Divisor_TLAST
- divisor_tlast 入力ポートの値を dout_tlast 出力ポートに渡します。
- OR_all_TLASTS
- 表示されているすべての TLAST 入力ポートの論理 OR を渡します。
- AND_all_TLASTS
- すべての TLAST 入力ポートの論理 AND を渡します。
このブロックで使用されるその他のパラメーターについては、[Block Parameters] ダイアログ ボックスの共通オプション を参照してください。
LogiCORE 資料
『Divider Generator LogiCORE IP 製品ガイド』 (PG151)