(57)【要約】【課題】本発明は、少ない数のＦＰＧＡチップで大規模な論理回路の検証が可能な論理検証装置を提供することを目的とする。【解決手段】論理検証装置は、動的に再構成可能なＦＰＧＡと、複数のコンフィギュレーションデータを格納するコンフィギュレーションメモリと、複数のコンフィギュレーションデータを順次選択してＦＰＧＡに順次書き込む動作を複数のコンフィギュレーションデータの全てに対して実行するサイクルを複数回繰り返す第１のセレクト回路を含み、コンフィギュレーションデータによってＦＰＧＡ上に実現される論理は順次書き込む動作毎に入れ替えられることを特徴とする。【選択図】図１
2004200311.tif 000002
【特許請求の範囲】
【請求項１】
動的に再構成可能なＦＰＧＡと、
複数のコンフィギュレーションデータを格納するコンフィギュレーションメモリと、
該複数のコンフィギュレーションデータを順次選択して該ＦＰＧＡに順次書き込む動作を該複数のコンフィギュレーションデータの全てに対して実行するサイクルを複数回繰り返す第１のセレクト回路
を含み、コンフィギュレーションデータによって該ＦＰＧＡ上に実現される論理は該順次書き込む動作毎に入れ替えられることを特徴とする論理検証装置。
【請求項２】
該複数のコンフィギュレーションデータに対応する複数の回路を合計した回路規模は該ＦＰＧＡの容量よりも大きいことを特徴とする請求項１記載の論理検証装置。
【請求項３】
コンフィギュレーションデータが書き込まれることで該ＦＰＧＡ上に実現された回路の回路状態を該複数のコンフィギュレーションデータ毎に格納する回路状態メモリと、
コンフィギュレーションデータが該ＦＰＧＡに書き込まれることで該ＦＰＧＡ上に実現された回路に対応する該回路状態を該回路状態メモリから読み出して該ＦＰＧＡ上の該回路に設定する第２のセレクト回路
を更に含むことを特徴とする請求項１記載の論理検証装置。
【請求項４】
該ＦＰＧＡ上に実現された回路が動作実行した後に該第２のセレクト回路は該動作実行した回路の該動作実行後の回路状態を該回路状態メモリに格納することを特徴とする請求項３記載の論理検証装置。
【請求項５】
該第２のセレクト回路は該回路状態メモリに格納される該回路状態を該論理検証装置の外部に出力する経路を備えることを特徴とする請求項３記載の論理検証装置。
【請求項６】
該回路状態メモリは該回路状態を該複数のコンフィギュレーションデータ毎且つ該サイクル毎に格納することを特徴とする請求項１記載の論理検証装置。
【請求項７】
記憶装置と、
該記憶装置と該ＦＰＧＡとの間の配線接続を自由に構成可能な配線用回路
を更に含み、第１のサイクルで該ＦＰＧＡ上に実現される回路から出力される値を該配線用回路を介して該記憶装置に格納し、第２のサイクルで該ＦＰＧＡ上に実現される回路に対して該記憶装置に格納されている該値を該配線用回路を介して入力することを特徴とする請求項１記載の論理検証装置。
【請求項８】
該論理検証装置の外部と該配線用回路との間に設けられるバッファ回路を更に含み、該配線用回路は該ＦＰＧＡと該バッファ回路との間の配線接続を自由に構成可能なように構成され、該バッファ回路は該ＦＰＧＡ上に実現される回路から出力される値を所定期間保持することを特徴とする請求項７記載の論理検証装置。
【請求項９】
該記憶装置は該サイクル毎にデータをシフトするＦＩＦＯメモリであることを特徴とする請求項７記載の論理検証装置。
【請求項１０】
該配線用回路はＦＰＧＡにより実現されることを特徴とする請求項７記載の論理検証装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にＬＳＩの論理検証に関し、詳しくは再構成可能なＦＰＧＡを用いてＬＳＩの論理検証を行う装置に関する。
【従来の技術】
ＦＰＧＡ（Field Programmable Gate Array）は、プログラム可能な汎用ロジックＬＳＩであり、メモリに書き込まれたコンフィギュレーションデータに従ってＬＳＩ内部の配線接続が制御され、所望のハードウェア構成を実現する。ＦＰＧＡは、例えば、論理回路の設計において論理検証を実行するエミュレータとして用いられる。
【０００２】
論理検証装置は、論理回路をハードウェア上にマッピングし、ハードウェアとして高速に動作する回路を構成して論理検証を行う。このハードウェアエミュレータは、ソフトウェアシミュレータの数千から数万倍の速度で動作するので、大規模な回路を論理検証する際には非常に有効である。
【０００３】
ＦＰＧＡに論理回路をマッピングして論理検証を行う場合、検証対象回路の回路規模が一つのＦＰＧＡチップには搭載できない程大きい場合がある。このような場合、従来の技術では複数のＦＰＧＡチップを用意して、検証対象の論理回路を一つのＦＰＧＡチップに収まる規模の複数のブロックに分割し、これら複数のブロックをそれぞれのＦＰＧＡチップにマッピングしていた。
【０００４】
また、異なる時間に異なる論理回路を実現するように処理の途中でＦＰＧＡ等を再構成することにより、一つのプログラマブル論理回路装置では実現できない規模の回路を実現することができるようになる。このような場合において、再構成回路のレイアウトを予め決められた大きさおよび形状に揃えておくことで、再構成の際に比較的容易に空き領域と再構成回路の形状や大きさをマッチングさせることができる従来技術がある（特許文献１）。
【０００５】
またＦＰＧＡに実現したい論理回路の規模が大きい場合に、複数の論理ブロックの機能をいっせいに切り換えるのではなく、論理ブロック間の配線信号の変化を検出して、論理回路部の論理定義情報を自動的にかつ順を追って高速に切り換える従来技術がある（特許文献２）。
【０００６】
【特許文献１】
特開平１１‐０１７５２４号公報
【特許文献２】
特開平１０‐１７３５１５号公報
【発明が解決しようとする課題】
複数のＦＰＧＡチップを用意する構成では、検証対象論理回路の規模が増大してくると、必要なＦＰＧＡチップの数が増加し、ＦＰＧＡチップ間の配線遅延によって動作速度が上がらなくなるという問題がある。また、ＦＰＧＡチップの数が増加すると装置構成が複雑となり、実現が難しくなるという問題もある。
【０００７】
以上を鑑みて、本発明は、少ない数のＦＰＧＡチップで大規模な論理回路の検証が可能な論理検証装置を提供することを目的とする。
【課題を解決するための手段】
本発明による論理検証装置は、動的に再構成可能なＦＰＧＡと、複数のコンフィギュレーションデータを格納するコンフィギュレーションメモリと、該複数のコンフィギュレーションデータを順次選択して該ＦＰＧＡに順次書き込む動作を該複数のコンフィギュレーションデータの全てに対して実行するサイクルを複数回繰り返す第１のセレクト回路を含み、コンフィギュレーションデータによって該ＦＰＧＡ上に実現される論理は該順次書き込む動作毎に入れ替えられることを特徴とする。
【０００８】
上記論理検証装置においては、動的に再構成可能なＦＰＧＡに対して複数のコンフィギュレーションデータを順次選択して書き込む一連の動作を複数サイクル繰り返すと共に、コンフィギュレーションデータによってＦＰＧＡ上に実現される論理を順次入れ替える。これにより、検証対象回路を複数の論理ブロックに分割してそれぞれのコンフィギュレーションデータを用意しておけば、検証対象回路の回路規模がＦＰＧＡの再構成領域の規模よりも大きい場合であっても、各論理ブロックを逐次的に実行することにより、検証対象回路全体の論理を実現することができる。
【０００９】
また本発明の更なる側面によれば、上記論理検証装置は、コンフィギュレーションデータが書き込まれることで該ＦＰＧＡ上に実現された回路の回路状態を該複数のコンフィギュレーションデータ毎に格納する回路状態メモリと、コンフィギュレーションデータが該ＦＰＧＡに書き込まれることで該ＦＰＧＡ上に実現された回路に対応する該回路状態を該回路状態メモリから読み出して該ＦＰＧＡ上の該回路に設定する第２のセレクト回路を更に含むことを特徴とする。
【００１０】
上記構成においては、ＦＰＧＡ上に実現された回路の回路状態を回路状態メモリに格納しておくことで、ＦＰＧＡ上で順次回路を入れ替えて逐次的に実現する場合に、今回動作中断した回路の回路状態を次回再開するときに復元することができる。
【００１１】
また本発明の更なる側面によれば上記論理検証装置は、記憶装置と、該記憶装置と該ＦＰＧＡとの間の配線接続を自由に構成可能な配線用回路とを更に含み、第１のサイクルで該ＦＰＧＡ上に実現される回路から出力される値を該配線用回路を介して該記憶装置に格納し、第２のサイクルで該ＦＰＧＡ上に実現される回路に対して該記憶装置に格納されている該値を該配線用回路を介して入力することを特徴とする。
【００１２】
上記構成においては、複数の論理ブロックが同時に存在することはなく逐次的に１つずつ実現される状態において、各論理ブロック間で時間を超えて信号伝送するために、記憶装置が信号値を記憶することで異なる時刻間の仲介をし、更に自由に構成可能な配線用回路を用いることによって、異なる論理ブロックに対して随時適切な信号経路を提供することができる。
【００１３】
【発明の実施の形態】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１４】
図１は、本発明による論理検証装置の第１の実施例の構成の一例を示す構成図である。
【００１５】
図１の論理検証装置１０は、動的再構成可能ＦＰＧＡ１１、コンフィギュレーションメモリ１２−１乃至１２−Ｎ、回路状態メモリ１３−１乃至１３−Ｎ、セレクト回路１４、セレクト回路１５、配線用回路１６、記憶装置１７、バッファ１８、及び制御回路１９を含む。制御回路１９が、各メモリ及び各回路に対して制御信号を供給し、各メモリ及び各回路の動作を制御する。
【００１６】
動的再構成可能ＦＰＧＡ１１は、コンフィギュレーションメモリ１２−１乃至１２−Ｎに格納されるコンフィギュレーションデータに基づいて、再構成可能な形で検証対象回路の論理１１ａを実現する。コンフィギュレーションメモリ１２−１乃至１２−Ｎは、検証対象回路を複数Ｎ個の論理ブロックに分割して、各論理ブロックの論理を実現するために必要なコンフィギュレーションデータを格納する。
【００１７】
セレクト回路１４は、コンフィギュレーションメモリ１２−１乃至１２−Ｎのうちの一つを選択して、それが格納するコンフィギュレーションデータを動的再構成可能ＦＰＧＡ１１に書き込む。これにより、選択されたコンフィギュレーションメモリに対応する検証対象回路の論理ブロックの論理が、論理検証装置１０上での論理１１ａとして実現される。
【００１８】
例えばコンフィギュレーションメモリ１２−１が最初に選択され、これに対応する検証対象回路の第１の論理ブロックが動的再構成可能ＦＰＧＡ１１に実現される。次にコンフィギュレーションメモリ１２−２が選択され、これに対応する検証対象回路の第２の論理ブロックが動的再構成可能ＦＰＧＡ１１に実現される。同様の動作が各論理ブロックに対して実行されて、最後にコンフィギュレーションメモリ１２−Ｎが選択され、検証対象回路の第Ｎの論理ブロックが動的再構成可能ＦＰＧＡ１１に実現される。以上で１サイクルを完了する。このサイクルが繰り返されることで、検証対象回路全体についての各サイクルに応じた動作が実現される。
【００１９】
Ｎ個の回路状態メモリ１３−１乃至１３−Ｎは、Ｎ個のコンフィギュレーションメモリ１２−１乃至１２−Ｎに対応し、動的再構成可能ＦＰＧＡ１１上に実現された論理ブロックの回路状態（内部フリップフロップの値）を、各サイクルに対して保持するメモリである。即ち例えば、コンフィギュレーションメモリ１２−１に対応する第１の論理ブロックを動的再構成可能ＦＰＧＡ１１上で動作させると、次の第２の論理ブロックのコンフィギュレーションデータを動的再構成可能ＦＰＧＡ１１にロードする前に、動的再構成可能ＦＰＧＡ１１上の第１の論理ブロックの回路状態を回路状態メモリ１３−１に記憶させる（セーブする）。これにより、次のサイクルで再び第１の論理ブロックを動的再構成可能ＦＰＧＡ１１上で動作させる際に、回路状態メモリ１３−１から回路状態を読み出して動的再構成可能ＦＰＧＡ１１に書き込むことで、前回中断した状態から回路動作を再開することができる。
【００２０】
この目的のために、セレクト回路１５は、選択されたコンフィギュレーションメモリに対応する回路状態メモリを選択する。セレクト回路１５は、回路状態メモリ１３−１乃至１３−Ｎのうちの選択されたメモリから回路状態を読み出して、動的再構成可能ＦＰＧＡ１１に書き込む。ここで回路状態メモリ１３−１乃至１３−Ｎの各々は、複数（図では模式的に３つ）のメモリを含むものとして示されるが、これは過去から現在までの複数サイクルについての回路状態データを格納していることを意味する。また図１に示されるようにセレクト回路１５は外部Ｉ／Ｏを備えており、回路状態メモリ１３−１乃至１３−Ｎの内容を外部に出力する。これにより、動的再構成可能ＦＰＧＡ１１上に実現される論理の状態を、必要に応じて外部から観測することができる。
【００２１】
図２は、動的再構成可能ＦＰＧＡ１１により複数の論理ブロックを実現する動作を示すタイミングチャートである。
【００２２】
図２は、ブロックの個数Ｎが３の場合を示し、外部クロックに対して内部クロックは６倍の周波数に設定されている。ここで外部クロックは検証対象回路の動作クロックに対応し、外部クロックの１サイクルの間に検証対象回路の１サイクル分の動作が実行される。内部クロックは、外部クロックの１サイクルの間に複数の論理ブロックの動作を実現するためのクロックであり、Ｎ個の論理ブロックが存在する場合には外部クロックの２Ｎ倍の周波数を有する。セレクト回路１４及び１５等はこの内部クロックに同期して動作する。
【００２３】
図２に示される内部クロックの最初のサイクルにおいて、第１の論理ブロックのコンフィギュレーションが実行されると共に、それ以前に実行されていた第３の論理ブロックの回路状態がセーブされ、その後に第１の論理ブロックの回路状態がロードされる。これにより動的再構成可能ＦＰＧＡ１１上に第１の論理ブロックが実現され、前回動作中断した時点の回路状態に復元される。次に内部クロックの第２のサイクルにおいて、第１の論理ブロックの１クロック分の動作が実行される。
【００２４】
内部クロックの第３のサイクルにおいて、第２の論理ブロックのコンフィギュレーションが実行されると共に、それ以前に実行されていた第１の論理ブロックの回路状態がセーブされ、その後に第２の論理ブロックの回路状態がロードされる。これにより動的再構成可能ＦＰＧＡ１１上に第２の論理ブロックが実現され、前回動作中断した時点の回路状態に復元される。内部クロックの第４のサイクルにおいて、第２の論理ブロックの１クロック分の動作が実行される。
【００２５】
内部クロックの第５のサイクルにおいて、第３の論理ブロックのコンフィギュレーションが実行されると共に、それ以前に実行されていた第２の論理ブロックの回路状態がセーブされ、その後に第３の論理ブロックの回路状態がロードされる。これにより動的再構成可能ＦＰＧＡ１１上に第３の論理ブロックが実現され、前回動作中断した時点の回路状態に復元される。内部クロックの第６のサイクルにおいて、第３の論理ブロックの１クロック分の動作が実行される。
【００２６】
以上により、外部クロック１サイクルの間に、動的再構成可能ＦＰＧＡ１１上に検証対象回路の第１乃至第３の論理ブロックが順次実現されて、それぞれについて１サイクル分の動作が実行される。
【００２７】
図３は、動的再構成可能ＦＰＧＡと回路状態メモリとの間で回路状態をロード・セーブする動作を説明するための図である。図３においては、検証対象回路は３つの論理ブロックに分割されているとする。
【００２８】
図３に模式的に示されるように、動的再構成可能ＦＰＧＡ１１が実現する論理１１ａは、論理値を格納するフリップフロップ２１（図では模式的に１つとして示すが複数でよい）と、フリップフロップ２１の値を入力とする組み合せ論理回路２２と、組み合せ論理回路２２の出力を格納するフリップフロップ２３（図では模式的に１つとして示すが複数でよい）を含む構成として表現される。セレクト回路１５は、動的再構成可能ＦＰＧＡ１１上に論理１１ａとして例えば第１の論理ブロックを実現する際に、回路状態メモリ１３−１から回路状態を読み出して、フリップフロップ２１及び２３のセット入力Ｓから回路状態データを書き込む。これにより、第１の論理ブロックが前回中断時の回路状態を有するように再現される。
【００２９】
第１の論理ブロックが動的再構成可能ＦＰＧＡ１１上で１クロック分動作した後に、セレクト回路１５は、フリップフロップ２１及び２３の出力値Ｑを回路状態メモリ１３−１に格納する。これにより、第１の論理ブロックの現在の回路状態を、回路状態メモリ１３−１にセーブすることができる。その後第２及び第３の論理ブロックを実現した後に、次のクロックで第１の論理ブロックを再度実現する際には、回路状態メモリ１３−１に格納される回路状態データを読み出すことで、回路状態を元に復元することができる。
【００３０】
以下に、論理ブロック間の信号転送について説明する。
【００３１】
図４は、検証対象回路の論理ブロック分割を模式的に示す図である。
【００３２】
図４に示される例において、検証対象回路は、第１の論理ブロック３１、第２の論理ブロック３２、及び第３の論理ブロック３３に分割される。第１の論理ブロック３１は、外部Ｉ／Ｏ３４とＩ／Ｏ１及びＩ／Ｏ２で接続される。第１の論理ブロック３１は更に、第２の論理ブロック３２と信号経路Ｐ１及びＰ２を介して接続され、第３の論理ブロック３３と信号経路Ｐ３及びＰ４を介して接続される。また第２の論理ブロック３２と第３の論理ブロック３３とは、信号経路Ｐ５及びＰ６を介して接続される。
【００３３】
しかしながら前述の説明のように、本発明においては、各論理ブロックは動的再構成可能ＦＰＧＡ１１上に順次１つずつ実現されるので、同時に２つ以上の論理ブロックが実現されることはない。即ち図４に模式的に示す第１の論理ブロック３１乃至第３の論理ブロック３３は、同時に存在することはなく、時間を追って順次１つずつ実現される。従って、各論理ブロック間の信号経路Ｐ１乃至Ｐ６は、時間を超えて異なるタイミングの領域間で信号転送することが必要になり、そのような機能を実現して各論理ブロック間の信号転送をサポートする機構が必要になる。
【００３４】
図１において、配線用回路１６及び記憶装置１７は、各論理ブロック間の信号転送を実現するために設けられる。
【００３５】
配線用回路１６は、各論理ブロック間の信号配線をエミュレートするためのものであり、例えば再構成可能なＦＰＧＡチップにより実現される。配線用回路１６は、ＦＰＧＡ上に所望の論理を構成することで所望の信号配線を提供する。記憶装置１７は、各論理ブロックが動的再構成可能ＦＰＧＡ１１上に同時に実現されることはないので、各論理ブロック間の信号転送を実現するために、転送される信号の値を一時的に格納して仲介するためのメモリである。例えば記憶装置１７は、あるクロックタイミングで信号値を入力して次のクロックタイミングで信号値を出力するＦＩＦＯ（First In First Out）メモリであってよい。
【００３６】
図５は、配線用回路１６、記憶装置１７、及びバッファ１８の具体的な構成を示す図である。
【００３７】
図５に示されるように、配線用回路１６は配線用ＦＰＧＡとして実現され、記憶装置１７はＦＩＦＯとして実現される。ＦＩＦＯ１７は、図４の６つの信号経路Ｐ１乃至Ｐ６に対応して６つの値を格納できるメモリ要素ｂ１乃至ｂ６を含む。例えば外部クロックの第ｍ番目のサイクルにおいて、動的再構成可能ＦＰＧＡ１１とＦＩＦＯ１７との間に適切な配線接続を配線用ＦＰＧＡ１６により確立することで、第１の論理ブロック３１乃至第３の論理ブロック３３から各信号経路Ｐ１乃至Ｐ６に出力される信号値を、ＦＩＦＯ１７の各メモリ要素ｂ１乃至ｂ６に格納する。外部クロックの次の第ｍ＋１番目のサイクルにおいて、メモリ要素ｂ１乃至ｂ６の値はメモリ要素ａ１乃至ａ６に転送される。メモリ要素ａ１乃至ａ６の値は、ＦＩＦＯ１７と動的再構成可能ＦＰＧＡ１１との間に適切な配線接続を配線用ＦＰＧＡ１６により確立することで、動的再構成可能ＦＰＧＡ１１の対応する信号経路Ｐ１乃至Ｐ６に供給される。
【００３８】
図５に示されるように、例えば第１の論理ブロックが実現されている場合には、配線用ＦＰＧＡ１６により信号経路Ｐ１及びＰ３をそれぞれメモリ要素ｂ１及びｂ３に接続し、信号経路Ｐ１及びＰ３に出力される値をそれぞれメモリ要素ｂ１及びｂ３に格納する。このメモリ要素ｂ１及びｂ３に格納された値は次のサイクルで使用される。また配線用ＦＰＧＡ１６により信号経路Ｐ２及びＰ４をそれぞれメモリ要素ａ２及びａ４に接続し、メモリ要素ａ２及びａ４に格納されている値を信号経路Ｐ２及びＰ４に供給する。このメモリ要素ａ２及びａ４の値は、前のサイクルでｂ２及びｂ４に格納された値である。
【００３９】
また配線用ＦＰＧＡ１６は、動的再構成可能ＦＰＧＡ１１とバッファ１８との間に適切な配線険路を確立することで、第１の論理ブロック３１と外部Ｉ／Ｏ３４とを接続するための信号経路Ｉ／Ｏ１及びＩ／Ｏ２を介しての適切なデータ転送を実現する。ここで外部Ｉ／Ｏ３４は、図２に示す外部クロックに同期して、内部クロックの６分の１の速度で動作している。従って、異なるクロック速度間の信号転送を実現するために、バッファ１８を設けて外部Ｉ／Ｏとやり取りする値を保持している。
【００４０】
以下に、本発明による論理検証装置の第２の実施例について説明する。
【００４１】
図６において、（ａ）はチップ外部にコンフィギュレーションデータを備えた動的再構成可能ＦＰＧＡを示し、（ｂ）はチップ内部にコンフィギュレーションデータを備えた動的再構成可能ＦＰＧＡを示す。
【００４２】
（ａ）において、論理ブロック４７は動的再構成可能ＦＰＧＡ４１上に実現されるが、コンフィギュレーションメモリ４３乃至４５とセレクト回路４６とは、動的再構成可能ＦＰＧＡ４１の外部にそれぞれ独立した装置として実現される。それに対して（ｂ）に示すチップ内部にコンフィギュレーションデータを備えた動的再構成可能ＦＰＧＡにおいては、コンフィギュレーションメモリ４８乃至５０、セレクト回路５１、及び論理ブロック５２は、全て動的再構成可能ＦＰＧＡ４２内部に実現される。この場合、論理構成が再構成されるのは論理ブロック５２の部分のみであり、コンフィギュレーションメモリ４８乃至５０及びセレクト回路５１に対応するＦＰＧＡ部分は所定の配線に固定されている。
【００４３】
図１に示す第１の実施例では、動的再構成可能ＦＰＧＡ１１には検証対象回路の論理ブロックの論理１１ａのみを実現している。それに対して、図６（ｂ）に示す構成のように、検証対象回路以外の論理構成についても動的再構成可能ＦＰＧＡに実現することが考えられる。
【００４４】
図７は、本発明による論理検証装置の第２の実施例の構成の一例を示す構成図である。
【００４５】
図７の論理検証装置１０Ａは、動的再構成可能ＦＰＧＡ６０、コンフィギュレーションメモリ１２−１乃至１２−３、回路状態メモリ１３−１乃至１３−３、セレクト回路１４、セレクト回路１５、配線用回路１６、記憶装置１７、バッファ１８、及び制御回路１９を含む。制御回路１９が、各メモリ及び各回路に対して制御信号を供給し、各メモリ及び各回路の動作を制御する。図７において、図１と具体的なハードウェアとしての実現手段はことなっても論理構成で実現されるものは同一の記号で参照されている。
【００４６】
図７の論理検証装置１０Ａにおいては、動的再構成可能ＦＰＧＡ６０に、論理検証装置１０Ａを構成する全ての回路を内蔵する構成となっている。これらの回路は、動的再構成可能ＦＰＧＡ６０の内部ロジックを使用することで容易に実現することができる。このようにして、第２の実施例２においては、１つの動的再構成可能ＦＰＧＡチップにより論理検証機能を実現する。
【００４７】
なお図７では、論理検証装置１０Ａを構成する全ての回路を動的再構成可能ＦＰＧＡに内蔵する構成としたが、特定の回路のみをＦＰＧＡに内蔵してそれ以外の回路は独立した装置として設けてもよい。例えば、コンフィギュレーションメモリや回路状態メモリとして容量が大きいものが必要となる場合には、専用のメモリ装置を使用したほうが、ＦＰＧＡの一部をメモリとして使用するよりも効率がよい。
【００４８】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【発明の効果】
本発明による論理検証装置においては、動的に再構成可能なＦＰＧＡに対して複数のコンフィギュレーションデータを順次選択して書き込む一連の動作を複数サイクル繰り返すと共に、コンフィギュレーションデータによってＦＰＧＡ上に実現される論理を順次入れ替える。これにより、検証対象回路を複数の論理ブロックに分割してそれぞれのコンフィギュレーションデータを用意しておけば、検証対象回路の回路規模がＦＰＧＡの再構成領域の規模よりも大きい場合であっても、各論理ブロックを逐次的に実行することにより、検証対象回路全体の論理を実現することができる。
【００４９】
またＦＰＧＡ上に実現された回路の回路状態を回路状態メモリに格納しておくことで、ＦＰＧＡ上で順次回路を入れ替えて逐次的に実現する場合に、動作中断した回路の回路状態を次回再開するときに復元してその回路状態から再開することができる。
【００５０】
また、複数の論理ブロックが逐次的に１つずつ実現される状態において各論理ブロック間で時間を超えて信号伝送するために、記憶装置が信号値を記憶することで異なる時刻間の仲介をし、更に自由に構成可能な配線用回路を用いることによって、異なる論理ブロックに対して随時適切な信号経路を提供することができる。
【図面の簡単な説明】
【図１】本発明による論理検証装置の第１の実施例の構成の一例を示す構成図である。
【図２】動的再構成可能ＦＰＧＡにより複数の論理ブロックを実現する動作を示すタイミングチャートである。
【図３】動的再構成可能ＦＰＧＡと回路状態メモリとの間で回路状態をロード・セーブする動作を説明するための図である。
【図４】検証対象回路の論理ブロック分割を模式的に示す図である。
【図５】図１に示される配線用回路、記憶装置、及びバッファの具体的な構成を示す図である。
【図６】（ａ）はチップ外部にコンフィギュレーションデータを備えた動的再構成可能ＦＰＧＡを示し、（ｂ）はチップ内部にコンフィギュレーションデータを備えた動的再構成可能ＦＰＧＡを示す図である。
【図７】本発明による論理検証装置の第２の実施例の構成の一例を示す構成図である。
【符号の説明】
１１  動的再構成可能ＦＰＧＡ
１２−１〜１２−Ｎ  コンフィギュレーションメモリ
１３−１〜１３−Ｎ  回路状態メモリ
１４  セレクト回路
１５  セレクト回路
１６  配線用回路
１７  記憶装置
１８  バッファ
１９  制御回路
【図１】
2004200311.tif 000003
【図２】
2004200311.tif 000004
【図３】
2004200311.tif 000005
【図４】
2004200311.tif 000006
【図５】
2004200311.tif 000007
【図６】
2004200311.tif 000008
【図７】
2004200311.tif 000009