FC2カウンター FPGAの部屋 AXI4 Write Transaction のステートマシン
FC2ブログ

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

FPGAの部屋

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

AXI4 Write Transaction のステートマシン

今まで、AXI4 Write Transaction のステートマシンは、Address ChannelとResponse Channelを一緒にしたステートマシンと Data Channel 用のステートマシンに分けていた。(”ZedBoard用CMOSカメラ回路の作製2(HDLソースの公開1)”参照)

しかし、なひたふさんの”ZYNQのPLからPSへ大規模DMA”の記事のタイミングチャートを見ると、Write Response Channel は別ステートマシンにしているか、無視していることがひと目で分かった。Write Response Channel をステートマシンにしておく必要も無く、BREADY をいつも 1 にしておいて、BVALID が来た時にエラーだったらエラー表示をすれば良いと思った。

この方式は特に、XilinxのAXI Interconnect をデフォルトで使用して、DDRメモリに書き込んでいる時に有効だと思う。と言うのは、かなり Write Response が帰ってくるまでが長いからだ。下に、ラプラシアン・フィルタ AXI4 Master IPでのAXI4 Write Transaction を示す。WLASTがアサートされてから、BVALIDがアサートされるまでに結構時間がかかっているのがわかる。その場合に、Write Response Channel を無視すれば、(つまり、BREADY をいつも 1 にしておくということ)次の、Write Address Channelのアサートが速くなって、全体のスループットの向上が図れる。
axi4m_lap_filter_40_131202.png

但し、AXI4 Master Interfaceモジュールを使用すれば、すべてのWrite のChannel を重ねあわせることができるように設計しているので、最小のレイテンシでAXI4 Master IPが作れるはずである。上のChipScope 波形は、AXI4 Master Interfaceモジュールを使用しているタイミングチャートである。Write Transaction のそれぞれのチャネルが重なり合っているのがわかるだろうか?
AXI4 Master Interfaceモジュールの作製1(仕様の検討)
AXI4 Master Interfaceモジュールの作製2(シミュレーション)
AXI4 Master Interfaceモジュールの作製3(シミュレーション2)
AXI4 Master Interfaceモジュールの作製4(axi4_master_inf.v のHDLソース)
AXI4 Master Interfaceモジュールの作製5(Write用FIFOのXCO)
AXI4 Master Interfaceモジュールの作製6(Read用FIFOのXCO)


なひたふさん、ありがとうございました。タイミングチャートを見せて頂いたので、勉強になりました。
  1. 2013年12月05日 20:44 |
  2. AXI4 Master IPの作製
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/2664-a63206af
この記事にトラックバックする(FC2ブログユーザー)