Kerasを使用したMNIST CNNで手書き文字認識3(ビットストリームの生成、SDK)”の続き。

前回は、 PYNQ_MNIST_CNN3_182 フォルダVivado 2018.2 プロジェクトの論理合成、インプリメンテーション、ビットストリームの生成を行い、SDK でアプリケーションソフトの mnist_conv_soft_test.c を今回のプロジェクトに合うように変更した。今回は、SDK でPYNQボードをコンフィギュレーションし、アプリケーションソフトの mnist_conv_soft_test.elf を起動してPYNQボードで動作を確認する。

まずは、SDK で Xilinx メニューから Program FPGA を選択して、FPGA をコンフィギュレーションした。
次に、mnist_conv_soft_test.elf を右クリックし、右クリックメニューからRun As -> 1 Launch on Hardware (System Debugger) を選択して、アプリケーションソフトをRun したが、全く反応がない。
そこで、Debug モードでどこまで行くのか試してみることにした。
すると、ビットマップ・ディスプレイ・コントローラにフレーム・バッファのアドレスを書くところで止まってしまうことが分かった。
94dd66cb.png

1215aa0c.png


これは、いつもの、AXI Interconnect のアップデート問題ではないだろうか?今回も、Vivado 2017.2 からVivado 2018.2 へアップグレードしている。(”Vivado 2016.2 からVivado 2016.4 へアップグレード”参照)
AXI4 Lite 用のAXI Interconnect つまり、IP のレジスタにアクセスする用のAXI Interconnect を削除して、Add IP することにした。

下のブロックデザインで、選択されたAXI Interconnect を削除する。
405b767f.png


削除したところ。
a9bdd838.png


これで、Run Connection Automation を行うと、AXI SmartConnect がAdd IP された。
de4c1c3c.png


Address Editor を示す。
0d3ad456.png


SDK で Xilinx メニューから Program FPGA を選択して、FPGA をコンフィギュレーションして、mnist_conv_soft_test.elf を右クリックし、右クリックメニューからRun As -> 1 Launch on Hardware (System Debugger) を選択して、アプリケーションソフトをRun するとHMDI out にカメラ画像が出力された。
eda9ed29.jpg