ChipScope Pro ILA コアと Project Navigator を使用した FPGA アプリケーションのデバッグ

Similar documents
エレクトーンのお客様向けiPhone/iPad接続マニュアル

インターネット接続ガイド v110

2

ScanFront300/300P セットアップガイド

iPhone/iPad接続マニュアル

Chapter

DS-30

DS-70000/DS-60000/DS-50000

ScanFront 220/220P 取扱説明書

ScanFront 220/220P セットアップガイド

DDK-7 取扱説明書 v1.10

NetVehicle GX5取扱説明書 基本編

外部SQLソース入門


WYE771W取扱説明書

TH-47LFX60 / TH-47LFX6N


ES-D400/ES-D350

EPSON ES-D200 パソコンでのスキャンガイド

PX-504A

IM 21B04C50-01

PX-434A/PX-404A

GT-F740/GT-S640

EP-704A

PX-403A

GT-X830

EPSON PX-503A ユーザーズガイド

GT-X980

MusicSoft Manager

PX-B750F

EPSON EP-803A/EP-803AW ユーザーズガイド

EPSON EP-703A ユーザーズガイド

TH-80LF50J TH-70LF50J

untitled

PX-673F


基本操作ガイド

Appendix

操作ガイド(本体操作編)

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールす

untitled

操作ガイド(本体操作編)

VQT3B86-4 DMP-HV200 DMP-HV150 μ μ l μ

DS-510

ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための

EP-904シリーズ/EP-804シリーズ/EP-774A

目次 1. 珠肌 Photoshop プラグインについて はじめに 必要システム構成 インストールとアクティベーション 珠肌 for Photoshop をインストールする アクティベーションする...


Microsoft Word - Win-Outlook.docx

基本操作ガイド


ザイリンクス XCN 製造中止製品の通知 : CPLD、コンフィギュレーション PROM、Spartan および Virtex FPGA 製品のリビジョン制御 SCD 製品番号

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

untitled

2

PFS-Readme

珠肌 for Video ユーザーマニュアル

PX-1700F/PX-1600F

Microsoft Word - PrivateAccess_UM.docx

Microsoft Word - LaCie Manual_JA080719doc.doc

準備と設定

べリンガーB-CONTROL

インクジェットプリンター

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

Microsoft Word - HowToSetupVault_mod.doc


SketchBook Express V6.0.1


MIDI_IO.book

Introduction Purpose This training course describes the configuration and session features of the High-performance Embedded Workshop (HEW), a key tool

DIGNO® ケータイ ユーザーガイド

ModelSim-Altera - RTL シミュレーションの方法


AWS Client VPN - ユーザーガイド

Xpand! Plug-In Guide


Operating Instructions

ベース0516.indd


PSP-3000 MHB

Transcription:

ChipScope Pro ILA コアと Project Navigator を使用した FPGA アプリケーションのデバッグ UG750 (v12.3) 2010 年 11 月 5 日

Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you solely for use in the development of designs to operate with Xilinx hardware devices. You may not reproduce, distribute, republish, download, display, post, or transmit the Documentation in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Xilinx. Xilinx expressly disclaims any liability arising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentation without notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you of any corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that may be provided to you in connection with the Information. THE DOCUMENTATION IS DISCLOSED TO YOU AS-IS WITH NO WARRANTY OF ANY KIND. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OF DATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR RELATING TO YOUR USE OF THE DESIGN, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE TOTAL CUMULATIVE LIABILITY OF XILINX IN CONNECTION WITH YOUR USE OF THE DESIGN, WHETHER IN CONTRACT OR TORT OR OTHERWISE, WILL IN NO EVENT EXCEED THE AMOUNT OF FEES PAID BY YOU TO XILINX HEREUNDER FOR USE OF THE DESIGN. YOU ACKNOWLEDGE THAT THE FEES, IF ANY, REFLECT THE ALLOCATION OF RISK SET FORTH IN THIS AGREEMENT AND THAT XILINX WOULD NOT MAKE AVAILABLE THE DESIGN TO YOU WITHOUT THESE LIMITATIONS OF LIABILITY. The Design is not designed or intended for use in the development of on-line control equipment in hazardous environments requiring fail-safe controls, such as in the operation of nuclear facilities, aircraft navigation or communications systems, air traffic control, life support, or weapons systems ( High-Risk Applications Xilinx specifically disclaims any express or implied warranties of fitness for such High-Risk Applications. You represent that use of the Design in such High-Risk Applications is fully at your risk. 2010 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc. All other trademarks are the property of their respective owners. Demo Design License 2010 Xilinx, Inc. This Design is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Library General Public License along with this design file; if not, see: http://www.gnu.org/licenses/ 本資料は英語版 (v 12.3) を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください ChipScope Pro ILA コアと Project Navigator を使用した FPGA アプリケーションのデバッグ japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

目次 第 1 章 : はじめに目標........................................................................... 5 チュートリアルに必要な要件....................................................... 6 デザインの説明.................................................................. 7 プッシュボタンスイッチ......................................................7 デバウンス回路..............................................................8 制御ステートマシン..........................................................8 LED ディスプレイ............................................................8 チュートリアルに含まれるファイル.................................................. 9 手順........................................................................... 9 第 2 章 : Project Navigator でのプロジェクトの作成とインプリメント RTL デザインの作成およびインプリメント........................................... 11 質問.......................................................................... 15 第 3 章 : デザインへの ChipScope ILA コアの追加 ChipScope ILA コアの追加........................................................ 17 質問.......................................................................... 22 第 4 章 : ChipScope Pro Analyzer を使用したデザインのデバッグデザインのデバッグ............................................................. 23 質問.......................................................................... 32 第 5 章 : チュートリアルのまとめまとめ........................................................................ 33 質問の解答..................................................................... 33 UG673 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 3

4 japan.xilinx.com UG673 (v12.3) 2010 年 11 月 5 日

第 1 章 はじめに このチュートリアルでは Integrated Logic Analyzer (ILA) コアを Project Navigator デザイン環境内に挿入して FPGA デザインをデバッグする方法について説明します ChipScope Pro Analyzer の機能を利用し デザインの問題をデバッグし 潜在的な原因を見つけることができるので 素早く問題を識別することができます ChipScope および Xilinx ISE Project Navigator 間の統合フローについては RTL デザイン例を使用して説明します このチュートリアルを実行するには ISE ツールフローの基本的な知識が必要となります 目標 このチュートリアルを終了すると 次ができるようになります Project Navigator と ILA コアを使用した ChipScope および ChipScope Analyzer を使用してデザインをデバッグします ISE プロジェクトを作成し ILA コアを使用してデザインをプローブし Project Navigator でデザインをインプリメントする方法について理解します ChipScope Analyzer を使用してデザインをデバッグし Project Navigator デザイン環境と SP601 プラットフォームを使用してデザインを繰り返し実行します UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 5

第 1 章 : はじめに チュートリアルに必要な要件 このチュートリアルを実行するには 次のソフトウェアおよびハードウェアが必要です ザイリンクス ISE Design Suite 12.3 (Logic DSP Embedded または System Edition) SP601 プラットフォーム SP601 プラットフォームに含まれる JTAG ケーブル X-Ref Target - Figure 1-1 図 1-1 : SP-601 プラットフォーム 6 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

デザインの説明 デザインの説明 RTL デザイン例の最上位レベルのブロック図を次に示します デザインには シンプルな制御ステートマシン 複数のサイン波ジェネレーター 共通のプッシュボタン (GPIO_BUTTON) DIP スイッチ (GPIO_SWITCH) LED ディスプレイ (GPIO_LED) が含まれます プッシュボタンスイッチ プッシュボタンスイッチは デバウンス回路や制御ステートマシン回路への入力として使用されます スイッチを押すと High から Low への遷移パルスが生成されます 生成された出力パルスは それぞれステートマシンへの入力として使用されます X-Ref Target - Figure 1-2 図 1-2 : DIP スイッチ - デバウンス回路をイネーブルまたはディスエーブルにするスイッチ X-Ref Target - Figure 1-3 図 1-3 : デバウンス回路 UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 7

第 1 章 : はじめに デバウンス回路 イネーブルになると このデザイン例の場合 デバウンス回路によりクリーンなパルスまたは High から Low への遷移が提供され ボタンを押してから放すと 一連のスパイクやグリッチが削除されます 制御ステートマシン 制御ステーとマシンは 2 つのプッシュボタンスイッチからの入力パルスをキャプチャーしてデコードするために使用され 00 01 10 11 (0 ~ 3) 間のサイン波選択回路およびインジケーター回路を提供します LED ディスプレイ GPIO_LED_0 および GPIO_LED_0 はステートマシンの出力からの選択ステータスを表示し それぞれ高 中 低周波の異なるサイン波周波数を表します X-Ref Target - Figure 1-4 図 1-4 : LED ディスプレイ 8 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

チュートリアルに含まれるファイル チュートリアルに含まれるファイル このチュートリアルには 次のファイルおよびフォルダが含まれています debounce.vhdl - デバウンス回路 fsm.vhdl - 制御ステートマシン sinegen_demo - サイン波ジェネレーターのラッパー sinewave_demo - 最上位レベルのラッパーデザイン sine_high.xco sine_mid.xco sine_low.xco - ザイリンクス CORE Generator ファイル sinegen_demo_sp601.ucf - UCF 制約ファイル メモ : このチュートリアルでは SP605 と ML605 の 2 つのザイリンクスプラットフォームもサポートされています このチュートリアルの対象を SP605 か ML605 に変更する場合は 次の表のピン配置情報を参照してください 表 1-1 : ザイリンクスプラットフォームのピン配置情報 ピン配置の位置 SP601 SP605 ML605 ファンクション CLK_N K16 K22 H9 クロック CLK_P K15 K21 J9 クロック GPIO_BUTTONS0 P4 F3 A19 リセット GOIP_BUTTONS1 F6 G6 G26 シーケンサー GPIO_SWITCH D14 C18 D22 デバウンス回路セレクター GPIO_LED_0 E13 D17 AC22 Selector[0] GPIO_LED_0 C14 AB4 AC24 Selector[1] 手順 このチュートリアルでは 次の 3 つのタスクを実行します 1. Project Navigator でのプロジェクトの作成とインプリメント 2. デザインへの ChipScope ILA コアの追加 3. ChipScope Pro Analyzer を使用したデザインのデバッグ UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 9

第 1 章 : はじめに 10 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

第 2 章 Project Navigator でのプロジェクトの作成とインプリメント RTL デザインの作成およびインプリメント この手順では Project Navigator で RTL デザインを素早くインプリメントする方法と Project Navigator で SP601 プラットフォームをターゲットにした ISE プロジェクトを作成する方法について学びます 1. 提供されているソースファイルを C:\ChipScope_ProjNav\ で解凍します 2. Project Navigator を起動し [File] [New Project] をクリックして新しいプロジェクトを作成 します 名前 ディレクトリ プロジェクトタイプを指定し [Next] をクリックします X-Ref Target - Figure 2-1 図 2-1 : [Create New Project] ページ UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 11

第 2 章 : Project Navigator でのプロジェクトの作成とインプリメント 3. デバイスとプロジェクトプロパティを図のように指定し [Next] をクリックします X-Ref Target - Figure 2-2 図 2-2 : [Project Settings] ページ 4. サマリを確認したら [Finish] をクリックします 5. pn_step1 プロジェクトを右クリックして [Add Source] をクリックし VHDL ソースファイルを新規プロジェクトに追加します 12 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

RTL デザインの作成およびインプリメント 6. ソースファイルのある src ディレクトリを指定し すべての VHDL ファイルを選択して開きます X-Ref Target - Figure 2-3 図 2-3 : ソースファイル 7. [Adding Source Files] ウィンドウにリストされるファイルを確認し [OK] をクリックします X-Ref Target - Figure 2-4 図 2-4 : [Adding Source Files] ウィンドウ UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 13

第 2 章 : Project Navigator でのプロジェクトの作成とインプリメント 8. sinegen_demo を右クリックし [New Source] をクリックして新しい定義と接続 (.cdc) ファイルをプロジェクトに追加します X-Ref Target - Figure 2-5 図 2-5 : 新規ソースの選択 9. [Select Source Type] ウィンドウで [ChipScope Defination and Connection File] を選択し ファイル名に pn_step1.cdc と入力して [Finish] をクリックします 10. サマリ情報を確認して [Finish] をクリックします 次に 3 つのサイン波ジェネレーターのコアすべてを生成します 14 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

質問 11. [Design] ウィンドウで U_SINEGEN の下の 3 つすべての.xco ファイルを選択し [Regenerate All Cores] プロセスをダブルクリックします X-Ref Target - Figure 2-6 図 2-6 : [Design] ウィンドウのサイン波ジェネレーターのファイル 12. デザインを合成する前に [Keep Hierarchy] オプションを [Soft] に設定し デザイン階層が保持され XST で階層最適化が実行されないようにしておきます これを設定するには [Synthesize] プロセスを右クリックし [-Keep_hierarchy] オプションを [Soft] にします 13. [Apply] をクリックします これで 合成準備が完了です 14. [Synthesize] プロセスをダブルクリックします 15. [File] [Copy Project] をクリックし プロジェクト名を pn_step2 にして保存します 16. プロジェクト名とディレクトリを入力したら [OK] をクリックします この段階までで Project Navigator を使用して ISE プロジェクトを作成し デザインを合成しました 質問 1. 手順 1 で実行したことを簡単に説明してください 2. このチュートリアルで使用した主な回路は何ですか 3. ほかのザイリンクスボードをターゲットにする場合 どのソースファイルを修正する必要がありますか UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 15

第 2 章 : Project Navigator でのプロジェクトの作成とインプリメント 16 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

第 3 章 デザインへの ChipScope ILA コアの追加 ChipScope ILA コアの追加 この手順では Project Navigator と ChipScope Pro Core Inserter ツール間の統合フローを使用して デザインに ChipScope ILA コアを追加します 以前はユーザーが ILA コアを手動で RTL デザインに挿入する必要がありました この場合 デザインのソースファイルを変更する必要があったため 手間がかかる上にミスをする可能性がありました 今回からは 元の RTL ソースファイルを変更せずに コアを追加し 信号を接続詞 デザインをプローブできます 1. [Hierarchy] ウィンドウで pn_step1.cdc ファイルをダブルクリックし ChipScope Pro Core Inserter ツールを起動します 最初のウィンドウには デバイスオプションが表示されます ターゲットデバイスは既に Project Navigator で設定したので デバイスオプションが自動的に設定されています これにより ChipScope Pro Core Inserter と Project Navigator 間で異なるデバイスを選ぶミスを避けることができます X-Ref Target - Figure 3-1 図 3-1 : ChipScope Pro Core Inserter UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 17

第 3 章 : デザインへの ChipScope ILA コアの追加 2. [Next] をクリックします ウィンドウに ICON オプションが表示されます X-Ref Target - Figure 3-2 図 3-2 : ICON オプション 3. [Next] をクリックして ILA コアを追加します 4. [ILA Options] ウィンドウの [Trigger Parameters] タブでトリガーパラメータを設定します X-Ref Target - Figure 3-3 図 3-3 : [ILA Options] ウィンドウの [Trigger Parameters] タブ 18 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

ChipScope ILA コアの追加 この例では 次のようにトリガーパラメータを設定します 表 3-1 : トリガーパラメーター トリガー名 トリガー幅 マッチタイプ TRIG0 2 Basic w/ edge TRIG1 2 Basic w/ edge TRIG2 2 Basic w/ edge TRIG3 20 Basic TRIG4 2 Basic w/ edge TRIG5 3 Basic w/ edge 5. [Capture Parameters] タブをクリックし 設定したトリガーパラメータを確認します X-Ref Target - Figure 3-4 図 3-4 : [Capture Parameters] タブ 6. 各ポートをデバッグネットに接続します 次の手順に従います a. [Net Connections] タブをクリックします b. [Modify Connections] をクリックします [Select Net] ウィンドウが表示されます c. [Select Net] ウィンドウで sinegen_demo 階層から CLK_BUFG ネットを検索します CLK_BUFG ネットを検索するには [Pattern] フィールドに clk_bufg と入力し [Filter] をクリックします UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 19

第 3 章 : デザインへの ChipScope ILA コアの追加 X-Ref Target - Figure 3-5 d. 検索結果から clk_bufg を選択し [Make Connections] をクリックします 図 3-5 : [Select Net] ウィンドウ 7. 手順 6 を繰り返し 残りのトリガーポートも接続します TRIG0 : U_SINEGEN 階層で *sel* を検索 TRIG1 : sinegen_demo 階層で *GPIO_BUTTONS_re* を検索 TRIG2 : sinegen_demo 階層で *GPIO_BUTTONS_dly* を検索 TRIG3 : sinegen_demo 階層で *SINE* を検索 TRIG4 : sinegen_demo 階層で *GPIO_BUTTONS_db<0>* を検索 TRIG4 : sinegen_demo 階層で *GPIO_BUTTONS_db<1>* * を検索 TRIG5 : sinegen_demo 階層で *GPIO_BUTTONS_0_IBUF* を検索 TRIG3 : sinegen_demo 階層で *GPIO_BUTTONS_1_IBUF* を検索 TRIG3 : sinegen_demo 階層で *GPIO_SWITCH_IBUF* を検索 20 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

ChipScope ILA コアの追加 X-Ref Target - Figure 3-6 図 3-6 : トリガー / データ信号 8. 終了したら すべてのポートが赤色から黒色に変わり すべてのクロックおよびトリガーポートをデバッグネットに接続したことを示します X-Ref Target - Figure 3-7 図 3-7 : ネット接続の終了 UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 21

第 3 章 : デザインへの ChipScope ILA コアの追加 9. pn_step1.cdc ファイルを保存して閉じます ChipScope Pro Analyzer ツールを使用してビットストリームをデバイスにダウンロードする前に ビットストリーム生成オプションが正しく設定されているかどうか確認します 10. [Generate Programming File] プロセスを右クリックし [Properties] をクリックします 11. [Startup Options] カテゴリで -g StartUpClk オプションを [JTAG Clock] に設定します X-Ref Target - Figure 3-8 図 3-8 : [Startup Options] カテゴリ これで プログラムファイルの生成を開始できます 12. [Analyze Design Using ChipScope] プロセスをダブルクリックします プロセスが終了すると ChipScope Pro Analyzer ツールが起動されます 質問 4. デバッグプローブを HDL デザインファイルに追加するのではなく 合成後のネットリストに挿入する主な利点は何ですか ここまでで ChipScope ILA コアを挿入し終わったので ChipScope Pro Analyzer を使用してデザインをデバッグできるようになりました 22 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

第 4 章 ChipScope Pro Analyzer を使用したデザインのデバッグ デザインのデバッグ ここでは Xilinx ChipScope Pro Analyzer を使用してデザインをデバッグし エラーを検出して修正してから繰り返し実行する方法について説明します また デザインから一部のデータをトリガーおよびキャプチャーする方法についても説明します ChipScope Pro Analyzer を使用して サイン波ジェネレーターが正しく動作しているかどうかを確認します ここでの主な目的は 次の 2 つです すべてのサイン波選択が正しいかどうか確認 選択ロジックが正しく動作しているかどうか確認 次の手順に従います 1. JTAG チェーンを USB ケーブルにし 通信パラメータを設定します a. [JTAG Chain] [Xilinx Platform USB Cable] をクリックします b. [ChipScope Pro Analyzer] ダイアログボックスが開くので 速度とポートのパラメータを 設定します このチュートリアルでは [Speed] を 3 MHz に [Port] を USB21 にします c. [OK] をクリックします d. [ChipScope Pro Analyzer] ダイアログボックスで デバイスの詳細を確認し [OK] をク リックします UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 23

第 4 章 : ChipScope Pro Analyzer を使用したデザインのデバッグ 2. JTAG チェーンへの接続を確認します X-Ref Target - Figure 4-1 図 4-1 : JTAG チェーン接続の詳細 3. [Project] リストでデバイス名を右クリックし [Configure] をクリックしてデバイスをコンフィギュレーションします 4. [Configuration] ウィンドウで Project Navigator からのデフォルトの BIT と CDC ファイルを選択します 24 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

デザインのデバッグ 5. デバイスコンフィギュレーションと ILA コアを確認します X-Ref Target - Figure 4-2 図 4-2 : デバイスコンフィギュレーションの詳細 UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 25

第 4 章 : ChipScope Pro Analyzer を使用したデザインのデバッグ 6. [Trigger Setup] および [Waveform] をそれぞれダブルクリックし [Trigger Setup] および [Waveform] ウィンドウを開きます X-Ref Target - Figure 4-3 図 4-3 : [Trigger Setup] および [Waveform] の位置 7. [Trigger Setup] [Trigger Immediate] をクリックします 8. サイン波で動きがあることを確認します X-Ref Target - Figure 4-4 図 4-4 : サイン波の動作 9. [Bus Plot] をダブルクリックし [Bus Plot] ウィンドウを開きます 26 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

デザインのデバッグ 10. [Bus Plot] ウィンドウで [/sine] チェックボックスをオンにしてサイン波を表示します X-Ref Target - Figure 4-5 この波形はサイン波のようには見えません これは 基数設定を 16 進数から符号付き 10 進数へ変更すると正しく表示されます 11. [/sine] を右クリックし [Bus Radix] をクリックします [Signed Decimal] チェックボックスをオンにします 12. [Trigger Immediately] ボタンをクリックし 高周波数のサイン波のバスプロットを表示します X-Ref Target - Figure 4-6 図 4-5 : サイン波の表示 図 4-6 : 高周波数のサイン波のバスプロット UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 27

第 4 章 : ChipScope Pro Analyzer を使用したデザインのデバッグ 13. ボードのサイン波選択インジケーターの LED が off,on, 01 と表示されるまで ボードで [Sine Wave Sequencer] ボタン ( 図 1-1) を押し続けます メモ : シーケンサーは正しく動作していません 予測される動作では ボタンを押すごとにカウントするシンプルな 2 ビットカウンター (00, 01, 10, 11...) になるはずです この問題の原因については チュートリアルの後半でデバッグします 14. [Trigger Immediately] ボタンをもう 1 度クリックし 中周波数のサイン波のバスプロットを表示します X-Ref Target - Figure 4-7 図 4-7 : 中周波数のサイン波のバスプロット 15. ボードのサイン波選択インジケーターの LED が on, off, 10 と表示されるまで ボードで [Sine Wave Sequencer] ボタンを押し続けます 16. [Trigger Immediately] ボタンをもう 1 度クリックし 低周波数のサイン波のバスプロットを表示します X-Ref Target - Figure 4-8 図 4-8 : 低周波数のサイン波のバスプロット 17. ボードのサイン波選択インジケーターの LED が on, on, 11 と表示されるまで ボードで [Sine Wave Sequencer] ボタンを押し続けます 28 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

デザインのデバッグ 18. [Trigger Immediately] ボタンをクリックし 混合サイン波のバスプロットを表示します X-Ref Target - Figure 4-9 図 4-9 : 混合サイン波のバスプロット すべてのサイン波選択が正しいかどうか確認しましたが 選択ロジック回路はまだ正しく動作していません すべてのサイン波選択が正しいかどうか確認します 選択ロジックが正しく動作しているかどうかは 次の手順で確認できます ステートマシンが正しく遷移し 出力が正しいかどうかを確認します ステートマシンの入力が正しいかどうかを確認します 次に選択ロジック回路のデバッグを開始します 19. 次のパラメータを設定してください [Match] : [TriggerPort1] を [RX] に設定 -- GPIO_BUTTONS_re[1] の立ち上がりエッジが FSM が遷移する原因となっているので検索 [Trigger Conditions] : M1 -- トリガー式を M1 に設定 [Capture Settings] : Windows = 10 Depth = 2 UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 29

第 4 章 : ChipScope Pro Analyzer を使用したデザインのデバッグ X-Ref Target - Figure 4-10 図 4-10 : トリガの設定ウィンドウ メモ : GPIO_BUTTONS_re[1] ネットの実際の TriggerPort 番号はこのチュートリアルとは異なることもあります 20. [Run Trigger] ボタンをクリックしてトリガーを開始し 待ちます 進捗状況は ウィンドウの一番したに表示されます 21. ボードの [Sine Wave Sequencer] ボタンを押します 22. キャプチャーされたウィンドウ数を確認します キャプチャーされたウィンドウが 1 つだけの場合は 21 と 22 を繰り返します 複数のウィンドウがキャプチャーされた場合は 次の手順へ進みます X-Ref Target - Figure 4-11 図 4-11 : キャプチャーされたウィンドウの確認 23. [Stop Trigger] ボタンをクリックし キャプチャーされたデータを確認します [Sine Wave Seqencer] ボタンを押すたびに複数の立ち上がりエッジがあることがわかります また ステートマシンが正しく動作しているかどうかを示す sinesel が正しく遷移していることもわかります 30 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

デザインのデバッグ ここまでで サイン波ジェネレーターが正しく動作しているかどうかを確認しました すべてのサイン波選択が正しいかどうか確認します 選択ロジックが正しく動作しているかどうかは 次の手順で確認できます ステートマシンが正しく遷移し 出力が正しいかどうかを確認します ステートマシンの入力が正しいかどうかを確認します 24. トリガーモードおよび状況を指定する次のパラメータを設定します [Trigger Run Mode] :Repetitive [Match ] : [TriggerPort5] を [XRX] に設定 -- ボードの [Sine Wave Sequencer] ボタンの入力バッファである GPIO_BUTTONS_1_IBUF の立ち上がりエッジを検索. [Trigger Conditions] :M5 [Capture Settings] : - Windows = 1 - Depth = 1024 - Position = 512 25. [Run Trigger] ボタンをクリックし GPIO_BUTTONS_1_IBUF 信号で複数の遷移があるまで ボードの [Sine Wave Sequencer] ボタンを押し続けます X-Ref Target - Figure 4-12 図 4-12 : 波形の表示 メモ : 波形には 信号グリッチが図と同じ位置に表示されないこともあります これは トリガー実行モードを [Repetitive] にした場合の利点です ここまでで サイン波ジェネレーターが正しく動作しているかどうかを確認しました ただし ステートマシンの入力は正しくありません これらの入力はプッシュボタンスイッチから直接接続されています すべてのサイン波選択が正しいかどうか確認します 選択ロジックが正しく動作しているかどうかは 次の手順で確認できます ステートマシンが正しく遷移し 出力が正しいかどうかを確認します ステートマシンの入力が正しいかどうかを確認します UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 31

第 4 章 : ChipScope Pro Analyzer を使用したデザインのデバッグ 図 4-12 に示すように プッシュボタンスイッチが押されて離されるごとにグリッチが生成されるので 問題の原因はプッシュボタンスイッチにあるようです 複数の遷移を引き起こすこれらのグリッチを削除するため プッシュボタンスイッチにはそれぞれデバウンス回路が必要です デバウンス回路は 既にデザイン例に含まれています デバウンス回路をイネーブルにするには DIP スイッチ 1 をオンにし 24 と 25 を繰り返し ボタンを 1 度押すごとに遷移が 1 つだけになることを確認します 質問 5. 手順 18 の問題を解決して追加ポイントを取得する時間はありましたか 6. このチュートリアルでデバウンス回路が必要な理由は何ですか 32 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日

第 5 章 チュートリアルのまとめ まとめ このチュートリアルでは ChipScope Pro ILA Core Inserter と Project Navigator の統合フローを紹介し Project Navigator で IP コアのネットリストを生成してデザインを合成し ILA Core Inserter を使用して ChipScope ILA コアをデザインに追加する方法について説明しました また デバッグプロセスについても詳しく説明し ChipScope Pro Analyzer を使用し さまざまなトリガー設定でデザインをデバッグする方法を紹介しました これにより 基本的なデザインフローの一部と Project Navigator と ChipScope Pro 間の統合について理解いただけたはずです 質問の解答 1. 手順 1 で実行したことを簡単に説明してください PlanAhead の RTL プロジェクトを作成し VHDL の ChipScope デザインに読み込んで デザインをインプリメントしました 2. このチュートリアルで使用した主な回路は何ですか debounce.vhdl - デバウンス回路 fsm.vhdl - 制御ステートマシン sinegen_demo - サイン波ジェネレーターのラッパー 3. ほかのザイリンクスボードをターゲットにする場合 どのソースファイルを修正する必要がありますか UCF 制約ファイル 4. デバッグプローブを HDL デザインファイルに追加するのではなく 合成後のネットリストに挿入する主な利点は何ですか 元の HDL ファイルを直接変更する必要がないので 間違ってミスを引き起こす可能性はなくなりました 5. 手順 18 の問題を解決して追加ポイントを取得する時間はありましたか ヒント : Analyzer の波形から判断すると sinegen_demo.vhd および sinegen.vhd モジュールで指定されたビットベクターが足りないために 出力サイン波が切り捨てられている可能性があるようです 現在のところ 20 ビットベクターに指定されていますが これは 22 ビットまで拡張する必要があります これらの 2 つのモジュールを変更し デザインを繰り返してください UG750 (v12.3) 2010 年 11 月 5 日 japan.xilinx.com 33

第 5 章 : チュートリアルのまとめ 6. このチュートリアルでデバウンス回路が必要な理由は何ですか このデザイン例の場合 デバウンス回路によりクリーンなパルスまたは High から Lpw への遷移が提供され ボタンを押してから放すと 一連のスパイクやグリッチが削除されます 34 japan.xilinx.com UG750 (v12.3) 2010 年 11 月 5 日