• 検索結果がありません。

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
53
0
0

読み込み中.... (全文を見る)

全文

(1)

AN386-5.0 2009 年 12 月

レル・フラッシュ・ローダの使用

FPGA の集積度が増加される場合、より大きいコンフィギュレーション・ストレージ の必要性も高まっています。システムにコモン・フラッシュ・インタフェース(CFI) が内蔵されている場合は、そのシステムを FPGA コンフィギュレーション・ストレー ジにも利用できます。MAX® II デバイスのパラレル・フラッシュ・ローダ(PFL)機 能は、JTAG インタフェースを介して CFI フラッシュ・メモリ・デバイスをプログラ ムする効率的な方法、および Altera® FPGA に対するフラッシュ・メモリ・デバイスか らのコンフィギュレーションを制御するロジックを提供します。 図 1に、MAX II デバイスの PFL 機能を示します。

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 フラッシュ・メモリのパラレル・ アドレスまたはデータ・インタフェース間のブリッジとして動作します。アルテラ 図 1. MAX II の PFL 機能 図 1の注 : (1) サポートされる CFI フラッシュ・デバイスについて詳しくは、4 ページの表 1を参照してください。 (2) ファスト・パッシブ・パラレル(FPP)およびパッシブ・パラレル(PS)コンフィギュレーション手 法で、コンフィギュレーション・データがターゲット・デバイスにロードされます。FPP コンフィ ギュレーション手法に応じて、クロック・サイクルごとに 8 つのデータ・ビットをロードすることが できますが、PS コンフィギュレーション手法の場合は 1 ビットだけです。FPP および PS コンフィ ギュレーション手法について詳しくは、Configuration Handbookを参照してください。 CFI Flash Memory Altera FPGA Common Flash Interface Passive Serial or Fast-Passive Parallel Interface Quartus II Software using JTAG (2) (1) MAX II CPLD PFL

(2)

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 インタフェースを介してフラッシュ・メモリをプロ グラムするブリッジとして機能することを示します。

CFI フラッシュからアルテラ FPGA コンフィギュレーションの制御

MAX II デバイスはアルテラ FPGA コンフィギュレーションを制御します。専用アルテ ラのコンフィギュレーション・デバイスとは異なり、フラッシュ・メモリ・デバイ スは、コンフィギュレーション・データのみを格納して、FPGA コンフィギュレー ション・プロセスを制御するビルトイン・ロジックが含まれていません。MAX II デ バイスの PFL メガファンクション・ロジックは、コンフィギュレーション・プロセ ス、フラッシュ・メモリからのデータの読み込み、およびアルテラ FPGA コンフィ ギュレーションの起動時を判定します。 図 3に、MAX II デバイスが FPGA のコンフィギュレーション・ントローラとして機能 することを示します。 図 2. JTAG インタフェースを使用したフラッシュ・メモリのプログラミング MAX II CPLD CFI Flash Memory Altera FPGA Configuration Data Common Flash Interface PFL Quartus II Software using JTAG

Altera FPGA Not Used for Flash Programming

図 3. フラッシュ・メモリ・データが備えた FPGA コンフィギュレーション MAX II CPLD CFI Flash Memory Altera FPGA Common Flash Interface PFL Passive Serial or Fast-Passive Parallel Interface

(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 ソフトウェアは、プログラミング・ブリッジとコンフィギュレーションの

(4)

4 Quartus II ソフトウェア・サポート 表 1 に、PFL メガファンクションでサポートされるフラッシュ・メモリ、データ幅、 コンフィギュレーション・モードおよびファイル・フォーマットのタイプを示しま す。 表 1. Quartus II ソフトウェアでの PFL 機能でサポートされるフラッシュ・メモリ、データ幅、コンフィギュ レーション・モードおよびファイル・フォーマット ( その1 ) サポートされるフラッシュ・メモリ (1) データ幅 コンフィギュレーショ ン・モード (3) ファイル・フォー マット(4) メーカ デバイス名(2) (1), 集積度 (M ビット )

Numonyx 28F800C3 8 16 ビット PS および FPP POF、JEDEC STAPL

フォーマット (Jam)、および Jam STAPL バイト・ コード (JBC) 28F160C3 16 28F320C3 32 28F640C3 64 28F320J3 32 8/16 ビット 28F640J3 64 28F128J3 128 28F640P30 64 16 ビット 28F128P30 128 28F256P30 256 28F512P30 512 28F640P33 64 28F128P33 128 28F256P33 256 28F512P33 512 28F256M29EW 256 JS29F256J3 M29W256G M29W640F 64 M28W160CT 16 8/16 ビット M28W160CB M29W160FT M29W160FB M29W320E 32 M29W320FT M29W320FB M29W640G 64 M29W128G 128 M58BW32FB 32 16/32 ビット Spansion S29GL128N 128 8/16 ビット S29GL256N 256 S29GL512N 512

(5)

PFL のロジック・エレメント (LE) 使用は、PFL と Quartus II ソフトウェア設定にによっ て異なります。正確な LE の使用率を取得する唯一の方法は、Quartus II ソフトウェア で正確な設定で PFL デザインをコンパイルすることです。

フラッシュ .pof でのページの実装

PFL は、CFI フラッシュ・メモリ・ブロックにコンフィギュレーション・データを異な るページに最大 8 ページまで格納します。複数の FPGA(例えば、複数の .sof ファイ

Spansion S29AL016D 16 8/16 ビット PS および FPP POF, JEDEC STAPL

フォーマット (Jam)、および Jam STAPL バイト・ コード (JBC) S29AL032D 32 S29AL016M 16 S29JL032H 32 S29JL064H 64 S29AL016J 16 S29GL64N 65 S29GL128P 128 S29GL256P 256 S29GL512P 512 S29GL01GP 1024 Eon Silicon Solution EN29LV160B 16 16 ビット EN29LV320B 32 Macronix MX29LV160D 16 16 ビット MX29LV320D 32 MX29LV640D 64 MX29LV640E 64 MX29GL128E 128 MX29GL256E 256 表 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) フォーマットをサポートしません。 表 1. Quartus II ソフトウェアでの PFL 機能でサポートされるフラッシュ・メモリ、データ幅、コンフィギュ レーション・モードおよびファイル・フォーマット ( その2 ) サポートされるフラッシュ・メモリ (1) データ幅 コンフィギュレーショ ン・モード (3) ファイル・フォー マット(4) メーカ デバイス名(1), (2) 集積度 (M ビット )

(6)

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. フラッシュ・メモリのページ・モードおよびオプション・ビットによる実装 図 4の注 : (1) 異なる容量があるデバイスのアドレス範囲について詳しくは、表 2を参照してください。 (2) オプション・ビット・セクタのバイト・アドレス・ロケーションをを指定する必要があります。 Option Bits

Configuration Data (Page 2)

Configuration Data (Page 1)

Configuration Data (Page 0)

Page 2 Address + Page-Valid Page 1 Address + Page-Valid Page 0 Address + Page-Valid End Address 0x000000 8 Bits (2) (1) 32 Bits

(7)

ページ開始アドレスのビット 0 ~ 11 は、すべてゼロに設定され、オプション・ビッ トとして格納されません。 図 5に、各ページの開始アドレスおよび Page-Valid ビットがオプション・ビット・セ クタに格納される方法を示します。 表 2 には、異なる集積度の CFI デバイスのバイト・アドレス範囲を示します。 図 5. ページの開始アドレス、終了アドレスおよび Page-Valid ビットがオプション・ ビットとして格納 図 5の注 : (1) フラッシュ・バイト・アドレッシング・モード用 表 2. バイト・アドレス範囲 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

Page Start Address [19:13] Page-Valid Bit 7...Bit 1 Bit 0

Page Start Address [27:20] Bit 7...Bit 0 0x002000

0x002001

Page End Address [19:13] Bit 7...Bit 1 0x002002

Page End Address [27:20] Bit 7...Bit 0 0x002003

(8)

8 PFL の入力および出力信号

PFL の入力および出力信号

この項では、PFL メガファンクションの入力および出力信号を説明します。 図 6に、PFL メガファンクションのシンボルがフラッシュ・プログラミングおよび FPGA コンフィグレーションの両方をサポートするのを示します。 表 3に、PFL 信号の機能をリストし、コンフィギュレーション・ピンに必要である外 部のプルアップ抵抗を指定します。 f 特定のアルテラ FPGA ファミリのピンのコンフィギュレーションについて詳しくは、 Configuration Handbookを参照してください。 図 6. PFL メガファンクションのシンボル

(9)

表 3. PFL 信号 ( 注 1) ( その1 ) ピン 説明 プルアップウィーク・ 機能 pfl_nreset 入力 ̶ PFL に対する非同期リセット。FPGA のコ ンフィギュレーションをイネーブルする ために High にプルアップしてください。 それ以外の場合は、PFL を使用しないと き、FPGA のコンフィギュレーションを 防ぐには、いつも Low にプルダウンして ください。このピンは、フラッシュ・プ ログラミングには影響を与えません。 pfl_flash_access_granted 入力 ̶ システムレベルを同期させるために、使 用されます。このピンは、フラッシュへ のアクセスを制御するプロセッサまたは 任意のアービタでドライブされます。 PFL をフラッシュ・マスターとして動作 させる場合は、このアクティブ High ピ ンを永久に High に接続してください。 pfl_flash_access_granted ピンを Low にプルダウンすることにより、JTAG インタフェースがフラッシュおよび FPGA のコンフィギュレーションにアクセ スすることを防ぎます。 pfl_clk (2) 入力 ̶ デバイスのユーザー入力クロック。周波 数は、メガファンクションで指定された 周波数に一致する必要があり、コンフィ ギュレーション中に、特定の FPGA で指 定された最大の DCLK 周波数より高いこ とはできません。 (1) fpga_pgm[2..0] (2) 入力 ̶ コンフィギュレーションに使用するペー ジを決定します。 fpga_conf_done (2) 入力 10-kΩ のプ ルアップ抵 FPGA の CONF_DONE ピンに接続します。 コンフィギュレーションが成功した場 合、FPGA は High を出力します。 fpga_nstatus (2) 入力 10-kΩ のプ ルアップ抵 FPGA の nSTATUS ピンに接続します。コ ンフィギュレーション中にエラーが発生 した場合は、FPGA はこのピンを Low に プルダウンします。 pfl_nreconfigure (2) 入力 ̶ FPGA の再コンフィギュレーションを開始 します。 このピンは High または Low 入 力を選択するために、使用できるスイッ チに接続されます。Low 入力は FPGA の 再コンフィギュレーションを開始しま す。 入力 ̶ バースト・モードに使用されます。 フ

(10)

10 PFL の入力および出力信号 pfl_flash_access_request 出力 ̶ システム・レベルの同期化に使用されま す。 必要な場合、このピンはプロセッサ またはアービタに接続されます。 JTAG イ ンタフェースがフラッシュにアクセスす るか、または PFL が FPGA をコンフィ ギュレーションするとき、PFL はこのピ ンを High にドライブします。この出力 ピンは、flash_noe および flash_nwe ピンと連携して動作します。 flash_addr[x..0] (5) 出力 ̶ メモリ・アドレスの入力アドレス。 MSB は flash_data バスの幅と同様にフ ラッシュ・デバイスの容量によって異な ります。 flash_data[x..0] (5) 入力または 出力 ( 双方向ピン ) ̶ パラレルでフラッシュメモリの 8 ビット または 16 ビットのデータの送受信の データバス。(3) flash_nce [x..0] 出力 ̶ フラッシュ・デバイスの nCE ピンに接 続します。Low 信号はフラッシュ・メモ リをイネーブルします。複数のフラッ シュ・デバイスを対応させるには、この ピンを使用します。flash_nce ピンは 使用する各フラッシュデバイスの nCE ピンと接続されます。 flash_nwe 出力 ̶ フラッシュ・デバイスの nWE ピンに接 続します。Low 信号は、フラッシュ・デ バイスへのライト動作をイネーブルしま す。 flash_noe 出力 ̶ フラッシュ・デバイスの nOE ピンに接 続します。Low 信号はリード動作中にフ ラッシュ・デバイスの出力をイネーブル します。 flash_clk (4) 出力 ̶ バースト・モードに使用されます。 フ ラッシュ・デバイスの CLK 入力ピンに 接続します。 CLK のアクティブ・エッジ はフラッシュ・デバイスの内部のアドレ ス・カウンタを増分します。 flash_nadv (4) 出力 ̶ バースト・モードに使用されます。 フ ラッシュ・デバイスのアドレスの有効な 入力ピンに接続します。 開始アドレスを ラッチさせるには、この信号を使用しま す。 flash_nreset 出力 ̶ フラッシュ・デバイスのリセット・ピン に接続します。Low 信号はフラッシュ・ デバイスをリセットします。 表 3. PFL 信号 ( 注 1) ( その2 ) ピン 説明 プルアップウィーク・ 機能

(11)

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 FPGA コンフィギュレーションについて詳しくは、Configuration Handbookを参照し

てください。 fpga_data[x..0] (2) 出力 ̶ コンフィギュレーション中のフラッシュ から FPGA デバイスへのデータ出力。 PS モードは、fpga_data[0] の 1 ビット バスのデータラインです。そして、FPP モードでは、fpga_data[7..0] の 8 ビットのデータラインです。 fpga_dclk (2) 出力 ̶ FPGA の DCLK ピンに接続します。コン フィギュレーション中の FPGA デバイス へのクロック入力データ・ピンです。 fpga_nconfig (2) Open Drain 出力 10-kΩ のプ ルアップ抵

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 ピンの出力は未使用のピンの設定に依存します。

表 3. PFL 信号 ( 注 1) ( その3 )

(12)

12 PFL の入力および出力信号 図 8に、マルチ・デバイス・コンフィギュレーションの接続を示します。 図 7. コントローラと PFL の使用でのシングル・デバイスのコンフィギュレーション 図 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 でも実装されます。 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 MAX II CPLD CFI Flash 10k VCC 10k VCC VCC (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 図 8. マルチ・デバイス・コンフィギュレーションの接続 図 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 ビットのデータ・ラインです。 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 VCC 10k VCC Altera FPGA 1 MAX II CPLD CFI Flash 10k VCC 10k VCC VCC (1) (1) (1) (2) CONF_DONE nSTATUS nCONFIG DATA DCLK nCE nCEO NC Altera FPGA 2

(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 つのセクション間の関係 MAX II CPLD CFI Flash Memory Altera FPGA with Nios II Processor Common Flash Interface PFL pfl_flash_ access_ granted pfl_flash_ access_ request

(14)

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

(15)

f SOPC Builder のコンポーネント設定について詳しくは、「Quartus II ハンドブック Volume 4」の「SOPC Builder Components」の章を参照してください。

図 10には、Nios II プロセッサのデザイン例を示します。 Nios II プロセッサを作成した後、Nios II フラッシュ・プログラマを実行することがで きます。フラッシュ・プログラマでは、2 つのモードがあります。 ■ 統合開発環境 (IDE) モード ■ コマンド・ライン・モード Nios II IDE モードは、フラッシュ・プログラマ機能に使いやすいインタフェースを提 供します。コマンド・ライン・モードは上級ユーザー向けです。コマンド・ライン・ モードでは、フラッシュ・プログラマ機能を完全に制御できます。

f IDE およびコマン・ドライン・モードについて詳しくは、Nios II Flash Programmer

User Guideを参照してください。 JTAG UART デフォルト設定(JTAG インタフェースで Nios II プロセッサをア ルテラ FPGA にコンフィギュレーションするには、このコンポー ネントが必要) 表 4の注 : (1) これらのコンポーネントは、フラッシュ・プログラミングに必要である最小のコンポーネントで す。Nios II システムに必要な追加コンポーネントを追加することができます。 表 4. PFL のデザイン例のコンポーネント設定 ( 注 1) コンポーネント 設定 図 10. Nios II プロセッサのデザイン例 Nios II System

(16)

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 リード、またはライト・アクセス時間について詳しくは、「Nios II フラッシュ・プ ログラマのユーザー・ガイド」を参照してください。 1 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 メガファンクションはフラッシュ・デバイスに接続します。

(17)

表 5には、両方のプロセッサが同時にフラッシュ・デバイスにアクセスしないこと を確保するための 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 メガファンクションからのすべての出力 を手動でトライ・ステートする必要があります。 表 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 ピンが低入力 を受信すると、すべての入出力ピンをフラッ シュ・デバイスにトライ・ステートします。

(18)

18 PFL およびフラッシュ・アドレスのマッピング 説明されるようにシステムをコンフィギュレーションした後に、 pfl_flash_access_request および pfl_flash_access_granted ピンは、同時 にフラッシュ・デバイスを 1 つのプロセッサしかアクセスしないことを確保します ( 図 11を参照 )。

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 およびフラッシュ・デバイスとのアドレス接続を示します。ア ドレス接続は、フラッシュ・ベンダーおよびデータ・バス幅によって異なります。 図 11. フラッシュ・デバイスをアクセスする 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 receives the PFL megafunction

PFL megafunction accesses the flash device

PFL megafunction releases 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 is connected to the flash device.

The PFL megafunction pulls the pfl_flash_access_request output pin low after accessing the flash device.

(19)

図 12. 8 ビット・モードの Numonyx J3 フラッシュ・メモリ ( 注 1) 図 12の注 : (1) PFL とフラッシュ・メモリとのアドレス接続は同じです。 図 13. 16 ビット・モードの Numonyx J3、P30、および P33 フラッシュ・メモリ ( 注 1) 図 13の注 : (1) PFL のフラッシュ・アドレスと比べると、Numonyx J3、P30、および P33 の 16 ビット・フラッシュ のフラッシュ・メモリ・アドレスは、1 ビットにシフト・ダウンされます。例えば、フラッシュ・ア ドレス・ビットはビット 0 ではなく、ビット 1 から始めます。 図 14. 8 ビット・モードの Spansion および Numonyx M28、M29 フラッシュ・メモリ ( 注 1) 23 22 21 -2 1 0 PFL address: 24 bits 23 22 21 -2 1 0 Flash Memory address: 24 bits 22 21 20 -2 1 0 PFL address: 23 bits 23 22 21 -3 2 1 Flash Memory address: 23 bits 23 22 21 -2 1 0 PFL address: 24 bits 22 21 20 -1 0 D15 Flash Memory address: 24 bits

(20)

20 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 により得られます。. 図 15. 16 ビット・モードの Spansion および Numonyx M28、M29 フラッシュ・メモリ ( 注 1) 図 15: (1) PFL とフラッシュ・メモリとのアドレス接続は同じです。 22 21 20 -2 1 0 PFL address: 23 bits 22 21 20 -2 1 0 Flash Memory address: 23 bits

(21)

表 6. PFL v7.2 用の方程式 ( その1 ) フラッ シュ・ア クセス・ モード データ・オプ ションのコン フィギュレー ション フラッ シュ・ データ幅 FPP モード PS モード DCLK 比率 = 1 DCLK 比率 = 2 DCLK 比率 = 1 DCLK 比率 = 2 ノーマ ル・モー ド ノーマル 8 ビット 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*Caccess 16 ビット 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 圧縮および / または暗号 8 ビット 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 16 ビット 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 バース ト・モー ド ノーマル 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

(22)

22 PFL コンフィギュレーション時間 ページ・ モードの アクセス (1) ノーマル 8 ビット 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*Caccess ノーマル 16 ビット 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 圧縮 8 ビット 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 圧縮 16 ビット 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 以降にしか使用できません。 表 6. PFL v7.2 用の方程式 ( その2 ) フラッ シュ・ア クセス・ モード データ・オプ ションのコン フィギュレー ション フラッ シュ・ データ幅 FPP モード PS モード DCLK 比率 = 1 DCLK 比率 = 2 DCLK 比率 = 1 DCLK 比率 = 2

(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

(24)

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

(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 の機能を使用するためのプロ セスを説明します。 そのプロセスは、次を含めます。 ■ デザインにおける PFL メガファンクションのインスタンス化。 ■ アルテラ FPGA のコンフィギュレーション・データを含む .sof をフラッシュ・デバ イス向けに設計された .pof に変換するプロセス。

MAX II デバイスを介して Quartus II Programmer でフラッシュ・デバイスに .pof をプ

ログラムするプロセス。 1 すべての未使用ピンは、デフォルトでグランドに設定されます。アルテラは、すべ ての未使用ピンをトライ・ステートに設定することを推奨します。そうしないと、 干渉を起こす可能性があります。 すべての未使用ピンをトライ・ステートに設定するには、以下のステップを実行し ます。

(26)

26 Quartus II ソフトウェアに PFL の使用

図 17では PFL を使用する方法を示します。 Quartus II ソフトウェアは、JTAG ピンの

シミュレーションまたは MAX II かフラッシュ・デバイスのプログラミング・プロセ スをサポートしません。ただし、シミュレーションは、FPGA コンフィギュレーショ ンに使用可能ですが、適切なフラッシュ・ベクトルおよび FPGA 応答が必須です。 flash_addr および flash_data は、フラッシュ・ベクトルの例です。FPGA 応答の 例は、fpga_conf_done および fpga_nstatus です。

(27)

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. ディレクトリおよび出力ファイル名を指定します。ダイアログ・ボックスは、示 図 17. Quartus II ソフトウェアの PFL ステップ

Create a new MAX II design, instantiate the PFL Megafunction in

the MAX II design, and set Pin Assignments

Add the MAX II .pof to the Quartus II Programmer

Add the flash .pof in the Quartus II Programmer

Program the MAX II and Flash Devices

MAX II configures the FPGA with the configuration data from the Flash Device

Compile and obtain the

FPGA .sof(s)

Convert to .pof for the Targeted Flash Compile and obtain MAX II .pof

Add the .sof(s) for conversion to .pof Create new FPGA

designs

Create the optional Jam programming file

(28)

28 Quartus II ソフトウェアに PFL の使用 7. 表 7、31 ページの図 19、31 ページの図 20、および32 ページの図 21に示されて いるように、メガファンクション設定を指定します。 図 18. PFL メガファンクションの選択 表 7. PFLPLL メガファンクションのオプション設定 ( その1 ) メガファンクション・オ プション 説明 Operating mode フラッシュ・プログラミングおよび FPGA のコンフィギュレーションのオペレー ティング・モードです。一個のメガファンクションで制御するかまたは個別のブ ロックで機能によって制御します。

Number flash device connected

接続したフラッシュ・デバイスの数

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 を使用することを意味します が、フラッシュ・プログラミング時間は長くなります。

(29)

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 のコンフィギュレーション手法。

Configuration failure options

コンフィギュレーション失敗後のコンフィギュレーションの動作。3 つのオプ ションがあります :

■ 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 の再コンフィギュレーションをイネーブルするためのオプション・ピン。

表 7. PFLPLL メガファンクションのオプション設定 ( その2 ) メガファンクション・オ

(30)

30 Quartus II ソフトウェアに PFL の使用

8. Next をクリックします。 Ratio between input clock

and DCLK output clock

入力クロックおよび DCLK 間の 1、2、4、または 8 の比率。 ■ 比率 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 を生成する ることを意味します。

Use advance read mode

FPGA コンフィギュレーションのときにリードのプロセスに総合的なフラッシュ・ アクセス時間を向上するオプション。

■ Burst mode — Numonyx P30 および P33 フラッシュ・デバイスのみに使用できま

す。シーケンシャル・リード・アクセス時間を減少します。

■ Page mode — Spansion GL フラッシュ・デバイスのみに使用できます。

■ Numonyx burst mode — Numonyx M58BW フラッシュ・デバイスのみに使用できま

す。 ■ Normal mode— すべてのフラッシュ・デバイスに使用できます。 フラッシュ・デバイスのリード・アクセス・モードについて詳しくは、それぞれ のフラッシュ・デバイスのウェブサイトを参照してください。 表 7. PFLPLL メガファンクションのオプション設定 ( その3 ) メガファンクション・オ プション 説明

(31)

図 19、図 20、および図 21 には、メガファンクションの設定を示します。

図 19. PFL メガファンクションの設定

(32)

32 Quartus II ソフトウェアに PFL の使用

(33)

図 22には、メガファンクションに必要なシミュレーション・ファイルを示します。 PFL は、シミュレーション・ファイルを持っていなくて、シミュレーションできない 理由で、PFL メガファンクションのシミュレーション・ファイルがこのページにリス トされません。ただし、適切なフラッシュ・ベクトルおよび FPGA 応答があるという 条件で、FPGA コンフィギュレーションのシミュレーションは可能です。詳しくは、 ページの 43「PFL コンフィギュレーションのシミュレーション」 を参照します。 図 22. 必要なシミュレーション・ファイルのリスト

(34)

34 Quartus II ソフトウェアに PFL の使用 図 23には、メガファンクションのために作成されるファイルを示します。作成した い追加ファイルのタイプを選び、そして、Finish をクリックします。Quartus II ソフ トウェアは指定した HDL ファイルで PFL メガファンクションを生成します ( 指定さ れる場合 )。

フラッシュ・デバイスの .sof を .pof に変換

FPGA デバイスが生成した .sof を使用して、フラッシュ・デバイス .pof を作成します。 また、フラッシュ・デバイス .pof を作成するときのデータを含む .hex を選択するこ とにより、他の非コンフィギュレーション・データを .pof に追加することができま す。

.sof を .pof に変換するには、これらのステップを実行します : 1. File メニューの Convert Programming Files を選択します。

2. プログラミング・ファイルのタイプとしては、Programmer Object File(.pof) を指定

します。そして、ファイルに名前をつけます (図 24を参照 )。

(35)

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 を追加します。

参照

関連したドキュメント

CE1 Series/ものさしくん

注意: 操作の詳細は、 「BD マックス ユーザーズマニュ アル」 3) を参照してください。. 注意:

注:一般品についての機種型名は、その部品が最初に使用された機種型名を示します。

シートの入力方法について シート内の【入力例】に基づいて以下の項目について、入力してください。 ・住宅の名称 ・住宅の所在地

問題集については P28 をご参照ください。 (P28 以外は発行されておりませんので、ご了承く ださい。)

• AF/AE ロック機能を使って、同じ距離の他の被写体にピントを 合わせてから、構図を変えてください(→ 43 ページ)。. •

■使い方 以下の5つのパターンから、自施設で届け出る症例に適したものについて、電子届 出票作成の参考にしてください。

*Windows 10 を実行しているデバイスの場合、 Windows 10 Home 、Pro 、または Enterprise をご利用ください。S