zynq-7000 ap soc に信号処理 ip を実装してxadc サンプル...

14
XAPP1203 (v1.0) 2014 4 22 japan .xilinx.com 1 © Copyright 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. nsu 概要 このアプリケーション ノ ー ト は、『ザ イ リ ン ク ス All Programmable デバイスでのアナログ信号処理機能 の効率的な イ ンプ リ メ ンテーシ ョ ン』 (WP442) [参照 1] の補足資料兼手引書 と な り ま す。 ホ ワ イ ト ペー パーでは、 All Programmable Abstraction を 使用 し て、 ザ イ リ ン ク ス FPGA および All Programmable SoC (AP SoC) にアナログ信号処理機能を実装するためのシンプルで簡単なデザイン フローを紹介して います。 このアプ リ ケーシ ョ ン ノ ー ト では、 ホ ワ イ ト ペーパーのコ ンセプ ト を採用し て信号処理 IP アを作成し、 Zynq-7000 AP SoC 上に完全な ミ ッ ク ス ド シグナル システムを構築する方法について詳 し く 説明 し ま す。 はじめに ほとんどのシステムは、 監視および制御を目的と して実世界と相互に作用できる こ とが必要です。 この ために、 光、 熱、 音などの実世界の刺激要因をアナログ電子信号に変換するセンサーがシステムには含 まれます。 これらのセンサーのアナログ出力は処理並びにデジタル化され、適切な情報がデジタル コン ト ローラーやプロセッサへ伝搬されます。 センサー出力のアナログ処理や調整は、 精度要件および使用 するセンサーの種類などの要因によって、 さまざまな方法で行われます。 一般的なアナログ機能には、 次のものがあ り ます。 レベル変換 (バイポーラからシングルエンド ) ゲイン/減衰 帯域幅の制限/ フィルタリング/ ノ イ ズ削減 ゲインおよびオフセッ ト エラー キャンセレーション リニアライゼーション (線形化) ほとんどのシステムはデジタル情報を処理するため、 処理後のセンサー出力をデジタル化するためのア ナログ/デジタルコンバーター (ADC) が必要です。 ADC には多様な種類があ り 、一般的に分解能や処理 速度で特徴付けられています。 ADC はマイクロコント ローラーにも組み込まれ、 FPGA には XADC どの ADC が統合されています (すべての 7 シリーズ FPGA および AP SoC )。近年のプロセス微細化 に伴い、 ADC 処理速度は大幅に高速化されま した。 また、 サンプル レートが 1MSPS 以上の ADC 比較的に安価に購入で き る よ う にな り ま し た。 こ の よ う に高速化 し たデジ タ ル信号処理機能を最大限に 活用して、 ソ リ ューシ ョ ンの性能を高める こ とができます。 ホワイト ペーパー 『ザ イ リ ン ク ス All Programmable デバイ スでのアナログ信号処理機能の効率的なイ ンプ リ メ ンテーシ ョ ン』 (WP442) では、ザイリンクスの All Programmable Abstraction を使用してザイ リンクスの FPGA および AP SoC に一般的なアナロ グ信号処理機能を簡単かつ効率的に実装する コ ン セプ ト を紹介しています。 この実装によって、 サブシステムの設計がよ り正確かつ柔軟にな り、 安価に 高速化を実現できる こ と を説明しています。 このアプリケーション ノ ー ト では、 実際に高位合成 (HLS) ツールを使用してこれらのコンセプトをザ イリンクスの FPGA または AP SoC に適用し、 特定のアナログ信号処理を実現する方法について詳し く 説明 し ま す。 機能は次の と お り です。 ローパス フィルタリング 間引き 線形化 このアプリケーション ノ ー ト では、 Vivado® Design Suite IP インテグレーター (IPI) を使用して ミ ッ クスド シグナル サブシステムを構築する方法について詳し く説明します。 1 に、 デジタル サブシス テムのリファレンス デザインを示します。 アプリケーション ノート : Zynq-7000 AP SoC XAPP1203 (v1.0) 2014 4 22 Zynq-7000 AP SoC に信号処理 IP を実装して XADC サンプルを後処理する Mrinal J. SarmahCathal Murphy

Upload: others

Post on 24-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 1

    © Copyright 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.

    nsu

    概要 このアプリ ケーシ ョ ン ノートは、『ザイ リ ンクス All Programmable デバイスでのアナログ信号処理機能の効率的なインプリ メンテーシ ョ ン』 (WP442) [参照 1] の補足資料兼手引書とな り ます。ホワイ ト ペーパーでは、 All Programmable Abstraction を使用して、 ザイ リ ンクス FPGA および All ProgrammableSoC (AP SoC) にアナログ信号処理機能を実装するためのシンプルで簡単なデザイン フローを紹介しています。 このアプリ ケーシ ョ ン ノートでは、 ホワイ ト ペーパーのコンセプ ト を採用して信号処理 IP コアを作成し、 Zynq-7000 AP SoC 上に完全な ミ ッ クス ド シグナル システムを構築する方法について詳し く説明します。

    はじめに ほとんどのシステムは、 監視および制御を目的と して実世界と相互に作用できるこ とが必要です。 このために、 光、 熱、 音などの実世界の刺激要因をアナログ電子信号に変換するセンサーがシステムには含まれます。 これらのセンサーのアナログ出力は処理並びにデジタル化され、適切な情報がデジタル コント ローラーやプロセッサへ伝搬されます。 センサー出力のアナログ処理や調整は、 精度要件および使用するセンサーの種類などの要因によって、 さまざまな方法で行われます。 一般的なアナログ機能には、次のものがあ り ます。

    • レベル変換 (バイポーラからシングルエンド )• ゲイン/減衰• 帯域幅の制限/フ ィルタ リ ング/ノ イズ削減• ゲインおよびオフセッ ト エラー キャンセレーシ ョ ン• リ ニアライゼーシ ョ ン (線形化)ほとんどのシステムはデジタル情報を処理するため、 処理後のセンサー出力をデジタル化するためのアナログ/デジタルコンバーター (ADC) が必要です。ADC には多様な種類があ り、一般的に分解能や処理速度で特徴付けられています。ADC はマイ クロコン ト ローラーにも組み込まれ、FPGA には XADC などの ADC が統合されています (すべての 7 シ リーズ FPGA および AP SoC で)。近年のプロセス微細化に伴い、 ADC 処理速度は大幅に高速化されました。 また、 サンプル レートが 1MSPS 以上の ADC を比較的に安価に購入できるよ うにな り ました。 このよ うに高速化したデジタル信号処理機能を最大限に活用して、 ソ リ ューシ ョ ンの性能を高めるこ とができます。

    ホワイ ト ペーパー 『ザイ リ ンクス All Programmable デバイスでのアナログ信号処理機能の効率的なインプリ メンテーシ ョ ン』 (WP442) では、ザイ リ ンクスの All Programmable Abstraction を使用してザイリ ンクスの FPGA および AP SoC に一般的なアナログ信号処理機能を簡単かつ効率的に実装するコンセプ ト を紹介しています。 この実装によって、 サブシステムの設計がよ り正確かつ柔軟になり、 安価に高速化を実現できるこ とを説明しています。

    このアプ リ ケーシ ョ ン ノートでは、 実際に高位合成 (HLS) ツールを使用してこれらのコンセプ ト をザイ リ ンクスの FPGA または AP SoC に適用し、 特定のアナログ信号処理を実現する方法について詳しく説明します。 機能は次のとおりです。

    • ローパス フ ィルタ リ ング• 間引き• 線形化このアプリ ケーシ ョ ン ノートでは、Vivado® Design Suite の IP インテグレーター (IPI) を使用して ミ ックス ド シグナル サブシステムを構築する方法について詳し く説明します。 図 1 に、 デジタル サブシステムのリ ファレンス デザインを示します。

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

    XAPP1203 (v1.0) 2014 年 4 月 22 日

    Zynq-7000 AP SoC に信号処理 IP を実装してXADC サンプルを後処理するMrinal J. Sarmah、 Cathal Murphy

    http://japan.xilinx.com

  • ハードウェア デザインの概要

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 2

    サブシステム全体または個々の IP コアを検証するには、 UART ベースのアプ リ ケーシ ョ ン (ハイパーターミナルまたは Tera Term) を使用できます。インプリ メンテーシ ョ ン手順の詳細は、wiki ページ ZynqAMS Post Processing in PL を参照してください。

    ハードウェア デザインの概要

    FPGA にはコンフ ィギュレーシ ョ ン可能な CLB (コンフ ィギャラブル ロジッ ク ブロ ッ ク ) アレイがあるため、 コス ト効率の良い方法で特定デジタル アルゴ リズムを実行できます。 Zynq-7000 AP SoC のプログラマブル ロジッ ク部分には、C/C++/RTL コードで記述された特定デジタル アルゴ リ ズムを実行するCLB アレイがあ り ます。Vivado Design Suite は、再利用可能で IP を中心とする方法でアルゴ リズムの実装をサポート します。

    Vivado 高位合成 (HLS) は、 C または C++ 言語で記述されたアルゴ リズムから RTL コードを生成するツールです。 このツールは豊富なライブラ リ を使用して、 C/C++ で記述された機能を RTL に変換します。ユーザーは、AXI4-Stream または AXI4-Lite インターフェイスのオプシ ョ ンを解釈するために適切な HLS 指示子を用いるこ とができるため、 生成された RTL を複数のシステム レベル デザインで再利用できます。

    Vivado IP インテグレーター (IPI) は回路図ベースの接続を含むデザインで、IP のインスタンシエーシ ョンを可能にするツールです。 IPI には、 コネクシ ョ ン オート メーシ ョ ン機能とブロ ッ ク オート メーシ ョン機能があ り、 デザインにおける適切な AXI インターコネク トのインスタンシエーシ ョ ンとマスター /スレーブ IP コアへの接続を自動化します。ユーザーは、Vivado HLS で生成した RTL のパッケージ化、インターフェイスの適切な定義、 ユーザー ブロ ッ ク デザインへの IP をインスタンシエート、 コネクシ ョ ン オート メーシ ョ ン機能を使用したインターフェイスの接続が可能です。リ ファレンス デザインには、センサー リ ニアライザー アルゴ リ ズムが C 言語で実装されています。コードの一部を次に示します。

    void axi_sensor_lin(ap_axiu *input, ap_axiu *output, unsigned int interp_matrix[1024], unsigned char gain, unsigned char offset, unsigned char control) {

    AP_BUS_AXI_STREAMD(input, BUS_A); AP_BUS_AXI_STREAMD(output, BUS_B);

    unsigned short step_height, step_width, index, tmp_value, input_data; unsigned short interp_data, next_interp_data;

    input_data = (unsigned short)((input->data)&0xFFFF)>>4; step_width = (input_data % 4); index = input_data / 4;

    interp_data = (unsigned short)(interp_matrix[index]&0xFFFF); next_interp_data = (unsigned short)(interp_matrix[index+1]&0xFFFF);

    step_height = (-interp_data+next_interp_data);

    tmp_value = interp_data + step_height * step_width / 4;

    output->data = (unsigned int)((tmp_value+offset)*gain/128)&0xFFFF; }

    X-Ref Target - Figure 1

    図 1 : システムのブロック図

    VREF

    XADC

    X1203_01_012314

    RTD

    Sensor Excitation

    °C VREFPDigital Subsystem

    http://www.wiki.xilinx.com/Zynq+AMS+Post+Processing+in+PL+App+Notehttp://www.wiki.xilinx.com/Zynq+AMS+Post+Processing+in+PL+App+Notehttp://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=2

  • ハードウェア デザインの概要

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 3

    関数 axi_sensor_lin は、 非線形 AXI4-Stream データ、 リ ニアライザー係数、 およびゲイン/オフセッ トを入力と して使用し、 線形化されたデータを出力します。 リ ニアライザー係数やリニアライザー係数マト リ ク スの現在と次の値の距離測定に基づいて出力データを算出します。 AP_BUS_AXI_STREAMD指示子を使用して、 入力/出力バス用に AXI4-Stream インターフェイスを推論します。 Vivado HLS は、入力/出力データ用に AXI4-Stream インターフェイスを使用して RTL コードを生成します。 この RTLコードは、 Vivado ツールの IP パッケージャーを使用してパッケージ化できます。図 2 に、リ ファレンス デザインのブロッ ク図を示します。このデザインは、制御プロセッサと Zynq-7000AP SoC のプログラマブル ロジッ ク (PL) に実装された Analog Post Processing IP で構成されています。この IP コアは、 PL にある DSP ブロ ッ クを使用します。

    Zynq-7000 AP SoC のデュアルコア ARM® Cortex™-A9 ベースのプロセッシング システム (PS) は、制御プロセッサと して機能し、デザインで使用されるさまざまなペリ フェラル ブロ ッ クを初期化および設定します。

    制御パスは、Zynq-7000 Processing System 7 (PS7) IP の汎用 (GP) ポートで始まる AXI4-Lite インターフェイス上に構築されます。 デザイン内のデータ パスは、 相互接続されたブロ ッ ク間に AXI4-Streamインターフェイスを確立します。

    データ フローのシーケンスは次のとおりです。1. 制御ソフ ト ウェアが XADC Wizard IP を初期化し、 Sensor Linearizer (センサー リ ニアライザー )、

    FIR (無限インパルス応答 ) フ ィルター、および Decimator (デシメーター) ブロッ クを初期化します。2. アナログ入力のステ ィ ミ ュ ラス信号が XADC VP/VN インターフェイス ピンでサンプ リ ングさ

    れます。

    3. アナログ サンプルが XADC によって 16 ビッ トのデジタル コードに変換され、 XADC Wizard IPの AXI4-Stream インターフェイスで有効になり ます。

    4. リ ニアライザー ブロ ッ クが制御ソフ ト ウェアによって有効化されている場合、 サンプルがこのブロ ッ クで処理されます。

    X-Ref Target - Figure 2

    図 2 : ハードウェア ブロック図

    XADC Wizard IP

    DDR3Memory

    GP0 IRQ_F2P32

    -bit

    @ 1

    00 M

    Hz

    UART

    UARTProgrammable Logic

    Processing System

    DDR Controller

    Sensor Linearizer

    FIR

    Decimator BRAM Block IP

    SPI Block

    UART-based Application

    Analog Input

    Output to DAC

    Analog Post Processing IP

    Zynq Processing System

    X1203_02_041114

    http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=3

  • ハードウェア デザインの概要

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 4

    5. 線形化された出力は FIR フ ィルター ブロ ッ クに入り、 FIR フ ィルターが制御ソフ ト ウェアによって有効化されている場合、 このブロ ッ クでフ ィルタ リ ングされた出力が生成されます。

    6. デシメーター ブロ ッ クがフ ィルタ リ ングされた出力を処理し、プログラム可能な間引き係数でサンプルを間引きします。

    7. デシメーター出力は SPI コアへ入力され、SPI コアはサンプルを BRAM BLOCK IP へ送信します。また SPI コアは、XADC ブロ ッ クへスティ ミ ュラスを提供する AD5065 DAC にもサンプルを送信します。

    8. 制御ソフ ト ウェアは、 AXI4-Lite インターフェイスを使用して BRAM Block IP からサンプルを読み出します。

    XADC Wizard IPXADC Wizard IP は、AXI4-Lite インターフェイスを使用して完全にコンフ ィギュレーシ ョ ン可能です。すべての XADC レジスタは、 同じ順序で AXI4 インターフェイスに直接マップされます。 IP コアのメモ リ空間へのすべての読み出し /書き込み動作は、 IP コア自体へ直接実行されます。

    Sensor Linearizer (センサー リニアライザー )この IP は、 線形補間ルッ クアップ テーブル (LUT) を実行します。 アルゴ リ ズムを使用して、 理想値と実際の結果の最大差を見つけ出します。 実際の非線形応答に対して、 差分を加算/減算して線形応答を得ます。非線形応答の最初の値は、理想の応答から最も大き く離れています。 これは、出力が大き く変化するのに対して入力はほとんど変わらないためです。

    図 3 に、 このアプ リ ケーシ ョ ン ノートで使用される Sensor Linearizer ブロ ッ クの図を示します。 このブロ ッ クの 2 つの主なインターフェイスは、 サンプルのデータ パスに使用される AXI4-Stream インターフェイス と制御インターフェイス と して使用される AXI4-Lite インターフェイスです。 AXI4-Liteインターフェイスは、ユーザーが生成した係数リ ス ト を使用して BRAM をアップデート します。SensorLinearizer ブロ ッ クの係数は、 アナログ スティ ミ ュラスを生成しているセンサーの非線形関数の性質によって決定されます。 AXI4-Lite インターフェイスは、 AXI4-Stream インターフェイス とは異なる クロ ッ ク周波数で動作できます。 スレーブ AXI4-Stream インターフェイスで受信されたサンプルは、 リニアライザーの係数を使用して補正され、 線形ビヘイビアを示します。

    FIR フ ィルターFIR フ ィルター IP コアは、 フ ィルター係数で設定する必要があ り ます。 0x4 レジスタへの書き込みによって、係数のシフ ト レジスタへ値が書き込まれます。 0x0 レジスタの下位 6 ビッ トには、 フ ィルターの係数の数を書き込む必要があ り ます。 ビッ ト位置 16 はソフ ト ウェア リ セッ ト ビッ トで、 17 はバイパス ビッ ト とな り ます。 図 4 に FIR フ ィルターのブロッ ク図を示します。

    X-Ref Target - Figure 3

    図 3 : Sensor Linearizer ブロック

    DSPBlock

    AXI4-Lite Address Decoder and Control Generator

    AXI4Stream

    Interface

    AXI4-LiteInterface

    Data Path

    Control Path

    Linearizer Coefficients

    AXI4StreamInterface

    BRAM Block

    X1203_03_012314

    http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=4

  • ハードウェア デザインの概要

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 5

    FIR フ ィルター ブロ ッ クの 2 つの主なインターフェイスは、データ パスに使用される AXI4-Stream インターフェイス と制御パスに使用される AXI4-Lite インターフェイスです。FIR カッ トオフ周波数の要件に基づいてユーザーが生成する FIR フ ィルター係数は、AXI4-Lite インターフェイスを使用してプログラム可能です。 AXI4-Stream インターフェイスに現れるサンプルは、係数によって遅延および乗算されて出力サンプルとな り ます。

    Decimator (デシメーター ) ブロックこの IP には、 すべてのチャネルに対応するカウンターが 1 つあ り、 カウンターが 0 に到達した場合のみ値を出力します。 カウンターの初期値は、 AXI-Lite インターフェイスを介してプログラム可能です。デシメーター ブロ ッ クは、 FIR フ ィルター ブロ ッ ク と連動する必要があ り ます。 出力サンプルは、 プログラムされた間引き値に基づいて間引き処理されます。

    上記すべてのブロ ッ クは、 AXI4-Lite インターフェイスを使用してバイパスできます。 各ブロ ッ クは、関連する AXI4-Lite インターフェイスを介して適用される ソフ ト ウェア制御の リ セッ ト信号を用いてリセッ トできます。

    リ ファレンス デザインは、 Vivado IPI フローを使用してブロ ッ ク デザインを作成しています。 ブロ ック デザインが作成された後、 IP 固有のラ ッパー ファ イルをインスタンシエートするハード ウェア ラ ッパーが生成されます。

    図 5 に、 このアプ リ ケーシ ョ ン ノートで使用される IPI デザインを示します。

    X-Ref Target - Figure 4

    図 4 : FIR フ ィルター ブロック

    DSPBlock

    Reg

    AXI4-Lite Address Decoderand Control Generator

    AXI4Stream

    Interface

    AXI4-LiteInterface

    Data Path

    Control Path

    FilterCoefficients

    AXI4 StreamInterface

    Reg

    Reg

    X1203_04_012314

    http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=5

  • ハードウェア デザインの概要

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 6

    図 6 に、 Analog Post Processing ブロ ッ クの拡大図を示します。

    X-Ref Target - Figure 5

    図 5 : IPI ブロック図

    X1203_05_041114

    X-Ref Target - Figure 6

    図 6 : Analog Post Processing ブロックの拡大図

    X1203_06_041114

    http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=6

  • ハードウェア デザインの概要

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 7

    表 1 に、 ハード ウェア デザインで使用される IP コアを示します。

    表 2 に、 PL に含まれる メモ リ マップされたペリ フェラルとアドレス マップを示します。

    表 1 : ハードウェア デザインで使用される IP コア

    IP 名 説明 設定Processing System-7 Processing System-7 ブロ ッ クをインス

    タンシエー トする ラ ッパー ファ イルを生成します。

    Processing System-7 IP ウ ィザードであらかじめ設定された ZC702 のデフォル ト値で設定されています。

    AXI Interconnect IP Processing System-7 IP からの AXI3ト ランザクシ ョ ンを XADC Wizard IP用の AXI4 ト ランザクシ ョ ンに変換します。

    マス ター イン ターフェ イ スと スレーブ インターフェ イスがそれぞれ 1 つに設定されています。

    Proc Sys Reset ペ リ フ ェ ラルおよび AXI InterconnectIP へリセッ ト を適用します。

    AXI Interconnect およびXADC Wizard IP へリセッ トを適用するよ うに設定されています。

    AXI BRAM Controller IP 信号処理ブロ ッ クから後処理されたサンプルを収集し、ブロ ッ ク RAM に格納し ま す。 格 納 さ れ た サ ン プ ル は、Processing System-7 IP によって読み出されます。

    完全なデュアルポー ト コンフ ィギュレーシ ョ ン用に設定されています。

    表 2 : ペリフェラルとアドレス マップ

    PL のペリフェラル アドレス マップ (16 進数)XADC Wizard IP 70000000-7000FFFFFIR フ ィルター ブロ ッ ク 70600000-7060FFFFSensor Linearizer ブロ ッ ク 60000000-6000FFFFDecimator ブロ ッ ク 70A00000-70A0FFFFSPI コア 70100000-7010FFFFBRAM Control IP 1 40000000-4001FFFFBRAM Control IP 2 42000000-4201FFFF

    http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=7

  • ソフ トウェア アーキテクチャ

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 8

    ソフ トウェア アーキテクチャ

    このアプリ ケーシ ョ ン ノートで使用するソフ ト ウェア アプリ ケーシ ョ ンは、ザイ リ ンクスのソフ ト ウェア開発キッ トで利用できるスタンドアロンのオペレーティング システムをベースにしています。ソフ トウェア アプリ ケーシ ョ ンは、 デザイン ブロ ッ クのコンフ ィギュレーシ ョ ン パラ メーターを制御し、 周期的な間隔で AXI BRAM Controller からデータを取得します。次の手順は、デザインのデータ フローを説明しています。ソフ ト ウェア プログラムがこれを実行します。1. このアプリ ケーシ ョ ン ノートで使用されるペリ フェラルを初期化する2. FIR フ ィルターのデフォルト係数値を設定する3. Liniarizer ブロ ッ クのデフォルト係数値をロードする4. Decimator ブロ ッ クをデフォルトの間引き値に設定する5. while ループで UART ベースのアプリ ケーシ ョ ンから入力されるコマンドを待つ6. UART アプリ ケーシ ョ ンからのコマンドをデコード して実行するUART アプリ ケーシ ョ ンは、 デザインで使用されるフ ィルター係数、 リ ニアライザー係数、 間引き係数値を設定します。 UART アプリ ケーシ ョ ンのコマンドは、 表 3 の形式を採用します。

    次に、 このアプ リ ケーシ ョ ン ノー ト で使用される API 関数について説明します。 すべての API は、ams_xilinx_demo_hls.c ファ イルで定義されています。void config_fir (int_base_addr)この API は、 FIR フ ィルターの係数を設定します。

    void config_xadc (void)この API は、 XADC コア レジスタを設定します。 コアは、 XADC レジスタをプロセッサ メモ リへ直接マップします。

    void decimation_config (XDecimator_XDecInstancePtr、 int dec_value、int num_channel)この API は、 特定のデシメーター インタンスの固有チャネルを指定した間引き値に変更します。

    int decimation_initialization (void)この API は、 2 つの Decimator コアを同じ値に設定します。 32 ビッ ト ワードで 4 チャネルの間引き値を表します (MSB) 3-2-1-0 (LSB)。

    void fill_memory_ramp (void)この API は、 SPI - DAC メモ リにランプを挿入します。 メモ リ内のランプ数は、 この API でプログラム可能です。

    void fill_memory_sine (int f)この API は、SPI - DAC メモ リに周波数 f の正弦曲線を挿入します。データは、正の全振幅になり ます。

    int linearization_initialization (void)この API は、 線形化係数を設定します。 LUT はシステム メモリに直接マップされます。入力信号が x_x の場合、線形化 LUT は sqrt(y) sqrt(x_x) = x となる必要があ り ます。LUT には 1,024のポジシ ョ ンがあ り、入力データは 212 です。つま り、LUT には 4 つのデータ空間に分けられた値があり ます (4096/1024 = 4)

    表 3 : UART アプリケーシ ョ ン コマンドの形式

    コマンド 説明 形式

    デザインから値を読み出す

    特定ア ド レ スの値を読み出す

    R AAAAAAAA は、アドレスを 16 ビッ トの 16 進数形式で示します。

    デザインへ値を書き込む

    特定ア ド レ スへ値を書き込む

    W AAAA DDDDAAAA は、アドレスを 16 ビッ トの 16 進数形式で示します。DDDD は、 書き込まれるデータを 16 ビッ トの 16 進数形式で示します。

    http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=8

  • ハードウェア要件

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 9

    int main ()これは、 リ ファレンス デザインのメ イン関数です。サンプル デザインは、XADC と FIR コアを設定し、シ リ アル ポート を使用して一部のパラ メーターを変更するための基本的なシェルを提供します。

    void toggle_bypass_decimator ()この API は、 Decimator コアのバイパス モードを ト グルします。

    void toggle_bypass_fir (unsigned int base_addr)この API は、 FIR コアのバイパス モードを ト グルします。

    void toggle_bypass_lin ()この API は、 Sensor Linearization コアのバイパス モードを ト グルします。

    void toggle_reset_fir (unsigned int base_addr)この API は、 FIR コアのリセッ ト モードを ト グルします。注記 : ユーザーは、 TeraTerm アプ リ ケーシ ョ ンを使用してハード ウェア デザインをコンフ ィギュレーシ ョ ンできます。 サポート される UART の一覧は、 ZIP ファ イルの readme ファ イルを参照してください。

    ハードウェア要件 このデザインは、 ZC702 評価プラ ッ ト フ ォームを使用してテス ト でき ます。 ZC702 評価ボードにAMS101 カード を接続して外部データを取得する場合は、 『AMS101 評価カード ユーザー ガイ ド』(UG886) [参照 2] の説明に従ってください。 外部信号は XADC ブロッ クの専用チャネル (VP/VN) に接続でき、 取得したサンプルは UART アプリ ケーシ ョ ンを使用して読み出すこ とができます。

    比較分析 このセクシ ョ ンでは、FIR フ ィルター IP と Sensor Linearizer IP のアナログ インプリ メンテーシ ョ ンとデジタル インプリ メンテーシ ョ ンを比較します。 この解析は、MATLAB を使用した FIR フ ィルターとSensor Linearizer のアナログおよびデジタル インプ リ メ ンテーシ ョ ンに基づいており、 結果は実際のハードウェア インプ リ メンテーシ ョ ンによって多少異なる場合があ り ます。

    FIR フ ィルター IPFIR フ ィルター IP のデジタル インプリ メンテーシ ョ ンでは、 アナログ コンポーネン トでは実装の難しい、 非常に高い次数のフ ィルター IP を実装できます。 たとえば、 FPGA には 63 次の FIR フ ィルターを簡単かつ柔軟に実装できますが、 アナログ インプ リ メ ンテーシ ョ ンの場合は非常に複雑にな り ます。デジタル フ ィルターは、 よ り よいロールオフと阻止帯域の減衰を実現します。図 7 に、63 次のデジタル フ ィルターと 2 次の Sallen-Key フ ィルターの振幅特性を示します。図で確認できる とおり、 デジタル フ ィルターの方がロールオフや阻止帯域の減衰が好ましいと言えます。

    X-Ref Target - Figure 7

    図 7 : デジタルおよびアナログ フ ィルターの振幅特性

    100

    80

    60

    4020

    0

    -20-40

    -60

    -80-100

    -120102 103 104

    Ma

    gn

    itud

    e (

    dB

    )

    Frequency (Hz)

    Bode Diagram

    Analog FilterDigital Filter

    X1203_07_041114

    http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=9

  • 比較分析

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 10

    Sensor Linearizer IPデジタル ド メ インでは、 非常に効率的かつ正確に線形化が行われます。 デジタル ド メ インに SensorLinearizer IP を実装した場合のメ リ ッ トは、アルゴ リズムの実装に必要な リ ソースが少なくて済むこ と、補間誤差が少ないこ と、 そして精度が高いこ とです。非線形の補正以外にも、デジタル アプローチを取るこ とでゲインおよびオフセッ ト エラーをなくすこ とができます。図 8 に、 線形化前のアナログ入力 (Non-Linear Sensor)、 理想的な出力 (Ideal Output)、 およびリニアライザー係数の生成に使用される線形化の逆関数 (Inverse Function) を示します。

    X-Ref Target - Figure 8

    図 8 : Sensor Linearization の関数

    00

    1

    2

    3

    4

    5

    6

    7

    100 200 300 400 500 600 700 800temp (°C)

    x 104

    AD

    C C

    ode

    Sensor Linearization

    Ideal OutputNon-linear SensorInverse Function

    X1203_08_041114

    http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=10

  • 実験結果

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 11

    図 9 には、理想と補間された線形関数の差の測定に基づいて計算されるデジタル線形化の実装におけるエラー プロ ッ ト を示しています。

    計算には、 式 1 に示す多項式が使用されます。式 1

    説明 :R0 は、 0°C で 100 抵抗 (Pt100)A = 3.9083 × 10-3

    B = –5.775 × 10-7

    C = 0 (T > 0°の場合)、 C = –4.23225 × 10-12 (T < 0°C の場合)『Analog linearization of resistance temperature detectors』 [参照 7] で示される 0.11% と比較して、 デジタルでのエラーは 0.00003% と して算出されます。

    実験結果 XADC は、サンプリ ング周波数が 961.54kSPS と して設定されています。つま り、可能な最大信号帯域幅は 480kHz であるこ とを意味します。 実験用セッ ト アップでは、 外部の正弦波ジェネレーターを使用して複数の周波数レベルが生成されており、 結果となる信号品質の測定基準が計算されています。

    FIR フ ィルター IP は、 カッ トオフ周波数が 10kHz に設定された 63 次 FIR フ ィルター用に生成されたフ ィルター係数を使用して検証されました。デザインで FIR フ ィルターを使用した場合、周波数がカット オフ周波数内のと きには信号対ノ イズ比 (SNR) の向上が顕著に現れる こ とを確認しました。 SensorLinearizer IP コアによって、AMS101 評価カードの AD5065 DAC で生成される二次非線形信号が補正されるこ と も確認しました。

    表 4 に、 リ フ ァ レ ン ス デザイ ンの リ ソース使用状況を示し ます。 これらの数には、 AXI4-LiteInterconnect IP を実装する際のロジッ クに使用される リ ソースも含まれています。

    X-Ref Target - Figure 9

    図 9 : デジタル Sensor Linearization IP のエラー測定

    Error Post Linearization (1k LUT)

    ADC Code

    Err

    or (

    16-b

    it LS

    Bs)

    2

    -2

    1.5

    -1.5

    0.5

    -0.5

    0

    1

    -1

    0 1 2 3 4 5 6x 104

    X1203_09_041114

    RRTD R0 1 AT BT2 C T 100– T3+ + + =

    http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=11

  • リファレンス デザイン

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 12

    リファレンス デザイン

    このアプリ ケーシ ョ ン ノートの リ ファレンス デザインは、 次のリ ンクからダウンロードできます。https://secure.xilinx.com/webreg/clickthrough.do?cid=356125

    readme ファ イルの指示に従って、ハードウェアと ソフ ト ウェア コードを作成します。インプ リ メンテーシ ョ ン手順の詳細は、 wiki ページ Zynq AMS Post Processing in PL を参照してください。表 5 に、 リ ファレンス デザインの詳細を示します。

    表 4 : リソース使用状況

    デザインのブロック図

    フリ ップフロップ LUT DSP スライス ブロック RAM

    FIR フ ィルター 324 (0.3%) 523 (0.9%) 1 (0.5%) 0

    Linearizer ブロ ッ ク 442 (0.4%) 293 (0.5%) 1 (0.5%) 1 (0.7%)

    Decimator 688 (0.6%) 823 (1.5%) 0 0

    XADC ブロ ッ ク 31 (0.02%) 47 (0.08%) 0 1 (0.7%)

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

    パラメーター 説明

    全般

    開発元 ザイ リ ンクス

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

    Zynq-7000 AP SoC

    ソース コードの提供 あ り

    ソース コードの形式 C

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

    あ り

    シ ミ ュレーシ ョ ン

    論理シ ミ ュレーシ ョ ンの実施 なし

    タイ ミ ング シ ミ ュレーシ ョ ンの実施 なし

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

    なし

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

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

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

    インプリ メンテーシ ョ ン

    使用した合成ツール/バージ ョ ン Vivado Design Suite 2013.4

    使用したインプリ メンテーシ ョ ン ツール/バージ ョ ン Vivado Design Suite 2013.4

    スタティ ッ ク タイ ミ ング解析の実施 あ り

    ハード ウェア検証

    ハードウェア検証の実施 あ り

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

    https://secure.xilinx.com/webreg/clickthrough.do?cid=356125http://www.wiki.xilinx.com/Zynq+AMS+Post+Processing+in+PL+App+Notehttp://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=12

  • まとめ

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 13

    まとめ このアプリ ケーシ ョ ン ノートでは、 ADC からのサンプルを後処理して環境ノ イズを除去する、 コス ト効率の高い方法を説明しました。 こ こで使用されるデザイン ブロ ッ クは、 標準の AXI インターフェイスに準拠した DSP ブロ ッ ク ベースの軽量ソ リ ューシ ョ ンです。IP コアは、XADC サンプルを後処理する手段と して、 ユーザー デザインで再利用できます。 Vivado IPI フローでは、回路図ベースの環境で簡単に再利用が可能になり、 RTL を記述する必要があ り ません。

    付録 : LabView シリアル インターフェイス

    表 6 では、 さまざまな UART アプリ ケーシ ョ ン操作のレジスタ マップについて説明します。 UART を介す送信フォーマッ トは、 アド レスの後ろにデータ バイ トが続きます。 アド レス制限は 16 ビッ ト で、データ値も 16 ビッ トです。書き込み (16 ビッ トのアドレス、 16 ビッ トの書き込みデータ) の場合は、 OK 肯定応答信号がアサートされます。

    読み出しの場合は、 R AAAA の UART コマンドの後に読み出しデータが続きます。

    参考資料 この文書の参考資料は次のとおりです。1. 『ザイ リ ンクス All Programmable Device でのアナログ信号処理機能の効率的なインプリ メンテー

    シ ョ ン』 (WP442)2. 『AMS101 評価カード ユーザー ガイ ド』 (UG886)3. AMS101 評価カードの資料

    japan.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/accessory_boards/ams101-evaluation-card.html

    4. 『Zynq-7000 All Programmable SoC テクニカル リ ファレンス マニュアル』 (UG585)5. 『7 シ リーズ FPGA および Zynq-7000 All Programmable SoC の XADC 12 ビッ ト 1MSPS デュア

    ル アナログ - デジタル コンバーター ユーザー ガイ ド』 (UG480)6. 『7 シ リーズ FPGA AMS ターゲッ ト リ ファレンス デザイン ユーザー ガイ ド』 (UG960)7. 『Analog linearization of resistance temperature detectors』

    www.ti.com/lit/an/slyt442/slyt442.pdf

    表 6 : レジスタ マップ

    UART アプリケーシ ョ ンのコマンド

    UART の送信UART の受信

    アドレス データ

    接続の確立 : デザイン バージョン レジスタ (読み出し専用)

    0x0000 読み出し専用のデザイン バージ ョン レジスタです。 16 ビッ トのデータを返します。 デザイン バージ ョン (D11-8).(D7-0) とな り ます。UART コマンド : R 0000

    タ イム ド メ イン/周波数ド メイン タブ : データの収集 (読み出し専用)

    0x0001 - UART アプ リ ケーシ ョ ンでさ らに処理するため、FPGA は 4,096 サンプル (8KB) のロー データを送信します。

    同時サンプ リ ング モードの場合、デュアル ディ スプレイが必要となり、FFT は VAUX[0] チャネルに対応する偶数サンプル と VAUX[8]チャネルに対応する奇数サンプルを含む 8,192 サンプルを返します。UART コマンド : R 0001

    http://japan.xilinx.com/support/documentation/white_papers/wp442-analog-sig-proc.pdfhttp://japan.xilinx.com/support/documentation/boards_and_kits/ams101/ug886-ams101-eval-card.pdfhttp://japan.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/accessory_boards/ams101-evaluation-card.htmlhttp://japan.xilinx.com/cgi-bin/docs/ndoc?v=zynq-7000;t=user+guidehttp://japan.xilinx.com/support/documentation/user_guides/ug480_7Series_XADC.pdfhttp://japan.xilinx.com/cgi-bin/docs/bkdoc?k=ams101;v=current;d=ug960-7series-ams-trd-user-guide.pdfhttp://www.ti.com/lit/an/slyt442/slyt442.pdfhttp://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=13

  • 改訂履歴

    XAPP1203 (v1.0) 2014 年 4 月 22 日 japan.xilinx.com 14

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

    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 Xilinx’s limitedwarranty, please refer to Xilinx’s Terms of Sale which can be viewed athttp://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms contained ina license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use inany application requiring fail-safe performance; you assume sole risk and liability for use of Xilinxproducts in such critical applications, please refer to Xilinx’s Terms of Sale which can be viewed athttp://www.xilinx.com/legal.htm#tos.

    Automotive Applications Disclaimer

    XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE INANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS APPLICATIONSRELATED TO:(I) THE DEPLOYMENT OF AIRBAGS, (II) CONTROL OF A VEHICLE, UNLESSTHERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OFSOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNINGSIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD TO DEATHOR PERSONAL INJURY.CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USEOF XILINX PRODUCTS IN SUCH APPLICATIONS.

    本資料は英語版 (v1.0) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあ り ます。日本語版は参考用と してご使用の上、 最新情報につきましては、 必ず最新英語版をご参照ください。

    この資料に関するフィードバックおよびリンクなどの問題につきましては、[email protected]までお知らせください。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けておりません。 あらかじめご了承ください。

    日付 バージョ ン 内容

    2014 年 4 月 22 日 1.0 初版

    mailto:[email protected]://www.xilinx.com/legal.htm#toshttp://www.xilinx.com/legal.htm#toshttp://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Application_Notes&docId=XAPP1203&Title=Zynq-7000%20AP%20SoC%20%26%2312395%3B%26%2320449%3B%26%2321495%3B%26%2320966%3B%26%2329702%3B%20IP%20%26%2312434%3B%26%2323455%3B%26%2335013%3B%26%2312375%3B%26%2312390%3B%20XADC%20%26%2312469%3B%26%2312531%3B%26%2312503%3B%26%2312523%3B%26%2312434%3B%26%2324460%3B%26%2320966%3B%26%2329702%3B%26%2312377%3B%26%2312427%3B&releaseVersion=1.0&docPage=14

    Zynq-7000 AP SoC に信号処理 IP を実装して XADC サンプルを後処理するMrinal J. Sarmah、Cathal Murphy概要はじめにハードウェア デザインの概要XADC Wizard IPSensor Linearizer (センサー リニアライザー)FIR フィルターDecimator (デシメーター) ブロック

    ソフトウェア アーキテクチャvoid config_fir (int_base_addr)void config_xadc (void)void decimation_config (XDecimator_XDecInstancePtr、int dec_value、 int num_channel)int decimation_initialization (void)void fill_memory_ramp (void)int linearization_initialization (void)int main ()void toggle_bypass_decimator ()void toggle_bypass_fir (unsigned int base_addr)void toggle_bypass_lin ()void toggle_reset_fir (unsigned int base_addr)

    ハードウェア要件比較分析FIR フィルター IPSensor Linearizer IP

    実験結果リファレンス デザインまとめ付録 : LabView シリアル インター フェイス参考資料改訂履歴Notice of DisclaimerAutomotive Applications Disclaimer