FC2カウンター FPGAの部屋 カメラ・インターフェース用AXI4-Stream IPの作製3(シミュレーション)
fc2ブログ

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

FPGAの部屋

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

カメラ・インターフェース用AXI4-Stream IPの作製3(シミュレーション)

前回、pixel_fifo を生成した。今回は、HDLファイルを書いて、シミュレーションを行った。書いたHDLファイルは、カメラのコントロールをする mt9d111_cam_conts.v と、その上の階層で、AXI4-Stream IPの mt9d111_inf_axi_stream.vhd、AXI4-Stream Slave のBFM(と言ってもTREADYに応答するだけ)axi4s_slave_BFM.vhd、元々作ってあったMT9D111カメラモジュールのモデルの mt9d111_model.v、それにテストベンチの mt9d111_inf_axi_stream_tb.v だ。
これをProject Navigator のプロジェクトに入れて、ISimでシミュレーションを行った。下に、Project Navigator の画面を示す。
Cam_AXI4_Stream_IP_8_130601.png

シミュレーション波形を示す前に、カメラ・インターフェースAXI4-Stream IPの仕様を下に列挙する。

・MT9D111のvsync の立ち上がりで、s2mm_sync を1にアサートしている。
・MT9D111からのcam_data はRGB565フォーマットなので、8バイト2つ、2クロック分で1つのRGB565データとなる。
・RGB565は、RGB各8ビット長の24ビットに拡張して、pixel_fifo(同期FIFO)に入力する。
・pixel_fifo には、もう1ビットビットを用意してある。それは、AXI4-Stream のTLASTをアサートするために、ラインの最後のデータの1つ前のデータの時に 1 をセットし、その他の場合は 0 をセットする。
・AXI4-Stream プロトコル回路は、pixel_fifo にデータが保存されている場合は、TVALIDをアサートしてストリーム転送を行う。


ISimでシミュレーションした結果を下に示す。(TREADYが1に固定の場合)
Cam_AXI4_Stream_IP_9_130601.png

TLASTがアサートされている付近を下に示す。TLASTはラインの最後のデータであることを示す。
Cam_AXI4_Stream_IP_10_130601.png

TREADYをM系列を使って、アサートするかどうかを決定した場合のシミュレーション波形を下に示す。TREADYが 0 の場合は転送されないので、TVALIDがアサートされる範囲が広いのがわかる。
Cam_AXI4_Stream_IP_11_130601.png

  1. 2013年06月01日 10:01 |
  2. AXI4-Stream IPの作製
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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