DSP48Eの例: 複素乗算器を作成する
- 更新日2025-03-06
- 4分で読める
複素乗算器を実装するために、4つのDSP48Eスライスを使用することができます。この乗算器への入力は4つの固定小数点数 (x1、x2、y1、およびy2) で、その各ペアは複素数を表します。
- x1 + j * y1
- x2 + j * y2
複素乗算器はこれらの入力を取得し、2つの固定小数点数を生成します。
- x1 * x2 – y1 * y2
- x1 * y2 + x2 * y1
次に、(x1 * x2 – y1* y2) + j(x1 * y2 + x2 * y1) を計算します。
複素乗算器を作成するには、以下の手順に従ってください。
- サポートされているFPGAターゲットで新規のブランクVIを作成します。
- DSP48E関数をブロックダイアグラムに追加します。
- この関数をダブルクリックし、以下の方法で構成します。
- 関数ページ:

- 端子ページ:

- OKボタンをクリックして変更を保存し、ブロックダイアグラムに戻ります。
- 関数ページ:
- <Ctrl>キーを押しながらこの関数を下にドラッグします。この動作により、DSP48E関数のコピーである関数1が作成されます。このコピーの構成は元の関数の構成と同じです。これでブロックダイアグラムは以下の図のようになります。

- 別のDSP48E関数を関数0の右側に追加します。この新しい関数は関数2です。
- この関数をダブルクリックし、以下の方法で構成します。
- 関数ページ:

- 端子ページ:

- レジスタページ:
各データパスに対してレジスタを追加することにより、バランスの取れたレイテンシを実装します。
- OKボタンをクリックして変更を保存し、ブロックダイアグラムに戻ります。
- 関数ページ:
- <Ctrl>キーを押しながらこの関数を関数1の右側 (関数2の下) にドラッグしてコピーを作成します。
- この新しいコピーをダブルクリックし、以下の方法で関数ページを構成します。

- OKボタンをクリックして変更を保存し、ブロックダイアグラムに戻ると、以下の図のようになります。

- 以下の図に示すように、制御器と表示器を作成し、配線します。
メモ x1、x2、y1、およびy2のデータのソースによって、DSP48E入力端子の整数ワード長を構成する必要があります。 - VIをDSP48E Complex Multiplier.viという名前で任意のディレクトリに保存します。
これで、このVIをシミュレーションのためにエクスポートできるようになりました。FPGAターゲットでこのVIを実行するには、シングルサイクルタイミングループでコードを囲む必要があります。
| ヒント ブロックダイアグラム上でスペースを節約するために、関数のアイコンを縮小することができます。 |