MAX IIデバイスのリアルタイムISPおよびISPクランプ

12. MAX II デバイスの
リアルタイム ISP および ISP クランプ
この資料は英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。こちらの日本語版は参考用としてご利用
ください。設計の際には、最新の英語版で内容をご確認ください。
MII51019-1.5
はじめに
インシステム・プログラミング中に大部分の CPLD は、入力 / 出力(I/O)
ピンをトライ・ステートにして、ボード上の信号レベルの衝突を回避し
ます。プログラミングが成功すると、デバイスはユーザ・モードに遷移
し、新しいデザインが機能し始めます。この通常のプログラミング・モー
ドとは別に、MAX® II デバイスはリアルタイム・インシステム・プログ
ラマビリティ(ISP)と ISP クランプ・プログラミング・モードをサポー
トし、ISP 中の I/O およびデバイス動作制御が可能になります。この章
では、これら 2 つの機能と Quartus® II ソフトウェアにおける使用方法、
さらに Jam™ STAPL(Standard Test and Programming Language)およ
び Jam STAPL Byte-Code Player について説明します。
■
■
リアルタイム
ISP
12–1 ページの「リアルタイム ISP」
12–5 ページの「ISP クランプ」
リアルタイム ISP を利用すると、デバイスの動作中に MAX II デバイス
をプログラムできます。デバイスのパワー・サイクル(つまり、パワー
ダウンして再びパワーアップする)が存在する場合、新規デザインのみ
が既存のデザインに置き換わります。この機能により、システム全体の
動作に影響を与えることなく、MAX II デバイスのイン・フィールド・
アップデートを実行することができます。
リアルタイム ISP の動作
通常の ISP 動作の場合、コンフィギュレーション・フラッシュ・メモリ
(CFM)から SRAM への新規デザイン・データのダウンロードは、CFM
プログラミングの完了後に開始されます。CFM をプログラミングし、続
いて CFM データを SRAM へダウンロードするプロセスの間、I/O ピン
はトライ・ステートの状態に維持されます。SRAM への CFM ダウンロー
ドが完了すると、デバイスはリセットされユーザ・モード動作に入りま
す。図 12–1 に、通常のプログラミングのフローを示します。
Altera Corporation
2007 年 12 月
12–1
Preliminary
リアルタイム ISP
図 12–1. 通常 ISP 動作での MAX II デバイス
Programming
Data
1
1
JTAG
CFM
2
SRAM
(Logic Array)
リアルタイム ISP モードでは、CFM のプログラミング中にも、ユーザ・
フラッシュ・メモリ(UFM)、プログラマブル・ロジック、および I/O
ピンは動作状態のままです。CFM のプログラミングが成功した後、CFM
の内容は SRAM にダウンロードされません。その代わりに、デバイスは
パワー・サイクルが発生するのを待ちます。tCONFIG 時間が経過した後、
通常のパワーアップ・シーケンス(パワーアップ時に CFM が SRAM に
ダウンロードされる)が発生し、デバイスはユーザ・モードに入ります。
図 12–2 に、リアルタイム ISP のフローを示します。
図 12–2. リアルタイム ISP 動作
Programming
Data
JTAG
CFM
JTAG
CFM
Power
Cycle
SRAM
(Logic Array)
Programming of CFM
(Device Remains Operational)
SRAM
(Logic Array)
CFM Contents Download
(Device I/Os Tri-Stated)
MAX II デバイスの tCONFIG 値については、「MAX II デバイス・ハンド
ブック」の「DC およびスイッチング特性」の章を参照してください。
12–2
MAX II デバイス・ハンドブック
Altera Corporation
2007 年 12 月
MAX II デバイスのリアルタイム ISP および ISP クランプ
Quartus II ソフトウェアを使用したリアルタイム ISP
Quartus II ソフトウェアで生成され、これらの 2 つの機能をサポートす
るプログラミング・ファイルのフォーマットは、Quartus II プログラマ
で使用される Programmer Object File(.pof)と、Quartus II プログラマ
またはその他のプログラミング・ツールのいずれかで使用される Jam
ファイル(.jam)および Jam Byte-Code ファイル(.jbc)です。
Quartus II プログラマで MAX II デバイスをプログラムする前に、必ず
この機能をイネーブルにしてください。Quartus II プログラマ・ウィン
ドウから Enable real-time ISP to allow background programming (for
MAX II devices) オプションを選択して、リアルタイム ISP 機能をイネー
ブルにできます。図 12–3 を参照してください。
図 12–3. Quartus II プログラマ・ウィンドウのリアルタイム ISP オプション
また、Quaruts II ソフトウェアのリアルタイム ISP 機能は、以下の方法
でもイネーブルにできます。
1.
Altera Corporation
2007 年 12 月
Tools メニューの Options をクリックします。
12–3
maMAX II デバイス・ハンドブック
リアルタイム ISP
2.
Category から Programmer を選択します。
3.
Enable real-time ISP to allow background programming (for MAX II
devices)をオンにして、
OKをクリックします。Quartus II Programmer
が 3 つのプログラミング・ファイルのいずれかを使用して MAX II デ
バイスのプログラミングを開始すると、MAX II デバイスはリアルタ
イム ISP モードに入ります。
図 12–4 に、Options メニューの Programmer オプションを示します。
図 12–4. Options メニューの Programmer オプション
Jam および JBC Players を使用したリアルタイム ISP
POF から作成された Jam または JBC ファイルを使用すると、Jam また
は JBC Player を使用したリアルタイム ISP モードで MAX II デバイスを
プログラムできます。
Jam ファイルおよび Jam Player を使用したリアルタイム ISP の場合は、
コマンドライン・プロンプトで以下を入力します。
jp_23 -aprogram -ddo_real_time_isp=1 <file_name.jam>
12–4
MAX II デバイス・ハンドブック
Altera Corporation
2007 年 12 月
MAX II デバイスのリアルタイム ISP および ISP クランプ
JBC ファイルおよび JBC Player を使用したリアルタイム ISP の場合は、
コマンドライン・プロンプトで以下を入力します。
jbi_22 -aprogram -ddo_real_time_isp=1 <file_name.jbc>
Player の実行可能ファイルの名前は、Player のバージョンによって異な
ります。アルテラ・ウェブサイト(www.altera.co.jp)から最新バージョ
ンの Jam および JBC Player をダウンロードしてください。
ISP クランプ
MAX II デバイスが通常の ISP 動作に入ると、すべての I/O ピンがトラ
イ・ステートとなり、内部ウィーク・プルアップ抵抗で VCCIO にプルアッ
プされます。ただし、デバイスが ISP 動作中のときには、デバイスの I/O
ピンをトライ・ステートにしてはならない状況もあります。例えば、動
作中のシステムで特定の信号(出力イネーブル信号またはチップイネー
ブル信号など)が I/O ピンの一部を使用したり、I/O ピンが High また
は Low ロジック・レベルになること、あるいはデバイスが ISP モードの
ときには現在のステートを維持するよう要求することもあります。
MAX II デバイスの ISP クランプ機能により、デバイスをプログラムす
るときに、デバイスの各 I/O ピンを指定のステートに保持することがで
きます。Quartus II ソフトウェアでステートを設定できます。デバイスを
ISP クランプ・モードで正しくプログラムすると、これらの I/O ピンが
解放され、新しいデザインに従って機能します。
この機能を使用して、デバイスが ISP クランプ・モードに入ったときに
特定のピンを特定のステート(デバイスがユーザ・モードになっている
ときと異なるステート)に設定することによって、デバイスがプログラ
ミング中であること、およびプログラミングが完了したことを示すこと
ができます。
Altera Corporation
2007 年 12 月
12–5
maMAX II デバイス・ハンドブック
ISP クランプ
ISP クランプの動作
ISP クランプ機能を使用すると、I/O ピンをトライ・ステート(デフォ
ルト)、High、Low に設定でき、またはピンの既存のステートをサンプ
リングして、デバイスが ISP クランプ動作中にピンをそのステートに保
持することもできます。ソフトウェアはユーザの設定に基づいて、各I/O
ピンのバウンダリ・スキャン・レジスタにスキャンする値を決定します。
これによって、デバイス・プログラミングの進行中にクランプされるピ
ンのステートが決まります。ISP クランプ機能が使用されると I/O がト
ライ・ステート値にクランプされても、ウィーク I/O プルアップ抵抗は
プログラミング時にディセーブルされます。
I/O ピンをクランプする前に、まず SAMPLE/PRELOAD JTAG 命令を
実行して、適切な値をバウンダリ・スキャン・レジスタにロードします。
バウンダリ・スキャン・レジスタに適切な値をロードした後、EXTEST
命令を実行して I/O ピンを SAMPLE/PRELOAD 実行中にバウンダリ・
スキャン・レジスタにロードされた特定の値にクランプします。
デバイスが ISP クランプ・モードに入ったときにピンの既存のステート
をサンプリングし、ピンをそのステートに保持するように選択した場合
は、信号が安定したステートになることを確認しなければなりません。
サンプル・セットアップ・タイムは、ダウンロード・ケーブルやソフト
ウェアだけでなく、TCK 周波数にも依存し、制御することはできないの
で、安定したステート信号が必要です。トグルする信号、または長期間
にわたってスタティックでない信号をサンプリングした場合、キャプ
チャした値は正しくないことがあります。図 12–5 に、ISP クランプ動作
を示します。
図 12–5. ISP クランプ動作
1
Before Programming
(User Mode)
JTAG
CFM
2
Programming
Data
During Programming
(ISP Clamp Mode)
JTAG
CFM
3
After Programming
(User Mode)
JTAG
CFM
SRAM
(Core Logic)
SRAM
(Core Logic)
SRAM
(Core Logic)
I/Os Drive Out
According to Design
I/Os Clamped to
Specified States
I/Os Drive Out
According to New Design
12–6
MAX II デバイス・ハンドブック
Altera Corporation
2007 年 12 月
MAX II デバイスのリアルタイム ISP および ISP クランプ
Quartus II ソフトウェアにおける ISP クランプの使用
ISP クランプ機能を使用するには、I/O ピンのステートを定義しなけれ
ばなりません。Quartus II ソフトウェアでピン・ステートを定義するに
は、2 つの方法があります。以下のいずれかで定義できます。
■
■
I/O ピン・ステート・ファイル(.ips)を使用するか、または
Assignment Editor を使用して、ピンのクランプ・ステートを設定す
る。
IPS ファイルの使用
IPS ファイルの作成
デバイスが ISP クランプ動作中の場合は、Assignment Editor で設定を
コンフィギュレーションしてデザインを再コンパイルすることなく、ピ
ンのクランプ・ステートを指定できます。まず、新しい I/O ピン・ステー
ト・ファイル(.ips)ファイルを作成し、ファイルにピンのステートを
定義する必要があります。IPS ファイルは、デバイスが ISP クランプ動作
中のすべてのピンのステートを定義します。デザインが同じデバイスと
パッケージをターゲットとする限り、作成されたファイルはどのデザイ
ンでもデバイスをプログラムするのに使用できます。IPS ファイルは、
POF ファイルとともに使用する必要があり、この POF ファイルにはデ
バイスをプログラムするためのプログラミング・データが含まれていま
す。
Altera Corporation
2007 年 12 月
12–7
maMAX II デバイス・ハンドブック
ISP クランプ
IPS ファイルを作成するには、以下を実行します。
1.
ツールバーで Programmer をクリックするか、Tools メニューの
Programmer をクリックして、Quartus II Programmer ウィンドウ
を開きます。
2.
プログラマで Add File をクリックして、プログラミング・ファイル
(POF、Jam、または JBC)を Programmer ウィンドウに追加します。
3.
プログラマでプログラミング・ファイルをクリックし(ロウ全体が
強調表示される)、Edit メニューの ISP CLAMP State Editor をク
リックします。図 12–6 を参照してください。
図 12–6. Edit メニュー
4.
ISP Clamp State Editor で、デザインのピンのステートを指定しま
す。クランプ・ステートは、トライ・ステート、High、Low、また
はサンプル / 持続の 4 つから選択します。デフォルトでは、すべて
のピンはトライ・ステートに設定されています。
5.
変更後に IPS ファイルを保存します。
図 12–7 に、ISP Clamp State Editor を示します。File メニューで Create/
Update > Create/Update IPS File をクリックして、ISP Clamp State
Editor を開き、新規 IPS ファイルを作成することもできます。
12–8
MAX II デバイス・ハンドブック
Altera Corporation
2007 年 12 月
MAX II デバイスのリアルタイム ISP および ISP クランプ
図 12–7. ISP Clamp State Editor
IPS ファイルの使用
Quartus II Programmer では、以下のステップを実行して、使用する IPS
ファイルを指定する必要があります。
1.
IPS File カラムの下のセルをダブル・クリックすると、Select I/O Pin
State File メニューが表示されます。
2.
プロジェクトの IPS ファイルを選択し、Open をクリックします。
また、プログラミング・ファイルを左クリックし(ロウ全体が強調表示
される)、Edit メニューの Add IPS File をクリックして、図 12–8 に示す
Select I/O Pin State File ダイアログ・ボックスを開くこともできます。
図 12–8. Select I/O Pin State File メニュー
Altera Corporation
2007 年 12 月
12–9
maMAX II デバイス・ハンドブック
ISP クランプ
3.
図 12–9 に示すように、
選択した IPS ファイルは Quartus II Programmer
ウィンドウにリストされます。
デバイスのプログラミングを開始する前に、ISP CLAMP チェッ
ク・ボックスがチェックされていることを確認してください。
図 12–9. 特定の IPS ファイルを表示する Quartus II Programmer ウィンドウ
プログラミング・ファイルへの IPS ファイル情報の保存
IPS ファイルのピン・ステート情報は、ファイルを 2 つ用意する必要な
く POF に保存する デバイスを ISP クランプ・モードでプログラムする
には、プログラミング・ファイルのみが必要です。このプログラミング・
ファイルは、ISP クランプ用の Jam および JBC ファイルの作成にも使用
されるので、Jam または JBC ファイルにはピン・ステート情報が含まれ
ます。以下のステップを実行すると、IPS ファイルのピン・ステート情報
がプログラミング・ファイルに保存されます。
1.
Programmer ウィンドウにプログラミング・ファイルを追加します。
2.
プログラマに IPS ファイルを追加します。
3.
ProgrammerウィンドウまたはEditメニューからSave Fileをクリッ
クすると、Save Data To File As ダイアログ・ボックスが表示され
ます。図 12–10 を参照してください。
4.
フ ァ イ ル 名 を 入 力 し、Include IPS file information ボ ッ ク ス を
チェックし、Save をクリックします。
12–10
MAX II デバイス・ハンドブック
Altera Corporation
2007 年 12 月
MAX II デバイスのリアルタイム ISP および ISP クランプ
IPS 情報が保存された POF は Quartus II ソフトウェアの ISP クランプ動
作のみをサポートし、サードパーティのプログラミング・ツールの IPS
動作はサポートしません。サードパーティ・ツールで ISP クランプが必
要な場合は、Jam または JBC ファイルを使用する必要があります。
図 12–10. Save Data To File As メニュー
ISP Clamp ボックスをチェックしてデバイスをプログラムする場合、
Quartus II Programmer は最初に IPS ファイルを探します。IPS ファイル
が見つからなければ、その場合に限り POF 内でピン・ステート情報を調
べます。
Assignment Editor におけるピン・ステートの定義
ピン・ステートを定義するもう 1 つの方法は、Assignment Editor を使
用することです。Assignment Editor でピン・ステートを定義し、デザイ
ンをコンパイルすると、生成されるプログラミング・ファイルにはすべ
てのピン・ステート情報が格納されます。以下に、Assignment Editor の
ステートを示します。
Altera Corporation
2007 年 12 月
1.
ツールバーの Start Analysis and Synthesis をクリックします。
2.
Assignments メニューの Assignment Editor をクリックします。
3.
Assignment Editor の Category から I/O Features を選択します。
4.
To カラムに、デバイスが ISP クランプ・モードのときにクランプす
るすべてのピンをリスト・ダウンします。Node Finder を使用する
と、簡単にピンを選択できます。
5.
ステート値を設定するピンをリスト・ダウンしたら、Assignment
Name のすべてのピンに対して In-System Programming Clamp
State を選択します。
12–11
maMAX II デバイス・ハンドブック
ISP クランプ
6.
Value で、各ピンに対するステートを定義します。 ピンは、High、
Low、トライ・ステート、またはサンプル / 持続にクランプするこ
ともできます。デフォルトでは、デバイスが ISP クランプ・モード
に入ると、ピンはトライ・ステートになります。
図 12–11 は、Assignment Editor でピンのステートを定義する方法を示
します。
図 12–11. Assignment Editor
7.
アサインメントを保存し、デザインを再コンパイルします。
デザインを再コンパイルすると、ISP クランプ・ステート情報が POF に
格納されます。Quartus II 設定ファイル(.qsf)で、設定を確認すること
もできます。
Quartus II Programmer の ISP クランプの実行
デバイスをプログラムする前に、Quartus II Programmer ウィンドウで、
ISP Clamp チェック・ボックスがチェックされていることを確認します。
Quartus II Programmer は、ユーザが Assignment Editor に設定した値
(POF に格納される)ではなく、IPS ファイルに指定された値を使用する
ため、IPS ファイルを追加しないでください。図 12–12 に、Quartus II
Programmer ウィンドウと ISP Clamp チェック・ボックスを示します。
POF を使用して作成された Jam および JBC ファイルには、ピン・ステー
ト情報が格納されます。
12–12
MAX II デバイス・ハンドブック
Altera Corporation
2007 年 12 月
MAX II デバイスのリアルタイム ISP および ISP クランプ
図 12–12. Quartus II Programmer ウィンドウと ISP Clamp チェック・ボックス
Jam/JBC ファイルを使用した ISP クランプ
ISP クランプに使用される Jam または JBC ファイルには、すべてのピン・
ステート情報が格納されているため、IPS ファイルを必要としません。必
ずピン・ステート情報を含む POF ファイルを使用して、Jam または JBC
ファイルを作成してください。ピン・ステート情報は、Assignment Editor
を使用して POF に格納できます。または、前述のとおり、ピン・ステー
ト方法を POF に格納します。Jam または JBC ファイルは、それぞれ
Quartus II Programmer、あるいはJamまたはJBC Playerで使用できます。
まとめ
Altera Corporation
2007 年 12 月
MAX II デバイスでリアルタイム ISP および ISP クランプ機能を利用する
と、デバイスのプログラミング中にデバイスの I/O ピンを特定のステー
トに設定できます。リアルタイム ISP を利用すると、システムの機能に
影響を与えることなく、いつでも MAX II デバイスをプログラムできま
す。ISP クランプ機能を利用すると、デバイスをプログラムする間にデバ
イスの I/O ピンを特定のステートに保持できます。
12–13
maMAX II デバイス・ハンドブック
参考資料
この章では以下のドキュメントを参照しています。
参考資料
■ 「MAX II デバイス・ハンドブック」の「DC およびスイッチング特
性」の章
表 12–1 に、本資料の改訂履歴を示します。
改訂履歴
表 12–1. 改訂履歴
日付 & ドキュメント・
バージョン
2007 年 12 月 v1.5
変更内容
「参考資料」の項を追加。
2006 年 12 月 v1.4
改訂履歴を追加。
2006 年 2 月 v1.3
●
●
●
「Quartus IIソフトウェアを使用したリアルタイムISP」
の
項を更新。
図 12–3 を追加。
図 12–9 および 12–12 を更新。
概要
—
—
—
2005 年 6 月 v1.2
ISP クランプの動作の項の第 1 パラグラフを更新。
—
2005 年 1 月 v1.1
13 章から変更。内容の変更はなし。
—
12–14
MAX II デバイス・ハンドブック
Altera Corporation
2007 年 12 月