FC2カウンター FPGAの部屋 ZYBOt の白線間走行用CNNを含んだVivado 2018.2 プロジェクト2
FC2ブログ

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

FPGAの部屋

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

ZYBOt の白線間走行用CNNを含んだVivado 2018.2 プロジェクト2

ZYBOt の白線間走行用CNNを含んだVivado 2018.2 プロジェクト1”の続き。

前回は、白線間走行用CNNを course_conv_nn2_axi3 に変更してVivado プロジェクトを論理合成、インプリメンテーションしたが、タイミングエラーになってしまった。今回は、Vivado HLS に戻ってIP を再合成して、タイミングエラーを解消しよう。

Vivado HLS 2018.2 の course_conv_nn2_axi3_k に戻って、Solution Settings -> Synthesis の Uncertainty を 8 ns まで、 1 ns 刻みに変更していったが、Export RTL の CP achieved post-implementation は 9.847 ns で変わらなかった。つまり回路が変わらなかったようだ。下にUncertainty が 6 ns のときの結果を示す。
ZYBOt_Keras_57_181006
ZYBOt_Keras_58_181006

Vivado HLS 2017.4 でも同様にSolution Settings -> Synthesis の Uncertainty を 2 ns から 8 ns まで、 1 ns 刻みに変更していったが、Export RTL の CP achieved post-implementation は 8.221 ns で変化がなかった。Uncertainty がデフォルト値の下に示す IP をVivado で論理合成、インプリメンテーションしてみたが、やはりタイミングエラーだった。
ZYBOt_Keras_60_181006
ZYBOt_Keras_61_181006

ZYBOt_Keras_62_181006

どうやら、このC ソースコードでは、Uncertainty を変更しても回路に変更が無いようだ。こんな時に状況を打開できるのは指示子だと思う。積極的に指示子を入れていって回路を変更してみよう。とりあえずは影響の少なそうなところにPIPELINE 指示子を入れた。
ZYBOt_Keras_63_181008

Uncertainty が 7 ns のときを示す。
ZYBOt_Keras_64_181008
ZYBOt_Keras_65_181008

Latency は約 3.09 ms だが、問題ない。

ZYBOt_Keras_66_181008

Export RTL の CP achieved post-implementation は 7.670 ns なので、良さそう。
この IP をVivado プロジェクトの IP と入れ替えた。
論理合成、インプリメンテーション、ビットストリームの生成を行った。
ZYBOt_Keras_67_181008

Project Summary を示す。
ZYBOt_Keras_68_181008

Timing も問題ない。
  1. 2018年10月08日 06:22 |
  2. Zybot
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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