多くのネットワーク スイッチ アプリケーションでは、音声とデータを多重化する必要があり、このような用途に多ビットのバス マルチプレクサーを使用します。デジタル信号処理では、複数の異なるデータ ストリームをマルチプレクサーに入力し、これらをよりレートの高い 1 つのデータ ストリームにまとめて出力します。DSP58 を使用すると、ネットワーク アプリケーションおよびビデオ アプリケーションにおいて最大 58 ビットのワイド マルチプレクサーを実装できます。
DSP58 の C 入力と A:B 入力の選択は、OPMODE ビットで設定します。1 つの DSP58 で 2 つの 58 ビット値を多重化できます。次の図に、58 ビット幅の 8:1 マルチプレクサーの実装を示します。パイプライン レジスタを追加すると、マルチプレクサーの性能が向上します。
図 1. DSP58 を使用した 58 ビット幅の 8:1 マルチプレクサー
ALUMODE は 0000
に設定します。OPMODE は、4 つの DSP58 でそれぞれ異なる値に設定できます。次の表に、58 ビット マルチプレクサーを実装する場合の OPMODE の設定例を示します。各 DSP に対する OPMODE の設定を駆動するには、PL ロジックを使用します。このマルチプレクサー デザインでは、速度を最適化するためにパイプライン レジスタが追加されています。デザインのレイテンシは (DSP の数 + 1) と等しくなります。この例では 5 クロック サイクルです。
OPMODE | 選択される入力 | |||
---|---|---|---|---|
DSP58_3 | DSP58_2 | DSP58_1 | DSP58_0 | |
000010000
|
000010000
|
000010000
|
000000011
|
in 0 |
000010000
|
000010000
|
000010000
|
000001100
|
in 1 |
000010000
|
000010000
|
000000011
|
000000000
|
in 2 |
000010000
|
000010000
|
000001100
|
000000000
|
in 3 |
000010000
|
000000011
|
000000000
|
000000000
|
in 4 |
000010000
|
000001100
|
000000000
|
000000000
|
in 5 |
000000011
|
000000000
|
000000000
|
000000000
|
in 6 |
000001100
|
000000000
|
000000000
|
000000000
|
in 7 |
このユース ケースに関連するリファレンス デザイン ファイルは、デザイン アーカイブ ファイル am004-versal-dsp-engine.zip の multiplexer ディレクトリにあります。