R 本資料は英語版 (v11.1) を翻訳 し た ものです。 英語の更新バージ ョ ンが リ リ ース さ れている場合には、 最新の英語版 を必ずご参照 く だ さ い。
エ ンベデ ッ ド
シ ス テム
ツール
リ フ ァ レ ン ス
マニ ュ アル
エ ンベデ ッ ド 開発キ ッ ト
EDK 11.1
UG111 (EDK 11.1)© Copyright 2002 – 2009 Xilinx, Inc. All Rights Reserved.
XILINX, the Xilinx logo, the Brand Window and other designated brands included herein are trademarks of Xilinx, Inc. The PowerPC® name and logo are registered trademarks of IBM Corp., and used under license. All other trademarks are the property of their respective owners.
Disclaimer:
Xilinx is disclosing this user guide, manual, release note, and/or specification (the “Documentation”) to you solely for use in the development of designs to operate with Xilinx hardware devices. You may not reproduce, distribute, republish, download, display, post, or transmit the Documentation in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Xilinx. Xilinx expressly disclaims any liability arising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentation without notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you of any corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that may be provided to you in connection with the Information.
THE DOCUMENTATION IS DISCLOSED TO YOU ”AS-IS” WITH NO WARRANTY OF ANY KIND. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OF DATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION.
R
このマニ ュ アルについて
エンベデ ッ ド 開発キ ッ ト (EDK) は、MicroBlaze™ ソ フ ト プ ロ セ ッ サお よ び PowerPC® ハー ド プ ロ セ ッ サ を使用 し てエンベデ ッ ド プ ロ セ ッ サ シ ス テ ム を構築す る ために必要な、 設計ツールお よ びペ リ フ ェ ラ ルを含む開発キ ッ ト です。 こ のマニ ュ アルには、EDK に含まれ る エンベデ ッ ド シ ス テ ム ツールに関す る 情報が掲載 さ れてい ます。こ れ ら の ツールは、 プ ロ セ ッ サプ ラ ッ ト フ ォーム設計ユーテ ィ リ テ ィ 、 ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン開発ツール、 デバ ッ グ ツール、 デバ イ ス ド ラ イ バお よ び ラ イ ブ ラ リ で構成 さ れてお り 、 MicroBlaze お よ び PowerPC プ ロ セ ッ サ と そのペ リ フ ェ ラ ルの機能を最大限に活用 し た設計が可能 です。
マニ ュ アルの内容
こ のマニ ュ アルは、 次の章か ら 構成 さ れてい ます。 • 第 1 章 「エンベデ ッ ド シ ス テ ム と ツールの概要」• 第 2 章 「Platform Generator (Platgen)」
• 第 3 章 「Simulation Model Generator (Simgen)」
• 第 4 章 「Library Generator (Libgen)」
• 第 5 章 「Platform Specification Utility (PsfUtil)」
• 第 6 章 「バージ ョ ン管理ツール (revup)」
• 第 8 章 「Bitstream Initializer (BitInit)」
• 第 7 章 「フ ラ ッ シ ュ メ モ リ のプ ロ グ ラ ム」
• 第 9 章 「GNU コ ンパ イ ラ ツール」
• 第 10 章 「GNU デバ ッ ガ (GDB)」
• 第 11 章 「Xilinx Microprocessor Debugger (XMD)」
• 第 12 章 「System ACE フ ァ イ ルジ ェ ネ レー タ (GenACE)」
• 第 13 章 「コ マン ド ラ イ ンモー ド 」 • 第 14 章 「ザ イ リ ン ク ス Bash シ ェ ル」 • 付録 A 「GNU ユーテ ィ リ テ ィ 」 • 付録 B 「割 り 込み制御」 • 付録 C 「EDK Tcl イ ン タ ーフ ェ イ ス」 • 付録 D 「用語集」
このマニ ュ アルについて R
その他の リ ソ ース
• ザ イ リ ン ク スの Web サ イ ト http://japan.xilinx.com/ • ザ イ リ ン ク ス ア ンサーブ ラ ウ ザお よ びテ ク ニ カルサポー ト ウ ェ ブケース http://japan.xilinx.com/support• XPS (Xilinx Platform Studio) と EDK の Web サ イ ト
http://japan.xilinx.com/ise/embedded_design_prod/platform_studio.htm • XPS と EDK の資料 http://japan.xilinx.com/ise/embedded/edk_docs.htm • XPS/EDK でサポー ト さ れ る IP http://japan.xilinx.com/ise/embedded/edk_ip.htm • EDK のサンプルデザ イ ン http://japan.xilinx.com/ise/embedded/edk_examples.htm • チュー ト リ アル http://japan.xilinx.com/support/techsup/tutorials/index.htm • データ シー ト http://japan.xilinx.com/support/documentation/data_sheets.htm • プ ロ ブレ ム ソ ルバー http://japan.xilinx.com/support/troubleshoot/psolvers.htm • ISE® マニ ュ アル http://japan.xilinx.com/support/software_manuals.htm • その他のマニ ュ アル http://japan.xilinx.com/support/documentation/ • GNU マニ ュ アル http://www.gnu.org/manual
表記規則 R
表記規則
こ のマニ ュ アルでは、 次の表記規則を使用 し てい ます。各規則について、 例を挙げて説明 し ます。書体
次の規則は、 すべてのマニ ュ アルで使用 さ れてい ます。 表記規則 使用箇所 例 Courier フ ォ ン ト シ ス テ ム が表示す る メ ッ セージ、 プ ロ ンプ ト 、プ ロ グ ラ ム フ ァ イ ル を表示 し ます。 speed grade: - 100 Courierフ ォ ン ト (太字) 構文内で入力す る コ マ ン ド を 示 し ます。 ngdbuild design_name イ タ リ ッ ク フ ォ ン ト ユーザーが値 を 入力す る 必要の あ る 構文内の変数に使用 し ます。 ngdbuild design_name 二重/一重かぎかっ こ 『』、 「」 『』 はマ ニ ュ アル名を、 「」 はセ ク シ ョ ン名を示 し ます。 詳細は、 『 コ マン ド ラ イ ンツー ルユーザーガ イ ド 』 の 「PAR」 を参照 し て く だ さ い。 角かっ こ [ ] オ プ シ ョ ン の 入 力 ま た は パ ラ メ ー タ を示 し ますが、bus[7:0] の よ う な バ ス 仕様 で は必ず使用 し ま す。 ま た 、GUI 表記に も 使 用し ま す。 ngdbuild [option_name] design_name [File] → [Open] を ク リ ッ ク し ます。 中かっ こ { } 1 リ ス ト を示 し ます。つ以上の項目を選択す る ための lowpwr ={on|off} 縦棒 | 選択す る リ ス ト の 項目 を 分離 します。 lowpwr ={on|off} 縦の省略記号 . . . 繰 り 返 し 項目が省略 さ れ て い る こ と を示 し ます。IOB #1: Name = QOUT’ IOB #2: Name = CLKIN’ .
. .
このマニ ュ アルについて R
オ ン ラ イ ン
マニ ュ アル
こ のマニ ュ アルでは、 次の規則が使用 さ れてい ます。 表記規則 使用箇所 例 青色の文字 マ ニ ュ アル内の相互参照 を示 し ます。 詳細は、「その他の リ ソ ース」 を参 照 し て く だ さ い。 詳細は、第 1 章の「 タ イ ト ルフ ォー マ ッ ト 」 を参照 し て く だ さ い。 赤色の文字 ほかのマ ニ ュ アルへの相互参照 を示 し ます。 詳細は、 『Virtex-II Platform FPGA ユーザーガ イ ド 』 の図 2-5 を参照 し て く だ さ い。 青色の下線付 き 文字 Web サ イ ト (URL) への ハ イ パー リ ン ク です。 最新の ス ピー ド フ ァ イ ルは、 http://japan.xilinx.comか ら 入手で き ます。こ のマニ ュ アルについて
マニ ュ アルの内容 . . . 3 その他の リ ソ ース . . . 4 表記規則 . . . 5 書体 . . . 5 オン ラ イ ン マニ ュ アル . . . 6第
1
章
:
エ ンベデ ッ ド
シス テム と ツールの概要
EDK について . . . 19 関連 リ ソ ース . . . 20 設計プ ロ セ ス の概要 . . . 20 ハー ド ウ ェ ア開発 . . . 21 ソ フ ト ウ ェ ア開発 . . . 21 検証 . . . 21 シ ミ ュ レーシ ョ ン を使用 し たハー ド ウ ェ アの検証 . . . 21 デバ ッ グに よ る ソ フ ト ウ ェ アの検証 . . . 21 デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン . . . 21 EDK の概要 . . . 22 EDK ツールお よ びユーテ ィ リ テ ィ . . . 23Xilinx Platform Studio (XPS) . . . 24
XPS コ マン ド ラ イ ンモー ド . . . 25
Base System Builder (BSB) ウ ィ ザー ド . . . 25
Create and Import Peripheral (CIP) Wizard . . . 25
コ プ ロ セ ッ サ ウ ィ ザー ド . . . 26
Platform Generator (Platgen) . . . 26
Debug Configuration Wizard . . . 26
Simulation Model Generator (Simgen) . . . 27
バ ス フ ァ ン ク シ ョ ンモデル (BFM) . . . 27
Platform Specification Utility (PsfUtility) . . . 27
ソ フ ト ウ ェ ア開発キ ッ ト (SDK) . . . 27
Library Generator (Libgen) . . . 28
GNU コ ンパ イ ラ ツール (GCC) . . . 28
Xilinx Microprocessor Debugger (XMD) . . . 29
GNU デバ ッ ガ (GDB) . . . 29
シ ミ ュ レーシ ョ ン ラ イ ブ ラ リ コ ンパ イ ラ (CompLib) . . . 29
Bitstream Initializer (BitInit) . . . 29
System ACE フ ァ イ ルジ ェ ネ レー タ (GenACE) . . . 29
フ ラ ッ シ ュ メ モ リ プ ロ グ ラ マ . . . 30
フ ォーマ ッ ト リ ビ ジ ョ ン ツールお よ び Version Management Wizard . . . 30
目次
R
第
2
章
: Platform Generator (Platgen)
機能 . . . 31 関連 リ ソ ース . . . 32 ツール要件 . . . 32 Platgen の使用法 . . . 32 Platgen の コ マン ド オプシ ョ ン . . . 32 デ ィ レ ク ト リ 構造 . . . 33 出力フ ァ イ ル . . . 34 hdl デ ィ レ ク ト リ . . . 34 implementation デ ィ レ ク ト リ . . . 34 synthesis デ ィ レ ク ト リ . . . 34 BMM フ ロ ー . . . 34 合成ネ ッ ト リ ス ト キ ャ ッ シ ュ . . . 35
第
3
章
: Simulation Model Generator (Simgen)
Simgen の概要 . . . 37 関連 リ ソ ース . . . 38 シ ミ ュ レーシ ョ ン ラ イ ブ ラ リ . . . 38 ザ イ リ ン ク ス ISE ラ イ ブ ラ リ . . . 38 UNISIM ラ イ ブ ラ リ . . . 38 SIMPRIM ラ イ ブ ラ リ . . . 38 XilinxCoreLib ラ イ ブ ラ リ . . . 39 ザ イ リ ン ク ス EDK ラ イ ブ ラ リ . . . 39 EDK ラ イ ブ ラ リ の検索順 . . . 39 Compxlib ユーテ ィ リ テ ィ . . . 39 シ ミ ュ レーシ ョ ンモデル . . . 40 ビヘ イ ビ アモデル . . . 40 構造モデル . . . 41 タ イ ミ ン グ モデル . . . 41 単一言語モデル と 混合言語モデル . . . 42 XPS のバ ッ チモー ド を使用 し たシ ミ ュ レーシ ョ ンモデルの作成 . . . 42 Simgen の構文 . . . 43 要件 . . . 43 Simgen の コ マン ド オプシ ョ ン . . . 43 出力フ ァ イ ル . . . 45 メ モ リ の初期化 . . . 46 VHDL . . . 46 Verilog . . . 46 テ ス ト ベンチ . . . 46 VHDL テ ス ト ベンチの例 . . . 47 Verilog テ ス ト ベンチの例 . . . 48 デザ イ ンのシ ミ ュ レーシ ョ ン . . . 49 制限 . . . 50目次 R
第
4
章
: Library Generator (Libgen)
概要 . . . 51 関連 リ ソ ース . . . 52 Libgen の使用法 . . . 52 Libgen の コ マ ン ド オプシ ョ ン . . . 52 デ ィ レ ク ト リ 構造 . . . 54 PC のデ ィ レ ク ト リ . . . 54 追加デ ィ レ ク ト リ の指定 . . . 54 デ ィ レ ク ト リ の検索順 . . . 54 出力フ ァ イ ル . . . 55 include デ ィ レ ク ト リ . . . 55 lib デ ィ レ ク ト リ . . . 56 libsrc デ ィ レ ク ト リ . . . 56 code デ ィ レ ク ト リ . . . 56 ラ イ ブ ラ リ お よび ド ラ イ バの生成 . . . 56 概要 . . . 56 MDD、MLD、 お よ び Tcl . . . 57 MSS フ ァ イ ルのパ ラ メ ー タ . . . 57 ド ラ イ バ . . . 57 ラ イ ブ ラ リ . . . 58 OS ブ ロ ッ ク . . . 59
第
5
章
: Platform Specification Utility (PsfUtil)
PsfUtil の コ マ ン ド オプシ ョ ン . . . 62 MPD フ ァ イ ル作成プ ロ セ ス の概要 . . . 63 MPD フ ァ イ ル自動生成の使用法 . . . 63 バ ス イ ン ターフ ェ イ ス を 1 つ使用す る ペ リ フ ェ ラ ル . . . 63 信号の命名規則 . . . 64 PsfUtil の実行 . . . 64 複数のバ ス イ ン ターフ ェ イ ス を使用す る ペ リ フ ェ ラ ル . . . 64 非排他的お よ び排他的バ ス イ ン タ ーフ ェ イ ス . . . 64 ポ イ ン ト ツーポ イ ン ト 接続を含むペ リ フ ェ ラ ル . . . 65 PsfUtil での DRC チ ェ ッ ク . . . 65 HDL ソ ースエ ラ ー . . . 65 バ ス イ ン ターフ ェ イ ス チ ェ ッ ク . . . 65 HDL ペ リ フ ェ ラ ルの定義 . . . 66 バ ス イ ン ターフ ェ イ ス の命名規則 . . . 66 VHDL ジ ェ ネ リ ッ ク の命名規則 . . . 66 予約済みパ ラ メ ー タ . . . 68 バ ス イ ン ターフ ェ イ ス信号の命名規則 . . . 69 グ ロ ーバルポー ト . . . 70 ス レーブ DCR ポー ト . . . 70 DCR ス レーブ出力 . . . 71 DCR ス レーブ入力 . . . 71 ス レーブ FSL ポー ト . . . 71 FSL ス レーブ出力 . . . 71目次 R FSL ス レーブ入力 . . . 72 マ ス タ FSL ポー ト . . . 72 FSL マ ス タ 出力 . . . 72 FSL マ ス タ 入力 . . . 72 ス レーブ LMB ポー ト . . . 73 LMB ス レーブ出力 . . . 73 LMB ス レーブ入力 . . . 73 マ ス タ OPB ポー ト . . . 74 OPB マ ス タ 出力 . . . 74 OPB マ ス タ 入力 . . . 74 ス レーブ OPB ポー ト . . . 75 OPB ス レーブ出力 . . . 75 OPB ス レーブ入力 . . . 76 マ ス タ/ス レーブ OPB ポー ト . . . 76 OPB マ ス タ/ス レーブ出力 . . . 77 OPB マ ス タ/ス レーブ入力 . . . 77 マ ス タ PLB ポー ト . . . 78 PLB マ ス タ 出力 . . . 78 PLB マ ス タ 入力 . . . 79 ス レーブ PLB ポー ト . . . 79 PLB ス レーブ出力 . . . 80 PLB ス レーブ入力 . . . 80 マ ス タ PLBV46 ポー ト . . . 81 PLBV46 マ ス タ 出力 . . . 81 PLBV46 マ ス タ 入力 . . . 81 ス レーブ PLBV46 ポー ト . . . 82 PLBV46 ス レーブ出力 . . . 82 PLBV46 ス レーブ入力 . . . 83
第
6
章
:
バージ ョ ン管理ツール
(revup)
概要 . . . 85 フ ォーマ ッ ト リ ビ ジ ョ ン ツールに よ る バ ッ ク ア ッ プお よ びア ッ プデー ト . . . 86 11.1 での変更 . . . 86 10.1 での変更 . . . 86 9.2i での変更 . . . 86 9.1i での変更点 . . . 87 8.2i での変更点 . . . 87 8.1i での変更点 . . . 87 7.1i での変更点 . . . 87 6.3i での変更点 . . . 87 6.2i での変更点 . . . 88 フ ォーマ ッ ト リ ビ ジ ョ ン ツールの コ マ ン ド オプシ ョ ン . . . 88Version Management Wizard . . . 88
第
7
章
:
フ ラ ッ シ ュ
メ モ リ のプ ログ ラ ム
概要 . . . 89目次 R XPS お よ び SDK を使用 し た フ ラ ッ シ ュ デバ イ ス のプ ロ グ ラ ム . . . 90 サポー ト さ れ る フ ラ ッ シ ュ ハー ド ウ ェ ア . . . 90 フ ラ ッ シ ュ プ ロ グ ラ マのパフ ォーマン ス . . . 91 フ ラ ッ シ ュ のプ ロ グ ラ ム設定のカ ス タ マ イ ズ . . . 92 ブー ト ロ ーダ アプ リ ケーシ ョ ン用に ELF フ ァ イ ルを SREC に手動で 変換す る 方法 . . . 94 操作上の注意点 と 回避策 . . . 94 競合す る セ ク タ レ イ ア ウ ト での フ ラ ッ シ ュ デバ イ ス の処理 . . . 94 AMD/富士通 コ マン ドセ ッ ト のデー タ ポー リ ン グアルゴ リ ズ ム . . . 95
第
8
章
: Bitstream Initializer (BitInit)
概要 . . . 97 BitInit の使用法 . . . 97 BitInit の コ マン ド オプシ ョ ン . . . 98第
9
章
: GNU
コ ンパイ ラ
ツール
概要 . . . 99 関連 リ ソ ース . . . 100 コ ンパ イ ラ の フ レーム ワー ク . . . 101 コ ンパ イ ラ の使用法 と オプシ ョ ン . . . 102 構文 . . . 102 入力フ ァ イ ル . . . 102 出力フ ァ イ ル . . . 103 フ ァ イ ルタ イ プ と その拡張子 . . . 103 ラ イ ブ ラ リ . . . 103 言語 タ イ プ . . . 104 よ く 使用 さ れ る コ ンパ イ ラ オプシ ョ ンの一覧 . . . 105 一般オプシ ョ ン . . . 105 ラ イ ブ ラ リ 検索オプシ ョ ン . . . 108 ヘ ッ ダフ ァ イ ル検索オプシ ョ ン . . . 108 デフ ォ ル ト の検索パ ス . . . 108 リ ン カオプシ ョ ン . . . 109 メ モ リ の レ イ ア ウ ト . . . 109 予約済み メ モ リ . . . 110 I/O メ モ リ . . . 110 ユーザーお よ びプ ロ グ ラ ム メ モ リ . . . 110 オブジ ェ ク ト フ ァ イ ルのセ ク シ ョ ン . . . 111 リ ン カス ク リ プ ト . . . 113 MicroBlaze コ ンパ イ ラ の使用法 と オプシ ョ ン . . . 115 MicroBlaze コ ンパ イ ラ . . . 115 MicroBlaze コ ンパ イ ラ オプシ ョ ンの一覧 . . . 115 プ ロ セ ッ サ機能選択オプシ ョ ン . . . 115 一般プ ロ グ ラ ムオプシ ョ ン . . . 118 アプ リ ケーシ ョ ン実行モー ド . . . 119 位置独立 コ ー ド (PIC) . . . 120 MicroBlaze アプ リ ケーシ ョ ンバ イ ナ リ イ ン タ ーフ ェ イ ス . . . 120目次 R MicroBlaze アセ ンブ ラ . . . 120 MicroBlaze リ ン カオプシ ョ ン . . . 122 MicroBlaze リ ン カ ス ク リ プ ト で割 り 当て ら れ る セ ク シ ョ ン . . . 123 リ ン カス ク リ プ ト を記述ま たはカ ス タ マ イ ズす る 際の ヒ ン ト . . . 123 ス タ ー ト ア ッ プフ ァ イ ル . . . 124 第 1 段階の初期化フ ァ イ ル . . . 125 第 2 段階の初期化フ ァ イ ル . . . 125 その他の フ ァ イ ル . . . 126 ス タ ー ト ア ッ プフ ァ イ ルの変更 . . . 127 C プ ロ グ ラ ムの ス タ ー ト ア ッ プコ ー ド サ イ ズの削減 . . . 127 コ ンパ イ ラ ラ イ ブ ラ リ . . . 128 ス レ ッ ド セーフ . . . 128 コ マ ン ド ラ イ ン引数 . . . 129 割 り 込みハン ド ラ . . . 129 interrupt_handler 属性 . . . 129 save_volatiles 属性 . . . 129 PowerPC コ ンパ イ ラ の使用法 と オプシ ョ ン . . . 130 PowerPC コ ンパ イ ラ オプシ ョ ンの一覧 . . . 130 PowerPC コ ンパ イ ラ オプシ ョ ン . . . 130 PowerPC プ ロ セ ッ サ リ ン カオプシ ョ ン . . . 132 PowerPC プ ロ セ ッ サ リ ン カス ク リ プ ト で割 り 当て ら れ る セ ク シ ョ ン . . . 132 リ ン カス ク リ プ ト を記述ま たはカ ス タ マ イ ズす る 際の ヒ ン ト . . . 133 ス タ ー ト ア ッ プフ ァ イ ル . . . 134 初期化フ ァ イ ル . . . 134 ス タ ー ト ア ッ プフ ァ イ ルの説明 . . . 135 その他の フ ァ イ ル . . . 135 ス タ ー ト ア ッ プフ ァ イ ルの変更 . . . 136 C プ ロ グ ラ ムの ス タ ー ト ア ッ プコ ー ド サ イ ズの削減 . . . 136 アプ リ ケーシ ョ ン をブー ト ロ ーダーで読み込む場合の ス タ ー ト ア ッ プ フ ァ イ ルの変更 . . . 137 コ ンパ イ ラ ラ イ ブ ラ リ . . . 137 ス レ ッ ド セーフ . . . 137 コ マ ン ド ラ イ ン引数 . . . 137 その他の メ モ . . . 138 C++ コ ー ド のサ イ ズ . . . 138 C++ 標準 ラ イ ブ ラ リ . . . 138 位置独立 コ ー ド (PIC) . . . 138 その他のオプシ ョ ンお よ び機能 . . . 138
第
10
章
: GNU
デバ ッ ガ
(GDB)
概要 . . . 139 GDB の使用法 . . . 139 GDB の コ マ ン ド オプシ ョ ン . . . 139 GDB を使用 し たデバ ッ グフ ロ ー . . . 140 関連 リ ソ ース . . . 140 MicroBlaze GDB の タ ーゲ ッ ト . . . 140目次 R シ ミ ュ レー タ . . . 140 ハー ド ウ ェ ア . . . 140 MicroBlaze をデバ ッ グす る ための コ ンパ イ ル . . . 141 PowerPC 405 のデバ ッ グ . . . 141 PowerPC 440 のデバ ッ グ . . . 141 コ ン ソ ールモー ド . . . 142 GDB コ マン ド に関す る リ フ ァ レ ン ス情報 . . . 143
第
11
章
: Xilinx Microprocessor Debugger (XMD)
関連 リ ソ ース . . . 146 XMD の使用法 . . . 147 XMD コ ン ソ ール . . . 148 XMD コ マン ド . . . 148 XMD ユーザーコ マン ド の一覧 . . . 148 XMD ユーザーコ マン ド . . . 149 特殊用途レ ジ ス タ 名 . . . 155 MicroBlaze の特殊用途レ ジ ス タ 名 . . . 155 PowerPC 405 プ ロ セ ッ サの特殊用途レ ジ ス タ 名 . . . 156 PowerPC 440 プ ロ セ ッ サの特殊用途レ ジ ス タ 名 . . . 156 XMD の リ セ ッ ト シーケ ン ス . . . 157 PowerPC 405 プ ロ セ ッ サ . . . 157 PowerPC 440 プ ロ セ ッ サ . . . 158 MicroBlaze . . . 158 推奨 さ れ る XMD フ ロ ー . . . 158 1 つのプ ロ グ ラ ムのデバ ッ グ . . . 158 複数プ ロ セ ッ サ環境でのプ ロ グ ラ ムのデバ ッ グ . . . 159 デバ ッ グセ ッ シ ョ ンでのプ ロ グ ラ ムの実行 . . . 159 自動例外 ト ラ ッ プでのセーフ モー ド の使用 . . . 159 プ ロ セ ッ サのデフ ォ ル ト 例外設定 . . . 160 例外設定の上書 き . . . 161 セーフ モー ド 設定の表示 . . . 161 connect コ マ ン ド のオプシ ョ ン . . . 162 構文 . . . 162 PowerPC プ ロ セ ッ サ . . . 162 PowerPC プ ロ セ ッ サハー ド ウ ェ アの接続 . . . 162 PowerPC プ ロ セ ッ サのデバ ッ グにおけ る 要件 . . . 165 デバ ッ グセ ッ シ ョ ンの例 . . . 166 シ ミ ュ レー タ を使用 し た PowerPC プ ロ セ ッ サのデバ ッ グ . . . 170 PowerPC プ ロ セ ッ サ ISS の実行 . . . 170 ISS を使用 し た PowerPC プ ロ セ ッ サのデバ ッ グセ ッ シ ョ ン例 . . . 172 DCR、TLB、 お よ びキ ャ ッ シ ュ のア ド レ ス空間 と そのア ク セ ス . . . 172 PowerPC プ ロ セ ッ サのデバ ッ グ ヒ ン ト (ア ド バン ス) . . . 174 MicroBlaze プ ロ セ ッ サのデバ ッ グ . . . 175 MDM を使用 し た MicroBlaze のデバ ッ グ . . . 175 MDM を使用 し た MicroBlaze のデバ ッ グにおけ る 要件 . . . 176 デバ ッ グセ ッ シ ョ ンの例 . . . 176目次 R XMDStub を使用 し た MicroBlaze のデバ ッ グ . . . 178 XMDStub/JTAG を使用 し た MicroBlaze のデバ ッ グ用の コ マ ン ド オプシ ョ ン . . . . 178 XMDStub/シ リ アルイ ン タ ーフ ェ イ ス を使用 し た MicroBlaze のデバ ッ グ用の コ マ ン ド オプシ ョ ン . . . 179 XMDStub を使用 し たデバ ッ グにおけ る 要件 . . . 180 シ ミ ュ レー タ を使用 し た MicroBlaze のデバ ッ グ . . . 181 シ ミ ュ レー タ を使用 し たデバ ッ グにおけ る 要件 . . . 181 MDM ペ リ フ ェ ラ ルお よ び UART を使用 し たデバ ッ グ . . . 182 デバ ッ グセ ッ シ ョ ンの設定 . . . 182 マルチプ ロ セ ッ シ ン グシ ス テ ムでの リ セ ッ ト の設定 . . . 184 XMD 内部 Tcl コ マ ン ド . . . 185 プ ロ グ ラ ム初期化オプシ ョ ン . . . 185 レ ジ ス タ/メ モ リ のオプシ ョ ン . . . 186 プ ロ グ ラ ム制御オプシ ョ ン . . . 187 プ ロ グ ラ ム ト レースお よびプ ロ フ ァ イ ルオプシ ョ ン . . . 189 その他の コ マ ン ド . . . 189
第
12
章
: System ACE
フ ァ イル
ジ ェ ネ レー タ
(GenACE)
必要条件 . . . 191 ツール要件 . . . 192 GenACE の機能 . . . 192 GenACE モデル . . . 192 genace.tcl ス ク リ プ ト . . . 193 構文 . . . 193 構文 . . . 196 Genace.tcl ス ク リ プ ト でサポー ト さ れ る ターゲ ッ ト ボー ド . . . 196 ACE フ ァ イ ルの作成 . . . 197 カ ス タ ムボー ド . . . 197 1 つの FPGA デバ イ ス . . . 197 ハー ド ウ ェ ア と ソ フ ト ウ ェ アの コ ン フ ィ ギ ュ レーシ ョ ン . . . 197 ハー ド ウ ェ ア と ソ フ ト ウ ェ アのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン . . . 197 ハー ド ウ ェ アのみの コ ン フ ィ ギ ュ レーシ ョ ン . . . 197 ハー ド ウ ェ アのみのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン . . . 197 ソ フ ト ウ ェ アのみの コ ン フ ィ ギ ュ レーシ ョ ン . . . 198 複数プ ロ セ ッ サシ ス テ ムの 1 つのプ ロ セ ッ サの ACE 作成 . . . 198 複数のプ ロ セ ッ サを含むシ ス テ ムの コ ン フ ィ ギ ュ レーシ ョ ン . . . 198 複数の FPGA デバ イ ス . . . 199 関連情報 . . . 201 CF デバ イ ス フ ォーマ ッ ト . . . 201第
13
章
:
コ マ ン ド
ラ イ ン
モー ド
XPS コ マン ド ラ イ ンモー ド の起動 . . . 203 新規プ ロ ジ ェ ク ト の作成 (空のプ ロ ジ ェ ク ト) . . . 204 新規プ ロ ジ ェ ク ト の作成 (既存の MHS フ ァ イ ルを指定) . . . 204 既存のプ ロ ジ ェ ク ト を開 く . . . 204 MSS フ ァ イ ルの読み込み . . . 204目次 R プ ロ ジ ェ ク ト フ ァ イ ルの保存 . . . 205 プ ロ ジ ェ ク ト オプシ ョ ンの設定 . . . 205 フ ロー コ マン ド の実行 . . . 206 MHS フ ァ イ ルの再読み込み . . . 207 ソ フ ト ウ ェ アアプ リ ケーシ ョ ンの追加 . . . 207 ソ フ ト ウ ェ アアプ リ ケーシ ョ ンの削除 . . . 208 ソ フ ト ウ ェ アアプ リ ケーシ ョ ンへのプ ロ グ ラ ム フ ァ イ ルの追加 . . . 208 ソ フ ト ウ ェ アアプ リ ケーシ ョ ンか ら のプ ロ グ ラ ム フ ァ イ ルの削除 . . . 208 ソ フ ト ウ ェ アアプ リ ケーシ ョ ンのオプシ ョ ンの設定 . . . 208 特殊な ソ フ ト ウ ェ アアプ リ ケーシ ョ ンの設定 . . . 209 制限 . . . 210 MSS フ ァ イ ルの変更 . . . 210 XMP フ ァ イ ルの変更 . . . 210
第
14
章
:
ザイ リ ン ク ス
Bash
シ ェ ル
概要 . . . 211 EDK で イ ン ス ト ール さ れ る Cygwin 環境 . . . 211 既存の Cygwin 環境を使用す る ための要件 . . . 211 ザ イ リ ン ク ス Bash シ ェ ル . . . 211 xbash の使用 . . . 212 -override オプシ ョ ン と -undo オプシ ョ ン . . . 212Windows Vista での Cygwin . . . 212
付録
A : GNU
ユーテ ィ リ テ ィ
MicroBlaze お よ び PowerPC の汎用ユーテ ィ リ テ ィ . . . 213 cpp . . . 213 gcov . . . 213 MicroBlaze お よ び PowerPC 専用ユーテ ィ リ テ ィ . . . 213 mb-addr2line . . . 213 mb-ar . . . 213 mb-as . . . 213 mb-c++ . . . 214 mb-c++filt . . . 214 mb-g++ . . . 214 mb-gasp . . . 214 mb-gcc . . . 214 mb-gdb . . . 214 mb-gprof . . . 214 mb-ld . . . 214 mb-nm . . . 214 mb-objcopy . . . 214 mb-objdump . . . 214 mb-ranlib . . . 215 mb-readelf . . . 215 mb-size . . . 215 mb-strings . . . 215目次 R mb-strip . . . 215 その他のプ ロ グ ラ ムお よびフ ァ イ ル . . . 215
付録
B :
割 り 込み制御
関連 リ ソ ース . . . 217 ハー ド ウ ェ アの設定 . . . 218 ソ フ ト ウ ェ アの設定 と 割 り 込みフ ロ ー . . . 219 MicroBlaze シ ス テ ムの割 り 込みフ ロー . . . 219 PowerPC シ ス テ ムの割 り 込みフ ロ ー . . . 221 ソ フ ト ウ ェ ア API . . . 223 割 り 込み コ ン ト ロー ラ ド ラ イ バ . . . 223 API の説明 . . . 224 MicroBlaze 用の ス タ ン ド ア ロ ン ソ フ ト ウ ェ アプ ラ ッ ト フ ォーム API . . . 226 MicroBlaze の割 り 込み設定例 . . . 227 PowerPC 405 お よ び 440 プ ロ セ ッ サ用の ス タ ン ド ア ロ ン ソ フ ト ウ ェ ア API . . . 229 PowerPC プ ロ セ ッ サの割 り 込み設定例 . . . 231付録
C : EDK Tcl
イ ン タ ー フ ェ イ ス
は じ めに . . . 235 その他の リ ソ ース . . . 235 ハン ド ル . . . 236 デー タ構造の作成 . . . 236 Tcl コ マン ド の使用法 . . . 237 一般的な規則 . . . 237 Tcl コ マン ド 使用前の確認事項 . . . 237 EDK ハー ド ウ ェ ア Tcl コ マ ン ド . . . 238 概要 . . . 238 ハー ド ウ ェ ア読み出 し ア ク セ ス API . . . 239 ハー ド ウ ェ ア読み出 し ア ク セ ス API の一覧 . . . 239 ハー ド ウ ェ ア読み出 し ア ク セ ス API の説明 . . . 239 ハー ド ウ ェ ア API を使用す る Tcl の例 . . . 247 例 1 . . . 247 例 2 . . . 247 ア ド バン ス書 き 込みア ク セ ス API . . . 248 ハー ド ウ ェ アア ド バン ス書 き 込みア ク セ スハー ド ウ ェ ア API の一覧 . . . 248 ハー ド ウ ェ アア ド バン ス書 き 込みア ク セ ス API の説明 . . . 249 ソ フ ト ウ ェ ア Tcl コ マ ン ド . . . 254 ソ フ ト ウ ェ ア API で使用 さ れ る 用語 . . . 254 ソ フ ト ウ ェ ア読み出 し ア ク セ ス API . . . 255 ソ フ ト ウ ェ ア読み出 し ア ク セ ス API の一覧 . . . 255 ソ フ ト ウ ェ ア読み出 し ア ク セ ス API の説明 . . . 256 ハー ド ウ ェ アプ ラ ッ ト フ ォーム生成の Tcl フ ロ ー . . . 264 入力フ ァ イ ル . . . 264 ハー ド ウ ェ アプ ラ ッ ト フ ォーム生成中に呼び出 さ れ る Tcl プ ロ シージ ャ . . . 264 統合ハー ド ウ ェ アデー タ 構造の追加のキーワ ー ド . . . 270 ソ フ ト ウ ェ アプ ラ ッ ト フ ォーム生成の Tcl フ ロ ー . . . 271目次 R
入力フ ァ イ ル . . . 271 Libgen か ら の Tcl プ ロ シージ ャ 呼び出 し . . . 271
目次
R
第
1
章
エ ン ベデ ッ ド
シ ス テム と ツールの概要
こ の章では、 ザ イ リ ン ク ス のエンベデ ッ ド 開発キ ッ ト (EDK) で PowerPC® (405 と 440) プ ロ セ ッ サお よ び MicroBlaze™ エンベデ ッ ド プ ロ セ ッ サを使用 し た シ ス テ ム を開発す る 際に使用す る エン ベデ ッ ド シ ス テ ムツール と 開発フ ロ ーについて説明 し ます。こ の章には、次のセ ク シ ョ ンが含まれ てい ます。 • EDK について • 関連 リ ソ ース • 設計プ ロ セ ス の概要 • EDK の概要EDK
について
ザ イ リ ン ク スエンベデ ッ ド 開発キ ッ ト (EDK) シ ス テ ム ツールでは、ザ イ リ ン ク ス FPGA デバ イ ス に イ ンプ リ メ ン ト す る エンベデ ッ ド プ ロ セ ッ サシ ス テ ム を設計で き ます。 EDK には、 次の も のが含まれます。• Xilinx® Platform Studio (XPS) シ ス テ ム ツール : エンベデ ッ ド プ ロ セ ッ サのハー ド ウ ェ ア を 設計す る ために使用 し ます。 • ソ フ ト ウ ェ ア開発キ ッ ト (SDK) : Eclipse オープン ソ ース フ レーム ワー ク に基づ く ツールで、 エンベデ ッ ド ソ フ ト ウ ェ アアプ リ ケーシ ョ ンの開発に使用で き ます。 SDK は、 ス タ ン ド ア ロ ンプ ロ グ ラ ム と し て も 提供 さ れてい ます。 • プ ロ セ ッ サおよびペ リ フ ェ ラルなどのエンベデ ッ ド プ ロ セ ッ サ IP コ ア EDK は、ザ イ リ ン ク スプ ロ グ ラ マブル ロ ジ ッ クデバ イ ス にデザ イ ン を イ ンプ リ メ ン ト す る のに必 要な開発シ ス テ ムであ る ISE® (Integrated Software Environment) の コ ンポーネ ン ト です。ISE の イ ン ス ト ールで EDK を 選択す る と イ ン ス ト ール さ れ ま す。SDK は、ISE ま たは EDK を イ ン ス
ト ールせずに ス タ ン ド ア ロ ン と し て も イ ン ス ト ールで き ます。 EDK 環境で も デザ イ ンの作成お よ び イ ンプ リ メ ン テーシ ョ ンはサポー ト さ れますが、 まず ISE プ ロ ジ ェ ク ト を作成 し 、 その ISE プ ロ ジ ェ ク ト にエンベデ ッ ド プ ロ セ ッ サ ソ ース を追加す る デザ イ ンフ ローをお勧め し ます。EDK は、 マ イ ク ロ プ ロ セ ッ サハー ド ウ ェ アデザ イ ン を合成 し 、FPGA タ ーゲ ッ ト デバ イ ス にマ ッ プ し て、ビ ッ ト ス ト リ ーム を生成お よ びダ ウ ン ロ ー ド す る のに ISE コ ン ポーネ ン ト を使用 し ます。
ISE の詳細は、ISE ソ フ ト ウ ェ アのマニ ュ アルお よ びヘルプ を参照 し て く だ さ い。 ISE ソ フ ト ウ ェ アマニ ュ アルお よびその他の情報への リ ン ク は、4 ページの 「その他の リ ソ ース」 にあ り ます。
第 1 章 : エ ンベデ ッ ド シ ステム と ツールの概要
R
関連 リ ソ ース
• 『Platform Specification Format Reference Manual』 『OS and Libraries Document Collection』
『BFM Simulation in Platform Studio』 『EDK コ ン セプ ト 、 ツール、 テ ク ニ ッ ク 』 http://japan.xilinx.com/ise/embedded/edk_docs.htm • PowerPC (405 お よ び 440) プ ロ セ ッ サブ ロ ッ ク リ フ ァ レ ン ス ガ イ ド http://japan.xilinx.com/support/documentation/user_guides/ug018.pdf http://japan.xilinx.com/support/documentation/user_guides/ug011.pdf • 『MicroBlaze プ ロ セ ッ サ リ フ ァ レ ン ス ガ イ ド 』 http://japan.xilinx.com/support/documentation/sw_manuals/j_mb_ref_guide.pdf
設計プ ロ セスの概要
EDK に含まれ る ツールを使用す る と 、図 1-1に示す よ う に、 エンベデ ッ ド シ ス テ ムの設計フ ロ ー を最初か ら 最後ま で実行で き ます。 図 1-1 : 基本的なエ ンベデ ッ ド システム設計プ ロ セスの フ ロー X11124 デバイス コンフィギュレーションISE (Integrated Software Environment)
XPS
(Xilinx Platform Studio)
デザイン インプリメンテーション SDK ソフトウェア開発キット ソフトウェアのプロファイル作成 ソフトウェア開発 ソフトウェア デバッグ ChipScope Pro PlanAhead Embedded Edition に 含まれているその他のツール 検証ファイルの生成 プロセッサ ハードウェア開発 ハードウェア プラット フォーム デバイス コンフィギュレーション
設計プ ロ セスの概要 R
ハー ド ウ ェ ア開発
ザ イ リ ン ク ス の FPGA 技術を使用す る と 、 プ ロ セ ッ ササブシ ス テ ムのハー ド ウ ェ ア ロ ジ ッ ク を カ ス タ マ イ ズ可能です。標準的なマ イ ク ロ プ ロ セ ッ サチ ッ プ ま たは コ ン ト ロ ー ラ チ ッ プでは、 こ の よ う なカ ス タ マ イ ズは不可能です。 ハー ド ウ ェ ア プ ラ ッ ト フ ォ ームは、 ザ イ リ ン ク ス の技術を使用 し て作成す る 柔軟性の高いエ ンベ デ ッ ド プ ロ セ ッ ササブシ ス テ ムです。 ハー ド ウ ェ ア プ ラ ッ ト フ ォームは、 プ ロ セ ッ サバ ス に接続 さ れた 1 つま たは複数のプ ロ セ ッ サお よ びペ リ フ ェ ラ ルで構成 さ れてい ます。ハー ド ウ ェ アプ ラ ッ ト フ ォームは、MHS (Microprocessor Hardware Specification) フ ァ イ ルで定義 さ れます。 MHS フ ァ イ ルはハー ド ウ ェ アプ ラ ッ ト フ ォーム記述を含む ASCII テ キ ス ト フ ァ イ ルで、 エ ンべ デ ッ ド シ ス テ ムのハー ド ウ ェ ア コ ン ポーネ ン ト を記述 し た主要な ソ ース フ ァ イ ルです。ソ フ ト ウ ェ ア開発
ソ フ ト ウ ェ アプ ラ ッ ト フ ォームは、 アプ リ ケーシ ョ ン を構築す る ソ フ ト ウ ェ ア ド ラ イ バお よ び OS を ま と めた も のです。作成 さ れ る ソ フ ト ウ ェ ア イ メ ージには、ザ イ リ ン ク ス ラ イ ブ ラ リ の う ちエン ベデ ッ ド デザ イ ンで使用す る も ののみが含まれます。1 つの ソ フ ト ウ ェ アプ ラ ッ ト フ ォーム上で実 行す る 複数のアプ リ ケーシ ョ ン を作成で き ます。検証
EDK には、ハー ド ウ ェ ア と ソ フ ト ウ ェ ア両方の検証ツールが含ま れてい ます。使用可能な検証ツー ルは、 次の と お り です。シ ミ ュ レーシ ョ ン を使用 し たハー ド ウ ェ アの検証
ハー ド ウ ェ アプ ラ ッ ト フ ォームの機能を検証す る には、 シ ミ ュ レーシ ョ ンモデルを作成 し て HDL シ ミ ュ レー タ 上で実行 し ます。シ ス テ ム を シ ミ ュ レーシ ョ ンす る と 、 ソ フ ト ウ ェ アプ ロ グ ラ ムがプ ロ セ ッ サで実行 さ れます。ビヘ イ ビ ア、 構造、 ま たは タ イ ミ ン グシ ミ ュ レーシ ョ ン モデルを作成で き ます。デバ ッ グに よ る ソ フ ト ウ ェ アの検証
ソ フ ト ウ ェ アの検証には、 次の方法があ り ます。 • デザ イ ン をサポー ト される開発ボー ド に読み込み、 デバ ッ グ ツールで ターゲ ッ ト プ ロ セ ッ サ を制御 し ます。 • 命令セ ッ ト シ ミ ュ レー タ (ISS) を ホ ス ト コ ン ピ ュ ー タ で実行 し 、 コ ー ド をデバ ッ グ し ます。 • コ ー ド 実行のプ ロ フ ァ イ ルを作成 し て、 シ ス テ ムのパフ ォーマン ス を評価 し ます。デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
ハー ド ウ ェ アプ ラ ッ ト フ ォームお よ び ソ フ ト ウ ェ アプ ラ ッ ト フ ォ ーム が完成 し た ら 、FPGA デバ イ ス用に コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム を作成 し ます。 • プ ロ ト タ イ プの作成では、 ホ ス ト コ ン ピ ュ ー タ に接続 し た状態で、 ビ ッ ト ス ト リ ーム を エンベ デ ッ ド プ ラ ッ ト フ ォームで実行す る ソ フ ト ウ ェ ア と 共にダ ウ ン ロー ド し ます。 • 製品シ ス テムでは、 コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム と ソ フ ト ウ ェ ア を FPGA に接 続 し た不揮発性 メ モ リ に保存 し ます。第 1 章 : エ ンベデ ッ ド シ ステム と ツールの概要 R
EDK
の概要
エンベデ ッ ド ハー ド ウ ェ アプ ラ ッ ト フ ォームは、 プ ロ セ ッ サバ ス で接続 さ れた 1 つま たは複数の プ ロ セ ッ サ、 さ ま ざ ま なペ リ フ ェ ラ ル、 お よ び メ モ リ ブ ロ ッ ク で構成 さ れてい ます。 ま た、 デバ イ ス の外部に接続す る ポー ト も あ り ます。 各プ ロ セ ッ サ コ ア (pcore ま たはプ ロ セ ッ サ IP と も 呼ばれ る) には、 その動作を カ ス タ マ イ ズす る ためのパ ラ メ ー タ があ り ます。 こ れ ら のパ ラ メ ー タ で、 ペ リ フ ェ ラ ルお よ び メ モ リ のア ド レ ス マ ッ プ も 定義 し ます。XPS を使用す る と さ ま ざ ま なオプシ ョ ンの機能を選択で き る ので、FPGA には作成す る アプ リ ケーシ ョ ンに必要な機能のサブセ ッ ト を イ ンプ リ メ ン ト す る だけで済みます。 次の図に、 エンベデ ッ ド シ ス テ ムの作成で EDK に含まれ る ツールが ど の よ う に使用 さ れ る かを示 し ます。 図 1-2 : エ ンベデ ッ ド 開発キ ッ ト (EDK) ツールの構成 ISE ツール X10310 プロセッサ ハードウェア プラットフォーム (MHS) Platform Generator NGC プロセッサ ソフトウェア プラットフォーム (MSS) EDK ソフトウェア ライブラリ (BSP、MLD...) システムおよび ラッパ HDL インプリメンテーション 制約ファイル (UCF) PCore HDL ライブラリ、 OS、MLD ドライバ、 MDD MPD、PAO IP モデル ビヘイビア HDL モデル リンカ スクリプト JTAG ケーブル 合成 (XST) CompEDKLib NGD NGDBuild NCD MAP、PAR アプリケーション ソース .c、.h、.s .o、.a コンンパイラ (GCC) system.BIT system.BMM Bitstream Generator download.BIT iMPACT ELF .a system_BD.BMM Bitstream Initializer シミュレーション download.CMD Simulation Generator 構造 HDL モデル Simulation Generator タイミング HDL/ SDF モデル Simulation Generator ISE モデル Library Generator リンカ (GCC) デバッガ (XMD、GDB) IP ライブラリまたはユーザー レポジトリ FPGA デバイスEDK の概要 R
EDK
ツールお よびユーテ ィ リ テ ィ
次の表に EDK に含まれ る ツールお よ びユーテ ィ リ テ ィ を示 し 、 その後各ツールの概要 と 詳細情報 が記載 さ れてい る 章を示 し ます。 表 1-1 : EDK ツールおよびユーテ ィ リ テ ィ ハー ド ウ ェ ア開発および検証Xilinx Platform Studio (XPS) エン ベデッ ド ハード ウ ェ アデザイ ン を 開発する 統合開発環境 (GUI) です。
Base System Builder (BSB) ウ ィ ザー ド サポー ト さ れてい る 開発ボー ド の機能お よ び一般的なエンベデ ッ ド シ ス テ ムの基本的な機能を使用 し て、 エンベデ ッ ド デザ イ ン を短時間に構築 し ます。プ ロ ジ ェ ク ト の初期作成には、BSB ウ ィ ザー ド を使用す る こ と をお勧め し ます。
Create and Import Peripheral (CIP) Wizard デザ イ ンに独自のペ リ フ ェ ラ ルを追加す る 際に使用 し ます。 XPS で必要 な関連デ ィ レ ク ト リ お よ びデー タ フ ァ イ ル も 作成 さ れます。
コ プ ロ セ ッ サ ウ ィ ザー ド CPU に コ プ ロ セ ッ サ を追加す る 際に使用で き ま す。MicroBlaze ベー ス のデザ イ ンでのみ使用可能です。
Platform Generator (Platgen) チ ッ プ上のプ ロ グ ラ マ ブル シ ス テ ム を HDL お よ び イ ン プ リ メ ン テー シ ョ ンネ ッ ト リ ス ト フ ァ イ ルの形で生成 し ます。
XPS コ マン ド ラ イ ンモー ド エンベデ ッ ドデザ イ ン フ ロ ーの実行お よ びツールオプシ ョ ンの変更を、 コ マン ド ラ イ ンか ら 実行 し ます。
バ スフ ァ ン ク シ ョ ン モデル (BFM) 実際のエンベデ ッ ド シ ス テ ムの代わ り に使用す る バ ス環境モデルを作成 す る こ と に よ り 、カ ス タ ムペ リ フ ェ ラ ルの検証プ ロ セ ス を簡略化 し ます。 Simulation Model Generator (Simgen) シ ス テ ムのハー ド ウ ェ ア シ ミ ュ レ ーシ ョ ン モデルお よ び コ ンパ イ ル ス
ク リ プ ト フ ァ イ ルを生成 し ます。 シ ミ ュ レーシ ョ ン ラ イ ブ ラ リ コ ンパ イ ラ (CompLib) デザイ ン のビ ヘイ ビ ア シ ミ ュ レ ーシ ョ ン を 開始する 前に、 使用する シ ミ ュ レ ータ 用に EDK シミ ュ レ ーショ ン ラ イ ブラ リ を コ ン パイ ルし ま す。 ソ フ ト ウ ェ ア開発および検証 ソ フ ト ウ ェ ア開発キ ッ ト (SDK) ソ フ ト ウ ェ ア ア プ リ ケーシ ョ ン プ ロ ジ ェ ク ト の開発に使用す る 統合開 発環境 (GUI) です。
Library Generator (Libgen) カ ス タ マ イ ズ さ れた ソ フ ト ウ ェ ア ラ イ ブ ラ リ 、 ド ラ イ バ、 お よ び OS を 使用 し て ソ フ ト ウ ェ ア プ ラ ッ ト フ ォーム を作成 し ます。
GNU コ ンパ イ ラ ツール (GCC) Libgen で作成 さ れたプ ラ ッ ト フ ォ ーム に基づ き 、 ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン を作成 し ます。
Xilinx Microprocessor Debugger (XMD) ソ フ ト ウ ェ ア を ダ ウ ン ロ ー ド お よ びデバ ッ グ し ます。 GNU デバ ッ ガがデ バ イ ス にア ク セ スす る チ ャ ネル と し て も 機能 し ます。
GNU デバ ッ ガ (GDB) シ ミ ュ レ ーシ ョ ン モデル ま たは タ ーゲ ッ ト デバ イ ス で ソ フ ト ウ ェ ア を デバ ッ グす る ための GUI を提供 し ます。
第 1 章 : エ ンベデ ッ ド シ ステム と ツールの概要
R
Xilinx Platform Studio (XPS)
XPS は、MicroBlaze お よ び PowerPC プ ロ セ ッ サ を使用 し たエンベデ ッ ド プ ロ セ ッ サシ ス テ ム を 開発す る ための統合環境です。ソ ース コ ー ド を作成/編集す る ためのエデ ィ タ 、プ ロ ジ ェ ク ト 管理 イ ン タ ーフ ェ イ ス も 備え てい ます。 XPS では、 ツールフ ロ ーの設定オプシ ョ ン を カ ス タ マ イ ズ し た り 、 グ ラ フ ィ カル シ ス テ ムエデ ィ タ を使用 し てプ ロ セ ッ サ、 ペ リ フ ェ ラ ル、 バ ス を接続す る こ と が可能です。 XPS をバ ッ チモー ド で実行す る こ と も 可能です。 XPS か ら 、 ハー ド ウ ェ アシ ス テ ム コ ン ポーネ ン ト を処理す る ために必要なすべてのエンベデ ッ ド シ ス テ ム ツールを実行で き ます。ま た、 シ ス テ ムの検証 も XPS 環境内で実行で き ます。 XPS には、 次の機能があ り ます。 • プ ロ セ ッ サおよびペ リ フ ェ ラル コ アの追加、 コ ア パ ラ メ ー タ の変更、 バ スお よ び信号の接続 を行い、MHS フ ァ イ ルを作成 • MSS フ ァ イ ルを生成お よ び編集 • 23 ページの表 1-1に示すツールをすべてサポー ト • シ ス テムのブ ロ ッ ク 図およびデザ イ ンレ ポー ト を生成お よび表示 • プ ロ ジ ェ ク ト 管理をサポー ト • プ ロ セ スおよびツール フ ローの依存関係を管理 • SDK に イ ン ポー ト す る ためのハー ド ウ ェ ア仕様フ ァ イ ルを エ ク ス ポー ト
フ ァ イ ル お よ び そ の フ ォ ー マ ッ ト に 関す る 詳 細 は、 『Platform Specification Format Reference Manual』 を参照 し て く だ さ い。20 ページの 「関連 リ ソ ー ス」 に、 こ のマニ ュ アルへの リ ン ク があ
り ます。
XPS の使用法の詳細は、XPS ヘルプを参照 し て く だ さ い。次に、XPS の コ ン ポーネ ン ト であ る ツー ルお よ びユーテ ィ リ テ ィ について説明 し ます。
Bitstream Initializer (BitInit) オ ンチ ッ プの命令 メ モ リ が ソ フ ト ウ ェ ア実行フ ァ イ ルで初期化 さ れ る よ う 、FPGA コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム を ア ッ プデー ト し ます。
Debug Configuration Wizard 多 く のデザ イ ン に共通す る ハー ド ウ ェ アお よ び ソ フ ト ウ ェ ア プ ラ ッ ト フ ォームのデバ ッ グコ ン フ ィ ギ ュ レーシ ョ ン タ ス ク を自動化 し ます。 System ACE フ ァ イ ルジ ェ ネ レー タ (GenACE) 製品 シ ス テ ム の コ ン パ ク ト フ ラ ッ シ ュ に保存 さ れ る FPGA コ ン フ ィ
ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ームお よ び ソ フ ト ウ ェ ア実行フ ァ イ ルに基 づいて、 ザ イ リ ン ク ス System ACE™コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ル を生成 し ます。 フ ラ ッ シ ュ メ モ リ プ ロ グ ラ マ タ ーゲ ッ ト プ ロ セ ッ サ を使用 し て、 共通 フ ラ ッ シ ュ イ ン タ ーフ ェ イ ス (CFI) に準拠 し たボー ド 上のパ ラ レ ルフ ラ ッ シ ュデバ イ ス に ソ フ ト ウ ェ アお よ びデー タ をプ ロ グ ラ ム し ます。 フ ォーマ ッ ト リ ビ ジ ョ ンツールお よ び Version Management Wizard プ ロ ジ ェ ク ト フ ァ イ ル を 最新の フ ォ ーマ ッ ト に ア ッ プデー ト し ま す。 Version Management Wizard は、 以前のバージ ョ ン の EDK で作成 し た IP お よ び ド ラ イ バを最新のバージ ョ ンに移行 し ます。
EDK の概要 R
XPS
コ マ ン ド
ラ イ ン
モー ド
OS の コ マ ン ド ラ イ ンか ら XPS を実行で き ます。XPS コ マン ド ラ イ ンモー ド の詳細は、第 13 章 「コ マン ド ラ イ ンモー ド 」 を参照 し て く だ さ い。
Base System Builder (BSB)
ウ ィ ザー ド
Base System Builder (BSB) ウ ィ ザー ド を使用す る と 、シ ス テ ム を短時間で構築で き ます。BSB ウ ィ ザー ド のみで完成で き る エ ンベデ ッ ド デザ イ ンプ ロ ジ ェ ク ト も あ り ま す。よ り 複雑なプ ロ ジ ェ ク ト の場合は、BSB で基本シ ス テ ム を作成 し 、 こ れを カ ス タ マ イ ズ し てエ ンベデ ッ ド デザ イ ン を完 成 さ せ る こ と がで き ます。BSB ウ ィ ザー ド を使用す る と 、 サポー ト さ れ る すべてのプ ロ セ ッ サ タ イ プで 1 つのプ ロ セ ッ サを含むデザ イ ン、MicroBlaze で 2 つのプ ロ セ ッ サを含むデザ イ ン を作成 で き ます。 プ ロ ジ ェ ク ト を効率的に作成す る ため、 ど の場合で も まず BSB ウ ィ ザー ド を使用す る こ と をお勧め し ます。 選択す る ボー ド に基づ き 、 プ ロ セ ッ サ タ イ プ、 デバ ッ グ イ ン タ ーフ ェ イ ス 、 キ ャ ッ シ ュ 設定、 メ モ リ の タ イ プ と サ イ ズ、ペ リ フ ェ ラ ルな ど の基本シ ス テ ム要素を選択 し 、設定で き ます。各オプシ ョ ンに対 し てデフ ォ ル ト 値が選択 さ れてお り 、 こ れを必要に応 じ て変更で き ます。 タ ーゲ ッ ト 開発ボー ド が BSB ウ ィ ザー ド でサポー ト さ れていない場合は、 カ ス タ ム ボー ド オプ シ ョ ン を使用 し ます。こ のオプシ ョ ン を使用 し た場合、カ ス タ ムボー ド に含まれ る ハー ド ウ ェ アデ バ イ ス を手動で指定で き ます。カ ス タ ムボー ド で生成 し たシ ス テ ム を実行する には、 ユーザー制約 フ ァ イ ル (UCF) に FPGA ピ ン の ロ ケーシ ョ ン制約を入力 し ます。サポー ト さ れてい る タ ーゲ ッ ト ボー ド を選択 し た場合は、BSB ウ ィ ザー ド に よ り こ れ ら の制約が UCF に自動的に記述 さ れます。 BSB ウ ィ ザー ド では、1 つま たは複数のオプシ ョ ンの ソ フ ト ウ ェ アプ ロ ジ ェ ク ト を生成で き ます。 各プ ロ ジ ェ ク ト には、 コ ンパ イ ル し て開発ボー ド 上のハー ド ウ ェ アで実行可能な、 サ ンプルアプ リ ケーシ ョ ンお よ び リ ン カス ク リ プ ト が含まれます。こ のアプ リ ケーシ ョ ンは、 シ ス テ ムが起動 し て い る こ と を検証 し 、 単純な アプ リ ケーシ ョ ン のテ ス ト を実行で き る よ う 構成 さ れてい ます。こ のテ ス ト アプ リ ケーシ ョ ンの内容は、 シ ス テ ムに含まれ る コ ンポーネ ン ト に よ っ て異な り ます。 BSB ウ ィ ザー ド の機能の詳細な使用方法は、XPS ヘルプを参照 し て く だ さ い。
Create and Import Peripheral (CIP) Wizard
CIP ウ ィ ザー ド を使用す る と 、 独自のペ リ フ ェ ラ ルを作成 し 、XPS 準拠の レ ポ ジ ト リ ま たは XPS プ ロ ジ ェ ク ト に イ ン ポー ト で き ます。 Create モー ド ではテ ン プ レー ト が作成 さ れ、 バ ス プ ロ ト コ ル、 命名規則、XPS で必要な イ ン タ ー フ ェ イ ス フ ァ イ ルの フ ォーマ ッ ト な ど の詳細を理解 し ていな く て も 、ペ リ フ ェ ラ ルを簡単に イ ンプ リ メ ン ト で き ます。テ ンプ レー ト フ ァ イ ルの例を参照 し 、 ウ ィ ザー ド で出力 さ れ る さ ま ざ ま な補助 デザ イ ンサポー ト フ ァ イ ルを使用す る こ と に よ り 、 カ ス タ ム ロ ジ ッ ク を短時間で設計で き ます。 Import モー ド では、XPS の さ ま ざ ま な ツールでペ リ フ ェ ラ ルを処理す る ために必要な イ ン タ ーフ ェ イ ス フ ァ イ ル と デ ィ レ ク ト リ 構造が作成 さ れます。 Import モー ド では、XPS の命名規則に従っ てい る こ と を前提 と し てい ます。イ ン ポー ト が終了す る と 、 作成 し たペ リ フ ェ ラ ルが XPS ペ リ フ ェ ラ ルラ イ ブ ラ リ に追加 さ れます。
ペ リ フ ェ ラ ルを作成ま たは イ ン ポー ト す る と 、MPD (Microprocessor Peripheral Definition) お よ び PAO (Peripheral Analyze Order) フ ァ イ ルが自動的に生成 さ れます。
• MPD フ ァ イ ル : ペ リ フ ェ ラ ルの イ ン タ ーフ ェ イ ス を定義 し ます。
• PAO フ ァ イ ル : Platgen お よ び Simgen に対 し て、 ペ リ フ ェ ラ ルの コ ンパ イ ル (合成ま たはシ ミ ュ レーシ ョ ン用) に必要な HDL フ ァ イ ル と その解析順を指定 し ます。
第 1 章 : エ ンベデ ッ ド シ ステム と ツールの概要
R
MPD お よ び PAO フ ァ イ ルの詳細は、 『Platform Specification Format Reference Manual』 を参照 し て く だ さ い。20 ページの 「関連 リ ソ ース」 に、 こ のマニ ュ アルへの リ ン ク があ り ます。CIP ウ ィ ザー ド の機能の詳細な使用方法は、XPS ヘルプを参照 し て く だ さ い。
コ プ ロ セ ッ サ
ウ ィ ザー ド
こ の ウ ィ ザー ド は、CPU に コ プ ロ セ ッ サ を追加する 際に使用で き ます。コ プ ロ セ ッ サは、FPGA に ユーザー定義の フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト す る ハー ド ウ ェ アモジ ュ ールで、高速シ ンプ レ ッ ク ス リ ン ク (FSL) イ ン タ ーフ ェ イ ス を使用 し てプ ロ セ ッ サに接続 し ます。FSL チ ャ ネルは、FIFO を使用 し て イ ン プ リ メ ン ト さ れた専用のポ イ ン ト ツーポ イ ン ト 通信 イ ン タ ーフ ェ イ ス です。 こ の ウ ィ ザー ド は、MicroBlaze プ ロ セ ッ サデザ イ ンでのみ使用可能です。 高速シ ンプ レ ッ ク ス リ ン ク (FSL) の詳細は、 『MicroBlaze プ ロ セ ッ サ リ フ ァ レ ン ス ガ イ ド 』 お よ び PowerPC (405 お よ び 440) プ ロ セ ッ サのガ イ ド を参照 し て く だ さ い。 ま た、FSL バ ス のデー タ シー ト も 参考にな る 場合があ り ます。20 ページの 「関連 リ ソ ース」 に、 こ れ ら の資料への リ ン ク が あ り ます。 コ プ ロ セ ッ サ ウ ィ ザー ド の使用方法は、XPS ヘルプ を参照 し て く だ さ い。Platform Generator (Platgen)
Platform Generator (Platgen) は、 エンベデ ッ ド プ ロ セ ッ サシ ス テ ムの抽象度の高い記述を、FPGA デバ イ ス に イ ンプ リ メ ン ト で き る HDL ネ ッ ト リ ス ト に コ ンパ イ ル し ます。 Platgen には、 次の機能があ り ます。 • デザ イ ン入力 と し て MHS フ ァ イ ルを読み込みます。 • XPS プ ロ ジ ェ ク ト お よ びユーザー IP レ ポジ ト リ か ら 、 プ ロ セ ッ サコ ア (pcore) のハー ド ウ ェ ア記述フ ァ イ ル (MPD、PAO) を読み込みます。 • シ ス テムに含まれる pcore のすべての イ ン ス タ ン ス を統合 し たエンベデ ッ ド シ ス テ ムの最上 位デザ イ ン フ ァ イ ルを生成 し ます。こ の フ ァ イ ルの生成過程で、MHS フ ァ イ ルに含ま れ る 最 上位バ ス接続を、 プ ロ セ ッ サ、 ペ リ フ ェ ラ ル、 お よ びオンチ ッ プ メ モ リ を接続す る ために必要 な信号に変換 し ま す。Platgen で生成 さ れた シ ス テ ム レ ベルの HDL ネ ッ ト リ ス ト は、FPGA の イ ンプ リ メ ン テーシ ョ ンプ ロ セ ス で使用 さ れます。
• イ ン ス タ ン シエー ト さ れた各 pcore を合成す る ため、XST (Xilinx Synthesis Technology) を起 動 し ます。
• オンチ ッ プブ ロ ッ ク RAM のア ド レ スお よ びコ ン フ ィ ギ ュ レーシ ョ ン を含む BMM (ブ ロ ッ ク RAM メ モ リ マ ッ プ) フ ァ イ ルを生成 し ます。こ の フ ァ イ ルは、 ブ ロ ッ ク RAM を ソ フ ト ウ ェ アで初期化す る 際に使用 さ れます。
Platgen の詳細は、第 2 章 「Platform Generator (Platgen)」 を参照 し て く だ さ い。
Debug Configuration Wizard
多 く のデザ イ ン に共通す る ハー ド ウ ェ アお よ び ソ フ ト ウ ェ ア プ ラ ッ ト フ ォ ー ム のデバ ッ グ コ ン フ ィ ギ ュ レーシ ョ ン タ ス ク を自動化 し ます。
ChipScope™ コ ア を イ ン ス タ ン シエー ト す る と 、 プ ロ セ ッ サ ロ ーカルバ ス (PLB) ま たはその他の シ ス テ ム レ ベル信号を監視で き ます。 ま た、 既存の ChipScope コ アのパ ラ メ ー タ をハー ド ウ ェ ア デバ ッ グ用に も 設定で き ます。JTAG ベース の仮想入力お よ び出力を共有す る こ と も 可能です。
EDK の概要 R
デバ ッ グ 用 に ソ フ ト ウ ェ ア を 設定す る に は、 プ ロ セ ッ サ デバ ッ グ パ ラ メ ー タ を 設定 し ま す。 ChipScope コ アの協調デバ ッ グ を イ ネーブルに し た場合は、 ソ フ ト ウ ェ アデバ ッ ガ信号 と ハー ド ウ ェ ア信号の協調 ト リ ガ を設定で き ます。JTAG イ ン タ ーフ ェ イ スは、UART 信号を XMD (Xilinx Microprocessor Debugger) に送信する よ う 設定で き ます。
Debug Configuration Wizard の使用方法は、XPS ヘルプを参照 し て く だ さ い。
Simulation Model Generator (Simgen)
Simulation Model Generator (Simgen) は、 ハー ド ウ ェ ア用の さ ま ざ ま な シ ミ ュ レーシ ョ ン モデル を生成す る ツールです。ビヘ イ ビ アモデルを生成す る 場合は入力 と し て MHS フ ァ イ ルが読み込み ま れ、 構造モデルを生成す る 場合は合成後のデザ イ ンデー タ ベース 、 タ イ ミ ン グ モデルを生成す る 場合は配置配線済みのデザ イ ンデー タベース が読み込まれます。ま た、オンチ ッ プ メ モ リ を初期 化す る ために各プ ロ セ ッ サのエンベデ ッ ド アプ リ ケーシ ョ ン実行フ ァ イ ル (ELF) も 読み込まれ、シ ミ ュ レーシ ョ ン中にモデル化 さ れたプ ロ セ ッ サで ソ フ ト ウ ェ アコ ー ド が実行 さ れ る よ う に し ます。 詳細は、第 3 章 「Simulation Model Generator (Simgen)」 を参照 し て く だ さ い。
バス
フ ァ ン ク シ ョ ン
モデル
(BFM)
バ ス フ ァ ン ク シ ョ ンモデルシ ミ ュ レーシ ョ ンは、 バ ス に接続 さ れたハー ド ウ ェ ア コ ン ポーネ ン ト の 検証 を 簡略化 し ま す。 バ ス フ ァ ン ク シ ョ ン モ デル の 詳細 は、 『BFM Simulation in Platform Studio』 を参照 し て く だ さ い。20 ページの 「関連 リ ソ ース 」 に、 こ のマニ ュ アルへの リ ン ク があ り ます。
Platform Specification Utility (PsfUtility)
EDK で認識 さ れ る IP コ ア を 作成す る ために必要な MPD (Microprocessor Peripheral Definition) フ ァ イ ルを自動生成 し ます。こ の ツールの機能は、CIP ウ ィ ザー ド で使用 さ れます。
詳細は、第 5 章 「Platform Specification Utility (PsfUtil)」 を参照 し て く だ さ い。
ソ フ ト ウ ェ ア開発キ ッ ト
(SDK)
SDK は、Eclipse オープン ソ ース標準に基づ く ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン プ ロ ジ ェ ク ト の開 発環境です。SDK には、 次の機能があ り ます。 • ISE お よ び XPS を イ ン ス ト ールせずに少ない容量で イ ン ス ト ール可能 • 1 つま たは複数のプ ロ セ ッ サシ ス テ ムの ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン開発を サポー ト • XPS で生成 し たプ ラ ッ ト フ ォーム定義を イ ン ポー ト • チーム環境での ソ フ ト ウ ェ ア アプ リ ケーシ ョ ンの開発をサポー ト • CVS に基づ く ソ ース コ ー ド リ ビ ジ ョ ン を サポー ト • サー ド パーテ ィ OS 用に ソ フ ト ウ ェ ア プ ラ ッ ト フ ォームお よ びボー ド サポー ト パ ッ ケージ (BSP) を作成お よ び設定可能 • ハー ド ウ ェ ア と ソ フ ト ウ ェ アの機能を テ ス ト する既製のサンプル ソ フ ト ウ ェ ア プ ロ ジ ェ ク ト を提供 • 使いやすい GUI イ ン タ ーフ ェ イ ス で ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン用の リ ン カス ク リ プ ト の 作成、FPGA デバ イ ス のプ ロ グ ラ ム、 パ ラ レ ルフ ラ ッ シ ュ メ モ リ のプ ロ グ ラ ム を実行 • 高度な C/C++ コ ー ド エデ ィ タお よび コ ンパ イ ル環境 • プ ロ ジ ェ ク ト 管理機能第 1 章 : エ ンベデ ッ ド シ ステム と ツールの概要 R • アプ リ ケーシ ョ ン構築コ ン フ ィ ギ ュ レーシ ョ ンおよび makefile の自動生成 • エ ラーナビ ゲーシ ョ ン • エンベデ ッ ド ターゲ ッ ト のデバ ッ グお よびプ ロ フ ァ イ ル作成を ス ムーズに行 う 統合環境 SDK の詳細は、SDK ヘルプを参照 し て く だ さ い。
Library Generator (Libgen)
Libgen は、 エンベデ ッ ド プ ロ セ ッ サシ ス テ ム用に ラ イ ブ ラ リ 、 デバ イ ス ド ラ イ バ、 フ ァ イ ルシ ス テ ム、 お よ び割 り 込みハ ン ド ラ を設定 し 、 ソ フ ト ウ ェ ア プ ラ ッ ト フ ォ ーム を作成 し ま す。ソ フ ト ウ ェ アプ ラ ッ ト フ ォ ームは、 各プ ロ セ ッ サに対 し 、 ハー ド ウ ェ ア プ ラ ッ ト フ ォーム に含ま れ る ペ リ フ ェ ラ ルの ド ラ イ バ、 ラ イ ブ ラ リ 、 標準入力お よ び出力デバ イ ス、 割 り 込みハン ド ラルーチ ン、 その他の ソ フ ト ウ ェ ア機能を定義 し ます。 SDK プ ロ ジ ェ ク ト では、 さ ら に各プ ロ セ ッ サ上で実行 さ れ る ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン も 定義 し ます。 こ れ ら の ソ フ ト ウ ェ アアプ リ ケーシ ョ ンは、 ソ フ ト ウ ェ アプ ラ ッ ト フ ォームに基づいてい ます。 SDK では、 イ ン ス ト ール さ れ る ラ イ ブ ラ リ と ド ラ イ バ、 お よ びカ ス タ ム ペ リ フ ェ ラ ル用の ラ イ ブ ラ リ と ド ラ イ バを使用 し て、 ラ イ ブ ラ リ と ド ラ イ バ を含む ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン がプ ロ セ ッ サハー ド ウ ェ アプ ラ ッ ト フ ォームで実行で き る ELF (Executable Linked Format) フ ァ イ ルに コ ンパ イ ル さ れます。
Libgen は、EDK ラ イ ブ ラ リ お よ びユーザー IP レ ポジ ト リ か ら 、 選択 さ れた ラ イ ブ ラ リ お よ びプ ロ セ ッ サコ ア (pcore) の ソ フ ト ウ ェ ア記述フ ァ イ ル (MDD (Microprocessor Driver Definition) お よ び ド ラ イ バコ ー ド) を読み込みます。
詳細は、第 4 章 「Library Generator (Libgen)」 お よ び XPS ヘルプ を参照 し て く だ さ い。ラ イ ブ ラ リ お よ び ド ラ イ バの詳細は、 『OS and Libraries Document Collection』 の各 ソ フ ト ウ ェ アコ ン ポー ネ ン ト に関す る 説明を参照 し て く だ さ い。20 ページの 「関連 リ ソ ース」 に、 こ のマニ ュ アルへの リ ン ク があ り ます。
GNU
コ ンパ イ ラ
ツール
(GCC)
シ ス テ ムに含まれ る 各プ ロ セ ッ サのアプ リ ケーシ ョ ン実行フ ァ イ ルを コ ンパ イ ルお よ び リ ン ク す る ため、GNU コ ンパ イ ラ ツールが呼び出 さ れます。プ ロ セ ッ サに よ っ て、 次の コ ンパ イ ラ が使用 さ れます。 • mb-gcc コ ンパ イ ラ (MicroBlaze プ ロ セ ッ サ用) • powerpc-eabi-gcc コ ンパ イ ラ (PowerPC プ ロ セ ッ サ用) GNU コ ンパ イ ラ ツールでは、 次の操作が実行 さ れます (22 ページの図 1-2を参照)。 • コ ンパ イ ラ では、 タ ーゲ ッ ト プ ロ セ ッ サ用の C ソ ース フ ァ イ ル と ヘ ッ ダ フ ァ イ ルま たはアセ ンブ ラ ソ ースフ ァ イ ルが読み込まれます。 • リ ン カ では、 コ ン パ イ ル さ れた ア プ リ ケーシ ョ ン と 選択 さ れた ラ イ ブ ラ リ が統合 さ れ、ELF フ ォーマ ッ ト の実行フ ァ イ ルが生成 さ れます。 リ ン カ ス ク リ プ ト も 読み込まれます。 ツールで 生成 さ れたデフ ォ ル ト の リ ン カ ス ク リ プ ト 、 ま たはユーザーが作成 し た リ ン カ ス ク リ プ ト が 使用 さ れます。 GNU コ ンパ イ ラ お よ びそのユーテ ィ リ テ ィ の詳細は、第 9 章 「GNU コ ンパ イ ラ ツール」 お よ び 付録 A 「GNU ユーテ ィ リ テ ィ 」 を参照 し て く だ さ い。EDK の概要 R
Xilinx Microprocessor Debugger (XMD)
プ ロ グ ラ ムのデバ ッ グは、 ソ フ ト ウ ェ ア上で命令セ ッ ト シ ミ ュ レー タ を (ISS) 使用す る か、 ハー ド ウ ェ ア ビ ッ ト ス ト リ ー ム を 読み込んだザ イ リ ン ク ス FPGA を 搭載す る ボー ド 上で行い ま す。22
ページの図 1-2に示す よ う に、 デバ ッ ガユーテ ィ リ テ ィ (XMD) はアプ リ ケーシ ョ ンの実行フ ァ イ ル (ELF) を読み込みます。 FPGA 上でのデバ ッ グでは、FPGA を ビ ッ ト ス ト リ ームで コ ン フ ィ ギ ュ レ ー シ ョ ン す る 際に使用す る の と 同 じ ダ ウ ン ロ ー ド ケ ーブル を 使用 し ま す。詳細は、第 11 章 「Xilinx Microprocessor Debugger (XMD)」 を参照 し て く だ さ い。
GNU
デバ ッ ガ
(GDB)
GNU デバ ッ ガ (GDB) は、 さ ま ざ ま な開発段階で MicroBlaze お よ び PowerPC シ ス テ ム をデバ ッ グ/検証す る ための イ ン タ ーフ ェ イ ス を提供す る 、 高性能で柔軟性の高い ツールです。
GDB は、 プ ロ セ ッ サ と の通信に XMD (Xilinx® Microprocessor Debugger) を使用 し ます。 詳細は、第 10 章 「GNU デバ ッ ガ (GDB)」 を参照 し て く だ さ い。
シ ミ ュ レーシ ョ ン
ラ イ ブ ラ リ
コ ンパ イ ラ
(CompLib)
CompLib は、 さ ま ざ ま なシ ミ ュ レー タ ベン ダーのツールを使用 し て、EDK HDL に基づ く シ ミ ュ レーシ ョ ン ラ イ ブ ラ リ を コ ンパ イ ル し ます。こ のユーテ ィ リ テ ィ は、GUI お よ びバ ッ チモー ド の 両方で実行で き ます。 GUI モー ド では、EDK の ラ イ ブ ラ リ を使用 し て、ISE イ ン ス ト ールデ ィ レ
ク ト リ にあ る ザ イ リ ン ク ス ラ イ ブ ラ リ も コ ンパ イ ルで き ます。
CompLib の詳細は、第 3 章の 「シ ミ ュ レーシ ョ ンモデル」 を参照 し て く だ さ い。シ ミ ュ レーシ ョ ン ラ イ ブ ラ リ の コ ンパ イ ル方法は、XPS ヘルプ を参照 し て く だ さ い。
Bitstream Initializer (BitInit)
BitInit は、プ ロ セ ッ サに接続 さ れてい る オンチ ッ プブ ラ ッ ク RAM メ モ リ を ソ フ ト ウ ェ ア情報で初 期化 し ます。こ のユーテ ィ リ テ ィ は、ISE ツールで生成 さ れたハー ド ウ ェ アのみの ビ ッ ト ス ト リ ー ム (system.bit) を読み込み、各プ ロ セ ッ サのエンベデ ッ ド アプ リ ケーシ ョ ン実行フ ァ イ ル (ELF) を含むビ ッ ト ス ト リ ーム (download.bit) を生成 し ます。 Platgen で生成 さ れ、 各 BRAM ブ ロ ッ ク の物理的な配置情報を使用 し て ISE ツールでア ッ プデー ト さ れた BMM フ ァ イ ルが使用 さ れ ま す。 BitInit は、Data2MEM ユーテ ィ リ テ ィ を使用 し て ビ ッ ト ス ト リ ーム フ ァ イ ルを ア ッ プデー ト し ます。
BitInit が EDK を使用 し た設計フ ロ ーの ど こ で使用 さ れ る かについては、22 ページの図 1-2 を参照 し て く だ さ い。詳細は、第 8 章 「Bitstream Initializer (BitInit)」 を参照 し て く だ さ い。
System ACE
フ ァ イル
ジ ェ ネ レ ー タ
(GenACE)
XPS は、FPGA の ビ ッ ト ス ト リ ーム、ELF フ ァ イ ル、 お よ びデー タ フ ァ イ ルか ら 、System ACE コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ルを生成 し ます。生成 さ れた System ACE フ ァ イ ルは、FPGA の コ ン フ ィ ギ ュ レーシ ョ ン、 ブ ロ ッ ク RAM の初期化、 有効なプ ロ グ ラ ム ま たはデー タ を使用 し た外部 メ モ リ の初期化、 お よび製品シ ス テ ムでのプ ロ セ ッ サの起動に使用で き ます。 EDK には、XMD コ マ ン ド を使用 し て ACE フ ァ イ ルを作成する Tcl ス ク リ プ ト genace.tcl が含まれてい ます。 ACE フ ァ イ ルは、MDM (Microprocessor Debug Module) シ ス テ ム を使用 し て PowerPC プ ロ セ ッ サお よ び MicroBlaze プ ロ セ ッ サ用に生成で き ます。
第 1 章 : エ ンベデ ッ ド シ ステム と ツールの概要
R
フ ラ ッ シ ュ
メ モ リ
プ ロ グ ラ マ
フ ラ ッ シ ュ メ モ リ プ ロ グ ラ マは、 さ ま ざ ま な フ ラ ッ シ ュ ソ フ ト ウ ェ アお よ びレ イ ア ウ ト に対応す る よ う 設計 さ れてい ます。第 7 章 「フ ラ ッ シ ュ メ モ リ のプ ロ グ ラ ム」 を参照 し て く だ さ い。
フ ォ ーマ ッ ト
リ ビ ジ ョ ン
ツールお よび
Version Management Wizard
フ ォ ーマ ッ ト リ ビ ジ ョ ン ツ ール (revup) は、 既存の EDK プ ロ ジ ェ ク ト を 現在のバー ジ ョ ン の フ ォーマ ッ ト にア ッ プデー ト し ます。 revup では、フ ォーマ ッ ト のみが変更 さ れ、デザ イ ンはア ッ プ デー ト さ れません。フ ォーマ ッ ト を変更す る 前に、 プ ロ ジ ェ ク ト フ ァ イ ル (XMP)、MHS、MSS な ど既存の フ ァ イ ルのバ ッ ク ア ッ プが作成 さ れます。
以前のバージ ョ ンのプ ロ ジ ェ ク ト を それ よ り 新 し いバージ ョ ンの EDK で開 く と (EDK 10.1 で作成 し たプ ロ ジ ェ ク ト を EDK 11.1 で開 く な ど)、Version Management Wizard が起動 し ます。
Version Management Wizard は、フ ォーマ ッ ト が変更 さ れた後に起動 し ます。こ の ウ ィ ザー ド には、 デザ イ ンで使用 さ れてい る ザ イ リ ン ク スプ ロ セ ッ サ IP の変更に関す る 情報が表示 さ れ ます。新 し い互換性のあ る IP が入手可能な場合は、 新 し いバージ ョ ン にア ッ プデー ト す る よ う メ ッ セージが 表示 さ れます。
Version Management Wizard の使用方法は、第 6 章 「バージ ョ ン管理ツール (revup)」 お よ び XPS ヘルプを参照 し て く だ さ い。