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

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

FPGAの部屋

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

Accelerating SqueezeNet on FPGAを実装してみた3(Vivado 編 2)

Accelerating SqueezeNet on FPGAを実装してみた2(Vivado 編 1)”の続き。

前回は、SqueezeNet の IP を使用するVivado 2018.2 のプロジェクトを作成しSqueezeNet の compute IP をIP Catalog に登録した。今回は、Vivado でブロックデザインを作成し、回路を作っていく。

まずは、ブロックデザインを作成する。
PROJECT MANAGER のIP INTEGRATOR のCreate Block Desgin をクリックする。
squeezenet_15_180709.png

Create Block Desgin ダイアログが開く。
Design name に pynq_sqznet_bd と入力した。OK ボタンをクリックする。
squeezenet_16_180709.png

Diagram ウインドウが立ち上がるので、中央の「+」ボタンをクリックして、IP をAdd IP する。
squeezenet_17_180709.png

選択ダイアログが開く。Search に「z」と入れると下にZYNQ7 Processing System が出てくるので、ダブルクリックしてDiagram に追加する。
squeezenet_18_180709.png

Diagram に Processing_system7_0 が追加された。
Processing_system7_0 をダブルクリックして設定を行う。
squeezenet_19_180709.png

ZYNQ7 Proessing System (5.5) が立ち上がる。
Presets をクリックして、Apply Configuration... を選択する。
squeezenet_20_180709.png

ダイアログが開く。前回ダウンロードした pynq_revC.tcl を選択して、OK ボタンをクリックする。
squeezenet_22_180709.png

すると、I/O Peripherals にチェックが入ったのがわかると思う。これで、PYNQ ボードの設定が行われた。
squeezenet_23_180709.png

左のPage Navigator からPS-PL Configuration をクリックし、AXI Non Secure Enablement -> GP Master AXI Interface -> M AXI GP0 interface にチェックを入れる。これは、compute IP のレジスタ設定用だ。
ACP Slave AXI Interface -> S AXI ACP interface にチェックを入れる。こちらはcompute IP のDMA 用のAXI Master を接続するためだ。
squeezenet_24_180709.png

Page Navigator からClock Configuration をクリックし、PL Fabric Clocks を展開してFCLK_CLK0 のRequested Freqency を 100 MHzから 85 MHz に変更する。85 MHz にしても、PLL の関係上、83.333336 MHz となる。これは、前々回、Vivado HLS のExport RTL のCP achieved post-implementation が 11.528 ns で、100 MHz で動作しないためだ。
squeezenet_25_180709.png

OK ボタンをクリックして終了すると、Processing_system7_0 の設定は終了した。
Diagram に戻って、Run Block Automation をクリックする。
squeezenet_26_180709.png

Run Block Automation ダイアログが開く。そのままOK ボタンをクリックする。
squeezenet_27_180709.png

DDR とFIXED_IO のポートが追加された。
「+」ボタンをクリックして、compute IP をAdd IP しよう。
squeezenet_28_180709.png

Search に 「comp」と入力して、Compute をダブルクリックして、Add IP する。
squeezenet_36_180709.png

compute_0 がAdd IP された。
squeezenet_37_180709.png

compute_0 をダブルクリックして設定を行う。
ダイアログが開く。CACHE value を "1111" に変更し、OK ボタンをクリックする。
squeezenet_46_180710.png

Run Block Automation をクリックする。
Run Block Automation ダイアログが開く。
All Automation にチェックを入れて、OK ボタンをクリックする。
squeezenet_41_180709.png

配線が完了した。
squeezenet_42_180709.png

Validate Design をクリックして、回路の整合性をチェックする。
squeezenet_43_180709.png

warning が出ているが、DDR のパラメータに関することやAXI ACP ポートのことなので問題ない。OK ボタンをクリックする。
squeezenet_44_180709.png

最後にRegenerate Layout をクリックしてレイアウトを最適にする。
squeezenet_45_180709.png

最終形態。(ゴジラじゃないってか?)
squeezenet_38_180709.png

Address Editor 画面を示す。
squeezenet_39_180709.png

セーブアイコンをクリックして、ブロックデザインをセーブしておく。
  1. 2018年07月10日 04:55 |
  2. DNN
  3. | トラックバック:0
  4. | コメント:0