• 検索結果がありません。

Zynq UltraScale+ MPSoC ソフトウェア開発者向けガイド (UG1137)

N/A
N/A
Protected

Academic year: 2021

シェア "Zynq UltraScale+ MPSoC ソフトウェア開発者向けガイド (UG1137)"

Copied!
438
0
0

読み込み中.... (全文を見る)

全文

(1)

Zynq UltraScale+ MPSoC

ソ フ ト ウ ェ ア開発者向けガ イ ド

UG1137 (v4.0) 2017 年 5 月 3 日

この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に

よっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきまし

ては、必ず最新英語版をご参照ください。

(2)

改訂履歴

次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2017 年 5 月 3 日 v4.0 • 第 2 章: ° 「APU および RPU で設定可能な メ モ リ 領域」 を追加。 • 第 4 章: ° 図 4-2 を更新。

° Linux ソ フ ト ウ ェ ア ス タ ッ ク の例外レベル EL0 ~ EL3 に関す る 情報を追加。 • 第 5 章: ° 図 5-1 を更新。 • 第 7 章: ° 「ブー ト フ ロ ー」 を第 2 章か ら 第 7 章へ移動。 ° 「QSPI32 ブー ト モー ド 」 お よ び 「eMMC18 ブー ト モー ド 」 を追加。 ° 「JTAG ブー ト モー ド 」 に詳細な情報を追加。 ° 「USB ブー ト モー ド 」 を追加。 ° 図 7-8 を更新。 ° FSBL_USB_EXCLUDE を表 7-3 に追加。 • 第 8 章: ° セキ ュ ア ブー ト フ ロ ーチ ャー ト を削除。 ° 「 ラ イ ブ ラ リ サポー ト 」 を削除。 こ のセ ク シ ョ ンは付録 H 「XilSKey Library v6.2」 で 説明。 ° 「暗号化」 に例を追加。 ° 「認証」 に詳細な情報を追加。 ° 「外部 メ モ リ を使用す る ビ ッ ト ス ト リ ーム認証」 を追加。 ° 「シ ス テ ム メ モ リ 管理ユニ ッ ト 」 を追加。 ° 「A53 メ モ リ 管理ユニ ッ ト 」 を追加。 ° 「R5 メ モ リ 保護ユニ ッ ト 」 を追加。 • 第 9 章 「電力管理フ レーム ワー ク の概要」 を追加。 こ の内容は以前 『Zynq UltraScale+ MPSoC 電力管理フ レーム ワ ー ク ユーザー ガ イ ド 』 (UG1199) に含ま れていた。 • 第 15 章: ° 表 15-1 に、 パ ラ メ ー タ ーお よ び説明を追加。 ° 「ブー ト イ メ ージのフ ォーマ ッ ト 」 を追加。 ° 表 15-7 に追加ビ ッ ト の説明を追加。 • OS お よ び ラ イ ブ ラ リ の内容に関す る 付録を追加 (付録 A ~付録 K)。

(3)

2016 年 12 月 15 日 v3.0 第 1 章の 「は じ めに」 に説明を追加。

第 7 章の 「ブー ト モー ド 」 の説明を修正。

『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG1085)への参照 リ ン ク を変更。

付録 L 「その他の リ ソ ースおよ び法的通知」 を修正 し て リ ン ク を追加。

2016 年 10 月 5 日 v2.0 第 2 章: 図 2-2 か ら JTAG お よ び MDM を削除。第 2 章の 「」 のセキ ュ アお よ び非セキ ュ ア ブー ト モー ド の説明を明確化。 割 り 込み機能を削除。

第 3 章: 「ハー ド ウ ェ ア IDE」 機能 リ ス ト を追加。「Vivado Design Suite」 を追加。「ザ イ リ ン ク ス の ソ フ ト ウ ェ ア開発キ ッ ト 」 のサポー ト さ れ る 機能を変更。 SDK_Download への リ ン ク を追加。 PetaLinux の図を表 3-3 に差 し 替え。 第 4 章: 図 4-2 を差 し 替え。「FreeRTOS ソ フ ト ウ ェ ア ス タ ッ ク 」 を追加。 第 5 章: オープン ソ ース に よ る ソ フ ト ウ ェ ア開発を削除。 第 6 章: 第 6 章 「 ソ フ ト ウ ェ ア デザ イ ンのパ ラ ダ イ ム」 の タ イ ト ルを変更。「マルチプ ロ セ ッ サ開発用フ レーム ワ ー ク 」 を追加。 第 7 章: 図 7-5 の SD モー ド の図、 お よ び図 7-7 の NAND モー ド の図を変更。第 7 章 「シ ス テ ム ブー ト およ びコ ン フ ィ ギ ュ レーシ ョ ン」 の CSU の主な組織を削除。第 7 章 「シ ス テ ム ブー ト およ びコ ン フ ィ ギ ュ レーシ ョ ン」 の復帰 メ カ ニズ ム を削除。第 7 章の 「プ リ ブー ト シーケ ン ス」 を追加。 第 8 章: 第 8 章 「セキ ュ リ テ ィ 機能」 の タ イ ト ルを変更 し 、 セ ク シ ョ ン を再構築。「ザ イ リ ン ク ス ペ リ フ ェ ラ ル保護ユニ ッ ト 」 の説明を修正 し 、 タ イ ト ル名を変更。「暗号化」 の説 明を修正。 暗号キーの種類お よ びキー レ ジ ス タ の表を削除。 『Zynq UltraScale+ MPSoC テ

ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) への相互参照を変更。「ARM ト ラ ス テ ッ ド フ ァ ーム ウ ェ ア」 を変更。「XMPU に よ る メ モ リ 保護」 か ら 説明を削除。「セキ ュ リ テ ィ 機 能」 か ら 「保護チ ェ ッ ク 」、 「エ ラ ー処理」、 「ペ リ フ ェ ラ ル保護の使用」 セ ク シ ョ ン を削 除。「 ラ イ ブ ラ リ サポー ト 」 を追加。 第 9 章: ATF [参照 37] への参照を追加。 復帰 メ カ ニ ズ ム の説明を削除。「電力管理フ レーム ワ ー ク 」 を追加。「カ ス タ ム PMU フ ァ ーム ウ ェ アの使用」 を変更。 第 12 章 「DMA」 を削除。 第 13 章: QEMU 機能表を削除。「ボー ド /キ ッ ト 」 に説明を追加。 第 15 章: シ ス テ ム コ ヒ ーレ ン シ を削除。 第 15 章 「Bootgen イ メ ージの生成」 に付録 A を移動。 「BootGen コ マン ド オプシ ョ ン」 か ら -interface オプシ ョ ン を削除。 「仮想化」 を削除。 『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) への参照を変更。 フ ィ ール ド およ びオフ セ ッ ト テーブ ルを削除。 『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) への 参照を変更。 ブー ト ア ク セ ス がプ ロ グ ラ ム可能であ る こ と を追加。

付録 L 「その他の リ ソ ースおよ び法的通知」 か ら Wiki サ イ ト を削除。 2015 年 11 月 18 日 v1.0 初版

(4)

目次

改訂履歴 . . . 2

第 1 章: このユーザー ガ イ ド について

は じ めに . . . 8 対象者お よ び内容 . . . 9 前提条件 . . . 9

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

は じ めに . . . 11 ハー ド ウ ェ ア アーキテ ク チ ャ の概要 . . . 11 APU お よ び RPU で設定可能な メ モ リ 領域 . . . 14 ブー ト プ ロ セ ス . . . 15 仮想化 . . . 17 リ セ ッ ト . . . 17 セキ ュ リ テ ィ 機能 . . . 18 安全性 と 信頼性 . . . 20

第 3 章: 開発ツール

は じ めに . . . 24

Vivado Design Suite . . . 25

ザ イ リ ン ク ス の ソ フ ト ウ ェ ア開発キ ッ ト . . . 26 PetaLinux ツール . . . 28 オープン ソ ース . . . 29 Yocto ツールを使用 し た Linux ソ フ ト ウ ェ ア開発ツール . . . 30

第 4 章: ソ フ ト ウ ェ ア ス タ ッ ク

は じ めに . . . 32 ベア メ タ ル ソ フ ト ウ ェ ア ス タ ッ ク . . . 32 Linux ソ フ ト ウ ェ ア ス タ ッ ク . . . 35 サー ド パーテ ィ ソ フ ト ウ ェ ア . . . 39

第 5 章: ソ フ ト ウ ェ ア開発フ ロー

ソ フ ト ウ ェ ア開発フ ロ ーの概要 . . . 40 ベア メ タ ル アプ リ ケーシ ョ ンの開発 . . . 41 PetaLinux を使用 し た ソ フ ト ウ ェ ア開発 . . . 43 SDK を使用 し た Linux アプ リ ケーシ ョ ン の開発 . . . 44

第 6 章: ソ フ ト ウ ェ ア デザイ ンのパラ ダ イム

は じ めに . . . 47 マルチプ ロ セ ッ サ開発用フ レーム ワー ク . . . 47 対称型マルチプ ロ セ ッ シ ン グ (SMP). . . 48

(5)

非対称型マルチプ ロ セ ッ シ ン グ (AMP) . . . 49

第 7 章: システム ブー ト および コ ン フ ィ ギ ュ レーシ ョ ン

は じ めに . . . 53 ブー ト フ ロー . . . 53 ブー ト イ メ ージの生成 . . . 55 ブー ト モー ド . . . 55 ブー ト フ ローの詳細 . . . 62 FSBL コ ンパ イ ル フ ラ グの設定. . . 64

第 8 章: セキ ュ リ テ ィ 機能

は じ めに . . . 67 ブー ト 時のセキ ュ リ テ ィ . . . 67 外部 メ モ リ を使用す る ビ ッ ト ス ト リ ーム認証 . . . 71 実行時セキ ュ リ テ ィ . . . 73 ARM ト ラ ス テ ッ ド フ ァ ーム ウ ェ ア . . . 73 ザ イ リ ン ク ス メ モ リ 保護ユニ ッ ト . . . 76 ザ イ リ ン ク ス ペ リ フ ェ ラ ル保護ユニ ッ ト . . . 77 シ ス テ ム メ モ リ 管理ユニ ッ ト . . . 77 A53 メ モ リ 管理ユニ ッ ト . . . 77 R5 メ モ リ 保護ユニ ッ ト . . . 77

第 9 章: 電力管理フ レームワー クの概要

は じ めに . . . 78

Zynq UltraScale+ MPSoC の電力管理の概要 . . . 80

Zynq UltraScale+ MPSoC の電力管理 ソ フ ト ウ ェ ア アーキ テ ク チ ャ . . . 82

電力管理に API を使用 . . . 89 XilPM の実装の詳細. . . 94 Linux . . . 97 ARM ト ラ ス テ ッ ド フ ァ ーム ウ ェ ア (ATF) . . . 106 PMU フ ァ ーム ウ ェ ア . . . 108

第 10 章: プ ラ ッ ト フ ォ ーム管理

は じ めに . . . 111 PS のプ ラ ッ ト フ ォ ーム管理 . . . 111

第 11 章: リ セ ッ ト

は じ めに . . . 117 シ ス テ ム レベル リ セ ッ ト . . . 117 ブ ロ ッ ク レベル リ セ ッ ト . . . 118 APU リ セ ッ ト . . . 118 RPU リ セ ッ ト . . . 118 FPD リ セ ッ ト . . . 119

第 12 章: 高速バス イ ン タ ー フ ェ イ ス

は じ めに . . . 120 USB 3.0. . . 120 ギガ ビ ッ ト イ ーサネ ッ ト コ ン ト ロ ー ラ ー . . . 123 PCI Express. . . 127

(6)

第 13 章: ク ロ ッ ク および周波数管理

は じ めに . . . 132 ペ リ フ ェ ラ ルの周波数変更 . . . 132

第 14 章: タ ーゲ ッ ト 開発プ ラ ッ ト フ ォ ーム

は じ めに . . . 134 QEMU. . . 134 ボー ド /キ ッ ト . . . 134

第 15 章: Bootgen イ メ ージの生成

は じ めに . . . 135 BIF フ ァ イ ルのパ ラ メ ー タ ー . . . 135 Bootgen コ マ ン ド ラ イ ン のオプシ ョ ン . . . 139 Bootgen コ マ ン ド の例 . . . 140 ブー ト イ メ ージのフ ォーマ ッ ト . . . 141 ブー ト ヘ ッ ダー テーブル . . . 141 レ ジ ス タ 初期化テーブル . . . 142 イ メ ージ ヘ ッ ダー テーブル . . . 142 パーテ ィ シ ョ ン ヘ ッ ダー テーブル . . . 143 認証証明 . . . 145 認証証明のヘ ッ ダー . . . 145

付録 A: Power Management Framework Appendix

XilPM Argument Value Definitions. . . 147

XilPM Error Codes . . . 154

付録 B: Xilinx Standard C Libraries

Xilinx Standard C Libraries . . . 156

付録 C: Standalone Library Reference v6.2

Xilinx Hardware Abstraction Layer API . . . 162

付録 D: XilFlash Library v4.3

Overview. . . 274

付録 E: XilIsf Library v5.8

Overview. . . 285

付録 F: XilFFS Library Reference 3.6

Overview. . . 305

付録 G: XilRSA Library v1.3

Overview. . . 309

付録 H: XilSKey Library v6.2

Overview. . . 314

付録 I: XilPM Library v2.1

Overview. . . 383

(7)

付録 J: XilFPGA Library v2.0

Overview. . . 403

付録 K: XilSecure Library Reference

Overview. . . 411

付録 L: その他の リ ソ ースおよび法的通知

ザ イ リ ン ク ス リ ソ ース . . . 435

ソ リ ュ ーシ ョ ン セン ター . . . 435

Xilinx Documentation Navigator お よ びデザ イ ン ハブ . . . 435

参考資料 . . . 436

(8)

第 1 章

こ のユーザー ガ イ ド について

は じ めに

こ のガ イ ド では、 ザ イ リ ン ク ス Zynq® UltraScale+™ MPSoC デバ イ ス用のシ ス テ ム ソ フ ト ウ ェ アおよ びアプ リ ケー シ ョ ン を設計、 開発す る 上で必要な ソ フ ト ウ ェ ア関連情報を提供 し ます。 Zynq UltraScale+ MPSoC フ ァ ミ リ には、 次 のシ ス テ ム機能に基づいた さ ま ざ ま な製品があ り ます。

• アプ リ ケーシ ョ ン プ ロ セ ッ シ ン グ ユニ ッ ト (APU)

° デ ュ アル コ ア ま たは ク ワ ッ ド コ ア ARM Cortex™-A53 MPCore™ ° CPU 周波数は最大 1.5GHz

• リ アル タ イ ム プ ロ セ ッ シ ン グ ユニ ッ ト (RPU) ° デ ュ アル コ ア ARM Cortex-R5 MPCore ° CPU 周波数は最大 600MHz • グ ラ フ ィ ッ ク ス プ ロ セ ッ シ ン グ ユニ ッ ト (GPU) ° ARM Mali™-400 MP2 ° GPU 周波数は最大 667MHz • ビデオ コーデ ッ ク ユニ ッ ト (VCU) ° 別々の コ ア を介 し てエン コ ー ド と デ コ ー ド の同時実行 ° H.264 ハ イ プ ロ フ ァ イ ル、 レベル 5.2 (4Kx2K-60 レー ト ) ° H.265 (HEVC)、 メ イ ン 10 プ ロ フ ァ イ ル、 レベル 5.1、 ハ イ テ ィ ア、 4Kx2K-60 の最大レー ト ° 8 ビ ッ ト お よ び 10 ビ ッ ト のエ ン コ ーデ ィ ン グ ° 4:2:0 お よ び 4:2:2 の ク ロ マ サン プ リ ン グ

(9)

第 1 章: このユーザー ガ イ ド について

対象者および内容

こ のガ イ ド は、 ソ フ ト ウ ェ ア開発者お よ びシ ス テ ム アーキテ ク ト を対象に、 次の内容について説明 し ています。 • ザ イ リ ン ク ス の ソ フ ト ウ ェ ア開発ツール • 利用可能なプ ロ グ ラ ミ ン グ オプシ ョ ン • デバ イ ス ド ラ イ バー、 ミ ド ル ウ ェ ア ス タ ッ ク 、 フ レーム ワー ク 、 サンプル アプ リ ケーシ ョ ン な どザ イ リ ン ク ス の ソ フ ト ウ ェ ア コ ン ポーネン ト

• プ ラ ッ ト フ ォーム管理ユニ ッ ト フ ァーム ウ ェ ア (PMUFW)、 ARM® ト ラ ス テ ッ ド フ ァ ーム ウ ェ ア (ATF)、

OpenAMP、 PetaLinux ツール、 Xen Hypervisor、 Zynq UltraScale+ MPSoC デバ イ ス向けに開発 さ れたその他のツール

前提条件

こ のガ イ ド は、 次の経験、 知識があ る こ と を前提 と し てい ます。 • エンベデ ッ ド ソ フ ト ウ ェ アの開発経験 • ARMv7 お よ び ARMv8 アーキ テ ク チ ャ に関す る 知識 • Vivado® 統合設計環境 (IDE)、 ザ イ リ ン ク ス ソ フ ト ウ ェ ア開発キ ッ ト (SDK)、 コ ンパ イ ラ 、 デバ ッ ガー、 オペ レーテ ィ ン グ シ ス テ ム な どの開発ツールに関する知識 こ のガ イ ド は次の章で構成 さ れます。

• 第 2 章 「Zynq UltraScale+ MPSoC デバ イ ス のプ ロ グ ラ ミ ン グ ビ ュー」 : Zynq UltraScale+ MPSoC ハー ド ウ ェ アの アーキ テ ク チ ャ について簡単に説明 し ます。 すべてのユーザーには、 各機能を理解す る ために こ の章を ご一読 いただ く こ と を推奨 し てい ます。

• 第 3 章 「開発ツール」 : Zynq UltraScale+ MPSoC デバ イ ス を使用 し た シ ス テ ム開発を支援す る ためにザ イ リ ン ク ス が提供す る 各種 ソ フ ト ウ ェ ア ス タ ッ ク と し て、 ベア メ タ ル ソ フ ト ウ ェ ア ス タ ッ ク 、 RTOS ベース ソ フ ト ウ ェ ア ス タ ッ ク 、 およ び完全な Linux ス タ ッ ク について説明し ます。 • 第 4 章 「 ソ フ ト ウ ェ ア ス タ ッ ク 」 : ザ イ リ ン ク ス の ソ フ ト ウ ェ ア開発ツールについて簡単に説明 し ます。 ソ フ ト ウ ェ ア開発ツールの機能に対す る 理解を深めていただけ ます。 ソ フ ト ウ ェ ア開発者の方は必ず こ の章を最後ま でお読みにな り 、 ソ フ ト ウ ェ ア アプ リ ケーシ ョ ンのビル ド およ びデバ ッ グの手順を ご確認 く だ さ い。 • 第 5 章 「 ソ フ ト ウ ェ ア開発フ ロー」 : ソ フ ト ウ ェ ア開発プ ロ セ ス の各手順について説明 し ます。 Linux OS お よ び ベア メ タ ルでサポー ト さ れ る API およ び ド ラ イ バーについて も 簡単に説明し ます。 • 第 6 章 「 ソ フ ト ウ ェ ア デザ イ ンのパ ラ ダ イ ム」 : ヘテ ロ ジ ニ ア ス プ ロ セ ッ シ ン グ シ ス テ ム上でのい く つかの ソ フ ト ウ ェ ア開発アプ ロ ーチについて説明 し ます。 特に対称型マルチプ ロ セ ッ シ ン グ (SMP)、 非対称形マルチプ ロ セ ッ シ ン グ (AMP)、 仮想化、 およ び SMP と AMP を組み合わせたハ イ ブ リ ッ ド モー ド な ど、 さ ま ざ ま なプ ロ セ ッ サ モー ド でのプ ロ グ ラ ミ ン グについて詳 し く 説明 し ます。 • 第 7 章 「シ ス テ ム ブー ト およ びコ ン フ ィ ギ ュ レーシ ョ ン」 : セキ ュ ア モー ド と 非セ キ ュ ア モー ド の両方におい て各種ブー ト デバ イ ス を使用 し たブー ト プ ロ セ ス について説明 し ます。 • 第 8 章 「セキ ュ リ テ ィ 機能」 : アプ リ ケーシ ョ ン のブー ト 時お よ び実行時のセ キ ュ リ テ ィ を確保す る ための Zynq UltraScale+ MPSoC デバ イ ス の機能について説明 し ます。

(10)

第 1 章: このユーザー ガ イ ド について

• 第 11 章 「 リ セ ッ ト 」 : シ ス テ ム レベルおよ びモジ ュール レベルの リ セ ッ トについて説明 し ます。

• 第 12 章 「高速バス イ ン タ ーフ ェ イ ス」 : 高速 イ ン タ ーフ ェ イ ス プ ロ ト コ ルの コ ン フ ィ ギ ュ レーシ ョ ン フ ロ ーに ついて説明 し ます。

• 第 13 章 「 ク ロ ッ ク およ び周波数管理」 : Zynq UltraScale+ MPSoC デバ イ ス のペ リ フ ェ ラ ルの ク ロ ッ ク お よ び周波 数管理について簡単に説明 し ます。

• 第 14 章 「タ ーゲ ッ ト 開発プ ラ ッ ト フ ォーム」 : Zynq UltraScale+ MPSoC デバ イ ス向けに提供 さ れ る 各種開発プ ラ ッ ト フ ォーム と し て、 Quick Emulator (QEMU) および Zynq UltraScale+ MPSoC ボー ド /キ ッ ト について説明 し ま す。

• 第 15 章 「Bootgen イ メ ージの生成」 : Zynq UltraScale+ MPSoC デバ イ ス のブー タ ブル イ メ ージ を作成す る ための ス タ ン ド ア ロ ン ツール Bootgen について説明 し ます。 Bootgen は SDK に含まれています。

• 付録 A ~付録 K では、 ソ フ ト ウ ェ ア プ ラ ッ ト フ ォームの開発に役立つ利用可能な ラ イ ブ ラ リ およ びボー ド サ ポー ト パ ッ ケージについて説明 し てい ます

• 付録 L 「その他の リ ソ ースおよ び法的通知」 : こ のガ イ ド で参考資料 と し て示 し た文書への リ ン ク を ま と め ま す。

(11)

第 2 章

Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ

ミ ング ビ ュ ー

は じ めに

Zynq® UltraScale+™ MPSoC デバ イ ス は、 ヘテ ロ ジ ニ ア ス マルチプ ロ セ ッ シ ン グ を必要 と す る アプ リ ケーシ ョ ン を幅 広 く サポー ト し ます。 こ のデバ イ ス は次の機能をサポー ト し てい ます。 • 複数レベルのセキ ュ リ テ ィ • 高度な安全性 • 高度な電力管理 • 広帯域のプ ロ セ ッ サ、 I/O、 およ び メ モ リ • ヘテ ロ ジニ ア ス マルチプ ロ セ ッ シ ン グに基づ く アプ ロ ーチで直面する設計には、 次の よ う な課題があ り ます。 ° 消費電力の仕様を満た し なが ら アプ リ ケーシ ョ ン パフ ォーマン ス の要件を満たす こ と ° 種類の異な る 複数のプ ロ セ ッ サか ら の メ モ リ ア ク セ ス を最適化する こ と ° プ ロ セ ッ シ ン グ エン ジ ン間で低レ イ テ ン シかつコ ヒ ーレ ン ト な通信を行 う こ と ° すべての動作モー ド でシ ス テ ム消費電力を管理お よ び最適化す る こ と

ザ イ リ ン ク ス は、 Zynq UltraScale+ MPSoC デバ イ ス でのハー ド ウ ェ ア/ ソ フ ト ウ ェ ア開発やオペレーテ ィ ン グ シ ス テ ム、 ヘテ ロ ジニ ア ス シ ス テ ム ソ フ ト ウ ェ ア、 セキ ュ リ テ ィ 管理モジ ュールな どの さ ま ざ ま な ソ フ ト ウ ェ ア モジ ュー ルに対応で き る 包括的な ツールを提供 し てい ます。

Zynq UltraScale+ MPSoC デバ イ ス は、 ARM® v8 ベー ス の高性能で高エネルギー効率の 64 ビ ッ ト アプ リ ケーシ ョ ン プ ロ セ ッ サであ る Cortex™-A53、 およ び 32 ビ ッ ト の ARM Cortex-R5 MPCore リ アル タ イ ム プ ロ セ ッ サを搭載するヘ テ ロ ジニア ス デバ イ ス です。

ハー ド ウ ェ ア アーキテ ク チ ャの概要

Zynq UltraScale+ MPSoC デバ イ ス は、 消費電力の削減、 プ ロ グ ラ マブル ア ク セ ラ レーシ ョ ン、 I/O、 お よ び メ モ リ 帯 域幅が強化 さ れてお り 、 ヘテ ロ ジニ ア ス プ ロ セ ッ シ ン グ を必要 と する アプ リ ケーシ ョ ンに最適です。

図 2-1 に、 次世代のプ ロ グ ラ マブル エ ン ジ ン、 セ キ ュ リ テ ィ 、 安全性、 信頼性、 お よ び 32 ビ ッ ト か ら 64 ビ ッ ト への ス ケー ラ ビ リ テ ィ を備えた Zynq UltraScale+ MPSoC アーキテ ク チ ャ のブ ロ ッ ク 図を示 し ます。

(12)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

X-Ref Target - Figure 2-1

図 2-1: Zynq UltraScale+ MPSoC デバイ スのハー ド ウ ェ ア アーキテ ク チ ャ

RPU 256 KB OCM LPD-DMA CSU PMU Processing System Cortex-R5 32 KB I/D 128 KB TCM Cortex-R5 32 KB I/D 128 KB TCM 4 x 1GE APU Cortex-A53 32 KB I/D Cortex-A53 32 KB I/D Cortex-A53 32 KB I/D Cortex-A53 32 KB I/D GIC SCU ACP 1 MB L2 GPU Mali-400 MP2 64 KB L2 2 x USB 3.0 NAND x8 ONFI 3.1 2 x SD3.0/ eMMC4.51 Quad-SPI x 8 2 x SPI 2 x CAN 2 x I2C 2 x UART GPIOs SYSMON MIO Central Switch FPD-DMA VCU H.264/H.265 PCIe Gen4 DisplayPort v1.2 x1, x2 2 x SATA v3.0 PCIe Gen2 x1, x2, or x4 SHA3 AES-GCM RSA Processor System BPU DDRC (DDR4/3/3L, LPDDR3/4) Programmable Logic 128 KB RAM PL_LPD HP GIC LLLP LLLP RGMII ULPI PS-GTR SMMU/CCI GFC USB 3.0 SGMII

Low Power Switch

To ACP

Low Power Full Power

Battery Power 32-bit/64-bit 64-bit M S 128-bit M S UG1085_c1_01_091715 LPD_PL HPC HPM GTY Quad GTH Quad Interlaken 100G Ethernet ACE DisplayPort Video and Audio Interface

(13)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

Zynq UltraScale+ MPSoC デバ イ ス には次の機能があ り ます。

• Cortex-R5 デ ュ アル コ ア リ アル タ イ ム プ ロ セ ッ シ ン グ ユニ ッ ト (RPU)

• ARM Cortex-A53 64 ビ ッ ト ク ワ ッ ド /デ ュ アル コ ア アプ リ ケーシ ョ ン プ ロ セ ッ シ ン グ ユニ ッ ト (APU) • Mali-400 MP2 グ ラ フ ィ ッ ク ス プ ロ セ ッ シ ン グ ユニ ッ ト (GPU)

• 外部 メ モ リ イ ン タ ーフ ェ イ ス (I/F): DDR4、 LPDDR4、 DDR3、 DDR3L、 LPDDR3、 2x ク ワ ッ ド SPI、 およ び NAND

• 汎用 コ ネ ク テ ィ ビ テ ィ : 2x USB 2.0、 2x SD/SDIO、 2x UART、 2x CAN 2.0B、 2x I2C、 2x SPI、 4x 1GE、 お よ び GPIO

• セキ ュ リ テ ィ : AES (Advanced Encryption Security)、 RSA (Rivest Shamir Adleman)、 およ び SHA3 (Secure Hash Algorithm 3) • AMS シ ス テ ム モニ タ ー : 10 ビ ッ ト 、 1 MSPS ADC、 温度、 電圧、 お よ び電流モニ タ ー • プ ロ セ ッ シ ン グ シ ス テ ム (PS) には 5 つの高速シ リ アル I/O (HSSIO) イ ン ターフ ェ イ ス があ り 、 次に示す必須プ ロ ト コ ルをサポー ト し ます。 ° PS PCIe イ ン タ ーフ ェ イ ス用統合ブ ロ ッ ク : ベース 仕様バージ ョ ン 2.1 準拠、 Gen2x4 ° SATA 3.0 仕様に準拠 し た イ ン タ ーフ ェ イ ス ° DisplayPort イ ン タ ーフ ェ イ ス: 最大ビデオ解像度 4k x 2k に対応 し た DisplayPort イ ン タ ーフ ェ イ ス ( ソ ー ス の み) を実装 ° USB 3.0 イ ン タ ーフ ェ イ ス : USB 3.0 仕様に準拠 し 、 5Gb/s ラ イ ン レー ト を実装 ° シ リ アル GMII イ ン タ ーフ ェ イ ス: 1Gb/s SGMII イ ン タ ーフ ェ イ ス をサポー ト • 電源シーケ ン ス、 安全性、 セキ ュ リ テ ィ 、 お よ びデバ ッ グの機能を支え る プ ラ ッ ト フ ォーム管理ユニ ッ ト (PMU)

詳細は、 『Zynq UltraScale+ MPSoC テ ク ニカル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) の第 3 章 「アプ リ ケーシ ョ ン プ ロ セ ッ シ ン グ ユニ ッ ト (APU)」、第 4 章 「 リ アル タ イ ム プ ロ セ ッ シ ン グ ユニ ッ ト (RPU)」、第 6 章 「プ ラ ッ ト フ ォーム 管理ユニ ッ ト (PMU)」、第 5 章 「グ ラ フ ィ ッ ク ス プ ロ セ ッ シ ン グ ユニ ッ ト (GPU)」、 お よ び第 13 章 「割 り 込み」 のプ ロ セ ッ サ間の割 り 込み (IPI) に関する説明を参照 し て く だ さ い。

その他の コ ン ポーネ ン ト については、 『Zynq UltraScale+ MPSoC テ ク ニカル リ フ ァ レ ン ス マニ ュ アル』 (UG1085)

(14)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

APU および RPU で設定可能な メ モ リ 領域

APU お よ び RPU で設定可能な メ モ リ 領域を次の各表に示 し ます。 表 2-1: APU で設定可能な メ モ リ 領域 メ モ リ タ イ プ 開始ア ド レ ス サイ ズ DDR Low

0x00000000

2GB DDR High

0x800000000

2GB OCM

0xFFFC0000

256KB QSPI

0xC0000000

512MB 表 2-2: RPU (ロ ッ ク ス テ ッ プ モー ド ) で設定可能な メ モ リ 領域 メ モ リ タ イ プ 開始ア ド レ ス サイ ズ DDR Low

0x100000

2047MB OCM

0xFFFC0000

256KB QSPI

0xC0000000

512MB R5_0_ATCM_MEM_0

0x00000

64KB R5_0_BTCM_MEM_0

0x20000

64KB R5_TCM_RAM_0_MEM

0x00000

256KB 表 2-3: RPU (ス プ リ ッ ト モー ド ) で設定可能な メ モ リ 領域 メ モ リ タ イ プ 開始ア ド レ ス サイ ズ R5_0 DDR Low

0x100000

2047MB OCM

0xFFFC0000

256KB QSPI

0xC0000000

512MB R5_0_ATCM_MEM_0

0x00000

64KB R5_0_BTCM_MEM_0

0x20000

64KB R5_1 DDR Low

0x100000

2047MB OCM

0xFFFC0000

256KB QSPI

0xC0000000

512MB R5_1_ATCM_MEM_0

0x00000

64KB R5_1_BTCM_MEM_0

0x20000

64KB

(15)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

次に注意事項を示 し ます。

• ロ ッ ク ス テ ッ プ モー ド の RPU では、 R5_0_ATCM_MEM_0 および R5_0_BTCM_MEM_0 メ モ リ ア ド レ スはシ ス テ ム ア ド レ ス マ ッ プの R5_0_ATCM_LSTEP および R5_0_BTCM_LSTEP の メ モ リ 範囲にそれぞれマ ッ プ さ れま す。

• ス プ リ ッ ト モー ド の RPU では、 R5_x_ATCM_MEM_0 および R5_x_BTCM_MEM_0 の メ モ リ ア ド レ スはシ ス テ ム ア ド レ ス マ ッ プの R5_x_ATCM_SPLIT および R5_x_BTCM_SPLIT の メ モ リ 範囲にそれぞれマ ッ プ さ れます。 • QSPI コ ン ト ロ ー ラ ーが リ ニ ア モー ド の場合 QSPI メ モ リ にア ク セ ス可能です。

詳細は、 こ のセ ク シ ョ ン ( 『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) [参照 10] の第 10 章 「シ ス テ ム ア ド レ ス」 ) を参照 し て く だ さ い。

ブー ト プ ロ セス

複数ス テージか ら な る ブー ト プ ロ セ スは、 プ ラ ッ ト フ ォーム管理ユニ ッ ト (PMU) と コ ン フ ィ ギ ュ レーシ ョ ン セキ ュ リ テ ィ ユニ ッ ト (CSU) で管理およ び実行 さ れます。 デバ イ スはセキ ュ ア モー ド ま たは非セキ ュ ア モー ド でブー ト で き ます。 ブー ト の各ス テージは次の と お り です。

• プ リ コ ン フ ィ ギ ュ レーシ ョ ン ス テージ: こ の ス テージは主に PMU が制御し 、 PMU ROM を実行 し てシ ス テ ム を セ ッ ト ア ッ プ し ます。 リ セ ッ ト お よ び復帰に関す る プ ロ セ ス はすべて PMU が処理 し ます。

• コ ン フ ィ ギ ュ レーシ ョ ン ス テージ: こ の ス テージでは、 PS の FSBL (第 1 段階ブー ト ロ ーダー ) コー ド をオン チ ッ プ RAM (OCM) に ロ ー ド し ます。 セキ ュ ア モー ド と 非セキ ュ アの両方のブー ト モー ド をサポー ト し ます。 ブー ト ヘ ッ ダーを介 し て、 Cortex-R5 プ ロ セ ッ サ と Cortex-A53 プ ロ セ ッ サのいずれかに対 し て FSBL を実行で き ます。 Cortex-R5 プ ロ セ ッ サでは、 ロ ッ ク ス テ ッ プ モー ド も サポー ト さ れてい ます。

• ポ ス ト コ ン フ ィ ギ ュ レーシ ョ ン ス テージ: FSBL の実行が開始する と 、 Zynq UltraScale+ MPSoC デバ イ スはポ ス ト コ ン フ ィ ギ ュ レーシ ョ ン ス テージに移行 し ます。

ブー ト モー ド

外部デバ イ ス か ら のブー ト では、 次のいずれかのブー ト モー ド を使用で き ます。 • ク ワ ッ ド SPI フ ラ ッ シ ュ メ モ リ (QSPI24、 QSPI32)

• eMMC18 • NAND • SD0/SD1 • JTAG • USB

bootROM は SATA、 イ ーサネ ッ ト 、 お よ び PCI Express (PCIe) か ら のブー ト を直接サポー ト し てい ません。

異な る ブー ト モー ド のブー ト プ ロ セ ス の詳細は、 こ のセ ク シ ョ ン ( 『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) [参照 10] の第 11 章 「ブー ト お よ び コ ン フ ィ ギ ュ レーシ ョ ン」 ) を参照 し て く だ さ い。

(16)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

QSPI24

QSPI ブー ト モー ド は、 次の機能を サポー ト し ます。

• シ ン グル QSPI フ ラ ッ シ ュ メ モ リ (QSPI24) では x1、 x2、 お よび x4 読み出 し モー ド 。 デュ アル QSPI では x8 読 み出 し モー ド 。 • マルチブー ト の イ メ ージ検索。 注記: I/O モー ド は FSBL でサポー ト さ れません。 詳細は、「QSPI24 ブー ト モー ド 」 を参照 し て く だ さ い。

QSPI32

QSPI32 ブー ト モー ド は次の機能を サポー ト し ます。

• シ ン グル QSPI フ ラ ッ シ ュ メ モ リ (QSPI32) では x1、 x2、 お よび x4 読み出 し モー ド 。 デュ アル QSPI では x8 読 み出 し モー ド 。 • マルチブー ト の イ メ ージ検索。 • BSP ド ラ イ バー用 I/O モー ド (FSBL ではサポー ト さ れない)。 詳細は、「QSPI32 ブー ト モー ド 」 を参照 し て く だ さ い。

eMMC18

eMMC18 ブー ト モー ド は次の機能を サポー ト し ます。 • FAT 16/32 フ ァ イ ル シ ス テ ム に よ る ブー ト イ メ ージの読み出 し 。 • マルチブー ト の イ メ ージ検索。 マルチブー ト で検索可能な イ メ ージ フ ァ イ ルの最大数は 8,191。 詳細は、「eMMC18 ブー ト モー ド 」 を参照 し て く だ さ い。

NAND

NAND ブー ト モー ド は、 次の機能を サポー ト し ます。 • 8 ビ ッ ト 幅でのブー ト イ メ ージの読み出 し 。 • マルチブー ト の イ メ ージ検索。 詳細は、「NAND ブー ト モー ド 」 を参照 し て く だ さ い。

SD

SD ブー ト ではバージ ョ ン 3.0 がサポー ト さ れ ます。 こ のバージ ョ ンは、 次の機能を サポー ト し ます。 • FAT 16/32 フ ァ イ ル シ ス テ ム に よ る ブー ト イ メ ージの読み出 し 。 • マルチブー ト の イ メ ージ検索。 マルチブー ト で検索可能な イ メ ージ フ ァ イ ルの最大数は 8,191。 詳細は、「SD ブー ト モー ド 」 を参照 し て く だ さ い。

(17)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

JTAG

PS に必要な ソ フ ト ウ ェ ア イ メ ージ と PL に必要なハー ド ウ ェ ア イ メ ージは、 JTAG を使用 し て ダ ウ ン ロ ー ド で き ま す。

重要: JTAG モー ド の場合、 Zynq UltraScale+ MPSoC デバイ スは非セキ ュ ア モー ド でのみブー ト 可能です。

詳細は、「JTAG ブー ト モー ド 」 を参照 し て く だ さ い。

USB

USB ブー ト モー ド は USB 2.0 をサポー ト し ます。 マルチブー ト 、 イ メ ージ フ ォ ールバ ッ ク 、 XIP はサポー ト し ませ ん。 セキ ュ ア と 非セキ ュ アの両方のブー ト モー ド をサポー ト し ます。 USB ブー ト モー ド は DDR サ イ ズの小 さ いシ ス テ ムではサポー ト さ れません。 こ のブー ト モー ド はデフ ォル ト で無効 と な っ てい ます。

詳細は、「USB ブー ト モー ド 」 を参照 し て く だ さ い。

仮想化

仮想化に よ り 、 1 つのプ ロ セ ッ サで複数の ソ フ ト ウ ェ ア ス タ ッ ク を同時実行で き る ため、 Zynq UltraScale+ MPSoC デ バ イ ス の生産性が向上 し ます。 仮想化の役割はシ ス テ ムに よ っ てそれぞれ異な り ます。 あ る シ ス テ ムでは、 仮想化 に よ っ てプ ロ セ ッ サの使用率を常に高 く 維持 し 、 消費電力の削減 と 性能の最大化を実現 し てい ます。 ま た別のシ ス テ ムでは、 独立性や冗長性を確保す る ために各種の ソ フ ト ウ ェ ア ス タ ッ ク を分割する手段 と し て仮想化を利用 し て い ます。

仮想化サポー ト は、 ARM 例外レベル 2 (EL2) を含むイ ンプ リ メ ン テーシ ョ ンにのみ該当し ます。 ARM v8 は仮想化拡 張機能に よ っ て完全仮想化をサポー ト し てい る ため、 ほぼネ イ テ ィ ブなゲ ス ト オペレーテ ィ ン グ シ ス テ ムの性能が 得 ら れます。

仮想化の詳細は、 こ のセ ク シ ョ ン ( 『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG1085)

[参照 10] の 「シ ス テ ム仮想化」 を参照 し て く だ さ い。

リ セ ッ ト

Zynq UltraScale+ MPSoC には、 パ ワ ーオ ン リ セ ッ ト (POR)、 シ ス テ ム リ セ ッ ト 、 お よ びデバ ッ グ シ ス テ ム リ セ ッ ト な ど複数のシ ス テ ム レベル リ セ ッ ト があ り 、 ま た PS、 APU、 RPU、 FPD、 およ び PL 用にブ ロ ッ ク レベルの リ セ ッ

ト も あ り ます。

Zynq UltraScale+ MPSoC デバ イ ス の リ セ ッ ト ブ ロ ッ ク はシ ス テ ム に対す る 外部お よ び内部 リ セ ッ ト 入力を処理 し 、 すべてのペ リ フ ェ ラ ル、 APU および RPU に対する リ セ ッ ト 要件を確実に満た し ます。 リ セ ッ ト ブ ロ ッ ク はデバ イ ス のプ ロ グ ラ マブル ロ ジ ッ ク に対 し て リ セ ッ ト を生成 し 、 プ ロ セ ッ サ シ ス テ ム (PS) ブ ロ ッ ク と プ ロ セ ッ サ ロ ジ ッ ク (PL) ブ ロ ッ ク に対 し て個別に リ セ ッ ト のアサー ト が可能です。

(18)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

セキ ュ リ テ ィ 機能

Zynq UltraScale+ MPSoC デバ イ ス の主要なセ キ ュ リ テ ィ 機能は、 次のブ ロ ッ ク に よ っ て提供 さ れ ます。

コ ン フ ィ ギ ュ レーシ ョ ン セキ ュ リ テ ィ ユニ ッ ト (CSU)

コ ン フ ィ ギ ュ レーシ ョ ン セキ ュ リ テ ィ ユニ ッ ト (CSU) は、 次の図に示す 2 つの主要ブ ロ ッ ク で構成 さ れます。 左側 のブ ロ ッ ク は、 ブー ト 動作を制御す る 三重冗長プ ロ セ ッ サを備え てい る セキ ュ ア プ ロ セ ッ サ ブ ロ ッ ク です。

ま た、 付属 ROM、 小型専用 RAM、 およ びすべてのセキ ュ ア動作をサポー ト する ために必要な制御/ス テータ ス レ ジ ス タ も あ り ます。 右側のブ ロ ッ ク は暗号 イ ン タ ーフ ェ イ ス ブ ロ ッ ク (CIB) で、 AES-GCM、 DMA、 SHA、 RSA、 およ び PCAP イ ン タ ーフ ェ イ ス を備えてい ます。 ブー ト 後、 CSU は タ ンパー レ ス ポ ン ス の監視を実行 し ます。

こ れ ら の暗号 イ ン タ ーフ ェ イ ス は動作中に使用で き ます。 こ れ ら 機能の使用方法は、付録 K 「XilSecure Library Reference」 を参照 し て く だ さ い。 詳細は、 こ のセ ク シ ョ ン ( 『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マ ニ ュ アル』 (UG1085) [参照 10] の 「セ キ ュ リ テ ィ 」 ) を参照 し て く だ さ い。

X-Ref Target - Figure 2-2

図 2-2: コ ン フ ィ ギュ レーシ ョ ン セキ ュ リ テ ィ ユニ ッ ト のアーキテ ク チ ャ

CSU PMU Switch

ROM Validation ROM (128 KB) RAM (32 KB) Triple Redundant MicroBlaze SHA-3 384 AES-GCM 256 Secure Stream Switch

PCAP CSU DMA CSU Registers Key Management To PL Configuration PMU ROM Validation To/From LPD Main Switch

Tamper Sources INTC ECC BBRAM eFUSE PUF Operation KUP Family CSU Local Registers PUF RSA Multiplier PSTP

Security Processor Block Crypto Interface Block

(19)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

• セキ ュ ア プ ロ セ ッ サ ブ ロ ッ ク : 三重冗長プ ロ セ ッ サに よ り 、 シ ン グル イ ベン ト ア ッ プセ ッ ト (SEU) が発生 し て も エ ラ ーのない動作を確保 し ます。

• 暗号 イ ン タ ーフ ェ イ ス ブ ロ ッ ク (CIB): AES-GCM、 DMA、 SHA-3/384、 RSA、 およ び PCAP イ ン タ ーフ ェ イ ス で 構成 さ れます。 • AES-GCM: AES-GCM コ アは、 32 ビ ッ ト ワ ー ド ベー ス のデー タ イ ン タ ーフ ェ イ ス を備え てお り 、 256 ビ ッ ト キーをサポー ト し ます。 • キー管理: AES を使用する には、 AES ブ ロ ッ ク にキーを読み込む必要があ り ます。 キーは ソ フ ト ウ ェ ア ま たは CSU のブー ト ROM で選択 し ます。 • SHA-3/384: SHA-3/384 エ ン ジ ンは、 認証の際に入力 イ メ ージのハ ッ シ ュ 値の計算に使用 し ます。 • RSA-4096 ア ク セ ラ レー タ : RSA 認証を高速化 し ます。 ブー ト イ メ ージ暗号化ま たは認証の詳細は、 次を参照 し て く だ さ い。 • 第 7 章 「シ ス テ ム ブー ト およ びコ ン フ ィ ギ ュ レーシ ョ ン」 • 第 15 章 「Bootgen イ メ ージの生成」

• 『Zynq UltraScale+ MPSoC テ ク ニカル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) [参照 10] の 「セキ ュ リ テ ィ 」

• 『Zynq UltraScale+ MPSoC テ ク ニカル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) [参照 10] の第 11 章 「ブー ト およ びコ ン フ ィ ギ ュ レーシ ョ ン」

シス テム レベル保護

シ ス テ ム レベル保護 メ カ ニズ ムには、 次の領域があ り ます。

• Zynq UltraScale+ MPSoC シ ス テ ム ソ フ ト ウ ェ ア ス タ ッ ク は、 ARM ト ラ ス テ ッ ド フ ァ ーム ウ ェ ア (ATF) に基づ いた シ ス テ ム レベルの実行時セキ ュ リ テ ィ を提供 し ます。 ° バグのあ る 、 ま たは悪意のあ る ソ フ ト ウ ェ ア (不正な ソ フ ト ウ ェ ア) に よ る シ ス テ ム メ モ リ の破損ま たはシ ス テ ム障害の発生を防止 し ます。 ° 正 し く プ ロ グ ラ ム さ れていない、 ま たは悪意のあ る デバ イ ス (誤っ たハー ド ウ ェ ア) に よ る シ ス テ ム メ モ リ の破損ま たはシ ス テ ム障害の発生を防止 し ます。 ° メ モ リ (DDR、 OCM) お よびペ リ フ ェ ラ ル (ペ リ フ ェ ラ ル制御、 SLCR) を誤っ た ソ フ ト ウ ェ ア ま たはハー ド ウ ェ アに よ る 不正ア ク セ ス か ら 保護 し てシ ス テ ム を保護 し ます。 • ザ イ リ ン ク ス メ モ リ 保護ユニ ッ ト (XMPU): メ モ リ を分割 し 、 メ モ リ およ び FPD ス レーブに対し て TrustZone (TZ) 保護を適用 し ます。 XMPU は、 1 つま たは複数のマ ス タ ーか ら のア ク セ ス を プ ロ グ ラ ム可能な ア ド レ ス範 囲に限定す る よ う に設定で き ます。 • ザ イ リ ン ク ス ペ リ フ ェ ラ ル保護ユニ ッ ト (XPPU): LPD ペ リ フ ェ ラ ルを分離し 、 プ ロ セ ッ サ間割 り 込み (IPI) を保 護 し ます。 XPPU は、 ペ リ フ ェ ラ ルのア ド レ ス アパーチ ャ を知 ら ない 1 つま たは複数のマ ス タ ーに対 し て LPD ペ リ フ ェ ラ ルへのア ク セ ス を許可す る よ う に設定で き ます。

(20)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

安全性 と 信頼性

Zynq UltraScale+ MPSoC アーキ テ ク チ ャ は、 安全が重視 さ れ る アプ リ ケーシ ョ ン の信頼性を確保す る 機能を備え、 ユーザー と 設計者の双方に と っ て高いシ ス テ ム信頼性を実現 し ます。 主な機能には、 次の も のがあ り ます。 • メ モ リ お よ びキ ャ ッ シ ュ のエ ラ ー検出 と 訂正 • RPU の安全機能 • シ ス テ ム全体の安全機能 こ れ ら 機能の使用方法は、第 8 章 「セキ ュ リ テ ィ 機能」 を参照 し て く だ さ い。

安全機能

Cortex-A53 MPCore プ ロ セ ッ サは、 プ ロ セ ッ サ内のすべての RAM イ ン ス タ ン ス に対 し て ECC に よ る キ ャ ッ シ ュ 保護 をサポー ト し てい ます。 使用す る 保護方式には次の 2 つがあ り ます。

• SCU-L2 キ ャ ッ シ ュ 保護 • CPU キ ャ ッ シ ュ 保護

こ れ ら のオプシ ョ ンに よ り 、 Cortex-A53 MPCore プ ロ セ ッ サはすべての RAM で 1 ビ ッ ト のエ ラ ーを検出し て訂正で き 、 2 ビ ッ ト エ ラ ーを検出 し ます。

Cortex-A53 MPCore の RAM はシ ン グル イ ベン ト ア ッ プセ ッ ト (SEU) か ら 保護 さ れ、 プ ロ セ ッ サ シ ス テ ムはエ ラ ー を検出 し て も デー タ 破損な し に処理を継続で き ます。 RAM の種類に よ り 、 パ リ テ ィ に よ る シ ン グル エ ラ ー検出 (SED) に対応 し た も の と 、 ECC に よ る シ ン グル エ ラ ー訂正、 ダブル エ ラ ー検出 (SECDED) に対応 し た も のがあ り ま す。

RPU には 2 つの主要な安全機能があ り ます。 • ロ ッ ク ス テ ッ プ動作 (図 2-3 参照)

• ECC ( 「ECC (エ ラ ー チ ェ ッ ク 訂正)」 参照)

ロ ッ ク ス テ ッ プ動作

Cortex-R5 プ ロ セ ッ サは、 2 つの RPU CPU が冗長構成で動作す る ロ ッ ク ス テ ッ プ動作を サポー ト し てい ます。 こ れを セーフ テ ィ モー ド と 呼びます。

Cortex-R5 プ ロ セ ッ サの動作を ロ ッ ク ス テ ッ プ モー ド に設定 し た場合、 片方の CPU イ ン タ ーフ ェ イ ス のみを使用 し ます。

(21)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

Cortex-R5 プ ロ セ ッ サは ス プ リ ッ ト モー ド と ロ ッ ク ス テ ッ プ モー ド の動的な変更を サポー ト し てお ら ず、 こ れ ら モー ド の切 り 替えはプ ロ セ ッ サ グループがパワーオン リ セ ッ ト (POR) 状態に保持 さ れてい る間のみ許可 さ れます。 プ ロ セ ッ サ グループの動作モー ド は、 入力信号 SLCLAMP と SLSPLIT で制御 し ます。

ロ ッ ク ス テ ッ プ モー ド では、 こ れ ら の信号に よ っ て多重化およ び ク ラ ンプ ロ ジ ッ ク が制御 さ れます。 次に示す図の よ う に Cortex-R5 プ ロ セ ッ サが ロ ッ ク ス テ ッ プ モー ド の場合、 GIC 内のデ ィ ス ト リ ビ ュータ ーが CPU0 に対 し てのみ 割 り 込みを発行す る よ う に、 リ セ ッ ト ハン ド ラ ーに コー ド を記述 し てお く 必要があ り ます。

RPU は、 Cortex™-R5 MPCore プ ロ セ ッ サの専用割 り 込み コ ン ト ロ ー ラ ーを備え てい ます。 ARM® PL390 ジ ェ ネ リ ッ ク 割 り 込み コ ン ト ロ ー ラ ー (GIC) は、 GICv1規格に基づいてい ます。

TCM は各 Cortex-R5 プ ロ セ ッ サの ロ ーカル ア ド レ ス空間にマ ッ プ さ れ ますが、 同時にグ ロ ーバル ア ド レ ス 空間に も マ ッ プ さ れ る ため、 すべてのマ ス タ ーか ら ア ク セ ス で き ます。 次の表に、 RPU か ら 見たア ド レ ス マ ッ プを示 し ま す。

X-Ref Target - Figure 2-3

図 2-3: RPU のロ ッ ク ステ ッ プ動作 • • • • • • •• • • • • • • TCMs Associated with CPU1 TCM A TCM B TCMs Associated with CPU0 TCM A TCM B Shim Shim Cortex-R5 CPU0 Cortex-R5 CPU0

Comparison and Synchronization Logic

Caches Associated with CPU0 D-Cache I-Cache GIC 表 2-4: RPU のア ド レ ス マ ッ プ 動作モー ド メ モ リ R5_0 から見たマ ッ プ (開始ア ド レ ス) R5_1 から見たマ ッ プ (開始ア ド レ ス) グローバル ア ド レ スから見 たマ ッ プ (開始ア ド レ ス) ス プ リ ッ ト モー ド

R5_0 ATCM (64KB) 0x0000_0000 N/A 0xFFE0_0000

R5_0 BTCM (64KB) 0x0002_0000 N/A 0xFFE2_0000

R5_0 命令キ ャ ッ シ ュ I-キ ャ ッ シ ュ N/A 0xFFE4_0000

R5_0 デー タ キ ャ ッ シ ュ D-キ ャ ッ シ ュ N/A 0xFFE5_0000 ス プ リ ッ ト

モー ド

R5_1 ATCM (64KB) N/A 0x0000_0000 0xFFE9_0000

R5_1 BTCM (64KB) N/A 0x0002_0000 0xFFEB_0000

R5_1 命令キ ャ ッ シ ュ I-キ ャ ッ シ ュ N/A 0xFFEC_0000

R5_1 デー タ キ ャ ッ シ ュ D-キ ャ ッ シ ュ N/A 0xFFED_0000 ロ ッ ク

ス テ ッ プ モー ド

R5_0 ATCM (128KB) 0x0000_0000 N/A 0xFFE0_0000

R5_0 BTCM (128KB) 0x0002_0000 N/A 0xFFE2_0000

(22)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

ECC (エ ラ ー チ ェ ッ ク訂正)

Cortex-R5 プ ロ セ ッ サは、 ECC (エ ラ ー チ ェ ッ ク 訂正) に よ る デー タ 保護を サポー ト し てい ます。 デー タ の特性は同 じ ですが、 ECC を適用するデータ チ ャ ン ク のサ イ ズが異な り ます。 境界に揃っ たデー タ チ ャ ン ク ご と にプ ロ セ ッ サが冗長コー ド ビ ッ ト の数を計算 し 、 デー タ と 一緒に格納 し ます。 こ れに よ り 、 プ ロ セ ッ サはデー タ チ ャ ン ク ま たは コー ド ビ ッ ト 内の最大 2 つのエ ラ ーを検出 し 、 データ チ ャ ン ク ま た は関連す る コ ー ド ビ ッ ト 内の 1 つのエ ラ ーを訂正で き ます。 こ れは SEC-DED (Single-Error Correction、 Double-Error Detection) ECC 方式 と も 呼ばれ ます。

シス テム全体の安全機能

シ ス テ ム全体の安全機能は、 Zynq UltraScale+ MPSoC の動作でエ ラ ーが発生 し ない よ う に設計 さ れてい ます。 こ れ ら の機能を次に示 し ます。

• プ ラ ッ ト フ ォーム管理ユニ ッ ト (PMU) • PMU の三重冗長プ ロ セ ッ サ

以降のセ ク シ ョ ンでは、 こ れ ら 機能について説明 し ます。

プ ラ ッ ト フ ォ ーム管理ユニ ッ ト

Zynq UltraScale+ MPSoC デバ イ ス のプ ラ ッ ト フ ォ ーム管理ユニ ッ ト (PMU) は、 PS の電圧レールに対す る 改ざ ん防止 を目的 と し た電源の安全性に関す る ルーチン を実装 し てお り 、 ロ ジ ッ ク BIST (LBIST) の実行やユーザー駆動の電力 管理シーケ ン スへの応答な ど の処理を担い ます。 PMU にはデバ イ ス の動作 と 安全性に関す る 重要な機能を制御す る レ ジ ス タ も あ り ます。 安全に関連す る レ ジ ス タ に は、 次の も のがあ り ます。 • GLOBAL_RESET: 安全関連ブ ロ ッ ク に対す る リ セ ッ ト を格納 し ます。 • SAFETY_GATE: ハー ド ウ ェ ア機能が誤っ て有効化 さ れない よ う にゲーテ ィ ン グ し ます。 • SAFETY_CHK: 安全性アプ リ ケーシ ョ ンの タ ーゲ ッ ト レ ジ ス タ に対 し て周期的に書 き 込み と 読み出 し を実行 し て イ ン タ ー コ ネ ク ト データ ラ イ ンの イ ン テグ リ テ ィ をチ ェ ッ ク し ます。

三重冗長プ ロ セ ッ サ

プ ラ ッ ト フ ォーム管理ユニ ッ ト (PMU) には三重冗長プ ロ セ ッ サがあ り 、 高度なシ ス テ ム信頼性 と 強力な SEU 耐性を 実現 し ます。 PMU は、 シ ス テ ム全体の リ ソ ース に対する パ ワーア ッ プ、 パ ワーダ ウ ン、 およ び監視を制御し ます。 PMU は次に示す各種 タ ス ク を実行 し ます。 ° ブー ト 時のシ ス テ ム初期化 ° 各種電源 ド メ イ ンお よ び電源ア イ ラ ン ド の電力ゲーテ ィ ン グ と リ テ ン シ ョ ン ス テー ト の管理 ° 外部電源制御デバ イ スへの電源設定の通信 ° デ ィ ープ ス リ ープ モー ド を含む各種ス リ ープ ス テー ト の管理およ び復帰機能の処理 PMU の詳細は、第 10 章 「プ ラ ッ ト フ ォーム管理」 を参照 し て く だ さ い。

(23)

第 2 章: Zynq UltraScale+ MPSoC デバイ スのプ ログ ラ ミ ング ビ ュ ー

割 り 込み

割 り 込みは汎用割 り 込み コ ン ト ロ ー ラ ー (GIC) が処理 し ます。 APU と RPU には、 割 り 込み処理用にそれぞれ専用の GIC があ り ます。

RPU は、 柔軟性 と 保護機能を考慮 し て GICv1 仕様に基づ く ARM PL390 GIC を実装 し てい ます。

APU は GICv2 コ ン ト ロ ー ラ ーを実装 し てい ます。 GICv2 は、 マルチプ ロ セ ッ サ シ ス テ ム で割 り 込みを サポー ト お よ び管理す る ための リ ソ ース を集約 し てい ます。 ま た、 プ ロ セ ッ サ仮想化をサポー ト し たシ ス テ ムでの GIC 実装を可 能にす る GIC 仮想化拡張をサポー ト し ています。

Zynq UltraScale+ MPSoC デバ イ ス は、 ヘテ ロ ジ ニ ア ス プ ロ セ ッ サ間の通信を サポー ト す る プ ロ セ ッ サ間の割 り 込み (IPI) ブ ロ ッ ク を実装 し てい ます。 PMU は種類の異な る プ ロ セ ッ サ と 同時に通信で き る ため、 PMU には 4 つの IPI が あ り 、 こ れ ら は PMU の GIC に接続 さ れます。

各種プ ロ セ ッ サに対す る IPI の配線の詳細は、 『Zynq UltraScale+ MPSoC テ ク ニカル リ フ ァ レ ン ス マニ ュ アル』 (UG1085) [参照 10] の第 13 章 「割 り 込み」 を参照 し て く だ さ い。

(24)

第 3 章

開発ツール

は じ めに

こ の章では、 Zynq® UltraScale+™ MPSoC デバ イ ス ソ フ ト ウ ェ アのプ ロ グ ラ ミ ン グに使用する ザ イ リ ン ク ス ツールお よ びフ ロ ーについて説明 し ます。 ザ イ リ ン ク ス ツールは Eclipse ベース統合開発環境 (IDE) や GNU コ ンパ イ ラ ツー ル チ ェーン な ど の一般的な コ ン ポーネン ト を採用 し てい る ため、 こ の章の内容の多 く はサー ド パーテ ィ ツールに も 当てはま り ます。

こ の章では、 Zynq UltraScale+ MPSoC デバ イ ス の各種プ ロ セ ッ サを対象に し たオープン ソ ース開発に利用で き る オープ ン ソ ース ツールについて も 簡単に説明 し ます。

Zynq UltraScale+ MPSoC デバ イ ス で動作す る ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン の開発 と デバ ッ グには、 次の よ う な包 括的な ツール セ ッ ト が用意 さ れてい ます。 • ハー ド ウ ェ ア IDE • ソ フ ト ウ ェ ア IDE • コ ンパ イ ラ ツールチ ェーン • デバ ッ グお よ び ト レース ポー ト • エンベデ ッ ド OS と ソ フ ト ウ ェ ア ラ イ ブ ラ リ • シ ミ ュ レー タ (例: QEMU) • モデルお よ びバーチ ャ ル プ ロ ト タ イ ピ ン グ ツール (例: エ ミ ュ レーシ ョ ン ボー ド プ ラ ッ ト フ ォーム)

サー ド パーテ ィ ツール ソ リ ューシ ョ ンは、 統合レベルおよ び Zynq UltraScale+ MPSoC デバ イ ス の直接サポー ト レベ ルが さ ま ざ ま です。

(25)

第 3 章: 開発ツール

Vivado Design Suite

ザ イ リ ン ク ス の Vivado® Design Suite には、 Vivado 統合設計環境 (IDE) に含まれ る ツールがあ り ます。 IDE は、 優れ た機能を備えた直感的な グ ラ フ ィ カル ユーザー イ ン タ ーフ ェ イ ス (GUI) を提供 し ます。

Vivado Design Suite は、 ザ イ リ ン ク ス ISE ソ フ ト ウ ェ アに代わ る 設計環境ですが、 シ ス テ ム オ ンチ ッ プ開発や高位合 成な ど の機能が追加 さ れてい ます。 こ の環境は、 シ ス テ ム レベルの統合や イ ンプ リ メ ン テーシ ョ ンでの生産性を高 め る ためにザ イ リ ン ク ス が開発 し た、 SoC デバ イ ス対応で IP やシ ス テ ム を中心 と する次世代開発環境です。 Vivado Design Suite 内のすべての ツールお よ びツール オプシ ョ ンは、 ネ イ テ ィ ブ ツール コ マ ン ド 言語 (Tcl) で記述 さ れてい る ため、 Vivado IDE と Vivado Design Suite Tcl シ ェ ルの両方で利用可能です。 解析や制約の割 り 当ては、 設計 プ ロ セ ス全体で可能です。 た と えば、 合成後、 配置後、 配線後のいつで も タ イ ミ ン グや消費電力の見積 も り を実行 で き ます。 デー タ ベース は Tcl を使用 し てア ク セ ス で き る ため、 イ ンプ リ メ ン ト し 直 さ な く て も 制約、 デザ イ ン構 成、 お よ びツール設定を リ アル タ イ ムに変更で き ます。 Vivado IDE では、 メ モ リ 内でデザ イ ン を開 く と い う コ ン セプ ト を導入 し てい ます。 デザ イ ン を開 く と 、 デザ イ ン フ ロ ーのその特定段階でのネ ッ ト リ ス ト が読み込まれ、 制約がデザ イ ンに割 り 当て ら れ、 デザ イ ンが タ ーゲ ッ ト デバ イ ス に適用 さ れます。 こ れに よ り 、 デザ イ ン を各段階で視覚化 し て処理で き ます。 重要: Vivado IDE では、 7 シ リ ーズ以降のデバイ ス を ターゲ ッ ト と するデザ イ ンのみがサポー ト さ れます。

Vivado Design Suite の次の機能を利用す る こ と で、 デザ イ ン の性能や扱いやす さ を向上 さ せ る こ と がで き ます。 • グ ラ フ ィ カル ユーザー イ ン タ ーフ ェ イ ス を備えた IP イ ン テグ レー ターのプ ロ セ ッ サ コ ン フ ィ ギ ュ レーシ ョ ン

ウ ィ ザー ド (PCW) で、 IP イ ン テグ レータ ー ブ ロ ッ ク デザ イ ン内で PS の作成およ び変更が可能です。 ビデオ: PCW の詳細は、 QuicTake ビデオ: 「Vivado Processor Configuration Wizard の概要」 を ご覧 く だ さ い。 • レ ジ ス タ 転送レベル (RTL) デザ イ ン (VHDL、 Verilog、 SystemVerilog) • Vivado IP イ ン テ グ レー タ ーでザ イ リ ン ク ス の IP カ タ ロ グ か ら コ ア をすばや く 統合お よ び設定 し 、 ブ ロ ッ ク デ ザ イ ン を作成 • Vivado 合成 • C 言語ベース の ソ ース (C、 C++、 SystemC、 OpenCL) • 配置お よ び配線を実行す る Vivado イ ンプ リ メ ン テーシ ョ ン • デバ ッ グ用の Vivado シ リ アル I/O およびロ ジ ッ ク アナ ラ イ ザー • Vivado 消費電力解析

• タ イ ミ ン グ制約を入力す る SDC ベース の XDC (Xilinx Design Constraints) • ス タ テ ィ ッ ク タ イ ミ ン グ解析

• 柔軟な フ ロ アプ ラ ン ニ ン グ

• 配置お よ び配線の詳細変更

• ビ ッ ト ス ト リ ーム生成

(26)

第 3 章: 開発ツール

ザイ リ ン ク スの ソ フ ト ウ ェ ア開発キ ッ ト

ザ イ リ ン ク ス ソ フ ト ウ ェ ア開発キ ッ ト (SDK) は、 ザ イ リ ン ク ス エンベデ ッ ド プ ロ セ ッ サを タ ーゲ ッ ト と する ソ フ ト ウ ェ ア アプ リ ケーシ ョ ンの開発に必要なすべてが揃っ た完全な環境を提供 し ます。 こ の中には、 GNU ベース の コ ン パ イ ラ ツールチ ェーン、 JTAG デバ ッ ガー、 フ ラ ッ シ ュ プ ロ グ ラ マ、 ミ ド ル ウ ェ ア ラ イ ブ ラ リ 、 ベア メ タ ル BSP、 お よ びザ イ リ ン ク ス IP 用 ド ラ イ バーが含まれます。 ま た、 C/C++ ベア メ タ ルお よび Linux アプ リ ケーシ ョ ン開発 と デバ ッ グ用の強力な IDE も 含まれます。 オープン ソ ース の Eclipse プ ラ ッ ト フ ォームがベース と な る SDK には、 C/C++ 開発ツールキ ッ ト (CDT) が統合 さ れてい ます。

SDK では、 ARM® Cortex™-A53 お よ び Cortex-R5 プ ロ セ ッ サ、 さ ら にはザ イ リ ン ク ス MicroBlaze™ プ ロ セ ッ サ*用に 統合 さ れた ツール セ ッ ト を使用 し て ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン を作成で き ます。 ま た、 アプ リ ケーシ ョ ン を作 成す る ための、 次の よ う な さ ま ざ ま な手段を提供 し てい ます。

° MicroBlaze 用のベア メ タ ルお よ び FreeRTOS アプ リ ケーシ ョ ン ° APU 用のベア メ タ ル、 Linux、 お よ び FreeRTOS アプ リ ケーシ ョ ン ° RPU 用のベア メ タ ルお よ び FreeRTOS アプ リ ケーシ ョ ン ° PMU フ ァ ーム ウ ェ アのユーザー カ ス タ マ イ ズ ° 次の ラ イ ブ ラ リ サンプル (すぐ に ソ ース を ロ ー ド し て構築可能) - OpenCV - OpenAMP RPC - FreeRTOS “HelloWorld” - lwIP - パフ ォーマ ン ス テ ス ト (Dhrystone、 メ モ リ テ ス ト 、 ペ リ フ ェ ラ ル テ ス ト ) - 画像やビ ッ ト ス ト リ ームの改ざんや変更を防 ぐ ための RSA 認証

- 第 1 段階ブー ト ロ ーダー (Zynq UltraScale+ MPSoC デバ イ ス の FSBL A53 ま たは R5(1))

Vivado の Project Navigator か ら ブ ロ ッ ク デザ イ ン、 ハー ド ウ ェ ア デザ イ ン フ ァ イ ル、 お よ びビ ッ ト ス ト リ ーム フ ァ イ ルを SDK のエ ク ス ポー ト デ ィ レ ク ト リ に直接エ ク ス ポー ト で き ます。 Vivado Design Suite の詳細は、 Vivado Design Suite に関す る 資料 [参照 20] を参照 し て く だ さ い。

こ のエ ク ス ポー ト プ ロ セ ス を完了 さ せる ために必要なすべてのプ ロ セ スは自動で実行 さ れます。 SDK プ ロ セ スは、 次の フ ァ イ ルを SDK デ ィ レ ク ト リ にエ ク ス ポー ト し ます。

° .project: Vivado のプ ロ ジ ェ ク ト フ ァ イ ル

° psu_init.tcl、 psu_init_gpl.c、 psu_init_gpl.h、 psu_init.c,psu_init.h: FSBL 作成時に必 要な情報を含む

° psu_init.html: Zynq UltraScale+ MPSoC レ ジ ス タ サマ リ ビ ュ ーアー ° system.hdf: ハー ド ウ ェ ア定義フ ァ イ ル

SDK では次の フ ァ イ ル も 生成で き ます。

1. Zynq-7000 AP SoC デバ イ ス は、 Cortex-A9 デバ イ ス を サポー ト し ます。 詳細は、 『Zynq-7000 All Programmable SoC ソ フ ト ウ ェ ア 開発者向けガ イ ド 』 (UG821) [参照 19] を参照 し て く だ さ い。

(27)

第 3 章: 開発ツール • FSBL (第 1 段階ブー ト ロ ーダー ) • 次のプ ロ セ ッ サのセキ ュ アお よ び非セキ ュ ア ブー ト 用ブー ト イ メ ージ ヘ ッ ダー (BOOT.BIN) ° ARM Cortex-A53 ° ARM Cortex-R5 ° MicroBlaze FSBL 作成の詳細は、第 7 章の 「ブー ト イ メ ージの生成」 を参照 し て く だ さ い。 コ ンパ イ ラ は、 次の よ う に切 り 替え可能です。 ° 32 ビ ッ ト ま たは 64 ビ ッ ト (Cortex-A53 を タ ーゲ ッ ト と す る アプ リ ケーシ ョ ン)

° 32 ビ ッ ト のみ (Cortex-A53、 Cortex-R5、 お よ びザ イ リ ン ク ス MicroBlaze を タ ーゲ ッ ト と す る アプ リ ケー シ ョ ン)

ビル ド 手順の一覧は、 ザ イ リ ン ク ス ソ フ ト ウ ェ ア開発キ ッ ト のヘルプ [参照 21] を参照 し て く だ さ い。 SDK を起動 し た後、 [ヘルプ] か ら さ ら な る検索が可能です。

ま た、 SDK には、 ザ イ リ ン ク ス エンベデ ッ ド ソ フ ト ウ ェ ア開発に使用で き る次のツール も 含まれます。

° Xilinx System Debugger (XSDB): シ ス テ ム デバ ッ ガー GUI お よ び コ マ ン ド ラ イ ン イ ン タ ーフ ェ イ ス経由で ザ イ リ ン ク ス の hw_server を利用で き ます。 ま た、 SDK では直接利用で き ない低レベルのデバ ッ グ機能 も 各種揃っ てい ます。 ° FPGA プ ロ グ ラ マ: ザ イ リ ン ク ス デバ イ ス に ビ ッ ト ス ト リ ーム を書 き 込み ます。 ° フ ラ ッ シ ュ プ ロ グ ラ マ: ビ ッ ト ス ト リ ームおよ び ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン イ メ ージ を外部パ ラ レル NOR フ ラ ッ シ ュ デバ イ ス に書 き 込みます。 ° リ ン カー ス ク リ プ ト ジ ェ ネ レータ ー : アプ リ ケーシ ョ ン イ メ ージ をハー ド ウ ェ ア メ モ リ 空間にマ ッ プ し ま す。 ° ブー ト イ メ ージ ジ ェ ネ レータ ー : ブー ト ロ ーダー、 ビ ッ ト ス ト リ ーム、 ユーザー アプ リ ケーシ ョ ン を結合 し てブー ト イ メ ージ を生成 し ます。 オプシ ョ ンで認証およ び暗号化を有効に も で き ます。 ° ザ イ リ ン ク ス ソ フ ト ウ ェ ア コ マン ド ラ イ ン ツール (XSCT): ザ イ リ ン ク ス ソ フ ト ウ ェ ア コ マン ド ラ イ ン ツールは Tcl ス ク リ プ ト をベース と し 、 SDK の イ ン ス ト ール時に提供 さ れます。 ユーザーは、 こ のツール で Tcl プ ロ ンプ ト を開き、 サポー ト さ れてい るすべての コ マン ド を使用で き ます。 ザ イ リ ン ク ス ソ フ ト ウ ェ ア コ マン ド ラ イ ン ツールは、 SDK コ マン ド 、 XSDB コ マン ド 、 および HSI コ マン ド を実行する ための ス ク リ プ ト 操作可能な コ マン ド ラ イ ン イ ン ターフ ェ イ ス です。 XSCT は、 [ス ター ト ] メ ニ ューか ら 起動で き ますが、 <SDK installation directory>/bin フ ォルダーの xsct.bat フ ァ イ ルを実行し て も 起動で き ます。 <SDK installation directory>/bin フ ォ ルダー XSCT でサポー ト さ れてい る すべての コ マ ン ド は、 カ テ ゴ リ 別にグループ化 さ れてい ます。 次の表にザ イ リ ン ク ス SDK ツール チ ェーン を示 し ます。 表 3-1: SDK でサポー ト さ れている ツール チ ェ ーン ツール 説明

GNU コ ンパ イ ラ ツール ス イ ー ト コ ンパ イ ルに使用 さ れ る GCC、 AS、 LD、 BIN UTILS な どのツールを 含む。

(28)

第 3 章: 開発ツール SDK では、 ソ フ ト ウ ェ ア開発プ ロ セ ス を容易にす る ために、 各 タ ス ク に対応す る 個別のパース ペ ク テ ィ ブ を提供 し ます。 C/C++ 開発で利用可能なパースペ ク テ ィ ブには次の も のがあ り ます。 ° C/C++ パー スペ ク テ ィ ブ ビ ュ ー : ソ フ ト ウ ェ ア C/C++ プ ロ ジ ェ ク ト の表示、 作成、 ビル ド に利用 し ます。 デフ ォ ル ト では、 エデ ィ タ ー領域のほか、 SDK プ ロ ジ ェ ク ト 、 C/C++ プ ロ ジ ェ ク ト (ワー ク スペース内の ソ フ ト ウ ェ ア プ ロ ジ ェ ク ト を表示)、 ナビ ゲーシ ョ ン コ ン ソ ール、 プ ロ パテ ィ 、 タ ス ク 、 make タ ーゲ ッ ト 、 ア ウ ト ラ イ ン、 検索な ど の各種ビ ュ ーで構成 さ れます。 ° シ ス テ ム デバ ッ ガー : ソ フ ト ウ ェ ア アプ リ ケーシ ョ ンのデバ ッ グに利用 し ます。 オープン ソ ース のシ ス テ ム デバ ッ ガーを カ ス タ マ イ ズ し た も のを SDK に統合 し てい ます。

° シ ス テ ム パフ ォーマン ス モニ タ ー: MicroBlaze デバ イ ス、およ び Zynq UltraScale+ MPSoC デバ イ ス の PL と PS のパ フ ォ ーマ ン ス サマ リ ビ ュ ーを利用 し て、 ハー ド ウ ェ アお よ び ソ フ ト ウ ェ ア シ ス テ ム のパ フ ォ ーマ ン ス特性評価が可能です。 ° リ モー ト シ ス テ ム エ ク ス プ ロ ー ラ ー : 各種 リ モー ト シ ス テ ムに接続 し て開発が可能です。 SDK は Linux アプ リ ケーシ ョ ン の開発を サポー ト し てい ますが、 Linux カーネルの開発 と デバ ッ グ を明示的に タ ー ゲ ッ ト と し てい ません。 こ れ ら の ツール と 機能は、 ザ イ リ ン ク ス PetaLinux ツールおよ びサー ド パーテ ィ のパー ト ナーに よ っ て提供 さ れます。 SDK 機能の詳細お よ び 「Hello World」 サ ン プル デザ イ ン を使用 し た SDK デザ イ ン フ ロ ーは、 ザ イ リ ン ク ス ソ フ ト ウ ェ ア開発キ ッ ト のヘルプ [参照 21] を参照 し て く だ さ い。 SDK ツールは、 「エ ンベデ ッ ド 開発」 ページ [参照 23] か ら ダ ウ ン ロ ー ド 可能です。

PetaLinux ツール

PetaLinux ツールには、 ザ イ リ ン ク ス のプ ロ セ ッ シ ン グ シ ス テ ム向けに組み込み Linux ソ リ ュ ーシ ョ ン を カ ス タ マ イ ズ、 ビル ド 、 お よ び展開す る ために必要な も のがすべて揃っ てい ます。 MPSoC の よ う なデバ イ ス の設計生産性向上 を目指 し て最適化 さ れた こ の ソ リ ュ ーシ ョ ンは、 ザ イ リ ン ク ス のハー ド ウ ェ ア設計ツール と 協調動作 し て Zynq UltraScale+ MPSoC デバ イ ス 向け Linux シ ス テ ム の開発を支援 し ます。

PetaLinux には次が含ま れ ます。

• GNU、 petalinux-build、 make な ど カーネル イ メ ージお よ びアプ リ ケーシ ョ ン ソ フ ト ウ ェ ア を ビル ド す る ためのビル ド ツール。 • GDB、 petalinux-boot、 お よ びプ ロ フ ァ イ リ ン グ用の oprofile を含むデバ ッ グ ツール。 次の表に、 サポー ト さ れ る PetaLinux ツール チ ェーン を示し ます。 make make ビル ド を サポー ト 。 パフ ォーマ ン ス解析ツール SPM、 GPROF、 OProfile を含む。 デバ ッ グ/ダ ウ ン ロ ー ド ツール GDB、 QEMU、 XSDB、 フ ラ ッ シ ュ ラ イ タ ーを含む。 表 3-1: SDK でサポー ト さ れている ツール チ ェ ーン (続き) ツール 説明

(29)

第 3 章: 開発ツール

詳細は、 次の資料を参照 し て く だ さ い。 ° PetaLinux ツール資料 [参照 2]

° 『Zynq エンベデ ッ ド デザ イ ン チ ュー ト リ アル』 (UG1165) [参照 17]

° 『Zynq UltraScale+ MPSoC OpenAMP ス タ ー ト ア ッ プ ガ イ ド 』 (UG1186) [参照 13]

オープ ン ソ ース

ザ イ リ ン ク ス ソ フ ト ウ ェ ア開発プ ラ ッ ト フ ォームには、 ARM GNU オープン ソ ース ツール チ ェーンが採用 さ れてい ます。 ザ イ リ ン ク ス ソ フ ト ウ ェ ア開発キ ッ ト (SDK) には Linux ホ ス ト 用 GNU ツールが含まれます。 こ のセ ク シ ョ ン では、 Zynq UltraScale+ MPSoC デバ イ ス のプ ロ セ ッ シ ン グ ク ラ ス タ ーに利用可能なオープン ソ ース GNU ツールおよ び Linux ツールについて説明 し ます。

ザイ リ ン ク ス ARM GNU ツール

次の表に、 APU、 RPU、 およ びエンベデ ッ ド MicroBlaze プ ロ セ ッ サのプ ロ グ ラ ミ ン グに利用可能なザ イ リ ン ク ス ARM GNU ツールの一部を示 し ます。

表 3-2: サポー ト さ れる PetaLinux ツール

ツール 説明

GNU ザ イ リ ン ク ス ARM GNU ツール。

PetaLinux-Build ソ フ ト ウ ェ ア イ メ ージ フ ァ イ ルの構築に使用 さ れ る PetaLinux ビル ド コ マ ン ド 。

make アプ リ ケーシ ョ ン を コ ンパ イ ルす る ための make ビル ド 。

GDB デバ ッ グ用の GDB ツール。

PetaLinux-Boot Linux を起動す る ために使用す る PetaLinux-Boot コ マ ン ド 。

QEMU Zynq UltraScale+ MPSoC デバ イ ス用のエ ミ ュ レー タ ー プ ラ ッ ト フ ォ ーム。

OProfile プ ロ フ ァ イ リ ン グに使用。 表 3-3: ザイ リ ン ク ス ARM GNU ツール ツール 説明 aarch64-linux-gnu-gcc aarch64-linux-gnu-g++ GNU C/C++ コ ンパ イ ラ

aarch64-linux-gnu-as GNU アセ ン ブ ラ ー aarch64-linux-gnu-ld GNU リ ン カー aarch64-linux-gnu-ar アーカ イ ブの作成、 変更、 お よ びアーカ イ ブか ら の フ ァ イ ル抽出用 ユーテ ィ リ テ ィ aarch64-linux-gnu-objcopy オブジ ェ ク ト フ ァ イ ルの コ ピー と 変換を実行 aarch64-linux-gnu-objdump オブジ ェ ク ト フ ァ イ ルか ら の情報を表示 aarch64-linux-gnu-size オブジ ェ ク ト ま たはアーカ イ ブ フ ァ イ ルのセ ク シ ョ ン サ イ ズ を リ ス ト 表示 プ ロ フ ァ イ リ ン グ情報を表示

図 2-1: Zynq UltraScale+ MPSoC デバイ スのハー ド ウ ェ ア アーキテ ク チ ャ
表 3-2: サポー ト さ れる PetaLinux ツール
図 3-1: Yocto Project 開発環境 User ConfigurationMetadata(.bb+patches)Machine(BSP)ConfigurationPolicy ConfigurationSourceFetchingPatchApplicationConfiguration / Compile /Autoreconf as neededOutputAnalysis for package splitting plusPackagerelationships.rpmGenera
図 4-1: ベア メ タ ル ソ フ ト ウ ェ ア開発ス タ ッ ク 8VHU$SSOLFDWLRQV
+7

参照

関連したドキュメント

The main problem upon which most of the geometric topology is based is that of classifying and comparing the various supplementary structures that can be imposed on a

From this figure it is clear that the counter-propagation network is composed of three layers: an input layer that reads input patterns from the training set and forwards them to

The ALERT interrupt latch is not reset by reading the status register but is reset when the ALERT output is serviced by the master reading the device address, provided the

The master then generates a (re)start condition and the 8-bit read slave address/data direction byte, and clocks out the register data, eight bits at a time. The master generates

This is done by starting a Byte Write sequence, whereby the Master creates a START condition, then broadcasts a Slave address with the R/W bit set to ‘0’ and then sends two

In our opinion, the financial statements referred to above present fairly, in all material respects, the consolidated financial position of The Tokyo Electric Power

⑭ Cases that descriptions meaning “the same” or using “as per attached” are entered in the field of “Consignor Address”, “Consignee Address”, and “Notify Party

In Default Interrupt mode, exceeding HTHL causes an interrupt that remains active indefinitely until reset by reading Interrupt Status Register 1 at address 01h or cleared by