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

Vivado Design Suite ユーザー ガイド : エンベデッド プロセッサ ハードウェア デザイン (UG898)

N/A
N/A
Protected

Academic year: 2021

シェア "Vivado Design Suite ユーザー ガイド : エンベデッド プロセッサ ハードウェア デザイン (UG898)"

Copied!
109
0
0

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

全文

(1)

Vivado Design Suite

ユーザー ガイド

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

(2)

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 the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; 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 Critical

Applications:http://www.xilinx.com/warranty.htm#critapps.

©Copyright 2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Zynq, Vivado 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. 本資料は英語版 (v2013.2) を翻訳したもので、内容に相違が生じる場合には原文を優先します。 資料によっては英語版の更新に対応していないものがあります。 日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。 この資料に関するフィードバックおよびリンクなどの問題につきましては、[email protected] までお知らせください。いただきまし たご意見を参考に早急に対応させていただきます。なお、このメール アドレスへのお問い合わせは受け付けておりません。あらかじめご了承く ださい。

改訂履歴

次の表に、この文書の改訂履歴を示します。 日付 バージョン 変更点

2013/03/20 2013.1 Vivado Design Suite バージョン 2013.1 で新規リリース 2013/06/19 2013.2 新しいセクション : 「Zynq7 プロセッシング システムのシミ

ュレーション」

新しい章 : 「MIG コアを使用したデザイン」

新しい章 : 「IP インテグレーターのリセットおよびクロック トポロジ」

(3)

改訂履歴

目次

改訂履歴 ... 2 第 1 章 ... 7 概要 ... 7 概要 ... 7 ハードウェアおよびソフトウェア フローの概要 ... 8 第 2 章 ... 10 エンベデッド デザインでの Zynq-7000 プロセッサの使用 ... 10 概要 ... 10

Vivado IDE での Zynq-7000 デバイスの設計 ... 10

Zynq-7000 プロセッサを含む IP インテグレーター デザインの作成 ... 11

Zynq ブロック図とコンフィギュレーション ウィンドウの概要 ... 14

[PS-PL Configuration] コンフィギュレーション オプション ... 14

[General] オプション ... 14

[MIO Configuration] および [EMIO Configuration] ... 15

ピンの制限 ... 15 バンク設定 ... 15 フラッシュ メモリ インターフェイス ... 16 クロック コンフィギュレーション ... 19 DDR コンフィギュレーション ... 21 GIC - 割り込みコントローラー ... 23 PS および PL 間のインターコネクト ... 24 AXI_HP インターフェイス ... 24 AXI_ACP インターフェイス ... 26 AXI_GP インターフェイス ... 27 プログラマブル ロジック (PL) の使用 ... 28 カスタム ロジック ... 29 Zynq7 プロセッシング システムのシミュレーション ... 29 機能... 30 アプリケーション ... 30

(4)

エンベデッド IP カタログ ... 31 接続 ... 32 ブロック オートメーション ... 32 コネクション オートメーション ... 34 ボード オートメーション ... 35 手動接続... 36 I/O ポートの手動作成と接続 ... 37 [Address Editor] タブでのメモリ マップ ... 39 デザイン ルール チェックの実行 ... 39 ブロック図の最上位デザインへの統合 ... 40 Vivado ピン配置ビュー レイアウトでの PS I/O ... 41 Vivado IDE 生成のエンベデッド ファイル ... 41 ソフトウェア開発キット (SDK) の使用 ... 42 SDK の使用 ... 42 ハードウェア記述のエクスポート ... 42 第 3 章 ... 44 エンベデッド デザインでの MicroBlaze プロセッサの使用 ... 44 MicroBlaze プロセッサ デザインの概要 ... 44 MicroBlaze プロセッサを含む IP インテグレーター デザインの作成 ... 45 MicroBlaze プロセッサを含む IP インテグレーター デザインの作成 ... 45 MicroBlaze コンフィギュレーション ウィザード ... 48 MicroBlaze コンフィギュレーション ウィザードのウェルカム ページ ... 50 [General Settings] フィールド ... 51 MicroBlaze コンフィギュレーション ウィザードの [General] ページ ... 53 [Instructions] フィールド ... 53 [Optimization] フィールド ... 55 [Fault Tolerance] フィールド ... 55 MicroBlaze コンフィギュレーション ウィザードの [Exception] ページ ... 56 [Math Exceptions] フィールド ... 56 [Bus Exceptions] フィールド ... 57 [Other Exceptions] フィールド ... 57

(5)

改訂履歴 MicroBlaze コンフィギュレーション ウィザードの [Cache] ページ ... 58 MicroBlaze コンフィギュレーション ウィザードの [MMU] ページ ... 60 MicroBlaze コンフィギュレーション ウィザードの [Debug] ページ ... 62 [Debug] オプション ... 62 MicroBlaze コンフィギュレーション ウィザードの [Buses] ページ ... 63 カスタム ロジック ... 65 エンベデッド IP カタログ ... 66 接続 ... 67 ブロック オートメーション ... 67 コネクション オートメーション ... 69 ボード オートメーション ... 70 IP インテグレーター デザインでの手動接続 ... 72 I/O ポートの手動作成と接続 ... 72 [Address Editor] タブでのメモリ マップ ... 72 デザイン ルール チェックの実行 ... 72 ブロック図の最上位デザインへの統合 ... 72 MicroBlaze プロセッサの制約 ... 72 合成、インプリメンテーション、ビットストリーム生成の実行 ... 73 ハードウェアのソフトウェア開発キット (SDK) へのエクスポート ... 74 第 4 章 ... 75 MIG コアを含むデザイン ... 75 概要 ... 75 プロジェクトの作成 ... 75 IP インテグレーターを使用した設計 ... 77 MIG IP の追加 ... 77 接続 ... 79 Clocking Wizard の追加 ... 81 AXI マスターの IP インテグレーターへのインスタンシエート ... 82 メモリ マップの作成 ... 86 デザイン ルール チェックの実行 ... 86 デザインのインプリメンテーション ... 87

(6)

第 5 章 ... 88 IP インテグレーターのリセットおよびクロック トポロジ ... 88 概要 ... 88 MIG コアを含まない MicroBlaze デザイン ... 89 MIG コアを含む MicroBlaze デザイン ... 94 PL ロジックを含まない Zynq デザイン ... 98 PL ロジックを含む Zynq デザイン ... 100 PL ロジックに MIG コアを含む Zynq デザイン ... 105

(7)

第 1 章

概要

概要

本章では、Vivado®

Design Suite フローを使用して、Zynq®-7000 All Programmable (AP) SoC デバイス または Microblaze™ プロセッサを使用したエンベデッド デザインをプログラムする方法について簡単に 説明します。 エンベデッド システムは複雑です。エンベデッド デザインのハードウェア部分とソフトウェア部分はそれ 自体がプロジェクトです。1 つのシステムとして機能するようにこれら 2 つのデザイン コンポーネントを統 合すると、さらに課題が出てきます。FPGA デザイン プロジェクトを追加すると、さらに複雑になっていき ます。 デザイン プロセスを単純にするため、ザイリンクスでは複数のツール セットを提供しています。基本的な ツール名、プロジェクト ファイル名、これらのツールの省略語については、ザイリンクス用語集を参照して ください。

Vivado Integrated Design Environment (IDE) には、プロセッサ ベースのデザインを統合するための IP インテグレーター ツールが含まれています。このツールをザイリンクス ソフトウェア開発キット (SDK) と合 わせて使用することで、マイクロプロセッサ ベースのシステムとエンベデッド ソフトウェア アプリケーショ ンを設計およびデバッグするための統合環境が提供されています。

(8)

ハードウェアおよびソフトウェア フローの概要

Vivado ツールには、プロセッサーに基づいたプログラム用の特定フローが提供されています。Vivado IDE では、接続を画像で示す IP インテグレーターを使用して、デバイスを指定し、ペリフェラルを選択 し、ハードウェア設定をコンフィギュレーションできます。

Zynq-7000 AP SoC では、Vivado IP インテグレーターを使用して、XML 形式のアプリケーションでハー ドウェア プラットフォーム情報をほかのデータ ファイルと共に取り込みます。これらの情報がソフトウェア デザイン ツールで使用され、ボード サポート パッケージ ライブラリが作成およびコンフィギュレーション され、コンパイラ オプションが推論され、プロセッシング ロジックがプログラムされ、JTAG 設定が定義さ れ、ハードウェアに関する情報を必要とするその他の操作が自動化されます。Zynq-7000 SoC ソリュー ションを使用すると、プログラマブル ロジックと共に 1 つの SoC に ARM Cortex A9 デュアル コアがエン ベデッド ブロックとして提供されるので、エンベデッド デザインの複雑さが改善されます。

MicroBlaze デバイスは、ISE Design Suite エンベデッド開発キット (EDK) の XPS (Xilinx Platform Studio) または Vivado IP インテグレーターのいずれかを使用してプログラムできます。

ザイリンクスでは、Zynq-7000 AP SoC および MicroBlaze プロセッサ デバイス用のソフトウェア アプリケ ーションの開発およびデバッグのために、次のデザイン ツールを提供しています。 • ソフトウェア IDE • GUI ベースのコンパイラー ツールチェーン • JTAG デバッガー これらのツールを使用すると、OS を必要としないベアメタル アプリケーションと、オープン ソース Linux OS 用アプリケーションの両方が開発できますVivado IP インテグレーターには、コンフィギュレーション 設定、レジスタ メモリ マップ、プロセッシング ロジック (PL) 初期化用のビットストリームなどを含むプロセ ッシング システム (PS) およびペリフェラルに関する情報が取り込まれます。 ソフトウェア ソリューションは、次を含む Cortex-A9 プロセッサをサポートするサードパーティ ソースから も利用可能です。 • ソフトウェア IDE • コンパイラー ツールチェーン • デバッグおよびトレース ツール • エンベデッド OS およびソフトウェア ライブラリ • シミュレータ • モデルおよび仮想プロトタイプ ツール サードパーティ ツール ソリューションは、Zynq-7000 デバイスの統合レベルおよび直接サポートによって 異なります。

SDK および Zynq デバイスのプログラムについての詳細は、『Zynq-7000 All Programmable SoC ソフト ウェア開発ガイド』 (UG821) を参照してください。SDK は、スタンドアロン製品で、http://japan.xilinx.com か らダウンロードできます。

(9)

ハードウェアおよびソフトウェア フローの概要

図 1 : ハードウェア デザイン ツールからソフトウェア ツールへのハンドオフ

Zynq-7000 ベースのデザインを開始するには、次の手順に従います。 1. 新規 Vivado IDE プロジェクトを作成します。

2. IP インテグレーター ツールでブロック図を作成し、Zynq Processing System 7 IP をインスタンシエー トし、その他のザイリンクス IP またはユーザーのカスタム IP もインスタンシエートします。 3. デザイン全体の合成およびインプリメンテーションを実行し、ハードウェアを SDK にエクスポートしま す。 4. SDK でソフトウェア アプリケーションを作成すると、ターゲット ボードにそれをプログラムできます。 Configure PS Generate Bitstream (optional) Hardware Handoff X12502 PS Configuration Hardware Specification File (XML) BRAM Configuration (BMM) PL Configuration (bitstream) Export to Software Tools Add IP

(10)

エンベデッド デザインでの 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) を参照してください。

(11)

Vivado IDE での Zynq-7000 デバイスの設計

Zynq-7000 プロセッサを含む IP インテグレーター デザインの作成

IP インテグレーターで [Create Block Design] ボタン をクリックすると、次の図のよう な [Design name] を入力できるダイアログ ボックスが表示されます。

図 2: [Create Block Design] ダイアログ ボックス 次の図のような [Block Design] ウィンドウが表示されます。

図 3 : [Block Design] ウィンドウ

1. この空のデザインに IP カタログから [Add IP] ボタンをクリックして IP を追加します。キャンバス で右クリックして、ポップアップ メニューから IP を追加することもできます。

(12)

5. [Add IP] をクリックすると、検索ボックスが表示されるので、次の図のように [ZYNQ7 Processing System] を検索して選択します。 図 4 : ZYNQ7 プロセッシング システムを含む IP の検索 Zynq IP を選択すると、Vivado IP インテグレーターでデザインに IP が追加され、次の図のよう にプロセッシング システムの画像が表示されます。 図 5 : デフォルトの Zynq7 プロセッシング システムのグラフィック表示 Tcl コマンド :

create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.01 processing_system7_1

6. プロセッシング システムの画像をダブルクリックすると、[Re-customize IP] プロセスが開始され、次の 図のような ZYNQ7 プロセッシング システムの [Re-customize IP] ダイアログ ボックスが表示されま す。

7. ブロック図の内容を確認します。ZYNQ7 プロセッシング システムの緑色のブロックは、コンフィギュ レーション可能なブロックを示しています。緑色のブロックをクリックすると、コンフィギュレーション オ プションを設定する画面が開きます。

(13)

Vivado IDE での Zynq-7000 デバイスの設計

図 6 : Zynq ブロック図

次の図のような左の Page Navigator からオプションを選択することもできます。

(14)

Zynq ブロック図とコンフィギュレーション ウィンドウの概

Page Navigator で使用可能なデフォルト オプションの詳細は、『Zynq-7000 AP SoC テクニカル リファレ ンス マニュアル』 (UG585) を参照してください。次のセクションでは、Page Navigator の選択オプションを 簡単に説明します。

[PS-PL Configuration] コンフィギュレーション オプション

[PS-PL Configuration] オプション ツリーには、次のようなオプションがあります。 図 8: [PL-PS Configuration] ペイン

[General] オプション

[General] オプションを展開すると、次のような選択肢が表示されます。

(15)

Zynq ブロック図とコンフィギュレーション ウィンドウの概要

[MIO Configuration] および [EMIO Configuration]

Page Navigator からは 2 つのページ オプションを使用して、MIO、I/O ペリフェラル、APU、プログラマブ ル ロジック テストおよびデバッグを表示および設定できます。

Zynq-7000 PS では、20 以上のペリフェラルが使用できるようになっています。これらのペリフェラルは、 直接デバイスの専用 Multiplexed I/O (MIO) または Extended Multiplexed I/O (EMIO) を使用してファ ブリックへ配線できます。

このコンフィギュレーション インターフェイスでは、MIO の I/O 規格およびスルー設定も選択できます。 ペリフェラルを有効にすると、その I/O ペリフェラル ブロックにチェック マークが表示されます。ブロック 図には、ペリフェラルが有効か無効かのステータスが表示されます。

7Z010 CLG225 の MIO および EMIO の詳細については、『Zynq-7000 AP SoC テクニカル リファレンス マニュアル』 (UG585) の第 2 章「信号、インターフェイス、ピン」を参照してください。

ピンの制限

7Z010 CLG225 デバイスで使用可能な 32 個の MIO ピンにより、PS の機能が次のように制限されます。 • MIO を使用して USB 1 つかイーサネット コントローラー 1 つのいずれかのみ使用可能 • SDIO からブート不可能 • NOR/SRAM のインターフェイスなし • NAND Flash の幅が 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 差動レシーバー モード 重要 : バンク全体は同じ電圧である必要がありますが、ピンは異なる I/O 規格にできます。

(16)

[Zynq] タブの [MIO Configuration] ダイアログ ボックスで MIO を設定する場合は、ペリフェラルの読み 出し専用画像および適切な MIO の選択を確認できます。ウィンドウの左側には、使用可能なペリフェラ ルがリストされます。ペリフェラルのチェックマークは、そのペリフェラルが選択されていることを示します。

フラッシュ メモリ インターフェイス

コンフィギュレーション ウィザードで次のいずれかを選択します。 SRAM/NOR コントローラー 図 10 : SRAM/NOR フラッシュ コンフィギュレーション オプション SRAM/NOR コントローラーの機能は、次のとおりです。 • 8 ビット データ バス幅 • 最大 26 アドレス信号 (64MB) までの 1 チップ セレクト • 最大 25 アドレス信号 (32 MB + 32MB) までの 2 チップ セレクト • 16 ワード読み出しおよび 16 ワード書き込みデータの FIFO • 8 ワード コマンド FIFO • 各チップ セレクト ベースのプログラマブル I/O サイクル タイミング • 非同期メモリ オペレーティング モード

(17)

Zynq ブロック図とコンフィギュレーション ウィンドウの概要 NAND コントローラー 図 11 : NAND コントローラー オプション NAND コントローラーの機能は、次のとおりです。 • 1 チップ セレクト信号を含め、8/16 ビットの I/O 幅 • ONFI 仕様 1.0 • 16 ワード読み出しおよび 16 ワード書き込みデータの FIFO • 8 ワード コマンド FIFO • プログラマブル I/O サイクル タイミング • ECC アシスト • 非同期メモリ オペレーティング モード

(18)

Quad-SPI コントローラー 図 12 : Quad SPI コントローラー オプション リニア Quad-SPI コントローラーの主な機能は、次のとおりです。 • シングルまたはデュアル 1x および 2x 読み出しのサポート • プログラム、読み出し、およびコンフィギュレーションを含むすべてのデバイス処理が可能な I/O モード用 32 ビット APB 3.0 インターフェイス • 読み出し処理用の 32 ビット AXI リニア アドレス マップ インターフェイス • シングル チップ セレクト ラインのサポート • 書き込み保護信号のサポート • 4 ビットの双方向 I/O 信号 • x1、x2、および x4 の読み出し速度 • x1、x2、および x4 の書き込み速度 • マスター モードで 100MHz の最大 Quad-SPI クロック • Quad-SPI 読み出しの効率を改善するための 252 バイト入力の FIFO の深さ • 最大 128Mb の集積度の Quad-SPI デバイスのサポート • 2 つの並列の Quad-SPI デバイスを含むデュアル Quad-SPI のサポート

(19)

Zynq ブロック図とコンフィギュレーション ウィンドウの概要 また、リニア アドレス マップ モードには、次のような機能があります。 • AXI インターフェイスを介した標準読み出し専用メモリ アクセス • 最大 2 つの SPI フラッシュ メモリ • 1 つのメモリで最大 16MB、2 つのメモリで 32MB のアドレス空間 • 4 つの AXI 読み出し許容機能 • AXI の増分およびラップ アドレス バースト読み出し • 標準メモリ読み出しを SPI プロトコル (またはその逆) に自動的に変換 • シリアル、デュアル、Quad-SPI モード

クロック コンフィギュレーション

Zynq-7000 デバイスのクロックをコンフィギュレーションするには、次のいずれかの方法を使用します。 • Page Navigator で [Clock Configuration] をクリックします。

• Zynq ブロック図で [Clock Generation] ブロックをクリックします。 次の図は、[Clock Configuration] ページを示しています。

(20)

次の図は、プロセッサ/メモリ クロックの [Clock Configuration] ページを示しています。

図 14 : プロセッサおよびメモリ クロックの [Clock Configuration] ページ

PS のクロックの詳細は、『Zynq-7000 AP SoC テクニカル リファレンス マニュアル』 (UG585) を参照してく ださい。Zynq のクロックのダイアログ ボックスでは、ペリフェラルのクロックを設定できます。PS のペリフェ ラルでは、通常内部 PLL または外部クロック ソースからクロック ソースを選択できます。クロックのほとん どで PLL を選択してクロックが生成できます。

同じ PLL で複数の周波数が生成されるので、[Requested Frequency (MHz)] 列に入力された周波数と まったく同じ周波数を取得できないことがあります。達成可能な周波数は、[Actual Frequency (MHz)] 列

(21)

Zynq ブロック図とコンフィギュレーション ウィンドウの概要 注記 : 特定ペリフェラルの周波数は、入力周波数、同じ PLL から駆動されるほかのペリフェラルの周波 数、アーキテクチャからの制限など、多くの要因によって異なります。ツールで選択される M & D 値の 詳細は、ログ ファイルから取得できます。

DDR コンフィギュレーション

DDR は、次のいずれかの方法でコンフィギュレーションできます。 • Page Navigator から DDR2/3/LPDDR2 を選択します。 • 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 トランザクションを駆動します。

(22)

次の図は、DDR コントローラーの [Clock Configuration] ページを示しています。

注記 : 8 ビット インターフェイスはサポートされていませんが、8 ビット ポートを使用して 16/32 ビット インターフェイスを作成することはできます。

(23)

Zynq ブロック図とコンフィギュレーション ウィンドウの概要

GIC - 割り込みコントローラー

GIC (Generic Interrupt Controller) は、次のいずれかの方法でコンフィギュレーションできます。 • Page Navigator で [Interrupts] をクリックします。

• Zynq ブロック図で [GIC] ブロックをクリックします。 次の図は、割り込みポートのコンフィギュレーション ページを示しています。 図 16 : GIC 割り込み GIC は、PS および PL から CPU に送信される割り込みを管理する中央リソースです。コントローラーは 割り込みソースをイネーブル、ディスエーブル、優先順位付けし、それらを CPU インターフェイスが次の 割り込みを受信するのと同じプログラム方法で、選択した CPU に送信します。また、コントローラーはセ キュリティ意識の高いシステムをインプリメントする際のセキュリティ拡張もサポートします。

コントローラーは、ARM Generic Interrupt Controller Architecture バージョン 1.0 (GIC v1) (ベクターな し) に基づいています。

(24)

CPU のプライベート バスは、一時的な妨害およびその他のインターコネクトでのボトルネックを回避して レジスタにアクセスし、高速読み出し/書き込みレスポンスを可能にします。 割り込み分配器は、優先度の高いものを個別 CPU に送信する前に、すべての割り込みソースを集めま す。 GIC を使用すると、複数の CPU への割り込みを指定した場合、同時に割り込みを処理できるのは 1 つ の CPU だけです。すべての割り込みソースに、一意の割り込み ID 番号が含まれるほか、それぞれコン フィギュレーション可能な優先順位とターゲット CPU のリストが含まれます。

Zynq-7000 デバイスのロジック ブロックに関する情報は、『Zynq-7000 AP SoC テクニカル リファレンス マ ニュアル』 (UG585) および『Zynq-7000 ソフトウェア開発ガイド』 (UG821) を参照してください。

PS および PL 間のインターコネクト

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] オプションを展開し、 これらのインターフェイスをイネーブルにしてください。

または、ZYNQ7 ブロック図で次のブロックをクリックします。

(25)

Zynq ブロック図とコンフィギュレーション ウィンドウの概要 インターフェイスは、PL マスターおよび DDR およびオンチップ RAM を含む PS メモリ間に高スループ ット データ パスを提供します。主な機能は、次のとおりです。 • 32 ビットまたは 64 ビット データ幅のマスター インターフェイス (ポートごとに個別にプログラム) • 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 コマンド (バースト長に依存) の範囲で大容量のスレーブ インターフェイスの書き込みを 許容可能

(26)

AXI_ACP インターフェイス

ACP (Accelerator Coherency Port) は、プログラマブル ロジック マスターにオプションのコヒーレンシおよ び L1/L2 キャッシュを使用してレイテンシの少ないアクセスを提供します。

システムの観点からは、ACP インターフェイスの接続は APU CPU と類似しています。このように接続性 が類似していることから、ACP は APU ブロックの外側でリソース アクセスを直接競い合います。

重要 : PL のロジック通信が発生する前に LVL_SHFTR_EN を使用して PL レベル シフターをイネーブ ルにする必要があります。

ZYNQ7 ブロック図で次のブロックをクリックして、AXI_ACP をコンフィギュレーションします。

または、Page Navigator で [PS-PL Configuration] をクリックして、[ACP Slave AXI Interface ] オプション を展開します。

次の図は、ACP AXI スレーブのコンフィギュレーション ページを示しています。

(27)

Zynq ブロック図とコンフィギュレーション ウィンドウの概要

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 インターフェイスをコンフィギュレーションしま す。

または、Page Navigator で [PS-PL Configuration] をクリックして、[GP Master AXI Interface] および [GP Slave AXI Interface] オプションを展開します。

次の図は、GP AXI マスターおよびスレーブのコンフィギュレーション ページを示しています。

(28)

プログラマブル ロジック (PL) の使用

PL は、ユーザーがコンフィギュレーション可能な機能を持つ豊富なアーキテクチャを提供します。 コンフィギュレーション可能なロジック ブロック (CLB) • 6 入力ルックアップ テーブル (LUT) (LUT 内にメモリ機能あり) • レジスタおよびシフト レジスタの機能 • カスケード可能な加算器 36 Kb ブロック RAM • 最大 72 ビット幅までのデュアル ポート • デュアル 18Kb としてコンフィギュレーション可能 • プログラマブル FIFO ロジック • ビルトイン誤り訂正回路 デジタル シグナル プロセッシング - 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) • チップ間インターフェイス用に最適化された低電力モード

(29)

プログラマブル ロジック (PL) の使用 • アドバンス送信プリエンファシス/ポストエンファシス、レシーバー リニア (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 インテグレーターを使用した IP サブシステムの設計』 (UG994) お よび『Vivado Design Suite チュートリアル : IP インテグレーターを使用した IP サブシステムの設計』 (UG995) を参照してください。

推奨 : IP 開発者は、IP のパッケージに問題がないかどうかを IP ユーザーに渡す前に確 認するため、 IP ユーザー フローから各 IP モジュールをすべて実行し、IP が使用可能 な状態であるかどうか検証しておくことをお勧めします。

Zynq7 プロセッシング システムのシミュレーション

Zynq®-7000 BFM (Bus Functional Model) では、Zynq-7000 ベースのアプリケーションの論理シミュレー ションがサポートされます。BFM では、PS-PL インターフェイスおよびプロセッサ システム (PS) ロジック の OCM/DDR メモリを模倣することで、プログラマブル ロジック (PL) の論理的検証が有効になっていま す。この BFM は暗号化された Verilog モジュールのパッケージとして配信されています。BFM の操作 は、Verilog 構文ファイルの Verilog タスクのシーケンスにより制御されます。

(30)

機能

• ピン互換性のある、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 レジスタ マップ

(31)

プログラマブル ロジック (PL) の使用

エンベデッド IP カタログ

Vivado IP カタログは、IP の検索、詳細情報の確認、関連資料の表示を実行可能な統合リポジトリで す。Vivado IP カタログにサードパーティ IP またはカスタマー IP を追加すると、Vivado Design Suite フ ローからその IP にアクセスできるようになります。

次の図は、Vivado IDE の IP カタログです。

(32)

接続

ZYNQ-7000 PS をコンフィギュレーションしたら、デバイスのプログラマブル ロジック部分に含めるほかの IP をインスタンシエートできます。 IP インテグレーターの図エリアで右クリックして [Add IP] をクリックします。 IP インテグレーターの 2 つのビルトイン機能 (ブロック オートメーションおよびコネクション オートメーショ ン) を使用して残りの IP サブシステム デザインを完成させることができます。これらの機能を使用する と、基本的なマイクロプロセッサ システムを IP インテグレーター ツールで統合し、外部 I/O ポートにポ ートを接続しやすくなります。

ブロック オートメーション

ブロック オートメーションは、Zynq-7000 PS MicroBlaze™ プロセッサのようなマイクロプロセッサを IP イ ンテグレーター ツールのブロック図にインスタンシエートする際に使用できます。

次の図のように [Run Block Automation] をクリックすると、単純な ZYNQ プロセッシング システムが統合 しやすくなります。

(33)

プログラマブル ロジック (PL) の使用

次の図のように、[Run Block Automation] ダイアログ ボックスには、オートメーションで使用可能なオプ ションが表示されます。

図 22 : Zynq プロセッサの [Run Block Automation] ダイアログ ボックス

[OK] をクリックすると、ブロック オートメーション機能により、次の図のような基本的なシステムが作成さ れます。

図 23 : ブロック オートメーション実行後の IP インテグレーターの画面

前の図で、外部 DDR および FIXED_IO インターフェイスが外部ポートに接続されていることを確認して ください。

(34)

コネクション オートメーション

IP インテグレーター ツールで、キャンバス上のインスタンシエート済み IP 内に潜在的な接続が存在す ると判断される場合は、コネクション オートメーション機能が使用できるようになります。

次の図では、AXI BRAM コントローラーとブロック メモリ ジェネレーターの IP が ZYNQ7 プロセッシング システム IP と共にインスタンシエートされています。

IP インテグレーターでは、AXI BRAM コントローラーと ZYNQ7 IP 間に潜在的な接続が存在すると判 断され、コネクション オートメーション機能が使用できるようになります。

図 24 : コネクション オートメーション機能

[Run Connection Automation] をクリックすると、次が実行されます。

• AXI インターコネクトと Proc Sys Reset IP がインスタンシエートされます。

• AXI インターコネクトを使用して AXI BRAM コントローラーが ZYNQ7 PS IP に接続されます。 • Proc Sys Reset IP が次の図のように正しく接続されます。

(35)

プログラマブル ロジック (PL) の使用

ボード オートメーション

Vivado IP インテグレーター ツールでは、ZC702 のようなザイリンクス ターゲット リファレンス プラットフォ ームを使用した場合、ボード オートメーション機能も提供されています。

この機能では、IP のポートがターゲット ボードの FPGA ピンに接続されます。IP は適切にコンフィギュレ ーションされ、ユーザーの選択に基づいて、I/O ポートに接続されます。ボード オートメーションでは、物 理制約が必要な IP に対して自動的に物理制約が生成されます。

次の図では、GPIO AXI IP がサブシステム デザインにインスタンシエートされます。IP がインスタンシエ ートされたら、[Run Connection Automation] が再び使用できるようになります。

図 26 : ザイリンクス ターゲット リファレンス プラットフォームのコネクション オートメーション

[Run Connection Automation] をクリックすると、次の 2 つの接続が可能であることが表示されます。 • 1 つ目の接続 : S_AXI ポートと関連する AXI クロックと、AXI インターコネクトを使用した

ZYNQ7 PS へのリセット ポート

(36)

どちらのオプションも選択すると、次の図ようになります。 図 27 : IP インテグレーターのボード オートメーション機能 GPIO ポートがターゲット ボードの適切な LED に接続されます。 サブシステムの出力ファイルを生成すると、GPIO I/O ポート用に適切な物理制約が生成されます。

手動接続

次の図は、AXI BRAM コントローラーをブロック メモリ ジェネレーターに接続する必要があることを示し ています。これは、手動で実行できます。 1. カーソルを IP ブロックのインターフェイスまたはピン コネクタの近くに移動すると、カーソルの形 がペン形に変わります。 2. IP ブロックのインターフェイスまたはピン コネクタをクリックし、次の図のように接続先ブロックにド ラッグします。 図 28 : ポートの手動接続

(37)

プログラマブル ロジック (PL) の使用

I/O ポートの手動作成と接続

Vivado IP インテグレーターでは手動で外部 IO ポートを作成できます。ピン、バス、またはインターフェ イス接続を選択すると、信号およびインターフェイスを外部 I/O ポートに接続できます。

• 右クリックし、[Make External] をクリックします。Ctrl キーを押しながらクリックすると、複数のピンを選 択してから [Make External] をクリックできます。このコマンドにより、IP のピンがブロック図の I/O ポ ートに接続されます。

図 29 : [Make External] コマンド • 右クリックして [Create Port] をクリックします。

このコマンドは、クロック、リセット、uart_txd などのインターフェイス以外の信号を接続するのに使用 します。

[Create Port] を実行する際は、入力/出力、バンド幅、タイプ (clk, reset, or data) などを指定できま す。クロックの場合、入力周波数も指定できます。

(38)

• 右クリックし、[Create Interface Port] をクリックします。 このコマンドは、よく使用されるファンクションを共有する信号をグループにしたインターフェイス上に ポートを作成するために使用します。 たとえば、S_AXI は複数のザイリンクス IP のインターフェイス ポートです。このコマンドを使用する と、インターフェイス タイプおよびモード (マスターまたはスレーブ) の指定をより詳細に制御できま す。

(39)

プログラマブル ロジック (PL) の使用

[Address Editor] タブでのメモリ マップ

このデザインのアドレス マップを生成するには、次を実行します。 1. 上記の図で [Address Editor] タブをクリックします。 2. 左下の [Auto Assign Address] をクリックします。

最初にアドレスを生成せずに IP インテグレーターから RTL を生成した場合、ツールでアドレスが自動 的に割り当てられるようにするかどうかを尋ねるメッセージが表示されます。

アドレスは、[Offset Address] および [Range] 列に値を入力すると、手動で設定することもできます。

注記 :[Address Editor] タブはバス マスターとして機能する IP ブロック (ZYNQ7 プロセッサなど) が

図に含まれている場合にのみ表示されます。 図 32 : メモリ マップするペリフェラル

デザイン ルール チェックの実行

Vivado IP インテグレーターは、デザインをまとめる際にリアルタイムで基本的な DRC を実行します。 ただし、デザイン作成中にエラーが発生することがあります。たとえば、クロック ピンの周波数が正しく設 定されないことがあります。 包括的な DRC を実行するには、次の図に示す [Validate Design] ボタンをクリックします。 図 33 : [Validate Design] ボタン

(40)

警告またはエラーが発生しなかった場合は、次のようなダイアログ ボックスが表示されます。 図 34 : [Validate Design] ダイアログ ボックス

ブロック図の最上位デザインへの統合

ブロック図を完成してデザインを検証したら、次の 2 つの手順を実行してデザインを完成させます。 • 出力ファイルの生成 • HDL ラッパーの作成

出力ファイルを生成すると、Vivado IDE の [Sources] ビューにその IP のソース ファイルと適切な制約が 作成されます。

プロジェクト作成時にターゲット言語として指定した言語によって、IP インテグレーターにより適切なファ イルが生成されます。Vivado IDE で特定の IP のソース ファイルが指定したターゲット言語で生成でき ない場合は、コンソールにそれを示すメッセージが表示されます。

次の図のように、Vivado IDE の [Sources] ビューでブロック図を右クリックし、[Generate Output Products] をクリックします。

図 35 : [Generate Output Products] コマンド

IP インテグレーターのブロック図はそれよりも高位のデザインに統合できます。これには、デザインを高 位の HDL ファイルにインスタンシエートします。

(41)

Vivado ピン配置ビュー レイアウトでの PS I/O

高位にインスタンシエートするには、Vivado IDE の [Sources] ビューでブロック図を右クリックして、 [Create HDL Wrapper] をクリックします。 図 36 : [Create HDL Wrapper] コマンド これにより、IP インテグレーター サブシステムの最上位 HDL ファイルが生成されます。この段階まで で、デザインがエラボレーション、合成、インプリメンテーションなどのほかのデザイン フローで使用でき るようになりました。

Vivado ピン配置ビュー レイアウトでの PS I/O

Zynq-7000 デバイスの PCB デザインおよびピン配置に関する詳細なガイドラインについては、『Zynq-7000 All Programmable SoC PCB デザインおよびピン配置ガイド』 (UG933) を参照してください。

Vivado IDE 生成のエンベデッド ファイル

IP インテグレーターから Zynq-7000 プロセッサ ハードウェア デザインを SDK にエクスポートするには、 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 ファイルは初期化データを記述したものです。

(42)

生成されるファイルに関する詳細は、『Zynq-7000 AP SoC ソフトウェア開発者向けガイド』 (UG821) を参 照してください。

ソフトウェア開発キット (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 には、コン セプト、タスクおよびリファレンス情報を記述したヘルプ システムが含まれます。

ハードウェア記述のエクスポート

次の図のように、Flow Navigator で [Open Block Design] をクリックして IP インテグレーター デザインを 開きます。

(43)

ソフトウェア開発キット (SDK) の使用

1. 次の図のように、Vivado IDE で [File] → [Export] → [Export Hardware for SDK] をクリックしま す。

図 38 : [Export Hardware for SDK] コマンド

[Export Hardware for SDK] ダイアログ ボックスが開きます。

8. 次の図のように、[Export Hardware]、[Include Bitstream]、[Launch SDK] をオンにしてください。

図 39 : [Export Hardware for SDK] ダイアログ ボックス

ハードウェア定義を SDK にエクスポートしてから SDK を起動すると、SDK でソフトウェア アプリケーショ ンを記述し始めることができます。

ソフトウェアのさらなるデバッグおよびダウンロードは SDK から実行できます。

ソフトウェアの ELF ファイルを Vivado ツールにインポートし戻し、FPGA ビットストリームを使用して統合 すると、さらに詳細なダウンロードおよびテストができます。

(44)

エンベデッド デザインでの MicroBlaze プロ

セッサの使用

MicroBlaze プロセッサ デザインの概要

Vivado IDE の IP インテグレーターは、プロセッサ ベースのシステムを統合する優れたツールです。 MicroBlaze™ エンベデッド プロセッサは、ザイリンクス フィールド プログラマブル ゲート アレイ (FPGA) のインプリメンテーション用に最適化された RISC (Reduced Instruction Set Computer) コアです。 次の図は、MicroBlaze コアの論理ブロック図です。

(45)

MicroBlaze プロセッサを含む IP インテグレーター デザインの作成 MicroBlaze プロセッサは、詳細にコンフィギュレーション可能なので、デザインに必要な特定の機能セッ トを選択できます。 プロセッサの決まった機能セットには、次のようなものがあります。 • 32 個の 32 ビット汎用レジスタ • オペランド 3 つとアドレス指定モード 2 つを含む 32 ビット命令ワード • 32 ビットのアドレス バス • 単一発行のパイプライン これらの決まった機能のほか、MicroBlaze プロセッサにはその他の機能を選択して有効にできるパラメ ーター値があります。 推奨 : 古い (廃止) バージョンの MicroBlaze では、本書で記述するオプションの機能の 一部だけがサポートされます。最新バージョンの MicroBlaze (v9.0) では、すべてのオプ ションがサポートされます。新しいデザインには最新バージョンの MicroBlaze を使用 するようにしてください。

MicroBlaze プロセッサ デザインの詳細は、『MicroBlaze プロセッサ リファレンス ガイド』 (UG081) を参照 してください。

MicroBlaze プロセッサを含む IP インテグレーター デザ

インの作成

MicroBlaze プロセッサを使用した設計は、Vivado IDE を使用した場合と ISE® Design Suite とエンベデ ッド開発キット (EDK) を使用した場合で異なります。

Vivado IDE では、エンベデッド開発に IP インテグレーター ツールを使用します。IP インテグレーター は、GUI ベースのインターフェイスで、複雑な IP サブシステムを統合できます。

Vivado IDE の IP カタログからは、複雑なデザインに対応してさまざまな IP が使用できます。 IP カタログには、カスタム IP を追加することもできます。

MicroBlaze プロセッサを含む IP インテグレーター デザインの作成

IP インテグレーターで [Create Block Design] ボタン をクリックすると、次の図のよう な [Design name] を入力できるダイアログ ボックスが表示されます。

(46)

図 41 : [Create Block Design] ダイアログ ボックス 次の図のような [Block Design] ウィンドウが表示されます。

図 42 : [Block Design] ウィンドウ

この空のデザインに IP カタログから [Add IP] ボタンをクリックして IP を追加します。または、キャンバス 上で右クリックして IP を追加することもできます。

(47)

MicroBlaze プロセッサを含む IP インテグレーター デザインの作成

[Add IP] をクリックすると、検索ボックスが表示されるので、次の図のように [MicroBlaze] を選択します。

図 43 : MicroBlaze プロセッシング システムの検索

MicroBlaze IP を選択すると、Vivado IP インテグレーターでデザインに IP が追加され、次の図のように プロセッシング システムの画像が表示されます。

図 44 : デフォルトの MicroBlaze プロセッシング システムのグラフィック表示

Tcl コマンド :

• create_bd_cell -type ip -vlnv xilinx.com:ip:microblaze:9.0 microblaze_1

キャンバス上で MicroBlaze IP をダブルクリックして [Re-customize IP] プロセスを開始すると、 MicroBlaze プロセッサに対する [Re-customize IP] ダイアログ ボックスが表示されます。

(48)

MicroBlaze コンフィギュレーション ウィザード

MicroBlaze コンフィギュレーション ウィザードには、次の機能があります。 • 1 クリックでコンフィギュレーションできるテンプレート ベースのコンフィギュレーション ダイアログ ボックス • ダイアログ ボックスで設定したオプションに基づいた MicroBlaze の相対的なエリア、周波数、パ フォーマンスの概算により、即座にフィードバック可能 • コンフィギュレーション プロセスのガイダンス • すべてのコンフィギュレーション オプションに対するツール ヒントで、各オプションの影響を理解 可能 • [Advanced] ボタンを使用してタブのインターフェイスですべてのオプションに直接アクセス MicroBlaze コンフィギュレーション ウィザードには、次のようなページがあり、選択した [General Settings] オプションに基づいて、ページが有効になります。 • [Configuration Wizard] : テンプレート選択および一般的な設定を示す最初のページ。 • [General] : 実行単位の選択、常に表示される最適化。 • [Exceptions] : 例外が最初のページで選択される場合に表示される有効にする例外。 • [Debug] : デバッグが有効になる場合に表示されるブレークポイントおよびウォッチポイントの数。 • [Cache] : キャッシュが選択されると表示されるキャッシュ設定。 • [MMU] : メモリ管理が選択されると表示される MMU 設定。 • [Buses] : バス設定。最後のページ。常に表示。

(49)

MicroBlaze コンフィギュレーション ウィザード 次の図は、MicroBlaze コンフィギュレーション ウィザードのウェルカム ページを示しています。 図 45 : MicroBlaze コンフィギュレーション ウィザード ダイアログ ボックスの左側には、現在の設定での周波数、エリアの相対的な値が表示されます。 • [Frequency] : この値は、このアーキテクチャおよびスピード グレードを使用して達成可能な最大周 波数に関する概算の周波数の割合 (%) で、現在の設定で達成可能な相対的な周波数を示しま す。 注記 : これはあらかじめ定義済みのベンチマーク システムのセットに基づいた概算で、実際の 値から最大 30% までの誤差がある可能性があり、システムが対応する周波数に必ず達成できる とは限りません。 • [Area] : この値は、このアーキテクチャを使用した最大エリアに相対的な LUT のエリアの割合 (%) の概算で、現在の設定で達成可能な 相対的な MicroBlaze のエリアを示します。 注記 : これは概算で、実際の値から最大 5% の誤差がある可能性があり、インプリメントされたエ リアがこの値と必ずしも同じになるとは限りません。 • [Performance] : この値は、現在の設定で達成可能な MicroBlaze の相対的なパフォーマンスを示す ものです。

(50)

注記 : これは、ベンチマークのセットに基づいた概算で、実際のパフォーマンスはユーザー ア プリケーションによってかなり異なります。

• [BRAMs] : この値は MicroBlaze で使用されるブロック RAM の総数で、命令キャッシュとデータ キ ャッシュ、および分岐先キャッシュがブロック RAM と MMU (Memory Management Unit) を使用しま す (MMU は仮想または保護モードで 1 つのブロック RAM を使用)。

• [DSP48] または [MULT18] : この値は MicroBlaze で使用される DSP48 または MULT18 の総数 で、整数乗算器および FPU (Floating Point Unit) はこの合計値を使用して浮動小数点の乗算をイ ンプリメントします。

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] : パフォーマンス、エリア、周波数間で合理的な妥協がされた設定で、スタンドアロン プロ グラムおよびオーバーヘッドの少ないカーネルに向いています。キャッシュおよびデバッグはイネー ブルになります。

図 2: [Create Block Design] ダイアログ ボックス  次の図のような  [Block Design]  ウィンドウが表示されます。
図 18 : ACP スレーブの AXI インターフェイス ページ
図 19 : GP マスターおよびスレーブ AXI インターフェイス
図 25 : コネクション オートメーション後のブロック図
+7

参照

関連したドキュメント

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

サンプル 入力列 A、B、C、D のいずれかに指定した値「東京」が含まれている場合、「含む判定」フラグに True を

荒天の際に係留する場合は、1つのビットに 2 本(可能であれば 3

基準の電力は,原則として次のいずれかを基準として決定するも

図表の記載にあたっては、調査票の選択肢の文言を一部省略している場合がある。省略して いない選択肢は、241 ページからの「第 3

ある架空のまちに見たてた地図があります。この地図には 10 ㎝角で区画があります。20

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

この場合,波浪変形計算モデルと流れ場計算モデルの2つを用いて,図 2-38