(57)【要約】【課題】ＦＰＧＡ等のプログラム可能なゲートアレイに対し、ＲＴＬ　等の複数種の論理回路のマッピングを行ってシミュレーションを実行する論理回路シミュレーション方法に関し、複数種の論理回路のシミュレーションを効率良く実行すると共に、一定時間クロック信号を進めるのみの単純シーケンスが含まれる場合でもシミュレーションの効率向上が図れるようにすることを目的とする。【解決手段】ＦＰＧＡ群１等のプログラム可能なゲートアレイを複数の領域に分割し、ＲＴＬ３−１〜３−ｎ　等の複数種の論理回路の中で既にマッピング済みの論理回路を示すマッピングフラグａ−１〜ａ−ｎを設け、このマッピングフラグにて一度マッピングを行ったことが確認されている論理回路はマッピングを行わずに、既にマッピングが完了しているゲートアレイ内の所定の領域を使用してシミュレーションを開始するように構成される。【選択図】　　　図１
2004070658.tif 000002
【特許請求の範囲】
【請求項１】
プログラム可能なゲートアレイに対し、シミュレーションの対象である複数種の論理回路のマッピングを行って該複数種の論理回路のシミュレーションを実行するための論理回路シミュレーション方法において、
前記のプログラム可能なゲートアレイを複数の領域に分割し、
前記複数種の論理回路の中で、前記マッピングが既に行われているマッピング済みの論理回路を示すマッピングフラグを設け、
該マッピングフラグにより一度前記マッピングを行ったことが確認されている論理回路に関しては、前記マッピングを行わずに、既に当該論理回路のマッピングが完了している前記のプログラム可能なゲートアレイ内の所定の領域を使用して前記シミュレーションを開始することを特徴とする論理回路シミュレーション方法。
【請求項２】
複数の領域に分割された前記のプログラム可能なゲートアレイの各々の領域を、さらに複数の小領域に分割し、
当該複数の小領域の中で、前記マッピングが既に行われているマッピング済みの論理回路を示す補助マッピングフラグを設け、
最初に分割された前記のプログラム可能なゲートアレイ内の前記複数の領域の中で、前記マッピングを行うことができなかった領域に関しては、前記シミュレーションを開始する際に前記補助マッピングフラグを参照し、
該補助マッピングフラグにより一度前記マッピングを行ったことが確認されている論理回路に関しては、前記マッピングを行わずに、既に当該論理回路のマッピングが完了している前記のプログラム可能なゲートアレイ内の所定の小領域を使用して前記シミュレーションを開始することを特徴とする請求項１記載の論理回路シミュレーション方法。
【請求項３】
プログラム可能なゲートアレイに対し、シミュレーションの対象である論理回路のマッピングを行って該論理回路のシミュレーションを実行するための論理回路シミュレーション方法において、
一定時間クロック信号を進めるのみで該クロック信号以外の信号が変化しないシーケンスが含まれる場合、該シーケンスを認識するための検出フラグを設け、初回に前記シミュレーションを実行している最中に、前記シーケンスを検出して前記検出フラグをセットすると共に、一定時間が経過した後のプログラム可能なゲートアレイ内の状態を一定時間経過後の論理回路の情報として記憶し、
次回から前記シミュレーションを実行するときに、前記シーケンスを検出すると、一定時間経過後に予測されるプログラム可能なゲートアレイ内の状態を、記憶されている前記論理回路の情報に置き換えることによって前記マッピングを行うことを特徴とするシミュレーション方法。
【請求項４】
コンピュータに、
プログラム可能なゲートアレイに対し、シミュレーションの対象である複数種の論理回路のマッピングを行って該複数種の論理回路のシミュレーションを行う場合に、前記のプログラム可能なゲートアレイを複数の領域に分割し、
前記複数種の論理回路の中で、前記マッピングが既に行われているマッピング済みの論理回路を示すマッピングフラグを設け、
該マッピングフラグにより一度前記マッピングを行ったことが確認されている論理回路に関しては、前記マッピングを行わずに、既に当該論理回路のマッピングが完了している前記のプログラム可能なゲートアレイ内の所定の領域を使用して前記シミュレーションを開始することを実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項５】
コンピュータに、
プログラム可能なゲートアレイに対し、シミュレーションの対象である論理回路のマッピングを行って該論理回路のシミュレーションを行う場合に、一定時間クロック信号を進めるのみで該クロック信号以外の信号が変化しないシーケンスが含まれる場合、該シーケンスを認識するための検出フラグを設け、
初回に前記シミュレーションを実行している最中に、前記シーケンスを検出して前記検出フラグをセットすると共に、一定時間が経過した後のプログラム可能なゲートアレイ内の状態を一定時間経過後の論理回路の情報として記憶し、
次回から前記シミュレーションを実行するときに、前記シーケンスを検出すると、一定時間経過後に予測されるプログラム可能なゲートアレイ内の状態を、記憶されている前記論理回路の情報に置き換えることによって前記マッピングを行うことを実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種のゲートアレイを開発する際に、ＦＰＧＡ（Ｆｉｅｌｄ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｇａｔｅ　Ａｒｒａｙ　：フィールド・プログラマブル・ゲートアレイともよばれる）等のプログラム可能なゲートアレイに対し、シミュレーションの対象であるＲＴＬ（Ｒｅｇｉｓｔｅｒ　Ｔｒａｎｓｆｅｒ　Ｌｅｖｅｌ　：レジスタ転送レベルともよばれる）等の複数種の論理回路のマッピングを行って当該論理回路のシミュレーションを実行するための論理回路シミュレーション方法、および、そのためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体に関する。
【０００２】
ここで、ＦＰＧＡ（またはＦＰＧＡ群）は、シミュレーションの対象である論理回路をハードウェアとして展開する（すなわち、マッピングする）ことによって構成されるプログラム可能なゲートアレイ（またはゲートアレイの集合体）からなる汎用デバイスを意味するものである。また一方で、ＲＴＬは、ＦＰＧＡ上で複数のレジスタ間の動作（すなわち、ハードウェアの動作）として記述される論理回路の代表例を意味するものである。
【０００３】
最も簡単な論理回路シミュレーション方法として、Ｃ言語等のプログラムを使用してシミュレーション用のマシーン上で当該プログラムを実行させることによって、ソフトウェアによる論理回路のシミュレーションを実行する方法が一般に用いられている。
【０００４】
しかしながら、近年は、大規模なゲートアレイを効率良く開発するために、高速にて論理回路のシミュレーションを実行することが必要になってきた。このため、大規模なゲートアレイを開発する際に実行されるシミュレーションにおいては、Ｃ言語等のプログラムを使用してソフトウェアによる論理回路のシミュレーションを実行する代わりに、ＲＴＬ等の論理回路をハードウェアとしてＦＰＧＡ上にマッピングすることにより、ハードウェアによる論理回路のシミュレーションを高速にて実行する方法が使用される傾向にある。
【０００５】
【従来の技術】
上記のようなハードウェアによる論理回路のシミュレーションを実行する場合、従来は、複数種のＲＴＬ等の論理回路のＦＰＧＡへのマッピングは、複数のユーザ（利用者）がそれぞれ対象とする論理回路のシミュレーションを開始する毎に行われていた。換言すれば、複数のユーザが共用のＦＰＧＡを使用して各種のシミュレーションを実行する場合、各々のユーザがＦＰＧＡへのマッピングをやり直すことが必要であった。
【０００６】
また一方で、多ビットのカウンタ回路等においてテスト回路が設けられていないゲートアレイに対して論理回路のシミュレーションを実行する場合、一定時間クロック信号を進めるのみで当該クロック信号以外の信号が変化しないような単純シーケンスが存在する。この場合、従来は、ひたすらクロック信号を与え続けることにより上記の単純シーケンスを進めるようにしていた。このような単純シーケンスの代表的な例として、コンピュータの電源投入時のシーケンスが挙げられる。
【０００７】
【発明が解決しようとする課題】
上記のとおり、複数のユーザがＦＰＧＡ等を使用して複数のＲＴＬ等の論理回路のシミュレーションを順次処理方式にて実行する場合、従来は、各々のユーザが、シミュレーションの対象であるＲＴＬ毎にＦＰＧＡへのマッピングを行うようにしていた。このため、各々のユーザがＦＰＧＡへのマッピングを毎回実行しない限り、論理回路のシミュレーションを開始することができないといった問題が生じてきた。
【０００８】
また一方で、多ビットのカウンタ回路等においてテスト回路が設けられていないゲートアレイに対して論理回路のシミュレーションを実行する場合、一定時間クロック信号を進めるのみの単純シーケンスを進行させるために、一定時間単純にクロック信号を与え続けることが必要であった。このため、論理回路のシミュレーションの効率向上が図れないといった問題が生じてきた。
【０００９】
本発明は上記問題点に鑑みてなされたものであり、複数のユーザがＦＰＧＡ等を使用して複数のＲＴＬ等の論理回路のシミュレーションを実行する場合、効率良くシミュレーションを開始することが可能であり、また一方で、一定時間クロック信号を進めるのみの単純シーケンスが含まれる場合でも、シミュレーションの効率向上が図れるような論理回路シミュレーション方法およびコンピュータ読み取り可能な記録媒体を提供することを目的とするものである。
【００１０】
【課題を解決するための手段】
上記問題点を解決するために、本発明は、第１に、プログラム可能なゲートアレイ（またはゲートアレイの集合体）に対し、シミュレーションの対象である複数種の論理回路のマッピングを行って上記複数種の論理回路のシミュレーションを実行する場合、上記のプログラム可能なゲートアレイを複数の領域に分割し、上記複数種の論理回路の中で、上記マッピングが既に行われているマッピング済みの論理回路を示すマッピングフラグを設け、このマッピングフラグにより一度上記マッピングを行ったことが確認されている論理回路に関しては、上記マッピングを行わずに、既に当該論理回路のマッピングが完了している上記のプログラム可能なゲートアレイ内の所定の領域を使用して上記シミュレーションを開始するような論理回路シミュレーション方法を提供する。
【００１１】
好ましくは、本発明の第１の論理回路シミュレーション方法は、複数の領域に分割された上記のプログラム可能なゲートアレイの各々の領域を、さらに複数の小領域に分割し、当該複数の小領域の中で、上記マッピングが既に行われているマッピング済みの論理回路を示す補助マッピングフラグを設け、最初に分割された上記のプログラム可能なゲートアレイ内の上記複数の領域の中で、上記マッピングを行うことができなかった領域に関しては、上記シミュレーションを開始する際に上記補助マッピングフラグを参照し、上記補助マッピングフラグにより一度上記マッピングを行ったことが確認されている論理回路に関しては、上記マッピングを行わずに、既に当該論理回路のマッピングが完了している上記のプログラム可能なゲートアレイ内の所定の小領域を使用して上記シミュレーションを開始するようになっている。
【００１２】
また一方で、本発明は、第２に、プログラム可能なゲートアレイ（またはゲートアレイの集合体）に対し、シミュレーションの対象である論理回路のマッピングを行って上記論理回路のシミュレーションを実行する場合、一定時間クロック信号を進めるのみで上記クロック信号以外の信号が変化しないシーケンスが含まれるときに、このシーケンスを認識するための検出フラグを設け、初回に上記シミュレーションを実行している最中に、上記シーケンスを検出して上記検出フラグをセットすると共に、一定時間が経過した後のプログラム可能なゲートアレイ内の状態を一定時間経過後の論理回路の情報として記憶し、次回から上記シミュレーションを実行するときに、上記シーケンスを検出すると、一定時間経過後に予測されるプログラム可能なゲートアレイ内の状態を、記憶されている上記論理回路の情報に置き換えることによって上記マッピングを行うような論理回路シミュレーション方法を提供する。
【００１３】
また一方で、本発明は、コンピュータに、プログラム可能なゲートアレイ（またはゲートアレイの集合体）に対し、シミュレーションの対象である複数種の論理回路のマッピングを行って上記複数種の論理回路のシミュレーションを行う場合に、上記のプログラム可能なゲートアレイを複数の領域に分割し、上記複数種の論理回路の中で、上記マッピングが既に行われているマッピング済みの論理回路を示すマッピングフラグを設け、このマッピングフラグにより一度上記マッピングを行ったことが確認されている論理回路に関しては、上記マッピングを行わずに、既に当該論理回路のマッピングが完了している上記のプログラム可能なゲートアレイ内の所定の領域を使用して上記シミュレーションを開始することを実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体を提供する。
【００１４】
また一方で、本発明は、コンピュータに、プログラム可能なゲートアレイ（またはゲートアレイの集合体）に対し、シミュレーションの対象である論理回路のマッピングを行って上記論理回路のシミュレーションを行う場合に、一定時間クロック信号を進めるのみで該クロック信号以外の信号が変化しないシーケンスが含まれる場合、このシーケンスを認識するための検出フラグを設け、初回に上記シミュレーションを実行している最中に、上記シーケンスを検出して上記検出フラグをセットすると共に、一定時間が経過した後のプログラム可能なゲートアレイ内の状態を一定時間経過後の論理回路の情報として記憶し、次回から上記シミュレーションを実行するときに、上記シーケンスを検出すると、一定時間経過後に予測されるプログラム可能なゲートアレイ内の状態を、記憶されている上記論理回路の情報に置き換えることによって上記マッピングを行うことを実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体を提供する。
【００１５】
要約すれば、本発明では、ＦＰＧＡ（またはＦＰＧＡ群）等のプログラム可能なゲートアレイ（またはゲートアレイの集合体）を複数の領域に分割し、マッピング済みのＲＴＬ等の論理回路を示すマッピングフラグによって一度マッピングを行ったことが確認されている論理回路に関しては、再度マッピングを行わずに、当該論理回路のマッピングが完了しているゲートアレイ内の領域を使用して効率良くシミュレーションを開始することができるので、論理回路のシミュレーション実行時間の短縮が図れる。
【００１６】
さらに、本発明では、複数の領域に分割されたプログラム可能なゲートアレイの中の１個ではマッピングしきれない場合においても、分割されたゲートアレイの残りの領域をさらに細かく分割して使用することにより、この残りの領域に対して全ての論理回路の再マッピングを行う必要がなくなり、変更箇所のみの必要最小限の再マッピングによって効率良くシミュレーションを開始することができるようになる。
【００１７】
さらにまた、本発明では、一定時間クロック信号を進めるのみの単純シーケンスを初回に検出して識別用の検出フラグをセットすると共に、一定時間が経過した後のゲートアレイ（またはゲートアレイの集合体）内の状態を一定時間経過後の論理回路の情報として記憶し、次回からのシミュレーション実行時に上記検出フラグを検出して直ちに一定時間経過後のゲートアレイ（またはゲートアレイの集合体）内の状態を、記憶されている論理回路の情報に置き換えることにより、上記の単純シーケンスの処理時間を省略することができるので、論理回路のシミュレーション実行時の効率向上が図れる。
【００１８】
【発明の実施の形態】
以下、添付図面（図１〜図５）を参照しながら、本発明の好ましい実施例の構成および動作を説明する。
【００１９】
図１は本発明の第１の実施例の構成を示すブロック図である。ただし、ここでは、本発明の第１の実施例に係る論理回路シミュレーション方法を実施するための論理回路シミュレーションシステム（または論理回路シミュレーション環境）の構成を簡略化して示す。
【００２０】
図１の実施例では、プログラム可能なゲートアレイまたはその集合体として、ＦＰＧＡの集合体であるＦＰＧＡ群１を使用し、また一方で、シミュレーションの対象である複数種の論理回路として、第１〜第ｎのＲＴＬ３−１〜３−ｎ（ｎは、２以上の任意の正の整数）を使用し、ＦＰＧＡ群１に対して第１〜第ｎのＲＴＬ３−１〜３−ｎのマッピングを行う論理回路シミュレーションシステム１０が例示されている。
【００２１】
図１の実施例に係る論理回路シミュレーションシステムは、ＦＰＧＡの集合体により構成されるＦＰＧＡ群１と、このＦＰＧＡ群１に対し、シミュレーションの対象である第１〜第ｎのＲＴＬ３−１〜３−ｎのマッピングを行って複数種の論理回路のシミュレーションを実行するためのホストマシーンであるシミュレータ本体２とを備えている。ここで、ＦＰＧＡ群１は、ホストマシーンのシミュレータ本体２により第１〜第ｎのＲＴＬ３−１〜３−ｎのマッピングを行った状態で、実周波数に近い速度にて動作する。ホストマシーンのシミュレータ本体２は、ＦＰＧＡ群１に複数種の第１〜第ｎのＲＴＬ３−１〜３−ｎをマッピングすることによって、複数の第１〜第ｎのテストベンチ４−１〜４−ｎにより複数種の論理回路のシミュレーションを実行する機能を有している。これらの第１〜第ｎのテストベンチ４−１〜４−ｎは、第１〜第ｎのＲＴＬ３−１〜３−ｎのシミュレーションを実行するための各種のプログラムや各種のテストデータをコンパイルしたファイルにより構成される。
【００２２】
さらに、図１の論理回路シミュレーションシステムは、複数種の論理回路のシミュレーションの動作を制御するコンソールからなる制御部５を備えている。この制御部５として、パーソナルコンピュータ（通常、ＰＣと略記される）またはワークステーション（通常、ＷＳと略記される）が使用される。
【００２３】
さらに、図１の論理回路シミュレーションシステムは、複数種の第１〜第ｎのＲＴＬ３−１〜３−ｎや、複数の第１〜第ｎのテストベンチ４−１〜４−ｎを格納する記憶部８を備えている。この記憶部８は、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ：ランダム・アクセス・メモリ）またはＲＯＭ（Ｒｅａｄ−ｏｎｌｙ　Ｍｅｍｏｒｙ：リード・オンリ・メモリ）等の主記憶装置、または、ハードディスクやフロッピィディスク等の外部記憶装置により構成される。シミュレータ本体２では、記憶部８に格納されている第１〜第ｎのＲＴＬ３−１〜３−ｎや、第１〜第ｎのテストベンチ４−１〜４−ｎに対してアップロードまたはダウンロードを行うことにより、複数種の論理回路のシミュレーションが実行される。
【００２４】
さらに、図１の論理回路シミュレーションシステムは、第１〜第ｎのＲＴＬ３−１〜３−ｎの中で、ＦＰＧＡ群１上でマッピングが既に行われていることを示すマッピングフラグとして、Ｌマッピングフラグａ−１〜ａ−ｎを設けている。これらのＬマッピングフラグａ−１〜ａ−ｎは、ＦＰＧＡ群１をｎ個（図１の実施例では横方向に２つ）の領域に分割したものについて、マッピングの状況を示すフラグである。ここで、図１の実施例では、ＦＰＧＡ群１は、２つのＦＰＧＡの集合体により構成されており、複数のドットで表した右半分の領域のＦＰＧＡに対し、第１のＲＴＬ３−１および第２のＲＴＬ３−２のマッピングが行われる。
【００２５】
また一方で、図１の論理回路シミュレーションシステムは、Ｌマッピングフラグに対する補助マッピングフラグとして、Ｓマッピングフラグｂ−１〜ｂ−ｍを設けている。これらのＳマッピングフラグｂ−１〜ｂ−ｍは、ｎ個（図１の実施例では横方向に２つ）の領域に分割したＦＰＧＡ群１の各々の領域を、さらにｍ個（図１の実施例では縦方向に３つ）に分割して得られる複数の小領域について、マッピングの状況を示すフラグである。
【００２６】
上記のＬマッピングフラグａ−１〜ａ−ｎおよびＳマッピングフラグｂ−１〜ｂ−ｍは、好ましくは、シミュレータ本体内でハードウェアまたはソフトウェアの形式で設定される。
【００２７】
より具体的にいえば、図１の論理回路シミュレーションシステムにおいて、シミュレーションの対象である複数種のＲＴＬを２つとした場合、ＦＰＧＡ群１に対して２つの領域（ｎ個の領域）に分割（１／２×２）するものとし、このようにして分割されたＦＰＧＡ群１をさらに６つの小領域（ｎ個×ｍ個の小領域）に分割（１／６×６）するものとする。
【００２８】
図１の論理回路シミュレーションシステムを動作させて第１のＲＴＬ３−１のシミュレーションを実行する場合、ＦＰＧＡ群１の１／ｎ（ここでは、ｎ＝２とする）の領域に対してマッピングを行い、Ｌマッピングフラグａ−１にマッピング済みの情報をセットし、第１のテストベンチ４−１により論理回路のシミュレーションを実行する。
【００２９】
これに続いて、第ｎのＲＴＬ３−ｎのシミュレーションを実行する場合、ＦＰＧＡ群１の残りの１／ｎの領域に対してマッピングを行い、Ｌマッピングフラグａ−ｎにマッピング済みの情報をセットし、第ｎのテストベンチ４−ｎにより論理回路のシミュレーションを実行する。
【００３０】
さらに、再度第１のＲＴＬ３−１のシミュレーションを実行する場合、Ｌマッピングフラグａ−１を参照し、マッピング済みの情報がセットされていたときはマッピングを行わずに、既にマッピングが完了しているＦＰＧＡ群１の１／ｎの領域を使用して論理回路のシミュレーションを開始する。換言すれば、シミュレーションを開始する際にＬマッピングフラグａ−１を参照した結果、このＬマッピングフラグａ−１により一度マッピングを行ったことが確認されている第１のＲＴＬ３−１の論理回路に関しては、マッピングを行わずに、記憶部８に格納されている第１のＲＴＬ３−１の論理回路のデータをＦＰＧＡ群１の１／ｎの領域に直接焼き付けることによってシミュレーションを開始する。
【００３１】
ここで、第ｎのＲＴＬ３−ｎのマッピングを行う場合、ＦＰＧＡ群１の残りの１／ｎの領域ではマッピングの容量が足りないときは、既に第１のＲＴＬ３−１のマッピングが完了しているＦＰＧＡ群１の１／ｎの領域をさらに分割した１／ｍの小領域に対してマッピングを行い、Ｓマッピングフラグｂ−ｍにマッピング済みの情報をセットし、テストベンチ４−ｎにより論理回路のシミュレーションを実行する。
【００３２】
これに続いて、再度第１のＲＴＬ３−１のシミュレーションを実行する場合、Ｓマッピングフラグｂ−ｍを参照し、ＦＰＧＡ群１の１／ｍの小領域の中で変更された箇所のみに対して再マッピングを行うと共に、Ｓマッピングフラグｂ−ｍには第ｎのＲＴＬ３−ｎの中で上記の箇所に対応する部分が置き換わった旨の情報をセットする。換言すれば、シミュレーションを開始する際にＳマッピングフラグｂ−ｍを参照した結果、このＳマッピングフラグｂ−ｍにより一度マッピングを行ったことが確認されている第１のＲＴＬ３−１の論理回路の部分に関しては、マッピングを行わずに、記憶部８に格納されている論理回路の部分のデータをＦＰＧＡ群１の１／ｍの小領域に直接焼き付けることによってシミュレーションを開始する。
【００３３】
上記の第１の実施例によれば、ＦＰＧＡ群を複数の領域に分割し、マッピング済みのＲＴＬを示すマッピングフラグによって一度マッピングを行ったことが確認されているＲＴＬの論理回路に関しては、再度マッピングを行わずに、当該論理回路のマッピングが完了しているＦＰＧＡ群内の所定の領域を使用して効率良くシミュレーションを開始することができるので、シミュレーション実行時間の短縮が図れる。
【００３４】
さらに、上記の第１の実施例によれば、複数の領域に分割されたＦＰＧＡ群の中の１個ではマッピングしきれない場合においても、分割されたＦＰＧＡ群の残りの領域をさらに細かく分割して使用することにより、この残りの領域に対して全てのＲＴＬの再マッピングを行う必要がなくなり、必要最小限の再マッピングによって効率良くシミュレーションを開始することができる。
【００３５】
図２は、本発明の第２の実施例の構成を示すブロック図である。ただし、ここでも、本発明の第２の実施例に係る論理回路シミュレーション方法を実施するための論理回路シミュレーションシステムの構成を簡略化して示す。なお、これ以降、前述した構成要素と同様のものについては、同一の参照番号を付して表すこととする。
【００３６】
図２の実施例では、前述の第１の実施例（図１参照）の場合と同様に、プログラム可能なゲートアレイまたはその集合体として、ＦＰＧＡの集合体であるＦＰＧＡ群１を使用し、また一方で、シミュレーションの対象である複数種の論理回路として、第１〜第ｎのＲＴＬ３−１〜３−ｎを使用し、ＦＰＧＡ群１に対して第１〜第ｎのＲＴＬ３−１〜３−ｎのマッピングを行う論理回路シミュレーションシステム１０が例示されている。さらに、ここでは、一定時間クロック信号を進めるのみで当該クロック信号以外の信号が変化しないような単純シーケンスをバイパスする論理回路シミュレーション環境が例示されている。
【００３７】
図２の実施例に係る論理回路シミュレーションシステムは、前述の第１の実施例（図１参照）の場合と同様に、ＦＰＧＡの集合体により構成されるＦＰＧＡ群１と、このＦＰＧＡ群１に対し、シミュレーションの対象である第１〜第ｎのＲＴＬ３−１〜３−ｎのマッピングを行って複数種の論理回路のシミュレーションを実行するためのホストマシーンであるシミュレータ本体２と、複数種の論理回路のシミュレーションの動作を制御するコンソールからなる制御部５と、複数種の第１〜第ｎのＲＴＬ３−１〜３−ｎや、複数の第１〜第ｎのテストベンチ４−１〜４−ｎを格納する記憶部８とを備えている。シミュレータ本体２では、記憶部８に格納されている第１〜第ｎのＲＴＬ３−１〜３−ｎや、第１〜第ｎのテストベンチ４−１〜４−ｎに対してアップロードを行うことにより、複数種の論理回路のシミュレーションが実行される。
【００３８】
さらに、図２の実施例に係る論理回路シミュレーションシステムは、一定時間の経過を計るカウンタ回路６をＦＰＧＡ群１の中に設けている。このカウンタ回路６は、ユーザのＲＴＬ３の一部であり、論理回路のシミュレーションを開始した後の一定の時間（例えば、１００ｍｓ）をカウンタ等により計数する機能を有している。
【００３９】
さらに、図２の実施例に係る論理回路シミュレーションシステムは、前述のような一定時間クロック信号を進めるのみの単純シーケンスを認識するための検出フラグとして、バイパス検出フラグｃを設けている。このバイパス検出フラグｃは、好ましくは、シミュレータ本体内でハードウェアまたはソフトウェアの形式で設定される。論理回路のシミュレーションを開始してから一定の時間が経過した後に、クロック信号以外の信号に変化がなかったことが検出された場合、このバイパス検出フラグｃがセットされる。
【００４０】
さらに、図２の実施例に係る論理回路シミュレーションシステムは、論理回路のシミュレーションを開始してから一定の時間が経過した後にバイパス検出フラグｃがセットされたときに、一定時間が経過した後のＦＰＧＡ群１の状態を記憶するための補助ＲＴＬ７を備えている。この補助ＲＴＬ７は、好ましくは、記憶部８内に設けられており、一定時間（例えば、１００ｍｓ）が経過した後のＦＰＧＡ群１の状態がダウンロードされる。このダウンロードがなされた補助ＲＴＬ７は、一定時間経過後の論理回路の情報として記憶部８に格納されるようになっている。
【００４１】
図２の論理回路シミュレーションシステムを動作させて特定のＲＴＬのシミュレーションを初回に実行している最中に、クロック信号を除く他の信号が一定時間以上変化しないパターンからなる単純シーケンスを検出した場合、バイパス検出フラグｃに単純シーケンスを検出した旨の情報をセットする。このときに、一定時間が経過した後のＦＰＧＡ群１の状態が、一定時間経過後の補助ＲＴＬ７の情報として記憶部８に格納される。記憶部８に既に格納されている第１〜第ｎのＲＴＬ３−１〜３−ｎや、第１〜第ｎのテストベンチ４−１〜４−ｎに変更がない限り、次回から論理回路のシミュレーションを実行するときに、上記の単純シーケンスを検出すると、一定時間経過後に予測されるＦＰＧＡ群１の状態を、記憶部８からアップロードされた補助ＲＴＬ７の情報に置き換えることによってシミュレーションを継続する。
【００４２】
上記の第２の実施例によれば、一定時間クロック信号を進めるのみの単純シーケンスを初回に検出してバイパス検出フラグをセットすると共に、一定時間が経過した後のＦＰＧＡ群の状態を一定時間経過後の論理回路の情報として記憶し、次回からのシミュレーション実行時にバイパス検出フラグを検出すると、一定時間経過後に予測されるＦＰＧＡ群の状態を、記憶されている論理回路の情報に置き換えることにより、上記の単純シーケンスの処理時間を省略することができるので、論理回路のシミュレーション実行時の効率向上が図れる。
【００４３】
図３は、本発明の実施例をコンピュータシステムに適用した例を示すブロック図である。ここで、ＦＰＧＡ群１およびシミュレータ本体２は、図１および図２に示したものと同じなので、ここでは、その説明を省略する。
【００４４】
図３において、前述の図１の制御部５は、コンピュータシステムのＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ　：中央演算処理装置）５０により実現される。さらに、このＣＰＵ５０は、ＦＰＧＡ群１を複数の領域に分割すると共に、さらに複数の小領域に分割する機能を有している。さらに、ＣＰＵ５０は、Ｌマッピングフラグａ−１〜ａ−ｎ、Ｓマッピングフラグｂ−１〜ｂ−ｎ、およびバイパス検出フラグｃをセットする機能も有している。
【００４５】
さらに、図３のコンピュータシステムは、本発明に係る論理回路シミュレーション方法を実行させるプログラムや、この論理回路シミュレーション方法を実行する際に使用される各種のデータ（例えば、図１および図２に示した第１〜第ｎのテストベンチ４−１〜４−ｎや、第１〜第ｎのＲＴＬ３−１〜３−ｎ）を格納するための記憶部８を備えている。この記憶部８は、図１および図２に示した記憶部と同じものであり、ＲＡＭまたはＲＯＭ等の主記憶装置、または、ハードディスクやフロッピィディスク等の外部記憶装置により構成される。なお、この記憶部８として、ＣＰＵ５０に内蔵のＲＡＭまたはＲＯＭを用いることも可能である。
【００４６】
より詳しくいえば、本発明に係る論理回路シミュレーション方法を実行させるプログラムは、第１に、ＦＰＧＡ群等のプログラム可能なゲートアレイを複数の領域に分割するステップと、シミュレーションの対象である複数種のＲＴＬ等の論理回路の中で、ＦＰＧＡ群に対するマッピングが既に行われているマッピング済みのＲＴＬを示すマッピングフラグを設けるステップと、上記マッピングフラグにより一度上記マッピングを行ったことが確認されているＲＴＬに関しては、上記マッピングを行わずに、既に当該ＲＴＬのマッピングが完了しているＦＰＧＡ群内の所定の領域を使用して上記シミュレーションを開始するステップとを含む。
【００４７】
また一方で、本発明に係る論理回路シミュレーション方法を実行させるプログラムは、第２に、一定時間クロック信号を進めるのみで上記クロック信号以外の信号が変化しないシーケンスが含まれる場合、このシーケンスを認識するための検出フラグを設けるステップと、初回に複数のＲＴＬ等の論理回路のシミュレーションを実行している最中に、上記シーケンスを検出して上記検出フラグをセットするステップと、一定時間が経過した後のＦＧＰＡ群等のプログラム可能なゲートアレイ内の状態を一定時間経過後のＲＴＬの情報として記憶するステップと、次回から上記シミュレーションを実行するときに、上記シーケンスを検出すると、一定時間経過後に予測されるＦＰＧＡ群の状態を、記憶されているＲＴＬの情報に置き換えることによって上記マッピングを行うステップとを含む。
【００４８】
さらに、本実施例では、コンピュータ読み取り可能な記憶媒体（または記録媒体）を使用して図３のコンピュータシステムを動作させる場合、前述のような第１および第２の論理回路シミュレーション方法を実行させるプログラムの内容を保持している記憶媒体（または記録媒体）Ｈ、例えば、ハードディスクを用意することが好ましい。この記憶媒体Ｈは、外部記憶装置８０により駆動される。なお、本発明にて使用される記憶媒体は、上記したものに限らず、フロッピィディスクやＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｋ　Ｒｅａｄ−ｏｎｌｙ　Ｍｅｍｏｒｙ　）などの可搬形媒体、その他の固定形媒体など種々の記憶媒体の形態で提供可能なものである。
【００４９】
さらに、図３のコンピュータシステムにおいては、キーボードやマウス等からなる入力部８２が設けられている。このキーボードやマウス等を操作することによって、前述のような論理回路シミュレーション方法を実行させるプログラムに関連した各種のデータが記憶部８に保持される。
【００５０】
さらに、図３のコンピュータシステムにおいては、論理回路シミュレーション方法を実行させるプログラムや、この論理回路シミュレーション方法を実行する際に使用される各種のデータや、記憶部８から取り出したテストベンチやＲＴＬに関する情報や、論理回路のシミュレーションを行った結果等を表示するための表示部９が設けられている。
【００５１】
上記のＣＰＵ５０、ＦＰＧＡ群１、シミュレータ本体２、記憶部８、表示部９、外部記憶装置８０および入力部８２は、バスラインＢを介して相互に接続される。さらに、これらの構成要素を含むコンピュータシステムは、インターネット等のネットワークＮ等を利用した電話回線を介して、他のコンピュータシステムに接続される。
【００５２】
図４は、本発明の第１の実施例に係るシミュレーションの手順を説明するためのフローチャートである。ここでは、図１の制御部または図３のＣＰＵを動作させて本発明の第１の実施例に係る論理回路シミュレーション方法を実行させるための詳細な手順を説明する。
【００５３】
ただし、ここでは、図１の第１の実施例に示したように、シミュレーションの対象である複数種のＲＴＬが２つであり、ＦＰＧＡ群１に対して２つの領域（ｎ個の領域）に分割し（１／２×２）、このようにして分割されたＦＰＧＡ群１をさらに６つの小領域（ｎ個×ｍ個の小領域）に分割（１／６×６）する場合を想定する。
【００５４】
まず初めに、第１のＲＴＬ３−１の論理回路のシミュレーションを開始する際に、Ｌマッピングフラグａ−１がセットされているか否かをチェックする（ステップＳ１０）。Ｌマッピングフラグａ−１（図１参照）がセットされていないことが確認された場合、ＦＰＧＡ群１（図１参照）に対して第１のＲＴＬ３−１（図１参照）の論理回路のマッピングを行い（ステップＳ１１）、Ｌマッピングフラグａ−１にマッピング済みの情報をセットし（ステップＳ１４）、第１のテストベンチ４−１によりシミュレーションを開始し（ステップＳ１８）、このシミュレーションが終了するまでシミュレーションを実行させる（ステップＳ１９）。
【００５５】
つぎに、第２のＲＴＬ３−２の論理回路のシミュレーションを行う場合は、残りのＦＰＧＡ群１に対しマッピングを行い、Ｌマッピングフラグａ−２にマッピング済みの情報をセットし、第２のテストベンチ４−２によりシミュレーションを実行する。
【００５６】
これに続いて、第１のＲＴＬ３−１のシミュレーションを再度行う場合は、Ｌマッピングフラグａ−１を参照し（ステップＳ１０）、マッピング済みの情報がセットされていたときにはマッピングを行わずに、既にＦＰＧＡ群１の所定の領域にマッピングされたものをそのまま使用してシミュレーションを開始する（ステップＳ１８およびＳ１９）。
【００５７】
ここで、第２のＲＴＬ３−２のマッピングを行う際に、残りのＦＰＧＡ群１ではマッピングを行うための容量（ＦＰＧＡ群１の領域）が足りない場合には（ステップＳ１２）、既に第１のＲＴＬ３−１のマッピングが完了しているＦＰＧＡ群１をさらに６分割して得られる小領域に対してマッピングを行い、Ｓマッピングフラグｂ−１にマッピング済みの情報をセットすると共に（ステップＳ１３）Ｌマッピングフラグａ−１にマッピング済みの情報をセットし（ステップＳ１４）、テストベンチ４−２によりシミュレーションを実行する（ステップＳ１８およびＳ１９）。
【００５８】
これに続いて、第１のＲＴＬ３−１のシミュレーションを再度行う場合は、Ｓマッピングフラグｂ−１を参照し（ステップＳ１５）、Ｓマッピングフラグｂ−１がセットされているか否か（ＯＮ状態になっているか否か）をチェックする。Ｓマッピングフラグｂ−１がセットされている（ＯＮ状態になっている）ことが確認された場合、ＦＰＧＡ群の小領域の中で変更された箇所のみを再マッピングすると共に（ステップＳ１６）、Ｓマッピングフラグｂ−２には、第２のＲＴＬ３−２の当該箇所に対応する部分が置き換わった旨の情報をセットする（ステップＳ１７）。また一方で、Ｓマッピングフラグｂ−１がセットされていない（ＯＦＦ状態になっている）ことが確認された場合、ＦＰＧＡ群１の中の全ての小領域に対して再マッピングを行わずに、シミュレーションを開始する（ステップＳ１８およびＳ１９）。
【００５９】
図５は、本発明の第２の実施例に係るシミュレーションの手順を説明するためのフローチャートである。ここでは、図２の制御部または図３のＣＰＵを動作させて本発明の第２の実施例に係る論理回路シミュレーション方法を実行させるための詳細な手順を説明する。
【００６０】
特定のＲＴＬの論理回路のシミュレーションを開始してから、上記シミュレーションを実行している最中に、クロック信号を除く信号が一定時間以上（例えば、１００ｍｓ以上）変化しないパターンからなる単純シーケンスの論理回路が含まれている場合、初回のシミュレーション実行時に、この一定時間（例えば、１００ｍｓ）の間にクロック以外の信号に変化がないことを検出したときに（ステップＳ３４）、バイパス検出フラグｃに単純シーケンスを検出した旨の情報をセットする（ステップＳ３５）。
【００６１】
このときに、一定時間が経過した後のＦＰＧＡ群１の状態を、一定時間経過後の補助ＲＴＬ７（図２参照）の情報として記憶部８（図２参照）に記憶する（ステップＳ３６）。
【００６２】
ここで、記憶部８に既に格納されている第１〜第ｎのＲＴＬ３−１〜３−ｎ（図２参照）や、第１〜第ｎのテストベンチ４−１〜４−ｎ（図２参照）に変更がない限り（ステップＳ３０およびＳ３１）、次回から論理回路のシミュレーションを実行するときに、バイパス検出フラグｃがセットされていること（ＯＦＦ状態からＯＮ状態になっていること）を検出すると（ステップＳ３２）、直ちに記憶部８に記憶されている補助ＲＴＬ７の情報をロードし（ステップＳ３３）、一定時間経過後に予測されるＦＰＧＡ群１の状態を、上記の補助ＲＴＬ７の情報に置き換えることによってシミュレーションを継続する。
【００６３】
前述の第１の実施例において、異なるテストベンチにより２種類のＲＴＬのシミュレーションを交互に実行する場合、ＲＴＬのマッピングを行うためにシミュレーション全体の１％の時間を要するときに、ＲＴＬのマッピングはそれぞれ初回のみでよいことから、シミュレーション全体に対して約１％の時間短縮が図れることになる。ＦＰＧＡ群等のゲートアレイの規模が大きい程、ＲＴＬのマッピングに要する時間も増加することから、上記の第１の実施例により得られる効果が大きくなる。
【００６４】
さらに、前述の第２の実施例において、テストベンチの先頭において少なくとも１００ｍｓの待ち時間（ウェイト）を必要とするＲＴＬ（すなわち、クロック信号以外の信号が１００ｍｓ以上変化しない単純シーケンスを含むＲＴＬ）のシミュレーションを実行する場合、ＲＴＬのシミュレーション環境が、５ｍｓ／分のシミュレーションを実行できる環境であるならば、この１００ｍｓの待ち時間について実時間では２０分の待ち時間を必要とするが、２回目からのシミュレーション実行時には、上記の２０分の待ち時間がＲＴＬの置き換え時間分（例えば全体の１％）に短縮される。ＦＰＧＡ群等のゲートアレイの規模が大きい程、一定時間当たりの処理に要する時間が大きく、また一方で、多くの待ち時間を必要とするＲＴＬ程、上記の第２の実施例により得られる効果は大きくなる。
【００６５】
（付記１）　プログラム可能なゲートアレイに対し、シミュレーションの対象である複数種の論理回路のマッピングを行って該複数種の論理回路のシミュレーションを実行するための論理回路シミュレーション方法において、
前記のプログラム可能なゲートアレイを複数の領域に分割し、
前記複数種の論理回路の中で、前記マッピングが既に行われているマッピング済みの論理回路を示すマッピングフラグを設け、
該マッピングフラグにより一度前記マッピングを行ったことが確認されている論理回路に関しては、前記マッピングを行わずに、既に当該論理回路のマッピングが完了している前記のプログラム可能なゲートアレイ内の所定の領域を使用して前記シミュレーションを開始することを特徴とする論理回路シミュレーション方法。
（付記２）　複数の領域に分割された前記のプログラム可能なゲートアレイの各々の領域を、さらに複数の小領域に分割し、
当該複数の小領域の中で、前記マッピングが既に行われているマッピング済みの論理回路を示す補助マッピングフラグを設け、
最初に分割された前記のプログラム可能なゲートアレイ内の前記複数の領域の中で、前記マッピングを行うことができなかった領域に関しては、前記シミュレーションを開始する際に前記補助マッピングフラグを参照し、
該補助マッピングフラグにより一度前記マッピングを行ったことが確認されている論理回路に関しては、前記マッピングを行わずに、既に当該論理回路のマッピングが完了している前記のプログラム可能なゲートアレイ内の所定の小領域を使用して前記シミュレーションを開始することを特徴とする付記１記載の論理回路シミュレーション方法。
（付記３）　プログラム可能なゲートアレイに対し、シミュレーションの対象である論理回路のマッピングを行って該論理回路のシミュレーションを実行するための論理回路シミュレーション方法において、
一定時間クロック信号を進めるのみで該クロック信号以外の信号が変化しないシーケンスが含まれる場合、該シーケンスを認識するための検出フラグを設け、初回に前記シミュレーションを実行している最中に、前記シーケンスを検出して前記検出フラグをセットすると共に、一定時間が経過した後のプログラム可能なゲートアレイ内の状態を一定時間経過後の論理回路の情報として記憶し、
次回から前記シミュレーションを実行するときに、前記シーケンスを検出すると、一定時間経過後に予測されるプログラム可能なゲートアレイ内の状態を、記憶されている前記論理回路の情報に置き換えることによって前記マッピングを行うことを特徴とするシミュレーション方法。
（付記４）　プログラム可能なゲートアレイに対し、シミュレーションの対象である複数種の論理回路のマッピングを行って該複数種の論理回路のシミュレーションを実行する論理回路シミュレーションシステムにおいて、
前記のプログラム可能なゲートアレイを複数の領域に予め分割する手段と、
前記複数種の論理回路の中で、前記マッピングが既に行われているマッピング済みの論理回路を示すマッピングフラグとを備え、
該マッピングフラグにより一度前記マッピングを行ったことが確認されている論理回路に関しては、前記マッピングを行わずに、既に当該論理回路のマッピングが完了している前記のプログラム可能なゲートアレイ内の所定の領域を使用して前記シミュレーションを開始するように構成されることを特徴とする論理回路シミュレーションシステム。
【００６６】
（付記５）　前記論理回路シミュレーションシステムが、さらに、
複数の領域に分割された前記のプログラム可能なゲートアレイの各々の領域を、さらに複数の小領域に予め分割する手段と、
当該複数の小領域の中で、前記マッピングが既に行われているマッピング済みの論理回路を示す補助マッピングフラグとを備え、
最初に分割された前記のプログラム可能なゲートアレイ内の前記複数の領域の中で、前記マッピングを行うことができなかった領域に関しては、前記シミュレーションを開始する際に前記補助マッピングフラグを参照し、該補助マッピングフラグにより一度前記マッピングを行ったことが確認されている論理回路に関しては、前記マッピングを行わずに、既に当該論理回路のマッピングが完了している前記のプログラム可能なゲートアレイ内の所定の小領域を使用して前記シミュレーションを開始するように構成されることを特徴とする付記４記載の論理回路シミュレーションシステム。
【００６７】
（付記６）　プログラム可能なゲートアレイに対し、シミュレーションの対象である論理回路のマッピングを行って該論理回路のシミュレーションを実行するための論理回路シミュレーションシステムにおいて、
一定時間クロック信号を進めるのみで該クロック信号以外の信号が変化しないシーケンスが含まれる場合、該シーケンスを認識するための検出フラグと、
前記シミュレーションの実行時に、前記シーケンスを検出して前記検出フラグをセットすると共に、一定時間が経過した後のプログラム可能なゲートアレイ内の状態を一定時間経過後の論理回路の情報として記憶する手段と、
さらに前記シミュレーションを再度実行するときに、前記シーケンスを検出すると、一定時間経過後に予測されるプログラム可能なゲートアレイ内の状態を、記憶されている前記論理回路の情報に置き換える手段とを備え、
置き換えられた前記論理回路の情報に基づいて前記マッピングを行うように構成されることを特徴とする論理回路シミュレーションシステム。
【００６８】
（付記７）　コンピュータに、
プログラム可能なゲートアレイに対し、シミュレーションの対象である複数種の論理回路のマッピングを行って該複数種の論理回路のシミュレーションを行う場合に、前記のプログラム可能なゲートアレイを複数の領域に分割し、
前記複数種の論理回路の中で、前記マッピングが既に行われているマッピング済みの論理回路を示すマッピングフラグを設け、
該マッピングフラグにより一度前記マッピングを行ったことが確認されている論理回路に関しては、前記マッピングを行わずに、既に当該論理回路のマッピングが完了している前記のプログラム可能なゲートアレイ内の所定の領域を使用して前記シミュレーションを開始することを実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
（付記８）　コンピュータに、
プログラム可能なゲートアレイに対し、シミュレーションの対象である論理回路のマッピングを行って該論理回路のシミュレーションを行う場合に、一定時間クロック信号を進めるのみで該クロック信号以外の信号が変化しないシーケンスが含まれる場合、該シーケンスを認識するための検出フラグを設け、
初回に前記シミュレーションを実行している最中に、前記シーケンスを検出して前記検出フラグをセットすると共に、一定時間が経過した後のプログラム可能なゲートアレイ内の状態を一定時間経過後の論理回路の情報として記憶し、
次回から前記シミュレーションを実行するときに、前記シーケンスを検出すると、一定時間経過後に予測されるプログラム可能なゲートアレイ内の状態を、記憶されている前記論理回路の情報に置き換えることによって前記マッピングを行うことを実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【００６９】
【発明の効果】
以上説明したように、本発明によれば、ＦＰＧＡ群等のプログラム可能なゲートアレイの集合体を複数の領域に分割し、マッピング済みのＲＴＬ等の論理回路を示すマッピングフラグによって一度マッピングを行ったことが確認されている論理回路に関しては、再度マッピングを行わずに、当該論理回路のマッピングが完了しているゲートアレイ内の領域を使用して効率良くシミュレーションを開始するようにしているので、論理回路のシミュレーション実行時間の短縮が図れる。
【００７０】
さらに、本発明によれば、複数の領域に分割されたプログラム可能なゲートアレイの中の１個ではマッピングしきれない場合においても、分割されたゲートアレイの残りの領域をさらに細かく分割して使用することにより、この残りの領域に対して全ての論理回路の再マッピングを行う必要がなくなり、変更箇所のみの必要最小限の再マッピングによって効率良くシミュレーションを開始することが可能になる。
【００７１】
さらにまた、本発明によれば、一定時間クロック信号を進めるのみでクロック信号以外の信号が変化しない単純シーケンスを初回に検出して識別用の検出フラグをセットすると共に、一定時間が経過した後のゲートアレイ内の状態を一定時間経過後の論理回路の情報として記憶し、次回からのシミュレーション実行時に上記検出フラグを検出して直ちに一定時間経過後のゲートアレイ内の状態を、記憶されている論理回路の情報に置き換えることにより、上記の単純シーケンスの処理時間を省略するようにしているので、論理回路のシミュレーション実行時の効率向上が図れる。
【００７２】
この結果、ＦＰＧＡ群等のプログラム可能なゲートアレイを用いたシミュレーションの実行時間の短縮を図ることができるようになり、このようなゲートアレイの開発効率の向上に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明の第１の実施例の構成を示すブロック図である。
【図２】本発明の第２の実施例の構成を示すブロック図である。
【図３】本発明の実施例をコンピュータシステムに適用した例を示すブロック図である。
【図４】本発明の第１の実施例に係るシミュレーションの手順を説明するためのフローチャートである。
【図５】本発明の第２の実施例に係るシミュレーションの手順を説明するためのフローチャートである。
【符号の説明】
１…ＦＰＧＡ群
２…シミュレータ本体
３−１〜３−ｎ…第１〜第ｎのデータファイル
４−１〜４−ｎ…第１〜第ｎのＲＴＬ
５…制御部
６…カウンタ回路
７…補助ＲＴＬ
８…記憶部
９…表示部
５０…ＣＰＵ
８０…外部記憶装置
８２…入力部
ａ−１〜ａ−ｎ…Ｌマッピングフラグ
ｂ−１〜ｂ−ｍ…Ｓマッピングフラグ
ｃ…バイパス検出フラグ
Ｂ…バスライン
Ｈ…記憶媒体
Ｎ…ネットワーク
【図１】
2004070658.tif 000003
【図２】
2004070658.tif 000004
【図３】
2004070658.tif 000005
【図４】
2004070658.tif 000006
【図５】
2004070658.tif 000007