(57)【要約】【課題】  論理シミュレーション時間を関連技術に比べ短縮させることが可能な論理シミュレーション装置の提供。【解決手段】  論理シミュレーション装置は、所定機能が記載される機能仕様部１０−１と、所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載されるテストモード仕様部１０−２と、機能仕様部１０−１およびテストモード仕様部１０−２を基にハード言語記述を行うハード言語記述生成部１１と、ハード言語記述生成部１１で生成されるハード言語記述の論理検証を行う論理シミュレーション部１４とを含む。【選択図】      図１
2010266973.tif 000002
【特許請求の範囲】
【請求項１】
所定機能が記載される機能仕様部と、
前記所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載されるテストモード仕様部と、
前記機能仕様部およびテストモード仕様部を基にハード言語記述を行うハード言語記述生成部と、
前記ハード言語記述生成部で生成されるハード言語記述の論理検証を行う論理シミュレーション部とを含むことを特徴とする論理シミュレーション装置。
【請求項２】
前記論理シミュレーション部は、前記所定機能のうちの一部の実行時間を短縮する必要がある場合に前記テストモード仕様部で記載されるテスト機能を用いることを特徴とする請求項１記載の論理シミュレーション装置。
【請求項３】
前記テスト機能はカウンタに対するものであることを特徴とする請求項１または２記載の論理シミュレーション装置。
【請求項４】
前記テスト機能は前記カウンタに設定する初期値を、標準値を超える値に変更して動作させるものであることを特徴とする請求項３記載の論理シミュレーション装置。
【請求項５】
前記テスト機能は割り込み信号等を基に動作する機能に対するものであることを特徴とする請求項１または２記載の論理シミュレーション装置。
【請求項６】
前記テスト機能は割り込み信号等を予め設定された時刻よりも早く発生させるためのものであることを特徴とする請求項５記載の論理シミュレーション装置。
【請求項７】
所定機能が記載される機能仕様部と、前記所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載されるテストモード仕様部と、前記機能仕様部およびテストモード仕様部を基にハード言語記述を行うハード言語記述生成部と、論理シミュレーション部とを含む論理シミュレーション装置のシミュレーション方法であって、
前記論理シミュレーション部は前記ハード言語記述生成部で生成されるハード言語記述の論理検証を行う論理検証ステップを含むことを特徴とするシミュレーション方法。
【請求項８】
前記論理シミュレーション部は、前記所定機能のうちの一部の実行時間を短縮する必要がある場合に前記テストモード仕様部で記載されるテスト機能を用いることを特徴とする請求項７記載のシミュレーション方法。
【請求項９】
前記テスト機能はカウンタに対するものであることを特徴とする請求項６または８記載のシミュレーション方法。
【請求項１０】
前記テスト機能は前記カウンタに設定する初期値を、標準値を超える値に変更して動作させるものであることを特徴とする請求項９記載のシミュレーション方法。
【請求項１１】
前記テスト機能は割り込み信号等を基に動作する機能に対するものであることを特徴とする請求項７または８記載のシミュレーション方法。
【請求項１２】
前記テスト機能は割り込み信号等を予め設定された時刻よりも早く発生させるためのものであることを特徴とする請求項１１記載のシミュレーション方法。
【請求項１３】
所定機能が記載される機能仕様部と、前記所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載されるテストモード仕様部と、前記機能仕様部およびテストモード仕様部を基にハード言語記述を行うハード言語記述生成部と、論理シミュレーション部とを含む論理シミュレーション装置のシミュレーション方法のプログラムであって、
前記論理シミュレーション部に、前記ハード言語記述生成部で生成されるハード言語記述の論理検証を行う論理検証ステップを実行させるためのプログラム。
【請求項１４】
前記論理シミュレーション部は、前記所定機能のうちの一部の実行時間を短縮する必要がある場合に前記テストモード仕様部で記載されるテスト機能を用いることを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記テスト機能はカウンタに対するものであることを特徴とする請求項１３または１４記載のプログラム。
【請求項１６】
前記テスト機能は前記カウンタに設定する初期値を、標準値を超える値に変更して動作させるものであることを特徴とする請求項１５記載のプログラム。
【請求項１７】
前記テスト機能は割り込み信号等を基に動作する機能に対するものであることを特徴とする請求項１３または１４記載のプログラム。
【請求項１８】
前記テスト機能は割り込み信号等を予め設定された時刻よりも早く発生させるためのものであることを特徴とする請求項１７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理シミュレーション装置およびそのシミュレーション方法に関し、特にＦＰＧＡ（Field Programmable Gate Array ）等のデバイスによる大規模な回路設計の論理シミュレーション装置およびそのシミュレーション方法に関する。
【背景技術】
【０００２】
近年、ＦＰＧＡ等のデバイスのテクノロジーが向上したことで、大規模な回路設計が可能となった。その反面、回路設計のシミュレーション（一例として、論理シミュレーション）ではシミュレーションする機能が以前よりも増加している。一方、シミュレーション環境の進歩もあり、大規模な回路でも比較的短時間でシミュレーションすることが可能となった。
【０００３】
図８は本発明に関連する論理シミュレーション装置の一例の構成図である。同図を参照すると、関連する論理シミュレーション装置の一例は、機能仕様部１と、ハード言語（ＨＤＬ；Hardware Description Language ）記述生成部２と、論理シミュレーション（ＳＩＭ：Simulation）部５と、論理合成部３と、レイアウト部４と、ＡＳＩＣ（Application Specific Integrated Circuit ）部６と、ＦＰＧＡ（Field Programmable Gate Array ）部７とを含んで構成される。
【０００４】
機能仕様部１には実現したい機能が記載されている。ハード言語記述生成部２は機能仕様部１に記載された機能を基にハード言語記述を行う。論理シミュレーション部５は、ハード言語記述生成部２で作成したＨＤＬの論理検証を行い、機能仕様部１に記載された機能が実現できているか否かを、シミュレーションを実行して確認する。そして、論理シミュレーション部５にて動作に問題がないことが確認されると、論理合成部３にて論理合成が行われ、さらにレイアウト部４にてレイアウトが行われ、ＡＳＩＣ部６またはＦＰＧＡ部７が生成される。
【０００５】
図９は関連する論理シミュレーション装置の一例のハード言語記述生成部２における回路の一部分、一例としてカウンタ生成ブロック５０の構成図である。同図を参照すると、カウンタ生成ブロック５０はカウンタ（一例として、Ｎビットカウンタ（Ｎは正の整数））５１と、初期値として設定されるデータレジスタ（ＡＬＬ“０”）５２と、カウンタ出力の最大値（ＭＡＸ値）５３と、クロック５４とを含んで構成される。したがって、論理シミュレーション部５における論理シミュレーションではＮビットをフルカウントさせて動作を確認する必要がある。
【０００６】
図１０は、関連する論理シミュレーション装置の一例におけるＮビットカウンタ５１の動作を示すタイムチャートである。同図は１６ビットカウンタ（Ｎ＝１６）の一例を示しており、クロック５４に同期してカウンタ５１は初期値“００００”から“ＦＦＦＦｈ（ｈは１６進数を示す）”まで順次カウントアップされ、カウント値がＭＡＸ値、すなわち“ＦＦＦＦｈ”に達するとクリア（“００００”）されることを示している。このような１６ビットカウンタでは“００００”から“ＦＦＦＦｈ”までカウントするのに“１６５３６クロック（ＣＬＫ）”かかることを同図は示している。
【０００７】
一方、本発明に関連する発明として、半導体集積回路のテスト回路付加装置の一例が特許文献１に開示されている。これは、テストパターンによる故障シミュレーションで得られた回路状態をもとに、複数の未検出故障の伝搬経路を検索し、検索された回路から最適なテスト回路挿入位置を検出し、検出された信号に対しタイミングを考慮しつつ、パリティチェックを行うテスト付加回路を付加することにより、自動的に、効率よくテスト回路を最適位置に挿入して既存のテストパターンによる故障シミュレーションで発見できなかった故障を検出するというものである。
【０００８】
また、カウンタ回路のテスト回路の一例が特許文献２に開示されている。これはカウンタ回路のテスト時間を短縮させるテスト回路に関するものである。カウンタ回路は複数のブロック（一例として４ビットで１ブロック）に分割され、テスト回路はカウンタ回路の１ブロックごとに“１１１１”を転送する。そして、テスト回路はカウンタ回路をカウントアップし、桁上りするか否かを調べる。そして、桁上りしてカウント値が“００００”、隣接する上位ビットが“１”となれば正常と判定する。これを各ブロックについて実行するというものである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平０６−１４８２９２号公報
【特許文献２】特開２００１−３５２２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、図８〜１０に記載の関連技術では、“Ｎ”の値が大きくなればなるほどシミュレーションに費やす時間が膨大となるという課題がある。このような、シミュレーション結果を知るまでに、いわば、ただ待つだけの「無意味な時間」を要する回路のスペックがシミュレーション確認の遅延につながっている。
【００１１】
一方、特許文献１に記載の発明は、テスト回路を付加するという点で本発明と共通するものの、その目的は既存のテストパターンによる故障シミュレーションで発見できなかった故障を発見することであり、その目的が本発明と全く相違する。したがって、特許文献１に記載の発明から論理シミュレーション時間を短縮するという本発明の目的は得られない。
【００１２】
また、特許文献２に記載の発明は、カウンタ回路のテスト時間を短縮させる点で本発明と共通するものの、特許文献２に記載されているのはカウンタ回路およびテスト回路のみである。このカウンタ回路およびテスト回路は後述する本発明のテストモード仕様部１０−２に対応する。一方、特許文献２には、後述する本発明の機能仕様部１０−１に対応する構成は記載されていない。
【００１３】
本発明は、ＨＤＬの設計段階から機能仕様部１０−１とともにテストモード仕様部１０−２を用いて論理シミュレーションを行うところに特徴がある。すなわち、設計段階からテストモードを意識した回路の設計ができるため、論理シミュレーションからの後戻りが少ないという効果がある。したがって、機能仕様部１０−１に対応する構成を有しない特許文献２に記載の発明から、テストモード仕様部１０−２を用いて機能仕様部１０−１の一部機能の論理シミュレーション時間を短縮するという本発明の効果は得られない。
【００１４】
そこで本発明の目的は、論理シミュレーション時間を関連技術に比べ短縮させることが可能な論理シミュレーション装置およびそのシミュレーション方法を提供することにある。
【課題を解決するための手段】
【００１５】
前記課題を解決するために本発明による論理シミュレーション装置は、所定機能が記載される機能仕様部と、前記所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載されるテストモード仕様部と、前記機能仕様部およびテストモード仕様部を基にハード言語記述を行うハード言語記述生成部と、前記ハード言語記述生成部で生成されるハード言語記述の論理検証を行う論理シミュレーション部とを含むことを特徴とする。
【００１６】
また、本発明によるシミュレーション方法は、所定機能が記載される機能仕様部と、前記所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載されるテストモード仕様部と、前記機能仕様部およびテストモード仕様部を基にハード言語記述を行うハード言語記述生成部と、論理シミュレーション部とを含む論理シミュレーション装置のシミュレーション方法であって、前記論理シミュレーション部は前記ハード言語記述生成部で生成されるハード言語記述の論理検証を行う論理検証ステップを含むことを特徴とする。
【００１７】
また、本発明によるプログラムは、所定機能が記載される機能仕様部と、前記所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載されるテストモード仕様部と、前記機能仕様部およびテストモード仕様部を基にハード言語記述を行うハード言語記述生成部と、論理シミュレーション部とを含む論理シミュレーション装置のシミュレーション方法のプログラムであって、前記論理シミュレーション部に、前記ハード言語記述生成部で生成されるハード言語記述の論理検証を行う論理検証ステップを実行させるためのものであることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、上記構成を有することにより論理シミュレーション時間を関連技術に比べ短縮させることが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明に係る論理シミュレーション装置の動作原理を示す構成図である。
【図２】本発明に係る論理シミュレーション装置の第１実施例の構成図である。
【図３】本発明に係る論理シミュレーション装置の第１実施例のハード言語記述生成部１１における回路のカウンタ生成ブロック２００およびカウンタ値テストロード回路１００の構成図である。
【図４】第１実施例の動作を示すフローチャートである。
【図５】カウンタ２０１の動作の一例を示すタイムチャートである。
【図６】本発明の第２実施例のテスト回路の構成図である。
【図７】論理シミュレーション対象回路の第２実施例の動作を示すタイミングチャートである。
【図８】本発明に関連する論理シミュレーション装置の一例の構成図である。
【図９】関連する論理シミュレーション装置の一例のハード言語記述生成部２におけるカウンタ生成ブロック５０の構成図である。
【図１０】関連する論理シミュレーション装置の一例におけるＮビットカウンタ５１の動作を示すタイムチャートである。
【発明を実施するための形態】
【００２０】
まず、本発明の実施例の説明に入る前に、本発明の動作原理について説明しておく。図１は本発明に係る論理シミュレーション装置の動作原理を示す構成図である。同図を参照すると、本発明に係る論理シミュレーション装置は、機能仕様部１０−１と、テストモード仕様部１０−２と、ハード言語記述生成部１１と、論理シミュレーション部１４とを含んで構成される。
【００２１】
機能仕様部１０−１には所定機能が記載される。テストモード仕様部１０−２には所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載される。ハード言語記述生成部１１は機能仕様部１０−１およびテストモード仕様部１０−２を基にハード言語記述を行う。論理シミュレーション部１４はハード言語記述生成部１１で生成されるハード言語記述の論理検証を行う。
【００２２】
このように、本発明では、所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載されるテストモード仕様部１０−２を有するため、論理シミュレーション部１４は機能仕様部１０−１とともにこのテストモード仕様部１０−２を用いて論理シミュレーションを行うことにより、論理シミュレーション時間を短縮させることが可能となる。
【００２３】
以下、本発明の実施例について添付図面を参照しながら説明する。
【実施例１】
【００２４】
図２は本発明に係る論理シミュレーション装置の第１実施例の構成図である。なお、同図において、図１と同様の構成部分には同様の番号を付す。図２を参照すると、本発明に係る論理シミュレーション装置の第１実施例は、仕様部１０と、ハード言語（ＨＤＬ）記述生成部１１と、論理シミュレーション（ＳＩＭ）部１４と、論理合成部１２と、レイアウト部１３と、ＡＳＩＣ部１５と、ＦＰＧＡ部１６と、プログラム格納部１７とを含んで構成される。また、仕様部１０は機能仕様部１０−１と、テストモード仕様部１０−２とを含んで構成される。
【００２５】
機能仕様部１０−１には所定機能が記載される。テストモード仕様部１０−２には所定機能のうちの一部の実行時間を短縮するためのテスト機能が記載される。すなわち、テストモード仕様部１０−２とは、機能仕様部１０−１で実現する機能から論理シミュレーション確認時に多くの時間を必要としそうな箇所（本発明では、一例としてカウンタ）を検討し、必要と判断した箇所にテスト回路を追加する内容が記載された仕様書である。
【００２６】
ハード言語（ＨＤＬ）記述生成部１１は機能仕様部１０−１とテストモード仕様部１０−２とを基にハード言語記述を行う。論理シミュレーション部１４は、ハード言語記述生成部１１で作成したＨＤＬの論理検証を行い、機能仕様部１０−１およびテストモード仕様部１０−２に記載された機能が実現できているか否かを、シミュレーションを実行して確認する。そして、論理シミュレーション部１４にて動作に問題がないことが確認されると、論理合成部１２にて論理合成が行われ、さらにレイアウト部１３にてレイアウトが行われ、ＡＳＩＣ部１５またはＦＰＧＡ部１６が生成される。
【００２７】
図３は本発明に係る論理シミュレーション装置の第１実施例のハード言語記述生成部１１における回路の一部分、一例としてカウンタ生成ブロック２００およびカウンタ値テストロード回路１００の構成図である。カウンタ生成ブロック２００は関連技術のカウンタ生成ブロック５０（図７参照）に対応するが、本発明の特徴はこのカウンタ生成ブロック２００にカウンタ値テストロード回路１００を追加したことにある。
【００２８】
図３を参照すると、カウンタ生成ブロック２００はカウンタ（一例として、Ｎビットカウンタ（Ｎは正の整数））２０１と、第１初期値が設定されるデータレジスタ５２と、第２初期値が設定されるテスト専用レジスタ（Ｎビット）２０２と、カウンタ出力の最大値（ＭＡＸ値）５３と、クロック５４とを含んで構成される。また、データレジスタ５２にはＡＬＬ“０”、すなわち本実施例では一例として“００００”が予め設定され、テスト専用レジスタ２０２には一例として“ＦＦＦＥｈ”が予め設定される。この“ＦＦＦＥｈ”は、たとえば論理シミュレーションの際に確認したいタイミングの直前のカウント値である。
【００２９】
一方、カウンタ値テストロード回路１００はセレクタ１０２と、ＡＮＤゲート１０１と、テストロード（ＴＥＳＴ  ＬＤ）端子１１１と、テスト（ＴＥＳＴ）端子１１２とを含んで構成される。ＡＮＤゲート１０１の出力はセレクタ１０の選択入力端子（ＳＥＬ）に入力される。また、ＡＮＤゲート１０１の２つの入力のうちの一方には図示しないテスト専用レジスタからのテストロード許可信号が入力され、他方にはテスト（ＴＥＳＴ）端子１１２からのテスト信号が入力される。これに対し、セレクタ１０２にはテストロード（ＴＥＳＴ  ＬＤ）端子１１１からの“１”と、外部からの“０”が入力される。
【００３０】
テスト（ＴＥＳＴ）端子１１２はテスト回路を有効にするためのものであり、テスト（ＴＥＳＴ）端子１１２からのテスト信号とテストロード許可信号がＡＮＤゲート１０１に入力されると、ＡＮＤ条件を満たし、ＡＮＤゲート１０１からテストロード信号がセレクタ１０２の選択入力端子（ＳＥＬ）に入力される。このテストロード信号がセレクタ１０２に入力されると、セレクタ１０２からの出力は“０”（通常モード）から“１”（テストモード）に変化する。
【００３１】
一方、セレクタ１０２から出力“０”（通常モード）がカウンタ２０１のＬＤ２端子に入力されると、カウンタ２０１の初期設定値として第１初期値“００００”が設定され、セレクタ１０２から出力“１”（テストモード）がカウンタ２０１のＬＤ２端子に入力されると、カウンタ２０１の初期設定値として第２初期値“ＦＦＦＥｈ”が設定されるようカウンタ生成ブロック２００は構成されている。
【００３２】
次に、カウンタ生成ブロック２００の動作について詳細に説明する。図４は第１実施例の動作を示すフローチャート、図５はカウンタ２０１の動作の一例を示すタイムチャートである。なお、以下の動作は、図２の論理シミュレーション部１４がハード言語記述生成部１１を制御することにより実行される。なお、図２のプログラム格納部１７については後述する。
【００３３】
まず、通常モードの動作について説明する。テストモードではないので（図４のステップＳ１にて“Ｎｏ”）、初期値として第１初期値をカウンタ２０１に設定する。次に、初期値として第１初期値をカウンタ２０１に設定する動作（図４のステップＳ５）について説明する。
【００３４】
図３を参照すると、この場合、カウンタ値テストロード回路１００のＡＮＤゲート１０１には、少なくともテストロード許可信号は入力されない。したがって、ＡＮＤ条件を満たさず、ＡＮＤゲート１０１からテストロード信号がセレクタ１０２の選択入力端子（ＳＥＬ）に入力されない。これにより、セレクタ１０２から出力“０”（通常モード）がカウンタ２０１のＬＤ２端子に入力される。ＬＤ２端子に“０”が入力されると、カウンタ２０１は初期設定値として第１初期値“００００”を設定する（図４のステップＳ５）。
【００３５】
次に、カウンタ２０１はカウントを開始する（図４のステップＳ３）。次に、カウントアップの動作について説明する。クロック５４がカウンタ２０１のＣＬＫ端子に入力されると、カウンタ２０１は“００００”から“ＦＦＦＦｈ”まで順次カウントを行い、カウント値が最大値“ＦＦＦＦｈ”、すなわち最大値（ＭＡＸ値）５３となると（図４のステップＳ４にて“Ｙｅｓ”）、カウント値をクリア（“００００”）し動作は終了する。
【００３６】
また、カウント値が最大値“ＦＦＦＦｈ”、すなわち最大値（ＭＡＸ値）５３とならない場合は（図４のステップＳ４にて“Ｎｏ”）、カウントアップするまでステップＳ４に留まる。一方、ここで動作を終了させず、ステップＳ４“Ｙｅｓ”からステップＳ５に戻り、再びカウント動作を行わせることも可能である。したがって、この場合、“００００”から“ＦＦＦＦｈ”までカウントするのに１６５３６ＣＬＫ要することになる（図８参照）。
【００３７】
次に、テストモードの動作について説明する。テストモードであるので（図４のステップＳ１にて“Ｙｅｓ”）、初期値として第２初期値をカウンタ２０１に設定する。次に、初期値として第２初期値をカウンタ２０１に設定する動作（図４のステップＳ２）について説明する。
【００３８】
図３を参照すると、この場合、カウンタ値テストロード回路１００のＡＮＤゲート１０１には、テストロード許可信号およびテスト端子１１２からのテスト信号が入力される。したがって、ＡＮＤ条件を満たし、ＡＮＤゲート１０１からテストロード信号がセレクタ１０２の選択入力端子（ＳＥＬ）に入力される。これにより、セレクタ１０２から出力“１”（テストモード）がカウンタ２０１のＬＤ２端子に入力される。ＬＤ２端子に“１”が入力されると、カウンタ２０１は初期設定値として第２初期値（一例として、“ＦＦＦＥｈ”）を設定する（図４のステップＳ２）。
【００３９】
次に、カウンタ２０１はカウントを開始する（図４のステップＳ３）。次に、カウントアップの動作について説明する。クロック５４がカウンタ２０１のＣＬＫ端子に入力されると、カウンタ２０１は“００００”、“０００１”までカウントした後、“ＦＦＦＥｈ”にジャンプし“ＦＦＦＦｈ”までカウントを行い、カウント値が最大値“ＦＦＦＦｈ”、すなわち最大値（ＭＡＸ値）５３となると（図４のステップＳ４にて“Ｙｅｓ”）、カウント値をクリア（“００００”）し動作は終了する。
【００４０】
また、カウント値が最大値“ＦＦＦＦｈ”、すなわち最大値（ＭＡＸ値）５３とならない場合は（図４のステップＳ４にて“Ｎｏ”）、カウントアップするまでステップＳ４に留まる。一方、ここで動作を終了させず、ステップＳ４“Ｙｅｓ”からステップＳ２に戻り、再びカウント動作を行わせることも可能である。したがって、この場合、“００００”から“ＦＦＦＦｈ”までカウントするのに４ＣＬＫで完了することになる（図５参照）。
【００４１】
なお、第１実施例では第２初期値として“ＦＦＦＥｈ”を例に挙げたが、これに限定されるものではなく、第１初期値よりも大きな値であれば任意の値を第２初期値として設定することが可能である。また、第１実施例では１６ビットカウンタを例に挙げたが、これに限定されるものではなく、任意ビット数のカウンタに本発明の適用が可能である。
【００４２】
以上説明したように、本発明の第１実施例によれば、カウンタの初期値を“０”よりも大きな値に変更可能な構成を有するため、カウントの早回しが可能となり、よって、論理シミュレーション時間を関連技術に比べ短縮させることが可能となる。
【００４３】
すなわち、本発明の第１実施例によれば、カウンタ動作を自由に操れることで効率よくシミュレーションを実施でき、かつ時間の短縮に大きく貢献することが可能となる。たとえば、１６ビットカウンタにテスト回路を付加した場合、通常の１／３２７６８（“ＦＦＦＦｈ”をロードした場合）でカウンタを１周することが可能となる。さらに、カウンタロード値は任意に決めることができるため、シミュレーションで確認したいポイントまで時間短縮したい場合にも有効に活用することができる。
【実施例２】
【００４４】
第１実施例ではカウンタの早回しに関して述べたが、カウンタ以外でもテスト回路を設けることにより論理シミュレーション時間を短縮することが可能である。第２実施例では割り込み信号等、他ブロックで作成された信号を基に動作する回路に本発明を適用した場合について説明する。
【００４５】
割り込み信号等、他ブロックで作成された信号を基に動作する回路では、割り込み信号等は一定の条件でのみ発生する。したがって、一定の条件となるまで割り込み信号等は発生しないため、この回路について論理シミュレーションを行う場合、一定の条件となるまで待たなければならなくなる。したがって、シミュレーションに費やす時間が膨大となるという課題がある。
【００４６】
そこで、本発明の第２実施例ではテスト割り込み信号を用いて割り込み信号等が発生する条件（必要な状態および有効なデータ等）を意図的に作成し、これをテストモード仕様部１０−２として記述する。したがって、テストモードを選択した場合、即座に割り込み信号等が発生することになる。
【００４７】
図６は本発明の第２実施例のテスト回路の構成図、図７は論理シミュレーション対象回路の第２実施例の動作を示すタイミングチャートである。図６のテスト回路３００は図３（第１実施例）のカウンタ値テストロード回路１００に対応する。また、図３（第１実施例）のカウンタ生成ブロック２００に対応するものは図７にその動作が示される論理シミュレーション対象回路となる。
【００４８】
図６を参照すると、テスト回路３００はセレクタ３０３と、ＡＮＤゲート３０１および３０２と、テスト割り込み端子３０４と、テスト（ＴＥＳＴ）端子３０５とを含んで構成される。セレクタ３０３にはテスト割り込み端子３０４からのテスト割り込み信号“１”と、ＡＮＤゲート３０１の出力である内部割り込み信号“０”が入力される。また、セレクタ３０３の選択入力端子（ＳＥＬ）にはＡＮＤゲート３０２の出力信号が入力される。
【００４９】
また、ＡＮＤゲート３０１の２つの入力のうちの一方には要因Ａ信号が入力され、他方には要因Ｂ信号が入力される。また、ＡＮＤゲート３０２の２つの入力のうちの一方には図示しないテスト専用レジスタからのテストロード許可信号が入力され、他方にはテスト（ＴＥＳＴ）端子３０５からのテスト信号が入力される。
【００５０】
テスト割り込み端子３０４はテスト回路を有効にするためにテスト割り込み信号“１”をセレクタ３０３に入力するためのものである。テスト（ＴＥＳＴ）端子３０５からのテスト信号とテストロード許可信号がＡＮＤゲート３０２に入力されると、ＡＮＤ条件を満たし、ＡＮＤゲート３０２からテストロード信号がセレクタ３０３の選択入力端子（ＳＥＬ）に入力される。
【００５１】
一方、要因Ａ信号および要因Ｂ信号は割り込み発生条件の信号であり、これらの信号がＡＮＤゲート３０１に入力される。そして要因Ａ信号および要因Ｂ信号がＡＮＤゲート３０１に入力されると、ＡＮＤ条件を満たし、ＡＮＤゲート３０２から内部割り込み信号“０”がセレクタ３０３に入力される。
【００５２】
一方、セレクタ３０３からの出力は図示しない論理シミュレーション対象回路に入力される。次に、セレクタ３０３および論理シミュレーション対象回路の動作について図７を参照しながら説明する。
【００５３】
まず、通常モードの動作について説明する。この場合、ＡＮＤゲート３０２の２つの入力信号のうち少なくとも一方はＡＮＤゲート３０２に入力されないので、ＡＮＤ条件を満たさず、したがってセレクタ３０３では“０”が選択され、信号“０”がセレクタ３０３から出力される。“０”は通常の要因Ａおよび要因Ｂの条件で割り込みを発生させるモードなので、図７を参照すると、要因Ａおよび要因Ｂの条件を共に満足する時刻Ｔ２に論理シミュレーション対象回路において割り込みが発生することになる。
【００５４】
これに対し、テストモードの動作の場合、ＡＮＤゲート３０２の２つの入力信号が共にＡＮＤゲート３０２に入力されるので、ＡＮＤ条件を満たし、したがってセレクタ３０３では“１”が選択され、信号“１”がセレクタ３０３から出力される。信号“１”はテスト割り込みで割り込みを発生させるモードなので、図７を参照すると、テスト割り込み信号“１”の発生時、すなわち時刻Ｔ１（Ｔ１＜Ｔ２）に論理シミュレーション対象回路において割り込みが発生することになる。したがって、テストモードの場合、通常モードの場合よりも早く割り込みを発生させることが可能となる。
【００５５】
以上説明したように、本発明の第２実施例によれば、割り込み信号等が発生する条件（必要な状態および有効なデータ等）を意図的に作成し、これをテストモード仕様部１０−２として記述する構成を有するため、論理シミュレーション時間を関連技術に比べ短縮させることが可能となる。
【実施例３】
【００５６】
第３実施例は論理シミュレーション装置のシミュレーション方法のプログラムに関するものである。前述のように、本発明に係る論理シミュレーション装置はプログラム格納部１７を含んでいる（図２参照）。このプログラム格納部１７には前述の図４にフローチャートで示す論理シミュレーション装置のシミュレーション方法のプログラムが格納されている。
【００５７】
論理シミュレーション装置の論理シミュレーション部１４はプログラム格納部１７からそのプログラムを読み出し、そのプログラムに従ってハード言語記述生成部１１を制御する。その制御の内容については既に述べたのでここでの説明は省略する。
【００５８】
以上説明したように、本発明の第３実施例によれば、論理シミュレーション時間を関連技術に比べ短縮させることが可能なプログラムが得られる。
【産業上の利用可能性】
【００５９】
ＶＨＤＬ（VHSIC Hardware Description Language, VHSIC：Very High Speed Integrated Circuit）やＶｅｒｉｌｏｇ−ＨＤＬ（Verilog ：デジタル回路の設計用の論理シミュレータ）等でシミュレーションを行なう場合に本発明の適用が可能である。
【符号の説明】
【００６０】
１０  仕様部
１０−１  機能仕様部
１０−２  テストモード仕様部
１１  ハード言語記述生成部
１２  論理合成部
１３  レイアウト部
１４  論理シミュレーション部
１５  ＡＳＩＣ部
１６  ＦＰＧＡ部
１７  プログラム格納部
５２  データレジスタ
５３  カウンタ出力の最大値
５４  クロック
１００  カウンタ値テストロード回路
１０１  ＡＮＤゲート
１０２  セレクタ
１１１  テストロード端子
１１２  テスト（ＴＥＳＴ）端子
２００  カウンタ生成ブロック
２０１  カウンタ
２０２  テスト専用レジスタ
３００  テスト回路
３０１、３０２  ＡＮＤゲート
３０３  セレクタ
３０４  テスト割り込み端子
３０５  テスト端子
【図１】
2010266973.tif 000003
【図２】
2010266973.tif 000004
【図３】
2010266973.tif 000005
【図４】
2010266973.tif 000006
【図５】
2010266973.tif 000007
【図６】
2010266973.tif 000008
【図７】
2010266973.tif 000009
【図８】
2010266973.tif 000010
【図９】
2010266973.tif 000011
【図１０】
2010266973.tif 000012