”
SDSoC のプラットフォームのお勉強2”の続き。
前回は、ハードウェア・プラットフォームの作り方を見てきた。今回は、試しにハードウェア・プラットフォームを作成するためにVivado 2016.3 のプロジェクトを作った。
今回使用するのは、ZYBO_0 ブロックデザインをコピー&ペーストして、ZYBO_0_platform_163 フォルダとしたものだ。これには、AXI4-Stream出力のカメラ・コントローラからラプラシアンフィルタIP やガボール・フィルタIP、RGB2HSV変換IP などがストリーム・スイッチを介して接続されているが、それをSDSoC で生成してみようと思う。
ZYBO_0_platform_163 フォルダのVivado 2016.3 プロジェクトを示す。

ZYBO_0 ブロックデザインを開いて、mt9d111_inf_axis_0 の m_aixs ポートを空けて、その下のラプラシアンフィルタIP やガボール・フィルタIP、RGB2HSV変換IP、ストリーム・スイッチを削除した。

PS をダブルクリックして、設定画面を開き、Page Navigator でInterrupts をクリックし、Interrupt Port のFabric Interrupts にチェックを入れた。その下のPL-PS Interrupt Ports の IRQ_F2P[15:0] にチェックを入れた。

PS に戻ると、IRQ_F2P[0:0] ポートが増えていた。
Add IP してConcat を追加した。ポートは入力ポートを 1 個に設定した。

FCLK_CLK0 にはProcessor System Rest が付いているので、FCLK_CLK1、FCLK_CLK2、FCLK_CLK3 にProcessor System Rest をAdd IP した。

S_AXI_HP0 にカメラ側のDMAがつながっていたのを削除した。

全体のブロックデザインを示す。

ちょっと複雑すぎるかもしれない?
それに、ソフトウェアから起動を指示するカメラ・インターフェースIP やビットマップ・ディスプレイ・コントローラIP などはどうやって起動すれば良いのだろうか?
もう1つ、DMAする場合にLinux 上でのDMA領域の確保はどうするんだろうか?(たぶん、これは自動的にメモリ帯域をマップしてくれるのだろう?)
さて、次からはTcl スクリプトを使用して、.hpfm ファイル(ハードウェア・プラットフォームのメタデータ)を作っていこう。
- 2016年12月26日 05:19 |
- SDSoC
-
| トラックバック:0
-
| コメント:0