(57)【要約】【課題】複雑化せずに組み込み型特定アプリケーション向け機能ブロックを構成する。【解決手段】出力を含むコンフィギュレーションデータ制御部を有するユーザプログラマブル構造内に組み込まれるとともに、入力を含むコンフィギュレーションメモリを有する、特定アプリケーション向け機能ブロックを構成する方法で、特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、ユーザプログラマブル構造のコンフィギュレーション制御部へ送り、ユーザプログラマブル構造のコンフィギュレーションデータ制御部の出力を、特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力へルーティングし、コンフィギュレーションデータを、特定アプリケーション向け機能ブロックのコンフィギュレーションメモリへ転送し、コンフィギュレーションデータを用いて、特定アプリケーション向け機能ブロックを構成する。【選択図】図３
2008276746.tif 000002
【特許請求の範囲】
【請求項１】
入力および出力を含むコンフィギュレーションデータ制御部を有するユーザプログラマブル構造内に組み込まれるとともに、入力および出力を含むコンフィギュレーションメモリを有する、特定アプリケーション向け機能ブロックを構成する方法であって、
前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、前記ユーザプログラマブル構造のコンフィギュレーション制御部へ送るステップと、
前記ユーザプログラマブル構造のコンフィギュレーションデータ制御部の出力を、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力へルーティングするステップと、
コンフィギュレーションデータを、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリへ転送するステップと、
コンフィギュレーションデータを用いて、前記特定アプリケーション向け機能ブロックを構成するステップと、を有する方法。
【請求項２】
前記コンフィギュレーション制御部は、一連のレジスタを有し、
前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを送るステップは、前記一連のレジスタを通して、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータをシフトするステップを有する、請求項１に記載の方法。
【請求項３】
前記コンフィギュレーションデータ制御部の出力をルーティングするステップは、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力を有効化するステップを有する、請求項１に記載の方法。
【請求項４】
さらに、
前記コンフィギュレーションメモリの出力を、前記コンフィギュレーションデータ制御部の入力へルーティングするステップと、
コンフィギュレーションデータを前記コンフィギュレーションデータ制御部へ転送するステップと、
コンフィギュレーションデータを読み出すステップと、を有する、請求項１に記載の方法。
【請求項５】
前記コンフィギュレーション制御部は、一連のレジスタを有し、
前記コンフィギュレーションデータを読み出すステップは、前記一連のレジスタを通して、コンフィギュレーションデータをシフトするステップを有する、請求項４に記載の方法。
【請求項６】
前記コンフィギュレーションメモリの出力をルーティングするステップは、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの出力を有効化するステップを有する、請求項４に記載の方法。
【請求項７】
出力を含むコンフィギュレーションデータ制御部を有するユーザプログラマブル構造内に組み込まれるとともに、入力を含むコンフィギュレーションメモリを有する、特定アプリケーション向け機能ブロックを構成する装置であって、
前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、前記ユーザプログラマブル構造のコンフィギュレーション制御部へ送る送信部と、
前記ユーザプログラマブル構造のコンフィギュレーションデータ制御部の出力を、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力へルーティングするルーティング部と、
コンフィギュレーションデータを、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリへ転送する転送部と、
コンフィギュレーションデータを用いて、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーション部と、を有する装置。
【請求項８】
前記コンフィギュレーション制御部は、一連のレジスタを有し、
前記送信部は、前記一連のレジスタを通して、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータをシフトするシフト部を有する、請求項７に記載の装置。
【請求項９】
前記ルーティング部は、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力を有効化する有効化部を有する、請求項７に記載の装置。
【請求項１０】
さらに、
前記コンフィギュレーションメモリの出力を、前記コンフィギュレーションデータ制御部の入力へルーティングするルーティング部と、
コンフィギュレーションデータを前記コンフィギュレーションデータ制御部へ転送する転送部と、
コンフィギュレーションデータを読み出す読み出し部と、を有する、請求項７に記載の装置。
【請求項１１】
前記コンフィギュレーション制御部は、一連のレジスタを有し、
前記読み出し部は、前記一連のレジスタを通して、コンフィギュレーションデータをシフトするシフト部を有する、請求項１０に記載の装置。
【請求項１２】
前記ルーティング部は、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの出力を有効化する有効化部を有する、請求項１０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザプログラマブルロジック装置の分野に関する。さらに詳細には、本発明は、ユーザプログラマブル構造内に組み込まれた特定アプリケーション向け機能ブロックを構成する方法に向けられる。
【背景技術】
【０００２】
再コンフィギュレーション可能装置／構造は、通常、単一のユーザプログラマブルロジックブロック、すなわちシステムの基本となるビルディングブロックを表すタイル、に関する多数のインスタンスから構成される。この配列により、一様で規則的な構造に関する容易に拡張可能なコンフィギュレーションメカニズムの利用が促進されている。
【０００３】
再コンフィギュレーション可能装置／構造内への特定アプリケーション向け機能ブロックの組み込みは、特定アプリケーションの状況において、装置／構造の性能を高めるために、しばしば用いられる。これらの特定アプリケーション向け機能ブロックを加えることにより、コンフィギュレーションメカニズムおよびコンフィギュレーションメカニズムが与えるインタフェースに対して変更を必要とするため、再コンフィギュレーションの仕組みが複雑化する。
【０００４】
上述した課題に対して解決法を与えるために、固定機能の特定アプリケーション向け機能ブロックを有する従来例の装置が、開発されてきた。これらのブロックの機能性を固定化することにより、何らかのコンフィギュレーションメカニズムを与える必要性が取り除かれる。しかしながら、この解決法は、組み込み型アプリケーション機能ブロックを初期化するためのユーザによる追加のコンフィギュレーションを何も必要としないが、再コンフィギュレーション可能装置／構造の柔軟性および再利用性をさらに低減する。
【０００５】
従来例の装置において出された他の解決法は、組み込み型特定アプリケーション向け機能ブロックに対して分離した専用のコンフィギュレーションメカニズムの提供である。この解決法は、再コンフィギュレーション装置／構造により与えられる、追加の、分離した、およびときどき著しく異なる、インタフェースを必要とする。さらにその上、この解決法は、組み込み型特定アプリケーション向け機能ブロックのコンフィギュレーションを実行するために、コンフィギュレーション制御ブロック内に、分離したコンフィギュレーションプロトコルを必要とする不利な点を追加する。したがって、追加の、専用のコンフィギュレーションパスを作り出す必要がある追加のロジックは、追加の設計および製造コストを招く。
【０００６】
追加の、専用のコンフィギュレーションロジックの必要性を軽減するために、組み込み型特定アプリケーション向け機能ブロック用のコンフィギュレーションメカニズムとして、全面的にまたは部分的に役割を果たすように、装置／構造のユーザプログラマブル部が再構成されるとみなすような他の解決法が、発展してきた。組み込み型特定アプリケーション向け機能ブロックが構成される時点で、ユーザプログラマブル部は、アプリケーションにより必要とされるように再構成される。この解決法は、専用のコンフィギュレーション回路を加えなければならない課題を解決するが、アプリケーションが配列上へプログラムされるたびに２回、ユーザプログラマブルロジックが再構成されることが必要になるので、コンフィギュレーション時間に本質的なペナルティを加えるようになる。
【０００７】
他の従来例のシステムは、初期設定コンフィギュレーションを備える装置／構造であって、組み込み型特定アプリケーション向け機能ブロック用のコンフィギュレーションメカニズムを全面的にまたは部分的に与える装置／構造についてユーザプログラマブル部を与えることにより、上述した解決法の改良版を可能にする。組み込み型特定アプリケーション向け機能ブロックが構成される時点で、ユーザプログラマブル部はアプリケーションにより必要とされるように再構成される。初期設定コンフィギュレーションが再コンフィギュレーション可能装置／構造内からアクティブにされてもよいが（初期設定状態で電源投入または外部の制御に応じて）、この解決法は、さらに実質的に２倍のコンフィギュレーションのユーザプログラマブルロジックを必要とする。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
それゆえに、従来の回路の複雑性を加えずに、組み込み型特定アプリケーション向け機能ブロックを構成する、改善された柔軟性のある方法の必要性が明らかに存在する。
【課題を解決するための手段】
【０００９】
従来例に関連した課題を解決するために、本発明は、
入力および出力を含むコンフィギュレーションデータ制御手段を有するユーザプログラマブル構造内に組み込まれるとともに、入力および出力を含むコンフィギュレーションメモリ手段を有する、特定アプリケーション向け機能ブロックを構成する方法であって、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、前記ユーザプログラマブル構造のコンフィギュレーション制御手段へ送るステップと、前記ユーザプログラマブル構造のコンフィギュレーションデータ制御手段の出力を、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の入力へルーティングするステップと、コンフィギュレーションデータを、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段へ転送するステップと、コンフィギュレーションデータを用いて、前記特定アプリケーション向け機能ブロックを構成するステップと、を有する方法を与える。
【００１０】
好ましくは、前記コンフィギュレーション制御手段は、一連のレジスタを有し、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを送るステップは、前記一連のレジスタを通して、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータをシフトするステップを有する。
【００１１】
好ましくは、前記コンフィギュレーションデータ制御手段の出力をルーティングするステップは、前記特定アプリケーション向け機能ブロック手段のコンフィギュレーションメモリ手段の入力を有効化するステップを有する。
【００１２】
好ましくは、上述した方法は、さらに、前記コンフィギュレーションメモリ手段の出力を、前記コンフィギュレーションデータ制御手段の入力へルーティングするステップと、コンフィギュレーションデータを前記コンフィギュレーションデータ制御手段へ転送するステップと、コンフィギュレーションデータを読み出すステップと、を有する。
【００１３】
好ましくは、前記コンフィギュレーション制御手段は、一連のレジスタを有し、前記コンフィギュレーションデータを読み出すステップは、前記一連のレジスタを通して、コンフィギュレーションデータをシフトするステップを有する。
【００１４】
好ましくは、前記コンフィギュレーションメモリ手段の出力をルーティングするステップは、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の出力を有効化するステップを有する。
【００１５】
本発明は、出力を含むコンフィギュレーションデータ制御手段を有するユーザプログラマブル構造内に組み込まれるとともに、入力を含むコンフィギュレーションメモリ手段を有する、特定アプリケーション向け機能ブロックを構成する装置であって、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、前記ユーザプログラマブル構造のコンフィギュレーション制御手段へ送る送信手段と、前記ユーザプログラマブル構造のコンフィギュレーションデータ制御手段の出力を、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の入力へルーティングするルーティング手段と、コンフィギュレーションデータを、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段へ転送する転送手段と、コンフィギュレーションデータを用いて、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーション手段と、を有する装置を与える。
【００１６】
好ましくは、前記コンフィギュレーション制御手段は、一連のレジスタを有し、前記送信手段は、前記一連のレジスタを通して、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータをシフトするシフト手段を有する。
【００１７】
好ましくは、前記ルーティング手段は、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の入力を有効化する有効化手段を有する。
【００１８】
好ましくは、前記装置は、さらに、前記コンフィギュレーションメモリ手段の出力を、前記コンフィギュレーションデータ制御手段の入力へルーティングするルーティング手段と、コンフィギュレーションデータを前記コンフィギュレーションデータ制御手段へ転送する転送手段と、コンフィギュレーションデータを読み出す読み出し手段と、を有する。
【００１９】
好ましくは、前記コンフィギュレーション制御手段は、一連のレジスタを有し、前記読み出し手段は、前記一連のレジスタを通して、コンフィギュレーションデータをシフトするシフト手段を有する。
【００２０】
好ましくは、前記ルーティング手段は、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の出力を有効化する有効化手段を有する。
【発明の効果】
【００２１】
好ましいことに、本発明は、いくつかの有利な点を与える。たとえば、本発明は、入手可能なユーザプログラマブルロジックについて、なんらかの前段階のコンフィギュレーションを必要としない。さらに、本発明は、コンフィギュレーション可能および再コンフィギュレーション可能の組み込み型特定アプリケーション向け機能ブロックと、コンフィギュレーション可能および再コンフィギュレーション可能のユーザプログラマブルロジックブロックとの両方に対応する有利な点を与える。さらにその上、本発明は、いかなる組み込み型特定アプリケーション向け機能ブロックについての存在、数、場所または特定の機能に関係なく、コンフィギュレーション制御部に対して同一のインタフェースおよびプロトコルを与える。
【発明を実施するための最良の形態】
【００２２】
本発明の例が、添付の図面を参照してここで説明される。
【００２３】
図１は、複数のタイル１０１で作られているプログラマブルロジック装置１００を表す図を示す。各タイル１０１は、コンフィギュレーションデータパス１０２によりリンクされる複数のコンフィギュレーションレジスタ（図示されない）を含む。
【００２４】
図２は、従来例による装置２００を表す図を示す。図の中心部分は、特定アプリケーション向け機能ブロック２０１を表す。特定アプリケーション向け機能ブロック２０１の両側に、ユーザプログラマブルロジック２０２、２０３の区域がある。ユーザプログラマブルロジック２０２、２０３の各区域は、図１の装置の場合と同様に、タイルの配列で構成されている。図２から理解可能なように、プログラマブルロジック部２０２、２０３のコンフィギュレーションデータパスは、特定アプリケーション向け機能ブロック２０１のコンフィギュレーションパスから、完全に分離している。この専用のコンフィギュレーションパスは、装置２００について全体にわたって複雑性を加える。
【００２５】
図３は、本発明の一例に従う装置３００を示す。上述と同様に、図の中心部分は、特定アプリケーション向け機能ブロック３０１を表し、ブロック３０１の両側には、ユーザプログラマブルロジックブロック３０２、３０３がある。しかしながら、ユーザプログラマブルロジックブロック３０２、３０３がそれぞれ独自のコンフィギュレーションデータパスを含むにもかかわらず、特定アプリケーション向け機能ブロック３０１は、プログラマブルロジックブロックデータパスを用いて構成される。
【００２６】
再コンフィギュレーション可能装置／構造内で、組み込み型特定アプリケーション向け機能ブロックをコンフィギュレーションおよび再構成するために、ユーザプログラマブルロジック部に対して用いられる現行のコンフィギュレーションメカニズムは、異なる仕方で再利用される。これは、組み込み型特定アプリケーション向け機能ブロックの数、位置またはタイプに依存しない、両方に共通のインタフェースを与える。
【００２７】
それゆえに、本発明をよりよく説明するために、本発明に従うシステムのユーザプログラマブルロジックブロックのコンフィギュレーションに関する詳細な説明が、ここで述べられる。図４は、専用のコンフィギュレーション配線、または再コンフィギュレーション可能装置／構造の一般的なルーティングネットワークの部分を形成する配線のうちいずれかを用いて、互いにチェーン化された内部レジスタ４０１を有するユーザプログラマブルロジックブロック４００を示す。動作中、コンフィギュレーションデータは、チェーン上の各レジスタ４０１がデータを含むまで、チェーン４０４に沿ってシフトされる。これは、内部レジスタのチェーンを経由して、装置／構造内へさらに供給されるコンフィギュレーション制御信号の制御の基において、生じる。しかしながら、特定のチェーン上におけるすべてのレジスタが、いずれか所定の時点において同様の仕方でアドレス指定／アクセスされる可能性があり、それゆえ、制御データがコンフィギュレーションデータチェーンのすべてのステージに対して、セミグローバル非登録信号を経由して分配されてもよい。次に、制御情報は、コンフィギュレーションチェーン内のデータ上で読み出し／書き込み／シフト命令を実行するように、各ステージにおいて復号化され、プログラマブルロジックブロック内のコンフィギュレーションセル４０１に関係づけられる。
【００２８】
ここで、図５を参照して、本発明に従う方法が説明される。再コンフィギュレーション可能装置／構造５００内に組み込み型特定アプリケーション向け機能ブロック５０１を構成するために、特定アプリケーション向け機能ブロック５０１のコンフィギュレーションセル５０４の入力および出力が、現行のルーティングパスを経由して、ユーザプログラマブルロジックブロック５０２、５０３内のコンフィギュレーションチェーンへ接続される。加えて、ユーザプログラマブルロジックブロック５０２、５０３の制御信号が、再コンフィギュレーション可能装置／構造内において隣接する場所を占有する特定アプリケーション向け機能ブロックへ与えられるために、復号化される。これは、特定アプリケーション向け機能ブロック命令信号を有効化する有効化信号として、用いられる。この信号が論理的に真の状態にされるとき、特定アプリケーション向け機能ブロックは、残存するコンフィギュレーションインタフェース信号により要求される命令を実行する。
【００２９】
次に、隣接する特定アプリケーション向け機能ブロックが無い場合、追加の制御出力、および不足している特定アプリケーション向け機能ブロックにより使用されている現行のコンフィギュレーションデータパスが、代わりに隣接するユーザプログラマブルロジックブロック内へ接続される。この場合には、近接するブロックは、装置／構造がコンフィギュレーションモードにある間に、その直ぐ隣のブロックにより駆動される現行のルーティングネットワーク上でいずれかのコンフィギュレーションデータを無視する。追加の制御出力が、ユーザプログラマブルロジックのブロックにより供給されてもよいし、またはさらに進化したコンフィギュレーションの選択肢を容易にするためには使用されなくてもよい。
【００３０】
コンフィギュレーションインタフェースは、次に示す入力および出力信号を含む特定アプリケーション向け機能ブロックにより与えられる。
【表１】
2008276746.tif 000003
組み込み型特定アプリケーション向け機能ブロックのコンフィギュレーションは、次の方法により達成される。最初に、書き込まれるコンフィギュレーションデータで構成されるデータ、すなわち書き込まれるアドレスおよび「ＷＲＩＴＥ」コマンドは、一連のシフト命令を用いて、隣接するユーザプログラマブルロジックブロック５０２、５０３内のコンフィギュレーションチェーン内へシフトされる。
【００３１】
次に、「特定アプリケーション向け機能ブロック命令」が、コンフィギュレーションチェーン内へシフトされるコマンドを「有効にする」ために、コンフィギュレーションチェーン上で実行される。これは、コマンドを復号化し、必要とされる命令を実行し、要求に応じてその出力をアップデートするように、特定アプリケーション向け機能ブロック５０１を指示する。
【００３２】
次に、特定アプリケーション向け機能ブロックが完全に構成されるまで、上述したステップが繰り返される。このコンフィギュレーション過程の間において、ユーザプログラマブルロジックブロック５０２、５０３は、構成されてもよいし、構成されなくてもよい。特定アプリケーション向け機能ブロック５０１からデータが読み出される場合、引き続く各チェーンシフト命令の間にシフトされるデータは、新データがチェーン内へシフトされるように、キャプチャされるべきである。
【００３３】
特定アプリケーション向け機能ブロック５０１を構成するとき、ユーザプログラマブルロジックブロック５０２、５０３内の両側に位置されるコンフィギュレーションチェーンは、コンフィギュレーションチェーントポロジに依存する同期化した仕方で、相互にアクセスされる必要があってもよい。さらに、特定アプリケーション向け機能ブロック５０１内へ書き込まれるデータは、特定アプリケーション向け機能ブロック５０１の一方の側におけるユーザプログラマブルロジックブロック５０２内のコンフィギュレーションチェーンから来るものであってもよいし、そうではなくて同一のデータが読み出されることになっているとき、反対側のユーザプログラマブルロジックブロック５０３内のコンフィギュレーションチェーンを経由してなされるようなものであってもよい。
【００３４】
ここで、図６から図８を参照して、本発明のさらに詳細な例が説明される。この構造におけるユーザプログラマブルロジック部全体のコンフィギュレーションチェーン数は、特定のアーキテクチャ（たとえば、レジスタの幅、一連のレジスタ内の関連する場所、および各チェーンの長さ）に依存して変化する。図６は、ｎ個のレジスタを含むコンフィギュレーションチェーンの一例を示す。このようなブロックの入力および出力は、要望に従って作り出される、より長いチェーンにおいて、先行するブロックおよび後続するブロックに接続されてもよい。
【００３５】
図６に示されるように、この特定のコンフィギュレーションチェーンは、一連のレジスタセル６０１により形成される。各セルは、２つのソースからの入力を受け取り、その現在の状態を２つの分離した出力へ出力する。アクティブな入力が制御入力を経由して選択可能である。加えて、各レジスタセル６０１は、その現在の状態を保持し、両方の入力値を無視してもよい。このタイプのレジスタセルは、特別に設計されたフリップフロップ、またはレジスタおよび順序ロジックの組み合わせであってもよい。
【００３６】
次に、上述したチェーン構造は、次表で示される例のように、制御入力の特定の値に応じて実行される多くの命令を与える。
【表２】
2008276746.tif 000004
上述した命令だけを用いて、ユーザコンフィギュレーション可能ロジックブロックをプログラムすることが可能である。この特定の例において、これは、次の一連の命令を実行することにより達成される。
【００３７】
第１番目に、必要とされるコンフィギュレーションセル６０１の位置のアドレスは、アドレス入力に対して論理的に真の状態にされる必要がある。これは、一連の処理の始まりにおいてなされ、アドレスがこの構造の長い距離にわたって広がることを可能にする（アドレスバスはこの例では登録されていなくて、他のアーキテクチャ内にあってもよい）。
【００３８】
第２番目に、必要なデータが、ＳＨＩＦＴ命令を用いてコンフィギュレーションチェーン内へシフトされる。図７に示されるように、ＳＨＩＦＴ命令の実行中の期間において、コンフィギュレーション制御入力（ｃｏｎｆｉｇ＿ｃｏｎｔｒｏｌ＿ｉｎ）に感知できるのは、レジスタセルである。アクティブなデータパスは、図７において太くなっている。次に、全体のコンフィギュレーションチェーンが有効なコンフィギュレーションデータを含むまで、上述した動作が繰り返される。次に、コンフィギュレーションチェーン上の各レジスタ６０１のデータ出力が、ユーザプログラマブルロジックブロックを通して広がることを可能にするために、１つ以上のＮＯＰ命令が実行される。この最後の命令は、予防の方策であり、必要とされなくてもよい。
【００３９】
次のステップは、コンフィギュレーションチェーンレジスタ６０１内に含まれるデータを用いて、ＷＲＩＴＥ機能を実行するように構成される。図８に示されるように、ＷＲＩＴＥ命令の実行中の期間において、コンフィギュレーション制御入力（ｃｏｎｆｉｇ＿ｃｏｎｔｒｏｌ＿ｉｎ）に感知できるのはコンフィギュレーションメモリ（レジスタ、メモリ、コンフィギュレーションセルなど）であり、このコンフィギュレーション制御入力は、復号化されたアドレスがアドレス指定される位置への入力をアクティブにすることを可能にする。上述と同様に、アクティブなデータパスは、図８において太くなっている。データが、各ブロック内のアドレス指定されたコンフィギュレーションメモリ位置内へ書き込まれる。次に、すべてのコンフィギュレーションメモリ位置が書き込まれるまで、上述したステップが繰り返される。
【００４０】
ここで、再び図６を参照して、各ユーザプログラマブルロジックブロックのコンフィギュレーションメモリを読み出す方法が説明される。
【００４１】
この方法における最初のステップは、必要とされるコンフィギュレーションセル位置のアドレスを、アドレス入力に対して論理的に真の状態にすることである。次に、アドレスがこの構造の長い距離にわたって広がることを可能にするために、１つ以上のＮＯＰ命令が実行される。上述と同様に、この例においてアドレスバスは登録されていないが、他のアーキテクチャ内にあってもよい。
【００４２】
この方法における次のステップは、各ブロック内のアドレス指定されるコンフィギュレーションメモリ位置において、コンフィギュレーションチェーン上のレジスタ６０１内へデータを読み出すことである。これは、ＲＥＡＤ命令を用いてなされる。
【００４３】
次に、読み出しデータがコンフィギュレーションチェーンに沿ってシフトされ、各データワードが、記憶されるチェーンの終端（出力）から現れる。これは、ＳＨＩＦＴ命令を用いてなされる。このＳＨＩＦＴ命令は、すべての読み出しデータがチェーンから出力されるまで、繰り返される。上述した方法のステップは、すべてのコンフィギュレーション位置が読み出されるまで、繰り返される。
【００４４】
ここで、図９から図１１を参照して、本発明の一実施の形態による組み込み型アプリケーション機能ブロックを構成する方法が説明される。
【００４５】
図９は、ユーザプログラマブルロジックブロック９０１が、現行のコンフィギュレーションチェーンの仕方により、組み込み型特定アプリケーション向け機能ブロック９０２といかに相互作用するかを示す。ランタイム通信用に使用される２つのブロック間のルーティングネットワークにおける現行の配線は、コンフィギュレーションの実行中の期間において、上述と同様に再利用される。その独自のコンフィギュレーションインタフェース（コンフィギュレーションチェーン、アドレスバスおよび制御入力）を各組み込み型特定アプリケーション向け機能ブロック９０２へ供給する代わりに、ユーザプログラマブルロジックブロック９０１内における現行のコンフィギュレーション回路が、組み込み型特定アプリケーション向け機能ブロックを構成するのに必要とされるコンフィギュレーションデータ／制御用の輸送メカニズムとして使用されることを、このことは意味する。
【００４６】
これは、組み込み型アプリケーション機能ブロック９０２を構成するのに必要とされるすべての制御／データが、コンフィギュレーションメカニズムによりコンフィギュレーションデータとしてみなされ、現行のデータパスにより組み込み型機能ブロックへ転送されるような間接的なコンフィギュレーションの仕組みを作り出す。次に、コンフィギュレーションモードの間に、制御およびデータを正確に解釈することが、組み込み型機能ブロック９０２に下ろされる。
【００４７】
それゆえに、「ｒｅｇ＿ｉｎｐｕｔ＿ｘ」および「ｒｅｇ＿ｏｕｔｐｕｔ＿ｘ」信号が、図１０に示される入力および出力へマッピングされる。ユーザプログラマブルロジックブロックにおいて入手可能なレジスタの数、およびレジスタの幅は、実装およびアーキテクチャ固有の細目を表す十分なデータ／アドレス／コマンドビットを、各組み込み型ブロックへ供給するのに十分である必要がある。
【００４８】
図１０に示される信号上のデータが正確な時点で解釈されるためには、組み込み型機能ブロックへのアクセスが発生する信号に対して、ユーザプログラマブルロジックブロックのコンフィギュレーション制御入力（ｃｏｎｆｉｇ＿ｃｏｎｔｒｏｌ＿ｉｎ）への追加の値（命令）が、適切に必要とされる。たとえば、ＥＭＢＥＤＤＥＤ＿ＡＣＣＥＳＳ命令が規定されるべきである。
【００４９】
加えて、各ユーザプログラマブルロジックブロックからのコンフィギュレーション制御出力信号「ｃｏｎｆｉｇ＿ｃｏｎｔｒｏｌ＿ｏｕｔｐｕｔ」は、さらに次のプログラマブルロジックブロックへの入力であると同様に、各特定アプリケーション向け組み込み型機能ブロックへの入力である必要がある。ＥＭＢＥＤＤＥＤ＿ＡＣＣＥＳＳ命令の実行中の期間において、組み込み型特定アプリケーション向け機能ブロックだけがコンフィギュレーション制御信号に感知できる。
【００５０】
図１０に示されるように、次に示す信号が必要とされる（その幅はアーキテクチャおよび実装固有である）。
【表３】
2008276746.tif 000005
本発明のこの例において、組み込み型特定アプリケーション向け機能ブロック９０２を構成する方法は、次のステップを含む。
【００５１】
最初に、ＳＨＩＦＴ命令を用いて、制御、アドレスおよびコンフィギュレーションデータは、特定アプリケーション向け機能ブロック９０２がチェーンにより書き込まれるように、関連付けられるコンフィギュレーションチェーン内へシフトされる。この例では、メモリ位置のアドレス、書き込まれるデータ、および実行されるコマンド、ＥＢ＿ＷＲＩＴＥは、一方のレジスタから他方へシフトされる。この最後のステップは、必要とされるすべてのコンフィギュレーションおよび制御データがチェーン内へシフトされるまで、繰り返される。
【００５２】
次に、１つ以上のＮＯＰ命令が実行され、コンフィギュレーションチェーン上の各レジスタのデータ出力が、ユーザプログラマブルロジックブロックを通して広がることを可能にする。上述と同様に、これは予防の方策であり、本発明の他の例において必要とされなくてもよい。
【００５３】
この方法における次のステップは、特定アプリケーション向け機能ブロック９０２を始動するコンフィギュレーションチェーン上において、ＥＭＢＥＤＤＥＤ＿ＡＣＣＥＳＳ命令を実行し、その入力を有効化し、それゆえに、このインスタンスにおいて必要とされるＥＢ＿ＷＲＩＴＥ命令を実行することである。次に、組み込み型特定アプリケーション向け機能ブロック９０２が現在の命令（ＥＢ＿ＷＲＩＴＥ）を完了することを可能にするために、１つ以上のＮＯＰ命令が実行される。最後に、上述したステップが特定アプリケーション向け組み込み型ブロック９０２内の各アドレス位置に対して、繰り返される。
【００５４】
ここで、コンフィギュレーションデータを、特定アプリケーション向け組み込み型ブロックから読み出す方法が説明される。
【００５５】
最初に、必要とされる制御、アドレスおよびコンフィギュレーションデータを関連付けられるコンフィギュレーションチェーン内へシフトするために、ＳＨＩＦＴ命令が実行され、特定アプリケーション向け機能ブロック９０２がチェーンにより読み出される。この場合、メモリ位置のアドレス、読み出されるデータ、および実行されるコマンド、ＥＢ＿ＲＥＡＤである。このステップは、必要とされるすべてのコンフィギュレーションおよび制御データがチェーン内へシフトされるまで、繰り返される。
【００５６】
次に、コンフィギュレーションチェーン上の各レジスタのデータ出力が、ユーザプログラマブルロジックブロックを通して広がることを可能にするために、１つ以上のＮＯＰ命令が実行される。上述と同様に、これはただ単に予防の方策である。
【００５７】
次に、ＥＭＢＥＤＤＥＤ＿ＡＣＣＥＳＳ命令がコンフィギュレーションチェーン上において実行され、特定アプリケーション向け機能ブロック９０２を始動し、その入力を有効化し、それゆえにこのインスタンスにおいて必要とされる命令、ＥＢ＿ＲＥＡＤを実行する。
【００５８】
次に、組み込み型特定アプリケーション向け機能ブロック９０２が、現在の命令（ＥＢ＿ＲＥＡＤ）およびその出力上の現在の読み出しデータを完了することを可能にするために、１つ以上のＮＯＰ命令が実行される。
【００５９】
これがなされる時点で、コンフィギュレーションチェーン上のＵＰＤＡＴＥ＿ＣＨＡＩＮ命令が実行される。これは、以前に説明されたＲＥＡＤ命令と同様であるが、しかし、図１１で太いデータ線により示されるように、組み込み型機能ブロックからのデータは、コンフィギュレーションチェーン上のレジスタ入力へルーティングされる。
【００６０】
次に、コンフィギュレーションチェーンは、ＳＨＩＦＴ命令を用いてシフトされ、出力データワードが記憶される。このステップは、コンフィギュレーションチェーンからすべてのデータが読み出されるまで、繰り返される。最後に、上述した方法のステップは、特定アプリケーション向け組み込み型ブロック内のあらゆるアドレスに対して繰り返される。
【００６１】
好ましいことに、本発明は、いくつかの有利な点を与える。たとえば、本発明は、入手可能なユーザプログラマブルロジックについて、なんらかの前段階のコンフィギュレーションを必要としない。さらに、本発明は、コンフィギュレーション可能および再コンフィギュレーション可能の組み込み型特定アプリケーション向け機能ブロックと、コンフィギュレーション可能および再コンフィギュレーション可能のユーザプログラマブルロジックブロックとの両方に対応する有利な点を与える。さらにその上、本発明は、いかなる組み込み型特定アプリケーション向け機能ブロックについての存在、数、場所または特定の機能に関係なく、コンフィギュレーション制御部に対して同一のインタフェースおよびプロトコルを与える。
【産業上の利用可能性】
【００６２】
本発明は、組み込み型特定アプリケーション向け機能ブロックを構成する方法に利用できる。
【図面の簡単な説明】
【００６３】
【図１】図１は、従来例に従うプログラマブルロジック装置を表す図を示す。
【図２】図２は、従来例に従う組み込み型特定アプリケーション向け機能ブロックを有するプログラマブルロジック装置を表す図を示す。
【図３】図３は、本発明に従うプログラマブルロジック装置を表す図を示す。
【図４】図４は、本発明に従う装置のコンフィギュレーションチェーンを表す図を示す。
【図５】図５は、本発明に従う装置のコンフィギュレーションチェーンを表す図を示す。
【図６】図６は、図４のコンフィギュレーションチェーンを表す詳細図を示す。
【図７】図７は、ＳＨＩＦＴ命令の実行中の期間における図６のコンフィギュレーションチェーンを表す図を示す。
【図８】図８は、ＷＲＩＴＥ命令の実行中の期間における図６のコンフィギュレーションチェーンを表す図を示す。
【図９】図９は、本発明に従うコンフィギュレーションチェーンの図を示す。
【図１０】図１０は、本発明に従う装置の所望の効果的な機能性を表す図を示す。
【図１１】図１１は、ＲＥＡＤ命令の実行中の期間における図９のコンフィギュレーションチェーンを表す図を示す。
【図１】
2008276746.tif 000006
【図２】
2008276746.tif 000007
【図３】
2008276746.tif 000008
【図４】
2008276746.tif 000009
【図５】
2008276746.tif 000010
【図６】
2008276746.tif 000011
【図７】
2008276746.tif 000012
【図８】
2008276746.tif 000013
【図９】
2008276746.tif 000014
【図１０】
2008276746.tif 000015
【図１１】
2008276746.tif 000016
【外国語明細書】
2008276746.tif 000017
2008276746.tif 000018
2008276746.tif 000019
2008276746.tif 000020
2008276746.tif 000021
2008276746.tif 000022
2008276746.tif 000023
2008276746.tif 000024
2008276746.tif 000025
2008276746.tif 000026
2008276746.tif 000027
2008276746.tif 000028
2008276746.tif 000029
2008276746.tif 000030
2008276746.tif 000031
2008276746.tif 000032
2008276746.tif 000033
2008276746.tif 000034
2008276746.tif 000035
2008276746.tif 000036
2008276746.tif 000037
2008276746.tif 000038
2008276746.tif 000039
2008276746.tif 000040
2008276746.tif 000041
2008276746.tif 000042
2008276746.tif 000043
2008276746.tif 000044
2008276746.tif 000045
2008276746.tif 000046
2008276746.tif 000047