FC2カウンター FPGAの部屋 SDSoC のプラットフォームのお勉強1
fc2ブログ

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

FPGAの部屋

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

SDSoC のプラットフォームのお勉強1

SDSoC にはプラットフォームというベースとなるハードウェアとソフトウェアの集合がある。例えば、ハードウェアで言うとHDMI を使用するようなハードウェアをアクセラレーションしたいとすると、SDSoC がどう頑張ってもHDMI をサポートするハードウェアを直接出力することはできない。HDMI を扱うベースとなるハードウェアが必要となる。そのベースのプラットフォームを自由に作りたいと思っている。今回は、”SDSoC Environment Platform Development Guide UG1146 (v2016.3) November 30, 2016” を読みながら、SDSoC のプラットフォームについて勉強していくことにする。なお、ブログ記事は”SDSoC Environment Platform Development Guide UG1146 (v2016.3) November 30, 2016”からの引用となる。

なお、SDSoC 2016.3 からだいぶ変更になったようだ。プラットフォームの構造も変更になっている。2016.2 以前とは互換性がないと思われるので注意されたい。

まずは、構成ファイルを示す。
・メタデータファイル
 ・プラットフォーム・トップレベル記述ファイル(Platform top-level description file (.xpfm) )手書きで書くそうだ
 ・プラットフォーム・ハードウェア記述ファイル(Platform hardware description file (.hpfm))Vivado からTCLスクリプトで生成
 ・プラットフォーム・ソフトウェア記述ファイル(Platform software description file (.spfm))手書きで書くそうだ

・Vivado プロジェクト
 ・Vivado プロジェクトファイル
 ・ソース
 ・制約
 ・IPブロック

・ソフトウェア・ファイル
 ・ライブラリ・ヘッダ・ファイル(オプション)
 ・スタティック・ライブラリ(オプション)
 ・共通のブート・ファイル
  ・u-boot.elf, fsbl.elf
  ・bif ファイル(ブートイメージを生成したときに生成される)
  ・readme ファイル
 ・Linux 関連ファイル
  ・u-boot.elf(ブート・ファイルで書いたが)、デバイスツリー、ラムディスク・イメージ(image.ub)
 ・予めビルドされたハードウェア・ファイル(オプション)
  ・ビットストリーム
  ・SDKのエクスポートされたハードウェア・ファイル(hdf ファイル)
  ・予め生成されたポート情報ソフトウェア・ファイル(portinfo.c, portinfo.h)
  ・予め生成されたハードウェア・ソフトウェア・インターフェース・ファイル

プラットフォームのフォルダ構成の図を示すために、”SDSoC Environment Platform Development Guide UG1146 (v2016.3) November 30, 2016”の7ページのFigure 2: Directory Structure for a Typical SDSoC Platform を引用させて頂く。
SDx_v2016_3_8_161223.png
なお、HW Platform File の platform_hpfm は、platform.hpfm の間違いだと思う。

SDSoC Environment Tutorial: Creating a Platform from a Reference Design (UG1236)があるようだが、まだリリースされていない。。。残念。。。

さて、それでは、SDSoC のプラットフォームがどのようなファイル構造になっているのかを見てみよう。

Xilinx\SDx\2016.3\platforms にプラットフォームが並んでいるが、そのうちのzybo を見ていこう。
SDx_v2016_3_9_161223.png

zybo フォルダの中は、hw、sw フォルダとzybo.xpfm ファイルがある。
SDx_v2016_3_10_161223.png

hw フォルダに入ると、vivado フォルダと zybo.hpfm があった。
SDx_v2016_3_11_161223.png

vivado フォルダの下は、zybo.srcs (ソースのフォルダ)と zybo.xpr (Vivadoのプロジェクトファイル)、zybo_pfm.tcl があった。
SDx_v2016_3_12_161223.png

次は、sw フォルダに行ってみよう。
SDx_v2016_3_13_161223.png

aarch32-none、boot、freetos、image、prebuilt_platform、qemu の各フォルダと、zybo.spfm があった。

aarch32-noneフォルダに行くと、lscript.ld があった。
SDx_v2016_3_14_161223.png

boot フォルダ。
SDx_v2016_3_15_161223.png

freertos フォルダ。
SDx_v2016_3_16_161223.png

image フォルダ。
SDx_v2016_3_17_161223.png

prebuild_platform フォルダ。
SDx_v2016_3_18_161223.png

qemu フォルダ。
SDx_v2016_3_19_161223.png
  1. 2016年12月24日 04:33 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/3671-2b6cebd9
この記事にトラックバックする(FC2ブログユーザー)