FC2カウンター FPGAの部屋 AXI4 Master IP にAXI4 Lite Slave を追加1(インプリメント)
FC2ブログ

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

FPGAの部屋

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

AXI4 Master IP にAXI4 Lite Slave を追加1(インプリメント)

カメラ・インターフェイスIP (CamInf IP) とビットマップ・ディスプレイ・コントローラIP (BDC IP) にAXI4 Lite Slave を追加した。
AXI4 Lite Slave をなぜ追加したかというと、ZedBoard で Digilent Linux を起動した時に、ペンギンが2個表示されるフレームバッファがメモリ上にとられる。フレームバッファはLinux の起動するときに動的に取られるようなので、起動するタイミングで開始番地が変動する。更にカーネルを書き換えたりすると開始番地がずれる。そのフレームバッファの開始番地を CamInf IP と BDC IP に知らせたいために、AXI4 Lite Slave を付けたレジスタを用意した。フレームバッファの開始アドレスを Linux 上のソフトウェアを使用して、CamInf IP と BDC IP のレジスタに書き込む。それから、CamInf IP と BDC IP を起動すれば、フレームバッファ上の安全なアドレスを使用して、カメラのビットマップデータを Linux に取得させることができる。

さて、ZedBoard_OOB_Desgin に、AXI4 Lite Slave によるレジスタを追加した CamInf IP と BDC IP を追加できたので、とりあえずWindows7 上でインプリメントを行った。
論理合成でエラーが発生したので、XPS上でNetlist を生成したところ、エラー箇所がわかった。
AXI4M_and_Lite_Slave_22_130406.png

エラー内容を下に示す。

ERROR:HDLCompiler:267 - "D:\HDL\FndtnISEWork\Zynq-7000\ZedBoard\ZedBoard_OOB_Design2\hw\xps_proj\hdl\system_mt9d111_inf_axi_master_0_wrapper.v" Line 185: Cannot find port s_axi_lite_awprot on this module
ERROR:HDLCompiler:267 - "D:\HDL\FndtnISEWork\Zynq-7000\ZedBoard\ZedBoard_OOB_Design2\hw\xps_proj\hdl\system_mt9d111_inf_axi_master_0_wrapper.v" Line 195: Cannot find port s_axi_lite_arprot on this module
ERROR:EDK:546 - Aborting XST flow execution!


つまり、s_axi_lite_awprot、s_axi_lite_arprot とMPDファイルのスペルが間違っていたのだが、ポートが無いと勘違いして、HDLファイルの AWPORT と ARPORT も消去してしまった。元々、参考にしたVDMA の AXI4 Lite Slave インターフェースには無いので大丈夫だろうと思った。(AWPORT と ARPORTを後から慌てて追加したが、MHSファイルと CamInf IP のMPDファイルの整合性が取れないと言われて、XPSプロジェクトが立ち上がらなくなったので諦めた。これを再度追加するには、IPを元に戻して削除してから、再度Add IPが必要だろうと思う)
再度、インプリメントを行った。(Windows7 とUbuntu 12.10 両方共インプリメントが出来ました)
AXI4M_and_Lite_Slave_23_130407.png

AXI4M_and_Lite_Slave_24_130407.png

次のブログ記事は、”AXI4 Master IP にAXI4 Lite Slave を追加2(SDK)
  1. 2013年04月07日 18:55 |
  2. 複数のAXI4 バスを持つIPの作製
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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