(57)【要約】【課題】タイミング例外パスの検出を、効率良く検出すること。【解決手段】回路情報ＣＫＴに含まれているＦＦペア（ＦＦｓ，ＦＦｅ）を選択部２０２によって選択し、ＦＦｅにおける値取込条件データＣを算出部２０３によって算出し、ＦＦペア（ＦＦｓ，ＦＦｅ）間のパス集合から、値取込条件データＣと合致するパス集合Ｍを分割部２０４によって分割し、パス集合Ｍ内のすべてのパスがマルチサイクルパスか否かをマルチサイクルパス検出部２０５によって検出する。そして、パス集合Ｍがマルチサイクルパスである場合、パス集合Ｍをタイミング例外パスリストＬに追加し、出力部２０７によって出力する。【選択図】        図２
2006146711.tif 000002
【特許請求の範囲】
【請求項１】
タイミング例外パスの検出対象回路に関する回路情報の入力を受け付ける入力手段と、
前記入力手段によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択する選択手段と、
前記選択手段によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出する算出手段と、
前記選択手段によって選択された第１および第２の順序回路素子間のパス集合から、前記算出手段によって算出された値取込条件データと合致するパス集合を分割する分割手段と、
前記分割手段によって分割されたパス集合内のすべてのパスが、マルチサイクルパスか否かを検出する検出手段と、
を備えることを特徴とするタイミング例外パス検出装置。
【請求項２】
タイミング例外パスの検出対象回路に関する回路情報を入力する入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択する選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出する算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致するパス集合を分割する分割工程と、
前記分割工程によって分割されたパス集合内のすべてのパスが、マルチサイクルパスか否かを検出する検出工程と、
を含んだことを特徴とするタイミング例外パス検出方法。
【請求項３】
タイミング例外パスの検出対象回路に関する回路情報を入力させる入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択させる選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出させる算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致するパス集合を分割させる分割工程と、
前記分割工程によって分割されたパス集合内のすべてのパスが、マルチサイクルパスか否かを検出させる検出工程と、
をコンピュータに実行させることを特徴とするタイミング例外パス検出プログラム。
【請求項４】
タイミング例外パスの検出対象回路に関する回路情報を入力させる入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択させる選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出させる算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致しないパス集合を分割させる分割工程と、
前記分割工程によって分割されたパス集合内の各々のパスが、フォールスパスか否かを検出させる検出工程と、
をコンピュータに実行させることを特徴とするタイミング例外パス検出プログラム。
【請求項５】
タイミング例外パスの検出対象回路に関する回路情報を入力させる入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択させる選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出させる算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致しないパス集合を分割させる分割工程と、
前記分割工程によって分割されたパス集合内の任意のパスの選択を行うパス選択ゲートに関する情報を抽出させる抽出工程と、
前記抽出工程によって抽出されたパス選択ゲートに関する情報に基づいて、前記パス選択ゲートを制御する制御信号がとり得る値の組合せに関する情報を設定させる設定工程と、
前記設定工程によって設定された値の組合せに関する情報に基づいて、前記値の組合せが起こり得るか否かを判定させる判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記パス集合内のパスを、フォールスパスと決定させる決定工程と、
をコンピュータに実行させることを特徴とするタイミング例外パス検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ディジタル回路のタイミング解析に関し、特にタイミング例外パスを検出するタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムに関する。
【背景技術】
【０００２】
ディジタル回路の設計から遅延を見積もり、正常に動作する範囲内にあるか否かを検査するタイミング解析は、製造した回路が正しく動作することを保障するために必要不可欠な工程である。このタイミング解析を行うためには、設計するディジタル回路のネットリストだけでなく、ディジタル回路のクロックの指定、モードの指定、遅延制約の指定、およびマルチサイクルパスやフォールスパス等のいわゆるタイミング例外パスの指定などを記述したタイミング制約情報が必要である。
【０００３】
このうち、設計するディジタル回路のネットリストについては、論理合成ツールやレイアウトツールなどのＣＡＤツールの進歩により、ある程度自動生成することができるようになっている。しかし、もう一方のタイミング制約の情報については、依然人手により作成する場合がほとんどであり、従来はタイミング制約情報の記述量がそれほど多くなかったため人手による場合でも問題なく作成が行えていたが、近年では、タイミング制約情報の複雑化、ディジタル回路の高速化、およびディジタル回路規模の増大化などにより与えられたクロックサイクルで動作するようなディジタル回路を製造することが困難になりつつある。
【０００４】
このため、たとえば、ディジタル回路中に含まれる複数の順序回路素子の中から、任意の２つの順序回路素子間でのパスの遅延が１クロックサイクルに収まる必要のないパス、すなわち、パスの遅延が２クロックサイクル以上にしても良いマルチサイクルパスや、論理的、タイミング的あるいは機能的に使用しないフォールスパスなどの、いわゆるタイミング例外パスをできるだけ多くかつ効率的に検出する技術への要望が高まっている。
【０００５】
このようなタイミング例外パスを、ディジタル回路から検出する従来技術は、大別して以下の２つに分類することができる。すなわち、（１）順序回路素子間のパスごとにタイミング例外パスか否かを検出する技術と、（２）順序回路素子間のすべてのパスを一括して扱い、複数の順序回路素子の各組合せごとにタイミング例外パスか否かを検出する技術とがある（たとえば、特許文献１および２参照。）。
【０００６】
【特許文献１】特開２００３−１５７２９７号公報
【特許文献２】特開２００４−１７１１４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このうち、上記（１）の従来技術では、パスが回路規模に対して最悪の場合指数爆発を起こすため、検出のための計算時間が膨大となるとともに、タイミング例外パスの記述量が多くなる場合、これを受け取るタイミング解析ツールの計算時間が増大するという問題があった。一方、上記（２）の従来技術では、パスの数が増加することによる上記（１）の従来技術での問題点は回避することが可能であるが、次のような問題がある。
【０００８】
たとえば、上記（２）の従来技術は、パスごとのタイミング例外パス、すなわち、任意に抽出した２つの順序回路素子間のパスのうち、ある一部のパスのみがタイミング例外パスであるような場合は、このタイミング例外パスを検出することができないという問題がある。
【０００９】
また、タイミング例外パスは、上記マルチサイクルパスと、フォールスパスとに分類することができるが、従来では、それぞれ独立して解析が行われていたため、タイミング例外パス全体の解析として見た場合、冗長になることが多く計算時間の増大につながっていた。
【００１０】
さらに、近年のディジタル回路の製造において、回路設計段階でタイミング例外パスを効率良く検出するとともに、タイミング例外パスを高精度で検出し、複雑化するディジタル回路の製造工期の短縮を図ることが望まれている。
【００１１】
この発明は、このような問題点に鑑みてなされたもので、ＬＳＩなどのディジタル回路のタイミング例外パスを効率良くかつ高精度で検出することができるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、この発明にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムは、タイミング例外パスの検出対象回路に関する回路情報の入力を受け付け、入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択し、選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出し、選択された第１および第２の順序回路素子間のパス集合から、算出された値取込条件データと合致するパス集合を分割し、分割されたパス集合内のすべてのパスが、マルチサイクルパスか否かを検出することを備えることを特徴とする。
【００１３】
また、この発明にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムは、タイミング例外パスの検出対象回路に関する回路情報の入力を受け付け、入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択し、選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出し、選択された第１および第２の順序回路素子間のパス集合から、算出された値取込条件データと合致しないパス集合を分割し、分割されたパス集合内の各々のパスが、フォールスパスか否かを検出することを特徴とする。
【００１４】
また、この発明にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムによれば、タイミング例外パスの検出対象回路に関する回路情報の入力を受け付け、入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択し、選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出し、選択された第１および第２の順序回路素子間のパス集合から、算出された値取込条件データと合致しないパス集合を分割し、分割されたパス集合内の任意のパスの選択を行うパス選択ゲートに関する情報を抽出し、抽出されたパス選択ゲートに関する情報に基づいて、前記パス選択ゲートを制御する制御信号がとり得る値の組合せに関する情報を設定し、設定された値の組合せに関する情報に基づいて、前記値の組合せが起こり得るか否かを判定し、判定された判定結果に基づいて、前記パス集合内のパスを、フォールスパスと決定することを特徴とする。
【発明の効果】
【００１５】
この発明にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムによれば、順序回路素子間のタイミング例外パスを効率良くかつ高精度で検出して設計期間の短縮化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に、添付図面を参照して、この発明にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムの好適な実施の形態を詳細に説明する。なお、下記の実施の形態にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムは、たとえば、この実施の形態にかかるタイミング例外パス検出プログラムが記録された記録媒体を備えるＣＡＤシステムによって実現することができる。
【００１７】
（実施の形態）
（タイミング例外パス検出装置のハードウェア構成）
まず、この発明の実施の形態にかかるタイミング例外パス検出装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかるタイミング例外パス検出装置のハードウェア構成を示すブロック図である。
【００１８】
図１において、タイミング例外パス検出装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００１９】
ここで、ＣＰＵ１０１は、タイミング例外パス検出装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００２０】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータをタイミング例外パス検出装置に読み取らせたりする。
【００２１】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであっても良い。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２２】
Ｉ／Ｆ１０９は、通信回線１１５を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００２３】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであっても良い。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであっても良い。
【００２４】
スキャナ１１２は、画像を光学的に読み取り、タイミング例外パス検出装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせても良い。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２５】
（タイミング例外パス検出装置の機能的構成）
次に、この発明の実施の形態にかかるタイミング例外パス検出装置の機能的構成について説明する。図２は、この発明の実施の形態にかかるタイミング例外パス検出装置の機能的構成を示すブロック図である。
【００２６】
図２において、タイミング例外パス検出装置２００は、入力部２０１と、選択部２０２と、算出部２０３と、分割部２０４と、マルチサイクルパス検出部２０５と、フォールスパス検出部２０６と、出力部２０７と、を備え、記憶装置２０８と、入出力装置２０９とに接続されている。このタイミング例外パス検出装置２００は、記憶装置２０８に格納されたタイミング例外パス検出プログラムにしたがいタイミング例外パスの検出処理を実行するものである。
【００２７】
入力部２０１は、入出力装置２０９から、タイミング例外パスの検出対象回路に関する回路情報の入力を受け付ける。ここで、検出対象回路とは、製造すべきディジタル回路のことであり、検出対象回路に関する回路情報（以下、「回路情報」とする）とは、順序回路素子に関する情報や、順序回路素子間の接続に関する情報などが規定されたネットリストなどのことである。入力部２０１は、具体的には、たとえば、図１に示したＩ／Ｆ１０９によってその機能を実現する。
【００２８】
選択部２０２は、入力部２０１によって入力された回路情報に含まれている複数の順序回路素子（たとえば、記憶素子）の中から、任意の順序回路素子（以下、「第１の順序回路素子」とする）と、この第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択する。選択部２０２は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などの記録媒体に記録されているプログラムを、ＣＰＵ１０１に実行させることによってその機能を実現する。
【００２９】
算出部２０３は、選択部２０２によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出する。ここで、値取込条件データとは、第２の順序回路素子について、マルチサイクルで値を取り込むために、回路情報中に割り当てる値などの条件からなるデータのことである。算出部２０３は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などの記録媒体に記録されているプログラムを、ＣＰＵ１０１に実行させることによってその機能を実現する。
【００３０】
分割部２０４は、選択部２０２によって選択された第１および第２の順序回路素子間の信号伝搬経路であるパス集合を、算出部２０３によって算出された値取込条件データと合致するパス集合（以下、「第１パス集合」とする）と、値取込条件データと合致しないパス集合（以下、「第２パス集合」とする）とにそれぞれ分割する。分割部２０４は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などの記録媒体に記録されているプログラムを、ＣＰＵ１０１に実行させることによってその機能を実現する。
【００３１】
マルチサイクルパス検出部２０５は、分割部２０４によって分割された第１パス集合について、第１パス集合内のすべてのパスが、マルチサイクルパスであるか否かを、値取込条件データのもとで第１および第２の順序回路素子間のパスベースのマルチサイクルパス解析を行い検出する。ここで、マルチサイクルパス解析は、公知のマルチサイクルパス解析方法などにより行われる。マルチサイクルパス検出部２０５は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などの記録媒体に記録されているプログラムを、ＣＰＵ１０１に実行させることによってその機能を実現する。
【００３２】
たとえば、ある順序回路素子の組合せ（Ａ，Ｂ）について、Ａ，Ｂ間のパスの始点（Ｓ）と、終点（Ｅ）での値変化の組合せ、（Ｓ，Ｅ）＝（０→１，０→１）、（０→１，１→０）、（１→０，０→１）、（１→０，１→０）の各々に対して、その組合せが起こり得るかを調べることにより、Ａ，Ｂ間のマルチサイクルパスを検出することができる。
【００３３】
フォールスパス検出部２０６は、分割部２０４によって分割された第２パス集合について、第２パス集合全体に対して、あるいは第２パス集合内の各々のパスに対して、フォールスパスか否かを、フォールスパス解析を行い検出する。フォールスパス検出部２０６は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などの記録媒体に記録されているプログラムを、ＣＰＵ１０１に実行させることによってその機能を実現する。
【００３４】
出力部２０７は、マルチサイクルパス検出部２０５によって検出されたマルチサイクルパスとしてのパス集合と、フォールスパス検出部２０６によって検出されたフォールスパスとしてのパス集合とを、タイミング例外パスとして、回路情報に関する出力情報（たとえば、タイミング例外パスリスト）を出力する。出力部２０７は、具体的には、たとえば、図１に示したＩ／Ｆ１０９によってその機能を実現する。
【００３５】
なお、記憶装置２０８は、具体的には、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１０４、ＨＤ１０５、ＦＤＤ１０６およびＦＤ１０７などにより構成され、入出力装置２０９は、具体的には、図１に示したキーボード１１０、マウス１１１、スキャナ１１２およびプリンタ１１３などにより構成されている。
【００３６】
（タイミング例外パス検出処理手順）
次に、この発明の実施の形態にかかるタイミング例外パス検出処理手順について説明する。図３は、この発明の実施の形態にかかるタイミング例外パス検出処理手順を示すフローチャートである。また、図４および図５は、この発明の実施の形態にかかるタイミング例外パス検出処理を説明するための回路図である。図３において、まず、入出力装置２０９から入力部２０１に回路情報ＣＫＴが入力される（ステップＳ３０１）。
【００３７】
入力部２０１に入力された回路情報ＣＫＴは、たとえば、図４に示すような構成からなる。すなわち、図４において、回路情報ＣＫＴには、順序回路素子として、複数の記憶素子であるフリップフロップ（以下、「ＦＦ」とする）１〜７と、パス選択ゲートであるマルチプレクサ（以下、「ＭＵＸ」とする）１，２と、複数のインバータ（以下、「ＩＮＶ」とする）と、複数のＡＮＤゲート１〜４と、一つのＯＲゲートとが記述され、これらは図中の信号線により接続されている。
【００３８】
ここで、回路情報ＣＫＴにおける順序回路のパスとは、外部入力端子またはＦＦの出力端子を始点として始まり、ゲートの入力端子と、ゲートの出力端子とが交互に現れ、最後に外部出力端子またはＦＦの入力端子を終点として終わる系列のことをいう。
【００３９】
そして、あるパスＰに対して、パスＰ上の各ゲートの入力端子への入力信号のうち、パスＰ上の入力信号をオン入力といい、それ以外の入力信号をサイド入力という。また、ゲートの出力端子からの出力信号を一意に決めるゲート入力信号の値を制御値といい、制御値でない値を非制御値という。さらに、制御値により決まるゲート出力端子の出力信号の値を被制御値という。たとえば、ＡＮＤ（ＯＲ）ゲートにおける制御値は０（１）、非制御値は１（０）および被制御値は０（１）となる。
【００４０】
ステップＳ３０１において入力部２０１に回路情報ＣＫＴが入力されると、選択部２０２によって、入力された回路情報ＣＫＴに基づいて、複数のＦＦの中から、任意に選択されたＦＦと、このＦＦから伝搬される信号を入力するＦＦとで構成される一組のＦＦ（以下、「ＦＦペア」とする）のうち、未だ選択されていないＦＦペアが存在するか否かが検出される（ステップＳ３０２）。
【００４１】
このステップＳ３０２において、未選択のＦＦペアが存在すると判断された場合（ステップＳ３０２：Ｙｅｓ）、選択部２０２によって、未選択のＦＦペアの中から任意に１つのＦＦペア（ＦＦｓ，ＦＦｅ）が選択される（ステップＳ３０３）。一方、このステップＳ３０２において、未選択のＦＦペアが存在しないと判断された場合（ステップＳ３０２：Ｎｏ）、出力部２０７によって、タイミング例外パスリストＬが入出力装置２０９に出力され（ステップＳ３１２）、タイミング例外パス検出処理が終了する。
【００４２】
選択部２０２によってＦＦペア（ＦＦｓ，ＦＦｅ）が選択されると、算出部２０３により、選択したＦＦペア（ＦＦｓ，ＦＦｅ）のパスの終点のＦＦであるＦＦｅにおいて、マルチサイクルで値を取り込むための値取込条件データを算出するために、ＦＦｅのイネーブル端子へのイネーブル信号の入力値を時刻１のときに０と、時刻２のときに１となるようにそれぞれ設定する（ステップＳ３０４）。すなわち、ＦＦｅにおいて、時刻２ではマルチサイクルで値を取り込まず、時刻３のときにマルチサイクルで値を取り込むように、ＦＦｅ．ＥＮ（１）←０，ＦＦｅ．ＥＮ（２）←１と設定する。
【００４３】
こうして、ステップＳ３０４で設定したイネーブル信号の入力値から、算出部２０３によって、一意的に決まる回路情報ＣＫＴ中の値割り当てを求めるために、含意操作を行う（ステップＳ３０５）。ここで、含意操作とは、割り当てられた値を伝搬させることにより、一意的に決められる回路情報ＣＫＴ中の信号の値を可能な限り割り当てていく操作のことをいう。含意操作の途中で値割り当てに矛盾が生じた場合は、含意操作前に割り当てられた値の組合せが実際にはあり得ないことを示す。そして、この場合、そのような組合せに対してはマルチサイクルか否かを判断する必要がないことを意味する。
【００４４】
こうして、ステップＳ３０５の含意操作により求められた値割り当てのうち、算出部２０３によって、時刻２のときにＦＦペア（ＦＦｓ，ＦＦｅ）間のパスを選択する信号となっている値割り当てを、ＦＦｅの値取込条件データＣと設定する（ステップＳ３０６）。ここで、回路情報ＣＫＴ中の、ある所定のパス集合内のパスを選択する制御信号とは、ＭＵＸ１，２のＤ０入力端子およびＤ１入力端子が、ともにそのパス集合内のパスが通過するような制御信号の入力端子となるか、あるいはそれと意味的に等価な制御信号のことであり、その信号の値が１のときに所定のパス集合内のあるパスを選択し、０のときに別のパスを選択する機能を持つ入力信号のことである。
【００４５】
すなわち、ステップＳ３０６によって、ＦＦペア（ＦＦｓ，ＦＦｅ）間のパスの選択にのみ関する値取込条件データＣが設定される。そして、算出部２０３によって設定された値取込条件データＣに基づいて、分割部２０４により、ＦＦペア（ＦＦｓ，ＦＦｅ）間の複数のパスからなるパス集合を、値取込条件データＣと合致する第１パス集合としてのパス集合Ｍと、値取込条件データＣと合致しない第２パス集合としてのパス集合Ｆとに分割し、分割されたパス集合Ｍ，Ｆのうちのパス集合Ｍを求める（ステップＳ３０７）。
【００４６】
こうして、分割部２０４によって求められたパス集合Ｍに対し、マルチサイクルパス検出部２０５により、ステップＳ３０６において求められた値取込条件データＣの値割り当てのもとで、ＦＦペアベースのマルチサイクルパスの検出を行う（ステップＳ３０８）。なお、マルチサイクルパスとは、あるパスＰを通る信号が、始点から終点まで１クロックで到達する必要がないときのパスをいう。
【００４７】
このステップＳ３０８におけるマルチサイクルパスの検出は、ＦＦペアベースによるマルチサイクルパスの検出に、値取込条件データＣを付加して行われるため、ＦＦペア（ＦＦｓ，ＦＦｅ）間のパス集合のうち、一部のパスのみがマルチサイクルパスである場合においてもマルチサイクルパスを検出することができる。
【００４８】
そして、マルチサイクルパス検出部２０５によるステップＳ３０８において、パス集合Ｍがマルチサイクルパスであると判断された場合（ステップＳ３０９：Ｙｅｓ）、出力部２０７により、パス集合Ｍをタイミング例外パスリストＬに追加する（ステップＳ３１０）。一方、マルチサイクルパス検出部２０５によるステップＳ３０８において、パス集合Ｍがマルチサイクルパスでないと判断された場合（ステップＳ３０９：Ｎｏ）、次のステップＳ３１１に移行する。
【００４９】
ここでは、分割部２０４によって求められたパス集合Ｍ以外のパス集合Ｆに対し、フォールスパス検出部２０６により、パス集合Ｆ内のパスを選択するすべてのゲートの入力端子へのサイド入力の組合せのうち、値取込条件データＣ以外の組合せの各々について、その組合せが表すパス集合Ｆがフォールスパスであるか否かを、その組合せが起こり得るかどうかにより調べ、起こり得ないときにパス集合Ｆをフォールスパスとして、出力部２０７により、タイミング例外パスリストＬに追加する（ステップＳ３１１）。なお、フォールスパスとは、回路の遅延に影響を与えないパスのことをいう。こうして、フォールスパス検出部２０６によってステップＳ３１１での処理が終了すると、ステップＳ３０２に戻り、ステップＳ３０２からステップＳ３１１の処理が繰り返される。
【００５０】
ここで、フォールスパス検出部２０６でのフォールスパス検出の処理を含め、タイミング例外パス検出処理手順をさらに詳細に説明する。図６は、この発明の実施の形態にかかるタイミング例外パス検出処理におけるフォールスパス検出部の機能的構成を示すブロック図である。また、図７は、この発明の実施の形態にかかるタイミング例外パス検出処理におけるフォールスパス検出部のフォールスパス検出処理手順を詳細に示すフローチャートである。
【００５１】
図６において、フォールスパス検出部２０６は、抽出部６０１と、設定部６０２と、判定部６０３と、決定部６０４と、を備えて構成されている。なお、フォールスパス検出部２０６の抽出部６０１、設定部６０２、判定部６０３および決定部６０４は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などの記録媒体に記録されているプログラムを、ＣＰＵ１０１に実行させることによってその機能を実現する。
【００５２】
抽出部６０１は、上記分割部２０４によって分割されたパス集合Ｆ内の任意のパスＰの選択を行うパス選択ゲート（たとえば、ＭＵＸ１，２、図４および図５参照）に関する情報を抽出する。設定部６０２は、抽出部６０１によって抽出されたパス選択ゲートに関する情報に基づいて、パス選択ゲートを制御する制御信号がとり得る値の組合せに関する情報を設定する。ここで、制御信号がとり得る値とは、パス選択ゲートの制御入力端子への制御信号の入力信号がとり得る制御値のことである。
【００５３】
判定部６０３は、設定部６０２によって設定された値の組合せに関する情報に基づいて、これらの値の組合せが起こり得るか否かを判定する。そして、決定部６０４は、判定部６０３によって判定された、値の組合せが起こり得るか否かの判定結果に基づいて、パス集合Ｆ内のパスＰを、フォールスパスと決定する。
【００５４】
すなわち、図３のフローチャートにおけるステップＳ３１１において、図７に示すように、フォールスパス検出部２０６に入力された、分割部２０４によって求められたパス集合Ｍ以外のＦＦペア（ＦＦｓ，ＦＦｅ）間のパス集合Ｆに対し、パス集合Ｆ上のパスを選択するパス選択ゲート、たとえば、マルチプレクサ（以下、「ＭＵＸ」とする）を求める（ステップＳ７０１）。
【００５５】
次に、ステップＳ７０１で求められたＭＵＸに基づいて、ＦＦペア（ＦＦｓ，ＦＦｅ）間のパス集合Ｆを、ＭＵＸ以外のゲート（たとえば、ＡＮＤ（ＯＲ）ゲート）を無視したＭＵＸパスのパス集合Ｐｉに変換する（ステップＳ７０２）。すなわち、パス集合Ｆをパス集合Ｐｉに変換するとは、パス集合Ｆから、ＭＵＸのみを抽出し、ＭＵＸパスのパス集合Ｐｉを生成することである。
【００５６】
ステップＳ７０２によってパス集合Ｐｉが求められた後、フォールスパス検出部２０６によって、パス集合Ｐｉ内に未だ選択されていないＭＵＸパスが存在するか否かが検出される（ステップＳ７０３）。このステップＳ７０３において、未選択のＭＵＸパスが存在すると判断された場合（ステップＳ７０３：Ｙｅｓ）、パス集合Ｐｉの中から任意に一つのＭＵＸパスＰが選択される（ステップＳ７０４）。一方、このステップＳ７０３において、未選択のＭＵＸパスが存在しないと判断された場合（ステップＳ７０３：Ｎｏ）、図３のフローチャートにおけるステップＳ３１１での処理が終了し、ステップＳ３０２からステップＳ３１１の処理が繰り返される。
【００５７】
ステップＳ７０４において、ＭＵＸパスＰが選択されると、このＭＵＸパスＰ上に未だ選択されていないＭＵＸが存在するか否かが検出される（ステップＳ７０５）。このステップＳ７０５において、未選択のＭＵＸが存在すると判断された場合（ステップＳ７０５：Ｙｅｓ）、フォールスパス検出部２０６の抽出部６０１によって、未選択のＭＵＸの中から任意の一つのＭＵＸＧが選択される（ステップＳ７０６）。
【００５８】
こうして、抽出部６０１によってＭＵＸＧが抽出されると、設定部６０２により、ＭＵＸパスＰがＭＵＸＧのＤ１入力端子を通るパスか、Ｄ０入力端子を通るパスかにしたがい、抽出されたＭＵＸＧを制御する制御入力端子への入力信号の値（制御値）が設定され（ステップＳ７０７）、ステップＳ７０５に戻って未選択のＭＵＸが存在するか否かの検出が行われる。
【００５９】
一方、ステップＳ７０５において、未選択のＭＵＸが存在しないと判断された場合（ステップＳ７０５：Ｎｏ）、ステップＳ７０８に移行して、判定部６０３による判定が行われる。すなわち、判定部６０３において、設定部６０２により設定された制御値に基づき、ＭＵＸパスＰ上の各ＭＵＸの制御入力端子への入力信号として割り当てた値が、実際に起こり得るか否かが判定される（ステップＳ７０８）。
【００６０】
このステップＳ７０８において、割り当てた値が起こり得ると判定された場合（ステップＳ７０８：Ｙｅｓ）、ステップＳ７０３に戻り、ステップＳ７０３からステップＳ７０８までの処理が繰り返される。一方、ステップＳ７０８において、割り当てた値が起こり得ないと判定された場合（ステップＳ７０８：Ｎｏ）、判定部６０３からの判定結果に基づいて、決定部６０４により、ＭＵＸパスＰに対応するパス集合Ｆ内のパスを、フォールスパスとしてタイミング例外パスリストＬに追加する（ステップＳ７０９）。こうして、ステップＳ７０９での処理が終了すると、ステップＳ７０３に戻り、ステップＳ７０３からステップＳ７０９までの処理が繰り返される。
【００６１】
ここで、タイミング例外パス検出処理手順について、図４の回路図を用いてさらに具体的に説明する。図４における回路は、回路上のＭＵＬＴ入力端子への入力信号の値が、ＭＵＬＴ＝（０）のときにＡＤＤ（加算）処理を１クロックサイクルで行い、ＭＵＬＴ＝（１）のときにＭＵＬＴ（乗算）処理を２クロックサイクルで行うものである。
【００６２】
まず、図３のフローチャートにおけるステップＳ３０１において、入力部２０１に図４に示す回路の回路情報ＣＫＴが入力されたと仮定する。また、ステップＳ３０３において、ＦＦペア（ＦＦｓ，ＦＦｅ）としてＦＦ１およびＦＦ４が選択されたと仮定する。選択部２０２によってＦＦペア（ＦＦ１，ＦＦ４）が選択されると、ステップＳ３０４において、算出部２０３により、値取込条件データを算出するためにＦＦ４のイネーブル端子へのイネーブル信号の入力値を、ＦＦ４．ＥＮ（１）←０，ＦＦ４．ＥＮ（２）←１と設定する。
【００６３】
算出部２０３によってＦＦ４のイネーブル端子へのイネーブル信号の入力値が設定されると、ステップＳ３０５において、値割り当ての含意操作が行われる。図５に示す回路は、この含意操作の結果を図４の回路に反映させたものである。なお、図５において、各信号線上の数値は、その信号線に割り当てられた値を示し、カッコ内の数値は時刻を示すものである。たとえば、ＦＦ７のＱ出力端子の近傍にある「１（２）」の数値は、時刻２のときにＦＦ７のＱ出力端子からの出力信号の値が１（ＦＦ７．Ｑ＝１）であることを表している。
【００６４】
算出部２０３によって各信号線に値割り当ての含意操作が行われると、次いで、ステップＳ３０６において、ＦＦペア（ＦＦ１，ＦＦ４）間のパスを選択する信号になっている値割り当てを、値取込条件データＣと設定する。図５の場合、ＭＵＸ２のセレクタ（以下、「Ｃ」とする）入力端子への入力信号が、ＦＦ１からＦＦ４へのパスを選択する信号であることが分かるので、ＭＵＸ２．Ｃ（２）＝１という条件を、ＦＦ４においてマルチサイクルで値を取り込む値取込条件データＣと設定する。なお、設定された値取込条件データＣ（ＭＵＸ２．Ｃ（２）＝１）は、回路上のＭＵＬＴ入力端子への入力信号の値が、ＭＵＬＴ（０）＝１に対応しているため、ＭＵＬＴを行うときの乗算条件が正しく設定されていることが分かる。
【００６５】
この値取込条件データＣ（ＭＵＸ２．Ｃ（２）＝１）は、ＭＵＸ２のＤ１入力端子への入力信号を選択することを意味するので、この値取込条件データＣに基づいて、ステップＳ３０７において、分割部２０４により、ＦＦペア（ＦＦ１，ＦＦ４）間のパス集合から、ＭＵＸ２のＤ１入力端子を通過点とするパス集合をパス集合Ｍとして、また、ＭＵＸ２のＤ０入力端子を通過点とするパス集合をパス集合Ｆとして、それぞれ分割する。
【００６６】
そして、分割部２０４によって分割されたパス集合Ｍについて、ステップＳ３０８において、マルチサイクルパス検出部２０５により、値取込条件データＣ（ＭＵＸ２．Ｃ（２）＝１）を割り当てた状態のもとで、ＦＦペアベースのマルチサイクルパスの検出が行われる。この場合、分割されたＦＦペア（ＦＦ１，ＦＦ４）間のパス集合Ｍは、値取込条件データＣ（ＭＵＸ２．Ｃ（２）＝１）と合致するため、ステップＳ３０９において、パス集合Ｍが、すべてマルチサイクルパスであることが検出される。これにより、ＦＦペア（ＦＦ１，ＦＦ４）間でＭＵＸ２のＤ１入力端子を通るパスは、すべてマルチサイクルパスであることが判明する。
【００６７】
一方、ステップＳ３０７において、分割部２０４により、ＦＦペア（ＦＦ１，ＦＦ４）間のパス集合から分割されたパス集合Ｆは、ステップＳ３１１において、フォールスパス検出部２０６により、上述したフォールスパスの検出が行われる。ここで、パス集合Ｆは、ＭＵＸ２のＤ０入力端子を通るパスであり、図５においては、ＡＮＤゲート２を通るパスと、ＡＮＤゲート３を通るパスとの２つが存在する。すなわち、図５の回路では、これらＡＮＤゲート１および２を通るパスが、Ｄ０入力端子およびＤ１入力端子の両入力端子を通る条件のＭＵＸ１および２は存在しないため、フォールスパス検出部２０６によって、これらのパスはフォールスパスではないと判断され、タイミング例外パスリストＬへの追加は行われないこととなる。
【００６８】
図８は、この発明の実施の形態にかかるタイミング例外パス検出処理に用いられる回路情報における他のパス選択ゲートの構成を示す回路図である。上述した実施の形態では、パス選択ゲートとしてＭＵＸを用いたが、たとえば、図８に示すように、ＭＵＸの代わりに、２つのＡＮＤゲート５，６と、一つのＩＮＶと、一つのＯＲゲートと、から構成されるパス選択ゲートを用いても良い。
【００６９】
以上説明したように、この発明の実施の形態にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムによれば、検出対象回路に含まれる順序回路素子間のパス集合からマルチサイクルに関する値取込条件データと合致するパス集合を分割し、分割されたパス集合内のすべてのパスについて、マルチサイクルパスか否かを検出する。このため、順序回路素子間のパスがすべてマルチサイクルパスではない場合でもマルチサイクルパスを効率良く検出することができる。また、順序回路素子間のパスをパス集合のまま検出するため、計算時間の増大を抑えることができる。
【００７０】
また、この発明の実施の形態にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムによれば、検出対象回路に含まれる順序回路素子間のパス集合からマルチサイクルに関する値取込条件データと合致しないパス集合を分割し、分割されたパス集合内の各々のパスについて、フォールスパスか否かを検出する。このため、順序回路素子間のパスをパス集合のまま効率良く検出することができるとともに、順序回路素子間においてマルチサイクルで値を取り込まないパス集合に対してのみフォールスパスの検出を高精度ですることができるため、計算時間の増大を抑えることができる。
【００７１】
さらに、この発明の実施の形態にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムによれば、検出対象回路に含まれる順序回路素子間のパス集合からマルチサイクルに関する値取込条件データと合致しないパス集合を分割し、分割されたパス集合内のパス選択ゲートに関する情報を抽出し、抽出されたパス選択ゲートに関する情報に基づき、パス選択ゲートを制御する制御信号がとり得る値の組合せに関する情報を設定し、設定された値の組合せに関する情報に基づき、値の組合せが起こり得るか否かを判定し、判定結果に基づき、バス集合内のパスをフォールスパスと決定する。このため、順序回路素子間のパスをパス集合のまま効率良く検出することができるとともに、順序回路素子間においてマルチサイクルで値を取り込まないパス集合に対しても、同時に、パス集合のまま効率良くフォールスパスの検出を高精度ですることができるため、計算時間の増大を抑えることができる。
【００７２】
以上のように、この発明の実施の形態にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムによれば、順序回路素子間のタイミング例外パスを効率良くかつ高精度で検出して設計期間の短縮化を図ることができるという効果を奏する。
【００７３】
なお、本実施の形態で説明したタイミング例外パス検出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション、ＣＡＤ等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００７４】
（付記１）タイミング例外パスの検出対象回路に関する回路情報の入力を受け付ける入力手段と、
前記入力手段によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択する選択手段と、
前記選択手段によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出する算出手段と、
前記選択手段によって選択された第１および第２の順序回路素子間のパス集合から、前記算出手段によって算出された値取込条件データと合致するパス集合を分割する分割手段と、
前記分割手段によって分割されたパス集合内のすべてのパスが、マルチサイクルパスか否かを検出する検出手段と、
を備えることを特徴とするタイミング例外パス検出装置。
【００７５】
（付記２）タイミング例外パスの検出対象回路に関する回路情報の入力を受け付ける入力手段と、
前記入力手段によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択する選択手段と、
前記選択手段によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出する算出手段と、
前記選択手段によって選択された第１および第２の順序回路素子間のパス集合から、前記算出手段によって算出された値取込条件データと合致しないパス集合を分割する分割手段と、
前記分割手段によって分割されたパス集合内の各々のパスが、フォールスパスか否かを検出する検出手段と、
を備えることを特徴とするタイミング例外パス検出装置。
【００７６】
（付記３）タイミング例外パスの検出対象回路に関する回路情報の入力を受け付ける入力手段と、
前記入力手段によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択する選択手段と、
前記選択手段によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出する算出手段と、
前記選択手段によって選択された第１および第２の順序回路素子間のパス集合から、前記算出手段によって算出された値取込条件データと合致しないパス集合を分割する分割手段と、
前記分割手段によって分割されたパス集合内の任意のパスの選択を行うパス選択ゲートに関する情報を抽出する抽出手段と、
前記抽出手段によって抽出されたパス選択ゲートに関する情報に基づいて、前記パス選択ゲートを制御する制御信号がとり得る値の組合せに関する情報を設定する設定手段と、
前記設定手段によって設定された値の組合せに関する情報に基づいて、前記値の組合せが起こり得るか否かを判定する判定手段と、
前記判定手段によって判定された判定結果に基づいて、前記パス集合内のパスを、フォールスパスと決定する決定手段と、
を備えることを特徴とするタイミング例外パス検出装置。
【００７７】
（付記４）前記分割手段は、前記第１および第２の順序回路素子間のパスの集合から、前記値取込条件データと合致しないパス集合をさらに分割することを特徴とする付記１に記載のタイミング例外パス検出装置。
【００７８】
（付記５）前記検出手段は、前記分割手段によって分割された、前記値取込条件データと合致しないパス集合内の各々のパスが、フォールスパスか否かを検出することを特徴とする付記４に記載のタイミング例外パス検出装置。
【００７９】
（付記６）前記分割されたパス集合内の任意のパスの選択を行うパス選択ゲートに関する情報を抽出する抽出手段と、
前記抽出手段によって抽出されたパス選択ゲートに関する情報に基づいて、前記パス選択ゲートを制御する制御信号がとり得る値の組合せに関する情報を設定する設定手段と、
前記設定手段によって設定された値の組合せに関する情報に基づいて、前記値の組合せが起こり得るか否かを判定する判定手段と、
前記判定手段によって判定された判定結果に基づいて、前記パス集合内のパスを、フォールスパスと決定する決定手段と、
をさらに備えることを特徴とする付記１に記載のタイミング例外パス検出装置。
【００８０】
（付記７）タイミング例外パスの検出対象回路に関する回路情報を入力する入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択する選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出する算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致するパス集合を分割する分割工程と、
前記分割工程によって分割されたパス集合内のすべてのパスが、マルチサイクルパスか否かを検出する検出工程と、
を含んだことを特徴とするタイミング例外パス検出方法。
【００８１】
（付記８）タイミング例外パスの検出対象回路に関する回路情報を入力する入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択する選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出する算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致しないパス集合を分割する分割工程と、
前記分割工程によって分割されたパス集合内の各々のパスが、フォールスパスか否かを検出する検出工程と、
を含んだことを特徴とするタイミング例外パス検出方法。
【００８２】
（付記９）タイミング例外パスの検出対象回路に関する回路情報を入力する入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択する選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出する算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致しないパス集合を分割する分割工程と、
前記分割工程によって分割されたパス集合内の任意のパスの選択を行うパス選択ゲートに関する情報を抽出する抽出工程と、
前記抽出工程によって抽出されたパス選択ゲートに関する情報に基づいて、前記パス選択ゲートを制御する制御信号がとり得る値の組合せに関する情報を設定する設定工程と、
前記設定工程によって設定された値の組合せに関する情報に基づいて、前記値の組合せが起こり得るか否かを判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記パス集合内のパスを、フォールスパスと決定する決定工程と、
を含んだことを特徴とするタイミング例外パス検出方法。
【００８３】
（付記１０）タイミング例外パスの検出対象回路に関する回路情報を入力させる入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択させる選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出させる算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致するパス集合を分割させる分割工程と、
前記分割工程によって分割されたパス集合内のすべてのパスが、マルチサイクルパスか否かを検出させる検出工程と、
をコンピュータに実行させることを特徴とするタイミング例外パス検出プログラム。
【００８４】
（付記１１）タイミング例外パスの検出対象回路に関する回路情報を入力させる入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択させる選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出させる算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致しないパス集合を分割させる分割工程と、
前記分割工程によって分割されたパス集合内の各々のパスが、フォールスパスか否かを検出させる検出工程と、
をコンピュータに実行させることを特徴とするタイミング例外パス検出プログラム。
【００８５】
（付記１２）タイミング例外パスの検出対象回路に関する回路情報を入力させる入力工程と、
前記入力工程によって入力された回路情報に含まれている複数の順序回路素子の中から、任意の順序回路素子（以下、「第１の順序回路素子」という）と、当該第１の順序回路素子から伝搬される信号を入力する第２の順序回路素子とを選択させる選択工程と、
前記選択工程によって選択された第２の順序回路素子における、マルチサイクルに関する値取込条件データを算出させる算出工程と、
前記選択工程によって選択された第１および第２の順序回路素子間のパス集合から、前記算出工程によって算出された値取込条件データと合致しないパス集合を分割させる分割工程と、
前記分割工程によって分割されたパス集合内の任意のパスの選択を行うパス選択ゲートに関する情報を抽出させる抽出工程と、
前記抽出工程によって抽出されたパス選択ゲートに関する情報に基づいて、前記パス選択ゲートを制御する制御信号がとり得る値の組合せに関する情報を設定させる設定工程と、
前記設定工程によって設定された値の組合せに関する情報に基づいて、前記値の組合せが起こり得るか否かを判定させる判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記パス集合内のパスを、フォールスパスと決定させる決定工程と、
をコンピュータに実行させることを特徴とするタイミング例外パス検出プログラム。
【産業上の利用可能性】
【００８６】
以上のように、本発明にかかるタイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラムは、検出対象回路の回路情報に含まれている順序回路素子間のタイミング例外パスの検出を行う各種の用途に利用できる。
【図面の簡単な説明】
【００８７】
【図１】この発明の実施の形態にかかるタイミング例外パス検出装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態にかかるタイミング例外パス検出装置の機能的構成を示すブロック図である。
【図３】この発明の実施の形態にかかるタイミング例外パス検出処理手順を示すフローチャートである。
【図４】この発明の実施の形態にかかるタイミング例外パス検出処理を説明するための回路図である。
【図５】この発明の実施の形態にかかるタイミング例外パス検出処理を説明するための回路図である。
【図６】この発明の実施の形態にかかるタイミング例外パス検出処理におけるフォールスパス検出部の機能的構成を示すブロック図である。
【図７】この発明の実施の形態にかかるタイミング例外パス検出処理におけるフォールスパス検出部のフォールスパス検出処理手順を詳細に示すフローチャートである。
【図８】この発明の実施の形態にかかるタイミング例外パス検出処理に用いられる回路情報における他のパス選択ゲートの構成を示す回路図である。
【符号の説明】
【００８８】
２００  タイミング例外パス検出装置
２０１  入力部
２０２  選択部
２０３  算出部
２０４  分割部
２０５  マルチサイクルパス検出部
２０６  フォールスパス検出部
２０７  出力部
６０１  抽出部
６０２  設定部
６０３  判定部
６０４  決定部
【図１】
2006146711.tif 000003
【図２】
2006146711.tif 000004
【図３】
2006146711.tif 000005
【図４】
2006146711.tif 000006
【図５】
2006146711.tif 000007
【図６】
2006146711.tif 000008
【図７】
2006146711.tif 000009
【図８】
2006146711.tif 000010