(57)【要約】【課題】  データパス上のゲートにスラック値を高速に設定することができるようにする。【解決手段】ワーストパス選出部１２と、ワーストパス上の各通過ピンに設定されるべきスラック値を算出する第１スラック値算出部１３と、第１スラック値算出部１３によって算出されたスラック値をワーストパス上の各通過ピンに設定する第１スラック値設定部１５と、ワーストパス分岐ピンテーブル作成部１６と、アナザーパス上の各通過ピンに設定されるべきスラック値を算出する第２スラック値算出部１３と、ワーストパス分岐ピンテーブルに基づいて、ワーストパス分岐ピンテーブルに格納された分岐ピンからアナザーパスをバックトレースして、第２スラック値算出部１３によって算出されたスラック値をアナザーパス上の各通過ピンに設定する第２スラック値設定部１５とをそなえる。【選択図】        図１
2006004228.tif 000002
【特許請求の範囲】
【請求項１】
始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定方法であって、
前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出ステップと、
該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出ステップと、
該第１スラック値算出ステップにおいて算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定ステップと、
該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成ステップと、
前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出ステップと、
該ワーストパス分岐ピンテーブル作成ステップにおいて作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックトレースして、該第２スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定ステップとをそなえることを特徴とする、スラック値設定方法。
【請求項２】
前記データパス上の該通過ピンについて、該スラック値が設定済みであるか否かを判断するスラック値設定判断ステップをそなえ、
該スラック値設定判断ステップにおいて、該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、該第２スラック値算出ステップと、該第２スラック値設定ステップとを繰り返し行なうことを特徴とする、請求項１記載のスラック値設定方法。
【請求項３】
始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定装置であって、
前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出部と、
該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出部と、
該第１スラック値算出部によって算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定部と、
該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成部と、
前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出部と、
該ワーストパス分岐ピンテーブル作成部によって作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックトレースして、該第２スラック値算出部によって算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定部とをそなえることを特徴とする、スラック値設定装置。
【請求項４】
始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定機能をコンピュータに実行させるためのスラック値設定プログラムであって、
前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出ステップと、
該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出ステップと、
該第１スラック値算出ステップにおいて算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定ステップと、
該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成ステップと、
前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出ステップと、
該ワーストパス分岐ピンテーブル作成ステップにおいて作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックトレースして、該第２スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定ステップとを該コンピュータに実行させることを特徴とする、スラック値設定プログラム。
【請求項５】
始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定機能をコンピュータに実行させるためのスラック値設定プログラムを記録したコンピュータ読取可能な記録媒体であって、
該スラック値設定プログラムが、
前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出ステップと、
該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出ステップと、
該第１スラック値算出ステップにおいて算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定ステップと、
該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成ステップと、
前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出ステップと、
該ワーストパス分岐ピンテーブル作成ステップにおいて作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックトレースして、該第２スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定ステップとを該コンピュータに実行させることを特徴とする、スラック値設定プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子回路が正常に動作するかを評価するためのタイミングチェックに用いて好適な、データパスのディレイを判断するための基準値（スラック値）の設定手法に関する。
【背景技術】
【０００２】
一般に、電子回路の設計過程において、回路が正常に動作するか否かを判断するために、データ転送を行なうＦＦ（Flip-Flop）間のディレイが、ｓｅｔｕｐ／ｈｏｌｄの制約条件（オーバーディレイ，レーシング）内に収まるか否かを調べるタイミングチェックが行なわれている（例えば、下記特許文献１参照）。
電子回路において、データパス上に分岐ピンをそなえることにより複数の分岐パスが形成される場合に、分岐パスによっては、ディレイに余裕があったり、又、逆に余裕が無かったりする場合がある。設計者は、このような分岐パスにおけるディレイの余裕の有無によって、該当する分岐パスを修正するか否かを判断することになる。そして、このディレイの余裕度を知るためにスラック（slack）値が用いられている。
【０００３】
スラック値は、データパス上のデバイスまでで生じ得る最大遅延とそのデバイスに許容されている到達時間（許容到達時間）との差であり、そのデバイスにおけるタイミングの余裕度を示すものである。スラック値はデータパス上のピンに設定され、データパスが分岐する場合には、ワーストディレイとのディレイ差がスラック値として、その分岐パス上の各通過ピンに伝搬（設定）されるようになっている。そして、従来のスラック値の算出手法においては、スラック値の伝搬を行なう際に、分岐前のスラック値の取得と未処理の分岐ピンの検出を行なう必要がある。
【０００４】
ここで、図１６に示すフローチャート（ステップＳ１０〜Ｓ２５０）に従って、従来のスラック値の設定手法を説明する。
先ず、送り側ＦＦから受け側ＦＦに対してフォワードトレースを実行することにより（ステップＳ１０）、送り側ＦＦと受け側ＦＦとの間における全経路（パスルート）を認識するとともに、これらのパスルート上に配設されているゲート（セルあるいは素子という場合もある）におけるゲートディレイを取得する。なお、このゲートディレイは、データベース（例えば、メモリ上のテーブル）に保存される。又、これらのゲートディレイに基づいて、送り側ＦＦと受け側ＦＦとの間における全経路の中から、パスディレイが最も大きいワーストパスを選出する。
【０００５】
また、全経路内における枝ピン（分岐ピン）を全て検出して、これらの枝ピンをテーブルＴに登録（格納）する。このテーブルＴは評価対象の電子回路上における全ての枝ピンを所定のフラグを関連付けて登録するものである。なお、このテーブルＴにおける各種フラグは全て初期化しておく（ステップＳ２０）。
そして、初期スラック値ｓ０を算出するとともに（ステップＳ３０）、ワーストパスについて、その受け側ＦＦから送り側ＦＦに向かってバックワードトレースを開始する（ステップＳ４０）。なお、以下、図中においてはバックワードトレースをバックトレースと表わす。
【０００６】
ワーストパスについてバックワードトレースを終了したか否かを確認し（ステップＳ５０）、バックワードトレースを終了していない場合には（ステップＳ５０のＮＯルート参照）、通過ピンｘに対して、ステップＳ３０において算出した初期スラック値ｓ０を設定する（ステップＳ６０）。
通過ピンｘがテーブルＴに登録されているか否かを判断して（ステップＳ７０）、通過ピンｘがテーブルＴに登録されている場合には（ステップＳ７０のＹＥＳルート参照）、通過ピンｘのテーブルをｔ１として、このｔ１のスラック値設定済みフラグに“ｏｎ”を設定して（ステップＳ８０）、次の通過ピンをｘに設定する（ステップＳ９０）。なお、通過ピンｘがテーブルＴに設定されていない場合には（ステップＳ７０のＮＯルート参照）、ステップＳ９０に移行する。なお、テーブルｔ１には、スラック値設定済みフラグと枝パス選択済フラグとを関連付けて保存するようになっている。
【０００７】
バックワードトレースが終了した場合には（ステップＳ５０のＹＥＳルート参照）、枝パス処理フラグＢに“ｏｆｆ”を設定するとともに、（ステップＳ１００）、テーブルＴの最初の要素をｔ１にする（ステップＳ１１０）。なお、枝パス処理フラグＢは全ての処理が完了したか否かを判断するためのフラグである。
ｔ１がテーブルＴの最後の要素であるか否かを判断して（ステップＳ１２０）、最後の要素ではない場合には（ステップＳ１２０のＮＯルート参照）、ｔ１の枝パス選択済みフラグが“ｏｆｆ”であるかを確認する（ステップＳ１３０）。ここで、ｔ１の枝パス選択済みフラグが“ｏｆｆ”である場合には（ステップＳ１３０のＹＥＳルート参照）、次に、ｔ１のスラック値設定済みフラグが“ｏｎ”であるかを確認する（ステップＳ１４０）。そして、ｔ１のスラック値設定済みフラグが“ｏｎ”である場合には、（ステップＳ１４０のＹＥＳルート参照）、新しいスラック値ｓ１を算出した後（ステップＳ１５０）、ｔ１の枝ピンを開始ピンとして、その枝ピンにかかるパスルートについてバックワードトレースを開始する（ステップＳ１６０）。
【０００８】
そして、その枝ピンにかかるパスルートについてバックワードトレースを終了したか否かを確認し（ステップＳ１７０）、バックワードトレースを終了していない場合には（ステップＳ１７０のＮＯルート参照）、通過ピンｘに対して、ステップＳ１５０において算出したスラック値ｓ１を設定する（ステップＳ１８０）。
通過ピンｘがテーブルＴに登録されているか否かを判断して（ステップＳ１９０）、通過ピンｘがテーブルＴに登録されている場合には（ステップＳ１９０のＹＥＳルート参照）、通過ピンｘのテーブルをｔ２として、このｔ２のスラック値設定済みフラグに“ｏｎ”を設定し（ステップＳ２００）、次の通過ピンをｘに設定して（ステップＳ２１０）、ステップＳ１７０に戻る。又、通過ピンｘがテーブルＴに設定されていない場合には（ステップＳ１９０のＮＯルート参照）、ステップＳ２１０に移行する。
【０００９】
バックワードトレースが終了した場合には（ステップＳ１７０のＹＥＳルート参照）、ｔ１の枝パス選択済みフラグに“ｏｎ”を設定するとともに（ステップＳ２３０）、枝パス処理フラグＢに“ｏｎ”を設定する（ステップＳ２４０）。そして、テーブルＴの次の要素をｔ１にして（ステップＳ２５０）、ステップＳ１２０に戻る。
一方、ｔ１の枝パス選択済みフラグが“ｏｆｆ”ではない場合や（ステップＳ１３０のＮＯルート参照）、ｔ１のスラック値設定済みフラグが“ｏｎ”である場合には（ステップＳ１４０のＮＯルート参照）、ステップＳ２５０に移行する。
【００１０】
また、テーブルＴの最後の要素である場合には（ステップＳ１２０のＹＥＳルート参照）、枝パス処理フラグＢが“ｏｆｆ”であるか否かを確認して（ステップＳ２２０）、枝パス処理フラグＢが“ｏｆｆ”である場合には（ステップＳ２２０のＹＥＳルート参照）、処理を終了する。又、枝パス処理フラグＢが“ｏｆｆ”ではない場合には（ステップＳ２２０のＮＯルート参照）、ステップＳ１００に戻る。
【００１１】
上述の如き処理（ステップＳ１０〜Ｓ２５０）を行なうことにより、データパス上のピンにスラック値を設定することができる。
【特許文献１】特開平１１−１１０４２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来のスラック値の算出手法においては、上位パスの処理が終わっている分岐ピンを見つけてスラック値の伝搬を行ない、未処理の分岐ピンが無くなるまで処理をループさせる必要がある（図１６のステップＳ２２０等参照）。
図１７は従来のスラック値設定手法を実現するためのプログラム例を示す図であり、例えば［１］〜［１０］の１０個の枝ピンを有する電子回路において、これらの全ての枝ピンにかかる枝パスについて、全ての通過ピンにスラック値の設定を行なうまで、スラック値の生成と伝搬を繰り返し行なう（ループさせる）ものである。
【００１３】
このような従来のスラック値設定手法においては、例えば、分岐ピンがｎ個（ｎは自然数）ある場合には、最大で、ｎ，ｎ−１，ｎ−２，・・・，２，１と未処理の分岐ピンを検索する必要がある。これは最大で、以下の式で示される回数のループ処理を行なう必要があることを示す。
【００１４】
【数１】
2006004228.tif 000003
【００１５】
すなわち、最大でほぼｎ2回のループ処理が必要となる。かかるループ処理には非常に時間がかかるので、スラック値の設定に時間がかかるという課題がある。特に、回路規模が大きく複雑になり分岐パスが増大する程、タイミングチェックの処理時間に多大な影響を及ぼすことになる。
本発明は、このような課題に鑑み創案されたもので、データパス上のゲートにスラック値を高速に設定することができるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
このため、本発明のスラック値設定方法（請求項１）は、始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定方法であって、前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出ステップと、該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出ステップと、該第１スラック値算出ステップにおいて算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定ステップと、該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成ステップと、前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出ステップと、該ワーストパス分岐ピンテーブル作成ステップにおいて作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第２スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定ステップとをそなえることを特徴としている。
【００１７】
なお、前記データパス上の該通過ピンについて、該スラック値が設定済みであるか否かを判断するスラック値設定判断ステップをそなえ、該スラック値設定判断ステップにおいて、該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、該第２スラック値算出ステップと、該第２スラック値設定ステップとを繰り返し行なってもよい（請求項２）。
【００１８】
また、本発明のスラック値設定装置（請求項３）は、始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定装置であって、前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出部と、該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出部と、該第１スラック値算出部によって算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定部と、該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成部と、前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出部と、該ワーストパス分岐ピンテーブル作成部によって作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第２スラック値算出部によって算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定部とをそなえることを特徴としている。
【００１９】
さらに、本発明のスラック値設定プログラム（請求項４）は、始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定機能をコンピュータに実行させるためのスラック値設定プログラムであって、前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出ステップと、該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出ステップと、該第１スラック値算出ステップにおいて算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定ステップと、該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成ステップと、前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出ステップと、該ワーストパス分岐ピンテーブル作成ステップにおいて作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第２スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定ステップとを該コンピュータに実行させることを特徴としている。
【００２０】
また、本発明のコンピュータ読取可能な記録媒体（請求項５）は、上述したスラック値設定プログラムを記録したものである。
【発明の効果】
【００２１】
本発明によれば、データパス上のゲートにスラック値を高速に設定することができる利点がある。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施の形態を説明する。
図１は本発明の一実施形態としてのスラック値設定装置の基本構成を示すブロック図、図２は本発明の一実施形態としてのスラック値設定装置によってスラック値の設定を行なう電子回路の例を示す図である。
本スラック値設定装置（評価値設定装置）１は、分岐ピンをそなえることにより複数のデータパス（枝パス）を有する電子回路（例えば、ＬＳＩ等の集積回路；図２参照）について、その電子回路が正常に動作するか否かを判断・評価するために、データパス上の各通過ピンに対して評価値としてのスラック（slack）値を設定するものである。
【００２３】
なお、ここでスラック値とは、データパス上のデバイスまでで生じ得る最大遅延とそのデバイスに許容されている到達時間（許容到達時間）との差であり、そのデバイスにおけるタイミングの余裕度を示すものである。
図２に示す電子回路は、複数のゲートＧ１〜Ｇ１４をそなえて構成され、フォワードパスとして、ゲートＧ１→ゲートＧ２→ゲートＧ３→ゲートＧ４→ゲートＧ５→ゲートＧ６→ゲートＧ７からなるデータパスＡと、ゲートＧ１→ゲートＧ２→ゲートＧ８→ゲートＧ９→ゲートＧ１０→ゲートＧ１１→ゲートＧ６→ゲートＧ７からなるデータパスＢと、ゲートＧ１→ゲートＧ２→ゲートＧ８→ゲートＧ１２→ゲートＧ１３→ゲートＧ１４→ゲートＧ１１→ゲートＧ６→ゲートＧ７からなるデータパスＣと、ゲートＧ１→ゲートＧ２→ゲートＧ８→ゲートＧ１２→ゲートＧ１４→ゲートＧ１１→ゲートＧ６→ゲートＧ７からなるデータパスＤとの４つ（種類）のデータパスをそなえている。
【００２４】
なお、上述したゲートＧ１〜Ｇ１４のうち、ゲートＧ１とゲートＧ７とがＦＦ（Flip-Flop）マクロによって、又、ゲートＧ２〜Ｇ６，Ｇ８〜Ｇ１４がゲートマクロによって構成されている。
本スラック値設定装置１は、図１に示すように、ディスプレイ２，メモリ３，キーボード４，マウス５，ハードディスク６およびＣＰＵ（Central Processing Unit）１０をそなえたコンピュータシステム（情報処理装置）として構成され、ＣＰＵ１０が、メモリ３やハードディスク６に保存されたプログラム（スラック値設定プログラム）を実行することにより機能するようになっている。
【００２５】
ディスプレイ２は、評価対象の電子回路やその評価結果，オペレータへのメッセージ等の種々の情報を表示するものである。キーボード４やマウス５は、オペレータが種々の入力・選択操作を行なうためのものである。オペレータはこれらのキーボード４やマウス５を用いて、電子回路中におけるデータパスの送りピン（始点）と受けピン（終点）の指定を行なう。例えば、図２は、オペレータがキーボード４やマウス５を用いて、送りピンとしてゲートＧ１の出力ピンを、又、受けピンとしてゲートＧ７の入力ピンをそれぞれ指定した例を示す。
【００２６】
ハードディスク６は、本スラック値設定装置１を動作させるための種々のプログラム（ＯＳ（Operating System），スラック値設定プログラム等）や種々のデータを格納するものであり、例えば、評価対象である電子回路を成す各論理構成要素（本発明ではフリップフロップ等のセルであり、ゲートあるいは素子と呼ぶ場合もある）について、そのゲートにおけるディレイ（ゲートディレイ）等の情報が、例えばゲート情報データベースとして予め登録されている。
【００２７】
メモリ３は、データやプログラムを一時的に格納するものであり、ＣＰＵ１０が演算処理を行なう際等に、一時的にデータを格納したりデータを展開したりするものである。
ＣＰＵ１０は、種々の演算を行なうものであり、メモリ３やハードディスク６に保存されたプログラム（スラック値設定プログラム）を実行することにより、後述する、パス認識部１１，ワーストパス選出部１２，スラック値算出部（第１スラック値算出部，第２スラック値算出部，第３スラック値算出部）１３，データパストレース部１４およびスラック値設定判定部２１として機能するようになっている。
【００２８】
従って、本実施例のスラック値設定装置１は、ＣＰＵ１０，メモリ３，ハードディスク６，ディスプレイ２，キーボード４，マウス５等を有する一般的な計算機システムを用いて実現することが可能である。
パス認識部１１は、評価対象の電子回路について、オペレータによりキーボード４やマウス５を用いて送りピン（始点）と受けピン（終点）とを指定された区間（データパス）について、その送りピンから受けピンに向かってトレース（フォワードトレース）を行ない、これらの送りピンと受けピンとの間に存在する全てのパス（通過ピンや通過ピン間を結ぶライン）を検出・認識するものである。
【００２９】
なお、以下、評価対象の電子回路について、送りピンから受けピンに向かって行なうトレースをフォワードトレースといい、その逆に受けピンから送りピンに向かって行なうトレースをバックワードトレースという。
また、パス認識部１１は、かかるフォワードトレースを行なうに際して、例えばハードディスク６に予め登録されているゲート情報データベースに基づいて、データパスを構成する各ゲートのディレイ（ゲートディレイ）やゲート間を結ぶ各ラインのディレイを取得し、データパス毎にこれらのディレイを積算することにより、各データパスのそれぞれについてパス全体のディレイ（パスディレイ）を算出するようになっている。
【００３０】
図２に示す例においては、データパスＡ，データパスＢ，データパスＣおよびデータパスＤの各パスディレイは、それぞれ５０，４０，３６および３４である。ただし、通過ピン間を結ぶラインのディレイ０とする。
ワーストパス選出部１２は、パス認識部１１によって認識された複数のデータパスの中からワーストパスを選出するものであって、本実施形態においては、オーバーディレイにかかるワーストパスとレーシングにかかるワーストパスとの２種類のワーストパスを選出するようになっている。
【００３１】
すなわち、ワーストパス選出部１２は、パス認識部１１によって認識された複数のデータパスの中から、パスディレイが最も大きなデータパスをオーバーディレイにかかるワーストパスとして選出し、パスディレイが最も小さいデータパスをレーシングにかかるワーストパスとして選出するようになっている。
図２に示す例においてはパスＡがオーバーディレイにかかるワーストパスとなり、パスＤがレーシングにかかるワーストパスとなる。なお、複数のデータパスのうちワーストパス以外のデータパスのことを、以下、アナザーパスという場合がある。図２に示す例においては、パスＢ，Ｃ，Ｄがオーバーディレイにかかるアナザーパスとなり、パスＡ，Ｂ，Ｃがレーシングにかかるアナザーパスとなる。
【００３２】
また、本実施形態においては、便宜上、複数のデータパスのうち、オーバーディレイにかかるワーストパスを最も上位のデータパスとし、このワーストパスから分岐するアナザーパスについて、ワーストパスとの間に介する分岐パスの数が多いほど下位のデータパスとする。すなわち、図２に示す例においては、データパスＡを最上位のデータパスとして、データパスＢ，データパスＤの順で下位とし、データパスＤが最下位のデータパスとする。
【００３３】
スラック値算出部（第１スラック値算出部，第２スラック値算出部，第３スラック値算出部）１３は、各通過ピンに設定されるべきスラック値を算出するものであり、本実施形態においては、オーバーディレイにかかるスラック値（ｍａｘ−ｄｅｌａｙ；以下、符号ＳＯｎで表わす）とレーシングにかかるスラック値（ｍｉｎ−ｄｅｌａｙ；以下、符号ＳＲｎで表わす）とをそれぞれ算出するようになっている。なお、ｎは０は整数である。
【００３４】
スラック値算出部（第１スラック値算出部）１３は、ワーストパス上の各通過ピンに対しては、オーバーディレイおよびレーシングのいずれについても、スラック値の初期値（初期スラック値；ＳＯ０，ＳＲ０）として “０”を設定（伝搬）するようになっている（ＳＯ０＝０，ＳＲ０＝０）。
また、スラック値算出部（第２スラック値算出部，第３スラック値算出部）１３は、オーバーディレイにかかるスラック値ＳＯｎの算出に際して、アナザーパス上の通過ピンに対しては、そのアナザーパスの開始点となる分岐ピンにおける２つのパスのディレイ差分、すなわち、当該分岐ピンにおける上位側のデータパスのパスディレイから下位側のデータパスのパスディレイを減算し、このようにして求めた２つのデータパスのディレイ差分ｄを、その上位側のデータパスのパスディレイから減算することにより、その分岐ピンを開始ピンとするアナザーパス上の各通過ピンに設定するスラック値ＳＯｎを求めるようになっている。
【００３５】
一方、スラック値算出部（第２スラック値算出部，第３スラック値算出部）１３は、レーシングにかかるスラック値ＳＲｎの算出に際して、アナザーパス上の通過ピンに対しては、そのアナザーパスの開始点となる分岐ピンにおける２つのパスのディレイ差分、すなわち、当該分岐ピンにおける上位側のデータパスのパスディレイから下位側のデータパスのパスディレイを減算し、このようにして求めた２つのデータパスのディレイ差分ｄを、その下位側のデータパス（すなわち、レーシングにかかるワーストパス）のパスディレイ（すなわち０）から減算することにより、その分岐ピンを開始ピンとするアナザーパス上の各通過ピンに設定するスラック値ＳＲｎを求めるようになっている。
【００３６】
データパストレース部（ワーストパストレース部，アナザーパストレース部）１４は、パス認識部１１によって認識されたデータパスを、その受けピン（図２に示す例ではゲートＧ７の入力ピン）側から送りピン（ゲートＧ１の出力ピン）側に向かって、バックワードトレースを行なうものである。
データパストレース部１４は、先ず、オペレータによって指定された受けピンを開始ピンとして、同じくオペレータによって指定された送りピンまでワーストパスのバックワードトレースを行ない、その後、このワーストパスにおけるバックワード方向の分岐ピンを先頭ピンとするアナザーパスについてバックワードトレースを行なう。なお、ワーストパスに複数の分岐ピンがある場合には、最も受けピンに近い分岐ピンから順番に、その分岐ピンを先頭ピンとするアナザーパスのバックワードトレースを行なう。
【００３７】
なお、図２に示す例においては、ゲートＧ６の出力ピンＸが、ワーストパスにおけるバックワード方向の分岐ピンである。本実施形態においては、このようなゲートＧ６の出力ピンＸを符号Ｇ６．Ｘによって表わすものとし、以下、分岐ピンを、ゲートを示す符号と出力ピンを特定する符号Ｘとを組み合わせて示すものとする。
また、データパストレース部１４は、アナザーパス中に分岐ピンがある場合には、このアナザーパスにおける分岐ピンを先頭ピンとする他のアナザーパスについてもバックワードトレースを行なう。更に、アナザーパスに複数の分岐ピンがある場合には、これらのアナザーパスにおける最も受けピンに近い分岐ピンから順番に、各分岐ピンを先頭ピンとするアナザーパスのバックワードトレースを順次行なう。
【００３８】
具体的には、データパストレース部１４は、先ず、指定された受けピンを開始ピンとして、送りピンまでワーストパスのバックワードトレースを行なった後、後述する分岐ピンテーブル作成部１６によって作成される分岐ピンテーブルＢ１を参照して、この分岐ピンテーブルＢ１に登録されている分岐ピンを先頭ピンとするアナザーパスに対して、スラック値が処理済み（スラック値を設定済；詳細は後述）の通過ピンに遭遇するまでバックワードトレースを行なう。そして、これらのアナザーパスに対するバックワードトレースを、分岐ピンテーブルＢ１に登録された全ての分岐ピンに対して繰り返し行なうのである。
【００３９】
また、データパストレース部１４は、図１に示すように、スラック値設定部（第１スラック値設定部，第２スラック値設定部，第３スラック値設定部）１５および分岐ピンテーブル作成部（ワーストパス分岐ピンテーブル作成部，アナザーパス分岐ピンテーブル作成部）１６をそなえて構成されている。
分岐ピンテーブル作成部（ワーストパス分岐ピンテーブル作成部，アナザーパス分岐ピンテーブル作成部）１６は、データパスのバックワードトレース時に通過ピンを抽出し、その通過ピンがバックワードトレースにかかる分岐ピン（枝ピン）であるか否かを判断して、通過ピンがバックワードトレースにかかる分岐ピンである場合に、その通過ピン（分岐ピン）を分岐ピンテーブルＢ１に登録するようになっている。すなわち、分岐ピンテーブル作成部１６は、データパスのバックワードトレース時に、分岐ピンをその出現順、すなわち、受けピンに近いものから順に、分岐ピンテーブルＢ１に登録するようになっている。
【００４０】
分岐ピンテーブルＢ１は、データパス上における分岐ピンを所定の順番で登録するものであり、本実施形態においては、受けピンに近いものから順に登録されるようになっている。分岐ピンテーブル（アナザーパス分岐ピンテーブル）Ｂ２は、アナザーパス上における分岐ピンを所定の順番で登録するものであって、本実施形態においては、受けピンに近いものから順に登録されるようになっている。
【００４１】
分岐ピンテーブル作成部（ワーストパス分岐ピンテーブル作成部）１６は、ワーストパス選出部１２によって選出されたワーストパス（図２に示す例ではパスＡ）のバックワードトレースを行なう際には、このワーストパスのバックワード方向における分岐ピンを順次抽出して、これらの分岐ピンを所定の順番（抽出順）で分岐ピンテーブル（ワーストパス分岐ピンテーブル）Ｂ１に登録する。
【００４２】
また、分岐ピンテーブル作成部（アナザーパス分岐ピンテーブル作成部）１６は、アナザーパスのバックワードトレースを行なう際には、これらのアナザーパスのバックワード方向における分岐ピンを抽出して、これら分岐ピンを所定の順番（抽出順）で分岐ピンテーブルＢ２に登録するようになっている。
本実施形態においては、分岐ピンテーブルＢ２には、バックワードトレースを行なっていないアナザーパスの開始ピンとなるべき分岐ピンが登録されるようになっている。更に、１つのアナザーパスのバックワードトレースが完了する毎に、この分岐ピンテーブルＢ２により分岐ピンテーブルＢ１が書き換えられるようになっており、又、かかる書き換えが完了した後に、分岐ピンテーブルＢ２は一旦リセット（初期化）されるようになっている。
【００４３】
スラック値設定部（第１スラック値設定部，第２スラック値設定部，第３スラック値設定部）１５は、スラック値算出部（第１スラック値算出部，第２スラック値算出部，第３スラック値算出部）１３によって設定されたスラック値をデータパス上の各通過ピンに設定するものである。
スラック値設定部（第１スラック値設定部）５は、ワーストパスのバックワードトレースを行なうに際して、スラック値算出部１３によって設定されたスラック値（初期スラック値ＳＯ０＝０，ＳＲ０＝０）をワーストパス上の各通過ピンに設定するようになっている。又、スラック値設定部（第２スラック値設定部，第３スラック値設定部）１５は、スラック値算出部（第２スラック値算出部，第３スラック値算出部）１３によって算出されたスラック値ＳＯｎ，ＳＲｎをアナザーパス上の各通過ピンにも設定するようになっている。
【００４４】
具体的には、スラック値設定部（第２スラック値設定部，第３スラック値設定部）１５は、分岐ピンテーブル作成部１６によって作成された分岐ピンテーブルＢ１に基づいて、この分岐ピンテーブルＢ１に格納された該分岐ピンを開始ピンとするアナザーパスをバックワードトレースし、スラック値算出部１３によって算出されたスラック値ＳＯｎ，ＳＲｎをこのアナザーパス上の各通過ピンに設定する。なお、既にスラック値ＳＯｎ，ＳＲｎが既に設定（伝搬）されている（処理済みの）通過ピンに対しては、更なるスラック値の伝搬は行なわない。
【００４５】
スラック値設定判断部２１は、データパス上の分岐ピンについて、スラック値が設定済みであるか否かを判断するものである。本実施形態においては、スラック値設定判断部２１は、分岐ピンテーブルＢ２が空であるか否かを確認することにより、データパス上の分岐ピンについてスラック値が設定済みであるか否かを判断するようになっており、分岐ピンテーブルＢ２が空である場合に、データパス上の全ての通過ピンにスラック値が設定済みであることを判断するものである。
【００４６】
そして、スラック値算出部１３およびデータパストレース部１４は、このスラック値設定判断部２１によってデータパス上の全ての通過ピンにスラック値が設定済みであると判断されるまで、それぞれスラック値の算出や分岐ピンテーブルの作成およびスラック値の設定を繰り返し行なうようになっている。
上述の如く構成された、本発明の一実施形態としてのスラック値設定装置１による、スラック値の設定手法を、図３に示すフローチャート（ステップＡ１０〜Ａ２２０）に従って説明する。
【００４７】
先ず、パス認識部１１が、送り側ＦＦの送りピンから受け側ＦＦの受けピンに対してフォワードトレースを実行することにより（ステップＡ１０）、送り側ＦＦと受け側ＦＦとの間における全経路（パスルート）を認識するとともに、これらのパスルート上に配設されているゲートにおけるゲートディレイを取得する。なお、このゲートディレイは、データベース（例えば、メモリ上のテーブル）に保存される。又、ワーストパス選出部１２が、これらのゲートディレイに基づいて、送り側ＦＦと受け側ＦＦとの間における全経路の中から、パスディレイが最も大きいワーストパスを選出する。
【００４８】
スラック値算出部（第１スラック値算出部）１３が、ワーストパスに設定されるべき初期スラック値ＳＯ０，ＳＲ０を算出する（ステップＡ２０）。なお、本実施形態においては、ＳＯ０＝ＳＲ０＝０である。
また、分岐ピンテーブル作成部１６は、分岐ピンテーブルＢ１を初期化して（ステップＡ３０）、ワーストパスについて、その受け側ＦＦから送り側ＦＦに向かってバックワードトレースを開始する（ステップＡ４０）。なお、以下、図中においてはバックワードトレースをバックトレースと表わす。
【００４９】
そして、そのワーストパスのバックワードトレースを終了したか否かを確認し（ステップＡ５０）、バックワードトレースを終了していない場合には（ステップＡ５０のＮＯルート参照）、通過ピンｘに対して、ステップＡ２０において算出した初期スラック値ＳＯ０，ＳＲ０を設定する（ステップＡ６０）。
また、通過ピンｘがバックワードトレースにかかる分岐ピン（枝ピン）であるか否かを判断して（ステップＡ７０）、通過ピンｘが枝ピンである場合には（ステップＡ７０のＹＥＳルート参照）、通過ピンｘを分岐ピンテーブルＢ１に登録して（ステップＡ８０）、次の通過ピンをｘとする（ステップＡ９０）。又、通過ピンｘが枝ピンではない場合には（ステップＡ７０のＮＯルート参照）、ステップＡ９０に移行する。
【００５０】
バックワードトレースが終了した場合には（ステップＡ５０のＹＥＳルート参照）、分岐ピンテーブルＢ２を初期化するとともに（ステップＡ１００）、分岐ピンテーブルＢ１の最初の要素（分岐ピン）を取得してｂとする（ステップＡ１１０）。このｂが分岐ピンテーブルＢ２の最後の要素であるか否かを判断して（ステップＡ１２０）、最後の要素ではない場合には（ステップＡ１２０のＮＯルート参照）、そのｂを開始ピンとするアナザーパスの各通過ピンに設定されるべきスラック値ＳＯｎ，ＳＲｎを算出する（ステップＡ１３０）。
【００５１】
そして、ｂの枝ピンを開始ピンとするアナザーパスのバックワードトレースを開始する（ステップＡ１４０）。その枝ピンにかかるアナザーパスのバックワードトレースを終了したか否かを確認し（ステップＡ１５０）、バックワードトレースを終了していない場合には（ステップＡ１５０のＮＯルート参照）、通過ピンｘに対して、ステップＡ１３０において算出したスラック値ＳＯｎ，ＳＲｎを設定する（ステップＡ１６０）。
【００５２】
また、その通過ピンｘが枝ピンであるか否かを判断して（ステップＡ１７０）、通過ピンｘが枝ピンである場合には（ステップＡ１７０のＹＥＳルート参照）、その通過ピンｘを分岐ピンテーブルＢ２に登録した後に（ステップＡ１８０）、次の通過ピンをｘに設定して（ステップＡ１９０）、ステップＡ１５０に戻る。一方、通過ピンｘが枝ピンではない場合には（ステップＡ１７０のＮＯルート参照）、ステップＡ１９０に移行する。
【００５３】
バックワードトレースが終了した場合には（ステップＡ１５０のＹＥＳルート参照）、分岐ピンテーブルＢ２の次の要素をｂとして（ステップＡ２２０）、ステップＡ１５０に戻る。
一方、ｂが分岐ピンテーブルＢ１の最後の要素である場合には（ステップＡ１２０のＹＥＳルート参照）、分岐ピンテーブルＢ２が空であるか、すなわち、分岐ピンテーブルＢ２に登録されている分岐ピンがないか否かを確認して（ステップＡ２１０）、分岐ピンテーブルＢ２が空である場合には（ステップＡ２１０のＹＥＳルート参照）、処理を終了する。又、分岐ピンテーブルＢ２が空ではない場合には（ステップＡ２１０のＮＯルート参照）、分岐ピンテーブルＢ２を分岐ピンテーブルＢ１に変更して（ステップＡ２００）、ステップＡ１００に戻る。
【００５４】
上述の如き処理（ステップＡ１０〜Ａ２２０）を行なうことにより、データパス上の全ての通過ピンにスラック値を設定することができるのである。
次に、本発明の一実施形態としてのスラック値設定装置１により、図２に示す電子回路に対してオーバーディレイ（max-de1ay）のスラック値を設定する過程を、図４〜図７を参照しながら説明する。図４〜図７は本スラック値設定装置１によるオーバーディレイにかかるスラック値の設定過程を示す図であり、それぞれ図２に示す電子回路におけるデータパスを抽出して示す図である。
【００５５】
図４に示すように、データパストレース部１４は、先ず、max-de1ayのワーストパス（データパスＡ）に対してバックワードトレースを行ない、通過する各通過ピンに初期スラック値（本実施形態では、初期スラック値ＳＯ０＝０）をそれぞれ設定する。又、このデータパスＡのバックワードトレースにより、分岐ピンＧ６．Ｘが検出される。
次に、図５に示すように、ワーストパスのバックワードトレースで検出された分岐ピンＧ６．Ｘを新たに行なうバックワードトレースの開始ピンとして、スラック値算出部１３が、分岐ピンＧ６．ＸにおけるデータパスＡ（ワーストパス）とデータパスＢとのディレイ差分ｄ＝５０−４０＝１０を、データパスＡのスラック値０から減算した値“−１０”を、新しいスラック値ＳＯｎとしてデータパスＢ上の各通過ピンに設定する。
【００５６】
なお、データパスＢのバックワードトレースで通過するゲートＧ２，Ｇ１の各通過ピンには既にスラック値ＳＯ０＝０が設定されており、データパスＢのスラック値ＳＯｎ＝−１０は、これらの既存値“０”よりも小さいので、これらのゲートＧ１，Ｇ２の各通過ピンに設定されたスラック値は書き換えない。又、このデータパスＢのバックワードトレースにより、分岐ピンＧ１１．Ｘが検出される。
【００５７】
次に、図６に示すように、図５のデータパスＢのバックワードトレースで見つかった分岐ピンＧ１１．Ｘを、新たに行なうバックワードトレースの開始ピンとして、スラック値算出部１３が、分岐ピンＧ１１．ＸにおけるデータパスＢとデータパスＣとのディレイ差分ｄ＝３０−２６＝４を、データパスＢのスラック値−１０から減算した値“−１４”を新しいスラック値ＳＯｎとして、データパスＣ上の各通過ピンに設定する。データパスＣのバックワードトレースで通過するゲートＧ８，Ｇ２，Ｇ１の各通過ピンには既にスラック値ＳＯｎ＝−１０，０がそれぞれ設定されており、データパスＣのスラック値ＳＯｎ＝−１４は、これらの既存値“−１０”，“０”よりも小さいため、これらのゲートＧ８，Ｇ２，Ｇ１の各通過ピンに設定されたスラック値は書き換えない。又、このデータパスＣのバックワードトレースにより、分岐ピンＧ１４．Ｘが検出される。
【００５８】
次に、図７に示すように、図６のデータパスＣのバックワードトレースで見つかった分岐ピンＧ１４．Ｘを、新たに行なうバックワードトレースの開始ピンとして、スラック値算出部１３が、分岐ピンＧ１４．ＸにおけるデータパスＣとデータパスＤとのディレイ差分ｄ＝２１−１９＝２を、データパスＣのスラック値−１４から減算した値“一１６”を新しいスラック値ＳＯｎとして、データパスＤ上の各通過ピンに設定する。データパスＤのバックワードトレースで通過するゲートＧ１２，Ｇ８，Ｇ２，Ｇ１の各通過ピンには既にスラック値ＳＯｎ＝−１４，−１０，０がそれぞれ設定されており、データパスＤのスラック値−１６は、これらの既存値“−１４”，“−１０”，“０”よりも小さいため、これらのゲートＧ１２，Ｇ８，Ｇ２，Ｇ１の各通過ピンに設定されたスラック値は書き換えない。
【００５９】
このように、本スラック値設定装置１により、ＦＦマクロＧ１からＦＦマクロＧ７まで到達するすべてのデータパスの通過ピンに対して３回のバックワードトレース処理を行なうことによりmax-delayのスラック値が設定されるのである。
次に、本発明の一実施形態としてのスラック値設定装置１により、図２に示す電子回路に対してレーシング（min-de1ay）のスラック値を設定する過程を、図８〜図１１を参照しながら説明する。図８〜図１１は本スラック値設定装置１によるレーシングにかかるスラック値の設定過程を示す図であり、それぞれ図２に示す電子回路におけるデータパスを抽出して示す図である。
【００６０】
図８に示すように、データパストレース部１４は、先ず、min-de1ayのワーストパス（データパスＤ）に対してバックワードトレースを行ない、通過する各通過ピンに初期スラック値（本実施形態では、初期スラック値ＳＲ０＝０）をそれぞれ設定する。又、このデータパスＤのバックワードトレースにより、分岐ピンＧ６．Ｘ，Ｇ１１．ＸおよびＧ１４．Ｘが検出される。
【００６１】
次に、図９に示すように、ワーストパスのバックワードトレースで検出された複数の分岐ピンＧ６．Ｘ，Ｇ１１．ＸおよびＧ１４．Ｘのうち、分岐ピンＧ６．Ｘを新たに行なうバックワードトレースの開始ピンとして、スラック値算出部１３が、分岐ピンＧ６．ＸにおけるデータパスＡとデータパスＤ（ワーストパス）とのディレイ差分ｄ＝５０−３４＝１６をデータパスＤのスラック値ＳＲ０＝０に加算した値“１６”を、新しいスラック値ＳＲｎとしてデータパスＡ上の各通過ピンに設定する。
【００６２】
なお、データパスＡのバックワードトレースで通過するゲートＧ２，Ｇ１の各通過ピンには既にスラック値“０”が設定されており、データパスＡのスラック値ＳＲｎ＝１６は、これらの既存値“０”よりも小さいので、これらのゲートＧ１，Ｇ２の各通過ピンに設定されたスラック値は書き換えない。
次に、図１０に示すように、図８のワーストパスのバックワードトレースで見つかった分岐ピンＧ１１．Ｘを、新たに行なうバックワードトレースの開始ピンとして、スラック値算出部１３が、分岐ピンＧ１１．ＸにおけるデータパスＢとデータパスＤとのディレイ差分ｄ＝３０−２４＝６を、データパスＤのスラック値ＳＲ０＝０に加算した値“６”を新しいスラック値ＳＲｎとして、データパスＢ上の各通過ピンに設定する。データパスＢのバックワードトレースで通過するゲートＧ８，Ｇ２，Ｇ１の各通過ピンには既にスラック値ＳＲ０＝０がそれぞれ設定されており、データパスＢのスラック値ＳＲｎ＝６は、これらの既存値 “０”よりも大きいため、これらのゲートＧ８，Ｇ２，Ｇ１の各通過ピンに設定されたスラック値は書き換えない。
【００６３】
次に、図１１に示すように、ワーストパスのバックワードトレースで見つかった分岐ピンＧ１４．Ｘを、新たに行なうバックワードトレースの開始ピンとして、スラック値算出部１３が、分岐ピンＧ１４．ＸにおけるデータパスＣとデータパスＤとのディレイ差分ｄ＝２１−１９＝２を、データパスＤのスラック値ＳＲ０＝０に加算した値“２”を新しいスラック値ＳＲｎとして、データパスＣ上の各通過ピンに設定する。データパスＣのバックワードトレースで通過するゲートＧ１２，Ｇ８，Ｇ２，Ｇ１の各通過ピンには既にスラック値ＳＲ０＝０がそれぞれ設定されており、データパスＣのスラック値ＳＲｎ＝２は、これらの既存値“０”よりも大きいため、これらのゲートＧ１２，Ｇ８，Ｇ２，Ｇ１の各通過ピンに設定されたスラック値は書き換えない。
【００６４】
このように、本スラック値設定装置１により、ＦＦマクロＧ１からＦＦマクロＧ７まで到達するすべてのデータパスの通過ピンに対して３回のバックワードトレース処理を行なうことによりmin-delayのスラック値が設定されるのである。
図１２は本発明の一実施形態としてのスラック値設定装置１により設定されたmax-de1ayのスラック値とmin-de1ayのスラック値とを同一の電子回路上に合成して示す図である。なお、この図１１中においては、各通過ピンに対して、max-delayのスラック値ＳＯｎとmin-delayのスラック値ＳＲｎとをスラッシュ（／）を挟んでそれぞれ配置することにより、各通過ピンにおけるmax-delayのスラック値とmin-delayのスラック値とを同時に表わしている（ＳＯｎ／ＳＲｎ）。
【００６５】
この図１２に示す例においては、ゲートＧ１の出力ピンやＧ２の入出力ピン，分岐ピンＧ６．Ｘ等のスラック値が０／０の通過ピンは、max-delay，min-delayのいずれにおいても余裕が無く、これらの通過ピンの前後にバッファーの挿入やマクロ置換などによる回路修正を行なうことにより、タイミングに大きく影響を及ぼすことが分かる。
また、この図１２に示す例においては、通過ピンＧ６．Ａ２ではmax-delay側に余裕が無いがmin-de1ay側に余裕があることが分かる。この場合、ゲートＧ３，Ｇ４，Ｇ５の入出力ピンや通過ピンＧ６．Ａ２のように、データパス上のスラック値が０／６である通過ピンの前後でディレイを小さくする回路修正が可能であることが分かる。一方、通過ピンＧ１４．Ａ１では、max-de1ay側は余裕があるがmin-delay側に余裕が無いことが分かる。この場合、データパス上のスラック値が−１６／０である通過ピンの前後でディレイを大きくする回路修正が可能であることが分かる。
【００６６】
次に、本発明の一実施形態としてのスラック値設定装置１により、より複雑なデータパスをそなえた電子回路についてスラック値の設定を行なう例について説明する。
図１３は本発明の一実施形態としてのスラック値設定装置によってスラック値の設定を行なう他の電子回路の例を示す図、図１４は図１３に示す電子回路に本発明の一実施形態としてのスラック値設定装置によりスラック値を設定する際における処理過程を説明するための図である。
【００６７】
図１３に示す電子回路においては、送り側ＦＦ（Source）と受け側ＦＦ（Target）ソースＦＦとの間を結ぶデータパス上に複数の分岐ピンがそなえられている。なお、この図１３に示す例においては、１０個の分岐ピン（符号［１］〜［１０］参照）がそなえられている。
この図１３に示すような１０個の分岐ピン［１］〜［１０］をそなえる電子回路にスラック値を設定する場合には、図１４に示すように、オーダー（Order）＃１において分岐ピン［１］および分岐ピン［２］をそれぞれ始点とするアナザーパスについてそれぞれスラック値の設定（伝搬）処理を行なった後に、オーダー＃２において分岐ピン［３］および分岐ピン［４］をそれぞれ始点とするアナザーパスについてそれぞれスラック値の設定（伝搬）処理を行なう。その後、オーダー＃３において分岐ピン［５］，分岐ピン［６］および分岐ピン［７］を始点とするアナザーパスについてそれぞれスラック値の設定（伝搬）処理を行ない、更に、オーダー＃４において分岐ピン［８］および分岐ピン［９］を始点とするアナザーパスにスラック値の設定（伝搬）処理を行なう。そして、オーダ＃５において分岐ピン［１０］を始点するアナザーパスにスラック値の設定を行なう。
【００６８】
このように複雑な枝パスをそなえる電子回路についても、本発明のスラック値設定手法を用いることにより、１０回のスラック伝搬処理でデータパス上の全ての通過ピンにスラック値を設定することができるのである。
図１５は本発明の一実施形態としてのスラック値設定装置１により設定されたスラック値を示すデータパスの例を示す図であり、スラック値の最大値または最小値でトレースした例を示す図である。この図１５においては、マクロ上の全ての通過ピンのスラック値を示すとともに、ネット分岐がある場合には、その分岐先のピンとそのスラック値を示している。本スラック値設定装置１によってスラック値の設定を行なった後に、この図１５に示すようなブロック図を作成することにより、分岐ピンの余裕度を視覚的に判断することが可能になる。
【００６９】
このように、本発明の一実施形態としてのスラック値設定装置１によれば、データパスにおける分岐ピンを、所定の順番、すなわち、ワーストパスを始めとするデータパスのバックワードトレースによる抽出順で選択し、この順番で各分岐ピンを開始ピンとしてデータパス（アナザーパス）のバックワードトレースを順次行ないながらスラック値の設定を行なうので、最低限の処理でデータパス上の全ての通過ピンに対してスラック値を設定することができるので、スラック値の設定を短時間で行なうことができる。
【００７０】
なお、上述した、パス認識部１１，ワーストパス選出部１２，スラック値算出部（第１スラック値算出部，第２スラック値算出部，第３スラック値算出部）１３，データパストレース部１４およびスラック値設定判定部２１としての機能を実現するためのプログラム（スラック値設定プログラム）は、例えばフレキシブルディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−Ｒ／Ｗ，ＤＶＤ，ＤＶＤ−Ｒ，ＤＶＤ−Ｒ／Ｗ，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００７１】
パス認識部１１，ワーストパス選出部１２，スラック値算出部（第１スラック値算出部，第２スラック値算出部，第３スラック値算出部）１３，データパストレース部１４およびスラック値設定判定部２１としての機能を実現する際には、内部記憶装置（本実施形態ではコンピュータのＲＡＭやＲＯＭ）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではプリンタのＣＰＵ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００７２】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、スラック値設定装置１がコンピュータとしての機能を有しているのである。
【００７３】
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−Ｒ／Ｗ，ＤＶＤ，ＤＶＤ−Ｒ，ＤＶＤ−Ｒ／Ｗ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
【００７４】
なお、上述した本発明の一実施形態としてのスラック値設定装置１としての機能を、例えば、回路設計を行なうためのＣＡＤ（computer-aided design）システムにそなえることにより、かかるＣＡＤシステムを用いて設計した電子回路の評価を容易に行なうことができる。この場合、ＣＡＤシステムとして機能するコンピュータシステムを本スラック値設定装置１として機能させることができる。
【００７５】
また、上述した実施形態に関わらず、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、上述した実施形態においては、ゲート間を結ぶラインのディレイを０としているが、これに限定されるものではなく、ゲート間のラインのディレイを考慮してもよい。
本発明の各実施形態が開示されていれば、本発明を当業者によって実施・製造することが可能である。
【００７６】
そして、本発明は、以下に示すように要約することができる。
（付記１）  始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定方法であって、
前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出ステップと、
該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出ステップと、
該第１スラック値算出ステップにおいて算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定ステップと、
該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成ステップと、
前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出ステップと、
該ワーストパス分岐ピンテーブル作成ステップにおいて作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第２スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定ステップとをそなえることを特徴とする、スラック値設定方法。
【００７７】
（付記２）  前記データパス上の該通過ピンについて、該スラック値が設定済みであるか否かを判断するスラック値設定判断ステップをそなえ、
該スラック値設定判断ステップにおいて、該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、該第２スラック値算出ステップと、該第２スラック値設定ステップとを繰り返し行なうことを特徴とする、付記１記載のスラック値設定方法。
【００７８】
（付記３）  該分岐ピンから該アナザーパスをバックワードトレースして、当該アナザーパスのバックワード方向における該分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したアナザーパス分岐ピンテーブルを作成するアナザーパス分岐ピンテーブル作成ステップと、
該アナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第３スラック値算出ステップと、
該アナザーパス分岐ピンテーブル作成ステップにおいて作成された該アナザーパス分岐ピンテーブルに基づいて、当該アナザーパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第３スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第３スラック値設定ステップとをそなえ、
該スラック値設定判断ステップにおいて、該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、該アナザーパス分岐ピンテーブル作成ステップと、該第３スラック値算出ステップと、該第３スラック値設定ステップとを繰り返し行なうことを特徴とする、付記２記載のスラック値設定方法。
【００７９】
（付記４）  始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定方法であって、
該データパス上の各通過ピンに設定されるべき該スラック値を算出するスラック値算出ステップと、
該データパスの該終点から該始点に向かってバックワードトレースを行ない、当該データパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録した分岐ピンテーブルを作成する分岐ピンテーブル作成ステップと、
該分岐ピンテーブル作成ステップにおいて作成された該分岐ピンテーブルに基づいて、当該分岐ピンテーブルに格納された該分岐ピンから該データパスをバックワードトレースして、該スラック値算出ステップにおいて算出された該スラック値を当該データパス上の各通過ピンに設定するスラック値設定ステップと、
前記データパス上の該分岐ピンについて、該スラック値が設定済みであるか否かを判断するスラック値設定判断ステップとをそなえ、
該スラック値設定判断ステップにおいて、該データパス上の全ての該分岐ピンに該スラック値が設定済みであると判断されるまで、該スラック値算出ステップと該分岐ピンテーブル作成ステップと該スラック値設定ステップとを繰り返し行なうことを特徴とする、スラック値設定方法。
【００８０】
（付記５）  始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定装置であって、
前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出部と、
該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出部と、
該第１スラック値算出部によって算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定部と、
該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成部と、
前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出部と、
該ワーストパス分岐ピンテーブル作成部によって作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第２スラック値算出部によって算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定部とをそなえることを特徴とする、スラック値設定装置。
【００８１】
（付記６）  前記データパス上の該通過ピンについて、該スラック値が設定済みであるか否かを判断するスラック値設定判断部をそなえ、
該第２スラック値算出部および該第２スラック値設定部が、該スラック値設定判断部によって該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、それぞれ前記スラック値の算出と前記スラック値の設定とを繰り返し行なうことを特徴とする、付記５記載のスラック値設定装置。
【００８２】
（付記７）  該分岐ピンから該アナザーパスをバックワードトレースして、当該アナザーパスのバックワード方向における該分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したアナザーパス分岐ピンテーブルを作成するアナザーパス分岐ピンテーブル作成部と、
該アナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第３スラック値算出部と、
該アナザーパス分岐ピンテーブル作成部によって作成された該アナザーパス分岐ピンテーブルに基づいて、当該アナザーパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第３スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第３スラック値設定部とをそなえ、
該アナザーパス分岐ピンテーブル作成部と該第３スラック値算出部と該第３スラック値設定部とが、該スラック値設定判断部によって該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、それぞれ前記アナザーパス分岐ピンテーブルの作成と前記スラック値の算出と前記スラック値の設定とを繰り返し行なうことを特徴とする、付記６記載のスラック値設定装置。
【００８３】
（付記８）  始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定機能をコンピュータに実行させるためのスラック値設定プログラムであって、
前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出ステップと、
該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出ステップと、
該第１スラック値算出ステップにおいて算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定ステップと、
該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成ステップと、
前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出ステップと、
該ワーストパス分岐ピンテーブル作成ステップにおいて作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第２スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定ステップとを該コンピュータに実行させることを特徴とする、スラック値設定プログラム。
【００８４】
（付記９）  前記データパス上の該通過ピンについて、該スラック値が設定済みであるか否かを判断するスラック値設定判断ステップを該コンピュータに実行させ、
該スラック値設定判断ステップで、該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、該第２スラック値算出ステップと、該第２スラック値設定ステップとを該コンピュータに繰り返し実行させることを特徴とする、付記８記載のスラック値設定プログラム。
【００８５】
（付記１０）  該分岐ピンから該アナザーパスをバックワードトレースして、当該アナザーパスのバックワード方向における該分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したアナザーパス分岐ピンテーブルを作成するアナザーパス分岐ピンテーブル作成ステップと、
該アナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第３スラック値算出ステップと、
該アナザーパス分岐ピンテーブル作成ステップにおいて作成された該アナザーパス分岐ピンテーブルに基づいて、当該アナザーパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第３スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第３スラック値設定ステップとを該コンピュータに実行させ、
該スラック値設定判断ステップで、該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、該アナザーパス分岐ピンテーブル作成ステップと、該第３スラック値算出ステップと、該第３スラック値設定ステップとを該コンピュータに繰り返し実行させることを特徴とする、付記９記載のスラック値設定プログラム。
【００８６】
（付記１１）  始点から終点までの間に複数のデータパスを有する電子回路について、当該データパス上の複数のゲートの通過ピンにスラック値をそれぞれ設定するスラック値設定機能をコンピュータに実行させるためのスラック値設定プログラムを記録したコンピュータ読取可能な記録媒体であって、
該スラック値設定プログラムが、
前記複数のデータパスのうちパスディレイが最も大きなワーストパスを選出するワーストパス選出ステップと、
該ワーストパス上の各通過ピンに設定されるべき該スラック値を算出する第１スラック値算出ステップと、
該第１スラック値算出ステップにおいて算出された該スラック値を前記ワーストパス上の各通過ピンに設定する第１スラック値設定ステップと、
該ワーストパスの該終点から該始点に向かってバックワードトレースを行ない、当該ワーストパスのバックワード方向における分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したワーストパス分岐ピンテーブルを作成するワーストパス分岐ピンテーブル作成ステップと、
前記複数のデータパスのうち該ワーストパス以外のアナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第２スラック値算出ステップと、
該ワーストパス分岐ピンテーブル作成ステップにおいて作成された該ワーストパス分岐ピンテーブルに基づいて、当該ワーストパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第２スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第２スラック値設定ステップとを該コンピュータに実行させることを特徴とする、スラック値設定プログラムを記録したコンピュータ読取可能な記録媒体。
【００８７】
（付記１２）  該スラック値設定プログラムが、
前記データパス上の該通過ピンについて、該スラック値が設定済みであるか否かを判断するスラック値設定判断ステップを該コンピュータに実行させ、
該スラック値設定判断ステップで、該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、該第２スラック値算出ステップと、該第２スラック値設定ステップとを該コンピュータに繰り返し実行させることを特徴とする、付記１１記載のスラック値設定プログラムを記録したコンピュータ読取可能な記録媒体。
【００８８】
（付記１３）  該スラック値設定プログラムが、
該分岐ピンから該アナザーパスをバックワードトレースして、当該アナザーパスのバックワード方向における該分岐ピンを抽出し、当該分岐ピンを所定の順番で登録したアナザーパス分岐ピンテーブルを作成するアナザーパス分岐ピンテーブル作成ステップと、
該アナザーパス上の各通過ピンに設定されるべき該スラック値を算出する第３スラック値算出ステップと、
該アナザーパス分岐ピンテーブル作成ステップにおいて作成された該アナザーパス分岐ピンテーブルに基づいて、当該アナザーパス分岐ピンテーブルに格納された該分岐ピンから該アナザーパスをバックワードトレースして、該第３スラック値算出ステップにおいて算出された該スラック値を当該アナザーパス上の各通過ピンに設定する第３スラック値設定ステップとを該コンピュータに実行させ、
該スラック値設定判断ステップで、該データパス上の全ての該通過ピンに該スラック値が設定済みであると判断されるまで、該アナザーパス分岐ピンテーブル作成ステップと、該第３スラック値算出ステップと、該第３スラック値設定ステップとを該コンピュータに繰り返し実行させることを特徴とする、付記１２記載のスラック値設定プログラムを記録したコンピュータ読取可能な記録媒体。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施形態としてのスラック値設定装置の基本構成を示すブロック図である。
【図２】本発明の一実施形態としてのスラック値設定装置によってスラック値の設定を行なう電子回路の例を示す図である。
【図３】本発明の一実施形態としてのスラック値設定装置による、スラック値の設定手法を説明するためのフローチャートである。
【図４】本発明の一実施形態としてのスラック値設定装置によるオーバーディレイにかかるスラック値の設定過程を示す図である。
【図５】本発明の一実施形態としてのスラック値設定装置によるオーバーディレイにかかるスラック値の設定過程を示す図である。
【図６】本発明の一実施形態としてのスラック値設定装置によるオーバーディレイにかかるスラック値の設定過程を示す図である。
【図７】本発明の一実施形態としてのスラック値設定装置によるオーバーディレイにかかるスラック値の設定過程を示す図である。
【図８】本発明の一実施形態としてのスラック値設定装置によるレーシングにかかるスラック値の設定過程を示す図である。
【図９】本発明の一実施形態としてのスラック値設定装置によるレーシングにかかるスラック値の設定過程を示す図である。
【図１０】本発明の一実施形態としてのスラック値設定装置によるレーシングにかかるスラック値の設定過程を示す図である。
【図１１】本発明の一実施形態としてのスラック値設定装置によるレーシングにかかるスラック値の設定過程を示す図である。
【図１２】本発明の一実施形態としてのスラック値設定装置により設定されたmax-de1ayのスラック値とmin-de1ayのスラック値とを同一の電子回路上に合成して示す図である。
【図１３】本発明の一実施形態としてのスラック値設定装置によってスラック値の設定を行なう他の電子回路の例を示す図である。
【図１４】本発明の一実施形態としてのスラック値設定装置により電子回路にスラック値を設定する際における処理過程を説明するための図である。
【図１５】本発明の一実施形態としてのスラック値設定装置により設定されたスラック値を示すデータパスの例を示す図である。
【図１６】従来のスラック値の設定手法を説明するためのフローチャートである。
【図１７】従来のスラック値設定手法を実現するためのプログラム例を示す図である。
【符号の説明】
【００９０】
１    スラック値設定装置
２    ディスプレイ
３    メモリ
４    キーボード
５    マウス
６    ハードディスク
１０    ＣＰＵ（パス認識部，ワーストパス選出部，第１スラック値算出部，第２スラック値算出部，第３スラック値算出部，ワーストパス分岐ピンテーブル作成部，アナザーパス分岐ピンテーブル作成部，データパストレース部，スラック値設定判定部）
１１    パス認識部
１２    ワーストパス選出部
１３    スラック値算出部（第１スラック値算出部，第２スラック値算出部，第３スラック値算出部）
１４    データパストレース部（ワーストパストレース部，アナザーパストレース部）
１５    スラック値設定部（第１スラック値設定部，第２スラック値設定部，第３スラック値設定部）
１６    分岐ピンテーブル作成部（ワーストパス分岐ピンテーブル作成部，アナザーパス分岐ピンテーブル作成部）
２１    スラック値設定判断部
Ｂ１    分岐ピンテーブル（ワーストパス分岐ピンテーブル）
Ｂ２    分岐ピンテーブル（アナザーパス分岐ピンテーブル）
【図１】
2006004228.tif 000004
【図２】
2006004228.tif 000005
【図３】
2006004228.tif 000006
【図４】
2006004228.tif 000007
【図５】
2006004228.tif 000008
【図６】
2006004228.tif 000009
【図７】
2006004228.tif 000010
【図８】
2006004228.tif 000011
【図９】
2006004228.tif 000012
【図１０】
2006004228.tif 000013
【図１１】
2006004228.tif 000014
【図１２】
2006004228.tif 000015
【図１３】
2006004228.tif 000016
【図１４】
2006004228.tif 000017
【図１５】
2006004228.tif 000018
【図１６】
2006004228.tif 000019
【図１７】
2006004228.tif 000020