(57)【要約】【課題】回路の結線情報に基づき信号経路の逆方向トレースを行い、同期ユニットが同期動作できるか否かの判定が可能な回路の設計検証方法、設計検証装置、及びコンピュータプログラムを提供することを目的とする【解決手段】選択された同期ユニットに対して、選択された注目同期信号端子（Ｓ２）から信号経路の逆方向トレース処理を行い（Ｓ３）同期信号経路情報（Ｄ３）を格納する（Ｓ４）。この手続きを同期信号端子ごとに行う（Ｓ５：ＹＥＳ）。次に注目同期化入力端子ごとに選択して（Ｓ６）駆動経路の逆方向トレース処理を行い（Ｓ７）駆動経路の起点を起点情報（Ｄ４）として格納する（Ｓ８）。同期信号経路情報（Ｄ３）及び起点情報（Ｄ４）により、駆動経路の起点が同じ同期化グループの同期信号経路に一致するか否かの判定を行う（Ｓ１１）。一致判定により（Ｓ１１：ＹＥＳ）回路は同期設計されていると判定される（Ｓ１４）。【選択図】　図１
2004086813.tif 000002
【特許請求の範囲】
【請求項１】
同期信号端子と、前記同期信号端子への同期信号に応じて同期動作し、少なくとも１つの入力信号が取り込まれる少なくとも１つの同期化入力端子とを備えた同期ユニットを含む回路の設計検証方法であって、
検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定する同期経路確定ステップと、
前記検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路を確定する入力駆動経路確定ステップと、
前記駆動経路の起点が前記同期信号経路に一致するか否かを判定する同期判定ステップとを有することを特徴とする回路の設計検証方法。
【請求項２】
前記検証対象の同期ユニットを選択する検証対象選択ステップを更に有することを特徴とする請求項１に記載の回路の設計検証方法。
【請求項３】
前記同期経路確定ステップでは、前記検証対象の同期ユニットにおける注目同期信号端子を起点として、前記注目同期信号の伝播方向とは逆方向に信号経路をトレースすることを特徴とする請求項１に記載の回路の設計検証方法。
【請求項４】
前記入力駆動経路確定ステップでは、前記検証対象の同期ユニットにおける注目同期化入力端子を起点として、前記注目入力信号の伝播方向とは逆方向に信号経路をトレースすることを特徴とする請求項１に記載の回路の設計検証方法。
【請求項５】
前記トレースにより、
前記同期ユニットの同期出力端子に到達する場合、前記同期ユニットにおける前記同期信号端子、または非同期入力端子に対して順次トレースを継続し、
非同期ユニットの非同期出力端子に到達する場合、前記非同期ユニットにおける全入力端子に対して順次トレースを継続することを特徴とする請求項３または４の何れかに記載の回路の設計検証方法。
【請求項６】
前記トレースにより、
前記検証対象の同期ユニットにおける注目同期出力端子に到達し、前記注目同期出力端子が、前記注目同期信号とは異なる他の注目同期信号により同期動作される場合、前記他の注目同期信号が入力される他の注目同期信号端子に対してトレースを継続することを特徴とする請求項３または４の何れかに記載の回路の設計検証方法。
【請求項７】
前記トレースは、
前記同期経路確定ステップの場合、ＰＬＬ回路、アナログ回路ユニット、外部入力端子、または、前記検証対象の同期ユニットにおいて前記注目同期信号により同期動作される注目同期出力端子の何れかに到達した場合に停止し、
前記入力駆動経路確定ステップの場合、前記ＰＬＬ回路、前記アナログ回路ユニット、前記外部入力端子、前記検証対象の同期ユニットにおいて前記注目同期信号により同期動作される注目同期出力端子に加えて、前期同期信号経路を含めた何れかに到達した場合に停止することを特徴とする請求項３または４の何れかに記載の回路の設計検証方法。
【請求項８】
前記検証対象の同期ユニットにおいて、注目同期信号端子を複数備え、前記注目同期信号端子ごとに入力される前記注目同期信号に応じて、同期動作が行われる注目同期化入力端子ごとに同期化グループとして纏められており、
前記同期判定ステップは、前記同期化グループごとに行われることを特徴とする請求項１に記載の回路の設計検証方法。
【請求項９】
同期信号端子と、前記同期信号端子への同期信号に応じて同期動作し、少なくとも１つの入力信号が取り込まれる少なくとも１つの同期化入力端子とを備えた同期ユニットを含む回路の設計検証装置であって、
検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定する同期経路確定部と、
前記検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路を確定する入力駆動経路確定部と、
前記駆動経路の起点が前記同期信号経路に一致するか否かを判定する同期判定部とを備えることを特徴とする回路の設計検証装置。
【請求項１０】
同期信号端子と、前記同期信号端子への同期信号に応じて同期動作し、少なくとも１つの入力信号が取り込まれる少なくとも１つの同期化入力端子とを備えた同期ユニットを含む回路の設計検証のためのコンピュータプログラムであって、
検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定する同期経路確定ステップと、
前記検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路を確定する入力駆動経路確定ステップと、
前記駆動経路の起点が前記同期信号経路に一致するか否かを判定する同期判定ステップとを有する設計検証を実行することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同期信号に応じて同期動作する同期ユニットを含む回路の設計検証方法、設計検証装置、およびコンピュータプログラムに関するものである
【０００２】
【従来の技術】
同期セルや同期マクロ等の同期ユニットを含んだ回路の設計検証として、同期ユニットの同期化入力端子に、同期信号に同期して入力信号が入力されるように設計されているか否かの判定を行う必要がある。
【０００３】
こうした設計検証を行うための第１従来技術として、論理シミュレーションによる回路動作の検証が一般的に行われてきた。図１５にその検証フローを示す。先ず、同期ユニットの選定（Ｓ２１）、および選定された同期ユニットにおける同期化入力端子の選定（Ｓ２２）を行う。但し、ここでの選定では、検証すべき同期ユニット、および同期化入力端子が予め既知であることが必要である。
【０００４】
次に検証を行うためのシミュレーション条件となるテストベクターを作成する（Ｓ２３）。ここで作成すべきテストベクターは少なくとも２種類が必要となる。その第１は、同期化入力端子への入力信号の入力タイミングを調整して、同期ユニットにおいてクロック信号と同一のタイミングで入力されるクリティカルな入力条件となるテストベクター（Ｓ２３：（１））である。第２は、通常のタイミングにおいて同期ユニットからの読み出し動作等を行うことにより、クリティカルな入力タイミングに対する動作結果を確認するためのテストベクター（Ｓ２３：（２））である。信号タイミングを任意に調整することができる機能を有するシミュレータが必要となる。
【０００５】
作成された複数のテストベクターに基づいてシミュレーションを実行し（Ｓ２４）、得られたシミュレーション結果を検証することにより同期動作が可能なタイミング設計が行われているか否かを判定する（Ｓ２５）。
【０００６】
また第２従来技術として、特開平９−２５９１７３号公報に記載されている設計方法では、回路要素であるフリップフロップについて信号追跡処理が行われる。上流経路を１本ずつ逆上り非同期信号が与えられる入力端子に到達する場合、この上流経路に存在するフリップフロップは、不安定な動作をする可能性があるとして判定される。
【０００７】
図１６に設計検証フローとして信号追跡処理のフローを示す。フリップフロップを選択し（Ｓ３１）、入力端子または別のフリップフロップに到達するまで経路を逆上り上流経路探索を行う（Ｓ３２）。フリップフロップに到達した場合には（Ｓ３３）、全上流経路の探索が終了したか否かで、Ｓ３２乃至Ｓ３４の手続き（Ｓ３４：ＮＯ）と、全フリップフロップの選択済みか否かの判断（Ｓ３７）の手続き（Ｓ３４：ＹＥＳ）とに分岐する。
【０００８】
入力端子に到達した場合には（Ｓ３３）、入力信号が同期信号か否かで、Ｓ３４の手続き（Ｓ３５：ＹＥＳ）と、Ｓ３６のフリップフロップの処理対象としての登録手続き（Ｓ３５：ＮＯ）とに分岐する。Ｓ３６の手続き後は、Ｓ３７に移行し、未選択のフリップフロップがある場合には（Ｓ３７：ＮＯ）、Ｓ３１に戻り処理を継続する。選択済みの場合（Ｓ３７：ＹＥＳ）に、信号追跡処理を終了する。
【０００９】
【発明が解決しようとする課題】
しかしながら、第１従来技術による設計検証では、入力信号の入力タイミングがクリティカルなタイミングとなる同期ユニットに対して、入力信号の入力タイミングを適宜に調整してシミュレーションをする必要がある。そのため、検証すべき同期ユニットは予め既知であることが必要となる。検証に先立ち、同期ユニットの選定を行わなければならず、設計者の知見や経験等に依存した選定にならざるを得ない。設計者の能力の違いや不注意による選択漏れを排除することができず、漏れのない検証を確実に行うことができず問題である。
【００１０】
また、検証に使用すべき論理シミュレータとして、信号のタイミングを適宜に調整できる機能を有していることが必要となる。通常のシミュレータが同期信号の遷移タイミングに合わせてシミュレーションを実行することに比して、特殊な機能を有することが必要となる。高価な論理シミュレータが必要となり問題である。
【００１１】
更に、検証対象となる同期ユニットにおける同期化入力端子に入力される入力信号の遷移タイミングが、同期信号の遷移タイミングと同一タイミングになるようにクリティカルタイミングにテストベクターを調整しなければならない。加えて、同一タイミングでの動作結果を確認するために通常動作でのテストベクターを備える必要もある。クリティカルなテストベクターのタイミング調整や、複数のテストベクターの作成が必要となり設計検証時間の短縮を図ることができず問題である。
【００１２】
また、第２従来技術の方法では、検証対象とされる同期ユニットはフリップフロップセルに限定されている。ラッチセルや同期型メモリマクロ等のその他の同期ユニットには適用することができず問題である。
【００１３】
また、同期ユニットであるフリップフロップセルへの入力信号が、同期信号であるか非同期信号であるかの判定を行うためには、信号追跡処理の結果、上流経路が入力端子に行き着くことが必要である。更に、行き着いた入力端子に入力される入力信号が、同期信号であるか非同期信号であるかが既知である必要がある。これらの条件を満足しない回路については、判定を行うことができず問題である。
【００１４】
また、同期信号として１種類の同期信号が定義されているのみであり、回路が複数の同期信号により駆動されている場合には判定することができず問題である。
【００１５】
本発明は前記従来技術の課題の少なくとも１つを解消するためになされたものであり、選定された検証対象の同期ユニットに応じてテストベクターを作成してシミュレーションを行うことなく、回路の結線情報に基づき信号経路の逆方向トレースを行うことにより、同期ユニットの同期動作が可能か否かを判定することができる回路の設計検証方法、設計検証装置、およびコンピュータプログラムを提供することを目的とする。
【００１６】
【課題を解決するための手段】
前記目的を達成するために、請求項１に係る回路の設計検証方法は、同期信号端子と、同期信号端子への同期信号に応じて同期動作し、少なくとも１つの入力信号が取り込まれる少なくとも１つの同期化入力端子とを備えた同期ユニットを含む回路に対して、検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定する同期経路確定ステップと、検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路を確定する入力駆動経路確定ステップと、駆動経路の起点が同期信号経路に一致するか否かを判定する同期判定ステップとを有することを特徴とする。
【００１７】
また、請求項１０に係るコンピュータプログラムは、同期信号端子と、同期信号端子への同期信号に応じて同期動作し、少なくとも１つの入力信号が取り込まれる少なくとも１つの同期化入力端子とを備えた同期ユニットを含む回路の設計検証のため、検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定する同期経路確定ステップと、検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路を確定する入力駆動経路確定ステップと、駆動経路の起点が同期信号経路に一致するか否かを判定する同期判定ステップとを有することを特徴とする。
【００１８】
請求項１の回路の設計検証方法、または請求項１０のコンピュータプログラムでは、同期経路確定ステップにおいて検証対象の同期ユニットに入力される注目同期信号の同期信号経路が確定され、入力駆動経路確定ステップにおいて検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路が確定される。同期経路確定ステップと入力駆動経路確定ステップとの確定結果に基づき、同期判定ステップにおいて駆動経路の起点が同期信号経路に一致するか否かが判定される。
【００１９】
ここで、“ユニット”とは、一纏まりの回路機能を奏する回路構成の呼称である。回路規模が比較的小さな場合の呼称である“セル”と、回路規模が比較的大きな場合の呼称である“マクロ”との両者を含む概念である。回路セルとしては、デジタル回路の場合のナンド論理ゲートやフリップフロップセル、アナログ回路の場合のコンパレータ等が具体例となる。回路マクロとしては、メモリマクロやＰＬＬ回路等が具体例となる。
【００２０】
また、請求項９に係る回路の設計検証装置は、同期信号端子と、同期信号端子への同期信号に応じて同期動作し、少なくとも１つの入力信号が取り込まれる少なくとも１つの同期化入力端子とを備えた同期ユニットを含む回路に対して、検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定する同期経路確定部と、検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路を確定する入力駆動経路確定部と、駆動経路の起点が同期信号経路に一致するか否かを判定する同期判定部とを備えることを特徴とする。
【００２１】
請求項９の回路の設計検証装置では、同期経路確定部が、検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定し、入力駆動経路確定部が、検証対象の同期ユニットに入力される注目入力信号ごとに駆動経路を確定する。同期経路確定部と入力駆動経路確定部との確定結果に基づき、同期判定部が、駆動経路の起点が同期信号経路に一致するか否かを判定する。
【００２２】
これにより、同期経路確定ステップまたは同期経路確定部により、検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定することができる。入力駆動経路確定ステップまたは入力駆動経路確定部により、検証対象の同期ユニットに入力される注目入力信号を駆動する駆動経路を、注目入力信号ごとに確定することができる。そして、同期判定ステップまたは同期判定部により、駆動経路の起点が同期信号経路に一致すれば、注目入力信号を駆動する源信号が注目同期信号であることとなる。従って、注目入力信号は注目同期信号に同期して駆動されていると判定され、検証対象の同期ユニットは同期駆動される設計であると判定することができる。
【００２３】
任意の同期ユニットに対して同様に設計検証を行うことができ、予め判定すべき同期ユニットを選定しておく必要はない。検証対象とすべき同期ユニットとしては、回路内の全ての同期ユニットとすることができるほか、同期ユニットが有する属性情報から選択するように設定することもできる。また、検証する必要がない同期ユニットについては、予め検証対象から除外しておくことも可能である。検証対象の同期ユニットを確実に選定することができ、漏れのない検証を行うことができる。
【００２４】
また、回路図やネットリスト等の回路の結線情報があれば、信号経路をトレースすることにより設計検証を行うことができる。論理シミュレータ等を使用して回路シミュレーションを行う必要はなく、シミュレーション実行のためのテストベクターの作成も不要である。設計検証時間の短縮を図ることができる。
【００２５】
更に、検証できる同期ユニットはフリップフロップセルに限定されることはなく、ラッチセルや同期型メモリマクロ等のその他の同期ユニットに対しても同様に適用することができる。また、注目入力信号の駆動経路の起点と同期信号経路との一致を判定すればよいので、駆動経路の起点が回路の入力端子まで逆上る必要はない。更に、注目同期信号の数は１つには限定されない。様々な構成を有する回路について柔軟に設計検証を行うことができる。
【００２６】
また、請求項２に係る回路の設計検証方法は、請求項１に記載の回路の設計検証方法において、検証対象の同期ユニットを選択する検証対象選択ステップを更に有することを特徴とする。
【００２７】
これにより、検証対象とすべき同期ユニットの選択は、回路内の全ての同期ユニットから順次選択することができ、同期ユニットが有する属性情報から選択するように設定することもできる。また、検証する必要がない同期ユニットについては、予め検証対象から除外しておくことも可能となる。
【００２８】
また、請求項３に係る回路の設計検証方法は、請求項１に記載の回路の設計検証方法において、同期経路確定ステップでは、検証対象の同期ユニットにおける注目同期信号端子を起点として、注目同期信号の伝播方向とは逆方向に信号経路をトレースすることを特徴とする。
【００２９】
また、請求項４に係る回路の設計検証方法は、請求項１に記載の回路の設計検証方法において、入力駆動経路確定ステップでは、検証対象の同期ユニットにおける注目同期化入力端子を起点として、注目入力信号の伝播方向とは逆方向に信号経路をトレースすることを特徴とする。
【００３０】
これにより、検証対象の同期ユニットから、注目同期信号の信号経路または注目入力信号の駆動経路を逆上ることができる。
【００３１】
また、請求項５に係る回路の設計検証方法は、請求項３または４の何れかに記載の回路の設計検証方法において、トレースにより、同期ユニットの同期出力端子に到達する場合、同期ユニットにおける同期信号端子、または非同期入力端子に対して順次トレースを継続し、非同期ユニットの非同期出力端子に到達する場合、非同期ユニットにおける全入力端子に対して順次トレースを継続することを特徴とする。
【００３２】
ここで、非同期入力端子には、同期経路確定ステップの場合、注目同期信号についての有効な遷移として伝播される、同期出力端子からの信号の状態遷移を生じさせる信号が入力される。検証対象の同期ユニットは、注目同期信号の立ち上がりまたは立ち下がりエッジでトリガされるが、トリガされる信号遷移を注目同期信号に供給する信号を意味する。非同期入力端子を有する同期ユニットの同期出力端子が、注目同期信号端子に接続されているとすると、注目同期信号の立ち上がりエッジに対して有効な非同期入力端子は、例えばセット（ＳＥＴ）端子である。同様に、注目同期信号の立ち下がりエッジに対して有効な非同期入力端子は、例えばクリア（ＣＬ）端子である。
【００３３】
また、非同期入力端子には、入力駆動経路確定ステップの場合、注目入力信号の遷移として伝播される、同期出力端子からの信号の状態遷移を生じさせる信号が入力される。検証対象の同期ユニットには、注目同期信号に同期して注目入力信号が遷移する必要がある。非同期入力端子により同期ユニットの同期出力端子の信号が状態遷移し、検証対象の同期ユニットへの注目入力信号の状態遷移として伝播することが必要となる。非同期入力端子の例としては、クロック端子、セット（ＳＥＴ）端子、クリア（ＣＬ）端子等がある。
【００３４】
更に、非同期ユニットについては、全入力端子をトレースの対象とする。非同期ユニットであるため、どの入力端子への信号入力に対しても非同期出力端子からの出力信号が遷移するので、各々の入力端子の遷移に応じた信号遷移が、注目同期信号、注目入力信号に伝播するからである。
【００３５】
これにより、注目同期信号、および注目入力信号の信号遷移の起因となる端子に対してのみトレースを継続することができる。不要な経路に対するトレースは行われず、同期信号経路のトレース、および注目入力信号の駆動経路のトレースを迅速、且つ確実に行うことができる。
【００３６】
また、請求項６に係る回路の設計検証方法は、請求項３または４の何れかに記載の回路の設計検証方法において、トレースにより、検証対象の同期ユニットにおける注目同期出力端子に到達し、注目同期出力端子が、注目同期信号とは異なる他の注目同期信号により同期動作される場合、他の注目同期信号が入力される他の注目同期信号端子に対してトレースを継続することを特徴とする。
【００３７】
これにより、トレース処理の結果として検証対象の同期ユニットの注目同期出力端子に到達した場合にも、この注目同期出力端子と同期動作する他の注目同期信号に対してトレースを継続すればよい。
【００３８】
また、請求項７に係る回路の設計検証方法は、請求項３または４の何れかに記載の回路の設計検証方法において、トレースは、同期経路確定ステップの場合、ＰＬＬ回路、アナログ回路ユニット、外部入力端子、または、検証対象の同期ユニットにおいて注目同期信号により同期動作される注目同期出力端子の何れかに到達した場合に停止し、入力駆動経路確定ステップの場合、更に加えて、同期信号経路を含めた何れかに到達した場合に停止することを特徴とする。
【００３９】
これにより、トレース処理の結果としてＰＬＬ回路に到達した場合には、同期信号の信号源に到達したこととなるのでトレース処理は停止する。また、アナログ回路ユニットに到達した場合には、注目同期信号および注目入力信号に信号遷移を伝播する信号源とはならないと判断してトレース処理を停止する。また、外部入力端子に到達した場合には、更に逆上ることはできないのでトレース処理を停止する。また、検証対象の同期ユニットの注目同期信号により同期動作される注目同期出力端子に到達した場合、または同期信号経路に到達した場合には、トレース処理は停止する。
【００４０】
また、請求項８に係る回路の設計検証方法は、請求項１に記載の回路の設計検証方法において、検証対象の同期ユニットにおいて、注目同期信号端子を複数備え、注目同期信号端子ごとに入力される注目同期信号に応じて、同期動作が行われる注目同期化入力端子ごとに同期化グループとして纏められており、同期判定ステップは、同期化グループごとに行われることを特徴とする。
【００４１】
これにより、同期化グループごとに検証を行うことができる。
【００４２】
【発明の実施の形態】
以下、本発明の回路の設計検証方法、設計検証装置、およびコンピュータプログラムについて具体化した実施形態を図１乃至図１４に基づき図面を参照しつつ詳細に説明する。
【００４３】
図１、２には、実施形態の設計検証フローを示す。ここに示す設計検証フローでは、図１に示すように先ず、検証対象選択ステップを行う。予め格納されているネットリスト情報（Ｄ１）や、必要に応じて参照される同期ユニットのうちの検証対象とすべきリスト情報あるいは同期ユニットの属性情報（Ｄ２）の少なくとも何れか一方の情報に基づいて、検証対象の同期ユニットの選択を行う（Ｓ１）。
【００４４】
検証対象の選択を行った後、同期経路確定ステップを行う。選択された同期ユニットに対して注目同期信号端子の選択を行う（Ｓ２）。Ｓ２で選択された注目同期信号端子から注目同期信号の同期信号経路を確定するための逆方向トレース処理を行う（Ｓ３）。逆方向トレース処理の結果、確定した同期信号経路は、同期信号経路情報（Ｄ３）として格納される（Ｓ４）。ここで検証対象の同期ユニットについては、複数の注目同期信号端子が存在する場合もある。他の注目同期信号端子が存在する場合には（Ｓ５：ＹＥＳ）、Ｓ２の手続きに戻り、新たな選択に対して同期信号経路の確定と格納手続きを繰り返す。他の注目同期信号端子が存在しない場合には（Ｓ５：ＮＯ）、注目同期信号に対する同期信号経路の確定、格納手続きを終了する。
【００４５】
次に、入力駆動経路確定ステップを行う。Ｓ１で選択された同期ユニットに対して注目同期化入力端子の選択を行う（Ｓ６）。この選択においては、必要に応じてネットリスト情報（Ｄ１）や同期ユニットの属性情報（Ｄ２）等を参照して行う。選択された注目同期化入力端子から注目入力信号の駆動経路を確定するための逆方向トレース処理を行う（Ｓ７）。逆方向トレース処理の結果、確定した駆動経路の起点は、起点情報（Ｄ４）として格納される（Ｓ８）。検証対象の同期ユニットについては、複数の注目同期化入力端子が存在する場合もある。他の注目同期化入力端子が存在する場合には（Ｓ９：ＹＥＳ）、Ｓ６の手続きに戻り新たな選択に対して駆動経路の確定と駆動経路の起点の格納手続きを繰り返す。他の注目同期化入力端子が存在しない場合には（Ｓ９：ＮＯ）、注目入力信号に対する駆動経路の確定、駆動経路の起点の格納手続きを終了して、図２に示す同期判定ステップに移行する。
【００４６】
図２に示す同期判定ステップでは、先ず、注目同期化入力端子を選択する（Ｓ１０）。この選択においては、必要に応じてネットリスト情報（Ｄ１）や同期ユニットの属性情報（Ｄ２）等を参照して行う。Ｓ１０で選択された注目同期化入力端子に対して、同期信号経路情報（Ｄ３）および注目入力信号の駆動経路の起点情報（Ｄ４）を読み出すことにより、駆動経路の起点が同じ同期化グループの同期信号経路に一致するか否かの判定を行う（Ｓ１１）。ここで、同期化グループとは、検証対象の同期ユニットが複数の注目同期信号端子を有する場合に、各注目同期信号端子に入力される注目同期信号に同期して注目入力信号が入力される注目同期化入力端子のグループを一纏めにしたものである。一致しないと判定された場合（Ｓ１１：ＮＯ）には、回路は同期設計されていないと判定されて設計検証フローを終了する（Ｓ１５）。
【００４７】
一致すると判定された場合（Ｓ１１：ＹＥＳ）には、他の注目同期化入力端子の存在判定を行い（Ｓ１２）、存在する場合には（Ｓ１２：ＹＥＳ）、Ｓ１０乃至Ｓ１２の手続きを繰り返す。存在しない場合には（Ｓ１２：ＮＯ）、他の同期ユニットの存在確認をし（Ｓ１３）、存在する場合（Ｓ１３：ＹＥＳ）には、検証対象の同期ユニットを更新した上で（図１のＳ１６）、Ｓ２の手続きに戻る。存在しない場合（Ｓ１３：ＮＯ）には、回路は同期設計されていると判定されて設計検証フローを終了する（Ｓ１４）。
【００４８】
次に、逆方向トレース処理について、図３乃至図１０の具体例（１）乃至（８）に基づき説明する。図３の具体例（１）には、逆方向トレース処理によりフリップフロップセルに到達した場合を示す。（Ａ）は、同期信号経路のトレースの場合を示し、（Ｂ）は、注目入力信号の駆動経路のトレースを示している。
【００４９】
（Ａ）の場合、検証対象の同期ユニット１の注目同期信号端子ＣＫからの逆方向トレースにより、フリップフロップセル２の同期出力端子Ｑに到達したとする。同期出力端子Ｑの信号遷移がそのまま注目同期信号の信号遷移として注目同期信号端子ＣＫに伝播されるものと仮定する。注目同期信号の立ち上がりエッジで同期ユニット１がトリガされるとすると、同期出力端子Ｑに対して立ち上がりエッジの信号遷移をもたらす端子へのトレースを継続することが好ましい。この端子として、セット端子ＳＥＴへのトレース（図３（Ａ）の（１））および同期信号端子ＣＫへのトレースが該当する。逆に、注目同期信号の立ち下がりエッジで同期ユニット１がトリガされるとすると、同期出力端子Ｑに対して立ち下がりエッジの信号遷移をもたらす端子へのトレースを継続することが好ましい。この端子として、同期信号端子ＣＫへのトレースおよびクリア端子ＣＬへのトレース（図３（Ａ）の（２））が該当する。
【００５０】
（Ｂ）の場合、検証対象の同期ユニット１の注目同期化入力端子ＩＮからの逆方向トレースによりフリップフロップセル２の同期出力端子Ｑに到達したとする。同期出力端子Ｑの信号遷移がそのまま注目同期信号の信号遷移として注目同期化信号端子ＣＫに伝播されるものと仮定する。同期ユニット１が同期動作をしているといえるためには、注目同期化入力端子ＩＮへの注目入力信号の信号遷移が注目同期信号の遷移に同期して行われることが必要である。従って、注目同期化入力端子ＩＮへの信号遷移をもたらす端子へのトレースを継続することが好ましい。この端子は、同期出力端子Ｑへの信号遷移をもたらす信号が供給される端子である。この端子として、セット端子ＳＥＴへのトレース、同期信号端子ＣＫへのトレース、およびクリア端子ＣＬへのトレースが該当する。
【００５１】
尚、（Ａ）、（Ｂ）の場合、共にデータ入力端子Ｄへのトレースは行われない。データ入力端子Ｄへの信号遷移に対しては、同期出力端子Ｑの信号遷移は発生しないからである。
【００５２】
図４の具体例（２）には、逆方向トレース処理によりトランスファゲートによるデータ取り込みが行なわれるラッチセル（ラッチ１）３Ａに到達した場合を示す。同期信号経路のトレースの場合（Ａ）、および注目入力信号の駆動経路のトレースの場合（Ｂ）に共通なトレース処理が行われる。
【００５３】
検証対象の同期ユニット１の注目同期信号端子ＣＫまたは注目同期化入力端子ＩＮからの逆方向トレースによりラッチ１（３Ａ）の同期出力端子に到達したとする。同期出力端子の信号遷移が注目同期信号または注目入力信号の信号遷移として伝播されるものと仮定する。ラッチ１（３Ａ）では、トランスファゲートにより制御されてデータ入力端子からのデータが入力されてラッチデータが反転されることとなる。また、この場合のデータ反転は、ローレベルからハイレベル、またはハイレベルからローレベルの何れの方向も可能である。そのため、ラッチ１（３Ａ）の同期出力端子は、トランスファゲートの制御端子からの信号に応じて、注目同期信号端子ＣＫに対する有効な信号遷移、または注目同期化入力端子ＩＮに対する信号遷移を供給することとなる。従って、トランスファゲートの制御端子に対してトレースを継続することが好ましい。
【００５４】
尚、データ入力端子へのトレースは行われない。データ入力端子Ｄへの信号遷移に対しては、同期出力端子の信号遷移は発生しないからである。
【００５５】
図５の具体例（３）には、逆方向トレース処理により、入出力端子がクロスカップルされたナンドゲートにより構成されたラッチセル（ラッチ２）３Ｂに到達した場合を示す。同期信号経路のトレースの場合（Ａ）、および注目入力信号の駆動経路のトレースの場合（Ｂ）に共通なトレース処理が行われる。
【００５６】
検証対象の同期ユニット１の注目同期信号端子ＣＫまたは注目同期化入力端子ＩＮからの逆方向トレースによりラッチ２（３Ｂ）の同期出力端子に到達したとする。同期出力端子の信号遷移が注目同期信号または注目入力端子の信号遷移として伝播されるものと仮定する。ラッチ１（３Ｂ）では、各ナンドゲートの入力端子へのロー信号に応じてラッチデータが反転されることとなる。また、この場合のデータ反転は、ローレベルからハイレベル、またはハイレベルからローレベルの何れの方向も可能である。そのため、ラッチ１（３Ｂ）の同期出力端子は、各ナンドゲートの入力端子からの信号に応じて、注目同期信号端子ＣＫに対する有効な信号遷移、または注目同期化入力端子ＩＮに対する信号遷移を供給することとなる。従って、ラッチ２（３Ｂ）を構成する２つのナンドゲートの入力端子に対してトレースを継続することが好ましい。
【００５７】
図６の具体例（４）には、逆方向トレース処理により複数の同期化グループを有する同期ユニットの例として、２つの同期化グループ（グループ１およびグループ２）を有して構成される同期型メモリマクロ（ＲＡＭ）４に到達した場合を示す。同期信号経路のトレースの場合（Ａ）、および注目入力信号の駆動経路のトレースの場合（Ｂ）に共通なトレース処理が行われる。
【００５８】
検証対象の同期ユニット１の注目同期信号端子ＣＫまたは注目同期化入力端子ＩＮからの逆方向トレースによりＲＡＭ４の同期出力端子ＯＵＴ１に到達したとする。同期出力端子ＯＵＴ１の信号遷移がそのまま注目同期信号または注目入力信号の信号遷移として伝播されるものと仮定する。ＲＡＭ４では、同期信号端子ＣＫ１に同期動作するアドレス端子ＡＤ１と同期出力端子ＯＵＴ１とを含む同期化グループ１、および同期信号端子ＣＫ２に同期動作するアドレス端子ＡＤ２と同期出力端子ＯＵＴ２とを含む同期化グループ２の２つの同期化グループが存在する。ここで、ＲＡＭ４は同期型メモリマクロであるため、同期出力端子ＯＵＴ１、ＯＵＴ２からの信号遷移は、必ず同期信号端子ＣＫ１、ＣＫ２に入力される同期信号に同期して行われる。また、同期出力端子ＯＵＴ１からの信号の反転は、ローレベルからハイレベル、またはハイレベルからローレベルの何れの方向も可能である。そのため、ＲＡＭ４の同期出力端子ＯＵＴ１は、同期信号端子ＣＫ１への信号に応じて、注目同期信号端子ＣＫに対する有効な信号遷移、または注目同期化入力端子ＩＮに対する信号遷移を供給することとなる。従って、同期信号端子ＣＫ１に対してトレースを継続することが好ましい。
【００５９】
尚、アドレス入力端子ＡＤ１へのトレースは行われない。同期型メモリにおいては、同期出力端子ＯＵＴ１からの信号遷移は必ず同期信号端子ＣＫ１への信号遷移に応じて出力されるため、同期判定においては同期信号端子ＣＫ１についてのみトレースを行えば充分であるからである。
【００６０】
図７の具体例（５）には、検証対象の同期ユニットとして２つの同期化グループ（グループ１およびグループ２）を有して構成される同期型メモリマクロ（ＲＡＭ）１Ａにおいて、注目同期信号端子ＣＫ１または注目同期化入力端子ＡＤ１についての同期信号経路または駆動経路をトレースする場合を示す。逆方向トレース処理により、自らの同期ユニット１Ａにおける同期出力端子ＯＵＴ２（図７の（Ｉ）の場合）、ＯＵＴ１（図７の（ＩＩ）の場合）に到達した場合を示す。同期信号経路のトレースの場合（Ａ）、および注目入力信号の駆動経路のトレースの場合（Ｂ）に共通なトレース処理が行われる。
【００６１】
図７の（Ｉ）の場合は、注目同期信号端子ＣＫ１または注目同期化入力端子ＡＤ１とは異なる同期化グループに属する同期出力端子ＯＵＴ２に到達した場合である。同期化グループが異なる場合には、到達した同期出力端子ＯＵＴ２と同じ同期化グループに属する同期信号端子ＣＫ２に対してトレースを継続する。同期出力端子ＯＵＴ２からの信号遷移をもたらす端子は同じ同期化グループの同期信号端子ＣＫ２に入力される信号遷移であるからである。
【００６２】
図７の（ＩＩ）の場合は、注目同期信号端子ＣＫ１または注目同期化入力端子ＡＤ１と同じ同期化グループに属する同期出力端子ＯＵＴ１に到達した場合である。同期化グループが同じ場合には、トレース処理を停止する。同期信号経路のトレースの場合には、注目同期信号端子ＣＫ１に戻ったこととなり同期信号経路が確定されるからである。注目同期化入力端子ＡＤ１への駆動経路のトレースの場合には、駆動経路が注目同期信号端子ＣＫ１に一致することとなる。注目同期化入力端子ＡＤ１については、同期判定において同期設計されると判定される。
【００６３】
図８の具体例（６）には、逆方向トレース処理により非同期ユニットの具体例としてナンドゲート５に到達した場合を示す。同期信号経路のトレースの場合（Ａ）、および注目入力信号の駆動経路のトレースの場合（Ｂ）に共通なトレース処理が行われる。
【００６４】
検証対象の同期ユニット１の注目同期信号端子ＣＫまたは注目同期化入力端子ＩＮからの逆方向トレースによりナンドゲート５の非同期出力端子に到達したとする。非同期出力端子の信号遷移が注目同期信号または注目入力信号の信号遷移として伝播されるものと仮定する。ナンドゲート５では、非同期動作により、何れの入力端子への信号が遷移した場合にも非同期出力端子の信号が反転されることとなる。また、この場合の信号反転は、ローレベルからハイレベル、またはハイレベルからローレベルの何れの方向も可能である。そのため、ナンドゲート５の非同期出力端子は、全ての入力端子からの信号に応じて、注目同期信号端子ＣＫに対する有効な信号遷移、または注目同期化入力端子ＩＮに対する信号遷移を供給することとなる。従って、全入力端子に対してトレースを継続することが好ましい。
【００６５】
図９の具体例（７）には、逆方向トレース処理によりＰＬＬ回路やその他のアナログ回路６に到達した場合を示す。同期信号経路のトレースの場合（Ａ）、および注目入力信号の駆動経路のトレースの場合（Ｂ）に共通なトレース処理が行われる。
【００６６】
検証対象の同期ユニット１の注目同期信号端子ＣＫまたは注目同期化入力端子ＩＮからの逆方向トレースによりアナログ回路６の出力端子に到達したとする。アナログ回路６としてＰＬＬ回路に到達した場合には、同期信号の信号源に到達したこととなるのでトレース処理は停止する。また、アナログ回路６としてその他のアナログ回路に到達した場合には、出力端子からの信号は、注目同期信号および注目入力信号に信号遷移を伝播する信号源とはならないと判断してトレース処理を停止する。
【００６７】
図１０の具体例（８）には、逆方向トレース処理により外部入力端子７に到達した場合を示す。同期信号経路のトレースの場合（Ａ）、および注目入力信号の駆動経路のトレースの場合（Ｂ）に共通なトレース処理が行われる。
【００６８】
外部入力端子７に到達した場合には、更に逆上ることはできないのでトレース処理を停止する。
【００６９】
なお、図示はされていないが、注目同期化入力端子の駆動経路のトレース処理において、同期信号経路に到達した場合にもトレース処理は停止する。
【００７０】
図１１乃至図１３に示した具体的回路について、逆方向トレース処理の適用例（１）乃至（３）を説明する。図１１の具体的回路では、検証対象の同期ユニットである同期型メモリマクロ（ＲＡＭ）１１に対して逆方向トレース処理を行う。同期経路確定の手続きを行う場合には、注目同期信号端子ＣＫから配線ｂを介してフリップフロップセル（ＦＦ）２２の同期出力端子に到達する。フリップフロップセル（ＦＦ）２２は同期ユニットであるので、同期信号端子と非同期入力端子に対してトレースを継続することとなる。ここでは非同期入力端子がないので、同期信号端子ＣＫに対して逆方向トレースが継続される。配線ａを介して外部入力端子ＣＫ１に到達したところでトレースは停止される。確定した同期信号経路は、配線ａおよびｂである。
【００７１】
注目同期化入力端子の駆動経路確定の手続きを行う場合には、注目同期化入力端子であるアドレス端子ＡＤから配線ｄを介してフリップフロップセル（ＦＦ）２１の同期出力端子に到達する。ここで、フリップフロップセル（ＦＦ）２１はフリップフロップセル（ＦＦ）２２と同等の回路構成である。そのため、同期信号端子ＣＫに対して逆方向トレースが継続される。配線ｅを介してインバータゲートに到達する。インバータゲートは非同期ユニットであるので全入力端子に対してトレースを継続する。配線ｃを介して外部入力端子Ｄに到達したところでトレースは停止される。アドレス端子ＡＤの駆動経路の起点は外部入力端子Ｄとなる。
【００７２】
従って、同期判定の手続きにおいては、アドレス端子ＡＤの駆動経路の起点である外部入力端子Ｄと、同期信号経路である配線ａおよびｂとは一致しない。従って、図１１の回路においては同期設計されていないと判定される。実際の回路動作では、アドレス端子ＡＤへは外部入力端子Ｄに供給される信号遷移に同期して信号が入力されることとなる。外部入力端子Ｄに供給される信号が外部入力端子ＣＫ１に供給される信号に同期する場合にのみ、同期型メモリマクロ（ＲＡＭ）１１が同期動作することとなる。しかしながら、回路の外部仕様である外部入力端子Ｄ、ＣＫ１への供給信号の仕様が回路の設計段階で不明である場合には、本回路の設計検証として同期設計されていないと判定することは妥当である。外部入力端子Ｄ、ＣＫ１への供給信号の仕様が予め既知である場合には、この仕様情報に基づいて判定を行うことが可能である。
【００７３】
図１２の具体的回路では、検証対象の同期ユニットである同期型メモリマクロ（ＲＡＭ）１１に対して逆方向トレース処理を行う。同期経路確定の手続きを行う場合には、注目同期信号端子ＣＫから配線ｂを介して外部入力端子ＣＫ２に到達する。外部入力端子ＣＫ２に到達したところでトレースは停止される。確定した同期信号経路は、配線ｂである。
【００７４】
注目同期化入力端子の駆動経路確定の手続きを行う場合には、注目同期化入力端子であるアドレス端子ＡＤから配線ｄを介してフリップフロップセル（ＦＦ）２３の同期出力端子に到達する。ここで、フリップフロップセル（ＦＦ）２３は、図１１のフリップフロップセル（ＦＦ）２１、２２と同等の回路構成である。そのため、同期信号端子ＣＫに対して逆方向トレースが継続される。配線ａを介して外部入力端子ＣＫ１に到達したところでトレースは停止される。アドレス端子ＡＤの駆動経路の起点は外部入力端子ＣＫ１となる。
【００７５】
従って、同期判定の手続きにおいては、アドレス端子ＡＤの駆動経路の起点である外部入力端子ＣＫ１と、同期信号経路である配線ｂとは一致しない。従って、図１２の回路においては同期設計されていないと判定される。実際の回路動作では、アドレス端子ＡＤへは、外部入力端子ＣＫ１に供給される信号遷移に同期して信号が入力されることとなる。外部入力端子ＣＫ１に供給される信号が外部入力端子ＣＫ２に供給される信号に同期する場合にのみ、同期型メモリマクロ（ＲＡＭ）１１が同期動作することとなる。しかしながら、回路の外部仕様である外部入力端子ＣＫ１、ＣＫ２への供給信号の仕様が回路の設計段階で不明である場合には、本回路の設計検証として同期設計されていないと判定することは妥当である。外部入力端子Ｄ、ＣＫ１への供給信号の仕様が予め既知である場合には、この仕様情報に基づいて判定を行うことが可能である。
【００７６】
図１３の具体的回路では、検証対象の同期ユニットである同期型メモリマクロ（ＲＡＭ）１１に対して逆方向トレース処理を行う。同期経路確定の手続きを行う場合には、注目同期信号端子ＣＫから配線ｂを介してフリップフロップセル（ＦＦ）２６の同期出力端子に到達する。フリップフロップセル（ＦＦ）２６は同期ユニットであるので、同期信号端子と非同期入力端子に対してトレースを継続することとなる。ここでは非同期入力端子としてセット端子ＳＥＴがあるので、同期信号端子ＣＫとセット端子ＳＥＴとに対して逆方向トレースが継続される。同期信号端子ＣＫへのトレースについては、配線ａを介して外部入力端子ＣＫ２に到達したところでトレースは停止される。セット端子ＳＥＴへのトレースについては、配線ｃを介して外部入力端子ＣＫ１に到達したところでトレースは停止される。確定した同期信号経路は、配線ａ乃至ｃである。
【００７７】
注目同期化入力端子の駆動経路確定の手続きを行う場合には、注目同期化入力端子であるアドレス端子ＡＤから配線ｆを介してフリップフロップセル（ＦＦ）２５の同期出力端子に到達する。ここで、フリップフロップセル（ＦＦ）２５は、図１１、１２のフリップフロップセル（ＦＦ）２１乃至２４と同等の回路構成である。そのため、同期信号端子ＣＫに対して逆方向トレースが継続される。配線ｄを介してインバータゲートに到達する。インバータゲートは非同期ユニットであるので全入力端子に対してトレースを継続する。配線ｃを介して外部入力端子ＣＫ１に到達したところでトレースは停止される。アドレス端子ＡＤの駆動経路の起点は外部入力端子ＣＫ１となる。
【００７８】
従って、同期判定の手続きにおいては、アドレス端子ＡＤの駆動経路の起点である外部入力端子ＣＫ１と、同期信号経路である配線ａ乃至ｃとは、外部入力端子ＣＫ１において一致する。従って、図１３の回路においては同期設計されていると判定される。実際の回路動作では、アドレス端子ＡＤへは、外部入力端子ＣＫ１に供給される信号遷移に同期して信号が入力されることとなる。一方、外部入力端子ＣＫ１に供給される信号がハイレベルからローレベルに遷移することをトリガとしてフリップフロップセル（ＦＦ）２６がセットされ、同期型メモリマクロ（ＲＡＭ）１１の注目同期信号端子ＣＫに対して注目同期信号を供給して同期型メモリマクロ（ＲＡＭ）１１は同期動作する。
【００７９】
図１４における設計検証装置８１は、中央処理装置（以下、ＣＰＵと略記する。）８２を中心にバス８８を介して、メモリ８３、磁気ディスク装置８４、表示装置（以下、ＣＲＴと略記する。）８５、キーボード８６、及び外部記憶媒体駆動装置８７が相互に接続されており、更に外部記憶媒体駆動装置８７にＣＤＲＯＭや磁気媒体等の外部記憶媒体８９が着脱可能に設置される構成である。
【００８０】
前述の図１、２に示す設計検証フローを実行するコンピュータプログラムは、設計検証装置８１内のメモリ８３や磁気ディスク装置８４に記録されている他、ＣＤＲＯＭや磁気媒体等の外部記憶媒体８９に記録されている場合に、外部記憶媒体駆動装置８７を介してメモリ８３、磁気ディスク装置８４に記録され、あるいは直接ＣＰＵ８２に転送される。また、回路のネットリスト情報（Ｄ１）、同期ユニットの属性情報（Ｄ２）、同期経路確定ステップにより確定された同期信号経路情報（Ｄ３）、および入力駆動経路確定ステップにより確定された駆動経路の起点情報（Ｄ４）は、メモリ８２、磁気ディスク装置８４、あるいはＣＤＲＯＭ、磁気媒体等の外部記憶媒体８９に格納され、または直接ＣＰＵ８２内に格納されている。図１、２の設計検証フローを実行するコンピュータプログラムの処理に従い、ＣＰＵ８２からの指令により必要に応じて参照される。
【００８１】
尚、図１４には図示されていないが、インターネット等の電気通信回線を介して他のシステムとの間で、上記に説明したコンピュータプログラムや各種の情報の授受を行うことも可能である。
また、図１、２に示す設計検証フローにおける、同期経路確定ステップと入力駆動経路確定ステップとを、ＣＰＵ８２において並列に処理することも可能である。
【００８２】
そして、図１、２に示す設計検証フローを実行するプログラムに従い、ネットリスト情報（Ｄ１）または同期ユニットの属性情報（Ｄ２）の少なくとも何れか一方の情報を参照しながら、同期経路確定ステップおよび入力駆動経路確定ステップにより確定される、同期信号経路情報（Ｄ３）と起点情報（Ｄ４）とが格納される。同期判定ステップにおいて、同期信号経路情報（Ｄ３）と起点情報（Ｄ４）との一致判定が行われ、判定結果がＣＲＴ８５等の確認手段により確認される。一連の設計検証フローにおいて必要とされるデータや制御信号等はキーボード８６等から入力される。また、図示はされていないが、電気通信回線を介して供給することも可能である。
【００８３】
以上詳細に説明したとおり、本実施形態に係る回路の設計検証方法、設計検証装置、およびコンピュータプログラムでは、図１のＳ２乃至Ｓ５により例示される、同期経路確定ステップまたは同期経路確定部により、図１１乃至１３に例示されるように、検証対象の同期ユニット１１に入力される注目同期信号の同期信号経路ａおよびｂ（図１１）、ｂ（図１２）、ａ乃至ｃ（図１３）を確定することができる。また、図１のＳ６乃至Ｓ９により例示される、入力駆動経路確定ステップまたは入力駆動経路確定部により、検証対象の同期ユニット１１に入力される注目入力信号を駆動する駆動経路ｃ乃至ｅ（図１１）、ａおよびｄ（図１２）、ｃ、ｄ、およびｆ（図１３）を、注目入力信号ごとに確定することができる。そして、図２のＳ１０乃至Ｓ１５により例示される、同期判定ステップまたは同期判定部により、駆動経路の起点として外部入力端子Ｄ（図１１）、外部入力端子ＣＫ１（図１２、１３）が同期信号経路に一致すれば、注目入力信号を駆動する源信号が注目同期信号であることとなる。注目入力信号が注目同期信号に同期して駆動されていると判定され、検証対象の同期ユニット１１は同期駆動が可能に設計されていると判定することができる。
【００８４】
また、図１のＳ１、Ｓ１６により例示される検証対象選択ステップにより、検証対象とすべき同期ユニットの選択は、ネットリスト情報（Ｄ１）に基づき回路内の全ての同期ユニットとすることができる。その他、ネットリスト情報（Ｄ１）や、検証対象とすべきリスト情報あるいは同期ユニットの属性情報（Ｄ２）等から選択するように設定することもできる。また、検証する必要がない同期ユニットについては、予め検証対象から除外しておくことも可能である。検証対象の同期ユニットを確実に選定することができ、漏れのない検証を行うことができる。
【００８５】
更に、検証できる同期ユニットはフリップフロップセルに限定されることはなく、ラッチセルや同期型メモリマクロ等のその他の同期ユニットに対しても同様に適用することができる。また、注目入力信号の駆動経路の起点と同期信号経路との一致を判定すればよいので、駆動経路の起点が回路の入力端子まで逆上る必要はない。更に、注目同期信号の数は１つには限定されない。様々な構成を有する回路について柔軟に設計検証を行うことができる。
【００８６】
図３乃至１０に例示される逆方向トレース処理により、検証対象の同期ユニット１から、注目同期信号および注目入力信号の駆動経路の起点に逆上ることができる。
【００８７】
ここで、逆方向トレースにより到達した同期ユニット２（図３）、３Ａ（図４）、３Ｂ（図５）、または４（図６）からトレースが継続される非同期入力端子には、同期経路確定ステップである同期信号経路のトレース（図３乃至６の（Ａ））の場合、注目同期信号についての有効な遷移が伝播する状態遷移の信号が入力される。検証対象の同期ユニット１は、注目同期信号の立ち上がりまたは立ち下がりエッジでトリガされるが、トリガされる信号遷移を注目同期信号端子ＣＫにもたらす信号を意味する。非同期入力端子を有する同期ユニット２、３Ａ、３Ｂ、または４の同期出力端子が、注目同期信号端子ＣＫに接続されているとする。図３を例にとると、注目同期信号の立ち上がりエッジに対して有効な非同期入力端子はセット（ＳＥＴ）端子である。注目同期信号の立ち下がりエッジに対して有効な非同期入力端子はクリア（ＣＬ）端子である。
【００８８】
また、入力駆動経路確定ステップである注目入力信号の駆動経路のトレース（図３乃至６の（Ｂ））の場合、非同期入力端子には注目入力信号の遷移として伝播する信号遷移が入力される。検証対象の同期ユニット１には、注目同期信号に同期して注目入力信号が遷移する必要がある。非同期入力端子により同期ユニット２、３Ａ、３Ｂ、または４の同期出力端子の信号が状態遷移し、検証対象の同期ユニット１への注目入力信号の状態遷移として伝播することが必要となる。図３を例にとると、非同期入力端子の例としては、同期信号端子ＣＫ、セット端子ＳＥＴ、クリア端子ＣＬ等がある。
【００８９】
更に、逆方向トレースにより到達した非同期ユニット５（図８）からトレースが継続される場合には、同期信号経路のトレース（Ａ）、および注目入力信号の駆動経路のトレース（Ｂ）の双方に対して、全入力端子をトレースの対象とする。非同期ユニットであるため、どの入力端子に対しても出力される信号が遷移するので、各々の入力端子の遷移に応じた信号遷移が、注目同期信号、注目入力信号に伝播するからである。
【００９０】
注目同期信号、および注目入力信号の信号遷移の起因となる端子に対してのみトレースを継続することができる。不要な経路に対するトレースは行われず、同期信号経路のトレース（Ａ）、および注目入力信号の駆動経路のトレース（Ｂ）を迅速、且つ確実に行うことができる。
【００９１】
本発明によれば、ネットリスト等の結線情報に基づき、信号経路をトレースすることにより設計検証を行うことができる。論理シミュレータ等を使用して回路シミュレーションを行う必要はなく、シミュレーション実行のためのテストベクターの作成も不要である。設計検証時間の短縮を図ることができる。
【００９２】
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。
例えば、本実施形態においては、同期ユニットとして、フリップフロップセル、ラッチセル、同期型メモリマクロについて例示して説明したが、本発明は、これに限定されるものではなく、同期信号に対して同期して動作するその他の回路セル、回路マクロ等に同様に適用できることは言うまでもない。
また、本発明は、半導体集積回路に適用できる他、同期ユニットを含んだその他の回路についても同様に適用できることは言うまでもない。
更に、実施形態では、ネットリスト情報（Ｄ１）に基づいて設計検証を行う場合について説明したが、ここでいうネットリストとはテキストファイルの形式で回路の結線情報を有するものが代表的なものである。この他、回路図として有する場合も含むことは言うまでもない。
また、図１、２の設計検証フローでは、同期経路確定ステップの後に入力駆動経路確定ステップがシーケンシャルに行われる場合について説明した。しかしながら、本発明はこれに限定されるものではなく、同期経路確定ステップと入力駆動経路確定ステップとが並列に処理されることが可能であることは言うまでもない。
更に、図１、２の設計検証フローでは、注目同期化入力端子の駆動経路の起点が同じ同期化グループの同期信号経路に一致しないと判定された場合（Ｓ１１：ＮＯ）に、回路は同期設計されていないと判定されて設計検証フローを終了する（Ｓ１５）として説明した。しかしながら、本発明はこれに限定されるものではなく、回路上の全ての同期ユニットに対して、同期設計／非同期設計の別を判定するように構成することもできる。この構成によれば、一度の設計検証フローにより、同期設計されていない同期ユニットを全て確定することができ、回路の修正に好都合である。
【００９３】
ここで、本発明に関する技術思想を以下に列記する。
（付記１）　同期信号端子と、前記同期信号端子への同期信号に応じて同期動作し、少なくとも１つの入力信号が取り込まれる少なくとも１つの同期化入力端子とを備えた同期ユニットを含む回路の設計検証方法であって、
検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定する同期経路確定ステップと、
前記検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路を確定する入力駆動経路確定ステップと、
前記駆動経路の起点が前記同期信号経路に一致するか否かを判定する同期判定ステップとを有することを特徴とする回路の設計検証方法。
（付記２）　前記検証対象の同期ユニットを選択する検証対象選択ステップを更に有することを特徴とする付記１に記載の回路の設計検証方法。
（付記３）　前記検証対象選択ステップでは、前記回路内の全ての同期ユニットを順次選択することを特徴とする付記２に記載の回路の設計検証方法。
（付記４）　前記検証対象選択ステップでは、前記検証対象の同期ユニットは、予め定められた前記同期ユニットから順次選択することを特徴とする付記２に記載の回路の設計検証方法。
（付記５）　前記検証対象選択ステップでは、前記検証対象の同期ユニットは、前記同期ユニットの属性情報に基づき定められることを特徴とする付記２に記載の回路の設計検証方法。
（付記６）　前記同期経路確定ステップでは、前記検証対象の同期ユニットにおける注目同期信号端子を起点として、前記注目同期信号の伝播方向とは逆方向に信号経路をトレースすることを特徴とする付記１に記載の回路の設計検証方法。
（付記７）　前記トレースにより、
前記同期ユニットの同期出力端子に到達する場合、前記同期ユニットにおける前記同期信号端子、または非同期入力端子に対して順次トレースを継続し、
非同期ユニットの非同期出力端子に到達する場合、前記非同期ユニットにおける全入力端子に対して順次トレースを継続することを特徴とする付記６に記載の回路の設計検証方法。
（付記８）　前記トレースにより到達した前記同期ユニットにおいて、複数の前記同期信号端子が存在する場合には、前記同期出力端子と同期動作する前記同期信号端子に対してトレースを継続することを特徴とする付記７に記載の回路の設計検証方法。
（付記９）　前記トレースにより、
前記検証対象の同期ユニットにおける注目同期出力端子に到達し、前記注目同期出力端子が、前記注目同期信号とは異なる他の注目同期信号により同期動作される場合、前記他の注目同期信号が入力される他の注目同期信号端子に対してトレースを継続することを特徴とする付記６に記載の回路の設計検証方法。
（付記１０）　前記トレースは、
ＰＬＬ回路、アナログ回路ユニット、外部入力端子、
または、前記検証対象の同期ユニットにおいて前記注目同期信号により同期動作される注目同期出力端子の何れかに到達した場合に停止することを特徴とする付記６に記載の回路の設計検証方法。
（付記１１）　前記入力駆動経路確定ステップでは、前記検証対象の同期ユニットにおける注目同期化入力端子を起点として、前記注目入力信号の伝播方向とは逆方向に信号経路をトレースすることを特徴とする付記１に記載の回路の設計検証方法。
（付記１２）　前記トレースにより、
前記同期ユニットの同期出力端子に到達する場合、前記同期ユニットにおける前記同期信号端子、または非同期入力端子に対して順次トレースを継続し、
非同期ユニットの非同期出力端子に到達する場合、前記非同期ユニットにおける全入力端子に対して順次トレースを継続することを特徴とする付記１１に記載の回路の設計検証方法。
（付記１３）　前記トレースにより到達した前記同期ユニットにおいて、複数の前記同期信号端子が存在する場合には、前記同期出力端子と同期動作する前記同期信号端子に対してトレースを継続することを特徴とする付記１２に記載の回路の設計検証方法。
（付記１４）　前記トレースにより、
前記検証対象の同期ユニットにおける注目同期出力端子に到達し、前記注目同期出力端子が、前記注目同期信号とは異なる他の注目同期信号により同期動作される場合、前記他の注目同期信号が入力される他の注目同期信号端子に対してトレースを継続することを特徴とする付記１１に記載の回路の設計検証方法。
（付記１５）　前記トレースは、
前記同期信号経路、ＰＬＬ回路、アナログ回路ユニット、外部入力端子、
または、前記検証対象の同期ユニットにおいて前記注目同期信号により同期動作される注目同期出力端子の何れかに到達した場合に停止することを特徴とする付記１１に記載の回路の設計検証方法。
（付記１６）　前記検証対象の同期ユニットにおいて、注目同期信号端子を複数備え、前記注目同期信号端子ごとに入力される前記注目同期信号に応じて、同期動作が行われる注目同期化入力端子ごとに同期化グループとして纏められており、
前記同期判定ステップは、前記同期化グループごとに行われることを特徴とする付記１に記載の回路の設計検証方法。
（付記１７）　同期信号端子と、前記同期信号端子への同期信号に応じて同期動作し、少なくとも１つの入力信号が取り込まれる少なくとも１つの同期化入力端子とを備えた同期ユニットを含む回路の設計検証装置であって、
検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定する同期経路確定部と、
前記検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路を確定する入力駆動経路確定部と、
前記駆動経路の起点が前記同期信号経路に一致するか否かを判定する同期判定部とを備えることを特徴とする回路の設計検証装置。
（付記１８）　同期信号端子と、前記同期信号端子への同期信号に応じて同期動作し、少なくとも１つの入力信号が取り込まれる少なくとも１つの同期化入力端子とを備えた同期ユニットを含む回路の設計検証のためのコンピュータプログラムであって、
検証対象の同期ユニットに入力される注目同期信号の同期信号経路を確定する同期経路確定ステップと、
前記検証対象の同期ユニットに入力される注目入力信号ごとに、駆動経路を確定する入力駆動経路確定ステップと、
前記駆動経路の起点が前記同期信号経路に一致するか否かを判定する同期判定ステップとを有する設計検証を実行することを特徴とするコンピュータプログラム。
【００９４】
【発明の効果】
本発明によれば、選定された検証対象の同期ユニットに応じてテストベクターを作成してシミュレーションを行うことなく、ネットリスト等の結線情報に基づき信号経路の逆方向トレースを行うことにより、同期ユニットの同期動作が可能か否かを判定することができる回路の設計検証方法、設計検証装置、およびコンピュータプログラムを提供することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態における設計検証フローの前半部を示すフロー図である。
【図２】本発明の実施形態における設計検証フローの後半部を示すフロー図である。
【図３】逆方向トレース処理の具体例（１）（同期ユニットであるフリップフロップセルに到達した場合）を示す図である。
【図４】逆方向トレース処理の具体例（２）（同期ユニットである第１のラッチセルに到達した場合）を示す図である。
【図５】逆方向トレース処理の具体例（３）（同期ユニットである第２のラッチセルに到達した場合）を示す図である。
【図６】逆方向トレース処理の具体例（４）（同期ユニットであるＲＡＭマクロに到達した場合）を示す図である。
【図７】逆方向トレース処理の具体例（５）（検証対象の同期ユニットであるＲＡＭマクロに到達した場合）を示す図である。
【図８】逆方向トレース処理の具体例（６）（非同期ユニットであるナンドゲートに到達した場合）を示す図である。
【図９】逆方向トレース処理の具体例（７）（ＰＬＬ回路またはアナログ回路ユニットに到達した場合）を示す図である。
【図１０】逆方向トレース処理の具体例（８）（外部入力端子に到達した場合）を示す図である。
【図１１】実施形態の具体的回路への適用例（１）を示す回路図である。
【図１２】実施形態の具体的回路への適用例（２）を示す回路図である。
【図１３】実施形態の具体的回路への適用例（３）を示す回路図である。
【図１４】図１の設計検証フローを実行する設計検証装置を示す図である。
【図１５】第１従来技術の設計検証フロー示すフロー図である。
【図１６】第２従来技術の設計検証フロー示すフロー図である。
【符号の説明】
１、１Ａ　　　　検証対象の同期ユニット
１１　　　　　　検証対象の同期ユニットである同期型メモリマクロ（ＲＡＭ）
２、２１、２２、２３、２４、２５、２６フリップフロップセル
３Ａ　　　　　　ラッチ１
３Ｂ　　　　　　ラッチ２
４　　　　　　　同期型メモリマクロ（ＲＡＭ）
５　　　　　　　ナンドゲート
６　　　　　　　アナログ回路
【図１】
2004086813.tif 000003
【図２】
2004086813.tif 000004
【図３】
2004086813.tif 000005
【図４】
2004086813.tif 000006
【図５】
2004086813.tif 000007
【図６】
2004086813.tif 000008
【図７】
2004086813.tif 000009
【図８】
2004086813.tif 000010
【図９】
2004086813.tif 000011
【図１０】
2004086813.tif 000012
【図１１】
2004086813.tif 000013
【図１２】
2004086813.tif 000014
【図１３】
2004086813.tif 000015
【図１４】
2004086813.tif 000016
【図１５】
2004086813.tif 000017
【図１６】
2004086813.tif 000018