FC2カウンター FPGAの部屋 AXI4-Stream Switchについて

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

AXI4-Stream Switchについて

今回は、”AXI4-Stream版ラプラシアンフィルタIPのカメラ表示システム5(制約ファイル、インプリメント)”で使ったAXI4-Stream Switchについて学んでいく。

AXI4-Stream Switchは、Vivado のIP Catalog に入っているXilinx社のIP である。そのマニュアルは、”AXI4-Stream Infrastructure IP Suite LogiCORE IP Product Guide Vivado Design Suite PG085 April 1, 2015”だった。

このProduct Guide には、AXI4-Stream Broadcaster, AXI4-Stream Clock Converter, AXI4-Stream Combiner, AXI4-Stream Combiner, AXI4-Stream Data FIFO, AXI4-Stream Data Width Converter, AXI4-Stream Register Slice, AXI4-Stream Subset Converter, AXI4-Stream Switch が載っている。
使いたいのは、AXI4-Stream Switch なのだが、これだけ多くのAXI4-Steram のインフラがあるとは驚いた。

AXI4-Stream を1対2 にする方は、AXI4-Stream Switch ではなく、AXI4-Stream Broadcaster でも良いのかな?と思ったが、ラプラシアンフィルタIPを使わない場合でもAXI4-Stream を受けている必要があるかも知れないので、止めておいた。ブロードキャストするためにデータを保証する必要があり、1つのストリームが受け取れなければ、他のストリームは止まってしまうのではないだろうか?

さて、、AXI4-Stream Switch は、AXI4-Lite Slave を生成しているので、アドレスマップされたレジスタに値を書くことによって制御されるという使い方になる。
AXI4-Stream Infrastructure IP Suite LogiCORE IP Product Guide Vivado Design Suite PG085 April 1, 2015”の26ページのTable 2-8: Register Map を引用する。
Xilinx_IP_1_150611.png

オフセット0 のコントロール・レジスタは、1ビットのみの実装で、ビット1にREG_UPDATEが実装されている。
2 をWrite すると、MI_MUX[0-16] レジスタが反映され、ソフトリセットがかかるそうだ。ソフトリセットには16クロックサイクルを必要とする。つまり、MI_MUX[0-16] レジスタを設定してからコントロール・レジスタのREG_UPDATEを1にしてMI_MUX[0-16] レジスタの内容を出力に反映させる必要がある。なお、REG_UPDATEはリセットとレジスタのコミットが終了した時に self-clearing されるので、 0 に書き戻す必要はない。

MI_MUX[0-16] レジスタは、そのアドレスにマップされるAXI4-Stream マスタポートがどのスレーブポートのAXI4-Stream データをスイッチするのかを決定する。
MI_MUX[0-16] レジスタは、32ビットなので、4つのバイト・アドレスを消費する。つまり、MI_MUX0 レジスタは、オフセット40 番地、MI_MUX1 レジスタはオフセット 44 番地となる。
MI_MUX0 レジスタに 0x0 を書くと、S00_AXIS からのAXI4-Stream データをM00_AXIS にスイッチする。スイッチをしないで、AXI4-Stream データを止める時は0x80000000 をWrite すれば良い。
それをAXI4-Stream のマスタポートの数だけ設定すれば良いわけだ。

AXI4-Stream Infrastructure IP Suite LogiCORE IP Product Guide Vivado Design Suite PG085 April 1, 2015”の27ページのTable 2-10: MI Mux Registers を引用する。
Xilinx_IP_2_150611.png

、”AXI4-Stream版ラプラシアンフィルタIPのカメラ表示システム5(制約ファイル、インプリメント)”の axis_switch_1 についての設定は、

カメラの画像を表示する時は
 0x40 を 0x0
 0x44 を 0x80000000
 0x0 を 0x2

ラプラシアンフィルタIP を通す場合は
 0x40 を 0x80000000
 0x44 を 0x0
 0x0 を 0x2

にすれば良さそうだ。
  1. 2015年06月11日 05:13 |
  2. IP
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3177-7d7d2222
この記事にトラックバックする(FC2ブログユーザー)