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

PFL コンフィギュレーションのシミュレーション

正しいシミュレーション・ベクトルで、Quartus II SimulatorでPFLのコンフィギュ レーション部分のシミュレーションをして、PFLのコンフィギュレーション動作を把 握できます。そのQuartus II Simulatorのあるシミュレーションは、Vector Waveform File (.vwf) およびフラッシュ・デバイスを表すシンプルVHDLファイルを使用します。こ のVHDLファイルはこのアプリケーション・ノートで利用可能です。PFLの入力に正 しい入力ベクトルを供給することにより、シミュレーション波形のメガファンク ションから正しい出力が見られます。

この項では、PFLコンフィギュレーションのシミュレーションについて説明します。

図 34および図 35はこのシミュレーションのためのPFLメガファンクション・セッ トアップを示します。

シミュレーションを開始する前に、デザイン・エントリとしてブロック図を使用す る場合、まずPFLメガファンクションをインスタンス化して、デザインのVHDLファ イルのフラッシュ・デバイス用のシンボルを作成する必要があります。このシミュ レーションは、デザイン・エントリとしてブロック図を使用します。

44 PFL コンフィギュレーションのシミュレーション

図 34. PFL メガファンクションのセットアップ

図 35. PFL メガファンクションのセットアップ

フラッシュ・デバイス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に接続します。

メガファンクションのインスタンス化、そして入力、出力、または双方向ピンにす べてのポートの接続、およびデザインのコンパイルが完了した後、.vwfを作成し始 めることができます。新しい.vwfは、少なくとも200 µsの終了時間が必要です。

f 新しい.vwfを作成する方法について詳しくは、「Quartus II ハンドブック v3」の

「Quartus II シミュレータ」 の章を参照してください。

図 36. PFL の接続

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コンフィギュレーション・データ

のデータ読み出しを含む双方向バス。

図 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にアサートします。

図 37. シミュレーションの入力ベクトル

48 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にアサートします。

図 38. PFL のオプション・ビットの読み出し

図 39には、コンフィギュレーションの開始を示します。コンフィギュレーションが 開始するときに、flash_dataバスは0×11を含んでいます。コンフィギュレーショ ン・データはflash_dataの0×88のトグルです。

コンフィギュレーションのプロセスは、fpga_conf_done信号をHighに設定する まで続きます(コンフィギュレーションが完成であることを示す)。また、PFLは flash_nceおよびflash_noeをHigh、そしてpfl_flash_access_requestをLow にアサートします(PFLがフラッシュから読み込まないことを示す)。

1 図 39に示されているのは、nconfig信号の実際の動作ではありません。nconfig信 号は、外部抵抗でHighにプルアップすることが必要です。詳しくは、FPGAハンド

ブックのConfigurationの章を参照してください。

図 39. PFL コンフィギュレーションの開始

50 参考資料

関連したドキュメント