20
XAPP1159 (v1.0) 2013 1 21 japan.xilinx.com 1 © Copyright 2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, 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. 概要 システムが複雑化し、 設計の効率化が要求されるよ うになるのに伴い、 FPGA が果たす役割が重要に なってきています。ザイリンクス FPGA は、オンサイ トで再プログラムできるという優れた柔軟性を備 えていますが、 低コス ト、 省ボード スペース、 低消費電力といったニーズが高まる今日では、 さ らに効 果的なデザイン ソ リ ューシ ョ ンが求められています。 ザイリンクスのパーシャル リコンフィギュレーション (PR) 機能を利用する こ と によ り 、 変更不要なデ バイス部分にあるアプリ ケーシ ョ ンの動作を継続しながら特定部分のみを再プログラムして新たな機能 を追加できるため、 FPGA 本来の柔軟性が さ ら に高ま り ます。 パーシ ャル リコンフィギュレーション は、 従来のフル コ ン フ ィ ギ ュ レーシ ョ ンに比べて、 主に次の よ う な メ リ ッ ト があ り ます。 ハードウェア リ ソースの使用率を低減 : デザイ ンの機能を動的に時分割多重化する こ と によ って、 既存デバイスにより多くのロジックを収容できる 生産性と拡張性を向上 : 検証済みの変更不要な部分を残し、 変更した機能のみを イ ンプ リ メ ン ト で きる 保守性が高ま り、 システム ダウンタイムが削減 : システム動作を停止することなく、新しい機能を 配置お よ び挿入で き る このアプリケーション ノ ー ト では、デバ イ ス コンフィギュレーション (DevC)/プロセッサ コンフィギュ レーション アクセス ポート (PCAP) インターフェイスを介して、ザイリンクス Zynq™-7000 All Programmable SoC デバイスでパーシャル リコンフィギュレーションを実行する際のツール フ ロ ー、概 念、 およびテクニックについて説明します。 ここで提供する リ ファレンス デザインは、 ZC702 ベース ターゲッ ト リファレンス デザイン (TRD) [参照 1] を基盤に構築したエンベデッ ド ビデオ プロセッシ ング アプ リ ケーシ ョ ンであ り 、 演算量の多いビデオ フィルター アルゴリズムをプログラマブル ロジッ クに実装するこ とによって、 ソフ ト ウェアの負担を軽減できるという利点を実証しています。 このデザ インでは、 ソフ ト ウェア制御のパーシャル リコンフィギュレーション機能を用いて、 2 種類のビデオ フィルター IP コアを 1 つずつ ロ ジ ッ ク の特定部分に動的に リ コ ン フ ィ ギ ュ レーシ ョ ン し 、 モニ タ ーに 出力される映像を確認する方法を説明します。 はじめに Zynq-7000 AP SoC は、デ ュ アル コ ア ARM Cortex-A9 ベースのプロセッシング システム (PS) とプロ グラマブル ロジック (PL) 1 つのデバイスに統合したものです。 このリファレンス デザインは、 PS PL を共に活用し、制御 (PS へマップ) とデータ パス (PL へマップ) を分割することによって、最良 の結果が得られるこ とを実証します。 PL には、 入力、 プ リ プロセッシング、コア プロセッシング、ポ スト プロセッシング、 そして出力ステージを構成するパワフルな高精細度ビデオ パイプラインを実装 します (1 参照)IP コアの設定やデータ フ ロ ー制御は、 PS で実行されます。 付属のリファレンス デザインでは、 PS 上で動作するベア メ タル ソフトウェア アプリケーションか 2 つの Linux OS ベー ソフトウェア アプ リ ケーシ ョ ンか ら ユーザーが選択可能です。 ZC702 ベース TRD [参照 1] は、 演算が集中する輪郭検出アルゴ リ ズム (Sobel フィルター ) PL で実 現する メ リ ッ ト を示し ます。 こ の場合、 ハードウェア アクセラレーションにより、 1080p60 ビデオ スト リームをリアルタイム処理できるだけでなく、 処理済みビデオ スト リーム上にグラフィカル ユーザー インターフェイス (GUI) をレンダリングするなどのユーザー固有のタスクに CPU リ ソースを使用でき る 、 と い う 二重の メ リ ッ ト が あ り ま す。 アプリケーション ノート : Zynq-7000 All Programmable SoC XAPP1159 (v1.0) 2013 1 21 Zynq-7000 All Programmable SoC デバイスに おけるハードウェア アクセラレーターの パーシャル リコンフィギュレーション 著者 : Christian Kohn

Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 1

© Copyright 2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, 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.

概要 システムが複雑化し、 設計の効率化が要求されるよ うになるのに伴い、 FPGA が果たす役割が重要に

なってきています。ザイ リ ンクス FPGA は、オンサイ トで再プログラムできる という優れた柔軟性を備

えていますが、 低コス ト 、 省ボード スペース、 低消費電力といったニーズが高まる今日では、 さ らに効

果的なデザイン ソ リ ューシ ョ ンが求められています。

ザイ リ ンクスのパーシャル リ コンフ ィギュレーシ ョ ン (PR) 機能を利用するこ とによ り、 変更不要なデ

バイス部分にあるアプリ ケーシ ョ ンの動作を継続しながら特定部分のみを再プログラムして新たな機能

を追加できるため、 FPGA 本来の柔軟性がさ らに高ま り ます。 パーシャル リ コンフ ィギュレーシ ョ ン

は、 従来のフル コンフ ィギュレーシ ョ ンに比べて、 主に次のよ うなメ リ ッ トがあ り ます。

• ハードウェア リ ソースの使用率を低減 : デザインの機能を動的に時分割多重化するこ とによって、

既存デバイスによ り多くのロジッ クを収容できる

• 生産性と拡張性を向上 : 検証済みの変更不要な部分を残し、 変更した機能のみをインプリ メン トで

きる

• 保守性が高ま り、 システム ダウンタイムが削減 : システム動作を停止するこ とな く、 新しい機能を

配置および挿入できる

このアプリ ケーシ ョ ン ノートでは、デバイス コンフ ィギュレーシ ョ ン (DevC)/プロセッサ コンフ ィギュ

レーシ ョ ン ア クセス ポー ト (PCAP) イ ン ターフ ェ イ スを介して、 ザイ リ ン ク ス Zynq™-7000 AllProgrammable SoC デバイスでパーシャル リ コンフ ィギュレーシ ョ ンを実行する際のツール フロー、概

念、 およびテクニッ クについて説明します。 こ こで提供する リ ファレンス デザインは、 ZC702 ベース

ターゲッ ト リ ファレンス デザイン (TRD) [参照 1] を基盤に構築したエンベデッ ド ビデオ プロセッシ

ング アプリ ケーシ ョ ンであ り、演算量の多いビデオ フ ィルター アルゴ リズムをプログラマブル ロジッ

クに実装するこ とによって、 ソフ ト ウェアの負担を軽減できる という利点を実証しています。 このデザ

インでは、 ソフ ト ウェア制御のパーシャル リ コンフ ィギュレーシ ョ ン機能を用いて、 2 種類のビデオ

フ ィルター IP コアを 1 つずつロジッ クの特定部分に動的にリ コンフ ィギュレーシ ョ ンし、 モニターに

出力される映像を確認する方法を説明します。

はじめに Zynq-7000 AP SoC は、デュアルコア ARM Cortex-A9 ベースのプロセッシング システム (PS) とプロ

グラマブル ロジッ ク (PL) を 1 つのデバイスに統合したものです。 この リ ファレンス デザインは、 PSと PL を共に活用し、制御 (PS へマップ) とデータ パス (PL へマップ) を分割するこ とによって、 良

の結果が得られるこ とを実証します。 PL には、入力、 プ リ プロセッシング、 コア プロセッシング、 ポ

ス ト プロセッシング、 そして出力ステージを構成するパワフルな高精細度ビデオ パイプラインを実装

します (図 1 参照)。 IP コアの設定やデータ フロー制御は、 PS で実行されます。 付属の リ ファレンス

デザインでは、 PS 上で動作するベアメ タル ソフ ト ウェア アプ リ ケーシ ョ ンか 2 つの Linux OS ベー

ス ソフ ト ウェア アプリ ケーシ ョ ンからユーザーが選択可能です。

ZC702 ベース TRD [参照 1] は、 演算が集中する輪郭検出アルゴ リズム (Sobel フ ィルター ) を PL で実

現する メ リ ッ ト を示します。 この場合、 ハードウェア アクセラレーシ ョ ンによ り、1080p60 ビデオ ス ト

リームを リ アルタイム処理できるだけでな く、 処理済みビデオ ス ト リーム上にグラフ ィカル ユーザー

インターフェイス (GUI) をレンダ リ ングするなどのユーザー固有のタスクに CPU リ ソースを使用でき

る、 という二重のメ リ ッ トがあ り ます。

アプリケーシ ョ ン ノート : Zynq-7000 All Programmable SoC

XAPP1159 (v1.0) 2013 年 1 月 21 日

Zynq-7000 All Programmable SoC デバイスにおけるハードウェア アクセラレーターのパーシャル リコンフ ィギュレーシ ョ ン著者 : Christian Kohn

Page 2: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

システムの概要

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 2

ZC702 ベース TRD を基盤とするこのアプリ ケーシ ョ ン ノートでは、任意の機能を必要に応じてロード

できるパーシャル リ コンフ ィギュレーシ ョ ン機能を使用して、 2 種類のビデオ処理アクセラレーターを

PL にインプリ メン トする方法について説明します。 1 つ目のビデオ フ ィルター IP コアは、入力ビデオ

ス ト リームで輪郭を検出して表示する Sobel フ ィルターです。2 つ目のビデオ フ ィルター IP コアは、入

力ビデオ ス ト リームに茶色がかった単色を適用する Sepia フ ィルターです。 図 2 に、 オリ ジナル画像、

Sobel 処理された画像、 Sepia 処理された画像をそれぞれ示します。 2 つのビデオ フ ィルター IP コアの

RTL は、 Vivado™ HLS (高位合成) ツールを使用して C 言語のアルゴ リ ズム記述から生成されます。

Sobel フ ィルター アルゴ リズム、 Vivado HLS ツール フロー、 Linux デバイス ド ラ イバー、およびシス

テム統合の詳細は、『Vivado HLS ツールを使用した Zynq All Programmable SoC での Sobel フ ィルター

の実装』 (XAPP890) [参照 2] を参照してください。Sepia フ ィルターにも、同様の概念を適用できます。

このアプリ ケーシ ョ ン ノートでは、 ユーザーに ZC702 ベース TRD [参照 1] とそのハード ウェア/ソフ

ト ウェアに関する知識があるこ とを前提に説明します。 主に、 次の内容に焦点を当てています。

• パーシャル リ コンフ ィギュレーシ ョ ンに 適な機能

• リ コンフ ィギャラブル モジュールの設計上の注意事項と インターフェイス要件

• パーシャル リ コンフ ィギュレーシ ョ ン デザイン フローの詳細手順

• PS DevC/PCAP インターフェイスを介してソフ ト ウェア制御のパーシャル リ コンフ ィギュレー

シ ョ ンを実行

システムの概要 このセクシ ョ ンでは、 付属する リ ファレンス デザインにおけるプログラマブル ロジッ ク (PL) とプロ

セッシング システム (PS) について、システム レベルで説明します。図 3 に、 リ ファレンス デザインの

ブロ ッ ク図を示します。

X-Ref Target - Figure 1

図 1 : ビデオ処理パイプライン

InputInterface

PreProcessing

OutputInterface

CoreProcessing

Frame Buffers

DDR3 Memory

Frame Buffers

PostProcessing

Source Sink

CPU

X1159_01_12_05_12

X-Ref Target - Figure 2

図 2 : オリジナル画像 (左)、 Sobel 処理済み画像 (中央)、 Sepia 処理済み画像 (右)X1159_02_12_05_12

Page 3: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

システムの概要

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 3

プログラマブル ロジック

PL リ ファレンス デザインには、 次の IP コアが含まれています。

• AXI Interconnect [参照 14]

• AXI Video DMA (VDMA) [参照 15]

• Xylon Compact Video Controller (logiCVC) [参照 16]

• AXI Performance Monitor [参照 17]

• Video Timing Controller (VTC) [参照 18]

• Video Test Pattern Generator (TPG) [参照 19]

• Chroma Resampler (CRS) [参照 20]

• YCrCb to RGB Color-Space Converter (CSC) [参照 21]

• Video In to AXI4-Stream [参照 22]

• Filter Engine : Sobel または Sepia フ ィルター(1)

X-Ref Target - Figure 3

図 3 : PR リファレンス デザインのシステム レベル ブロック図

1. Vivado HLS で生成された IP コアです。

USB

GigE

SD

Peripherals

IRQ

IRQ

EMIO

DMA 8Channel

CoreSightComponents

DAP

DevC

SWDT

DMASync

ACP

256KSRAM

Application Processor Unit

TTC

SystemLevel

ControlRegs

GigE

CAN

SDSDIO

UART

GPIO

UARTCAN

I2C

SRAM/NOR

ONFI 1.0NAND

Processing System

MemoryInterfaces

Q-SPICTRL

USB

GigE

I2C

USB

SDSDIO

SPISPI

Programmable Logic to MemoryInterconnect

MMU

FPU and NEON Engine

Snoop Controller, AWDT, TimerGIC

32 KBI-Cache

ARM Cortex-A9CPU

ARM Cortex-A9CPU MMU

FPU and NEON Engine

ConfigAES/SHA

XADC12 bit ADC

MemoryInterfaces

512 KB L2 Cache & Controller

OCMInterconnect

DDR2/3,LPDDR2

D-Cache32 KB

I-Cache32 KB

D-Cache

MIO

ClockGeneration

Reset

CentralInterconnect

Controller

32 KB

Programmable Logic

HP0HP2

VDMA

MM2S S2MM S2MM

VDMA

logi

CSC

CRS

TPG

CVC

FilterEngine

VTC

GP0

Source Sink

HP1HP3GP1GP2GP3

X1159_03_12_05_12

Page 4: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

ハードウェア デザイン

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 4

図 3 のプリ プロセッシング パイプラインは、 VTC、 TPG、 CRS、 CSC、 および VDMA で構成されて

います。 VTC は、 TPG が FPGA 内でテス ト パターンを生成するのに必要なビデオ タイ ミ ング信号を

生成します。 オプシ ョ ンで、 FMC ドーター カードを使用して外部ビデオ入力ソースを接続できます。

いずれの場合も、入力ビデオ フォーマッ トは YCbCr 4:2:2 です。このフォーマッ トは CRS および CSCブロ ッ クで RGB 4:4:4 に変換されます。 そして、 VDMA が、 入力されるビデオ ス ト リームを DDR メモ リ内にある専用のビデオ フレーム バッファーへ書き込みます。

コア プロセッシング パイプラインは、 Filter Engine と VDMA (2 つ目) で構成されています。 コア プロセッシング パイプラインを無効にする と、オ リ ジナルのビデオ入力ス ト リームを表示できます。有効

にした場合は、 VDMA が DDR からビデオ フレームを読み出し、 Filter Engine へ転送します。 ビデオ

フレームは Filter Engine 内で処理された後、 VDMA によって DDR メモ リへ書き戻されます。 この

Filter Engine (薄緑色のボッ クス) が、 このデザインでリ コンフ ィギュレーシ ョ ンされるブロ ッ ク とな り

ます。特定のインプ リ メンテーシ ョ ンを言及していない場合には、Filter Engine という名称を用います。

このブロ ッ クにインプリ メンテーシ ョ ン可能な 2 つのフ ィルターは、 Sobel フ ィルターと Sepia フ ィル

ターです。 リ ファレンス デザインでは、 Sobel フ ィルターを 初のフ ィルターと して使用しています。

Sobel/Sepia フ ィルター モジュールは、 パーシャル リ コンフ ィギュレーシ ョ ン機能を使用して、 動作中

にロードできます。

ポス ト プロセッシング パイプラインは、 logiCVC ディ スプレイ コン ト ローラーで構成されています。

この部分には、 DDR メモ リからフレーム バッファーを読み出すための統合 DMA エンジンと、 複数ビ

デオ ス ト リームをアルファブレンドするためのマルチレイヤー アルファブレンダーが含まれます。 ビ

ルト インのカラー スペース コンバーターおよびクロマ リサンプラ ユニッ トが、ビデオ データを YCbCr4:2:2 出力ビデオ フォーマッ トへ変換します。出力ビデオ ス ト リームは、HDMI を介してモニター ディ

スプレイへ転送されます。

プロセッシング システム

プロセッシング システム (PS) では、図 3 に示す I/O ペリ フェラル (USB0、 Ethernet0、 SD0、 UART1、I2C0、 I2C1、 および GPIO) が有効に設定されています。 EMIO (黄色のボッ クス) 用に構成されている

I2C1 および一部の GPIO を除き、すべての I/O ペリ フェラル インターフェイスは MIO (オレンジ ボッ

クス) 用に構成されています。 I2C0 コン ト ローラーは、 ZC702 ボード上の ADV7511 HDMI ト ランス

ミ ッ ター (正確なビデオ ク ロ ッ クを供給) と SI570 ク ロ ッ ク シンセサイザーを設定するために使用され

ます [参照 3]。 I2C1 コン ト ローラー (信号は PL を介して配線) は、 Avnet 社製 FMC-IMAGEON ドー

ター カード上の ADV7611 HDMI レシーバーを設定するために使用されます (オプシ ョ ン) [参照 4]。GPIO 信号は PL へ配線され、 TPG のリセッ ト 、 Filter Engine のリセッ ト、 および TPG と (FMC から

の) 外部ビデオ入力のマルチプレ ク スに使用されます。 割 り込み信号は、 3 つの VDMA チャネル、

logiCVC、および Filter Engine へ接続されます。汎用マスター ポートの GP0 は、 メモ リ マップされた

IP コアを AXI4-lite を介して設定および制御するために使用されます。高性能ポートの HP0 および HP2は、 AXI4 を介して接続されます。 つま り、 コア プロセッシング パイプラインが HP2 読み出し /書き込

みチャネルへ、入力/プリプロセッシング パイプラインが HP0 書き込みチャネルへ、そして出力/ポス ト

プロセッシング パイプラインが HP0 読み出しチャネルへ接続されます。PS の内部クロ ッ ク ジェネレー

ターが PL へ 100MHz ク ロ ッ ク (図には非表示) を供給し、 PL では 150MHz ク ロ ッ ク (データ パス) および 75MHz ク ロ ッ ク (制御パス) が生成されます。 未使用の I/O ペリ フェラルおよび PL インターフェ

イスは、 グレーアウ ト表示されています。

ハードウェア デザイン

ZC702 ベース TRD のハードウェア デザインの詳細は、『Zynq-7000 All Programmable SoC ZC702 ベー

ス ターゲッ ト リ ファレンス デザイン ユーザー ガイ ド』 (UG925) [参照 1] を参照してください。基本的

には、 このアプリ ケーシ ョ ン ノートで提供する リ ファレンス デザインと次の点で同じです。

• PS のコンフ ィギュレーシ ョ ンと主な機能

• IP コアのコンフ ィギュレーシ ョ ン、 アドレス マップ、 および主な機能

• PL ペリ フェラル用の割り込み ID

Page 5: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

リコンフ ィギャラブル モジュールの設計における留意事項

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 5

• GPIO 信号のマッピング

• ク ロ ッキングおよびリセッ トの構造

リ コンフ ィギャラブル モジュールの設計における留意事項

このセクシ ョ ンでは、 パーシャル リ コンフ ィギュレーシ ョ ンを実行する IP を選択および設計する際の

留意事項について説明します。 また、 リ ファレンス デザインの Filter Engine コアがパーシャル リ コン

フ ィギュレーシ ョ ンに適する理由についても述べています。

用語

このアプリ ケーシ ョ ン ノートで使用する用語について説明します。リ コンフ ィギャラブル パーティシ ョ

ン (RP) とは、 パーシャル リ コンフ ィギュレーシ ョ ン用に選択された FPGA の物理的な部分のこ とで

す。その他の部分は、 スタティ ッ ク ロジッ ク といいます。 Filter Engine は、ハード ウェア インターフェ

イス とポートで定義される一般的なソケッ トであ り、 RP にマップされます。 このソケッ トへは、 任意

のフ ィルター インプ リ メ ンテーシ ョ ンをプラグインでき るため、 リ コンフ ィギャ ラブル モジュール

(RM) と呼ばれます。 このデザインでは、 2 つの RM (Sobel フ ィルターと Sepia フ ィルター ) が提供さ

れています。 スタティ ッ ク ロジッ ク と RM を併せてコンフ ィギュレーシ ョ ンといいます。 このデザイ

ンで提供する 2 つのコンフ ィギュレーシ ョ ンは、 Sobel コンフ ィギュレーシ ョ ンと Sepia コンフ ィギュ

レーシ ョ ンです。 コンフ ィギュレーシ ョ ンとは、完成した FPGA デザインを表し、 RM と スタティ ッ ク

ロジッ ク用のフル ビッ ト ス ト リームおよび RM 用のパーシャル ビッ ト ス ト リームを生成します。

フ ィルター動作

デザインにおける選択をよ り具体的に理解するため、 Filter Engine IP コアの動作を確認します。 このコ

アには AXI4-Lite インターフェイスがあ り、 これは PS がコアの動作を設定および制御するために使用

されます。 初にこの IP コアを現ビデオ ス ト リームのビデオ サイズ (幅と高さ ) で設定する必要があ り

ます。 その後、 コアが開始し、 すべてのビデオ フレームを処理した後に割り込みが発行されます。 割り

込みハンド ラーが割り込みソースを特定し、その後コアを再開します。 これで次のビデオ フレームを処

理できるよ うにな り ます。 このよ うにして、 ビデオ コアは入力されるビデオ ス ト リームをフレームご

とに継続的に処理します。 ユーザーは、 現フレームが処理された後にコアを再開させないよ う割り込み

ハンド ラーへ命令するフラグをセッ トするこ とで、 コアの動作を停止できます。 さ らに、 コアのリセッ

ト ラ インへ接続された、 対応する PS-GPIO 信号を駆動するこ とによって、 コアを リセッ ト できます。

つま り、 ユーザーがコアの動作 (設定、 開始、 停止、 リセッ ト ) を管理できます。

ハードウェア インターフェイス

Filter Engine IP コアは、 システムのスタティ ッ ク部分に対して次に示すハード ウェア インターフェイ

スおよび接続を備えています。

• GP0 マスター インターフェイスへ接続された 32 ビッ トの AXI4-Lite インターフェイス

• VDMA MM2S マスター インターフェイスへ接続された 32 ビッ トの AXI4-Stream インターフェ

イス

• VDMA S2MM スレーブ インターフェイスへ接続された 32 ビッ トの AXI4-Stream インターフェ

イス

• PS-GIC へ接続された割り込み信号

• PS-GPIO コン ト ローラーへ接続された リセッ ト信号

• AXI4-Lite および AXI4-Stream インターフェイス と同じ クロ ッ ク ド メ イン (このデザインでは

150MHz) へ接続されたクロ ッ ク信号

パーシャル インターフェイス用の IP コアを選択する際には、 すべての RM のハード ウェア インター

フェイスおよびポートがシステムのスタティ ッ ク部分に対して同一であるこ とを確認する必要があ り ま

す。 RP フローでは、 デザインの RP と スタティ ッ ク部分の境界にポートが挿入されます。 したがって、

すべての RM (つま り、 RP へマップされた特定インプ リ メ ンテーシ ョ ンすべて) は、 スタテ ィ ッ ク ロジッ クに対して同じ位置にある 1 つのポート を共有する必要があ り ます。

Page 6: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

全体的な設計フロー

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 6

インターフェイスの非干渉化

リ コンフ ィギャラブル ロジッ クは FPGA デバイスが動作している間に変更されるため、 パーシャル リコンフ ィギュレーシ ョ ン中は、 RM の出力に接続されたスタティ ッ ク ロジッ クは RM からのデータを

無視する必要があ り ます。 RM は、 パーシャル リ コンフ ィギュレーシ ョ ンが完了して再コンフ ィギュ

レーシ ョ ンされたロジッ クがリセッ ト されるまで有効な値を出力しません。 一般的な対応策と して、 す

べての出力信号にレジスタを介したり、 ハンドシェークを使用する、 あるいは無効な ト ランザクシ ョ ン

を回避するためにバス インターフェイスを無効化する方法があ り ます。 スタテ ィ ッ ク ロジッ クには、

データおよびインターフェイスを管理するロジッ クを含める必要があ り ます。

この リ ファレンス デザインでは、 AXI インターフェイスおよび割り込みラインに注意する必要があ り

ます。パーシャル リ コンフ ィギュレーシ ョ ン中は、AXI インターフェイス上に保留中のト ランザクシ ョ

ンがないよ うに、 設計者の責任で十分注意を払う必要があ り ます。 このよ うな ト ランザクシ ョ ンがある

と、 AXI バスが停止する可能性があ り ます。また、 リ コンフ ィギュレーシ ョ ン中は GCI で割り込みハン

ド ラーを無効にするこ と も推奨します。 割り込みハンド ラーは、 完全にロード されていないフ ィルター

モジュール内のハードウェア レジスタへアクセスするなど、割り込みがシステムを停止させるよ うな不

正な割り込みや処理を行う可能性があ り ます。 この リ ファレンス デザインでは、 ソフ ト ウェアを使用し

て上記の状況を回避しています。場合によっては、これらを適切に分離させるために、RM のハードウェ

ア インターフェイスへハード ウェア グルー ロジッ クを追加する必要があ り ます。 リ コンフ ィギュレー

シ ョ ン後、 指定したステートへ RM を確実に遷移させるために、 リ コンフ ィギュレーシ ョ ン プロセス

の直前、 途中、 および後にフ ィルター IP コアを リセッ トする こ とを推奨します。 リ コンフ ィギュレー

シ ョ ン完了後、 リセッ ト信号がディアサート されて、 コアのコンフ ィギュレーシ ョ ンと開始の準備が整

います。詳細は、『パーシャル リ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG702) [参照 5] の第 7 章「デザインの注意事項」 を参照して ください。

ドライバー アーキテクチャ、 レジスタ インターフェイス、 アドレス マップ

Filter Engine IP コアは、 一般的なハードウェア レジスタ インターフェイスを 1 つ実装し、 同一のメモ

リ アドレス マップを使用します。 この場合、 要件が厳し くない上に、 ソフ ト ウェア ド ラ イバーのアー

キテクチャが非常にシンプルにな り ます。 このデザインで唯一コンフ ィギュレーシ ョ ン可能なフ ィル

ター コアのパラ メーターは、両方の RM に共通するビデオ サイズです。よ り高機能な例になる と、Sobelフ ィルターは輪郭検出の感度を制御する係数でプログラム可能にな り、 Sepia フ ィルターは、 セピア色

以外の色付け効果をもたらすなど個別にカラー コンポーネン ト を制御するパラ メーターを用いてプロ

グラムできるよ うにな り ます。 そのよ うな場合、対応する ド ライバーは、すべての RM が共有する基本

機能を提供する一般的なコア ド ラ イバーと、多様なインプリ メンテーシ ョ ンに独自機能を提供するフ ィ

ルター固有のド ライバーに分けられるこ とがあ り ます。 今回のリ ファレンス デザインでは、 Sobel フ ィ

ルターと Sepia フ ィルターのインプリ メンテーシ ョ ンに、 まったく同じ ド ライバーが使用可能です。

全体的な設計フロー

パーシャル リ コンフ ィギュレーシ ョ ン可能な FPGA デザインをインプ リ メ ン トするこ とは、 共通のロ

ジッ クを共有する通常のリ コンフ ィギュレーシ ョ ン デザインを複数インプ リ メ ン トする こ と と同じで

す。PlanAhead™ ツールを使用する場合、PR 可能なプロジェク トはネッ ト リ ス ト レベルで開始します。

事前に必要な手順

必要なネッ ト リ ス ト とそれに対応する制約ファイルを生成するには、このリ ファレンス デザインでは次

の 3 つの手順を実行します。

1. Vivado HLS ツールを使用して、 Sobel フ ィルターおよび Sepia フ ィルターの IP コアとそれらに対

応するスタンドアロンまたはベアメ タル ド ラ イバーを生成します。Vivado HLS では、RTL コード

を生成するこ とによって、 C、 C++、 または System-C 言語で記述されたアルゴ リ ズムを Zynq PSから PL へ移行できます。 生成された RTL コードは、 XPS pcode と してエクスポートでき、 その

後 XPS プロジェク トへ簡単に適用できます。 Vivado HLS を使用した Sobel フ ィルター インプリ

メ ンテーシ ョ ン フ ローのチュー ト リ アルは、 『Vivado HLS ツールを使用し た Zynq AllProgrammable SoC での Sobel フ ィルターの実装』 (XAPP890) [参照 2] を参照してください。Sepia

Page 7: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

全体的な設計フロー

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 7

フ ィルターに対しても同じ手法を適用できます。

2. ハードウェア デザインは、 ZC702 ベース TRD を基盤とする PlanAhead/XPS プロジェク ト と して

提供され、Sobel フ ィルターの pcore ( 初の手順で取得) が既にインスタンシエート されています。

Sobel フ ィルター デザインは合成されて、 システム全体および各 IP コアそれぞれのネッ ト リ ス ト

と制約ファイルを生成します。

3. 初の合成が実行された後、 Sobel フ ィルターの pcore は Sepia フ ィルターの pcore に置き換えら

れ、 新たなデザインが再合成されます。 この実行では、 Sepia フ ィルター IP コア用のネッ ト リ ス ト

と制約ファイルを取得します。 その他すべてのネッ ト リ ス トおよび制約ファイルは、 前の手順で取

得済みです。

パーシャル リ コンフ ィギュレーシ ョ ンの設計フロー

PlanAhead ツールのパーシャル リ コンフ ィギュレーシ ョ ンは、 ラ イセンスが必要な特別な機能です。詳

細は、ザイ リ ンクスのパーシャル リ コンフ ィギュレーシ ョ ンに関するウェブ ページ [参照 13] を参照し

て ください。

次に PlanAhead PR 設計フローの各手順について簡単に説明します。

1. ZC702 評価プラ ッ ト フォームをターゲッ ト と した PlanAhead PR プロジェク ト を作成し、「事前に

必要な手順」 セクシ ョ ンの手順 2 と 3 で生成した Sobel および Sepia フ ィルター用のネッ ト リ ス

ト /制約ファ イルを除いた、 その他のネッ ト リ ス ト と制約ファ イルをインポート します。 これらは、

デザインのスタティ ッ ク ロジッ クを表します。

2. 合成したデザインをロードする場合、 Filter Engine モジュールには関連するネッ ト リ ス トがないた

め、 これはブラ ッ ク ボッ クス と して扱われます。 Filter Engine モジュールを リ コンフ ィギャラブル

パーティシ ョ ン (RP) と して定義します。 このパーティシ ョ ンによって、 各複数デザインに共通す

るロジッ ク と配線が確実に同じになり ます。

3. Sobel フ ィルター コアおよび Sepia フ ィルター コアそれぞれのネッ ト リ ス ト /制約ファイルを追加

し、すでに作成した RP に対して 2 つのリ コンフ ィギャラブル モジュール (RM) を作成します。特

定 RM にのみ適用する制約は、 モジュール レベルで適用し、 対応するネッ ト リ ス ト と共に提供す

る必要があ り ます。 また、 スタテ ィ ッ ク ロジッ クへ適用する制約およびすべての RM で共有され

る制約は、 ト ップレベルの制約ファイルに含める必要があ り ます。

4. パーティシ ョ ンの物理的なサイズや必要な リ ソース タイプを設定して、リ コンフ ィギャラブル パー

ティシ ョ ンのフロアプランを作成します。ザイ リ ンクス FPGA は、CLB (フ リ ップフロ ップ、LUT、分散 RAM、 マルチプレクサなど)、 BRAM、 DSP ブロ ッ ク、 および関連するすべての配線リ ソー

スのリ コンフ ィギュレーシ ョ ンをサポート しています。 設計者は、 RM に必要な リ ソースを収容で

きるよ うに RP をフロアプランする必要があ り ます (表 1 参照)。配線リ ソースに関しては、約 20%のオーバーヘッ ドを考慮しておく必要があ り ます。 スタテ ィ ッ ク ロジッ クに対して、 PL 内に RPを配置する位置は、 データ フローや RM がその他のデザイン部分とどのよ うに関連しているかに

よって異なり ます。 シンプルなス ト ラテジは、 フロアプランを行わずに も高いリ ソース使用率で

コンフ ィギュレーシ ョ ンをインプ リ メ ン ト し、 大半の リ ソースが配置されている位置を特定して、

その領域の周辺にこれらすべてのリ ソースを含めるのに十分な大きさのパーティシ ョ ンを作成する

こ とです。 このと き、 フレームに沿って RP を作成する と、 適な配置配線結果が達成できます。

リ コンフ ィギャ ラブル フレームとは、 リ コンフ ィギュレーシ ョ ンできる物理的な 小領域で、 ク

ロ ッ ク領域の境界に対して垂直に揃っている部分です。 7 シ リーズ デバイスの場合、 リ コンフ ィ

ギャラブル フレームは、高さが CLB 50 個分で幅が CLB 1 個分です。 RP の物理領域は、プライマ

リ制約ファイルに AREA_GROUP RANGE 制約と して格納されます。RP のフロアプラン方法の詳

細は、『パーシャル リ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG702) [参照 5] を参照してくだ

さい。

Page 8: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

全体的な設計フロー

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 8

5. リ コンフ ィギャラブル デザインのコンフ ィギュレーシ ョ ンを構築する場合には、 も実現が難しい

と思われるコンフ ィギュレーシ ョ ンを 初に選択します。 後続のコンフ ィギュレーシ ョ ンすべての

RM はよ り小規模または低速になるため、 要件が満たしやすくなり ます。 表 1 に示す使用率に基づ

いて、 まず 初に Sobel コンフ ィギュレーシ ョ ンをインプリ メ ン ト します。 PlanAhead では、 RMの構築に使用される リ ソースが、 指定された RP 領域内に確実に含まれるよ うに管理されるため、

デザインのスタテ ィ ッ ク部分に障害が生じる こ とはあ り ません。 インプ リ メ ンテーシ ョ ン完了後、

スタティ ッ ク部分のインプリ メンテーシ ョ ン結果が Sepia コンフ ィギュレーシ ョ ンで再利用できる

よ うに、 Sobel コンフ ィギュレーシ ョ ンを進めます。

6. Sepia コンフ ィギュレーシ ョ ンをインプリ メン ト します。 前の手順で生成された Sobel コンフ ィ

ギュレーシ ョ ンからスタティ ッ ク ロジッ クをインポート します。 図 4 に、 Sobel コンフ ィギュレー

シ ョ ンと Sepia コンフ ィギュレーシ ョ ンの RP 内の物理的な リ ソースを比較する PlanAhead 画面を

示します。

表 1 : Sobel および Sepia の RM で必要なリソース

RP Sobel RM Sepia RM

サイ ト タイプ 利用可能な数 必要な数 使用率 必要な数 使用率

LUT 1600 987 62 547 35

FD_LD 3200 1007 32 613 20

SLICEL 250 149 60 76 31

SLICEM 150 99 66 62 42

DSP48E1 20 2 10 5 25

RAMBFIFO18E1 20 3 15 0 0

RAMBFIFO36E1 10 0 0 0 0

Page 9: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

全体的な設計フロー

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 9

7. PR Verify Configuration Utility を実行して、 Sobel コンフ ィギュレーシ ョ ンと Sepia コンフ ィギュ

レーシ ョ ンのインプリ メンテーシ ョ ンの一貫性を検証します。

8. Sobel コンフ ィギュレーシ ョ ンおよび Sepia コンフ ィギュレーシ ョ ンのフル ビッ ト ス ト リームと

パーシャル ビッ ト ス ト リームを生成します。 こ こでは、 Zynq デバイスを起動する際に、 Sobel コンフ ィギュレーシ ョ ンのフル ビッ ト ス ト リームをデフォル トのスタート アップ コンフ ィギュレー

シ ョ ンと して使用します。

9. PROMGen ツールを使用して、Sobel および Sepia のパーシャル ビッ ト ス ト リームをバイナリ形式

に変換します。 PROMGen は、 DevC の DMA エンジンを使用して PL へコンフ ィギュレーシ ョ ン

データを送信する際に必要となる、 生成されたパーシャル バイナリ ファ イルのサイズもレポート

します。

図 5 に、 リ ファレンス デザインを使用する全体的な設計フローを示します。 濃いグレーのボッ クスは

Sobel コンフ ィギュレーシ ョ ンを示し、 初の合成およびインプリ メンテーシ ョ ン プロセスで使用され

ます。 2 番目のプロセスでは、 Sepia コンフ ィギュレーシ ョ ンが使用されます (薄いグレーのボッ クス)。結果と して 4 つのビッ ト ス ト リームが生成されて、そのうちの 3 つ (実線枠) が 終的なアプリ ケーシ ョ

ンで使用され、 Sepia のフル ビッ ト ス ト リーム (破線枠) は破棄されます。 各手順の詳細説明は、 ZynqPR リ ファレンス デザインに関する Wiki ページ [参照 6] を参照して ください。 PR デザイン フローお

よび設計上の注意事項に関する詳細は、 『パーシャル リ コンフ ィ ギュ レーシ ョ ン ユーザー ガイ ド』

(UG702) [参照 5] を参照してください。

X-Ref Target - Figure 4

図 4 : PlanAhead 画面 - Sobel フ ィルター (左) および Sepia フ ィルター (右) で配置された RP リソース

X1159_04_12_05_12

Page 10: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

デバイス コンフ ィギュレーシ ョ ン

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 10

デバイス コンフ ィギュレーシ ョ ン

図 6 に示すよ うに、Device Configuration インターフェイス (DevC) には、PL コンフ ィギュレーシ ョ ン

ロジッ ク と インターフェ イスする AXI-PCAP ブ リ ッジ (中央)、 デバイスのセキュ リ テ ィ管理を行う

Security Management (左)、 XADC インターフェイス (右) の3 つの主要ブロッ クがあ り ます。 このアプ

リ ケーシ ョ ン ノートに関係するブロ ッ クは、 AXI-PCAP ブリ ッジのみです。

X-Ref Target - Figure 5

図 5 : PR リファレンス デザインの全体的な設計フロー

X1159_05_12_05_12

Sepia IPSobel IP

Synthesis

Implementation

Full_Sobel

SobelRM

SepiaRM

DesignSobel

Implementation

BitGen/Promgen

HDL Sources

Netlists

Designs

Bitfiles

Promote

ImplementedDesignSepia

System

HLS HLS

C Sources

BitGen/Promgen

Partial_Sobel Full_Sepia Partial_Sepia

LogicStatic

Page 11: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

デバイス コンフ ィギュレーシ ョ ン

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 11

AXI-PCAP ブリ ッジ

AXI-PCAP ブリ ッジでは、 32 ビッ トの AXI 形式データを 32 ビッ トの PCAP プロ ト コルへ (またはそ

の逆に) 変換します。TX および RX FIFO が AXI インターフェイス と PCAP インターフェイス間のデー

タをバッファ リ ングします。 FIFO と メモ リ デバイス (通常は OCM、 DDR メモ リ、 またはペリ フェラ

ル メモ リのいずれか 1 つ) 間のデータ移動は、 DMA エンジンで駆動されます。 32 ビッ トの PCAP インターフェイスは 100MHz ク ロ ッ クで駆動されて、ノンセキュアの PL コンフ ィギュレーシ ョ ンの場合

には 400MB/s のダウンロード をサポー ト し、 4 ク ロ ッ ク サイ クルに 1 回のみデータが送信されるセ

キュアな PL コンフ ィギュレーシ ョ ンでは 100MB/s のスループッ ト をサポート します。PCAP インター

フェイスを介してデータ転送を行う場合は、 DevC ド ラ イバーの関数を呼び出す必要があ り ます。 この

ド ラ イバーは適切な PCAP モードの選択と DMA 転送の開始を管理します。関数の呼び出しは、AXI 転送および PCAP 転送の両方が完了した後にのみ返されます。

デバイス コンフ ィギュレーシ ョ ンおよびブート フロー

デバイス コンフ ィギュレーシ ョ ンのフローとパーシャル リ コンフ ィギュレーシ ョ ンのフローは、 図 6で説明しています。 シーケンスは次のとおりです。

X-Ref Target - Figure 6

図 6 : デバイス コンフ ィギュレーシ ョ ン フロー (ブートおよびパーシャル リコンフ ィギュレーシ ョ ン)

X1159_06_12_05_12

AXI-PCAP Bridge

CPU

NANDNORQSPI

IOP

On-ChipRAM

DDRMemory

MDDRFlash

TX FIFOSecurityManagement

PS Boot Path

PL Boot Path(Full Sobel)

AXI Master Interface

RX FIFO

PCAP Interface

DeviceConfiguration

PL

SD

AXI Top-Switch

PL PR Path(Partial Sobel/Sepia)

PS

PL

1

2

3

4

BootROM

XADCInterface

Page 12: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

ソフ トウェア アプリケーシ ョ ン

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 12

1. パワーオン リセッ ト後、 Boot ROM が外部メモ リ インターフェイスまたはブート モード (SD フラ ッシュ メモ リ ) と暗号化ステータス (ノンセキュア) を決定します。Boot ROM は、DevC の DMAを使用して FSBL (第 1 段階ブート ローダー ) を OCM (オンチップ RAM) へロード します。

2. Boot ROM が動作を終了する と、 CPU の制御権は FSBL へ引き渡されます。 そして FSBL がPCAP (プロセッサ コンフ ィギュレーシ ョ ン アクセス ポー ト ) を介して Sobel フル ビ ッ ト ス ト

リームを PL へロード します。 これで、 デバイスは完全にコンフ ィギュレーシ ョ ンされて動作可

能な状態とな り ます。

a. スタンドアロン : FSBL がロード実行後、制御権はスタンドアロン ユーザー アプリ ケーシ ョ ン

へ引き渡されます。

b. Linux : FSBL がロード実行後、 制御権は第 2 段階ブート ローダー (u-boot) へ引き渡されま

す。 u-boot は Linux カーネル イ メージ、 Linux デバイス ツ リー バイナリおよび Linux ルー

ト ファ イル システムをロード します。 その後、 制御権 は Linux カーネルへ引き渡されます。

ブート プロセスの 後で、 Linux Qt ユーザー アプ リ ケーシ ョ ンが自動的に開始されます。

3. スタート アップ時に、ユーザー アプリ ケーシ ョ ンがパーシャル ビッ ト ス ト リームを DDR メモ リへ

ロード します。 これは、 PCAP インターフェイス経由でのコンフ ィギュレーシ ョ ンのスループッ ト

を 大限にするためです。 これによってコンフ ィギュレーシ ョ ンが高速化し、 キャ ッシュ機能を活

用できます。

4. この時点で、 アプリ ケーシ ョ ンは随時パーシャル ビッ ト ス ト リームを使用して、 あらかじめ指定し

た PL 領域を変更できます。 この間、 FPGA のその他の部分はアクティブ状態を保ち、 動作を継続

できます。 こ こでは、PCAP を介して Sobel パーシャル ビッ ト ス ト リームまたは Sepia パーシャル

ビッ ト ス ト リームのいずれかを DDR から PL へ転送するこ とで、 パーシャル リ コンフ ィギュレー

シ ョ ンを実行できます。

1 つのコンフ ィギュレーシ ョ ン エンジンがフル コンフ ィギュレーシ ョ ン とパーシャル コンフ ィギュ

レーシ ョ ンの両方を管理します。 パーシャル ビッ ト ス ト リームにはコンフ ィギュレーシ ョ ン フレーム

のアドレス情報が含まれているため、 これを PL へロードする際に、 リ コンフ ィギャラブル モジュール

の物理的な位置を把握している必要はあ り ません。 ブー トおよびコンフ ィ ギュレーシ ョ ンの詳細は、

『Zynq-7000 AP SoC テクニカル リ ファレンス マニュアル (TRM)』 (UG585) [参照 7] の第 6 章「ブート

およびコンフ ィギュレーシ ョ ン」、および 『Zynq-7000 EPP ソフ ト ウェア開発者向けガイ ド』 (UG821) [参照 8] の第 3 章を参照して ください。コンフ ィギュレーシ ョ ン全般に関する情報は、『7 シ リーズ FPGAコンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470) [参照 9] を参照してください。

ソフ トウェア アプリケーシ ョ ン

付属のリ ファレンス デザインでは、 スタンドアロン/ベアメ タル ソフ ト ウェア アプリ ケーシ ョ ン、 コマ

ンド ライン ベースの Linu アプリ ケーシ ョ ン、Qt GUI ベースの Linu アプリ ケーシ ョ ンの 3 つのソフ ト

ウェア アプリ ケーシ ョ ンを提供しています。これら 3 つのアプリ ケーシ ョ ンはすべて同じ機能を備えて

おり、ユーザーはオリジナルの未処理ビデオ ス ト リーム (コア プロセシング パイプラインをバイパス)、Sobel 処理されたビデオ ス ト リーム、 Sepia 処理されたビデオ ス ト リームのいずれかの実行モードを選

択できます。 また、 PL 内のテス ト パターン ジェネレーター (TPG) と外部ビデオ ソースのいずれかも

選択可能です。 ただし、 外部ビデオ ソース を選択する場合には、 ZC702 評価ボード [参照 3] とFMC-IMAGEON ドーター カード [参照 4] が必要です。 Linux ソ フ ト ウ ェア アプ リ ケーシ ョ ンは、

ZC702 ベース TRD ソ フ ト ウ ェアに基づいています。 ソ フ ト ウ ェア アーキテ クチャの詳細は、

『Zynq-7000 All Programmable SoC ZC702 ベース ターゲッ ト リ ファレンス デザイン ユーザー ガイ ド』

(UG925) [参照 1] を参照して ください。 このアプ リ ケーシ ョ ン ノー ト では、 ソフ ト ウェア制御による

Filter Engine のパーシャル リ コンフ ィギュレーシ ョ ンを可能にするために強化された機能について説

明します。

ソフ トウェア制御フロー

付属のソフ ト ウェア アプ リ ケーシ ョ ンでは、 固定のビデオ解像度を使用するため、 ビデオ タイ ミ ング

に対応するペリ フェラル (VTC、 logiCVC、 および SI570 ク ロ ッ ク シンセサイザー ) はプログラム実行

時に一度のみ設定します。 Linux アプ リ ケーシ ョ ンのク ロ ッ ク シンセサイザーは logiCVC フレーム

Page 13: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

ソフ トウェア アプリケーシ ョ ン

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 13

バッファー ド ラ イバーで設定されますが、 スタンドアロン アプ リ ケーシ ョ ンの場合には個別に設定す

る必要があ り ます。 また、 スタンドアロン アプリ ケーシ ョ ンでは、 ADV7511 HDMI ト ランス ミ ッ ター

および ADV7611 HDMI レシーバー (FMC がある場合) がスタート アップ時に初期化されますが、いず

れか一方の Linux アプリ ケーシ ョ ンを使用する場合は、 FSBL 内で初期化が実行されます。

スター ト アップ時の初期化が完了する と、 ソ フ ト ウェア アプ リ ケーシ ョ ンはコマン ド ラ インまたは

GUI からのユーザー入力を待機します。 その後のスタンドアロン アプリ ケーシ ョ ンのソフ ト ウェア制

御フローは、 図 7 のよ うにな り ます。 Linux アプリ ケーシ ョ ンでも同様のフローが適用されます。 オレ

ンジ色で塗りつぶされたボッ クスは、パーシャル リ コンフ ィギュレーシ ョ ン フロー専用となるため、通

X-Ref Target - Figure 7

図 7 : ソフ トウェア制御フロー

User selectsvideo source &

filter mode

Same asprevious?

Videosource?

FMCpresent?

Videodetected?

Resolutionsupported?

Stop and resetTPG VDMA

Stop and resetTPG, CRS, CSC

Config and startTPG, CRS, CSC

Config and startTPG VDMA

Filtermode?

Disable ISR

Reset filter

Transfer partialbitstream viaDevC/PCAP

Release filterreset

Enable ISR

Config and startfilter

Config and startfilter VDMA

Stop filter

Stop and resetfilter VDMA

Yes

No

No

No

No

Yes

Yes

Yes

TPG

Extvideo

Off

Sobel/Sepia

X1159_07_12_05_12

Page 14: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

ソフ トウェア アプリケーシ ョ ン

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 14

常はこの部分を飛ばします。 オレンジ色のス ト ラ イプ ボッ クスは、 PR 制御フロー専用ではあ り ません

が、パーシャル リ コンフ ィギュレーシ ョ ンを開始する前に AXI4-Streaming インターフェイスで保留中

のト ランザクシ ョ ンがないこ とを確認するために非常に重要な部分です。 ソフ ト ウェアでこのこ とが保

証されない場合、 ハード ウェア グルー ロジッ クを使用し、 パーティシ ョ ン境界で AXI バス インター

フェイスを切り離す方法もあ り ます。

PCAP インターフェイスを介してパーシャル ビッ ト ス ト リームを転送する前には、ユーザーが割り込み

コン ト ローラーで割り込みハンド ラーが無効に設定されているこ とを確認する必要があ り ます。 無効に

設定されていないと、 リ コンフ ィギュレーシ ョ ンが不正な割り込みを ト リガーし、 ロードが完了してい

ない RM 内のハード ウェアへ ISR がアクセスしてしま う可能性があ り ます。 フ ィルターを既知の適切

な状態にするために、 パーシャル リ コンフ ィギュレーシ ョ ンの前、 途中、 および直後に リセッ ト をア

サートするこ とを推奨します。 PCAP を介して DMA 転送を初期化する場合は、 DDR メモ リ内のパー

シャル ビッ ト ス ト リームが格納されているアドレスまたはバッファー、およびビッ ト ス ト リームのサイ

ズ (PROMgen ツールから取得) を示す値を、対応する ド ライバー関数へ渡す必要があ り ます。 ビッ ト ス

ト リームの転送が完了する と リセッ トが リ リースされ、 ISR が有効になり、 フ ィルターが設定されて動

作可能な状態とな り ます。

フ ィルター エンジン ド ライバー

Linux の場合、 フ ィルターの開始/停止関数が自動的に ISR を有効化/無効化します。 ISR はド ライバー

に含まれ、 カーネル モードで実行します。 スタンドアロンの場合は、 ISR の有効化/無効化関数が別に

呼び出され、 ISR はド ライバーではなくユーザー アプリ ケーシ ョ ンに含まれます。 フ ィルターのリセッ

ト関数は、 PS GPIO ド ラ イバーを使用してインプリ メン ト されます。 スタンドアロン フ ィルター ド ラ

イバーは Vivado HLS で生成され、 すぐに利用できます。 『Vivado HLS ツールを使用した Zynq AllProgrammable SoC での Sobel フ ィルターの実装』 (XAPP890) [参照 2] では、生成されたスタンドアロ

ン ド ラ イバーを基に Linux ド ラ イバーを記述する方法について説明しています。 Linux ド ラ イバーは

Linux カーネルのパッチと して提供され、スタンドアロン ド ラ イバーは SDK ユーザー リ ポジ ト リ内に

提供されます。Sobel フ ィルター インプ リ メンテーシ ョ ンと Sepia フ ィルター インプリ メンテーシ ョ ン

では同じレジスタ インターフェイス とアド レス マップを使用するため、 両方に同一のド ライバーが使

用できます。

デバイス コンフ ィギュレーシ ョ ン ド ライバー

Linux DevC デバイス ド ラ イバーは、 Linux で提供される仮想ファ イル システム sysfs 上に構築され、

カーネルからユーザー空間へデバイスやド ライバーの情報をエクスポート します。 PCAP インターフェ

イス経由でパーシャル ビッ ト ス ト リームを転送する前に、 is_partial_bitstream デバイス属性が 1 に設定されている必要があ り ます。 DevC ノード上での書き込みファイル動作が、 パーシャル ビッ ト

ス ト リームを転送に使用されます。 DevC の書き込みド ラ イバー関数が、 DMA ト ランザクシ ョ ンを開

始し、 その後、 転送が完了したこ とを示す割り込み信号が現れるまで待機します。 パーシャル リ コン

フ ィギュレーシ ョ ンは、ユーザー アプリ ケーシ ョ ン外でシェルを使用して開始するこ と も可能です。た

とえば、 次のよ うに入力します。

% echo 1 > /sys/devices/amba.0/f8007000.devcfg/is_partial_bitstream

% cat /mnt/sobel.bin > /dev/xdevcfg

通常、パーシャル リ コンフ ィギュレーシ ョ ンを実行する前後に、システムが指定した状態になっている

こ とを確認するためにユーザー アプリ ケーシ ョ ンを実行する必要があるこ とに留意してください。スタ

ンドアロンでは、 シンプルな関数呼び出しによってビッ ト ス ト リームが転送されます。 DMA ト ランザ

クシ ョ ンおよび PCAP 転送の完了を判断するためには、 ポーリ ングが使用されます。

Page 15: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

パフォーマンスの測定基準

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 15

パフォーマンスの測定基準

リ ファレンス デザインでは、 メモ リ スループッ ト と コンフ ィギュレーシ ョ ン時間という 2 つの基準を

用いてパフォーマンスを測定しています。

メモリ スループッ ト

1920 x 1080 @60fps のビデオ解像度 (1080p60) の場合、 フ ィルターを無効に設定した リ ファレンス デザインの総メモ リ スループッ トは、 次のよ うになり ます。

(1920 x 1080 x 4 バイ ト x 60Hz) x 2 = 497MB/s x 2 1GB/s

フ ィルターを有効に設定した場合は、 次のよ うにな り ます。

(1920 x 1080 x 4 バイ ト x 60Hz) x 4 = 497MB/s x 4 2GB/s

GUI ベースの Linux アプリ ケーシ ョ ンを使用する場合は、GUI レイヤーでさらに 125MB/s が使用され

ます。 GUI では HP0 および HP1 ポートのパフォーマンス測定値が表示されるため、 リ アルタイムにメ

モ リ スループッ ト をモニタ リ ングできます。533MHz (1066MHz データ レート ) ク ロ ッ クで駆動される

32 ビッ ト幅の DDR3 メモ リの理論上のメモ リ スループッ トは、 次のよ うにな り ます。

4 バイ ト x 1066MHz = 4.264GB/s

したがって、 このデザインの 大メモ リ使用率は約 50% です。

(2GB/s + 0.125GB/s) /4.264 0.5

コンフ ィギュレーシ ョ ン時間

フレームの位置や内容によってわずかに変動する リ コンフ ィギャ ラブル フレーム数に伴ってビッ ト ス

ト リーム サイズが大き くなる と、 コンフ ィギュレーシ ョ ン時間は、 ほぼ線形的に増加します。 PCAP インターフェイスは、 32 ビッ ト幅でクロ ッ ク周波数は 100MHz です。

表 2 では、 デザインのフル ビッ ト ス ト リームとパーシャル ビッ ト ス ト リームのサイズ、 およびスタン

ドアロンと Linux アプリ ケーシ ョ ンで測定されたコンフ ィギュレーシ ョ ン時間を比較しています。 コン

フ ィギュレーシ ョ ン時間は、 DevC DMA 転送ド ライバーの関数呼び出しが開始されてから終了するま

での時間を計測しています。

ビデオ アプリ ケーシ ョ ンでは、 リ アルタイム処理の要件が厳し く、 ビデオ フレームが 1 つ欠けるだけ

でも、安全性を重視するシステムでは許容されないこ とがあ り ます。そのよ うな リ アルタイム システム

でパーシャル リ コンフ ィギュレーシ ョ ンが実行可能かど うかを判断するには、2 つの連続するビデオ フレーム間の時間を測定し、 それがパーシャル リ コンフ ィギュレーシ ョ ンを実行して、 その後ビデオ パイプラインを再開するのに十分な長さであるこ とを確認する必要があ り ます。

1 つのビデオ フレーム期間には、 アクティブ期間と非アクティブ期間 (ブランキング期間) があ り ます。

アクティブ期間中に、 ビデオ画素データが転送されます。 つま り、 従来の CRT モニターでは、 水平お

よび垂直ブランキング期間を使用して、 行の終わりから次行の開始 (水平ブランキング)、 またはフレー

ムの終わり (右下) から次のフレームの開始 (左上) へ電子ビームを再配置していました。 図 8 に、 ビデ

オ フレームのアクティブ期間とブランキング期間を示します。 ビデオ タイ ミ ング パラ メーターの詳細

は、『AXI4-Stream Video IP およびシステム デザイン ガイ ド 』 (UG934) [参照 10] を参照してください。

表 2 : フル ビッ トス ト リームとパーシャル ビッ トス ト リームのコンフ ィギュレーシ ョ ン時間

XC7Z020 デバイスフル ビッ ト

ス ト リーム

パーシャル ビッ ト

ス ト リーム

ビッ トス ト リーム サイズ 4,045,564 バイ ト 134,392 バイ ト

コンフ ィギュレーシ ョ ン時間 - スタンドアロン 32ms(1) 1,060µs(1)

コンフ ィギュレーシ ョ ン時間 - Linux 44ms(1) 2,000µs(1)

注記 :

1. 測定値は平均を示しています。

Page 16: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

パフォーマンスの測定基準

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 16

1080p60 ビデオ ス ト リームの場合、 垂直ブランキングはラインあたり 45 ピクセルに相当し、 水平ブラ

ンキングはビデオ フレームあたり 280 ラ インに相当します。 必要なビデオ ク ロ ッ ク周波数は、 次のよ

うに計算されます。

(1920 + 280) x (1080 + 45) x 60Hz = 148.5MHz

ビデオ アクセラレーターのパーシャル リ コンフ ィギュレーシ ョ ンは、フレーム f-1 の 後のピクセルと

フレーム f の 後のピクセル間 (垂直ブランキング期間と 1 水平ブランキング期間に相当) で行われるこ

とが理想的です。 有効なタイム ウ ィンド ウは、 次のよ うになり ます。

(1 x 45 + 280 x (1080 + 45) ) / 148.5 MHz 2.1 ms

パーシャル リ コンフ ィギュレーシ ョ ン時間は、 使用するソフ ト ウェア アプ リ ケーシ ョ ン と OS によっ

て異なり ます (表 2 参照)。 スタンドアロンの場合は、有効と される 2.1ms よ りかなり短くな り ます。 ビ

デオ モードを切り換える場合は、 ビデオ パイプライン IP コアを リセッ トおよびコンフ ィギュレーシ ョ

ンするために、追加のオーバーヘッ ドが必要です。 リ ファレンス デザインは、前述した リ アルタイム ビデオ アプ リ ケーシ ョ ンの要件を満たすこ とを目的と して設計されたものではないこ とに留意して くだ

さい。 フレーム間でフレームの損失が生じないよ うに、ブランキング期間中のみビデオ モードを切り替

える という特別な配慮は行っていません。しかしながら、有効な 2.1ms タイム ウ ィンド ウ と リ ファレン

ス デザインで測定されたタイ ミ ング値を考える限り、低レイテンシのベアメ タルあるいはリ アルタイム

OS (RTOS) を使用した場合、 システムは実現可能です。

X-Ref Target - Figure 8

図 8 : ビデオ タイ ミング パラメーター

X1159_08_12_05_12

Page 17: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

リファレンス デザインをインプリ メン トおよび実行

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 17

リファレンス デザインをインプリ メン トおよび実行

リ ファレンス デザインのインプ リ メン ト と実行に関する詳細およびチュート リ アルは、Zynq-7000 パー

シャル リ コンフ ィギュレーシ ョ ン リ ファレンス デザイン Wiki ウェブサイ ト を参照してください。

http://Wiki.xilinx.com/zynq-pr-rd

構築済みリファレンス デザインを実行する

次の情報については、 Zynq-7000 パーシャル リ コンフ ィギュレーシ ョ ン リ ファレンス デザイン Wikiウェブサイ ト [参照 6] のセクシ ョ ン 7 を参照して ください。

• ZC702 ハードウェア プラ ッ ト フォームのセッ ト アップ

• リ ファレンス デザインの実行および動作

ソフ トウェア ツールおよびシステムの要件

次の情報については、 Zynq-7000 パーシャル リ コンフ ィギュレーシ ョ ン リ ファレンス デザイン Wikiウェブサイ ト [参照 6] のセクシ ョ ン 1 を参照して ください。

• ハードウェア/ソフ ト ウェアの要件およびライセンス取得

• デザインの概要およびプロジェク トのディ レク ト リ構造

ハードウェアを構築する

次の情報については、 Zynq-7000 パーシャル リ コンフ ィギュレーシ ョ ン リ ファレンス デザイン Wikiウェブサイ ト [参照 6] のセクシ ョ ン 2、 3、 および 4 を参照して ください。

• Sobel/Sepia フ ィルター IP コアを生成するための Vivado HLS 設計フロー ガイ ド

• PlanAhead/XPS のシステム設計フロー ガイ ド

• PlanAhead パーシャル リ コンフ ィギュレーシ ョ ンの設計フロー ガイ ド

ソフ トウェアを構築する

次の情報については、 Zynq-7000 パーシャル リ コンフ ィギュレーシ ョ ン リ ファレンス デザイン Wikiウェブサイ ト [参照 6] のセクシ ョ ン 5 および 7 を参照して ください。

• U-boot ブート ローダーおよび Linux カーネルのコンパイル フロー ガイ ド

• FSBL およびスタンドアロン/Linux ソフ ト ウェア アプリ ケーシ ョ ンのコンパイルおよびスタンド

アロン/Linux ブート イ メージ作成における SDK フロー ガイ ド

Page 18: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

リファレンス デザイン

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 18

リファレンス デザイン

リ ファレンス デザインは、 次のサイ トからダウンロードできます。

https://secure.xilinx.com/webreg/clickthrough.do?cid=199619

表 3 に、 リ ファレンス デザインの詳細を示します。

表 4 に、 Sobel コンフ ィギュレーシ ョ ンのデバイス使用率を示します。 Sobel コンフ ィギュレーシ ョ ン

のデバイス使用率は、 Sepia コンフ ィギュレーシ ョ ンの使用率よ り高くな り ます。 Sepia コンフ ィギュ

レーシ ョ ンの場合は、 これらよ り少し低い値になり ます。

表 3 : リファレンス デザインの詳細

パラメーター 内容

全般

開発元 ザイ リ ンクス

ターゲッ ト デバイス ( ステッピング レベル、 ES、 プロダクシ ョ ン、 スピード グレード )

Zynq-7000 AP SoC (ES)

ソース コードの提供 あ り

ソース コードの形式 VHDL、 Verilog、 C

( 一部は暗号化済み )

既存のアプリ ケーシ ョ ン ノート / リ ファレンス デザイン、CORE Generator ツール、 サードパーティからデザインへのコード /IP の使用

あ り

シミ ュレーシ ョ ン

論理シ ミ ュレーシ ョ ンの実施 N/A

タイ ミ ング シ ミ ュレーシ ョ ンの実施 N/A

論理およびタイ ミ ング シ ミ ュレーシ ョ ンでのテス トベンチの利用

N/A

テス トベンチの形式 N/A

使用したシ ミ ュレータ / バージ ョ ン N/A

SPICE/IBIS シ ミ ュレーシ ョ ンの実施 N/A

インプリ メンテーシ ョ ン

使用した合成ソフ ト ウェア ツール / バージ ョ ン Vivado HLS 2012.4、 XST 14.4

使用したインプリ メンテーシ ョ ン ツール / バージ ョ ン ISE Design Suite 14.4 System Edition

スタティ ッ ク タイ ミ ング解析の実施 はい

ハードウェア検証

ハードウェア検証の実施 はい

検証に使用したハード ウェア プラ ッ ト フォーム ZC702 評価ボード

表 4 : デバイスのリソース使用率

項目 値

デバイス XC7Z020

デバイス スピード -2

グレード パッケージ CLG484

スライス レジスタ 24,190 (22%)

配置済みスライス 9,049 (68%)

スライス LUT 20,185 (37%)

Page 19: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

参考資料

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 19

参考資料 次の文書は、 このアプリ ケーシ ョ ン ノートに役立つ補足資料です。

1. UG925 : 『Zynq-7000 All Programmable SoC ZC702 Base ターゲッ ト リ ファレンス デザイン (ISE Design Suite 14.4) ユーザー ガイ ド』

2. XAPP890 : 『 ZC702 ボードを使用したゾーベル エッジ検出フ ィルターのインプリ メン ト 』

3. ザイ リ ンクスの Zynq-7000 SoC ZC702 評価キッ トのウェブ ページ

http://japan.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm

4. HDMI Input/Output FMC モジュールのウェブ ページ

http://www.em.avnet.com/en-us/design/drc/Pages/HDMI-Input-Output-FMC-module.aspx

5. UG702 : 『パーシャル リ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』

6. Zynq-7000 パーシャル リ コンフ ィギュレーシ ョ ン リ ファレンス デザイン Wiki ウェブサイ ト

http://Wiki.xilinx.com/zynq-pr-rd

7. UG585 : 『Zynq-7000 AP SoC テクニカル リ ファレンス マニュアル (TRM)』

8. UG821 : 『Zynq-7000 EPP ソフ ト ウェア開発者向けガイ ド』

9. UG470 : 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』

10. UG934 : 『AXI4-Stream Video IP およびシステム デザイン ガイ ド 』

11. UG744 : 『プロセッサペリ フェラルのパーシャル リ コンフ ィギュレーシ ョ ン』

12. Zynq-7000 Base ターゲッ ト リ ファレンス デザイン 14.4 の Wiki ウェブサイ ト

http://wiki.xilinx.com/zynq-base-trd-14-4

13. パーシャル リ コンフ ィギュレーシ ョ ンのウェブサイ ト

http://japan.xilinx.com/tools/partial-reconfiguration

リ ファレンス デザインで使用される IP コアの詳細は、 次のウェブページを参照してください。

14. AXI Interconnect

http://japan.xilinx.com/products/intellectual-property/axi_interconnect.htm

15. AXI Video DMA (VDMA)

http://japan.xilinx.com/products/intellectual-property/axi_video_dma.htm

16. Xylon Compact Video Controller (logiCVC)

http://japan.xilinx.com/products/intellectual-property/logiCVC.htm

17. AXI Performance Monitor

http://japan.xilinx.com/products/intellectual-property/axi_perf_mon.htm

18. Video Timing Controller (VTC)

http://japan.xilinx.com/products/intellectual-property/EF-DI-VID-TIMING.htm

19. Test Pattern Generator (TPG)

http://japan.xilinx.com/products/intellectual-property/tpg.htm

20. Chroma Resampler (CRS)

I/O 42 (21%)

RAMB36E1 21 (15%)

RAMB18E1 15 (5%)

DSP48E1 18 (8%)

表 4 : デバイスのリソース使用率

項目 値

Page 20: Zynq-7000 All Programmable SoC におけるハード …...GIC Snoop Controller, AWDT, Timer 32 KB I-Cache ARM Cortex-A9 CPU ARM Cortex-A9 MMU FPU and NEON Engine Config AES/ SHA XADC

改訂履歴

XAPP1159 (v1.0) 2013 年 1 月 21 日 japan.xilinx.com 20

http://japan.xilinx.com/products/intellectual-property/EF-DI-CHROM-RESAMP.htm

21. YCrCb to RGB Color-Space Converter (CSC)

http://japan.xilinx.com/products/intellectual-property/YCrCb_to_RGB.htm

22. Video In to AXI4-Stream

http://japan.xilinx.com/products/intellectual-property/video_in_to_axi4_stream.htm

改訂履歴 次の表に、 この文書の改訂履歴を示します。

Notice of Disclaimer

The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and useof 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 OFMERCHANTABILITY, 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 othertheory of liability) for any loss or damage of any kind or nature related to, arising under, or in connectionwith, 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 lossor damage suffered as a result of any action brought by a third party) even if such damage or loss wasreasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes noobligation to correct any errors contained in the Materials or to notify you of updates to the Materials orto product specifications.You may not reproduce, modify, distribute, or publicly display the Materialswithout prior written consent.Certain products are subject to the terms and conditions of the LimitedWarranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject towarranty and support terms contained in a license issued to you by Xilinx.Xilinx products are notdesigned or intended to be fail-safe or for use in any application requiring fail-safe performance; youassume sole risk and liability for use of Xilinx products in CriticalApplications:http://www.xilinx.com/warranty.htm#critapps.

本資料は英語版 (v1.0) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。

資料によっては英語版の更新に対応していないものがあ り ます。

日本語版は参考用と してご使用の上、 新情報につきましては、 必ず 新英語版をご参照ください。

こ の 資 料 に 関 す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の 問 題 に つ き ま し て は、

[email protected] までお知らせください。 いただきましたご意見を参考に早急に対応さ

せていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめ

ご了承ください。 概念

日付 バージョ ン 内容

2013 年 1 月 21 日 1.0 初版