MAX® II CPLD はパラレル・フラッシュ・ローダと呼ばれる独自の機能を備えています。パラレル・フラッシュ・ローダは、MAX II デバイスでカスタム JTAG コマンドを実装してボード管理を簡素化し、ボード上の JTAG 非準拠デバイス(標準フラッシュ・メモリ・デバイスなど)のコンフィギュレーションを可能にします。図 1に MAX II デバイスを使用して JTAG 非準拠フラッシュデバイスをプログラムする方法を示します。
図 1. パラレル・フラッシュ・ローダを使用した JTAG 非準拠ディスクリートフラッシュ・デバイスのプログラミング

JTAG ステート・マシンは、デバイス内のハード・ロジックで動作し、プログラマブル・ロジックには、パラレル・フラッシュ・ローダ・メガファンクションおよびロジックだけが実装されます(図 2 参照)。これにより、ユーザはプログラミング中やテスト中だけでなく、通常の動作中にも JTAG ステート・マシンを利用することができます。
図 2. MAX II デバイスへの パラレル・フラッシュ・ローダの実装

プログラミング標準フラッシュ・メモリ・デバイス
標準フラッシュ・メモリ・デバイスには イン・システム・プログラミングのためのJTAG スキャン接続はありません。一般に、フラッシュ・デバイスは接続されているデバイスのシリアル JTAG バウンダリ・スキャン・チェインを使用してプログラムされます。プログラミング・インストラクションを JTAG デバイスの各 I/O ピンを通して、フラッシュ・デバイスに接続されている I/O ピンに到達するまで 1 ビットずつシフトしなければならないので、この実装は非効率です。
パラレル・フラッシュ・ローダ・メガファンクションとAN 386: Using the MAX II Parallel Flash Loader With the Quartus II Software (PDF) では、MAX II デバイスのJTAG インタフェース経由でフラッシュ・デバイスの簡単で効率的なプログラム方法を提供します。これらのツールにより、カスタム・コマンドを使用してフラッシュ・デバイスをプログラムし、検証するようにスペシャル I/O スキャン・チェインを定義することができます。
この実装は JTAG ステート・マシンを使用して MAX II デバイスのプログラマブル・ロジックにアクセスし、フラッシュ・メモリ・ドライバおよびアドレス・デコーダ・ファンクションを実装します。 プログラミング・インストラクションは接続されている I/O ピンを通して、フラッシュ・デバイスに直接ロードされます。
パラレル・フラッシュ・ローダ・メガファンクションはQuartus® II ソフトウェア バージョン 5.0でサポートされます。
