FC2カウンター FPGAの部屋 2019年07月03日
FC2ブログ

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

FPGAの部屋

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

hls4mlをやってみた4(KERAS_conv1d_small_nfilt5その1)

hls4mlをやってみた3(シミュレーション)”の続き。

前回は、ivado HLS プロジェクトの myproject_prj の C シミュレーションとC/RTL 協調シミュレーションの結果を見た。今回は、異なるネットワークを自分で yml ファイルを作成してやってみよう。

hls4ml/keras-to-hls/example-keras-model-files/ ディレクトリのKERAS_conv1d_small_nfilt5.json , KERAS_conv1d_small_nfilt5_weights.h5 の組のネットワークをVivado HLS で実装してみることにする。
hls4ml_17_190703.png

hls4ml/keras-to-hls/ ディレクトリに KERAS_conv1d_small_nfilt5.yml を作成した。
hls4ml_18_190703.png

KERAS_conv1d_small_nfilt5.yml の内容を示す。
hls4ml_19_190703.png

KerasJson: example-keras-model-files/KERAS_conv1d_small_nfilt5.json
KerasH5: example-keras-model-files/KERAS_conv1d_small_nfilt5_weights.h5
OutputDir: KERAS_conv1d_small_nfilt5
ProjectName: KERAS_conv1d_small_nfilt5
XilinxPart: xcku5p-sfvb784-1-e
ClockPeriod: 5

IOType: io_parallel # options: io_serial/io_parallel
HLSConfig:
Model:
Precision: ap_fixed<16,6>
ReuseFactor: 1


hls4ml でKERAS_conv1d_small_nfilt5 のネットワークを Vivaod HLS のプロジェクトへ変換した。
python keras-to-hls.py -c KERAS_conv1d_small_nfilt5.yml
hls4ml_20_190703.png

KERAS_conv1d_small_nfilt5 ディレクトリに行って、build_prj.tcl を実行する。
cd KERAS_conv1d_small_nfilt5
vivado_hls -f build_prj.tcl

hls4ml_21_190703.png

tcl スクリプトの実行が終了した。
hls4ml_22_190703.png

Vivado HLS 2019.1 を立ち上げて、C コードの合成の結果を確認した。
hls4ml_23_190703.png
hls4ml_24_190703.png

Latency は 15 クロックで、Interval は 1 クロックだった。
リソースも今度はFPGA に収まっている。
  1. 2019年07月03日 05:10 |
  2. DNN
  3. | トラックバック:0
  4. | コメント:0