JP2004200311A - Logic verifying device - Google Patents

Logic verifying device Download PDF

Info

Publication number
JP2004200311A
JP2004200311A JP2002365569A JP2002365569A JP2004200311A JP 2004200311 A JP2004200311 A JP 2004200311A JP 2002365569 A JP2002365569 A JP 2002365569A JP 2002365569 A JP2002365569 A JP 2002365569A JP 2004200311 A JP2004200311 A JP 2004200311A
Authority
JP
Japan
Prior art keywords
circuit
fpga
logic
realized
configuration 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
Application number
JP2002365569A
Other languages
Japanese (ja)
Inventor
Hiroaki Fujimoto
博昭 藤本
Takashi Fujita
隆司 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002365569A priority Critical patent/JP2004200311A/en
Publication of JP2004200311A publication Critical patent/JP2004200311A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a logic verifying device which is capable of verifying a large-scale logic circuit with a few FPGA chips. <P>SOLUTION: The logic verifying device comprises FPGAs which can be dynamically reconfigured, a configuration memory storing a plurality of configuration data, and a first selection circuit which repeats a cycle of successively selecting the plurality of configuration data and writing them all in the FPGAs a few times. The logic realized by the configuration data on the FPGAs is successively replaced with new one in each writing operation. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は一般にLSIの論理検証に関し、詳しくは再構成可能なFPGAを用いてLSIの論理検証を行う装置に関する。
【従来の技術】
FPGA(Field Programmable Gate Array)は、プログラム可能な汎用ロジックLSIであり、メモリに書き込まれたコンフィギュレーションデータに従ってLSI内部の配線接続が制御され、所望のハードウェア構成を実現する。FPGAは、例えば、論理回路の設計において論理検証を実行するエミュレータとして用いられる。
【0002】
論理検証装置は、論理回路をハードウェア上にマッピングし、ハードウェアとして高速に動作する回路を構成して論理検証を行う。このハードウェアエミュレータは、ソフトウェアシミュレータの数千から数万倍の速度で動作するので、大規模な回路を論理検証する際には非常に有効である。
【0003】
FPGAに論理回路をマッピングして論理検証を行う場合、検証対象回路の回路規模が一つのFPGAチップには搭載できない程大きい場合がある。このような場合、従来の技術では複数のFPGAチップを用意して、検証対象の論理回路を一つのFPGAチップに収まる規模の複数のブロックに分割し、これら複数のブロックをそれぞれのFPGAチップにマッピングしていた。
【0004】
また、異なる時間に異なる論理回路を実現するように処理の途中でFPGA等を再構成することにより、一つのプログラマブル論理回路装置では実現できない規模の回路を実現することができるようになる。このような場合において、再構成回路のレイアウトを予め決められた大きさおよび形状に揃えておくことで、再構成の際に比較的容易に空き領域と再構成回路の形状や大きさをマッチングさせることができる従来技術がある(特許文献1)。
【0005】
またFPGAに実現したい論理回路の規模が大きい場合に、複数の論理ブロックの機能をいっせいに切り換えるのではなく、論理ブロック間の配線信号の変化を検出して、論理回路部の論理定義情報を自動的にかつ順を追って高速に切り換える従来技術がある(特許文献2)。
【0006】
【特許文献1】
特開平11‐017524号公報
【特許文献2】
特開平10‐173515号公報
【発明が解決しようとする課題】
複数のFPGAチップを用意する構成では、検証対象論理回路の規模が増大してくると、必要なFPGAチップの数が増加し、FPGAチップ間の配線遅延によって動作速度が上がらなくなるという問題がある。また、FPGAチップの数が増加すると装置構成が複雑となり、実現が難しくなるという問題もある。
【0007】
以上を鑑みて、本発明は、少ない数のFPGAチップで大規模な論理回路の検証が可能な論理検証装置を提供することを目的とする。
【課題を解決するための手段】
本発明による論理検証装置は、動的に再構成可能なFPGAと、複数のコンフィギュレーションデータを格納するコンフィギュレーションメモリと、該複数のコンフィギュレーションデータを順次選択して該FPGAに順次書き込む動作を該複数のコンフィギュレーションデータの全てに対して実行するサイクルを複数回繰り返す第1のセレクト回路を含み、コンフィギュレーションデータによって該FPGA上に実現される論理は該順次書き込む動作毎に入れ替えられることを特徴とする。
【0008】
上記論理検証装置においては、動的に再構成可能なFPGAに対して複数のコンフィギュレーションデータを順次選択して書き込む一連の動作を複数サイクル繰り返すと共に、コンフィギュレーションデータによってFPGA上に実現される論理を順次入れ替える。これにより、検証対象回路を複数の論理ブロックに分割してそれぞれのコンフィギュレーションデータを用意しておけば、検証対象回路の回路規模がFPGAの再構成領域の規模よりも大きい場合であっても、各論理ブロックを逐次的に実行することにより、検証対象回路全体の論理を実現することができる。
【0009】
また本発明の更なる側面によれば、上記論理検証装置は、コンフィギュレーションデータが書き込まれることで該FPGA上に実現された回路の回路状態を該複数のコンフィギュレーションデータ毎に格納する回路状態メモリと、コンフィギュレーションデータが該FPGAに書き込まれることで該FPGA上に実現された回路に対応する該回路状態を該回路状態メモリから読み出して該FPGA上の該回路に設定する第2のセレクト回路を更に含むことを特徴とする。
【0010】
上記構成においては、FPGA上に実現された回路の回路状態を回路状態メモリに格納しておくことで、FPGA上で順次回路を入れ替えて逐次的に実現する場合に、今回動作中断した回路の回路状態を次回再開するときに復元することができる。
【0011】
また本発明の更なる側面によれば上記論理検証装置は、記憶装置と、該記憶装置と該FPGAとの間の配線接続を自由に構成可能な配線用回路とを更に含み、第1のサイクルで該FPGA上に実現される回路から出力される値を該配線用回路を介して該記憶装置に格納し、第2のサイクルで該FPGA上に実現される回路に対して該記憶装置に格納されている該値を該配線用回路を介して入力することを特徴とする。
【0012】
上記構成においては、複数の論理ブロックが同時に存在することはなく逐次的に1つずつ実現される状態において、各論理ブロック間で時間を超えて信号伝送するために、記憶装置が信号値を記憶することで異なる時刻間の仲介をし、更に自由に構成可能な配線用回路を用いることによって、異なる論理ブロックに対して随時適切な信号経路を提供することができる。
【0013】
【発明の実施の形態】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0014】
図1は、本発明による論理検証装置の第1の実施例の構成の一例を示す構成図である。
【0015】
図1の論理検証装置10は、動的再構成可能FPGA11、コンフィギュレーションメモリ12−1乃至12−N、回路状態メモリ13−1乃至13−N、セレクト回路14、セレクト回路15、配線用回路16、記憶装置17、バッファ18、及び制御回路19を含む。制御回路19が、各メモリ及び各回路に対して制御信号を供給し、各メモリ及び各回路の動作を制御する。
【0016】
動的再構成可能FPGA11は、コンフィギュレーションメモリ12−1乃至12−Nに格納されるコンフィギュレーションデータに基づいて、再構成可能な形で検証対象回路の論理11aを実現する。コンフィギュレーションメモリ12−1乃至12−Nは、検証対象回路を複数N個の論理ブロックに分割して、各論理ブロックの論理を実現するために必要なコンフィギュレーションデータを格納する。
【0017】
セレクト回路14は、コンフィギュレーションメモリ12−1乃至12−Nのうちの一つを選択して、それが格納するコンフィギュレーションデータを動的再構成可能FPGA11に書き込む。これにより、選択されたコンフィギュレーションメモリに対応する検証対象回路の論理ブロックの論理が、論理検証装置10上での論理11aとして実現される。
【0018】
例えばコンフィギュレーションメモリ12−1が最初に選択され、これに対応する検証対象回路の第1の論理ブロックが動的再構成可能FPGA11に実現される。次にコンフィギュレーションメモリ12−2が選択され、これに対応する検証対象回路の第2の論理ブロックが動的再構成可能FPGA11に実現される。同様の動作が各論理ブロックに対して実行されて、最後にコンフィギュレーションメモリ12−Nが選択され、検証対象回路の第Nの論理ブロックが動的再構成可能FPGA11に実現される。以上で1サイクルを完了する。このサイクルが繰り返されることで、検証対象回路全体についての各サイクルに応じた動作が実現される。
【0019】
N個の回路状態メモリ13−1乃至13−Nは、N個のコンフィギュレーションメモリ12−1乃至12−Nに対応し、動的再構成可能FPGA11上に実現された論理ブロックの回路状態(内部フリップフロップの値)を、各サイクルに対して保持するメモリである。即ち例えば、コンフィギュレーションメモリ12−1に対応する第1の論理ブロックを動的再構成可能FPGA11上で動作させると、次の第2の論理ブロックのコンフィギュレーションデータを動的再構成可能FPGA11にロードする前に、動的再構成可能FPGA11上の第1の論理ブロックの回路状態を回路状態メモリ13−1に記憶させる(セーブする)。これにより、次のサイクルで再び第1の論理ブロックを動的再構成可能FPGA11上で動作させる際に、回路状態メモリ13−1から回路状態を読み出して動的再構成可能FPGA11に書き込むことで、前回中断した状態から回路動作を再開することができる。
【0020】
この目的のために、セレクト回路15は、選択されたコンフィギュレーションメモリに対応する回路状態メモリを選択する。セレクト回路15は、回路状態メモリ13−1乃至13−Nのうちの選択されたメモリから回路状態を読み出して、動的再構成可能FPGA11に書き込む。ここで回路状態メモリ13−1乃至13−Nの各々は、複数(図では模式的に3つ)のメモリを含むものとして示されるが、これは過去から現在までの複数サイクルについての回路状態データを格納していることを意味する。また図1に示されるようにセレクト回路15は外部I/Oを備えており、回路状態メモリ13−1乃至13−Nの内容を外部に出力する。これにより、動的再構成可能FPGA11上に実現される論理の状態を、必要に応じて外部から観測することができる。
【0021】
図2は、動的再構成可能FPGA11により複数の論理ブロックを実現する動作を示すタイミングチャートである。
【0022】
図2は、ブロックの個数Nが3の場合を示し、外部クロックに対して内部クロックは6倍の周波数に設定されている。ここで外部クロックは検証対象回路の動作クロックに対応し、外部クロックの1サイクルの間に検証対象回路の1サイクル分の動作が実行される。内部クロックは、外部クロックの1サイクルの間に複数の論理ブロックの動作を実現するためのクロックであり、N個の論理ブロックが存在する場合には外部クロックの2N倍の周波数を有する。セレクト回路14及び15等はこの内部クロックに同期して動作する。
【0023】
図2に示される内部クロックの最初のサイクルにおいて、第1の論理ブロックのコンフィギュレーションが実行されると共に、それ以前に実行されていた第3の論理ブロックの回路状態がセーブされ、その後に第1の論理ブロックの回路状態がロードされる。これにより動的再構成可能FPGA11上に第1の論理ブロックが実現され、前回動作中断した時点の回路状態に復元される。次に内部クロックの第2のサイクルにおいて、第1の論理ブロックの1クロック分の動作が実行される。
【0024】
内部クロックの第3のサイクルにおいて、第2の論理ブロックのコンフィギュレーションが実行されると共に、それ以前に実行されていた第1の論理ブロックの回路状態がセーブされ、その後に第2の論理ブロックの回路状態がロードされる。これにより動的再構成可能FPGA11上に第2の論理ブロックが実現され、前回動作中断した時点の回路状態に復元される。内部クロックの第4のサイクルにおいて、第2の論理ブロックの1クロック分の動作が実行される。
【0025】
内部クロックの第5のサイクルにおいて、第3の論理ブロックのコンフィギュレーションが実行されると共に、それ以前に実行されていた第2の論理ブロックの回路状態がセーブされ、その後に第3の論理ブロックの回路状態がロードされる。これにより動的再構成可能FPGA11上に第3の論理ブロックが実現され、前回動作中断した時点の回路状態に復元される。内部クロックの第6のサイクルにおいて、第3の論理ブロックの1クロック分の動作が実行される。
【0026】
以上により、外部クロック1サイクルの間に、動的再構成可能FPGA11上に検証対象回路の第1乃至第3の論理ブロックが順次実現されて、それぞれについて1サイクル分の動作が実行される。
【0027】
図3は、動的再構成可能FPGAと回路状態メモリとの間で回路状態をロード・セーブする動作を説明するための図である。図3においては、検証対象回路は3つの論理ブロックに分割されているとする。
【0028】
図3に模式的に示されるように、動的再構成可能FPGA11が実現する論理11aは、論理値を格納するフリップフロップ21(図では模式的に1つとして示すが複数でよい)と、フリップフロップ21の値を入力とする組み合せ論理回路22と、組み合せ論理回路22の出力を格納するフリップフロップ23(図では模式的に1つとして示すが複数でよい)を含む構成として表現される。セレクト回路15は、動的再構成可能FPGA11上に論理11aとして例えば第1の論理ブロックを実現する際に、回路状態メモリ13−1から回路状態を読み出して、フリップフロップ21及び23のセット入力Sから回路状態データを書き込む。これにより、第1の論理ブロックが前回中断時の回路状態を有するように再現される。
【0029】
第1の論理ブロックが動的再構成可能FPGA11上で1クロック分動作した後に、セレクト回路15は、フリップフロップ21及び23の出力値Qを回路状態メモリ13−1に格納する。これにより、第1の論理ブロックの現在の回路状態を、回路状態メモリ13−1にセーブすることができる。その後第2及び第3の論理ブロックを実現した後に、次のクロックで第1の論理ブロックを再度実現する際には、回路状態メモリ13−1に格納される回路状態データを読み出すことで、回路状態を元に復元することができる。
【0030】
以下に、論理ブロック間の信号転送について説明する。
【0031】
図4は、検証対象回路の論理ブロック分割を模式的に示す図である。
【0032】
図4に示される例において、検証対象回路は、第1の論理ブロック31、第2の論理ブロック32、及び第3の論理ブロック33に分割される。第1の論理ブロック31は、外部I/O34とI/O1及びI/O2で接続される。第1の論理ブロック31は更に、第2の論理ブロック32と信号経路P1及びP2を介して接続され、第3の論理ブロック33と信号経路P3及びP4を介して接続される。また第2の論理ブロック32と第3の論理ブロック33とは、信号経路P5及びP6を介して接続される。
【0033】
しかしながら前述の説明のように、本発明においては、各論理ブロックは動的再構成可能FPGA11上に順次1つずつ実現されるので、同時に2つ以上の論理ブロックが実現されることはない。即ち図4に模式的に示す第1の論理ブロック31乃至第3の論理ブロック33は、同時に存在することはなく、時間を追って順次1つずつ実現される。従って、各論理ブロック間の信号経路P1乃至P6は、時間を超えて異なるタイミングの領域間で信号転送することが必要になり、そのような機能を実現して各論理ブロック間の信号転送をサポートする機構が必要になる。
【0034】
図1において、配線用回路16及び記憶装置17は、各論理ブロック間の信号転送を実現するために設けられる。
【0035】
配線用回路16は、各論理ブロック間の信号配線をエミュレートするためのものであり、例えば再構成可能なFPGAチップにより実現される。配線用回路16は、FPGA上に所望の論理を構成することで所望の信号配線を提供する。記憶装置17は、各論理ブロックが動的再構成可能FPGA11上に同時に実現されることはないので、各論理ブロック間の信号転送を実現するために、転送される信号の値を一時的に格納して仲介するためのメモリである。例えば記憶装置17は、あるクロックタイミングで信号値を入力して次のクロックタイミングで信号値を出力するFIFO(First In First Out)メモリであってよい。
【0036】
図5は、配線用回路16、記憶装置17、及びバッファ18の具体的な構成を示す図である。
【0037】
図5に示されるように、配線用回路16は配線用FPGAとして実現され、記憶装置17はFIFOとして実現される。FIFO17は、図4の6つの信号経路P1乃至P6に対応して6つの値を格納できるメモリ要素b1乃至b6を含む。例えば外部クロックの第m番目のサイクルにおいて、動的再構成可能FPGA11とFIFO17との間に適切な配線接続を配線用FPGA16により確立することで、第1の論理ブロック31乃至第3の論理ブロック33から各信号経路P1乃至P6に出力される信号値を、FIFO17の各メモリ要素b1乃至b6に格納する。外部クロックの次の第m+1番目のサイクルにおいて、メモリ要素b1乃至b6の値はメモリ要素a1乃至a6に転送される。メモリ要素a1乃至a6の値は、FIFO17と動的再構成可能FPGA11との間に適切な配線接続を配線用FPGA16により確立することで、動的再構成可能FPGA11の対応する信号経路P1乃至P6に供給される。
【0038】
図5に示されるように、例えば第1の論理ブロックが実現されている場合には、配線用FPGA16により信号経路P1及びP3をそれぞれメモリ要素b1及びb3に接続し、信号経路P1及びP3に出力される値をそれぞれメモリ要素b1及びb3に格納する。このメモリ要素b1及びb3に格納された値は次のサイクルで使用される。また配線用FPGA16により信号経路P2及びP4をそれぞれメモリ要素a2及びa4に接続し、メモリ要素a2及びa4に格納されている値を信号経路P2及びP4に供給する。このメモリ要素a2及びa4の値は、前のサイクルでb2及びb4に格納された値である。
【0039】
また配線用FPGA16は、動的再構成可能FPGA11とバッファ18との間に適切な配線険路を確立することで、第1の論理ブロック31と外部I/O34とを接続するための信号経路I/O1及びI/O2を介しての適切なデータ転送を実現する。ここで外部I/O34は、図2に示す外部クロックに同期して、内部クロックの6分の1の速度で動作している。従って、異なるクロック速度間の信号転送を実現するために、バッファ18を設けて外部I/Oとやり取りする値を保持している。
【0040】
以下に、本発明による論理検証装置の第2の実施例について説明する。
【0041】
図6において、(a)はチップ外部にコンフィギュレーションデータを備えた動的再構成可能FPGAを示し、(b)はチップ内部にコンフィギュレーションデータを備えた動的再構成可能FPGAを示す。
【0042】
(a)において、論理ブロック47は動的再構成可能FPGA41上に実現されるが、コンフィギュレーションメモリ43乃至45とセレクト回路46とは、動的再構成可能FPGA41の外部にそれぞれ独立した装置として実現される。それに対して(b)に示すチップ内部にコンフィギュレーションデータを備えた動的再構成可能FPGAにおいては、コンフィギュレーションメモリ48乃至50、セレクト回路51、及び論理ブロック52は、全て動的再構成可能FPGA42内部に実現される。この場合、論理構成が再構成されるのは論理ブロック52の部分のみであり、コンフィギュレーションメモリ48乃至50及びセレクト回路51に対応するFPGA部分は所定の配線に固定されている。
【0043】
図1に示す第1の実施例では、動的再構成可能FPGA11には検証対象回路の論理ブロックの論理11aのみを実現している。それに対して、図6(b)に示す構成のように、検証対象回路以外の論理構成についても動的再構成可能FPGAに実現することが考えられる。
【0044】
図7は、本発明による論理検証装置の第2の実施例の構成の一例を示す構成図である。
【0045】
図7の論理検証装置10Aは、動的再構成可能FPGA60、コンフィギュレーションメモリ12−1乃至12−3、回路状態メモリ13−1乃至13−3、セレクト回路14、セレクト回路15、配線用回路16、記憶装置17、バッファ18、及び制御回路19を含む。制御回路19が、各メモリ及び各回路に対して制御信号を供給し、各メモリ及び各回路の動作を制御する。図7において、図1と具体的なハードウェアとしての実現手段はことなっても論理構成で実現されるものは同一の記号で参照されている。
【0046】
図7の論理検証装置10Aにおいては、動的再構成可能FPGA60に、論理検証装置10Aを構成する全ての回路を内蔵する構成となっている。これらの回路は、動的再構成可能FPGA60の内部ロジックを使用することで容易に実現することができる。このようにして、第2の実施例2においては、1つの動的再構成可能FPGAチップにより論理検証機能を実現する。
【0047】
なお図7では、論理検証装置10Aを構成する全ての回路を動的再構成可能FPGAに内蔵する構成としたが、特定の回路のみをFPGAに内蔵してそれ以外の回路は独立した装置として設けてもよい。例えば、コンフィギュレーションメモリや回路状態メモリとして容量が大きいものが必要となる場合には、専用のメモリ装置を使用したほうが、FPGAの一部をメモリとして使用するよりも効率がよい。
【0048】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【発明の効果】
本発明による論理検証装置においては、動的に再構成可能なFPGAに対して複数のコンフィギュレーションデータを順次選択して書き込む一連の動作を複数サイクル繰り返すと共に、コンフィギュレーションデータによってFPGA上に実現される論理を順次入れ替える。これにより、検証対象回路を複数の論理ブロックに分割してそれぞれのコンフィギュレーションデータを用意しておけば、検証対象回路の回路規模がFPGAの再構成領域の規模よりも大きい場合であっても、各論理ブロックを逐次的に実行することにより、検証対象回路全体の論理を実現することができる。
【0049】
またFPGA上に実現された回路の回路状態を回路状態メモリに格納しておくことで、FPGA上で順次回路を入れ替えて逐次的に実現する場合に、動作中断した回路の回路状態を次回再開するときに復元してその回路状態から再開することができる。
【0050】
また、複数の論理ブロックが逐次的に1つずつ実現される状態において各論理ブロック間で時間を超えて信号伝送するために、記憶装置が信号値を記憶することで異なる時刻間の仲介をし、更に自由に構成可能な配線用回路を用いることによって、異なる論理ブロックに対して随時適切な信号経路を提供することができる。
【図面の簡単な説明】
【図1】本発明による論理検証装置の第1の実施例の構成の一例を示す構成図である。
【図2】動的再構成可能FPGAにより複数の論理ブロックを実現する動作を示すタイミングチャートである。
【図3】動的再構成可能FPGAと回路状態メモリとの間で回路状態をロード・セーブする動作を説明するための図である。
【図4】検証対象回路の論理ブロック分割を模式的に示す図である。
【図5】図1に示される配線用回路、記憶装置、及びバッファの具体的な構成を示す図である。
【図6】(a)はチップ外部にコンフィギュレーションデータを備えた動的再構成可能FPGAを示し、(b)はチップ内部にコンフィギュレーションデータを備えた動的再構成可能FPGAを示す図である。
【図7】本発明による論理検証装置の第2の実施例の構成の一例を示す構成図である。
【符号の説明】
11 動的再構成可能FPGA
12−1〜12−N コンフィギュレーションメモリ
13−1〜13−N 回路状態メモリ
14 セレクト回路
15 セレクト回路
16 配線用回路
17 記憶装置
18 バッファ
19 制御回路
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention generally relates to LSI logic verification, and more particularly, to an apparatus for performing LSI logic verification using a reconfigurable FPGA.
[Prior art]
The FPGA (Field Programmable Gate Array) is a programmable general-purpose logic LSI, in which wiring connection inside the LSI is controlled according to configuration data written in a memory, and realizes a desired hardware configuration. The FPGA is used, for example, as an emulator that executes logic verification in designing a logic circuit.
[0002]
The logic verification device maps a logic circuit on hardware, configures a circuit that operates at high speed as hardware, and performs logic verification. Since this hardware emulator operates at a speed several thousand to tens of thousands times faster than a software simulator, it is very effective for logic verification of a large-scale circuit.
[0003]
When performing logic verification by mapping a logic circuit to an FPGA, the circuit scale of the circuit to be verified may be too large to be mounted on one FPGA chip. In such a case, the conventional technology prepares a plurality of FPGA chips, divides a logic circuit to be verified into a plurality of blocks that can be accommodated in one FPGA chip, and maps the plurality of blocks to each FPGA chip. Was.
[0004]
Also, by reconfiguring an FPGA or the like in the middle of processing so as to realize different logic circuits at different times, a circuit of a scale that cannot be realized by one programmable logic circuit device can be realized. In such a case, by aligning the layout of the reconfigurable circuit to a predetermined size and shape, it is relatively easy to match the shape and size of the free space with the shape and size of the reconfigurable circuit at the time of reconfiguration. There is a conventional technique that can perform the above-described method (Patent Document 1).
[0005]
Also, when the scale of a logic circuit to be realized in an FPGA is large, instead of switching the functions of a plurality of logic blocks all at once, a change in a wiring signal between the logic blocks is detected, and the logic definition information of the logic circuit unit is automatically converted. There is a prior art in which the switching is performed at high speed in accordance with the order (Japanese Patent Application Laid-Open No. H10-163873).
[0006]
[Patent Document 1]
Japanese Patent Application Laid-Open No. H11-017524 [Patent Document 2]
JP 10-173515 A [Problems to be Solved by the Invention]
In a configuration in which a plurality of FPGA chips are prepared, when the scale of the logic circuit to be verified increases, the number of necessary FPGA chips increases, and there is a problem that the operation speed cannot be increased due to a wiring delay between the FPGA chips. In addition, when the number of FPGA chips increases, there is a problem that the device configuration becomes complicated and realization becomes difficult.
[0007]
In view of the above, an object of the present invention is to provide a logic verification device capable of verifying a large-scale logic circuit with a small number of FPGA chips.
[Means for Solving the Problems]
A logic verification device according to the present invention includes a dynamically reconfigurable FPGA, a configuration memory storing a plurality of configuration data, and an operation of sequentially selecting the plurality of configuration data and sequentially writing the configuration data to the FPGA. A first select circuit that repeats a cycle executed for all of the plurality of configuration data a plurality of times, wherein a logic realized on the FPGA by the configuration data is replaced every time the sequential writing operation is performed; I do.
[0008]
In the logic verification device, a series of operations for sequentially selecting and writing a plurality of configuration data to a dynamically reconfigurable FPGA is repeated for a plurality of cycles, and the logic realized on the FPGA by the configuration data is repeated. Replace in order. Thus, if the circuit to be verified is divided into a plurality of logical blocks and the respective configuration data are prepared, even if the circuit size of the circuit to be verified is larger than the size of the reconfiguration area of the FPGA, By sequentially executing the logic blocks, the logic of the entire circuit to be verified can be realized.
[0009]
According to a further aspect of the present invention, the logic verification device includes a circuit state memory for storing, for each of the plurality of configuration data, a circuit state of a circuit realized on the FPGA by writing configuration data. And a second select circuit that reads the circuit state corresponding to the circuit realized on the FPGA from the circuit state memory by writing the configuration data to the FPGA and sets the circuit state on the FPGA. It is further characterized by including.
[0010]
In the above configuration, the circuit state of the circuit realized on the FPGA is stored in the circuit state memory, so that when the circuit is sequentially replaced on the FPGA and realized sequentially, The state can be restored the next time it is restarted.
[0011]
According to still another aspect of the present invention, the logic verification device further includes a storage device, and a wiring circuit capable of freely configuring a wiring connection between the storage device and the FPGA, and further comprising a first cycle. And stores the value output from the circuit realized on the FPGA in the storage device via the wiring circuit, and stores the value of the circuit realized on the FPGA in the storage device in the second cycle The input value is input via the wiring circuit.
[0012]
In the above configuration, in a state where a plurality of logical blocks do not exist at the same time and are realized one by one sequentially, the storage device stores a signal value to transmit a signal between the logical blocks over time. By doing so, mediation between different times can be performed, and further, by using a freely configurable wiring circuit, an appropriate signal path can be provided to different logic blocks at any time.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0014]
FIG. 1 is a configuration diagram showing an example of the configuration of the first embodiment of the logic verification device according to the present invention.
[0015]
1 includes a dynamically reconfigurable FPGA 11, configuration memories 12-1 to 12-N, circuit state memories 13-1 to 13-N, a select circuit 14, a select circuit 15, and a wiring circuit 16. , A storage device 17, a buffer 18, and a control circuit 19. The control circuit 19 supplies a control signal to each memory and each circuit, and controls the operation of each memory and each circuit.
[0016]
The dynamically reconfigurable FPGA 11 implements the logic 11a of the circuit to be verified in a reconfigurable manner based on the configuration data stored in the configuration memories 12-1 to 12-N. Each of the configuration memories 12-1 to 12-N divides a circuit to be verified into a plurality of N logic blocks, and stores configuration data necessary to realize the logic of each logic block.
[0017]
The select circuit 14 selects one of the configuration memories 12-1 to 12-N and writes the configuration data stored therein to the dynamically reconfigurable FPGA 11. As a result, the logic of the logic block of the circuit to be verified corresponding to the selected configuration memory is realized as the logic 11a on the logic verification device 10.
[0018]
For example, the configuration memory 12-1 is selected first, and the corresponding first logic block of the circuit to be verified is realized in the dynamically reconfigurable FPGA 11. Next, the configuration memory 12-2 is selected, and the corresponding second logic block of the circuit to be verified is implemented in the dynamically reconfigurable FPGA 11. The same operation is performed for each logic block, and finally, the configuration memory 12-N is selected, and the Nth logic block of the circuit to be verified is realized in the dynamically reconfigurable FPGA 11. Thus, one cycle is completed. By repeating this cycle, an operation according to each cycle for the entire circuit to be verified is realized.
[0019]
The N circuit state memories 13-1 to 13-N correspond to the N configuration memories 12-1 to 12-N, and the circuit states (internal states) of the logic blocks realized on the dynamically reconfigurable FPGA 11 are stored. (A value of a flip-flop) for each cycle. That is, for example, when the first logical block corresponding to the configuration memory 12-1 is operated on the dynamically reconfigurable FPGA 11, the configuration data of the next second logical block is loaded into the dynamically reconfigurable FPGA 11. Before the operation, the circuit state of the first logic block on the dynamically reconfigurable FPGA 11 is stored (saved) in the circuit state memory 13-1. Thereby, when the first logic block is operated again on the dynamically reconfigurable FPGA 11 in the next cycle, the circuit state is read from the circuit state memory 13-1 and written to the dynamically reconfigurable FPGA 11. The circuit operation can be resumed from the last interrupted state.
[0020]
For this purpose, the select circuit 15 selects a circuit state memory corresponding to the selected configuration memory. The select circuit 15 reads a circuit state from a selected one of the circuit state memories 13-1 to 13-N, and writes the circuit state into the dynamically reconfigurable FPGA 11. Here, each of the circuit state memories 13-1 to 13-N is shown as including a plurality of (three in the figure) memories, which are circuit state data for a plurality of cycles from the past to the present. Is stored. As shown in FIG. 1, the select circuit 15 has an external I / O, and outputs the contents of the circuit state memories 13-1 to 13-N to the outside. Thereby, the state of the logic realized on the dynamically reconfigurable FPGA 11 can be externally observed as necessary.
[0021]
FIG. 2 is a timing chart showing an operation of realizing a plurality of logical blocks by the dynamically reconfigurable FPGA 11.
[0022]
FIG. 2 shows a case where the number N of blocks is 3, and the internal clock is set to a frequency six times that of the external clock. Here, the external clock corresponds to the operation clock of the circuit to be verified, and one cycle of the operation of the circuit to be verified is performed during one cycle of the external clock. The internal clock is a clock for realizing the operation of a plurality of logic blocks during one cycle of the external clock, and has a frequency 2N times that of the external clock when there are N logic blocks. The select circuits 14 and 15 operate in synchronization with the internal clock.
[0023]
In the first cycle of the internal clock shown in FIG. 2, the configuration of the first logic block is executed, and the circuit state of the previously executed third logic block is saved. Is loaded. As a result, the first logical block is realized on the dynamically reconfigurable FPGA 11, and is restored to the circuit state at the time when the operation was interrupted last time. Next, in the second cycle of the internal clock, the operation for one clock of the first logic block is executed.
[0024]
In the third cycle of the internal clock, the configuration of the second logic block is executed, and the circuit state of the first logic block that has been executed before is saved, and thereafter, the configuration of the second logic block is saved. The circuit state is loaded. As a result, the second logic block is realized on the dynamically reconfigurable FPGA 11, and is restored to the circuit state at the time when the operation was interrupted last time. In the fourth cycle of the internal clock, the operation of one clock of the second logic block is executed.
[0025]
In the fifth cycle of the internal clock, the configuration of the third logic block is performed, and the circuit state of the previously executed second logic block is saved. The circuit state is loaded. As a result, the third logic block is realized on the dynamically reconfigurable FPGA 11, and is restored to the circuit state at the time when the operation was interrupted last time. In the sixth cycle of the internal clock, the operation of one clock of the third logic block is executed.
[0026]
As described above, the first to third logic blocks of the circuit to be verified are sequentially realized on the dynamically reconfigurable FPGA 11 during one cycle of the external clock, and the operation for one cycle is executed for each of them.
[0027]
FIG. 3 is a diagram for explaining an operation of loading and saving a circuit state between a dynamically reconfigurable FPGA and a circuit state memory. In FIG. 3, it is assumed that the verification target circuit is divided into three logical blocks.
[0028]
As schematically illustrated in FIG. 3, the logic 11 a realized by the dynamically reconfigurable FPGA 11 includes a flip-flop 21 (which is schematically illustrated as one in FIG. This is expressed as a configuration including a combinational logic circuit 22 that receives the value of the flip-flop 21 as an input and a flip-flop 23 (schematically shown as one in the figure, but may be plural) that stores the output of the combinational logic circuit 22. The select circuit 15 reads the circuit state from the circuit state memory 13-1 when implementing, for example, a first logical block as the logic 11a on the dynamically reconfigurable FPGA 11, and sets the set input S of the flip-flops 21 and 23. Write circuit state data from. Thereby, the first logic block is reproduced so as to have the circuit state at the time of the previous interruption.
[0029]
After the first logic block operates for one clock on the dynamically reconfigurable FPGA 11, the select circuit 15 stores the output value Q of the flip-flops 21 and 23 in the circuit state memory 13-1. As a result, the current circuit state of the first logic block can be saved in the circuit state memory 13-1. After the second and third logical blocks are realized, when the first logical block is realized again with the next clock, the circuit state data stored in the circuit state memory 13-1 is read out, thereby making the circuit It can be restored based on the state.
[0030]
Hereinafter, signal transfer between logical blocks will be described.
[0031]
FIG. 4 is a diagram schematically illustrating logical block division of a circuit to be verified.
[0032]
In the example shown in FIG. 4, the circuit to be verified is divided into a first logic block 31, a second logic block 32, and a third logic block 33. The first logical block 31 is connected to the external I / O 34 via I / O1 and I / O2. The first logic block 31 is further connected to the second logic block 32 via signal paths P1 and P2, and connected to the third logic block 33 via signal paths P3 and P4. The second logic block 32 and the third logic block 33 are connected via signal paths P5 and P6.
[0033]
However, as described above, in the present invention, since each logical block is realized one by one on the dynamically reconfigurable FPGA 11, two or more logical blocks are not realized at the same time. That is, the first logic block 31 to the third logic block 33 schematically shown in FIG. 4 do not exist at the same time, and are realized one by one sequentially with time. Therefore, the signal paths P1 to P6 between the logical blocks need to transfer signals between regions having different timings over time, and realize such a function to support signal transfer between the logical blocks. A mechanism to do this is required.
[0034]
In FIG. 1, a wiring circuit 16 and a storage device 17 are provided to realize signal transfer between logical blocks.
[0035]
The wiring circuit 16 is for emulating signal wiring between the logical blocks, and is realized by, for example, a reconfigurable FPGA chip. The wiring circuit 16 provides a desired signal wiring by configuring a desired logic on the FPGA. Since each logical block is not simultaneously realized on the dynamically reconfigurable FPGA 11, the storage device 17 temporarily stores the value of the transferred signal in order to realize the signal transfer between the logical blocks. It is a memory for mediating. For example, the storage device 17 may be a FIFO (First In First Out) memory that inputs a signal value at a certain clock timing and outputs a signal value at the next clock timing.
[0036]
FIG. 5 is a diagram showing a specific configuration of the wiring circuit 16, the storage device 17, and the buffer 18.
[0037]
As shown in FIG. 5, the wiring circuit 16 is realized as a wiring FPGA, and the storage device 17 is realized as a FIFO. The FIFO 17 includes memory elements b1 to b6 capable of storing six values corresponding to the six signal paths P1 to P6 in FIG. For example, in the m-th cycle of the external clock, by establishing an appropriate wiring connection between the dynamically reconfigurable FPGA 11 and the FIFO 17 by the wiring FPGA 16, the first logic block 31 to the third logic block 33 are established. Are stored in the memory elements b1 to b6 of the FIFO 17 from the respective signal paths P1 to P6. In the next (m + 1) -th cycle of the external clock, the values of the memory elements b1 to b6 are transferred to the memory elements a1 to a6. The values of the memory elements a1 to a6 are transferred to the corresponding signal paths P1 to P6 of the dynamically reconfigurable FPGA 11 by establishing an appropriate wiring connection between the FIFO 17 and the dynamically reconfigurable FPGA 11 by the wiring FPGA 16. Supplied.
[0038]
As shown in FIG. 5, for example, when the first logic block is realized, the signal paths P1 and P3 are connected to the memory elements b1 and b3 by the wiring FPGA 16 and output to the signal paths P1 and P3. Are stored in memory elements b1 and b3, respectively. The values stored in the memory elements b1 and b3 are used in the next cycle. The signal paths P2 and P4 are connected to the memory elements a2 and a4, respectively, by the wiring FPGA 16, and the values stored in the memory elements a2 and a4 are supplied to the signal paths P2 and P4. The values of the memory elements a2 and a4 are the values stored in b2 and b4 in the previous cycle.
[0039]
In addition, the wiring FPGA 16 establishes an appropriate wiring path between the dynamically reconfigurable FPGA 11 and the buffer 18 so that the signal path I for connecting the first logic block 31 to the external I / O 34 is established. Appropriate data transfer via / O1 and I / O2 is realized. Here, the external I / O 34 operates at a speed of 1/6 of the internal clock in synchronization with the external clock shown in FIG. Therefore, in order to realize signal transfer between different clock speeds, a buffer 18 is provided to hold a value exchanged with an external I / O.
[0040]
Hereinafter, a second embodiment of the logic verification device according to the present invention will be described.
[0041]
6A shows a dynamically reconfigurable FPGA provided with configuration data outside the chip, and FIG. 6B shows a dynamically reconfigurable FPGA provided with configuration data inside the chip.
[0042]
3A, the logic block 47 is realized on the dynamically reconfigurable FPGA 41, but the configuration memories 43 to 45 and the select circuit 46 are realized as independent devices outside the dynamically reconfigurable FPGA 41. Is done. On the other hand, in the dynamically reconfigurable FPGA having configuration data inside the chip shown in FIG. 3B, the configuration memories 48 to 50, the select circuit 51, and the logic block 52 are all composed of the dynamically reconfigurable FPGA 42. Realized inside. In this case, the logical configuration is reconfigured only in the logical block 52, and the FPGA portions corresponding to the configuration memories 48 to 50 and the select circuit 51 are fixed to predetermined wiring.
[0043]
In the first embodiment shown in FIG. 1, only the logic 11a of the logic block of the circuit to be verified is realized in the dynamically reconfigurable FPGA 11. On the other hand, as in the configuration shown in FIG. 6B, it is conceivable that a logic configuration other than the circuit to be verified is also realized in a dynamically reconfigurable FPGA.
[0044]
FIG. 7 is a configuration diagram showing an example of the configuration of the second embodiment of the logic verification device according to the present invention.
[0045]
7 includes a dynamically reconfigurable FPGA 60, configuration memories 12-1 to 12-3, circuit state memories 13-1 to 13-3, a select circuit 14, a select circuit 15, and a wiring circuit 16. , A storage device 17, a buffer 18, and a control circuit 19. The control circuit 19 supplies a control signal to each memory and each circuit, and controls the operation of each memory and each circuit. In FIG. 7, the realizing means as a specific hardware as in FIG. 1 is referred to by the same symbol, even if it is realized by a logical configuration.
[0046]
In the logic verification device 10A of FIG. 7, all the circuits constituting the logic verification device 10A are built in the dynamically reconfigurable FPGA 60. These circuits can be easily realized by using the internal logic of the dynamically reconfigurable FPGA 60. As described above, in the second embodiment, the logic verification function is realized by one dynamically reconfigurable FPGA chip.
[0047]
In FIG. 7, all the circuits constituting the logic verification device 10A are built in the dynamically reconfigurable FPGA. However, only specific circuits are built in the FPGA, and the other circuits are provided as independent devices. You may. For example, when a large capacity memory is required as the configuration memory or the circuit state memory, using a dedicated memory device is more efficient than using a part of the FPGA as the memory.
[0048]
As described above, the present invention has been described based on the embodiments. However, the present invention is not limited to the above embodiments, and various modifications can be made within the scope of the claims.
【The invention's effect】
In the logic verification device according to the present invention, a series of operations of sequentially selecting and writing a plurality of configuration data to a dynamically reconfigurable FPGA is repeated for a plurality of cycles, and is realized on the FPGA by the configuration data. Change logic sequentially. Thus, if the circuit to be verified is divided into a plurality of logical blocks and the respective configuration data are prepared, even if the circuit size of the circuit to be verified is larger than the size of the reconfiguration area of the FPGA, By sequentially executing the logic blocks, the logic of the entire circuit to be verified can be realized.
[0049]
By storing the circuit state of the circuit realized on the FPGA in the circuit state memory, when the circuits are sequentially replaced on the FPGA and realized sequentially, the circuit state of the circuit whose operation has been interrupted is restarted next time. Sometimes it can be restored and restarted from that circuit state.
[0050]
Further, in a state where a plurality of logical blocks are sequentially realized one by one, in order to transmit signals between the logical blocks over time, the storage device stores a signal value to mediate between different times. Further, by using a freely configurable wiring circuit, an appropriate signal path can be provided to different logic blocks as needed.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing an example of a configuration of a first embodiment of a logic verification device according to the present invention.
FIG. 2 is a timing chart showing an operation of implementing a plurality of logical blocks by a dynamically reconfigurable FPGA.
FIG. 3 is a diagram for explaining an operation of loading and saving a circuit state between a dynamically reconfigurable FPGA and a circuit state memory.
FIG. 4 is a diagram schematically illustrating logical block division of a circuit to be verified.
FIG. 5 is a diagram showing a specific configuration of a wiring circuit, a storage device, and a buffer shown in FIG. 1;
6A is a diagram illustrating a dynamically reconfigurable FPGA having configuration data outside the chip, and FIG. 6B is a diagram illustrating a dynamically reconfigurable FPGA including configuration data inside the chip. .
FIG. 7 is a configuration diagram showing an example of a configuration of a second embodiment of the logic verification device according to the present invention.
[Explanation of symbols]
11 Dynamically Reconfigurable FPGA
12-1 to 12-N Configuration memories 13-1 to 13-N Circuit state memory 14 Select circuit 15 Select circuit 16 Wiring circuit 17 Storage device 18 Buffer 19 Control circuit

Claims (10)

動的に再構成可能なFPGAと、
複数のコンフィギュレーションデータを格納するコンフィギュレーションメモリと、
該複数のコンフィギュレーションデータを順次選択して該FPGAに順次書き込む動作を該複数のコンフィギュレーションデータの全てに対して実行するサイクルを複数回繰り返す第1のセレクト回路
を含み、コンフィギュレーションデータによって該FPGA上に実現される論理は該順次書き込む動作毎に入れ替えられることを特徴とする論理検証装置。
A dynamically reconfigurable FPGA;
A configuration memory for storing a plurality of configuration data;
A first select circuit that repeats a plurality of cycles of sequentially selecting the plurality of configuration data and sequentially writing the plurality of configuration data to the FPGA for all of the plurality of configuration data; A logic verifying device characterized in that the logic implemented above is exchanged for each successive writing operation.
該複数のコンフィギュレーションデータに対応する複数の回路を合計した回路規模は該FPGAの容量よりも大きいことを特徴とする請求項1記載の論理検証装置。2. The logic verification device according to claim 1, wherein a total circuit size of a plurality of circuits corresponding to the plurality of configuration data is larger than a capacity of the FPGA. コンフィギュレーションデータが書き込まれることで該FPGA上に実現された回路の回路状態を該複数のコンフィギュレーションデータ毎に格納する回路状態メモリと、
コンフィギュレーションデータが該FPGAに書き込まれることで該FPGA上に実現された回路に対応する該回路状態を該回路状態メモリから読み出して該FPGA上の該回路に設定する第2のセレクト回路
を更に含むことを特徴とする請求項1記載の論理検証装置。
A circuit state memory for storing a circuit state of a circuit realized on the FPGA by writing the configuration data for each of the plurality of configuration data;
A configuration further includes a second select circuit that reads the circuit state corresponding to the circuit realized on the FPGA from the circuit state memory by writing the configuration data to the FPGA and sets the circuit state on the FPGA. 2. The logic verification device according to claim 1, wherein:
該FPGA上に実現された回路が動作実行した後に該第2のセレクト回路は該動作実行した回路の該動作実行後の回路状態を該回路状態メモリに格納することを特徴とする請求項3記載の論理検証装置。4. The circuit according to claim 3, wherein the second select circuit stores the circuit state of the executed circuit after the operation is executed in the circuit state memory after the circuit implemented on the FPGA executes the operation. Logic verification device. 該第2のセレクト回路は該回路状態メモリに格納される該回路状態を該論理検証装置の外部に出力する経路を備えることを特徴とする請求項3記載の論理検証装置。4. The logic verification device according to claim 3, wherein the second select circuit includes a path for outputting the circuit status stored in the circuit status memory to the outside of the logic verification device. 該回路状態メモリは該回路状態を該複数のコンフィギュレーションデータ毎且つ該サイクル毎に格納することを特徴とする請求項1記載の論理検証装置。2. The logic verification device according to claim 1, wherein the circuit state memory stores the circuit state for each of the plurality of configuration data and for each of the cycles. 記憶装置と、
該記憶装置と該FPGAとの間の配線接続を自由に構成可能な配線用回路
を更に含み、第1のサイクルで該FPGA上に実現される回路から出力される値を該配線用回路を介して該記憶装置に格納し、第2のサイクルで該FPGA上に実現される回路に対して該記憶装置に格納されている該値を該配線用回路を介して入力することを特徴とする請求項1記載の論理検証装置。
A storage device,
A wiring circuit that can freely configure a wiring connection between the storage device and the FPGA; and a value output from a circuit realized on the FPGA in a first cycle through the wiring circuit. And inputting the value stored in the storage device to a circuit realized on the FPGA in a second cycle through the wiring circuit. Item 6. The logic verification device according to Item 1.
該論理検証装置の外部と該配線用回路との間に設けられるバッファ回路を更に含み、該配線用回路は該FPGAと該バッファ回路との間の配線接続を自由に構成可能なように構成され、該バッファ回路は該FPGA上に実現される回路から出力される値を所定期間保持することを特徴とする請求項7記載の論理検証装置。The circuit further includes a buffer circuit provided between the outside of the logic verification device and the wiring circuit, and the wiring circuit is configured to freely configure a wiring connection between the FPGA and the buffer circuit. 8. The logic verification apparatus according to claim 7, wherein said buffer circuit holds a value output from a circuit realized on said FPGA for a predetermined period. 該記憶装置は該サイクル毎にデータをシフトするFIFOメモリであることを特徴とする請求項7記載の論理検証装置。8. The logic verification device according to claim 7, wherein the storage device is a FIFO memory that shifts data in each cycle. 該配線用回路はFPGAにより実現されることを特徴とする請求項7記載の論理検証装置。8. The logic verification device according to claim 7, wherein the wiring circuit is realized by an FPGA.
JP2002365569A 2002-12-17 2002-12-17 Logic verifying device Withdrawn JP2004200311A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002365569A JP2004200311A (en) 2002-12-17 2002-12-17 Logic verifying device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002365569A JP2004200311A (en) 2002-12-17 2002-12-17 Logic verifying device

Publications (1)

Publication Number Publication Date
JP2004200311A true JP2004200311A (en) 2004-07-15

Family

ID=32763091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002365569A Withdrawn JP2004200311A (en) 2002-12-17 2002-12-17 Logic verifying device

Country Status (1)

Country Link
JP (1) JP2004200311A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293542A (en) * 2006-04-24 2007-11-08 Fujitsu Ltd Fpga current consumption relational expression deriving method and program, fpga current consumption relational expression deriving system, and accuracy evaluation program for fpga estimation tool
JP2008042546A (en) * 2006-08-07 2008-02-21 Nec Computertechno Ltd Logic operation circuit, logic switching method, and electronic equipment
JPWO2006046711A1 (en) * 2004-10-28 2008-05-22 アイピーフレックス株式会社 Data processing apparatus having reconfigurable logic circuit
JP2011203920A (en) * 2010-03-25 2011-10-13 Fuji Xerox Co Ltd Data processing apparatus
JP2012083901A (en) * 2010-10-08 2012-04-26 Nec Corp Configuration information management device, method and program for the same, and operation synthesis device
US8291129B2 (en) 2010-01-21 2012-10-16 Fuji Xerox Co., Ltd. Data processing device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2006046711A1 (en) * 2004-10-28 2008-05-22 アイピーフレックス株式会社 Data processing apparatus having reconfigurable logic circuit
JP4893309B2 (en) * 2004-10-28 2012-03-07 富士ゼロックス株式会社 Data processing apparatus having reconfigurable logic circuit
JP2007293542A (en) * 2006-04-24 2007-11-08 Fujitsu Ltd Fpga current consumption relational expression deriving method and program, fpga current consumption relational expression deriving system, and accuracy evaluation program for fpga estimation tool
JP2008042546A (en) * 2006-08-07 2008-02-21 Nec Computertechno Ltd Logic operation circuit, logic switching method, and electronic equipment
US8291129B2 (en) 2010-01-21 2012-10-16 Fuji Xerox Co., Ltd. Data processing device
JP2011203920A (en) * 2010-03-25 2011-10-13 Fuji Xerox Co Ltd Data processing apparatus
US8719550B2 (en) 2010-03-25 2014-05-06 Fuji Xerox Co., Ltd. Reconfigurable processing system including synchronized postprocessing
JP2012083901A (en) * 2010-10-08 2012-04-26 Nec Corp Configuration information management device, method and program for the same, and operation synthesis device

Similar Documents

Publication Publication Date Title
JP5354427B2 (en) Reconfigurable logical fabric for integrated circuits and systems and methods for configuring a reconfigurable logical fabric
US6047115A (en) Method for configuring FPGA memory planes for virtual hardware computation
US7138827B1 (en) Programmable logic device with time-multiplexed interconnect
US6421817B1 (en) System and method of computation in a programmable logic device using virtual instructions
US5892961A (en) Field programmable gate array having programming instructions in the configuration bitstream
JP2018537871A (en) System and method for FPGA testing and configuration
US8493091B2 (en) Programmable logic device
JPH09181599A (en) Time-multiplexed write enabled logic circuit
JPH08503111A (en) Improved configurable cell array
US7268581B1 (en) FPGA with time-multiplexed interconnect
JPH09231788A (en) Shift register and programmable logic circuit and programmable logic circuit system
WO2014080872A2 (en) Logic configuration method for reconfigurable semiconductor device
JP4423953B2 (en) Semiconductor integrated circuit
WO2007119300A1 (en) Test system of reconfigurable device and its method and reconfigurable device for use therein
US10855285B2 (en) Field programmable transistor arrays
JP2006510980A (en) Connecting multiple test access port controllers through a single test access port
KR20230002937A (en) Compute dataflow architecture
Tian et al. A field programmable transistor array featuring single-cycle partial/full dynamic reconfiguration
US7800404B2 (en) Field programmable application specific integrated circuit with programmable logic array and method of designing and programming the programmable logic array
US7624209B1 (en) Method of and circuit for enabling variable latency data transfers
JP2006236106A (en) Data processor and data processing method
CN107145465B (en) Transmission control method, device and system for Serial Peripheral Interface (SPI)
JP4246200B2 (en) Programmable logic device
JP2004200311A (en) Logic verifying device
US7509479B2 (en) Reconfigurable global cellular automaton with RAM blocks coupled to input and output feedback crossbar switches receiving clock counter value from sequence control unit

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060307