シンプル版プラットフォームの作成

特集
No.16
最小構成の開発環境
特集
オリジナル・ボードをSDSoC対応にする…ステップ1
シンプル版プラットフォームの作成
横山 雅一
Masakazu Yokoyama
SDSoC では,開発のベースとなる環境一式を「プラットフォーム」と呼んでいます.このプラットフォームと,
C 記述から高位合成されたハードウェアが組み合わさって,動作するシステムになります.ここでは,プラット
フォーム構築の第一歩として,Zynq の内部だけで完結する最小構成のプラットフォームを作成します.
1.基本となる開発環境…
プラットフォーム
プラットフォームは,以下のような情報で構成され
ます(図 1)
.
・対象となるボードに対応した Vivado のハードウェ
ア・プロジェクト
ウェア記述ファイル,ソフトウェア記述ファイル)
プラットフォームとして提供される典型的なハード
ウェア・プロジェクトを図 2 に,そこからユーザが開
発を行った後のハードウェア・プロジェクトの例を
図 3 に示します.
いきなり回路図が出てきましたが,純粋なソフト
ウェア技術者の方,心配しないでください.SDSoC
では通常このハードウェア・プロジェクトを意識する
ことも 見 る こ と も あ りません.ここではプラット
フォームの説明のためだけに示しました.
● I/Oすらない回路が元…ここに機能を組み込んでいく
図 2 を見ると,以下のことに気付きます.
・回路が中途半端に構成されている
・FPGA からの 4 系統のクロック・ソースが設定され
ている
・
特別な I/O がない(DDR メモリ・インターフェース
と FIXED_IO を除く)
回路が一見中途半端に構成されているように見えま
すが,これで問題ありません.というのも,コンパイ
ル時に Eclipse で指定された C の関数がハードウェア
化され,さらに必要な回路(主にデータ・ムーバ)と
ともに自動的に組み込まれるためです.そして,最終
的にできた回路の例が図 3 になります.
Vivado
ハードウェア・
プロジェクト
プロローグ
・Linux などのターゲット OS
・立ち上げに必要なブート・ファイル群
・ソフトウェア・ライブラリ(オプション)
・サンプル・ソース(オプション)
・全 体 の 構 成 を 記 述 し た XML フ ァ イ ル 群( ハ ー ド
4 系統のクロック・ソースがあるのは,ユーザが必
要なクロックを選択できるような配慮です.図 4 のよ
うに,Eclipse からクロックを選択することが可能で
す.クロックが 1 系統だけというプラットフォームの
提供方法も可能です.
● ソフト処理のハード化では I/O はなくてもよい
SDSoCが標準でサポートしているハードウェアは
Xilinx社のZC702/ZC706/ZCU102,Digilent社の
ZedBoard/ZYBO,アヴネットのMicroZedなどで
す.各ボードそれぞれボード特有のI/Oを持っていま
す.しかし用意されているプラットフォームは,図2
に示した通り特別なI/Oがありません.これは,コン
パイル時間を短縮するための配慮です(コンパイル時
プログラム 1つだけでハードもソフトも!C/C++でFPGA
第3章
1
App
プラットフォームを
構成する情報
2
App
ターゲットOS
XMLファイル
(全体構成のXML)
ハードウェア
記述XML
ソフトウェア
記述XML
●
uimage uramdisk
●
ブート用ファイル
FSBL
3
SDSoC対応
アプリケー
ション
bit
device tree u-boot
ライブラリ
(オプション)
サンプル
(オプション)
4
5
6
7
8
App
9
図 1 プラットフォームの構成
 1.基本となる開発環境…プラットフォーム
App
23