”AXI4-Stream インターフェースのMax Pooling 2(Cシミュレーションと合成)”の続き。
前回は、Vivado HLS 2017.4 で max_pooling プロジェクトを作成して、C シミュレーションと C コードの合成を行った。今回は、 max_pooling プロジェクトのC/RTL 協調シミュレーションとExport RTLを行う。
まずは、C/RTL 協調シミュレーションを行った。結果を示す。
C/RTL 協調シミュレーションの波形を示す。
outs_TVALID を見ると 1 行ごとに 2 クロックに 1 回 1 にアサートされているのが分かる。これはMax Pooling がストラド2 の 2 x 2 の領域に行われているからだ。
AXI4 Lite Slave インターフェースの波形を示す。
Start ビットをセットしてから、ポーリングで終了を検出している。
Export RTL を行った。結果を示す。
なお、Vivado synthesis, place and route にチェックを入れてある。
合成レポートでは、422 個だったFF は 331 個、LUT は 815 個が 226 個に減少した。
前回は、Vivado HLS 2017.4 で max_pooling プロジェクトを作成して、C シミュレーションと C コードの合成を行った。今回は、 max_pooling プロジェクトのC/RTL 協調シミュレーションとExport RTLを行う。
まずは、C/RTL 協調シミュレーションを行った。結果を示す。
C/RTL 協調シミュレーションの波形を示す。
outs_TVALID を見ると 1 行ごとに 2 クロックに 1 回 1 にアサートされているのが分かる。これはMax Pooling がストラド2 の 2 x 2 の領域に行われているからだ。
AXI4 Lite Slave インターフェースの波形を示す。
Start ビットをセットしてから、ポーリングで終了を検出している。
Export RTL を行った。結果を示す。
なお、Vivado synthesis, place and route にチェックを入れてある。
合成レポートでは、422 個だったFF は 331 個、LUT は 815 個が 226 個に減少した。
コメント