...

エンベデッド プロセッサ ハードウェア デザイン

by user

on
Category: Documents
17

views

Report

Comments

Transcript

エンベデッド プロセッサ ハードウェア デザイン
Vivado Design Suite
ユーザー ガ イ ド
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド
ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先しま
す。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の
上、最新情報につきましては、必ず最新英語版をご参照ください。
該当するソフトウェア バージョン : Vivado Design Suite 2014.3 ~ 2014.4
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
改訂内容
2014 年 10 月 16 日
2014.3
リ ン ク の付け忘れを修正
2014 年 10 月 15 日
2014.3
第 6 章 「UpdateMEM を使用 し た BIT フ ァ イ ルのア ッ プデー ト (MMI お よ び ELF デー タ を
含有)」 を追加
2014 年 6 月 4 日
2014.2
Vivado Design Suite バージ ョ ン 2014.2 用にア ッ プデー ト
• 44 ページの 「ハー ド ウ ェ ア記述のエ ク ス ポー ト 」 を ア ッ プデー ト 。
• 75 ページの 「ハー ド ウ ェ アの ソ フ ト ウ ェ ア開発キ ッ ト (SDK) へのエ ク ス ポー ト 」 を
ア ッ プデー ト 。
2014 年 5 月 9 日
2014.1
Vivado Design Suite バージ ョ ン 2014.1 用にア ッ プデー ト
• 図を ア ッ プデー ト
• 28 ページの 「PS-PL ク ロ ス ト リ ガー イ ン タ ーフ ェ イ ス」 を追加
• 62 ページの 「パフ ォーマ ン ス の監視」 を追加
• 63 ページの 「 ト レースお よ びプ ロ フ ァ イ リ ン グ」 を追加
• 65 ページの 「MicroBlaze プ ロ セ ッ サの ク ロ ス ト リ ガー機能」 を追加
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
2
目次
改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 1 章 : 概要
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ハー ド ウ ェ アお よ び ソ フ ト ウ ェ ア フ ロ ーの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
エンベデ ッ ド プ ロ セ ッ サ デザ イ ンの フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Vivado IDE での Zynq-7000 デバ イ ス の設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Zynq ブ ロ ッ ク デザ イ ン と コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ン ド ウ の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
プ ロ グ ラ マブル ロ ジ ッ ク (PL) の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Vivado ピ ン プ ラ ンナー ビ ュ ーでの PS I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Vivado IDE 生成のエンベデ ッ ド フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
ソ フ ト ウ ェ ア開発キ ッ ト (SDK) を起動 し ます。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze プ ロ セ ッ サ デザ イ ンの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MicroBlaze プ ロ セ ッ サを含む IP イ ン テ グ レー タ ー デザ イ ンの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MicroBlaze プ ロ セ ッ サの ク ロ ス ト リ ガー機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
カス タム ロジッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
エンベデ ッ ド IP カ タ ロ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
47
49
65
69
70
70
第 4 章 : MIG コ ア を含むデザイ ン
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
プ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
IP イ ン テ グ レー タ ーを使用 し た設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
第 5 章 : IP イ ン テグ レー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
MIG コ ア を含ま ない MicroBlaze デザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
MIG コ ア を含む MicroBlaze デザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
PL ロ ジ ッ ク を含ま ない Zynq デザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
PL ロ ジ ッ ク を含む Zynq デザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
PL ロ ジ ッ ク に MIG コ ア を含む Zynq デザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
MIG と Clocking Wizard を含むデザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
3
UpdateMEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
メ モ リ (MEM) フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
BRAM メ モ リ マ ッ プ情報 (MMI) フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
付録 A : その他の リ ソ ースおよび法的通知
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
114
114
114
115
4
第 1章
概要
概要
本 章 で は、 Vivado® Design Suite フ ロ ー を 使 用 し て、 Zynq®-7000 All Programmable (AP) SoC デ バ イ ス ま た は
MicroBlaze™ プ ロ セ ッ サ を使用 し たエンベデ ッ ド デザ イ ン をプ ロ グ ラ ムす る 方法について簡単に説明 し ます。
エンベデ ッ ド シ ス テ ムは複雑です。 エ ンベデ ッ ド デザ イ ン のハー ド ウ ェ ア部分 と ソ フ ト ウ ェ ア部分はそれ自体がプ
ロ ジ ェ ク ト です。 1 つのシ ス テ ム と し て機能す る よ う に こ れ ら 2 つのデザ イ ン コ ン ポーネ ン ト を統合する と 、 さ ら に
課題が出て き ます。 FPGA デザ イ ン プ ロ ジ ェ ク ト を追加す る と 、 さ ら に複雑にな っ てい き ます。
デザ イ ン プ ロ セ ス を単純にす る ため、 ザ イ リ ン ク ス では複数の ツール セ ッ ト を提供 し てい ます。 基本的な ツール名、
プ ロ ジ ェ ク ト フ ァ イ ル名、 こ れ ら のツールの省略語については、 あ ら か じ め理解 し てお く 必要があ り ます。
Vivado 統合設計環境 (IDE) には、 プ ロ セ ッ サ ベース のデザ イ ン を統合する ための IP イ ン テ グ レー タ ー ツールが含ま
れてい ます。 こ の ツールをザ イ リ ン ク ス ソ フ ト ウ ェ ア開発キ ッ ト (SDK) と 合わせて使用す る こ と で、 マ イ ク ロ プ ロ
セ ッ サ ベース のシ ス テ ム と エンベデ ッ ド ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン を設計お よ びデバ ッ グす る ための統合環境
が提供 さ れてい ます。
ハー ド ウ ェ アおよび ソ フ ト ウ ェ ア フ ローの概要
Vivado ツールには、 プ ロ セ ッ サーに基づいたプ ロ グ ラ ム用の特定フ ロ ーが提供 さ れてい ます。 Vivado IDE では、 接続
を画像で示す IP イ ン テ グ レー タ ーを使用 し て、 デバ イ ス を指定 し 、 ペ リ フ ェ ラ ルを選択 し 、 ハー ド ウ ェ ア設定を コ
ン フ ィ ギ ュ レーシ ョ ンで き ます。
Zynq-7000 AP SoC では、 Vivado IP イ ン テ グ レー タ ーを使用 し て、 XML 形式のアプ リ ケーシ ョ ン でハー ド ウ ェ ア プ
ラ ッ ト フ ォーム情報をほかのデー タ フ ァ イ ル と 共に取 り 込みます。 こ れ ら の情報が ソ フ ト ウ ェ ア デザ イ ン ツールで
使用 さ れ、 ボー ド サポー ト パ ッ ケージ ラ イ ブ ラ リ が作成お よ び コ ン フ ィ ギ ュ レーシ ョ ン さ れ、 コ ンパ イ ラ オプシ ョ
ンが推論 さ れ、 プ ロ セ ッ シ ン グ ロ ジ ッ ク がプ ロ グ ラ ム さ れ、 JTAG 設定が定義 さ れ、 ハー ド ウ ェ アに関す る 情報を必
要 と す る その他の操作が自動化 さ れます。 Zynq-7000 SoC ソ リ ュ ーシ ョ ン を使用す る と 、 プ ロ グ ラ マブル ロ ジ ッ ク と
共に 1 つの SoC に ARM Cortex A9 デ ュ アル コ アがエンベデ ッ ド ブ ロ ッ ク と し て提供 さ れ る ので、エンベデ ッ ド デザ
イ ンの複雑 さ が改善 さ れます。
ザ イ リ ン ク ス では、 Zynq-7000 AP SoC お よ び MicroBlaze プ ロ セ ッ サ デバ イ ス用の ソ フ ト ウ ェ ア アプ リ ケーシ ョ ンの
開発お よ びデバ ッ グのために、 次のデザ イ ン ツールを提供 し てい ます。
•
ソ フ ト ウ ェ ア IDE
•
GUI ベース の コ ンパ イ ラ ー ツールチ ェーン
•
JTAG デバ ッ ガー
こ れ ら の ツールを使用す る と 、 OS を必要 と し ないベア メ タ ル アプ リ ケーシ ョ ン と 、 オープ ン ソ ース Linux OS 用ア
プ リ ケーシ ョ ンの両方が開発で き ますVivado IP イ ン テ グ レー タ ーには、 コ ン フ ィ ギ ュ レーシ ョ ン設定、 レ ジ ス タ メ
モ リ マ ッ プ、プ ロ セ ッ シ ン グ ロ ジ ッ ク (PL) フ ァ ブ リ ッ ク の関連 ロ ジ ッ ク な ど を含むプ ロ セ ッ シ ン グ シ ス テ ム (PS) お
よ びペ リ フ ェ ラ ルに関す る 情報が取 り 込まれます。 こ の後、 ビ ッ ト ス ト リ ーム を生成 し て PL を初期化 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
5
第 1 章 : 概要
ソ フ ト ウ ェ ア ソ リ ュ ーシ ョ ンは、次を含む Cortex-A9 プ ロ セ ッ サ をサポー ト す る サー ド パーテ ィ ソ ース か ら も 利用可
能です。
•
ソ フ ト ウ ェ ア IDE
•
コ ンパ イ ラ ー ツールチ ェ ーン
•
デバ ッ グお よ び ト レース ツール
•
エンベデ ッ ド OS お よ び ソ フ ト ウ ェ ア ラ イ ブ ラ リ
•
シ ミ ュ レー タ
•
モデルお よ び仮想プ ロ ト タ イ プ ツール
サー ド パーテ ィ ツール ソ リ ュ ーシ ョ ンは、 Zynq-7000 デバ イ ス の統合レベルお よ び直接サポー ト に よ っ て異な り ま
す。
SDK の詳細お よ び Zynq デバ イ ス のプ ロ グ ラ ムについては、 『Zynq-7000 All Programmable SoC ソ フ ト ウ ェ ア開発者向
けガ イ ド 』 (UG821) [参照 1] を参照 し て く だ さ い。 SDK は、 ス タ ン ド ア ロ ン製品で、 http://japan.xilinx.com か ら ダ ウ ン
ロ ー ド で き ます。
図 1-1 は、 エンベデ ッ ド ハー ド ウ ェ アの ツール フ ロ ーを示 し てい ます。
X-Ref Target - Figure 1-1
Hardware
Specification
File (XML)
Configure
PS
Add IP
Generate
Bitstream
(optional)
Export to
Software
Tools
PS
Configuration
Hardware
Handoff
PL
Configuration
(bitstream)
BRAM
Configuration
(BMM)
X12 502
図 1‐1 : ハー ド ウ ェ ア デザイ ン ツールから ソ フ ト ウ ェ ア ツールへのハン ド オ フ
エ ンベデ ッ ド プ ロ セ ッ サ デザイ ンのフ ロー
エンベデ ッ ド プ ロ セ ッ サ デザ イ ンの全体的な フ ロ ーは、 次の よ う にな り ます。
1.
新 し い Vivado Design Suite プ ロ ジ ェ ク ト を作成 し ます。
2.
IP イ ン テ グ レー タ ー ツールでブ ロ ッ ク デザ イ ン を作成 し 、 Zynq Processing System 7 IP コ ア ま たは MicroBlaze プ
ロ セ ッ サを イ ン ス タ ン シエー ト し 、 その他のザ イ リ ン ク ス IP ま たはユーザーのカ ス タ ム IP も イ ン ス タ ン シエー
ト し ます。
3.
最上位 ラ ッ パーを作成 し て、 ブ ロ ッ ク デザ イ ン を最上位 RTL デザ イ ンに イ ン ス タ ン シエー ト し ます。
4.
最上位デザ イ ン を合成お よ び イ ンプ リ メ ン テーシ ョ ン し 、 ハー ド ウ ェ ア を SDK にエ ク ス ポー ト し ます。
5.
ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン を作成 し 、 SDK で ELF (Executable Linkable File) フ ァ イ ルをハー ド ウ ェ ア デザ イ
ンに関連付け ます。
6.
UpdateMEM を使用 し て ELF と ブ ロ ッ ク RAM の MMI (Memory Map Information) フ ァ イ ルを ま と め、 ハー ド ウ ェ
ア デバ イ ス ビ ッ ト ス ト リ ーム と ブ ロ ッ ク RAM を ま と め ます。
7.
タ ーゲ ッ ト ボー ド にプ ロ グ ラ ム し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
6
第 2章
エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ
セ ッ サの使用
概要
本章では、 Zynq®-7000 All Programmable (AP) SoC デバ イ ス を使用す る 場合の Vivado® Design Suite フ ロ ーについて説
明 し ます。
こ の例では、 Xilinx ZC702 Rev 1.0 評価ボー ド を タ ーゲ ッ ト に し 、 Vivado Design Suite のバージ ョ ンは 2013.2 を使用 し
てい ます。
重要 : Vivado IP イ ン テ グ レー タ ー は、 Zynq デバ イ スお よ び MicroBlaze™ プ ロ セ ッ サを タ ーゲ ッ ト にす る デザ イ ン を
含めたエンベデ ッ ド プ ロ セ ッ サ デザ イ ン用で、 XPS (Xilinx Platform Studio) に代わ る も のです。 XPS では MicroBlaze
プ ロ セ ッ サを タ ーゲ ッ ト にす る デザ イ ンだけがサポー ト さ れます。 IP イ ン テ グ レー タ ー も XPS も Vivado 統合設計環
境 (IDE) か ら 使用で き ます。
Vivado IDE での Zynq‐7000 デバイ スの設計
Zynq-7000 AP SoC デバ イ ス の設計は、 Vivado IDE を使用 し た場合 と 、 ISE® Design Suite と エ ンベデ ッ ド 開発キ ッ ト
(EDK) を使用 し た場合で異な り ます。
Vivado IDE では、 エンベデ ッ ド 開発に IP イ ン テ グ レー タ ー ツールを使用 し ます。 IP イ ン テ グ レー タ ーは、 GUI ベー
ス の イ ン タ ーフ ェ イ ス で、 複雑な IP サブシ ス テ ム を統合で き ます。
Vivado IDE の IP カ タ ロ グか ら は、複雑なデザ イ ンに対応する ため、さ ま ざ ま な IP が使用で き る よ う にな っ てい ます。
IP カ タ ロ グには、 カ ス タ ム IP を追加す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ
グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 2] を参照 し て く だ さ い。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
7
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
Zynq‐7000 プ ロ セ ッ サを含む IP イ ン テグ レー タ ー デザイ ンの作成
IP イ ン テ グ レ ー タ ーで [Create Block Design]
ボ ッ ク ス を開いて、 次の図の よ う にデザ イ ン名を入力 し ます。
を ク リ ッ ク し 、 [Create Block Design] ダ イ ア ロ グ
X-Ref Target - Figure 2-1
図 2‐1 : [Create Block Design] ダ イ ア ログ ボ ッ ク ス
ブ ロ ッ ク デザ イ ンは、 プ ロ ジ ェ ク ト の一部 と し て作成で き る ほか、 [Directory] フ ィ ール ド に指定 し た別のデ ィ レ ク ト
リ に作成で き ます。
プルダ ウ ン メ ニ ュ ーか ら [Specify source set] を設定 し て ソ ース タ イ プを指定す る こ と も で き ます。[Block Design] ウ ィ
ン ド ウ (図 2-2) が開 き ます。
X-Ref Target - Figure 2-2
図 2‐2 : [Block Design] ウ ィ ン ド ウ
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
8
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
1.
空のブ ロ ッ ク デザ イ ン キ ャ ンバ ス に IP カ タ ロ グか ら [Add IP] ボ タ ン を ク リ ッ ク し て IP を追加 し ます (図 2-3)。
ま たは、 キ ャ ンバ ス上で右 ク リ ッ ク し て [Add IP] を ク リ ッ ク し ます。
X-Ref Target - Figure 2-3
図 2‐3 : ブ ロ ッ ク デザイ ン キ ャ ンバスへの IP の追加
2.
[Add IP] を ク リ ッ ク す る と 、 検索ボ ッ ク ス が表示 さ れ る ので、 図 2-4の よ う に [ZYNQ7 Processing System] を検索
し て選択 し ます。
X-Ref Target - Figure 2-4
図 2‐4 : IP カ タ ログでの Zynq の検索
Zynq IP を選択す る と 、 Vivado IP イ ン テ グ レー タ ーでデザ イ ンに IP が追加 さ れ、 図 2-5の よ う にプ ロ セ ッ シ ン グ
シ ス テ ムの画像が表示 さ れます。
X-Ref Target - Figure 2-5
図 2‐5 : デ フ ォル ト の ZYNQ7 Processing System のグ ラ フ ィ ッ ク表示
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
9
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
Tcl コ マ ン ド :
create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5
processing_system7_0
3.
プ ロ セ ッ シ ン グ シ ス テ ムの画像を ダブル ク リ ッ ク する と 、 [Re-customize IP] プ ロ セ ス が開始 さ れ、 図 2-6 の よ う
な ZYNQ7 プ ロ セ ッ シ ン グ シ ス テ ムの [Re-customize IP] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
4.
ブ ロ ッ ク デザ イ ンの内容を確認 し ます。 ZYNQ7 プ ロ セ ッ シ ン グ シ ス テ ムの緑色のブ ロ ッ ク は、 コ ン フ ィ ギ ュ
レーシ ョ ン可能なブ ロ ッ ク を示 し てい ます。 緑色のブ ロ ッ ク を ク リ ッ ク す る と 、 コ ン フ ィ ギ ュ レーシ ョ ン オプ
シ ョ ン を設定す る 画面が開 き ます。
X-Ref Target - Figure 2-6
図 2‐6 : [ZYNQ7 Processing System] コ ン フ ィ ギ ュ レーシ ョ ン ダ イ ア ログ ボ ッ ク ス
図 2-6 の よ う な左の Page Navigator か ら オプシ ョ ン を選択する こ と も で き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
10
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
Zynq ブ ロ ッ ク デザイ ン と コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ン ド ウの概要
Page Navigator で設定で き る デフ ォ ル ト っ オプシ ョ ンの詳細については、 『Zynq-7000 All Programmable SoC テ ク ニ カ
ル リ フ ァ レ ン ス マニ ュ アル』 (UG585) [参照 3] を参照 し て く だ さ い。次のセ ク シ ョ ンでは、Page Navigator の選択オプ
シ ョ ン を簡単に説明 し ます。
[PS‐PL Configuration] コ ン フ ィ ギ ュ レーシ ョ ン オプ シ ョ ン
[PS-PL Configuration] オプシ ョ ン ツ リ ーには、 次の よ う なオプシ ョ ンがあ り ます。
X-Ref Target - Figure 2-7
図 2‐7 : [PL‐PS Configuration] ページ
こ のページの上部には次の 4 つのボ タ ンが含まれます。
•
[Documentation] : ク リ ッ ク す る と 、 ザ イ リ ン ク ス ウ ェ ブサ イ ト の資料ページが開き 、 Zynq に関す る 資料を見つけ
る こ と がで き ます (開 く のは英語サ イ ト です。 ブ ラ ウ ザの URL の www.xilinx.com の www を japan に変更す る と
日本語サ イ ト が表示 さ れます)。
•
[Presets] : ク リ ッ ク す る と 、 使用可能なプ リ セ ッ ト オプシ ョ ンに関する 情報が表示 さ れます。 ユーザーは現在の
PS7 の コ ン フ ィ ギ ュ レーシ ョ ン を フ ァ イ ルに保存 し た り 、 前か ら あ る コ ン フ ィ ギ ュ レーシ ョ ン を適用 し て、 プ ロ
セ ッ サの現在の イ ン ス タ ン ス を コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 プ リ セ ッ ト は、 タ ーゲ ッ ト ボー ド に適用す る
こ と も で き ま す。 使用可能なオプシ ョ ンは、 12 ページの図 2-8 に示す よ う に、 [Defalut]、 [MicroZed]、 [ZC702]、
[ZC706]、 [ZedBoard] です。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
11
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
X-Ref Target - Figure 2-8
図 2‐8 : プ リ セ ッ ト オプ シ ョ ン
•
[IP Location] : IP は ロ ーカル デ ィ レ ク ト リ のプ ロ ジ ェ ク ト に作成す る こ と がで き ますが、 リ モー ト デ ィ レ ク ト リ
で作成す る こ と も で き ます。
X-Ref Target - Figure 2-9
図 2‐9 : IP デ ィ レ ク ト リ の指定
•
[Import XPS Settings] : XPS ベース のプ ロ ジ ェ ク ト か ら の Zynq プ ロ セ ッ サの コ ン フ ィ ギ ュ レーシ ョ ン を記述 し た
XML フ ァ イ ルがあ る 場合は、 こ のボ タ ン を ク リ ッ ク す る と 、 その設定を イ ン ポー ト し て、 Zynq プ ロ セ ッ サをす
ばや く コ ン フ ィ ギ ュ レーシ ョ ンす る こ と がで き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
12
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
[General] オプ シ ョ ン
[General] オプシ ョ ン を展開す る と 、 次の よ う な選択肢が表示 さ れます。
X-Ref Target - Figure 2-10
図 2‐10 : [General] オプ シ ョ ン エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
13
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
[MIO Configuration] および [EMIO Configuration]
Page Navigator か ら は、 [Peripheral I/O Pins] ま たは [MIO Configuration] を ク リ ッ ク する と 、 I/O ピ ン を確認お よ び コ ン
フ ィ ギ ュ レーシ ョ ンで き ます。
X-Ref Target - Figure 2-11
図 2‐11 : [Peripheral I/O Pins] ページ を使用 し たペ リ フ ェ ラル I/O ピ ンのコ ン フ ィ ギ ュ レーシ ョ ン
Zynq-7000 PS では、 20 以上のペ リ フ ェ ラ ルが使用で き る よ う にな っ てい ま す。 こ れ ら のペ リ フ ェ ラ ルは、 直接デバ
イ ス の専用 Multiplexed I/O (MIO) ま たは Extended Multiplexed I/O (EMIO) を使用 し て フ ァ ブ リ ッ ク へ配線で き ます。
こ の コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス では、MIO の I/O 規格お よ びスルー設定 も 選択で き ます。ペ リ フ ェ ラ
ルを有効にす る と 、 その I/O ペ リ フ ェ ラ ル ブ ロ ッ ク にチ ェ ッ ク マー ク が表示 さ れます。 ブ ロ ッ ク デザ イ ンには、 ペ
リ フ ェ ラ ルが有効か無効かの ス テー タ ス が表示 さ れます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
14
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
[MIO Configuration] ページ (図 2-12) で も 同様に設定 し ます。
X-Ref Target - Figure 2-12
図 2‐12 : [MIO Configuration] ページ を使用 し たペ リ フ ェ ラル I/O ピ ンのコ ン フ ィ ギ ュ レーシ ョ ン
7Z010 CLG225 の MIO お よ び EMIO の詳細については、 『Zynq-7000 All Programmable SoC テ ク ニ カル リ フ ァ レ ン ス
マニ ュ アル』 (UG585) [参照 3] の第 2 章 「信号、 イ ン タ ーフ ェ イ ス、 ピ ン」 を参照 し て く だ さ い。
ピ ンの制限
7Z010 CLG225 デバ イ ス で使用可能な 32 個の MIO ピ ンに よ り 、 PS の機能が次の よ う に制限 さ れます。
•
MIO を使用 し て USB 1 つか イ ーサネ ッ ト コ ン ト ロ ー ラ ー 1 つのいずれかのみ使用可能
•
SDIO か ら ブー ト 不可能
•
NOR/SRAM の イ ン タ ーフ ェ イ ス な し
•
NAND フ ラ ッ シ ュ の幅が 8 ビ ッ ト に制限 さ れ る
バン ク設定
ペ リ フ ェ ラ ルを選択 し た ら 、 そのペ リ フ ェ ラ ルの各 I/O 信号が該当す る MIO ロ ケーシ ョ ンに表示 さ れます。 こ のセ ク
シ ョ ンは主に、 さ ま ざ ま なペ リ フ ェ ラ ルの I/O 規格を選択す る のに使用 し ます。 PS MIO I/O バ ッ フ ァ ーは、 2 つの電
圧 ド メ イ ンに分割 さ れます。 それぞれの ド メ イ ン内で各 I/O を個別にプ ロ グ ラ ムで き ます。
次の 2 つの I/O 電圧バン ク があ り ます。
•
バン ク 0 は、 0:15 ピ ン を含有
•
バン ク 1 は、 16:53 ピ ン を含有
各 MIO ピ ンは、 次の電圧信号に対 し てそれぞれプ ロ グ ラ ムで き ます。
•
1.8 お よ び 2.5/3.3 ボル ト
•
CMOS シ ン グルエン ド ま たは HSTL 差動レ シーバー モー ド
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
15
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
重要 : バン ク 全体は同 じ 電圧であ る 必要があ り ますが、 ピ ンは異な る I/O 規格にで き ます。
[Zynq] タ ブの [MIO Configuration] ダ イ ア ロ グ ボ ッ ク ス で MIO を設定す る 場合は、 ペ リ フ ェ ラ ルの読み出 し 専用画像
お よ び適切な MIO の選択を確認で き ます。 ウ ィ ン ド ウ の左側には、 使用可能なペ リ フ ェ ラ ルが リ ス ト さ れ ます。 ペ
リ フ ェ ラ ルのチ ェ ッ ク マー ク は、 そのペ リ フ ェ ラ ルが選択 さ れてい る こ と を示 し ます。
フ ラ ッ シ ュ メ モ リ イ ン タ ー フ ェ イ ス コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド で次のいずれか を選択 し ます。
•
「Quad-SPI フ ラ ッ シ ュ 」
•
「SRAM/NOR フ ラ ッ シ ュ 」
•
「NAND フ ラ ッ シ ュ 」
Quad‐SPI フ ラ ッ シ ュ
図 2-13 は、 Quad SPI フ ラ ッ シ ュ で使用で き る オプシ ョ ン を示 し てい ます。
X-Ref Target - Figure 2-13
図 2‐13 : Quad SPI フ ラ ッ シ ュ オプ シ ョ ン
リ ニア Quad-SPI フ ラ ッ シ ュ コ ン ト ロ ー ラ ーの主な機能は、 次の と お り です。
•
シ ン グルま たはデ ュ アル 1x お よ び 2x 読み出 し のサポー ト
•
プ ロ グ ラ ム、 読み出 し 、 お よ び コ ン フ ィ ギ ュ レーシ ョ ン を含むすべてのデバ イ ス処理が可能な I/O モー ド 用 32
ビ ッ ト APB 3.0 イ ン タ ーフ ェ イ ス
•
読み出 し 処理用の 32 ビ ッ ト AXI リ ニア ア ド レ ス マ ッ プ イ ン タ ーフ ェ イ ス
•
シ ン グル チ ッ プ セ レ ク ト ラ イ ンのサポー ト
•
書 き 込み保護信号のサポー ト
•
4 ビ ッ ト の双方向 I/O 信号
•
x1、 x2、 お よ び x4 の読み出 し 速度
•
x1、 x2、 お よ び x4 の書 き 込み速度
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
16
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
•
マ ス タ ー モー ド で 100MHz の最大 Quad-SPI ク ロ ッ ク
•
Quad-SPI 読み出 し の効率を改善す る ための 252 バ イ ト 入力の FIFO の深 さ
•
最大 128Mb の集積度の Quad-SPI デバ イ ス のサポー ト
•
2 つの並列の Quad-SPI デバ イ ス を含むデ ュ アル Quad-SPI のサポー ト
ま た、 リ ニア ア ド レ ス マ ッ プ モー ド には、 次の よ う な機能があ り ます。
•
AXI イ ン タ ーフ ェ イ ス を介 し た標準読み出 し 専用 メ モ リ ア ク セ ス
•
最大 2 つの SPI フ ラ ッ シ ュ メ モ リ
•
1 つの メ モ リ で最大 16MB、 2 つの メ モ リ で 32MB のア ド レ ス空間
•
4 つの AXI 読み出 し 許容機能
•
AXI の増分お よ び ラ ッ プ ア ド レ ス バース ト 読み出 し
•
標準 メ モ リ 読み出 し を SPI プ ロ ト コ ル (ま たはその逆) に自動的に変換
•
シ リ アル、 デ ュ アル、 Quad-SPI モー ド
SRAM/NOR フ ラ ッ シ ュ
X-Ref Target - Figure 2-14
図 2‐14 : SRAM/NOR フ ラ ッ シ ュ コ ン フ ィ ギ ュ レーシ ョ ン オプ シ ョ ン
SRAM/NOR コ ン ト ロ ー ラ ーの機能は、 次の と お り です。
•
8 ビ ッ ト デー タ バ ス幅
•
最大 26 ア ド レ ス信号 (64MB) ま での 1 チ ッ プ セ レ ク ト
•
最大 25 ア ド レ ス信号 (32 MB + 32MB) ま での 2 チ ッ プ セ レ ク ト
•
16 ワ ー ド 読み出 し お よ び 16 ワー ド 書 き 込みデー タ の FIFO
•
8 ワ ー ド コ マ ン ド FIFO
•
各チ ッ プ セ レ ク ト ベース のプ ロ グ ラ マブル I/O サ イ ク ル タ イ ミ ン グ
•
非同期 メ モ リ オペレーテ ィ ン グ モー ド
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
17
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
NAND フ ラ ッ シ ュ
X-Ref Target - Figure 2-15
図 2‐15 : NAND コ ン ト ロー ラ ー オプ シ ョ ン
NAND コ ン ト ロ ー ラ ーの機能は、 次の と お り です。
•
1 チ ッ プ セ レ ク ト 信号を含め、 8/16 ビ ッ ト の I/O 幅
•
ONFI 仕様 1.0
•
16 ワ ー ド 読み出 し お よ び 16 ワー ド 書 き 込みデー タ の FIFO
•
8 ワ ー ド コ マ ン ド FIFO
•
プ ロ グ ラ マブル I/O サ イ ク ル タ イ ミ ン グ
•
ECC ア シ ス ト
•
非同期 メ モ リ オペレーテ ィ ン グ モー ド
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
18
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
ク ロ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン
X-Ref Target - Figure 2-16
図 2‐16 : ク ロ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン
Zynq-7000 デバ イ ス の ク ロ ッ ク を コ ン フ ィ ギ ュ レーシ ョ ンする には、 次のいずれかの方法を使用 し ます。
•
Page Navigator で [Clock Configuration] を ク リ ッ ク し ます。
•
Zynq ブ ロ ッ ク デザ イ ンで [Clock Generation] ブ ロ ッ ク を ク リ ッ ク し ます。
図 2-17 は、 [Clock Configuration] ページ を示 し てい ます。
X-Ref Target - Figure 2-17
図 2‐17 : [Clock Configuration] ページ
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
19
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
図 2-18 は、 [Clock Configuration] ページ を示 し てい ます。
X-Ref Target - Figure 2-18
図 2‐18 : [Clock Configuration] ページの [Processor/Memory Clocks]
PS の ク ロ ッ ク 供給に関す る 詳細は、『Zynq-7000 All Programmable SoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG585)
[参照 3] を参照 し て く だ さ い。 Zynq の ク ロ ッ ク のダ イ ア ロ グ ボ ッ ク ス では、 ペ リ フ ェ ラ ルの ク ロ ッ ク を設定で き ま
す。 PS のペ リ フ ェ ラ ルでは、 通常内部 PLL ま たは外部 ク ロ ッ ク ソ ース か ら ク ロ ッ ク ソ ース を選択で き ます。 ク ロ ッ
ク のほ と ん ど で PLL を選択 し て ク ロ ッ ク が生成で き ます。
同 じ PLL で複数の周波数が生成 さ れ る ので、 [Requested Frequency (MHz)] 列に入力 さ れた周波数 と ま っ た く 同 じ 周波
数を取得で き ない こ と があ り ます。 達成可能な周波数は、 [Actual Frequency (MHz)] 列の周波数です。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
20
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
注記 : 特定ペ リ フ ェ ラ ルの周波数は、 入力周波数、 同 じ PLL か ら 駆動 さ れ る ほかのペ リ フ ェ ラ ルの周波数、 アーキ テ
ク チ ャ か ら の制限な ど、 多 く の要因に よ っ て異な り ます。 ツールで選択 さ れ る M & D 値の詳細は、 ロ グ フ ァ イ ルか
ら 取得で き ます。
DDR コ ン フ ィ ギ ュ レーシ ョ ン
X-Ref Target - Figure 2-19
図 2‐19 : DDR コ ン ト ロー ラ ー
DDR は、 次のいずれかの方法で コ ン フ ィ ギ ュ レーシ ョ ンで き ます。
•
Page Navigator で [DDR Configuration] を ク リ ッ ク し ます。
•
Zynq ブ ロ ッ ク デザ イ ンで [DDR2/3, LPDDR2 Controller] ブ ロ ッ ク を ク リ ッ ク し ます。
DDR メ モ リ コ ン ト ロ ー ラ ーでは DDR2、DDR3、DDR3L、お よ び LPDDR2 デバ イ ス がサポー ト さ れ、AXI メ モ リ ポー
ト イ ン タ ーフ ェ イ ス - DDR イ ン タ ーフ ェ イ ス (DDRI)、ト ラ ンザ ク シ ョ ン ス ケ ジ ュ ー ラ ーを含む コ ア コ ン ト ロ ー ラ ー
(DDRC)、 デジ タ ルl PHY を含む コ ン ト ロ ー ラ ー (DDRP) の 3 つの主なブ ロ ッ ク が含まれます。
DDRI ブ ロ ッ ク は、 4 つの 64 ビ ッ ト 同期 AXI イ ン タ ーフ ェ イ ス を使用 し て、 複数のマ ス タ ーに同時に信号を供給 し ま
す。 それぞれの AXI イ ン タ ーフ ェ イ ス に専用の ト ラ ンザ ク シ ョ ン FIFO が含まれます。 DDRC には 2 つの 32 エン ト
リ コ ン テ ン ト のア ド レ ス指定が可能な メ モ リ (CAM) が含まれ、 DDR メ モ リ 効率を最大限にする DDR デー タ サービ
ス ス ケ ジ ュ ー リ ン グが実行 さ れ ま す。 こ れには、 レ イ テ ン シの小 さ いチ ャ ネル用の フ ラ イ バ イ チ ャ ネル も 含 ま れ、
CAM を介 さ ずに DDR メ モ リ にア ク セ ス で き ます。
PHY プ ロ セ ス の読み出 し お よ び書 き 込みが コ ン ト ロ ー ラ ーか ら リ ク エ ス ト さ れ、 それ ら が タ ーゲ ッ ト DDR メ モ リ の
タ イ ミ ン グ制約内で特定信号に変換 さ れます。 PHY では コ ン ト ロ ー ラ ーか ら の信号を使用 し て内部信号を生成 し 、 こ
れ ら の信号はデジ タ ル PHY を使用 し て ピ ンに接続 さ れます。 DDR ピ ンは PCB 信号 ト レース を使用 し て DDR デバ イ
ス に直接接続 さ れます。
シ ス テ ムは、 DDRI を使用 し 、 次の 4 つの 64 ビ ッ ト AXI メ モ リ ポー ト を介 し て DDR にア ク セ ス し ます。
•
1 つの AXI ポー ト は CPU お よ び ACP の L2 キ ャ ッ シ ュ 専用です。
•
2 つのポー ト は AXI_HP イ ン タ ーフ ェ イ ス専用です。
•
AXI イ ン タ ー コ ネ ク ト のその他のマ ス タ ーが 4 番目のポー ト を共有 し ます。
DDRI は こ の 8 つのポー ト (読み出 し 用 4 つ、 書き 込み用 4 つ) か ら の リ ク エ ス ト を調整 (アービ タ ー ) し ます。 アービ
タ ーは リ ク エ ス ト を選択 し 、 それを DDR コ ン ト ロ ー ラ ーお よ び ト ラ ンザ ク シ ョ ン ス ケ ジ ュ ー ラ ー (DDRC) に渡 し ま
す。
こ の調整は、 どれ く ら い リ ク エ ス ト が待機状態であ る か、 リ ク エ ス ト の緊急性お よ び リ ク エ ス ト が前の リ ク エ ス ト と
同 じ ページ内にあ る か ど う かな ど の状況に基づいて実行 さ れます。
DDRC は読み出 し フ ロ ー と 書 き 込みフ ロ ーの両方で 1 つの イ ン タ ーフ ェ イ ス を使用 し て、 DDRI か ら リ ク エ ス ト を受
信 し ま す。 読み出 し リ ク エ ス ト には、 DDR がデー タ を入れて戻す タ グ フ ィ ール ド が含 ま れ ま す。 DDR コ ン ト ロ ー
ラ ー PHY (DDRP) は DDR ト ラ ンザ ク シ ョ ン を駆動 し ます。
図 2-20 は、 DDR コ ン ト ロ ー ラ ーの コ ン フ ィ ギ ュ レーシ ョ ン ページ を示 し てい ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
21
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
注記 : 8 ビ ッ ト イ ン タ ー フ ェ イ ス はサポー ト さ れてい ま せんが、 8 ビ ッ ト ポー ト を使用 し て 16/32 ビ ッ ト イ ン タ ー
フ ェ イ ス を作成す る こ と はで き ます。
X-Ref Target - Figure 2-20
図 2‐20 : DDR コ ン ト ロー ラ ーの [DDR Configuration] ページ
GIC ‐ 割 り 込み コ ン ト ロー ラ ー
GIC (Generic Interrupt Controller) は、 次のいずれかの方法で コ ン フ ィ ギ ュ レーシ ョ ンで き ます。
•
Page Navigator で [Interrupts] を ク リ ッ ク し ます。
•
Zynq ブ ロ ッ ク 図で [GIC] ブ ロ ッ ク を ク リ ッ ク し ます。
X-Ref Target - Figure 2-21
図 2‐21 : Generic Interrupt Controller
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
22
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
図 2-22 は、 割 り 込みポー ト の コ ン フ ィ ギ ュ レーシ ョ ン ページ を示 し てい ます。
X-Ref Target - Figure 2-22
図 2‐22 : GIC 割 り 込み
GIC は、PS お よ び PL か ら CPU に送信 さ れ る 割 り 込みを管理す る 中央 リ ソ ース です。 コ ン ト ロ ー ラ ーは割 り 込み ソ ー
ス を イ ネーブル、 デ ィ ス エーブル、 優先順位付け し 、 それ ら を CPU イ ン タ ーフ ェ イ ス が次の割 り 込みを受信す る の
と 同 じ プ ロ グ ラ ム方法で、 選択 し た CPU に送信 し ます。 ま た、 コ ン ト ロ ー ラ ーはセキ ュ リ テ ィ 意識の高いシ ス テ ム
を イ ンプ リ メ ン ト す る 際のセキ ュ リ テ ィ 拡張 も サポー ト し ます。
コ ン ト ロ ー ラ ーは、 ARM Generic Interrupt Controller Architecture バージ ョ ン 1.0 (GIC v1) (ベ ク タ ーな し ) に基づいてい
ます。
CPU のプ ラ イ ベー ト バ ス は、 一時的な妨害お よ びその他の イ ン タ ー コ ネ ク ト でのボ ト ルネ ッ ク を回避 し て レ ジ ス タ
にア ク セ ス し 、 高速読み出 し /書 き 込みレ ス ポ ン ス を可能に し ます。
割 り 込み分配器は、 優先度の高い も のを個別 CPU に送信する 前に、 すべての割 り 込み ソ ース を集め ます。
GIC を使用す る と 、 複数の CPU への割 り 込みを指定 し た場合、 同時に割 り 込みを処理で き る のは 1 つの CPU だけで
す。 すべての割 り 込み ソ ース に、 一意の割 り 込み ID 番号が含ま れ る ほか、 それぞれ コ ン フ ィ ギ ュ レーシ ョ ン可能な
優先順位 と タ ーゲ ッ ト CPU の リ ス ト が含まれます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
23
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
Zynq-7000 デバ イ ス の ロ ジ ッ ク ブ ロ ッ ク に関する 情報は、 『Zynq-7000 All Programmable SoC テ ク ニ カル リ フ ァ レ ン ス
マニ ュ アル』 (UG585) [参照 3] お よ び 『Zynq-7000 All Programmable SoC ソ フ ト ウ ェ ア開発者向けガ イ ド 』 (UG821) [参
照 1] を参照 し て く だ さ い。
PS および PL 間のイ ン タ ー コ ネ ク ト
AXI_HP イ ン タ ー フ ェ イ ス
X-Ref Target - Figure 2-23
図 2‐23 : AXI_HP イ ン タ ー フ ェ イ ス
4 つの AXI_HP イ ン タ ーフ ェ イ スは、DDR お よ び OCM メ モ リ への高バン ド 幅のデー タ パス を持つ PL バ ス マ ス タ ー
を提供 し ます。 各 イ ン タ ーフ ェ イ ス には、 読み出 し お よ び書 き 込み用に 2 つの FIFO バ ッ フ ァ ーが含まれます。 PL か
ら メ モ リ への イ ン タ ー コ ネ ク ト では、 高速 AXI_HP ポー ト が 2 つの DDR メ モ リ ポー ト ま たは OCM のいずれかに配
線 さ れ ま す。 AXI_HP イ ン タ ーフ ェ イ ス は、 バ ッ フ ァ ー機能があ る こ と を わか り やす く す る ために、 AXI FIFO イ ン
タ ーフ ェ イ ス (AFI) と 呼ばれ る こ と も あ り ます。
重要 : PL の ロ ジ ッ ク 通信が発生す る 前に LVL_SHFTR_EN を使用 し て PL レベル シ フ タ ーを イ ネーブルにす る 必要が
あ り ます。
Page Navigator か ら [PS-PL Configuration] を ク リ ッ ク し て [HP Slave AXI Interface] オプシ ョ ン を展開 し 、 こ れ ら の イ ン
タ ーフ ェ イ ス を イ ネーブルに し て く だ さ い (図 2-24)。
X-Ref Target - Figure 2-24
図 2‐24 : AXI HP イ ン タ ー フ ェ イ スのイ ネーブル
イ ン タ ーフ ェ イ ス は、 PL マ ス タ ーお よ び DDR お よ びオンチ ッ プ RAM を含む PS メ モ リ 間に高スループ ッ ト デー タ
パ ス を提供 し ます。 主な機能は、 次の と お り です。
32 ビ ッ ト ま たは 64 ビ ッ ト デー タ 幅のマ ス タ ー イ ン タ ーフ ェ イ ス (ポー ト ご と に個別にプ ロ グ ラ ム)
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
24
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
•
32 ビ ッ ト イ ン タ ーフ ェ イ ス モー ド でのア ラ イ メ ン ト 済み転送用に、 64 ビ ッ ト へ効率的なダ イ ナ ミ ッ ク 拡張
(AxCACHE を使用 し て制御可能)
•
32 ビ ッ ト イ ン タ ーフ ェ イ ス モー ド でのア ラ イ メ ン ト な し の 32 ビ ッ ト 転送用に、 64 ビ ッ ト へ自動拡張
•
書 き 込み コ マ ン ド のプ ロ グ ラ マブル リ リ ース し き い値
•
PL お よ び PS 間のすべての AXI イ ン タ ーフ ェ イ ス で非同期 ク ロ ッ ク の周波数の ド メ イ ンが ク ロ ス可能
•
読み出 し お よ び書 き 込みの両方に 1 KB (128 X 64 ビ ッ ト ) デー タ FIFO を使用 し て レ イ テ ン シの多い転送を円滑
化
•
PL ポー ト か ら QoS 信号が使用可能
•
PL に対 し て使用可能な コ マ ン ド お よ びデー タ FIFO の フ ィ ル レベル カ ウ ン ト
•
標準 AXI 3.0 イ ン タ ーフ ェ イ ス のサポー ト
•
読み出 し お よ び書 き 込み コ マ ン ド と は別に、 イ ン タ ー コ ネ ク ト に対す る プ ロ グ ラ マブル コ マ ン ド の発行
•
14 ~ 70 コ マ ン ド (バース ト 長に依存) の範囲で大容量の ス レーブ イ ン タ ーフ ェ イ ス の読み出 し を許容可能
•
8 ~ 32 コ マ ン ド (バース ト 長に依存) の範囲で大容量の ス レーブ イ ン タ ーフ ェ イ ス の書き 込みを許容可能
AXI_ACP イ ン タ ー フ ェ イ ス
ACP (Accelerator Coherency Port) は、 プ ロ グ ラ マ ブル ロ ジ ッ ク マ ス タ ーにオプ シ ョ ン の コ ヒ ー レ ン シお よ び L1/L2
キ ャ ッ シ ュ を使用 し て レ イ テ ン シの少ないア ク セ ス を提供 し ます。
シ ス テ ムの観点か ら は、 ACP イ ン タ ーフ ェ イ ス の接続は APU CPU と 類似 し てい ます。 こ の よ う に接続性が類似 し て
い る こ と か ら 、 ACP は APU ブ ロ ッ ク の外側で リ ソ ース ア ク セ ス を直接競い合い ます。
重要 : PL の ロ ジ ッ ク 通信が発生す る 前に LVL_SHFTR_EN を使用 し て PL レベル シ フ タ ーを イ ネーブルにす る 必要が
あ り ます。
ZYNQ7 ブ ロ ッ ク デザ イ ンで [64b AXI ACP Slave Ports] ブ ロ ッ ク を ク リ ッ ク し て AXI_ACP を コ ン フ ィ ギ ュ レーシ ョ ン
し ます。
X-Ref Target - Figure 2-25
図 2‐25 : AXI_ACP コ ン フ ィ ギ ュ レーシ ョ ン
ま たは、 [PS-PL Configuration] を ク リ ッ ク し て [ACP Slave AXI Interface] を展開 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
25
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
図 2-26 は、 ACP AXI ス レーブの コ ン フ ィ ギ ュ レーシ ョ ン ページ を示 し てい ます。
X-Ref Target - Figure 2-26
図 2‐26 : ACP ス レーブの AXI イ ン タ ー フ ェ イ ス ページ
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
26
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
AXI_GP イ ン タ ー フ ェ イ ス
AXI_GP には、 次の よ う な機能があ り ます。
•
標準 AXI プ ロ ト コ ル
•
デー タ バ ス幅 :32
•
マ ス タ ー ポー ト ID 幅 :12
•
マ ス タ ー ポー ト 発行能力 :8 読み出 し 、 8 書き 込み
•
ス レーブ ポー ト ID 幅 :6
•
ス レーブ ポー ト 許容能力 :8 読み出 し 、 8 書き 込み
こ れ ら の イ ン タ ーフ ェ イ ス は、 マ ス タ ー イ ン タ ー コ ネ ク ト お よ びス レーブ イ ン タ ー コ ネ ク ト のポー ト に直接接続 さ
れます。 FIFO バ ッ フ ァ ーをエ ラ ボ レー ト し てパフ ォーマ ン スお よ びスループ ッ ト を増加する AXI_HP と は異な り 、追
加の FIFO バ ッ フ ァ ーは必要あ り ま せん。 こ のため、 パフ ォ ーマ ン ス はマ ス タ ー イ ン タ ー コ ネ ク ト と ス レ ーブ イ ン
タ ー コ ネ ク ト に よ っ て制約 さ れます。 こ れ ら の イ ン タ ーフ ェ イ ス は、 汎用目的のみに使用 さ れ、 高パフ ォーマ ン ス を
達成す る ための も のではあ り ません。
重要 : PL の ロ ジ ッ ク 通信が発生す る 前に LVL_SHFTR_EN を使用 し て PL レベル シ フ タ ーを イ ネーブルにす る 必要が
あ り ます。
ZYNQ7 ブ ロ ッ ク デザ イ ン で次のブ ロ ッ ク を ク リ ッ ク し て、 AXI_GP イ ン タ ーフ ェ イ ス を コ ン フ ィ ギ ュ レーシ ョ ン し
ます。
X-Ref Target - Figure 2-27
図 2‐27 : AXI_GP コ ン フ ィ ギ ュ レーシ ョ ン
ま た は、 Page Navigator で [PS-PL Configuration] を ク リ ッ ク し て、 [GP Master AXI Interface] お よ び [GP Slave AXI
Interface] オプシ ョ ン を展開 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
27
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
図 2-28 は、 GP AXI マ ス タ ーお よ びス レーブの コ ン フ ィ ギ ュ レーシ ョ ン ページ を示 し てい ます。
X-Ref Target - Figure 2-28
図 2‐28 : GP マス タ ーおよびス レーブ AXI イ ン タ ー フ ェ イ ス
PS‐PL ク ロ ス ト リ ガー イ ン タ ー フ ェ イ ス
エンベデ ッ ド ク ロ ス ト リ ガー (ECT) は、 ク ロ ス ト リ ガーの メ カ ニズ ムです。 ECT を使用す る こ と に よ り 、 CoreSight
コ ン ポーネ ン ト は ト リ ガーを送受信 し 、 ほかの コ ン ポーネ ン ト と 通信で き ます。 ECT は、 次の 2 つの コ ン ポーネ ン ト
と 共に イ ンプ リ メ ン ト さ れます。
•
ク ロ ス ト リ ガー マ ト リ ッ ク ス (CTM)
•
ク ロ ス ト リ ガー イ ン タ ーフ ェ イ ス (CTI)
1 つま たは複数の CTM は、 複数チ ャ ネルを使用 し て イ ベン放送ネ ッ ト ワー ク を形成 し ます。 CTI は、 1 つま たは複数
チ ャ ネルを イ ベン ト がないか ど う か確認 し 、 受信 し た イ ベン ト を ト リ ガーにマ ッ プ し 、 ト リ ガーを CTI に接続 さ れた
1 つま たは複数の CoreSight コ ン ポーネ ン ト に送信 し ます。 ま た、 CTI は接続 さ れた CoreSight コ ン ポーネ ン ト か ら ト
リ ガーを ま と めてマ ッ プ し て、 それ ら を 1 つま たは複数チ ャ ネルの イ ベン ト と し て放送 し ます。 CTM も CTI も コ ン
ト ロ ールお よ びア ク セ ス ク ラ ス の CoreSight コ ン ポーネ ン ト です。
ECT は、 次を使用 し て コ ン フ ィ ギ ュ レーシ ョ ン さ れます。
•
4 つの放送チ ャ ネル
•
4 つの CTI
注記 : パ ワーダ ウ ンはサポー ト さ れません。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
28
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
ク ロ ス ト リ ガーは、 [ZYNQ7 Processing System] コ ン フ ィ ギ ュ レーシ ョ ン ダ イ ア ロ グ ボ ッ ク ス で [PS-PL Cross Trigger
Interface] を選択す る と 使用で き ます。
X-Ref Target - Figure 2-29
図 2‐29 : PS‐PL ク ロ ス ト リ ガー イ ン タ ー フ ェ イ ス
プ ロ グ ラ マ ブル ロ ジ ッ ク (PL) の使用
PL は、 ユーザーが コ ン フ ィ ギ ュ レーシ ョ ン可能な機能を持つ豊富な アーキ テ ク チ ャ を提供 し ます。
コ ン フ ィ ギ ュ レーシ ョ ン可能な ロ ジ ッ ク ブ ロ ッ ク (CLB)
•
6 入力ル ッ ク ア ッ プ テーブル (LUT) (LUT 内に メ モ リ 機能あ り )
•
レ ジ ス タ お よ びシ フ ト レ ジ ス タ の機能
•
カ ス ケー ド 可能な加算器
36 Kb ブ ロ ッ ク RAM
•
最大 72 ビ ッ ト 幅ま でのデ ュ アル ポー ト
•
デ ュ アル 18Kb と し て コ ン フ ィ ギ ュ レーシ ョ ン可能
•
プ ロ グ ラ マブル FIFO ロ ジ ッ ク
•
ビル ト イ ン誤 り 訂正回路
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
29
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
デジ タ ル シ グナル プ ロ セ ッ シ ン グ - DSP48E1 ス ラ イ ス
•
25 × 18 の 2 の補数の乗算器/累算器の高解像度 (48 ビ ッ ト ) シ グナル プ ロ セ ッ サー
•
対称フ ィ ル タ ー アプ リ ケーシ ョ ン を最適化する ため各加算器で 25 ビ ッ ト の電力削減
•
ア ド バン ス機能 : オプシ ョ ンのパ イ プ ラ イ ン処理、 オプシ ョ ンの ALU、 カ ス ケー ド 専用バ ス
ク ロ ッ ク 管理
•
ス キ ュ ーの小 さ い ク ロ ッ ク 分配用の高速バ ッ フ ァ ーお よ び配線
•
周波数合成お よ び位相シ フ ト
•
ジ ッ タ ーの少ない ク ロ ッ ク の生成お よ びジ ッ タ ー フ ィ ル タ ー
コ ン フ ィ ギ ュ レーシ ョ ン可能 I/O
•
高パフ ォーマ ン ス の SelectIO™ テ ク ノ ロ ジ
•
シ グナル イ ン テ グ リ テ ィ 拡張用のパ ッ ケージ内の高周波数デカ ッ プ リ ン グ キ ャ パシ タ ー
•
低電力、 高速の I/O 操作用に ト ラ イ ス テー ト にで き る デジ タ ル制御 さ れた イ ン ピーダ ン ス
•
HR (High Range) I/O で 1.2 ~ 3.3V ま でサポー ト
•
HP (High Performance) I/O で 1.2 V ~ 1.8 V ま でサポー ト (7z030、 7z045、 お よ び 7z100 デバ イ ス)
低電力のギガ ビ ッ ト ト ラ ン シーバー
•
7z030、 7z045、 お よ び 7z100 デバ イ ス
•
最大 12.5 Gb/s ま で処理可能な高パフ ォーマ ン ス ト ラ ン シーバー (GTX)
•
チ ッ プ間 イ ン タ ーフ ェ イ ス用に最適化 さ れた低電力モー ド
•
ア ド バン ス送信プ リ エン フ ァ シ ス/ポ ス ト エン フ ァ シ ス、 レ シーバー リ ニ ア (CTLE)、 追加マージ ン用の適応等価
を含む判定帰還等化 (DFE)
アナ ロ グ ・ デジ タ ル コ ンバー タ ー (XADC)
•
デ ュ アル 12 ビ ッ ト 1 MSPS アナ ロ グ ・ デジ タ ル コ ンバー タ ー (ADC)
•
最大 17 個の柔軟性のあ る ユーザー コ ン フ ィ ギ ュ レーシ ョ ン可能な アナ ロ グ入力
•
オンチ ッ プ ま たは外部 リ フ ァ レ ン ス オプシ ョ ン
•
オンチ ッ プ温度 (±4 ℃ 最大誤差) お よ び電源 (±1% 最大誤差)
•
ADC 測定に対す る 継続 し た JTAG ア ク セ ス
PCI Express 用統合 イ ン タ ーフ ェ イ ス ブ ロ ッ ク のデザ イ ン (7z030、 7z045、 お よ び 7z100 デバ イ ス用)
•
エン ド ポ イ ン ト お よ びルー ト ポー ト 機能を含む PCI Express ベース の仕様 2.1 と 互換性あ り
•
Gen1 (2.5 Gb/s) お よ び Gen2 (5.0 Gb/s) 速度のサポー ト
ア ド バン ス コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン、ア ド バン ス エ ラ ー レ ポー ト (AER)、エン ド ツー エン ド CRC (ECRC)
カ ス タ ム ロ ジ ッ ク
Vivado® IP パ ッ ケージ ャ ーを使用す る と 、 ユーザーお よ びサー ド パーテ ィ の IP (Intellectual Property) を Vivado IDE の
Vivado IP カ タ ロ グで簡単に使用で き ます。 こ の よ う に準備 さ れたサー ド パーテ ィ IP は、 Vivado Design Suite のデザ イ
ンに イ ン ス タ ン シエー ト で き ます。
Vivado Design Suite の IP パ ッ ケージ フ ロ ーを使用 し て IP を開発する と 、 ザ イ リ ン ク ス IP、 サー ド パーテ ィ IP、 ま た
はカ ス タ マー開発 IP のいずれ も Vivado Design Suite で同様に使用で き ます。
IP の開発時には、 IP パ ッ ケージ ャ ーを使用 し て IP フ ァ イ ル と 関連デー タ を ZIP フ ァ イ ルにパ ッ ケージ化 し ます。 こ
の生成 さ れた ZIP フ ァ イ ルを Vivado Design Suite の IP カ タ ロ グに イ ン ス ト ールす る と 、 パ ラ メ ー タ ーを選択 し て IP
を カ ス タ マ イ ズ し 、 IP イ ン ス タ ン ス を生成で き る よ う にな り ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
30
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 2] お よ び 『Vivado Design Suite チ ュ ー ト リ アル :
IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG995) [参照 4] を参照 し て く だ さ い。
推奨 : IP 開発者は、IP のパ ッ ケージに問題がないか ど う か を IP ユーザーに渡す前に確認する ため、 IP ユーザー フ ロ ー
か ら 各 IP モジ ュ ールをすべて実行 し 、 I P が使用可能な状態であ る か ど う か検証 し てお く こ と をお勧め し ます。
Zynq‐7000 プ ロ セ ッ シ ング シ ス テムのシ ミ ュ レーシ ョ ン
Zynq®-7000 BFM (Bus Functional Model) では、Zynq-7000 ベース のアプ リ ケーシ ョ ンの論理シ ミ ュ レーシ ョ ンがサポー
ト さ れます。 BFM では、 PS-PL イ ン タ ーフ ェ イ スお よ びプ ロ セ ッ サ シ ス テ ム (PS) ロ ジ ッ ク の OCM/DDR メ モ リ を模
倣す る こ と で、プ ロ グ ラ マブル ロ ジ ッ ク (PL) の論理的検証が有効にな っ てい ます。 こ の BFM は暗号化 さ れた Verilog
モジ ュ ールのパ ッ ケージ と し て配信 さ れてい ます。 BFM の操作は、 Verilog 構文フ ァ イ ルの Verilog タ ス ク のシーケ ン
ス に よ り 制御 さ れます。
機能
•
ピ ン互換性のあ る 、 Verilog ベース のシ ミ ュ レーシ ョ ン モデル
•
すべての AXI イ ン タ ーフ ェ イ ス をサポー ト
°
AXI 3.0 に準拠
•
分散 メ モ リ モデル (DDR 用) お よ び RAM モデル (OCM 用)
•
Verilog タ ス ク ベース の API
•
Vivado Design Suite に含有
•
ブ ロ ッ キ ン グお よ び ノ ンブ ロ ッ キ ン グの割 り 込みサポー ト
•
AXI BFM モデルの ラ イ セ ン ス が必要
ア プ リ ケーシ ョ ン
Zynq-7000 BFM は、 Zynq-7000 PS ロ ジ ッ ク の シ ミ ュ レ ー シ ョ ン 環境 を 提供す る も の で、 通常デ ザ イ ン の
processing_system7 ブ ロ ッ ク に置 き 換わ る も のです。 Zynq-7000 BFM モデルには、 次の よ う な機能があ り ます。
•
PS マ ス タ ーか ら AXI BFM マ ス タ ーの API 呼び出 し ま での ト ラ ンザ ク シ ョ ン
•
PS ス レーブか ら イ ン タ ー コ ネ ク ト モデルを介 し た OCM お よ び DDR メ モ リ のモデルま でで終端 さ れ る ト ラ ン
ザクシ ョ ン
•
FCLK リ セ ッ ト お よ び ク ロ ッ ク 供給サポー ト
•
PL か ら PS への入力割 り 込み
•
PS レ ジ ス タ マ ッ プ
Zynq BFM の詳細は、 『Zynq-7000 Bus Functional Model Data Sheet』 (DS897) を参照 し て く だ さ い。
エ ンベデ ッ ド IP カ タ ロ グ
Vivado IP カ タ ロ グは、 IP の検索、 詳細情報の確認、 関連資料の表示を実行可能な統合 リ ポジ ト リ です。 Vivado IP カ
タ ロ グにサー ド パーテ ィ IP ま たはカ ス タ マー IP を追加する と 、 Vivado Design Suite フ ロ ーか ら その IP にア ク セ ス で
き る よ う にな り ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
31
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
図 2-30 は、 Vivado IDE の IP イ ン テ グ レー タ ー内の IP カ タ ロ グです。
X-Ref Target - Figure 2-30
図 2‐30 : IP イ ン テグ レー タ ー内の IP カ タ ログ
設計ア シ ス タ ン ス を使用 し た接続
ZYNQ-7000 PS を コ ン フ ィ ギ ュ レーシ ョ ン し た ら 、 デバ イ ス のプ ロ グ ラ マブル ロ ジ ッ ク 部分に含め る ほかの IP を イ
ン ス タ ン シエー ト で き ます。
IP イ ン テ グ レー タ ーの図エ リ アで右 ク リ ッ ク し て [Add IP] を ク リ ッ ク し ます。
IP イ ン テ グ レー タ ーの 2 つのビル ト イ ン機能 (ブ ロ ッ ク オー ト メ ーシ ョ ンお よ び コ ネ ク シ ョ ン オー ト メ ーシ ョ ン) を
使用 し て残 り の IP サブシ ス テ ム デザ イ ン を完成 さ せる こ と がで き ます。 こ れ ら の機能を使用する と 、 基本的なマ イ
ク ロ プ ロ セ ッ サ シ ス テ ム を IP イ ン テ グ レー タ ー ツールで統合 し 、外部 I/O ポー ト にポー ト を接続 し やす く な り ます。
ブ ロ ッ ク オー ト メ ーシ ョ ン
ブ ロ ッ ク オー ト メ ーシ ョ ンは、 Zynq-7000 PS ま たは MicroBlaze™ プ ロ セ ッ サの よ う なマ イ ク ロ プ ロ セ ッ サを IP イ ン
テ グ レー タ ー ツールのブ ロ ッ ク デザ イ ンに イ ン ス タ ン シエー ト す る 際に使用で き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
32
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
図 2-31 の よ う に [Run Block Automation] を ク リ ッ ク す る と 、 単純な ZYNQ プ ロ セ ッ シ ン グ シ ス テ ム が統合 し やす く
な り ます。
X-Ref Target - Figure 2-31
図 2‐31 : [Run Block Automation] 機能
図 2-32 の よ う に、 [Run Block Automation] ダ イ ア ロ グ ボ ッ ク ス には、 オー ト メ ーシ ョ ン で使用可能なオプシ ョ ンが表
示 さ れます。
X-Ref Target - Figure 2-32
図 2‐32 : ZYNQ7 の [Run Block Automation] ダ イ ア ログ ボ ッ ク ス
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
33
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
[OK] を ク リ ッ ク す る と 、ブ ロ ッ ク オー ト メ ーシ ョ ン機能に よ り 、図 2-33 の よ う な基本的な シ ス テ ムが作成 さ れます。
X-Ref Target - Figure 2-33
図 2‐33 : ブ ロ ッ ク オー ト メ ーシ ョ ン実行後の IP イ ン テグ レー タ ーの画面
ク ロ ス ト リ ガー機能は、 [Run Block Automation] ダ イ ア ロ グ ボ ッ ク ス の [Cross Trigger In] お よ び [Cross Trigger Out]
フ ィ ール ド を使用 し て適切な フ ァ ン ク シ ョ ン を選択 し て も 使用で き る よ う にな り ます。
X-Ref Target - Figure 2-34
図 2‐34 : ク ロ ス ト リ ガー機能を オンにする [Run Block Automation] ダ イ ア ログ ボ ッ ク ス
[Cross Trigger In] お よ び [Cross Trigger Out] フ ィ ール ド のデフ ォ ル ト 値は [Disable] ですが、 [Enable] や [New ILA] を選
択す る と 、 ク ロ ス ト リ ガーが使用で き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
34
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
[Cross Trigger In] お よ び [Cross Trigger Out] フ ィ ール ド で [Enable] を選択する と 、ZYNQ7 で使用可能な ク ロ ス ト リ ガー
ピ ンの 1 つのみが使用で き る よ う にな り ます。 こ れ ら の ピ ンへの接続は、 ユーザーが指定す る 必要があ り ます。
X-Ref Target - Figure 2-35
図 2‐35 : ZYNQ7 のク ロ ス ト リ ガー ピ ン
[New ILA] を選択す る と 、 ク ロ ス ト リ ガー ピ ンが有効にな る だけでな く 、 それ ら が ILA (Integrated Logic Analyzer) コ
アに接続 さ れ る よ う に も な り ます。
X-Ref Target - Figure 2-36
図 2‐36 : ブ ロ ッ ク オー ト メ ーシ ョ ン を使用 し て ク ロ ス ト リ ガー ピ ン を ILA に接続
Vivado IP イ ン テ グ レー タ ー ツールでは、 ZC702 の よ う なザ イ リ ン ク ス タ ーゲ ッ ト リ フ ァ レ ン ス プ ラ ッ ト フ ォ ーム
を使用 し た場合、 ボー ド オー ト メ ーシ ョ ン機能 も 提供 さ れてい ます。 詳細は、 40 ページの 「IP イ ン テ グ レー タ ーの
ボー ド オー ト メ ーシ ョ ン」 を参照 し て く だ さ い。
こ の機能では、 IP のポー ト が タ ーゲ ッ ト ボー ド の FPGA ピ ンに接続 さ れ ます。 IP は適切に コ ン フ ィ ギ ュ レーシ ョ ン
さ れ、 ユーザーの選択に基づいて、 I/O ポー ト に接続 さ れます。 ボー ド オー ト メ ーシ ョ ンでは、 物理制約が必要な IP
に対 し て自動的に物理制約が生成 さ れます。
図 2-33 で、 外部 DDR お よ び FIXED_IO イ ン タ ーフ ェ イ ス が外部ポー ト に接続 さ れてい る こ と を確認 し て く だ さ い。
コ ネ ク シ ョ ン オー ト メ ーシ ョ ン
IP イ ン テ グ レー タ ー ツールで、 キ ャ ンバ ス上の イ ン ス タ ン シエー ト 済み IP 内に潜在的な接続が存在す る と 判断 さ れ
る 場合は、 コ ネ ク シ ョ ン オー ト メ ーシ ョ ン機能が使用で き る よ う にな り ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
35
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
図 2-37 では、 AXI BRAM コ ン ト ロ ー ラ ー と ブ ロ ッ ク メ モ リ ジ ェ ネ レー タ ーの IP が ZYNQ7 プ ロ セ ッ シ ン グ シ ス テ
ム IP と 共に イ ン ス タ ン シエー ト さ れてい ます。
IP イ ン テ グ レー タ ーでは、AXI BRAM コ ン ト ロ ー ラ ー と ZYNQ7 IP 間に潜在的な接続が存在す る と 判断 さ れ、 コ ネ ク
シ ョ ン オー ト メ ーシ ョ ン機能が使用で き る よ う にな り ます。
X-Ref Target - Figure 2-37
図 2‐37 : [Run Connection Automation] 機能を使用 し た接続
[Run Connection Automation] を ク リ ッ ク す る と 、 次が実行 さ れます。
•
AXI Interconnect、 Block Memory Generator、 お よ び Proc Sys Reset IP が イ ン ス タ ン シエー ト さ れます。
•
AXI イ ン タ ー コ ネ ク ト を使用 し て AXI BRAM コ ン ト ロ ー ラ ーが ZYNQ7 PS IP に接続 さ れます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
36
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
•
Proc Sys Reset IP が図 2-38 の よ う に正 し く 接続 さ れます。
X-Ref Target - Figure 2-38
図 2‐38 : コ ネ ク シ ョ ン オー ト メ ーシ ョ ン後のブ ロ ッ ク デザイ ン
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
37
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
手動接続
図 2-39 は、ILA SLOT_0_AXI ま たは CLK ピ ン を監視する 必要のあ る AXI イ ン タ ーフ ェ イ ス にユーザーが接続す る 方
法を示 し てい ます。 こ れは、 手動で実行で き ます。
カー ソ ルを IP ブ ロ ッ ク の イ ン タ ーフ ェ イ ス ま たはピ ン コ ネ ク タ の近 く に移動す る と 、 カー ソ ルの形がペン形に変わ
り ます。 IP ブ ロ ッ ク の イ ン タ ーフ ェ イ ス ま たはピ ン コ ネ ク タ を ク リ ッ ク し 、 接続先ブ ロ ッ ク に ド ラ ッ グ し ます。
X-Ref Target - Figure 2-39
図 2‐39 : ポー ト の手動接続
I/O ポー ト の手動作成 と 接続
Vivado IP イ ン テ グ レー タ ーでは手動で外部 IO ポー ト を作成で き ます。 ピ ン、 バ ス、 ま たは イ ン タ ーフ ェ イ ス接続を
選択す る と 、 信号お よ び イ ン タ ーフ ェ イ ス を外部 I/O ポー ト に接続で き ます。
手動で I/O ポー ト を作成 し て接続す る には、 ブ ロ ッ ク 図のポー ト を右 ク リ ッ ク し て、 次を ク リ ッ ク し ます。
•
[Make External] : Ctrl キーを押 し なが ら ク リ ッ ク す る と 、複数の ピ ン を選択 し てか ら [Make External] を ク リ ッ ク で
き ます。 こ の コ マ ン ド に よ り 、 IP の ピ ンがブ ロ ッ ク デザ イ ンの I/O ポー ト に接続 さ れます。
•
[Create Port] : こ の コ マ ン ド は、 ク ロ ッ ク 、 リ セ ッ ト 、 uart_txd な ど の イ ン タ ーフ ェ イ ス以外の信号を接続す る の
に使用 し ます。
[Create Port] を実行す る 際は、 入力/出力、 バン ド 幅、 タ イ プ (clk, reset, or data) な ど を指定で き ます。 ク ロ ッ
ク の場合、 入力周波数 も 指定で き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
38
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
•
[Create Interface Port] : こ の コ マ ン ド は、 よ く 使用 さ れ る フ ァ ン ク シ ョ ン を共有す る 信号を グループに し た イ ン
タ ーフ ェ イ ス上にポー ト を作成す る ために使用 し ます。
た と えば、 S_AXI は複数のザ イ リ ン ク ス IP の イ ン タ ーフ ェ イ ス ポー ト です。 こ の コ マ ン ド を使用す る と 、 イ ン
タ ーフ ェ イ ス タ イ プお よ びモー ド (マ ス タ ーま たは ス レーブ) の指定を よ り 詳細に制御で き ます。
高度な設計ア シ ス タ ン ス
IP イ ン テ グ レー タ ーには、AXI ス ト リ ー ミ ン グ イ ン タ ーフ ェ イ ス が AXI メ モ リ マ ッ プ ド イ ン タ ーフ ェ イ ス に接続 さ
れ る 場合のために、 高度な設計ア シ ス タ ン ス が提供 さ れてい ます。 図 2-40 の例では、 ス ト リ ー ミ ン グ イ ン タ ーフ ェ
イ ス を含む FIR Compiler IP が PS7 の ス レーブ ACP ポー ト に接続 さ れます。
X-Ref Target - Figure 2-40
図 2‐40 : ス ト リ ー ミ ング イ ン タ ー フ ェ イ スの メ モ リ マ ッ プ ド イ ン タ ー フ ェ イ スへの接続
高度な設計ア シ ス タ ン ス を使用す る には、 図 2-41 に示す よ う に、 FIR Compiler の M_AXIS_DATA イ ン タ ーフ ェ イ ス
ピ ン と ZYNQ7 Processing System の S_AXI_ACP ポー ト 間を直接接続する 必要があ り ます。
X-Ref Target - Figure 2-41
図 2‐41 : 高度な設計ア シ ス タ ン スの起動
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
39
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
[Make Connection] ダ イ ア ロ グ ボ ッ ク ス が開 き 、 ス ト リ ーム バ ス イ ン タ ーフ ェ イ ス の
/fir_compiler_0/M_AXIS_DATA が メ モ リ マ ッ プ ド バ ス イ ン タ ーフ ェ イ ス の
/processing_system7_0/S_AXI_ACP に接続 さ れ る こ と が示 さ れます。 ま た、 ス ト リ ー ミ ン グ イ ン タ ーフ ェ イ
ス と メ モ リ マ ッ プ ド イ ン タ ーフ ェ イ ス の ク ロ ッ ク 供給のオプシ ョ ン を設定す る こ と も で き ます。 デフ ォ ル ト は
[Auto] です。
X-Ref Target - Figure 2-42
図 2‐42 : 高度な設計ア シ ス タ ン スの [Make Connection] ダ イ ア ログ ボ ッ ク ス
高度な設計ア シ ス タ ン ス では、高周波数/中周波数の変換をする ために コ ン フ ィ ギ ュ レーシ ョ ン さ れた DMA コ アが イ
ン ス タ ン シエー ト さ れ、 ユーザーが設定を し た後に [OK] を ク リ ッ ク す る と 適切に接続 さ れます。
X-Ref Target - Figure 2-43
図 2‐43 : 高度な設計ア シ ス タ ン ス を使用 し た後の接続
高度な設計ア シ ス タ ン ス では、 AXI Subset Converter、 AXI Direct Memory Access、AXI Interconnect が イ ン ス タ ン シエー
ト さ れ、 FIR Compiler の ス ト リ ー ミ ン グ イ ン タ ー フ ェ イ ス と PS7 の ACP イ ン タ ー フ ェ イ ス 間が接続 さ れ ま す。
AXI4-Stream Subset Converter は、 わずかに互換性がない AXI4-Stream 信号セ ッ ト を一緒に接続 し ます。 IP には、 イ ン
タ ーフ ェ イ ス ご と に コ ン フ ィ ギ ュ レーシ ョ ン可能な AXI4-Stream 信号が含まれ、 一貫 し た方法で 1 つの信号セ ッ ト を
別の信号セ ッ ト に変換で き ます。
IP イ ン テグ レー タ ーのボー ド オー ト メ ーシ ョ ン
Vivado® Design Suite では、 ボー ド が自動的に認識 さ れ ます。 タ ーゲ ッ ト ボー ド に含ま れ る さ ま ざ ま な イ ン タ ーフ ェ
イ ス が認識 さ れ る ので、 IP を カ ス タ マ イ ズ し て、 特定ボー ド の イ ン タ ーフ ェ イ ス に接続 さ れ る よ う に IP を イ ン ス タ
ン シエー ト お よ び コ ン フ ィ ギ ュ レーシ ョ ン で き ます。 現在の と こ ろ複数の 7 シ リ ーズ ボー ド がサポー ト さ れてい ま
す。 UltraScale パーツ を含むボー ド も 間 も な く サポー ト さ れ る 予定です。
IP イ ン テ グ レー タ ーには、 [Board] タ ブ と い う 別の タ ブにボー ド に対す る すべての イ ン タ ーフ ェ イ ス が表示 さ れます。
こ の タ ブ を使用 し て必要な イ ン タ ーフ ェ イ ス を選択 し 、 IP イ ン テ グ レー タ ーで提供 さ れ る デザ イ ン ア シ ス タ ン ス を
使用す る と 、 簡単にデザ イ ン を選択 し た イ ン タ ーフ ェ イ ス に接続で き ます。 I/O 制約はすべて自動的に こ の フ ロ ーの
一部 と し て生成 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ
ス テ ムの設計』 (UG994)(UG994) [参照 2] を参照 し て く だ さ い。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
40
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
[Address Editor] タ ブ での メ モ リ マ ッ プ
ブ ロ ッ ク デザ イ ンに イ ン ス タ ン シエー ト さ れたペ リ フ ェ ラ ル (ス レーブ) の メ モ リ マ ッ プは自動的に割 り 当て ら れま
すが、 ア ド レ ス は手動で割 り 当て る 必要があ り ます。 こ のデザ イ ンのア ド レ ス マ ッ プ を生成する には、 次を実行 し ま
す。
1.
上記の図で [Address Editor] タ ブ を ク リ ッ ク し ます。
2.
左下の [Auto Assign Address] を ク リ ッ ク し ます。
ア ド レ ス は、 [Offset Address] お よ び [Range] 列に値を入力す る と 、 手動で設定する こ と も で き ます。 詳細は、 『Vivado
Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 2] を参照 し て く
だ さ い。
X-Ref Target - Figure 2-44
図 2‐44 : メ モ リ マ ッ プするペ リ フ ェ ラル
ヒ ン ト : [Address Editor] タ ブはバ ス マ ス タ ー と し て機能する IP ブ ロ ッ ク (ZYNQ7 プ ロ セ ッ サな ど) が図に含まれてい
る 場合にのみ表示 さ れます。
デザイ ン ルール チ ェ ッ ク の実行
Vivado IP イ ン テ グ レー タ ーは、 デザ イ ン を ま と め る 際に リ アル タ イ ムで基本的な DRC を実行 し ます。 ただ し 、 デザ
イ ン作成中にエ ラ ーが発生す る こ と があ り ます。 た と えば、 ク ロ ッ ク ピ ンの周波数が正 し く 設定 さ れない こ と があ り
ます。
全体的な DRC を実行す る には、 [Validate Design] ツールバー ボ タ ン
を ク リ ッ ク し ます。
警告やエ ラ ーがなか っ た場合は、 それ ら がなか っ た こ と を示す メ ッ セージが表示 さ れます。
ブ ロ ッ ク デザイ ンの最上位デザイ ンへの統合
ブ ロ ッ ク デザ イ ン を完成 し てデザ イ ン を検証 し た ら 、 次の 2 つの手順を実行 し てデザ イ ン を完成 さ せます。
•
出力フ ァ イ ルの生成
•
HDL ラ ッ パーの作成
出力フ ァ イ ルを生成す る と 、 Vivado IDE の [Sources] ウ ィ ン ド ウ にその IP の ソ ース フ ァ イ ル と 適切な制約が作成 さ れ
ます。
プ ロ ジ ェ ク ト 作成時に タ ーゲ ッ ト 言語 と し て指定 し た言語に よ っ て、IP イ ン テ グ レー タ ーに よ り 適切な フ ァ イ ルが生
成 さ れます。 Vivado IDE で特定の IP の ソ ース フ ァ イ ルが指定 し た タ ーゲ ッ ト 言語で生成で き ない場合は、 コ ン ソ ー
ルにそれを示す メ ッ セージが表示 さ れます。
出力 フ ァ イルの生成
出力フ ァ イ ルを生成す る には、 次のいずれか を実行 し ます。
•
[Sources] ウ ィ ン ド ウ の [Design Sources] フ ォ ルダー階層を展開 し てデザ イ ン を右 ク リ ッ ク し 、 [Generate Output
Products] を ク リ ッ ク し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
41
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
•
Flow Navigator の [IP Integrator] の下の [Generate Block Design] を ク リ ッ ク し ます。
HDL ラ ッ パーの作成
IP イ ン テ グ レー タ ーのブ ロ ッ ク デザ イ ンはそれ よ り も 上位のデザ イ ンに統合で き ます。 こ れには、 デザ イ ン を上位
の HDL フ ァ イ ルに イ ン ス タ ン シエー ト し ます。
上位に イ ン ス タ ン シエー ト す る には、Vivado IDE の [Sources] ウ ィ ン ド ウ でそのブ ロ ッ ク デザ イ ン を右 ク リ ッ ク し て、
[Create HDL Wrapper] を ク リ ッ ク し ます。
X-Ref Target - Figure 2-45
図 2‐45 : HDL ラ ッ パーの作成
Vivado には、 HDL ラ ッ パーを作成す る 際に 2 つの選択肢があ り ます。
•
Vivado で ラ ッ パーを作成 し て自動的にア ッ プデー ト さ れ る よ う にする オプシ ョ ン (デフ ォ ル ト )
•
ユーザーが変更可能な ス ク リ プ ト を作成 し て、 ユーザーが編集お よ び維持で き る よ う にする オプシ ョ ン ( こ のオ
プ シ ョ ン を選択す る と 、 ブ ロ ッ ク デザ イ ン でポー ト レ ベルの変更 をす る たびにユーザーが ラ ッ パーを ア ッ プ
デー ト す る 必要があ り ます)。
X-Ref Target - Figure 2-46
図 2‐46 : [Create HDL Wrapper] ダ イ ア ログ ボ ッ ク ス
こ れに よ り 、 IP イ ン テ グ レ ー タ ー サブシ ス テ ム の最上位 HDL フ ァ イ ルが生成 さ れ ま す。 こ れでデザ イ ン がエ ラ ボ
レーシ ョ ン、 合成、 イ ンプ リ メ ン テーシ ョ ン な ど のほかのデザ イ ン フ ロ ーで使用で き る よ う にな り ま し た。
Vivado ピ ン プ ラ ン ナー ビ ュ ーでの PS I/O
Zynq-7000 デバ イ ス の PCB 設計お よ びピ ン プ ラ ン ニ ン グについては、『Zynq-7000 All Programmable SoC PCB デザ イ ン
お よ びピ ン配置ガ イ ド 』 (UG933) [参照 5] を参照 し て く だ さ い。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
42
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
Vivado IDE 生成のエ ンベデ ッ ド フ ァ イル IP イ ン テ グ レー タ ーか ら Zynq-7000 プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン を SDK にエ ク ス ポー ト す る には、IP イ ン テ グ
レー タ ーで次の フ ァ イ ルを生成 し ます。
表 2‐1 : IP イ ン テグ レー タ ーで生成 さ れる フ ァ イル
フ ァ イル
説明
system.xml
こ の フ ァ イ ルは SDK を起動する と デフ ォ ル ト で開き 、 シ ス テ ムのア ド レ ス マ ッ プが表示 さ
れます。
ps7_init.c
ps7_init.h
ps7_init.c お よ び ps7_init.h フ ァ イ ルには、 Zynq プ ロ セ ッ シ ン グ シ ス テ ムの初期化 コ ー ド と 、
DDR ク ロ ッ ク 、 PLL、 MIO の初期化設定が含まれます。 SDK では、 プ ロ セ ッ シ ン グ シ ス テ
ム上でアプ リ ケーシ ョ ンが実行で き る よ う に、プ ロ セ ッ シ ン グ シ ス テ ム を初期化す る 際に こ
れ ら の設定が使用 さ れます。 プ ロ セ ッ シ ン グ シ ス テ ムの設定の中には、 ZC702 評価ボー ド 用
に固定 さ れてい る も の も あ り ます。
ps7_init.tcl
こ れは Tcl バージ ョ ンの INIT フ ァ イ ルです。
ps7_init.html
INIT フ ァ イ ルは初期化デー タ を記述 し た も のです。
生成 さ れ る フ ァ イ ルの詳細は、『Zynq-7000 All Programmable SoC ソ フ ト ウ ェ ア開発者向けガ イ ド 』 (UG821) [参照 1] を
参照 し て く だ さ い。
ソ フ ト ウ ェ ア開発キ ッ ト (SDK) を起動 し ます。 ザ イ リ ン ク ス ソ フ ト ウ ェ ア開発キ ッ ト (SDK) は、 ザ イ リ ン ク ス エンベデ ッ ド プ ロ セ ッ サを タ ーゲ ッ ト にす る ソ フ ト
ウ ェ ア アプ リ ケーシ ョ ン を作成す る ための完全な環境を提供 し ます。 こ れには、 GNU ベース の コ ンパ イ ラ ー ツール
チ ェ ーン (GCC コ ンパ イ ラ ー、 GDB デバ ッ ガー、 ユーテ ィ リ テ ィ 、 お よ び ラ イ ブ ラ リ )、 JTAG デバ ッ ガー、 フ ラ ッ
シ ュ プ ロ グ ラ マー、ザ イ リ ン ク ス IP お よ びベア メ タ ル ボー ド サポー ト パ ッ ケージ用の ド ラ イ バー、アプ リ ケーシ ョ
ン特有フ ァ ン ク シ ョ ンの ミ ド ル ウ ェ ア ラ イ ブ ラ リ 、 お よ び C/C++ ベア メ タ ルお よ び Linux アプ リ ケーシ ョ ン開発お
よ びデバ ッ グ用の IDE な ど が含 ま れ ま す。 オープ ン ソ ース Eclipse プ ラ ッ ト フ ォ ーム に基づいて、 SDK では C/C++
Development Toolkit (CDT) が使用 さ れてい ます。
こ れに含まれ る 機能は、 次の と お り です。
•
C/C++ コ ー ド エデ ィ タ ーお よ び コ ンパ イ ル環境
•
プ ロ ジ ェ ク ト 管理
•
アプ リ ケーシ ョ ン構築 コ ン フ ィ ギ ュ レーシ ョ ンお よ び makefile の自動生成
•
エ ラ ー ナビ ゲーシ ョ ン
•
エンベデ ッ ド タ ーゲ ッ ト をデバ ッ グお よ びプ ロ フ ァ イ ルする ための統合環境
•
ソ ース コ ー ド のバージ ョ ン制御を含め、 サー ド パーテ ィ プ ラ グ イ ン を使用 し た場合に利用可能な追加機能
SDK の使用
SDK は、 ザ イ リ ン ク ス Vivado Design Suite イ ン ス ト ール パ ッ ケージか ら 、 ま たは ス タ ン ド ア ロ ン イ ン ス ト ール と し
て入手で き ます。 SDK には、 FSBL (First Stage Bootloader) を作成する アプ リ ケーシ ョ ン テ ンプ レー ト のほか、 ブー ト
イ メ ージ を構築す る 際のグ ラ フ ィ カル イ ン タ ーフ ェ イ ス も 含まれます。SDK には、 コ ン セプ ト 、 タ ス ク お よ び リ フ ァ
レ ン ス情報を記述 し たヘルプ シ ス テ ムが含まれます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
43
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
ハー ド ウ ェ ア記述のエ ク スポー ト
デザ イ ンが イ ンプ リ メ ン ト さ れ、 ビ ッ ト ス ト リ ームが生成 さ れた ら 、 ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン を開発す る ため
にデザ イ ン を SDK にエ ク ス ポー ト し ます。 プ ロ セ ッ シ ン グ ロ ジ ッ ク に何の ロ ジ ッ ク も 含まれない こ と が まれにあ り
ますが、 こ の よ う な場合は イ ンプ リ メ ン ト お よ びビ ッ ト ス ト リ ーム生成をせずにデザ イ ン を エ ク ス ポー ト す る こ と も
で き ます。
デザ イ ン を SDK にエ ク ス ポー ト す る には、 次の手順に従っ て く だ さ い。
1.
Vivado IDE で [File] → [Export] → [Export Hardware] を ク リ ッ ク し ます。
[Export Hardware for SDK] ダ イ ア ロ グ ボ ッ ク ス が開き ます (図 2-47)。
.
X-Ref Target - Figure 2-47
図 2‐47 : [Export Hardware for SDK] ダ イ ア ログ ボ ッ ク ス
2.
[Export Hardware for SDK] ダ イ ア ロ グ ボ ッ ク ス で [Include bitstream] チ ェ ッ ク ボ ッ ク ス を オンに し ます。
注記 : プ ロ ジ ェ ク ト ベース の フ ロ ーの場合、 通常 [Export to] は [<Local to Project>] に設定 さ れてい ますが、 必要
に応 じ て変更で き ます。
3.
ハー ド ウ ェ ア定義を エ ク ス ポー ト し た ら 、[File] → [Launch SDK] を ク リ ッ ク し て Vivado か ら SDK を起動 し ます。
[Launch SDK] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
X-Ref Target - Figure 2-48
図 2‐48 : [Launch SDK] f ダ イ ア ログ ボ ッ ク ス
プ ロ ジ ェ ク ト ベー ス の フ ロ ーでは、 [Exported location] お よ び [Workspace] フ ィ ール ド は通常 [<Local to Project>]
に 設定 さ れ て い ま す が、 ハー ド ウ ェ ア 定義 を エ ク ス ポ ー ト す る 際 に 別 の デ ィ レ ク ト リ を 指定 し た 場合は、
[Exported location] フ ィ ール ド を その特定のデ ィ レ ク ト リ に設定 し て く だ さ い。 同様に、 [Workspace] フ ィ ール ド
も 必要であれば適切なデ ィ レ ク ト リ に設定で き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
44
第 2 章 : エ ンベデ ッ ド デザイ ン での Zynq‐7000 プ ロ セ ッ サの使用
ハー ド ウ ェ ア定義を SDK にエ ク ス ポー ト し てか ら SDK を起動す る と 、 SDK で ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン を記
述 し 始め る こ と がで き ます。
ソ フ ト ウ ェ アの さ ら な る デバ ッ グお よ びダ ウ ン ロ ー ド は SDK か ら 実行で き ます。
ソ フ ト ウ ェ アの ELF フ ァ イ ルを Vivado ツールに イ ン ポー ト し 戻 し 、 FPGA ビ ッ ト ス ト リ ーム を使用 し て統合す る と 、
さ ら に詳細なダ ウ ン ロ ー ド お よ びテ ス ト がで き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
45
第 3章
エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ
セ ッ サの使用
MicroBlaze プ ロ セ ッ サ デザイ ンの概要
Vivado IDE の IP イ ン テ グ レー タ ーは、 プ ロ セ ッ サ ベース のシ ス テ ム を統合す る 優れた ツールです。
MicroBlaze™ エンベデ ッ ド プ ロ セ ッ サは、 ザ イ リ ン ク ス フ ィ ール ド プ ロ グ ラ マブル ゲー ト ア レ イ (FPGA) の イ ンプ
リ メ ン テーシ ョ ン用に最適化 さ れた RISC (Reduced Instruction Set Computer) コ アです。
図 3-1 は、 MicroBlaze コ アの論理ブ ロ ッ ク デザ イ ンです。
X-Ref Target - Figure 3-1
図 3‐1 : MicroBlaze コ アのブ ロ ッ ク 図
MicroBlaze プ ロ セ ッ サは、 詳細に コ ン フ ィ ギ ュ レーシ ョ ン可能なので、 デザ イ ンに必要な特定の機能セ ッ ト を選択で
き ます。
プ ロ セ ッ サの決ま っ た機能セ ッ ト には、 次の よ う な も のがあ り ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
46
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
•
32 個の 32 ビ ッ ト 汎用レ ジ ス タ
•
オペ ラ ン ド 3 つ と ア ド レ ス指定モー ド 2 つを含む 32 ビ ッ ト 命令ワ ー ド
•
32 ビ ッ ト のア ド レ ス バス
•
単一発行のパ イ プ ラ イ ン
こ れ ら の決ま っ た機能のほか、 MicroBlaze プ ロ セ ッ サにはその他の機能を選択 し て有効にで き る パ ラ メ ー タ ー値があ
り ます。
推奨 : 古い (廃止) バージ ョ ンの MicroBlaze では、 本書で記述する オプシ ョ ンの機能の一部だけがサポー ト さ れます。
最新バージ ョ ン の MicroBlaze (v9.0) では、 すべてのオプシ ョ ン がサポー ト さ れ ま す。 新 し いデザ イ ン には最新バー
ジ ョ ンの MicroBlaze を使用す る よ う に し て く だ さ い。
MicroBlaze プ ロ セ ッ サ デザ イ ンの詳細は、 『MicroBlaze プ ロ セ ッ サ リ フ ァ レ ン ス ガ イ ド 』 (UG984) [参照 6] を参照 し
て く だ さ い。
MicroBlaze プ ロ セ ッ サを含む IP イ ン テグ レー タ ー デ
ザイ ンの作成
MicroBlaze プ ロ セ ッ サ を使用 し た設計は、Vivado IDE を使用 し た場合 と ISE® Design Suite と エンベデ ッ ド 開発キ ッ ト
(EDK) を使用 し た場合で異な り ます。
Vivado IDE では、 エンベデ ッ ド 開発に IP イ ン テ グ レー タ ー ツールを使用 し ます。 IP イ ン テ グ レー タ ーは、 GUI ベー
ス の イ ン タ ーフ ェ イ ス で、 複雑な IP サブシ ス テ ム を統合で き ます。
Vivado IDE の IP カ タ ロ グか ら は、 複雑なデザ イ ンに対応 し て さ ま ざ ま な IP が使用で き ます。 IP カ タ ロ グには、 カ ス
タ ム IP を追加す る こ と も で き ます。
MicroBlaze プ ロ セ ッ サを使用 し たデザイ ン
1.
Flow Navigator の [IP Integrator] の下の[Create Block Design] を ク リ ッ ク し 、 [Create Block Design] ダ イ ア ロ グ ボ ッ
ク ス を開 き ます。
2.
図 3-2 の よ う にデザ イ ン名を入力 し ます。
X-Ref Target - Figure 3-2
図 3‐2 : [Create Block Design] ダ イ ア ログ ボ ッ ク ス
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
47
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
[Block Design] ウ ィ ン ド ウ が開 き ます (図 3-3)。
X-Ref Target - Figure 3-3
図 3‐3 : ブ ロ ッ ク デザイ ン キ ャ ンバス
こ の空のデザ イ ン に IP カ タ ロ グ か ら [Add IP] を ク リ ッ ク し て IP を追加 し ま す。 ま たは、 キ ャ ン バ ス 上で右 ク
リ ッ ク し て IP を追加す る こ と も で き ます。
3.
[Add IP] を ク リ ッ ク し てデザ イ ンに IP を追加 し ます。
検索 ウ ィ ン ド ウ が表示 さ れ る ので、 図 3-4 の よ う に MicroBlaze プ ロ セ ッ サを検索 し て選択 し ます。
X-Ref Target - Figure 3-4
図 3‐4 : IP カ タ ログでの MicroBlaze の検索
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
48
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze IP を選択す る と 、 Vivado IP イ ン テ グ レー タ ーでデザ イ ン に IP が追加 さ れ、 図 3-5の よ う にプ ロ セ ッ
シ ン グ シ ス テ ムの画像が表示 さ れます。
X-Ref Target - Figure 3-5
図 3‐5 : ブ ロ ッ ク デザイ ン キ ャ ンバスの MicroBlaze プ ロ セ ッ サ
Tcl コ マ ン ド :
create_bd_cell -type ip -vlnv xilinx.com:ip:microblaze:9.4 microblaze_0
4.
キ ャ ンバ ス上で MicroBlaze IP を ダブル ク リ ッ ク し て [Re-customize IP] プ ロ セ ス を開始す る と 、 MicroBlaze プ ロ
セ ッ サに対す る [Re-customize IP] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド には、 次の機能があ り ます。
•
1 ク リ ッ ク で コ ン フ ィ ギ ュ レーシ ョ ンで き る テンプレー ト ベースの コ ン フ ィ ギ ュ レーシ ョ ン ダ イ ア ロ グ ボ ッ ク ス
•
ダ イ ア ロ グ ボ ッ ク ス で設定 し たオプシ ョ ンに基づいた MicroBlaze の相対的なエ リ ア、 周波数、 パフ ォーマ ン ス
の概算に よ り 、 即座に フ ィ ー ド バ ッ ク 可能
•
コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス のガ イ ダ ン ス
•
すべての コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ンに対する ツール ヒ ン ト で、 各オプシ ョ ンの影響を理解可能
•
[Advanced] ボ タ ン を使用 し て タ ブの イ ン タ ーフ ェ イ ス ですべてのオプシ ョ ンに直接ア ク セ ス
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド には、 次の よ う なページがあ り 、 選択 し た [General Settings] オプシ ョ
ンに基づいて、 ページが有効にな り ます。
•
[Configuration Wizard] : テ ンプ レー ト 選択お よ び一般的な設定を示す最初のページ。
•
[General] : 実行単位の選択、 常に表示 さ れ る 最適化。
•
[Exceptions] : 例外が最初のページで選択 さ れ る 場合に表示 さ れ る 有効にす る 例外。
•
[Debug] : デバ ッ グが有効にな る 場合に表示 さ れ る ブ レー ク ポ イ ン ト お よ び ウ ォ ッ チポ イ ン ト の数。
•
[Cache] : キ ャ ッ シ ュ が選択 さ れ る と 表示 さ れ る キ ャ ッ シ ュ 設定。
•
[MMU] : メ モ リ 管理が選択 さ れ る と 表示 さ れ る MMU 設定。
•
[Buses] : バ ス設定。 最後のページ。 常に表示。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
49
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
図 3-6 は、 MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の最初のページ を示 し てい ます。
X-Ref Target - Figure 3-6
図 3‐6 : MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド
ダ イ ア ロ グ ボ ッ ク ス の左側には、 現在の設定での周波数、 エ リ アの相対的な値が表示 さ れます。
•
[Frequency] : こ の値は、こ のアーキ テ ク チ ャ お よ びス ピー ド グ レー ド を使用 し て達成可能な最大周波数に関す る
概算の周波数の割合 (%) で、 現在の設定で達成可能な相対的な周波数を示 し ます。
注記 : こ れはあ ら か じ め定義済みのベンチマー ク シ ス テ ムのセ ッ ト に基づいた概算で、実際の値か ら 最大 30% ま
での誤差があ る 可能性があ り 、 シ ス テ ムが対応す る 周波数に必ず達成で き る と は限 り ません。
•
[Area] : こ の値は、 こ のアーキ テ ク チ ャ を使用 し た最大エ リ アに相対的な LUT のエ リ アの割合 (%) の概算で、 現
在の設定で達成可能な 相対的な MicroBlaze のエ リ ア を示 し ます。
注記 : こ れは概算で、 実際の値か ら 最大 5% の誤差があ る 可能性があ り 、 イ ンプ リ メ ン ト さ れたエ リ アが こ の値
と 必ず し も 同 じ にな る と は限 り ません。
•
[Performance] : こ の値は、 現在の設定で達成可能な MicroBlaze の相対的なパフ ォーマ ン ス を示す も のです。
注記 : こ れは、 ベンチマー ク のセ ッ ト に基づいた概算で、 実際のパフ ォーマ ン ス はユーザー アプ リ ケーシ ョ ンに
よ っ てかな り 異な り ます。
•
[BRAMs] : こ の値は MicroBlaze で使用 さ れ る ブ ロ ッ ク RAM の総数で、 命令キ ャ ッ シ ュ と デー タ キ ャ ッ シ ュ 、 お
よ び分岐先キ ャ ッ シ ュ がブ ロ ッ ク RAM と MMU (Memory Management Unit) を使用 し ます (MMU は仮想ま たは保
護モー ド で 1 つのブ ロ ッ ク RAM を使用)。
•
[DSP48] ま たは [MULT18] : こ の値は MicroBlaze で使用 さ れ る DSP48 ま たは MULT18 の総数で、整数乗算器お よ
び FPU (Floating Point Unit) は こ の合計値を使用 し て浮動小数点の乗算を イ ンプ リ メ ン ト し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
50
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の最初のページ MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド を使用す る 最 も 単純な方法は、 6 つの定義済みテ ンプ レー ト (それぞ
れ完全な MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン を定義) の 1 つを選択する こ と です。 定義済みのテ ンプ レー ト は特定ア
プ リ ケーシ ョ ンの開始点 と し て使用で き 、 パフ ォーマ ン ス、 周波数、 ま たはエ リ ア を適用 し 、 ウ ィ ザー ド を使用 し て
コ ン フ ィ ギ ュ レーシ ョ ン を変更 し ます。
オプシ ョ ン を変更す る と 、 情報エ リ アにパフ ォーマ ン ス、 周波数、 エ リ アの変更に関す る 概算値が表示 さ れます。 こ
のダ イ ア ロ グ ボ ッ ク ス には、 次の よ う なオプシ ョ ンがあ り ます。
•
[Minimum Area] : 可能性のあ る 最小の MicroBlaze コ アで、 キ ャ ッ シ ュ ま たはデバ ッ グは含まれません。
•
[Maximum Performance] : 可能性のあ る 最大パフ ォーマ ン ス にな り 、 大 き な キ ャ ッ シ ュ お よ びデバ ッ グ、 すべて
の実行ユニ ッ ト が含まれます。
•
[Maximum Frequency] : 達成可能な最大周波数にな り 、 小 さ な キ ャ ッ シ ュ で、 デバ ッ グはな く 、 実行ユニ ッ ト も
少 し だけ含ま れます。
•
[Linux with MMU] : MMU を使用 し て Linux を実行す る 際に高パフ ォーマ ン ス にす る ために向いた設定で、 メ モ
リ 管理が有効にな り 、 大 き な キ ャ ッ シ ュ 、 デバ ッ グ、 すべての実行ユニ ッ ト が含まれます。
•
[Low-end Linux with MMU] : MicroBlaze エンベデ ッ ド リ フ ァ レ ン ス シ ス テ ムに対応する 設定で、 ロ ーエン ド シ
ス テ ムでの Linux 開発に向いた設定にな り ます。 メ モ リ 管理は有効にな り 、 小 さ な キ ャ ッ シ ュ お よ びデバ ッ グが
含まれます。
•
[Typical] : パフ ォーマ ン ス、 エ リ ア、 周波数間で合理的な妥協が さ れた設定で、 ス タ ン ド ア ロ ン プ ロ グ ラ ムお よ
びオーバーヘ ッ ド の少ないカーネルに向いてい ます。 キ ャ ッ シ ュ お よ びデバ ッ グは イ ネーブルにな り ます。
図 3-7 は、 コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の定義済みコ ン フ ィ ギ ュ レーシ ョ ン を示 し てい ます。
X-Ref Target - Figure 3-7
図 3‐7 : MicroBlaze 定義済みコ ン フ ィ ギ ュ レーシ ョ ン設定
[General] ページ
定義済みのテ ンプ レー ト が使用 さ れない場合は、 各ページでオプシ ョ ン を選択で き ます。 こ れのオプシ ョ ンは、 デザ
イ ンの必要性に基づいて MicroBlaze プ ロ セ ッ サを微調整す る ための も のです。こ れ ら の さ ま ざ ま なオプシ ョ ンの上に
カー ソ ルを置 く と 、 特定のオプシ ョ ンの意味を説明する ツール ヒ ン ト が表示 さ れます。 次は、 こ れ ら のオプシ ョ ンに
ついて説明 し ます。
•
[Select implementation to optimize area (with lower instruction throughput)] : MicroBlaze のエ リ ア最適化が有効に
な り ます。 こ のパ ラ メ ー タ ーが設定 さ れ る と 、 イ ンプ リ メ ン テーシ ョ ンで特にパ イ プ ラ イ ンが 5 段か ら 3 段に削
減 さ れて、 エ リ アが最適化 さ れます。
推奨 : Artix®-7 デバ イ ス の よ う な リ ソ ー ス に制限の あ る アーキ テ ク チ ャ の場合は、 最適化を 有効にす る こ と
を お勧め し ま すが、 パ フ ォ ーマ ン ス が重要な場合は、 余分な ク ロ ッ ク サ イ ク ル を実行す る 必要の あ る 命令 も
中には あ る ので、 こ のパ ラ メ ー タ ーは設定 し ない よ う に し て く だ さ い。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
51
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
注記 : MMU ( メ モ リ 管理装置)、 分岐先キ ャ ッ シ ュ 、 命令キ ャ ッ シ ュ ス ト リ ーム、 命令キ ャ ッ シ ュ ビ ク テ ィ ム、
デー タ キ ャ ッ シ ュ ビ ク テ ィ ム、 お よ び ACE (AXI Coherency Extension) を エ リ ア最適化 と 一緒には使用で き ませ
ん。
•
[Enable MicroBlaze Debug Module Interface] : Xilinx Microprocessor Debugger を使用 し てプ ロ グ ラ ム を ダ ウ ン ロ ー
ド お よ びデバ ッ グで き る よ う にデバ ッ グ を有効に し ます。
推奨 : エ リ ア リ ソ ー ス がか な り 重要で な い限 り は、 常にデバ ッ グ を有効にす る こ と をお勧め し ま す。
•
[Use Instruction and Data Caches] : MicoBlaze にオプシ ョ ンで命令キ ャ ッ シ ュ を使用す る と 、 LMB ア ド レ ス範囲
外にあ る コ ー ド を実行す る 際のパフ ォーマ ン ス を改善で き ます。 命令キ ャ ッ シ ュ の機能は、 次の と お り です。
°
直接マ ッ プ (一方向の結合)
°
選択可能な キ ャ ッ シ ュ 可能な メ モ リ ア ド レ ス範囲
°
コ ン フ ィ ギ ュ レーシ ョ ン可能な キ ャ ッ シ ュ お よ び タ グ サ イ ズ
°
AXI4 イ ン タ ーフ ェ イ ス (M_AXI_IC) ま たは CacheLink (XCL) イ ン タ ーフ ェ イ ス でのキ ャ ッ シ ュ
°
4 ま たは 8 ワー ド のキ ャ ッ シ ュ ラ イ ンに対する オプシ ョ ン
°
MSR のビ ッ ト を使用 し て キ ャ ッ シ ュ のオン/オ フ を制御
°
オプシ ョ ンの WIC 命令で命令キ ャ ッ シ ュ ラ イ ン を無効化
°
オプシ ョ ンの ス ト リ ーム バ ッ フ ァ で命令をプ リ フ ェ ッ チ し てパフ ォーマ ン ス を改善
°
オプシ ョ ンのビ ク テ ィ ム キ ャ ッ シ ュ で追い出 さ れた キ ャ ッ シ ュ ラ イ ン デー タ を保存 し てパフ ォーマ ン ス を
改善
°
オプシ ョ ンのパ リ テ ィ 保護で、ブ ロ ッ ク RAM ビ ッ ト エ ラ ーが検出 さ れた場合にキ ャ ッ シ ュ ラ イ ン を無効化
°
オプシ ョ ンでデー タ 幅を 32 ビ ッ ト を使用す る か、 キ ャ ッ シ ュ ラ イ ン全体の 512 ビ ッ ト を使用す る か選択
外部 メ モ リ を使用す る 際にキ ャ ッ シ ュ を ア ク テ ィ ベー ト す る と 、 リ ソ ース使用量を削減す る ために小 さ いキ ャ ッ
シ ュ サ イ ズ を選ぶ必要があ る 場合で も 、 パフ ォーマ ン ス がかな り 改善 さ れます。
•
[Enable Exceptions] : 例外サポー ト のあ る OS を使用する 場合、 ま たは ス タ ン ド ア ロ ン プ ロ グ ラ ム で例外ハン ド
ラ ーを明示的に追加す る 場合に、 例外を有効に し ます。
•
[Use Memory Management] : Linux な ど の OS を使用する 予定があ る 場合に、メ モ リ 保護の付いた仮想 メ モ リ をサ
ポー ト す る メ モ リ 管理装置 (MMU) を有効に し ます。
注記 : エ リ ア最適化ま たは ス タ ッ ク 保護を有効に し た場合、 メ モ リ 管理装置 (MMU) は使用で き ません。
•
[Enable Discrete Ports] : 次の目的に使用 さ れ る MicroBlaze イ ン ス タ ン ス の離散ポー ト を有効に し ます。
°
ソ フ ト ウ ェ ア ブ レー ク (Ext_BRK、 Ext_NM_BRK) の生成
°
プ ロ セ ッ サの ス リ ープお よ び ウ ェー ク ア ッ プ (Sleep、 Wakeup、 Dbg_Wakeup) の管理
°
デバ ッ グ イ ベン ト (Debug_Stop、 MB_Halted) の処理
°
フ ォール ト ト レ ラ ン ス (MB_Error) を使用する 場合にエ ラ ー信号を発信
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
52
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [General] ページ
図 3-8 は、 MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ンの [General] ページ を示 し てい ます。
X-Ref Target - Figure 3-8
図 3‐8 : MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [General] ページ
[Instructions] フ ィ ール ド
•
[Enable Barrel Shifter] : MicroBlaze のハー ド ウ ェ ア バレル シ フ タ ーを有効に し ます。 こ のパ ラ メ ー タ ーに よ り 、
bsrl、 bsra、 bsll、 bsrli、 bsrai、 お よ び bslli な ど の命令が イ ネーブルにな り ます。 バレル シ フ タ ーを
イ ネーブルにす る と 、 アプ リ ケーシ ョ ンのパフ ォーマ ン ス がかな り 改善 さ れますが、 プ ロ セ ッ サの容量は増加 し
ます。 こ のパ ラ メ ー タ ーがオンにな っ てい る と 、 コ ンパ イ ラ ーでバレル シ フ タ ー命令が自動的に使用 さ れます。
•
[Enable Floating Point Unit] : IEEE-754 規格に基づいた単精度浮動小数点 (FPU) を有効に し ます。FPU を使用す る
と 、 アプ リ ケーシ ョ ンの単精度の浮動小数点のパフ ォーマ ン ス がかな り 改善 し 、 MicroBlaze の容量 も かな り 増加
し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
53
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
こ のパ ラ メ ー タ ーを BASIC に設定する と 、 fadd、 frsub、 fmul、 fdiv お よ び fcmp 命令が イ ネーブルにな り
ます。 [EXTENDED] に設定 し て も 、 flt、 finit、 お よ び fsqrt 命令が イ ネーブルにな り ます。 コ ンパ イ ラ ー
では こ のパ ラ メ ー タ ーの設定に従っ て FPU 命令を自動的に使用 し ます。
•
[Enable Integer Multiplier] : MicroBlaze のハー ド ウ ェ ア整数乗算器を有効に し ます。 こ のパ ラ メ ー タ ーを MUL32
に設定す る と 、 mul お よ び muli 命令が イ ネーブルにな り ます。
MUL64 に設定す る と 、 64 ビ ッ ト 乗算用に mulh、 mulhu、 お よ び mulhsu 命令 も イ ネーブルにな り ます。 NONE
に設定 さ れ る と 、 MUL ま た は DSP48 プ リ ミ テ ィ ブ が ほ か の目的用に空に な り ま す。 NONE に設定 し て も 、
MicroBlaze プ ロ セ ッ サのエ リ アには少 し し か影響 し ません。 こ のパ ラ メ ー タ ーが有効にな る と 、 コ ンパ イ ラ ーで
は mul 命令が自動的に使用 さ れます。
•
[Enable Integer Divider] : MicroBlaze のハー ド ウ ェ ア整数除算器を有効に し ます。 こ のパ ラ メ ー タ ーは、 idiv お
よ び idivu 命令を イ ネーブルに し ます。こ のパ ラ メ ー タ ーをオンにする と 、整数除算を実行す る アプ リ ケーシ ョ
ンのパフ ォーマ ン ス は改善 さ れ る 可能性があ り ますが、 プ ロ セ ッ サの容量 も 増加 し ます。 こ のパ ラ メ ー タ ーが有
効にな る と 、 コ ンパ イ ラ ーでは idiv 命令が自動的に使用 さ れます。
•
[Enable Additional Machine Status Register Instructions] : MSR でビ ッ ト を設定お よ び一掃す る 際のマシ ン ス テー
タ ス レ ジ ス タ (MSR) 命令を イ ネーブルに し ます。 こ のパ ラ メ ー タ ーは、 msrset お よ び msrclr 命令を イ ネー
ブルに し ます。 こ のパ ラ メ ー タ ーを イ ネーブルにす る と 、 MSR の ビ ッ ト を変更す る パフ ォ ーマ ン ス が改善 さ れ
ます。
•
[Enable Pattern Comparator] : パ タ ーン比較命令の pcmpbf、 pcmpeq、 お よ び pcmpne を イ ネーブルに し ます。
パ タ ーン比較バ イ ト の検出命令 (pcmpbf) は、 2 つの ワ ー ド 間で一致す る 最初のバ イ ト の位置を戻 し 、 ス ト リ ン
グお よ びパ タ ーン一致操作のパフ ォーマ ン ス を改善 し ます。 こ のパ ラ メ ー タ ーが イ ネーブルの場合、 SDK ラ イ ブ
ラ リ は pcmpbf 命令を自動的に使用 し ます。
°
pcmpeq お よ び pcmpne 命令は 2 つの ワー ド が等 し いか ど う かに基づいて 1 ま たは 0 を戻 し ます。 こ れ ら の
命令に よ り 、フ ラ ッ グ設定のパフ ォーマ ン ス が改善 さ れ、コ ンパ イ ラ ーでは こ れ ら が自動的に使用 さ れます。
°
こ のオプシ ョ ン を選択す る と 、 clz (count leading zeroes) 命令 も イ ネーブルにな り ます。 clz 命令を使用す る
と 、 プ ラ イ オ リ テ ィ デ コ ー ド お よ び規格化のパフ ォーマ ン ス が向上で き ます。
•
[Enable Reversed Load/Store and Swap Instructions] : 予約済み ロ ー ド 、 格納、 ス ワ ッ プ命令のlbur、 lhur、 lwr、
sbr、 shr、 swr、 swapb、 お よ び swaph を イ ネーブルに し ま す。 予約済み ロ ー ド /格納命令では、 反対のエ ン
デ ィ ア ン ネ ス を含むデー タ が読み出 し ま たは書 き 出 し さ れ、 ス ワ ッ プ命令では、 レ ジ ス タ のバ イ ト ま たはハーフ
ワ ー ド が ス ワ ッ プで き る よ う にな り ます。 こ れ ら な主に、 リ ト ル エ ンデ ィ ア ンの MicroBlaze を使用 し て ビ ッ グ
エンデ ィ ア ンのネ ッ ト ワー ク ア ク セ ス を処理する 際にパフ ォーマ ン ス を改善する のに便利な命令です。
•
[Enable Additional Stream Instructions] : ダ イ ナ ミ ッ ク ア ク セ ス命令の GETD お よ び PUTD を含め、 AXI4-Stream
リ ン ク を使用す る 際に追加で機能を提供 し ます。 命令は、 次を提供す る 変数を使用す る と 拡張 さ れます。
°
ア ト ミ ッ ク GET、 GETD、 PUT、 お よ び PUTD 命令
°
テ ス ト のみの GET お よ び GETD 命令
°
制御ビ ッ ト が設定 さ れていない場合に ス ト リ ーム例外を生成す る GET お よ び GETD 命令
重要 : こ れ ら の命令を使用す る には、 ス ト リ ーム例外を イ ネーブルにす る 必要があ り 、 少な く と も 1 つの リ ン ク を選
択す る 必要があ り ます。
最適化
[Select implementation to optimize area (with lower instruction throughput)] : こ の オ プ シ ョ ン を 選択 し ま す。 こ れ は
[General Settings] オプシ ョ ン と 同 じ です。 [Enable Branch Target Cache] :オンにす る と 、 分岐先キ ャ ッ シ ュ が イ ンプ リ メ
ン ト さ れ、 条件分岐が予測 さ れて分岐先がキ ャ ッ シ ュ さ れ、 分岐パフ ォーマ ン ス が改善 さ れます。
注記 : [Branch Target Cache] を使用で き る よ う にする には、 エ リ ア最適化は イ ネーブルに し ないで く だ さ い。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
54
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
[Fault Tolerance] フ ィ ール ド
•
[Enable Fault Tolerance Support] : オンにす る と 、MicroBlaze は内部ブ ロ ッ ク RAM をパ リ テ ィ で保護 し 、LMB ブ
ロ ッ ク RAM の誤 り 訂正 コ ー ド (ECC) を ECC エ ラ ーの例外処理 も 含めてサポー ト し ます。 こ れに よ り 、 ブ ロ ッ
ク RAM のビ ッ ト フ リ ッ プに よ り 、 プ ロ セ ッ サ関数が影響を受け る こ と がな く な り ます。
°
こ の値が自動計算 さ れ る 場合に ECC が接続 さ れた LMB BRAM コ ン ト ロ ー ラ ーで有効にな る と 、 フ ォール
ト ト レ ラ ン ス が MicroBlaze で自動的に イ ネーブルにな り ます。
°
フ ォール ト ト レ ラ ン ス がオ フ の場合は、 IP イ ン テ グ レー タ ー ツールが接続 さ れた LMB BRAM コ ン ト ロ ー
ラ ーで ECC を自動的に有効に し ます。
°
フ ォール ト ト レ ラ ン ス がオ フ の場合は、 接続 さ れた LMB BRAM コ ン ト ロ ー ラ ーの ECC は影響を受け ませ
ん。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
55
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze コ ン フ ィ ギュ レーシ ョ ン ウ ィ ザー ド の [Exception] ページ
図 3-9 は、 MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [Exception] ページ を示 し てい ます。
X-Ref Target - Figure 3-9
図 3‐9 : MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [Exception] ページ
重要 : 自身の例外ハン ド ラ ーを提供す る 必要があ り ます。
[Math Exceptions] フ ィ ール ド
•
[Enable Floating Point Unit Exceptions] : 浮動小数点演算ユニ ッ ト (FPU) で生成 さ れた例外を イ ネーブルに し ま
す。 FPU はすべての IEEE 規格の条件 (ア ン ダーフ ロ ー、 オーバーフ ロ ー、 0 に よ る 除算、 不正操作) に対 し て例
外処理を実行 し ます。 ま た、 MicroBlaze FPU は非正規化オペ ラ ン ド の例外処理 も 実行 し ます。
•
[Enable Integer Divide Exception] : idiv ま たは idivu に指定 し た除数 (rA) が 0 の場合、 ま たは idiv に対 し てオー
バーフ ロ ーが発生 し た場合、 例外が発生 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
56
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
[Bus Exceptions] フ ィ ール ド
•
[Enable Instruction-side AXI Exception] : 命令側の AXI バ ス にエ ラ ーがあ る 場合、 例外が発生 し ます。
•
[Enable Data-side AXI Exception] : デー タ 側の AXI バ ス にエ ラ ーがあ る 場合、 例外が発生 し ます。
[Other Exceptions] フ ィ ール ド
•
[Enable Illegal Instruction Exception] : 主な opcode が無効な場合、 例外が発生 し ます。
•
[Enable Unaligned Data Exception] : オンにする と 、 不揃いのア ク セ ス を処理す る ために、 自動的に ソ フ ト ウ ェ ア
が挿入 さ れます。
•
[Generated Illegal Instruction Exception for NULL Instructions] : MicroBlaze コ ンパ イ ラ ーでは NULL 命令 コ ー ド
(0x00000000) が生成 さ れず、 SDK ラ イ ブ ラ リ で も 使用 さ れません。 こ の コ ー ド は、 手動アセ ンブル さ れた場合の
ためだけに存在 し ます。 NULL 命令の実行は、 通常プ ロ セ ッ サが初期化済み命令 メ モ リ 外に出た こ と を意味 し ま
す。
C_OPCODE_0x_ILLEGAL が設定 さ れ る と 、 MicroBlaze が こ の条件を ト ラ ッ プ し ま す。 それ以外の場合、 コ マ ン
ド は NOP と し て処理 さ れます。 こ の設定は、 [Enable Illegal Instruction Exception] を オンに し た場合にのみ使用で
き ます。
•
[Enable Stream Exception] : AXI (Advanced eXtensible Interface) の読み出 し ア ク セ ス用に ス ト リ ーム例外処理を イ
ネーブルに し ます。
重要 : ス ト リ ーム例外処理を使用す る には、 こ れ以外の ス ト リ ーム命令 も イ ネーブルにする 必要があ り ます。
•
[Enable Stack Protection] : ス タ ッ ク ポ イ ン タ ー (R1) を使用 し て メ モ リ ア ク セ ス をす る こ と で、 それ ら が SLR
(Stack Low Register) お よ び SHR (Stack High Register) で設定 し た制限内に収ま る よ う に し ます。例外が イ ネーブル
にな っ た ま ま チ ェ ッ ク がエ ラ ーにな る と 、ス タ ッ ク 保護違反 (Stack Protection Violation) 例外が発生 し ます。チ ェ ッ
ク がエ ラ ーにな る と 、 XMD (Xilinx Microprocessor Debugger) で も それが レ ポー ト さ れます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
57
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [Cache] ページ
図 3-10 は、 MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [Cache] ページ を示 し てい ます。
X-Ref Target - Figure 3-10
図 3‐10 : MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [Cache] ページ
•
[Enable Instruction Cache] :命令キ ャ ッ シ ュ が ソ フ ト ウ ェ アで も イ ネーブルにな っ てい る 場合にのみ、 マシ ン ス
テー タ ス レ ジ ス タ (MSR) の命令キ ャ ッ シ ュ イ ネーブル ビ ッ ト (ICE) を設定する こ と で、 こ のキ ャ ッ シ ュ を使用
し ます。
•
[Instruction Cache Features] フ ィ ール ド
°
[Size in Bytes] : C_USE_ICACHE が イ ネーブルにな っ てい る 場合、命令キ ャ ッ シ ュ のサ イ ズ を指定 し ます。す
べてのアーキ テ ク チ ャ ですべてのサ イ ズが使用で き る わけではあ り ません。
°
[Line Length] : 外部命令 メ モ リ か ら のキ ャ ッ シ ュ を使用 し ない転送で 4 ま たは 8 ワ ー ド のキ ャ ッ シ ュ ラ イ
ン長を選択 し ます。
°
[Base Address] : 命令キ ャ ッ シ ュ のベース ア ド レ ス を指定 し ます。 こ のパ ラ メ ー タ ーは、 C_USE_ICACHE が
イ ネーブルにな っ てい る 場合にのみ使用 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
58
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
°
[High Address] : 命令キ ャ ッ シ ュ のハ イ ア ド レ ス を指定 し ます。 こ のパ ラ メ ー タ ーは、 C_USE_ICACHE が イ
ネーブルにな っ てい る 場合にのみ使用 し ます。
°
[Enable Writes] : オンにす る と 、 wic 命令で命令キ ャ ッ シ ュ ラ イ ン を無効にで き ます。 こ のパ ラ メ ー タ ーは、
C_USE_ICACHE が イ ネーブルにな っ てい る 場合にのみ使用 し ます。
°
[Use Cache for All Memory Accesses] : オンにす る と 、 MicroBlaze の専用キ ャ ッ シ ュ イ ン タ ーフ ェ イ ス が、 命
令キ ャ ッ シ ュ がデ ィ ス エーブルにな っ ていて も 、 キ ャ ッ シ ュ 可能な範囲内でのすべてのア ク セ ス に使用 さ れ
ます。
オ フ の場合、 命令キ ャ ッ シ ュ がデ ィ ス エーブルであれば、 命令キ ャ ッ シ ュ は こ れ ら のア ク セ ス にペ リ フ ェ ラ
ル AXI を 使用 し ま す。 オ ン の場合、 外部 メ モ リ コ ン ト ロ ー ラ ーが キ ャ ッ シ ュ イ ン タ ー フ ェ イ ス のみ を
MicroBlaze 命令 メ モ リ に提供す る 必要があ り ます。 こ のパ ラ メ ー タ ーは、 ACE (AXI Coherency Extension) を
使用す る 場合にのみオンに し ます。
°
[Use Distributed RAM for Tags] : 命令キ ャ ッ シ ュ タ グ を使用 し て、 各キ ャ ッ シ ュ ラ イ ンのア ド レ スお よ び有
効ビ ッ ト を維持 し ます。 オンの場合は、 命令キ ャ ッ シ ュ タ グがブ ロ ッ ク RAM ではな く 、 分散 メ モ リ に格納
さ れます。 こ れに よ り 、 ブ ロ ッ ク RAM が節約 さ れ る ので、 最大周波数が増加する 可能性があ り ます。
°
[Data Width] : AXI イ ン タ ー コ ネ ク ト を使用す る 際の命令キ ャ ッ シ ュ のバ ス幅を指定 し ます。 こ の幅は、 次
に設定で き ます。
°
[32-bit] : キ ャ ッ シ ュ ラ イ ンの長 さ に よ っ て、 32 ビ ッ ト ワー ド のキ ャ ッ シ ュ ラ イ ン を送信す る のにバース ト
が使用 さ れます。
°
[Full Cacheline] : キ ャ ッ シ ュ ラ イ ンの長 さ に よ っ て、 キ ャ ッ シ ュ ラ イ ン ご と に 128 ま たは 256 ビ ッ ト のデー
タ 幅の単一送信が実行 さ れます。
°
[512-bit] : 単一送信が実行 さ れますが、 キ ャ ッ シ ュ ラ イ ンの長 さ に よ っ て、 128 ま たは 256 ビ ッ ト のみが使用
さ れます。
2 つの幅設定には、 キ ャ ッ シ ュ ラ イ ンの長 さ に よ っ て、 キ ャ ッ シ ュ サ イ ズが少な く と も 8KB ま たは 16KB で
あ る 必要があ り ます。 AXI イ ン タ ーコ ネ ク ト のサ イ ズ を削減する には、 こ の設定が イ ン タ ー コ ネ ク ト のデー
タ 幅 と 同 じ であ る 必要があ り ます。 ほ と ん ど の場合、 幅設定に よ っ て最適なパフ ォーマ ン ス にで き ます。
注記 : こ の設定は、 エ リ ア最適化、 ACE (AXI Coherency Extension)を使用す る 場合やフ ォール ト ト レ ラ ン ス
がオンの場合は使用で き ません。
°
[Number of Streams] :命令キ ャ ッ シ ュ で使用 さ れ る ス ト リ ーム バ ッ フ ァ ーの数を指定 し ます。 ス ト リ ーム
バ ッ フ ァ ーは、 投機的に命令をプ ロ セ ッ サが リ ク エ ス ト する 前にプ リ フ ェ ッ チする ために使用 さ れます。 こ
れに よ り 、 プ ロ セ ッ サが メ モ リ か ら 命令を フ ェ ッ チする のにかか る 時間が減る ので、 パフ ォーマ ン ス が改善
さ れ る こ と が よ く あ り ます。
注記 : 命令キ ャ ッ シ ュ ス ト リ ーム を使用で き る よ う にす る には、 エ リ ア最適化 ま たは ACE (AXI Coherency
Extension) を イ ネーブルに し ないで く だ さ い。
°
[Number of Victims] : 保存す る 命令キ ャ ッ シ ュ ビ ク テ ィ ムの数を指定 し ます。 ビ ク テ ィ ムはキ ャ ッ シ ュ か ら
追い出 さ れた キ ャ ッ シ ュ ラ イ ンです。 ビ ク テ ィ ムが保存 さ れない場合、 必要であればすべての追い出 さ れた
ラ イ ンが メ モ リ か ら 再び読み出 さ れ る 必要があ り ます。 ほ と ん ど の最近の ラ イ ン を保存する と 、 こ れ ら は よ
り 高速に フ ェ ッ チで き る ので、 パフ ォーマ ン ス が改善 し ます。
推奨 : 2、 4、 8 キ ャ ッ シ ュ ラ イ ン を保存す る こ と がで き ま す。 保存 さ れ る キ ャ ッ シ ュ ラ イ ン が多いほ ど 、
パ フ ォ ーマ ン ス も 良 く な り ま す。 推奨 さ れ る 値は 8 ラ イ ン です。
注記 : 命令キ ャ ッ シ ュ ビ ク テ ィ ム を使用で き る よ う にす る には、 エ リ ア最適化 ま たは ACE (AXI Coherency
Extension) を有効に し ないで く だ さ い。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
59
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [MMU] ページ
図 3-11 は、 MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [ MMU] ページ を示 し てい ます。
X-Ref Target - Figure 3-11
図 3‐11 : MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [MMU] ページ
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
60
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
[Memory Management]
[Memory Management] フ ィ ール ド では、 メ モ リ 管理装置 (MMU) の イ ンプ リ メ ン テーシ ョ ン を指定 し ます。
•
MMU を無効にす る には、 こ のパ ラ メ ー タ ーをデフ ォ ル ト の None (0) に設定 し ます。
•
ユーザー モー ド お よ び特権モー ド の命令のみを有効にす る には、 こ のパ ラ メ ー タ ーを Usermode (1) に設定 し ま
す。 メ モ リ 保護を有効にす る には、 パ ラ メ ー タ ーを Protection (2) に設定 し ます。
•
仮想 メ モ リ ア ド レ ス の変換を含むすべての MMU の機能を有効にす る には、 こ のパ ラ メ ー タ ーを Virtual (3) に設
定 し ます。
Usermode が設定 さ れ る と 、 特権命令例外が有効にな り ます。 Protection ま たは Virtual が設定 さ れ る と 、 特権命令例外
お よ び 4 つの MMU 例外 (Data Storage、 Instruction Storage、 Data TLB Miss、 Instruction TLB Miss) が有効にな り ます。
[Memory Management Features] フ ィ ール ド
•
[Data Shadow Translation Look-Aside Buffer Size] : 命令シ ャ ド ウ TLB (Translation Look-Aside Buffer) のサ イ ズ を
定義 し ます。 TLB はデー タ ア ド レ ス変換情報を キ ャ ッ シ ュ し て、 変換のパフ ォ ーマ ン ス を改善 し ます。 こ の選
択は、 小 さ いサ イ ズ と パフ ォーマ ン ス の改善の ト レー ド オ フ で、 デフ ォ ル ト 値は 4 です。
•
[Instruction Shadow Translation Look-Aside Buffer Size] : 命令シ ャ ド ウ TLB (Translation Look-Aside Buffer) のサ イ
ズ を定義 し ます。 TLB は命令ア ド レ ス変換情報を キ ャ ッ シ ュ し て、 変換のパフ ォーマ ン ス を改善 し ます。 こ の選
択は、 小 さ いサ イ ズ と パフ ォーマ ン ス の改善の ト レー ド オ フ で、 デフ ォ ル ト 値は 2 です。
•
[Enable Access to Memory Management Special Registers] : MFS お よ び MTS 命令を使用 し た MMU の特定レ ジ ス
タ へのア ク セ ス を有効に し ます。
°
Minimal (0) では TLBLO、 TLBHI お よ び TLBX の書 き 込みのみが可能にな り ます。
°
Read (1) は、 TLBLO、 TLBHI、 TLBX、 PID お よ び ZPR に読み出 し を追加 し ます。
°
Write (2) では、 すべての レ ジ ス タ の書 き 込みお よ び TLBX の読み出 し が可能にな り ます。
°
Full (3) は、 TLBLO、 TLBHI、 TLBX、 PID お よ び ZPR の読み出 し を追加 し ます。
多 く の場合、 ソ フ ト ウ ェ アにすべての読み出 し ア ク セ ス を含め る 必要はあ り ません。 た と えば、 こ れは Linux の
メ モ リ 管理 コ ー ド の場合です。 こ れに よ り 、 Write へア ク セ ス を設定 し てエ リ ア を保存 し て も 問題はな く な り ま
す。 ス タ テ ィ ッ ク メ モ リ 保護を使用す る 場合、 ア ク セ ス は Minimal に設定で き ま す。 こ れは、 ソ フ ト ウ ェ ア で
TLBSX、 PID、 お よ び ZPR を使用す る 必要がないか ら です。
•
[Number of Memory Protection Zones] : イ ンプ リ メ ン ト する メ モ リ 保護ゾーンの数を指定 し ます。多 く の場合、 メ
モ リ 管理 ソ フ ト ウ ェ アでは使用可能なすべての ゾーンが使用 さ れ る わけではあ り ません。 た と えば、 Linux の メ
モ リ 管理 コ ー ド では 2 つのゾーン し か使用 さ れません。 こ れに よ り 、 イ ンプ リ メ ン ト 済みゾーン数を削減 し てエ
リ ア を節約 し て も 問題はな く な り ます。
•
[Privileged Instructions] : ユーザー モー ド で使用可能な命令を指定 し ます。
°
Full Protection (0) 設定にす る と 、 プ ロ セ ス間が フルに保護 さ れます。
°
Allow Stream Instructions (1) 設定にする と 、 ユーザー モー ド で AXI4-Stream 命令を使用で き る よ う にな り ま
す。
注意 : パ フ ォ ーマ ン ス 理由で必要出ない限 り 、 Full Protection か ら こ の設定 を 変更す る こ と はお勧めで き ま
せん。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
61
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [Debug] ページ
X-Ref Target - Figure 3-12
図 3‐12 : MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [Debug] ページ
[Debug] オプ シ ョ ン
[Enable MicroBlaze Debug Module Interface] :MicroBlaze への MDM (MicroBlaze Debug Module) イ ン タ ー フ ェ イ ス を デ
バ ッ グ用に イ 有効に し ま す。 こ のオプシ ョ ン を使用す る と 、 XMD (Xilinx Microprocessor Debugger) を使用 し て JTAG
(Joint Test Action Group) バ ウ ン ダ リ ス キ ャ ン イ ン タ ーフ ェ イ ス でプ ロ セ ッ サをデバ ッ グで き ます。こ のオプシ ョ ンは、
MicroBlaze のサ イ ズ を削減す る ためのデバ ッ グが終了 し た ら 、 オ フ にで き ます。
[Hardware Breakpoints] フ ィ ール ド
•
[Number of PC Breakpoints] : デバ ッ グ用プ ロ グ ラ ム カ ウ ン タ ー (PC) ハー ド ウ ェ ア ブ レー ク ポ イ ン ト の数を指
定 し ます。 こ のパ ラ メ ー タ ーでは、 XMD (Xilinx Microprocessor Debugger) が設定可能なハー ド ウ ェ ア ブ レー ク ポ
イ ン ト の数を制御 し ます。 こ のオプシ ョ ンは、 C_DEBUG_ENABLED がオンの場合にのみ意味があ り ます。 こ の
パ ラ メ ー タ ーに設定 さ れ る 値が大 き い と 、 MicroBlaze の周波数がかな り 落ち ます。
•
[Number of Write Address Watchpoints] : デバ ッ グ用書き 込みア ド レ ス ブ レー ク ポ イ ン ト の数を指定 し ます。 こ
のパ ラ メ ー タ ーでは、 XMD (Xilinx Microprocessor Debugger) が設定可能な書 き 込みウ ォ ッ チポ イ ン ト の数を制御
し ます。 こ のオプシ ョ ンは、 C_DEBUG_ENABLED がオンの場合にのみ意味があ り ます。 こ のパ ラ メ ー タ ーに設
定 さ れ る 値が大 き い と 、 MicroBlaze の周波数がかな り 落ち ます。
•
[Number of Read Address Watchpoints] : デバ ッ グ用読み出 し ア ド レ ス ブ レー ク ポ イ ン ト の数を指定 し ます。こ の
パ ラ メ ー タ ーでは、 XMD (Xilinx Microprocessor Debugger) が設定可能な読み出 し ウ ォ ッ チポ イ ン ト の数を制御 し
ます。 こ のオプシ ョ ンは、 C_DEBUG_ENABLED がオンの場合にのみ意味があ り ます。 こ のパ ラ メ ー タ ーに設定
さ れ る 値が大 き い と 、 MicroBlaze の周波数がかな り 落ち ます。
推奨 : デバ ッ グ に ウ ォ ッ チポ イ ン ト を 使用 し ない場合は、 こ れ ら 2 つのオプ シ ョ ン を 0 に設定す る こ と を お
勧め し ま す。
パ フ ォ ーマ ン スの監視
MicroBlaze の拡張デバ ッ グ を使用す る 場合は、 次のパフ ォーマ ン ス監視カ ウ ン タ ーが提供 さ れてお り 、 さ ま ざ ま な イ
ベン ト を カ ウ ン ト し 、 プ ロ グ ラ ム実行中の レ イ テ ン シ を測定 し た り す る のに使用で き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
62
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
•
C_DEBUG_EVENT_COUNTERS - イ ベン ト カ ウ ン タ ーを コ ン フ ィ ギ ュ レーシ ョ ンす る ために使用
•
C_DEBUG_LATENCY_COUNTERS - レ イ テ ン シ カ ウ ン タ ーを コ ン フ ィ ギ ュ レーシ ョ ンす る ために使用
•
C_DEBUG_COUNTER_WIDTH - カ ウ ン タ ー幅を 32、 48、 ま たは 64 ビ ッ ト に設定する ために使用
デフ ォ ル ト コ ン フ ィ ギ ュ レーシ ョ ンでは、 カ ウ ン タ ー幅が 32 ビ ッ ト に、 イ ベン ト カ ウ ン タ ーは 5 つ、 レ イ テ ン シ カ
ウ ン タ ーは 1 つに設定 さ れます。
ト レースおよびプ ロ フ ァ イ リ ング
MicroBlaze の拡張デバ ッ グには、 エ ンベデ ッ ド ト レース バ ッ フ ァ ーへ情報を格納 し て、 プ ロ グ ラ ム実行 ト レース を
イ ネーブルにす る プ ロ グ ラ ム ト レース機能が含まれます。
C_DEBUG_TRACE_SIZE パ ラ メ ー タ ーを使用す る と 、 ト レ ー ス バ ッ フ ァ ーのサ イ ズ を 8KB か ら 128KB に コ ン フ ィ
ギ ュ レーシ ョ ンで き ます。
C_DEBUG_TRACE_SIZE を 0 (None) に設定する と 、 プ ロ グ ラ ム ト レース はデ ィ ス エーブルにな り ます。
MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [Buses] ページ
X-Ref Target - Figure 3-13
図 3‐13 : MicroBlaze コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド の [Buses] ページ
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
63
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
[Local Memory Bus Interfaces] フ ィ ール ド :
•
[Enable Local Memory Bus Instruction Interface] : LMB 命令 イ ン タ ーフ ェ イ ス を有効に し ます。 こ の命令が設定
さ れ る と 、ロ ーカル メ モ リ バ ス (LMB) 命令 イ ン タ ーフ ェ イ ス が使用で き る よ う にな り ます。典型的な MicroBlaze
シ ス テ ム では、 こ の イ ン タ ーフ ェ イ ス を使用 し て命令用の高速 ロ ーカル メ モ リ が提供 さ れ ます。 通常は、 LMB
Bus Interface Controller を使用 し て LMB バ ス に接続 さ れ、 共通のブ ロ ッ ク RAM にア ク セ ス さ れます。
•
[Enable Local Memory Bus Data Interface] : LMB デー タ イ ン タ ーフ ェ イ ス を有効に し ます。 こ のパ ラ メ ー タ ーが
設定 さ れ る と 、 ロ ーカル メ モ リ バ ス (LMB) デー タ イ ン タ ーフ ェ イ ス が使用で き る よ う にな り ま す。 典型的な
MicroBlaze シ ス テ ムでは、こ の イ ン タ ーフ ェ イ ス を使用 し てデー タ お よ びベ ク タ ー用の高速 ロ ーカル メ モ リ が提
供 さ れます。 通常は、 LMB Bus Interface Controller を使用 し て LMB バ ス に接続 さ れ、 共通のブ ロ ッ ク RAM にア
ク セ ス さ れます。
[AXI and ACE Interfaces] フ ィ ール ド :
•
[Select Bus Interface] : こ のパ ラ メ ー タ ーが AXI に設定 さ れ る と 、 ペ リ フ ェ ラ ル と キ ャ ッ シ ュ ア ク セ ス の両方に
AXI が選択 さ れ ます。 こ のパ ラ メ ー タ ーが ACE に設定 さ れ る と 、 AXI がペ リ フ ェ ラ ル ア ク セ ス用に選択 さ れ、
キ ャ ッ シ ュ ア ク セ ス用に AXI Coherency Extension (ACE) が選択 さ れ、 キ ャ ッ シ ュ コ ヒ ーレ ン シがサポー ト さ れ
ます。
注記 : ACE エ リ ア最適化が使用で き る よ う にす る には、 ラ イ ト バ ッ ク デー タ キ ャ ッ シ ュ 、 命令キ ャ ッ シ ュ ス ト
リ ーム ま たはビ ク テ ィ ム、お よ び 32 ビ ッ ト 以外のキ ャ ッ シ ュ デー タ 幅を設定 し ないで く だ さ い。ど ち ら のキ ャ ッ
シ ュ に も [Use Cache for All Memory Accesses] を設定す る 必要があ り ます。
•
[Enable Peripheral AXI Interface Instruction Interface] : こ のパ ラ メ ー タ ーが設定 さ れ る と 、 ペ リ フ ェ ラ ル
AXI4-Lite 命令 イ ン タ ーフ ェ イ ス が使用で き る よ う にな り ます。 多 く の場合、 こ の イ ン タ ーフ ェ イ ス は、 特に命
令キ ャ ッ シ ュ が有効で C_ICACHE_ALWAYS_USED が設定 さ れ る 場合は必要あ り ません。
•
[Enable Peripheral AXI Data Interface] : こ のパ ラ メ ー タ ーが設定 さ れ る と 、 ペ リ フ ェ ラ ル AXI4 デー タ イ ン タ ー
フ ェ イ ス が使用で き る よ う にな り ます。 こ の イ ン タ ーフ ェ イ ス は、 通常 AXI4-Lite を使用 し てペ リ フ ェ ラ ル I/O
に接続 さ れ ますが、 メ モ リ に も 接続で き ます。 排他的ア ク セ ス を有効にす る 場合は、 AXI4 プ ロ ト コ ルが使用 さ
れます。
[Stream Interfaces] フ ィ ール ド :
•
[Number of Stream Links] : AXI4-Stream リ ン ク イ ン タ ーフ ェ イ ス のペアの数を指定 し ます。各ペアには、マ ス タ ー
と ス レーブ イ ン タ ーフ ェ イ ス が含ま れ ます。 イ ン タ ーフ ェ イ ス では、 MicroBlaze と ハー ド ウ ェ ア ア ク セ ラ レー
タ ーま たは コ プ ロ セ ッ サ間の一方向のポ イ ン ト ト ゥ ポ イ ン ト の通信チ ャ ネルが提供 さ れます。 こ れは、 レ イ テ
ン シの小 さ い イ ン タ ーフ ェ イ ス で、MicroBlaze の レ ジ ス タ フ ァ イ ル と FPGA フ ァ ブ リ ッ ク 間のア ク セ ス を提供 し
ます。
[Other Interfaces] フ ィ ール ド :
•
[Enable Trace Bus Interface] : こ のパ ラ メ ー タ ーが設定 さ れ る と 、 Trace バ ス イ ン タ ーフ ェ イ ス が使用で き る よ う
にな り ます。 こ れは、 デバ ッ グ、 実行統計お よ びパフ ォーマ ン ス解析に便利な イ ン タ ーフ ェ イ ス です。 特に、 イ
ン タ ーフ ェ イ ス を ChipScope™ Logic Analyzer (ILA) に接続す る と 、 ク ロ ッ ク サ イ ク ルの正確な ト レース プ ロ グ
ラ ムが実行で き ます。
•
[Lockstep Interface] : ロ ッ ク ス テ ッ プ サポー ト を有効にす る と 、 2 つの MicroBlaze コ アが ロ ッ ク ス テ ッ プで同 じ
プ ロ グ ラ ム を実行 し 、 それ ら の出力を比較 し てエ ラ ーを検出で き ます。
°
[NONE] に設定す る と 、 ロ ッ ク ス テ ッ プ イ ン タ ーフ ェ イ スは有効にな り ません。
°
[LOCKSTEP_MASTER] に設定す る と Lockstep_Master_Out お よ び Lockstep_Out 出力ポー ト が イ
ネーブルにな り ます。
°
[LOCKSTEP_SLAVE] に設定す る と 、 Lockstep_Slave_in 入力ポー ト と Lockstep_Out 出力ポー ト が イ
ネーブルにな り 、 C_LOCSTEP_SLAVE パ ラ メ ー タ ーが 1 に設定 さ れます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
64
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze プ ロ セ ッ サのク ロ ス ト リ ガー機能
ク ロ ス ト リ ガーは、 DBG_STOP と MB_Halted の 2 つの信号で指定で き ます。
•
DBG_STOP 入力が 1 に設定 さ れ る と 、 MicroBlaze は数命令後に停止 し ます。 XMD は、 MicoBlaze の停止を検出
し 、 停止の発生 し た箇所を示 し ま す。 こ の信号は、 ILA (Integrated Logic Analyzer) の ト リ ガーな ど の外部 イ ベン
ト で MicroBlaze プ ロ セ ッ サを停止 さ せ る ために使用で き ます。
•
MB_Halted 出力信号は、 ブ レー ク ポ イ ン ト やウ ォ ッ チポ イ ン ト に到達 し た後、 XMD コ マ ン ド stop 後、 ま たは
DBG_STOP 入力が設定 さ れた際な ど、 MicroBlaze プ ロ セ ッ サが停止 さ れ る 際はいつで も 1 に設定 さ れます。 こ の
出力は MicroBlaze 実行が XMD コ マ ン ド で再開 さ れ る と 削除 さ れます。
DBG_STOP お よ び MB_Halted ピ ン は非表示にな っ てい ま す。 こ れ ら の ピ ン を表示す る には、 [Re-customize IP]
ダ イ ア ロ グ ボ ッ ク ス の [Re-customize IP] ダ イ ア ロ グ ボ ッ ク ス の MicroBlaze の コ ン フ ィ ギ ュ レーシ ョ ン ページで
[Show Discrete Ports] をオンにす る 必要があ り ます (図 3-14)。
X-Ref Target - Figure 3-14
図 3‐14 : [Enable Discrete Ports] オプ シ ョ ン
MB_Halted 信号は、 ILA を ト リ ガー し た り 、 DBG_STOP 入力に接続す る と 、 マルチプ ロ セ ッ サ シ ス テ ム でほかの
MicroBlaze コ ア を停止す る ために使用で き ます。
拡張デバ ッ グでは、 ク ロ ス ト リ ガーは MDM と 共に使用する と サポー ト さ れます。 MDM には、 接続 さ れたすべての
プ ロ セ ッ サ間のプ ロ グ ラ マブル ク ロ ス ト リ ガー と 、外部 ト リ ガー入力お よ び出力が含まれます。詳細は、『MicroBlaze
Debug Module (MDM) 製品ガ イ ド 』 (PG115) [参照 7] を参照 し て く だ さ い。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
65
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
MicroBlaze では最大 8 個の ク ロ ス ト リ ガー ア ク シ ョ ンが処理で き ます。 ク ロ ス ト リ ガー ア ク シ ョ ンは、 デバ ッ グ バ
ス を介 し て接続 さ れた対応す る MDM ク ロ ス ト リ ガー出力で生成 さ れます。
拡張デバ ッ グ を イ ネーブルにす る には、 [Re-customize IP] ダ イ ア ロ グ ボ ッ ク ス の MicroBlaze Configuration Wizard の
[Debug] ページで [MicroBlaze Debug Module Interface] を [EXTENDED] に し ます。
X-Ref Target - Figure 3-15
図 3‐15 : MicroBlaze の [EXTENDED] デバ ッ グを イ ネーブルにする方法
拡張デバ ッ グ オプシ ョ ンは、 MicroBlaze プ ロ セ ッ サのブ ロ ッ ク オー ト メ ーシ ョ ン を実行す る 際に も 設定で き ます。
X-Ref Target - Figure 3-16
図 3‐16 : [Extended Debug] オプ シ ョ ン
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
66
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
次の MicroBlaze Debug Module (MDM) ページで [Enable Cross Trigger] を オンに し ます。 .
X-Ref Target - Figure 3-17
図 3‐17 : MDM の [Enable Cross Trigger] チ ェ ッ ク ボ ッ ク ス
ま た、 最大で 4 つの外部 ト リ ガー入力 と 外部 ト リ ガー出力ま で選択する こ と も で き ます。 オンにす る と 、 ブ ロ ッ ク デ
ザ イ ンがア ッ プデー ト さ れて MDM の詳細が表示 さ れます。
X-Ref Target - Figure 3-18
図 3‐18 : ク ロ ス ト リ ガーを イ ネーブルに し た後のブ ロ ッ ク デザイ ンの MDM
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
67
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
次に、 コ ネ ク シ ョ ン オー ト メ ーシ ョ ン を実行 し て ク ロ ス ト リ ガー信号を ILA に接続 し ます。
X-Ref Target - Figure 3-19
図 3‐19 : TRIG_IN_0 イ ン タ ー フ ェ イ ス ピ ンの ILA への接続
[Run Connection Automation] ダ イ ア ロ グ ボ ッ ク ス に、 新 し い ILA が イ ン ス タ ン シエー ト さ れ、 MDM の TRIG_IN_0
信号を該当す る ILA のピ ンに接続 さ れ る こ と が示 さ れます。
X-Ref Target - Figure 3-20
図 3‐20 : [Run Connection Automation] ダ イ ア ログ ボ ッ ク ス
コ ネ ク シ ョ ン オー ト メ ーシ ョ ン を も う 1 度実行 し て、 TRIG_OUT_0 イ ン タ ーフ ェ イ ス を選択 し ます。 こ の段階では、
[Slave] フ ィ ール ド に 2 つの選択肢があ り 、 既に イ ン ス タ ン シエー ト さ れた ILA を使用す る か、 新 し く ILA を イ ン ス
タ ン シエー ト す る か を選択で き ます。 こ の選択に よ っ て、 新 し い ILA が イ ン ス タ ン シエー ト さ れ る か、 既に イ ン ス タ
ン シエー ト さ れた ILA が再利用 さ れて、 MDM の ク ロ ス ト リ ガー ピ ンが接続 さ れます。
X-Ref Target - Figure 3-21
図 3‐21 : TRIG_OUT_0 イ ン タ ー フ ェ イ ス ピ ンの ILA への接続
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
68
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
.
X-Ref Target - Figure 3-22
図 3‐22 : ILA に ク ロ ス ト リ ガー ピ ン を接続 し た後のブ ロ ッ ク デザイ ン
カ ス タ ム ロ ジ ッ ク
Vivado IP パ ッ ケージ ャ ーを使用す る と 、 ユーザーお よ びサー ド パーテ ィ の IP (Intellectual Property) を Vivado IDE の
Vivado IP カ タ ロ グで使用で き ます。 こ の よ う に準備 さ れたサー ド パーテ ィ IP は、 Vivado Design Suite のデザ イ ンに イ
ン ス タ ン シエー ト で き ます。
Vivado Design Suite の IP パ ッ ケージ フ ロ ーを使用 し て IP を開発する と 、 ザ イ リ ン ク ス IP、 サー ド パーテ ィ IP、 ま た
はカ ス タ マー開発 IP のいずれ も Vivado Design Suite で同様に使用で き ます。
IP の開発時には、 IP パ ッ ケージ ャ ーを使用 し て IP フ ァ イ ル と 関連デー タ を ZIP フ ァ イ ルにパ ッ ケージ化 し ます。 こ
の生成 さ れた ZIP フ ァ イ ルを Vivado Design Suite の IP カ タ ロ グに イ ン ス ト ールす る と 、 パ ラ メ ー タ ーを選択 し て IP
を カ ス タ マ イ ズ し 、 IP イ ン ス タ ン ス を生成で き る よ う にな り ます。
推奨 : IP 開発者は、IP のパ ッ ケージに問題がないか ど う か を IP ユーザーに渡す前に確認する ため、 IP ユーザー フ ロ ー
か ら 各 IP モジ ュ ールをすべて実行 し 、 I P が使用可能な状態であ る か ど う か検証 し てお く こ と をお勧め し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
69
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
エ ンベデ ッ ド IP カ タ ログ
Vivado IP カ タ ロ グは、 IP の検索、 詳細情報の確認、 関連資料の表示を実行可能な統合 リ ポジ ト リ です。 Vivado IP カ
タ ロ グにサー ド パーテ ィ IP ま たはカ ス タ マー IP を追加する と 、 Vivado Design Suite フ ロ ーか ら その IP にア ク セ ス で
き る よ う にな り ます。 図 3-23 は、 Vivado IDE の IP カ タ ロ グです。
X-Ref Target - Figure 3-23
図 3‐23 : IP イ ン テグ レー タ ー内の IP カ タ ログ
接続
MicroBlaze プ ロ セ ッ サ を コ ン フ ィ ギ ュ レーシ ョ ン し た ら 、 デザ イ ン を構成す る その他の IP を イ ン ス タ ン シエー ト し
始め る こ と がで き ます。
IP イ ン テ グ レー タ ーの図エ リ アで右 ク リ ッ ク し て [Add IP] を ク リ ッ ク し ます。
IP イ ン テ グ レー タ ーの 2 つの ビル ト イ ン機能 (ブ ロ ッ ク オー ト メ ーシ ョ ンお よ び コ ネ ク シ ョ ン オー ト メ ーシ ョ ン機
能) を使用す る と 、 残 り の IP サブシ ス テ ム デザ イ ンが完成で き ます。 こ れ ら の 2 つの機能では、 基本的なマ イ ク ロ プ
ロ セ ッ サ シ ス テ ム を統合 し た り 、 外部 I/O ポー ト へポー ト を接続 し た り す る 際のプ ロ セ ス が自動化 さ れます。
ブ ロ ッ ク オー ト メ ーシ ョ ン
ブ ロ ッ ク オー ト メ ーシ ョ ンは、 ZYNQ7 プ ロ セ ッ シ ン グ シ ス テ ム (PS) ま たは MicroBlaze プ ロ セ ッ サの よ う なマ イ ク
ロ プ ロ セ ッ サを IP イ ン テ グ レー タ ー ツールのブ ロ ッ ク デザ イ ンに イ ン ス タ ン シエー ト す る 際に使用で き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
70
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
1.
[Run Block Automation] を ク リ ッ ク する と 、単純な MicroBlaze プ ロ セ ッ シ ン グ シ ス テ ムが統合 し やす く な り ます。
X-Ref Target - Figure 3-24
図 3‐24 : 設計ア シ ス タ ン ス を使用 し たブ ロ ッ ク オー ト メ ーシ ョ ンの実行
[Run Block Automation] ダ イ ア ロ グ ボ ッ ク ス では、 マ イ ク ロ プ ロ セ ッ サ シ ス テ ムに必要な基本的な機能に関す る
入力がで き ます。
X-Ref Target - Figure 3-25
図 3‐25 : [Run Block Automation] ダ イ ア ログ ボ ッ ク ス (MicroBlaze)
2.
必要なオプシ ョ ン を選択 し 、 [OK] を ク リ ッ ク し ます。
[Run Block Automation] を ク リ ッ ク する と 、 次の MicroBlaze シ ス テ ムが作成 さ れます。
X-Ref Target - Figure 3-26
図 3‐26 : ブ ロ ッ ク オー ト メ ーシ ョ ン実行後の MicroBlaze デザイ ン
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
71
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
コ ネ ク シ ョ ン オー ト メ ーシ ョ ン
IP イ ン テ グ レー タ ー ツールで、 キ ャ ンバ ス上の イ ン ス タ ン シエー ト 済み IP 内に潜在的な接続が存在す る と 判断 さ れ
る 場合は、 コ ネ ク シ ョ ン オー ト メ ーシ ョ ン機能が使用で き る よ う にな り ます。
図 3-27 では、 GPIO と Uartlite の 2 つの IP が MicroBlaze と 共に イ ン ス タ ン シエー ト さ れてい ます。
X-Ref Target - Figure 3-27
図 3‐27 : IP イ ン テグレー タ ーのコ ネ ク シ ョ ン オー ト メ ーシ ョ ンの使用
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
72
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
[Run Connection Automation] リ ン ク を ク リ ッ ク する と 、 次のダ イ ア ロ グ ボ ッ ク ス が開 き ます。
X-Ref Target - Figure 3-28
図 3‐28 : [Run Connection Automation] ダ イ ア ログ ボ ッ ク ス
IP イ ン テ グ レー タ ーでは、 次のオブジ ェ ク ト に対す る 潜在的な接続が判断 さ れます。
•
Proc Sys Rst IP の ext_reset_in ピ ンは リ セ ッ ト ソ ース に接続す る 必要があ り 、 内部 リ セ ッ ト ソ ース ま たは外部入
力ポー ト のいずれかにで き ます。
•
Clocking Wizard の CLK_IN_1_D ピ ンは内部 ク ロ ッ ク ソ ース ま たは外部入力ポー ト のいずれかに接続す る 必要が
あ り ます。
•
AXI GPIO の s_axi イ ン タ ーフ ェ イ ス はマ ス タ ー AXI イ ン タ ーフ ェ イ ス に接続す る 必要があ り ます。
•
AXI GPIO コ アの gpio イ ン タ ーフ ェ イ スは外部 I/O に接続する 必要があ り ます。
•
Uartlite IP の s_axi イ ン タ ーフ ェ イ スはマ ス タ ー AXI イ ン タ ーフ ェ イ ス に接続す る 必要があ り ます。
•
Uartlite IP の uart イ ン タ ーフ ェ イ ス は外部 I/O に接続す る 必要があ り ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
73
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
こ れ ら の使用可能 な オ プ シ ョ ン それぞれで コ ネ ク シ ョ ン オー ト メ ーシ ョ ン を 実行す る と 、 ブ ロ ッ ク デザ イ ン は
図 3-29 の よ う にな り ます。
X-Ref Target - Figure 3-29
図 3‐29 : サン プル MicroBlaze デザイ ンのコ ネ ク シ ョ ン オー ト メ ーシ ョ ンの実行
IP イ ン テグ レー タ ーでのボー ド オー ト メ ーシ ョ ン
40 ページの 「IP イ ン テ グ レー タ ーのボー ド オー ト メ ーシ ョ ン」 を参照 し て く だ さ い。
IP イ ン テグ レー タ ー デザイ ン での手動接続
38 ページの 「手動接続」 を参照 し て く だ さ い。
I/O ポー ト の手動作成 と 接続
38 ページの 「I/O ポー ト の手動作成 と 接続」 を参照 し て く だ さ い。
[Address Editor] タ ブ での メ モ リ マ ッ プ
41 ページの 「[Address Editor] タ ブでの メ モ リ マ ッ プ」 を参照 し て く だ さ い。
デザイ ン ルール チ ェ ッ ク の実行
41 ページの 「デザ イ ン ルール チ ェ ッ ク の実行」 を参照 し て く だ さ い。
ブ ロ ッ ク デザイ ンの最上位デザイ ンへの統合
41 ページの 「ブ ロ ッ ク デザ イ ンの最上位デザ イ ンへの統合」 を参照 し て く だ さ い。
MicroBlaze プ ロ セ ッ サの制約
IP イ ン テ グ レー タ ーでは、 出力フ ァ イ ルの生成中にツール内で生成 さ れた IP の制約が作成 さ れますが、 カ ス タ ム IP
ま たは高位 コ ー ド な ど の制約はユーザーが生成す る 必要があ り ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
74
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
制約セ ッ ト はデザ イ ン制約を含む XDC フ ァ イ ルのセ ッ ト で、 デザ イ ン に適用で き ます。 デザ イ ン制約には、 2 種類
あ り ます。
•
物理制約 : ピ ン配置、 BRAM、 LUT、 フ リ ッ プ フ ロ ッ プな ど のセルの絶対配置ま たは相対配置、 お よ びデバ イ ス
の コ ン フ ィ ギ ュ レーシ ョ ン設定を定義 し ます。
•
タ イ ミ ン グ制約 : 業界標準の SDC で記述 し 、 デザ イ ンの周波数要件を定義 し ます。 タ イ ミ ン グ制約を設定 し ない
場合、 デザ イ ンが ワ イ ヤの長 さ お よ び配線の密集度にのみ基づいて最適化 さ れます。
注記 : タ イ ミ ン グ制約を設定 し ない場合、 Vivado イ ンプ リ メ ン テーシ ョ ン でデザ イ ンのパフ ォーマ ン ス を評価 し
た り 、 向上す る ための処理は実行 さ れません。
重要 : Vivado Design Suite では、 UCF フ ォ ーマ ッ ト はサポー ト さ れ ま せん。 UCF 制約 を XDC コ マ ン ド に移
行す る 方法は、 『ISE か ら Vivado Design Suite への移行ガ イ ド 』 (UG911) [ 参照 8] を 参照 し て く だ さ い。
制約セ ッ ト の使用方法については多 く のオプシ ョ ンがあ り 、 次を含め る こ と がで き ます。
•
1 つの制約セ ッ ト 内に含まれ る 複数の制約フ ァ イ ル
•
物理制約フ ァ イ ルお よ び タ イ ミ ン グ制約フ ァ イ ルを含む制約セ ッ ト
•
マ ス タ ー制約フ ァ イ ル、 お よ び新 し い制約フ ァ イ ルへの直接変更
•
1 つのプ ロ ジ ェ ク ト 用の複数の制約セ ッ ト (異な る イ ンプ リ メ ン テーシ ョ ン run 用に異な る 制約セ ッ ト を ア ク
テ ィ ブに し て さ ま ざ ま な設定を テ ス ト 可能)
•
合成お よ び イ ンプ リ メ ン テーシ ョ ン用に別々の制約セ ッ ト
•
デザ イ ン要件が満た さ れ る よ う 、 合成、 シ ミ ュ レーシ ョ ン、 イ ンプ リ メ ン テーシ ョ ンで異な る 制約
制約を機能に応 じ て別の制約フ ァ イ ルに分けてお く と 、 制約ス ト ラ テジ全体がわか り やす く な り 、 タ イ ミ ン グお よ び
イ ンプ リ メ ン テーシ ョ ン を変更 し やす く な り ます。
デザ イ ン制約を複数の制約セ ッ ト を使用 し て整理す る と 、 次が実行で き ます。
•
同 じ プ ロ ジ ェ ク ト で異な る ザ イ リ ン ク ス FPGA を タ ーゲ ッ ト と し て設定で き ます。 タ ーゲ ッ ト パーツが異な る
と 、 物理制約お よ び タ イ ミ ン グ制約 も 異な る も のにす る 必要があ る 場合があ り ます。
•
さ ま ざ ま な条件でデザ イ ン を実行で き ます。 制約セ ッ ト を使用 し て、 異な る フ ロ アプ ラ ン を適用 し た り 、 デザ イ
ンの制約を厳 し く し た り で き ます。
•
制約の変更を管理 し や く すな り ます。 マ ス タ ー制約の代わ り に、 別の制約フ ァ イ ルに保存 し た制約を使用で き ま
す。
ヒ ン ト : タ イ ミ ン グ制約を検証す る には、 合成済みデザ イ ンに report_timing_summary コ マ ン ド を使用す る のが よ い方
法です。 問題の発生 し やすい制約は、 イ ンプ リ メ ン テーシ ョ ンの前に修正 し て く だ さ い。
配置配線に影響す る 制約の定義お よ び制約での作業の詳細は、 『Vivado Design Suite ユーザー ガ イ ド :制約の使用』
(UG903) [参照 9] を参照 し て く だ さ い。
合成、 イ ン プ リ メ ン テーシ ョ ン、 ビ ッ ト ス ト リ ーム生成の実行
デザ イ ン を終了 し て制約を正 し く 付けた ら 、 合成お よ び イ ンプ リ メ ン テーシ ョ ン を実行 し てか ら 、 ビ ッ ト ス ト リ ーム
を生成で き ます。
ハー ド ウ ェ アの ソ フ ト ウ ェ ア開発キ ッ ト (SDK) へのエ ク スポー ト
詳細は、 43 ページの 「 ソ フ ト ウ ェ ア開発キ ッ ト (SDK) を起動 し ます。」 を参照 し て く だ さ い。
通常は、 デザ イ ン の ビ ッ ト ス ト リ ーム を生成 し た ら 、 ハー ド ウ ェ ア定義を SDK にエ ク ス ポー ト で き る よ う にな り ま
す。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
75
第 3 章 : エ ンベデ ッ ド デザイ ン での MicroBlaze プ ロ セ ッ サの使用
こ れに よ り 、 デザ イ ンに使用 さ れ る IP を理解す る ために SDK で必要 と さ れ る XML フ ァ イ ルがエ ク ス ポー ト さ れ る
ほか、 プ ロ セ ッ サの全体像か ら メ モ リ マ ッ プ も エ ク ス ポー ト さ れます。 ビ ッ ト ス ト リ ームが生成 さ れてデザ イ ンがエ
ク ス ポー ト さ れた ら 、 デバ イ ス がダ ウ ン ロ ー ド で き る よ う にな り 、 ソ フ ト ウ ェ アがプ ロ セ ッ サ上で実行で き る よ う に
な り ます。
ヒ ン ト : ビ ッ ト ス ト リ ーム の作成前に ソ フ ト ウ ェ ア開発を開始す る 場合は、 デザ イ ン生成後にハー ド ウ ェ ア定義を
SDK にエ ク ス ポー ト で き ます。
1.
[File] → [Export] → [Export Hardware] を ク リ ッ ク し ます。
こ れに よ り 、 [Export Hardware for SDK] ダ イ ア ロ グ ボ ッ ク ス が開き 、 エ ク ス ポー ト オプシ ョ ン を選択で き ます。
2.
ハー ド ウ ェ ア を エ ク ス ポー ト し た ら 、 [File] → [Launch SDK] を ク リ ッ ク し て SDK を起動 し ます。
X-Ref Target - Figure 3-30
図 3‐30 : [Export Hardware for SDK] ダ イ ア ログ ボ ッ ク ス
ハー ド ウ ェ ア定義を SDK にエ ク ス ポー ト し てか ら SDK を起動す る と 、 SDK で ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン を記
述 し 始め る こ と がで き ます。 ま た、 SDK か ら は さ ら に詳細なデバ ッ グが実行で き ます。
ソ フ ト ウ ェ ア ELF フ ァ イ ルは Vivado IDE プ ロ ジ ェ ク ト に イ ン ポー ト し 戻 し て、 FPGA ビ ッ ト ス ト リ ーム と 統合 し て、
さ ら にダ ウ ン ロ ー ド お よ びテ ス ト を実行す る こ と がで き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
76
第 4章
MIG コ ア を含むデザイ ン
概要
ザ イ リ ン ク ス 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ジ ェ ネ レー タ ー (MIG) コ アは、 7 シ リ ーズ FPGA ユーザー
デザ イ ン と DDR3 お よ び DDR2 SDRAM デバ イ スへの AMBA® AXI4 (Advanced Extensible Interface) ス レーブ間の イ ン
タ ーフ ェ イ ス に使用 さ れ る 設計済み コ ン ト ロ ー ラ ー と 物理レ イ ヤー (PHY) を組み合わせた も のです。
本章では、 IP イ ン テ グ レー タ ー ツールでの 7 シ リ ーズ FPGA 用の LogiCORE™ IP DDR3 ま たは DDR2 SDRAM イ ン
タ ーフ ェ イ ス の使用、 カ ス タ マ イ ズ、 シ ミ ュ レ ーシ ョ ン に関す る 情報を提供 し ま す。 本章では、 コ アのアーキ テ ク
チ ャ について説明 し 、 その コ アのカ ス タ マ イ ズお よ び イ ン タ ーフ ェ イ ス に関す る 詳細について説明 し ます。
本章の情報は Kintex-7 ボー ド の KC705 を使用 し た も のですが、こ れ ら のガ イ ド ラ イ ンはカ ス タ マ イ ズ さ れたユーザー
ハー ド ウ ェ アに も 適用で き ます。
プ ロ ジ ェ ク ト の作成
デザ イ ン全体は IP イ ン テ グ レー タ ーを使用 し て作成で き ますが、 典型的なデザ イ ンには HDL IP お よ び IP イ ン テ グ
レー タ ー ブ ロ ッ ク デザ イ ンが含まれます。 Vivado® では、 Quick Start ページ (図 4-1) か ら 新 し いデザ イ ン を作成で き
ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
77
第 4 章 : MIG コ ア を含むデザイ ン
X-Ref Target - Figure 4-1
図 4‐1 : Quick Start ページからの新規プ ロ ジ ェ ク ト の作成
KC705 ボー ド を タ ーゲ ッ ト ボー ド と し て選択 し ます。
X-Ref Target - Figure 4-2
図 4‐2 : タ ーゲ ッ ト ボー ド の選択
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
78
第 4 章 : MIG コ ア を含むデザイ ン
注記 : 次の コ マ ン ド を使用す る と 同 じ 操作が実行で き ます。
create_project project 3 C:/temp/project_3 -part xc7k325tffg900-2
set_property board xilinx.com:kintex7:kc705:part0:1.0 [current_project]
set_property target_language VHDL [current_project]
Tcl コ マ ン ド の < > は、 ユーザー デザ イ ン特有のパ ラ メ ー タ ーを示すために使用 さ れてい ます。 実際の コ マ ン ド ス ト
リ ン グには、 < > は含ま ない よ う に し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た設計
[IP Integrator] の下の [Create Block Design] を ク リ ッ ク し 、 Flow Navigator で新規ブ ロ ッ ク デザ イ ン を作成 し ます。
Tcl コ マ ン ド :
create_bd_design <your_design_name>
MIG IP の追加
Memory Interface Generator IP を追加す る には、図内で右 ク リ ッ ク し て [Add IP] を ク リ ッ ク し ます。検索可能な IP カ タ
ロ グが開 き ます。 検索フ ィ ル タ ーに IP 名 (mig) の最初の何文字か を入力す る と 、 それに一致す る IP モジ ュ ールのみ
が表示 さ れます。
X-Ref Target - Figure 4-3
図 4‐3 : IP カ タ ログで検索 し て MIG IP を追加
ま たは、 キ ャ ンバ ス左側の [Add IP] ボ タ ン
を ク リ ッ ク し ます。
こ れに よ り 、 IP イ ン テ グ レー タ ーのブ ロ ッ ク デザ イ ンに MIG IP コ アが配置 さ れます。
X-Ref Target - Figure 4-4
図 4‐4 : ブ ロ ッ ク デザイ ンに MIG IP コ ア を イ ン ス タ ン シ エー ト
同 じ 手順を使用 し て IP イ ン テ グ レー タ ーのブ ロ ッ ク 図に MicroBlaze™ ま たは Zynq プ ロ セ ッ サを追加 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
79
第 4 章 : MIG コ ア を含むデザイ ン
[Board] タ ブか ら ddr3_sdram イ ン タ ーフ ェ イ ス をブ ロ ッ ク デザ イ ン キ ャ ンバ ス に ド ラ ッ グ ア ン ド ド ロ ッ プす る こ と
も で き ます。
X-Ref Target - Figure 4-5
図 4‐5 : [Board] タ ブ を使用 し た MIG コ アのイ ン ス タ ン シ エー ト
こ れでキ ャ ンバ ス に MIG IP が イ ン ス タ ン シエー ト さ れ、 SYS_CLK と MIG の DDR3 イ ン タ ーフ ェ イ ス がボー ド イ ン
タ ーフ ェ イ ス に接続 さ れます。
X-Ref Target - Figure 4-6
図 4‐6 : sys_diff_clock と ddr3_sdram イ ン タ ー フ ェ イ スの接続
手動接続
前述の よ う に IP カ タ ロ グ か ら IP を手動で イ ン ス タ ン シエー ト し た場合は、 ブ ロ ッ ク オー ト メ ーシ ョ ン を実行 し て
MIG を コ ン フ ィ ギ ュ レーシ ョ ン し 、 その SYS_CLK と DDR3 イ ン タ ーフ ェ イ ス を ボー ド イ ン タ ーフ ェ イ ス に接続す
る 必要があ り ます。
MIG コ アには K705 ボー ド 全体の ク ロ ッ ク 供給が含まれ る ので、 ク ロ ッ ク コ ン ト ロ ー ラ ー用に実行す る 前に MIG コ
アのブ ロ ッ ク オー ト メ ーシ ョ ン を実行 し ます (ま たは ddr3_sdram を前述の よ う に ド ラ ッ グ ア ン ド ド ロ ッ プ し ます)。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
80
第 4 章 : MIG コ ア を含むデザイ ン
1.
[Run Block Automation] を ク リ ッ ク し ます。
X-Ref Target - Figure 4-7
図 4‐7 : MIG コ アのブ ロ ッ ク オー ト メ ーシ ョ ン
[Run Block Automation] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
X-Ref Target - Figure 4-8
図 4‐8 : [Run Block Automation] ダ イ ア ログ ボ ッ ク ス
2.
[OK] を ク リ ッ ク し ます。
次は、 生成 さ れたブ ロ ッ ク デザ イ ン です。 MIG コ アは 400MHz 用に コ ン フ ィ ギ ュ レーシ ョ ン さ れ、 KC705 ボー
ド 用に正 し い ピ ンが選択 さ れてい ます。
X-Ref Target - Figure 4-9
図 4‐9 : ブ ロ ッ ク オー ト メ ーシ ョ ン実行後のブ ロ ッ ク デザイ ンの MIG コ ア
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
81
第 4 章 : MIG コ ア を含むデザイ ン
3.
MIG コ ン フ ィ ギ ュ レーシ ョ ンに変更を加え る には、ブ ロ ッ ク を右 ク リ ッ ク し て [Customize Block] を ク リ ッ ク し ま
す。 ま たは、 MIG IP ブ ロ ッ ク を ダブル ク リ ッ ク し ます。
MIG コ ン フ ィ ギ ュ レーシ ョ ン設定の詳細は、 『7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー
ガ イ ド 』 (UG586) [参照 10] を参照 し て く だ さ い。
Clocking Wizard の追加
MIG コ アで生成 さ れた ク ロ ッ ク 以外に ク ロ ッ ク がデザ イ ンに必要な場合は、 ブ ロ ッ ク デザ イ ンに Clocking Wizard IP
を追加す る 必要があ り ます。
X-Ref Target - Figure 4-10
図 4‐10 : Clocking Wizard 次の手順に従っ て、 Clocking Wizard を MIG コ アに接続 し ます。
1.
MIG コ アの ui_clk (ま たは生成 さ れたその他の ク ロ ッ ク のいずれかの) 出力を Clocking Wizard の clk_in1 入力
に接続 し ます。
X-Ref Target - Figure 4-11
図 4‐11 : ui_clk の clk_in1 への接続
2.
MIG コ アの ui_clk_sync_rst ポー ト を Clocking Wizard の リ セ ッ ト ポー ト に接続 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
82
第 4 章 : MIG コ ア を含むデザイ ン
X-Ref Target - Figure 4-12
図 4‐12 : ui_clk_sync_rst の リ セ ッ ト ポー ト への接続 3.
Clocking Wizard を ダブル ク リ ッ ク し て、 デザ イ ンに必要な ク ロ ッ ク が生成で き る よ う にカ ス タ マ イ ズ し ます。
IP イ ン テグ レー タ ーでの AXI マス タ ーのイ ン ス タ ン シ エー ト
MIG デザ イ ン を完成す る には、 Zynq や MicroBlaze プ ロ セ ッ サな ど のマ ス タ ーま たは外部プ ロ セ ッ サが必要です。
次の手順は、IP イ ン テ グ レー タ ー デザ イ ンに MicroBlaze プ ロ セ ッ サを イ ン ス タ ン シエー ト す る 方法を示 し てい ます。
1.
キ ャ ンバ ス で右 ク リ ッ ク し て [Add IP] を ク リ ッ ク し 、ブ ロ ッ ク デザ イ ンに MicroBlaze プ ロ セ ッ サ を追加 し ます。
図 4-13 は、 ブ ロ ッ ク デザ イ ンに イ ン ス タ ン シエー ト さ れたプ ロ セ ッ サを示 し てい ます。
X-Ref Target - Figure 4-13
図 4‐13 : MicroBlaze プ ロ セ ッ サの追加
2.
[Run Block Automation] を ク リ ッ ク し 、 基本的な MicroBlaze シ ス テ ム を構築 し て、 次の設定を コ ン フ ィ ギ ュ レー
シ ョ ン し ます。
°
[Local Memory] : プルダ ウ ン メ ニ ュ ーか ら 必要な量の ロ ーカル メ モ リ を選択 し ます。
°
[Local Memory ECC] : 必要であれば ECC を オンに し ます。
°
[Cache Configuration] : 必要な キ ャ ッ シ ュ メ モ リ の量を選択 し ます。
°
[Debug Module] : プルダ ウ ン メ ニ ュ ーか ら デバ ッ グ モジ ュ ールの タ イ プを指定 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
83
第 4 章 : MIG コ ア を含むデザイ ン
°
[Peripheral AXI Interconnect] : こ のオプシ ョ ンは必ずオンに し ます。
°
[Interrupt Controller] : 割 り 込み コ ン ト ロ ー ラ ーはオプシ ョ ン です。
°
[Clock Connection] : プルダ ウ ン メ ニ ュ ーか ら ク ロ ッ ク ソ ース を選択 し ます。
X-Ref Target - Figure 4-14
図 4‐14 : [Run Block Automation] 設定
3.
[OK] を ク リ ッ ク し ます。
ブ ロ ッ ク デザ イ ンは、 図 4-15 の よ う にな り ます。
X-Ref Target - Figure 4-15
図 4‐15 : ブ ロ ッ ク オー ト メ ーシ ョ ン後のブ ロ ッ ク デザイ ン (MicroBlaze)
4.
[Run Connection Automation] を ク リ ッ ク し 、 MIG コ ア を MicroBlaze プ ロ セ ッ サに接続 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
84
第 4 章 : MIG コ ア を含むデザイ ン
[Run Connection Automation] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。 mig_7series_0 と その他のオー ト メ ーシ ョ ン を実行
し たい IP を選択 し ます。
X-Ref Target - Figure 4-16
図 4‐16 : MIG を MicroBlaze に接続する ための [Run Connection Automation] ダ イ ア ログ ボ ッ ク ス
5.
ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [Cashed] オプシ ョ ン を選択 し 、 [OK] を ク リ ッ ク し ます。
こ れに よ り 、 別の AXI Interconnect が イ ン ス タ ン シエー ト さ れ、 MIG コ ア と MicroBlaze プ ロ セ ッ サ間に必要な接
続が さ れます。
X-Ref Target - Figure 4-17
図 4‐17 : MIG/MicroBlaze 接続
6.
外部 リ セ ッ ト ソ ー ス の接続な ど 、 MIG コ アへの残 り の接続を し ま す。
7.
Concat IP を使用 し て、 MicroBlaze プ ロ セ ッ サへの割 り 込み ソ ース も 接続 し ます。
メ モ リ マ ッ プの作成
こ のデザ イ ン のア ド レ ス マ ッ プ を生成す る には、 [Address Editor] タ ブ を ク リ ッ ク し ます。 メ モ リ マ ッ プは、 自動的
に作成 さ れ、 デザ イ ンに追加 さ れます。 ア ド レ ス は、 [Offset Address] お よ び [Range] 列に値を入力す る と 、 手動で設
定す る こ と も で き ます。 ア ド レ ス は、 [Offset Address] お よ び [Range] 列に値を入力する と 、 手動で設定す る こ と も で
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
85
第 4 章 : MIG コ ア を含むデザイ ン
き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レ ー タ ー を 使用 し た IP サ ブ シ ス テ ム の設計』
(UG994)(UG994) [参照 2] の 「 メ モ リ マ ッ プの作成」 を参照 し て く だ さ い。
X-Ref Target - Figure 4-18
図 4‐18 : [Address Editor] タ ブ
ヒ ン ト : [Address Editor] タ ブはバ ス マ ス タ ー と し て機能す る IP ブ ロ ッ ク (次の図の場合、 MicroBlaze プ ロ セ ッ サ) が
図に含まれてい る 場合にのみ表示 さ れます。
デザイ ン ルール チ ェ ッ ク の実行
Vivado IP イ ン テ グ レー タ ーは、 デザ イ ン を作成す る 際に、 リ アル タ イ ム で基本的なデザ イ ン ルール チ ェ ッ ク (DRC)
を実行 し ます。 ただ し 、 デザ イ ン作成中に問題が発生す る こ と があ り ます。 た と えば、 ク ロ ッ ク ピ ンの周波数が正 し
く 設定 さ れない こ と があ り ます。全体的なデザ イ ン チ ェ ッ ク を実行する には、[Validate Design] ボ タ ン
をク リ ッ
ク し ます。
デザ イ ンに警告お よ びエ ラ ーがない場合は、 検証に問題がなかっ た こ と を示すダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
デザイ ンのイ ン プ リ メ ン テーシ ョ ン
こ れでデザ イ ン を イ ン プ リ メ ン ト し 、 ビ ッ ト ス ト リ ーム を生成 し て、 SDK で ソ フ ト ウ ェ ア アプ リ ケーシ ョ ン を作成
す る こ と がで き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
86
第 5章
IP イ ン テグ レー タ ーの リ セ ッ ト および ク
ロ ッ ク ト ポロ ジ
概要
本章では、 シ ス テ ム レベルでの ク ロ ッ ク お よ び リ セ ッ ト の接続について説明 し ます。Vivado® IP イ ン テ グ レー タ ーで
は、新 し いボー ド オー ト メ ーシ ョ ン フ ロ ー ( こ こ か ら 先はボー ド フ ロ ー と 記述) を使用で き ます。 こ れを使用す る と 、
ボー ド イ ン タ ーフ ェ イ ス で IP を自動的に コ ン フ ィ ギ ュ レーシ ョ ン で き ます。 すべての接続を手動で実行す る こ と も
で き ます。
IP イ ン テ グ レー タ ーを使用 し て タ ーゲ ッ ト ハー ド ウ ェ アで問題な く 動作す る デザ イ ン を作成す る には、 まず リ セ ッ
ト お よ び ク ロ ッ ク 供給の注意点について理解す る 必要があ り ます。本章の例お よ び全体的な フ ロ ーではボー ド フ ロ ー
が使用 さ れますが、 同 じ 注意点はボー ド フ ロ ーを使用 し ないで作成する 場合に も 適用 さ れます。
IP イ ン テ グ レー タ ーでは、 メ モ リ イ ン タ ーフ ェ イ ス ジ ェ ネ レー タ ー (MIG) コ アは ク ロ ッ ク ソ ース で、 ボー ド オシ
レ ー タ ーか ら のプ ラ イ マ リ ク ロ ッ ク は MIG コ ア に直接接続 さ れてい る 必要があ り ま す。 MIG コ アは最大 5 つの ク
ロ ッ ク を追加で生成で き 、 こ れ ら の ク ロ ッ ク は必要に応 じ てデザ イ ンの リ セ ッ ト に使用で き ます。 MIG コ ア を含むデ
ザ イ ンの場合、 プ ラ イ マ リ オン ボー ド ク ロ ッ ク が MIG に接続 さ れ る よ う に し 、 残 り のデザ イ ンには追加の ク ロ ッ ク
ソ ース と し てそのユーザー ク ロ ッ ク (ui_clock) を使用 し ます。
ボー ド フ ロ ーを使用す る IP イ ン テ グ レー タ ー デザ イ ン では、 特定の IP (た と えば MIG お よ び Clocking Wizard な ど)
でボー ド レベルの ク ロ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン がサポー ト さ れます。 残 り のシ ス テ ムには、 ク ロ ッ ク はサポー
ト さ れ る IP か ら 派生 さ せ る こ と がで き ます。 同様に、 リ セ ッ ト 信号を駆動する ために、 特定の リ セ ッ ト IP (た と えば
proc_sys_reset) に よ り ボー ド レベルの リ セ ッ ト コ ン フ ィ ギ ュ レーシ ョ ンがサポー ト さ れます。外部 リ セ ッ ト を必要 と
す る その他の IP を使用す る こ と はで き ますが、 現時点ではボー ド フ ロ ーでサポー ト さ れてい ません。
次のセ ク シ ョ ンでは、 さ ま ざ ま なデザ イ ン タ イ プの リ セ ッ ト ト ポ ロ ジについて説明 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
87
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
MIG コ ア を含ま ない MicroBlaze デザイ ン
MIG コ ア を含ま ない MicroBlaze™ プ ロ セ ッ サ を使用 し たデザ イ ン の場合、 Clocking Wizard を使用 し て必要な ク ロ ッ
ク を生成す る 必要があ り ます。 ボー ド フ ロ ーでは、 接続を次の よ う に コ ン フ ィ ギ ュ レーシ ョ ンで き ます。
1.
デザ イ ンに MicroBlaze プ ロ セ ッ サ を イ ン ス タ ン シエー ト し た ら 、 MicroBlaze のブ ロ ッ ク オー ト メ ーシ ョ ン を実
行 し ます。 こ れに よ り 、 MicroBlaze サブシ ス テ ムが 図 5-1 の よ う に作成 さ れます。
X-Ref Target - Figure 5-1
図 5‐1 : MicroBlaze のブ ロ ッ ク オー ト メ ーシ ョ ンの実行 2.
[Run Block Automation] ダ イ ア ロ グ ボ ッ ク ス では、 [New Clocking Wizard] を選択 し て、 Clocking Wizard IP を イ ン
ス タ ン シエー ト し 、 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 5-2
図 5‐2 : [Run Block Automation] ダ イ ア ログ ボ ッ ク ス (MicroBlaze)
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
88
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
ブ ロ ッ ク オー ト メ ーシ ョ ン を実行す る と 、Proc Sys Reset IP も イ ン ス タ ン シエー ト さ れ、デザ イ ンの さ ま ざ ま なブ ロ ッ
ク に接続 さ れます。 IP イ ン テ グ レー タ ーは、 図 5-3 の よ う にな り ます。
X-Ref Target - Figure 5-3
図 5‐3 : ブ ロ ッ ク オー ト メ ーシ ョ ンの実行後
3.
[Run Connection Automation] を ク リ ッ ク し て /clk_wiz_1/CLK_IN1_D を選択 し 、ボー ド 定義に従っ てオン ボー ド ク
ロ ッ ク を Clocking Wizard IP の入力に接続 し ます。
注記 : Clocking Wizard を カ ス タ マ イ ズす る と 、 デザ イ ンに必要な さ ま ざ ま な ク ロ ッ ク を生成で き ます。
X-Ref Target - Figure 5-4
図 5‐4 : Clocking Wizard のコ ネ ク シ ョ ン オー ト メ ーシ ョ ンの実行 エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
89
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
4.
[Run Connection Automation] ダ イ ア ロ グ ボ ッ ク ス で [sys_diff_clock] を選択 し て タ ーゲ ッ ト ボー ド に対応す る ボー
ド イ ン タ ーフ ェ イ ス を選択 し 、 [Custom] を ク リ ッ ク し て異な る 入力 ク ロ ッ ク ソ ース を Clocking Wizard IP に接続
し た ら 、 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 5-5
図 5‐5 : オンボー ド sys_diff_clock と Clocking Wizard の CLK_IN1_D ピ ン と の接続
こ れに よ り 、 IP イ ン テ グ レー タ ーのキ ャ ンバ ス上に sys_diff_clock 入力ポー ト が作成 さ れ、 Clocking Wizard
の CLK_IN1_D 入力に接続 さ れます。
X-Ref Target - Figure 5-6
図 5‐6 : Clocking Wizard への入力ク ロ ッ ク ソ ース と し て sys_diff_clock 入力を接続
5.
Clocking Wizard の リ セ ッ ト ピ ンには、 タ ーゲ ッ ト ボー ド の専用 リ セ ッ ト イ ン タ ーフ ェ イ ス ま たはカ ス タ ム リ
セ ッ ト 入力 ソ ース を選択 し ます。
X-Ref Target - Figure 5-7
図 5‐7 : オ ンボー ド リ セ ッ ト の接続
6.
Processor System Reset ブ ロ ッ ク の ext_reset_in ピ ンの場合は、 前述の手順の Clocking Wizard に選択 し たの と 同 じ
リ セ ッ ト ソ ース ま たはカ ス タ ム リ セ ッ ト ソ ース を選択 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
90
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
選択 し て [OK] を ク リ ッ ク し た ら 、 IP イ ン テ グ レー タ ーのキ ャ ンバス は図 5-8 の よ う に表示 さ れます。
X-Ref Target - Figure 5-8
図 5‐8 : Proc Sys Reset IP に接続 さ れたオ ンボー ド リ セ ッ ト
注意 : ボー ド フ ロ ーを使用 し ない場合、 Clocking Wizard の locked 出力は Proc_Sys_Reset の dcm_locked 入力に接続 さ
れ る よ う に し て く だ さ い。
MIG コ ア を含む MicroBlaze デザイ ン
推奨 : 概要に記述 し た よ う に、 MIG IP は ク ロ ッ ク ソ ース であ り 、 オン ボー ド ク ロ ッ ク は直接 MIG コ アに接続す る こ
と が推奨 さ れます。
MIG コ アには、 ユーザー ク ロ ッ ク (ui_clock) が含まれ、 最高で 5 つの ク ロ ッ ク ま で残 り のデザ イ ンに使用で き ます。
こ の接続は次の よ う に コ ン フ ィ ギ ュ レーシ ョ ンで き ます。
1.
MIG IP を含むデザ イ ンでボー ド フ ロ ー オー ト メ ーシ ョ ン を使用す る 場合は、 MIG IP を まず追加 (ま たは、 MIG
を イ ン ス タ ン シエー ト し てボー ド 用にそれを コ ン フ ィ ギ ュ レーシ ョ ンす る [Board] ウ ィ ン ド ウ か ら ddr3_sdram を
ド ラ ッ グ ア ン ド ド ロ ッ プ) し てか ら 、 ブ ロ ッ ク オー ト メ ーシ ョ ン を実行す る こ と をお勧め し ます。 こ れに よ り 、
オ ン ボー ド ク ロ ッ ク が MIG コ アに接続 さ れます。
こ の後、 MIG を カ ス タ マ イ ズ し て、 必要であれば追加で ク ロ ッ ク を生成で き ます。
X-Ref Target - Figure 5-9
図 5‐9 : MIG コ アのブ ロ ッ ク オー ト メ ーシ ョ ンの実行
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
91
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
2.
[Run Connection Automation] ダ イ ア ロ グ ボ ッ ク ス には、 ddr3_sdram イ ン タ ーフ ェ イ ス が使用可能な こ と が示 さ れ
ます。 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 5-10
図 5‐10 : MIG コ アのブ ロ ッ ク オー ト メ ーシ ョ ンの実行
図 5-11 の よ う に イ ン タ ーフ ェ イ ス ポー ト が MIG に接続 さ れます。
X-Ref Target - Figure 5-11
図 5‐11 : DDR3_SDRAM を作成する ブ ロ ッ ク オー ト メ ーシ ョ ン
3.
MicroBlaze プ ロ セ ッ サ をデザ イ ンに追加 し 、 [Run Block Automation] を実行 し ます。
X-Ref Target - Figure 5-12
図 5‐12 : MicroBlaze のイ ン ス タ ン シ エーシ ョ ンおよびブ ロ ッ ク オー ト メ ーシ ョ ン
4.
[Run Block Automation] ダ イ ア ロ グ ボ ッ ク ス の [Clock Connection] で MIG の ui_clk (/mig_7series_1/ui_clk) を
MicroBlaze プ ロ セ ッ サの ク ロ ッ ク ソ ース と し て選択 し 、 [OK] を ク リ ッ ク し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
92
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
X-Ref Target - Figure 5-13
図 5‐13 : MicroBlaze プ ロ セ ッ サの [Run Block Automation] のオプ シ ョ ン
MicroBlaze サブシ ス テ ムが作成 さ れ、 ui_clk が入力 ソ ース ク ロ ッ ク と し てサブシ ス テ ムに接続 さ れます
(図 5-14 のハ イ ラ イ ト さ れたネ ッ ト )。
X-Ref Target - Figure 5-14
図 5‐14 : MIG コ アか らの出力ク ロ ッ ク の接続によ るデザイ ンへのク ロ ッ ク 供給
5.
さ ら に次を接続 し ます。
a.
[Connection Automation] を ク リ ッ ク し 、 [/mig_7series/S_AXI] を選択 し て MIG を MicroBlaze に接続 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
93
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
b.
[Run Connection Automation] ダ イ ア ロ グ ボ ッ ク ス で S_AXI イ ン タ ーフ ェ イ ス の /microblaze_0 (Cached)
オプシ ョ ン を選択 し ます。
X-Ref Target - Figure 5-15
図 5‐15 : [Run Connection Automation] ダ イ ア ログ ボ ッ ク ス
c.
オ ン ボー ド リ セ ッ ト を MIG IP の sys_rst 入力に接続 し ます。
d.
[OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 5-16
図 5‐16 : MIG の sys_rst ピ ンのボー ド リ セ ッ ト への接続
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
94
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
図 5-17 は、 設計ア シ ス タ ン ス を使用 し た MicroBlaze と MIG の接続が終了 し た と こ ろ を示 し てい ます。
X-Ref Target - Figure 5-17
図 5‐17 : リ セ ッ ト ピ ン と mmcp_locked ピ ンの接続
PL ロ ジ ッ ク を含ま ない Zynq デザイ ン
PL ロ ジ ッ ク を含ま ない Zynq デザ イ ンの場合、 すべての ク ロ ッ ク が ZYNQ7 Processing System IP に含まれます。 次の
手順を使用 し て、 PL を含ま ない Zynq デザ イ ン を追加 し ます。
1.
ZYNQ7 Processing System IP を追加 し た ら 、 [Run Block Automation] を ク リ ッ ク し 、 [/processing_system7_0] を選択
し ます。
X-Ref Target - Figure 5-18
図 5‐18 : Zynq の [Run Block Automation] の実行
2.
FIXED_IO お よ び DDR イ ン タ ーフ ェ イ ス が外部ポー ト に接続 さ れ る こ と を示す メ ッ セージが表示 さ れます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
95
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
3.
[OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 5-19
図 5‐19 : ZYNQ7 プ ロ セ ッ サ のブ ロ ッ ク オー ト メ ーシ ョ ンの実行
4.
ZYNQ7 Processing System ブ ロ ッ ク を ダブル ク リ ッ ク し て、 IP を再カ ス タ マ イ ズ し ます。
X-Ref Target - Figure 5-20
図 5‐20 : ZYNQ7 IP の再カ ス タ マ イ ズ
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
96
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
5.
[Re-Customize_IP] ダ イ ア ロ グ ボ ッ ク ス の [Clock Configuration] ページで特定の ク ロ ッ ク を設定 し ます。
X-Ref Target - Figure 5-21
図 5‐21 : ZYNQ7 プ ロ セ ッ シ ング シ ス テムの [Clock Configuration] ページ
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
97
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
PL ロ ジ ッ ク を含む Zynq デザイ ン
推奨 : PL フ ァ ブ リ ッ ク にカ ス タ ム ロ ジ ッ ク を含む Zynq-7000 プ ロ セ ッ サ デザ イ ンで、 MIG IP が含まれない場合、 デ
ザ イ ン の PL 部分の ク ロ ッ ク と リ セ ッ ト は PS か ら 接続す る こ と をお勧め し ま す。 ク ロ ッ ク ソ ー ス には、 PL フ ァ ブ
リ ッ ク ク ロ ッ ク (FCLK_CLK0、 FCLK_CLK1、 FCLK_CLK2、 FCLK_CLK3) のいずれで も 使用で き ます。 こ れ ら の ク
ロ ッ ク のそれぞれに関連す る リ セ ッ ト (FCLK_RESET0_N、 FCLK_RESET1_N、 FCLK_RESET2_N、 FCLK_RESET3_N)
を PL の リ セ ッ ト に使用で き ます。
次の手順を使用 し て、 PL を含む Zynq-7000 デザ イ ン を追加 し ます。
1.
ZYNQ7 Processing System IP を追加 し た ら 、 [Run Block Automation] を ク リ ッ ク し 、 [/processing_system7_0] を選択
し ます。
X-Ref Target - Figure 5-22
図 5‐22 : ZYNQ7 プ ロ セ ッ シ ング シ ス テムのブ ロ ッ ク オー ト メ ーシ ョ ンの実行
FIXED_IO お よ び DDR イ ン タ ーフ ェ イ ス が外部ポー ト に接続 さ れ る こ と を示す メ ッ セージが表示 さ れます。
2.
[OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 5-23
図 5‐23 : ZYNQ7 プ ロ セ ッ シ ング シ ス テムの [Run Block Automation] ダ イ ア ログ ボ ッ ク ス
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
98
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
3.
ZYNQ7 Processing System ブ ロ ッ ク を ダブル ク リ ッ ク し て、 IP を再カ ス タ マ イ ズ し ます。
X-Ref Target - Figure 5-24
図 5‐24 : ZYNQ7 プ ロ セ ッ シ ング シ ス テムの再カ ス タ マ イ ズ
4.
[Re-customize IP] ダ イ ア ロ グ ボ ッ ク ス の Page Navigator の [Clock Configuration] を ク リ ッ ク し 、 + マー ク を ク リ ッ
ク し て [PL Fabric Clocks] を展開 し ます。
X-Ref Target - Figure 5-25
図 5‐25 : フ ァ ブ リ ッ ク ク ロ ッ クの周波数の指定
5.
Page Navigator の [PS-PL Configuration] を ク リ ッ ク し 、 [General] を展開 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
99
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
6.
[Enable Clock Resets] を展開 し 、 PL フ ァ ブ リ ッ ク に合っ た リ セ ッ ト を選択 し ます。
X-Ref Target - Figure 5-26
図 5‐26 : PL フ ァ ブ リ ッ クへの出力ク ロ ッ クの指定
7.
PL フ ァ ブ リ ッ ク で AXI GPIO な ど の IP を イ ン ス タ ン シエー ト し ます。次に [Run Connection Automation] を ク リ ッ
ク し ます。
[Run Connection Automation] ダ イ ア ロ グ ボ ッ ク ス には、GPIO の s_axi ポー ト が ZYNQ7 Processing System マ ス タ ー
に接続 さ れ る こ と を示す メ ッ セージが表示 さ れます。
8.
[OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 5-27
図 5‐27 : GPIO を接続する ための [Run Connection Automation] ダ イ ア ログ ボ ッ ク ス
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
100
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
IP イ ン テ グ レー タ ー デザ イ ンの ク ロ ッ ク お よ び リ セ ッ ト は、 図 5-28 のハ イ ラ イ ト さ れたネ ッ ト の よ う にな り ま
す。
X-Ref Target - Figure 5-28
図 5‐28 : ZYNQ PS7 IP からの出力ク ロ ッ ク を使用 し たデザイ ンへのク ロ ッ ク供給
PL ロ ジ ッ ク に MIG コ ア を含む Zynq デザイ ン
推奨 : PL に MIG コ ア を含む Zynq デザ イ ンの場合、MIG コ アへの入力 ク ロ ッ ク が PS フ ァ ブ リ ッ ク ク ロ ッ ク の代わ り
に外部 ク ロ ッ ク ソ ース を使用す る よ う に し て く だ さ い。オン ボー ド オシ レー タ ーか ら の外部 ク ロ ッ ク の方が PS か ら
の ク ロ ッ ク と 比べてジ ッ タ が少ないか ら です。PS フ ァ ブ リ ッ ク ク ロ ッ ク は、必要であれば PL デザ イ ンのその他の部
分に使用で き ます。
1.
MIG IP を追加 し 、 デザ イ ン要件に従っ て コ ン フ ィ ギ ュ レーシ ョ ン し ます。
2.
ブ ロ ッ ク デザ イ ンの SYS_CLK を右 ク リ ッ ク し 、 [Create Interface Port] を ク リ ッ ク し て、 入力 ソ ース を MIG コ ア
の SYS_CLK 入力に接続 し ます。
3.
[Create Interface Port] ダ イ ア ロ グ ボ ッ ク ス で図 5-29 の よ う にオプシ ョ ン を指定 し ます。
4.
[OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 5-29
図 5‐29 : MIG コ アへのオンボー ド ク ロ ッ クの接続 エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
101
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
5.
デザ イ ンに MicroBlaze プ ロ セ ッ サが使用 さ れ る 場合は、 それを追加 し てブ ロ ッ ク オー ト メ ーシ ョ ン を実行 し ま
す。
6.
こ の場合、 ク ロ ッ ク 接続には MIG の ui_clk を選択 し ます。
[Run Block Automation] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
7.
入力 ク ロ ッ ク には [/mig_7series_1/ui_clk] を指定 し ます。
X-Ref Target - Figure 5-30
図 5‐30 : MicroBlaze オプ シ ョ ンの指定
8.
[OK] を ク リ ッ ク し ます。
ブ ロ ッ ク デザ イ ンは、 図 5-31 の よ う にな り ます。
X-Ref Target - Figure 5-31
図 5‐31 : ブ ロ ッ ク オー ト メ ーシ ョ ン後のブ ロ ッ ク デザイ ン (MicroBlaze)
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
102
第 5 章 : IP イ ン テグレー タ ーの リ セ ッ ト および ク ロ ッ ク ト ポロ ジ
6. sys_rst ピ ン を右 ク リ ッ ク し て [Make External] を ク リ ッ ク し て、 MIG の sys_rst ピ ン を外部 リ セ ッ ト ソ ース に接続
し ます。
X-Ref Target - Figure 5-32
図 5‐32 : 完成 し たブ ロ ッ ク デザイ ン
MIG と Clocking Wizard を含むデザイ ン
MIG コ アで生成 さ れない特定の ク ロ ッ ク 周波数を必要 と する デザ イ ンの場合、Clocking Wizard IP を イ ン ス タ ン シエー
ト し 、 Clocking Wizard の ク ロ ッ ク 入力 と し て MIG IP の ui_clock 出力を使用 し ます。
次 も 接続す る 必要があ り ます。
1.
MIG IP に加え て、 オン ボー ド リ セ ッ ト を Clocking Wizard の リ セ ッ ト 入力に接続 し ます。
2.
MIG の mmcm_locked ピ ン と Clocking Wizard の locked ピ ン を AND 演算に コ ン フ ィ ギ ュ レーシ ョ ン し た
Util_Vector_Logic IP に接続 し ます。Util_Vector_Logic の出力を Proc_sys_Reset の dcm_locked 入
力に接続 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
103
第 6章
UpdateMEM を使用 し た BIT フ ァ イルのア ッ
プデー ト (MMI および ELF デー タ を含有)
概要
エンベデ ッ ド プ ロ セ ッ サ と プ ロ グ ラ マブル ロ ジ ッ ク を含むデバ イ ス には、 CPU ソ フ ト ウ ェ ア イ メ ージ と FPGA ビ ッ
ト ス ト リ ーム イ メ ージの ま と めた も のを含んだブー ト イ メ ージが 1 つ必要です。UpdateMEM は、連続する デー タ ブ
ロ ッ ク を複数のブ ロ ッ ク RAM (連続す る 論理ア ド レ ス空間) にマ ッ プする デー タ 変換ツールです。
Zynq®-7000 AP SoC デバ イ ス ま たは MicroBlaze エンベデ ッ ド プ ロ セ ッ サを UltraScale アーキ テ ク チ ャ ま たは 7 シ リ ー
ズ デバ イ ス 上で組み合わせ る 場合、 UpdateMEM で ELF (Executable and Linkable Format) デー タ を ブ ロ ッ ク RAM の
MMI (Memory Mapped Information) にマ ッ プす る こ と で、ELF フ ァ イ ルの CPU ソ フ ト ウ ェ ア イ メ ージ を Vivado Design
Suite と write_bitstream コ マ ン ド で作成 さ れた FPGA ビ ッ ト ス ト リ ームに統合で き ます。 こ の結果、 エ ンベデ ッ ド プ
ロ セ ッ サ用の ソ フ ト ウ ェ ア が FPGA 内のブ ロ ッ ク RAM で構築 さ れた ア ド レ ス 空間か ら 初期化で き る よ う に な り 、
CPU ソ フ ト ウ ェ アの一部 と FPGA デザ イ ン ツール フ ロ ーが柔軟に統合で き ます。
Vivado Design Suite では、デバ イ ス ビ ッ ト ス ト リ ーム を生成す る と 、 エンベデ ッ ド プ ロ セ ッ サ デザ イ ン用に関連す る
ELF フ ァ イ ルが自動的に統合 さ れます。 Vivado IDE で [Tools] → [Associate ELF Files] を ク リ ッ ク し て ELF フ ァ イ ルを
関連付け る と 、 必要に応 じ てデー タ が統合 さ れます。
[Associate ELF Files] を使用す る と 、 関連す る ELF フ ァ イ ルに SCOPED_TO_REF お よ び SCOPED_TO_CELLS プ ロ パ
テ ィ が追加 さ れます。 SCOPED_TO_REF では ELF フ ァ イ ルが指定 し た階層モジ ュ ールま たはブ ロ ッ ク デザ イ ンの イ
ン ス タ ン スすべてに関連付け ら れ、SCOPED_TO_CELLS では ELF フ ァ イ ルが指定 し たエンベデ ッ ド プ ロ セ ッ サ セル
の イ ン ス タ ン ス に関連付け ら れます。
ま た、 UpdateMEM コ マ ン ド はど の段階で も 実行 し て、 ELF フ ァ イ ル と MMI フ ァ イ ルを イ ンプ リ メ ン ト 済みデザ イ ン
の BIT フ ァ イ ルに関連付け る こ と がで き ます。
重要 : UpdateMEM は、暗号化 さ れていない ビ ッ ト ス ト リ ーム フ ァ イ ルを ア ッ プデー ト す る ためだけに使用で き ます。
UpdateMEM
エ ンベデ ッ ド プ ロ セ ッ サ ベー ス のデザ イ ン の場合、 UpdateMEM コ マ ン ド を実行す る こ と で、 CPU ソ フ ト ウ ェ アが
ビ ッ ト ス ト リ ーム フ ァ イ ルに統合 さ れ、 ブ ロ ッ ク RAM メ モ リ が タ ーゲ ッ ト ザ イ リ ン ク ス デバ イ ス内で初期化 さ れ
ます。
UpdateMEM コ マ ン ド には、 次の入力を使用で き ます。
•
ビ ッ ト ス ト リ ーム (BIT) フ ァ イ ル : Vivado Design Suite イ ンプ リ メ ン テーシ ョ ン ツールで まず生成 さ れます。 イ
ン プ リ メ ン ト 済みデザ イ ン か ら ビ ッ ト ス ト リ ーム フ ァ イ ルを作成す る には、 write_bitstream Tcl コ マ ン ド を使用
し ます。 ビ ッ ト ス ト リ ーム (BIT) フ ァ イ ル : ザ イ リ ン ク ス FPGA デバ イ ス にダ ウ ン ロ ー ド す る デザ イ ンのビ ッ ト
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
104
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
イ メ ージ を含むバ イ ナ リ デー タ フ ァ イ ルです。UpdateMEM コ マ ン ド では、BIT フ ァ イ ルを入力 と し て読み込み、
BIT フ ァ イ ルを出力 と し て書 き 出 し ます。
•
MMI (Memory Mapped Information) フ ァ イ ル : 「ア ド レ ス ブ ロ ッ ク 」 と い う 連続ア ド レ ス空間を形成す る ために、
ザ イ リ ン ク ス デバ イ ス上の各ブ ロ ッ ク RAM が ど の よ う にグループ化 さ れてい る か を記述す る テ キ ス ト フ ァ イ
ル で す。 MMI フ ァ イ ル は、 ビ ッ ト ス ト リ ー ム を 生成す る と 、 Vivado Design Suite で 自動的 に 記述 さ れ て
<project>.runs/impl_1 フ ォ ルダーに保存 さ れ ます。 ま たは、 write_mem_info コ マ ン ド で手動で書 き 出す こ
と も で き ます。 UpdateMEM コ マ ン ド では MMI フ ァ イ ルを使用す る こ と で、 特定のア ド レ ス範囲にマ ッ プ さ れ る
物理的 BRAM リ ソ ース が識別 さ れます。MMI フ ァ イ ルの詳細は、107 ページの 「BRAM メ モ リ マ ッ プ情報 (MMI)
フ ァ イ ル」 を参照 し て く だ さ い。
•
ELF (Executable and Linkable Format) フ ァ イ ル : エンベデ ッ ド プ ロ セ ッ サで実行で き る プ ロ グ ラ ム イ メ ージ を含
む バ イ ナ リ デー タ フ ァ イ ル で、 ソ フ ト ウ ェ ア 開発 キ ッ ト (SDK) か ら 出力 さ れ ま す。 ELF フ ァ イ ル に は、
UpdateMEM に よ り BRAM のア ド レ ス範囲にマ ッ プ さ れ る デー タ が含まれます。
•
メ モ リ (MEM) フ ァ イ ル (オプシ ョ ン) : ア ド レ ス空間を初期化す る デー タ の連続ブ ロ ッ ク を記述 し た テ キ ス ト
フ ァ イ ルで、 手動で作成 さ れ ます。 UpdateMEM コ マ ン ド には、 ELF フ ァ イ ルの代わ り に MEM フ ァ イ ルを使用
で き ます。 詳細は、 106 ページの 「 メ モ リ (MEM) フ ァ イ ル」 を参照 し て く だ さ い。
•
エンベデ ッ ド プ ロ セ ッ サの イ ン ス タ ン ス ID : ELF ま たは MEM フ ァ イ ルをプ ロ セ ッ サ と 関連付け る ために使用
し ます。
UpdateMEM コ マ ン ド では、 MMI フ ァ イ ルでマ ッ プ さ れたザ イ リ ン ク ス デバ イ ス の複数ブ ロ ッ ク RAM に、 ELF ま た
は MEM フ ァ イ ルで定義 さ れた連続デー タ ブ ロ ッ ク が生成 さ れます。 UpdateMEM コ マ ン ド では、 ビ ッ ト ス ト リ ーム
フ ァ イ ル (BIT) に メ モ リ 情報が統合 さ れます。 こ の後、 こ れを使用 し て タ ーゲ ッ ト ザ イ リ ン ク ス デバ イ ス を コ ン フ ィ
ギ ュ レーシ ョ ンお よ びプ ロ グ ラ ムで き ます。
ま た、 UpdateMEM コ マ ン ド を実行す る と 、 エンベデ ッ ド プ ロ セ ッ サを複数含むデザ イ ン で、 複数プ ロ セ ッ サの複数
デー タ フ ァ イ ルを統合す る こ と も で き ます。 . こ の場合、 -data お よ び -proc オプシ ョ ン を ペアで指定す る 必要があ り 、
最初の -data には ソ フ ト ウ ェ ア イ メ ージか、 指定 し た最初の -proc の メ モ リ コ ン テ ン ツ を指定 し ます。 2 つ目の -data
は 2 つ目の -proc に適用 さ れます。
こ の コ マ ン ド を実行す る と 、 入力か ら 作成 さ れた ビ ッ ト ス ト リ ーム フ ァ イ ルの名前が表示 さ れ る か、 正常に実行 さ れ
なか っ た場合はエ ラ ーが表示 さ れます。
引数
-meminfo <arg> (必須) : イ ンプ リ メ ン ト 済みデザ イ ンの MMI (Memory Mapped Information) フ ァ イ ルの名前を指定
-data <arg> (必須) : BRAM ア ド レ ス にマ ッ プす る ELF (Executable and Linkable Format) フ ァ イ ルま たは MEM フ ァ イ ル
の名前を指定
-bit <arg> (必須) : 入力ビ ッ ト ス ト リ ーム (BIT) フ ァ イ ルの名前を指定。 拡張子を指定 し ない場合は、 .bit であ る と 想定
さ れます。
注記 : UpdateMEM コ マ ン ド は、 暗号化 さ れていない ビ ッ ト ス ト リ ーム フ ァ イ ル と 一緒にのみ使用で き ます。
-proc <arg> (必須) : エンベデ ッ ド プ ロ セ ッ サの イ ン ス タ ン ス パ ス を指定
ヒ ン ト : デザ イ ンに複数のエンベデ ッ ド プ ロ セ ッ サが含ま れ る 場合、 UpdateMEM コ マ ン ド には複数プ ロ セ ッ サ を指
定で き ます。 こ の場合、 -data お よ び -proc オプシ ョ ン をペアで指定す る 必要があ り 、 最初の -data オプシ ョ ンは最初
の -proc 引数に適用 し ます。 ただ し 、 UpdateMEM コ マ ン ド には 1 つの run で ELF フ ァ イ ルか MEM フ ァ イ ルのいずれ
か を指定で き ますが、 複数プ ロ セ ッ サ を指定す る 際で も 両方の -data フ ォーマ ッ ト を同時に使用す る こ と はで き ませ
ん。
-out <arg> (必須) : 出力フ ァ イ ルの名前 (接尾辞な し ) を指定。 フ ァ イ ル名の最後には .bit が自動的に付き ます。
-force (オプシ ョ ン) : 指定の出力フ ァ イ ルが存在する 場合、 上書き し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
105
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
例 :
次の例では、 指定 し た MEM 情報フ ァ イ ル、 ELF フ ァ イ ル、 お よ びビ ッ ト ス ト リ ーム フ ァ イ ルを読み込んで、 統合 さ
れた ビ ッ ト ス ト リ ーム フ ァ イ ルが生成 さ れます。
updatemem -meminfo top.mmi -data hello_world.elf -bit top.bit -proc
design_1_i/microblaze_1 -out top_meminfo.bit
次の例では、 エンベデ ッ ド MicroBlaze プ ロ セ ッ サ 2 つ (1 つは ELF フ ァ イ ル と 関連付け ら れ、 も う 1 つは MEM フ ァ
イ ルを使用 し てい る ) を含むブ ロ ッ ク デザ イ ンで UpdateMEM を使用 し てい ます。 こ れには 2 つの updatemem コ マ ン
ド パ ス が必要で、 最初は 2 つ目の入力ビ ッ ト ス ト リ ーム と し て動作する 出力ビ ッ ト ス ト リ ーム を指定 し ます。
updatemem -bit top.bit -meminfo top.mmi -data top1.elf \
-proc system_i/microblaze_1 -out first_out.bit
updatemem -bit first_out.bit -meminfo top.mmi -data top2.mem
-proc system_i/microblaze_2 -out top_out.bit
\
メ モ リ (MEM) フ ァ イル
メ モ リ (MEM) フ ァ イ ルは、 連続す る デー タ ブ ロ ッ ク を記述 し た手動で編集 さ れた テ キ ス ト フ ァ イ ルで、 ELF フ ァ イ
ルの代わ り に使用で き ます。 MEM フ ァ イ ルの形式は、 次の 2 つの基本エ レ メ ン ト で構成 さ れ る 業界標準フ ォーマ ッ
ト です。
•
16 進数のア ド レ ス指定子 : @ 文字の後 16 進数のア ド レ ス値で示 さ れます。 @ 文字 と 最初の 16 進数文字の間に
は スペース は入 り ません。
•
16 進数のデー タ 値 : 16 進数デー タ 値の後に 16 進数ア ド レ ス値が続 き 、その間は スペース、 タ ブ、ま たはキ ャ リ ッ
ジ リ タ ーン文字で区切 ら れます。
16 進数のデー タ 値には、 必要に応 じ て何個で も 16 進数文字を含め る こ と はで き ますが、 値に奇数の 16 進数文字が含
ま れ る と 、 最初の 16 進数文字は 0 であ る と 仮定 さ れ ます。 た と えば、 16 進数値の A、 C74、 お よ び 84F21 はそれぞ
れ 0A、 0C74、 お よ び 084F21 と 変換 さ れます。
重要 : よ く あ る 16 進数の接頭辞の 0x は使用で き ません。 MEM フ ァ イ ルの 16 進数値に こ の接頭辞を付け る と 、 構文
エ ラ ーにな り ます。
ア ド レ ス の後は少な く と も 1 つのデー タ 値が続 き 、 最大で前のア ド レ ス値に属す る の と 同 じ 数のデー タ 値ま で示す こ
と がで き ます。 次は、 よ く 使用 さ れ る MEM フ ァ イ ル形式の例です。
@0000 3A @0001 7B @0002 C4 @0003 56 @0004 02
@0005 6F @0006 89...
UpdateMEM には、重複の少ない フ ォーマ ッ ト を使用する 必要があ り ます。ア ド レ ス指定子は、連続する デー タ ブ ロ ッ
ク の最初に 1 回のみ使用す る だけでいいので、 前の例は、 次の よ う に記述 し 直 さ れます。
@0000 3A 7B C4 56 02 6F 89...
連続す る デー タ 値それぞれのア ド レ ス は、 前のア ド レ ス指定子か ら の距離に し たがっ て派生 さ れ ます。 MEM フ ァ イ
ルには、 必要なだけい く つで も 連続す る デー タ ブ ロ ッ ク を含め る こ と がで き ます。 デー タ ブ ロ ッ ク 間のア ド レ ス範
囲のギ ャ ッ プはど のサ イ ズにで も で き ますが、 2 つのデー タ ブ ロ ッ ク が 1 つのア ド レ ス範囲を重複す る こ と はで き ま
せん。
ヒ ン ト : UpdateMEM では、 MEM フ ァ イ ルに // と /*...*/ の両方の コ メ ン ト 形式を使用で き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
106
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
BRAM メ モ リ マ ッ プ情報 (MMI) フ ァ イル
次は、 ブ ロ ッ ク RAM の イ ンプ リ メ ン ト さ れた ア ド レ ス空間 と メ モ リ マ ッ プ情報フ ァ イ ルの定義に関す る 注意事項で
す。
•
ブ ロ ッ ク RAM サ イ ズの幅 と 深 さ は決ま っ てお り 、 CPU ア ド レ ス空間は 1 つのブ ロ ッ ク RAM の幅お よ び深 さ よ
り も かな り 大 き い必要があ り ます。 こ の結果、 108 ページの図 6-1 に示す よ う に、 複数のブ ロ ッ ク RAM が論理
別に ま と め ら れて、 1 つの CPU ア ド レ ス空間が作成 さ れます。
•
1 つの CPU バス ア ク セ ス は、 た と えば 1 度に 32 ビ ッ ト ま たは 64 ビ ッ ト (4 バ イ ト ま たは 8 バ イ ト ) な ど、 デー
タ の複数バ イ ト 幅であ る こ と が よ く あ り ます。
•
複数デー タ バ イ ト の CPU バ ス ア ク セ ス では、 そのデー タ を取得する ために複数のブ ロ ッ ク RAM にア ク セ スす
る こ と も あ る ので、 バ イ ト リ ニ アー CPU デー タ は各ブ ロ ッ ク RAM の ビ ッ ト 幅 と 1 つのバ ス ア ク セ ス 内のブ
ロ ッ ク RAM 数で イ ン タ ー リ ーブ さ れ る 必要があ り ますが、CPU ア ド レ ス と ブ ロ ッ ク RAM ロ ケーシ ョ ン関係は、
簡単に計算で き る よ う にな っ てい る 必要があ り ます。
•
CPU デー タ は、 複数ブ ロ ッ ク RAM の論理別グループではな く 、 CPU リ ニ アー ア ド レ ス指定ス キームに関連 し
たブ ロ ッ ク RAM で構築 さ れた メ モ リ 空間にあ る 必要があ り ます。
•
ア ド レ ス空間は、 連続 し ていて、 CPU バス幅の整数倍であ る 必要があ り ます。 バス ビ ッ ト レーン イ ン タ ー リ ー
ブは、 Virtex® デバ イ ス のブ ロ ッ ク RAM のポー ト サ イ ズでサポー ト さ れ る サ イ ズでのみ使用で き ます。
•
ア ド レ ス指定では、 命令お よ びデー タ メ モ リ 空間の差異 も 考慮す る 必要があ り ます。 命令空間は書 き 込みで き な
いので、 ア ド レ ス幅に制限はあ り ませんが、 デー タ 空間は書 き 込みで き る ので、 通常個別にバ イ ト を記述で き る
よ う に し てお く 必要があ り ます。 こ のため、 各バ ス ビ ッ ト レーンはア ド レ ス指定で き る よ う にな っ てい る 必要
があ り ます。
•
ア ク セ ス時間は、 メ モ リ マ ッ プのサ イ ズ と 個別ブ ロ ッ ク RAM の位置に よ り 異な り ます。 イ ンプ リ メ ン テーシ ョ
ン後のア ク セ ス時間を評価 し て、 デザ イ ン仕様を満たすか ど う か検証 し て く だ さ い。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
107
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
X-Ref Target - Figure 6-1
図 6‐1 : ブ ロ ッ ク RAM のア ド レ ス空間
上記の図のア ド レ ス空間には、 バ ス ブ ロ ッ ク 0 ~ 3 の 4 つのバ ス ブ ロ ッ ク が含まれます。
•
CPU バ ス ア ク セ ス は 8 ブ ロ ッ ク RAM (64 ビ ッ ト ) 幅で、 ブ ロ ッ ク RAM の各列には 「ビ ッ ト レーン」 と 呼ばれ
る CPU バ ス ア ク セ ス の 8 ビ ッ ト 幅ス ラ イ ス が配置 さ れます。
•
バ ス ア ク セ ス の 8 つのブ ロ ッ ク RAM の各行は、 バ ス ブ ロ ッ ク に ま と め ら れます。 こ のため、 各バ ス ブ ロ ッ ク
は 64 ビ ッ ト 幅、 4096 バ イ ト のサ イ ズにな り ます。
•
ブ ロ ッ ク RAM の コ レ ク シ ョ ン全体はア ド レ ス ブ ロ ッ ク と 呼ばれ る 連続す る ア ド レ ス空間に ま と め ら れます。
右上角のア ド レ ス は 0xFFFFC000 で、 左下角のア ド レ ス は 0xFFFFFFFF です。 バ ス ア ク セ ス には 8 ブ ロ ッ ク RAM で
8 デー タ バ イ ト を取得す る ので、 バ イ ト リ ニ アー CPU デー タ は 8 バ イ ト で イ ン タ ー リ ーブ さ れ る 必要があ り ます。
こ の例では、 左か ら 右へ [0:7]、 [8:15] の よ う にバ イ ト 別に イ ンデ ッ ク ス さ れた 64 ビ ッ ト デー タ ワー ド を使用 し てい
ます。
•
バ イ ト 0 がビ ッ ト レーン ブ ロ ッ ク RAM7 の 1 つ目のバ イ ト ロ ケーシ ョ ンに、 バ イ ト 1 がビ ッ ト レーン ブ ロ ッ
ク RAM6 の 1 つ目のバ イ ト ロ ケーシ ョ ンに、 と い っ た よ う にバ イ ト 7 ま で繰 り 返 さ れます。
•
CPU デー タ のバ イ ト 8 はビ ッ ト レーン ブ ロ ッ ク RAM7 の 2 つ目のバ イ ト ロ ケーシ ョ ンに、 バ イ ト 9 はビ ッ ト
レーン ブ ロ ッ ク RAM6 の 2 つ目のバ イ ト ロ ケーシ ョ ンに、 と い っ た よ う に CPU デー タ バ イ ト 15 ま で繰 り 返 さ
れます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
108
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
•
こ の イ ン タ ー リ ーブ パ タ ーンは、 最初のバ ス ブ ロ ッ ク のすべてのブ ロ ッ ク RAM が満た さ れ る ま で繰 り 返 し ま
す。
•
こ のプ ロ セ ス は、 メ モ リ 空間全体が満た さ れ る か、 入力デー タ が消費 さ れ る ま で、 連続する バ ス ブ ロ ッ ク それぞ
れに対 し て繰 り 返 さ れます。
109 ページの 「MMI フ ァ イ ルの構文」 に示す よ う に、 ビ ッ ト レーンお よ びバ ス ブ ロ ッ ク が定義 さ れ る 順序に よ っ て
こ の充填順序が決ま り ます。 こ の例の場合は、 ビ ッ ト レーンが左か ら 右に定義 さ れ、 バ ス ブ ロ ッ ク が上部か ら 下部
に定義 さ れ る と 仮定 さ れます。
こ のプ ロ セ ス は、 こ れ ら の式がバ イ ト 幅デー タ に制限 さ れていないので 「ビ ッ ト レーン マ ッ ピ ン グ」 と 呼ばれます。
こ れは、 プ ロ グ ラ ム さ れた CPU コ ー ド を固定サ イ ズの EPROM デバ イ ス のバン ク に配置す る 際にエンベデ ッ ド ソ フ
ト ウ ェ ア プ ロ グ ラ マーが使用す る プ ロ セ ス に類似 し てはい ますが、 ま っ た く 同 じ ではあ り ません。
こ れ ら のプ ロ セ ス の主な違いは、 次の と お り です。
•
エンベデ ッ ド シ ス テ ム開発者は、 決ま っ た数のバ イ ト 幅ス ト レージ デバ イ ス と その分類に、 通常カ ス タ ム ソ フ
ト ウ ェ ア ツールを使用 し てバ イ ト レーン マ ッ ピ ン グ し ます。 デバ イ ス の数 と 分類は変更で き ないので、 こ れ ら
の ツールでは特定のデバ イ ス配列が推測 さ れます。 こ の結果、 コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ンはほ と ん ど な
いか、 ま っ た く 提供 さ れてい ません。 こ れ と は反対に、 FPGA ブ ロ ッ ク RAM の数 と 分類は FPGA の制限内であ
れば完全に コ ン フ ィ ギ ュ レーシ ョ ン可能です。 ブ ロ ッ ク RAM のバ イ ト レーン マ ッ ピ ン グ用の ツールでは、大規
模なデバ イ ス配列セ ッ ト がサポー ト さ れ る はずです。
•
既存のバ イ ト レーン マ ッ ピ ン グ ツールでは、 バ イ ト 幅デバ イ ス の物理的ア ド レ ス指定が昇順で推測 さ れます。
こ れは、 ボー ド レベルのハー ド ウ ェ アが昇順で構築 さ れ る ためです。 一方で、 FPGA ブ ロ ッ ク RAM には決ま っ
て使用 さ れ る 制約はないので、 FPGA フ ァ ブ リ ッ ク 内の ど こ でで も ブ ロ ッ ク RAM と ま と め る こ と がで き ま す。
こ の例ではブ ロ ッ ク RAM が昇順で表示 さ れてはい ま すが、 ブ ロ ッ ク RAM は ど の順序で も コ ン フ ィ ギ ュ レ ー
シ ョ ンで き ます。
メ モ リ マ ッ プ情報 (MMI) の機能
メ モ リ マ ッ プ情報 (MMI) フ ァ イ ルは、 コ ン ピ ュ ー タ ー解析用に設計 さ れた XML フ ァ イ ルで、 高度な コ ン ピ ュ ー タ ー
プ ロ グ ラ ム言語に類似 し てお り 、 次の機能が使用 さ れます。
•
XML キーワ ー ド タ グ ま たは指示子に よ る ブ ロ ッ ク 構造
MMI にはデー タ のグループ ま たはブ ロ ッ ク に同様の構造が維持 さ れます。 MMI ではア ド レ ス空間、 バ ス ア ク セ
ス グループ、 コ メ ン ト を記述す る ブ ロ ッ ク が作成 さ れます。
•
シ ン ボル名の使用方法
MMI では、 グループ ま たはエン テ ィ テ ィ を参照する ために名前お よ びキーワ ー ド が使用 さ れ (読みやす く す る た
め)、 ア ド レ ス空間グループお よ びブ ロ ッ ク RAM を参照す る 名前が使用 さ れます。
MMI では、 次の命名規則が使用 さ れます。
•
キー ワー ド は大文字/小文字の区別あ り
•
イ ンデン ト は見やす く す る ためだけに使用 さ れ る
•
項目やキー ワー ド を記述す る スペース は無視 さ れ る
•
行終わ り は無視 さ れ る 。 1 行に何項目で も 含有可能
•
数値は 10 進数ま たは 16 進数 と し て入力可能。 16 進数値には 0xXXX と い う 記述形式が使用 さ れ る
MMI フ ァ イルの構文
メ モ リ マ ッ プ情報 (MMI) フ ァ イ ルは、 連続論理デー タ 空間を各ブ ロ ッ ク RAM が ど の よ う に埋め る か を構文的に記
述 し た XML フ ァ イ ルです。 Tcl コ マ ン ド の write_mem_info を使用す る と 、 Vivado Design Suite の [Open Implemented
Design] で MMI フ ァ イ ルを作成で き ます。 イ ンプ リ メ ン ト 済みデザ イ ンには、 ブ ロ ッ ク RAM リ ソ ース に必要な配置
情報が含まれます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
109
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
UpdateMEM では MMI フ ァ イ ルを入力 と し て使用 し て、 最適な初期化フ ォームにデー タ が変換 さ れます。 次の MMI
フ ァ イ ル例は、 ブ ロ ッ ク RAM の使用を記述 し た XML ベース の構文を示 し てい ます。
<?xml version="1.0" encoding="UTF-8"?>
<MemInfo Version="1" Minor="0">
<Processor Endianness="Little" InstPath="design_1_i/microblaze_0">
<AddressSpace
Name="design_1_i_microblaze_0.design_1_i_microblaze_0_local_memory_dlmb_bram_if_cnt
lr" Begin="0" End="8191">
<BusBlock>
<BitLane MemType="RAMB32" Placement="X2Y17">
<DataWidth MSB="15" LSB="0"/>
<AddressRange Begin="0" End="2047"/>
<Parity ON="false" NumBits="0"/>
</BitLane>
<BitLane MemType="RAMB32" Placement="X3Y17">
<DataWidth MSB="31" LSB="16"/>
<AddressRange Begin="0" End="2047"/>
<Parity ON="false" NumBits="0"/>
</BitLane>
</BusBlock>
</AddressSpace>
</Processor>
<Processor Endianness="Little" InstPath="design_1_i/microblaze_1">
<AddressSpace
Name="design_1_i_microblaze_1.design_1_i_microblaze_1_local_memory_dlmb_bram_if_cnt
lr" Begin="0" End="8191">
<BusBlock>
<BitLane MemType="RAMB32" Placement="X4Y13">
<DataWidth MSB="15" LSB="0"/>
<AddressRange Begin="0" End="2047"/>
<Parity ON="false" NumBits="0"/>
</BitLane>
<BitLane MemType="RAMB32" Placement="X4Y14">
<DataWidth MSB="31" LSB="16"/>
<AddressRange Begin="0" End="2047"/>
<Parity ON="false" NumBits="0"/>
</BitLane>
</BusBlock>
</AddressSpace>
</Processor>
<Processor Endianness="Little" InstPath="design_1_i/processing_system7_0">
<AddressSpace Name="design_1_i_processing_system7_0.design_1_i_axi_bram_ctrl_0"
Begin="1073741824" End="1073750015">
<BusBlock>
<BitLane MemType="RAMB32" Placement="X2Y18">
<DataWidth MSB="15" LSB="0"/>
<AddressRange Begin="0" End="2047"/>
<Parity ON="false" NumBits="0"/>
</BitLane>
<BitLane MemType="RAMB32" Placement="X2Y19">
<DataWidth MSB="31" LSB="16"/>
<AddressRange Begin="0" End="2047"/>
<Parity ON="false" NumBits="0"/>
</BitLane>
</BusBlock>
</AddressSpace>
</Processor>
<Config>
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
110
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
<Option Name="Part" Val="xc7z020clg484-1"/>
</Config>
</MemInfo>
ア ド レ ス マ ッ プの定義 (複数プ ロ セ ッ サのサポー ト )
UpdateMEM では、 次の XML タ グ を使用 し て複数プ ロ セ ッ サがサポー ト さ れます。
<Processor Endianness="Little" InstPath="design_1_i/processing_system7_0">
</Processor>
ア ド レ ス空間の定義
ア ド レ ス空間の一番外側の定義には、 次の コ ン ポーネ ン ト が含まれます。
<AddressSpace Name="design_1_i_processing_system7_0.design_1_i_axi_bram_ctrl_0"
Begin="1073741824" End="1073750015">
</AddressSpace>
ADDRESS_SPACE お よ び /ADDRESS_SPACE タ グでは、 1 つの連続ア ド レ ス空間が定義 さ れます。 ADDRESS_SPACE
タ グの後に Name= (必須) を続けて、 ア ド レ ス空間全体のシ ン ボル名を指定 し ます。 ア ド レ ス空間名を参照す る のは、
ア ド レ ス空間の内容全体を参照す る こ と と 同 じ です。
MMI フ ァ イ ルには、同 じ ア ド レ ス空間に対 し て も 、ADDRESS_SPACE がそれぞれ違っ てい る 限 り 、ADDRESS_SPACE
定義を複数含め る こ と がで き ます。
ア ド レ ス空間の始ま り と 終わ り はそれぞれ Begin= お よ び End= を使用 し て指定 し ます。
バス ブ ロ ッ クの定義 (バス ア ク セス)
ADDRESS_SPACE 定義の中には、 「バ ス ブ ロ ッ ク 」 と い う さ ま ざ ま な数のサブブ ロ ッ ク 定義が含まれます。
<BusBlock>
</BusBlock>
各バ ス ブ ロ ッ ク には、 パ ラ レル CPU バス ア ク セ ス に よ っ て ア ク セ ス さ れ る ブ ロ ッ ク RAM のビ ッ ト レーン定義が含
まれます。
バ ス ブ ロ ッ ク が指定 さ れ る 順序に よ っ て、 ど のア ド レ ス空間部分にバ ス ブ ロ ッ ク が置かれ る かが定義 さ れ ます。 ま
ず、 最下位のア ド レ ス指定 さ れたバ ス ブ ロ ッ ク が定義 さ れ、 最後に最上位のア ド レ ス指定 さ れたバ ス ブ ロ ッ ク が定
義 さ れます。 バ ス ブ ロ ッ ク が定義 さ れ る 上か ら 下への順序に よ っ て、 UpdateMEM が こ れ ら のバ ス ブ ロ ッ ク をデー タ
で充填す る 順序が決ま り ます。
ビ ッ ト レーンの定義 ( メ モ リ デバイ ス使用量)
ビ ッ ト レーン定義では、 CPU バ ス ア ク セ ス の ど の ビ ッ ト が特定のブ ロ ッ ク RAM に割 り 当て ら れ る かが決定 さ れま
す。 各定義には、 配置デー タ を含む MemType の形式に、 ビ ッ ト 数 と ビ ッ ト レーンが占有する AddressRange が使用 さ
れます。 コ マ ン ド 構文は、 次の よ う にな り ます。
<BitLane MemType="RAMB32" Placement="X2Y19">
<DataWidth MSB="31" LSB="16"/>
<AddressRange Begin="0" End="2047"/>
<Parity ON="false" NumBits="0"/>
</BitLane>
注記 : Parity は MMI フ ァ イ ルで定義 さ れますが、 こ の時点では UpdateMEM でサポー ト さ れません。
通常、 ビ ッ ト 数は次の順序で指定 し ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
111
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
<DataWidth MSB=bit_num LSB=bit_num>
こ の順序が最初に最下位ビ ッ ト (LSB)、 次に最上位ビ ッ ト (MSB) にな る よ う に反転 さ れ る 場合、 UpdateMEM はビ ッ
ト レーン値のビ ッ ト をブ ロ ッ ク RAM に配置する 前に反転 し ます。
バ ス ブ ロ ッ ク の場合 と 同様、 ビ ッ ト レーンが定義 さ れ る 順番は重要ですが、 ビ ッ ト レーンの場合は、 こ の順番に よ
り ど のバ ス ブ ロ ッ ク の CPU 部分がビ ッ ト レーンにア ク セ スする かが推論 さ れます。定義 さ れた最初のビ ッ ト レーン
が最上位ビ ッ ト レーン値に、定義 さ れた最後の ビ ッ ト レーンが最下位ビ ッ ト レーン値に推論 さ れます。 次の図では、
最上位ビ ッ ト レーンは BRAM7 で、 最下位ビ ッ ト レーンは BRAM0 です。 ブ ロ ッ ク RAM のア ド レ ス空間レ イ ア ウ ト
の例の よ う に、 こ れはビ ッ ト レーンが定義 さ れた順番に該当 し ます。
UpdateMEM がデー タ を入力す る と 、一番右の値か ら 一番左の値に向か っ て ビ ッ ト レーン サ イ ズの固ま り でデー タ 入
力 フ ァ イ ルか ら デー タ が取 り 込 ま れ ま す。 た と えば、 最初の 64 ビ ッ ト 入力デー タ が 0xB47DDE02826A8419 で あれ
ば、 値 0xB4 がブ ロ ッ ク RAM 内に設定 さ れ る 最初の値です。
ビ ッ ト レーンの順序を考慮す る と 、 BRAM7 は 0xB4、 BRAM6 は 0x7D に設定 さ れ、 BRAM0 が 0x19 ま で こ の よ う に
設定 さ れてい き ます。 こ のプ ロ セ ス は、 メ モ リ 空間全体が一杯にな る か、 入力デー タ が消費 さ れ る ま で、 連続す る 各
バ ス ブ ロ ッ ク ア ク セ ス の BRAM セ ッ ト ご と に繰 り 返 さ れます。 次の図では、 最初のバ ス ブ ロ ッ ク を展開 し て こ のプ
ロ セ ス を示 し てい ます。
X-Ref Target - Figure 6-2
図 6‐2 : ビ ッ ト レーンの充填順序
ビ ッ ト レーン定義は、 ハー ド ウ ェ ア コ ン フ ィ ギ ュ レーシ ョ ン と 同 じ であ る 必要があ り ます。 MMI がハー ド ウ ェ アが
実際に動作す る の と 違 う よ う に定義 さ れてい る と 、 メ モ リ コ ン ポーネ ン ト か ら 取 り 出 し たデー タ が不正にな り ます。
ビ ッ ト レ ーン定義には、 ど のデバ イ ス タ イ プ キー ワ ー ド がア ド レ ス ブ ロ ッ ク 定義で使用 さ れ る かに よ っ て、 オプ
シ ョ ンで構文 も 一部含ま れます。
ブ ロ ッ ク RAM セルを指定す る 場合、 FPGA デバ イ ス内の物理的な行 と 列の位置を示す こ と がで き ます。 次は、 物理
的な行 と 列の位置を示 し た例です。
Placement=”X3Y5”
Placement= キー ワー ド を使用す る と 、 該当す る ブ ロ ッ ク RAM を FPGA デバ イ ス内の特定の リ ソ ース位置に割 り 当て
る こ と がで き ます。 こ の場合、 ブ ロ ッ ク RAM は FPGA デバ イ ス の列 3、 行 5 に配置 さ れます。
ビ ッ ト レーン と バ ス ブ ロ ッ ク の定義に正 し い構文を使用す る だけでな く 、 次の制限に も 注意をす る 必要があ り ます。
•
本書の例では、わか り やす く す る ためにバ イ ト 幅のデー タ 幅 し か使用 し てい ませんが、同 じ 法則がブ ロ ッ ク RAM
が コ ン フ ィ ギ ュ レーシ ョ ン さ れ る デー タ 幅に も 適用 さ れます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
112
第 6 章 : UpdateMEM を使用 し た BIT フ ァ イルのア ッ プデー ト (MMI および ELF デー タ を含有)
•
ビ ッ ト レーンの番号付けにはギ ャ ッ プや重複がない よ う に し ます。 ア ド レ ス ブ ロ ッ ク のビ ッ ト レーンすべてが
同 じ ビ ッ ト 幅であ る 必要があ り ます。
•
ビ ッ ト レーン幅はデバ イ ス タ イ プ キーワ ー ド で指定 さ れた メ モ リ デバ イ ス に対 し て有効です。
•
バ ス ブ ロ ッ ク のビ ッ ト レーンのブ ロ ッ ク RAM で占有 さ れ る バ イ ト ス ト レージの容量は、 バ ス ブ ロ ッ ク の開始
ア ド レ ス と 終了ア ド レ ス で推論 さ れ る ア ド レ ス と 同 じ 範囲であ る 必要があ り ます。
°
バ ス ブ ロ ッ ク すべてが同 じ バ イ ト 数サ イ ズであ る 必要があ り ます。
°
ブ ロ ッ ク RAM の イ ン ス タ ン ス名は 1 度指定す る だけですみます。
°
バ ス ブ ロ ッ ク には、 有効な ビ ッ ト レーン定義が 1 つま たは複数含まれてい る 必要があ り ます。
°
ア ド レ ス ブ ロ ッ ク には、 有効なバス ブ ロ ッ ク 定義が 1 つま たは複数含まれてい る 必要があ り ます。
UpdateMEM では、 こ れ ら すべての条件がチ ェ ッ ク さ れ、 違反があればエ ラ ー メ ッ セージが表示 さ れます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
113
付録 A
その他の リ ソ ースおよび法的通知
ザイ リ ン ク ス リ ソ ース
ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 ザ イ リ ン ク ス サポー ト サ イ ト を参照 し て
く だ さ い。
デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ
ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。
参考資料
次の資料は、 本書を補足す る ための も のです。
1.
『Zynq-7000 All Programmable SoC ソ フ ト ウ ェ ア開発ガ イ ド 』 (UG821)
2.
『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994)
3.
『Zynq-7000 AP SoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG585)
4.
『Vivado Design Suite チ ュ ー ト リ アル : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG995)
5.
『Zynq-7000 All Programmable SoC PCB デザ イ ン ガ イ ド 』 (UG933)
6.
『MicroBlaze プ ロ セ ッ サ リ フ ァ レ ン ス ガ イ ド 』 (UG984)
7.
『MicroBlaze Debug Module (MDM) v3.1 製品ガ イ ド 』 (PG115)
8.
『Vivado Design Suite : ISE か ら Vivado Design Suite への移行手法ガ イ ド 』 (UG911)
9.
『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903)
10. 『7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー ガ イ ド 』 (UG586)
ト レーニ ン グ リ ソ ース
ザ イ リ ン ク ス では、 本書に含ま れ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ー スお よ びオ ン ラ イ ン ビデオ
を提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。
1.
Vivado Design Suite ビデオ チ ュ ー ト リ アル :Vivado IP イ ン テ グ レー タ ーを使用 し たデザ イ ン
2.
Vivado Design Suite ビデオ チ ュ ー ト リ アル :Vivado IP イ ン テ グ レー タ ーを使用 し た Zynq デバ イ ス の設計
3.
Vivado での FPGA 設計導入 ト レーニ ン グ コ ース
4.
Zynq All Programmable SoC エンベデ ッ ド シ ス テ ム開発
5.
エンベデ ッ ド シ ス テ ム開発 - 実践編
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
114
付録 A : その他の リ ソ ースおよび法的通知
法的通知
The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent
permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND
CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort,
including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection
with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage
(including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such
damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any
errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute,
or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of Xilinx’s limited warranty,
please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and
support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application
requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx’s
Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos.
© Copyright 2013-2014 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands
included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの
右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ームか ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で
入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受
け付けてお り ません。 あ ら か じ めご了承 く だ さ い。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
UG898 (v2014.3) 2014 年 10 月 16 日
japan.xilinx.com
115
Fly UP