17. Avalon Streaming チャネル・マルチ プレクサおよびデ

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 月