17. Avalon Streaming チャネル・マルチ プレクサおよびデマルチプレクサ・コア この資料は英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。こちらの日本語版は参考用としてご利用 ください。設計の際には、最新の英語版で内容をご確認ください。 QII55004-8.0.0 コアの概要 Avalon® Streaming(Avalon-ST)チャネル・マルチプレクサは、多数の 入力インタフェースからデータを受信し、どの入力から出力データが送 られたかを示すオプションの channel 信号を使用して、データを 1 つ の出力インタフェースにマルチプレクス化します。Avalon-ST チャネル・ デマルチプレクサは、チャネル入力インタフェースからデータを受信し、 そのデータを複数の出力インタフェースにドライブします。この場合、 出力インタフェースは入力 channel 信号で選択されます。 マルチプレクサとデマルチプレクサは、単方向のデータ・フローをサポー トするコア上のインタフェース間でデータを転送できます。マルチプレ クサとデマルチプレクサを使用すれば、これらの機能を実行するカスタ ム HDL コードを記述することなく、マルチプレクス化またはデマルチ プレクサ・データパスを作成できます。マルチプレクサには、ラウンド・ ロビン・スケジューラが含まれています。どちらのコアも SOPC Builder に対応しており、SOPC Builder で生成されたどのシステムにも容易に統 合できます。この章は、以下の項で構成されています。 ■ ■ ■ ■ ■ ■ 17–3 ページの「マルチプレクサ」 17–6 ページの「デマルチプレクサ」 17–8 ページの「デバイスおよびツールのサポート」 17–9 ページの「インストールおよびライセンス」 17–9 ページの「ハードウェア・シミュレーションの考慮事項」 17–9 ページの「ソフトウェア・プログラミング・モデル」 リソース使用率およびパフォーマンス コアのリソース使用率は、入力インタフェースと出力インタフェースの 数、データパスの幅、およびストリーミング・データがオプションのパ ケット・プロトコルを使用するかどうかで決まります。マルチプレクサ Altera Corporation 2008 年 5 月 17–1 暫定サポート Quartus II ハンドブック Volume 5 の場合、スレジューラのパラメータ設定によってもリソース使用率が影 響を受けます。表 17–1 に、マルチプレクサの 11 通りのコンフィギュレー ションで予測されるリソース使用率を示します。 表 17–1. マルチプレクサのリソース使用率およびパフォーマンスの見積もり スケジュー リング・ 入力数 データ幅 サイズ (サイクル) Stratix® II および Stratix II GX (近似 LE) fMAX (MHz) ALM 数 Stratix Cyclone® II fMAX fMAX ロジック・ ロジック・ (MHz) (MHz) セル セル 2 Y 1 500 31 420 63 422 80 2 Y 2 500 36 417 60 422 58 2 Y 32 451 43 364 68 360 49 8 Y 2 401 150 257 233 228 298 8 Y 32 356 151 219 207 211 123 16 Y 2 262 333 174 533 170 284 16 Y 32 310 337 161 471 157 277 2 N 1 500 23 400 48 422 52 2 N 9 500 30 420 52 422 56 11 N 9 292 275 197 397 182 287 16 N 9 262 295 182 441 179 224 表 17–2 に、デマルチプレクサの 6 通りのコンフィギュレーションで予測 されるリソース使用率を示します。コアの動作周波数は、デバイス、イ ンタフェース数、およびデータパスのサイズによって異なります。 17–2 暫定サポート Altera Corporation 2008 年 5 月 マルチプレクサ 表 17–2. デマルチプレクサのリソース使用率の見積もり Stratix II Stratix II GX Cyclone II データ幅 (近似 LE) (近似 LE) (ビート 入力数 あたりの fMAX fMAX ロジック・ fMAX ロジック・ ALM シンボル数)(MHz) 数 (MHz) セル (MHz) セル マルチプレクサ 2 1 500 53 400 61 399 44 15 1 349 171 235 296 227 273 16 1 363 171 233 294 231 290 2 2 500 85 392 97 381 71 15 2 352 247 213 450 210 417 16 2 328 280 218 451 222 443 この項では、マルチプレクサ・コンポーネントのハードウェア構造と機 能について説明します。 機能の説明 Avalon-ST マルチプレクサは、多数の入力データ・インタフェースから データを取り込み、そのデータを 1 つの出力インタフェースにマルチプ レクス化します。マルチプレクサには、シンプルなラウンド・ロビン・ スケジューラが組み込まれており、データが存在する次の入力インタ フェースを選択します。各入力インタフェースは出力インタフェースと 同じ幅なので、マルチプレクサが異なる入力インタフェースからのデー タを転送しているときには、他のすべての入力インタフェースにバック プレッシャがかかります。 マルチプレクサにはオプションの channel 信号があり、それによって各入 力インタフェースはチャネル・データを転送できます。入力インタフェース に channel 信号が存在する場合、入力チャネルのビットと、各データ・サ イクルがどの入力インタフェースのものかを示すビットがすべて出力チャ ネル信号に含まれるように、マルチプレクサは log2 (num_input_interfaces) ビットを追加して出力チャネル信号を生成します。これらのビットは、SOPC Builder MegaWizard® Plug-In Manager で指定されるとおり、出力 channel 信号の最上位ビットまたは最下位ビットに付加されます。 Altera Corporation 2008 年 5 月 17–3 暫定サポート Quartus II ハンドブック Volume 5 図 17–1. マルチプレクサ data_in_n sink ... sink ... data_in0 src data_out sink sink Round Robin, Burst Aware Scheduler channel (optional) 内部スケジューラは一度に 1 つの入力インタフェースを検討し、それを 転送用に選択します。入力インタフェースが選択されると、以下のシナ リオの 1 つが発生するまで、その入力インタフェースからのデータが送 信されます。 ■ ■ ■ 指定されたサイクル数を経過した 入力インタフェースに送信するデータがそれ以上なく、レディ・サ イクルで valid がデアサートされる パケットがサポートされていて、endofpacket がアサートされる 入力インタフェース 各 入 力 イ ン タ フ ェ ー ス は、オ プ シ ョ ン で パ ケ ッ ト を サ ポ ー ト す る Avalon-ST データ・インタフェースです。入力インタフェースは同一で あり、それぞれのシンボル幅とデータ幅、エラー幅、チャネル幅は同じ です。 出力インタフェース 出力インタフェースは、すべての入力からのデータを含むマルチプレク スされたデータ・ストリームを転送します。シンボル幅、データ幅、エ ラー幅は入力インタフェースと同じです。channel 信号の幅は入力イン タフェースと同じで、さらに各データがどの入力から送られてきたかを 示すのに必要なビットが追加されます。 17–4 暫定サポート Altera Corporation 2008 年 5 月 マルチプレクサ SOPC Builder でのマルチプレクサのインスタンス化 SOPC Builder のマルチプレクサ・コアに対して MegaWizard Plug-In Manager を使用して、コアのコンフィギュレーションを指定します。以 下の項では、MegaWizard Plug-In Manager で選択可能なオプションを 示します。 Functional Parameters— 以下の項では、マルチプレクサ全体のオプショ ンについて説明します。 ■ ■ ■ Number of Input Ports— マルチプレクサがサポートする入力イン タフェース数。有効な値は 2 ∼ 16 です。 Scheduling Size (Cycles)— 次のチャネルに変更する前に、1 つの チャネルから送信されるサイクル数。 Use high bits to indicate source port— 選択すると、出力チャネル信 号の上位ビットを使用して、データの送信元の入力インタフェース が示されます。例えば、入力インタフェースに 4 ビットのチャネル 信号があり、マルチプレクサが 4 つの入力インタフェースを持って いる場合、出力インタフェースは 6 ビットのチャネル信号を持ちま す。このパラメータが真のとき、出力チャネル信号のビット [5:4] は、データが送られてきた入力インタフェースを示します。ビット [3:0] は入力インタフェースに存在していたチャネル・ビットです。 Output Interface— 以下の項では、出力インタフェースのオプションに ついて概説します。 ■ ■ ■ ■ ■ Altera Corporation 2008 年 5 月 Data Bits Per Symbol— 入力インタフェースと出力インタフェース のシンボルあたりのビット数。有効な値は 1 ∼ 32 ビットです。 Data Symbols Per Beat— ビート(転送)あたりの転送シンボル(ワー ド)数。有効な値は 1 ∼ 32 です。 Include Packet Support— パケット転送がサポートされるかどうか を示します。パケットのサポートには、startofpacket 信号、 endofpacket 信号、および empty 信号が含まれます。 Channel Signal Width (bits)—入力インタフェースのchannel信号 に使用されるビット数。値 0 は入力インタフェースがチャネルを持 たないことを示します。値 4 は最大 16 チャネルが同じ入力インタ フェースを共有することを示します。入力チャネルの幅は 0 ∼ 31 ビットです。値 0 はオプションの channel 信号が使用されないこ とを意味します。 Error Signal Width (bits)— 入力インタフェースと出力インタフェー スの error 信号の幅。値 0 は error 信号が使用されないことを意 味します。 17–5 暫定サポート Quartus II ハンドブック Volume 5 デマルチプレクサ この項では、デマルチプレクサ・コンポーネントのハードウェア構造と 機能について説明します。 機能の説明 Avalon-ST デマルチプレクサは、チャネル入力データ・インタフェースか らデータを取り込み、そのデータを複数の出力インタフェースに提供しま す。この場合、特定の転送に対して選択される出力インタフェースは、入 力 channel 信号で指定されます。データは、channel、packet、frame、 またはその他の信号の値に関係なく、入力インタフェースで受信された順 に出力インタフェースに配信されます。各出力インタフェースは入力イン タフェースと同じ幅なので、デマルチプレクサが異なる出力インタフェー スにデータをドライブしている間、各出力インタフェースはアイドルにな ります。 デマルチプレクサは、 channel 信号のlog2 (num_output_interfaces) ビットを使用して、データの転送先となる出力を選択します。残りのチャ ネル・ビットは変更されずに適切な出力インタフェースに転送されます。 図 17–2. デマルチプレクサ sink src data_out0 ... data_in sink ... src sink data_out_n channel 入力インタフェース 各 入 力 イ ン タ フ ェ ー ス は、オ プ シ ョ ン で パ ケ ッ ト を サ ポ ー ト す る Avalon-ST データ・インタフェースです。 出力インタフェース 各出力インタフェースは、入力インタフェースのチャネルのサブセット からのデータを転送します。各出力インタフェースは同一であり、シン ボル幅、データ幅、エラー幅、チャネル幅はすべて同じです。シンボル 幅、データ幅、エラー幅は入力インタフェースと同じです。channel 信 号の幅は、出力インタフェースの選択に使用されたビットを除き、入力 インタフェースと同じです。 17–6 暫定サポート Altera Corporation 2008 年 5 月 デマルチプレクサ SOPC Builder でのデマルチプレクサのインスタンス化 SOPC Builder のデマルチプレクサ・コアに対して MegaWizard Plug-In Manager を使用して、コアのコンフィギュレーションを指定します。以 下の項では、MegaWizard Plug-In Manager で選択可能なオプションを 示します。 Functional Parameters— 以下の項では、デマルチプレクサ全体のオプ ションについて説明します。 ■ ■ Number of Output Ports—マルチプレクサがサポートする出力イン タフェース数。有効な値は 2 ∼ 16 です。 High channel bits select output— 選択すると、入力チャネル信号の 上位ビットがデマルチプレキシング機能に使用され、下位ビットは 出力に渡されます。選択しないときは、下位ビットが使用され、上 位ビットは通過します。 次の例は、これらの信号の場所の意味を示しています。図 17–3 で は、1 つの入力インタフェースと 2 つの出力インタフェースがあり ます。チャネル信号の下位ビットによって出力インタフェースが選 択される場合、偶数チャネルはチャネル 0、奇数チャネルはチャネ ル 1 に送られます。チャネル信号の上位ビットで出力インタフェー スが選択される場合、チャネル 0 ∼ 7 はチャネル 0、チャネル 8 ∼ 15 はチャネル 1 に送られます。 図 17–3. デマルチプレクサのビットの選択 data_out0 src channel<3..0> data_in channel<4..0> sink sink data_out_n src channel<3..0> Input Interface— 以下の項では、入力インタフェースのオプションにつ いて概説します。 Altera Corporation 2008 年 5 月 17–7 暫定サポート Quartus II ハンドブック Volume 5 ■ ■ ■ ■ ■ デバイスおよび ツールの サポート Data Bits Per Symbol— 入力インタフェースと出力インタフェース のシンボルあたりのビット数。有効な値は 1 ∼ 32 ビットです。 Data Symbols Per Beat— ビート(転送)あたりの転送シンボル(ワー ド)数。有効な値は 1 ∼ 32 です。 Include Packet Support— パケット転送がサポートされるかどうか を 示 し ま す。パ ケ ットのサポートには、startofpacket 信号、 endofpacket 信号、および empty 信号が含まれます。 Channel Signal Width (bits)— 出力インタフェースの channel 信号 に使用されるビット数。値 0 は出力インタフェースがオプションの channel 信号を使用しないことを意味します。 Error Signal Width (bits)— 入力インタフェースと出力インタ フェースの error 信号の幅。値 0 は error 信号が使用されないこ とを意味します。 マルチプレクサおよびデマルチプレクサ・コンポーネントをサポートす るアルテラ・デバイスを表 17–3 に示します。各デバイス・ファミリで は、コンポーネントがフル・サポートまたは暫定サポートを提供します。 ■ ■ フル・サポートとは、コンポーネントがデバイス・ファミリの機能 要件およびタイミング要求値をすべて満たしており、生産デザイン で使用可能であることを意味します。 暫定サポートとは、コンポーネントがデバイス・ファミリの機能要 件はすべて満たしているが、タイミング要件については評価中であ るため、生産デザインでの使用は注意が必要なことを意味します。 表 17–3. サポートされるデバイス・ファミリ Avalon-ST マルチプレクサ Avalon-ST デマルチプレクサ Arria™ GX 暫定サポート 暫定サポート Cyclone III 暫定サポート 暫定サポート Cyclone II フル・サポート フル・サポート Cyclone フル・サポート フル・サポート HardCopy® II フル・サポート フル・サポート デバイス・ファミリ Stratix III 17–8 暫定サポート 暫定サポート 暫定サポート Stratix II GX フル・サポート フル・サポート Stratix II フル・サポート フル・サポート Stratix GX フル・サポート フル・サポート Stratix フル・サポート フル・サポート Altera Corporation 2008 年 5 月 インストールおよびライセンス インストール および ライセンス マルチプレクサおよびデマルチプレクサ・コンポーネントは、Quartus® II ソフトウェア・インストールの一部であるアルテラ MegaCore® IP Library に含まれています。 MegaCore IP Library のインストール後、 SOPC Builder はこれらのコンポーネントを認識し、システム内にインスタンス化でき ます。 マルチプレクサおよびデマルチプレクサ・コンポーネントは、アルテラ・ デバイスをターゲットとするどのデザインにも、ライセンスなしで無償 で使用できます。 ハードウェア・ シミュレー ションの考慮 事項 マルチプレクサおよびデマルチプレクサ・コンポーネントは、コンポー ネントのスタンドアロン・インスタンスをシミュレーションするための シミュレーション・テストベンチは提供しません。ただし、標準の SOPC Builder シミュレーション・フローを使用して、SOPC Builder システム 内部のコンポーネント・デザイン・ファイルをシミュレーションするこ とはできます。 ソフトウェア・ プログラミン グ・モデル マルチプレクサおよびデマルチプレクサ・コンポーネントには、ユーザー が表示可能なコントロール・レジスタもステータス・レジスタもありま せん。したがって、実行時にマルチプレクサまたはデマルチプレクサの どの機能もソフトウェアから制御またはコンフィギュレーションするこ とはできません。これらのコンポーネントは割り込みを生成できません。 改訂履歴 表 17–4 に、本資料の改訂履歴を示します。 表 17–4. 改訂履歴 日付およびド キュメント・ バージョン 変更内容 概要 2008 年 5 月 v8.0.0 前バージョンからの内容の変更はありません。 — 2007 年 10 月 v7.2.0 前バージョンからの内容の変更はありません。 — 2007 年 5 月 v7.1.0 初版 — Altera Corporation 2008 年 5 月 17–9 暫定サポート Quartus II ハンドブック Volume 5 17–10 暫定サポート Altera Corporation 2008 年 5 月