JP2008276746A - 組み込み型特定アプリケーション向け機能ブロックを構成する方法 - Google Patents
組み込み型特定アプリケーション向け機能ブロックを構成する方法 Download PDFInfo
- Publication number
- JP2008276746A JP2008276746A JP2008056421A JP2008056421A JP2008276746A JP 2008276746 A JP2008276746 A JP 2008276746A JP 2008056421 A JP2008056421 A JP 2008056421A JP 2008056421 A JP2008056421 A JP 2008056421A JP 2008276746 A JP2008276746 A JP 2008276746A
- Authority
- JP
- Japan
- Prior art keywords
- configuration
- functional block
- configuration data
- specific application
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Stored Programmes (AREA)
Abstract
【課題】複雑化せずに組み込み型特定アプリケーション向け機能ブロックを構成する。
【解決手段】出力を含むコンフィギュレーションデータ制御部を有するユーザプログラマブル構造内に組み込まれるとともに、入力を含むコンフィギュレーションメモリを有する、特定アプリケーション向け機能ブロックを構成する方法で、特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、ユーザプログラマブル構造のコンフィギュレーション制御部へ送り、ユーザプログラマブル構造のコンフィギュレーションデータ制御部の出力を、特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力へルーティングし、コンフィギュレーションデータを、特定アプリケーション向け機能ブロックのコンフィギュレーションメモリへ転送し、コンフィギュレーションデータを用いて、特定アプリケーション向け機能ブロックを構成する。
【選択図】図3
【解決手段】出力を含むコンフィギュレーションデータ制御部を有するユーザプログラマブル構造内に組み込まれるとともに、入力を含むコンフィギュレーションメモリを有する、特定アプリケーション向け機能ブロックを構成する方法で、特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、ユーザプログラマブル構造のコンフィギュレーション制御部へ送り、ユーザプログラマブル構造のコンフィギュレーションデータ制御部の出力を、特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力へルーティングし、コンフィギュレーションデータを、特定アプリケーション向け機能ブロックのコンフィギュレーションメモリへ転送し、コンフィギュレーションデータを用いて、特定アプリケーション向け機能ブロックを構成する。
【選択図】図3
Description
本発明は、ユーザプログラマブルロジック装置の分野に関する。さらに詳細には、本発明は、ユーザプログラマブル構造内に組み込まれた特定アプリケーション向け機能ブロックを構成する方法に向けられる。
再コンフィギュレーション可能装置/構造は、通常、単一のユーザプログラマブルロジックブロック、すなわちシステムの基本となるビルディングブロックを表すタイル、に関する多数のインスタンスから構成される。この配列により、一様で規則的な構造に関する容易に拡張可能なコンフィギュレーションメカニズムの利用が促進されている。
再コンフィギュレーション可能装置/構造内への特定アプリケーション向け機能ブロックの組み込みは、特定アプリケーションの状況において、装置/構造の性能を高めるために、しばしば用いられる。これらの特定アプリケーション向け機能ブロックを加えることにより、コンフィギュレーションメカニズムおよびコンフィギュレーションメカニズムが与えるインタフェースに対して変更を必要とするため、再コンフィギュレーションの仕組みが複雑化する。
上述した課題に対して解決法を与えるために、固定機能の特定アプリケーション向け機能ブロックを有する従来例の装置が、開発されてきた。これらのブロックの機能性を固定化することにより、何らかのコンフィギュレーションメカニズムを与える必要性が取り除かれる。しかしながら、この解決法は、組み込み型アプリケーション機能ブロックを初期化するためのユーザによる追加のコンフィギュレーションを何も必要としないが、再コンフィギュレーション可能装置/構造の柔軟性および再利用性をさらに低減する。
従来例の装置において出された他の解決法は、組み込み型特定アプリケーション向け機能ブロックに対して分離した専用のコンフィギュレーションメカニズムの提供である。この解決法は、再コンフィギュレーション装置/構造により与えられる、追加の、分離した、およびときどき著しく異なる、インタフェースを必要とする。さらにその上、この解決法は、組み込み型特定アプリケーション向け機能ブロックのコンフィギュレーションを実行するために、コンフィギュレーション制御ブロック内に、分離したコンフィギュレーションプロトコルを必要とする不利な点を追加する。したがって、追加の、専用のコンフィギュレーションパスを作り出す必要がある追加のロジックは、追加の設計および製造コストを招く。
追加の、専用のコンフィギュレーションロジックの必要性を軽減するために、組み込み型特定アプリケーション向け機能ブロック用のコンフィギュレーションメカニズムとして、全面的にまたは部分的に役割を果たすように、装置/構造のユーザプログラマブル部が再構成されるとみなすような他の解決法が、発展してきた。組み込み型特定アプリケーション向け機能ブロックが構成される時点で、ユーザプログラマブル部は、アプリケーションにより必要とされるように再構成される。この解決法は、専用のコンフィギュレーション回路を加えなければならない課題を解決するが、アプリケーションが配列上へプログラムされるたびに2回、ユーザプログラマブルロジックが再構成されることが必要になるので、コンフィギュレーション時間に本質的なペナルティを加えるようになる。
他の従来例のシステムは、初期設定コンフィギュレーションを備える装置/構造であって、組み込み型特定アプリケーション向け機能ブロック用のコンフィギュレーションメカニズムを全面的にまたは部分的に与える装置/構造についてユーザプログラマブル部を与えることにより、上述した解決法の改良版を可能にする。組み込み型特定アプリケーション向け機能ブロックが構成される時点で、ユーザプログラマブル部はアプリケーションにより必要とされるように再構成される。初期設定コンフィギュレーションが再コンフィギュレーション可能装置/構造内からアクティブにされてもよいが(初期設定状態で電源投入または外部の制御に応じて)、この解決法は、さらに実質的に2倍のコンフィギュレーションのユーザプログラマブルロジックを必要とする。
それゆえに、従来の回路の複雑性を加えずに、組み込み型特定アプリケーション向け機能ブロックを構成する、改善された柔軟性のある方法の必要性が明らかに存在する。
従来例に関連した課題を解決するために、本発明は、
入力および出力を含むコンフィギュレーションデータ制御手段を有するユーザプログラマブル構造内に組み込まれるとともに、入力および出力を含むコンフィギュレーションメモリ手段を有する、特定アプリケーション向け機能ブロックを構成する方法であって、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、前記ユーザプログラマブル構造のコンフィギュレーション制御手段へ送るステップと、前記ユーザプログラマブル構造のコンフィギュレーションデータ制御手段の出力を、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の入力へルーティングするステップと、コンフィギュレーションデータを、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段へ転送するステップと、コンフィギュレーションデータを用いて、前記特定アプリケーション向け機能ブロックを構成するステップと、を有する方法を与える。
入力および出力を含むコンフィギュレーションデータ制御手段を有するユーザプログラマブル構造内に組み込まれるとともに、入力および出力を含むコンフィギュレーションメモリ手段を有する、特定アプリケーション向け機能ブロックを構成する方法であって、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、前記ユーザプログラマブル構造のコンフィギュレーション制御手段へ送るステップと、前記ユーザプログラマブル構造のコンフィギュレーションデータ制御手段の出力を、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の入力へルーティングするステップと、コンフィギュレーションデータを、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段へ転送するステップと、コンフィギュレーションデータを用いて、前記特定アプリケーション向け機能ブロックを構成するステップと、を有する方法を与える。
好ましくは、前記コンフィギュレーション制御手段は、一連のレジスタを有し、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを送るステップは、前記一連のレジスタを通して、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータをシフトするステップを有する。
好ましくは、前記コンフィギュレーションデータ制御手段の出力をルーティングするステップは、前記特定アプリケーション向け機能ブロック手段のコンフィギュレーションメモリ手段の入力を有効化するステップを有する。
好ましくは、上述した方法は、さらに、前記コンフィギュレーションメモリ手段の出力を、前記コンフィギュレーションデータ制御手段の入力へルーティングするステップと、コンフィギュレーションデータを前記コンフィギュレーションデータ制御手段へ転送するステップと、コンフィギュレーションデータを読み出すステップと、を有する。
好ましくは、前記コンフィギュレーション制御手段は、一連のレジスタを有し、前記コンフィギュレーションデータを読み出すステップは、前記一連のレジスタを通して、コンフィギュレーションデータをシフトするステップを有する。
好ましくは、前記コンフィギュレーションメモリ手段の出力をルーティングするステップは、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の出力を有効化するステップを有する。
本発明は、出力を含むコンフィギュレーションデータ制御手段を有するユーザプログラマブル構造内に組み込まれるとともに、入力を含むコンフィギュレーションメモリ手段を有する、特定アプリケーション向け機能ブロックを構成する装置であって、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、前記ユーザプログラマブル構造のコンフィギュレーション制御手段へ送る送信手段と、前記ユーザプログラマブル構造のコンフィギュレーションデータ制御手段の出力を、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の入力へルーティングするルーティング手段と、コンフィギュレーションデータを、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段へ転送する転送手段と、コンフィギュレーションデータを用いて、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーション手段と、を有する装置を与える。
好ましくは、前記コンフィギュレーション制御手段は、一連のレジスタを有し、前記送信手段は、前記一連のレジスタを通して、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータをシフトするシフト手段を有する。
好ましくは、前記ルーティング手段は、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の入力を有効化する有効化手段を有する。
好ましくは、前記装置は、さらに、前記コンフィギュレーションメモリ手段の出力を、前記コンフィギュレーションデータ制御手段の入力へルーティングするルーティング手段と、コンフィギュレーションデータを前記コンフィギュレーションデータ制御手段へ転送する転送手段と、コンフィギュレーションデータを読み出す読み出し手段と、を有する。
好ましくは、前記コンフィギュレーション制御手段は、一連のレジスタを有し、前記読み出し手段は、前記一連のレジスタを通して、コンフィギュレーションデータをシフトするシフト手段を有する。
好ましくは、前記ルーティング手段は、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリ手段の出力を有効化する有効化手段を有する。
好ましいことに、本発明は、いくつかの有利な点を与える。たとえば、本発明は、入手可能なユーザプログラマブルロジックについて、なんらかの前段階のコンフィギュレーションを必要としない。さらに、本発明は、コンフィギュレーション可能および再コンフィギュレーション可能の組み込み型特定アプリケーション向け機能ブロックと、コンフィギュレーション可能および再コンフィギュレーション可能のユーザプログラマブルロジックブロックとの両方に対応する有利な点を与える。さらにその上、本発明は、いかなる組み込み型特定アプリケーション向け機能ブロックについての存在、数、場所または特定の機能に関係なく、コンフィギュレーション制御部に対して同一のインタフェースおよびプロトコルを与える。
本発明の例が、添付の図面を参照してここで説明される。
図1は、複数のタイル101で作られているプログラマブルロジック装置100を表す図を示す。各タイル101は、コンフィギュレーションデータパス102によりリンクされる複数のコンフィギュレーションレジスタ(図示されない)を含む。
図2は、従来例による装置200を表す図を示す。図の中心部分は、特定アプリケーション向け機能ブロック201を表す。特定アプリケーション向け機能ブロック201の両側に、ユーザプログラマブルロジック202、203の区域がある。ユーザプログラマブルロジック202、203の各区域は、図1の装置の場合と同様に、タイルの配列で構成されている。図2から理解可能なように、プログラマブルロジック部202、203のコンフィギュレーションデータパスは、特定アプリケーション向け機能ブロック201のコンフィギュレーションパスから、完全に分離している。この専用のコンフィギュレーションパスは、装置200について全体にわたって複雑性を加える。
図3は、本発明の一例に従う装置300を示す。上述と同様に、図の中心部分は、特定アプリケーション向け機能ブロック301を表し、ブロック301の両側には、ユーザプログラマブルロジックブロック302、303がある。しかしながら、ユーザプログラマブルロジックブロック302、303がそれぞれ独自のコンフィギュレーションデータパスを含むにもかかわらず、特定アプリケーション向け機能ブロック301は、プログラマブルロジックブロックデータパスを用いて構成される。
再コンフィギュレーション可能装置/構造内で、組み込み型特定アプリケーション向け機能ブロックをコンフィギュレーションおよび再構成するために、ユーザプログラマブルロジック部に対して用いられる現行のコンフィギュレーションメカニズムは、異なる仕方で再利用される。これは、組み込み型特定アプリケーション向け機能ブロックの数、位置またはタイプに依存しない、両方に共通のインタフェースを与える。
それゆえに、本発明をよりよく説明するために、本発明に従うシステムのユーザプログラマブルロジックブロックのコンフィギュレーションに関する詳細な説明が、ここで述べられる。図4は、専用のコンフィギュレーション配線、または再コンフィギュレーション可能装置/構造の一般的なルーティングネットワークの部分を形成する配線のうちいずれかを用いて、互いにチェーン化された内部レジスタ401を有するユーザプログラマブルロジックブロック400を示す。動作中、コンフィギュレーションデータは、チェーン上の各レジスタ401がデータを含むまで、チェーン404に沿ってシフトされる。これは、内部レジスタのチェーンを経由して、装置/構造内へさらに供給されるコンフィギュレーション制御信号の制御の基において、生じる。しかしながら、特定のチェーン上におけるすべてのレジスタが、いずれか所定の時点において同様の仕方でアドレス指定/アクセスされる可能性があり、それゆえ、制御データがコンフィギュレーションデータチェーンのすべてのステージに対して、セミグローバル非登録信号を経由して分配されてもよい。次に、制御情報は、コンフィギュレーションチェーン内のデータ上で読み出し/書き込み/シフト命令を実行するように、各ステージにおいて復号化され、プログラマブルロジックブロック内のコンフィギュレーションセル401に関係づけられる。
ここで、図5を参照して、本発明に従う方法が説明される。再コンフィギュレーション可能装置/構造500内に組み込み型特定アプリケーション向け機能ブロック501を構成するために、特定アプリケーション向け機能ブロック501のコンフィギュレーションセル504の入力および出力が、現行のルーティングパスを経由して、ユーザプログラマブルロジックブロック502、503内のコンフィギュレーションチェーンへ接続される。加えて、ユーザプログラマブルロジックブロック502、503の制御信号が、再コンフィギュレーション可能装置/構造内において隣接する場所を占有する特定アプリケーション向け機能ブロックへ与えられるために、復号化される。これは、特定アプリケーション向け機能ブロック命令信号を有効化する有効化信号として、用いられる。この信号が論理的に真の状態にされるとき、特定アプリケーション向け機能ブロックは、残存するコンフィギュレーションインタフェース信号により要求される命令を実行する。
次に、隣接する特定アプリケーション向け機能ブロックが無い場合、追加の制御出力、および不足している特定アプリケーション向け機能ブロックにより使用されている現行のコンフィギュレーションデータパスが、代わりに隣接するユーザプログラマブルロジックブロック内へ接続される。この場合には、近接するブロックは、装置/構造がコンフィギュレーションモードにある間に、その直ぐ隣のブロックにより駆動される現行のルーティングネットワーク上でいずれかのコンフィギュレーションデータを無視する。追加の制御出力が、ユーザプログラマブルロジックのブロックにより供給されてもよいし、またはさらに進化したコンフィギュレーションの選択肢を容易にするためには使用されなくてもよい。
コンフィギュレーションインタフェースは、次に示す入力および出力信号を含む特定アプリケーション向け機能ブロックにより与えられる。
組み込み型特定アプリケーション向け機能ブロックのコンフィギュレーションは、次の方法により達成される。最初に、書き込まれるコンフィギュレーションデータで構成されるデータ、すなわち書き込まれるアドレスおよび「WRITE」コマンドは、一連のシフト命令を用いて、隣接するユーザプログラマブルロジックブロック502、503内のコンフィギュレーションチェーン内へシフトされる。
次に、「特定アプリケーション向け機能ブロック命令」が、コンフィギュレーションチェーン内へシフトされるコマンドを「有効にする」ために、コンフィギュレーションチェーン上で実行される。これは、コマンドを復号化し、必要とされる命令を実行し、要求に応じてその出力をアップデートするように、特定アプリケーション向け機能ブロック501を指示する。
次に、特定アプリケーション向け機能ブロックが完全に構成されるまで、上述したステップが繰り返される。このコンフィギュレーション過程の間において、ユーザプログラマブルロジックブロック502、503は、構成されてもよいし、構成されなくてもよい。特定アプリケーション向け機能ブロック501からデータが読み出される場合、引き続く各チェーンシフト命令の間にシフトされるデータは、新データがチェーン内へシフトされるように、キャプチャされるべきである。
特定アプリケーション向け機能ブロック501を構成するとき、ユーザプログラマブルロジックブロック502、503内の両側に位置されるコンフィギュレーションチェーンは、コンフィギュレーションチェーントポロジに依存する同期化した仕方で、相互にアクセスされる必要があってもよい。さらに、特定アプリケーション向け機能ブロック501内へ書き込まれるデータは、特定アプリケーション向け機能ブロック501の一方の側におけるユーザプログラマブルロジックブロック502内のコンフィギュレーションチェーンから来るものであってもよいし、そうではなくて同一のデータが読み出されることになっているとき、反対側のユーザプログラマブルロジックブロック503内のコンフィギュレーションチェーンを経由してなされるようなものであってもよい。
ここで、図6から図8を参照して、本発明のさらに詳細な例が説明される。この構造におけるユーザプログラマブルロジック部全体のコンフィギュレーションチェーン数は、特定のアーキテクチャ(たとえば、レジスタの幅、一連のレジスタ内の関連する場所、および各チェーンの長さ)に依存して変化する。図6は、n個のレジスタを含むコンフィギュレーションチェーンの一例を示す。このようなブロックの入力および出力は、要望に従って作り出される、より長いチェーンにおいて、先行するブロックおよび後続するブロックに接続されてもよい。
図6に示されるように、この特定のコンフィギュレーションチェーンは、一連のレジスタセル601により形成される。各セルは、2つのソースからの入力を受け取り、その現在の状態を2つの分離した出力へ出力する。アクティブな入力が制御入力を経由して選択可能である。加えて、各レジスタセル601は、その現在の状態を保持し、両方の入力値を無視してもよい。このタイプのレジスタセルは、特別に設計されたフリップフロップ、またはレジスタおよび順序ロジックの組み合わせであってもよい。
次に、上述したチェーン構造は、次表で示される例のように、制御入力の特定の値に応じて実行される多くの命令を与える。
上述した命令だけを用いて、ユーザコンフィギュレーション可能ロジックブロックをプログラムすることが可能である。この特定の例において、これは、次の一連の命令を実行することにより達成される。
第1番目に、必要とされるコンフィギュレーションセル601の位置のアドレスは、アドレス入力に対して論理的に真の状態にされる必要がある。これは、一連の処理の始まりにおいてなされ、アドレスがこの構造の長い距離にわたって広がることを可能にする(アドレスバスはこの例では登録されていなくて、他のアーキテクチャ内にあってもよい)。
第2番目に、必要なデータが、SHIFT命令を用いてコンフィギュレーションチェーン内へシフトされる。図7に示されるように、SHIFT命令の実行中の期間において、コンフィギュレーション制御入力(config_control_in)に感知できるのは、レジスタセルである。アクティブなデータパスは、図7において太くなっている。次に、全体のコンフィギュレーションチェーンが有効なコンフィギュレーションデータを含むまで、上述した動作が繰り返される。次に、コンフィギュレーションチェーン上の各レジスタ601のデータ出力が、ユーザプログラマブルロジックブロックを通して広がることを可能にするために、1つ以上のNOP命令が実行される。この最後の命令は、予防の方策であり、必要とされなくてもよい。
次のステップは、コンフィギュレーションチェーンレジスタ601内に含まれるデータを用いて、WRITE機能を実行するように構成される。図8に示されるように、WRITE命令の実行中の期間において、コンフィギュレーション制御入力(config_control_in)に感知できるのはコンフィギュレーションメモリ(レジスタ、メモリ、コンフィギュレーションセルなど)であり、このコンフィギュレーション制御入力は、復号化されたアドレスがアドレス指定される位置への入力をアクティブにすることを可能にする。上述と同様に、アクティブなデータパスは、図8において太くなっている。データが、各ブロック内のアドレス指定されたコンフィギュレーションメモリ位置内へ書き込まれる。次に、すべてのコンフィギュレーションメモリ位置が書き込まれるまで、上述したステップが繰り返される。
ここで、再び図6を参照して、各ユーザプログラマブルロジックブロックのコンフィギュレーションメモリを読み出す方法が説明される。
この方法における最初のステップは、必要とされるコンフィギュレーションセル位置のアドレスを、アドレス入力に対して論理的に真の状態にすることである。次に、アドレスがこの構造の長い距離にわたって広がることを可能にするために、1つ以上のNOP命令が実行される。上述と同様に、この例においてアドレスバスは登録されていないが、他のアーキテクチャ内にあってもよい。
この方法における次のステップは、各ブロック内のアドレス指定されるコンフィギュレーションメモリ位置において、コンフィギュレーションチェーン上のレジスタ601内へデータを読み出すことである。これは、READ命令を用いてなされる。
次に、読み出しデータがコンフィギュレーションチェーンに沿ってシフトされ、各データワードが、記憶されるチェーンの終端(出力)から現れる。これは、SHIFT命令を用いてなされる。このSHIFT命令は、すべての読み出しデータがチェーンから出力されるまで、繰り返される。上述した方法のステップは、すべてのコンフィギュレーション位置が読み出されるまで、繰り返される。
ここで、図9から図11を参照して、本発明の一実施の形態による組み込み型アプリケーション機能ブロックを構成する方法が説明される。
図9は、ユーザプログラマブルロジックブロック901が、現行のコンフィギュレーションチェーンの仕方により、組み込み型特定アプリケーション向け機能ブロック902といかに相互作用するかを示す。ランタイム通信用に使用される2つのブロック間のルーティングネットワークにおける現行の配線は、コンフィギュレーションの実行中の期間において、上述と同様に再利用される。その独自のコンフィギュレーションインタフェース(コンフィギュレーションチェーン、アドレスバスおよび制御入力)を各組み込み型特定アプリケーション向け機能ブロック902へ供給する代わりに、ユーザプログラマブルロジックブロック901内における現行のコンフィギュレーション回路が、組み込み型特定アプリケーション向け機能ブロックを構成するのに必要とされるコンフィギュレーションデータ/制御用の輸送メカニズムとして使用されることを、このことは意味する。
これは、組み込み型アプリケーション機能ブロック902を構成するのに必要とされるすべての制御/データが、コンフィギュレーションメカニズムによりコンフィギュレーションデータとしてみなされ、現行のデータパスにより組み込み型機能ブロックへ転送されるような間接的なコンフィギュレーションの仕組みを作り出す。次に、コンフィギュレーションモードの間に、制御およびデータを正確に解釈することが、組み込み型機能ブロック902に下ろされる。
それゆえに、「reg_input_x」および「reg_output_x」信号が、図10に示される入力および出力へマッピングされる。ユーザプログラマブルロジックブロックにおいて入手可能なレジスタの数、およびレジスタの幅は、実装およびアーキテクチャ固有の細目を表す十分なデータ/アドレス/コマンドビットを、各組み込み型ブロックへ供給するのに十分である必要がある。
図10に示される信号上のデータが正確な時点で解釈されるためには、組み込み型機能ブロックへのアクセスが発生する信号に対して、ユーザプログラマブルロジックブロックのコンフィギュレーション制御入力(config_control_in)への追加の値(命令)が、適切に必要とされる。たとえば、EMBEDDED_ACCESS命令が規定されるべきである。
加えて、各ユーザプログラマブルロジックブロックからのコンフィギュレーション制御出力信号「config_control_output」は、さらに次のプログラマブルロジックブロックへの入力であると同様に、各特定アプリケーション向け組み込み型機能ブロックへの入力である必要がある。EMBEDDED_ACCESS命令の実行中の期間において、組み込み型特定アプリケーション向け機能ブロックだけがコンフィギュレーション制御信号に感知できる。
図10に示されるように、次に示す信号が必要とされる(その幅はアーキテクチャおよび実装固有である)。
本発明のこの例において、組み込み型特定アプリケーション向け機能ブロック902を構成する方法は、次のステップを含む。
最初に、SHIFT命令を用いて、制御、アドレスおよびコンフィギュレーションデータは、特定アプリケーション向け機能ブロック902がチェーンにより書き込まれるように、関連付けられるコンフィギュレーションチェーン内へシフトされる。この例では、メモリ位置のアドレス、書き込まれるデータ、および実行されるコマンド、EB_WRITEは、一方のレジスタから他方へシフトされる。この最後のステップは、必要とされるすべてのコンフィギュレーションおよび制御データがチェーン内へシフトされるまで、繰り返される。
次に、1つ以上のNOP命令が実行され、コンフィギュレーションチェーン上の各レジスタのデータ出力が、ユーザプログラマブルロジックブロックを通して広がることを可能にする。上述と同様に、これは予防の方策であり、本発明の他の例において必要とされなくてもよい。
この方法における次のステップは、特定アプリケーション向け機能ブロック902を始動するコンフィギュレーションチェーン上において、EMBEDDED_ACCESS命令を実行し、その入力を有効化し、それゆえに、このインスタンスにおいて必要とされるEB_WRITE命令を実行することである。次に、組み込み型特定アプリケーション向け機能ブロック902が現在の命令(EB_WRITE)を完了することを可能にするために、1つ以上のNOP命令が実行される。最後に、上述したステップが特定アプリケーション向け組み込み型ブロック902内の各アドレス位置に対して、繰り返される。
ここで、コンフィギュレーションデータを、特定アプリケーション向け組み込み型ブロックから読み出す方法が説明される。
最初に、必要とされる制御、アドレスおよびコンフィギュレーションデータを関連付けられるコンフィギュレーションチェーン内へシフトするために、SHIFT命令が実行され、特定アプリケーション向け機能ブロック902がチェーンにより読み出される。この場合、メモリ位置のアドレス、読み出されるデータ、および実行されるコマンド、EB_READである。このステップは、必要とされるすべてのコンフィギュレーションおよび制御データがチェーン内へシフトされるまで、繰り返される。
次に、コンフィギュレーションチェーン上の各レジスタのデータ出力が、ユーザプログラマブルロジックブロックを通して広がることを可能にするために、1つ以上のNOP命令が実行される。上述と同様に、これはただ単に予防の方策である。
次に、EMBEDDED_ACCESS命令がコンフィギュレーションチェーン上において実行され、特定アプリケーション向け機能ブロック902を始動し、その入力を有効化し、それゆえにこのインスタンスにおいて必要とされる命令、EB_READを実行する。
次に、組み込み型特定アプリケーション向け機能ブロック902が、現在の命令(EB_READ)およびその出力上の現在の読み出しデータを完了することを可能にするために、1つ以上のNOP命令が実行される。
これがなされる時点で、コンフィギュレーションチェーン上のUPDATE_CHAIN命令が実行される。これは、以前に説明されたREAD命令と同様であるが、しかし、図11で太いデータ線により示されるように、組み込み型機能ブロックからのデータは、コンフィギュレーションチェーン上のレジスタ入力へルーティングされる。
次に、コンフィギュレーションチェーンは、SHIFT命令を用いてシフトされ、出力データワードが記憶される。このステップは、コンフィギュレーションチェーンからすべてのデータが読み出されるまで、繰り返される。最後に、上述した方法のステップは、特定アプリケーション向け組み込み型ブロック内のあらゆるアドレスに対して繰り返される。
好ましいことに、本発明は、いくつかの有利な点を与える。たとえば、本発明は、入手可能なユーザプログラマブルロジックについて、なんらかの前段階のコンフィギュレーションを必要としない。さらに、本発明は、コンフィギュレーション可能および再コンフィギュレーション可能の組み込み型特定アプリケーション向け機能ブロックと、コンフィギュレーション可能および再コンフィギュレーション可能のユーザプログラマブルロジックブロックとの両方に対応する有利な点を与える。さらにその上、本発明は、いかなる組み込み型特定アプリケーション向け機能ブロックについての存在、数、場所または特定の機能に関係なく、コンフィギュレーション制御部に対して同一のインタフェースおよびプロトコルを与える。
本発明は、組み込み型特定アプリケーション向け機能ブロックを構成する方法に利用できる。
Claims (12)
- 入力および出力を含むコンフィギュレーションデータ制御部を有するユーザプログラマブル構造内に組み込まれるとともに、入力および出力を含むコンフィギュレーションメモリを有する、特定アプリケーション向け機能ブロックを構成する方法であって、
前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、前記ユーザプログラマブル構造のコンフィギュレーション制御部へ送るステップと、
前記ユーザプログラマブル構造のコンフィギュレーションデータ制御部の出力を、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力へルーティングするステップと、
コンフィギュレーションデータを、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリへ転送するステップと、
コンフィギュレーションデータを用いて、前記特定アプリケーション向け機能ブロックを構成するステップと、を有する方法。 - 前記コンフィギュレーション制御部は、一連のレジスタを有し、
前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを送るステップは、前記一連のレジスタを通して、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータをシフトするステップを有する、請求項1に記載の方法。 - 前記コンフィギュレーションデータ制御部の出力をルーティングするステップは、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力を有効化するステップを有する、請求項1に記載の方法。
- さらに、
前記コンフィギュレーションメモリの出力を、前記コンフィギュレーションデータ制御部の入力へルーティングするステップと、
コンフィギュレーションデータを前記コンフィギュレーションデータ制御部へ転送するステップと、
コンフィギュレーションデータを読み出すステップと、を有する、請求項1に記載の方法。 - 前記コンフィギュレーション制御部は、一連のレジスタを有し、
前記コンフィギュレーションデータを読み出すステップは、前記一連のレジスタを通して、コンフィギュレーションデータをシフトするステップを有する、請求項4に記載の方法。 - 前記コンフィギュレーションメモリの出力をルーティングするステップは、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの出力を有効化するステップを有する、請求項4に記載の方法。
- 出力を含むコンフィギュレーションデータ制御部を有するユーザプログラマブル構造内に組み込まれるとともに、入力を含むコンフィギュレーションメモリを有する、特定アプリケーション向け機能ブロックを構成する装置であって、
前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータを、前記ユーザプログラマブル構造のコンフィギュレーション制御部へ送る送信部と、
前記ユーザプログラマブル構造のコンフィギュレーションデータ制御部の出力を、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力へルーティングするルーティング部と、
コンフィギュレーションデータを、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリへ転送する転送部と、
コンフィギュレーションデータを用いて、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーション部と、を有する装置。 - 前記コンフィギュレーション制御部は、一連のレジスタを有し、
前記送信部は、前記一連のレジスタを通して、前記特定アプリケーション向け機能ブロックを構成するコンフィギュレーションデータをシフトするシフト部を有する、請求項7に記載の装置。 - 前記ルーティング部は、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの入力を有効化する有効化部を有する、請求項7に記載の装置。
- さらに、
前記コンフィギュレーションメモリの出力を、前記コンフィギュレーションデータ制御部の入力へルーティングするルーティング部と、
コンフィギュレーションデータを前記コンフィギュレーションデータ制御部へ転送する転送部と、
コンフィギュレーションデータを読み出す読み出し部と、を有する、請求項7に記載の装置。 - 前記コンフィギュレーション制御部は、一連のレジスタを有し、
前記読み出し部は、前記一連のレジスタを通して、コンフィギュレーションデータをシフトするシフト部を有する、請求項10に記載の装置。 - 前記ルーティング部は、前記特定アプリケーション向け機能ブロックのコンフィギュレーションメモリの出力を有効化する有効化部を有する、請求項10に記載の装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07103660A EP1967973A1 (en) | 2007-03-07 | 2007-03-07 | A method of configuring embedded application-specific functional blocks |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008276746A true JP2008276746A (ja) | 2008-11-13 |
Family
ID=38283553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008056421A Withdrawn JP2008276746A (ja) | 2007-03-07 | 2008-03-06 | 組み込み型特定アプリケーション向け機能ブロックを構成する方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7973554B2 (ja) |
EP (1) | EP1967973A1 (ja) |
JP (1) | JP2008276746A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009159567A (ja) * | 2007-12-28 | 2009-07-16 | Panasonic Corp | リコンフィギュアラブル回路、コンフィギュレーション方法およびプログラム |
EP2345968A1 (en) * | 2010-01-13 | 2011-07-20 | Panasonic Corporation | Method and apparatus for reconfiguring a reconfigurable device |
US20120153990A1 (en) * | 2010-12-17 | 2012-06-21 | Panasonic Corporation | Embedded block configuration via shifting |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5425773A (en) * | 1992-01-06 | 1995-06-20 | Danek Medical, Inc. | Intervertebral disk arthroplasty device |
US5644251A (en) * | 1993-04-22 | 1997-07-01 | Lsi Logic Corporation | Switchable pull-ups and pull-downs for IDDQ testing of integrated circuits |
US5825202A (en) * | 1996-09-26 | 1998-10-20 | Xilinx, Inc. | Integrated circuit with field programmable and application specific logic areas |
US6172520B1 (en) * | 1997-12-30 | 2001-01-09 | Xilinx, Inc. | FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA |
US7146441B1 (en) * | 1998-03-16 | 2006-12-05 | Actel Corporation | SRAM bus architecture and interconnect to an FPGA |
US6195774B1 (en) * | 1998-08-13 | 2001-02-27 | Xilinx, Inc. | Boundary-scan method using object-oriented programming language |
US6732263B1 (en) * | 2000-06-12 | 2004-05-04 | Altera Corporation | Configuring both a programmable logic device and its embedded logic with a single serialized configuration bit stream |
US6658632B1 (en) * | 2000-06-15 | 2003-12-02 | Sun Microsystems, Inc. | Boundary scan cell architecture with complete set of operational modes for high performance integrated circuits |
US20030077067A1 (en) * | 2001-10-23 | 2003-04-24 | Matsushita Electric Industrial Co., Ltd. | Television program editing device |
US6924663B2 (en) * | 2001-12-28 | 2005-08-02 | Fujitsu Limited | Programmable logic device with ferroelectric configuration memories |
US7191342B1 (en) * | 2002-06-04 | 2007-03-13 | Xilinx, Inc. | Methods and circuits for allowing encrypted and unencrypted configuration data to share configuration frames |
US20040119496A1 (en) * | 2002-12-23 | 2004-06-24 | Infineon Technologies North America Corp. | Implementation of multiple flip flops as a standard cell using novel clock generation scheme |
US7082592B1 (en) * | 2003-06-16 | 2006-07-25 | Altera Corporation | Method for programming programmable logic device having specialized functional blocks |
US7132851B2 (en) * | 2003-07-11 | 2006-11-07 | Xilinx, Inc. | Columnar floorplan |
US20050198166A1 (en) * | 2003-11-14 | 2005-09-08 | Matsushita Electric Industrial Co., Ltd. | Mail program, e-mail device, and method for managing e-mail messages |
US7218137B2 (en) * | 2004-04-30 | 2007-05-15 | Xilinx, Inc. | Reconfiguration port for dynamic reconfiguration |
US7126406B2 (en) * | 2004-04-30 | 2006-10-24 | Xilinx, Inc. | Programmable logic device having an embedded differential clock tree |
JP2006100991A (ja) * | 2004-09-28 | 2006-04-13 | Matsushita Electric Ind Co Ltd | 不揮発性論理回路及びそれを有するシステムlsi |
JP2006270027A (ja) * | 2005-02-24 | 2006-10-05 | Matsushita Electric Ind Co Ltd | 半導体装置および相補形mis論理回路 |
US7348796B2 (en) * | 2005-10-26 | 2008-03-25 | Dafca, Inc. | Method and system for network-on-chip and other integrated circuit architectures |
JP2007251329A (ja) * | 2006-03-14 | 2007-09-27 | Matsushita Electric Ind Co Ltd | プログラマブルロジックデバイス |
US7362135B1 (en) * | 2006-10-04 | 2008-04-22 | Hyun-Taek Chang | Apparatus and method for clock skew adjustment in a programmable logic fabric |
-
2007
- 2007-03-07 EP EP07103660A patent/EP1967973A1/en not_active Withdrawn
-
2008
- 2008-03-05 US US12/042,575 patent/US7973554B2/en not_active Expired - Fee Related
- 2008-03-06 JP JP2008056421A patent/JP2008276746A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US7973554B2 (en) | 2011-07-05 |
US20080218204A1 (en) | 2008-09-11 |
EP1967973A1 (en) | 2008-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6108760A (en) | Method and apparatus for position independent reconfiguration in a network of multiple context processing elements | |
US5915123A (en) | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements | |
US6526498B1 (en) | Method and apparatus for retiming in a network of multiple context processing elements | |
JP3444216B2 (ja) | プログラマブルデバイス | |
US7380100B2 (en) | Data processing system and control method utilizing a plurality of date transfer means | |
JP2006040254A (ja) | リコンフィギュラブル回路および処理装置 | |
US6675289B1 (en) | System and method for executing hybridized code on a dynamically configurable hardware environment | |
US8103866B2 (en) | System for reconfiguring a processor array | |
JP2006018453A (ja) | 半導体装置 | |
JP2005044329A (ja) | 半導体集積回路 | |
JP2008276746A (ja) | 組み込み型特定アプリケーション向け機能ブロックを構成する方法 | |
JP4753895B2 (ja) | 遅延調整回路を有するアレイ型プロセッサ | |
US20080235490A1 (en) | System for configuring a processor array | |
JP2014138382A (ja) | 信号処理装置およびプログラマブルロジックデバイスの構成方法 | |
JP2010093814A (ja) | スケーラブルアレイ構成方法及び装置 | |
JP2010066260A (ja) | リコンフィギャラブルアレイに埋め込まれた特定用途向け機能ブロックのテスト装置及びテスト方法 | |
US20090282223A1 (en) | Data processing circuit | |
JP4743581B2 (ja) | データ処理システムおよびその制御方法 | |
KR20040111650A (ko) | 인스트럭션 시퀀스 디코딩 방법 및 장치 | |
JP2007148622A (ja) | インターフェース設定方法 | |
JP2007249843A (ja) | 再構成可能な演算装置 | |
JP2006510129A (ja) | システム・オン・チップへのアレイ・プロセッサのモジュラ統合 | |
EP2345968A1 (en) | Method and apparatus for reconfiguring a reconfigurable device | |
JP2007329760A (ja) | プログラマブル論理デバイス、回路情報入力制御装置および半導体装置 | |
JP2008219728A (ja) | 再構成可能な演算処理回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101126 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20120228 |