PFLメガファンクションは、Nios® IIプロセッサなどのプロセッサ類が、フラッシュ のプログラミングやFPGAのコンフィギュレーションなどの実行中にフラッシュ・メ モリ・デバイスにアクセスすることを可能にします。図 20にフラッシュ・メモリ・
デバイスのプログラム、およびFPGAのコンフィギュレーションのために、PFLメガ ファンクションをNios IIプロセッサで使用する方法を示します。コンフィギュレー ションされたNios IIプロセッサは、同一のフラッシュ・メモリ・デバイスに格納さ れているノン・コンフィギュレーション・データを使用します。
図 20. PFL とコントローラを使用したシングル・デバイス・コンフィギュレーション
図 20:注
(1) デバイスに許容入力信号を供給するため、プルアップ抵抗を接続する必要があります。VCCは、双方のデバイスI/OのVIH仕 様に十分に適合する高さにします。たとえば、Stratix IIの V IH仕様は1.7~3.3 Vの範囲ですので、プルアップ抵抗V CCは、V
IH仕様に適合させるために1.7~3.3 Vの範囲内になる必要があります。
(2) PSコンフィギュレーション・モードでは、1ビットのデータ・ラインになります。FPPコンフィギュレーション・モードで
は、8ビットデータバスになります。
(3) NCピン(no connect pin)には、V CCやGNDも含め何も接続しないでください。
(4) FPGAのコンフィギュレーション中でなければ、別のアルテラFPGAのNios IIプロセッサを使用することができます。
pfl_nreset
pfl_flash_access_granted
flash_addr flash_data flash_nwe flash_nce flash_noe
fpga_conf_done fpga_nstatus fpga_nconfig fpga_data fpga_dclk
CONF_DONE nSTATUS nCONFIG DATA DCLK
nCE nCEO
nRP nWP
ADDR DATA nWE nCE nOE WP#/ACC BYTE#
VCC 10k
VCC
Altera FPGA Altera CPLD
CFI Flash 10k
VCC VCC VCC 10k
(1) (1) (1)
(2)
Nios II Processor Interface
(3) (4)
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#
flash_access_request pfl_flash_access_request
NC
図 21に、PFLメガファンクション、CFIフラッシュ・メモリ・デバイス、および
Nios IIプロセッサの関係を示します。
ボードの電源投入時に、アルテラFPGAをNios IIプロセッサでコンフィギュレーショ ンする必要があります。フラッシュ・メモリ・デバイスにNios IIプロセッサ・イ メージを格納し、PFLメガファンクションを使用してイメージをアルテラFPGAにコ ンフィギュレーションします。プログラミングをするものと同じフラッシュ・メモ リ・デバイスにNios IIプロセッサ・イメージを格納する場合には、他のユーザー・
データでフラッシュ・メモリ・デバイスをプログラミングする際にNios IIプロセッ サ・イメージを上書きしないでください。
フラッシュ・メモリ・デバイスへのイメージの格納が望ましくない場合には、EPC
(エンハンスト・コンフィギュレーション)デバイス、またはEPCS(消去可能、プ ログラム可能、コンフィギュレーション可能なシリアル)メモリなどの、別のスト レージ・デバイスにNios IIプロセッサ・イメージを格納することができます。
図 21は、Nios IIプロセッサおよびPFLメガファンクションがフラッシュ・メモリ・
デバイスまで同じバス・ラインを共有していることを示しています。データの競合 を避けるために、プロセッサとメガファンクションとで、フラッシュ・メモリ・デ バイスを同時にプログラミング、または同時にアクセスしないでください。一度に フラッシュ・メモリ・デバイスにアクセスするコントローラをプロセッサ、または メガファンクションの1つだけにするために、PFLメガファンクションの
pfl_flash_access_requestとpfl_flash_access_grantedピンを使用して、片方のコ ントローラがフラッシュ・メモリ・デバイスにアクセスしている間の、他のコント ローラのフラッシュ・メモリ・デバイスへのすべての出力ピンをトライ・ステート にする必要があります。
図 21. デザイン例における 4 つのセクションの関係
Altera CPLD CFI Flash
Memory
Common Flash Interface
PFL
pfl_flash_
access_
granted
pfl_flash_
access_
request
Altera FPGA with NIOS II Processor
表 11に、pfl_flash_access_requestとpfl_flash_access_grantedピンの機能をリ ストします。
表 12に、二つのプロセッサが同時にフラッシュ・メモリ・デバイスにアクセスしな いようにするための、pfl_flash_access_requestとpfl_flash_access_grantedピ ンの使用メソッドをリストします。
1 PFLメガファンクションのSet bus pins to tri-state when not in useオプションは、
pfl_flash_access_grantedピンがLowになるたびに、PFLメガファンクションをディ セーブルにします。
図 22にフラッシュ・メモリ・デバイスへのアクセスのシーケンスを示します。
表 11. PFL フラッシュ・アクセス・ピン
ピン 概要
pfl_flash_access_request
PFLメガファンクションは、このピンをHighに駆動し てフラッシュ・メモリ・デバイスへのアクセスをリク エストします。
pfl_flash_access_granted
PFLメガファンクションは、このピンにHighの入力信 号を受信すると、いつでもフラッシュ・メモリ・デバ イスへのアクセスをイネーブルにします。
表 12. Nios II と PFL メガファンクションの pfl̲flash̲access̲request および pfl̲flash̲access̲granted ピン
信号 Nios II プロセッサ PFL メガファンクション
pfl_flash_access_requestピンへ の出力信号がHigh
フラッシュ・メモリ・デバイ スへのすべての出力ピンがト ライ・ステートになります。
pfl_flash_access_grantedピンがHigh の入力を受け、フラッシュ・メモリ・
デバイスにすべての入力ピンと出力ピ ンを接続します。
pfl_flash_access_requestでの出 力信号がLow
フラッシュ・メモリ・デバイ スへのすべてのピンを再接続 します。
pfl_flash_access_grantedピンがLowの 入力を受け、フラッシュ・メモリ・デ バイスへのすべての出力ピンがトライ・
ステートになります。
図 22. Nios II プロセッサおよび PFL メガファンクションのフラッシュ・メモリ・デバイスへのアクセス
Nios II processor connects to the flash device
The PFL megafunction pulls the pfl_flash_access_request pin high to request access to the flash device.
PFL megafunction requests access to flash device
Nios II processor releases the flash device
PFL megafunction accesses the flash device
By default, the Nios II processor is connected to the flash device.
All PFL megafunction output pins are tri-stated.
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.
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 megafunction is connected to the flash device.
1 PFLメガファンクションが未定義状態に入るのを防ぐために、アルテラはsafe state
machine設定をイネーブルにすることを推奨します。このオプションを設定するに
は、AssignmentメニューのSettingsをクリックし、次に、Analysis and Synthesisペー ジのSettingsダイアログ・ボックスで、More Settingsをクリックし、safe state
machineを選択します。
アルテラCPLDおよびNios IIプロセッサは、それぞれ個別のCFIフラッシュ・メモ
リ・デバイスのプログラミングをすることができます。両方のプロセッサが同時に CFIフラッシュ・メモリ・デバイスにアクセスすることを防止するために、CPLDお よびNios IIプロセッサのflash_access_grantedとflash_access_requestピンは互 いに接続されています。
f FPGAのコンフィギュレーションについて詳しくは、コンフィギュレーション・ハン ドブックを参照してください。また、Nios IIプロセッサについて詳しくは、Nios IIプ ロセッサ・リファレンス・ハンドブックを参照してください。
Nios IIプロセッサではなく他のプロセッサやコントローラを使用する場合、PFLメガ
ファンクションのpfl_flash_access_grantedおよびpfl_flash_access_requestピ ンを 38ページの表 12のメソッドでプロセッサと接続します。
また、プロセッサやコントローラに、フラッシュ・メモリ・デバイスのリードまた はライト・アクセス時間を指定する必要があります。データの競合を避けるために、
PFLメガファンクションがフラッシュ・メモリ・デバイスにアクセスする際、
pfl_flash_access_request信号がHighのときには、プロセッサからの出力ピンをト ライ・ステートにします。