(57)【要約】【課題】  複数のクロック系統を有する論理回路の機能検証時に、回路の内部信号の情報を必要とせず、適切に期待値比較ポイントを事前に設定する。【解決手段】  論理回路機能検証支援システム１は、論理シミュレーション対象回路のクロック周期、立ち上がりエッジおよび立ち下がりエッジの情報を含むクロック情報１２と、クロックドメイン間の最大遅延制約情報１３とを元に、期待値１１とシミュレーション結果との比較ポイントを事前に設定する期待値比較ポイント設定部１４と、遅延情報を有するネットリスト１０に基づいて論理シミュレーションを実行する論理シミュレーション実行部１６と、シミュレーション結果と期待値１１とを比較する期待値比較部１７と、この比較結果に基いて論理シミュレーション実行部１６の動作を制御する論理シミュレーション制御部１８と、比較結果を出力する結果出力部１９とを備えている。【選択図】  図１
2005182093.tif 000002
【特許請求の範囲】
【請求項１】
複数のクロック系統のクロックドメインに属する回路を含む論理シミュレーション対象回路の機能検証を行う回路機能検証支援システムにおいて、
論理シミュレーション対象回路のクロック波形を特定可能とするクロック情報と、クロック系統が異なるクロックドメイン間のデータ伝播に許容される遅延の最大値である最大遅延制約情報とのうち少なくともクロック情報に基づいて、クロック系統が異なるクロックドメインに属する回路間のデータの受け渡し時に発生する出力結果の不確定タイミングを除外して、期待値とシミュレーション結果との期待値比較ポイントを設定する期待値比較ポイント設定部を有する回路機能検証支援システム。
【請求項２】
前記期待値比較ポイント設定部は、クロック系統が異なるクロックドメイン間でのデータの受け渡しがない場合に、期待値の比較対象である信号を駆動しているクロックの全クロックサイクルを期待値比較ポイントとして設定する第１期待値比較ポイント設定手段をさらに有する請求項１に記載の回路機能検証支援システム。
【請求項３】
前記期待値比較ポイント設定部は、回路の接続情報および遅延情報を有するネットリストから期待値の比較対象である信号のデータ伝播経路を出力側から入力側へバックトレースして、複数のクロック系統のうち、所定のクロック系統のドメインに属する回路から他のクロック系統のドメインに属する回路へのデータの受け渡しがあるか否かを判定するデータ受け渡し判定手段を有する請求項１に記載の回路機能検証支援システム。
【請求項４】
前記期待値比較ポイント設定部は、
低速動作回路から高速動作回路へのデータの受け渡しがある場合に、前記論理シミュレーション対象回路のクロック情報から期待値比較ポイントを設定する第２期待値比較ポイント設定手段と、
高速動作回路から低速動作回路へのデータの受け渡しがある場合に、該論理シミュレーション対象回路のクロック情報と前記最大遅延制約情報とから期待値比較ポイントを設定する第３期待値比較ポイント設定手段とを有する請求項１または３に記載の回路機能検証支援システム。
【請求項５】
前記第２期待値比較ポイント設定手段は、低速クロックの立ち上がりエッジ直後に高速クロックの立ち上がりエッジがある箇所を期待値比較ポイントから除外して、前記期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定し、
前記第３期待値比較ポイント設定手段は、低速クロックの立ち上がりエッジ直前の高速クロックの立ち上がりエッジまでの時間が前記最大遅延制約値よりも小さい箇所を期待値比較ポイントから除外して、前記期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定する請求項４に記載の回路機能検証支援システム。
【請求項６】
前記期待値比較ポイント設定部は、前記クロック系統が異なるクロックドメイン間でのデータの受け渡し後、フリップフロップによってデータを受けている場合に、当該フリップフロップの段数分だけ、期待値比較ポイントを後ろ側にシフトさせて設定する第４期待値比較ポイント設定手段をさらに有する請求項１〜５のいずれかに記載の回路機能検証支援システム。
【請求項７】
回路の接続情報および遅延情報を有するネットリストに基いて論理シミュレーションを実行する論理シミュレーション実行部と、
該論理シミュレーション実行部によるシミュレーション結果と前記期待値とを前記期待値比較ポイントに従って比較する期待値比較部とを有する請求項１に記載の回路機能検証支援システム。
【請求項８】
前記期待値比較部は、前記論理シミュレーション実行部による論理シミュレーション実行中に、前記期待値比較ポイント設定部によって設定された期待値比較ポイントに従って、前記論理シミュレーション結果と期待値との比較を逐次行い、その比較結果から一致／不一致を判定する請求項７に記載の回路機能検証支援システム。
【請求項９】
前記論理シミュレーション実行部は、前記論理シミュレーション対象回路の最上位階層の信号に対してシミュレーションを行う請求項７に記載の回路機能検証支援システム。
【請求項１０】
前記期待値比較部による比較結果に基いて、前記論理シミュレーション実行部の動作を制御する論理シミュレーション制御部をさらに有する請求項７または９に記載の回路機能検証支援システム。
【請求項１１】
該論理シミュレーション制御部は、前記期待値比較部によって前記期待値とシミュレーション結果とが不一致であると判定された場合に、前記論理シミュレーション実行部に対して、直ちにシミュレーション動作を停止させるように制御する請求項１０に記載の回路機能検証支援システム。
【請求項１２】
前記期待値比較部による期待値比較結果情報を出力する結果出力部をさらに有する請求項７〜１１のいずれかに記載の回路機能検証支援システム。
【請求項１３】
前記結果出力部は、前記期待値比較部によって前記期待値とシミュレーション結果とが不一致であると判定された場合に、前記期待値比較結果情報を、表示画面上に表示することと、プリントアウトすることのうち少なくともいずれかを行う請求項１２に記載の回路機能検証支援システム。
【請求項１４】
前記期待値比較結果情報は、少なくとも前記不一致が発生した信号名およびクロック系統と、該不一致が発生した時刻である請求項１２または１３に記載の回路機能検証支援システム。
【請求項１５】
前記クロック情報は、クロック周期の情報と、クロックの立ち上がりエッジおよび立ち下がりエッジの少なくとも一方の情報とを含む請求項１に記載の回路機能検証支援システム。
【請求項１６】
複数のクロック系統のドメインに属する回路を含む論理シミュレーション対象回路を機能検証する回路機能検証支援システムを用いる回路機能検証支援方法において、
回路の接続情報および遅延情報を有するネットリストを用いて論理シミュレーション対象回路の出力信号側から入力信号方向へバックトレースして出力信号の伝播経路を解析する処理と、
該出力信号の伝播経路の途中で、該クロック系統が異なるクロックドメイン間でデータの受け渡しがあったか否かの情報および、論理シミュレーション対象回路のクロック波形を特定可能とするクロック情報、該クロック系統が異なるクロックドメイン間のデータ伝播に許容される遅延の最大値である最大遅延制約情報を取得する情報取得処理と、
該データの受け渡しがなかった場合に、期待値の比較対象である信号を駆動しているクロック系統の全サイクルで期待値比較が行われるように、期待値比較ポイントを設定する第１期待値比較ポイント設定処理、低速動作回路から高速動作回路にデータの受け渡しがあった場合に、該クロック情報に基づいて、低速クロックの立ち上がりエッジの直後に、高速クロックの立ち上がりエッジが含まれるサイクルを期待値比較ポイントから除外して、該期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定する第２期待値比較ポイント設定処理および、該高速動作回路から該低速動作回路にデータの受け渡しがあった場合に、該クロック情報および最大遅延制約情報に基づいて、該低速クロックの立ち上がりエッジからその直前の高速クロックの立ち上がりエッジまでの時間を計算し、その計算値が最大遅延制約値よりも小さい場合に、該低速クロックの立ち上がりクロックサイクルの箇所について期待値比較ポイントから除外して、該期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定する第３期待値比較ポイント設定処理のいずれかを行う処理とを有する回路機能検証支援方法。
【請求項１７】
前記クロック系統が異なるクロックドメイン間でデータの受け渡しがあった場合に、データの受け渡し後、回路の出力部から出力信号として出力されるまでの経路に存在するフリップフロップの段数情報を取得する処理と、
該段数情報の段数分だけ、前記期待値比較ポイントを後ろ側にシフトさせる第４期待値比較ポイント設定処理を有する請求項１６に記載の回路機能検証支援方法。
【請求項１８】
回路の接続情報および遅延情報を有するネットリストに基いて論理シミュレーションを実行する論理シミュレーション実行処理と、
該論理シミュレーション実行処理によるシミュレーション結果と前記期待値とを前記期待値比較ポイントに従って比較する期待値比較処理と、
該期待値比較処理による比較結果に基いて、該論理シミュレーション実行処理動作を制御する論理シミュレーション制御処理とを有する請求項１６または１７に記載の回路機能検証支援方法。
【請求項１９】
請求項１６〜１８に記載の回路機能検証支援方法の各処理をコンピュータに実行させるための制御プログラム。
【請求項２０】
請求項１９に記載の制御プログラムが記録されたコンピュータ読み取り可能な可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理シミュレーション対象回路の回路機能を検証するために用いられる回路機能検証支援システム、これを用いた回路機能検証支援方法、この各処理をコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体に関し、特に、複数のクロック系統のドメインに属する回路を含む論理回路の機能検証において、信号（データ）伝搬の遅延による影響を考慮して期待値比較を行って、機能検証を行う論理回路機能検証支援システムなどの回路機能検証支援システム、これを用いた回路機能検証支援方法、この各処理をコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体に関する。
【背景技術】
【０００２】
通常、論理回路の機能検証は、例えばユニットディレイシミュレーションやＲＴＬ（レジスタトランスファーレベル）シミュレーションなどによって予め求められた論理回路の正しい出力結果である期待値と、論理回路を論理シミュレーションして得られるシミュレーション結果とを、クロックサイクル毎に比較(期待値比較)することによって行われる。
【０００３】
本来は、期待値と論理シミュレーション結果とが全サイクルで完全に一致することが望ましい。しかしながら、複数のクロック系統を有する論理回路に対して、論理合成後の遅延情報を有するゲートレベルシミュレーションを行う際には、信号伝搬の遅延によってシミュレーション結果と期待値との間に時間軸上でサイクルずれが発生することがある。このような場合に、単純に全クロックサイクルで期待値比較を行うと、論理回路に機能的な問題がなくても、期待値比較結果に不一致が発生することがある。以下に、この問題について、図１８および図１９を参照しながら説明する。
【０００４】
図１８は、複数のクロック系統を有する論理回路の一例を示す図である。
【０００５】
図１８に示すように、この論理回路６０Ａは、フリップフロップ６１および６３と組み合せ回路６２とを有している。入力信号Ｓ１は、クロック系統ＣＬＫ１のフリップフロップ６１から組み合わせ回路６２を経由してクロック系統ＣＬＫ２のフリップフロップ６３に伝播され、フリップフロップ６３から出力信号Ｓ４として出力される。
【０００６】
図１９は、図１８の論理回路６０Ａのクロックサイクル、クロックＣＬＫ１，ＣＬＫ２の各波形、信号Ｓ１，Ｓ２の各波形、論理回路に対する期待値（信号Ｓ３，Ｓ４）の波形、および論理合成後の遅延情報を有するゲートレベルシミュレーション結果（信号Ｓ３，Ｓ４）の波形をそれぞれ示す波形図である。
【０００７】
通常、期待値比較は、論理回路の出力信号に対して、出力信号を駆動しているクロックサイクル毎に行われる。例えば図１８の論理回路６０Ａの場合、期待値比較は出力信号Ｓ４に対して、クロックＣＬＫ２のクロックサイクル毎に行われる。
【０００８】
このとき、単純に全クロックサイクル毎（Ｔ１〜Ｔ８）に期待値比較を行うと、図１９に示すように、サイクルＴ４で期待値が“１”、シミュレーション結果が“０”となり、比較結果は不一致となる。
【０００９】
この原因は、論理合成後の遅延情報を有するゲートレベルシミュレーションでは、フリップフロップ６１からフリップフロップ６３への信号伝播に遅延を有しており、信号Ｓ３のフリップフロップ６３への到達がクロックＣＬＫ２の立ち上がりエッジを跨いで遅れるためである。この現象は、異なるクロック系統のドメインに属する回路（異なるクロックドメイン）間でデータの受け渡しがある場合に常に起こり得るものであり、回路設計時にはこの現象も考慮されて設計されているため、回路機能上では問題ない。しかしながら、期待値比較結果が不一致になると、その不一致が上記現象によるものか、または論理回路の不具合によるものかを人手によって検証し直す必要があり、これによって検証時間の増大を招いている。
【００１０】
このような複数のクロック系統を有する論理回路に対する期待値比較の問題を解決するための従来技術として、例えば特許文献１には、以下のようなタイミング検証装置が提案されている。
【００１１】
このタイミング検証装置の原理について図１８および図１９を参照しながら説明すると、設計者が、クロック系統が異なるクロックドメイン間のデータの受け渡し箇所を予め把握しておき、データの受け渡しの起点となる信号Ｓ２と、期待値比較を行わない期間ＥＴとを指定する。信号Ｓ２の変化からＥＴ期間の間、信号Ｓ４の期待値比較を行わないように自動的にデータ処理することにより、期待値不一致の問題を回避している。図１９の例では、サイクルＴ４で期待値比較を行わず、サイクルＴ１、Ｔ２、Ｔ３、Ｔ５、Ｔ６、Ｔ７およびＴ８でのみ期待値比較を行うことによって、上記人手による検証の手間を省略することができる。
【特許文献１】特開２００１−１４７９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記特許文献１に開示されている従来技術では、以下のような問題がある。
【００１３】
まず、期待値比較に使用される期待値およびシミュレーション結果のそれぞれに含まれる信号値は、通常、回路のトップ階層の信号（シミュレーション対象回路の最上位階層の信号）に限られる。その理由は、回路中の全信号値を出力する論理シミュレーションを実行しようとすると、その論理シミュレーションで取り扱うデータのファイルサイズが膨大となり、また、シミュレーション時間のオーバーヘッドも膨大となることから、現実には不可能であるためである。
【００１４】
図１８を用いて具体的に説明すると、実際に期待値比較に使用できる信号はＣＬＫ１、ＣＬＫ２、Ｓ１およびＳ４のみであり、内部信号であるＳ２およびＳ３は使用することができない。したがって、論理回路の内部信号Ｓ２を参照する特許文献１の方法は、実行することが困難である。
【００１５】
この特許文献１の方法では、クロック系統が異なるクロックドメイン間でのデータの受け渡しの起点となる信号、それに対応する期待値比較信号や期待値比較除外期間など、期待値比較のために必要な情報を人手により指定する必要があるが、そのためには回路内部を解析する必要がある。そのような解析に必要な労力は、発生した不一致が、クロック系統が異なるクロックドメイン間のデータの受け渡しによるものか、または回路の不具合によるものかを人手で検証し直す以上に大きく、回路規模が大きくなるにつれて解析が困難となり、人手により期待値比較に必要な情報を指定することが不可能となる。
【００１６】
さらに、回路によっては、特許文献１の方法は使えない場合がある。このことについて、図２０および図２１を参照しながら説明する。
【００１７】
図２０は、複数のクロック系統を有する論理回路の他の一例を示す図である。
【００１８】
図２０に示すように、この論理回路６０Ｂは、フリップフロップ６４および６６〜６９と、組み合せ回路６５とを有している。入力信号Ｓ１０は、クロック系統ＣＬＫ３のフリップフロップ６４から組み合わせ回路６５を経由してクロック系統ＣＬＫ４のフリップフロップ６６に伝播し、フリップフロップ６６から出力信号Ｓ１３が出力される。これと同様に、入力信号Ｓ１０はクロック系統ＣＬＫ３のフリップフロップ６４から組み合わせ回路６５を経由してクロック系統ＣＬＫ４のフリップフロップ６７、６８および６９に順次伝播し、フリップフロップ６９から出力信号Ｓ１７が出力される。
【００１９】
図２１は、図２０の論理回路６０Ｂのクロックサイクル、クロックＣＬＫ３，ＣＬＫ４の波形、信号Ｓ１０，Ｓ１１の波形、論理回路に対する期待値（信号Ｓ１２〜Ｓ１７）の波形、および論理合成後の遅延情報を有するゲートレベルシミュレーション結果（信号Ｓ１２〜Ｓ１７）の波形をそれぞれ示す信号波形図である。
【００２０】
図２１に示すように、この論理回路６０Ｂに対して期待値比較を行う場合、特許文献１の方法では、事前に異なるクロックドメイン間でのデータの受け渡しの起点となる信号Ｓ１１と、期待値比較除外期間ＥＴ２と、期待値比較の対象となる信号Ｓ１３およびＳ１７とを指定する。データの受け渡しの起点となる信号Ｓ１１の変化からＥＴ２期間の間、信号Ｓ１３および信号Ｓ１７の期待値比較を行わないことによって、期待値不一致の問題を回避しようとしている。
【００２１】
例えば、サイクルＴ４では期待値比較を行わず、サイクルＴ１、Ｔ２、Ｔ３、Ｔ５、Ｔ６、Ｔ７およびＴ８でのみ、期待値比較を行う。その結果、信号Ｓ１３に対しては、サイクルＴ１、Ｔ２、Ｔ３、Ｔ５、Ｔ６、Ｔ７およびＴ８で期待値とシミュレーション結果とが完全に一致する。ところが、信号Ｓ１７に対しては、サイクルＴ６において、期待値が“０”でシミュレーション結果が“１”であり、不一致となる。
【００２２】
この原因は、以下の通りである。異なるクロックドメイン間でデータの受け渡しが行われた後に、多段のフリップフロップが存在する場合、そのフリップフロップの数だけ、期待値とシミュレーション結果との不一致箇所が、後段のフリップフロップの出力信号として検出される。図２１の例では、期待値とシミュレーション結果との不一致箇所は、Ｔ４のタイミングから、ＣＬＫ４の２サイクルタイムに相当する時間だけ、後ろのクロックサイクルＴ６にシフトされる。したがって、特許文献１の方法では期待値不一致の問題に対応することができない。
【００２３】
この期待値比較除外期間をＥＴ３と設定した場合には、サイクルＴ４、Ｔ５およびＴ６において期待値比較が行われないため、信号Ｓ１７に対するサイクルＴ６での不一致を回避することはできるが、本来期待値比較が必要な箇所、すなわち信号Ｓ１３に対するサイクルＴ５とＴ６、および信号Ｓ１７に対するサイクルＴ４とＴ５での期待値比較が行われなくなるため、検証漏れが発生する。したがって、特許文献１の方法では期待値不一致の問題に対応することができない。
【００２４】
本発明は、上記従来の問題を解決するもので、複数のクロック系統を有する論理回路に対して、回路の内部信号の情報を必要とせず、回路内部を解析して人手により期待値比較に必要な情報を指定することなく、論理シミュレーション結果である信号の不確定タイミングを避けるように適切に期待値比較ポイントを事前に設定することができる回路機能検証支援システム、これを用いた回路機能検証支援方法、この各処理をコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明の回路機能検証支援システムは、複数のクロック系統のクロックドメインに属する回路を含む論理シミュレーション対象回路の機能検証を行う回路機能検証支援システムにおいて、該論理シミュレーション対象回路のクロック波形を特定可能とするクロック情報と、クロック系統が異なるクロックドメイン間のデータ伝播に許容される遅延の最大値である最大遅延制約情報とのうち少なくともクロック情報に基づいて、クロック系統が異なるクロックドメインに属する回路間のデータの受け渡し時に発生する出力結果の不確定タイミングを除外して、期待値とシミュレーション結果との期待値比較ポイントを設定する期待値比較ポイント設定部を有しており、そのことにより上記目的が達成される。
【００２６】
また、好ましくは、本発明の回路機能検証支援システムにおける期待値比較ポイント設定部は、クロック系統が異なるクロックドメイン間でのデータの受け渡しがない場合に、期待値の比較対象である信号を駆動しているクロックの全クロックサイクルを期待値比較ポイントとして設定する第１期待値比較ポイント設定手段をさらに有する。
【００２７】
さらに、好ましくは、本発明の回路機能検証支援システムにおける期待値比較ポイント設定部は、回路の接続情報および遅延情報を有するネットリストから期待値の比較対象である信号のデータ伝播経路を出力側から入力側へバックトレースして、複数のクロック系統のうち、所定のクロック系統のドメインに属する回路から他のクロック系統のドメインに属する回路へのデータの受け渡しがあるか否かを判定するデータ受け渡し判定手段を有する。
【００２８】
さらに、好ましくは、本発明の回路機能検証支援システムにおける期待値比較ポイント設定部は、低速動作回路から高速動作回路へのデータの受け渡しがある場合に、前記論理シミュレーション対象回路のクロック情報から期待値比較ポイントを設定する第２期待値比較ポイント設定手段と、高速動作回路から低速動作回路へのデータの受け渡しがある場合に、該論理シミュレーション対象回路のクロック情報と前記最大遅延制約情報とから期待値比較ポイントを設定する第３期待値比較ポイント設定手段とを有する。
【００２９】
さらに、好ましくは、本発明の回路機能検証支援システムにおける第２期待値比較ポイント設定手段は、低速クロックの立ち上がりエッジ直後に高速クロックの立ち上がりエッジがある箇所を期待値比較ポイントから除外して、前記期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定し、前記第３期待値比較ポイント設定手段は、低速クロックの立ち上がりエッジ直前の高速クロックの立ち上がりエッジまでの時間が前記最大遅延制約値よりも小さい箇所を期待値比較ポイントから除外して、前記期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定する。
【００３０】
さらに、好ましくは、本発明の回路機能検証支援システムにおける期待値比較ポイント設定部は、前記クロック系統が異なるクロックドメイン間でのデータの受け渡し後、フリップフロップによってデータを受けている場合に、当該フリップフロップの段数分だけ、期待値比較ポイントを後ろ側にシフトさせて設定する第４期待値比較ポイント設定手段をさらに有する。
【００３１】
さらに、好ましくは、本発明の回路機能検証支援システムにおいて、回路の接続情報および遅延情報を有するネットリストに基いて論理シミュレーションを実行する論理シミュレーション実行部と、該論理シミュレーション実行部によるシミュレーション結果と前記期待値とを前記期待値比較ポイントに従って比較する期待値比較部とを有する。
【００３２】
さらに、好ましくは、本発明の回路機能検証支援システムにおける期待値比較部は、前記論理シミュレーション実行部による論理シミュレーション実行中に、前記期待値比較ポイント設定部によって設定された期待値比較ポイントに従って、前記論理シミュレーション結果と期待値との比較を逐次行い、その比較結果から一致／不一致を判定する。
【００３３】
さらに、好ましくは、本発明の回路機能検証支援システムにおける論理シミュレーション実行部は、前記論理シミュレーション対象回路の最上位階層の信号に対してシミュレーションを行う。
【００３４】
さらに、好ましくは、本発明の回路機能検証支援システムにおける期待値比較部による比較結果に基いて、前記論理シミュレーション実行部の動作を制御する論理シミュレーション制御部をさらに有する。
【００３５】
さらに、好ましくは、本発明の回路機能検証支援システムにおける論理シミュレーション制御部は、前記期待値比較部によって前記期待値とシミュレーション結果とが不一致であると判定された場合に、前記論理シミュレーション実行部に対して、直ちにシミュレーション動作を停止させるように制御する。
【００３６】
さらに、好ましくは、本発明の回路機能検証支援システムにおける期待値比較部による期待値比較結果情報を出力する結果出力部をさらに有する。
【００３７】
さらに、好ましくは、本発明の回路機能検証支援システムにおける結果出力部は、前記期待値比較部によって前記期待値とシミュレーション結果とが不一致であると判定された場合に、前記期待値比較結果情報を、表示画面上に表示することと、プリントアウトすることのうち少なくともいずれかを行う。
【００３８】
さらに、好ましくは、本発明の回路機能検証支援システムにおける期待値比較結果情報は、少なくとも前記不一致が発生した信号名およびクロック系統と、該不一致が発生した時刻である。
【００３９】
さらに、好ましくは、本発明の回路機能検証支援システムにおけるクロック情報は、クロック周期の情報と、クロックの立ち上がりエッジおよび立ち下がりエッジの少なくとも一方の情報とを含む。
【００４０】
本発明の回路機能検証支援方法は、複数のクロック系統のクロックドメインに属する回路を含む論理シミュレーション対象回路を機能検証する回路機能検証支援システムを用いる回路機能検証支援方法において、回路の接続情報および遅延情報を有するネットリストを用いて論理シミュレーション対象回路の出力信号側から入力信号方向へバックトレースして出力信号の伝播経路を解析する処理と、該出力信号の伝播経路の途中で、該クロック系統が異なるクロックドメイン間でデータの受け渡しがあったか否かの情報および、論理シミュレーション対象回路のクロック波形を特定可能とするクロック情報、該クロック系統が異なるクロックドメイン間のデータ伝播に許容される遅延の最大値である最大遅延制約情報を取得する情報取得処理と、該データの受け渡しがなかった場合に、期待値の比較対象である信号を駆動しているクロック系統の全サイクルで期待値比較が行われるように、期待値比較ポイントを設定する第１期待値比較ポイント設定処理、低速動作回路から高速動作回路にデータの受け渡しがあった場合に、該クロック情報に基づいて、低速クロックの立ち上がりエッジの直後に、高速クロックの立ち上がりエッジが含まれるサイクルを期待値比較ポイントから除外して、期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定する第２期待値比較ポイント設定処理および、該高速動作回路から該低速動作回路にデータの受け渡しがあった場合に、該クロック情報および最大遅延制約情報に基づいて、該低速クロックの立ち上がりエッジからその直前の高速クロックの立ち上がりエッジまでの時間を計算し、その計算値が最大遅延制約値よりも小さい場合に、該低速クロックの立ち上がりクロックサイクルの箇所について期待値比較ポイントから除外して、該期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定する第３期待値比較ポイント設定処理のいずれかを行う処理とを有しており、そのことにより上記目的が達成される。
【００４１】
また、好ましくは、本発明の回路機能検証支援方法において、クロック系統が異なるクロックドメイン間でデータの受け渡しがあった場合に、データの受け渡し後、回路の出力部から出力信号として出力されるまでの経路中に存在するフリップフロップの段数情報を取得する処理と、該段数情報の段数分だけ、前記期待値比較ポイントを後ろ側にシフトさせる第４期待値比較ポイント設定処理を有する。
【００４２】
さらに、好ましくは、本発明の回路機能検証支援方法において、回路の接続情報および遅延情報を有するネットリストに基いて論理シミュレーションを実行する論理シミュレーション実行処理と、該論理シミュレーション実行処理によるシミュレーション結果と前記期待値とを前記期待値比較ポイントに従って比較する期待値比較処理と、該期待値比較処理による比較結果に基いて、該論理シミュレーション実行処理動作を制御する論理シミュレーション制御処理とを有する。
【００４３】
本発明の制御プログラムは、上記本発明の回路機能検証支援方法の各処理をコンピュータに実行させるためのプログラムであり、そのことにより上記目的が達成される。
【００４４】
本発明の可読記録媒体は、上記制御プログラムが記録されたコンピュータ読み取り可能な記録媒体であり、そのことにより上記目的が達成される。
【００４５】
上記構成により、以下に、本発明の作用について説明する。
【００４６】
本発明においては、内部信号を参照したり、回路内部を解析して人手により期待値比較に必要な情報を指定したりすることなく、クロック情報とクロックドメイン間の最大遅延制約情報とのうち少なくともクロック情報を元に、クロック系統が異なるクロックドメインに属する回路間のデータの受け渡し時に発生する出力結果の不確定タイミングを除外して、期待値比較ポイントを自動設定することができる。
【００４７】
期待値比較ポイントを設定する際に用いられるデータは、クロックの周期、信号の立ち上がりエッジおよび立ち下がりエッジの少なくとも一方との情報を含むクロック情報と、クロック系統が異なるクロックドメイン間のデータ伝播に許容される遅延の最大値であるクロックドメイン間の最大遅延制御情報であり、論理シミュレーションには回路のトップ階層の信号のみが用いられるため、従来技術に比べて取り扱うデータ量が少なく、高速に論理シミュレーションを実行することができる。また、論理シミュレーション実行中に期待値比較を逐次行うことにより、検証効率を向上させることができる。
【発明の効果】
【００４８】
本発明によれば、複数のクロック系統のドメインに属する回路を有する論理回路において、信号伝播の遅延などの影響によってシミュレーション結果と期待値との間にサイクルずれが発生するような場合においても、回路の内部情報を必要とせず、クロック情報とクロックドメイン間の最大遅延制約情報のみから、適切に期待値比較ポイントを事前設定することができる。また、シミュレーション実行中に逐次期待値比較を行うことによって検証効率を向上させることができる。
【発明を実施するための最良の形態】
【００４９】
以下に、本発明の論理回路機能検証支援システムなどの回路機能検証支援システム、これを用いた回路機能検証支援方法、この各処理をコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体の実施形態について、図面を参照しながら説明する。
【００５０】
図１は、本発明の論理回路機能検証支援システムの実施形態における機能構成例を示すブロック図である。
【００５１】
図１に示すように、論理回路機能検証支援システム１は、遅延情報を有するネットリスト１０と、期待値１１と、回路のクロック情報１２と、回路のクロックドメイン間の最大遅延制約情報１３と、データ受け渡し判定手段と期待値比較ポイント設定手段を有する期待値比較ポイント設定部１４と、期待値比較ポイント情報１５と、論理シミュレーション実行部１６と、期待値比較部１７と、論理シミュレーション制御部１８と、結果出力部１９と、期待値比較結果２０とを有している。
【００５２】
ネットリスト１０は、回路の接続情報、セル遅延情報および接続遅延情報を有するリストである。
【００５３】
クロック情報１２は、クロックの入力波形を特定できる情報であり、クロックの周期と、立ち上がりエッジおよび立ち下りエッジの少なくとも一方との各情報を含んでいる。
【００５４】
最大遅延制約情報１３は、所定の機能を実現する上で、クロック系統が異なるクロックドメイン間でのデータ伝播に許容される遅延の最大値であり、回路の論理合成時などに使用される設計上の制約情報である。
【００５５】
期待値比較ポイント設定部１４は、ネットリスト１０、回路のクロック情報１２および最大遅延制約情報１３から、クロック系統が異なるクロックドメインに属する回路間のデータの受け渡し時に発生する出力結果の不確定タイミングを除外して、期待値比較ポイントをシミュレーション実行前に設定し、期待値比較ポイント情報１５を出力する。
【００５６】
論理シミュレーション実行部１６は、回路の接続情報および遅延情報を有するネットリスト１０に基いて論理シミュレーションを実行する。
【００５７】
期待値比較部１７は、論理シミュレーション実行部１６によるシミュレーション結果と期待値１１とを期待値比較ポイント情報１５に記述された期待値比較ポイントでリアルタイムに比較する。
【００５８】
論理シミュレーション制御部１８は、期待値比較部１７による比較結果に基いて論理シミュレーション実行部１６の動作（不一致時に停止処理など）を制御する。
【００５９】
結果出力部１９は、期待値比較部１７による比較結果から期待値比較結果２０を出力、例えば表示したりプリントアウトしたりする。
【００６０】
上記構成により、以下、その動作を説明する。
【００６１】
まず、期待値比較ポイント設定部１４によって、回路の接続情報および遅延情報を有するネットリスト１０と、回路のクロック情報１２と、回路のクロックドメイン間の最大遅延制約情報１３とから、クロック系統が異なるクロックドメインに属する回路間のデータの受け渡し時に発生する出力結果の不確定タイミングを除外して、期待値比較ポイントがシミュレーション実行前に設定され、期待値比較ポイント情報１５として出力される。
【００６２】
次に、回路の接続情報および遅延情報を有するネットリスト１０に基いて、論理シミュレーション実行部１６によってシミュレーションが実行されるのと並行して、期待値比較部１７によってシミュレーション結果と期待値１１とが、期待値比較ポイント情報１５に記述された期待値比較ポイントでリアルタイムに比較され、その比較結果が論理シミュレーション制御部１８と結果出力部１９に通知される。
【００６３】
これを受けて、期待値１１とシミュレーション結果との不一致が通知されると、論理シミュレーション制御部１８では、直ちに論理シミュレーション実行部１６に対してシミュレーション中止の命令が出力（停止処理が実行）され、論理シミュレーション実行部１６によるシミュレーションが中止される。
【００６４】
結果出力部１９では、期待値１１とシミュレーション結果との不一致が発生した信号名とそのクロック系統とが、不一致が発生した時刻と共にディスプレイに表示または／およびファイルに出力する。
【００６５】
図２は、図１の論理回路機能検証支援システム１の実施形態におけるハード構成例を示すブロック図である。
【００６６】
図２に示すように、論理回路機能検証支援システム１は、期待値比較などの所定の演算処理を行う制御部としてのＣＰＵ２（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）と、期待値比較ポイント設定プログラムや論理シミュレーション実行プログラム、期待値比較プログラム、論理シミュレーション制御プログラム、結果出力制御プログラムなどの各種の制御プログラムおよびそのデータが格納された可読記録媒体としてのＲＯＭ３（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＣＰＵ２が演算時に使用する作業記憶領域（ワークメモリ）として用いられるＲＡＭ４（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、期待値比較ポイント情報１５や期待値比較結果２０などの必要な情報を格納するための外部記憶装置５と、ネットリスト１０、期待値１１やクロック情報１２、クロックドメイン間の最大遅延制約情報１３などの必要な情報を入力するための入力装置６と、期待値比較結果２０などを表示画面上に表示可能とする結果出力部としての表示装置７とを備えている。
【００６７】
これらＣＰＵ２、ＲＯＭ３、ＲＡＭ４、外部記憶装置５、入力装置６および表示装置７はバスライン８で相互に接続されている。
【００６８】
ＣＰＵ２は、ＲＯＭ３内に格納された制御プログラムに従って、本発明の期待値比較ポイント設定処理、論理シミュレーション処理、期待値比較処理、論理シミュレーション制御処理および期待値比較結果出力処理などの各種の処理が行われる。
【００６９】
まず、期待値比較ポイント設定部１４による期待値比較ポイント設定処理について、詳しく説明する。
【００７０】
期待値比較ポイント設定部１４では、まず、ネットリスト１０を用いて、期待値の比較対象である信号のデータ伝播経路を出力側から入力側へバックトレースし、複数のクロック系統のうち、所定のクロック系統のドメインに属する回路から他のクロック系統のドメインに属する回路へのデータの受け渡しがあるか否かが判定される。次に、クロック系統が異なるクロックドメイン間でのデータの受け渡しがない場合には、期待値１１の比較対象である信号を駆動しているクロックの全クロックサイクルを期待値比較ポイントに設定し、また、低速動作回路から高速動作回路へのデータの受け渡しがある場合には、論理シミュレーション対象回路のクロック情報１２から期待値比較ポイントを設定し、また、高速動作回路から低速動作回路へのデータの受け渡しがある場合には、論理シミュレーション対象回路のクロック情報１２と、その所定のクロック系統と他のクロック系統とのクロックドメイン間の最大遅延制約情報１３とから期待値比較ポイントを設定する。
【００７１】
図３は、図１および図２の論理回路機能検証支援システム１における期待値比較ポイント設定部１４の処理手順を説明するためのフローチャートである。
【００７２】
図３に示すように、まず、ステップａでは、期待値比較の対象回路における出力信号の伝播経路を解析するため、ネットリスト１０を出力信号から入力信号方向へバックトレースする。このバックトレース処理では、その経路の途中で異なるクロックドメイン間でデータの受け渡しがあったか否かの情報と、出力信号を駆動しているクロックの情報（出力信号を駆動しているクロック系統）とが取得される。また、クロック系統が異なるクロックドメイン間でデータの受け渡しがあった場合には、データの受け渡し後、異なるクロックドメイン間で受け渡されたデータが出力部から出力信号として出力されるまでの経路（受け渡しデータと出力信号との間）に存在するフリップフロップの段数の情報が取得される。
【００７３】
次に、ステップｂでは、ステップａで取得された各情報から、異なるクロックドメイン間でのデータの受け渡しがあったか否かが判断される。クロック系統が異なるクロックドメイン間でのデータの受け渡しがなかった場合（Ｎｏ）には、ステップｃの処理に進む。一方、異なるクロックドメイン間でのデータの受け渡しがあった場合（Ｙｅｓ）には、ステップｄの処理に進む。
【００７４】
ステップｃでは、ステップｂで異なるクロックドメイン間でのデータの受け渡しがなかったと判断された場合（Ｎｏ）に、出力信号を駆動しているクロック系統の全サイクルで期待値比較が行われるように、期待値比較ポイントを設定する。
【００７５】
ステップｄでは、そのデータの受け渡しが、低速動作回路（低速クロック）から高速動作回路（高速クロック）へのデータの受け渡しであったか否かを判断する。低速クロックから高速クロックへのデータの受け渡しであると判断された場合（Ｙｅｓ）には、ステップｅの処理に進む。一方、高速クロックから低速クロックへのデータの受け渡しがあると判断された場合（Ｎｏ）には、ステップｆの処理に進む。
【００７６】
ステップｅでは、ステップｄで低速クロックから高速クロックへのデータの受け渡しであると判断された場合（Ｙｅｓ）に、クロック情報１２を元にして、特定のサイクルが期待値比較ポイントから除外されるように、期待値比較ポイントを設定する。
【００７７】
ステップｅにおいて、クロック情報１２を元にして特定のサイクルを期待値比較ポイントから除外する方法について、図４を参照しながら説明する。
【００７８】
図４に示すように、まず、低速クロックＣＬＫ５および高速クロックＣＬＫ６の周期の最小公倍数であるシミュレーション時間範囲０〜７０について、高速ＣＬＫ６の全サイクルＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５、Ｔ６およびＴ７を期待値比較ポイントに設定する。
【００７９】
次に、低速クロックＣＬＫ５の立ち上がりエッジの直後に、高速クロックＣＬＫ６の立ち上がりエッジが含まれるサイクルＴ３およびＴ６を期待値比較ポイントから除外し、サイクルＴ１、Ｔ２、Ｔ４、Ｔ５およびＴ７を最終的な期待値比較ポイントとする。また、Ｔ８サイクル以降は、設定された期待値比較ポイントの繰り返し（Ｔ８、Ｔ９、Ｔ１１、Ｔ１２、Ｔ１４、・・・）となる。
【００８０】
図３の説明に戻ると、ステップｆでは、ステップｄで高速クロックから低速クロックへのデータの受け渡しであると判断された場合（Ｎｏ）に、クロック情報１２と、クロックドメイン間の最大遅延制約情報１３を元にして、特定のサイクルが期待値比較ポイントから除外されるように、期待値比較ポイントを設定する。
【００８１】
ステップｆにおいて、クロック情報１２と、クロックドメイン間の最大遅延制約情報１３とを元にして特定のサイクルを期待値比較ポイントから除外する方法について、図５を参照しながら説明する。
【００８２】
図５に示すように、まず、高速クロックＣＬＫ７および低速クロックＣＬＫ８の周期の最小公倍数であるシミュレーション時間範囲０〜７０について、低速クロックＣＬＫ８の全サイクルＴ１およびＴ２を期待値比較ポイントに設定する。
【００８３】
次に、低速クロックＣＬＫ８の立ち上がりエッジからその直前の高速クロックＣＬＫ７の立ち上がりエッジまでの時間を計算し、その値がクロックドメイン間の最大遅延制約値（ここでは５とする）よりも小さい場合には、低速クロックＣＬＫ８の立ち上がりクロックサイクルの箇所について期待値比較ポイントから除外する。図５の例では、期待値比較除外期間ＥＴ６＜クロックドメイン間の最大遅延制約値５であるので、低速クロックＣＬＫ８の立ち上がりエッジが含まれるサイクルであるＴ１を期待値比較ポイントから除外する。また、低速クロックＣＬＫ８の立ち上がりエッジからその直前の高速クロックＣＬＫ７の立ち上がりエッジまでの時間が、クロックドメイン間の最大遅延制約値よりも大きい箇所については、期待値比較ポイントから除外しない。図５の例では、期待値比較除外期間ＥＴ７＞クロックドメイン間の最大遅延制約値５であるので、サイクルＴ２は期待値比較ポイントから除外されず、サイクルＴ２が最終的な期待値比較ポイントとなる。また、Ｔ３サイクル以降は、設定された期待値比較ポイントの繰り返し（Ｔ４、Ｔ６、Ｔ８、・・・）となって偶数サイクルとなる。
【００８４】
図３の説明に戻ると、ステップｇでは、ステップｅまたはステップｆに続いて、ステップａの結果から、クロックドメイン間でのデータの受け渡し後、最終出力信号との間にフリップフロップが存在するか否かを判断する。ステップｇでクロックドメイン間でのデータの受け渡し後にフリップフロップが存在すると判断された場合（Ｙｅｓ）には、ステップｈの処理に進む。また、ステップｇでフリップフロップが存在しないと判断された場合（Ｎｏ）には、ステップｉへ進む。
【００８５】
ステップｈでは、ステップｅまたはステップｆで設定された期待値比較ポイントにおける比較サイクルを、フリップフロップの段数だけ後ろのサイクルタイムにシフトさせる。
【００８６】
ステップｉでは、以上の手順を回路の出力信号の数だけ繰り返す。
【００８７】
これによって、回路の内部情報を必要とせず、クロック情報およびクロックドメイン間の最大遅延制約情報から、回路の機能仕様上、期待値１１と論理シミュレーション結果との不一致が発生しても問題ない箇所を期待値比較ポイントから除外して、最終的な期待値比較ポイント情報１５を得ることができる。
【００８８】
以下に、本発明の論理回路機能検証支援システム１のさらに詳しい実施例１〜３について、図面を参照しながら説明する。
【００８９】
実施例１では低速クロックから高速クロックへのデータの受け渡しが存在する場合、実施例２では高速クロックから低速クロックへのデータの受け渡しが存在する場合、実施例３では実施例１と同じ論理回路について、期待値比較中に不一致が発生する場合についてそれぞれ説明する。
（実施例１）
本実施例１では、低速クロックから高速クロックへのデータの受け渡しが存在する場合であって、図６に示す論理回路３０（＝ネットリスト１０）と、図７に示す回路のクロック情報１２に対して、本実施形態の論理回路機能検証支援システム１を適用する場合について、図１〜図３を参照しながら説明する。
【００９０】
図６に示すように、ネットリスト１０の論理回路３０は、フリップフロップ３１および３３〜３６と、組み合せ回路３２とを有している。入力信号Ｓ２０は、クロック系統ＣＬＫ９のフリップフロップ３１から組み合わせ回路３２を経由してクロック系統ＣＬＫ９のフリップフロップ３３に伝播し、出力信号Ｓ２３として出力される。これと同様に、入力信号Ｓ２０はクロック系統ＣＬＫ９のフリップフロップ３１から組み合わせ回路３２を経由してクロック系統ＣＬＫ１０のフリップフロップ３４〜３６に順次伝播し、出力信号Ｓ２７として出力される。
【００９１】
図７に示すように、クロック情報１２にはクロックの周期と立ち上がりエッジの情報とが含まれている。クロックＣＬＫ９では周期３５の低速クロックであり、その立ち上がりエッジは１７．５である。また、クロックＣＬＫ１０では周期１０の高速クロックであり、その立ち上がりエッジは５である。
【００９２】
図１および図２に示すように、論理回路機能検証支援システム１は、まず、図３のステップａにおいて、シミュレーション実行前の初期動作として、期待値比較ポイント設定部１４においてネットリスト１０のバックトレースを行って、異なるクロックドメイン間でのデータの受け渡しがあったか否かの情報と、データの受け渡し後に出力部との間に存在するフリップフロップの段数の情報と、出力信号を駆動しているクロックの情報とを取得する。
【００９３】
本実施例１では、ＣＰＵ２によって、入力装置６から入力された図６のネットリスト１０に対してバックトレース処理を行い、出力信号Ｓ２３に対しては「異なるクロックドメイン間でのデータの受け渡し無しで駆動クロックはクロックＣＬＫ９」という情報をＲＡＭ４に格納する。また、出力信号Ｓ２７に対しては「クロックＣＬＫ９からクロックＣＬＫ１０へのデータの受け渡しがあり、データの受け渡し後、二つのフリップフロップが存在し、駆動クロックはクロックＣＬＫ１０」という情報をＲＡＭ４に格納する。
【００９４】
ステップｂにおいて、バックトレースの結果から、異なるクロックドメイン間でのデータの受け渡しがあったか否かを判断し、異なるクロックドメイン間でデータの受け渡しがなかった場合には、ステップｃにおいて全クロックサイクルを期待値比較ポイントに設定しする。一方、異なるクロックドメイン間でデータの受け渡しがあった場合には、ステップｄにおいて、低速クロックから高速クロックへのデータの受け渡しがあったか否かを判断する。
【００９５】
本実施例１では、ＣＰＵ２によって、ＲＯＭ３に書き込まれている期待値比較ポイント設定のための所定のプログラムに従って、ＲＡＭ４に格納されたバックトレース結果と、入力装置６から入力された図７のクロック情報１２とから、出力信号Ｓ２３に対しては、異なるクロックドメイン間でのデータの受け渡しがないため、クロックＣＬＫ９の全サイクルを期待値比較ポイントに設定する。また、出力信号Ｓ２７に対しては、低速クロックＣＬＫ９から高速クロックＣＬＫ１０へのデータの受け渡しがあったと判断し、その結果をＲＡＭ４に格納する。
【００９６】
これに続いて、ステップｅにおいて、低速クロックＣＬＫ９から高速クロックＣＬＫ１０へのデータの受け渡しがあった場合に対する期待値比較ポイントの設定を行う。
【００９７】
本実施例１では、ＣＰＵ２によって、ＲＯＭ３に書き込まれている期待値比較ポイント設定のための所定の制御プログラムに従って、入力装置６から入力された図７のクロック情報１２から、低速クロックＣＬＫ９の周期が３５で、高速クロックＣＬＫ１０の周期が１０であるので、その最小公倍数である７０を期待値比較ポイント設定の１サイクルとして以降の処理を行う。
【００９８】
出力信号Ｓ２７に対しては、低速クロックＣＬＫ９から高速クロックＣＬＫ１０へのデータの受け渡しであるため、低速クロックＣＬＫ９の立ち上がりエッジの直後に高速クロックＣＬＫ１０の立ち上がりエッジが含まれるサイクルを期待値比較ポイントから除外し、その結果をＲＡＭ４に格納する。この様子を図示したものが図８であり、出力信号Ｓ２７の期待値比較ポイントはサイクルＴ１、Ｔ２、Ｔ４、Ｔ５およびＴ７と設定され、サイクルＴ３および６Ｔが除外される。
【００９９】
これに続いて、異なるクロックドメイン間でのデータの受け渡し後、ステップｇにおいて、フリップフロップによってデータを受けているか否かを判断し、ステップｈにおいて期待値比較ポイントをフリップフロップの数だけ後ろにシフトさせる。
【０１００】
本実施例１では、ＣＰＵ２によって、出力信号Ｓ２７に対するバックトレース結果と期待値比較ポイントとをＲＡＭ４から読み出し、異なるクロックドメイン間でのデータの受け渡し後、さらにフリップフロップによってデータを受けているか否かを判断する。低速クロックＣＬＫ９から高速クロックＣＬＫ１０へのデータの受け渡し後、二つのフリップフロップで受けているため、期待値比較ポイントを２サイクル後ろにシフトし、Ｔ３、Ｔ４、Ｔ６、Ｔ７およびＴ９と再設定後、その結果をＲＡＭ４に格納する。
【０１０１】
これに続いて、ステップｉにおいて、上記処理で設定された回路の各出力信号に対する期待値比較ポイント、期待値比較の周期、および駆動クロックの情報を最終の期待値比較ポイント情報１５としてファイルに出力する。
【０１０２】
本実施例１では、ＣＰＵ２によって、ＲＡＭ４に格納された期待値比較ポイント情報、期待値比較の周期、および駆動クロックの情報を外部記憶装置５に出力する。この際に出力される情報は図９に示すような情報であり、クロックＣＬＫ９のクロックサイクルをｔ１、ｔ２、ｔ３、・・・とした場合に、出力信号Ｓ２３の期待値比較ポイントはｔ１およびｔ２で、期待値比較周期は２であるため、クロックＣＬＫ９の全サイクルで期待値比較が行われることを意味する。また、クロックＣＬＫ１０のクロックサイクルをＴ１、Ｔ２、Ｔ３、・・・とした場合に、出力信号Ｓ２７の期待値比較ポイントはＴ３、Ｔ４、Ｔ６、Ｔ７およびＴ９で、期待値比較周期は７であるため、クロックＣＬＫ１０のＴ３、Ｔ４、Ｔ６、Ｔ７、Ｔ９、Ｔ１０、Ｔ１１、Ｔ１３、Ｔ１４、Ｔ１６、・・・のサイクルで期待値比較が行われることを意味する。
【０１０３】
以上によってシミュレーション実行前の初期動作としての期待値比較ポイント設定処理は終了となり、続いて、論理シミュレーション実行部１６によって、図６の回路のネットリスト１０に基づいて論理シミュレーションを開始する。
【０１０４】
図１０は、本実施例１における論理シミュレーション時の期待値、およびシミュレーション結果の波形を示す波形図である。
【０１０５】
論理シミュレーション実行に平行して、期待値比較部１７によって、シミュレーション結果と期待値１１とを、期待値比較ポイント情報１５で指定されたポイントで順次期待値比較する。期待値比較部１７による期待値比較の結果が不一致になった場合には、論理シミュレーション制御部１８によって論理シミュレーション実行部１６に対してシミュレーション停止の命令を出して直ちにシミュレーションを停止させると共に、結果出力部１９によって不一致が発生した信号名および発生時間などを期待値比較結果２０として出力させる。
【０１０６】
本実施例１では、ＣＰＵ２によって、入力装置６から入力された図６のネットリスト１０を用いて論理回路３０の論理シミュレーションを開始する。ＣＰＵ２によって、外部記憶装置５から読み込まれた図９の期待値比較ポイント情報１５に従って、シミュレーション結果と入力装置６から入力された図１０の期待値１１とを期待値比較する。
【０１０７】
以下に、出力信号Ｓ２３および出力信号Ｓ２７に対する期待値比較処理について、図１０を参照しながら説明する。
【０１０８】
図１０に示すように、まず、出力信号Ｓ２３に対しては、図９の期待値比較ポイント情報１５で指定されたクロックＣＬＫ９の全サイクル（ｔ１、ｔ２、ｔ３、ｔ４・・・）で期待値比較が行われ、また、出力信号２７に対しては、図９の期待値比較ポイント情報１５で指定されたクロックＣＬＫ１０のサイクル（Ｔ３、Ｔ４、Ｔ６、Ｔ７、Ｔ９・・・）で期待値比較が行われる。
【０１０９】
ここで、期待値比較は時間軸に沿って順次行われるため、期待値比較実行順は（Ｔ３、ｔ１、Ｔ４、Ｔ６、ｔ２、Ｔ７、Ｔ９・・・）となる。例えば、出力信号Ｓ２３については、ｔ１サイクルでは期待値およびシミュレーション結果共に「０」、ｔ２サイクルでは共に「１」となり、完全に一致する。同様に、出力信号Ｓ２７については、期待値比較ポイントが設定されているサイクルＴ３、Ｔ４、Ｔ６、Ｔ７、Ｔ９・・・において、出力信号Ｓ２３と同様に完全に一致する。
（実施例２）
本実施例２では、高速クロックから低速クロックへのデータの受け渡しが存在する場合であって、図１１に示す論理回路４０（＝ネットリスト１０）と、図１２に示す回路のクロック情報１２およびクロックドメイン間の最大遅延制約情報１３に対して、本実施形態の論理回路機能検証支援システム１を適用する場合について、図１〜図３を参照しながら説明する。
【０１１０】
図１１に示すように、論理回路４０は、フリップフロップ４１および４３〜４５と、組み合せ回路４２とを有している。この場合、入力信号Ｓ３０は、高速クロックＣＬＫ１１のフリップフロップ４１から組み合わせ回路４２を経由して低速クロックＣＬＫ１２のフリップフロップ４３に伝播し、出力信号Ｓ３３として出力される。これと同様に、入力信号Ｓ３０は高速クロックＣＬＫ１１のフリップフロップ４１から組み合わせ回路４２を経由して高速クロックＣＬＫ１２のフリップフロップ４４および４５に順次伝播し、出力信号Ｓ３６として出力される。
【０１１１】
図１２に示すように、クロック情報１２にはクロックの周期と立ち上がりエッジの情報とが含まれている。クロックＣＬＫ１１は周期１０の高速クロックであり、その立ち上がりエッジは５である。また、クロックＣＬＫ１２は周期３５の低速クロックであり、その立ち上がりエッジは１７．５である。また、図１２に示すクロックドメイン間の最大遅延制約情報では、クロックＣＬＫ１１からクロックＣＬＫ１２へのデータ伝搬に許容される遅延の最大値が５と設定されている。
【０１１２】
図１および図２に示すように、論理回路機能検証支援システム１は、まず、図３のステップａにおいて、シミュレーション実行前の初期動作として、期待値比較ポイント設定部１４においてネットリスト１０のバックトレースを行って、異なるクロックドメイン間でのデータの受け渡しがあったか否かの情報と、データの受け渡し後に出力部との間に存在するフリップフロップの段数の情報と、出力信号を駆動しているクロックの情報とを取得する。
【０１１３】
本実施例２では、ＣＰＵ２によって、入力装置６から入力された図１１のネットリスト１０（論理回路３０）に対してバックトレース処理を行い、出力信号Ｓ３３に対しては「クロックＣＬＫ１１からクロックＣＬＫ１２へのデータの受け渡しがあり、データの受け渡し後、フリップフロップは存在しておらず、駆動クロックはクロックＣＬＫ１２」という情報をＲＡＭ４に格納する。また、出力信号Ｓ３６に対しては「クロックＣＬＫ１１からクロックＣＬＫ１２へのデータの受け渡しがあり、データの受け渡し後、一つのフリップフロップが存在し、駆動クロックはクロックＣＬＫ１２」という情報をＲＡＭ４に格納する。
【０１１４】
次に、図３のステップｂにおいて、バックトレースの結果から、異なるクロックドメイン間でのデータの受け渡しがあったか否かを判断し、異なるクロックドメイン間でデータの受け渡しがなかった場合には、ステップｃにおいて全クロックサイクルを期待値比較ポイントに設定する。一方、異なるクロックドメイン間でデータの受け渡しがあった場合には、ステップｄにおいて、低速クロックから高速クロックへのデータの受け渡しがあったか否かを判断する。
【０１１５】
本実施例２では、ＣＰＵ２によって、ＲＯＭ３に書き込まれている期待値比較ポイント設定のための所定のプログラムに従って、ＲＡＭ４に格納されたバックトレース結果と、入力装置６から入力された図１２のクロック情報１２とから、出力信号Ｓ３３および３６に対して、高速クロックＣＬＫ１１から低速クロックＣＬＫ１２へのデータの受け渡しがあったと判断し、その結果をＲＡＭ４に格納する。
【０１１６】
これに続いて、ステップｆにおいて、高速クロックＣＬＫ１１から低速クロックＣＬＫ１２へのデータの受け渡しがあった場合に対する期待値比較ポイントの設定を行う。
【０１１７】
本実施例２では、ＣＰＵ２によって、ＲＯＭ３２に書き込まれている期待値比較ポイント設定のための所定の制御プログラムに従って、入力装置６から入力された図１２のクロック情報１２およびクロックドメイン間の最大遅延制約情報１３から、クロックＣＬＫ１１の周期が１０で、クロックＣＬＫ１２の周期が３５であるので、その最小公倍数である７０を期待値比較ポイント設定の１サイクルとして以降の処理を行う。出力信号Ｓ３３および３６に対しては、高速クロックＣＬＫ１１から低速クロックＣＬＫ１２へのデータの受け渡しであるため、クロックＣＬＫ１２の立ち上がりエッジから直前のクロックＣＬＫ１１の立ち上がりエッジまでの時間を計算し、その時間が図１２のクロックドメイン間の最大遅延制約情報１３の５よりも小さい箇所について、該当するクロックＣＬＫ１２の立ち上がりエッジが含まれるサイクルを期待値比較ポイントから除外し、その結果をＲＡＭ４に格納する。この様子を図示したものが図１４であり、Ｔ１サイクルでのクロックエッジ間の時間をＥＴ８、Ｔ２サイクルでのクロックエッジ間の時間をＥＴ９とすると、ＥＴ８＜クロックドメイン間の最大遅延制約情報１３＝５、ＥＴ９＞クロックドメイン間の最大遅延制約情報１３＝５となるため、Ｔ１サイクルは期待値比較ポイントから除外される。したがって、出力信号Ｓ３３および出力信号Ｓ３６の期待値比較ポイントはサイクルＴ２と設定される。
【０１１８】
これに続いて、異なるクロックドメイン間でのデータの受け渡し後、ステップｇにおいて、フリップフロップによってデータを受けているか否かを判断し、ステップｈにおいて期待値比較ポイントをフリップフロップの数だけ後ろにシフトさせる。
【０１１９】
本実施例２では、ＣＰＵ２によって、出力信号Ｓ３３および３６に対するバックトレース結果と期待値比較ポイントとをＲＡＭ４から読み出し、異なるクロックドメイン間でのデータの受け渡し後、さらにフリップフロップによってデータを受けているか否かを判断する。出力信号Ｓ３６については高速クロックＣＬＫ１１から低速クロックＣＬＫ１２へのデータの受け渡し後、一つのフリップフロップで受けているため、期待値比較ポイントを１サイクル後ろにシフトし、サイクルＴ３と再設定後、その結果をＲＡＭ４に格納する。
【０１２０】
これに続いて、ステップｉにおいて、上記処理で設定された論理回路４０の各出力信号Ｓ３３，Ｓ３６に対する期待値比較ポイント、期待値比較の周期、および駆動クロックの情報を最終の期待値比較ポイント情報１５としてファイルに出力する。
【０１２１】
本実施例２では、ＣＰＵ２によって、ＲＡＭ４に格納された期待値比較ポイント情報、期待値比較の周期、および駆動クロックの情報を外部記憶装置５に出力する。この際に出力される情報は図１４に示すような情報であり、クロックＣＬＫ１２のクロックサイクルをＴ１、Ｔ、Ｔ３、・・・とした場合に、出力信号Ｓ３３の期待値比較ポイントはＴ２で、期待値比較周期は２であるため、クロックＣＬＫ１２のＴ２、Ｔ４、Ｔ６、Ｔ８、Ｔ１０、・・・のサイクルで期待値比較が行われることを意味する。また同様に、出力信号Ｓ３６の期待値比較ポイントはＴ３で、期待値比較周期は３であるため、クロックＣＬＫ１２のＴ３、Ｔ５、Ｔ７、Ｔ９、Ｔ１１、・・・のサイクルで期待値比較が行われることを意味する。
【０１２２】
以上によってシミュレーション実行前の初期動作としての期待値比較ポイント設定処理は終了となり、続いて、論理シミュレーション実行部１６によって、図１の回路のネットリスト１０に基づいて論理シミュレーションを開始する。図１５は、本実施例２における論理シミュレーション時の期待値、およびシミュレーション結果の波形を示す波形図である。
【０１２３】
この論理シミュレーション実行に平行して、期待値比較部１７によって、シミュレーション結果と期待値１１とを、期待値比較ポイント情報１５で指定されたポイントで順次期待値比較する。期待値比較部１７による期待値比較の結果が不一致になった場合には、論理シミュレーション制御部１８によって論理シミュレーション実行部１６に対してシミュレーション停止の命令を出して直ちにシミュレーションを停止させると共に、結果出力部１９によって不一致が発生した信号名および発生時間等を期待値比較結果２０として出力させる。
【０１２４】
本実施例２では、ＣＰＵ２によって、入力装置６から入力された図１１のネットリスト１０を用いて論理シミュレーションを開始する。ＣＰＵ２によって、外部記憶装置５ら読み込まれた図１４の期待値比較ポイント情報１５に従って、シミュレーション結果と入力装置６から入力された図１５の期待値１１とを期待値比較する。
【０１２５】
以下に、出力信号Ｓ３３および出力信号Ｓ３６に対する期待値比較処理について、図１５を参照しながら説明する。
【０１２６】
図１５に示す容易に、まず、出力信号Ｓ３３に対しては、図１４の期待値比較ポイント情報１５で指定されたクロックＣＬＫ１２のサイクル（Ｔ２、Ｔ４、Ｔ６、Ｔ８・・・）で期待値比較が行われ、また、出力信号３６に対しては、図１４の期待値比較ポイント情報１５で指定されたクロックＣＬＫ１２のサイクル（Ｔ３、Ｔ５、Ｔ７、Ｔ９・・・）で期待値比較が行われる。ここで、期待値比較は時間軸に沿って順次行われるため、期待値比較実行順は（Ｔ２、Ｔ３、Ｔ４、Ｔ５、Ｔ６・・・）となる。例えば、出力信号Ｓ３３について、Ｔ２サイクルでは期待値およびシミュレーション結果共に「１」となり、一致する。同様に、出力信号Ｓ３６について、期待値比較ポイントが設定されているサイクルＴ３、Ｔ５、Ｔ７、Ｔ９・・・において、出力信号Ｓ３３と同様に完全に一致する。
（実施例３）
本実施例３では、上記実施例１と同じ論理回路３０について、期待値比較中に不一致が発生する場合であって、検査対象は上記実施例１と同様の論理回路３０であるが、期待値比較時に不一致が発生する場合について、図１および図２を参照しながら説明する。
【０１２７】
まず、シミュレーション実行前の初期動作としての期待値比較ポイント設定処理までは上記実施例１と同様であるため、その説明を省略し、論理シミュレーション以降の相違点について、以下に説明する。
【０１２８】
論理シミュレーション実行部１６によって、図１の回路のネットリスト１０に基づいて論理シミュレーションを開始する。
【０１２９】
図１６は、本実施例３における論理シミュレーション時の期待値、およびシミュレーション結果の波形を示す波形図である。
【０１３０】
この論理シミュレーション実行に平行して、期待値比較部１７によって、シミュレーション結果と期待値１１とを、期待値比較ポイント情報１５で指定されたポイントで順次期待値比較する。期待値比較部１７による期待値比較の結果が不一致になった場合には、論理シミュレーション制御部１８によって論理シミュレーション実行部１６に対してシミュレーション停止の命令を出して直ちにシミュレーションを停止させると共に、結果出力部１９によって不一致が発生した信号名および発生時間などを期待値比較結果２０として出力させる。
【０１３１】
本実施例３では、ＣＰＵ２によって、入力装置６から入力された図６のネットリスト１０（論理回路３０）を用いて論理シミュレーションを開始する。ＣＰＵ２によって、外部記憶装置５から読み込まれた図９の期待値比較ポイント情報１５に従って、シミュレーション結果と入力装置６から入力された図１６の期待値１１とを期待値比較する。
【０１３２】
以下に、出力信号Ｓ２３および出力信号Ｓ２７に対する期待値比較処理について、図１６を参照しながら説明する。
【０１３３】
図１６に示すように、まず、出力信号Ｓ２３に対しては、図９の期待値比較ポイント情報１５で指定されたクロックＣＬＫ９の全サイクル（ｔ１、ｔ２、ｔ３、ｔ４・・・）で期待値比較が行われ、また、出力信号２７に対しては、図９の期待値比較ポイント情報１５で指定されたクロックＣＬＫ１０のサイクル（Ｔ３、Ｔ４、Ｔ６、Ｔ７、Ｔ９・・・）で期待値比較が行われる。ここで、期待値比較は時間軸に沿って順次行われるため、期待値比較実行順は（Ｔ３、ｔ１、Ｔ４、Ｔ６、ｔ２、Ｔ７、Ｔ９・・・）となる。したがって、Ｔ３サイクルにおいて出力信号２７の期待値比較が最初に行われるが、このとき、期待値が「１」で、シミュレーション結果が「０」となり、不一致となる。不一致が発生したＴ３サイクルの時点で、ＣＰＵ２によって直ちに論理シミュレーションが停止され、図１７に示すように、表示装置７に対して、不一致が発生した信号名として出力信号Ｓ２７、不一致発生時間としてサイクルＴ３という情報を出力する。
【０１３４】
以上のように、本発明によれば、内部信号を参照したり、回路内部を解析して人手により期待値比較に必要な情報を指定したりすることなく、クロック情報１２と、クロックドメイン間の最大遅延制約情報１３とを元に、異なるクロックドメインに属する回路間のデータの受け渡し時に発生する出力結果の不確定タイミングを除外して、適切な期待値比較ポイントを自動設定することができる。期待値比較ポイントを設定する際に用いられるデータは、クロックの周期、クロックの立ち上がりエッジおよび立ち下がりエッジの少なくとも一方との情報を含むクロック情報と、異なるクロックドメイン間のデータ伝播に許容される遅延の最大値であるクロックドメイン間の最大遅延制御情報であり、論理シミュレーションには回路のトップ階層の信号のみが用いられるため、従来技術に比べて取り扱うデータ量が少なく、高速に論理シミュレーションを実行することができる。また、論理シミュレーション実行中に期待値比較を逐次行うことにより、検証効率を向上させることができる。さらに、期待値比較に不一致が発生した場合に、シミュレーションを中止して、不一致が発生した信号名と不一致発生時間とを出力して、不一致箇所に関する情報を利用者に通知することができる。
【０１３５】
なお、上記実施形態では、可読記録媒体としては、特に説明しなかったが、ＲＯＭ３の他に、各種ＩＣメモリ、光ディスク（例えばＣＤ）および磁気記録媒体（例えばＦＤ）などの小型携帯用記録媒体であってもよく、論理回路機能検証支援システム１において、このＲＯＭ３や小型携帯用記録媒体に記録された本発明の上記制御プログラムが読み取られた後に、ワークメモリとして働くＲＡＭ４内に格納されてＣＰＵ２によって論理回路機能検証支援方法の各処理（図３参照）を実行することができる。上記制御プログラムの読み取りは、無線または有線を介して通信機（受信機）で入手してＲＡＭ４内に格納することも可能である。
【０１３６】
ここで、本発明の制御プログラムは、複数のクロック系統のドメインに属する回路を含む論理シミュレーション対象回路を機能検証する回路機能検証支援システムを用いる回路機能検証支援方法の各処理をコンピュータ実行させるための制御プログラムであって、回路の接続情報および遅延情報を有するネットリストを用いて論理シミュレーション対象回路の出力信号側から入力信号方向へバックトレースして出力信号の伝播経路を解析する処理と、該出力信号の伝播経路の途中で、該クロック系統が異なるクロックドメイン間でデータの受け渡しがあったか否かの情報および、論理シミュレーション対象回路のクロック波形を特定可能とするクロック情報、該クロック系統が異なるクロックドメイン間のデータ伝播に許容される遅延の最大値である最大遅延制約情報を取得する情報取得処理と、該データの受け渡しがなかった場合に、期待値の比較対象である信号を駆動しているクロック系統の全サイクルで期待値比較が行われるように、期待値比較ポイントを設定する第１期待値比較ポイント設定処理、低速動作回路から高速動作回路にデータの受け渡しがあった場合に、該クロック情報に基づいて、低速クロックの立ち上がりエッジの直後に、高速クロックの立ち上がりエッジが含まれるサイクルを期待値比較ポイントから除外して、該期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定する第２期待値比較ポイント設定処理および、該高速動作回路から該低速動作回路にデータの受け渡しがあった場合に、該クロック情報および最大遅延制約情報に基づいて、該低速クロックの立ち上がりエッジからその直前の高速クロックの立ち上がりエッジまでの時間を計算し、その計算値が最大遅延制約値よりも小さい場合に、該低速クロックの立ち上がりクロックサイクルの箇所について期待値比較ポイントから除外して、該期待値の比較対象である信号を駆動しているクロックのクロックサイクルを期待値比較ポイントとして設定する第３期待値比較ポイント設定処理と、該クロック系統が異なるクロックドメイン間でデータの受け渡しがあった場合に、データの受け渡し後、回路の出力部から出力信号として出力されるまでの経路に存在するフリップフロップの段数情報を取得する処理と、該段数情報の段数分だけ、得ている期待値比較ポイントを後ろ側にシフトさせる第４期待値比較ポイント設定処理と、回路の接続情報および遅延情報を有するネットリストに基いて論理シミュレーションを実行する論理シミュレーション実行処理と、該論理シミュレーション実行処理によるシミュレーション結果と前記期待値とを前記期待値比較ポイントに従って比較する期待値比較処理と、該期待値比較処理による比較結果に基いて、該論理シミュレーション実行処理動作を制御する論理シミュレーション制御処理とをコンピュータに実行させる。
【０１３７】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【０１３８】
論理回路の機能を検証するために用いられる論理回路機能検証支援システムの分野において、複数のクロック系統のドメインに属する回路を有する論理回路において、信号伝播の遅延などの影響によってシミュレーション結果と期待値との間にサイクルずれが発生するような場合においても、回路の内部情報を必要とせず、クロック情報とクロックドメイン間の最大遅延制約情報のみから、適切に期待値比較ポイントを事前設定することができる。また、シミュレーション実行中に逐次期待値比較を行うことによって検証効率を向上させることが可能となる。期待値比較ポイントの設定時に利用されるデータは、クロック情報とクロックドメイン間の最大遅延情報であり、論理シミュレーションには回路のトップ階層の信号を用いるため、取り扱うデータ量が少なく、高速に論理シミュレーションを実行することが可能である。
【図面の簡単な説明】
【０１３９】
【図１】本発明の論理回路機能検証支援システムの実施形態における機能構成例を示すブロック図である。
【図２】図１の論理回路機能検証支援システムのハード構成例を示すブロック図である。
【図３】図１の期待値比較ポイント設定部の動作を説明するためのフローチャートである。
【図４】図３のステップｅの期待値比較ポイント除外方法を説明するための図である。
【図５】図３のステップｆの期待値比較ポイント除外方法を説明するための図である。
【図６】実施例１におけるシミュレーション対象回路を説明するための回路図である。
【図７】実施例１におけるクロック情報の内容を示す図である。
【図８】実施例１における期待値比較ポイント除外方法を説明するための図である。
【図９】実施例１における期待値比較ポイント情報の内容を示す図である。
【図１０】実施例１における期待値の波形およびシミュレーション結果の波形を示す波形図である。
【図１１】実施例２におけるシミュレーション対象回路を説明するための回路図である。
【図１２】実施例２におけるクロック情報の内容を示す図である。
【図１３】実施例２における期待値比較ポイント除外方法を説明するための図である。
【図１４】実施例２における期待値比較ポイント情報の内容を示す図である。
【図１５】実施例２おける期待値の波形およびシミュレーション結果の波形を示す波形図である。
【図１６】実施例３おける期待値の波形およびシミュレーション結果の波形を示す波形図である。
【図１７】実施例３おける期待値不一致発生時の出力結果を示す図である。
【図１８】従来技術におけるシミュレーション対象回路を説明するための回路図である。
【図１９】従来技術を説明するための期待値の波形およびシミュレーション結果の波形を示す波形図である。
【図２０】従来技術におけるシミュレーション対象回路を説明するための回路図である。
【図２１】従来技術の問題点を説明するための期待値の波形およびシミュレーション結果の波形を示す波形図である。
【符号の説明】
【０１４０】
１  論理回路機能検証支援システム
２  ＣＰＵ
３  ＲＯＭ
４  ＲＡＭ
５  外部記憶装置
６  入力装置
７  表示装置
８  バスライン
１０  ネットリスト
１１  期待値
１２  クロック情報
１３  クロックドメイン間の最大遅延制約情報
１４  期待値比較ポイント設定部
１５  期待値比較ポイント情報
１６  論理シミュレーション実行部
１７  期待値比較部
１８  論理シミュレーション制御部
１９  結果出力部
２０  期待値比較結果
３０，４０  論理回路
３１，３３〜３６，４１，４３〜４５  フリップフロップ
３２，４２  組み合わせ回路
【図１】
2005182093.tif 000003
【図２】
2005182093.tif 000004
【図３】
2005182093.tif 000005
【図４】
2005182093.tif 000006
【図５】
2005182093.tif 000007
【図６】
2005182093.tif 000008
【図７】
2005182093.tif 000009
【図８】
2005182093.tif 000010
【図９】
2005182093.tif 000011
【図１０】
2005182093.tif 000012
【図１１】
2005182093.tif 000013
【図１２】
2005182093.tif 000014
【図１３】
2005182093.tif 000015
【図１４】
2005182093.tif 000016
【図１５】
2005182093.tif 000017
【図１６】
2005182093.tif 000018
【図１７】
2005182093.tif 000019
【図１８】
2005182093.tif 000020
【図１９】
2005182093.tif 000021
【図２０】
2005182093.tif 000022
【図２１】
2005182093.tif 000023