(57)【要約】【課題】直接メモリアクセス（ＤＭＡ）を使用してプログラム可能論理装置（ＰＬＤ）を初期化するための方法、システム及びコンピュータ・プログラムを提供する。【解決手段】本方法は、ＰＬＤをプログラミング・モードへ構成するように前記ＰＬＤの制御線を操作するステップと、ＤＭＡ制御からＰＬＤプログラミング・データをＤＭＡ速度で受信するステップと、前記ＰＬＤプログラミング・データをデータ・バッファに書き込むステップと、前記データ・バッファから前記ＰＬＤプログラミング・データを読み取るステップと、前記ＰＬＤプログラミング・データをＰＬＤプログラミング速度で前記ＰＬＤ上のプログラミング・ポートへ送信するステップとを含む。【選択図】  図７
2008192150.tif 000002
【特許請求の範囲】
【請求項１】
直接メモリ・アクセス（ＤＭＡ）を使用してプログラマブル論理装置（ＰＬＤ）を初期化するための方法であって、
前記ＰＬＤをプログラミング・モードへ構成するように前記ＰＬＤの制御線を操作するステップと、
ＤＭＡ制御からＰＬＤプログラミング・データをＤＭＡ速度で受信するステップと、
前記ＰＬＤプログラミング・データをデータ・バッファに書き込むステップと、
前記データ・バッファから前記ＰＬＤプログラミング・データを読み取るステップと、
前記ＰＬＤプログラミング・データをＰＬＤプログラミング速度で前記ＰＬＤ上のプログラミング・ポートへ送信するステップとを含む、方法。
【請求項２】
不揮発性メモリ装置（ＮＶＭ）から前記ＰＬＤプログラミング・データを読み取るように前記ＤＭＡ制御を構成するステップと、
プロセッサを使用して前記ＤＭＡ制御を起動することにより、前記ＮＶＭから前記ＰＬＤプログラミング・データを読み取るステップとをさらに含む、請求項１記載の方法。
【請求項３】
プロセッサ及び前記ＤＭＡ制御のうち少なくとも１つを使用して前記ＰＬＤの前記制御線の操作を開始することにより、前記ＰＬＤを構成兼ステータス・レジスタを介して前記プログラミング・モードへ構成するステップとをさらに含む、請求項１記載の方法。
【請求項４】
前記ＰＬＤプログラミング・データを構成兼ステータス・レジスタを介して前記ＰＬＤ上のプログラミング・ポートへ送信するための代替パスを提供するステップと、
前記ＰＬＤプログラミング・データを前記構成兼ステータス・レジスタに書き込むステップとをさらに含む、請求項１記載の方法。
【請求項５】
前記データ・バッファから前記ＰＬＤプログラミング・データが読み取られる場合、前記データ・バッファに書き込まれる前記ＰＬＤプログラミング・データのデータ・ワード幅が修正される、請求項１記載の方法。
【請求項６】
前記データ・バッファから前記ＰＬＤプログラミング・データが読み取られる場合、前記データ・バッファに書き込まれる前記ＰＬＤプログラミング・データのバイト順が修正される、請求項１記載の方法。
【請求項７】
前記ＰＬＤが前記ＰＬＤプログラミング・データで成功裏にプログラミングされたことを確認するために、前記ＰＬＤのステータスを読み取るステップをさらに含む、請求項１記載の方法。
【請求項８】
前記ＰＬＤが前記プログラミング・モードにない場合、前記ＰＬＤ上の前記プログラミング・ポートへのアクセスを阻止するステップをさらに含む、請求項１記載の方法。
【請求項９】
プログラマブル論理装置（ＰＬＤ）に結合され、直接メモリ・アクセス（ＤＭＡ）を使用して前記ＰＬＤを初期化するための集積回路（ＩＣ）であって、
前記ＩＣ及び前記ＰＬＤの間の信号フォーマットを変換するＩ／Ｏインタフェースと、
ＰＬＤインタフェースとを備え、
前記ＰＬＤインタフェースが、
前記ＰＬＤを前記Ｉ／Ｏインタフェースを介してプログラミング・モードへ構成するように、前記ＰＬＤの制御線を操作する構成兼ステータス・レジスタと、
ＤＭＡ制御からＤＭＡ速度で受信されるＰＬＤプログラミング・データを一時的に保持するためのデータ・バッファと、
前記ＰＬＤプログラミング・データを前記Ｉ／Ｏインタフェースを介して前記ＰＬＤ上のプログラミング・ポートへＰＬＤプログラミング速度で送信する速度を制御するペーシング論理とを含む、ＩＣ。
【請求項１０】
前記ＤＭＡ制御が、前記ＰＬＤインタフェースに結合される、請求項９記載のＩＣ。
【請求項１１】
前記ＤＭＡ制御が、前記ＰＬＤプログラミング・データを格納する不揮発性メモリ装置（ＮＶＭ）に結合される、請求項１０記載のＩＣ。
【請求項１２】
前記ＮＶＭをさらに備える、請求項１１記載のＩＣ。
【請求項１３】
前記ＰＬＤインタフェース及び前記ＤＭＡ制御に結合されるプロセッサをさらに備え、
前記プロセッサが、
前記ＰＬＤを前記Ｉ／Ｏインタフェースを介して前記プログラミング・モードへ構成するように前記ＰＬＤの制御線を操作するために利用される値を、前記ＰＬＤインタフェースの前記構成兼ステータス・レジスタに書き込み、
前記ＰＬＤプログラミング・データを前記ＮＶＭから読み取るように前記ＤＭＡ制御を構成し、
前記ＤＭＡ制御を起動することにより、前記ＮＶＭからの前記ＰＬＤプログラミング・データの読み取りを開始させ、
前記ＰＬＤが前記ＰＬＤプログラミング・データで成功裏にプログラミングされたことを確認するために、前記ＰＬＤインタフェースの前記構成兼ステータス・レジスタを読み取ることを実行する、請求項１１記載のＩＣ。
【請求項１４】
前記データ・バッファから前記ＰＬＤプログラミング・データが読み取られる場合、前記ＰＬＤインタフェースが、前記データ・バッファに書き込まれる前記ＰＬＤプログラミング・データのデータ・ワード幅及びバイト順のうち少なくとも１つを修正する、請求項９記載のＩＣ。
【請求項１５】
前記ＰＬＤが前記プログラミング・モードにない場合、前記ＰＬＤ上の前記プログラミング・ポートへのアクセスが阻止される、請求項９記載のＩＣ。
【請求項１６】
前記ＰＬＤインタフェースが、プロセッサ及び前記ＤＭＡ制御のために前記構成兼ステータス・レジスタへのアクセスを提供するバス・セレクタをさらに含み、
前記構成兼ステータス・レジスタが、前記ＰＬＤプログラミング・データを前記Ｉ／Ｏインタフェースを介して前記ＰＬＤ上の前記プログラミング・ポートへ送信する、請求項９記載のＩＣ。
【請求項１７】
プログラマブル論理装置（ＰＬＤ）を初期化するための方法であって、
前記ＰＬＤをプログラミング・モードへ構成するように前記ＰＬＤの制御線を操作するステップと、
ＤＭＡ制御及びプロセッサのうち少なくとも１つからＰＬＤプログラミング・データのソースを選択するステップと、
前記選択されたソースから前記ＰＬＤプログラミング・データを受信するステップと、
前記ＰＬＤプログラミング・データを前記ＰＬＤ上のプログラミング・ポートへ送信するステップとを含む、方法。
【請求項１８】
前記操作するステップが、前記ＤＭＡ制御及び前記プロセッサのうち少なくとも１つによって指令される、請求項１７記載の方法。
【請求項１９】
前記選択されたソースからの前記ＰＬＤプログラミング・データが、データ・バッファ及び構成兼ステータス・レジスタのうち少なくとも１つによって受信される、請求項１７記載の方法。
【請求項２０】
不揮発性メモリ装置（ＮＶＭ）から前記ＰＬＤプログラミング・データを読み取るように前記ＤＭＡ制御を構成するステップと、
前記プロセッサを使用して前記ＤＭＡ制御を起動することにより、前記ＮＶＭから前記ＰＬＤプログラミング・データを読み取るステップとをさらに含む、請求項１７記載の方法。
【請求項２１】
前記ＰＬＤプログラミング・データをデータ・バッファに書き込むステップと、
前記データ・バッファから前記ＰＬＤプログラミング・データを読み取るステップとをさらに含む、請求項２０記載の方法。
【請求項２２】
前記ＰＬＤが前記プログラミング・モードにない場合、前記ＰＬＤ上の前記プログラミング・ポートへのアクセスを阻止するステップをさらに含む、請求項１７記載の方法。
【請求項２３】
直接メモリ・アクセス（ＤＭＡ）を使用してプログラマブル論理装置（ＰＬＤ）を初期化するためのシステムであって、
前記ＰＬＤが、アセンブリ上に設けられ且つ制御線を有するプログラミング・ポートを含み、
前記アセンブリ上に設けられ且つ前記ＰＬＤの前記プログラミング・ポートに結合される集積回路（ＩＣ）を備え、
前記ＩＣが、
前記ＩＣ及び前記ＰＬＤの間の信号フォーマットを変換する入出力（Ｉ／Ｏ）インタフェースと、
ＰＬＤインタフェースとを含み、
前記ＰＬＤインタフェースが、
前記Ｉ／Ｏインタフェースを介して前記ＰＬＤの前記プログラミング・ポートの前記制御線を操作する構成兼ステータス・レジスタと、
ＤＭＡ制御からＤＭＡ速度で受信されるＰＬＤプログラミング・データを一時的に保持するためのデータ・バッファと、
前記ＰＬＤプログラミング・データを前記Ｉ／Ｏインタフェースを介して前記ＰＬＤ上の前記プログラミング・ポートへ送信する速度を制御するペーシング論理とを含む、システム。
【請求項２４】
前記ＤＭＡ制御が、前記ＰＬＤインタフェースに結合される、請求項２３記載のシステム。
【請求項２５】
前記ＤＭＡ制御が、前記ＰＬＤプログラミング・データを格納する不揮発性メモリ装置に結合される、請求項２４記載のシステム。
【請求項２６】
前記ＮＶＭが、前記アセンブリの外部に設けられる、請求項２５記載のシステム。
【請求項２７】
前記ＰＬＤインタフェース及び前記ＤＭＡ制御に結合されるプロセッサをさらに備え、
前記プロセッサが、
前記ＰＬＤを前記Ｉ／Ｏインタフェースを介してプログラミング・モードへ構成するように前記ＰＬＤの制御線を操作するために利用される値を、前記ＰＬＤインタフェースの前記構成兼ステータス・レジスタに書き込み、
前記ＰＬＤプログラミング・データを前記ＮＶＭから読み取るように前記ＤＭＡ制御を構成し、
前記ＤＭＡ制御を起動することにより、前記ＮＶＭからの前記ＰＬＤプログラミング・データの読み取りを開始させ、
前記ＰＬＤが前記ＰＬＤプログラミング・データで成功裏にプログラミングされたことを確認するために、前記ＰＬＤインタフェースの前記構成兼ステータス・レジスタを読み取ることを実行する、請求項２５記載のシステム。
【請求項２８】
前記データ・バッファから前記ＰＬＤプログラミング・データが読み取られる場合、前記ＰＬＤインタフェースが、前記データ・バッファに書き込まれる前記ＰＬＤプログラミング・データのデータ・ワード幅及びバイト順のうち少なくとも１つを修正し、
前記ＰＬＤがプログラミング・モードにない場合、前記ＰＬＤ上のプログラミング・ポートへのアクセスが阻止される、請求項２３記載のシステム。
【請求項２９】
複数のアセンブリをさらに備え、
前記複数のアセンブリが、当該複数のアセンブリの各々の上にある各ＩＣの前記ＰＬＤインタフェースを通して、前記ＤＭＡ制御に結合され、
前記ＤＭＡ制御が前記複数のアセンブリの外部に設けられる、請求項２４記載のシステム。
【請求項３０】
請求項１ないし請求項８及び請求項１７ないし請求項２２の何れか１項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル論理装置を初期化することに係り、さらに詳細に説明すれば、直接メモリ・アクセスを使用してプログラマブル論理装置を初期化するための方法、システム及びコンピュータ・プログラムに係る。
【背景技術】
【０００２】
多数のコンピュータ／電子システムは、アプリケーションに特有の機能を実行するように構成されたプログラマブル論理装置（ＰＬＤ）を使用する。ＰＬＤは、プログラマブル論理アレイ（ＰＬＡ）、プログラマブル・アレイ論理（ＰＡＬ）、汎用論理アレイ（ＧＡＬ）、複合プログラマブル論理装置（ＣＰＬＤ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）等の、広範囲のプログラマブル論理装置を含む。多くのＰＬＤ技術は、ＦＰＧＡのように、フィールド（現場）でプログラム可能であり、またかかる装置は、それらの電源が入れられる都度プログラミングを必要とする。各省電力／電力サイクルで再プログラミングを必要とするＰＬＤは、一般に「揮発性」ＰＬＤと呼ばれ、電力が供給される間のプログラム化装置の構成について静的ランダムアクセス記憶装置（ＳＲＡＭ）に依存する。また、揮発性ＰＬＤは、周期的なリフレッシュを必要とするか、又はソフト・エラーが生じる場合には、再プログラミングを必要とする。ソフト・エラーは、電磁気干渉（ＥＭＩ）、宇宙線、アルファ粒子、熱中性子、雑音等の環境効果によって引き起こされる。
【０００３】
揮発性ＰＬＤを含むシステムは、「再構成可能コンピューティング」と呼ばれる、頻繁な再プログラミングをサポートするように設計されることが多い。再構成可能コンピューティングを使用するシステムでは、ＰＬＤをプログラムするのに必要な時間が、システム性能及び総合的な応答性にとって重要な要因となる。かかるシステムでは、システム初期化の部分としてロードしなければならない複数のＰＬＤプログラムが存在し、その結果、システム初期化時間が長くなる。
【０００４】
ＰＬＤは、ＪＴＡＧ（Joint TestAction Group）準拠のインタフェースを有するボード・レベル又はコンポーネント・レベルのローダのような、特別のテスト機器を使用することなく、フィールドでプログラムすることができる。一般には、ＰＬＤ上のＪＴＡＧポートへのアクセスは、製造又はテスト施設に制限される。「フィールド・プログラミング」は、特別のテスト機器へのアクセスが制限されているか又は不可能である、顧客施設又は製造業者の外部にある場所の閉じたシステムにおけるプログラミングを含むことがある。また、特別のテスト機器なしで利用可能なプログラミング技法は、製造又はテスト施設でも実施されることがある。
【０００５】
フィールドでＰＬＤをプログラムする１つの方法では、ＰＬＤは、シリアル型の電気的消去再書き込み可能な読み取り専用メモリ（ＥＥＰＲＯＭ）又はフラッシュ・メモリ装置から、その構成（configuration）を自動的にロードする。各ＰＬＤは、同じシステム・ボード上の個別コンポーネントとして、当該ＰＬＤに直接的に結合された専用のシリアルＥＥＰＲＯＭを有することがある。このプログラミング方法は、「アクティブ・シリアル」プログラミング又はローディングと呼ばれる。アクティブ・シリアル・プログラミングの利点は、或るＰＬＤプログラムを目標とするＰＬＤと誤って組み合わせる危険を最小化するために、各ＰＬＤ用の特定のプログラムを分離することができるということにある。しかし、シリアル・プログラミングの速度が遅い場合、特にビット・レートが関連するプログラミング・クロック速度に比べて低い場合（例えば、１クロック・サイクル当たり１ビット）、アクティブ・シリアル・プログラミングは遅くなる。アクティブ・シリアル・プログラミングを利用するＰＬＤは、当該ＰＬＤがリセットから解除される場合は常に、そのＰＬＤプログラムのロードを開始し、そのため、システムのリセット設計が複雑になる。すなわち、このＰＬＤプログラムがロードされる場合は常に、他のシステム・コンポーネントがリセットされるように意図されないことがあるからである。アクティブ・シリアル・プログラミングに係る他の多くの問題には、シリアルＥＥＰＲＯＭ内にあるＰＬＤプログラムのバージョン管理、特にＰＬＤプログラムの正しい／最新バージョンを更新及び確認する際のバージョン管理の問題がある。シリアルＥＥＰＲＯＭは、ソケットに挿入されたシリアルＥＥＰＲＯＭコンポーネント用のボードの再加工（rework）又は物理的な部品交換を必要とする、フィールド再プログラミングをサポートしないことがある。また、シリアルＥＥＰＲＯＭ内のエラー又は障害は、これを検出し且つ分離するのが困難であることが多く、その結果、システム障害モードの数が増大する。シリアルＥＥＰＲＯＭの使用に係る追加の不利益には、コスト、ボード領域、電力消費、熱、重量及び製造プロセスの陳腐化等の問題がある。
【０００６】
フィールドでＰＬＤをプログラムする他の方法は、プロセッサによってアクティブに制御される外部プログラミングを通して行われる。ＰＬＤプログラミングは、データ・バスの書き込みを通して主プロセッサによって行われ、またＰＬＤ制御信号は、プロセッサ上で稼働中のソフトウェア・プログラムによって操作されることがある。一般に、プロセッサは、ＰＬＤプログラミング・データを読み取り、当該データをＰＬＤに至るデータ・バス上に一度に１バイトずつ書き込むとともに、ＰＬＤがプログラミング情報として当該データを受理するように適切な制御信号を操作する。この方法は、柔軟性を提供するが、特にＰＬＤプログラミング・ファイルが大きい場合、ＰＬＤのプログラミングは、相当な期間にわたってプロセッサの帯域幅を消費する。ＰＬＤをアクティブにプログラムしている間、プロセッサは、使用中状態にあり、他のシステム初期化タスクを実行するのを待機しなければならず、その結果、システム全体を初期化するための遅延時間が拡大することになる。システム内に異なるＰＬＤプログラムを有する複数のＰＬＤがあれば、その問題はさらに悪化する。というのは、プロセッサの資源がＰＬＤのプログラミングに専用されている間は、プロセッサが他のタスクを実行することができないからである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
先端技術の開発に応じてＰＬＤプログラミング・ファイルのサイズが継続的に増大しているので、プロセッサがアクティブなＰＬＤプログラミングを行うことに関する要請は継続的に増加し、その結果、システム初期化時間もより長くなるであろう。さらに、ＰＬＤプログラミング・ファイルがより大きくなると、シリアルＥＥＰＲＯＭに必要とされる記憶容量に影響を与えることになり、その結果、より大きなコンポーネント、より長いプログラミング時間及びより高いシステム・コストに帰着するであろう。従って、当分野では、プロセッサによる直接的なアクティブ制御、すなわちアクティブ・シリアル・プログラミングに依存することなく、ＰＬＤのプログラミングを行うための方法が要請されている。
【課題を解決するための手段】
【０００８】
本発明の第１の側面に従って、直接メモリ・アクセス（ＤＭＡ）を使用してプログラマブル論理装置（ＰＬＤ）を初期化するための方法が提供される。この方法は、前記ＰＬＤをプログラミング・モードへ構成するように前記ＰＬＤの制御線を操作するステップと、ＤＭＡ制御からＰＬＤプログラミング・データをＤＭＡ速度で受信するステップと、前記ＰＬＤプログラミング・データをデータ・バッファに書き込むステップと、前記データ・バッファから前記ＰＬＤプログラミング・データを読み取るステップと、前記ＰＬＤプログラミング・データをＰＬＤプログラミング速度で前記ＰＬＤ上のプログラミング・ポートへ送信するステップとを含む。
【０００９】
本発明の第２の側面に従って、ＰＬＤに結合され、ＤＭＡを使用して前記ＰＬＤを初期化するための集積回路（ＩＣ）が提供される。このＩＣは、入出力（Ｉ／Ｏ）インタフェース及びＰＬＤインタフェースを含む。前記Ｉ／Ｏインタフェースは、前記ＩＣ及び前記ＰＬＤの間の信号フォーマットを変換する。前記ＰＬＤインタフェースは、構成兼ステータス・レジスタ、データ・バッファ及びペーシング論理を含む。前記構成兼ステータス・レジスタは、前記ＰＬＤを前記Ｉ／Ｏインタフェースを介してプログラミング・モードへ構成するように前記ＰＬＤの制御線を操作する。前記データ・バッファは、ＤＭＡ制御からＤＭＡ速度で受信されるＰＬＤプログラミング・データを一時的に保持する。前記ペーシング制御は、前記ＰＬＤプログラミング・データを前記Ｉ／Ｏインタフェースを介してＰＬＤ上のプログラミング・ポートへＰＬＤプログラミング速度で送信する速度を制御する。
【００１０】
本発明の第３の側面に従って、ＰＬＤを初期化するための方法が提供される。この方法は、前記ＰＬＤをプログラミング・モードへ構成するように前記ＰＬＤの制御線を操作するステップと、ＤＭＡ制御及びプロセッサのうち少なくとも１つからＰＬＤプログラミング・データのソースを選択するステップと、前記選択されたソースから前記ＰＬＤプログラミング・データを受信するステップと、前記ＰＬＤプログラミング・データを前記ＰＬＤ上のプログラミング・ポートへ送信するステップとを含む。
【００１１】
本発明の第４の側面に従って、ＤＭＡを使用してＰＬＤを初期化するためのシステムが提供される。このシステムは、前記ＰＬＤ及びＩＣを含む。前記ＰＬＤは、アセンブリ上に設けられており、制御線を有するプログラミング・ポートを含む。前記ＩＣは、前記アセンブリ上に設けられており、前記ＰＬＤの前記プログラミング・ポートに結合される。前記ＩＣは、前記ＩＣ及び前記ＰＬＤの間の信号フォーマットを変換するためのＩ／Ｏインタフェース及びＰＬＤインタフェースを含む。前記ＰＬＤインタフェースは、構成兼ステータス・レジスタ、データ・バッファ及びペーシング論理を含む。前記構成兼ステータス・レジスタは、前記Ｉ／Ｏインタフェースを介して前記ＰＬＤの前記プログラミング・ポートの前記制御線を操作する。前記データ・バッファは、ＤＭＡ制御からＤＭＡ速度で受信されるＰＬＤプログラミング・データを一時的に保持する。前記ペーシング制御は、前記ＰＬＤプログラミング・データを前記Ｉ／Ｏインタフェースを介して前記ＰＬＤ上の前記プログラミング・ポートへＰＬＤプログラミング速度で送信する速度を制御する。
【００１２】
本発明の第５の側面に従って、ＤＭＡを使用してＰＬＤを初期化するための方法をサポートするコンピュータ・プログラムが提供される。前記方法は、前記ＰＬＤをプログラミング・モードへ構成するように前記ＰＬＤの制御線を操作するステップと、ＤＭＡ制御からＰＬＤプログラミング・データをＤＭＡ速度で受信するステップと、前記ＰＬＤプログラミング・データをＰＬＤプログラミング速度で前記ＰＬＤ上のプログラミング・ポートへ送信するステップとを含む。
【発明を実施するための最良の形態】
【００１３】
実施形態は、直接メモリ・アクセス（ＤＭＡ）を使用してプログラマブル論理装置（ＰＬＤ）を初期化する。すなわち、システム内のＤＭＡ制御を少量の追加論理とともに使用することにより、フィールドでプログラム可能なＰＬＤをプログラム（初期化／ロード）する。プロセッサ上で稼働中のソフトウェアは、ＤＭＡ制御及び関連する論理を通して、ＰＬＤプログラミング・シーケンスを開始する。ＤＭＡ制御及び関連する論理を使用することにより、プロセッサがＰＬＤプログラミング・プロセス中にアクティブ制御を提供することに拘束されないことが保証される。その結果、プロセッサは、ＰＬＤがプログラムされている間に、これと並列に他のシステム初期化動作（例えば、組み込みテスト、既知の状態へのメモリの初期設定等）を実行することができる。すなわち、プロセッサは、かかる初期化タスクを順次に実行する必要はない。システム初期化の並列実行は、システム初期化時間を減少させるとともに、応答性を向上させることができる。プロセッサ上で稼働中のソフトウェアは、ＰＬＤプログラミング・プロセスの開始時期を制御するだけでなく、ＰＬＤプログラミング・データのソースをも決定することができ、そのため、静的プログラミング／ローダ・アプローチ（例えば、直接的なシリアルＥＥＰＲＯＭプログラミング）を使用して得られる柔軟性よりも大きな柔軟性を提供する。
【００１４】
以下、図面を参照して説明する。図１は、ＤＭＡを使用してＰＬＤを初期化するための、本発明に従ったシステム１００を示す。システム１００内のアセンブリ１０２は、カード、ボード、モジュール又はより大きなシステム内のサブシステムとすることができる。アセンブリ１０２は、バス１０８を介してＬＤ１０６に結合される集積回路（ＩＣ）１０４を含む。ＩＣ １０４は、ＰＬＤ １０６をプログラミング・モードへ構成し、ＰＬＤ １０６をプログラムし、ＰＬＤ１０６のステータスをモニタすることができる。図１には、１つのＰＬＤ １０６だけが示されているが、複数（１〜Ｎ）のＰＬＤをＩＣ１０４に結合することができる。ＰＬＤ １０６は、プログラマブル論理アレイ（ＰＬＡ）、プログラマブル・アレイ論理（ＰＡＬ）、汎用論理アレイ（ＧＡＬ）、複合プログラマブル論理装置（ＣＰＬＤ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）等の、当分野で公知の任意のプログラマブル論理装置とすることができる。ＰＬＤ１０６は、揮発性ＰＬＤであり、その各パワーオン・サイクルごとにＰＬＤプログラム構成コード（ＰＬＤプログラミング・データ）で初期化される。また、ＰＬＤ１０６は、リセット時又は更新済みのＰＬＤプログラミング・データが利用可能である場合のような、他の時点で再プログラムすることができる。ＰＬＤ１０６は、プログラミング・ポート１０７を通してプログラムされる。また、プログラミング・ポート１０７は、データ、制御、ステータス及びクロック信号接続を含む。バス１０８は、ＩＣ１０４及びＰＬＤ １０６の間の通信をサポートする並列バスとすることができる。バス１０８は、バッファ、プルアップ又はプルダウン抵抗、種々のバス・フォーマット及び複数のＰＬＤ（１,..,Ｎ）１０６をサポートする１つ以上のマルチプレクサのような、当分野で公知の種々のハードウェア要素を含む。バス１０８は、アドレス、データ、制御、ステータス、割り込み及びクロック線として編成することができる。代替実施形態では、並列のＰＬＤプログラミングをサポートし且つ障害の発生時に高度の分離機能を提供するために、ＩＣ１０４及び複数のＰＬＤ １０６の間に複数のバス１０８が並列に存在する。
【００１５】
ＩＣ １０４は、ネットワーク／バス１１２を通して、不揮発性メモリ（ＮＶＭ）１１０に接続される。ＮＶＭ１１０は、ＰＬＤ １０６用のプログラミング及び構成データを格納する。ＮＶＭ １１０は、ＥＥＰＲＯＭ、フラッシュ・メモリ、ハード・ディスク・ドライブ又は不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）のような、オン／オフ・パワーサイクルを通してデータを保存することができる、当分野で公知の任意の不揮発性メモリとすることができる。実施形態では、ＮＶＭ１１０は、アセンブリ１０２から遠隔に設けられる。ＮＶＭ １１０をアセンブリ１０２の外部に設けると、アセンブリ上の追加コンポーネントとしてＰＬＤに対しローカルのシリアルＥＥＰＲＯＭを含むシステムと比較して、アセンブリ１０２の総コスト、サイズ、電力消費及び重量を減少させることができる。さらに、ＮＶＭ１１０を複数のアセンブリ１０２用の共有資源とすると、システム１００内の各アセンブリ１０２に対する個別の更新を必要とすることなく、共有資源であるＮＶＭ１１０だけを更新すればよい。また、アセンブリ１０２の外部にＮＶＭ １１０を設けると、アセンブリ１０２の部品陳腐化の危険（すなわち、シリアルＥＥＰＲＯＭのようなコンポーネントの可用性の減少又は非可用性に起因する製造上／購買上の問題）が減少する。また、アセンブリ１０２の外部にＮＶＭ１１０を設けると、ボードの再加工及びスクラップも減少させることができる。ネットワーク／バス１１２は、当分野で公知の任意のネットワーク又はバス・アーキテクチャとすることができる。例えば、ネットワーク／バス１１２は、ＰＣＩバス、ＰＣＩエクスプレス・バス、高速シリアル・バス又は所有権を主張できるバス・フォーマットとすることができる。代替実施形態では、ネットワーク／バス１１２は、イントラネット、エクストラネット又はインターネット若しくはその組み合わせのようなインターネットワークであり、無線又は有線ネットワークとして実装される。
【００１６】
ＩＣ １０４は、システム・オン・チップ（ＳＯＣ）であり、プロセッサ１１４、ＰＬＤインタフェース（Ｉ／Ｆ）論理１１６、入出力（Ｉ／Ｏ）インタフェース１２０、ＤＭＡ制御１２４及びＩ／Ｏインタフェース１２６を含む。ＩＣ１０４は、特定用途向け集積回路（ＡＳＩＣ）又はＰＬＤのような、当分野で公知の任意の集積回路とすることができる。プロセッサ１１４は、埋め込み型マイクロプロセッサ、マイクロコントローラ、状態マシン、デジタル信号プロセッサ（ＤＳＰ）又は論理装置のような、当分野で公知の命令を実行可能な任意の処理回路とすることができる。さらに、プロセッサ１１４は、ＩＣ１０４内の複数の処理要素へ分散化又は区分化することができる（例えば、マルチコア処理）。プロセッサ１１４は、実行可能な命令を格納するための読み取り可能な記憶媒体を含むことができる。プロセッサ１１４は、バス１１８を通して、ＤＭＡ制御１２４及びＰＬＤＩ／Ｆ １１６に結合される。バス１１８は、レジスタ・アクセスのような非ＤＭＡデータのためのパスを提供することにより、ＤＭＡ制御１２４及びＰＬＤＩ／Ｆ １１６が、ＤＭＡ転送を妨害せずに、プロセッサ１１４のレジスタ・マップ内に現われることを可能にする。バス１１８は、アドレス、データ、制御、ステータス、割り込み及びクロック線を含むことができる。代替実施形態では、バス１１８はシリアル・バスである。また、ＩＣ１０４内の他の論理又はメモリ（図示せず）を、バス１１８に結合することができる。
【００１７】
ＰＬＤ Ｉ／Ｆ １１６は、バス１２２を通して、Ｉ／Ｏインタフェース１２０に結合される。バス１２２は、並列又は直列構成において、アドレス、データ、制御、ステータス、割り込み及びクロック線を含むことができる。Ｉ／Ｏインタフェース１２０は、バス１２２及びバス１０８の間の信号調整及び電気的バッファリングを提供する。例えば、バス１２２及びバス１０８は、異なる電圧レベル（例えば１.５ボルト、１.８ボルト、２.５ボルト、３.３ボルト等）で動作することがあるが、その場合、Ｉ／Ｏインタフェース１２０は、ＩＣ １０４及びＰＬＤ １０６の間の信号フォーマット（例えば、シングル・エンド、ディファレンシャル、電圧標準）及び電圧レベルを変換する。
【００１８】
ＤＭＡ制御１２４は、バス１２８を通して、ＰＬＤ Ｉ／Ｆ １１６に結合される。バス１２８は、ＤＭＡ制御１２４及びＰＬＤ Ｉ／Ｆ １１６の間でデータを引き渡すための独立のパスを提供する。実施形態では、バス１２８は、ＩＣ１０４のメモリ・マップド要素へのアクセスを提供することにより、バス１２８を制御（マスタ）することができる要素によるアドレス可能バスのアクセスをサポートする。バス１２８が、主としてデータを引き渡すために使用されるのに対し、バス１１８は、主として構成及びステータスのために使用される。このようにバス１２８及び１１８の機能を分離すると、ＤＭＡ制御１２４は、バス１１８を拘束することなく、最大の帯域幅でデータをＰＬＤＩ／Ｆ １１６に引き渡すことができる。従って、一旦プロセッサ１１４がＤＭＡ転送を開始すると、プロセッサ１１４は、他のタスクを継続的に実行するとともに、ＤＭＡ制御１２４とのバス競合の問題なしに、バス１１８に継続的にアクセスすることができる。このようにＰＬＤプログラミング・データをアクティブにロードするという負担をプロセッサ１１４から取り除くことにより、プロセッサ１１４は、システム初期化プロセス中に他のシステム初期化タスクをより早く実行することができる。従って、総合的なシステム初期化時間を短縮することが可能となり、その結果、リセット後のシステム応答性を向上させることができる。プロセッサ１１４は、オプションのバス１２９を通して、バス１２８にアクセスする。オプションのバス１２９は、プロセッサ１１４及びＤＭＡ制御１２４の間の代替パスを提供することにより、プロセッサ１１４がバス１２８に接続されたメモリ・マップド要素にアクセスすることを可能にする。また、ＩＣ１０４を有する他の論理又はメモリ（図示せず）をＤＭＡバス１２８に結合すれば、ＤＭＡ制御１２４又はプロセッサ１１４を通して行われる、読み取り又は書き込みのための代替的なソース又は宛先を提供することができる。ＤＭＡ制御１２４は、プロセッサ１１４によって構成可能である。このため、プロセッサ１１４は、ＤＭＡソース・アドレス、ＤＭＡ宛先アドレス、転送ワード・カウント、トリガ・イベント（例えば、プロセッサ割り込み）のような特徴を制御することができる。プロセッサ１１４は、バス１１８を通して、ＤＭＡ制御１２４のステータスを構成し且つこれを読み取ることができる。プロセッサ１１４は、エラー条件が検出されるとき、ＤＭＡ制御１２４を停止させる。
【００１９】
ＤＭＡ制御１２４は、バス１４０を通して、Ｉ／Ｏインタフェース１２６に接続される。バス１４０は、並列又は直列構成において、アドレス、データ、制御、ステータス、割り込み及びクロック線を含むことができる。Ｉ／Ｏインタフェース１２６は、バス１４０及びネットワーク／バス１１２の間の信号調整及び電気的バッファリングを提供する。Ｉ／Ｏインタフェース１２６は、ＰＣＩ、イーサネット（登録商標）、集積回路間（ＩＩＣ）バス、ユニバーサル・シリアル・バス（ＵＳＢ）、ＩＥＥＥ１３９４（ファイアワイア）、制御エリア・ネットワーク・バス（ＣＡＮ）、所有権を主張できるネットワーク又はバス・フォーマット及び当分野で公知の他のネットワーク又はバスの規格のような、ネットワーク／バス１１２をサポートするためのアプリケーションに特有のドライバ及び論理を含むことができる。一旦プロセッサ１１４がＤＭＡ制御１２４を構成し且つこれに起動するように指令すれば、ＤＭＡ制御１２４は、ネットワーク／バス１１２、Ｉ／Ｏインタフェース１２６及びバス１４０を通して、ＮＶＭ１１０からのＰＬＤプログラミング・データを獲得する。その後、ＤＭＡ制御１２４は、獲得したＰＬＤプログラミング・データを、ＤＭＡバス１２８を通して、ＰＬＤＩ／Ｆ １１６に引き渡す。
【００２０】
ＰＬＤ Ｉ／Ｆ １１６は、構成兼ステータス・レジスタ１３０、データ・バッファ１３２及びペーシング論理１３４を含む。また、ＰＬＤ Ｉ／Ｆ １１６は、バス・セレクタ１３６、メモリ・マップ制御１３８及びマルチプレクサ１４２を含む。構成兼ステータス・レジスタ１３０は、レジスタ・マップ又はプロセッサ１１４のメモリ・マップ内で単一のレジスタとして現われるか、又は複数（１〜Ｙ）のレジスタの間で分配されることがある。構成兼ステータス・レジスタ１３０は、ＰＬＤ１０６の１つ以上の制御及びステータス線にマップされる。また、構成兼ステータス・レジスタ１３０は、ＰＬＤ １０６のプログラミング・ポート１０７へのアクセスを提供する。例えば、共通のアドレス復号器を使用することにより、構成兼ステータス・レジスタ１３０を通して、ＰＬＤ１０６にコマンドを書き込んだり、ＰＬＤ １０６のステータスを読み取ることができる。構成兼ステータス・レジスタ１３０は、ＰＬＤ１０６に書き込まれたコマンドをＰＬＤ １０６のステータスとは別個に読み返すことができるように、個々にアドレス可能な要素を含む。プロセッサ１１４上で稼働中のソフトウェアは、構成兼ステータス・レジスタ１３０に対する書き込み及び読み取り動作を行うことにより、プログラミング・サイクルを開始し且つ成功裏のプログラミング完了を検査するように、ＰＬＤ１０６の制御線を操作する。ＰＬＤ １０６の制御線及びステータス線の数がＩＣ １０４のレジスタ幅よりも大きい場合には、ＰＬＤ Ｉ／Ｆ １１６内に複数（１〜Ｙ）の構成兼ステータス・レジスタ１３０が存在することがある。また、複数の構成兼ステータス・レジスタ１３０は、複数のＰＬＤ１０６の個々のプログラミングをサポートするのに利用することができる。
【００２１】
構成兼ステータス・レジスタ１３０の内容及び機能は、ＰＬＤ １０６の製造元及び製品ファミリに依存する。例えば、ＰＬＤ １０６がアルテラ社の「Stratix II」デバイスである場合、構成（ＰＬＤプログラミング）サイクルを開始するために「nCONFIG」信号が出力される。ＰＬＤ １０６のようなＰＬＤのための完全なパワーオン・シーケンスを操作するために１つ以上の構成兼ステータス・レジスタ１３０を使用すると、新しいハードウェア又はハードウェア修正の必要なしに、広範囲のＰＬＤ装置について動作するためのモジュール性を提供することができる。また、構成兼ステータス・レジスタ１３０は、ペーシング論理１３４のタイミングを構成するような、ＰＬＤＩ／Ｆ １１６に対し内部的な他の構成セッティングを提供することができる。
【００２２】
データ・バッファ１３２は、ＤＭＡ制御１２４から受信されたデータのための一時的な保持位置である。データ・バッファ１３２にデータが書き込まれるレートは、データ・バッファ１３２からデータが読み取られるレートと異なることがある。データ・バッファ１３２は、ＲＡＭ、ＦＩＦＯ又は１つ以上のレジスタを含むことができる。ペーシング論理１３４は、Ｉ／Ｏインタフェース１２０、バス１２２及び１０８を通してＰＬＤ１０６に送信されるデータのレート及びフォーマットを制御する。ペーシング論理１３４は、プロセッサ１１４上で稼働中のソフトウェアのコマンドを通して構成されるか、又はＤＭＡ制御１２４を通して書き込まれる。代替実施形態では、ペーシング論理１３４は、ファームウェアの形態で構成される。ペーシング論理１３４は、データ・バッファ１３２から読み取られるデータ及びＰＬＤ１０６への出力のためにＩ／Ｏインタフェース１２０に書き込まれるデータの、タイミング、バイト順（例えば、ビッグ・エンディアン対リトル・エンディアン）及びデータ・ワード幅を制御することができる。ペーシング論理１３４は、データ・バッファ１３２からのデータを選択するようにマルチプレクサ１４２を制御する。
【００２３】
幾つかのＰＬＤファミリが、圧縮化又は暗号化データによるプログラミングをサポートするため、１バイト当たり複数のクロック・サイクルを必要とするのに対し、他のＰＬＤファミリは、１クロック・サイクル当たり１バイトのプログラミングをサポートする。ペーシング論理１３４及びデータ・バッファ１３２の組み合わせは、広範囲のＰＬＤ１０６のプログラミング要件に対応することができる。実施形態では、データ・バッファ１３２は、ＤＭＡ制御１２４からＤＭＡ速度でバースト状のＰＬＤプログラミング・データ（例えば、１６バイト）を受信し、そしてペーシング論理１３４は、ＰＬＤ１０６によってサポートされるプログラミング・タイミング（例えば、１クロック・サイクル当たり１バイト）を使用して、ＰＬＤプログラミング・データを読み取り且つこれをＰＬＤプログラミング速度でＰＬＤ１０６上のプログラミング・ポート１０７に送信する。ＩＣ １０４及びＰＬＤ １０６は、異なるクロック又は異なる速度（例えば、ステップ・ダウン又はステップ・アップしたクロック速度）で動作することができる。ペーシング論理１３４は、ＰＬＤ１０６に送信されるＰＬＤプログラミング・データのタイミング・シーケンスを確立し且つこれを調整するために、カウンタ、位相ロック・ループ（ＰＬＬ）又は当分野で公知の他の技術を利用する。ペーシング論理１３４は、プログラミング・シーケンスをモニタし且つこれを調整するために、プロセッサ１１４の介在を必要とすることなく、利用可能なプログラミング帯域幅を最大化する。また、ＰＬＤＩ／Ｆ １１６内のバイト順サポートは、ビッグ・エンディアン及びリトル・エンディアン・アドレシング／順序方式の両方を含む、種々のシステム構成を使用可能にする。さらに、バス幅はＰＬＤプログラミング・ポート及びＤＭＡ制御１２４の間で変わることがあるので、ＰＬＤＩ／Ｆ １１６は、種々の構成（例えば、３２ビットのＤＭＡデータ及び８ビットのＰＬＤプログラミング・ポート）をサポートすることができる。メモリ・マップ制御１３８は、アドレシング・サポート、バイト順及びバス幅変換を提供する。また、メモリ・マップ制御１３８は、バス１２８へのアクセスを調停することができる。
【００２４】
構成兼ステータス・レジスタ１３０、データ・バッファ１３２及びペーシング論理１３４のようなＰＬＤＩ／Ｆ １１６の諸要素は、プロセッサ１１４及びＤＭＡ制御１２４にアクセス可能である。バス・セレクタ１３６は、構成兼ステータス・レジスタ１３０にアクセスするように、バス１１８又は１２８の何れか一方をイネーブルすることができる。かかる複数のアクセス・パスをサポートすると、システム１００の性能を最適化するとともに、バックアップ又は代替パスを通して障害耐性を向上させるように、強化された柔軟性及び構成可能性を提供することができる。バス・セレクタ１３６、バス１２８及び１１８を使用すると、ＰＬＤ１０６のプログラミングをサポートする多くのオプションが存在する。例えば、プロセッサ１１４又はＤＭＡ制御１２４の何れか一方は、ＰＬＤ１０６をプログラミング・モードへ構成するために、構成兼ステータス・レジスタ１３０内に或る値をセットすることができる。ＰＬＤ １０６のＰＬＤプログラミング・ポート１０７は、データ・バッファ１３２及びマルチプレクサ１４２を通して、又は構成兼ステータス・レジスタ１３０を通してアクセス可能である。従って、プロセッサ１１４又はＤＭＡ制御１２４は、データ・バッファ１３２及びマルチプレクサ１４２を通して、又は構成兼ステータス・レジスタ１３０を通して、ＰＬＤプログラミング・データをＰＬＤ１０６に送信することができる。ＰＬＤ １０６をプログラムするために複数の経路を提供することが望ましいが、実施形態では、ＩＣ１０４内で使用される資源の量を減少させるために、バス・セレクタ１３６及びオプションのバス１２９が取り除かれる。データ・バッファ１３２が単一の要素であるか、又はバス１２２に結合される場合には、マルチプレクサ１４２もＩＣ１０４から取り除くことができる。バス・セレクタ１３６及びメモリ・マップ制御１３８は、ＰＬＤ Ｉ／Ｆ １１６の内部にあるように図示されているが、これらの要素は、ＰＬＤ Ｉ／Ｆ １１６の外部にあってもよい。
【００２５】
ＰＬＤ １０６がＰＬＤプログラミング（初期設定）モードにある場合、ＰＬＤ１０６のＰＬＤプログラミング・ポート１０７へのデータ書き込みアクセスが利用可能である。ＰＬＤ １０６がＰＬＤプログラミング・モードになければ、ＰＬＤ １０６上のプログラミング・ポート１０７へのアクセスは、メモリ・マップ制御１３８を通して阻止する（例えば、メモリ・マップを通して、プロセッサ１１４及びＤＭＡ制御１２４からアクセス不能又は隔離する）ことができる。このようにすると、プログラムされたＰＬＤ１０６が不注意によって破損されなくなるから、システムの総合的な信頼性及び可用性を改良することができる。ＰＬＤプログラミング・モードは、構成兼ステータス・レジスタ１３０を読み取ることによって、決定することができる。また、構成兼ステータス・レジスタ１３０は、ＰＬＤプログラミング中にエラー条件が生じる状況を指示することができる。
【００２６】
ＩＣ １０４及びアセンブリ１０２は、図１に図示されていないが、当分野で公知の他の要素を含む。例えば、アセンブリ１０２は、１つ以上のクロック、電源、電圧変換器、雑音抑制／フィルタリング要素、減結合コンデンサ、電力及び接地接続、ヒートシンク及び個別部品を含む、他のインタフェース及び回路を含むことができる。ＩＣ１０４は、先入れ先出し（ＦＩＦＯ）バッファ、ランダムアクセス・メモリ（ＲＡＭ）ブロック、読み取り専用メモリ（ＲＯＭ）、電圧レール、クロック、ＰＬＬ、レジスタ、アナログ・ディジタル（Ａ／Ｄ）変換器、デジタル／アナログ（ＤＡＣ）変換器、Ｉ／Ｏピン・ドライバ等の、図１に図示されていない他の論理ブロック及び要素を含むことができる。
【００２７】
要約すると、図１のシステム１００は、ＤＭＡを使用してＰＬＤ １０６を初期化する。システム１００のアセンブリ１０２上に設けられたＰＬＤ １０６は、制御線を有するプログラミング・ポート１０７を含む。また、システム１００のアセンブリ１０２上に設けられたＩＣ１０４は、ＰＬＤ １０６のプログラミング・ポート１０７に結合される。ＩＣ １０４は、ＩＣ １０４及びＰＬＤ １０６の間の信号フォーマットを変換するためのＩ／Ｏインタフェース１２０を含む。また、ＩＣ１０４は、ＰＬＤインタフェース１１６を含み、このＰＬＤインタフェース１１６は、構成兼ステータス・レジスタ１３０、データ・バッファ１３２及びペーシング論理１３４を含む。構成兼ステータス・レジスタ１３０は、Ｉ／Ｏインタフェース１２０を介して、ＰＬＤ１０６のプログラミング・ポート１０７の制御線を操作する。データ・バッファ１３２は、ＤＭＡ制御１２４からＤＭＡ速度で受信されるＰＬＤプログラミング・データを一時的に保持する。ペーシング論理１３４は、Ｉ／Ｏインタフェース１２０を介して、ＰＬＤプログラミング・データをＰＬＤ１０６上のプログラミング・ポート１０７に送信する速度をＰＬＤプログラミング速度で制御することができる。
【００２８】
次に、図２を参照して、ＤＭＡを使用してＰＬＤを初期化するように実装することができるアセンブリ２００について説明する。アセンブリ２００は、カード、ボード、モジュール又はより大きなシステム内のサブシステムとすることができる。図１のアセンブリ１０２と同様に、図２のアセンブリ２００は、バス１０８を通してＰＬＤ１０６のプログラミング・ポート１０７に結合される集積回路（ＩＣ）２０４を含む。ＩＣ ２０４は、ＰＬＤ １０６をプログラミング・モードへ構成し、ＰＬＤ １０６をプログラムし、ＰＬＤ １０６のステータスをモニタすることができる。図２には、１つのＰＬＤ１０６だけが示されているが、複数（１〜Ｎ）のＰＬＤをＩＣ ２０４に結合することができる。ＩＣ２０４は、プロセッサ１１４、ＰＬＤインタフェース（Ｉ／Ｆ）１１６、入出力（Ｉ／Ｏ）インタフェース１２０、ＤＭＡ制御２２４及びＮＶＭ２１０を含む、システム・オン・チップ（ＳＯＣ）である。ＩＣ ２０４は、ＡＳＩＣ又はＰＬＤのような、当分野で公知の任意の集積回路とすることができる。図１のアセンブリ１０２の要素と同じ参照番号を付した図２のアセンブリ２００の要素は、図１のアセンブリ１０２に関連して説明したものと実質的に同様の特徴及び利点を提供する。幾つかのＩＣは、ＮＶＭ２１０のような内部的な不揮発性メモリを含むことができるので、図２のＩＣ ２０４は、かかるＩＣの記憶能力を利用することにより、図１のＮＶＭ１１０のような遠隔の記憶要素を設ける必要性を排除している。
【００２９】
図２に示すように、ＤＭＡ制御２２４は、バス２４０を通して、ＮＶＭ ２１０内に格納済みのＰＬＤプログラミング・データに直接アクセスする。バス２４０は、並列又は直列構成において、アドレス、データ、制御、割り込み及びクロック線を含むことができる。ＤＭＡ制御２２４は、ＰＬＤプログラミング・データに直接アクセスすることができる点を除くと、図１のＤＭＡ制御１２４と同様の態様で動作する。電圧標準図２のＤＭＡ制御２２４は、外部のネットワーク／バス１１２への接続を取り除くことによって、図１のＤＭＡ制御１２４と比較して、ＰＬＤプログラミング・データへのより速いアクセスを提供する。ＮＶＭ２１０のサイズがＩＣ ２０４の内部的要素として制約されることがあるために、ＰＬＤ １０６には、より速いプログラミング速度及びより小さなＰＬＤプログラミング・ファイルをサポートするアセンブリ２００の方が好ましいことがある。
【００３０】
次に、図３を参照して、ＤＭＡを使用してＰＬＤを初期化するように実装することができるシステム３００について説明する。図１のシステム１００と同様に、システム３００は、バス１０８を通してＰＬＤ１０６のプログラミング・ポート１０７に結合される集積回路（ＩＣ）３０４を含む。ＩＣ ３０４は、ＰＬＤ １０６をプログラミング・モードへ構成し、ＰＬＤ １０６をプログラムし、ＰＬＤ １０６のステータスをモニタすることができる。図３には、１つのＰＬＤ１０６だけが示されているが、複数（１〜Ｎ）のＰＬＤをＩＣ ３０４に結合することができる。ＩＣ３０４は、ＡＳＩＣ又はＰＬＤのような、当分野で公知の任意の集積回路とすることができる。図３のＩＣ ３０４は、図１のＩＣ １０４と比較して、減少された要素及び機能性を含む。図１のシステム１００の要素と同じ参照番号を付した図３のシステム３００の要素は、図１のシステム１００に関連して説明したものと実質的に同様の特徴及び利点を提供する。ＩＣ３０４は、Ｉ／Ｏインタフェース１２０、３２６及び３３６に結合されるＰＬＤインタフェース１１６を含む。また、システム３００は、バス３３８を通してＩ／Ｏインタフェース３３６に結合されるプロセッサ３１４を含む。さらに、システム３００は、バス３４０を通してＩ／Ｏインタフェース３２６に結合されるＤＭＡ制御３２４を含む。ＤＭＡ制御３２４は、バス３１２を通して、ＮＶＭ１１０に結合される。バス３１２、３３８及び３４０は、図１の同様のバスに関連して説明したように、当分野で公知の任意のバス・フォーマットを利用する。バス３１２、３３８及び３４０は、並列又は直列構成において、アドレス、データ、制御、ステータス、割り込み及びクロック線を含むことができる。バス３４０は、バス調停を通して、ＤＭＡ及び非ＤＭＡデータの両方をサポートする。代替実施形態では、バス３４０は、ＤＭＡ及び非ＤＭＡデータのための独立パスを含む。同様に、バス３３８は、ＩＣ３０４へのメモリ・マップド及びレジスタ・マップド・アクセスのための並列構造を含むことができ、或いはこれに代えて、バス３３８上でバス調停方式を使用することができる。
【００３１】
プロセッサ３１４は、マイクロプロセッサ、マイクロコントローラ、状態マシン、デジタル信号プロセッサ（ＤＳＰ）又は論理装置のような、当分野で公知の命令を実行可能な任意の処理回路とすることができる。プロセッサ３１４は、実行可能な命令を格納するための読み取り可能な記憶媒体を含むことができる。プロセッサ３１４は、ＩＣ３０４と同じアセンブリ上又はサブシステム上に設けられる。代替実施形態では、プロセッサ３１４は、ＩＣ ３０４に関して遠隔のアセンブリ上又はサブシステム上に設けられる。同様に、ＤＭＡ制御３２４は、これをＩＣ ３０４と同じアセンブリ上又はサブシステム上に設けるか、又はＩＣ ３０４に関して遠隔のアセンブリ上又はサブシステム上に設けることができる。ＮＶＭ１１０は、ＩＣ ３０４に関して遠隔（例えば、別個のアセンブリ上又はサブシステム上）に設けられる。
【００３２】
ＩＣ ３０４内のバス３１８は、ＰＬＤＩ／Ｆ １１６、Ｉ／Ｏインタフェース３２６及びＩ／Ｏインタフェース３３６の間の非ＤＭＡデータのためのパスを提供する。バス３１８は、並列又は直列構成において、アドレス、データ、制御、ステータス、割り込み及びクロック線を含むことができる。バス３１８は、Ｉ／Ｏインタフェース３３６を通して、ＰＬＤＩ／Ｆ １１６へのプロセッサ３１４のための読み取り／書き込みアクセスを提供するとともに、Ｉ／Ｏインタフェース３２６及びバス３４０をさらに通して、ＤＭＡ制御３２４へのプロセッサ３１４のための読み取り／書き込みアクセスを提供する。ＤＭＡ制御３２４及びＰＬＤＩ／Ｆ １１６は、プロセッサ３１４のレジスタ・マップ又はメモリ・マップ内に直接現われることができる。ＩＣ３０４内のバス３２８は、ＰＬＤ Ｉ／Ｆ １１６及びＩ／Ｏインタフェース３２６の間のメモリ・マップド・アクセス用のパスを提供する。バス３２８は、並列又は直列構成において、アドレス、データ、制御、ステータス、割り込み及びクロック線を含むことができる。プロセッサ３１４は、オプションのバス３２９を通して、バス３２８にアクセスする。オプションのバス３２９は、プロセッサ３１４及びＤＭＡ制御３２４の間の代替パスを提供することにより、プロセッサ３１４がバス３２８に接続されたメモリ・マップド要素にアクセスすることを可能にする。バス３２８が、主としてデータを引き渡すために使用されるのに対し、バス３１８は、主として構成及びステータスのために使用される。Ｉ／Ｏインタフェース３２６及び３３６は、図１のＩ／Ｏインタフェース１２０に関連して説明したものと同様のバス間変換の機能を実行する。Ｉ／Ｏインタフェース３２６は、内部バス３１８、３２８及びバス３４０の間のバス調停を行うことができる。同様に、Ｉ／Ｏインタフェース３３６は、内部バス３１８、３２９及びバス３３８の間のバス調停を行うことができる。
【００３３】
図３のＩＣ ３０４が好ましいのは、プロセッサ３１４及びＤＭＡ制御３２４のような既存のプロセッサ及びＤＭＡ制御を有するシステムにおいて、ＤＭＡを使用してＰＬＤを初期化するために安価なＩＣ実装が望まれる場合である。図３のＩＣ３０４は、図１のＩＣ １０４及び図２のＩＣ ２０４と比較すると、装置がより簡単になっているためにコストをより低くすることができる。
【００３４】
次に、図４を参照して、ＤＭＡを使用してＰＬＤを初期化するように実装することができるシステム４００について説明する。図１のシステム１００と同様に、システム４００は、アセンブリ４０２を含み、このアセンブリ４０２は、バス１０８を通してＰＬＤ１０６のプログラミング・ポート１０７に結合される集積回路（ＩＣ）４０４を含む。ＩＣ ４０４は、ＰＬＤ １０６をプログラミング・モードへ構成し、ＰＬＤ １０６をプログラムし、ＰＬＤ １０６のステータスをモニタすることができる。アセンブリ４０２は、カード、ボード、モジュール又はより大きなシステム内のサブシステムとすることができる。図４には、１つのＰＬＤ１０６だけが示されているが、複数（１〜Ｎ）のＰＬＤをＩＣ ４０４に結合することができる。ＩＣ４０４は、ＡＳＩＣ又はＰＬＤのような、当分野で公知の任意の集積回路とすることができる。さらに、アセンブリ４０２は、（図３のシステム３００と同様に）Ｉ／Ｏインタフェース３３６及びバス３３８を通してＩＣ４０４に結合されるプロセッサ３１４を含む。図１〜図３のシステム１００〜３００の要素と同じ参照番号を付した図４のシステム４００の要素は、図１〜図３のシステム１００〜３００に関連して説明したものと実質的に同様の特徴及び利点を提供する。ＩＣ４０４は、バス４１８を通してＩ／Ｏインタフェース３３６及びＤＭＡ制御１２４に結合されるＰＬＤインタフェース１１６を含む。図１のＩＣ１０４と同様に、ＩＣ ４０４は、バス１２２を通してＰＬＤ Ｉ／Ｆ １１６に結合されるＩ／Ｏインタフェース１２０と、バス１４０を通してＤＭＡ制御１２４に結合されるＩ／Ｏインタフェース１２６と、ＰＬＤＩ／Ｆ １１６をＤＭＡ制御１２４に対し結合するバス４２８と、プロセッサ３１４がバス４２８にアクセスすることができるように、Ｉ／Ｏインタフェース３３６をバス４２８に対し結合するオプションのバス４２９とを含む。さらに、システム４００は、アセンブリ４０２の外部に設けられ、ネットワーク／バス１１２を通してＩＣ４０４のＩ／Ｏインタフェース１２６に結合されるＮＶＭ １１０を含む。
【００３５】
ＩＣ ４０４のバス４１８は、ＰＬＤＩ／Ｆ １１６、ＤＭＡ制御１２４及びＩ／Ｏインタフェース３３６の間のレジスタ・アクセス用のパスを提供する。バス４１８は、並列又は直列構成において、アドレス、データ、制御、ステータス、割り込み及びクロック線を含むことができる。バス４１８は、Ｉ／Ｏインタフェース３３６を通して、ＰＬＤＩ／Ｆ １１６及びＤＭＡ制御１２４へのプロセッサ３１４のための読み取り／書き込みアクセスを提供する。ＤＭＡ制御１２４及びＰＬＤＩ／Ｆ １１６は、プロセッサ３１４のメモリ又はレジスタ・マップ内に直接現われることができる。図４のバス４２８は、図１のバス１２８と実質的に同様の特徴及び利点を提供する。バス４２８が、主としてデータを引き渡すために使用されるのに対し、バス４１８は、主として構成及びステータスのために使用される。
【００３６】
システム４００が好ましいのは、図４のＩＣ ４０４のようなＩＣが、埋め込み型プロセッサを含んでおらず、しかもプロセッサが、アセンブリ４０２のプロセッサ３１４のような共通のアセンブリ上のＩＣに接続される場合である。プロセッサ３１４は、アセンブリ４０２上の複数のＩＣ４０４をサポートする。
【００３７】
次に、図５を参照して、ＤＭＡを使用してＰＬＤを初期化するように実装することができるシステム５００について説明する。図３のシステム３００と同様に、システム５００は、バス１０８を通してＰＬＤ１０６のプログラミング・ポート１０７に結合される集積回路（ＩＣ）５０４を含む。ＩＣ ５０４は、ＰＬＤ １０６をプログラミング・モードへ構成し、ＰＬＤ １０６をプログラムし、ＰＬＤ １０６のステータスをモニタすることができる。さらに、システム５００は、Ｉ／Ｏインタフェース３３６及びバス３３８を通してＩＣ５０４に結合されるプロセッサ３１４を含む。プロセッサ３１４は、ＩＣ ５０４に対するデータの読み取り及び書き込みのようなタスクを実行することができる。図５には、１つのＰＬＤ１０６だけが示されているが、複数（１〜Ｎ）のＰＬＤをＩＣ ５０４に結合することができる。ＩＣ５０４は、ＡＳＩＣ又はＰＬＤのような、当分野で公知の任意の集積回路とすることができる。ＩＣ ５０４は、図２に示すＩＣ ２０４のプロセッサ１１４がプロセッサ３１４としてＩＣ ５０４に外部に移動されている点を除けば、図２のＩＣ ２０４と同様のものである。図１〜図４のシステム又はアセンブリ１００〜４００の要素と同じ参照番号を付した図５のシステム５００の要素は、図１〜図４のシステム又はアセンブリ１００〜４００に関連して説明したものと実質的に同様の特徴及び利点を提供する。システム５００が好ましいのは、図５のＩＣ５０４のようなＩＣが、ＮＶＭ ２１０のようなＮＶＭを含むが、プロセッサ３１４のようなプロセッサを含まない場合である。
【００３８】
次に、図６を参照して、ＤＭＡを使用してＰＬＤを初期化するように実装することができるシステム６００について説明する。システム６００に含まれる複数（１〜Ｍ）のアセンブリは、バス３３８及び３４０を通して、プロセッサ３１４及びＤＭＡ制御３２４にそれぞれ結合される。複数（１〜Ｍ）のアセンブリは、カード、ボード、モジュール、サブシステム又はそれらの任意の組み合わせとすることができる。図６には、代表的な２つのアセンブリ６０２及び６０４（アセンブリ１及びＭ）だけが示されており、可変数の中間アセンブリ（アセンブリ２〜Ｍ−１）は示されていない。各アセンブリ６０２−６０４は、図３のシステム３００に関連して説明したように、バス１０８を通してＰＬＤ１０６に結合される集積回路（ＩＣ）３０４を含む。各アセンブリ６０２−６０４は、異なる数（１〜Ｎ）のＰＬＤ １０６を含むことができる。
【００３９】
ＤＭＡ制御３２４は、バス３１２を通してＮＶＭ１１０に結合され、またバス６０６を通してプロセッサ３１４に結合される。図３のシステム３００の要素と同じ参照番号を付したシステム６００の要素は、図３のシステム３００に関連して説明したものと実質的に同様の特徴及び利点を提供する。バス６０６は、並列又は直列構成において、アドレス、データ、制御、ステータス、割り込み及びクロック線を含むことができる。ＤＭＡ制御３２４及びプロセッサ３１４は、マイクロコントローラ、ＤＳＰ又はＰＬＤのような共通の装置内に設けられる。システム６００が好ましいのは、複数のＰＬＤ１０６が複数のアセンブリにわたって分散され、しかも各アセンブリがプロセッサ３１４のような独立のプロセッサを含まない場合である。
【００４０】
次に、図７を参照して、ＤＭＡを使用してＰＬＤを初期化するためのプロセス７００について説明する。プロセス７００は、ＤＭＡ制御を使用してＰＬＤの初期化を制御することにより、プロセッサのスループットを向上させるとともに、ボード領域を減少させることができる。プロセス７００は、図１〜図６のシステム及びアセンブリ１００〜６００に適用することができるが、説明の便宜上、図１のシステム１００に関連してプロセス７００を説明する。ブロック７０２では、ＰＬＤ１０６をプログラミング・モードへ構成するように、ＰＬＤ １０６の制御線が操作される。プロセッサ１１４は、バス１１８を通してＰＬＤＩ／Ｆ １１６の構成兼ステータス・レジスタ１３０にコマンドを書き込むことにより、バス１０８のＰＬＤ制御線の操作を開始する。また、プロセッサ１１４は、タイミング、バイト順及びデータ・ワード幅のような特徴を含む、ＰＬＤ１０６との互換性のためにＰＬＤ Ｉ／Ｆ １１６を構成することができる。代替実施形態では、ＤＭＡ制御１２４は、バス１０８及びバス・セレクタ１３６を通して、ＰＬＤＩ／Ｆ １１６の構成兼ステータス・レジスタ１３０へコマンドを書き込むことにより、バス１０８のＰＬＤ制御線の操作を開始する。
【００４１】
ブロック７０４では、ＮＶＭ １１０からＰＬＤプログラミング・データを読み取るように、ＤＭＡ制御１２４が構成される。プロセッサ１１４は、バス１１８を通して、ＤＭＡ制御１２４の構成を指令する。プロセッサ１１４は、ＤＭＡ制御１２４内のソース・アドレス、宛先アドレス、ワード・カウント及び他の構成セッティングを選択することができる。
【００４２】
ブロック７０６では、プロセッサ１１４は、ＤＭＡ制御１２４を起動することにより、ＮＶＭ１１０からＰＬＤプログラミング・データを読み取る。ＤＭＡ制御１２４は、プロセッサ１１４によってプログラムされたＤＭＡ制御１２４の構成に基づいて、ＮＶＭ１１０内に格納済みのＰＬＤプログラミング・データに対する要求をネットワーク／バス１１２上に置く。ＮＶＭ １１０からＤＭＡ制御１２４において受信されたＰＬＤプログラミング・データは、バス１２８を通してＰＬＤ Ｉ／Ｆ １１６に引き渡される。
【００４３】
ブロック７０８では、ＰＬＤプログラミング・データが、ＤＭＡ制御からＤＭＡ速度で受信される。ＰＬＤＩ／Ｆ １１６によって、種々のＤＭＡデータ・バス幅、フォーマット及び速度がサポートされる。ブロック７１０では、ＰＬＤプログラミング・データが、データ・バッファ１３２に書き込まれる。データ・バッファ１３２への書き込みは、ＤＭＡ制御１２４又はメモリ・マップ制御１３８によって制御することができる。データ・バッファ１３２は、ＦＩＦＯ、ＲＡＭ又はレジスタ・ベースのバッファである。データ・バッファ１３２のサイズは、ＰＬＤプログラミング・データ・ファイルの全体を保持するか、又はＤＭＡ速度及びＰＬＤプログラミング速度の間の速度差を吸収可能なサイズを有するデータのブロックを保持するのに十分な大きさとすることができる。代替実施形態では、ＰＬＤプログラミング・データは、構成兼ステータス・レジスタ１３０に書き込まれる。構成兼ステータス・レジスタ１３０は、ＰＬＤプログラミング・データをＰＬＤプログラミング速度でＰＬＤ１０６上のプログラミング・ポート１０７に送信するための代替パスを提供することができる。ＰＬＤプログラミング・データは、ＤＭＡ制御１２４又はプロセッサ１１４によって、データ・バッファ１３２又は構成兼ステータス・レジスタ１３０に書き込むことができる。
【００４４】
ブロック７１２では、データ・バッファ１３２からＰＬＤプログラミング・データが読み取られる。実施形態では、ビッグ・エンディアン又はリトル・エンディアン・フォーマットの何れかをサポートするために、データ・バッファ１３２から読み取られるデータのバイト順を変更することができる。メモリ・マップ制御１３８は、データ・バッファ１３２内にある値のバイト順及びアドレシングを制御することができる。データ・バッファ１３２からデータを読み取るプロセスは、データ・バッファ１３２内のＰＬＤプログラミング・データのシーケンスを維持するために、データ・バッファ１３２内の内部ポインタを調整することができる。データ・バッファ１３２からＰＬＤプログラミング・データが読み取られる場合、データ・バッファ１３２に書き込まれるＰＬＤプログラミング・データのデータ・ワード幅が修正される。かかるデータ・ワード幅の修正を行うことにより、異なるバス幅（例えば、８ビット、１６ビット、２４ビット、３２ビット、６４ビット等）に関連して種々のＤＭＡ制御１２４及びＰＬＤプログラミング・ポート１０７をサポートすることができる。ペーシング論理１３４は、データ・バッファ１３２内の異なる位置にアクセスするために、マルチプレクサ１４２への入力を切り替える。ペーシング論理１３４は、ＰＬＤプログラミング速度で読み取るためにデータ・バッファ１３２の位置を選択することができる。実施形態では、ＤＭＡ速度は、ＰＬＤプログラミング速度とは異なる。代替実施形態では、ＤＭＡ速度は、ＰＬＤプログラミング速度と同じである。ＤＭＡ速度がＰＬＤプログラミング速度と同じか又はＰＬＤプログラミング速度より遅い場合、ＰＬＤプログラミング・データは、蓄積なしにデータ・バッファ１３２を通過するか、又は構成兼ステータス・レジスタ１３０を通過することができる。
【００４５】
ブロック７１４では、ＰＬＤプログラミング・データが、ＰＬＤプログラミング速度でＰＬＤ１０６上のプログラミング・ポート１０７に送信される。ＰＬＤ １０６のプログラミング・ポート１０７は、バス１０８を通してＩＣ１０４に接続される。伝送速度は、ペーシング論理１３４によって管理される。
【００４６】
ブロック７１６では、ＰＬＤ １０６がＰＬＤプログラミング・データで成功裏にプログラミングされたことを確認するために、ＰＬＤ１０６のステータスが読み取られる。ＰＬＤ １０６のステータスは、構成兼ステータス・レジスタ１３０を通して、プロセッサ１１４によって読み取ることができる。実施形態では、ＰＬＤ１０６のステータスは、エラー又はＰＬＤプログラミングの完了を検査するために周期的に読み取られる。代替実施形態では、プロセッサ１１４は、１つ以上の割り込み信号を通して、エラー又はＰＬＤプログラミングの完了を通知される。
【００４７】
ブロック７１８では、ＰＬＤ １０６がプログラミング・モードにない場合、ＰＬＤ１０６上のプログラミング・ポート１０７へのアクセスが阻止される。ＰＬＤ １０６がプログラミング・モードにない場合、プロセッサ１１４及びＤＭＡ制御１２４の一方又は両方に対してアクセスを拒否することができる。ＰＬＤ１０６上のプログラミング・ポート１０７へのアクセスは、メモリ・マップ制御１３８によって阻止することができる。メモリ・マップ制御１３８は、構成兼ステータス・レジスタ１３０を通して、ＰＬＤプログラミング・モードのステータスを決定することができる。実施形態では、メモリ・マップ制御１３８は、ペーシング論理１３４を通して、構成兼ステータス・レジスタ１３０にアクセスする。代替実施形態では、メモリ・マップ制御１３８は、バス・セレクタ１３６を通して、構成兼ステータス・レジスタ１３０にアクセスする。
【００４８】
実施形態では、ブロック７０８〜７１４が、パイプライン式又はストリーム式に並列に実行されるのに対し、ブロック７０２〜７０６及び７１６〜７１８は、順次に実行される。パイプライン式又はストリーム式のアプローチを使用すると、利用可能な帯域幅をさらに大きくすることができ、その結果、ＰＬＤ１０６をＰＬＤプログラミング・データでプログラムするのに必要な総時間をさらに減少させることができる。プロセス７００中の任意の時点で、プロセッサ１１４は、エラー、システム資源に対するより高い優先順位の要求又はユーザ要求のような種々の理由で、ＰＬＤプログラミング・シーケンスを休止又は終了することができる。エラー条件の発生時には、プロセッサ１１４は、プロセス７００を繰り返すように試みることができる。代替的に、プロセッサ１１４は、訂正処置を取ることができるように、外部資源に対しメッセージを送信するか、信号をアサートするか、又はエラー条件を通知することができる。 
【００４９】
実施形態の技術的な効果及び利点は、ＤＭＡ制御を使用してＰＬＤを初期化することを含む。ＤＭＡ制御は、ＮＶＭからＰＬＤＩ／ＦへのＰＬＤプログラミング・データをストリーム化し、ＰＬＤがプログラムされている間に、他のタスクを実行するようにシステム・プロセッサを解放する。実施形態では、ＰＬＤが設けられているアセンブリ又はサブシステムの外部に、ＮＶＭを設けることができる。ＮＶＭを遠隔の位置に移動させると、アセンブリ又はサブシステムのコスト、重量、電力消費、ボード領域、熱を減少させることができるばかりか、他の利点も得ることができる。利用可能な又は組み込みシステム資源を使用すると、ＰＬＤをプログラムするためにシリアルＥＥＰＲＯＭ装置を使用するという代表的な従来技術に関連するボード領域の不利益や追加コストを排除することができる。ＤＭＡ制御及び関連する論理を使用することを通して、ＰＬＤプログラミング・データを、並行プログラミング・パスを介して、速やかにロードすることができる。さらに、実施形態は、ＤＭＡ制御及びＰＬＤの間のタイミング、バイト順及びデータ・ワード幅を適合させる際の柔軟性を提供する。ＰＬＤプログラミング・プロセスを開始するプロセッサに対し、ＰＬＤ制御及びステータス情報を利用可能にすると、プロセッサは、転送の成功、エラー条件及びＰＬＤプログラミング・シーケンスの開始又は停止についてモニタすることができる。さらに、ＤＭＡ制御に障害が生じる場合には、ＰＬＤＩ／Ｆ内の構成兼ステータス・レジスタは、ＰＬＤプログラミング・データをＰＬＤにロードするための代替パスを提供することができる。
【００５０】
前述のように、本発明の実施形態は、コンピュータで実装されるプロセス及びこれらのプロセスを実行するための装置として具体化することができる。また、本発明の実施形態は、フレキシブル・ディスク、ＣＤ−ＲＯＭ、ハード・ドライブ等のコンピュータ可読記憶媒体に記録されたコンピュータ・プログラムとして、或いは電気的なケーブル、光ファイバ、電磁放射等の伝送媒体を介して伝送されるコンピュータ・プログラムとして、具体化することができる。かかるコンピュータ・プログラムがコンピュータにロードされ且つ実行される場合、このコンピュータは、本発明を実施するための装置になる。汎用のマイクロプロセッサ上で実装される場合、かかるコンピュータ・プログラムのセグメントは、特定の論理回路を作成するように当該マイクロプロセッサを構成する。
【００５１】
本発明は代表的実施形態を参照して説明されたが、本発明の範囲から逸脱することなく、種々の変更を行ったり、実施形態の特定の要素の代わりにその均等手段を使用することができる。また、本発明の本質的な範囲から逸脱することなく、特定の状況又は材料に適合するように本発明の概念に変更を施すことができる。従って、本発明は、本明細書において最良の実施形態として記載された特定の実施形態に限定されるものではなく、各請求項の範囲に属する全ての実施形態を包含するものである。
【図面の簡単な説明】
【００５２】
【図１】直接メモリ・アクセス（ＤＭＡ）を使用してプログラマブル論理装置（ＰＬＤ）を初期化するための、本発明に従ったシステムのブロック図である。
【図２】ＤＭＡを使用してＰＬＤを初期化するための、本発明に従ったアセンブリのブロック図である。
【図３】ＤＭＡを使用してＰＬＤを初期化するための、本発明に従ったシステムのブロック図である。
【図４】ＤＭＡを使用してＰＬＤを初期化するための、本発明に従ったシステムのブロック図である。
【図５】ＤＭＡを使用してＰＬＤを初期化するための、本発明に従ったシステムのブロック図である。
【図６】ＤＭＡを使用してＰＬＤを初期化するための、本発明に従った複数のアセンブリを備えたシステムのブロック図である。
【図７】ＤＭＡを使用してＰＬＤを初期化するための、本発明に従ったプロセスを示すフローチャートである。
【図１】
2008192150.tif 000003
【図２】
2008192150.tif 000004
【図３】
2008192150.tif 000005
【図４】
2008192150.tif 000006
【図５】
2008192150.tif 000007
【図６】
2008192150.tif 000008
【図７】
2008192150.tif 000009