[ja-jp ch617] Quartus II Handbook Volume 3: Verification
by user
Comments
Transcript
[ja-jp ch617] Quartus II Handbook Volume 3: Verification
In-System Sources and Probes を使用したデザ インのデバッグ 2014.12.15 QII5V3 更新情報 17 フィードバック 従来のデバッグの手法では多くの場合、実行時の出力波形の観測にはロジックとロジック・アナ ライザを使用する外部のパターン・ジェネレータが用いられてきましたが、SignalTap® II Logic Analyzer と SignalProbe を使用すれば、ロジック・デザインのデバッグ手法の 1 つとして、ラン タイム中に内部ロジック信号をリードしたり、あるいは「タップ」することができます。 このデバッグ手法により、デザイン内で内部信号を手動でドライブする際にデバッグ・サイクル がより効率的となり、次の操作を実行することができます。 • SignalTap II Logic Analyzer で設定されるトリガ条件の発生を強制します。 • 外部のテスト装置を使用しなくても、デザインをエキササイズする簡単なテスト・ベクタを 生成します。 • JTAG チェインを使用し、ランタイム・コントロール信号を動的に制御します。 Quartus II®ソフトウェアのインシステム・ソースおよびプローブ・エディタは、検証ツールのポ ートフォリオを拡張します。また、任意の内部信号を簡単に制御することが可能となり、完全に 動的なデバッグ環境を提供します。SignalTap II Logic Analyzer または SignalProbe のいずれかに 加え、インシステム・ソースとプローブ・エディタはティミュラスを生成して、ロジック設計か らの応答を請求する強力なデバッグ環境を提供します。 さらに、Virtual JTAG IP コアおよびインシステム・メモリ・コンテンツ・エディタを使用するこ とで、仮想入力をデザインにドライブすることが可能です。この他にも Quartus II ソフトウェア は、様々なオンチップ・デバッグ・ツールを提供します。 In-System Sources and Probes Editor は ALTSOURCE_PROBE IP コアと、実行時に ALTSOURCE_PROBE IP コアのインスタンスを制御するインタフェースで構成されています。 各 ALTSOURCE_PROBE IP コア・インスタンスは、ソース出力ポートおよびプローブ入力ポート を提供します。このソース・ポートは選択された信号をドライブし、プローブ・ポートは選択さ れた信号をサンプリングします。デザインをコンパイルすると、ALTSOURCE_PROBE IP コア は、ロジック設計で選択されたノードをドライブまたはサンプリングするためにレジスタ・チェ インを設定します。実行時に、In-System Sources and Probes Editor は JTAG 接続を使用し、 ALTSOURCE_PROBE IP コア・インスタンスからデータと ALTSOURCE_PROBE IP コア・インス タンスへのデータをシフトします。下の図は、In-System Sources and Probes Editor を構成するコ ンポーネントののブロック図を示しています。 © 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 17-2 QII5V3 2014.12.15 In-System Sources and Probes を使用したデザインのデバッグ 図 17-1: In-System Sources and Probes Editor のブロック図 FPGA Design Logic Probes Sources altsource_probe Megafunction D Q D Q JTAG Controller Altera Programming Hardware Quartus II Software ALTSOURCE_PROBE IP コアは、スティミュラスを与えプローブするための基本的なビルディン グ・ブロックを提供するため、デザイン内に計装された JTAG コントローラとレジスタ間の詳細 なトランザクションを非表示にします。 さらに、In-System Sources and Probes Editor は、選択し たロジック・ノードにシングル・サイクル・サンプルとシングル・サイクル・ライトを提供しま す。シンプルで仮想スティミュラスを入力する場合や、計装化されたノードの現在の値をキャプ チャする場合にこの機能を使用することができます。In-System Sources and Probes Editor によ り、デザイン内のロジック・ノードへアクセス可能となり、デバッグ過程で下位レベルのコンポ ーネントの入力をトグルすることが可能です。SignalTap II ロジック・アナライザと組み合わせ て使用する場合、問題点を切り分け、デバッグ・プロセスの短縮に役立つよう、トリガ条件を強 制することができます。 In-System Sources and Probes Editor を使用することで、仮想スティミュラスとしてデザインに制 御信号を簡単に実装することができます。この機能は、以下の操作のような、デザインのプロト タイプを作成する場合に特に役立ちます。 • • • • Altera Corporation 仮想プッシュ・ボタンの作成 デザインとインタフェースする仮想フロント・パネルの作成 外部センサ・データのエミュレート オンザフライでランタイム定数のモニタ、変更 In-System Sources and Probes を使用したデザインのデバッグ フィードバック QII5V3 2014.12.15 ハードウェアおよびソフトウェア要件 17-3 In-System Sources and Probes Editor は、高度なオートメーション化に向けてすべての ALTSOURCE_PROBE IP コア・インスタンスとインタフェースする Tcl コマンドをサポートしま す。 関連情報 System Debugging Tools Quartus II ソフトウェア・オンチップ・デバッグ・ツール・スイートで利用可能な全てのツール の概要と比較 ハードウェアおよびソフトウェア要件 次のコンポーネントには、In-System Sources and Probes Editor を使用する必要があります。 • Quartus II ソフトウェア または • Quartus II Web Edition(TalkBack 機能がイネーブルされた状態) • ダウンロード・ケーブル(USB-BlasterTM ダウンロード・ケーブルまたは ByteBlasterTM ケーブ ル) • テスト対象のデバイスへの JTAG 接続を備えた Altera®開発キットまたはユーザー・デザイ ン・ボード In-System Sources and Probes Editor は、次のデバイス・ファミリをサポートしています。 • • • • Arria シリーズ ® Stratix シリーズ ® Cyclone シリーズ ® MAX シリーズ ® In-System Sources and Probes Editor を使用したデザイン・フロー In-System Sources and Probes Editor は、RTL フローをサポートします。In-System Sources and Probes Editor で表示する信号は、In-System Sources and Probes IP コアのインスタンスに接続され ています。 デザインをコンパイルした後、In-System Sources and Probes Editor ペイン、または Tcl インタフ ェースから各インスタンスを制御することができます。 In-System Sources and Probes を使用したデザインのデバッグ フィードバック Altera Corporation 17-4 QII5V3 2014.12.15 In-System Sources and Probes IP コアのインスタンス化 図 17-2: In-System Sources and Probes Editor を使用した FPGA のデザイン・フロー Start Create a New Project or Open an Existing Project Configure altsource_probe Megafunction Instrument selected logic nodes by Instantiating the altsource_probe Megafunction variation file into the HDL Design Compile the design Program Target Device(s) Debug/Modify HDL Control Source and Probe Instance(s) Functionality Satisfied? No Yes End In-System Sources and Probes IP コアのインスタンス化 In-System Sources and Probes Editor を使用する前に、In-System Sources and Probes IP コアをインス タンス化する必要があります。In-System Sources and Probes IP コアのカスタム・バリエーション をインスタンス化するには、IP Catalog とパラメータ・エディタを使用します。 Altera Corporation In-System Sources and Probes を使用したデザインのデバッグ フィードバック QII5V3 2014.12.15 In-System Sources and Probes IP コアのパラメータ 17-5 In-System Sources and Probes IP コアをコンフィギュレーションするには、次の手順を実行します。 1. Tools メニューで、Tools > IP Catalog をクリックします。 2. In-System Sources and Probes IP をダブルクリックすると、パラメータ・エディタが表示されま す。 3. カスタム IP バリエーションに名称を指定します。 4. カスタム IP バリエーションに必要なパラメータを指定します。各ソースに最大 256 ビット まで指定することができます。この IP コアの最大 128 のインスタンスをデザインに含める ことが可能です。 5. Generate あるいは Finish をクリックして、仕様に適合した IP コアの合成ファイルとシミュレ ーション・ファイルを生成します。パラメータ・エディタは、その仕様をもとに、必要なバ リエーション・ファイルとインスタンス化のテンプレートを生成します。生成されたテンプ レートを使用して、デザインで In-System Sources and Probes IP コアをインスタンス化します。 注: In-System Sources and Probes Editor はシミュレーションをサポートしません。シミュレー ション・ネットリストを作成する前に In-System Sources and Probes IP を削除する必要があ ります。 In-System Sources and Probes IP コアのパラメータ デザインでバリエーション・ファイルをインスタンス化するにはテンプレートを使用します。 表 17-1: In-System Sources and Probes IP のポート情報 ポート名 必要性 入力/出力 注記 probe[ ] 不要 入力 デザインからの出力です。 source_clk 不要 入力 ソースデータは、このクロックに同期してライトさ れます。Source Clock をパラメータ・エディタの Advanced Options ボックスでオンにしている場合、 この入力が必要となります。 source_ena 不要 入力 これは source_clk へのクロック・イネーブル信号 です。パラメータ・エディタの Advanced Options ボックスで指定している場合、この入力が必要とな ります。 source[ ] 不要 出力 ユーザ・デザインへ入力をドライブするために使用 します。 デバイスに利用可能なリソースがある場合、最大で 128 の In-System Sources and Probes IP コアの インスタンスをデザインに含めることができます。IP コアの各インスタンスは、IP コアで最も 広いポートの幅に対し、信号ごとに 1 つのペアのレジスタを使用します。これ以外にも、IP コ ア・インスタンスと JTAG コントローラ間での通信に対応するための固定されたオーバーヘッ ド・ロジックがいくつか存在します。また、同期には送信元ポートごとに追加のレジスタ・ペア を指定することも可能です。 In-System Sources and Probes IP コアを含むデザインをコンパイルすると、In-System Sources and Probes IP コアと SLD Hub Controller IP コアが自動的にコンパイル階層に追加されます。これら の IP コアは、JTAG コントローラと計装されたロジックとの間における通信手段を提供します。 In-System Sources and Probes IP コアを編集することで、デザインへの接続数を変更することがで きます。パラメータ。エディタで変更するデザインのインスタンスを開くには、Project In-System Sources and Probes を使用したデザインのデバッグ フィードバック Altera Corporation 17-6 QII5V3 2014.12.15 デザインのコンパイル Navigator のインスタンスをダブルクリックします。その後、HDL ソース・ファイル内の接続を 変更することができます。変更を加えた後は、デザインを再度コンパイルする必要があります。 さらに、Quartus II のインクリメンタル・コンパイル機能を使用することで、コンパイル時間を 短縮することが可能です。このインクリメンタル・コンパイル機能はデザインをロジカル・パー ティション別に整理することができます。デザインの再コンパイル実行中、インクリメンタル・ コンパイルはコンパイル結果と変更されていないパーティションのパフォーマンスを維持し、変 更されたデザイン・パーティションだけをコンパイルしてデザインのイタレーション時間を短縮 します。 デザインのコンパイル In-System Sources and Probes IP コアを含むデザインをコンパイルすると、In-System Sources and Probes IP コアと SLD Hub Controller IP コアが自動的にコンパイル階層に追加されます。このよ うな IP コアは、JTAG コントローラと計装されたロジック間に通信を提供します。 In-System Sources and Probes IP コアを編集すれば、デザインへの接続数を変更することができま す。変更するデザインのインスタンスをパラメータ・エディタで開くには、Project Navigator の インスタンスをダブルクリックします。その後、HDL ソース・ファイル内の接続を変更するこ とができます。変更を加えた後は、デザインを再度コンパイルする必要があります。 さらに、Quartus II のインクリメンタル・コンパイル機能を使用することで、コンパイル時間を 短縮することが可能です。このインクリメンタル・コンパイル機能はデザインをロジカル・パー ティション別に整理することができます。デザインの再コンパイル実行中、インクリメンタル・ コンパイルはコンパイル結果と変更されていないパーティションのパフォーマンスを維持し、変 更されたデザイン・パーティションだけをコンパイルしてデザインのイタレーション時間を短縮 します。 関連情報 Quartus II Incremental Compilation for Hierarchical and Team-Based Design In-System Sources and Probes Editor の実行 In-System Sources and Probes Editor では、デザイン内のすべての ALTSOURCE_PROBE IP コア・イ ンスタンスが制御可能です。このエディタを使用すれば、デザイン内の ALTSOURCE_PROBE IP コアで使用できる制御可能なランタイム・インスタンスをすべて表示し、すべてのソース・ノー ドをドライブするプッシュボタン・インタフェースを提供し、プローブおよびソース・データが 格納できるログ機能を提供します。 In-System Sources and Probes Editor を実行するには、 • Tools メニューから In-System Sources and Probes Editor をクリックします。 In-System Sources and Probes Editor の GUI In-System Sources and Probes Editor は 3 つのペインで構成されています。 Altera Corporation In-System Sources and Probes を使用したデザインのデバッグ フィードバック QII5V3 2014.12.15 JTAG チェイン・コンフィギュレーションを使用したデバイスのプログラミング 17-7 • JTAG Chain Configuration—In-System Sources and Probes Editor がデバイスからのデータをプ ログラムしたり、取得したりする際に使用するプログラミング・ハードウェア、デバイス、 およびファイル設定を指定することができます。 • Instance Manager—デザインをコンパイルする際に生成されるインスタンスについての情報 を表示し、In-System Sources and Probes Editor が取得するデータを制御することができます。 • In-System In-System Sources and Probes Editor—選択したインスタンスからリードしたすべて のデータを記録し、デバイスにライトされているソース・データを変更することができます。 In-System Sources and Probes Editor を使用する際、Quartus II ソフトウェア・プロジェクトを開く 必要はありません。The In-System Sources and Probes Editor は、JTAG Chain Configuration ペイン で選択されたデバイスにクエリを送信し、JTAG チェインをスキャンすることで、 ALTSOURCE_PROBE IP コアのすべてのインスタンスを取得します。また、以前に保存した設定 を使用しても、In-System Sources and Probes を実行することができます。 各 In-System Sources and Probes Editor ペインはシングル・デバイス内の ALTSOURCE_PROBE IP コア・インスタンスにアクセスすることが可能です。JTAG チェイン内 IP コア・インスタンスを 含むデバイスが複数ある場合は、各デバイスで IP コア・インスタンスにアクセスするために複 数の In-System Sources and Probes Editor ペインを開き、それぞれのデバイスの IP コアにアクセ スすることができます。 JTAG チェイン・コンフィギュレーションを使用したデバイスのプログラミング プロジェクトをコンパイルした後、In-System Sources and Probes Editor を使用する前に FPGA を コンフィギュレーションする必要があります。 In-System Sources and Probes Editor が使用できるようにデバイスをコンフィギュレーションする には、次の手順を実行します。 1. In-System Sources and Probes Editor を開きます。 2. JTAG Chain Configuration ペインで Hardware にカーソルを移動し、hardware communications device を選択します。ハードウェアのコンフィギュレーションを指示するプロンプトが表示 されるので、Setup をクリックします。 3. Device リストより、デザインをダウンロードする FPGA デバイスを選択します(デバイスが 自動検索される場合もあります)。ターゲット・デバイスを検索するには、Scan Chain をクリ ックします。 4. JTAG Chain Configuration ペインで、In- System Sources and Probes インスタンスが含まれてい る SRAM Object File(.sof)をクリックして開きます。(.sof は自動で検索される場合がありま す。) 5. ターゲット・デバイスをプログラムするには、Program Device をクリックします。 Instance Manager Instance Manager ペインは、デザイン内のすべての ALTSOURCE_PROBE インスタンスをリスト し、これらのインスタンスからのデータの取得方法、あるいはこれらのインスタンスへのデータ のライト方法についても設定することができます。 Instance Manager ペインではには、以下のボタンおよびサブ・ペインが利用可能です。 In-System Sources and Probes を使用したデザインのデバッグ フィードバック Altera Corporation 17-8 QII5V3 2014.12.15 In-System Sources and Probes Editor ペイン • Read Probe Data—選択したインスタンス内でプローブ・データをサンプルし、そのプローブ・ データを In-System Sources and Probes Editor ペインで表示します。 • Continuously Read Probe Data—選択したインスタンスのプローブ・データを継続的にサンプ ルし、In-System Sources and Probes Editor ペインでそのプローブ・データを表示します。サン プル・レートは、Probe read interval 設定で変更可能です。 • Stop Continuously Reading Probe Data—選択したインスタンスのプローブの継続的なサンプ リングをキャンセルします。 • Write Source Data—選択したインスタンスのすべてのソース・ノードへデータをライトしま す。 • Probe Read Interval—デザイン内にあるすべての In-System Sources and Probe のサンプル・イン ターバルを表示します。Manual をクリックすれば、サンプル・インターバルの変更が可能で す。 • Event Log—In-System Sources and Probes Editor ペインのエベント・ログを制御します。 • Write Source Data—システムへ手動でデータをライトしたり、または継続してデータをライト することができます。 各インスタンスのステータスは、Instance Manager ペインの各エントリの横にも表示されます。 このステータスは、インスタンスが Not running Offloading data、または Updating data である か、もしくは Unexpected JTAG communication error が発生しているのかを表示します。ステー タ・スインジケータは、デザインのソースとプローブのインスタンスに関する情報を提供しま す。 In-System Sources and Probes Editor ペイン In-System Sources and Probes Editor ペインでデザイン内のすべてのソースとプローブからのデ ータを表示することができます。 このデータは、インスタンスのインデックス番号順に編成されます。エディタを使用すれば、信 号の名称の変更や信号のバスへのグループ化が可能となり、簡単に信号が管理できるようになり ます。In-System Sources and Probes ノードから収集されたデータはすべてイベントログに記録さ れます。なお、このようなデータはタイミング図として表示することができます。 プローブ・データのリード方法 データをリードするには、Instance Manager ペインで ALTSOURCE_PROBE インスタンスを選択 し、Read Probe Data をクリックします。 この操作により、単一のプローブ・データが生成され、In-System Sources and Probes Editor ペイ ンで選択したインデックスのデータ・カラムが更新されます。Instance Manager ペインで Save data to event log オプションをオンにすれば、イベント・ログにデータを保存することができま す。 プローブ・インスタンスから継続的にデータをサンプルする場合は、Instance Manager ペインで リードするインスタンスを選択し Continuously read probe data をクリックします。リード中は、 アクティブ・インスタンスのステータスは、Unloading となります。複数のインスタンスからも 継続的にリードすることが可能です。 Instance Manager ペインのショートカット・メニューからもリード・データにアクセスすること が可能です。 プローブのリード間隔を調整するには、Instance Manager ペインで Probe read interval サブ・ペ インの Manual オプションをオンにし、Manual オプションの隣りにあるテキスト・フィールド Altera Corporation In-System Sources and Probes を使用したデザインのデバッグ フィードバック QII5V3 2014.12.15 データのライト 17-9 にサンプル・レートを指定します。最大サンプル・レートは、ご使用のコンピュータの設定によ って異なります。実際のサンプル・レートは、 Current interval ボックス内に表示されます。イ ベント・ログ・ウィンドウのバッファ・サイズは、Maximum Size ボックス内で調整可能です。 データのライト ALTSOURCE_PROBE インスタンスへライトするソース・データを修正するには、変更したい信 号のネーム・フィールドをクリックします。信号のバスであれば、データ・フィールドをダブル クリックし、ALTSOURCE_PROBE インスタンスへドライブ・アウトする値を入力します。InSystem Sources and Probes Editor は、変更後のソース・データの値を一時バッファに格納します。 ALTSOURCE_PROBE インスタンスに書き込まれない編集済みの値は、赤色で表示されます。 ALTSOURCE_PROBE インスタンスを更新するには、Instance Manager ペインでインスタンスを ハイライトし、Write source data をクリックします。Write source data 機能は Instance Manager ペインのショートカット・メニューからも使用可能です。 In-System Sources and Probes Editor は各 ALTSOURCE_PROBE インスタンスを継続的に更新する ことができるオプションを提供しています。継続的に更新を行うことで、ソース・データ・バッ ファの変更点は、ALTSOURCE_PROBE インスタンスにもすぐに書き込まれます。継続的に ALTSOURCE_PROBE インスタンスを更新するには、Write source data フィールドを Manually か ら Continuously に変更します。 データの編成 In-System Sources and Probes Editor ペインでは、バスへの信号のグループ化およびデータ・バッ ファの表示オプションを変更することが可能です。 信号のグループを生成するには、グループ化を行うノード名を選択し、右クリックで Group を 選択します。表示形式は、Bus Display Format および Bus Bit オーダー・ショートカット・メニュ ーで変更可能です。 In-System Sources and Probes Editor ペインから、信号名を変更することが可能です。信号名を変 更するには、信号をダブルクリックし、新しい信号名を入力します。 イベント・ログには最新のサンプルのレコードが含まれます。バッファ・サイズは最大 128k サ ンプルまで調整が可能です。各サンプルへのタイム・スタンプは、データ・サンプルの上にカー ソルを移動させるとアクティブ・インスタンスのイベント・ログの上部に記録、表示されます。 実行した変更および記録データは Sources and Probes File( .spf )へ保存することができます。変 更を保存するには、File メニューで Save をクリックします。このファイルには、信号グループ への全変更内容および現在のデータ・イベント・ログが含まれます。 In-System Sources and Probes Editor の Tcl インタフェース In-System Sources and Probes Editor はオートメーション化に向けて、この章で記載されている Tcl コマンド形式のプロシージャをサポートしています。In-System Sources and Probes Editor 用の Tcl パッケージは、quartus_stp 実行時にデフォルトで含まれます。 In-System Sources and Probes Editor 用の Tcl インタフェースは、デザインのデバッグに向けて強力 なプラットフォームを提供します。Tcl インタフェースは、複数のセットのコントロール入力を トグルが必要となるデザインをデバッグする場合に特に有用となります。カスタム・コマンド・ セットを定義するために Tcl スクリプトを使用して複数のコマンドを組み合わせることができ ます。 In-System Sources and Probes を使用したデザインのデバッグ フィードバック Altera Corporation 17-10 QII5V3 2014.12.15 In-System Sources and Probes Editor の Tcl インタフェース 表 17-2: In-System Sources and Probes 用 Tcl コマンド コマンド start_insystem_ source_probe get_insystem_source_ probe_instance_info 引数 説明 -device_name <device name> -hardware_name <hardware name> 指定のハードウェアでデバイ スへハンドルを開きます。 トランザクションを開始する 前にこのコマンドを呼び出し ます。 <device name> -hardware_name <hardware name> -device_name デザイン内で全ての インスタンス のリストを返します。返され るレコードはそれぞれ、次のフ ォーマットとなります。 ALTSOURCE_PROBE {<instance Index>、<source width>、<probe width>、<instance name>} read_probe_data -instance_index index> -value_in_hex す) read_source_data -value_in_hex す) write_source_data (オプションで -instance_index index> <instance_ (オプションで -instance_index index> <instance_ <instance_ -value <value> -value_in_hex (オプションで す) end_interactive_ probe なし プローブの現在の値を取得し ます。 MSB を一番左側のビットとし て各プローブのステータスを 特定する文字列が返されます。 ソースの現在の値を取得しま す。 MSB を一番左側のビットとし て各ソースのステータスを特 定する文字列が返されます。 ソースの値を設定します。 MSB を一番左側のビットとし てバイナリの文字列がソー ス・ポートへ送られます。 JTAG チェインをリリースしま す。 全てのトランザクション終了 後、コマンドを発行します。 次の図は、デザインの ALTSOURCE_PROBE インスタンスを制御するプロシージャのある Tcl ス クリプトの一例です。デザイン例には、DCFIFO からの読み出し、書き込みを行うための ALTSOURCE_PROBE インスタンスを持つ DCFIFO が含まれています。また、このデザインでは 入力ピンと ALTSOURCE_PROBE インスタンス間での DCFIFO へのデータ・フローを制御するた めに、一連のコントロール・マルチプレクサが追加されています。シングル・サンプル・リード およびライトを保証するためにリード・リクエストおよびライト・リクエスト・コントロール・ ラインにパルス・ジェネレータが追加されます。以下の例のスクリプトで ALTSOURCE_PROBE インスタンスが使用されると、シングル・サンプル・ライトおよびリード動作を実行し、フルお Altera Corporation In-System Sources and Probes を使用したデザインのデバッグ フィードバック QII5V3 2014.12.15 In-System Sources and Probes Editor の Tcl インタフェース 17-11 よび空のステータス・フラッグをレポートすることで FIFO のコンテンツに可視性がもたらされ ます。 デザイン内で FIFO を空にしたり、プリロードするには、デバッグ時に Tcl スクリプトを使用し ます。たとえば、SignalTap II Logic Analyzer で設定したトリガ条件に適合するよう FIFO をプリ ロードする際、この機能を使用することができます。 図 17-3: Tcl スクリプトによって制御される DCFIFO のデザイン例 altsource_probe (Instance 0) source_write_sel Write_clock s_write_req s_data[7..0] D Q wr_req_in data_in[7..0] write_req data[7..0] write_clock wr_full read_req Q[7..0] read_clock data_out rd_empty rd_req_in altsource_probe (Instance 1) s_read_req D Q source_read_sel read_clock ## Setup USB hardware - assumes only USB Blaster is installed and ## an FPGA is the only device in the JTAG chain set usb [lindex [get_hardware_names] 0] set device_name [lindex [get_device_names -hardware_name $usb] 0] ## write procedure : argument value is integer proc write {value} { global device_name usb variable full start_insystem_source_probe -device_name $device_name -hardware_name $usb #read full flag set full [read_probe_data -instance_index 0] if {$full == 1} {end_insystem_source_probe return "Write Buffer Full" } ##toggle select line, drive value onto port, toggle enable ##bits 7:0 of instance 0 is S_data[7:0]; bit 8 = S_write_req; ##bit 9 = Source_write_sel In-System Sources and Probes を使用したデザインのデバッグ フィードバック Altera Corporation 17-12 QII5V3 2014.12.15 デザイン例:ダイナミック PLL リコンフィギュレーション ##int2bits is custom procedure that returns a bitstring from an integer ## argument write_source_data -instance_index 0 -value /[int2bits [expr 0x200 | $value]] write_source_data -instance_index 0 -value [int2bits [expr 0x300 | $value]] ##clear transaction write_source_data -instance_index 0 -value 0 end_insystem_source_probe } proc read {} { global device_name usb variable empty start_insystem_source_probe -device_name $device_name -hardware_name $usb ##read empty flag : probe port[7:0] reads FIFO output; bit 8 reads empty_flag set empty [read_probe_data -instance_index 1] if {[regexp {1........} $empty]} { end_insystem_source_probe return "FIFO empty" } ## toggle select line for read transaction ## Source_read_sel = bit 0; s_read_reg = bit 1 ## pulse read enable on DC FIFO write_source_data -instance_index 1 -value 0x1 -value_in_hex write_source_data -instance_index 1 -value 0x3 -value_in_hex set x [read_probe_data -instance_index 1 ] end_insystem_source_probe return $x } 関連情報 • Tcl スクリプティング • Quartus II Settings File Manual • コマンドライン・スクリプト デザイン例:ダイナミック PLL リコンフィギュレーション In-System Sources and Probes Editor を使用すれば、 デザインのプロトタイプの段階で仮想フロン ト・パネルを作成することができます。比較的シンプルで、かつ高性能なデザインが短期間で作 成可能です。以下の PLL リコンフィギュレーションの例は、Stratix PLL の動的なリコンフィギュ レーションを目的とした GUI を提供するための In-System Sources and Probes Editor の使用方法 を示しています。 Stratix の PLL は、ランタイム時に PLL 係数を動的に更新することが可能です。Stratix デバイス に内蔵された各エンハンスト PLL には、プリスケール・カウンタ(値 m と n)、出力分周カウン タ、遅延カウンタを変更することができるレジスタ・チェインが含まれます。それに加えて、 ALTPLL_RECONFIG IP コアは、このレジスタ・チェインにアクセスする簡単なインタフェース を提供します。また、ALTPLL_RECONFIG IP コアは、全てが変更可能な PLL パラメータを含む キャッシュを提供します。キャッシュ内で全ての PLL パラメータを更新した後、 ALTPLL_RECONFIG IP コアは PLL レジスタ・チェインをドライブし、変更されたパラメータで PLL を更新します。次の図は、リコンフィギュレーション可能な係数を持つ Stratix のエンハンス ト PLL を表しています。 Altera Corporation In-System Sources and Probes を使用したデザインのデバッグ フィードバック QII5V3 2014.12.15 デザイン例:ダイナミック PLL リコンフィギュレーション 17-13 図 17-4: リコンフィギュレーション可能な係数を持つ Stratix のエンハンスト PLL Counters and Clock Delay Settings are Programmable fREF ÷n All Output Counters and Clock Delay Settings can be Programmed Dynamically Δtn Charge Pump PFD Loop Filter ÷g0 VCO Δtg0 scandata scanclk LSB (1) scanaclr LSB MSB (2) ÷m LSB MSB Δtm MSB ÷g3 Δtg3 LSB MSB ÷e3 Δte3 MSB LSB 次のデザイン例は、ALTPLL_RECONFIG IP コア・キャッシュの PLL パラメータを更新するため に ALTSOURCE_PROBE インスタンスを使用しています。ALTPLL_RECONFIG IP コアは Stratix FPGA のエンハンスト PLL に接続し、リコンフィギュレーション可能な PLL 係数を含むレジス タ・チェインをドライブします。このデザイン例では、GUI の生成には Tcl/Tk スクリプトを使 用していますが、この GUI 上でエンハンスト PLL の新しい m および n の値を入力することがで きます。Tcl スクリプトは GUI から m と n の値を抽出し、 ALTPLL_RECONFIG IP コア内の値を 更新するために ALTSOURCE_PROBE インスタンスへ値をシフト・アウトし、 ALTPLL_RECONFIG IP コアのリコンフィギュレーション信号をアサートします。 ALTPLL_RECONFIG IP コアのリコンフィギュレーション信号は、全てのリコンフィギュレーシ ョン可能な PLL 係数を更新するためにレジスタ・チェイン・トランザクションを開始します。 In-System Sources and Probes を使用したデザインのデバッグ フィードバック Altera Corporation 17-14 QII5V3 2014.12.15 改訂履歴 図 17-5: ダイナミック PLL リコンフィギュレーション・デザイン例のブロック図 50 MHz Stratix FPGA fref In-System Sources and Probes Tcl Interface JTAG Interface In-System Sources and Probes Counter Parameters alt_pll_reconfig Megafunction PLL_scandata PLL_scandlk PLL_scanaclr E0 Stratix-Enhanced PLL C0 C1 このデザイン例は、Nios II Development Kit の Stratix エディションを使用して作成されていま す。 sourceprobe_DE_dynamic_pll.zip ファイルには以下に示すファイルを含む、このデザイン例の実 行に必要なファイルが全て含まれています。 ® • Readme.txt —デザイン例に含まれるファイルを説明し、以下のスクリーンショットで示す Tk GUI の使用方法を解説するテキスト・ファイルです • Interactive_Reconfig.qar —このデザイン例のためにアーカイブされた Quartus II プロジェクトで す 図 17-6: Tk および In-System Sources and Probes Tcl Package を使用して作成したインタラクティブ PLL リコンフィギュレーション GUI 関連情報 On-Chip Debugging Design Examples In-System Sources and Probes 例のリンクです。 改訂履歴 表 17-3: 改訂履歴 日付 2014 年 6 月 Altera Corporation バージ ョン 14.0.0 変更内容 表示形式を更新。 In-System Sources and Probes を使用したデザインのデバッグ フィードバック QII5V3 2014.12.15 改訂履歴 日付 バージ ョン 17-15 変更内容 2012 年 6 月 12.0.0 サーベイ・リンクを削除。 2011 年 11 月 10.1.1 テンプレートを更新。 2010 年 12 月 10.1.0 軽微な修正。ドキュメントのテンプレートを更新。 2010 年 7 月 10.0.0 誤字・脱字の軽微な修正。 2009 年 11 月 9.1.0 • 古いデバイスへの参照を削除。 • 形式を変更。 2009 年 3 月 9.0.0 内容に変更なし。 2008 年 11 月 8.1.0 ページ・サイズを 8-1/2 x 11 に変更。内容には変更なし。 2008 年 5 月 8.0.0 • この機能がページ 17-5 のシミュレーションをサポートしない旨 を文書化。 • インタラクティブ PLL リコンフィギュレーション・マネージャの 図 17-8 を更新。 • 章全体を通して、参照資料にハイパーリンクを追加。 • 編集上の微細な更新。 関連情報 Quartus II Handbook Archive QuartusII ハンドブックの以前のバージョン In-System Sources and Probes を使用したデザインのデバッグ フィードバック Altera Corporation