(57)【要約】【課題】設計者（または検証者）によって作成された入力パターンがメタステーブル状態を検証可能であるか否かを判断し、検証精度の向上および検証期間の短縮化を図ること。【解決手段】検証支援装置６００は、検証対象回路の送信クロックドメイン内の送信フリップフロップから受信クロックドメイン内の受信フリップフロップへ受け渡され、受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出部６０１により検出する。そして、検出部６０１により検出されたデータの変化が受信クロックドメイン内の組合せ回路の出力に伝播されるか否かを組合せ回路の入力データに応じて判別部６０２により判別し、判別結果を出力する。【選択図】図６
2010176486.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出手段、
前記検出手段により検出されたデータの変化が前記組合せ回路の出力に伝播されるか否かを前記組合せ回路の入力データに応じて判別して出力する判別手段、
として機能させることを特徴とする検証支援プログラム。
【請求項２】
コンピュータを、
検証対象回路の送信クロックドメイン内の送信フリップフロップから受信クロックドメイン内の受信フリップフロップへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出器を、前記送信フリップフロップごとに生成する検出器生成手段、
前記検証対象回路内の組合せ回路の出力に前記データの変化が伝播されるか否かを判別可能な論理式で構成される判別器を生成する判別器生成手段、
前記検出器生成手段により生成された検出器と前記判別器生成手段により生成された判別器を備え、前記検出器の出力データと前記組合せ回路の入力データを前記判別器に与える検出器を構築する構築手段、
として機能させることを特徴とする検証支援プログラム。
【請求項３】
前記構築手段は、
前記データが前記組合せ回路へ前記検証対象回路内の他の組合せ回路を介して入力されている場合、前記構築手段により構築された前記検出器と前記判別器生成手段により生成された判別器とを備え、前記他の組合せ回路の検出器の出力データと前記組合せ回路の入力データとを前記判別器に与える検出器を構築することを特徴とする請求項２に記載の検証支援プログラム。
【請求項４】
前記コンピュータを、
前記組合せ回路の論理式を、前記検出器の出力データに応じて伝播の有無を示す係数または前記データを選択する選択回路と前記選択回路の出力が入力される前記組合せ回路とを含む論理式に変換する第１の変換手段、
前記第１の変換手段により変換された論理式を、当該論理式内の前記伝播の有無を示す係数に特定の値を与えて前記組合せ回路と同一論理を除いた論理式に変換する第２の変換手段、として機能させ、
前記判別器生成手段は、
前記第２の変換手段によって変換された論理式で構成される判別器を生成することを特徴とする請求項２に記載の検証支援プログラム。
【請求項５】
検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出手段と、
前記検出手段により検出されたデータの変化が前記組合せ回路の出力に伝播されるか否かを前記組合せ回路の入力データに応じて判別して出力する判別手段と、
を備えることを特徴とする検証支援装置。
【請求項６】
検証対象回路の送信クロックドメイン内の送信フリップフロップから受信クロックドメイン内の受信フリップフロップへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出器を、前記送信フリップフロップごとに生成する検出器生成手段と、
前記検証対象回路内の組合せ回路の出力に前記データの変化が伝播されるか否かを判別可能な論理式で構成される判別器を生成する判別器生成手段と、
前記検出器生成手段により生成された検出器と前記判別器生成手段により生成された判別器を備え、前記検出器の出力データと前記組合せ回路の入力データを前記判別器に与える検出器を構築する構築手段と、
を備えることを特徴とする検証支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のクロックドメインを有する半導体集積回路の論理検証を支援する検証支援プログラムおよび検証支援装置に関する。
【背景技術】
【０００２】
従来より、１つのクロックドメイン（以下、送信クロックドメインと称す。）内のフリップフロップ（以下、「ＦＦ（Ｆｌｉｐ  Ｆｌｏｐ）」と称す。）からのデータが受け渡されて異なるクロックドメイン（以下、受信クロックドメインと称す。）内のＦＦに入力される場合がある。
【０００３】
受信クロックドメイン内のＦＦに入力される場合、受信クロックドメイン内のＦＦのクロックのタイミングに関わらずデータが入力されるため、セットアップタイムまたはホールドタイムが違反されてＦＦの出力にメタステーブル状態が発生することがある。メタステーブル状態の影響が論理値の差異として後段のＦＦや組合せ回路に伝播し、半導体集積回路が誤動作することがある。そのため、メタステーブル状態が発生しても半導体集積回路が誤動作しないことを検証する必要がある。
【０００４】
しかしながら、通常のＦＦのモデルを使用した論理検証では、メタステーブル状態の影響が考慮されない。そのため、送信クロックドメインから受信クロックドメイン内に受け渡されるデータが入力される受信ＦＦのモデルをメタステーブル状態の影響を模擬するモデルに変更して検証が行われる技術が知られている（たとえば、非特許文献１および２。）。
【０００５】
モデル変更後の検証は、メタステーブル状態の影響が検証結果に含まれているため、障害要因の分析が難しい。そのため通常、モデル変更前の論理検証により通常の機能に問題が無いことが確認される。そして、同一の入力パターンがモデル変更後の論理検証にも使用され、メタステーブル状態の影響に起因する問題が無いかが検査される。そこでは、入力パターンがメタステーブル状態の影響に起因する問題をテスト可能であるか否かが重要である。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｍａｒｋ  Ｌｉｔｔｅｒｉｃｋ，“Ｐｒａｇｍａｔｉｃ  Ｓｉｍｕｌａｔｉｏｎ−Ｂａｓｅｄ  Ｖｅｒｉｆｉｃａｔｉｏｎ  ｏｆ  Ｃｌｏｃｋ  Ｄｏｍａｉｎ  Ｃｒｏｓｓｉｎｇ  Ｓｉｇｎａｌｓ  ａｎｄ  Ｊｉｔｔｅｒ  ｕｓｉｎｇ  Ｓｙｓｔｅｍ  Ｖｅｒｉｌｏｇ  Ａｓｓｅｒｔｉｏｎｓ”，ＤＶＣｏｎ  ２００６，Ｐａｐｅｒ  ９．１
【非特許文献２】Ｒｏｇｅｒ  Ｓａｂｂａｇｈ，  ａｎｄ  Ｈｉｒｏａｋｉ  Ｉｗａｓｈｉｔａ，“Ｄｏｅｓ  Ｙｏｕｒ  Ｓｉｍｕｌａｔｉｏｎ  Ｍｏｄｅｌ  Ｍｅｔａｓｔａｂｉｌｉｔｙ  Ｅｆｆｅｃｔｓ  Ｃｏｍｐｌｅｔｅｌｙ  ａｎｄ  Ａｃｃｕｒａｔｅｌｙ？”，ＤＶＣｏｎ  ２００８，Ｐａｐｅｒ  ８．２
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、入力パターンがメタステーブル状態の影響に起因する問題を十分にテスト可能であるか否かを厳密に評価しようとすると、クロックドメイン間で受け渡されるデータの変化が半導体集積回路の出力端子に伝播されるまで、半導体集積回路内のすべての動作状態を追跡する必要があり、現実的な計算量では処理できない。したがって、入力パターンの十分性の評価精度とその計算コストのトレードオフが課題であった。
【０００８】
半導体集積回路の出力端子のみを観測した場合、どのクロックドメイン間のデータの変化が伝播されているかが不明であった。そのため、入力パターンがメタステーブル状態を検証可能であるか否かが不明となり、検証もれが発生するという問題点があった。
【０００９】
そのため多くの場合、送信クロックドメインから受信クロックドメインへの入力データの変化のみが観測され、入力パターンがメタステーブル状態の影響に起因する問題をテスト可能であるか否かが判断されていた。送信クロックドメインから受信クロックドメインへ渡されるデータは、一般に受信クロックドメイン内で毎サイクル参照されるわけではない。組合せ回路の出力では、組合せ回路への入力が複数ある場合、メタステーブル状態の影響が伝播した入力以外の入力により影響の伝播が遮断されてしまうことがある。入力データの変化のみの観測ではそのような場合が考慮されないため、検証もれが発生しやすいという問題点があった。
【００１０】
また、受信ＦＦのモデルをメタステーブル状態の影響を模擬するＦＦのモデルに変更して検証が行われる技術では、設計者（または検証者）は、変更した受信ＦＦのモデルの出力データを観測してメタステーブル状態の発生回数を確認し、入力パターンの十分性を評価していた。しかしながら、この場合も発生したメタステーブル状態が参照され、後段に影響が伝わるかどうかが全く考慮されない。そのため同様に、検証もれが発生しやすいという問題点があった。
【００１１】
本開示技術は、上述した従来技術による問題点を解消するため、メタステーブル状態の影響を受信ＦＦの出力に接続された組合せ回路以降の位置で観測することで検証精度の向上および検証期間の短縮化を図ることができる検証支援プログラムおよび検証支援装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、本開示技術は、検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出し、検出されたデータの変化が組合せ回路の出力に伝播されるか否かを組合せ回路の入力データに応じて判別して出力することを要件とする。
【００１３】
本開示技術によれば、送信クロックドメインから受信クロックドメインに受け渡されるデータの変化が受信クロックドメイン内の組合せ回路の出力に伝播されるか否かを、組合せ回路の入力データの状態に応じて判別する。これにより、メタステーブル状態の影響の伝播を組合せ回路の出力位置で観測することができる。
【発明の効果】
【００１４】
本検証支援プログラムおよび検証支援装置によれば、メタステーブル状態の影響の伝播を組合せ回路の出力位置で観測することでより検証効果の高い入力パターンを選別できるようになり、その結果として検証精度の向上および検証期間の短縮化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１にかかるＪｉｔｔｅｒ伝播可能性検出器を示す説明図である。
【図２】メタステーブル状態の例を示す説明図である。
【図３】複数のクロックドメインを含む検証対象回路３００の一例を示す説明図である。
【図４】Ｑ１を観測位置としたＪｉｔｔｅｒ伝播可能性検出器を示す説明図である。
【図５】実施の形態にかかる検証支援装置のハードウェア構成を示すブロック図である。
【図６】実施の形態１にかかる検証支援装置の機能的構成を示すブロック図である。
【図７−１】１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒのモデルの一例を示す説明図（その１）である。
【図７−２】１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒのモデルの一例を示す説明図（その２）である。
【図８】検証支援装置６００による検証結果の一例を示す説明図である。
【図９】検証支援装置６００の検証支援処理手順を示すフローチャートである。
【図１０】ＤＵＴ情報の一例を示す説明図である。
【図１１】ＣＤＣリストの一例を示す説明図である。
【図１２】実施の形態２にかかる検証支援装置の機能的構成を示すブロック図である。
【図１３−１】論理式（４）で構成される回路を示す説明図である。
【図１３−２】論理式（６）で構成される回路を示す説明図である。
【図１４】２−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２を示す説明図である。
【図１５】Ｑ２が観測位置であるＪｉｔｔｅｒ伝播可能性検出器を示す説明図である。
【図１６】検証支援装置１２００の検証支援処理手順を示すフローチャートである。
【図１７】Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの生成処理の処理手順を示すフローチャートである。
【図１８】Ｊｉｔｔｅｒ伝播判別器の処理手順を示すフローチャートである。
【図１９】Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒの生成処理の処理手順を示すフローチャートである。
【図２０】実施の形態３にかかるＪｉｔｔｅｒ伝播可能性検出器を示す説明図である。
【図２１】実施の形態３にかかる検証支援装置の機能的構成を示すブロック図である。
【図２２】検証支援装置２２００の検証支援処理手順を示すフローチャートである。
【図２３】実施の形態４にかかる検証支援装置の機能的構成を示すブロック図である。
【図２４】検証支援装置２３００の検証支援処理手順を示すフローチャートである。
【図２５】組合せ回路の複製処理の処理手順を示すフローチャートである。
【図２６】Ｊｉｔｔｅｒ伝播検出器を示す説明図である。
【図２７】実施の形態５にかかる検証支援装置の機能的構成を示すブロック図である。
【図２８】検証支援装置２７００の検証支援処理手順を示すフローチャートである。
【図２９】実施の形態６にかかる検証支援装置の機能的構成を示すブロック図である。
【図３０】検証支援装置２９００の検証支援処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して、本開示技術の好適な実施の形態を詳細に説明する。本実施の形態では、受信クロックドメイン内の組合せ回路の出力にメタステーブル状態の影響が伝播されるか否かを検証可能な入力パターンであるか否かを判断し、作成された入力パターンを用いてモデル変更後の検証結果とモデル変更前の検証結果の比較を行う。
【００１７】
実施の形態１および３では、Ｊｉｔｔｅｒ伝播可能性検出器を用いて送信クロックドメインから受信クロックドメインに受け渡されるデータが、受信クロックドメイン内の組合せ回路の出力に伝播されるか否かを判別する検証支援プログラムについて説明する。
【００１８】
つぎに、実施の形態２では、実施の形態１にかかるＪｉｔｔｅｒ伝播可能性検出器を自動で生成する検証支援プログラムについて説明する。そして、実施の形態４では、実施の形態３で用いるＪｉｔｔｅｒ伝播可能性検出器を自動で生成する検証支援プログラムについて説明する。
【００１９】
つぎに、実施の形態５では、Ｊｉｔｔｅｒ伝播検出器を用いてモデル変更後の検証結果とモデル変更前の検証結果の比較を行う。そして、実施の形態６では、実施の形態５にかかるＪｉｔｔｅｒ伝播検出器を自動で生成する検証支援プログラムについて説明する。
【００２０】
（実施の形態１）
まず、実施の形態１を説明する。実施の形態１では、Ｊｉｔｔｅｒ伝播可能性検出器を用いて、受信クロックドメインに入力される入力データの変化を検出する。そして、検出結果と受信クロックドメイン内の組合せ回路の入力とに基づいて、入力データの変化が組合せ回路の出力に伝播されるか否かを判別する。Ｊｉｔｔｅｒ伝播可能性検出器は、データの変化が組合せ回路の出力に伝播されるか否かを検出する検出器である。
【００２１】
図１は、実施の形態１にかかるＪｉｔｔｅｒ伝播可能性検出器を示す説明図である。複数のクロックドメインを含む回路情報１０１には、送信クロックドメイン１０２内の送信ＦＦ１０５の出力データが、受信クロックドメイン１０３内の受信ＦＦ１０６に入力されている。送信クロックドメイン１０２内の送信ＦＦ１０５は、ＣＬＫ１に同期している。そして、受信クロックドメイン１０３内の受信ＦＦ１０６およびＦＦ１０８は、ＣＬＫ２に同期している。Ｓ１が入力される受信ＦＦ１０６の出力データがＳ２であり、Ｓ２が入力されるＦＦ１０８の出力データがｔ１である。図２を用いて、受信クロックドメイン内で発生するメタステーブル状態について説明する。
【００２２】
図２は、メタステーブル状態の例を示す説明図である。タイミングチャート２００は、ＣＬＫ２の立ち上がりにＳ１がセットアップタイムとホールドタイムを遵守せずに変化した場合を示している。受信ＦＦ１０６の出力であるＳ２は、次のＣＬＫ２の立ち上がりでＳ１のデータが取り込まれるまでメタステーブル状態となっている。メタステーブル状態は、論理値０とも論理値１とも判定される可能性を持った、不安定な状態である。したがって、メタステーブル状態を取り込んだＦＦ１０８の出力であるｔ１には、予測不能な論理値（０または１）が現れる。
【００２３】
図１に戻って、Ｊｉｔｔｅｒ伝播可能性検出器１０４は、入力された入力パターンにより発生したメタステーブル状態の影響が受信クロックドメイン１０３内の組合せ回路１０７の出力まで伝播するか否かを判別する。Ｊｉｔｔｅｒ伝播可能性検出器１０４は、検証用のモデルである。Ｊｉｔｔｅｒ伝播可能性検出器１０４は、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ１０９と、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１１０と、受信クロックドメイン１０３と同一段数のＦＦとにより構成されている。Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ１０９は、データの変化を検出する検出器である。そして、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１１０は、データの変化が組合せ回路の出力に伝播されるか否かを組合せ回路の入力データに応じて判別する判別器である。
【００２４】
Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ１０９により送信ＦＦ１０５の出力の変化が検出される。そして、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１１０により送信ＦＦ１０５の出力データの変化が組合せ回路１０７の出力に伝播されるか否かを判別する。そして、たとえば、判別結果を記憶装置に記憶されているカバレッジＤＢ１１１に出力する。つぎに、図３では、検証対象回路の例を示す。
【００２５】
（検証対象回路３００の一例）
図３は、複数のクロックドメインを含む検証対象回路３００の一例を示す説明図である。検証対象回路３００は、送信クロックドメイン１０２と受信クロックドメイン１０３を含む構成である。実際には、検証対象回路３００はＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）記述またはネットリストであるが、理解の容易さのために回路図で示している。送信クロックドメイン１０２内のＦＦ１の出力であるＴ１は、受信クロックドメイン１０３内のＦＦ４の入力である。送信クロックドメイン１０２内のＦＦ２の出力であるＴ２とＦＦ３の出力であるＴ３は、組合せ回路３０１の入力である。そして、組合せ回路３０１の出力であるＧが受信クロックドメイン１０３内のＦＦ５の入力である。
【００２６】
実施の形態１では、たとえば、受信クロックドメイン１０３内の組合せ回路３０２の出力であるＱ１にＴ１、Ｔ２およびＴ３のデータの変化が伝播されるか否かを判別する。図４では、Ｑ１を観測位置とした場合のＪｉｔｔｅｒ伝播可能性検出器を示す。
【００２７】
図４は、Ｑ１を観測位置としたＪｉｔｔｅｒ伝播可能性検出器を示す説明図である。Ｊｉｔｔｅｒ伝播可能性検出器４００は、１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１と、２−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２と、ＦＦ４０３と、ＦＦ４０４と、ＦＦ４０７と、ＦＦ４０８と、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ４０５とを含む構成である。
【００２８】
ここで、「Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ」の接頭にある「ｘ−１」とは、ｘ個の送信ＦＦから１個の受信ＦＦに入力されていることを示す。したがって、１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１は、送信クロックドメイン１０２内の１個の送信ＦＦから受信クロックドメイン１０３内の１個の受信ＦＦに入力されていることを示す。同様に、２−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２は、送信クロックドメイン１０２内の２個の送信ＦＦから受信クロックドメイン１０３内の１個の受信ＦＦに入力されていることを示す。
【００２９】
１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１は、ＦＦ４の入力データの変化を検出する。そして、２−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２は、ＦＦ５の入力データの変化を検出する。ＦＦ４０３と、ＦＦ４０４と、ＦＦ４０７と、ＦＦ４０８とは、検証対象回路３００と同期させるためのＦＦである。Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ４０５は、Ｔ１とＧの変化がＱ１に伝播されるか否かを組合せ回路３０２の入力データに応じて判別する。そして、判別結果を記憶装置に記憶されているカバレッジＤＢ４０６に出力する。
【００３０】
（検証支援装置のハードウェア構成）-
図５は、実施の形態にかかる検証支援装置のハードウェア構成を示すブロック図である。図５において、検証支援装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３と、磁気ディスクドライブ５０４と、磁気ディスク５０５と、光ディスクドライブ５０６と、光ディスク５０７と、ディスプレイ５０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）５０９と、キーボード５１０と、マウス５１１と、スキャナ５１２と、プリンタ５１３と、を備えている。また、各構成部はバス５００によってそれぞれ接続されている。
【００３１】
ここで、ＣＰＵ５０１は、検証支援装置の全体の制御を司る。ＲＯＭ５０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。磁気ディスクドライブ５０４は、ＣＰＵ５０１の制御にしたがって磁気ディスク５０５に対するデータのリード／ライトを制御する。磁気ディスク５０５は、磁気ディスクドライブ５０４の制御で書き込まれたデータを記憶する。
【００３２】
光ディスクドライブ５０６は、ＣＰＵ５０１の制御にしたがって光ディスク５０７に対するデータのリード／ライトを制御する。光ディスク５０７は、光ディスクドライブ５０６の制御で書き込まれたデータを記憶したり、光ディスク５０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３３】
ディスプレイ５０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ５０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３４】
インターフェース（以下、「Ｉ／Ｆ」と略する。）５０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク５１４に接続され、このネットワーク５１４を介して他の装置に接続される。そして、Ｉ／Ｆ５０９は、ネットワーク５１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ５０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３５】
キーボード５１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス５１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３６】
スキャナ５１２は、画像を光学的に読み取り、検証支援装置内に画像データを取り込む。なお、スキャナ５１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ５１３は、画像データや文書データを印刷する。プリンタ５１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３７】
（検証支援装置の機能的構成）
つぎに、検証支援装置の機能的構成について説明する。図６は、実施の形態１にかかる検証支援装置の機能的構成を示すブロック図である。検証支援装置６００は、検出部６０１と、判別部６０２と、を含む構成である。検出部６０１と判別部６０２は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されたプログラムをＣＰＵ５０１に実行させることにより、または、Ｉ／Ｆ５０９により、その機能を実現する。
【００３８】
検出部６０１は、送信クロックドメイン１０２から受信クロックドメイン１０３に受け渡されるデータの変化を検出する。具体的には、たとえば、Ｊｉｔｔｅｒ伝播可能性検出器１０４内の１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１が、受信クロックドメイン１０３のＦＦ４に入力されるＴ１のデータの変化を検出する。図７−１と図７−２にて１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１のモデルの例を示す。
【００３９】
図７−１は、１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒのモデルの一例を示す説明図（その１）である。モデル７０１は、ハードウェア記述言語で記述されているＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒのモデルである。出力であるＥは、入力であるＴが変化すると１となりＰＥＲＩＯＤの時間が過ぎると０となる。なお、モデル７０１は、たとえば、ライブラリとしてＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されている。
【００４０】
図７−２は、１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒのモデルの一例を示す説明図（その２）である。モデル７０２は、ハードウェア記述言語で記述されているＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒのモデルである。出力であるＥは、入力であるＴが変化すると１となりＲＸ＿ＣＬＫの立ち上がりにより０となる。ＲＸ＿ＣＬＫは、Ｊｉｔｔｅｒ伝播可能性検出器１０４の例では、ＣＬＫ２とする。なお、モデル７０２は、たとえば、ライブラリとしてＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されている。
【００４１】
図６に戻って、判別部６０２は、検出部６０１により検出されたデータの変化が受信クロックドメイン１０３内の組合せ回路の出力に伝播されるか否かを組合せ回路の入力データに応じて判別して出力する。具体的には、たとえば、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ４０５が、検出部６０１の検出結果と受信クロックドメイン１０３内の組合せ回路３０２の入力データを入力として判別する。たとえば、判別結果が“０”であれば伝播されず、判別結果が“１”であれば伝播されていると判別している。Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ４０５は、下記論理式（１）により構成されている。
【００４２】
Ｊ＿Ｑ１＝（Ｒ６・Ｊ＿Ｒ７）＋（Ｊ＿Ｒ６・Ｒ７）＋（Ｊ＿Ｒ６・Ｊ＿Ｒ７）
・・・（１）
【００４３】
Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ４０５を構成する論理式は、組合せ回路３０２の論理式を論理変換が行われることで決定される。論理式の求め方については、後述する実施の形態２にて説明する。つぎに、図８にてＪｉｔｔｅｒ伝播可能性検出器の検証結果を示す。
【００４４】
図８は、検証支援装置６００による検証結果の一例を示す説明図である。タイミングチャート８００は、検証支援装置６００による検証結果を示すタイミングチャートである。１〜１１までの番号は、ＣＬＫ２のクロック数を示している。ＣＬＫ２の１１クロック目では、Ｊ＿Ｑ１が“１”となっている。したがって、タイミングチャート８００を検証する入力パターンでは、メタステーブル状態が発生するとその影響はＣＬＫ２の１１クロック目の組合せ回路３０２の出力に伝播される。これにより、設計者が、組合せ回路に伝播されることを確認可能な入力パターンであるか否かを容易に判断することができる。
【００４５】
また、判別部６０２は、判別結果を出力する。具体的には、たとえば、入力パターンと関連づけられて判別結果を出力する。出力形式としては、たとえば、ディスプレイ５０８への表示、プリンタ５１３への印刷出力、Ｉ／Ｆ５０９による外部装置への送信がある。また、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶することとしてもよい。
【００４６】
これにより、入力された入力パターンにより、受信クロックドメイン１０３内で発生するメタステーブル状態の影響が組合せ回路の出力に伝播されることを検証できるか否かが判断できる。したがって、検証の精度を上げることができる。
【００４７】
なお、上述した検出部６０１、判別部６０２は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５などの記録媒体に記録されたプログラムを、ＣＰＵ５０１が実行することによって、その機能を実現する。
【００４８】
（検証支援装置６００の検証支援処理手順）
実施の形態１にかかる検証支援装置６００の検証支援処理手順について説明する。図９は、検証支援装置６００の検証支援処理手順を示すフローチャートである。図９においてまず、検出部６０１により、受信クロックドメインへの入力データの変化を検出し（ステップＳ９０１）、判別部６０２により、データの変化が組合せ回路の出力に伝播されるか否かを判別する（ステップＳ９０２）。データの変化が組合せ回路の出力に伝播されると判断された場合（ステップＳ９０２：Ｙｅｓ）、伝播されることを示す情報を付して出力し（ステップＳ９０３）、一連の処理を終了する。データの変化が組合せ回路の出力に伝播されないと判断された場合（ステップＳ９０２：Ｎｏ）、伝播されないことを示す情報を付して出力し（ステップＳ９０４）、一連の処理を終了する。
【００４９】
以上説明したように実施の形態１では、受信クロックドメイン１０３に受け渡されるデータの変化が受信クロックドメイン１０３内の組合せ回路の出力に伝播されるか組合せ回路内で相殺されるかが自動判別される。したがって、組合せ回路でのデータの変化の伝播／相殺が、その組み合わせ回路の出力位置で観測することができる。これにより、他の組合せ回路の影響を受けることなく観測できるため、検証精度の向上を図ることができる。また、他の組合せ回路を検証対象から除外した分、検証期間を短縮することができる。さらに、受信クロックドメイン１０３内の組合せ回路が複雑であってもメタステーブル状態の影響をテスト可能な入力パターンを作成することができる。
【００５０】
（実施の形態２）
つぎに、実施の形態２について説明する。実施の形態２では、実施の形態１のＪｉｔｔｅｒ伝播可能性検出器を自動で生成する。これにより、検証期間を短縮することができる。なお、実施の形態１で説明した構成と同一構成には同一符号を付し、同一構成の説明を省略する。
【００５１】
（ＤＵＴ（Ｄｅｖｉｃｅ  Ｕｎｄｅｒ  Ｔｅｓｔ）情報）
図１０は、ＤＵＴ情報の一例を示す説明図である。ＤＵＴ情報１０００では、ＦＦリスト１００１と組み合わせ論理リスト１００２を保持している。ＦＦリスト１００１は、ＦＦの名前と、クロック名と、入力名と、出力名の情報を保持している。組み合わせ論理リスト１００２は、組合せ回路の出力名と、組合せ回路の論理式とを保持している。ＤＵＴ情報１０００内のデータは、上述した検証対象回路３００を例としている。なお、ＤＵＴ情報１０００は、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されている。つぎに、図１１にてＣＤＣリストを示す。
【００５２】
（ＣＤＣ（Ｃｌｏｃｋ  Ｄｏｍａｉｎ  Ｃｒｏｓｓｉｎｇ）リスト）
図１１は、ＣＤＣリストの一例を示す説明図である。ＣＤＣリスト１１００では、ＣＤＣの名前と、送信ＦＦリストと、受信ＦＦ名を保持している。たとえば、ＣＤＣ１では、ＦＦ１の出力が、ＦＦ４に入力されることを示している。たとえば、ＣＤＣ２では、ＦＦ２とＦＦ３の出力が、組合せ回路の入力に入りＦＦ５に入力されることを示している。ＣＤＣリスト１１００内のデータは、上述した検証対象回路３００を例としている。なお、ＣＤＣリスト１１００は、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されている。
【００５３】
（検証支援装置の機能的構成）
つぎに、検証支援装置の機能的構成について説明する。図１２は、実施の形態２にかかる検証支援装置の機能的構成を示すブロック図である。検証支援装置１２００は、検出器生成部１２０１と、判別器生成部１２０２と、構築部１２０５とを含む構成である。検出器生成部１２０１と、判別器生成部１２０２と、構築部１２０５は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されたプログラムをＣＰＵ５０１に実行させることにより、または、Ｉ／Ｆ５０９により、その機能を実現する。
【００５４】
検出器生成部１２０１は、検証対象回路３００の送信クロックドメイン１０２内の送信ＦＦから受信クロックドメイン１０３内の受信ＦＦへ受け渡され受信クロックドメイン１０３内の組合せ回路に入力されるデータの変化を検出するＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒを、送信ＦＦごとに生成する。具体的には、たとえば、ＣＰＵ５０１が、記憶装置にアクセスして１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒのモデル７０１（またはモデル７０２）を読み出し、送信ＦＦの数の１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒを生成する。
【００５５】
Ｊｉｔｔｅｒ伝播可能性検出器４００を例にすると、受信クロックドメイン１０３内の受信ＦＦであるＦＦ４にデータを受け渡す送信クロックドメイン１０２内の送信ＦＦは、ＦＦ１のみである。たとえば、ＣＰＵ５０１は、記憶装置にアクセスしてモデル７０１（またはモデル７０２）を読み出し、１個の１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１を生成する。２−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２については、後述する。
【００５６】
つぎに、判別器生成部１２０２は、検証対象回路３００内の組合せ回路の出力にデータの変化が伝播されるか否かを判別可能な論理式で構成されるＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを生成する。具体的には、ＣＰＵ５０１が、検証対象回路３００の組み合わせ回路の論理式を論理変換してＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを生成する。判別器生成部１２０２は、第１の変換部１２０３と第２の変換部１２０４によって得られる論理式で構成されるＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを生成する。
【００５７】
第１の変換部１２０３は、受信クロックドメイン１０３内の組合せ回路の論理式を、検出器生成部１２０１により生成されたＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの出力データに応じて伝播の有無を示す係数または受信クロックドメイン１０３に入力されるデータを選択する選択回路と、選択回路の出力が入力される組合せ回路とを含む論理式に変換する。
【００５８】
具体的には、たとえば、ＣＰＵ５０１が、記憶装置にアクセスしてＤＵＴ情報１０００から組合せ回路の論理式ｆ（ｔ１，・・・，ｔｎ）を読み出す。ｔ１，・・・，ｔｎは、論理式の入力である。たとえば、ＤＵＴ情報１０００の中から受信クロックドメイン１０３内の組合せ回路３０２の論理式を読み出す。読み出された論理式を下記に示す。
【００５９】
ｆ（Ｒ６，Ｒ７）＝Ｒ６＆Ｒ７
・・・（２）
【００６０】
そして、ＣＰＵ５０１が、記憶装置に記憶されている下記論理式（３）にアクセスして読み出し、取得した組合せ回路の論理式の変数を下記論理式（３）に変換し、新たな論理式ｆ´を生成する。
【００６１】
ｆ´（ｔ１，・・・，ｔｎ，ｊ１，・・・，ｊｎ，ｖ１，・・・，ｖｎ）＝ｆ（（ｊ１＆ｖ１）｜（〜ｊ１＆ｔ１），・・・，（ｊ２＆ｖ２）｜（〜ｊ２＆ｔ２））
・・・（３）
【００６２】
変数ｊは、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの出力を示している。そして、変数ｖは、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒによりデータの変化が検出された場合、データが組合せ回路の出力に伝播されるか否かを示す伝播の有無を示す係数である。
【００６３】
たとえば、論理式（３）を用いて論理式（２）が変換された論理式（４）を下記に示す。
【００６４】
ｆ´（Ｒ６，Ｒ７，Ｊ＿Ｒ６，Ｊ＿Ｒ７，Ｖ＿Ｒ６，Ｖ＿Ｒ７）＝ｆ（（Ｊ＿Ｒ６＆ｖ１）｜（〜Ｊ＿Ｒ６＆Ｒ６），（Ｊ＿Ｒ７＆Ｖ＿Ｒ６）｜（〜Ｊ＿Ｒ７＆Ｖ＿Ｒ７））
・・・（４）
【００６５】
図１３−１は、論理式（４）で構成される回路を示す説明図である。Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの出力データであるＪ＿Ｒ６およびＪ＿Ｒ７に基づいて組合せ回路３０２への入力が選択されている。Ｒ６´は、Ｊ＿Ｒ６が“０”の場合、Ｒ６の値となり、Ｊ＿Ｒ６が“１”の場合、Ｖ＿Ｒ６の値となる。したがって、１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１により変化が検出された場合、Ｒ６´がＶ＿Ｒ６の値となり、変化が検出されなかった場合、Ｒ６´が通常の組合せ回路３０２への入力データとなる。
【００６６】
Ｒ７´は、Ｊ＿Ｒ７が“０”の場合、Ｒ７の値となり、Ｊ＿Ｒ７が“１”の場合、Ｖ＿Ｒ７の値となる。したがって、１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２により変化が検出された場合、Ｒ７´がＶ＿Ｒ７の値となり、変化が検出されなかった場合、Ｒ７´が通常の組合せ回路３０２への入力データとなる。
【００６７】
つぎに、図１２に戻って、第２の変換部１２０４は、第１の変換部１２０３により変換された論理式を、当該論理式内の伝播の有無を示す係数に特定の値を与えて組合せ回路と同一論理を除いた論理式に変換する。
【００６８】
具体的には、たとえば、ＣＰＵ５０１が、記憶装置に記憶されている下記論理式（５）にアクセスして読み出し、論理式（３）を用いて生成したｆ´を下記論理式（５）により変換し、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒの論理式ｇを生成する。
【００６９】
ｇ（ｔ１，・・・，ｔｎ，ｊ１，・・・，ｊｎ）＝∃（ｖ１，・・・，ｖｎ）．［ｆ´（ｔ１，・・・，ｔｎ，ｊ１，・・・，ｊｎ，ｖ１，・・・，ｖｎ）≠ｆ（ｔ１，・・・，ｔｎ）］
・・・（５）
【００７０】
論理式（５）は、論理式（３）から変数ｖに“０”が入力された状態と“１”が入力された状態とを論理和で接続され、組合せ回路と同一論理を除いた論理式となっている。
【００７１】
たとえば、論理式（５）を用いて論理式（４）が変換された論理式（６）を下記に示す。
【００７２】
∃（Ｖ＿Ｒ６，Ｖ＿Ｒ７）．｛ｆ´［（Ｊ＿Ｒ６＆ｖ１）｜（〜Ｊ＿Ｒ６＆Ｒ６）］＆［（Ｊ＿Ｒ７＆Ｖ＿Ｒ６）｜（〜Ｊ＿Ｒ７＆Ｖ＿Ｒ７）］≠（Ｒ６＆Ｒ７）｝＝（Ｒ６＆Ｊ＿Ｒ７）｜（Ｊ＿Ｒ６＆Ｒ７）｜（Ｊ＿Ｒ６＆Ｊ＿Ｒ７）
・・・（６）
【００７３】
図１３−２は、論理式（６）で構成される回路を示す説明図である。Ｒ７が“１”の場合、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１で検出したデータの変化が組合せ回路３０２の出力に伝播される。Ｒ６が“１”の場合、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２で検出したデータの変化が組合せ回路３０２の出力に伝播される。そして、Ｔ１とＧのデータが同時に変化した場合、データの変化が組合せ回路３０２の出力に伝播される。
【００７４】
つぎに、図１２に戻って、構築部１２０５は、検出器生成部１２０１により生成されたＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒと判別器生成部１２０２により生成されたＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを備え、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの出力データと組合せ回路の入力データをＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒに与えるＪｉｔｔｅｒ伝播可能性検出器を構築する。
【００７５】
具体的には、たとえば、ＣＰＵ５０１が、１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１の出力とＦＦ４０３の入力とを接続する。つぎに、ＦＦ４０３の出力とＦＦ４０７の入力とを接続する。そして、ＦＦ４０７の出力であるＪ＿Ｒ６をＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ４０５の入力に接続する。つぎに、１−２Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２の出力とＦＦ４０４の入力とを接続する。そして、ＦＦ４０４の出力とＦＦ４０８の入力とを接続する。そして、ＦＦ４０８の出力であるＪ＿Ｒ７をＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ４０５の入力に接続してＪｉｔｔｅｒ伝播可能性検出器４００を構築する。
【００７６】
また、構築部１２０５は、構築したＪｉｔｔｅｒ伝播可能性検出器を出力する。具体的には、たとえば、入力パターンと関連づけられて判別結果を出力する。出力形式としては、たとえば、ディスプレイ５０８への表示、プリンタ５１３への印刷出力、Ｉ／Ｆ５０９による外部装置への送信がある。また、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶することとしてもよい。
【００７７】
また、送信クロックドメイン１０２の出力データが、組合せ回路を介して受信クロックドメイン１０３内のＦＦに入力される場合、検出器生成部１２０１と、判別器生成部１２０２と、構築部１２０５によりＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒを生成する。図１４にて、送信クロックドメイン１０２の出力データが、組合せ回路を介して受信クロックドメイン１０３内のＦＦに入力される場合のＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒを示す。
【００７８】
図１４は、２−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２を示す説明図である。送信クロックドメイン１０２内のＦＦ２およびＦＦ３の出力データが、組合せ回路３０１を介してＦＦ５に入力されている。２−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２は、ＦＦ２の出力データの変化を検出する１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１と、ＦＦ３の出力データの変化を検出する１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１と、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１３０１により構成される。
【００７９】
Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１３０１は、１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１により検出されたＦＦ２とＦＦ３の出力データの変化が、組合せ回路３０１の出力に伝播されるか否かを組み合わせ回路３０６の入力データに応じて判別している。Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１３０１は、下記論理式（７）により構成されている。
【００８０】
Ｊ＿Ｇ＝（Ｔ２＆Ｊ＿Ｔ３）｜（Ｊ＿Ｔ２＆Ｔ３）｜（Ｊ＿Ｔ２＆Ｊ＿Ｔ３）
・・・（７）
【００８１】
図１２に戻って、構築部１２０５は、検出器生成部１２０１により生成されたＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒと判別器生成部１２０２により生成されたＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを備え、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの出力データと組合せ回路の入力データをＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒに与えるＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒを構築する。
【００８２】
具体的には、たとえば、ＣＰＵ５０１が、１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの出力とＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１３０１の入力とを接続する。そして、送信クロックドメイン１０２から受信クロックドメイン１０３に受け渡されるデータとＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１３０１の入力とを接続する。
【００８３】
たとえば、ＣＰＵ５０１が、Ｔ２の変化を検出する１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１の出力であるＪ＿Ｔ２とＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１３０１の入力とを接続する。そして、Ｔ３の変化を検出する１−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０１の出力であるＪ＿Ｔ３とＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１３０１の入力とを接続して２−１Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ４０２を生成する。
【００８４】
また、受信クロックドメイン内の他の組合せ回路を介して受信クロックドメイン１０３に受け渡されるデータが入力される受信クロックドメイン内の組合せ回路の出力位置が観測位置となる場合について説明する。上述した判別器生成部１２０２により観測位置までの組合せ回路に対応したＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを生成し、構築部１２０５により構築することでＪｉｔｔｅｒ伝播可能性検出器を生成することができる。図１５にて観測位置がＪｉｔｔｅｒ伝播可能性検出器４００と異なる例を示す。
【００８５】
図１５は、Ｑ２が観測位置であるＪｉｔｔｅｒ伝播可能性検出器を示す説明図である。Ｊｉｔｔｅｒ伝播可能性検出器１５００は、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ４００と、ＦＦ１５０２と、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１５０１とにより構成される。Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１５０１は、下記論理式（８）により構成されている。
【００８６】
Ｊ＿Ｑ２＝Ｊ＿Ｒ８＆〜Ｒ９
・・・（８）
【００８７】
したがって、Ｊｉｔｔｅｒ伝播可能性検出器１５００は、受信クロックドメイン１０３内の受信ＦＦから観測位置とする組合せ回路までのすべての組合せ回路に対応したＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒが生成され、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒが接続されることにより構築される。
【００８８】
図１２に戻って、判別器生成部１２０２は、受信クロックドメイン１０３内の受信ＦＦから観測位置までのすべての組合せ回路に対応した判別器を生成する。
【００８９】
具体的には、たとえば、ＣＰＵ５０１が、記憶装置に記憶されている観測位置とする組合せ回路の段数を読み出し、上述したＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒの生成処理により組合せ回路の段数分のＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを生成する。たとえば、組合せ回路の段数とは、受信クロックドメイン１０３内の受信ＦＦから何番目の組合せ回路であるかを示す。
【００９０】
つぎに、構築部１２０５は、検出器生成部１２０１により生成されたＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒと判別器生成部１２０２により生成されたＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを備え、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの出力データと組合せ回路の入力データをＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒに与える。そして、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒの出力データを、組合せ回路の出力データを取り込む組合せ回路に対応したＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒに入力する。
【００９１】
具体的には、たとえば、ＣＰＵ５０１が、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ４０５の出力であるＪ＿Ｑ１をＦＦ１５０２の入力と接続する。そして、ＦＦ１５０２の出力であるＪ＿Ｒ８とＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒ１５０１の入力と接続しＪｉｔｔｅｒ伝播可能性検出器１５００を構築する。
【００９２】
なお、上述した検出器生成部１２０１と、判別器生成部１２０２と、第１の変換部１２０３と、第２の変換部１２０４と、構築部１２０５は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５などの記録媒体に記録されたプログラムを、ＣＰＵ５０１が実行することによって、その機能を実現する。
【００９３】
（検証支援装置１２００の検証支援処理手順）
実施の形態２にかかる検証支援装置１２００の検証支援処理手順について説明する。図１６は、検証支援装置１２００の検証支援処理手順を示すフローチャートである。図１６においてまず、組合せ回路の段数を決定する（ステップＳ１６０１）。つぎに、ｄ＝組合せ回路の段数とし（ステップＳ１６０２）、ＣＤＣ情報から選択されていないＣＤＣリストはあるか否かを判断する（ステップＳ１６０３）。
【００９４】
ＣＤＣ情報から選択されていないＣＤＣリストはあると判断された場合（ステップＳ１６０３：Ｙｅｓ）、Ｎ＝送信ＦＦリスト内のＦＦの個数とし（ステップＳ１６０４）、ＤＵＴ情報のＦＦリストから受信ＦＦの入力信号名を読み出し（ステップＳ１６０５）、ＤＩＮ＝受信ＦＦへの入力信号名とし（ステップＳ１６０６）、検出器生成部１２０１により、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの生成処理を実行し（ステップＳ１６０７）、前段ＦＦ＝受信ＦＦとし（ステップＳ１６０８）、構築部１２０５により、Ｊｉｔｔｅｒ伝播判別器の生成処理を実行し（ステップＳ１６０９）、ステップＳ１６０１へ戻る。Ｊｉｔｔｅｒ伝播判別器の生成処理では、受信クロックドメイン内の受信ＦＦから観測位置である組合せ回路までのＦＦと各組合せ回路に対応したＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを生成する。
【００９５】
一方、ＣＤＣ情報から選択されていないＣＤＣリストはないと判断された場合（ステップＳ１６０３：Ｎｏ）、一連の処理を終了する。
【００９６】
つぎに、上述したＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの生成処理（ステップＳ１６０７）について説明する。図１７は、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの生成処理の処理手順を示すフローチャートである。図１７においてまず、１−１のＪｉｔｔｅｒ  ＤｅｔｅｃｔｏｒをＮ個生成し（ステップＳ１７０１）、Ｎ＞１であるか否かを判断する（ステップＳ１７０２）。Ｎ＞１である場合（ステップＳ１７０２：Ｙｅｓ）、判別器生成部１２０２により、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒの生成処理を実行し（ステップＳ１７０３）、そして、ステップＳ１６０８へ移行する。一方、Ｎ＞１でない場合（ステップＳ１７０２：Ｎｏ）、ステップＳ１６０８へ移行する。
【００９７】
つぎに上述したＪｉｔｔｅｒ伝播判別器の生成処理（ステップＳ１６０９）について説明する。図１８は、Ｊｉｔｔｅｒ伝播判別器の処理手順を示すフローチャートである。図１８においてまず、前段ＦＦのモデルを生成し（ステップＳ１８０１）、前段ＦＦの後段にある隣接した未処理のＦＦがあるか否かを判断する（ステップＳ１８０２）。前段ＦＦの後段にある隣接した未処理のＦＦがあると判断された場合（ステップＳ１８０２：Ｙｅｓ）、後段ＦＦ＝前段ＦＦの後段にある隣接したＦＦとし（ステップＳ１８０３）、前段ＦＦと後段ＦＦの間に組合せ回路があるか否かを判断する（ステップＳ１８０４）。
【００９８】
前段ＦＦと後段ＦＦの間に組合せ回路があると判断された場合（ステップＳ１８０４：Ｙｅｓ）、ＤＵＴ情報のＦＦリストから後段ＦＦの入力信号名を読み出し（ステップＳ１８０５）、ＤＩＮ＝後段ＦＦの入力信号名とし（ステップＳ１８０６）、判別器生成部１２０２により、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒの生成処理を実行する（ステップＳ１８０７）。Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒの生成処理は上述したステップＳ１７０３の処理と同様の処理である。そして、ｄ＞１であるか否かを判断する（ステップＳ１８０８）。ｄ＞１であると判断された場合（ステップＳ１８０８：Ｙｅｓ）、ｄ＝ｄ−１とし（ステップＳ１８０９）、前段ＦＦ＝後段ＦＦとし（ステップＳ１８１０）、ステップＳ１８０１へ戻る。
【００９９】
一方、前段ＦＦと後段ＦＦの間に組合せ回路がないと判断された場合（ステップＳ１８０４：Ｎｏ）、ステップＳ１８１０へ移行する。そして、ｄ＞１でないと判断された場合（ステップＳ１８０８：Ｎｏ）、出力ポートを生成し（ステップＳ１８１１）、ステップＳ１６０３に戻る。一方、前段ＦＦの後段にある隣接した未処理のＦＦがないと判断された場合（ステップＳ１８０２：Ｎｏ）、ステップＳ１６０３に戻る。
【０１００】
つぎに、上述したＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒの生成処理（ステップＳ１７０３またはステップＳ１８０７）について説明する。図１９は、Ｊｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒの生成処理の処理手順を示すフローチャートである。図１９においてまず、ＤＵＴ情報からＤＩＮの論理式を取得する（ステップＳ１９０１）。つぎに、論理式（３）を取得し（ステップＳ１９０２）、第１の変換部１２０３により、ＤＩＮの論理式から論理式（３）を生成する（ステップＳ１９０３）。そして、論理式（５）を取得し（ステップＳ１９０４）、第２の変換部１２０４により、論理式（５）を生成し（ステップＳ１９０５）、論理式（５）により構成されるＪｉｔｔｅｒ  Ｍｕｌｔｉｐｌｅｘｅｒを生成し（ステップＳ１９０６）、ステップＳ１６０８（ステップＳ１８０８）へ移行する。
【０１０１】
以上説明したように実施の形態２では、組合せ回路の出力位置を観測位置とするＪｉｔｔｅｒ伝播可能性検出器を自動で生成することができる。したがって、手作業でモデルを作成するといった利用者（設計者と検証者の双方を含む意味である）の負担を軽減することができる。また、メタステーブル状態の影響がテスト可能な入力パターンであるか否かを早期に判断することができる。
【０１０２】
（実施の形態３）
つぎに、実施の形態３を説明する。実施の形態３では、受信クロックドメインに入力される入力データの変化を検出する。そして、入力データに変化がある場合、不定値がＦＦを介して組合せ回路に入力され、入力データに変化がない場合、入力データがＦＦを介して組合せ回路に入力される。したがって、組合せ回路に不定値が出力されれば、入力データの変化が組合せ回路の出力に伝播されていることがわかる。なお、実施の形態１および２で説明した構成と同一構成には同一符号を付し、同一構成の説明を省略する。
【０１０３】
図２０は、実施の形態３にかかるＪｉｔｔｅｒ伝播可能性検出器を示す説明図である。Ｊｉｔｔｅｒ伝播可能性検出器２０００は、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ１０９と、選択器２００１と、受信クロックドメイン１０３と同一段数のＦＦと、受信クロックドメイン１０３の組合せ回路１０７と、比較器２００２とにより構成されている。Ｊｉｔｔｅｒ伝播可能性検出器２０００は、検証用のモデルである。
【０１０４】
（検証支援装置の機能的構成）
つぎに、検証支援装置の機能的構成について説明する。図２１は、実施の形態３にかかる検証支援装置の機能的構成を示すブロック図である。検証支援装置２１００は、検出部２１０１と、選択部２１０２と、判別部２１０３とを含む構成である。検出部２１０１と、選択部２１０２と、判別部２１０３は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されたプログラムをＣＰＵ５０１に実行させることにより、または、Ｉ／Ｆ５０９により、その機能を実現する。
【０１０５】
まず、検出部２１０１は、検証対象回路３００の送信クロックドメイン１０２から受信クロックドメイン１０３へ受け渡され、受信クロックドメイン１０３内の組合せ回路に入力されるデータの変化を検出する。
【０１０６】
具体的には、たとえば、実施の形態１で上述した検出部６０１と同様にＪｉｔｔｅｒ  Ｄｅｔｅｔｃｔｏｒ１０９が、送信ＦＦ１０５の出力データの変化を検出する。
【０１０７】
つぎに、選択部２１０２は、検出部２１０１により検出された検出結果に応じて不定値または受信クロックドメイン１０３内の組合せ回路に入力されるデータを選択して、受信クロックドメイン１０３内の組合せ回路と同一の組合せ回路へ出力する。
【０１０８】
具体的には、たとえば、選択器２００１が、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ１０９により送信クロックドメイン１０２から受信クロックドメイン１０３に受け渡されるデータに変化があると検出された場合、不定値を選択して受信ＦＦ１０６へ出力し、データに変化があると検出されなかった場合、データを選択して受信ＦＦ１０６へ出力する。
【０１０９】
たとえば、選択器２００１が、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ１０９の出力が“１”の場合、不定値を選択して受信ＦＦ１０６へ出力し、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ１０９の出力が“０”の場合、受信クロックドメイン１０３に受け渡されるデータを選択して受信ＦＦ１０６へ出力する。
【０１１０】
判別部２１０３は、選択部２１０２により選択された選択結果が出力された同一の組合せ回路の入力データに不定値が含まれる場合、同一の組合せ回路の出力データが不定値であるか否かを判別する。
【０１１１】
具体的には、たとえば、比較器２００２は、組合せ回路１０７の出力データが不定値であるか否かを判別して出力している。データに変化があった場合、選択器２００１により受信ＦＦ１０６には不定値が入力されているため、ｔ１には、不定値が入力される。したがって、比較器２００２が、組合せ回路１０７の出力に不定値が出力されるか否かを判別することで、データの変化が組合せ回路１０７の出力に伝播されているか否かが判別できる。
【０１１２】
また、判別部２１０３は、判別結果を出力する。具体的には、たとえば、入力パターンと関連づけられて判別結果を出力する。出力形式としては、たとえば、ディスプレイ５０８への表示、プリンタ５１３への印刷出力、Ｉ／Ｆ５０９による外部装置への送信がある。また、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶することとしてもよい。
【０１１３】
（検証支援装置２１００の検証支援処理手順）
実施の形態３にかかる検証支援装置２１００の検証支援処理手順について説明する。図２２は、検証支援装置２２００の検証支援処理手順を示すフローチャートである。図２２においてまず、Ｊｉｔｔｅｒ伝播可能性検出器と入力パターンを取得し（ステップＳ２２０１）、検出部２１０１により、受信クロックドメインへの入力データの変化を検出し（ステップＳ２２０２）、選択部２１０２により、検出結果に基づき入力データまたは不定値を組合せ回路へ入力し（ステップＳ２２０３）、判別部２１０３により、組合せ回路の出力データが不定値であるか否かを判断する（ステップＳ２２０４）。
【０１１４】
組合せ回路の出力データが不定値であると判断された場合（ステップＳ２２０４：Ｙｅｓ）、判断結果を“１”に設定し（ステップＳ２２０５）、結果を保存し（ステップＳ２２０６）、一連の処理を終了する。一方、組合せ回路の出力データが不定値でないと判断された場合（ステップＳ２２０４：Ｎｏ）、判断結果を“０”に設定し（ステップＳ２２０７）、ステップＳ２２０６へ移行する。
【０１１５】
以上説明したように実施の形態３では、送信クロックドメイン１０２から受信クロックドメイン１０３に受け渡されるデータに変化があった場合、不定値を組合せ回路に入力させ、組合せ回路の出力に不定値が出力されるか否かを判別する。これにより、受信クロックドメイン１０３へのデータが受信クロックドメイン１０３内の組合せ回路の出力に伝播されるか組合せ回路内で相殺されるかが自動判別される。
【０１１６】
したがって、組合せ回路でのデータの変化の伝播／相殺が、その組み合わせ回路の出力位置で観測することができる。これにより、他の組合せ回路の影響を受けることなく観測できるため、検証精度の向上を図ることができる。また、他の組合せ回路を検証対象から除外した分、検証期間を短縮することができる。さらに、受信クロックドメイン１０３内の組合せ回路が複雑であってもメタステーブル状態の影響をテスト可能な入力パターンを作成することができる。
【０１１７】
さらに、実施の形態１にかかるＪｉｔｔｅｒ伝播可能性検出器１０４と比較して実施の形態３にかかるＪｉｔｔｅｒ伝播可能性検出器２０００は、選択器２００１を有するだけで受信クロックドメイン１０３内の組合せ回路に対応した判別器を必要としないため、構成が単純である。そのため、利用者が、Ｊｉｔｔｅｒ伝播可能性検出器２０００を手作業で作成する場合、Ｊｉｔｔｅｒ伝播可能性検出器１０４と比較して容易に作成することができる。したがって、検証期間を短縮することができる。
【０１１８】
（実施の形態４）
つぎに、実施の形態４を説明する。実施の形態４では、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒ１０９と、選択器２００１と、比較器２００２とを生成して実施の形態３にかかるＪｉｔｔｅｒ伝播可能性検出器を自動で生成する。これにより、Ｊｉｔｔｅｒ伝播可能性検出器を手動で作成するといった利用者の負担を軽減することができる。なお、実施の形態１〜３で説明した構成と同一構成には同一符号を付し、その説明を省略する。
【０１１９】
（検証支援装置の機能的構成）
つぎに、検証支援装置の機能的構成について説明する。図２３は、実施の形態４にかかる検証支援装置の機能的構成を示すブロック図である。検証支援装置２３００は、検出器生成部２３０１と、判別器生成部２３０２と、構築部２３０３と、選択器生成部２３０４と、複製部２３０５と、比較器生成部２３０６とを含む構成である。
【０１２０】
検出器生成部２３０１と、判別器生成部２３０２と、構築部２３０３と、選択器生成部２３０４と、複製部２３０５と、比較器生成部２３０６は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されたプログラムをＣＰＵ５０１に実行させることにより、または、Ｉ／Ｆ５０９により、その機能を実現する。
【０１２１】
検出器生成部２３０１は、上述した検出器生成部１２０１と同様の処理である。つぎに、判別器生成部２３０２は、上述した判別器生成部１２０２と同様の処理である。そして、構築部２３０３は、上述した構築部１２０５と同様の処理である。検出器生成部２３０１と、判別器生成部２３０２と、構築部２３０３との説明を省略する。
【０１２２】
つぎに、選択器生成部２３０４は、構築部２３０３により構築された検出器の出力に応じて不定値または受信クロックドメインに入力されるデータと、受信クロックドメイン内の組合せ回路の入力データとを接続させる選択器２００１を生成する。
【０１２３】
具体的には、たとえば、ＣＰＵ５０１が、記憶装置に記憶されている選択器のモデルを読みだす。たとえば、選択器のモデルを構成する論理式の一例を以下に示す。
【０１２４】
ｙ＝（ＣＴＲＬ＆１‘ｂｚ）｜（〜ＣＴＲＬ＆ＤＡＴＡ）
・・・（９）
【０１２５】
ｙが選択器のモデルの出力である。ＣＴＲＬが制御信号である。論理式（９）では、ｙは、ＣＴＲＬが“１”の場合、不定値を出力し、ＣＴＲＬが“０”の場合、ＤＡＴＡの値を出力する。
【０１２６】
選択器のモデルの制御信号であるＣＴＲＬとＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの出力データとを接続する。つぎに、選択器のモデルのＤＡＴＡと受信クロックドメインの組合せ回路に入力されるデータとを接続して選択器２００１を生成する。
【０１２７】
つぎに、複製部２３０５は、受信クロックドメイン１０３内の組合せ回路を複製して選択器生成部により生成された選択器２００１の出力データを入力する。具体的には、たとえば、ＣＰＵ５０１が、検証対象回路３００内の組合せ回路を複製し、選択器２００１の出力と複製した組合せ回路の入力とを接続する。
【０１２８】
つぎに、比較器生成部２３０６は、複製部２３０５により複製された受信クロックドメイン内の組合せ回路の出力と不定値とを比較する比較器２００２を生成する。具体的には、たとえば、ＣＰＵ５０１が、記憶装置から比較器のモデルを読み出し、複製された組合せ回路の出力と比較器のモデルの入力とを接続して比較器２００２を生成する。
【０１２９】
（検証支援装置２３００の検証支援処理手順）
実施の形態４にかかる検証支援装置２３００の検証支援処理手順について説明する。図２４は、検証支援装置２３００の検証支援処理手順を示すフローチャートである。図２４においてまず、組合せ回路の段数を設定し（ステップＳ２４０１）、ｅ＝組合せ回路の段数とし（ステップＳ２４０２）、ＣＤＣ情報から選択されていないＣＤＣリストはあるか否かを判断する（ステップＳ２４０３）。
【０１３０】
ＣＤＣ情報から選択されていないＣＤＣリストはあると判断された場合（ステップＳ２４０３：Ｙｅｓ）、Ｎ＝送信ＦＦリスト内のＦＦ個数とし（ステップＳ２４０４）、ＤＵＴ情報のＦＦリストから受信ＦＦの入力信号名を読み出し（ステップＳ２４０５）、ＤＩＮ＝受信ＦＦへの入力信号名とし（ステップＳ２４０６）、検出器生成部２３０１と、判別器生成部２３０２と、構築部２３０３とにより、Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの生成処理を実行する（ステップＳ２４０７）。
【０１３１】
Ｊｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの生成処理は、実施の形態２で説明したＪｉｔｔｅｒ  Ｄｅｔｅｃｔｏｒの生成処理（ステップＳ１６０７）と同様の処理である。つぎに、選択器生成部２３０４により、選択器を生成し（ステップＳ２４０８）、複製部２３０５により、組合せ回路の複製処理を実行し（ステップＳ２４０９）、比較器生成部２３０６により、不定値と比較する比較器を生成し（ステップＳ２４１０）、ステップＳ２４０１に戻る。
【０１３２】
一方、ＣＤＣ情報から選択されていないＣＤＣリストはないと判断された場合（ステップＳ２４０３：Ｎｏ）、一連の処理を終了する。
【０１３３】
つぎに、上述した組合せ回路の複製処理（ステップＳ２４０９）について説明する。図２５は、組合せ回路の複製処理の処理手順を示すフローチャートである。図２５においてまず、前段ＦＦのＦＦモデルを生成し（ステップＳ２５０１）、前段ＦＦの後段にある隣接した未処理のＦＦがあるか否かを判断する（ステップＳ２５０２）。前段ＦＦの後段にある隣接した未処理のＦＦがあると判断された場合（ステップＳ２５０２：Ｙｅｓ）、後段ＦＦ＝前段ＦＦの後段にある隣接したＦＦとし（ステップＳ２５０３）、前段ＦＦと後段ＦＦの間に組合せ回路があるか否かを判断する（ステップＳ２５０４）。
【０１３４】
前段ＦＦと後段ＦＦの間に組合せ回路があると判断された場合（ステップＳ２５０４：Ｙｅｓ）、組合せ回路を複製し（ステップＳ２５０５）、ｅ＞１であるか否かを判断する（ステップＳ２５０６）。ｅ＞１であると判断された場合（ステップＳ２５０６：Ｙｅｓ）、ｅ＝ｅ−１を実行し（ステップＳ２５０７）、前段ＦＦ＝後段ＦＦとし（ステップＳ２５０８）、ステップＳ２５０１へ戻る。
【０１３５】
一方、前段ＦＦと後段ＦＦの間に組合せ回路がないと判断された場合（ステップＳ２５０４：Ｎｏ）、ステップＳ２５０８へ移行する。一方、ｅ＞１でないと判断された場合（ステップＳ２５０６：Ｎｏ）、ステップＳ２４１０へ移行する。一方、前段ＦＦの後段にある隣接した未処理のＦＦがないと判断された場合（ステップＳ２５０２：Ｎｏ）、ステップＳ２４１０へ移行する。
【０１３６】
以上説明したように実施の形態４では、実施の形態３のＪｉｔｔｅｒ伝播可能性検出器２０００を自動で生成する。受信クロックドメイン内のどの組合せ回路の出力位置であっても観測位置とすることができるモデルが自動生成される。これにより、手作業でモデルを作成するといった利用者の負担を軽減することができる。また、メタステーブル状態の影響がテスト可能な入力パターンであるか否かを早期に判断することができる。
【０１３７】
（実施の形態５）
つぎに、実施の形態５では、Ｊｉｔｔｅｒ伝播検出器を用いて作成した入力パターンを用いて受信クロックドメイン内の受信ＦＦのモデルを変更後の検証結果とモデル変更前の検証結果の比較を行う。なお、実施の形態１〜４で説明した構成と同一構成には同一符号を付し、その説明を省略する。
【０１３８】
図２６は、Ｊｉｔｔｅｒ伝播検出器を示す説明図である。Ｊｉｔｔｅｒ伝播検出器２６００は、受信クロックドメイン１０３内の受信ＦＦ１０６と、ＦＦ１０８と、組合せ回路１０７と、判別器２６０１とを含む構成である。Ｊｉｔｔｅｒ伝播検出器２６００では、一例として組合せ回路１０７の出力位置を観測位置としている。そのため、組合せ回路１０７の出力データが、判別器２６０１に入力されている。Ｊｉｔｔｅｒ伝播検出器２６００は、検証用のモデルである。
【０１３９】
したがって、受信クロックドメイン１０３内の他の組合せ回路の出力を観測位置とする場合、他の組合せ回路の出力データが判別器２６０１に入力される。
【０１４０】
（検証支援装置の機能的構成）
つぎに、検証支援装置の機能的構成について説明する。図２７は、実施の形態５にかかる検証支援装置の機能的構成を示すブロック図である。検証支援装置２７００は、第１の取得部２７０１と、第２の取得部２７０２と、判別部２７０３とを含む構成である。第１の取得部２７０１と、第２の取得部２７０２と、判別部２７０３は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されたプログラムをＣＰＵ５０１に実行させることにより、または、Ｉ／Ｆ５０９により、その機能を実現する。
【０１４１】
第１の取得部２７０１は、検証対象回路３００の送信クロックドメインから受信クロックドメインに受け渡されるデータが受信クロックドメイン内の受信ＦＦを介して入力される組合せ回路の出力データを取得する。具体的には、たとえば、ＣＰＵ５０１は、検証対象回路３００にアクセスし、受信クロックドメイン内の受信ＦＦを介して入力される組合せ回路の出力データを取得する。
【０１４２】
第２の取得部２７０２は、データが受信クロックドメイン内のメタステーブル状態の影響を模擬可能な受信ＦＦのモデルを介して入力される組合せ回路と同一の組合せ回路の出力データを取得する。具体的には、たとえば、ＣＰＵ５０１は、検証対象回路３００にアクセスし、メタステーブル状態の影響を模擬可能な受信ＦＦのモデルを介して入力され、第１の取得部２７０１で取得された組合せ回路と同一の組合せ回路の出力データを取得する。
【０１４３】
判別部２７０３は、第１の取得部２７０１および第２の取得部２７０２により取得された出力データが一致するか否かを判別して出力する。具体的には、たとえば、ＣＰＵ５０１は、第１の取得部２７０１および第２の取得部２７０２により取得された出力データを比較して一致すれば、“１”を出力し、一致しなければ“０”を出力する。
【０１４４】
また、判別部２７０３は、判別結果を出力する。具体的には、たとえば、入力パターンと関連づけられて判別結果を出力する。出力形式としては、たとえば、ディスプレイ５０８への表示、プリンタ５１３への印刷出力、Ｉ／Ｆ５０９による外部装置への送信がある。また、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶することとしてもよい。
【０１４５】
（検証支援装置２７００の検証支援処理手順）
実施の形態５にかかる検証支援装置２７００の検証支援処理手順について説明する。図２８は、検証支援装置２７００の検証支援処理手順を示すフローチャートである。図２８においてまず、ＣＤＣモデルの検証対象回路と、Ｊｉｔｔｅｒ伝播検出器と、入力パターンとを取得し（ステップＳ２８０１）、第１の取得部２７０１により、Ｊｉｔｔｅｒ伝播検出器内の組合せ回路の出力データを取得（ステップＳ２８０２）し、第２の取得部２７０２により、ＣＤＣモデルの検証対象回路内の組合せ回路の出力データを取得し（ステップＳ２８０３）、取得した出力データを比較し（ステップＳ２８０４）、比較結果を出力し（ステップＳ２８０５）、一連の処理を終了する。
【０１４６】
以上説明したように実施の形態５では、Ｊｉｔｔｅｒ伝播検出器により検証対象回路３００のシミュレーション結果と、受信クロックドメイン内の受信ＦＦがメタステーブル状態の影響を模擬可能なモデルに変更されている場合のシミュレーション結果とが一致するか否かを判別することができる。これにより、メタステーブル状態の影響が組合せ回路の出力に伝播されるか否かを自動検証できる。したがって、メタステーブル状態の影響により回路の動作に異常が発生しないか否かを適切な位置で検証でき、検証精度の向上を図ることができる。
【０１４７】
（実施の形態６）
そして、実施の形態６では、Ｊｉｔｔｅｒ伝播検出器を自動で生成する検証支援プログラムについて説明する。なお、実施の形態１〜５で説明した構成と同一構成には同一符号を付し、その説明を省略する。
【０１４８】
（検証支援装置の機能的構成）
つぎに、検証支援装置の機能的構成について説明する。図２９は、実施の形態６にかかる検証支援装置の機能的構成を示すブロック図である。検証支援装置２９００は、判別器生成部２９０１と、構築部２９０２とを含む構成である。判別器生成部２９０１と、構築部２９０２は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されたプログラムをＣＰＵ５０１に実行させることにより、または、Ｉ／Ｆ５０９により、その機能を実現する。
【０１４９】
判別器生成部２９０１は、検証対象回路３００の送信クロックドメインから受信クロックドメインに受け渡されるデータが受信クロックドメイン内の受信ＦＦを介して入力される組合せ回路の出力データと、データが受信クロックドメイン内のメタステーブル状態の影響を模擬可能な受信ＦＦモデルを介して入力される組合せ回路と同一の組合せ回路の出力データとが一致するか否かを判別する判別器を生成する。具体的には、たとえば、ＣＰＵ５０１が、記憶装置から２つの入力データを一致するか否かを判別する判別器のモデルを読み出して生成する。
【０１５０】
構築部２９０２は、組合せ回路の出力データと同一の組合せ回路の出力データとを判別器生成部２９０１により生成された判別器の入力に接続して出力データが一致するかを検出する検出器を構築する。具体的には、たとえば、ＣＰＵ５０１が、生成された判別器２６０１の入力と、組合せ回路の出力データおよび同一の組合せ回路の出力データとを接続する。
【０１５１】
（検証支援装置２９００の検証支援処理手順）
実施の形態６にかかる検証支援装置２９００の検証支援処理手順について説明する。図３０は、検証支援装置２９００の検証支援処理手順を示すフローチャートである。図３０においてまず、判別器生成部２９０１により、判別器を生成し（ステップＳ３００１）、構築部２９０２により、Ｊｉｔｔｅｒ伝播検出器およびＣＤＣモデルの検証対象回路内の組合せ回路の出力データと判別器の入力とを接続し（ステップＳ３００２）、一連の処理を終了する。
【０１５２】
以上説明したように、実施の形態６では、Ｊｉｔｔｅｒ伝播検出器を自動で生成する。これにより、どの組合せ回路の出力位置であっても容易に観測位置として検証できる。したがって、検証の精度を向上させることができる。
【０１５３】
以上説明したように、実施の形態１にかかる検証支援プログラムおよび検証支援装置によれば、検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出し、検出されたデータの変化が組合せ回路の出力に伝播されるか否かを組合せ回路の入力データに応じて判別して出力する。
【０１５４】
これにより、データの変化を組合せ回路の出力位置で観測でき、検証の精度を向上することができる。したがって、適切な位置で観測することができ、検証期間を短縮することができる。
【０１５５】
以上説明したように、実施の形態２にかかる検証支援プログラム、および検証支援装置によれば、データの変化を検出する検出器と、データの変化が組合せ回路に伝播されるか否かを判別する判別器とを生成して構築する。これにより、組合せ回路の出力位置を観測位置とする検出器を自動で生成することができる。したがって、手作業でモデルを作成するといった利用者の負担を軽減することができる。
【０１５６】
また、送信クロックドメインから受信クロックドメインに受け渡されるデータが、観測位置とされる受信クロックドメイン内の組合せ回路へ他の組合せ回路を介して入力されている場合、観測位置とされる組合せ回路までのすべての組合せ回路に対応した判別器を生成して構築する。
【０１５７】
これにより、受信クロックドメイン内のどの組合せ回路の出力であっても観測位置とすることができる検出器を自動で生成でき、検証の精度が向上する。
【０１５８】
また、組合せ回路の論理式を、データの変化に応じて特定の値が与えられる伝播の有無を示す係数を有する論理式に変換することにより、複雑な組合せ回路の論理式であってもデータの変化が伝播されるか判別可能な論理式に自動で変換することができる。したがって、手作業でモデルを作成するといった利用者の負担を軽減することができる。
【０１５９】
以上説明したように、実施の形態３にかかる検証支援プログラム、および検証支援装置によれば、データの変化に応じて不定値または受け渡されるデータを選択して受信クロックドメイン内の組合せ回路に入力し、組合せ回路の出力に不定値が出力されるか否かを判別する。
【０１６０】
これにより、組合せ回路でのデータの変化の伝播／相殺が、その組み合わせ回路の出力位置で観測することができる。したがって、他の組合せ回路の影響を受けることなく観測できるため、検証精度の向上を図ることができる。また、他の組合せ回路を検証対象から除外した分、検証期間を短縮することができる。
【０１６１】
以上説明したように、実施の形態４にかかる検証支援プログラム、および検証支援装置によれば、データの変化を検出する検出器と、検出器の出力に応じて不定値または受け渡されるデータを選択する選択器と、選択器の出力データを受信クロックドメイン内の組合せ回路に受け渡して、組合せ回路の出力と不定値を比較する比較器とを生成する。
【０１６２】
これにより、受信クロックドメイン内のどの組合せ回路の出力位置であっても観測位置とすることができるモデルが自動生成される。これにより、手作業でモデルを作成するといった利用者の負担を軽減することができる。また、メタステーブル状態の影響がテスト可能な入力パターンであるか否かを早期に判断することができる。
【０１６３】
以上説明したように、実施の形態５にかかる検証支援プログラム、および検証支援装置によれば、受信ＦＦのモデル変更前の組合せ回路の出力と、モデル変更後の組合せ回路の出力とが一致するか否かを判別する。
【０１６４】
これにより、メタステーブル状態の影響が組合せ回路の出力に伝播されるか否かを自動検証できる。したがって、メタステーブル状態の影響により回路の動作に異常が発生しないか否かを適切な位置で検証でき、検証の精度が向上する。
【０１６５】
以上説明したように、実施の形態６にかかる検証支援プログラム、および検証支援装置によれば、受信ＦＦのモデル変更前の組合せ回路の出力と、モデル変更後の組合せ回路の出力とが一致するか否かを判別する判別器を生成する。これによって、どの組合せ回路の出力位置であっても容易に観測位置とすることができ、検証の精度を向上させることができる。
【０１６６】
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本検証支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本検証支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１６７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６８】
（付記１）コンピュータを、
検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出手段、
前記検出手段により検出されたデータの変化が前記組合せ回路の出力に伝播されるか否かを前記組合せ回路の入力データに応じて判別して出力する判別手段、
として機能させることを特徴とする検証支援プログラム。
【０１６９】
（付記２）コンピュータを、
検証対象回路の送信クロックドメイン内の送信フリップフロップから受信クロックドメイン内の受信フリップフロップへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出器を、前記送信フリップフロップごとに生成する検出器生成手段、
前記検証対象回路内の組合せ回路の出力に前記データの変化が伝播されるか否かを判別可能な論理式で構成される判別器を生成する判別器生成手段、
前記検出器生成手段により生成された検出器と前記判別器生成手段により生成された判別器を備え、前記検出器の出力データと前記組合せ回路の入力データを前記判別器に与える検出器を構築する構築手段、
として機能させることを特徴とする検証支援プログラム。
【０１７０】
（付記３）前記構築手段は、
前記データが前記組合せ回路へ前記検証対象回路内の他の組合せ回路を介して入力されている場合、前記構築手段により構築された前記検出器と前記判別器生成手段により生成された判別器とを備え、前記他の組合せ回路の検出器の出力データと前記組合せ回路の入力データとを前記判別器に与える検出器を構築することを特徴とする付記２に記載の検証支援プログラム。
【０１７１】
（付記４）前記コンピュータを、
前記組合せ回路の論理式を、前記検出器の出力データに応じて伝播の有無を示す係数または前記データを選択する選択回路と前記選択回路の出力が入力される前記組合せ回路とを含む論理式に変換する第１の変換手段、
前記第１の変換手段により変換された論理式を、当該論理式内の前記伝播の有無を示す係数に特定の値を与えて前記組合せ回路と同一論理を除いた論理式に変換する第２の変換手段、として機能させ、
前記判別器生成手段は、
前記第２の変換手段によって変換された論理式で構成される判別器を生成することを特徴とする付記２に記載の検証支援プログラム。
【０１７２】
（付記５）コンピュータを、
検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出手段、
前記検出手段により検出された検出結果に応じて不定値または前記データを選択して、前記組合せ回路と同一の組合せ回路へ出力する選択手段、
前記選択手段により選択された選択結果が出力された前記同一の組合せ回路の入力データに前記不定値が含まれる場合、前記同一の組合せ回路の出力データが前記不定値であるか否かを判別して出力する判別手段、
として機能させることを特徴とする検証支援プログラム。
【０１７３】
（付記６）コンピュータを、
検証対象回路の送信クロックドメイン内の送信フリップフロップから受信クロックドメイン内の受信フリップフロップへ受け渡されて前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出器を、前記送信フリップフロップごとに生成する検出器生成手段、
クロックドメイン間の組合せ回路の出力に前記データの変化が伝播されるか否かを判別可能な論理式で構成される判別器を生成する判別器生成手段、
前記検出器生成手段により生成された検出器と前記判別器生成手段により生成された判別器を備え、前記検出器の出力データと前記受信クロックドメイン内の組合せ回路の入力データを前記判別器に与える検出器を構築する構築手段、
前記構築手段により構築された検出器の出力に応じて不定値または前記データと、前記受信クロックドメイン内の組合せ回路の入力とを接続させる選択器を生成する選択器生成手段、
前記受信クロックドメイン内の組合せ回路を複製して前記選択器生成手段により生成された前記選択器の出力データを入力する複製手段、
前記複製手段により複製された前記受信クロックドメイン内の組合せ回路の出力と前記不定値とを比較する比較器を生成する比較器生成手段、
として機能させることを特徴とする検証支援プログラム。
【０１７４】
（付記７）コンピュータを、
検証対象回路の送信クロックドメインから受信クロックドメインに受け渡されるデータが前記受信クロックドメイン内の受信フリップフロップを介して入力される組合せ回路の出力データを取得する第１の取得手段、
前記データが前記受信クロックドメイン内のメタステーブル状態の影響を模擬可能な受信フリップフロップモデルを介して入力される前記組合せ回路と同一の組合せ回路の出力データを取得する第２の取得手段、
前記第１の取得手段および第２の取得手段により取得された出力データが一致するか否かを判別して出力する判別手段、
として機能させることを特徴とする検証支援プログラム。
【０１７５】
（付記８）コンピュータを、
検証対象回路の送信クロックドメインから受信クロックドメインに受け渡されるデータが前記受信クロックドメイン内の受信フリップフロップを介して入力される組合せ回路の出力データと、前記データが前記受信クロックドメイン内のメタステーブル状態の影響を模擬可能な受信フリップフロップモデルを介して入力される前記組合せ回路と同一の組合せ回路の出力データとが一致するか否かを判別する判別器を生成する判別器生成手段、
前記組合せ回路の出力データと前記同一の組合せ回路の出力データとを前記判別器生成手段により生成された判別器に接続して前記出力データが一致するかを検出する検出器を構築する構築手段、
として機能させることを特徴とする検証支援プログラム。
【０１７６】
（付記９）検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出手段と、
前記検出手段により検出されたデータの変化が前記組合せ回路の出力に伝播されるか否かを前記組合せ回路の入力データに応じて判別して出力する判別手段と、
を備えることを特徴とする検証支援装置。
【０１７７】
（付記１０）コンピュータが、
検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出工程と、
前記検出工程により検出されたデータの変化が前記組合せ回路の出力に伝播されるか否かを前記組合せ回路の入力データに応じて判別して出力する判別工程と、
を実行することを特徴とする検証支援方法。
【０１７８】
（付記１１）検証対象回路の送信クロックドメイン内の送信フリップフロップから受信クロックドメイン内の受信フリップフロップへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出器を、前記送信フリップフロップごとに生成する検出器生成手段と、
前記検証対象回路内の組合せ回路の出力に前記データの変化が伝播されるか否かを判別可能な論理式で構成される判別器を生成する判別器生成手段と、
前記検出器生成手段により生成された検出器と前記判別器生成手段により生成された判別器を備え、前記検出器の出力データと前記組合せ回路の入力データを前記判別器に与える検出器を構築する構築手段と、
を備えることを特徴とする検証支援装置。
【０１７９】
（付記１２）コンピュータが、
検証対象回路の送信クロックドメイン内の送信フリップフロップから受信クロックドメイン内の受信フリップフロップへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出器を、前記送信フリップフロップごとに生成する検出器生成工程と、
前記検証対象回路内の組合せ回路の出力に前記データの変化が伝播されるか否かを判別可能な論理式で構成される判別器を生成する判別器生成工程と、
前記検出器生成工程により生成された検出器と前記判別器生成工程により生成された判別器を備え、前記検出器の出力データと前記組合せ回路の入力データを前記判別器に与える検出器を構築する構築工程と、
を実行することを特徴とする検証支援方法。
【０１８０】
（付記１３）検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出手段と、
前記検出手段により検出された検出結果に応じて不定値または前記データを選択して、前記組合せ回路と同一の組合せ回路へ出力する選択手段と、
前記選択手段により選択された選択結果が出力された前記同一の組合せ回路の入力データに前記不定値が含まれる場合、前記同一の組合せ回路の出力データが前記不定値であるか否かを判別して出力する判別手段と、
を備えることを特徴とする検証支援装置。
【０１８１】
（付記１４）コンピュータが、
検証対象回路の送信クロックドメインから受信クロックドメインへ受け渡され前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出工程と、
前記検出工程により検出された検出結果に応じて不定値または前記データを選択して、前記組合せ回路と同一の組合せ回路へ出力する選択工程と、
前記選択工程により選択された選択結果が出力された前記同一の組合せ回路の入力データに前記不定値が含まれる場合、前記同一の組合せ回路の出力データが前記不定値であるか否かを判別して出力する判別工程と、
を実行することを特徴とする検証支援方法。
【０１８２】
（付記１５）検証対象回路の送信クロックドメイン内の送信フリップフロップから受信クロックドメイン内の受信フリップフロップへ受け渡されて前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出器を、前記送信フリップフロップごとに生成する検出器生成手段と、
クロックドメイン間の組合せ回路の出力に前記データの変化が伝播されるか否かを判別可能な論理式で構成される判別器を生成する判別器生成手段と、
前記検出器生成手段により生成された検出器と前記判別器生成手段により生成された判別器を備え、前記検出器の出力データと前記受信クロックドメイン内の組合せ回路の入力データを前記判別器に与える検出器を構築する構築手段と、
前記構築手段により構築された検出器の出力に応じて不定値または前記データと、前記受信クロックドメイン内の組合せ回路の入力とを接続させる選択器を生成する選択器生成手段と、
前記受信クロックドメイン内の組合せ回路を複製して前記選択器生成手段により生成された前記選択器の出力データを入力する複製手段と、
前記複製手段により複製された前記受信クロックドメイン内の組合せ回路の出力と前記不定値とを比較する比較器を生成する比較器生成手段と、
を備えることを特徴とする検証支援装置。
【０１８３】
（付記１６）コンピュータが、
検証対象回路の送信クロックドメイン内の送信フリップフロップから受信クロックドメイン内の受信フリップフロップへ受け渡されて前記受信クロックドメイン内の組合せ回路に入力されるデータの変化を検出する検出器を、前記送信フリップフロップごとに生成する検出器生成工程と、
クロックドメイン間の組合せ回路の出力に前記データの変化が伝播されるか否かを判別可能な論理式で構成される判別器を生成する判別器生成工程と、
前記検出器生成工程により生成された検出器と前記判別器生成工程により生成された判別器を備え、前記検出器の出力データと前記受信クロックドメイン内の組合せ回路の入力データを前記判別器に与える検出器を構築する構築工程と、
前記構築工程により構築された検出器の出力に応じて不定値または前記データと、前記受信クロックドメイン内の組合せ回路の入力とを接続させる選択器を生成する選択器生成工程と、
前記受信クロックドメイン内の組合せ回路を複製して前記選択器生成工程により生成された前記選択器の出力データを入力する複製工程と、
前記複製工程により複製された前記受信クロックドメイン内の組合せ回路の出力と前記不定値とを比較する比較器を生成する比較器生成工程と、
を実行することを特徴とする検証支援方法。
【０１８４】
（付記１７）検証対象回路の送信クロックドメインから受信クロックドメインに受け渡されるデータが前記受信クロックドメイン内の受信フリップフロップを介して入力される組合せ回路の出力データを取得する第１の取得手段と、
前記データが前記受信クロックドメイン内のメタステーブル状態の影響を模擬可能な受信フリップフロップモデルを介して入力される前記組合せ回路と同一の組合せ回路の出力データを取得する第２の取得手段と、
前記第１の取得手段および第２の取得手段により取得された出力データが一致するか否かを判別して出力する判別手段と、
を備えることを特徴とする検証支援装置。
【０１８５】
（付記１８）コンピュータが、
検証対象回路の送信クロックドメインから受信クロックドメインに受け渡されるデータが前記受信クロックドメイン内の受信フリップフロップを介して入力される組合せ回路の出力データを取得する第１の取得工程と、
前記データが前記受信クロックドメイン内のメタステーブル状態の影響を模擬可能な受信フリップフロップモデルを介して入力される前記組合せ回路と同一の組合せ回路の出力データを取得する第２の取得工程と、
前記第１の取得工程および第２の取得工程により取得された出力データが一致するか否かを判別して出力する判別工程と、
を実行することを特徴とする検証支援方法。
【０１８６】
（付記１９）検証対象回路の送信クロックドメインから受信クロックドメインに受け渡されるデータが前記受信クロックドメイン内の受信フリップフロップを介して入力される組合せ回路の出力データと、前記データが前記受信クロックドメイン内のメタステーブル状態の影響を模擬可能な受信フリップフロップモデルを介して入力される前記組合せ回路と同一の組合せ回路の出力データとが一致するか否かを判別する判別器を生成する判別器生成手段と、
前記組合せ回路の出力データと前記同一の組合せ回路の出力データとを前記判別器生成手段により生成された判別器に接続して前記出力データが一致するかを検出する検出器を構築する構築手段と、
を備えることを特徴とする検証支援装置。
【０１８７】
（付記２０）コンピュータが、
検証対象回路の送信クロックドメインから受信クロックドメインに受け渡されるデータが前記受信クロックドメイン内の受信フリップフロップを介して入力される組合せ回路の出力データと、前記データが前記受信クロックドメイン内のメタステーブル状態の影響を模擬可能な受信フリップフロップモデルを介して入力される前記組合せ回路と同一の組合せ回路の出力データとが一致するか否かを判別する判別器を生成する判別器生成工程と、
前記組合せ回路の出力データと前記同一の組合せ回路の出力データとを前記判別器生成工程により生成された判別器に接続して前記出力データが一致するかを検出する検出器を構築する構築工程と、
を実行することを特徴とする検証支援方法。
【符号の説明】
【０１８８】
６００，１２００  検証支援装置
１０２  送信クロックドメイン
１０３  受信クロックドメイン
１０５  送信フリップフロップ
１０６  受信フリップフロップ
１０７，３０１，３０２  組合せ回路
【図１】
2010176486.tif 000003
【図２】
2010176486.tif 000004
【図３】
2010176486.tif 000005
【図４】
2010176486.tif 000006
【図５】
2010176486.tif 000007
【図６】
2010176486.tif 000008
【図７−１】
2010176486.tif 000009
【図７−２】
2010176486.tif 000010
【図８】
2010176486.tif 000011
【図９】
2010176486.tif 000012
【図１０】
2010176486.tif 000013
【図１１】
2010176486.tif 000014
【図１２】
2010176486.tif 000015
【図１３−１】
2010176486.tif 000016
【図１３−２】
2010176486.tif 000017
【図１４】
2010176486.tif 000018
【図１５】
2010176486.tif 000019
【図１６】
2010176486.tif 000020
【図１７】
2010176486.tif 000021
【図１８】
2010176486.tif 000022
【図１９】
2010176486.tif 000023
【図２０】
2010176486.tif 000024
【図２１】
2010176486.tif 000025
【図２２】
2010176486.tif 000026
【図２３】
2010176486.tif 000027
【図２４】
2010176486.tif 000028
【図２５】
2010176486.tif 000029
【図２６】
2010176486.tif 000030
【図２７】
2010176486.tif 000031
【図２８】
2010176486.tif 000032
【図２９】
2010176486.tif 000033
【図３０】
2010176486.tif 000034