AN 386: Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用

Quartus II ソフトウェアでのパラ
レル・フラッシュ・ローダの使用
2009 年 12 月
AN386-5.0
FPGA の集積度が増加される場合、より大きいコンフィギュレーション・ストレージ
の必要性も高まっています。システムにコモン・フラッシュ・インタフェース(CFI)
が内蔵されている場合は、そのシステムを FPGA コンフィギュレーション・ストレー
ジにも利用できます。MAX® II デバイスのパラレル・フラッシュ・ローダ(PFL)機
能は、JTAG インタフェースを介して CFI フラッシュ・メモリ・デバイスをプログラ
ムする効率的な方法、および Altera® FPGA に対するフラッシュ・メモリ・デバイスか
らのコンフィギュレーションを制御するロジックを提供します。
図 1 に、MAX II デバイスの PFL 機能を示します。
図 1. MAX II の PFL 機能
MAX II CPLD
Quartus II
Software
using JTAG
PFL
Passive Serial or
Fast-Passive Parallel
Interface (2)
Altera
FPGA
Common
Flash
Interface
CFI Flash
Memory (1)
図 1 の注 :
(1) サポートされる CFI フラッシュ・デバイスについて詳しくは、4 ページの表 1 を参照してください。
(2) ファスト・パッシブ・パラレル(FPP)およびパッシブ・パラレル(PS)コンフィギュレーション手
法で、コンフィギュレーション・データがターゲット・デバイスにロードされます。FPP コンフィ
ギュレーション手法に応じて、クロック・サイクルごとに 8 つのデータ・ビットをロードすることが
できますが、PS コンフィギュレーション手法の場合は 1 ビットだけです。FPP および PS コンフィ
ギュレーション手法について詳しくは、Configuration Handbook を参照してください。
MAX II PFL
MAX II PFL は、以下の機能を備えています。
■
MAX II JTAG インタフェースを介して CFI フラッシュ・デバイスのプログラミング。
■
ACEX® 1K、APEX™ 20K(APEX 20K、APEX 20KC、および APEX 20KE を含む )、
APEX II、Arria® シリーズ、Cyclone® シリーズ、FLEX® 10K(FLEX 10KE および
FLEX 10KA)、Mercury™、および Stratix® シリーズの FPGA デバイスの CFI フラッシュ
からのアルテラ FPGA コンフィギュレーションの制御
CFI フラッシュのプログラミング
MAX II デバイスは、JTAG インタフェースおよび CFI フラッシュ・メモリのパラレル・
アドレスまたはデータ・インタフェース間のブリッジとして動作します。アルテラ
のコンフィギュレーション・デバイスは、JTAG インタフェースを介し、プログラミ
ングをサポートすることにより、イン・システムのプログラミングとアップデート
することができます。ただし、標準のフラッシュ・メモリ・デバイスは JTAG インタ
フェースおよび JTAG インタフェースを介す直接のプログラミングをサポートしてい
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
2
MAX II PFL
ません。MAX II デバイスでの JTAG インタフェースを使用してフラッシュ・メモリ
を間接的にプログラムすることができます。特別のテストされていないの JTAG モー
ドのとき、MAX II JTAG ブロックはロジック・アレイに直接に接続されます。この
モードは、MAX II のバウンダリ・スキャン・セルではなくロジック・アレイを介し
て、JTAG チェインを伝達します。PFL 機能は、Quartus II ソフトウェアで提供された
JTAG ストリームを変換して、MAX II I/O ピンに接続された CFI フラッシュ・メモリ・デ
バイスをプログラムするための JTAG インタフェース・ロジックを提供します。
図 2 に、MAX II デバイスが JTAG インタフェースを介してフラッシュ・メモリをプロ
グラムするブリッジとして機能することを示します。
図 2. JTAG インタフェースを使用したフラッシュ・メモリのプログラミング
MAX II CPLD
Quartus II
Software
using JTAG
Configuration Data
Altera
FPGA
PFL
Common
Flash
Interface
Altera FPGA Not Used
for Flash Programming
CFI Flash
Memory
CFI フラッシュからアルテラ FPGA コンフィギュレーションの制御
MAX II デバイスはアルテラ FPGA コンフィギュレーションを制御します。専用アルテ
ラのコンフィギュレーション・デバイスとは異なり、フラッシュ・メモリ・デバイ
スは、コンフィギュレーション・データのみを格納して、FPGA コンフィギュレー
ション・プロセスを制御するビルトイン・ロジックが含まれていません。MAX II デ
バイスの PFL メガファンクション・ロジックは、コンフィギュレーション・プロセ
ス、フラッシュ・メモリからのデータの読み込み、およびアルテラ FPGA コンフィ
ギュレーションの起動時を判定します。
図 3 に、MAX II デバイスが FPGA のコンフィギュレーション・ントローラとして機能
することを示します。
図 3. フラッシュ・メモリ・データが備えた FPGA コンフィギュレーション
MAX II CPLD
PFL
Passive Serial or
Fast-Passive Parallel
Interface
Altera
FPGA
Common
Flash
Interface
CFI Flash
Memory
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェア・サポート
3
PFL メガファンクションは、フラッシュ・デバイスをプログラムする機能、または
FPGA をコンフィギュレーションする機能、あるいはその両方の機能を柔軟に提供し
ます。この機能を個別に実行することによって、より少ないロジック・エレメント
が使用されるという利点があります。フラッシュ・データを頻繁に変更しない場合、
または MAX II デバイスへの JTAG/ISP アクセスがある場合には、このオプションを使
用してください。
PFL 機能を作成するには、以下のステップを実行します。
1. Flash Programming Only モードを選択することで、PFL メガファンクションのイン
スタンスを作成します。
2. ピンを適切に割り当てます。
3. フラッシュ・デバイスのプログラマ・オブジェクト・ファイル (.pof) をコンパイ
ルおよび生成します。すべての未使用 I/O ピンがトライ・ステートされることを
確認します。
4. Configuration Control Only モードを選択することで、その他の PFL メガファンク
ションのインスタンスを作成します。
5. 製品デザインに、このコンフィギュレーション・コントローラをインスタンス化
します。
6. フラッシュ・デバイスをプログラムする必要がある場合には、フラッシュ・デバ
イスの .pof で MAX II デバイスをプログラムして、フラッシュ・メモリの内容を
アップデートします。
7. コンフィギュレーション・コントローラを含む製品デザインの .pof で MAX II デバ
イスのプログラムを再プログラムします。
アルテラ以外のデータでフラッシュをプログラムすることは個別機能の利点の一つ
です。例えば、フラッシュ・デバイスには、ASSP (Application-Specific Standard
Product) の初期化ストレージが備えられています。PFL で初期化データのフラッシュ
をプログラムして、自身のデザイン・ソース・コードを作成することにより、MAX II
ロジックでリードおよび初期化コントロールを実装できます。
1
すべての未使用ピンは、デフォルトでグランドに設定されます。フラッシュ・プロ
グラミングの時に FPGA のコンフィギュレーションのデータを保つすることは必要が
ある場合は、フラッシュ・プログラミングのデザイン・ファイルに、MAX II のデバ
イス・インタフェースと接続されている FPGA のコモン・コンフィギュレーション・
ピンをトライステートにすることが必要です。
1
CPLD プログラミングのときに、MAX II デバイスは、すべての I/O ピンをトライ・ス
テートします。ただし、フラッシュのプログラミング及び FPGA のコンフィギュレー
ションの時に、MAX II デバイスが正常に動作して、そして I/O ピンはトライステート
していません。
Quartus II ソフトウェア・サポート
Quartus II ソフトウェアは、プログラミング・ブリッジとコンフィギュレーションの
PFL メガファンクション・ロジックを生成します。オブジェクト・ファイル (.sof) と
16 進ファイル (.hex) を Quartus II ソフトウェアに入力すると、フラッシュ・メモリのプ
ログラミング・ファイルが作成されます。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
4
Quartus II ソフトウェア・サポート
表 1 に、PFL メガファンクションでサポートされるフラッシュ・メモリ、データ幅、
コンフィギュレーション・モードおよびファイル・フォーマットのタイプを示しま
す。
表 1. Quartus II ソフトウェアでの PFL 機能でサポートされるフラッシュ・メモリ、データ幅、コンフィギュ
レーション・モードおよびファイル・フォーマット ( その1 )
サポートされるフラッシュ・メモリ (1)
メーカ
Numonyx
データ幅
(2)
集積度
(M ビット )
コンフィギュレーショ
ン・モード (3)
ファイル・フォー
マット (4)
28F800C3
8
16 ビット
PS および FPP
28F160C3
16
28F320C3
32
28F640C3
64
POF、JEDEC STAPL
フォーマット
(Jam)、および Jam
STAPL バイト・
コード (JBC)
28F320J3
32
デバイス名 (1),
28F640J3
64
28F128J3
128
28F640P30
64
28F128P30
128
28F256P30
256
28F512P30
512
28F640P33
64
28F128P33
128
28F256P33
256
28F512P33
512
28F256M29EW
256
8/16 ビット
16 ビット
JS29F256J3
M29W256G
M29W640F
64
M28W160CT
16
8/16 ビット
M28W160CB
M29W160FT
M29W160FB
M29W320E
32
M29W320FT
M29W320FB
Spansion
M29W640G
64
M29W128G
128
M58BW32FB
32
16/32 ビット
S29GL128N
128
8/16 ビット
S29GL256N
256
S29GL512N
512
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェア・サポート
5
表 1. Quartus II ソフトウェアでの PFL 機能でサポートされるフラッシュ・メモリ、データ幅、コンフィギュ
レーション・モードおよびファイル・フォーマット ( その2 )
サポートされるフラッシュ・メモリ (1)
データ幅
(2)
集積度
(M ビット )
コンフィギュレーショ
ン・モード (3)
ファイル・フォー
マット (4)
S29AL016D
16
8/16 ビット
PS および FPP
S29AL032D
32
S29AL016M
16
S29JL032H
32
POF, JEDEC STAPL
フォーマット
(Jam)、および Jam
STAPL バイト・
コード (JBC)
S29JL064H
64
S29AL016J
16
S29GL64N
65
S29GL128P
128
S29GL256P
256
S29GL512P
512
S29GL01GP
1024
Eon Silicon
Solution
EN29LV160B
16
EN29LV320B
32
Macronix
MX29LV160D
16
MX29LV320D
32
MX29LV640D
64
MX29LV640E
64
MX29GL128E
128
MX29GL256E
256
メーカ
Spansion
デバイス名 (1),
16 ビット
16 ビット
表 1 の注 :
(1) Spansion の S29GL-N フラッシュ・デバイス・ファミリは製造中止されました。アルテラは、このフラッシュを使用するこ
とを推奨しません。代替の推奨について詳しくは、Spansion の (www.spansion.com) ウェブサイトを参照してください。
(2) PFL は、フラッシュ・デバイスのトップ及びボトムのブート・ブロックをサポートします。
(3) これは、PFL を介する MAX II デバイスによるアルテラの FPGA コンフィギュレーションです。データ圧縮付きのコンフィ
ギュレーションがサポートされます。また、Stratix II と Stratix III デバイス・ファミリのコンフィギュレーションはデータ
暗号化をサポートします。
(4) これは、MAX II デバイスおよびフラッシュ・メモリ・デバイスをプログラムするためのサポートされるファイル・フォー
マットです。PFL はロウ・バイナリ・ファイル (.rbf) フォーマットをサポートしません。
PFL のロジック・エレメント (LE) 使用は、PFL と Quartus II ソフトウェア設定にによっ
て異なります。正確な LE の使用率を取得する唯一の方法は、Quartus II ソフトウェア
で正確な設定で PFL デザインをコンパイルすることです。
フラッシュ .pof でのページの実装
PFL は、CFI フラッシュ・メモリ・ブロックにコンフィギュレーション・データを異な
るページに最大 8 ページまで格納します。複数の FPGA(例えば、複数の .sof ファイ
ルが 1 ページに保管されている場合)が含まれている単一の FPGA チェーンをコン
フィギュアするために、1 ページを使用します。
許容される総ページ数と各ページのサイズはフラッシュの容量に依存します。これ
らのページで、異なる FPGA チェインのデザイン、または同じ FPGA チェインの異な
るデザインを異なるページに格納できます。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
6
Quartus II ソフトウェア・サポート
.sof を .pof に変換するとき、以下のアドレス・モードは、ページ・アドレスを決定す
るために利用可能です。
■
ブロック・モード - ページの開始と終了アドレスを指定できます。
■
スタート・モード - 開始アドレスしか指定できません。各ページの開始アドレス
は 8-K バイトの境界に位置しています。( それは、最初の有効な開始アドレスが
0×000000 の場合に、次の有効な開始アドレスは 0×2000 の増分であることを意味す
る )。
■
自動モード - Quartus II ソフトウェアは自動的にページの開始アドレスを決定でき
ます。Quartus II ソフトウェアは 128-K バイト境界にページを配置します。例え
ば、最初の有効な開始アドレスが 0×000000 であれば、次の有効な開始アドレス
は 0×20000 の増分です。
オプション・ビット・セクタは各ページの開始アドレスを格納します。Page-Valid
ビットは、各ページが正常にプログラムされるかどうかを示します。正常にページ
をプログラムした後に、Page-Valid ビットをプログラムしてください。未使用のアド
レスの位置に、必ずフラッシュ・メモリでオプション・ビットを格納してください。
オプション・ビット・セクタの開始アドレスは、8-K バイトの境界に位置していま
す。.sof を .pof に変換するとき、そして PFL メガファンクションを作成するとき、
オプション・ビット・セクタの開始アドレスを指定しなければなりません。このプ
ロセスについて詳しくは、ページの 27「QuartusII ソフトウェア内の PFL メガファ
ンクションのインスタンス化」 およびページの 34「フラッシュ・デバイスの .sof
を .pof に変換」を参照してください。
図 4 には、CFI フラッシュ・メモリ内のページ・モードおよびオプション・ビットに
よる実装を示します。
図 4. フラッシュ・メモリのページ・モードおよびオプション・ビットによる実装
8 Bits
End Address (1)
Option Bits (2)
Configuration Data (Page 2)
Configuration Data (Page 1)
Configuration Data (Page 0)
32 Bits
Page 2 Address + Page-Valid
Page 1 Address + Page-Valid
Page 0 Address + Page-Valid
0x000000
図 4 の注 :
(1) 異なる容量があるデバイスのアドレス範囲について詳しくは、表 2 を参照してください。
(2) オプション・ビット・セクタのバイト・アドレス・ロケーションをを指定する必要があります。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェア・サポート
7
ページ開始アドレスのビット 0 ~ 11 は、すべてゼロに設定され、オプション・ビッ
トとして格納されません。
図 5 に、各ページの開始アドレスおよび Page-Valid ビットがオプション・ビット・セ
クタに格納される方法を示します。
図 5. ページの開始アドレス、終了アドレスおよび Page-Valid ビットがオプション・
ビットとして格納
0x002000 (1)
Bit 7...Bit 1
Bit 0
Page Start Address [19:13]
Page-Valid
Bit 7...Bit 0
0x002001
Page Start Address [27:20]
Bit 7...Bit 1
0x002002
Page End Address [19:13]
Bit 7...Bit 0
0x002003
Page End Address [27:20]
図 5 の注 :
(1) フラッシュ・バイト・アドレッシング・モード用
表 2 には、異なる集積度の CFI デバイスのバイト・アドレス範囲を示します。
表 2. バイト・アドレス範囲
2009 年 12 月
用
CFI デバイス (M ビット )
アドレス範囲
8
0x0000000 ‒ 0x00FFFFF
16
0x0000000 ‒ 0x01FFFFF
32
0x0000000 ‒ 0x03FFFFF
64
0x0000000 ‒ 0x07FFFFF
128
0x0000000 ‒ 0x0FFFFFF
256
0x0000000 ‒ 0x1FFFFFF
512
0x0000000 ‒ 0x3FFFFFF
1024
0x0000000 ‒ 0x7FFFFFF
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
8
PFL の入力および出力信号
PFL の入力および出力信号
この項では、PFL メガファンクションの入力および出力信号を説明します。
図 6 に、PFL メガファンクションのシンボルがフラッシュ・プログラミングおよび
FPGA コンフィグレーションの両方をサポートするのを示します。
図 6. PFL メガファンクションのシンボル
表 3 に、PFL 信号の機能をリストし、コンフィギュレーション・ピンに必要である外
部のプルアップ抵抗を指定します。
f
特定のアルテラ FPGA ファミリのピンのコンフィギュレーションについて詳しくは、
Configuration Handbook を参照してください。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL の入力および出力信号
9
表 3. PFL 信号 ( 注 1) ( その1 )
ピン
説明
ウィーク・
プルアップ
入力
̶
PFL に対する非同期リセット。FPGA のコ
ンフィギュレーションをイネーブルする
ために High にプルアップしてください。
それ以外の場合は、PFL を使用しないと
き、FPGA のコンフィギュレーションを
防ぐには、いつも Low にプルダウンして
ください。このピンは、フラッシュ・プ
ログラミングには影響を与えません。
入力
̶
システムレベルを同期させるために、使
用されます。このピンは、フラッシュへ
のアクセスを制御するプロセッサまたは
任意のアービタでドライブされます。
PFL をフラッシュ・マスターとして動作
させる場合は、このアクティブ High ピ
ンを永久に High に接続してください。
pfl_flash_access_granted ピンを
Low にプルダウンすることにより、JTAG
インタフェースがフラッシュおよび
FPGA のコンフィギュレーションにアクセ
スすることを防ぎます。
入力
̶
デバイスのユーザー入力クロック。周波
数は、メガファンクションで指定された
周波数に一致する必要があり、コンフィ
ギュレーション中に、特定の FPGA で指
定された最大の DCLK 周波数より高いこ
とはできません。(1)
入力
̶
コンフィギュレーションに使用するペー
ジを決定します。
入力
10-kΩ のプ
ルアップ抵
抗
FPGA の CONF_DONE ピンに接続します。
コンフィギュレーションが成功した場
合、FPGA は High を出力します。
入力
10-kΩ のプ
ルアップ抵
抗
FPGA の nSTATUS ピンに接続します。コ
ンフィギュレーション中にエラーが発生
した場合は、FPGA はこのピンを Low に
プルダウンします。
入力
̶
FPGA の再コンフィギュレーションを開始
します。このピンは High または Low 入
力を選択するために、使用できるスイッ
チに接続されます。Low 入力は FPGA の
再コンフィギュレーションを開始しま
す。
入力
̶
バースト・モードに使用されます。フ
ラッシュ・メモリの Wait 出力ピンと接続
します。この信号を使用して、フラッ
シュからのデータの読み込みが有効であ
ることを示すことができます。接続され
ていないとき、High にプルアップしてく
ださい。
pfl_nreset
pfl_flash_access_granted
pfl_clk (2)
fpga_pgm[2..0] (2)
fpga_conf_done (2)
fpga_nstatus (2)
pfl_nreconfigure (2)
flash_rdy
2009 年 12 月
用
Altera Corporation
機能
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
10
PFL の入力および出力信号
表 3. PFL 信号 ( 注 1) ( その2 )
ピン
説明
ウィーク・
プルアップ
出力
̶
システム・レベルの同期化に使用されま
す。必要な場合、このピンはプロセッサ
またはアービタに接続されます。JTAG イ
ンタフェースがフラッシュにアクセスす
るか、または PFL が FPGA をコンフィ
ギュレーションするとき、PFL はこのピ
ンを High にドライブします。この出力
ピンは、flash_noe および flash_nwe
ピンと連携して動作します。
出力
̶
メモリ・アドレスの入力アドレス。MSB
は flash_data バスの幅と同様にフ
ラッシュ・デバイスの容量によって異な
ります。
入力または 出力
̶
パラレルでフラッシュメモリの 8 ビット
または 16 ビットのデータの送受信の
データバス。(3)
出力
̶
フラッシュ・デバイスの nCE ピンに接
続します。Low 信号はフラッシュ・メモ
リをイネーブルします。複数のフラッ
シュ・デバイスを対応させるには、この
ピンを使用します。flash_nce ピンは
使用する各フラッシュデバイスの nCE
ピンと接続されます。
出力
̶
フラッシュ・デバイスの nWE ピンに接
続します。Low 信号は、フラッシュ・デ
バイスへのライト動作をイネーブルしま
す。
出力
̶
フラッシュ・デバイスの nOE ピンに接
続します。Low 信号はリード動作中にフ
ラッシュ・デバイスの出力をイネーブル
します。
出力
̶
バースト・モードに使用されます。フ
ラッシュ・デバイスの CLK 入力ピンに
接続します。CLK のアクティブ・エッジ
はフラッシュ・デバイスの内部のアドレ
ス・カウンタを増分します。
出力
̶
バースト・モードに使用されます。フ
ラッシュ・デバイスのアドレスの有効な
入力ピンに接続します。開始アドレスを
ラッチさせるには、この信号を使用しま
す。
出力
̶
フラッシュ・デバイスのリセット・ピン
に接続します。Low 信号はフラッシュ・
デバイスをリセットします。
pfl_flash_access_request
flash_addr[x..0] (5)
flash_data[x..0] (5)
( 双方向ピン )
flash_nce [x..0]
flash_nwe
flash_noe
flash_clk (4)
flash_nadv (4)
flash_nreset
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
機能
2009 年 12 月
Altera Corporation
PFL の入力および出力信号
11
表 3. PFL 信号 ( 注 1) ( その3 )
ピン
説明
ウィーク・
プルアップ
出力
̶
コンフィギュレーション中のフラッシュ
から FPGA デバイスへのデータ出力。PS
モードは、fpga_data[0] の 1 ビット
バスのデータラインです。そして、FPP
モードでは、fpga_data[7..0] の 8
ビットのデータラインです。
出力
̶
FPGA の DCLK ピンに接続します。コン
フィギュレーション中の FPGA デバイス
へのクロック入力データ・ピンです。
Open Drain
10-kΩ のプ
ルアップ抵
抗
fpga_data[x..0] (2)
fpga_dclk (2)
fpga_nconfig (2)
出力
機能
FPGA の nCONFIG ピンに接続します。Low
パルスにすると、FPGA がリセット状態
になり、コンフィギュレーションが開始
されます。(3)
表 3 の注 :
(1) 最大の FPGA コンフィギュレーション DCLK 周波数について詳しくは、Configuration Handbook を参照してください。
(2) PFL メガファンクションのフラッシュ・プログラミング・オプションでは、これらのピンは存在しません。
(3) アルテラは、PFL ピンと MAX II の I/O ピンの間にロジックを挿入することを推奨していません(特に flash_data および
fpga_nconfig ピンの上に)。
(4) flash_clk、flash_rdy、および flash_nadv ピンは、バースト・モードにのみ使用します。バースト・モードを使用し
ない場合、フラッシュ・デバイスからこれらのピンを MAX II デバイスに接続しないよいにします。
(5) PFL がフラッシュ・デバイスにアクセスしていないとき、PFL MegaWizard™ Plug In Manager トライ・ステートのオプショ
ンを選択しないと、flash_addr と flash_data ピンの出力は未使用のピンの設定に依存します。
1
アルテラは、PFL が不定の状態になることを防止するため、Safe State Machine の設定
をイネーブルにしておくことを推奨しています。Assignments メニューからの
Settings ダイアログ・ボックスで、Analysis & Synthesis Settings ページの More Settings を
クリックして、このオプションを設定できます。
図 7 に、PFL ソリューションの MAX II デバイス、CFI フラッシュ・メモリ、アルテラ
FPGA、およびコントローラまたはプロセッサ間のコンフィギュレーション・インタ
フェース接続を示しています。Nios® II プロセッサはコントローラまたはプロセッサ
として機能します。Nios II プロセッサはアルテラ FPGA に実装されます。
MAX II CPLD と Nios II プロセッサは、個別に CFI フラッシュをプログラムできます。
MAX II CPLD と Nios II プロセッサの flash_access_granted と
flash_access_request ピンは一緒に接続されることによって、両方のプロセッ
サが同時に CFI フラッシュにアクセスすることが防げられます。
f
2009 年 12 月
用
FPGA コンフィギュレーションについて詳しくは、Configuration Handbook を参照し
てください。
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
12
PFL の入力および出力信号
図 7. コントローラと PFL の使用でのシングル・デバイスのコンフィギュレーション
VCC (1) VCC (1) VCC (1)
VCC
CFI Flash
VCC
nRP
nWP
10k
MAX II CPLD
10k
10k
Altera FPGA
pfl_nreset
pfl_flash_access_granted
pfl_flash_access_request
flash_addr fpga_conf_done
flash_data
fpga_nstatus
flash_nwe
fpga_nconfig
flash_nce
fpga_data (2)
flash_noe
fpga_dclk
ADDR
DATA
nWE
nCE
nOE
WP#/ACC
BYTE#
CONF_DONE
nSTATUS
nCONFIG
DATA
DCLK
nCE
nCEO
NC (3)
Nios II Processor Interface (4)
flash_access_request
flash_access_granted
ext_ram_bus_addr
ext_ram_bus_data
write_n_to_ext_flash
chip_n_to_ext_flash
output_n_to_ext_flash
WP#/ACC
BYTE#
図 7 の注 :
(1) デバイスの許容入力信号を供給する電源にプルアップ抵抗を接続しなければなりません。VCC は、デバイスの I/O の VIH 仕様を
満たすために十分に高くなければなりません。例えば、Stratix II VIH 仕様は 1.7 ∼ 3.3 V の範囲の場合に、VIH 仕様を満たすた
めに、プルアップ抵抗の VCC への電源供給が 1.7 ∼ 3.3 V 以内でなければなりません。
(2) PS コンフィギュレーション・モードで、これは 1 ビットのデータ・ラインです。そして、FPP コンフィギュレーション・モー
ドでは、これは 8 ビットのデータ・バスです。
(3) VCC と GND さえではなく、NC ピン ( 接続されていないピン ) に何も接続しないでください。
(4) コンフィギュレーションされている FPGA を除いて、Nios II プロセッサはいかなる他のアルテラ FPGA でも実装されます。
図 8 に、マルチ・デバイス・コンフィギュレーションの接続を示します。
図 8. マルチ・デバイス・コンフィギュレーションの接続
VCC (1) VCC (1) VCC (1)
CFI Flash
nRP
nWP
VCC
VCC
MAX II CPLD
10k
10k
10k
Altera FPGA 1
pfl_nreset
pfl_flash_access_granted
ADDR
DATA
nWE
nCE
nOE
flash_addr fpga_conf_done
flash_data
fpga_nstatus
flash_nwe
fpga_nconfig
flash_nce
fpga_data (2)
flash_noe
fpga_dclk
CONF_DONE
nSTATUS
nCONFIG
DATA
DCLK
nCE
nCEO
Altera FPGA 2
CONF_DONE
nSTATUS
nCONFIG
DATA
DCLK
nCE
nCEO
NC
図 8 の注 :
(1) デバイスの許容入力信号を供給する電源にプルアップ抵抗を接続しなければなりません。VCC は、デバイスの I/O の VIH 仕様
を満たすために十分に高くなければなりません。例えば、Stratix II VIH 仕様は 1.7 ∼ 3.3 V の範囲の場合に、VIH 仕様を満たす
ために、プルアップ抵抗の VCC への電源供給が 1.7 ∼ 3.3 V 以内でなければなりません。
(2) PS コンフィギュレーション・モードで、これは 1 ビットのデータ・ラインです。PS コンフィギュレーション・モードで、こ
れは 1 ビットのデータ・ラインです。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL デザイン例
13
PFL デザイン例
PFL メガファンクションは、フラッシュ・プログラミングおよび複数の FPGA コンフィ
ギュレーションをサポートする同時に、別のプロセッサをフラッシュ・デバイスに
アクセスすることができます。例えば、PFL メガファンクションでフラッシュをプ
ログラムして、Nios II プロセッサで FPGA をコンフィギュレーションすることができ
ます。コンフィギュレーションされた Nios II プロセッサは同じフラッシュ・デバイ
スに格納された非コンフィギュレーション・データを使用します。
このデザインの例は、システムで複数のプロセッサでフラッシュ・デバイスをプロ
グラムする方法を示します。フラッシュ・デバイスをプログラムするには、プロ
セッサおよび PFL メガファンクションを使用できます。この例で使用されるプロ
セッサは Nios II プロセッサです (Nios II プロセッサの代わりに他のプロセッサかマイ
クロコントローラも使用可能 )。Nios II プロセッサは、アルテラ FPGA で実装される
汎用 RISC プロセッサ・コアです。Nios II プロセッサは、シングル・チップ上に CPU
とペリフェラルおよびメモリを組み合わせて搭載したマイクロ・コントローラまた
はコンピュータ・オンチップに相当します。Nios II フラッシュ・プログラマは、
Nios II 開発ツールの一部であり、フラッシュ・デバイスをプログラミングする手軽な
手段です。
この項では、MAX II デバイスの PFL メガファンクションとアルテラ FPGA の Nios II プ
ロセッサ間のフラッシュ・プログラミング・インタフェースの実装を説明します。
このデザイン例は、以下の 4 つのセクションで構成されています。
■
ページの 14「PFL メガファンクション」
■
ページの 14「Nios II プロセッサ」
■
ページの 16「フラッシュ・デバイス」
■
ページの 16
「pfl_flash_access_request および pfl_flash_access_granted ピン」
図 9 に、4 つのセクション間の関係を示します。PFL メガファンクションおよび
Nios II プロセッサは Quartus II ソフトウェアで個別に生成されます。以下の項で説明さ
れるように、最初に、PFL メガファンクションまたは Nios II システムのいずれかを
作成します。
図 9. デザイン例での 4 つのセクション間の関係
CFI Flash
Memory
Common Flash
Interface
MAX II CPLD
PFL
pfl_flash_
access_
granted
pfl_flash_
access_
request
Altera FPGA
with
Nios II Processor
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
14
PFL デザイン例
PFL メガファンクション
PFL メガファンクションを作成するには、ページの 27「QuartusII ソフトウェア内の
PFL メガファンクションのインスタンス化」を参照してください。PFL MegaWizard
Plug-in Manager が使用されていないときは、PFL メガファンクションがドライブされ
ないように、Tri-state all flash bus pin のオプションがオンになっていることを確実にし
てください。
1
Quartus II ソフトウェア v6.0 およびそれ以前のバージョンを使用する場合は、トライ・
ステート・バッファで PFL メガファンクションからすべての出力を手動でトライ・
ステートする必要があります。
Nios II プロセッサ
Quartus II SOPC Builder で、Nios II システムを作成できます。SOPC Builder の Nios II シス
テムを生成するには、以下のステップに従います。
1. Tools メニューの SOPC Builder を選択します。
2. SOPC Builder の Nios II システムに必要なコンポーネントを指定します。
1
表 4 には、このデザイン例のコンポーネント設定を記載します。
3. Nios II システムを生成します。
4. Edit メニューの Insert Symbol を選択することにより、ブロック図に作成された
Nios II システムを入力します。
5. ライブラリのウィンドウで、Nios II システムを選択します。
6. 図 10 で示される flash_test モジュールは、デザイン例に内蔵された Nios II シ
ステムです。
7. Nios II システムへのピン・アサインメントおよび接続が完了したとき、デザイン
をコンパイルして、アルテラ FPGA をコンフィギュレーションします。Nios II シ
ステムからのアドレス、データ・リード、選択、およびライトの動作は、それぞ
れフラッシュ・デバイスのアドレス、データ、出力イネーブル、チップ・イネー
ブル、およびライト・イネーブルに接続されます。
表 4 に、PFL のデザイン例のコンポーネント設定を記載します。
表 4. PFL のデザイン例のコンポーネント設定 ( 注 1)
コンポーネント
設定
Nios II プロセッサ
デバッグ・モジュール・レベル 1
Avalon-MM トライ・
ステート・ブリッ
ジ
登録済
CFI フラッシュ・メ
モリ
AM29LV128MH
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL デザイン例
15
表 4. PFL のデザイン例のコンポーネント設定 ( 注 1)
コンポーネント
JTAG UART
設定
デフォルト設定(JTAG インタフェースで Nios II プロセッサをア
ルテラ FPGA にコンフィギュレーションするには、このコンポー
ネントが必要)
表 4 の注 :
(1) これらのコンポーネントは、フラッシュ・プログラミングに必要である最小のコンポーネントで
す。Nios II システムに必要な追加コンポーネントを追加することができます。
f
SOPC Builder のコンポーネント設定について詳しくは、
「Quartus II ハンドブック Volume
4」の「SOPC Builder Components」の章を参照してください。
図 10 には、Nios II プロセッサのデザイン例を示します。
図 10. Nios II プロセッサのデザイン例
Nios II System
VHDL Component for reset_acc
Nios II プロセッサを作成した後、Nios II フラッシュ・プログラマを実行することがで
きます。フラッシュ・プログラマでは、2 つのモードがあります。
■
統合開発環境 (IDE) モード
■
コマンド・ライン・モード
Nios II IDE モードは、フラッシュ・プログラマ機能に使いやすいインタフェースを提
供します。コマンド・ライン・モードは上級ユーザー向けです。コマンド・ライン・
モードでは、フラッシュ・プログラマ機能を完全に制御できます。
f
2009 年 12 月
用
IDE およびコマン・ドライン・モードについて詳しくは、Nios II Flash Programmer
User Guide を参照してください。
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
16
PFL デザイン例
ボードをパワーアップするときに、Nios II プロセッサでアルテラ FPGA をコンフィ
ギュレーションする必要があります。ボードのパワーアップのときに Nios II プロ
セッサでアルテラ FPGA をコンフィギュレーションするには、フラッシュ・デバイス
に Nios II プロセッサ・イメージを保存して、PFL メガファンクションを使用できま
す。プログラムする同じフラッシュ・デバイスに Nios II プロセッサ・イメージを保
存する場合に、他のユーザー・データでフラッシュ・デバイスをプログラムすると
き、Nios II イメージを上書きしないことを確実してください。別の選択肢は、Nios II
イメージを格納すること、例えば、プログラマブル EPC および消去可能なプログラ
マブル・コンフィギュレーション・シリーズ (EPCS) です。
f
IDE およびコマン・ドライン・モードについて詳しくは、Nios II Processor
Reference Handbook を参照してください。
フラッシュ・デバイス
バイト・イネーブル・ピンが Low にプルダウンされると、フラッシュ・デバイスが
×8 データ幅モードであります。バイト・イネーブル・ピンが High にプルアップされ
ると、フラッシュ・デバイスが ×16 データ幅モードであります。PFL メガファンク
ションおよび Nios II プロセッサ・データ・ピンは、選択したデータ幅のモードに
よって割り当てられます。
リード、またはライト・アクセス時間はフラッシュ・デバイス・タイプによって決
まります。PFL メガファンクションでは、ライト・アクセス時間は PFL メガファンク
ションにエンコードされます。ライト・アクセス時間を指定する必要はありません
が、PFL MegaWizard Plug-In Manager でリード・アクセス時間を指定することが必要で
す。Nios II システムに関して、Custom Flash オプションを選択すると、リード、また
はライト・アクセス時間を指定しなければなりません。
f
1
リード、またはライト・アクセス時間について詳しくは、「Nios II フラッシュ・プ
ログラマのユーザー・ガイド」を参照してください。
PFL メガファンクションおよび Nios II システムは、データ・バスが単一方向のデータ
のみを許容するため、選択性の Read-During-Write 動作を実行できません。同時双方
向のデータ・フローはサポートされません。
pfl_flash_access_request および pfl_flash_access_granted ピン
Nios II プロセッサおよび PFL メガファンクションはフラッシュ・デバイスへの同じバ
ス・ラインを共有します。データ競合を防ぐために、フラッシュ・デバイスを同時
にアクセスとプログラムしてはいけません。フラッシュ・デバイスに 1 台のプロ
セッサのみがアクセスしていることを確保するには、PFL メガファンクションでの
pfl_flash_access_requestおよびpfl_flash_access_grantedピンを使用す
ることにより、1 台のプロセッサがフラッシュ・デバイスにアクセスしている間に、
もう 1 台のプロセッサのフラッシュ・デバイスに接続するすべての出力ピンをトラ
イ・ステートにする必要があります。
9 ページの表 3 に説明されたとおり :
■
pfl_flash_access_request ピン — アクセスがフラッシュ・デバイスに必要
な場合には、PFL メガファンクションはこのピンを High にドライブします。
■
pfl_flash_access_grantedピン— このピンにHigh入力信号を受け取る場合に
は、PFL メガファンクションはフラッシュ・デバイスに接続します。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL デザイン例
17
表 5 には、両方のプロセッサが同時にフラッシュ・デバイスにアクセスしないこと
を確保するための pfl_flash_access_request および
pfl_flash_access_granted ピンの使用方法を記載します。
表 5. Nios II および PFL メガファンクションのある pfl_flash_access_request および
pfl_flash_access_granted ピン
信号
Nios II プロセッサ
PFL メガファンクション
pfl_flash_access_request
での高出力信号
フラッシュ・デバイス
にすべての出力ピンを
トライ・ステートしま
す。
pfl_flash_access_granted ピンが高入力
を受信すると、すべての入出力ピンをフラッ
シュ・デバイスに接続します。
pfl_flash_access_request
での低出力信号
フラッシュ・デバイス
にすべてのピンを再接
続します。
pfl_flash_access_granted ピンが低入力
を受信すると、すべての入出力ピンをフラッ
シュ・デバイスにトライ・ステートします。
このデザイン例では、pfl_flash_access_request ピンが High になる場合、
reset_acc VHDL コードを使用して、
Nios II プロセッサの reset_n ピンを Low にプル
ダウンします。reset_n ピンが Low になる場合、Nios II プロセッサがディセーブル
されて、Nios II プロセッサからのすべての出力ピンがトライ・ステートされます。
Nios II システムの pfl_flash_access_granted ピンに
pfl_flash_access_request 信号を配線するには、
pfl_flash_access_requestおよびpfl_flash_access_grantedピンの入出力
ピンを作成することが必要です。pfl_flash_access_granted ピンの上に高入力
信号を受信するとき、PFL メガファンクションはフラッシュ・デバイスにアクセスし
始めます。reset_acc VHDL コード・コンポーネントはデザイン例に接続されま
す。Nios II プロセッサへの reset_acc VHDL コード・コンポーネントの接続および
pfl_flash_access_requestとpfl_flash_access_grantedピンの接続に関す
る詳しい情報については、15 ページの図 10 を参照してください。
pfl_flash_access_granted ピンが低入力を受信するとき、PFL メガファンク
ションの Tri-state all flash bus pin when not in use オプションは PFL メガファンクション
をディセーブルします。このオプションは Quartus II ソフトウェア v6.0 以降にのみ利
用可能です。Quartus II ソフトウェア v6.0 およびそれ以前のバージョンを使用する場
合に、トライ・ステート・バッファで PFL メガファンクションからのすべての出力
を手動でトライ・ステートする必要があります。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
18
PFL およびフラッシュ・アドレスのマッピング
説明されるようにシステムをコンフィギュレーションした後に、
pfl_flash_access_request および pfl_flash_access_granted ピンは、同時
にフラッシュ・デバイスを 1 つのプロセッサしかアクセスしないことを確保します (
図 11 を参照 )。
図 11. フラッシュ・デバイスをアクセスする Nios II プロセッサおよび PFL メガファンクション
Nios II processor connects
to the flash device
By default, the Nios II processor is connected to the flash device.
All PFL megafunction output pins are tri-stated.
PFL megafunction requests
access to flash device
The PFL megafunction pulls the pfl_flash_access_request pin high
to request access to the flash device.
Nios II processor receives
the PFL megafunction
The Nios II processor tri-states all output pins to the flash device and routes
the output of pfl_flash_access_request to pfl_flash_access _granted.
PFL megafunction accesses
the flash device
The PFL megafunction accesses the flash device after receiving
a high input at the pfl_flash_access_granted input pin.
The pfl_flash_access_request pin stays high as long as
the PFL is connected to the flash device.
PFL megafunction releases
the flash device
The PFL megafunction pulls the pfl_flash_access_request output pin low
after accessing the flash device.
Nios II システム以外のプロセッサまたはコントローラの使用
Nios II システムの代わりにプロセッサまたはコントローラを使用するには、PFL の
pfl_flash_access_granted および pfl_flash_access_request ピンが、ペー
ジの 16「pfl_flash_access_request および pfl_flash_access_granted ピン」で説
明されるようの同じ方法を使用して、プロセッサに接続されることを確保します。
また、プロセッサまたはコントローラでフラッシュ・デバイスのリードまたはライ
トのアクセス時間を指定する必要があります。PFL メガファンクションがフラッ
シュ・デバイスにアクセスしているとき、データ競合を防止するため
pfl_flash_access_request 信号が High になるときに、プロセッサからの出力ピ
ンをトライ・ステートします。
PFL およびフラッシュ・アドレスのマッピング
図 12 ~図 15 に、PFL およびフラッシュ・デバイスとのアドレス接続を示します。ア
ドレス接続は、フラッシュ・ベンダーおよびデータ・バス幅によって異なります。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL およびフラッシュ・アドレスのマッピング
19
図 12. 8 ビット・モードの Numonyx J3 フラッシュ・メモリ ( 注 1)
PFL
address: 24 bits
23
22
21
2
1
0
Flash Memory
address: 24 bits
23
22
21
2
1
0
図 12 の注 :
(1) PFL とフラッシュ・メモリとのアドレス接続は同じです。
図 13. 16 ビット・モードの Numonyx J3、P30、および P33 フラッシュ・メモリ (
注 1)
PFL
address: 23 bits
22
21
20
2
1
0
Flash Memory
address: 23 bits
23
22
21
3
2
1
図 13 の注 :
(1) PFL のフラッシュ・アドレスと比べると、Numonyx J3、P30、および P33 の 16 ビット・フラッシュ
のフラッシュ・メモリ・アドレスは、1 ビットにシフト・ダウンされます。例えば、フラッシュ・ア
ドレス・ビットはビット 0 ではなく、ビット 1 から始めます。
図 14. 8 ビット・モードの Spansion および Numonyx M28、M29 フラッシュ・メモリ
( 注 1)
PFL
address: 24 bits
23
22
21
2
1
0
Flash Memory
address: 24 bits
22
21
20
1
0
D15
図 14 の注 :
(1) Spansion の 8 ビット・フラッシュのフラッシュ・メモリ・アドレスは、1 ビットにシフト・アップ
されます。例えば、PFL のアドレス・ビット 0 はフラッシュ・メモリのデータ・ピン D15 に接続され
ます。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
20
PFL コンフィギュレーション時間
図 15. 16 ビット・モードの Spansion および Numonyx M28、M29 フラッシュ・メモリ
( 注 1)
PFL
address: 23 bits
Flash Memory
address: 23 bits
22
21
20
2
1
0
22
21
20
2
1
0
図 15:
(1) PFL とフラッシュ・メモリとのアドレス接続は同じです。
PFL コンフィギュレーション時間
この項では、PFL メガファンクションで FPGA をコンフィギュレーションする必要な
時間の見積もりの方程式を提供します。これらの方程式から得られた時間は、
Quartus II ソフトウェア v7.2 以降にしか利用できません。
表 6 には、PFL v7.2 に関する方程式を記載し、以下の表現を使用します。
■
Cflash は、フラッシュ・メモリから読み出す必要なクロック周期の数を表します。
■
Ccfg は、データをクロック・アウトする入力クロック・サイクル数を表します ( フ
ラッシュ・データ・バス幅かつ FPP か PS モードの選択に応じて、1 ~ 16 DCLK
サイクルを生産する )。フラッシュから読み出しおよびコンフィギュレーション
のデータ・クロック・アウトのプロセスは、パラレルに実行されます。したがっ
て、Cflash および Ccfg の間では、より大きい数だけが重要です。
■
Fclk は入力クロック周波数を PFL に表します。
■
Taccess はフラッシュ・アクセス・タイムを表します。
■
Caccess はフラッシュからのデータが準備される前に、必要なクロック周期数を表
します。
■
Tpage_access は、Spansion フラッシュ・デバイスのページ・リード時間を表して、
ページ・モードにのみアクセスできます。Tpage_access は PFL に 30 ns に設定されま
す。
■
N は、クロック・アウトされるためのバイト数を表します。この値は、特定の
FPGA の .rbf により得られます。.
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL コンフィギュレーション時間
21
表 6. PFL v7.2 用の方程式 ( その1 )
フラッ
シュ・ア
クセス・
モード
データ・オプ
ションのコン
フィギュレー
ション
フラッ
シュ・
データ幅
ノーマル
8 ビット
圧縮および /
または暗号
化
DCLK 比率 = 2
Cflash = Caccess
Ccfg = 2
Coverhead = 5*C access
Cflash = Caccess
Ccfg = 3
Coverhead = 5*Caccess
Cflash = Caccess
Ccfg = 8
Coverhead =
5*Caccess
Cflash = Caccess
Ccfg = 16
Coverhead = 5*Caccess
Cflash = Caccess/2
Ccfg = 1.5
Coverhead = 3*C access
Cflash = Caccess/2
Ccfg = 2.5
Coverhead = 3*Caccess
Cflash = Caccess/2
Ccfg = 8
Coverhead =
3*Caccess
Cflash = Caccess/2
Ccfg = 16
Coverhead = 3*Caccess
Cflash = Caccess
Ccfg = 5
Coverhead = 5*C access
Cflash = Caccess
Ccfg = 8
Coverhead = 5*Caccess
Cflash = Caccess
Ccfg = 8
Coverhead =
5*Caccess
Cflash = Caccess
Ccfg = 16
Coverhead = 5*Caccess
Cflash = Caccess/2
Ccfg = 4.5
Coverhead = 3*C access
Cflash = Caccess/2
Ccfg = 8
Coverhead = 3*Caccess
Cflash = Caccess/2
Ccfg = 8
Coverhead =
3*Caccess
Cflash = Caccess/2
Ccfg = 16
Coverhead = 3*Caccess
8 ビット
Cflash = 2
Ccfg = 1
Coverhead =
22*Caccess + 8
Cflash = 2
Ccfg = 2
Coverhead =
22*Caccess + 8
Cflash = 2
Ccfg = 8
Coverhead =
22*Caccess + 8
Cflash = 2
Ccfg = 16
Coverhead =
22*Caccess + 8
16 ビット
Cflash = 1
Ccfg = 1
Coverhead =
20*Caccess + 8
Cflash = 1
Ccfg = 2
Coverhead =
20*Caccess + 8
Cflash = 1
Ccfg = 8
Coverhead =
20*Caccess + 8
Cflash = 1
Ccfg = 16
Coverhead =
20*Caccess + 8
8 ビット
Cflash = 2
Ccfg = 4
Coverhead =
22*Caccess + 8
Cflash = 2
Ccfg = 8
Coverhead =
22*Caccess + 8
Cflash = 2
Ccfg = 8
Coverhead =
22*Caccess + 8
Cflash = 2
Ccfg = 16
Coverhead =
22*Caccess + 8
16 ビット
Cflash = 1
Ccfg = 4
Coverhead =
20*Caccess + 8
Cflash = 1
Ccfg = 8
Coverhead =
20*Caccess + 8
Cflash = 1
Ccfg = 8
Coverhead =
20*Caccess + 8
Cflash = 1
Ccfg = 16
Coverhead =
20*Caccess + 8
8 ビット
16 ビット
ノーマル
バース
ト・モー
ド
2009 年 12 月
用
圧縮および /
または暗号
化
PS モード
DCLK 比率 = 1
16 ビット
ノーマ
ル・モー
ド
FPP モード
Altera Corporation
DCLK 比率 = 1
DCLK 比率 = 2
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
22
PFL コンフィギュレーション時間
表 6. PFL v7.2 用の方程式 ( その2 )
フラッ
シュ・ア
クセス・
モード
ページ・
モードの
アクセス
(1)
■
データ・オプ
ションのコン
フィギュレー
ション
フラッ
シュ・
データ幅
ノーマル
8 ビット
ノーマル
16 ビット
圧縮
8 ビット
圧縮
16 ビット
FPP モード
PS モード
DCLK 比率 = 1
DCLK 比率 = 2
DCLK 比率 = 1
DCLK 比率 = 2
Cflash = Caccess
Ccfg = 2
Coverhead = 5*Caccess
Cflash = Caccess
Ccfg = 3
Coverhead = 5*Caccess
Cflash = Caccess
Ccfg = 8
Coverhead =
5*Caccess
Cflash = Caccess
Ccfg = 16
Coverhead = 5*C access
Cflash = Caccess / 2
Ccfg = 1.5
Coverhead = 3*Caccess
Cflash = Caccess / 2
Ccfg = 2.5
Coverhead = 3*Caccess
Cflash = Caccess / 2
Ccfg = 8
Coverhead =
3*Caccess
Cflash = Caccess / 2
Ccfg = 16
Coverhead = 3*Caccess
Cflash = Caccess
Ccfg = 5
Coverhead = 5*Caccess
Cflash = Caccess
Ccfg = 8
Coverhead = 5*Caccess
Cflash = Caccess
Ccfg = 8
Coverhead =
5*Caccess
Cflash = Caccess
Ccfg = 16
Coverhead = 5*Caccess
Cflash = Caccess / 2
Ccfg = 4.5
Coverhead = 3*Caccess
Cflash = Caccess / 2
Ccfg = 8
Coverhead = 3*Caccess
Cflash = Caccess / 2
Ccfg = 8
Coverhead =
3*Caccess
Cflash = Caccess / 2
Ccfg = 16
Coverhead = 3*Caccess
ノーマルおよびバースト・ボードには、
Caccess = Taccess*Fclk+1
クロック・サイクルの合計 (High に アサートされた nRESET からクロック・アウトされたデータの N バイト )
= Coverhead + max(Cflash, Ccfg )*N
コンフィギュレーション時間の合計 = クロック・サイクルの合計 / PFL 入力クロック
■
ページ・モードには、
Caccess =[(Taccess*Fclk+1) + (Tpage_access*Fclk*15)]/16
クロック・サイクルの合計 (High に アサートされた nRESET からクロック・アウトされたデータの N バイト )
= Coverhead + max (Cflash , Ccfg )*N
コンフィギュレーション時間の合計 = クロック・サイクルの合計 / PFL 入力クロック
表 6 の注 :
(1) Spansion ページ・モードのサポートは、QuartusII ソフトウェア v.8.0 以降にしか使用できません。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL コンフィギュレーション時間
23
次は、ノーマル・モード、ページ・モードおよびバースト・モードのコンフィギュ
レーション時間の計算の例です。
■
ノーマル・モードのコンフィギュレーション時間の計算 :
EP2S15 の .rbf サイズ = 577KB = 590,848 バイト
コンフィギュレーション・モード = データ圧縮および暗号化なしの FPP
フラッシュ・アクセス・モード = ノーマル・モード
フラッシュ・データ・バス幅 = 16 ビット
フラッシュ・アクセス時間 = 100 ns
PFL 入力・クロック = 100 MHz
DCLK 比率 = 2
次の式は、この計算に使用されます。
Caccess = Taccess*Fclk + 1
ノーマル・モードの Cflash = Caccess / 2
Ccfg = 2.5
Coverhead = 3*Caccess
クロック・サイクルの合計 = Coverhead + max (Cflash, Ccfg)*N
コンフィギュレーション時間の合計 = クロック・サイクルの合計 / PFL 入力
クロック
式に値を入力します。
Caccess = (100 ns * 100 MHz) + 1 = 11
Cflash = 11/2 = 5.5
Ccfg = 2.5
Coverhead = 3*11 = 33
クロック・サイクルの合計 = 33 + 5.5 * 590848 = 3249697
100 MHz でのコンフィギュレーション時間の合計 = 9453571 / 100 × 106 = 32.5 ms
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
24
PFL コンフィギュレーション時間
■
ページ・モードのコンフィギュレーション時間の計算 :
EP2S15 の .rbf サイズ = 577 KB = 590,848 バイト
コンフィギュレーション・モード = データ圧縮および暗号化なしの FPP
フラッシュ・アクセス・モード = ページ・モード
フラッシュ・データ・バス幅 = 16 ビット
フラッシュ・アクセス時間 = 100 ns
PFL 入力クロック = 100 MHz
DCLK 比率 = 2
次の式は、この計算に使用されます。
Tpage_access = 30 ns
Caccess = [(Taccess*Fclk+1) + (Tpage_access*Fclk *15)] / 16
ページ・モードの Cflash = Caccess / 2
Ccfg = 2.5
Coverhead = 3*Caccess
クロック・サイクルの合計 = Coverhead + max (Cflash, Ccfg)*N
コンフィギュレーション時間の合計 = クロック・サイクルの合計 / PFL 入力
クロック
式に値を入力します。
Caccess = [((100ns *100 MHz) + 1) + (30ns*100 MHz*15)] / 16 = 3.5
ページ・モードの Cflash = 3.5 / 2 = 1.75 = 2
Ccfg = 2.5
Coverhead = 3*3.5 = 10.5
クロック・サイクルの合計 = 10.5 + 2.5*590848 = 1477130.5
100 MHz でのコンフィギュレーション時間の合計 = 1477130.5 / 100 × 106 =
14.77 ms
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェアに PFL の使用
■
25
バスと・モードのコンフィギュレーション時間の計算 :
EP2S15 の .rbf サイズ = 577KB = 590,848 バイト
コンフィギュレーション・モード = データ圧縮および暗号化なしの FPP
フラッシュ・アクセス・モード = バスと・モード
フラッシュ・データ・バス幅 = 16 ビット
フラッシュ・アクセス時間 = 100 ns
PFL 入力クロック = 100 MHz
DCLK 比率 = 2
次の式は、この計算に使用されます。
Caccess = Taccess*Fclk + 1
Cflash for Burst Mode = 1
Ccfg = 2
Coverhead = 20*Caccess + 8
クロック・サイクルの合計 = Coverhead + max (Cflash, Ccfg)*N
コンフィギュレーション時間の合計 = クロック・サイクルの合計 / PFL 入力
クロック
式に値を入力します。
Caccess = (100ns *100 MHz) + 1 = 11
Cflash = 1
Ccfg = 2
Coverhead = (20*11) + 8 = 228
クロック・サイクルの合計 = 228 + 2*590848 = 1181924
100 MHz でのコンフィギュレーション時間の合計 = 1181924 / 100 × 106 =
11.82 ms
Quartus II ソフトウェアに PFL の使用
この項では、Quartus II ソフトウェアで提供された PFL の機能を使用するためのプロ
セスを説明します。そのプロセスは、次を含めます。
1
■
デザインにおける PFL メガファンクションのインスタンス化。
■
アルテラ FPGA のコンフィギュレーション・データを含む .sof をフラッシュ・デバ
イス向けに設計された .pof に変換するプロセス。
■
MAX II デバイスを介して Quartus II Programmer でフラッシュ・デバイスに .pof をプ
ログラムするプロセス。
すべての未使用ピンは、デフォルトでグランドに設定されます。アルテラは、すべ
ての未使用ピンをトライ・ステートに設定することを推奨します。そうしないと、
干渉を起こす可能性があります。
すべての未使用ピンをトライ・ステートに設定するには、以下のステップを実行し
ます。
1. Assignments メニューでは、Device をクリックします。次に、Device and Pin
Options を選択します。
2. Unused Pins をクリックし、Reserve all unused pins のプルダウン・リストからの項
目を選択します ( 図 16 を参照 )。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
26
Quartus II ソフトウェアに PFL の使用
図 16. すべての未使用ピンの予約
図 17 では PFL を使用する方法を示します。Quartus II ソフトウェアは、JTAG ピンの
シミュレーションまたは MAX II かフラッシュ・デバイスのプログラミング・プロセ
スをサポートしません。ただし、シミュレーションは、FPGA コンフィギュレーショ
ンに使用可能ですが、適切なフラッシュ・ベクトルおよび FPGA 応答が必須です。
flash_addr および flash_data は、フラッシュ・ベクトルの例です。FPGA 応答の
例は、fpga_conf_done および fpga_nstatus です。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェアに PFL の使用
27
図 17. Quartus II ソフトウェアの PFL ステップ
Create new FPGA
designs
Create a new MAX II design,
instantiate the PFL Megafunction in
the MAX II design, and set
Pin Assignments
Compile and
obtain the
FPGA
.sof(s)
Compile
and obtain
MAX II
.pof
Add the .sof(s) for conversion to .pof
Add the MAX II .pof to the
Quartus II Programmer
Convert to
.pof for the
Targeted
Flash
Add the flash .pof in the
Quartus II Programmer
Create the optional Jam
programming file
Program the MAX II and Flash Devices
MAX II configures the FPGA with the
configuration data from the Flash Device
QuartusII ソフトウェア内の PFL メガファンクションのインスタンス化
PFL メガファンクションのインスタンス化を生成するには、以下のステップを実行し
ます。
1
アルテラは、MAX II トップ・レベル・デザインでメガファンクションをイ
ンスタンス化することを推奨しています。
1. Tools メニューの MegaWizard Plug-In Manager を選択します。
2. Create a new custom megafunction variation を選択して、Next をクリックします。
3. MAX II デバイス・ファミリを選択します。
4. メガファンクション・リストの Parallel Flash Loader を選択します。
5. Hardware Description Language (HDL) の出力ファイル・タイプを選択します。そし
て、Next をクリックします (Verilog HDL はこの例に選択 )。
6. ディレクトリおよび出力ファイル名を指定します。ダイアログ・ボックスは、示
された図 18 と同様です。次に、Next をクリックします。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
28
Quartus II ソフトウェアに PFL の使用
図 18. PFL メガファンクションの選択
7. 表 7、31 ページの図 19、31 ページの図 20、および 32 ページの図 21 に示されて
いるように、メガファンクション設定を指定します。
表 7. PFLPLL メガファンクションのオプション設定 ( その1 )
メガファンクション・オ
プション
Operating mode
Number flash device
connected
説明
フラッシュ・プログラミングおよび FPGA のコンフィギュレーションのオペレー
ティング・モードです。一個のメガファンクションで制御するかまたは個別のブ
ロックで機能によって制御します。
接続したフラッシュ・デバイスの数
PFL に接続されたフラッシュ・デバイスの数を指定します。許容されるフラッ
シュ・デバイスの最大数は 16 個です。
Largest flash density
FPGA コンフィギュレーションにプログラムされる、または使用されるフラッ
シュ・デバイスの集積度。1 個以上のフラッシュ・デバイスが PFL に接続される
場合、最大のフラッシュ集積度を指定します。
Flash interface data width
使用するフラッシュ・デバイスによって、フラッシュ・データ幅は、8、16、ま
たは 32 ビットとなります。複数のフラッシュ・デバイス・サポートには、すべ
ての接続されているフラッシュ・デバイスに、データ幅は同じでなければなりま
せん。
Tri-state flash bus
PFL がフラッシュにアクセスする必要はないときに、フラッシュ・デバイスに接
続するすべてのピンをトライ・ステートします。
flash_nreset
フラッシュ・デバイスのリセット・ピンに接続するには、PFL で flash_nreset
ピンを作成します。Low 信号は、フラッシュ・デバイスをリセットします。バー
スト・モードで、このピンはデフォルトで使用可能です。
Flash programming IP
optimization
フラッシュ・プログラミング IP は、速度または面積に最適化されます。速度に最
適化された IP は、より速いフラッシュ・プログラミング時間を許容しますが、メ
ガファンクションは、より多くのロジック・エレメントを使用するようになりま
す。面積に最適化された IP は、IP がより少ない LE を使用することを意味します
が、フラッシュ・プログラミング時間は長くなります。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェアに PFL の使用
29
表 7. PFLPLL メガファンクションのオプション設定 ( その2 )
メガファンクション・オ
プション
説明
FIFO size
フラッシュ・プログラミング IP が速度に最適化されるときに、PFL は、フラッ
シュ・プログラミングのとき、FIFO をプログラミング・データの一時的な保存と
して実装するには、追加の LE を使用します。より大きい FIFO サイズで、プログ
ラミング時間は短かくなります。
External clock frequency
メガファンクションが FPGA をコンフィギュアするために、ユーザーが提供した
クロックの周波数。コンフィギュレーションにおいて、PFL は入力クロック周波
数を最大 2 に分割できますので、指定されたクロック周波数は FPGA に対応でき
る最大クロック周波数 (DCLK) の 2 倍を超えてはいけません。
Flash access time
フラッシュのアクセス時間。フラッシュ・デバイスで必要な最大のアクセス時間
は、フラッシュのデータシートに記載しています。アルテラは、必要な時間より
同じフラッシュ・アクセス時間、または長いフラッシュ・アクセス時間を指定す
ることを推奨しています。
Option-bit byte address
オプション・ビットがフラッシュ・デバイスに格納される開始アドレス。開始ア
ドレスは 8-K バイト境界にある必要があります。
FPGA configuration scheme
PS または FPP のいずれかかの FPGA のコンフィギュレーション手法。
コンフィギュレーション失敗後のコンフィギュレーションの動作。3 つのオプ
ションがあります :
Configuration failure options
■
Halt — FPGA コンフィギュレーションは失敗の後に完全に停止します。
■
Retry same page — 失敗の後に、PFL がコンフィギュレーションの失敗した同じ
ページから FPGA の再コンフィギュレーションを開始します。
■
Retry from fixed address — PFL は失敗の後に次のオプション・フィールドで指定
された既定アドレスからのデータを FPGA の再コンフィギュレーションを開始
します。
Byte address to retry from
on configuration failure
コンフィギュレーション障害オプションが Retry from fixed address に設定される場
合、PFL のフラッシュ・アドレスを指定することにより、コンフィギュレーショ
ン障害が発生したとき、再コンフィギュレーションから読み出すことができま
す。
Include input to force
reconfiguration
FPGA の再コンフィギュレーションをイネーブルするためのオプション・ピン。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
30
Quartus II ソフトウェアに PFL の使用
表 7. PFLPLL メガファンクションのオプション設定 ( その3 )
メガファンクション・オ
プション
説明
入力クロックおよび DCLK 間の 1、2、4、または 8 の比率。
Ratio between input clock
and DCLK output clock
■
比率 8 は、8 つの外部クロックごとに、
pfl_clk が 1 個の fpga_dclk を生成する
ことを意味します。
■
比率 4 は、4 つの外部クロックごとに、
pfl_clk が 1 個の fpga_dclk を生成する
ことを意味します。
■
比率 2 は、2 つの外部クロックごとに、
pfl_clk が 1 個の fpga_dclk を生成する
ことを意味します。
■
比率 1 は、1 つの外部クロックごとに、
pfl_clk が 1 個の fpga_dclk を生成する
ることを意味します。
FPGA コンフィギュレーションのときにリードのプロセスに総合的なフラッシュ・
アクセス時間を向上するオプション。
Use advance read mode
■
Burst mode — Numonyx P30 および P33 フラッシュ・デバイスのみに使用できま
す。シーケンシャル・リード・アクセス時間を減少します。
■
Page mode — Spansion GL フラッシュ・デバイスのみに使用できます。
■
Numonyx burst mode — Numonyx M58BW フラッシュ・デバイスのみに使用できま
す。
■
Normal mode— すべてのフラッシュ・デバイスに使用できます。
フラッシュ・デバイスのリード・アクセス・モードについて詳しくは、それぞれ
のフラッシュ・デバイスのウェブサイトを参照してください。
8. Next をクリックします。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェアに PFL の使用
31
図 19、図 20、および図 21 には、メガファンクションの設定を示します。
図 19. PFL メガファンクションの設定
図 20. PFL メガファンクションの設定
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
32
Quartus II ソフトウェアに PFL の使用
図 21. PFL メガファンクションの設定
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェアに PFL の使用
33
図 22 には、メガファンクションに必要なシミュレーション・ファイルを示します。
PFL は、シミュレーション・ファイルを持っていなくて、シミュレーションできない
理由で、PFL メガファンクションのシミュレーション・ファイルがこのページにリス
トされません。ただし、適切なフラッシュ・ベクトルおよび FPGA 応答があるという
条件で、FPGA コンフィギュレーションのシミュレーションは可能です。詳しくは、
ページの 43「PFL コンフィギュレーションのシミュレーション」を参照します。
図 22. 必要なシミュレーション・ファイルのリスト
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
34
Quartus II ソフトウェアに PFL の使用
図 23 には、メガファンクションのために作成されるファイルを示します。作成した
い追加ファイルのタイプを選び、そして、Finish をクリックします。Quartus II ソフ
トウェアは指定した HDL ファイルで PFL メガファンクションを生成します ( 指定さ
れる場合 )。
図 23. PFL メガファンクション用の出力ファイル・タイプを選択
フラッシュ・デバイスの .sof を .pof に変換
FPGA デバイスが生成した .sof を使用して、フラッシュ・デバイス .pof を作成します。
また、フラッシュ・デバイス .pof を作成するときのデータを含む .hex を選択するこ
とにより、他の非コンフィギュレーション・データを .pof に追加することができま
す。
.sof を .pof に変換するには、これらのステップを実行します :
1. File メニューの Convert Programming Files を選択します。
2. プログラミング・ファイルのタイプとしては、Programmer Object File(.pof) を指定
します。そして、ファイルに名前をつけます ( 図 24 を参照 )。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェアに PFL の使用
35
図 24. 変換プログラミング・ファイルのタブ
3. コンフィギュレーション・デバイスの正しい集積度の CFI デバイスを選択します
( 例えば、CFI_32Mb は 32-M ビットの容量のある CFI デバイスを意味する )。
4. コンフィギュレーション・データを追加するには、Input files to convert の下で
SOF Data を選択します。Add File をクリックします。そして、追加したい .sof にブ
ラウズします。
FPGA のチェーンをコンフィギュレーションする場合、1 個以上の .sof を同じページ
に配置することができます。.sof の順序は、チェーンにおけるデバイスの順序に
ならないとはいけません。
他の .sof からのデータをほかのページに保存する場合、Add .sofs Data をクリック
します。新しいページに .sof を追加します。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
36
Quartus II ソフトウェアに PFL の使用
5. ページ番号と名前を設定するには、SOF Data を選択し、Properties をクリックし
ます。図 25 には、SOF Data Properties のダイアログ・ボックスを示します。
図 25. SOF Data Properties
6. Address mode for selected pages の Auto を選択して、Quartus II ソフトウェアにその
ページ開始アドレスを自動的に設定させます。
7. Block を選択して開始アドレスと終端アドレスを指定するか Block を選択して、ま
たは Start を選択して開始アドレスだけを指定します。OK をクリックします。
8. また、フラッシュ・デバイスに .hex ユーザー・データを保存できます。
a. Convert Programming Files(35 ページの図 24) ウィンドウの Input files to convert
ウィンドウで Add Hex Data を選択します。
b. Add Hex Data ダイアログ・ボックスで、絶対、または、相対アドレッシング・
モード ( 図 26 を参照 ) を選びます。
■
絶対アドレッシング・モードを選択する場合、.hex のデータは .hex に記載され
た同じアドレスの位置でフラッシュ・デバイスにプログラムされます。
■
相対アドレッシング・モードを選択する場合、開始アドレスを指定できます。
.hex データは特定の開始アドレスでフラッシュにプログラムされ、そして、ア
ドレスの差は保たれます。アドレスが指定されない場合、Quartus II ソフト
ウェアはアドレスを選択します。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェアに PFL の使用
37
図 26. Add Hex Data
9. Options をクリックして、オプション・ビットが格納される開始アドレスを指定
します。この開始アドレスは、PFL メガファンクションを作成するとき指定され
たアドレスと同じにすることが必要です。オプション・ビット・セクターがコン
フィギュレーション・データ・ページに重なり合うがが全くないこと、そして開
始アドレスが 8-K バイト境界にあることを確実します。
10.圧縮および暗号化されたデータのいずれか、またはその両方でプログラミング・
ファイルを生成するには、SOF Data の下で .sof を選択します。そして、
Properties をクリックします。Compression または Generate encrypted bitstream の
チェック・ボックスいずれか、またはその両方をオンにします。
f
暗号化されたコンフィギュレーション・ファイルは Stratix II および
Stratix III デバイス・ファミリでサポートされます。Stratix II デバイス・
ファミリのデザイン・セキュリティ機能について詳しくは、AN 341:
Using the Design Security Feature in Stratix II and Stratix II GX
Devices を参照します。
11.OK をクリックして、.pof を作成します。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
38
Quartus II ソフトウェアに PFL の使用
MAX II およびフラッシュ・デバイスのプログラミング
Quartus II Programmer で、シングル・ステップまたは別々のステップで MAX II デバイ
スおよびフラッシュ・デバイスをプログラムできます。シングル・ステップで、以
下のように、まずは MAX II デバイス、そして、フラッシュ・デバイスをプログラム
します :
1. Quartus II Programmer ウィンドウを開き、そして、Add File をクリックして、
MAX II デバイスのための .pof を追加します。
2. MAX II .pof を右クリックし、そして、図 27 に示されているように、Attach Flash
Device をクリックします。
図 27. フラッシュ・デバイスの接続
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
Quartus II ソフトウェアに PFL の使用
39
3. Flash Device のポップアップ・メニュー ( 図 28 参照 ) でプログラムされるフラッ
シュ・デバイスの集積度を選択します。
図 28. フラッシュ・デバイスの選択
4. 追加されたフラッシュ・デバイスの集積度を右クリックし、そして、Change
File( 図 29 を参照 ) をクリックします。
5. フラッシュ・デバイス用の生成された .pof を選択します。フラッシュ・デバイス
用の .pof は MAX II デバイスの .pof に接続されます。
図 29. フラッシュ .pof の接続
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
40
Quartus II ソフトウェアに PFL の使用
6. 他のプログラミング・ファイルを追加します(チェーンに他のデバイスがある場
合)。
7. 追加された .pof( 図 30 を参照 ) の Program/Configure カラムのボックスをチェッ
クします。そして、Start をクリックして、MAX II デバイスおよびフラッシュ・デ
バイスをプログラムします。
Quartus II Programmer を使用することにより、MAX II デバイスに PFL メガファンクショ
ンが含まれている場合は、コンフィギュレーション・データ・ページ、ユーザー・
データ・ページとオプション・ビット・セクタを独立してプログラム、検証、消去、
ブランク・チェックまたは確認することができます。
1
フラッシュ .pof がプログラミングの前に選択されると、Quartus II Programmer は全体
のフラッシュ・デバイスを消去します。Quartus II Programmer がフラッシュ・デバイ
スで他のセクタを消去しりのを防止するには、ページ、.hex データ、およびオプ
ション・ビットだけを選択します。
1
フラッシュ・デバイスを使用して、ユーザー・データだけを保存するとき、FPGA の
コンフィギュレーションを防ぐには、いつも pfl_nreset ピンを Low にプルダウン
します。
図 30. MAX II およびフラッシュ・デバイスのプログラミング
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
複数のフラッシュ・プログラミング
41
複数のフラッシュ・プログラミング
PFL は、複数のフラッシュが最大 16 個のフラッシュ・デバイスのプログラミングをサ
ポートします。この機能で、フラッシュ・プログラミングを連続して実行するため
に、PFL は複数のフラッシュ・デバイスに接続できます。PFL の複数のフラッシュ・
プログラミングは、速度と面積モードの両方のフラッシュ・プログラミングをサ
ポートします。FPGA コンフィギュレーションでは、nCE[0] ピンに接続されたフ
ラッシュ・デバイスの内容だけがコンフィギュレーション・データとして使用され
ます。
複数のフラッシュ・プログラミング機能を使用するには、以下のステップを実行し
ます :
1. PFL MegaWizard Plug-In Manager ( 図 31 を参照 ) では、MAX II デバイスに接続され
たフラッシュ・デバイスの数を選択します。
図 31. PFL Megawizard
2. ブロック図で、PFL の nCE ピンをフラッシュ・デバイスの nCE ピンに接続しま
す。デザインをコンパイルします。
3. Quartus II Programmer の Auto Detect をクリックします。MAX II デバイスは主要項
目として表示され、次にはデバイス・ツリーに二次項目として CFI フラッシュ・
デバイスのリストが表示されます ( 図 32 を参照 )。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
42
複数のフラッシュ・プログラミング
図 32. Auto Detect のフラッシュ・デバイス
4. それぞれのフラッシュ・デバイス ( 図 33 を参照 ) にフラッシュ・デバイスの
.pof をロードします。
図 33. .pof のあるフラッシュ・デバイス
5. Quartus II Programmer で必要な動作のボックスをチェックします。そして、Start
をクリックします。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
MAX II およびフラッシュ・デバイス・プログラミングの .jam ファイルの作成
43
MAX II およびフラッシュ・デバイス・プログラミングの .jam
ファイルの作成
MAX II デバイスとフラッシュ・デバイスをプログラムして、Jam™ Standard Test and
Programming Language (STAPL) (.jam) プログラミング・ファイルを使用するには、以
下のステップを実行してください。
1. Quartus II Programmer を開いて、MAX II.pof とフラッシュ .pof を追加します ( ペー
ジの 38「MAX II およびフラッシュ・デバイスのプログラミング」のステップ 1
~ 6 に従います )。
2. File メニューでは、Create/Update をポイントして、そして、Create JAM, SVF, or
ISC File をクリックします。
3. ファイル名を入力して、そして、ファイルのフォーマット (.jam) を選択します。
OK をクリックします
Quartus II Programmer または quartus_jli 実行コマンドで .jam を使用します。
f
quartus_jli 実行コマンドについて詳しくは、AN 425: Using Command-Line Jam
STAPL Solution for Device Programming を参照してください。
PFL コンフィギュレーションのシミュレーション
正しいシミュレーション・ベクトルで、Quartus II Simulator で PFL のコンフィギュ
レーション部分のシミュレーションをして、PFL のコンフィギュレーション動作を把
握できます。その Quartus II Simulator のあるシミュレーションは、Vector Waveform File
(.vwf) およびフラッシュ・デバイスを表すシンプル VHDL ファイルを使用します。こ
の VHDL ファイルはこのアプリケーション・ノートで利用可能です。PFL の入力に正
しい入力ベクトルを供給することにより、シミュレーション波形のメガファンク
ションから正しい出力が見られます。
この項では、PFL コンフィギュレーションのシミュレーションについて説明します。
図 34 および図 35 はこのシミュレーションのための PFL メガファンクション・セッ
トアップを示します。
シミュレーションを開始する前に、デザイン・エントリとしてブロック図を使用す
る場合、まず PFL メガファンクションをインスタンス化して、デザインの VHDL ファ
イルのフラッシュ・デバイス用のシンボルを作成する必要があります。このシミュ
レーションは、デザイン・エントリとしてブロック図を使用します。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
44
PFL コンフィギュレーションのシミュレーション
図 34. PFL メガファンクションのセットアップ
図 35. PFL メガファンクションのセットアップ
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL コンフィギュレーションのシミュレーション
45
フラッシュ・デバイス VHDL ファイルは、以下の設定が含まれています :
■
フラッシュ・デバイス集積度 : 64 M ビット
■
オプション・ビット : 0x1FE000
■
データ幅 : 8 ビット
手動で VHDL ファイルを編集することにより、フラッシュ・デバイスの集積度を変更
することができます。File メニューでは、Create/Update をポイントして、Create
Symbol Files for Current File をクリックすると、ファイルのシンボルが作成できます。
シンボルの作成中には、VHDL ファイルが開いているのを確実します。フラッシュ・
デバイス・シンボルは Symbol ウィンドウに表示されます。
1
フラッシュ・メモリ VHDL ファイルは、コンフィギュレーションのノーマル・モード
にしか使用できません。
Quartus II ソフトウェアの Block Diagram/Schematic File では、図 36 に示されるように
addr、do、および nread ピンを PFL メガファンクションの flash_addr、
flash_data、および noe に接続します。
図 36. PFL の接続
メガファンクションのインスタンス化、そして入力、出力、または双方向ピンにす
べてのポートの接続、およびデザインのコンパイルが完了した後、.vwf を作成し始
めることができます。新しい .vwf は、少なくとも 200 µs の終了時間が必要です。
f
2009 年 12 月
用
「Quartus II ハンドブック v3」の
新しい .vwf を作成する方法について詳しくは、
「Quartus II シミュレータ」の章を参照してください。
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
46
PFL コンフィギュレーションのシミュレーション
表 8 は、このシミュレーションに .vwf 内の PFL の入力ポートへの割り当てられる入
力ベクトルを記載します。
表 8. 入力ベクトルの設定
入力
設定
pfl_clk
36-MHz のクロック入力。
fpga_conf_done
入力が Low のとき、コンフィギュレーションは完全ではありませ
ん。
fpga_nstatus
入力が High のとき、デバイスはコンフィギュレーション可能な状
態となります。
fpga_pgm[2:0]
PFL が 0 ページから読み出すときには、入力を 000 に設定します。
pfl_flash_access_granted
入力が High のとき、PFL はフラッシュにアクセスできます。
pfl_nreset
入力が High のとき、PFL のリセット状態を終了します。
pfl_nreconfigure
入力が High のとき、FPGA 再コンフィギュレーションを開始します。
flash_data
オプション・ビットおよび FPGA コンフィギュレーション・データ
のデータ読み出しを含む双方向バス。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL コンフィギュレーションのシミュレーション
47
図 37 には、このシミュレーションの入力ベクタを示します。
図 37. シミュレーションの入力ベクトル
オプション・ビット開始アドレスは 0x1FE000 です (PFL メガファンクションがイン
スタンス化されると、0x1FE000 は指定されている )。PFL は、アドレス 0x1FE0080 か
ら読み込みます(0x1FE0080 はオプション・ビット・セクタの最後のアドレスであ
る)。このアドレスは、フラッシュをプログラムするための使用される .pof のバー
ジョン情報を格納して、コンフィギュレーション・プロセスには影響しません。
fpga_pgm[2..0] が 000 に設定されるため、
ページ 0 および Page-Valid ビットの開始、
終了アドレスを取得するには、PFL はアドレス 0x1FE000 から 1FE003 まで読み取りま
す (LSB はアドレス 0x1FE000 にある )。
Page-Valid ビットは、コンフィギュレーションが続行するためには 0 でなければなりま
せん。PFL がフラッシュから読み出すとき、PFL は、flash_nce および flash_noe
が Low、そして pfl_flash_access_request 信号が High にアサートします。
2009 年 12 月
用
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
48
PFL コンフィギュレーションのシミュレーション
図 38 には、コンフィギュレーションが始まる前に、PFL フラッシュからオプショ
ン・ビットを読み込むことを示します。
図 38. PFL のオプション・ビットの読み出し
0 ページのオプション・ビットを読み込んだ後に、コンフィギュレーションが始まる
前に、待ち時間があります。オプション・ビットが読み込まれた後に、
flash_data バスに 0xZZ が含まれるので、フラッシュから読み出すコンフィギュ
レーション・データは 0xZZ です。fpga_dclk がトグルし始めるとき、コンフィ
ギュレーションは開始します。そして、fpga_data[0] は、FPGA に送信されるコ
ンフィギュレーション・データです。フラッシュの MSB にはコンフィギュレーショ
ン・データの LSB が含まれているため、シミュレーション波形は、コンフィギュ
レーション・データが 8 つの fpga_dclk パルスに伴うフラッシュ・データのトグ
ル・データであることを示しています。コンフィギュレーションの間、PFL は、
flash_nce および flash_noe を Low、そして pfl_flash_access_request を
High にアサートします。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
PFL コンフィギュレーションのシミュレーション
49
図 39 には、コンフィギュレーションの開始を示します。コンフィギュレーションが
開始するときに、flash_data バスは 0×11 を含んでいます。コンフィギュレーショ
ン・データは flash_data の 0×88 のトグルです。
図 39. PFL コンフィギュレーションの開始
コンフィギュレーションのプロセスは、fpga_conf_done 信号を High に設定する
まで続きます(コンフィギュレーションが完成であることを示す)。また、PFL は
flash_nce およびflash_noe をHigh、そして pfl_flash_access_request を Low
にアサートします(PFL がフラッシュから読み込まないことを示す)。
1
2009 年 12 月
用
図 39 に示されているのは、nconfig 信号の実際の動作ではありません。nconfig 信
号は、外部抵抗で High にプルアップすることが必要です。詳しくは、FPGA ハンド
ブックの Configuration の章を参照してください。
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
50
参考資料
参考資料
■
AN 341: Using the Design Security Feature in Stratix II and Stratix II GX
Devices
■
AN 425: Using Command-Line Jam STAPL Solution for Device Programming
■
Configuration Handbook
■
Nios II Flash Programmer User Guide
■
Nios II Processor Reference Handbook
■
Quartus II ハンドブック v3 の「Quartus II Simulator」の章
■
Quartus II ハンドブック v4 の「SOPC Builder Components」の章
改訂履歴
表 3 に、このアプリケーション・ノートの改訂履歴を示します。
表 9. 改訂履歴 ( その1 )
日付およびリ
ビジョン
2009 年 12 月、
v5.0
変更内容
■
表 1、表 3、表 7、および 表 8 を更新。
■
図6、図19、図 21、図 28、図 31、および図34を更
新。
■
テキストのマイナーな編集。
■
表 1、表 3、表 6、および表 7 を更新。
■ 「PFL
概要
̶
̶
コンフィギュレーション時間」の項を更
新。
■ 「Quartus
II ソフトウェア内での PFL メガファン
クションのインスタンス化」の項を更新。
2009 年 4 月、
v4.2
■
図 19、図 22、図 23、および図 34 を取り替
え。
■
図 20、図 21、および図 35 を追加。
■ 「MAX
II デバイスおよびフラッシュ・デバイス
のプログラミング」の項を更新。
■
新しい項「複数のフラッシュ・プログラミン
グ」を追加。
■
表 1 を更新。
̶
■ 「ページ・モードの実装」から「フラッシュ
.pof のページ実装」にタイトルを変更。
2008 年 5 月、
v4.1
■
表 3 の注を追加。
■
図 14 および 図 15 のタイトルに ST ミクロを追
加。
■
表 7 を更新。
■
図 19 を更新。
■
図 29 を更新。
■
図 33 に脚注を追加。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
改訂履歴
51
表 9. 改訂履歴 ( その2 )
日付およびリ
ビジョン
2007 年 10 月、
v4.0
変更内容
概要
■
表 1 を更新。
■
表 2 を削除。
■
図 4 を更新。
■
図 5 に ( 注 1) を追加。
■
図 6、図 10、図 12 ~図 15、および図 17 を
更新。
■
表 3 のピン順序を更新と再編成。( 注 4) を追
加。
■ 「PFL
■
■
Quartus II ソフトウェア v7.2 のド
キュメントを更新。
■ 「PFL
デザイン例」項を追加。
デザイン例」および「MAX II お
よびフラッシュ・デバイス・プログ
ラミングの .jam ファイルの作成」
の項を追加。
表 6 の方式を更新。
■ 「Quartus II
ソフトウェアの PFL の使用」の項
で、図 17 ~図 23、および図 25 を更新。
■ 「MAX II
およびフラッシュ・デバイス・プログ
ラミングの .jam ファイルの作成」の項を追加。
■ 「PFL
コンフィギュレーションのシミュレーショ
ン」の項で、図 29 および図 30 を更新。
■
表 7 のピン順序を更新再編成。
■
図 1 を更新。
■
表 1 および表 2 を更新。
■ 「CFI
■
図 6 を更新。
■ 「PFL
■
2007 年 5 月、
v3.0
フラッシュのプログラミング」の項を更新
デザイン例」の項を追加。
表 3 を更新し、3 つの PFL 信号おとび表の注を追
加。
■
表 6 を更新し、表の注を更新。
■
図 18 を更新。
Quartus II ソフトウェア v7.1 のド
キュメントを更新。
■ 「PFL
■ 「Quartus
II ソフトウェア内の PFL メガファンク
ションのインスタンス化」の項のステップ 7 に
表 7 を追加。
■
■
コンフィギュレーションのシ
ミュレーション」の項を追加。
図 19、図 20、図 21、および図 22 を更新。
■ 「フラッシュ・デバイス用の
.sof を .pof に変換」
の項のステップ 7 を更新。
■
2009 年 12 月
用
図 24 を追加。
Altera Corporation
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使
52
改訂履歴
表 9. 改訂履歴 ( その3 )
日付およびリ
ビジョン
変更内容
■
表 1、表 2、および表 3 を更新。
概要
̶
■ 「フラッシュ
.pof のページ実装」の項の「自動
モード」の情報を更新。
■
図 5 および図 6 を更新。
■ 「PFL
コンフィギュレーション時間」の項を追
加。
■ 「PFL
およびフラッシュ・アドレスのマッピン
グ」の項を追加。
■ 「Quartus
2006 年 12 月、
v2.1
II ソフトウェア内の PFL メガファンク
ションのインスタンス化」の項のステップ 7 を
更新。
■ 「Quartus
II ソフトウェア内の PFL メガファンク
ションのインスタンス化」の項の図 19、
図 20、および図 21 を更新。
■ 「MAX II
およびフラッシュ・デバイスのプログ
ラミング」の項のステップ 2 を更新し、ステッ
プ 3 と 4 を追加。
■ 「MAX II
およびフラッシュ・デバイスのプログ
ラミング」の項の図 25 を更新し、図 26 と
図 27 追加。
■ 「MAX II
およびフラッシュ・デバイスのプログ
ラミング」を更新。
■
表 1 および注を更新。
■
図 5 および図 16 を更新。
■
表 2 を更新。
̶
■ 「ページ・モードの実装」 項を更新。
2006 年 10 月、
v2.0
■ 「Quartus II
ソフトウェアの PFL の使用」の項を
更新。
■ 「Quartus
II ソフトウェア内の PFL メガファンク
ションのインスタンス化」項を更新。
■ 「フラッシュ・デバイス用の
.sof を .pof に変換」
の項のステップ 7 d を更新。
■ 「MAX II
およびフラッシュ・デバイスのプログ
ラミング」項を更新。
Quartus II ソフトウェアでのパラレル・フラッシュ・ローダの使用
2009 年 12 月
Altera Corporation
改訂履歴
101 Innovation Drive
San Jose, CA 95134
www.altera.com
Technical Support
www.altera.com/support
Copyright © 2009 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized
Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service
marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other
countries. All other product or service names are the property of their respective holders. Altera products are protected
under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrants
performance of its semiconductor products to current specifications in accordance with Altera's standard warranty,
but reserves the right to make changes to any products and services at any time without notice. Altera assumes no
responsibility or liability arising out of the application or use of any information, product, or service
described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are
advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.