Comments
Description
Transcript
MAX 10 FPGAコンフィギュレーション・ユーザー・ガイド
MAX 10 FPGA コンフィグレーション・ユ ーザーガイド 更新情報 フィードバック UG-M10CONFIG 2016.10.31 101 Innovation Drive San Jose, CA 95134 www.altera.com 目次-2 目次 MAX 10 FPGA コンフィグレーションの概要............................................... 1-1 ® MAX 10 FPGA のコンフィグレーション手法と機能..................................... 2-1 コンフィグレーション手法....................................................................................................................2-1 JTAG コンフィグレーション......................................................................................................2-1 内部コンフィグレーション........................................................................................................2-2 コンフィグレーション機能..................................................................................................................2-11 リモート・システム ・アップグレード................................................................................2-11 コンフィグレーション・デザイン・セキュリティー..................................................... 2-19 SEU の緩和とコンフィグレーション・エラーの検出..................................................... 2-24 コンフィグレーション・データの圧縮................................................................................2-28 コンフィグレーションの詳細............................................................................................................. 2-29 コンフィグレーション・シーケンス.................................................................................... 2-29 MAX 10 のコンフィグレーション・ピン.............................................................................2-32 MAX 10 FPGA コンフィグレーション・デザインのガイドライン..............3-1 兼用コンフィグレーション・ピン.......................................................................................................3-1 ガイドライン:兼用コンフィグレーション・ピン............................................................3-1 兼用ピンのイネーブル.................................................................................................................3-3 JTAG コンフィグレーションによる MAX 10 デバイスのコンフィグレーション..................3-3 JTAG コンフィグレーションのセットアップ....................................................................... 3-4 JTAG コンフィグレーションの ICB 設定............................................................................... 3-6 内部コンフィグレーションを使用する MAX 10 デバイスのコンフィグレーション........... 3-7 内部コンフィグレーション・モードの選択......................................................................... 3-7 .pof と ICB 設定.............................................................................................................................. 3-7 内部フラッシュへの.pof のプログラミング........................................................................3-10 Quartus Prime ソフトウェアで ISP クランプを実装する.............................................................3-10 IPS ファイルの作成.....................................................................................................................3-11 IPS ファイルの実行.....................................................................................................................3-11 ユーザーロジックを介したリモート・システム ・アップグレードへのアクセス.............3-11 エラー検出................................................................................................................................................ 3-13 エラー検出機能の検証.............................................................................................................. 3-13 エラー検出の有効化...................................................................................................................3-14 ユーザーロジックを通じたエラー検出ブロックへのアクセス....................................3-15 データ圧縮の有効化...............................................................................................................................3-17 デザインのコンパイルの前に圧縮を有効にする.............................................................. 3-17 Altera Corporation 目次-3 デザインのコンパイル後に圧縮を有効にする...................................................................3-18 AES 暗号化.................................................................................................................................................3-18 .ekp ファイルからの.jam/.jbc/.svf ファイルの生成.............................................................3-18 .ekp ファイルと暗号化された POF ファイルのプログラミング................................... 3-19 内部コンフィグレーションでの暗号化................................................................................3-20 MAX 10 JTAG のセキュアデザインの例........................................................................................... 3-23 内部 JTAG インターフェイス.................................................................................................. 3-23 内部 JTAG ブロックアクセスの WYSIWYG アトム.......................................................... 3-24 LOCK および UNLOCK JTAG 命令の実行............................................................................3-26 JTAG セキュアモードの検証....................................................................................................3-28 MAX 10 FPGA コンフィグレーション IP コア実装ガイド............................4-1 アルテラ・ユニークチップ ID IP コア............................................................................................... 4-1 アルテラ・ユニークチップ ID IP コアのインスタンス化................................................ 4-1 アルテラ・ユニークチップ ID IP コアのリセット............................................................. 4-2 アルテラ・デュアル・コンフィグレーション IP コア..................................................................4-2 アルテラ・デュアル・コンフィグレーション IP コアのインスタンス化...................4-2 アルテラ・デュアル・コンフィグレーション IP コアの参考資料..............5-1 アルテラ・デュアル・コンフィグレーション IP コアの Avalon-MM アドレスマップ.......5-1 アルテラ・デュアル・コンフィグレーション IP コアのパラメーター................................... 5-4 アルテラ・ユニークチップ ID IP コアの参考資料........................................ 6-1 アルテラ・ユニークチップ ID IP コアのポート..............................................................................6-1 MAX 10 FPGA コンフィグレーション・ユーザーガイドの追加情報......... A-1 MAX 10 FPGA コンフィグレーション・ユーザーガイドの改訂履歴.......................................A-1 Altera Corporation MAX® 10 FPGA コンフィグレーションの概要 1 2016.10.31 UG-M10CONFIG フィードバック 更新情報 MAX® 10 の CRAM(Configuration RAM)は、以下のコンフィグレーション手法を使用してコン フィグレーションが可能です。 • JTAG インターフェイスを使用する JTAG コンフィグレーション • 内部フラッシュを使用する内部コンフィグレーション サポートされているコンフィグレーション機能 表 1-1: MAX 10 デバイスがサポートするコンフィグレーション 手法と機能 リモート・システ コンフィグレーション手法 ム・アップグレー ド 圧縮 デザイン・セキュ リティー SEU の緩和 JTAG コンフィグレー ション — — — あり 内部コンフィグレーシ ョン あり あり あり あり 関連する IP コア • アルテラ・デュアル・コンフィグレーション IP コア—リモート・システム ・アップグレード 機能で使用する • アルテラ・ユニーク・チップ ID IP コア— MAX 10 デバイスのチップ ID を取得する 関連情報 • 2-1 ページの MAX 10 FPGA のコンフィグレーション手法と機能 コンフィグレーション手法と機能について情報を提供します。 • 3-1 ページの MAX 10 FPGA コンフィグレーション・デザインのガイドライン コンフィグレーション手法と機能の使用について情報を提供します。 • 2-21 ページの アルテラ・ユニークチップ ID IP コア • 2-18 ページの アルテラ・デュアル・コンフィグレーション IP コア Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel 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 Intel. Intel 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. *Other names and brands may be claimed as the property of others. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 登録済 2 MAX 10 FPGA のコンフィグレーション手法と 機能 2016.10.31 UG-M10CONFIG フィードバック 更新情報 コンフィグレーション手法 図 2-1: MAX 10 デバイスの JTAG コンフィグレーションおよび内部コンフィグレーションの上位レベル の概要 JTAG Configuration Configuration Data .sof MAX 10 Device CRAM Internal Configuration .pof CFM JTAG In-System Programming JTAG コンフィグレーション MAX 10 デバイスでは、JTAG 命令は内部コンフィグレーション手法よりも優先されます。 JTAG コンフィグレーション手法を使用して、JTAG インターフェイスの TDI、TDO、TMS および TCK ピンを介して直接的にデバイスの CRAM をコンフィグレーションすることができます。 Quartus® Prime ソフトウェアは SRAM オブジェクト・ファイル(.sof)を自動的に生成します。.sof は、ダウンロード・ケーブルと Quartus Prime ソフトウェア・プログラマーを使用してプログラ ミングが可能です。 関連情報 3-3 ページの JTAG コンフィグレーションによる MAX 10 デバイスのコンフィグレーション Quartus Prime ソフトウェア・プログラマーとダウンロード・ケーブルを使用する JTAG コンフィ グレーションについて詳しい情報を提供します。 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel 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 Intel. Intel 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. *Other names and brands may be claimed as the property of others. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 登録済 2-2 UG-M10CONFIG 2016.10.31 JTAG ピン JTAG ピン 表 2-1: JTAG ピン ピン 機能 TDI 以下に用いるシリアル入力ピン TDO 以下に用いるシリアル出力ピン TMS TCK 概要 • TDI は TCK の立ち上がりエッジでサンプリン • 命令 グされる • • バウンダリー・スキャン・テスト・ TDI ピンは内部ウィークプルアップ抵抗を データ 備えている • プログラミング・データ • TDO は TCK の立ち下がりエッジでサンプリン • 命令 グされる • • バウンダリー・スキャン・テスト・ このピンは、データがデバイスからシフトア ウトされない場合にはトライステートにな データ る • プログラミング・データ TAP コントローラー・ステート・マシ • TMS は TCK の立ち上がりエッジでサンプリン ンの遷移を決定するコントロール信 グされる 号を提供する入力ピン • TMS ピンは内部ウィークプルアップ抵抗を 備えている BST 回路へのクロック入力 — すべての JTAG ピンは、VCCIO 1B によって駆動されます。JTAG モードでは、I/O ピンは LVTTL あるいは LVCMOS の 3.3 V~1.5 V の規格をサポートします。 関連情報 • MAX 10 Device Datasheet MAX 10 デバイスでサポートされる I/O 規格について詳しい情報を提供します。 • 3-1 ページの ガイドライン:兼用コンフィグレーション・ピン • 3-3 ページの 兼用ピンのイネーブル 内部コンフィグレーション 内部コンフィグレーションを行う前に、コンフィグレーション・データをコンフィグレーショ ン・フラッシュメモリー(CFM)にプログラミングしておく必要があります。CFM に書き込ま れるコンフィグレーション・データは、プログラム・オブジェクト・ファイル(.pof)の一部 になります。JTAG インシステム ・プログラミング(ISP)を使用して、.pof を内部フラッシュ にプログラミングします。 内部コンフィグレーション時には、 MAX 10 デバイスは CFM からのコンフィグレーション・デ ータを CRAM にロードします。 Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 内部コンフィグレーション・モード 2-3 内部コンフィグレーション・モード 表 2-2: MAX 10 の機能オプションごとの内部コンフィグレーション・モード・サポート MAX 10 機能オプション サポートされる内部コンフィグレーション・モード コンパクト • Single Compressed Image • Single Uncompressed Image フラッシュおよびアナログ • • • • • Dual Compressed Images Single Compressed Image Single Compressed Image with Memory Initialization Single Uncompressed Image Single Uncompressed Image with Memory Initialization 注意: Dual Compressed Images モードでは、CONFIG_SEL ピンを使用してコンフィグレーション・ イメージを選択します。 関連情報 • 3-7 ページの 内部コンフィグレーションを使用する MAX 10 デバイスのコンフィグレーシ ョン • 2-11 ページの リモート・システム ・アップグレード コンフィグレーション・フラッシュメモリー CFM は、コンフィギュレーショ・イメージを格納するために使用する不揮発性の内部フラッシ ュです。CFM は、圧縮されたコンフィグレーション・イメージを、圧縮率と MAX 10 のデバイ スに応じて最大で 2 つまで格納することができます。デバイスで 2 つのコンフィグレーショ ン・イメージを格納するには、圧縮率を 30% 以上にする必要があります。 関連情報 2-23 ページの コンフィグレーション・フラッシュメモリーへのアクセス 許可 コンフィグレーション・フラッシュメモリーのセクター 10M02 を除く MAX 10 デバイスの CFM はすべて、CFM0、CFM1、CFM2 の 3 つのセクターで構 成されています。セクターは、選択した内部コンフィグレーション・モードに応じて異なる方法 でプログラミングされます。 10M02 デバイスは CFM0 のみで構成されています。シングル圧縮イメージまたはシングル非圧 縮イメージを選択すると、10M02 デバイスの CFM0 セクターは同じような方法でプログラミン グされます。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-4 UG-M10CONFIG 2016.10.31 コンフィグレーション・フラッシュメモリーのプログラミング時間 図 2-2: アナログ機能オプションおよびフラッシュ機能オプションでのすべての MAX 10 デバイスのコン フィグレーション・フラッシュメモリー・セクターの使用方法 未使用の CFM1 セクターと CFM2 セクターは、ユーザ・フラッシュメモリー(UFM)として使 用することができます。 Internal Configuration Mode User Flash Memory Sectors UFM1 UFM0 Configuration Flash Memory Sectors CFM2 CFM1 CFM0 Compressed Image 0 Dual Compressed Image UFM Compressed Image 1 Single Uncompressed Image UFM Single Uncompressed Image with Memory Initialization UFM Uncompressed Image 0 with Memory Initialization Single Compressed Image with Memory Initialization UFM Compressed Image 0 with Memory Initialization Single Compressed Image UFM Additional UFM Uncompressed Image 0 Additional UFM Compressed Image 0 関連情報 CFM と UFM のアレイサイズ UFM と CFM のセクターサイズについて詳しい情報を提供します。 コンフィグレーション・フラッシュメモリーのプログラミング時間 表 2-3: MAX 10 デバイスでのコンフィグレーション・フラッシュメモリーのセクターに対するプログラ ミング時間 注意: プログラミング時間は、システム・オーバーヘッドのみを除外した JTAG インターフェイ スのプログラミング時間を示します。これはユーザーが経験する実際のプログラミング 時間を示したものではありません。システム ・オーバーヘッドを補償するために、 MAX 10 10M04/08/16/25/40/50 デバイスでは、デバイス・プログラミング時にフラッシュ・ パラレル・モードを活用するために Quartus Prime Programmer は強化されます。10M02 デ バイスはフラッシュ・パラレル・モードをサポートしておらず、他のデバイスとの比較に おいてプログラミング時間が長くなります。 デバイス インシステム ・プログラミング時間(秒) CFM2 CFM1 CFM0 10M02 — — 5.4 10M04 と 10M08 6.5 4.6 11.1 10M16 12.0 8.9 20.8 Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 インシステム ・プログラミング デバイス 2-5 インシステム ・プログラミング時間(秒) CFM2 CFM1 CFM0 10M25 16.4 12.6 29.0 10M40 と 10M50 30.2 22.7 52.9 インシステム ・プログラミング MAX 10 デバイスの CFM を含む内部フラッシュを、業界標準の IEEE 1149.1 JTAG インターフェ イスを介する ISP によってプログラミングすることができます。ISP は、CFM をプログラミン グ、消去、および検証する機能を提供します。 MAX 10 デバイスの JTAG 回路と ISP 命令は、 IEEE-1532-2002 のプログラミング仕様に準拠しています。 MAX 10 デバイスは、ISP 時に TDI 入力ピンを介して IEEE Std. 1532 命令、アドレス、およびデー タを受信します。データは TDO 出力ピンを介してシフトアウトされ、期待されるデータと比較さ れます。 以下は、ISP 動作の基本的な流れです。 1. ID の確認—あらゆるプログラミングまたは検証処理の前に JTAG ID が確認されます。JTAG ID 読み出しの所要時間は、全体的なプログラミング時間との比較においてごく僅かです。 2. ISP の開始—I/O ピンがユーザーモードから ISP モードにスムーズに遷移するようにします。 3. セクター消去—デバイス消去のためにアドレスと命令をシフトインし、消去パルスを印加し ます。 4. プログラミング—アドレス、データ、プログラミング命令をシフトインし、フラッシュセル をプログラミングするためのプログラミング・パルスを生成します。この処理を内部フラッ シュセクターの各アドレスごとに繰り返します。 5. 検証—アドレスをシフトインし、検証命令により読み出しパルスを生成し、比較用のデータ をシフトアウトします。この処理を内部フラッシュのアドレスごとに繰り返します。 6. ISP の終了—I/O ピンが ISP モードからユーザーモードにスムーズに遷移するようにします。 Quartus Prime Programmer を使用して CFM をプログラミングすることもできます。 関連情報 3-10 ページの 内部フラッシュへの.pof のプログラミング Quartus Prime Programmer を使用して.pof をプログラミングするためのステップを提供します。 ISP クランプ 通常の ISP 動作が開始する際には、すべての I/O ピンはトライステートになります。デバイスの ISP 動作時にデバイスの I/O ピンがトライステートになることが望ましくない状況では、ISP ク ランプ機能が使用できます。 ISP クランプ機能が使用される時、I/O ピンをトライステート、High、Low、またはサンプリング および保持ステートにセットすることができます。 Quartus Prime ソフトウェアは、設定に基づ いて各 I/O ピンのバウンダリー・スキャン・レジスターにスキャンされる値を決定します。これ により、デバイス・プログラミングが進行中におけるピンがクランプされるステートが決定され ます。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-6 UG-M10CONFIG 2016.10.31 リアルタイム ISP I/O ピンをクランプする前に、適切な値をバウンダリー・スキャン・レジスターにロードするた めに SAMPLE/PRELOAD JTAG 命令が最初に実行されます。適切な値をバウンダリー・スキャン・レ ジスターにロードした後、EXTEST 命令が実行され、I/O ピンを SAMPLE/PRELOAD 実行時にバウンダ リー・スキャン・レジスターにロードされた特定の値にクランプします。 デバイスが ISP クランプモードに入った時にピンの既存のステートをサンプリングし、ピンをそ のステートに保持するように選択した場合は、信号が安定したステートになることを確認しなけ ればなりません。サンプル・セットアップ・タイムは、ダウンロード・ケーブルやソフトウェア だけでなく、TCK 周波数にも依存し、制御することはできないので、安定したステート信号が必 要です。トグルする信号、または長期間にわたってスタティックでない信号をサンプリングした 場合、キャプチャした値は正しくないことがあります。 関連情報 3-10 ページの Quartus Prime ソフトウェアで ISP クランプを実装する リアルタイム ISP 新しいデザインイメージで内部フラッシュを更新するための通常の ISP 動作では、デバイスはユ ーザーモードを終了し、すべての I/O ピンはトライステートになります。デバイスが新しいデザ インイメージのプログラミングを完了すると、リセットし、ユーザーモードに入ります。 リアルタイム ISP 機能は、ユーザーモードで動作しながら、新しいデザインイメージで内部フラ ッシュを更新します。内部フラッシュの更新中は、デバイスは既存のデザインで動作を続けま す。新しいデザインイメージのプログラミング処理が完了しても、デバイスはリセットされませ ん。新しいデザインイメージによる更新は次のコンフィグレーション・サイクルから有効になり ます。 ISP 命令とリアルタイム ISP 命令 表 2-4: MAX 10 の ISP 命令とリアルタイム ISP 命令 命令 命令コード CONFIG_IO 00 0000 1101 PULSE_NCONFIG 00 0000 0001 Altera Corporation 概要 • JTAG ポートを介して IOCSR を使用することに より、JTAG テスト向けに I/O のリコンフィグレ ーションを可能にする。これはコンフィグレー ション中、もしくは終了後に実行される • CONFIG_IO 命令を発行する前に、nSTATUS ピンが High になる必要がある nCONFIG ピンの Low のパルスをエミュレーションす ることにより、物理的なピンに作用を与えずにリコ ンフィグレーションをトリガーする MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 ISP 命令とリアルタイム ISP 命令 命令 命令コード 2-7 概要 ISC_ENABLE_HIZ (1) 10 1100 1100 • デバイスを ISP モードにし、すべての I/O ピンを トライステートにし、すべてのコアドライバー、 ロジック、およびレジスターを駆動する • ISC_DISABLE 命令がロードされ、更新されるまで、 デバイスは ISP モードを維持する • ISC_ENABLE 命令は必須の命令。この要件は ISC_ ENABLE_CLAMP 命令または ISC_ENABLE_HIZ 命令に よって満たされる ISC_ENABLE_CLAMP (1) 10 0011 0011 • デバイスを ISP モードにし、すべての I/O ピンを 強制的に JTAG バウンダリー・スキャン・レジス ターの内容に従わせる • この命令がアクティブにされると、コアのドライ バー、ロジック、およびレジスターのすべてが凍 結される。I/O ピンは、デバイスが正常に ISP モ ードを終了するまでクランプされたままになる ISC_DISABLE 10 0000 0001 • デバイスの ISP モードを終了させる • ISC_DISABLE 命令は、テスト動作状態またはアイ ドル状態で 200 µs 待機した後ただちに正常に終 了する ISC_PROGRAM (2) 10 1111 0100 ISC_NOOP (2) 10 0001 0000 デバイスをインシステム ・プログラミングにセット する。プログラミングは、テスト動作状態またはア イドル状態で生じる • ISP モードを終了することなくデバイスを非動作 モードにセットし、これは ISC_Default レジスタ ーをターゲットにする • 以下の場合に使用する • 2 つ以上の ISP 準拠デバイスが ISP モードでア クセスされている • かつ、デバイスのサブセットが何らかの命令 を処理する間に、他のより複雑なデバイスが 与えられた処理の付加的なステップを仕上げ ている ISC_ADDRESS_SHIFT (2) (1) (2) 10 0000 0011 デバイスをフラッシュ・アドレスのロード向けにセ ットする。フラッシュ・アドレス・レジスターであ る ISC_Address をターゲットにする ISC_ENABLE_HIZ 命令と ISC_ENABLE_CLAMP 命令はコアロジックから発行しないでください。 デバイスが ISP モードまたはリアルタイム ISP モードでなければ、ENABLE 命令と DISABLE 命令を 除くすべての ISP 命令とリアルタイム ISP 命令は無効にされます。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-8 UG-M10CONFIG 2016.10.31 初期化コンフィグレーション・ビット 命令 命令コード 概要 ISC_ERASE (2) 10 1111 0010 • 内部フラッシュの消去向けにデバイスをセット する • ISC_ADDRESS_SHIFT 命令の後に発行する ISC_READ (2) 10 0000 0101 • 通常のユーザー・バイアス状態で内部フラッシュ を検証するためにデバイスをセットする • ISC_READ 命令は、バースト・モードとして知られ ている、明確なアドレス指定と自動的なインクリ メントをサポート BGP_ENABLE 01 1001 1001 • デバイスをリアルタイム ISP モードにセットす る • デバイスのユーザーモードを維持しながら内部 フラッシュ・コンフィグレーション・セクターへ アクセスすることを可能にする BGP_DISABLE 01 0110 0110 • デバイスのリアルタイム ISP モードを終了させ る • リコンフィグレーションによりさえぎられると、 デバイスは BGP_DISABLE 命令を使用してリアル タイム ISP モードを終了しなければならない 注意: サポートされていない JTAG 命令を使用しないでください。デバイスを未知の状態にし、 操作を回復するために電源の再投入が必要になる恐れがあります。 初期化コンフィグレーション・ビット 初期化コンフィグレーション・ビット(ICB)は MAX 10 デバイスのコンフィグレーション機能 の設定を格納しています。ICB 設定は Convert Programming File ツールにセットできます。 表 2-5: MAX 10 デバイス向け ICB 値およびその概要 コンフィグレーション設定 Set I/O to weak pull-up prior usermode Altera Corporation 概要 デフォルト状態と値 • 有効:デバイス・コンフィグレーション時 に I/O をウィークプルアップにセットする • 無効:I/O をトライステートにする 有効 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 初期化コンフィグレーション・ビット コンフィグレーション設定 概要 Configure device from CFM0 有効: only. • CONFIG_SEL ピン設定がディスエーブルにさ 2-9 デフォルト状態と値 無効 れる • デバイスは自動的にイメージ 0 をロードす る • イメージ 0 で不具合が生じた場合にデバイ スはイメージ 1 をロードしない 無効: • 最初のイメージで不具合が生じた場合にデ バイスが自動的に Secondary イメージをロ ードする Use secondary image ISP data POF に含めるための ISP データを、Initial イメ as default setting when ージまたは Secondary イメージから選択しま available. す。 無効 • 無効:Initial イメージからの ISP データを使 用する • 有効:Secondary イメージからの ISP データ を使用する ISP データは、ISP 時のピンの状態の情報を含 んでいます。これはウィークプルアップを使 用するトライステートにもでき、I/O の状態を クランプすることもできます。ISP クランプ は、Device and Pin Option または Pin Assignment ツールから設定できます。 (3) Verify Protect 検証プロテクト機能を有効または無効にする 無効 Allow encrypted POF only 有効にすると、暗号化されていない.pof を使 用した場合にコンフィグレーション・エラーが 生じる 無効 JTAG Secure(3) JTAG セキュア機能を有効または無効にする 無効 Enable Watchdog リモート・システム・アップグレード向けにウ ォッチドッグ・タイマーを有効または無効にす る 有効 JTAG セキュア機能は、 Quartus Prime ではデフォルトで無効にされています。JTAG セキュア機能 を使用するためのサポートについては、アルテラにお問い合わせください。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-10 UG-M10CONFIG 2016.10.31 内部コンフィグレーション時間 コンフィグレーション設定 Watchdog value 概要 デフォルト状態と値 リモート・システム・アップグレード向けにウ ォッチドッグ・タイマーの値を設定する 0x1FFF (4) 関連情報 • • • • • • 3-7 ページの .pof と ICB 設定 2-22 ページの Verify Protect 2-21 ページの JTAG セキュアモード 2-6 ページの ISP 命令とリアルタイム ISP 命令 2-18 ページの ユーザー・ウォッチドッグ・タイマー 3-8 ページの Convert Programming Files を使用して.pof を生成する Convert Programming File を使用して.pof を生成する際の ICB 設定について、詳しい情報を提 供します。 内部コンフィグレーション時間 内部コンフィグレーション時間の測定は、nSTATUS 信号の立ち上がりエッジから CONF_DONE 信号 の立ち上がりエッジまでになります。 表 2-6: MAX 10 デバイスの内部コンフィグレーション時間(非圧縮.rbf) 内部コンフィグレーション時間(ms) デバイス 暗号化なし メモリー初期化なし 暗号化あり メモリー初期化あり メモリー初期化なし メモリー初期化あり 最小値 最大値 最小値 最大値 最小値 最大値 最小値 最大値 10M02 0.3 1.7 — — 1.7 5.4 — — 10M04 0.6 2.7 1.0 3.4 5.0 15.0 6.8 19.6 10M08 0.6 2.7 1.0 3.4 5.0 15.0 6.8 19.6 10M16 1.1 3.7 1.4 4.5 9.3 25.3 11.7 31.5 10M25 1.0 3.7 1.3 4.4 14.0 38.1 16.9 45.7 10M40 2.6 6.9 3.2 9.8 41.5 112.1 51.7 139.6 10M50 2.6 6.9 3.2 9.8 41.5 112.1 51.7 139.6 表 2-7: MAX 10 デバイスの内部コンフィグレーション時間(圧縮.rbf) 圧縮率はデザインの複雑さによって変化します。最小値はベストケース (オリジナルの.rbf サ イズの 25%)に基づいており、最大値は標準ケース(オリジナルの.rbf サイズの 70%)に基づいて います。 (4) ウォッチドッグ・タイマーの値は使用する MAX 10 デバイスによって異なります。詳しくはユーザ ー・ウォッチドッグ・タイマーの項を参照してください。 Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 コンフィグレーション機能 2-11 内部コンフィグレーション時間(ms) デバイス 暗号化なし/暗号化あり メモリー初期化なし メモリー初期化あり 最小値 最大値 最小値 最大値 10M02 0.3 5.2 — — 10M04 0.6 10.7 1.0 13.9 10M08 0.6 10.7 1.0 13.9 10M16 1.1 17.9 1.4 22.3 10M25 1.1 26.9 1.4 32.2 10M40 2.6 66.1 3.2 82.2 10M50 2.6 66.1 3.2 82.2 コンフィグレーション機能 リモート・システム ・アップグレード MAX 10 デバイスは、リモート・システム・アップグレード機能をサポートしています。デュア ル圧縮イメージでの内部コンフィグレーション・モードを選択した際には、リモート・システ ム・アップグレード機能はデフォルトで有効になります。 MAX 10 デバイスのリモート・システム ・アップグレード機能は、以下の機能を提供します。 • • • • リモート・コンフィグレーションの制御 エラー検出、エラーリカバリーと、エラー情報の提供 ダイレクト・アプリケーション・コンフィグレーション・イメージをサポート 圧縮され、暗号化された.pof をサポート MAX 10 デバイスでリモート・システム ・アップグレードにアクセスするには、以下の 2 通りの 方法があります。 • アルテラ・デュアル・コンフィグレーション IP コア • ユーザー・インターフェイス 関連情報 • 2-18 ページの アルテラ・デュアル・コンフィグレーション IP コア • 3-11 ページの ユーザーロジックを介したリモート・システム ・アップグレードへのアクセス • AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor MAX 10 FPGA デバイスのリモート・システム・アップグレード向けリファレンス・デザイン を提供します。 • I2C Remote System Update Example この例では、I2C プロトコルの使用によるリモート・システム ・アップグレードを示します。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-12 UG-M10CONFIG 2016.10.31 リモート・システム ・アップグレードのフロー リモート・システム ・アップグレードのフロー アプリケーション・コンフィグレーション・イメージであるイメージ 0 とイメージ 1 は、どちら も CFM に格納されます。 MAX 10 デバイスは、CFM からどちらか 1 つのアプリケーション・コ ンフィグレーション・イメージをロードします。 図 2-3: MAX 10 デバイスのリモート・システム ・アップグレードのフロー リコ ー シ ョ ン パワーアップ レ グ フィ ィグ ンフ CONFIG_SEL ピンを サンプリング ン コ リ CONFIG_SEL=0 CONFIG_SEL=1 パワーアップ ン ショ レー Configure device from CFM0 only が 有効にされた際のフロー 最初のエラーが発生 Image 0 Image 1 2番目の エラーが発生 ン ョ シ ー 生 発 ー ラ レ グ ィ フ ン エ コ リ 2番目の エラーが発生 リコンフィグレーション まで待機 リコ ンフ ィグ レー ショ ン 最初のエラーが発生 リモート・システム ・アップグレード機能は、以下のシーケンスでエラーを検出します。 1. 電源投入後、デバイスは CONFIG_SEL ピンをサンプリングして、どちらのアプリケーション・ コンフィグレーション・イメージをロードするかを判断します。後に続くリコンフィグレー ションのために、リモート・システム ・アップグレード回路の入力レジスターによって CONFIG_SEL ピンの設定を上書きすることができます。 2. エラーが生じると、リモート・システム ・アップグレード機能はもう一方のアプリケーショ ン・コンフィグレーション・イメージをロードすることにより回復します。以下に示すエラ ーにより、リモート・システム ・アップグレード機能はもう一方のアプリケーション・コン フィグレーション・イメージをロードします。 Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 リモート・システム ・アップグレード回路 2-13 • 内部 CRC エラー • ユーザー・ウォッチドッグ・タイマーのタイムアウト 3. 回復のコンフィグレーションが完了してデバイスがユーザーモードになると、リモート・シ ステム・アップグレード回路を使用して、エラーの原因およびどちらのアプリケーション・ イメージで障害が発生したかを確認することができます。 4. 2 番目のエラーが発生した場合、デバイスはリコンフィグレーション・ソースを待ちます。 Auto-restart configuration after error が有効になっていれば、デバイスはリコンフィグレーシ ョン・ソースを待つことなくリコンフィグレーションします。 5. リコンフィグレーションは、以下の操作によってトリガーされます。 • 外部から nSTATUS を Low に駆動する • 外部から nCONFIG を Low に駆動する • RU_nCONFIG を Low に駆動する リモート・システム ・アップグレード回路 図 2-4: リモート・システム ・アップグレード回路 Internal Oscillator Status Register (SR) Previous State Register 2 Bit[31..0] Current State Logic Bit[33..0] Previous State Register 1 Bit[31..0] Control Register Bit [38..0] Logic Input Register Bit [38..0] update RU Master State Machine Logic RU Reconfiguration State Machine Shift Register din Bit [40..39] dout din dout Bit [38..0] capture clkout capture Logic RU_DIN RU_SHIFTnLD update clkin RU_CLK RU_CAPTnUPDT timeout User Watchdog Timer RU_DOUT RU_nCONFIG RU_nRSTIMER Logic Array リモート・システム ・アップグレード回路は、以下のように機能します。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-14 UG-M10CONFIG 2016.10.31 リモート・システム ・アップグレード回路の信号 • • • • • コンフィグレーションの現在の状態をトラッキングする すべてのリコンフィグレーション・ソースをモニタリングする アプリケーション・コンフィグレーション・イメージを設定できるようにする エラーが発生した場合に、デバイスをフォールバック・コンフィグレーションに戻す 失敗したアプリケーション・コンフィグレーション・イメージの情報へのアクセスを提供す る リモート・システム ・アップグレード回路の信号 表 2-8: MAX 10 デバイスのリモート・システム ・アップグレード回路の信号 コア信号名 RU_DIN RU_DOUT RU_nRSTIMER RU_nCONFIG RU_CLK Altera Corporation ロジック信号名 regin regout rsttimer rconfig clk 入力/出力 概要 入力 シフトレジスターへのデータの書き込みのために、 RU_CLK の立ち上がりエッジでこの信号を使用する。 シフトレジスターへデータをロードするには、RU_ SHIFTnLD をアサートする 出力 シフトレジスターから出力データを取得するため に、この信号を使用する。RU_SHIFTnLD がアサート されている場合に RU_CLK の各立ち上がりエッジで データが出力される 入力 • ユーザー・ウォッチドッグ・タイマーをリセット するためにこの信号を使用する。この信号の立 ち下がりエッジでユーザー・ウォッチドッグ・タ イマーのリセットがトリガーされる • タイマーをリセットするには、RU_nRSTIMER 信号 を少なくとも 250 ns パルスする 入力 デバイスのリコンフィグレーションのために、この 信号を使用する。リモート・システム・アップグレ ード機能を有効にしている場合にこの信号を Low に駆動すると、デバイスのリコンフィグレーション がトリガーされる 入力 リモート・システム・アップグレード回路のクロッ ク。リモート・システム・アップグレード機能を有 効にしている場合のユーザーモードで、このクロッ クドメイン内のすべてのレジスターが有効にされ る。シフトレジスターと入力レジスターはポジテ ィブ・エッジ・フリップフロップ MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 リモート・システム ・アップグレード回路の入力コントロール コア信号名 ロジック信号名 RU_SHIFTnLD 入力/出力 入力 shiftnld RU_CAPTnUPDT 入力 captnupdt 2-15 概要 リモート・システム・アップグレード回路のモード を決定する信号を制御する • RU_SHIFTnLD が Low に駆動され、RU_CAPTnUPDT が Low に駆動されると、入力レジスターに RU_CLK の立ち上がりエッジでシフトレジスターの内容 がロードされる • RU_SHIFTnLD が Low に駆動され、RU_CAPTnUPDT が High に駆動されると、シフトレジスターは RU_ CLK の立ち上がりエッジで input_cs_ps モジュー ルから値をキャプチャする • RU_SHIFTnLD が High に駆動されると RU_ CAPTnUPDT は無視され、シフトレジスターは RU_ CLK の立ち上がりエッジごとにデータをシフト する 関連情報 MAX 10 Device Datasheet リモート・システム ・アップグレードのタイミング仕様について詳しい情報を提供します。 リモート・システム ・アップグレード回路の入力コントロール リモート・システム ・アップグレード回路には 3 つの動作モードがあります。 • アップデート — 入力レジスターにシフトレジスターの値をロードする • キャプチャ — シフトアウトされるデータをシフトレジスターにロードする • シフト — ユーザーロジックにデータをシフトアウトする 表 2-9: リモート・システム ・アップグレード回路へのコントロール入力 リモート・システム ・アップグレード回路のコントロール入力 RU_SHIFTnLD RU_CAPTnUPDT 0 0 0 1 0 1 シフトレジス ター[40] ドント・ケア ドント・ケア 0 0 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック シフトレジス ター[39] 0 1 レジスターの入力設定 動作モード シフトレジス ター[38:0] 入力レジスタ ー[38:0] アップデー ト シフトレジ スター[38:0] シフトレジス ター[38:0] キャプチャ 現在のステ ート 入力レジスタ ー[38:0] キャプチャ {8'b0、前回の ステート・ア 入力レジスタ ー[38:0] プリケーシ ョン 1} Altera Corporation 2-16 UG-M10CONFIG 2016.10.31 リモート・システム ・アップグレードの入力レジスター リモート・システム ・アップグレード回路のコントロール入力 RU_SHIFTnLD RU_CAPTnUPDT シフトレジス ター[40] シフトレジス ター[39] レジスターの入力設定 動作モード 0 1 1 0 キャプチャ 0 1 1 1 キャプチャ 1 ドント・ケア ドント・ケア ドント・ケア シフト シフトレジス ター[38:0] 入力レジスタ ー[38:0] {8'b0、前回の ステート・ア 入力レジスタ ー[38:0] プリケーシ ョン 2} 入力レジス ター[38:0] 入力レジスタ ー[38:0] {ru_din、シフ 入力レジスタ トレジスタ ー[38:0] ー[38:1]} 以下に、リモート・システム ・アップグレード回路のコントロール入力の駆動例を示します。 • RU_SHIFTnLD を High に駆動し 1'b1 にすると、シフトレジスターは RU_CLK の各立ち上がりエッ ジでデータをシフトし、RU_CAPTnUPDT は機能しない • RU_SHIFTnLD と RU_CAPTnUPDT の両方を Low に駆動し 1'b0 にすると、入力レジスターに RU_CLK の立ち上がりエッジでシフトレジスターの内容がロードされる • RU_SHIFTnLD を Low に駆動し 1'b0 にし、RU_CAPTnUPDT を High に駆動して 1'b1 にすると、 シフトレジスターは RU_DCLK の立ち上がりエッジで値をキャプチャする リモート・システム ・アップグレードの入力レジスター 表 2-10: MAX 10 デバイスのリモート・システム ・アップグレードの入力レジスター ビット 名称 38:14 予約 13 ru_config_sel 12 ru_config_sel_ overwrite 11:0 予約 Altera Corporation 概要 予約—0 にセット • 0:コンフィグレーション・イメージ 0 をロードする • 1:コンフィグレーション・イメージ 1 をロードする このビットは ru_config_sel_overwrite が 1 にセットされて いる場合にのみ有効 • 0:CONFIG_SEL ピンの上書きをディスエーブルする • 1:CONFIG_SEL ピンの上書きをイネーブルする 予約—0 にセット MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 リモート・システム ・アップグレード・ステータス・レジスター 2-17 リモート・システム ・アップグレード・ステータス・レジスター 表 2-11: リモート・システム ・アップグレード・ステータス・レジスター— MAX 10 デバイスの現在の ステート・ロジック・ビット ビット 名称 33:30 msm_cs 29 ru_wd_en 28:0 wd_timeout_value 概要 マスター・ステート・マシン(MSM)の現在の状態 イネーブルされたユーザー・ウォッチドッグ・タイマーの現在の 状態。デフォルトステートはアクティブ High 全 29 ビットのウォッチドッグ・タイムアウトの現在の値 表 2-12: リモート・システム ・アップグレード・ステータス・レジスター— MAX 10 デバイスの前回の ステートビット ビット 名称 31 nCONFIG 30 crcerror 29 nstatus 28 wdtimer 27:26 予約 25:22 msm_cs 21:0 予約 概要 MAX 10 デバイスに以前のアプリケーション・コンフィグレーシ ョンを終了させたリコンフィグレーション・ソースを示す、アク ティブ High のフィールド。同時に生じた場合には、より大きな 数のビットが優先される。たとえば、nconfig と ru_nconfig が同 時にトリガーされると、nconfig は ru_nconfig よりも優先される 予約—0 にセット リコンフィグレーション・イベントが発生した際の MSM の状 態。リコンフィグレーションは、デバイスにこれまでのアプリケ ーション・コンフィグレーションを中断させる。 予約—0 にセット 関連情報 5-1 ページの アルテラ・デュアル・コンフィグレーション IP コアの Avalon-MM アドレスマッ プ マスター・ステート・マシン マスター・ステート・マシン(MSM)は現在のコンフィグレーション・モードをトラッキング し、また、ユーザー・ウォッチドッグ・タイマーを有効にします。 表 2-13: MAX 10 デバイスでのリモート・システム・アップグレードのマスター・ステート・マシンの現 在の状態の説明 msm_cs 値 0010 0011 状態の説明 イメージ 0 がロードされている アプリケーション・イメージへの差し戻しが生じた後でイメージ 1 がロードされている MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-18 UG-M10CONFIG 2016.10.31 ユーザー・ウォッチドッグ・タイマー msm_cs 値 0100 0101 状態の説明 イメージ 1 がロードされている アプリケーション・イメージへの差し戻しが生じた後でイメージ 0 がロードされている ユーザー・ウォッチドッグ・タイマー ユーザー・ウォッチドッグ・タイマーは、停止状態に陥ったデバイスによるアプリケーション・ コンフィグレーションの失敗を防ぎます。デバイスへのアプリケーション・コンフィグレーショ ンのロードが成功すると、動作エラーを検出するためにタイマーを使用できます。 カウンタは 29 ビット幅で、2 29 の最大カウント値を有します。ユーザー・ウォッチドッグ・タ イマーの値を指定する際には、上位側 12 ビットのみを指定します。タイマー設定の精度は 217 サイクルです。サイクル時間は、ユーザー・ウォッチドッグ・タイマーの内部オシレーターの周 波数に基づきます。カウンタおよびデバイスの内部オシレーターに基づいて、サイクル時間を 9 ms~244 s にセットできます。 図 2-5: MAX 10 デバイスのウォッチドッグ・タイマーの計算式 タイマーは、アプリケーション・コンフィグレーションがユーザーモードに入るとすぐにカウン トを開始します。リモート・システム・アップグレード回路は、タイマーが設定時間に達すると タイムアウト信号を生成し、ステータスレジスターを更新し、回復コンフィグレーション・イメ ージのロードをトリガーします。タイマーをリセットするには、RU_NRSTIMER を 250 ns 以上パル スします。 ウォッチドッグ・タイマーを有効にすると、この設定はすべてのイメージに適用され、すべての イメージがタイマーをリセットするためのソフトロジック・コンフィグレーションを含むことが 必要になります。アプリケーション・コンフィグレーションは、コントロール・ブロックのレジ スターをリセットします。 関連情報 • ユーザ・ウォッチドッグ内部回路のタイミング仕様 ユーザー・ウォッチドッグの周波数について詳しい情報を提供します。 • 2-8 ページの 初期化コンフィグレーション・ビット アルテラ・デュアル・コンフィグレーション IP コア アルテラ・デュアル・コンフィグレーション IP コアは、Avalon-MM インターフェイスを介して 以下の機能を提供します。 Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 コンフィグレーション・デザイン・セキュリティー 2-19 • RU_nCONFIG をアサートしてリコンフィグレーションをトリガーする • ウォッチドッグ・タイマーが有効になっている場合に、RU_nRSTIMER をアサートしてウォッチ ドッグ・タイマーをリセットする • リモート・システム ・アップグレード回路の入力レジスターにコンフィグレーション設定を 書き込む • リモート・システム ・アップグレード回路から情報を読み出す 図 2-6: アルテラ・デュアル・コンフィグレーション IP コアのブロック図 clk nreset Altera Dual Configuration avmm_rcv_address[2..0] avmm_rcv_read avmm_rcv_writedata[31..0] avmm_rcv_write avmm_rcv_readdata[31..0] 関連情報 • 5-1 ページの アルテラ・デュアル・コンフィグレーション IP コアの Avalon-MM アドレスマ ップ • Avalon Interface Specifications アルテラ・デュアル・コンフィグレーション IP コアに用いる Avalon-MM インターフェイス の仕様について詳しい情報を提供します。 • 4-2 ページの アルテラ・デュアル・コンフィグレーション IP コアのインスタンス化 • 5-1 ページの アルテラ・デュアル・コンフィグレーション IP コアの参考資料 • 2-11 ページの リモート・システム ・アップグレード • AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor MAX 10 FPGA デバイスのリモート・システム・アップグレード向けリファレンス・デザイン を提供します。 • I2C Remote System Update Example この例では、I2C プロトコルの使用によるリモート・システム ・アップグレードを示します。 コンフィグレーション・デザイン・セキュリティー MAX 10 のデザイン・セキュリティー機能は、以下の機能をサポートしています。 • 暗号化 — 高度暗号化規格(AES)を内蔵して 128 ビットキーの業界標準のデザイン・セキュ リティー・アルゴリズムをサポート • チップ ID — デバイス固有の識別子 • JTAG セキュアモード — JTAG 命令のアクセスを制限する • 検証プロテクト — オプションで CFM 内容のリードバックをディスエーブルできる AES 暗号化保護 MAX 10 のデザイン・セキュリティー機能は、デザインに以下のセキュリティー保護を提供しま す。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-20 UG-M10CONFIG 2016.10.31 暗号化と復号 • 複製に対するセキュリティー—不揮発性キーは MAX 10 デバイス内に安全に保存され、いか なるインターフェイスを介しても読み出しされません。このキーなしで攻撃者が暗号化され たコンフィグレーション・イメージを復号することはできません。 • リバース・エンジニアリングに対するセキュリティー—暗号化されたコンフィグレーション・ ファイルからのリバース・エンジニアリングは、ファイルを復号しなければならないために 非常に困難かつ時間がかかります。 • 改ざんに対するセキュリティー—JTAG ソースと暗号化された.pof(EPOF)のみを有効にする と、 MAX 10 デバイスは同じキーで暗号化されたコンフィグレーション・ファイルのみを受 け入れます。さらに、JTAG インターフェイスを介するコンフィグレーションはブロックされ ます。 関連情報 3-8 ページの Convert Programming Files を使用して.pof を生成する 暗号化と復号 MAX 10 は AES での暗号化をサポートしています。プログラミング・ビットストリームはユーザ ーが指定した暗号化キーに基づいて暗号化されます。 MAX 10 では、このキーは内部フラッシュ に格納される ICB 設定に含められます。したがって、キーは揮発しませんが、ユーザーはデバ イスのチップ全体の消去を行うことにより、キーをクリアまたは削除できます。 圧縮とともに暗号化をする場合には、 Quartus Prime ソフトウェアの使用により、まずコンフィ グレーション・ファイルが圧縮され、次に暗号化されます。コンフィグレーション時には、デバ イスはまずコンフィグレーション・ファイルを復号し、次に解凍します。 ヘッダーならびに I/O コンフィグレーション・シフトレジスター(IOCSR)データは暗号化され ません。IOCSR チェーンがプログラミングされた後に復号ブロックがアクティブになります。 復号ブロックは、コアデータとポストアンブルのみを復号します。 関連情報 2-22 ページの 使用できる JTAG 命令 ユニークチップ ID ユニークチップ ID は、以下の機能を提供します。 • 権限のないデバイスからデザインを保護するためのセキュリティー機能として、デザイン上 でデバイスの識別をする • 各 MAX 10 デバイスに、書込み保護を備えた不揮発性 64 ビットのユニーク ID を提供する アルテラ・ユニークチップ ID IP コアを使用して、 MAX 10 デバイスのチップ ID を取得できま す。 関連情報 • 4-1 ページの アルテラ・ユニークチップ ID IP コア • 6-1 ページの アルテラ・ユニークチップ ID IP コアのポート Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 アルテラ・ユニークチップ ID IP コア 2-21 アルテラ・ユニークチップ ID IP コア 図 2-7: アルテラ・ユニークチップ ID IP コアのブロック図 clkin data_valid Altera Unique Chip ID reset chip_id[63..0] 最初の状態では、ユニークチップ ID ブロックから読み出されるデータがないので data_valid 信 号は Low です。clkin 入力ポートにクロック信号を供給すると、アルテラ・ユニークチップ ID IP コアがユニークチップ ID ブロックを介してデバイスのチップ ID の取得を開始します。デバ イスのチップ ID を取得すると、アルテラ・ユニークチップ ID IP コアは data_valid 信号をアサ ートして、出力ポートのチップ ID 値の読み出しが準備が整ったことを示します。 この動作は、data_valid 信号が Low の際に別のクロック信号を供給した場合にのみ繰り返され ます。別のクロック信号を供給した際に data_valid 信号が High であれば、chip_id[63..0] 出力 がデバイスのチップ ID を保持しているために、動作が停止します。 data_valid 信号が High になるためには少なくとも 67 クロックサイクルが必要です。 デバイスをリコンフィグレーションする、または、アルテラ・ユニークチップ ID IP コアをリセ ットするまで、chip_id[63:0] 出力ポートはデバイスのチップ ID の値を保持します。 JTAG セキュアモード JTAG セキュアモードでは、必須の IEEE 1149.1 JTAG 命令のみをデバイスで使用できます。 JTAG セキュアは、Convert Programming Files で.pof を生成する際に有効にできます。JTAG セキュアモードを終了するには、UNLOCK JTAG 命令を発行します。LOCK JTAG 命令がデバイスを 再び JTAG セキュアモードにします。LOCK と UNLOCK の JTAG 命令は、JTAG コアアクセスによっ てのみ発行できます。使用可能な命令のリストについて、表 2-15 を参照してください。 関連情報 • • • • 2-22 ページの 使用できる JTAG 命令 2-23 ページの コンフィグレーション・フラッシュメモリーへのアクセス 許可 JTAG Secure Design Example 3-8 ページの Convert Programming Files を使用して.pof を生成する MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-22 UG-M10CONFIG 2016.10.31 JTAG セキュアモードの命令 JTAG セキュアモードの命令 表 2-14: MAX 10 デバイスの JTAG セキュアモードの命令 JTAG 命令 命令コード LOCK 10 0000 0010 UNLOCK 10 0000 1000 概要 • JTAG セキュアモードを有効にする • 外部ピンとコアとの両方からの、JTAG へのアク セスをブロックする JTAG セキュアモードを無効にする Verify Protect 検証プロテクトは、CFM セキュリティーを強化するためのセキュリティー機能です。Verify Protect を有効にすると、CFM ではプログラミングと消去の動作のみが可能になります。この機 能は、CFM の内容がコピーされることを防ぎます。 Quartus Prime Convert Programming File ツールで .sof ファイルを .pof ファイルに変換する際 に、Verify Protect 機能をオンにすることができます。 関連情報 • 2-23 ページの コンフィグレーション・フラッシュメモリーへのアクセス 許可 • 3-8 ページの Convert Programming Files を使用して.pof を生成する 使用できる JTAG 命令 表 2-15: JTAG セキュアモードと暗号化の設定に応じて使用できる JTAG 命令 JTAG セキュアモード 暗号化 無効 無効 有効 無効 有効 Altera Corporation 有効 概要 すべての JTAG 命令が有効 下記以外のすべての JTAG 命令が有効 • CONFIGURE 下記以外のすべての必須ではない IEEE 1149.1 JTAG 命令 が無効 • • • • • • SAMPLE/PRELOAD BYPASS EXTEST IDCODE UNLOCK LOCK MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 コンフィグレーション・フラッシュメモリーへのアクセス許可 2-23 関連情報 • • • • 2-21 ページの JTAG セキュアモード 3-23 ページの MAX 10 JTAG のセキュアデザインの例 JTAG Secure Design Example 2-20 ページの 暗号化と復号 コンフィグレーション・フラッシュメモリーへのアクセス許可 JTAG セキュアモードと検証プロテクト機能により、CFM 操作の許可範囲が決定されます。以下 の表に、セキュリティー設定に基づいて許可される操作をリストします。 表 2-16: MAX 10 デバイスの CFM 許可 JTAG セキュアモードが無効 動作 JTAG セキュアモードが有効 検証プロテクトが無 効 検証プロテクトが有 効 検証プロテクトが無 効 検証プロテクトが有 効 コアを介した ISP 不正な操作 不正な操作 不正な操作 不正な操作 JTAG ピンを介 した ISP 完全なアクセス プログラミングと 消去のみ アクセスなし アクセスなし コアを介したリ 完全なアクセス アルタイム ISP プログラミングと 消去のみ アクセスなし アクセスなし JTAG ピンを介 したリアルタイ 完全なアクセス ム ISP プログラミングと 消去のみ アクセスなし アクセスなし コアを介した UFM インター フェイス (5) 完全なアクセス 完全なアクセス 完全なアクセス 完全なアクセス 関連情報 • • • • • (5) 2-21 ページの JTAG セキュアモード 3-23 ページの MAX 10 JTAG のセキュアデザインの例 JTAG Secure Design Example 2-22 ページの Verify Protect 3-8 ページの Convert Programming Files を使用して.pof を生成する デュアル圧縮イメージモードを選択した場合に、コアを介して UFM のインターフェイスが有効に なります。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-24 UG-M10CONFIG 2016.10.31 SEU の緩和とコンフィグレーション・エラーの検出 SEU の緩和とコンフィグレーション・エラーの検出 MAX 10 デバイス内蔵の専用回路がエラー検出巡回冗長検査(EDCRC)機能を構成します。この 機能を、SEU(Single Event Upset)やソフトエラーの緩和のために使用します。 ハード化されたオンチップ EDCRC 回路により、デバイスのフィッティングに 影響を与えること なく以下の動作を行うことができます。 • コンフィグレーション中に巡回冗長検査(CRC)エラーを自動検出する • ユーザーモードでオプションの CRC エラー検出により SEU を特定する • JTAG インターフェイスを介したエラー検出検証によりエラー検出をテストする 関連情報 • 3-13 ページの エラー検出機能の検証 • 3-14 ページの エラー検出の有効化 • 3-15 ページの ユーザーロジックを通じたエラー検出ブロックへのアクセス コンフィグレーション・エラー検出 コンフィグレーション・モードでは、コンフィグレーション・データにフレームベースの CRC が格納されており、各データフレームの CRC 値を含んでいます。 MAX 10 デバイスは、コンフィグレーション中に受信したデータのフレームに基づいて CRC 値 を計算し、それをデータストリームのフレームの CRC 値と比較します。コンフィグレーション は、デバイスがエラーを検出するか、すべての値が計算されるまで継続します。 MAX 10 デバイスでは、CRC は Quartus Prime ソフトウェアで計算され、コンフィグレーション・ ビット・ストリームの一部としてデバイスにダウンロードされます。デバイスは、コンフィグレ ーション・モードの終了時に CRC を 32 ビットのストレージレジスターに格納します。 ユーザーモード・エラー検出 SEU は、イオン化した粒子に起因する CRAM ビット状態の変化です。 MAX 10 デバイスは内蔵 のエラー検出回路を有しており、CRAM セル内のデータ破損を検出します。 このエラー検出機能は、コンフィグレーション後の CRAM ビットの CRC を持続的に計算しま す。デバイスコンテンツの CRC は、コンフィグレーション終了時に取得した計算済み CRC 値と 比較されます。CRC 値が一致すれば、現在のコンフィグレーション CRAM ビットにエラーはあ りません。このエラー検出プロセスは、nCONFIG を Low に設定することによりデバイスがリセッ トされるまで継続されます。 MAX 10 デバイスのエラー検出回路では、32 ビットの CRC IEEE Std. 802 と 32 ビットの多項式を CRC ジェネレーターとして使用しています。したがって、デバイスは 32 ビットの CRC 演算を処 理します。SEU が生じていなければ、得られる 32 ビットのシグネチャー値は 0x000000 になり、 結果として生じる CRC_ERROR の出力信号は 0 になります。デバイスに SEU が生じていれば、得 られるシグネチャー値がゼロ以外になり、CRC_ERROR 出力信号は 1 になります。nCONFIG ピンを Low にストローブして FPGA をリコンフィグレーションするか、または、エラーを無視するかを 決定する必要があります。 Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 エラー検出ブロック 2-25 エラー検出ブロック 図 2-8: エラー検出ブロック図 関係する 2 つの 32 ビット・レジスターであるシグネチャー・レジスターとストレージレジスタ ーを含む、エラー検出ブロックのブロック図を示します。 Error Detection State Machine Control Signals Compute & Compare CRC 32 32 32-bit Storage Register 32-bit Signature Register 32 CRC_ERROR エラー検出回路には、計算された CRC シグネチャーとあらかじめ計算された CRC 値を格納する 2 つの 32 ビット・レジスターのセットがあります。シグネチャー・レジスターがゼロ以外の値 になると、CRC_ERROR ピンが High になります。 表 2-17: MAX 10 デバイスのエラー検出レジスター レジスター 概要 このレジスターは CRC シグネチャーを格納します。シグネチャー・レジスタ ーが格納するのは、あらかじめ計算された CRC 値とユーザーモードで計算さ 32 ビット・シグ れた CRC 値とを比較した結果です。エラーが検出されなければ、シグネチャ ネチャー・レジ ー・レジスターはすべてゼロになります。シグネチャー・レジスターがゼロ以 スター 外であれば、コンフィグレーション CRAM の内容のエラーを示します。CRC_ ERROR 信号はこのレジスターの内容に基づきます。 このレジスターには、あらかじめ計算された 32 ビットの CRC シグネチャーが コンフィグレーション・ステージの終了時にロードされます。このシグネチャ ーは、ユーザーモード時に CRC エラーを計算するために 32 ビットの Compute 32 ビット・スト and Compare CRC ブロックにロードされます。このレジスターは、CHANGE_ レージ・レジス EDREG JTAG 命令の実行時に 32 ビットのスキャンチェーンを形成します。 ター CHANGE_EDREG JTAG 命令で、ストレージレジスターの内容を変更することがで きます。したがって、命令の実行によりエラーを注入することで、動作中にエ ラー検出 CRC 回路の機能をインシステムでチェックすることができます 。 CHANGE_EDREG JTAG 命令を発行しても、デバイスの動作は停止されません。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-26 UG-M10CONFIG 2016.10.31 CHANGE_EDREG JTAG 命令 CHANGE_EDREG JTAG 命令 表 2-18: CHANGE_EDREG JTAG 命令の概要 JTAG 命令 CHANGE_EDREG 命令コード 00 0001 0101 概要 この命令は、32 ビットの CRC ストレージレジスタ ーを TDI から TDO まで連結します。任意の計算済み CRC を CRC ストレージレジスターにロードして、 エラー検出 CRC 回路の動作を CRC_ERROR ピンでテ ストします。 エラー検出のタイミング Quartus Prime ソフトウェアを介してエラー検出 CRC 機能が有効にされていれば、コンフィグレ ーションと初期化が完了してユーザーモードに入った時点でデバイスが自動的に CRC プロセス をアクティブにします。 CRC_ERROR ピンは、エラー検出回路が破損したビットを CRC 演算で検出するまで Low を維持し ます。ピンが High になると、次の CRC 演算の間ではピンは High を維持します。このピンは前 の CRC 演算を記録しません。新しい CRC 演算に破損されたビットが含まれていなければ、 CRC_ERROR ピンは Low に駆動されます。エラー検出はデバイスがリセットされるまで動作しま す。 エラー検出回路は、周波数を最大にセットする除数を用いた内部コンフィグレーション・オシレ ーターによって駆動されます。CRC 演算時間はデバイスとエラー検出クロック周波数に依存し ます。 関連情報 3-14 ページの エラー検出の有効化 エラー検出周波数 Quartus Prime ソフトウェアで分周係数を指定することで、より低いクロック周波数をセットで きます。 Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 巡回冗長検査の計算のタイミング 2-27 表 2-19: MAX 10 デバイスの最小および最大エラー検出周波数 デバイス エラー検出周波数 最大エラー検出周 波数(MHz) 最小エラー検出周 波数(MHz) 55 MHz/2n~116 MHz/2n 58 214.8 35 MHz/2n~77 MHz/2n 38.5 136.7 n として有効な値 10M02 10M04 10M08 2、3、4、5、6、7、 8 10M16 10M25 10M40 10M50 巡回冗長検査の計算のタイミング 表 2-20: MAX 10 デバイスでの巡回冗長検査の計算のタイミング デバイス 除数値(n = 2) 最小時間(ms) 最大時間(ms) 10M02 2 6.6 10M04 6 15.7 10M08 6 15.7 10M16 10 25.5 10M25 14 34.7 10M40 43 106.7 10M50 43 106.7 図 2-9: CRC 演算式 以下の式を使用して、除数が「2」以外の CRC 演算時間を計算します。 例 2-1: CRC 演算の例 除数値が 256 の 10M16 デバイスでは、 除数 256 での最小 CRC 演算時間 = 10 x(256/2)= 1280 ms MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-28 UG-M10CONFIG 2016.10.31 CRC エラーからの回復 CRC エラーからの回復 MAX 10 デバイスを含むシステムが 、デバイス・リコンフィグレーションを制御する必要があり ます。CRC_ERROR ピンでエラーを検出した後で、システムが MAX 10 デバイスをリコンフィグレ ーションしても支障のないタイミングで nCONFIG を Low にストローブすることにより、システ ムがリコンフィグレーションを行うことができます。 デバイスをリコンフィグレーションすることによりデータビットが正しい値に書き換えられる と、デバイスは正しく機能します。 通常はアルテラデバイスで SEU は発生しませんが、高信頼性アプリケーションではこれらのエ ラーに対応したデザインが要求される場合があります。 コンフィグレーション・データの圧縮 MAX 10 デバイスは、圧縮されたコンフィグレーション・ビットストリームを受信し、コンフィ グレーション中にリアルタイムでデータを 復元することができます。この機能により CFM に 格納されるコンフィグレーション・イメージのサイズを削減することができます。データでは、 通常、圧縮によってデザインに応じてコンフィグレーション・ファイル・サイズは少なくとも 30% 削減されることが示されています。 関連情報 • 3-17 ページの デザインのコンパイルの前に圧縮を有効にする • 3-18 ページの デザインのコンパイル後に圧縮を有効にする Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 コンフィグレーションの詳細 2-29 コンフィグレーションの詳細 コンフィグレーション・シーケンス 図 2-10: MAX 10 デバイスのコンフィグレーション・シーケンス Power Up • nSTATUSとCONF_DONEが Lowに駆動される • すべての I/Oピンがトライ ステートにされる VCCIO、VCCAとVCCを含む電源が 推奨動作電圧に達する Reset • nSTATUS とCONF_DONEはLowを 維持 • すべての I/Oピンがトライステートにされる • CONFIG_SELピンのサンプリング • コンフィグレーションRAMビットをクリア nSTATUS とnCONFIGがHighにリリースされる CONF_DONEがLowに引き下げられる Configuration Error Handling • nSTATUSがLowに引き下げられる • CONF_DONEはLowを維持する • オプションが有効であれば コンフィグレーションを再開する Configuration コンフィグレーション・データをFPGA に書き込む CONF_DONEがHighにリリースされる Initialization • 内部ロジックとレジスターを 初期化する • I/Oバッファーをイネーブルする User Mode デザインを実行する nCONFIG ピンを少なくとも最小 t RU_nCONFIG Low パルス幅以上 Low に引き下げることにより、リコ ンフィグレーションを開始することができます。このピンが Low に引き下げられると、nSTATUS MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-30 UG-M10CONFIG 2016.10.31 パワーアップ ピンと CONF_DONE ピンは Low に引き下げられ、すべての I/O ピンは ICB 設定に基づいて内部ウ ィークプルアップに接続されるか、トライステートにされます。 関連情報 3-8 ページの Convert Programming Files を使用して.pof を生成する コンフィグレーション時にウィークプルアップをセットする方法について、詳しい情報を提供し ます。 パワーアップ デバイスをパワーダウン状態からパワーアップする場合、バンク 1B (10M02 デバイスではバンク 1)、バンク 8 およびコアの VCCIO に適切なレベルまで電力を加えれば、POR を終了できます。パ ワーアップ・ステージから抜けたら、 MAX 10 デバイスは僅かな POR 遅延でコンフィグレーシ ョン・ステージに入ります。 関連情報 • MAX 10 パワー・マネジメント・ユーザーガイド MAX 10 デバイスの電源モードについて詳しい情報を提供します。 • MAX 10 Device Datasheet ランプアップ時間の仕様についての詳しい情報を提供します。 • MAX 10 FPGA Device Family Pin Connection Guideline コンフィグレーション・ピンの接続について詳しい情報を提供します。 シングル電源およびデュアル電源の MAX 10 デバイスにおける POR でモニタリングされる電圧レー ル コンフィグレーションを開始するには、以下の表に示すように必要な電圧を適切な電圧レベルに パワーアップする必要があります。バンク 1B(10M02 デバイスではバンク 1)とバンク 8 の VCCIO は、コンフィグレーション中に 1.5 V ~ 3.3 V の電圧にパワーアップする必要があります。 表 2-21: シングル電源およびデュアル電源の MAX 10 デバイスにおける POR でモニタリングされる電圧 レール 電圧をパワーアップする際に従うべきパワーアップ・シーケンスはありません。 デバイスの電源オプション POR にモニタリングされる電源 安定化された VCC_ONE シングル電源 VCCA VCCIO バンク 1B (6)とバンク 8 VCC デュアル電源 VCCA VCCIO バンク 1B(6) とバンク 8 (6) 10M02 デバイスではバンク 1 です。 Altera Corporation MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 MAX 10 デバイスのモニタリングされる電源ランプ時間要件 2-31 MAX 10 デバイスのモニタリングされる電源ランプ時間要件 図 2-11: MAX 10 デバイスのモニタリングされる電源ランプ時間要件図 Volts nSTATUS goes high CONF_DONE goes high POR trip level first power supply last power supply Time Configuration time POR Delay tRAMP Device Initialization User Mode 表 2-22: MAX 10 デバイスのモニタリングされる電源ランプ時間要件 シンボル パラメーター tRAMP 電源ランプ時間(7) 最小値 最大値 単位 —(8) 10 ms コンフィグレーション コンフィグレーション時に、コンフィグレーション・データは、内部フラッシュから読み出され て、CRAM に書き込まれます。 コンフィグレーション・エラーの処理 自動的にコンフィグレーションを再開するには、 Quartus Prime ソフトウェアの Device and Pin Options ダイアログボックスの General ページで Auto-restart configuration after error オプショ ンをオンにします。 (7) (8) コンフィグレーションが完了する前に、すべての VCCIO 電源が規定電圧に達するように確認して ください。内部コンフィグレーション時間 を参照してください。 ランプレート要件には絶対最小値がありません。アルテラ は最小 tRAMP を 200 µs と特性評価しま した。 MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation 2-32 UG-M10CONFIG 2016.10.31 初期化 このオプションをオンにしない場合には、nSTATUS ピンをモニタリングすることでエラーを検出 することができます。コンフィグレーションを再開するには、nCONFIG ピンを少なくとも tRU_nCONFIG 期間以上 Low に引き下げます。 初期化 CONF_DONE ピンが High になった後に、初期化シーケンスが開始します。初期化クロックソース は内部オシレータ―であり、 MAX 10 デバイスは、適切に初期化するのに十分なクロックサイク ルを受け取ることになります。 ユーザーモード 初期化が完了するとデザインが動作を開始します。ユーザー I/O ピンはデザインで指定された ように機能します。 MAX 10 のコンフィグレーション・ピン MAX 10 デバイスのすべてのコンフィグレーション・ピンと JTAG ピンは兼用ピンです。コンフ ィグレーション・ピンは、ユーザーモードの前ではコンフィグレーション・ピンとして機能しま す。ユーザーモードになると、ピンはユーザー I/O ピンとして機能するか、またはコンフィグレ ーション・ピンのままにもできます。 表 2-23: MAX 10 デバイスのコンフィグレーション・ピンのまとめ すべてのピンは、VCCIO バンク 1B(10M02 デバイスではバンク 1)および 8 によって駆動されま す。 コンフィグレーショ ン・ピン 入力/出力 コンフィグレーション手法 CRC_ERROR 出力のみ、オープンドレイン CONFIG_SEL 入力のみ 内部コンフィグレーション DEV_CLRn 入力のみ オプショナル、JTAG および内部コンフィ グレーション DEV_OE 入力のみ オプショナル、JTAG および内部コンフィ グレーション CONF_DONE 双方向、オープンドレイン JTAG および内部コンフィグレーション nCONFIG 入力のみ JTAG および内部コンフィグレーション nSTATUS 双方向、オープンドレイン JTAG および内部コンフィグレーション JTAGEN 入力のみ オプショナル、JTAG コンフィグレーショ ン TCK 入力のみ JTAG コンフィグレーション TDO 出力のみ JTAG コンフィグレーション Altera Corporation オプショナル、JTAG および内部コンフィ グレーション MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック UG-M10CONFIG 2016.10.31 MAX 10 のコンフィグレーション・ピン コンフィグレーショ ン・ピン 入力/出力 2-33 コンフィグレーション手法 TMS 入力のみ JTAG コンフィグレーション TDI 入力のみ JTAG コンフィグレーション 関連情報 • 3-1 ページの ガイドライン:兼用コンフィグレーション・ピン • 3-3 ページの 兼用ピンのイネーブル MAX 10 FPGA のコンフィグレーション手法と機能 フィードバック Altera Corporation MAX 10 FPGA コンフィグレーション・デザイ ンのガイドライン 3 2016.10.31 UG-M10CONFIG 更新情報 フィードバック 兼用コンフィグレーション・ピン ガイドライン:兼用コンフィグレーション・ピン ユーザーモードでコンフィグレーション・ピンをユーザー I/O ピンとして使用するには、以下の ガイドラインに従う必要があります。 表 3-1: MAX 10 デバイスの兼用コンフィグレーション・ピンのガイドライン ガイドライン ピン コンフィグレーション・ピンは初期化時では、 • 外部 I/O ドライバーをトライステートにし、外部ウィークプルアップ抵 • nCONFIG • nSTATUS 抗を駆動する(9) • または、外部 I/O ドライバーを使用して、ピンを外部ウィークプルアッ • CONF_DONE プ抵抗と同じ状態に駆動する (9) 外部ウィークプルアップ抵抗を削除する場合には、アルテラは、デバイスがユーザーモードに入 った後で削除することを推奨します。 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel 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 Intel. Intel 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. *Other names and brands may be claimed as the property of others. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 登録済 3-2 UG-M10CONFIG 2016.10.31 JTAG ピンの共有 ガイドライン ピン JTAG ピン • JTAGEN ピンを使用してユーザー I/O ピンと JTAG ピンの機能を交互に切 り替えるのであれば、すべての JTAG ピンがシングルエンドの I/O ピン または電圧リファレンス形式の I/O ピンとして割り当てられている必要 がある。推奨の入力バッファーはシュミットトリガー入力 • JTAG ピンのいずれかを差動 I/O ピンとして割り当てた場合、ユーザーモ ードで JTAG ピンが JTAG ピンとして動作できない • JTAG プログラミング中は JTAG ピンを専用ピンとして使用する必要が あり、ユーザー I/O ピンとして使用することはできない • 初期化の段階で JTAG ピンをトグルすることはできない • 初期化の前に最低 5 クロックサイクル間、テスト・アクセス・ポート (TAP)コントローラ―をリセット状態にし、TDI ピンと TMS ピンを High に、TCK ピンを Low に駆動する • • • • TDO TMS TCK TDI 注意: JTAG ピン共有機能をイネーブルする場合は、すべての JTAG ピンをシングルエンドの I/O ピンまたは電圧リファレンス形式の I/O ピンとして割り当てます。 関連情報 • MAX 10 FPGA Device Family Pin Connection Guidelines レジスターの推奨値について詳しい情報を提供します。 • 2-32 ページの MAX 10 のコンフィグレーション・ピン • 2-2 ページの JTAG ピン JTAG ピンの共有 表 3-2: MAX 10 デバイスでの JTAG ピンの共有 コンフィグレーショ ン・ステージ JTAG ピンの共有 無効 ユーザーモード 有効 コンフィグレーシ ドントケア ョン JTAGEN ピン JTAG ピン(TDO、TDI、TCK、TMS) ユーザー I/O ピン 専用 JTAG ピン Low へ駆動 ユーザー I/O ピン High へ駆動 専用 JTAG ピン 使用しない 専用 JTAG ピン 注意: JTAG ピンを正常に動作させるためには、表 3-1 に従ってピンを設定した上に、ピンの方 向(入力、出力、または双方向)も正しくする必要があります。 Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 兼用ピンのイネーブル 3-3 兼用ピンのイネーブル ユーザーモードで、コンフィグレーション・ピンと JTAG ピンをユーザー I/O ピンとして使用す るには、 Quartus Prime ソフトウェアで以下の操作を行う必要があります。 1. 2. 3. 4. Assignments メニューで、Device をクリックします。 Device and Pin Options をクリックします。 Device and Pin Options の General タブを選択します。 General の Options リストで以下を行います。 • Enable JTAG pin sharing にチェックを入れる • Enable nCONFIG, nSTATUS, and CONF_DONE pins のチェックを外す 関連情報 • 2-32 ページの MAX 10 のコンフィグレーション・ピン • 2-2 ページの JTAG ピン JTAG コンフィグレーションによる MAX 10 デバイスのコンフィグレー ション Quartus Prime ソフトウェアは、JTAG コンフィグレーションに使用できる.sof を生成します。 Quartus Prime ソフトウェア・プログラマーとダウンロード・ケーブルを使用して、 MAX 10 デ バイスを直接コンフィグレーションすることができます。 あるいは、他のサードパーティーのプログラマー・ツールによって、Jam STAPL(Standard Test and Programming Language)形式ファイル(.jam)、または JAM Byte Code File(.jbc) を使用する こともできます。 関連情報 AN 425: Using the Command-Line Jam STAPL Solution for Device Programming MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-4 UG-M10CONFIG 2016.10.31 JTAG コンフィグレーションのセットアップ JTAG コンフィグレーションのセットアップ 図 3-1: ダウンロード・ケーブルを使用した JTAG シングル・デバイス・コンフィグレーションの接続セ ットアップ 10M02 デバイスでは、VCCIO バンク 1 に接続し、その他のすべての MAX 10 デバイスでは、VCCIO バンク 1B に接続します。 JTAGENピンを使用するためには、JTAGピンの共用を有効にする必要があります。 ユーザーモードで、JTAGピンを使用する場合: - 通常のI/Oピンの場合: JTAGENピンをウィークプルダウン1 kΩ に接続する - JTAGピンが専用ピンの場合: 10-kΩ のプルアップを通じて、JTAGENピンをVCCIO Bank 1B または 1B に接続する V CCIO Bank 8 10 kΩ 10 kΩ V CCIO Bank 1 or 1B 10 kΩ MAX 10 10 kΩ 10 kΩ Download Cable (JTAG Mode) 10-Pin Male Header V CCIO Bank 1 or 1B nSTATUS JTAGEN CONF_DONE nCONFIG TCK TDO TMS TDI 1 kΩ 10pF 10pF 10pF 10pF 1 2 3 4 5 6 7 8 910 ダイオードとコンデンサーは、MAX 10デバイスのできるだけ近くに配置する必要があります。 効率的な電圧クランプのために、スイッチングおよびツェナーダイオードと比較して、低い ダイオード順方向電圧(VF)を持つショットキー・ダイオードの使用をアルテラは推奨します。 電圧オーバーシュートの防止を参照してください。 Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 3-5 JTAG コンフィグレーションのセットアップ 図 3-2: ダウンロード・ケーブルを使用した JTAG マルチデバイス・コンフィグレーションの接続セット アップ 10M02 デバイスでは、VCCIO バンク 1 に接続し、その他のすべての MAX 10 デバイスでは、VCCIO バンク 1B に接続します。 V CCIO Bank 8 抵抗値は1kΩ ~ 10kΩ とばらつきます。 セットアップの抵抗値を決定するのに、 シグナル・インテグリティ解析を実行します。 10 kΩ 10 kΩ V CCIO Bank 1 or 1B 10 kΩ 10 kΩ 10 kΩ 10 kΩ 10 kΩ 10 kΩ MAX 10 10 kΩ MAX 10 MAX 10 nSTATUS CONF_DONE nCONFIG Download Cable (JTAG Mode) V CCIO Bank 1 or 1B 10-Pin Mal Header TDI 1 2 TMS 3 4 5 6 7 8 910 1kΩ 10pF 10pF 10pF 10pF V CCIO Bank 8 V CCIO Bank 8 nSTATUS CONF_DONE nCONFIG nSTATUS CONF_DONE nCONFIG TDO TDI TDO TDI TDO TCK TMS TCK TMS TCK ダイオードとコンデンサーは、MAX 10デバイスのできるだけ近くに配置する必要があります。 効率的な電圧クランプのために、スイッチングおよびツェナーダイオードと比較して、低い ダイオード順方向電圧(VF)を持つショットキー・ダイオードの使用をアルテラは推奨します。 電圧オーバーシュートの防止を参照してください。 デバイスを JTAG チェーンでコンフィグレーションするために、プログラミング・ソフトウェア は他のデバイスをバイパスモードにセットします。バイパスモードのデバイスは、バイパスレジ スター 1 つを介して TDI ピンから TDO ピンへプログラミング・データを伝送します。コンフィグ レーション・データは 1 クロックサイクル後に TDO ピンで有効になります。 Quartus Prime ソフトウェアは、JTAG ポートを介してコンフィグレーション・プロセスの完了を 確認するために CONF_DONE ピンを使用します。 • CONF_DONE ピンが Low であれば、コンフィグレーションの失敗を示す • CONF_DONE ピンが High であれば、コンフィグレーションの成功を示す コンフィグレーション・データが JTAG TDI ポートを使用してシリアルに伝送された後に、デバ イスの初期化を行うために TCK ポートが駆動されます。 電圧オーバーシュートの防止 電圧オーバーシュートを防止するために、外部ダイオードとコンデンサーを使用する必要があり ます。例えば、 VCCIO および JTAG ヘッダー両方向けの最大 AC 電圧が 3.9 V を超える場合です。ただし、アル テラ は電源が 2.5 V 以上の場合に外部ダイオードとコンデンサーを使用することを推奨します。 JTAGEN JTAGEN ピンを使用する場合には、アルテラは以下の設定を推奨します。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-6 JTAG コンフィグレーションの ICB 設定 UG-M10CONFIG 2016.10.31 • JTAG ピンが通常の I/O ピンである場合には、ユーザーモードに入ると JTAGEN ピンをウィー クプルダウン(1 kΩ) に接続する • JTAG ピンが専用ピンである場合には、ユーザーモードに入ると JTAGEN ピンをウィークプル アップ(10 kΩ) に接続する 注意: JTAG ピンの動作を変更するには、アルテラは、ジャンパー付きの 3 ピンヘッダーまたは 他の切り替えメカニズムを使用することを推奨します。 JTAG コンフィグレーションの ICB 設定 ICB 設定は、内部コンフィグレーション手法の.pof をプログラミングする際にデバイスにロー ドされます。JTAG コンフィグレーション時に使用される.sof は、CRAM のみをプログラミング しており、ICB 設定を含んでいません。 Quartus Prime Programmer は、以下に基づいて必要な設 定を行います。 • ICB 設定を含まないデバイス—ICB 設定が内部フラッシュまたは新しいデバイスから消去さ れている • ICB 設定を含むデバイス—ICB 設定が.pof によって事前にプログラミングされている ICB 設定を含まないデバイス ICB 設定を含まないデバイスでは、デフォルト値が使用されます。ただし、 Quartus Prime Programmer は、ウォッチドッグ・タイマー・イネーブルビットを 0 にセットすることによって ユーザー・ウォッチドッグ・タイマーを無効にします。このステップは、ユーザー・ウォッチド ッグ・タイムアウトにより不要なリコンフィグレーションが発生することを回避するためのもの です。 デフォルトの ICB 設定が望ましくない場合には、JTAG コンフィグレーションを行う前に、.pof プログラミングによって望ましい ICB 設定をプログラミングします。 ICB 設定を含むデバイス ICB 設定を含むデバイスでは、設定は内部フラッシュが消去されるまで維持されます。.map フ ァイルを参考すれば、保存されている ICB 設定を見ることができます。JTAG コンフィグレーシ ョンは、保存されている ICB 設定に従って動作します。 事前にプログラミングされた ICB 設定が望ましくない場合には、JTAG コンフィグレーションを 行う前に、.pof プログラミングによって望ましい ICB 設定をプログラミングします。 関連情報 • • • • • • Altera Corporation 3-7 ページの .pof と ICB 設定 2-22 ページの Verify Protect 2-21 ページの JTAG セキュアモード 2-6 ページの ISP 命令とリアルタイム ISP 命令 2-18 ページの ユーザー・ウォッチドッグ・タイマー 3-8 ページの Convert Programming Files を使用して.pof を生成する Convert Programming File を使用して.pof を生成する際の ICB 設定について、詳しい情報を提 供します。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 内部コンフィグレーションを使用する MAX 10 デバイスのコンフィグレーション 3-7 内部コンフィグレーションを使用する MAX 10 デバイスのコンフィグ レーション MAX 10 デバイスで内部コンフィグレーション手法を使用するには、3 つの主要なステップがあ ります。 1. 内部コンフィグレーション手法を選択する 2. ICB 設定を含む.pof を生成する 3. 内部フラッシュに .pof をプログラミングする 関連情報 • 2-3 ページの 内部コンフィグレーション・モード • 2-11 ページの リモート・システム ・アップグレード 内部コンフィグレーション・モードの選択 コンフィグレーション・モードを選択するには、以下のステップを実行します。 1. Quartus Prime ソフトウェアを開き、 MAX 10 デバイスを使用するプロジェクトをロードしま す。 2. Assignments メニューで Settings をクリックします。Settings ダイアログボックスが表示され ます。 3. Category リストから、Device を選択します。Device ページが表示されます。 4. Device and Pin Options をクリックします。 5. Device and Pin Options ダイアログボックスで Configuration タブをクリックします。 6. Configuration Scheme リストから Internal Configuration を選択します。 7. Configuration Mode リストから、有効な 5 つのコンフィグレーション・モードのうちから 1 を 選択します。10M02 デバイスでは 2 つのモードのみが有効です。 8. 必要に応じて Generate compressed bitstreams をオンにします。 9. OK をクリックします。 .pof と ICB 設定 .pof を生成し、ICB を設定する 2 つの方法があります。選択した内部コンフィグレーション・ モードに対応して方法が決まります。 表 3-3: 内部コンフィグレーション・モードでの.pof 生成と ICB 設定の方法 内部コンフィグレーション・モード Single Compressed Image Single Uncompressed Image ICB 設定 ICB を Device and Pin Options でセットできる MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック 概要 使用する.pof の生成方 法 プロジェクトのコンパイ ル時に Quartus Prime ソフ 自動的に生成さ トウェアが自動的に.pof れる.pof (10) を生成する Altera Corporation 3-8 UG-M10CONFIG 2016.10.31 自動的に生成される.pof 内部コンフィグレーション・モード Single Compressed Image with Memory Initialization. Single Uncompressed Image with Memory Initialization Dual Compressed Images ICB 設定 概要 ICB を Convert Convert Programming Programming Files を使用して.pof を Files タスクの際 生成する必要がある にセットできる 使用する.pof の生成方 法 Convert Programming Files を使用し て.pof を生成す る 自動的に生成される.pof 自動的に生成される.pof に ICB をセットするには、以下のステップを実行します。 1. Assignments メニューで Settings をクリックします。Settings ダイアログボックスが表示され ます。 2. Category リストから、Device を選択します。Device ページが表示されます。 3. Device and Pin Options をクリックします。 4. Device and Pin Options ダイアログボックスのカテゴリーペインで Configuration を選択しま す。 5. Device Options … ボタンをクリックします。 6. Max 10 Device Options ダイアログボックスで以下をセットできます。 a. コンフィグレーション時のユーザー I/O ウィークプルアップ b. 検証プロテクト 7. 設定が完了したら OK をクリックします。 Convert Programming Files を使用して.pof を生成する .sof ファイルを .pof ファイルに変換する並びに ICB をセットする場合、次の手順に従います。 1. File メニューの Convert Programming Files をクリックします。 2. Output programming file の Programming file type リストから、Programmer Object File (.pof) を選択します。 3. Mode リストから Internal Configuration を選択します。 4. Option/Boot Info をクリックすると、ICB 設定をセットするための ICB setting ダイアログボッ クスが表示されます。ICB setting ダイアログボックスでは以下の設定をセットすることがで きます。 a. コンフィグレーション時のユーザー I/O ウィークプルアップ b. 最初のイメージで障害が発生した際に二番目のイメージから自動的にリコンフィグレー ションする(デフォルトで有効) 注意: この機能を無効にすると、デバイスは物理的な CONFIG_SEL ピンをサンプリングす ることなく、常にコンフィグレーション・イメージ 0 をロードします。コンフィグ (10) 自動的に生成される.pof は暗号化できません。シングル圧縮モードとシングル非圧縮モードで 暗号化機能を有効にするには、Convert Programming Files の手法を使用します。 Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 Convert Programming Files を使用して.pof を生成する 3-9 レーション・イメージ 0 を正常にロードした後で、入力レジスターの config_sel_overwrite ビットを使用してコンフィグレーション・イメージを切り替 えることができます。Altera Dual Configuration IP コアの入力レジスターについて、 詳しくは関連情報を参照してください。 c. 使用可能な際に二番目のイメージの ISP データをデフォルト設定にする d. JTAG セキュア 注意: JTAG セキュア機能は、 Quartus Prime ではデフォルトで無効にされています。JTAG セキュア機能を使用する必要がある場合には、サポートについてアルテラにお問い 合わせください。 注意: POF ファイルで JTAG セキュアモードが有効にされている状態で、POF が誤ったキ ーで暗号化される場合、MAX 10 FPGA デバイスが永久にロックされてしまいます。 デバイスが JTAG セキュアモードにある場合、外部 JTAG のロックを解除するために は、内部 JTAG のインターフェイスをインスタンス 化する必要があります。 e. 検証プロテクト f. 暗号化された POF のみを許可 g. デュアル・コンフィグレーション向けウォッチドッグ・タイマーとウォッチドッグ・タイ マー値。(デュアル圧縮内部イメージでコンパイルされた 2 つのデザインのための 2 ペー ジの.sof を追加すると有効にされる) h. ユーザー・フラッシュメモリー設定 i. RPD ファイルのエンディアン 5. File name ボックスで、作成するプログラミング・ファイルのファイル名を指定します。 6. メモリー・マップ・ファイル(.map)を生成するには、Create Memory Map File(output_file.map の自動生成)をオンにします。.map には Option/Boot Info オプションでセットした、ICB 設 定と CFM や UFM のアドレスが含まれます。 7. ロー・プログラミング・データ(.rpd)を生成するには、Create config data RPD (output_file_auto.rpd を生成する)をオンにします。 リモート・システム ・アップグレード向けには、各コンフィグレーション・フラッシュメモ リーおよびユーザー・フラッシュメモリー(CFM0、CFM1、UFM)セクションの個別のロ ー・プログラミング・データ(.rpd)がまとめて生成されます。 8. .sof は Input files to convert リストから追加することができ、最大 2 つまでの.sof ファイル を追加することができます。 リモート・システム ・アップグレード用に、元のページ 0 データを.pof に保持し、ページ 1 データを新しい.sof ファイルに置き換えることもできます。これを行うには、.pof ファイ ルをページ 0 に追加し、次に.sof ページを追加し、新しい.sof ファイルをページ 1 に追加し ます。 9. すべての設定をセットした後で、Generate をクリックして関連するプログラミング・ファイ ルを生成します。 関連情報 • MAX 10 ユーザー・フラッシュメモリー・ユーザーガイド アルテラのオンチップ・フラッシュ IP コアについて詳しい情報を提供します。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-10 UG-M10CONFIG 2016.10.31 内部フラッシュへの.pof のプログラミング • 3-20 ページの 内部コンフィグレーションでの暗号化 さまざまな設定に基づいてロードされた内部コンフィグレーション・イメージについて、詳 しい情報を提供します。 内部フラッシュへの.pof のプログラミング Quartus Prime Programmer を使用して、JTAG インターフェイスを介して .pof を CFM へプログラ ミングすることができます。また、内部フラッシュの UFM 部分も Quartus Prime Programmer に よってプログラミングすることができます。 .pof をフラッシュにプログラミングするには 、以下の手順を実行します。 1. 2. 3. 4. 5. 6. Programmer ウィンドウで、Hardware Setup をクリックし、USB Blaster を選択します。 Mode リストから JTAG を選択します。 左側のペインの Auto Detect ボタンをクリックします。 プログラミングするデバイスを選択し、Add File をクリックします。 選択したデバイスにプログラミングする .pof を選択します。 内部フラッシュのプログラミングにはいくつかのオプションがあります。 • CFM0/CFM1/CFM2 のいずれかのみをプログラミングするには、Program/Configure カラム で該当する CFM を選択する • UFM のみをプログラミングするには、Program/Configure カラムで UFM を選択する • CFM と UFM のみをプログラミングするには、Program/Configure カラムで CFM と UFM の みを選択する 注意: このオプションでは ICB 設定はそのままに保たれます。しかし、プログラミングを 開始する前に、 Quartus Prime Programmer がデバイスの ICB 設定と選択された.pof の ICB 設定が同じであるかを確認します。ICB 設定が異なっていれば、 Quartus Prime Programmer が ICB 設定を上書きします。 • ICB 設定を含む内部フラッシュ全体をプログラミングするには、Program/Configure カラム で<yourpoffile.pof> を選択する 7. リアルタイム ISP モードを有効にするには、Enable real-time ISP to allow background programming をオンにします。 8. すべての設定をセットした後で、Start をクリックしてプログラミングを開始します。 Quartus Prime ソフトウェアで ISP クランプを実装する ISP クランプを実装するには、以下を実行します。 1. ピンステートの情報(.ips)ファイルを作成します。.ips ファイルは、デバイスが ISP クラ ンプ動作時におけるデバイスのすべてのピンのステートを定義します。既存の.ips ファイ ルを使用できます。 2. .ips ファイルを実行します。 Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 IPS ファイルの作成 3-11 注意: ターゲットするデバイスとパッケージが同じであれば、作成された.ips ファイルはいず れのデザインでのデバイスをプログラムすることができます。.ips ファイルは、POF フ ァイルとともに使用する必要があります。 関連情報 2-5 ページの ISP クランプ IPS ファイルの作成 .ips ファイルを作成するには、以下の手順を実行します。 1. ツールバーで Programmer をクリックするか、Tools メニューの Programmer をクリックし て、Programmer を開きます。 2. プログラマーで Add File をクリックして、プログラミング・ファイル(POF、Jam、または JBC)を追加します。 3. プログラミング・ファイルをクリックし(ロー全体が強調表示される)、Edit メニューの ISP Clamp State Editor をクリックします。 4. ISP Clamp State Editor でデザインにおけるピンのステートを指定します。すべてのピンはデ フォルトで tri-state にセットされています。 5. 変更後に IPS ファイルを保存するために、Save をクリックします。 IPS ファイルの実行 ISP クランプを実行するには、以下の手順を実行します。 1. Quartus Prime Programmer でデバイスにプログラムする .pof を選択します。 2. .pof を選択して右クリックして、Add IPS File を選択し、ISP CLAMP をオンにします。 注意: コンフィグレーション後には、I/O クランプのスタートアップ遅延を変更することがで きます。これは、Tools > Options を選択して、Overwrite MAX10 configuration start up delay when using IO Clamp in Programmer オプションをオンにすると、遅延値を変更で きます。 3. Program/Configure カラムで .pof を選択します。 注意: サードパーティー・プログラミングでは、.ips ファイルで .pof ファイルから .jam ま たは.jbc ファイルを生成することができます。 4. すべての設定をセットした後で、Start をクリックしてプログラミングを開始します。 ユーザーロジックを介したリモート・システム・アップグレードへのア クセス 以下の例は、MAX 10 デバイスで WYSIWYG アトムの入力および出力ポートがどのように定義さ れているかを示します。 fiftyfivenm_rublock <rublock_name> ( .clk(<clock source>), MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-12 UG-M10CONFIG 2016.10.31 ユーザーロジックを介したリモート・システム ・アップグレードへのアクセス .shiftnld(<shiftnld source>), .captnupdt(<captnupdt source>), .regin(<regin input source from the core>), .rsttimer(<input signal to reset the watchdog timer>), .rconfig(<input signal to initiate configuration>), .regout(<data output destination to core>) ); defparam <rublock_name>.sim_init_config = <initial configuration for simulation only>; defparam <rublock_name>.sim_init_watchdog_value = <initial watchdog value for simulation only>; defparam <rublock_name>.sim_init_config = <initial status register value for simulation only>; 表 3-4: ポートの定義 ポート 入力/出 力 定義 - RSU ブロック固有の識別子です。記述言語の選択 (例えば Verilog、VHDL、AHDL 等)に応じて適正な 識別子名が表記されます。このフィールドは必須で す。 .clk(<clock source>) 入力 この信号はこのセルのクロック入力を示します。こ のセルの全ての動作はこのクロックの立ち上がりエ ッジに対して生じます。セルへのデータのロードで あっても、セルからのデータ出力であっても、常に 立ち上がりエッジで生じます。このフィールドは必 須です。 .shiftnld(<shiftnld source>) 入力 この信号はリモート・システム ・アップグレード・ ブロックへの入力です。shiftnld = 1 の場合、データ は clk の立ち上がりエッジごとに内部シフトレジス ターから regout へシフトされ、また regin から内部 シフトレジスターへシフトされます。このフィール ドは必須です。 .captnupdt(<captnupdt source>) 入力 この信号はリモート・システム ・アップグレード・ ブロックへの入力です。これによって、コンフィグ レーション・モードを読みだすタイミング、または コンフィグレーションを制御するレジスターに書き 込むタイミングのプロトコルが制御されます。この フィールドは必須です。 入力 この信号は、すべてのデータがコアにロードされる ために、リモート・システム ・アップグレード・ブ ロックへの入力です。データは clk の立ち上がりエ ッジに内部レジスターにシフトされます。このフィ ールドは必須です。 入力 この信号は、リモート・アップデート・ブロックの ウォッチドッグ・タイマーへの入力です。これが High の場合、ウォッチドッグ・タイマーがリセット されます。このフィールドは必須です。 <rublock_name> .regin(<regin input source from the core>) .rsttimer(<input signal to reset the watchdog timer>) Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 エラー検出 ポート .rconfig(<input signal to initiate configuration>) .regout(<data output destination to core>) 入力/出 力 3-13 定義 入力 この信号は、リモート・アップデート・ブロックの コンフィグレーション・セクションへの入力です。 これが High の場合、リコンフィグレーションが開始 します。このフィールドは必須です。 出力 これは1 ビットの出力で、clk の立ち上がりエッジ ごとに更新される内部シフトレジスターの出力で す。データは制御信号に応じて出力されます。この フィールドは必須です。 関連情報 • 5-1 ページの アルテラ・デュアル・コンフィグレーション IP コアの参考資料 • 2-11 ページの リモート・システム ・アップグレード • AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor MAX 10 FPGA デバイスのリモート・システム・アップグレード向けリファレンス・デザイン を提供します。 • I2C Remote System Update Example この例では、I2C プロトコルの使用によるリモート・システム ・アップグレードを示します。 エラー検出 エラー検出機能の検証 CRC 回路で 32 ビットの CRC ストレージレジスターを変更することによって、ソフトエラーを注 入することができます。引き起こされた障害を検証した後は、同じ命令を使用して正しい値を挿 入することにより、32 ビットの CRC 値を正しい CRC 値に復元することができます。既知の不正 な値で更新する前に、必ず正しい値を読み出ししてください。 MAX 10 デバイスは、ユーザーモードで CHANGE_EDREG JTAG 命令をサポートしており、これによ り 32 ビットのストレージレジスターに書き込みをすることができます。.jam を使用して、テス トと検証のプロセスを自動化することができます。この命令は、デバイスがユーザーモードにあ るときにのみ実行することができます。この命令により、デバイスのリコンフィグレーションな しでインシステムで CRC 機能を動的に検証できます。その後で、CRC 回路に切り換えて、SEU に起因する実際のエラーをチェックできます。 テストが完了した後に CRC エラーをクリアして元の CRC 値を復元するには、電源を再投入する か、または以下のステップを実行します。 1. コンフィグレーションが完了したら、CHANGE_EDREG JTAG 命令を使用して正しい計算済み CRC 値をシフトアウトし、CRC ストレージレジスターへ不正な CRC 値をロードします。エ ラーが検出されると、CRC_ERROR ピンがアサートされます。 2. CHANGE_EDREG JTAG 命令を使用して正しい計算済み CRC 値をシフトインします。CRC_ERROR ピンがディアサートされ、エラー検出 CRC 回路が動作していることを示します。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-14 UG-M10CONFIG 2016.10.31 エラー検出の有効化 例 3-1: JAM File 'EDCRC_ERROR_INJECT ACTION ERROR_INJECT = EXECUTE; DATA DEVICE_DATA; BOOLEAN out[32]; BOOLEAN in[32] = $02040608; 'shift in any wrong CRC value ENDDATA; PROCEDURE EXECUTE USES DEVICE_DATA; BOOLEAN X = 0; DRSTOP IDLE; IRSTOP IDLE; STATE IDLE; IRSCAN 10, $015; 'shift in CHANGE_EDREG instruction WAIT IDLE, 10 CYCLES, 1 USEC, IDLE; DRSCAN 32, in[31..0], CAPTURE out[31..0]; WAIT IDLE, 10 CYCLES, 50 USEC, IDLE; PRINT " "; PRINT "Data read out from the Storage Register: "out[31], out[30], out[29], out[28], out[27], out[26], out[25], out[24], out[23], out[22], out[21], out[20], out[19], out[18], out[17], out[16], out[15], out[14], out[13], out[12], out[11], out[10], out[9], out[8], out[7], out[6], out[5], out[4], out[3], out[2], out[1], out[0]; 'Read out correct precomputed CRC value PRINT " "; STATE IDLE; EXIT 0; ENDPROC; 下記のコマンドラインを使用した quartus_jli 実行ファイルで、.jam ファイルを動作させるこ とができます。 quartus_jli -c<cable index> -a<action name> <filename>.jam 関連情報 • 2-24 ページの SEU の緩和とコンフィグレーション・エラーの検出 • AN 425: Using the Command-Line Jam STAPL Solution for Device Programming 実行可能な quartus_jli コマンドラインについて詳しい情報を提供します。 エラー検出の有効化 Quartus Prime ソフトウェアの CRC エラー検出機能は CRC_ERROR 出力をオプションの兼用 CRC_ERROR ピンに生成します。 CRC を使用したエラー検出機能を有効にするには、以下のステップを実行します。 1. Quartus Prime ソフトウェアを開き、 MAX 10 デバイスファミリーを使用するプロジェクトを ロードします。 2. Assignments メニューで Settings をクリックします。Settings ダイアログボックスが表示され ます。 3. Category リストで Device を選択します。 4. Device and Pin Options をクリックします。 5. Device and Pin Options ダイアログボックスの Error Detection CRC タブをクリックします。 Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 ユーザーロジックを通じたエラー検出ブロックへのアクセス 3-15 6. Enable error detection CRC をオンにします。 7. Divide error check frequency by フィールドに、有効な除数を入力します。 除数値は、コンフィグレーション・オシレーター出力クロックの周波数を分周します。この 出力クロックは、エラー検出処理用のクロックソースとして使用されます。 8. OK をクリックします。 関連情報 2-24 ページの SEU の緩和とコンフィグレーション・エラーの検出 ユーザーロジックを通じたエラー検出ブロックへのアクセス エラー検出回路は、計算された 32 ビットの CRC シグネチャーを 32 ビットのレジスターに格納 します。コアからのユーザーロジックがこのシグネチャーを読み出します。 fiftyfivenm_crcblock プリミティブは、 ユーザーロジックからエラー検出回路へのインターフェ イスを規定するために使用される WYSIWYGl コンポーネントです。fiftyfivenm_crcblock プリ ミティブ・アトムは、アトムに含まれている必要がある入力ポートと出力ポートを含みます。ロ ジックアレイにアクセスするには、fiftyfivenm_crcblock WYSIWYG アトムをデザインに挿入す る必要があります。.clk ポートのクロック周波数は、EDCRC ブロックのクロック周波数に従う ことが推奨されます。 図 3-3: MAX 10 デバイスのインターフェイスを 含むエラー検出ブロック図 Internal Chip Oscillator Clock Divider (1 to 256 Factor) VCC CRC_ERROR (BIDIRモードで表示される) Pre-Computed CRC (オプション・レジスタに保存されている ) LDSRC SHIFTNLD CRC_ERROR CRC Computation CLK SRAM Bits REGOUT Error Detection Logic Logic Array 以下の例は、MAX 10 デバイスで WYSIWYG アトムの入力および出力ポートがどのように定義さ れているかを示します。 fiftyfivenm_crcblock <name> ( MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-16 UG-M10CONFIG 2016.10.31 ユーザーロジックを通じたエラー検出ブロックへのアクセス .clk(<ED_CLK clock source>), .shiftnld(<ED_SHIFTNLD source>), .ldsrc (<LDSRC source>), .crcerror(<CRCERROR_CORE out destination>), .regout(<output destination>) ); defparam <crcblock_name>.oscillator_divider = <internal oscillator division (1 to 256)>; 表 3-5: ポートの定義 ポート <crcblock_name> .clk(<clock source> ) .shiftnld (<shiftnld source>) .ldsrc (<ldsrc source>) .crcerror (<crcerror out destination>) Altera Corporation 入力/出 力 定義 — CRC ブロック固有の識別子であり、ここには、Verilog HDL、 VHDL、AHDL といった記述言語の選択に応じて適正な識別子名 が表記されます。このフィールドは必須です。 入力 この信号はこのセルのクロック入力を示します。このセルの全 ての動作はこのクロックの立ち上がりエッジに対して生じます。 セルへのデータのロードであっても、セルからのデータ出力であ っても、常に立ち上がりエッジで生じます。このポートは必須で す。 入力 この信号はエラー検出ブロックへの入力です。shiftnld=1 であ れば、データはシフトレジスターから REGOUT へ clk の立ち上 がりエッジごとにシフトされます。shiftnld=0 であれば、シフ トレジスターはあらかじめ計算された CRC 値、またはアップデ ート・レジスターの内容のどちらかを ldsrc ポート入力に応じて パラレルにロードします。このポートは必須です。 入力 この信号はエラー検出ブロックへの入力です。ldsrc=0 であれ ば、shiftnld=0 の際に clk の立ち上がりエッジで 32 ビットのシ フトレジスターへロードするために、あらかじめ計算された CRC のレジスターが選択されます。Ifldsrc=1 であれば、 shiftnld=0 の際に clk の立ち上がりエッジでシフトレジスター へロードするために、シグネチャー・レジスター(CRC 計算結 果)が選択されます。shiftnld=1 であればこのポートは無視さ れます。このポートは必須です。 出力 この信号はセルの出力であり、これは clk ポートではなく、デバ イスの内部オシレーター(100 MHz または 80 MHz 内部オシレー ター)に同期します。この信号は、SRAM ビットが反転している こと、内部 CRC 計算があらかじめ計算された値と異なることが エラーブロックで検出された場合に、自動的に High にアサート します。この信号は、出力ピンか双方向ピンのどちらかに接続す る必要があります。出力ピンに接続する場合には、モニタリング できるのは CRC_ERROR ピンのみです(コアはこの出力にアクセス できません)。CRC_ERROR 信号がコアロジックによってエラー検 出ロジックの読み出しに使用される場合には、この信号を BIDIR ピンに接続する必要があります。VCC に接続された oe ポートを 有する BIDIR ピンに供給することにより、信号は間接的にコアに 供給されます。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 データ圧縮の有効化 ポート .regout (<output destination>) 入力/出 力 出力 3-17 定義 この信号はエラー検出シフトレジスターの出力であり、clk ポー トと同期しており、コアロジックにより読み出されます。各サイ クルごとに 1 ビットシフトします。32 ビットのシフトレジスタ ーを読み出すには、clk 信号を 31 サイクルで駆動する必要があ ります。.regout ポートでの値は、実際の値の逆数です。 関連情報 • 2-24 ページの SEU の緩和とコンフィグレーション・エラーの検出 • 2-26 ページの エラー検出のタイミング データ圧縮の有効化 圧縮を有効にすると、 Quartus Prime ソフトウェアが圧縮されたコンフィグレーション・データ でコンフィグレーション・ファイルを生成します。 圧縮されたコンフィグレーション・ファイルは、内部コンフィグレーション手法でデュアル・コ ンフィグレーション・モードを使用するために必要です。このファイルの圧縮は、内部フラッシ ュメモリーで必要になる容量を削減し、MAX 10 デバイスファミリーへとビットストリームを送 信するための時間を短縮します。 Quartus Prime ソフトウェアでは、 MAX 10 デバイスファミリ ーのビットストリームの圧縮を有効にする 2 つの方法があります。 • デザインのコンパイル前に Compiler Settings メニューを使用する • デザインのコンパイル後に Convert Programming Files オプションを使用する デザインのコンパイルの前に圧縮を有効にする デザインのコンパイルの前に圧縮を有効にするには、以下のステップを実行します。 1. Assignments メニューで Device をクリックします。Settings ダイアログボックスが表示され ます。 2. Device and Pin Options をクリックします。Device and Pin Options ダイアログボックスが表 示されます。 3. Configuration タブをクリックします。 4. Generate compressed bitstreams をオンにします。 5. OK をクリックします。 6. Settings ダイアログボックスで OK をクリックします。 関連情報 2-28 ページの コンフィグレーション・データの圧縮 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-18 UG-M10CONFIG 2016.10.31 デザインのコンパイル後に圧縮を有効にする デザインのコンパイル後に圧縮を有効にする デザインのコンパイルの後に圧縮を有効にするには、以下のステップを実行します。 1. File メニューの Convert Programming Files をクリックします。 2. Output programming file でプルダウンメニューから、目的のファイルタイプを選択します。 3. Programmer Object File(.pof)を選択した場合は、ファイルタイプの下の、Configuration Device を指定する必要があります。 4. Input files to convert ボックスで、SOF Data を選択します。 5. Add File をクリックし、 MAX 10 デバイスファミリーの.sof を選択します。 6. Convert Programming Files ダイアログボックスで、SOF Data に追加した.pof を選択し、 Properties をクリックします。 7. SOF Properties ダイアログボックスで、Compression オプションをオンにします。 関連情報 2-28 ページの コンフィグレーション・データの圧縮 AES 暗号化 この項では、デザイン・セキュリティー向けの AES 暗号化の適用に関するガイドラインについ て詳しく説明します。 MAX 10 デバイスにデザイン・セキュリティーを適用するために、大きく 分けて 2 段階の手順があります。1 つめは.ekp(Encryption Key Programming)ファイルの生成で あり、2 つ目はデバイスへの.ekp ファイルのプログラミングです。 .ekp ファイルは、プログラミングに使用するハードウェアもしくはシステムに 応じて異なる形 式を有します。 Quartus Prime ソフトウェアがサポートする 3 つのファイル形式を以下に示しま す。 • .jbc(JAM Byte Code)ファイル • .jam(JAM™ Standard Test and Programming Language (STAPL) Format)ファイル • .svf(Serial Vector Format)ファイル .ekp ファイルタイプのみ Quartus Prime ソフトウェアから自動的に生成されます。.jbc、.jam、 および.svf ファイルがキーのプログラミングに必要であれば、Quartus Prime ソフトウェアを使 用してこれらのファイルを生成する必要があります。 注意: アルテラは、..ekp ファイルの機密性を保持することを推奨します。 .ekp ファイルからの.jam/.jbc/.svf ファイルの生成 .ekp ファイルから .jam/.jbc/.svf を生成するには以下のステップを実行します。 1. 2. 3. 4. Tools メニューで Programmer をクリックし、Programmer ダイアログボックスを開きます。 Mode リストで、プログラミング・モードとして JTAG を選択します。 Hardware Setup をクリックし、Hardware Setup ダイアログボックスを開きます。 currently selected hardware list リストでプログラミング・ハードウェアとして USBBlaster を選 択し、Done をクリックします。 Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 .ekp ファイルと暗号化された POF ファイルのプログラミング 3-19 Add File をクリックし、Select Programmer File ダイアログボックスを開きます。 File name フィールドに<filename>.ekp と入力し Open をクリックします。 追加した.ekp ファイルを選択し Program/Configure をクリックします。 File メニューで Create/Update にカーソルを合わせ、Create JAM, SVF, or ISC File をクリックし ます。Create JAM, SVF, or ISC File ダイアログボックスが表示されます。 9. File format フィールドで .ekp ファイルに必要なファイル形式を選択します。 5. 6. 7. 8. • .jam(JEDEC STAPL Format) • .jbc(Jam STAPL Byte Code) • .svf(Serial Vector Format) 10. File name フィールドにファイル名を入力し、あるいは browse をクリックしてファイルを探 し、選択します。 11. OK をクリックし、.jam、.jbc、または.svf ファイルを生成します。 .ekp ファイルと暗号化された POF ファイルのプログラミング 暗号化された.pof ファイルおよび .ekp ファイルをプログラミングする 2 つの手法があります。 • .ekp および.pof ファイルを個別にプログラミングする 注意: Allow encrypted POF only のオプションが無効にされた際のみ、.ekp と.pof ファイ ルを個別にプログラミングすることができます。 • .ekp を.pof に統合し、両方をまとめてプログラミングする .ekp ファイルと暗号化された.pof ファイルを個別にプログラミングする Quartus Prime ソフトウェアを使用して.ekp と暗号化された.pof を個別にプログラミングする には、以下のステップを実行します。 1. Quartus Prime プログラマーの Mode リストで、プログラミング・モードとして JTAG を選択 します。 2. Hardware Setup をクリックし、Hardware Setup ダイアログボックスを開きます。 3. Currently selected hardware リストでプログラミング・ハードウェアとして USBBlaster を選択 し、Done をクリックします。 4. Add File をクリックし、Select Programmer File ダイアログボックスを開きます。 5. File name フィールドに<filename>.ekp と入力し Open をクリックします。 6. 追加した.ekp ファイルを選択し Program/Configure をクリックします。 7. Start をクリックしてキーをプログラムします。 注意: Quartus Prime ソフトウェアはメッセージウィンドウでキー・プログラミング動作の成 功または失敗についての情報を提供します。.ekp がプログラミングされると、これと は別に.pof をプログラミングできます。.ekp によってプログラミングされた内部フ ラッシュにセキュリティー・キーを保持するには、続けて以下のステップを実行しま す。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-20 UG-M10CONFIG 2016.10.31 .ekp を.POF に統合しプログラミングする 8. 選択したデバイスにプログラミングする .pof を選択します。 9. CFM および UFM のために更新する必要がある機能ブロックのみを子レベルでチェックしま す。プログラマー GUI を使用する際には、動作を親レベルでチェックしないでください。 10. すべての設定をセットした後で、Start をクリックしてプログラミングを開始します。 .ekp を.POF に統合しプログラミングする Quartus Prime ソフトウェアを使用して.ekp を.pof に統合し、両方をまとめてプログラミングす るには、以下のステップを実行します。 1. Quartus Prime プログラマーの Mode リストで、プログラミング・モードとして JTAG を選択 します。 2. Hardware Setup をクリックし、Hardware Setup ダイアログボックスを開きます。 3. Currently selected hardware リストでプログラミング・ハードウェアとして USBBlaster を選択 し、Done をクリックします。 4. 左側のペインの Auto Detect ボタンをクリックします。 5. デバイスにプログラミングする .pof を選択します。 6. <yourpoffile.pof> を選択して右クリック し、Add EKP File を選択して、.ekp ファイル を.pof ファイルに統合します。 .ekp が.pof に統合されたら、統合された.pof を新しい.pof として保存できます。新しく保 存されたファイルは .ekp の情報と統合されたオリジナル.pof を有します。 7. Program/Configure カラムで <yourpoffile.pof> を選択します。 8. すべての設定をセットした後で、Start をクリックしてプログラミングを開始します。 内部コンフィグレーションでの暗号化 内部コンフィグレーション時に、FPGA は格納しているキーで .pof を復号化し、復号データを コンフィグレーションに使用します。コンフィグレーション中にロードされるコンフィグレー ション・イメージも暗号化設定と Configure device from CFM0 only 設定に影響されます。 表 3-6: 暗号化設定、暗号化キーと CONFIG_SEL ピン設定に基づくコンフィグレーション・イメージ 以下の表に Configure device from CFM0 only が無効にされている際のシナリオを示します。キ ー X とキー Y はデバイスおよびコンフィグレーション・イメージに含まれているセキュリティ ー・キーです。 コンフィグ CFM0(イメージ CFM1(イメージ レーション・ 0)暗号化キー 1)暗号化キー イメージモ ード デバイスに 格納された キー Allow encrypted POF only CONFIG_SEL パワーアップ後に ピン ロードされるデザ イン シングル 非暗号化 使用不可 キーなし 無効 0 イメージ 0 シングル 非暗号化 使用不可 キーなし 無効 1 イメージ 0 シングル 非暗号化 使用不可 キー X 無効 0 イメージ 0 シングル 非暗号化 使用不可 キー X 無効 1 イメージ 0 Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 内部コンフィグレーションでの暗号化 コンフィグ CFM0(イメージ CFM1(イメージ レーション・ 0)暗号化キー 1)暗号化キー イメージモ ード デバイスに 格納された キー Allow encrypted POF only 3-21 CONFIG_SEL パワーアップ後に ピン ロードされるデザ イン シングル 非暗号化 使用不可 キー X 有効 0 コンフィグレー ション不成功 シングル 非暗号化 使用不可 キー X 有効 1 コンフィグレー ション不成功 シングル キー X 使用不可 キーなし 有効 0 コンフィグレー ション不成功 シングル キー X 使用不可 キーなし 有効 1 コンフィグレー ション不成功 シングル キー X 使用不可 キー X 有効 0 イメージ 0 シングル キー X 使用不可 キー X 有効 1 イメージ 0 シングル キー X 使用不可 キー Y 有効 0 コンフィグレー ション不成功 シングル キー X 使用不可 キー Y 有効 1 コンフィグレー ション不成功 デュアル 非暗号化 非暗号化 キーなし 無効 0 イメージ 0 デュアル 非暗号化 非暗号化 キーなし 無効 1 イメージ 1 デュアル キー X 非暗号化 キーなし 無効 0 イメージ 1 (11) デュアル キー X 非暗号化 キーなし 無効 1 イメージ 1 デュアル キー X 非暗号化 キー X 無効 0 イメージ 0 デュアル キー X 非暗号化 キー X 無効 1 イメージ 1 デュアル キー X 非暗号化 キー X 有効 0 イメージ 0 デュアル キー X 非暗号化 キー X 有効 1 イメージ 0 デュアル キー X 非暗号化 キー Y 有効 0 コンフィグレー ション不成功 デュアル キー X 非暗号化 キー Y 有効 1 コンフィグレー ション不成功 デュアル キー X キー X キーなし 有効 0 コンフィグレー ション不成功 デュアル キー X キー X キーなし 有効 1 コンフィグレー ション不成功 デュアル キー X キー X キー X 有効 0 イメージ 0 デュアル キー X キー X キー X 有効 1 イメージ 1 (11) イメージ 0 でのコンフィグレーションが失敗すると、デバイスは自動的にイメージ 1 をロードしま す。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-22 UG-M10CONFIG 2016.10.31 内部コンフィグレーションでの暗号化 コンフィグ CFM0(イメージ CFM1(イメージ レーション・ 0)暗号化キー 1)暗号化キー イメージモ ード デバイスに 格納された キー Allow encrypted POF only CONFIG_SEL パワーアップ後に ピン ロードされるデザ イン デュアル キー X キー Y キー X 有効 0 イメージ 0 デュアル キー X キー Y キー X 有効 1 イメージ 0 (12) デュアル キー Y キー Y キー Y 有効 0 イメージ 0 デュアル キー Y キー Y キー Y 有効 1 イメージ 1 デュアル キー X キー Y キー Y 有効 0 イメージ 1(11) デュアル キー X キー Y キー Y 有効 1 イメージ 1 表 3-7: 暗号化設定と暗号化キーに基づくコンフィグレーション・イメージ 以下の表に Configure device from CFM0 only が有効にされている際のシナリオを示します。 CFM0(イメージ 0)暗号 化キー (12) デバイスに格納さ れたキー Allow encrypted POF only パワーアップ後にロードされるデザイ ン 非暗号化 キーなし 無効 イメージ 0 非暗号化 キー X 無効 イメージ 0 非暗号化 キー Y 無効 イメージ 0 非暗号化 キーなし 有効 コンフィグレーション不成功 非暗号化 キー X 有効 コンフィグレーション不成功 非暗号化 キー Y 有効 コンフィグレーション不成功 キー X キーなし 無効 コンフィグレーション不成功 キー X キー X 無効 イメージ 0 キー X キー Y 無効 コンフィグレーション不成功 キー X キーなし 有効 コンフィグレーション不成功 キー X キー X 有効 イメージ 0 キー X キー Y 有効 コンフィグレーション不成功 キー Y キーなし 無効 コンフィグレーション不成功 キー Y キー X 無効 コンフィグレーション不成功 キー Y キー Y 無効 イメージ 0 キー Y キーなし 有効 コンフィグレーション不成功 キー Y キー X 有効 コンフィグレーション不成功 イメージ 1 でのコンフィグレーションが失敗すると、デバイスは自動的にイメージ 0 をロードしま す。 Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 MAX 10 JTAG のセキュアデザインの例 CFM0(イメージ 0)暗号 化キー キー Y デバイスに格納さ れたキー キー Y Allow encrypted POF only 有効 3-23 パワーアップ後にロードされるデザイ ン イメージ 0 関連情報 3-8 ページの Convert Programming Files を使用して.pof を生成する MAX 10 JTAG のセキュアデザインの例 このデザイン例では、JTAG の LOCK と UNLOCK 命令を実行するための、内部 JTAG WYSIWYG アト ムのインスタンス化および Quartus Prime ソフトウェアで実現されるユーザーロジックの例につ いて説明します。このデザイン例は、JTAG セキュアモードが有効にされている MAX 10 デバイ スを対象としています。 関連情報 • 2-22 ページの 使用できる JTAG 命令 • 2-23 ページの コンフィグレーション・フラッシュメモリーへのアクセス 許可 • JTAG Secure Design Example 内部 JTAG インターフェイス MAX 10 デバイスでは、JTAG コントロール・ブロックにアクセスするインターフェイスは 2 つ あります。 • 外部 JTAG インターフェイス—物理的な JTAG ピン、TCK、TDI、TDO および TMS から JTAG コン トロール・ブロックに接続する • 内部 JTAG インターフェイス—内部 FPGA コアファブリックから JTAG コントロール・ブロッ クに接続する JTAG コントロール・ブロックにアクセスするために、外部または内部 JTAG インターフェイス のどちらか一度に 1 つのみ使用できます。外部 JTAG インターフェイスは通常、プログラミン グ・ケーブルを使用した JTAG コンフィグレーションに使用されます。内部 JTAG インターフェ イスにアクセスするためには、 Quartus Prime ソフトウェアのデザインに WYSIWYG アトムを含 める必要があります。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-24 UG-M10CONFIG 2016.10.31 内部 JTAG ブロックアクセスの WYSIWYG アトム 図 3-4: 内部および外部 JTAG インターフェイスの接続 Core Interface Internal JTAG JTAG Control Block TDI TMS TCK TDO CORECTL TDICORE TDI TMSCORE TMS TCKCORE TCK TDOCORE TDO I/O Interface External JTAG TDI TMS TCK TDO TDI TMS TCK TDO 注意: MAX 10 デバイスの内部 JTAG が正しく機能するために、JTAG WYSIWYG アトム内での JTAG 信号が 4 つ (TCK、TDI、TMS および TDO) とも外部に配線される必要があります。 Quartus Prime ソフトウェアは、専用 JTAG ピンの対応するポートを自動的に割り当てま す。 内部 JTAG ブロックアクセスの WYSIWYG アトム 以下の例は、MAX 10 デバイスで WYSIWYG アトムの入力および出力ポートがどのように定義さ れているかを示します。 fiftyfivenm_jtag <name> ( .tms(), .tck(), .tdi(), .tdoutap(), .tdouser(), .tdicore(), .tmscore(), .tckcore(), .corectl(), .tdo(), .tmsutap(), .tckutap(), .tdiutap(), .shiftuser(), .clkdruser(), .updateuser(), .runidleuser(), .usr1user(), Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 内部 JTAG ブロックアクセスの WYSIWYG アトム 3-25 .tdocore(), .ntdopinena() ); 表 3-8: ポートの説明 ポート <name> 入力/出力 — 機能 MAX 10 JTAG WYSIWYG アトムの識別子で、Verilog HDL、 VHDL、および AHDL など特定の記述言語に応じて適正な 識別名を表します。 .corectl() 入力 JTAG コントロール・ブロックへのアクティブ High 入力 は、コアインターフェイスから 内部 JTAG アクセスを有効 にします。コンフィグレーション後に FPGA がユーザー モードに入る時、このポートはデフォルトで Low になっ ています。このポートをロジック High にすると、内部 JTAG インターフェイスが有効になり(同時に外部 JTAG インターフェイスが無効になる)、ポートをロジック Low にすると、内部 JTAG インターフェイスが無効になります (同時に外部 JTAG インターフェイスが有効になる) 。 .tckcore() 入力 tck コア信号 .tdicore() 入力 tdi コア信号 .tmscore() 入力 tms コア信号 .tdocore() 出力 tdo コア信号 .tck() 入力 tck ピン信号 .tdi() 入力 tdi ピン信号 .tms() 入力 tms ピン信号 .tdo() 出力 tdo ピン信号 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-26 UG-M10CONFIG 2016.10.31 LOCK および UNLOCK JTAG 命令の実行 ポート 入力/出力 機能 .clkdruser() .runidleuser() .shiftuser() .tckutap() .tdiutap() .tdouser() .tdoutap() 入力/出力 これらのポートは、内部 JTAG インターフェイスを介して JTAG セキュアモードを有効にするために使用されていな いため、未接続のままにできます。 .tmsutap() .updateuser() .usr1user() .ntdopinena() LOCK および UNLOCK JTAG 命令の実行 JTAG セキュアモードが有効にされている状態で、 MAX 10 デバイスにこのリファレンス・デザ インをコンフィグレーションすると、デバイスがパワーアップおよびコンフィグレーション後に は JTAG セキュアモードになります。 JTAG セキュアモードを無効にするために、ユーザーロジックの start_unlock ポートをトリガー して、UNLOCK JTAG 命令を発行させます。UNLOCK JTAG 命令が発行されたら、デバイスは JTAG セ キュアモードを終了します。JTAG セキュアモードが無効になっている時に、 MAX 10 デバイス の内部フラッシュをフルチップ消去を行うことにより、JTAG セキュアモードを永久に無効にす ることができます。 ユーサーロジックの start_lock ポートは、LOCK JTAG 命令の実行をトリガーします。この命令 の実行により、 MAX 10 デバイスで JTAG セキュアモードが有効になります。 Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 LOCK および UNLOCK JTAG 命令の実行 3-27 図 3-5: LOCK または UNLOCK JTAG 命令の実行 スタート JTAG 命令を TDI Core にシフトする no start_unlock or start_lock = 1? yes 命令長の 終わり? no yes Enable the Internal JTAG Interface, corectl = 1 TMS Core の制御を通して TAP Controller State Machine をRESET State からSHIFT_IR State に移動する TAP Controller State Machine を SHIFT_IR State から IDLE State に移動する 完了 表 3-9: ユーザーロジックの入力および出力ポート ポート 入力/出力 機能 clk_in 入力 ユーザーロジックのクロックソース。ユーザーロジックの fMAX は、タイミングクロージャー解析に依存します。fMAX を決定するには、タイミング制約を適用し、パスにタイミン グ解析を実行する必要があります。 start_lock 入力 内部 JTAG インターフェイスに LOCK JTAG 命令の実行をトリ ガーします。トリガーするには、パルス信号が1 クロック サイクル以上 High の状態が必要です。 start_unlock 入力 内部 JTAG インターフェイスに UNLOCK JTAG 命令の実行をト リガーします。トリガーするには、パルス信号が1 クロッ クサイクル以上 High の状態が必要です。 jtag_core_en_out 出力 JTAG WYSIWYG アトムへの出力。このポートは、内部 JTAG インターフェイスを有効にするために、JTAG WYSIWYG ア トムの corectl ポートに接続されています。 tck_out 出力 JTAG WYSIWYG アトムへの出力。このポートは JTAG WYSIWYG アトムの tck_core ポートに接続されています。 tdi_out 出力 JTAG WYSIWYG アトムへの出力。このポートは JTAG WYSIWYG アトムの tdi_core ポートに接続されています。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 3-28 UG-M10CONFIG 2016.10.31 JTAG セキュアモードの検証 ポート 入力/出力 機能 tms_out 出力 JTAG WYSIWYG アトムへの出力。このポートは JTAG WYSIWYG アトムの tms_core ポートに接続されています。 indicator 出力 この出力ピンのロジック High は、LOCK または UNLOCK JTAG 命令の実行が完了したことを示しています。 JTAG セキュアモードの検証 必須ではない JTAG 命令を実行することにより、デバイスが正しく JTAG セキュアモードに入っ たか、または JTAG セキュアモードを終了したかを検証することができます。 注意: デバイスが JTAG セキュアモードにある際、外部 JTAG のロックを解除するためには、内 部 JTAG インターフェイスをインスタンス 化する必要があります。 JTAG セキュアオプションを有効にすると、 MAX 10 デバイスはパワーアップ後に JTAG セキュ アモードに入ります。デザイン例で JTAG セキュア機能を検証するために、以下の手順を実行し ます。 1. JTAG セキュアモードが有効にされている状態で、リファレンス・デザインの.pof ファイル をデバイスに設定します。電源の再投入後に、デバイスは JTAG セキュアモードにあるべきで す。 2. デバイスが正しくユーザーモードに入ったかを確認するために、以下のいずれかを観察しま す。 • CONFDONE ピンが High になる • counter_output ピンがトグルを開始する 3. デバイスをリコンフィグレーションするために、外部 JTAG ピンを使用して、PULSE_NCONFIG JTAG 命令を発行します。デザイン例に添付された pulse_ncfg.jam ファイルを使用するこ とができます。この pulse_ncfg.jam ファイルを、quartus_jli または JAM player を通じて実行 できます。以下のいずれかを観察することによって、デバイスはリコンフィグレーションし ていないことを確認できます。 • CONFDONE ピンが High にとどまる • counter_output ピンがトグルを継続する リコンフィグレーションが成功しないということは、デバイスが現在 JTAG セキュアモードで あることを意味します。 4. ユーザーロジックの start_unlock ポートをロジック High にして、UNLOCK JTAG 命令を実行し ます。 UNLOCK JTAG 命令の完了後に、インジケーター・ポートが High になります。 5. デバイスをリコンフィグレーションするために、外部 JTAG ピンを使用して、PULSE_NCONFIG JTAG 命令を発行します。以下のいずれかを観察することによって、デバイスが正しくリコン フィグレーションしたことを確認できます。 • CONFDONE ピンが Low になる • counter_output ピンがトグルを停止する Altera Corporation MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック UG-M10CONFIG 2016.10.31 JTAG セキュアモードの検証 3-29 コンフィグレーションが成功したということは、デバイスが現在 JTAG セキュアモードではな いことを意味します。 MAX 10 FPGA コンフィグレーション・デザインのガイドライン フィードバック Altera Corporation 4 MAX 10 FPGA コンフィグレーション IP コア実 装ガイド 2016.10.31 UG-M10CONFIG 更新情報 フィードバック 関連情報 • Introduction to Altera IP Cores パラメータ化、アップグレード、IP コアのシミュレーションを含むすべてのアルテラ FPGA IP コアに関する基本的な情報を提供します。 • Creating Version-Independent IP and Qsys Simulation Scripts ソフトウェアあるいは IP のバージョンのアップグレードのためのマニュアルでの更新を必 要としないシミュレーション・スクリプトの作成について詳しい情報を提供します。 • Project Management Best Practices プロジェクトおよび IP ファイルの効果的な管理および移植性のためのガイドラインを提供 します。 アルテラ・ユニークチップ ID IP コア この項では、アルテラ・ユニークチップ ID IP コアを実装するためのガイドラインを提供しま す。 関連情報 • 2-20 ページの ユニークチップ ID • 6-1 ページの アルテラ・ユニークチップ ID IP コアのポート アルテラ・ユニークチップ ID IP コアのインスタンス化 アルテラ・ユニークチップ ID IP コアをインスタンス化するには、以下のステップを実行しま す。 1. 2. 3. 4. Quartus Prime ソフトウェアの Tools メニューで、IP Catalog をクリックします。 Library カテゴリーで、Basic Functions と Configuration and Programming を展開します。 Altera Unique Chip ID を選択し、Add をクリックして、出力ファイル名を入力します。 Save IP Variation ダイアログボックスで、 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel 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 Intel. Intel 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. *Other names and brands may be claimed as the property of others. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 登録済 4-2 UG-M10CONFIG 2016.10.31 アルテラ・ユニークチップ ID IP コアのリセット • IP バリエーション・ファイル名とディレクトリーを設定します。 • IP バリエーション・ファイルタイプを選択します。 5. Finish をクリックします。 アルテラ・ユニークチップ ID IP コアのリセット アルテラ・ユニークチップ ID IP コアをリセットするには、reset 信号を 1 クロックサイクル以 上 High にアサートする必要があります。reset 信号をディアサートした後、アルテラ・ユニー クチップ ID IP コアはヒューズ ID ブロックからデバイスのユニークチップ ID を再読み出しま す。アルテラ・ユニークチップ ID IP コアは、動作が完了すると data_valid 信号をアサートし ます。 アルテラ・デュアル・コンフィグレーション IP コア この項では、アルテラ・デュアル・コンフィグレーション IP コアを実装するためのガイドライ ンを提供します。 アルテラ・デュアル・コンフィグレーション IP コアのインスタンス化 アルテラ・デュアル・コンフィグレーション IP コアをインスタンス化するには、以下のステッ プを実行します。 1. Quartus Prime ソフトウェアの Tools メニューで、IP Catalog をクリックします。 2. Library カテゴリーで、Basic Functions と Configuration and Programming を展開します。 3. Altera Dual Configuration を選択し、Add をクリックすると、IP パラメーター・エディターが 表示されます。 4. New IP Instance ダイアログボックスで、 • IP のトップレベル名を設定します。 • デバイスファミリーを選択します。 • デバイスを選択します。 5. OK をクリックします。 Altera Corporation MAX 10 FPGA コンフィグレーション IP コア実装ガイド フィードバック 5 アルテラ・デュアル・コンフィグレーション IP コアの参考資料 2016.10.31 UG-M10CONFIG 更新情報 フィードバック 関連情報 • 2-18 ページの アルテラ・デュアル・コンフィグレーション IP コア • 3-11 ページの ユーザーロジックを介したリモート・システム ・アップグレードへのアクセス • AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor MAX 10 FPGA デバイスのリモート・システム・アップグレード向けリファレンス・デザイン を提供します。 • I2C Remote System Update Example この例では、I2C プロトコルの使用によるリモート・システム ・アップグレードを示します。 アルテラ・デュアル・コンフィグレーション IP コアの Avalon-MM アド レスマップ 表 5-1: MAX 10 デバイスでのアルテラ・デュアル・コンフィグレーション IP コアの Avalon-MM アドレス マップ • アルテラは、書き込み動作向けの予約ビットを 0 にセットすることを推奨します。読み出し 動作では、IP コアは常に出力として 0 を生成します。 • 1 を書き込んで、概要に記載した任意の動作をトリガーします。 • オフセット 4、5、6、7 の任意の読み出し動作の前に、必要な動作をオフセット 2 からトリガ ーする必要があります。 オフセット R/W 幅(ビッ ト) 0 W 32 概要 • ビット 0—リコンフィグレーションをトリガーする • ビット 1—ウォッチドッグ・タイマーをリセットする • ビット 31:2—予約 信号は Avalon で書き込みサイクルと同時にトリガーされる Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel 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 Intel. Intel 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. *Other names and brands may be claimed as the property of others. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 登録済 5-2 UG-M10CONFIG 2016.10.31 アルテラ・デュアル・コンフィグレーション IP コアの Avalon-MM アドレスマップ オフセット R/W 幅(ビッ ト) 1 W 32 概要 • ビット 0—入力レジスターに対して config_sel_ overwrite をトリガーする • ビット 1—入力レジスターに config_sel を書き込む。コ ンフィグレーション・イメージ 0 または 1 をロードするた めに 0 または 1 をセットする • ビット 31:2—予約 busy 信号が書き込みサイクルの直後、コンフィグレーショ ン・イメージの情報がレジスターに格納されている間に生成 される。busy 信号が High になると、処理が完了して busy 信 号がディアサートされるまでこのアドレスへの書き込みは無 視される 2 W 32 • ビット 0—ユーザー・ウォッチドッグからの読み出し動作 をトリガーする • ビット 1—前回のステート・アプリケーション 2 レジスタ ーからの読み出し動作をトリガーする • ビット 2—前回のステート・アプリケーション 1 レジスタ ーからの読み出し動作をトリガーする • ビット 3—入力レジスターからの読み出し動作をトリガー する • ビット 31:4—予約 busy 信号が書き込みサイクルの直後に生成される 3 R 32 • ビット 0—IP busy 信号 • ビット 31:1—予約 busy 信号は、デュアル・コンフィグレーション IP コアが書 き込みまたは読み出し処理中であることを示す。この状態で の、リモート・システム ・アップデート・ブロック・レジス ターの動作要求のためのすべての書き込み動作は、リセット タイマーへのトリガーを除き無視される。アルテラは、読み 出しまたは書き込みプロセスをトリガーした後、この busy 信 号を引き上げることを推奨する 4 (13) R 32 • • • • Bit 11:0—user watchdog value. (13) ビット 12—ユーザー・ウォッチドッグの現在の状態 ビット 16:13—現在の状態の msm_cs 値 ビット 31:17—予約 デュアル・コンフィグレーション IP コアを使用して、29 ビットのユーザー・ウォッチドッグ値 のうち上位 12 ビットのみを読み出しすることができます。 Altera Corporation アルテラ・デュアル・コンフィグレーション IP コアの参考資料 フィードバック UG-M10CONFIG 2016.10.31 アルテラ・デュアル・コンフィグレーション IP コアの Avalon-MM アドレスマップ 5-3 オフセット R/W 幅(ビッ ト) 5 R 32 • ビット 3:0—リモート・システム ・アップグレード・ステ ータス・レジスタ— MAX 10 デバイスの前回のステート・ ロジック・ビット の表からの前回のステート・アプリケ ーション 1 リコンフィグレーション・ソースの値 • ビット 7:4—前回のステート・アプリケーション 1 の msm_ cs 値 • ビット 31:8—予約 6 R 32 • ビット 3:0—リモート・システム ・アップグレード・ステ ータス・レジスタ— MAX 10 デバイスの前回のステート・ ロジック・ビット の表からの前回のステート・アプリケ ーション 2 リコンフィグレーション・ソースの値 • ビット 7:4—前回のステート・アプリケーション 2 の msm_ cs 値 • ビット 31:8—予約 7 R 32 • ビット 0—入力レジスターからの config_sel_overwrite 値 • ビット 1—入力レジスターの config_sel 値(14) • ビット 31:2—予約 概要 関連情報 • 2-18 ページの アルテラ・デュアル・コンフィグレーション IP コア • Avalon Interface Specifications アルテラ・デュアル・コンフィグレーション IP コアに用いる Avalon-MM インターフェイス の仕様について詳しい情報を提供します。 • 4-2 ページの アルテラ・デュアル・コンフィグレーション IP コアのインスタンス化 • 2-17 ページの リモート・システム ・アップグレード・ステータス・レジスター リモート・システム・アップグレード・ステータスレジスター— MAX10 デバイスの前回のス テート・ロジック・ビットの表で前回のステート・アプリケーション・リコンフィグレーシ ョン・ソースについて詳しい情報を提供します。 (14) 入力レジスターの config_sel 読み出しのみを行います。物理的な CONFIG_SEL ピン設定には 影響しません。 アルテラ・デュアル・コンフィグレーション IP コアの参考資料 フィードバック Altera Corporation 5-4 UG-M10CONFIG 2016.10.31 アルテラ・デュアル・コンフィグレーション IP コアのパラメーター アルテラ・デュアル・コンフィグレーション IP コアのパラメーター 表 5-2: MAX 10 のアルテラ・デュアル・コンフィグレーション IP コアのパラメーター パラメーター 値 Clock frequency 最大 80 MHz Altera Corporation 概要 RU_nRSTIMER 信号と RU_nCONFIG 信号をアサートするサイクル数 を指定する。最大 RU_CLK が 40 MHz であり、アルテラのデュア ル・コンフィグレーション IP コアの動作は最大 80 MHz の制限を 持ち、これはハードウェアの制限より 2 倍高速であることに注意 が必要。これはアルテラ・デュアル・コンフィグレーション IP コアが入力周波数の半分の速度で RU_CLK を生成するため アルテラ・デュアル・コンフィグレーション IP コアの参考資料 フィードバック アルテラ・ユニークチップ ID IP コアの参考資 料 6 2016.10.31 UG-M10CONFIG 更新情報 フィードバック アルテラ・ユニークチップ ID IP コアのポート 表 6-1: アルテラ・ユニークチップ ID IP コアのポート ポート 入力/出力 幅(ビット) 概要 clkin 入力 1 • ユニークチップ ID ブロックにクロック信号を 供給する。サポートされる最大周波数は 100 MHz • クロック信号を供給すると、IP コアがユニーク チップ ID の値を読み出して値を chip_id 出力 ポートに送る reset 入力 1 • reset 信号を 1 クロックサイクル以上 High に アサートすると、IP コアをリセットする • chip_id[63:0] 出力ポートは、デバイスをリコ ンフィグレーションするか、IP コアをリセット するまでユニークチップ ID の値を保持する data_valid 出力 1 • ユニークチップ ID 読み出しのための準備がで きていることを示す。信号が Low の場合は、IP コアが初期状態または、データをヒューズ ID からロード中 • IP コアが信号をアサートすると、データを chip_id[63..0] 出力ポートで読み出すための 準備ができている Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel 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 Intel. Intel 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. *Other names and brands may be claimed as the property of others. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 登録済 6-2 UG-M10CONFIG 2016.10.31 アルテラ・ユニークチップ ID IP コアのポート ポート 入力/出力 幅(ビット) chip_id 出力 64 Altera Corporation 概要 • 対応するヒューズ ID それぞれの位置に基づい たユニークチップ ID を示す。データは IP コ アが data_valid 信号をアサートした後にのみ 有効 • パワーアップ時には値は 0 にリセットされる アルテラ・ユニークチップ ID IP コアの参考資料 フィードバック MAX 10 FPGA コンフィグレーション・ユーザ ーガイドの追加情報 A 2016.10.31 UG-M10CONFIG 更新情報 フィードバック MAX 10 FPGA コンフィグレーション・ユーザーガイドの改訂履歴 日付 バージョン 2016 年 10 月 2016.10.31 変更内容 • 電圧オーバーシュートの防止 の概要を更新 • 図ダウンロード・ケーブルを使用した JTAG シングル・デバ イス・コンフィグレーションの接続セットアップ と図ダウン ロード・ケーブルを使用した JTAG マルチデバイス・コンフ ィグレーションの接続セットアップ の注を更新 • ISP クランプ機能を実装するための手順を追加 • UFM セクターを追加するために図アナログ機能オプション およびフラッシュ機能オプションでのすべての MAX 10 デバ イスのコンフィグレーション・フラッシュメモリー・セクタ ーの使用方法 を更新 2016 年 5 月 2016.05.13 • Quartus Prime GUI を反映するために標準 POR のインスタン スを遅い POR に変更 • tCFG を tRU_nCONFIG に更新 • .ekp ファイルと暗号化された.pof ファイルを個別にプログラ ミングする の項におけるステップ8 に表れるファイルのタ イプを.ekp から.pof に修正 • MAX 10 デバイス向け ICB 値およびその概要 の表にある Use secondary image ISP data as default setting when available の概要 を修正 • CFM のプログラミング時間を修正 • JTAG ピンの共有を使用する時における JTAG ピンの要件に 関する注を追加 • JTAG ピンの共有 をガイドライン:兼用コンフィグレーショ ン・ピン の下に移動 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel 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 Intel. Intel 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. *Other names and brands may be claimed as the property of others. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 登録済 A-2 UG-M10CONFIG 2016.10.31 MAX 10 FPGA コンフィグレーション・ユーザーガイドの改訂履歴 日付 バージョン 変更内容 • 「コンフィグレーション RAM ビットをクリア」を Power Up ス テートから Reset ステートに移動したことにより、コンフィグ レーション・シーケンスの図を更新 • エラー検出ポートの<crcblock_name> の入力/出力のところ に、入力からなしに修正 • ユーザーインターフェイスとポートの 定義を介してアクセス するリモート・システム ・アップグレードの例を追加 • エラー検出周波数 および巡回冗長検査の計算のタイミング の暫定用語を削除 • 図ダウンロード・ケーブルを使用した JTAG マルチデバイス・ コンフィグレーションの接続セットアップ を追加 • 図ダウンロード・ケーブルを使用した JTAG シングル・デバ イス・コンフィグレーションの接続セットアップ を更新 • 新しい JTAG セキュアデザイン例を追加 • リモート・システム・アップグレードの項のタイトルから「デ ュアル圧縮イメージでの」を削除して編集 • MAX 10 デバイスのモニタリングされる電源ランプ時間要件 の表を更新 • 内部コンフィグレーション時間 を追加 • インスタント・オン機能を削除 • 図アナログ機能オプションおよびフラッシュ機能オプション でのすべての MAX 10 デバイスのコンフィグレーション・フ ラッシュメモリー・セクターの使用方法で User Flash Memory を Additional UFM に更新 2015 年 12 月 Altera Corporation 2015.12.14 • ウィークプルアップがコンフィグレーション 時にイネーブル されることを明言するために、Set I/O to weak pull-up prior usermode オプションの ICB 設定の概要を更新 • ユーザーインターフェイスを介したリモート・システム ・ア ップデート・ブロックへのアクセス を削除 • エラー検出の WYSIWYG アトムでの入出力ポートの定義を追 加 • リコンフィグレーションの際に ICB ビット設定に基づく I/O ピンの状態を更新 MAX 10 FPGA コンフィグレーション・ユーザーガイドの追加情報 フィードバック UG-M10CONFIG 2016.10.31 MAX 10 FPGA コンフィグレーション・ユーザーガイドの改訂履歴 日付 バージョン 2015 年 11 月 2015.11.02 A-3 変更内容 • JTAG コンフィグレーション向けの JRunner サポートおよび AN 414 へのリンクを削除 • デバイスの機能オプションごとの内部コンフィグレーショ ン・モード・サポートの違いを表で更新 • 内容の重複により、圧縮されたコンフィグレーション・イメ ージの最大数の表を削除 • Quartus Prime 15.1 アップデートを反映し、MAX 10 デバイス の初期化コンフィグレーション・ビットの設定および説明を 更新 • Quartus Prime 15.1 アップデートを反映し、Enable JTAG pin sharing および Enable nCONFIG, nSTATUS, and CONF_DONE pins を更新 • ISP クランプ機能についての情報を追加 • ロー・プログラミング・データ(.rpd)生成手順の情報を更 新 • 項タイトルをコンフィグレーション・フラッシュメモリーの 合計プログラミング時間 からコンフィグレーション・フラッ シュメモリーのプログラミング時間 に変更 • 表タイトルを MAX 10 デバイスでのコンフィグレーション・ フラッシュメモリーのセクターに対する合計プログラミング 時間 から MAX 10 デバイスでのコンフィグレーション・フラ ッシュメモリーのセクターに対するプログラミング時間 に 変更 • MAX 10 デバイスでのコンフィグレーション・フラッシュメモ リーのセクターに対するプログラミング時間 の表に注を追 加 • 内部 JTAG インターフェイスおよびユーザーインターフェイ スを介して内部 JTAG ブロックへのアクセスに関する情報を 追加 • MAX 10 JTAG セキュアデザイン例を追加 MAX 10 FPGA コンフィグレーション・ユーザーガイドの追加情報 フィードバック Altera Corporation A-4 UG-M10CONFIG 2016.10.31 MAX 10 FPGA コンフィグレーション・ユーザーガイドの改訂履歴 日付 2015 年 6 月 Altera Corporation バージョン 2015.06.15 変更内容 • アルテラ・デュアル・コンフィグレーション IP コアの参考資 料 とデュアル圧縮イメージでのリモート・システム・アップ グレード で関連情報に AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor への リンクを追加 • MAX 10 デバイスのリモート・システム ・アップグレード回路の信号 の 表で RU_nRSTIMER にパルス保持の要件を追加 • MAX 10 デバイスのアルテラ・デュアル・コンフィグレーショ ン IP コアの Avalon-MM アドレスマップ の表で関連情報とし てリモート・システム ・アップグレード・ステータスレジス ター— MAX 10 デバイスの前回のステートビット の表へのリ ンクを追加 MAX 10 FPGA コンフィグレーション・ユーザーガイドの追加情報 フィードバック UG-M10CONFIG 2016.10.31 MAX 10 FPGA コンフィグレーション・ユーザーガイドの改訂履歴 日付 2015 年 5 月 バージョン 2015.05.04 変更内容 • 「MAX 10 デバイスの初期化コンフィグレーション・ビット」 の表を再編し、コンフィグレーションの設定の項目を更新 • 図「MAX 10 デバイスの内部コンフィグレーションの概要」 に JTAG コンフィグレーションを追加し、図を「コンフィグ レーション手法」の項に移動 • 「MAX 10 デバイスの初期化コンフィグレーション・ビット」 の表に、関連するコンフィグレーション設定を説明するリン クを追加 • 「MAX 10 デバイスの初期化コンフィグレーション・ビット」 の表でデフォルトのウォッチドッグ・タイマー値を 16 進数か ら 10 進数の値に更新 • 「MAX 10 デバイスの初期化コンフィグレーション・ビット」 の表で ISP データの説明を更新 • 「ユーザー・ウォッチドッグ・タイマー」の項にウォッチドッ グ・タイマーの計算式を追加 • MAX 10 FPGA Device Datasheet の「User Watchdog Internal Circuitry Timing Specifications」 へのリンクを追加 • 「MAX 10 デバイスの初期化コンフィグレーション・ビット」 の表に JTAG セキュアがデフォルトで無効にされており有効 にするにはアルテラのサポートが必要であることを示す注を 追加 • 最小および最大 CRC 演算時間の除数を 2 に更新 • リモート・システム ・アップグレードのフローの図を更新 • 「内部コンフィグレーションでの暗号化」の表に「キー」の用 語を追加し、イメージ 1 とイメージ 2 をそれぞれイメージ 0 とイメージ 1 に変更 • 「内部コンフィグレーションでの暗号化」の表に、片方のコン フィグレーションが失敗するともう片方が自動的にロードさ れることを示す注を追加 • 除数が 2 以外の場合の最小および最大 CRC 演算時間の計算 式を追加 • JTAG セキュアがオンになっている場合の注意を追加 • 特定の内部コンフィグレーション・モード向けに自動的に生 成される.pof に関する情報を追加 • Device and Pin Options と Convert Programming Files を用い る.pof と ICB の設定を追加 • 「概要」にコンフィグレーション RAM(CRAM)を追加 • 編集上の修正 MAX 10 FPGA コンフィグレーション・ユーザーガイドの追加情報 フィードバック A-5 Altera Corporation A-6 UG-M10CONFIG 2016.10.31 MAX 10 FPGA コンフィグレーション・ユーザーガイドの改訂履歴 日付 バージョン 2014 年 12 月 2014.12.15 • BOOT_SEL ピンを CONFIG_SEL ピンに名称変更 • アルテラ IP コア名をデュアルブート IP コアからデュアル・ コンフィグレーション IP コアに更新 • ICB の要素としての AES 暗号化キーについての情報を追加 • 暗号化機能のガイドラインを追加 • 14.1 リリースで使用可能になった ICB 設定オプションを追加 • 14.1 リリースで使用可能になった CFM プログラミング機能 でのプログラマーのオプションを追加 2014 年 9 月 2014.09.22 初版 Altera Corporation 変更内容 MAX 10 FPGA コンフィグレーション・ユーザーガイドの追加情報 フィードバック