(57)【要約】【課題】短時間で大量のホールドタイムエラーを修正することができる半導体集積回路のホールドタイムエラー修正方法を提供する。【解決手段】各ホールドタイムエラーパスが経由する論理セルの入力ピン情報の配列とホールドタイムエラーのエラー値とを含むホールドタイムエラーパス情報をリストにし（１０３）、このリストをホールドタイムエラー値が大きい順に並び替え（１０４）、このリストに含まれる全ての論理セルの入力ピン情報を検索して各入力ピン情報の出現回数を数え（１０５）、リストの先頭から順にホールドタイムエラーパス情報を取り出し（１０６）、それぞれのホールドタイムエラーパス情報について、出現回数が大きい入力ピン情報から順にセットアップ側のタイミングマージンを調べ（１１０）、セットアップ側のタイミングマージンが十分な場合に当該入力ピンの直前にバッファを挿入する（１１１）。【選択図】図１
2009187091.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路においてホールドタイムエラーパスにバッファを挿入してホールドタイムエラー修正を行う方法であって、
前記ホールドタイムエラー修正は、ホールドタイムエラー値が大きいホールドタイムエラーパスから順に実施されることを特徴とする半導体集積回路のホールドタイムエラー修正方法。
【請求項２】
あらかじめ半導体集積回路上の全てのホールドタイムエラーパスを検索して各論理セルの入力ピンの出現回数を調べ、
それぞれのホールドタイムエラーパスのホールドタイムエラー修正においては、前記論理セルの入力ピンの出現回数が大きいものから順に直前にバッファを挿入したときのホールドタイムエラー修正の可否を調べることを特徴とする請求項１記載の半導体集積回路のホールドタイムエラー修正方法。
【請求項３】
前記ホールドタイムエラー修正において、前記論理セルの入力ピンの出現回数が大きいものから順にバッファ挿入箇所を決定すると既にホールドタイムエラー修正によりバッファが挿入されたホールドタイムエラーパスにさらにバッファが挿入されることになる場合は、当該箇所をバッファ挿入箇所とせず、前記論理セルの入力ピンの出現回数が次の順位のものをバッファ挿入箇所の候補として直前にバッファを挿入したときのホールドタイムエラー修正の可否を調べることを特徴とする請求項２記載の半導体集積回路のホールドタイムエラー修正方法。
【請求項４】
半導体集積回路においてホールドタイムエラーパスにバッファを挿入してホールドタイムエラー修正を行う方法であって、
全てのホールドタイムエラーパスを抽出し、各ホールドタイムエラーパスが経由する論理セルの入力ピン情報の配列とホールドタイムエラーのエラー値とを含むホールドタイムエラーパス情報をリストにする工程と、
前記ホールドタイムエラーパス情報をホールドタイムエラー値が大きい順に並び替える工程と、
前記リスト上のホールドタイムエラーパス情報に含まれる全ての入力ピン情報を検索し、各入力ピン情報の出現回数を数える工程と、
前記リストの先頭から順にホールドタイムエラーパス情報を取り出し、それぞれのホールドタイムエラーパス情報について、出現回数が大きい入力ピン情報から順にセットアップ側のタイミングマージンを調べ、セットアップ側のタイミングマージンが十分な場合に当該入力ピンの直前にホールドタイムエラー修正のためのバッファを挿入するバッファ挿入工程と、
を含むことを特徴とする半導体集積回路のホールドタイムエラー修正方法。
【請求項５】
挿入候補となるバッファの遅延時間を少なくとも最大条件および最小条件の各動作条件であらかじめ見積もる工程と、
全てのバッファについて各条件での遅延時間およびセル面積を記載したバッファデータテーブルを作成する工程とを有し、
前記バッファ挿入工程においては、ホールドタイムエラー値を前記バッファデータテーブルから取得した所望の動作条件におけるバッファの遅延時間の見積もり値と比較し、ホールドタイムエラー修正が可能な最小面積のバッファを選択することを特徴とする請求項４記載の半導体集積回路のホールドタイムエラー修正方法。
【請求項６】
前記バッファデータテーブルに記載されるバッファとして、２個以上の同種類または異種類のバッファからなるバッファ群が単一のバッファと同等に扱われることを特徴とする
請求項５記載の半導体集積回路のホールドタイムエラー修正方法。
【請求項７】
請求項１から６のいずれかに記載の半導体集積回路のホールドタイムエラー修正方法により挿入された１つ以上のバッファがレイアウトされることを特徴とする半導体集積回路のレイアウト方法。
【請求項８】
半導体集積回路のホールドタイムエラー修正方法を実施するためのコンピュータプログラムであって、
コンピュータに、請求項１から６のいずれかに記載の各工程を実施させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模半導体集積回路のホールドタイムエラー修正方法およびそのコンピュータプログラムに関する。
【背景技術】
【０００２】
大規模半導体集積回路の設計においては、論理ゲートレベルで記述されたネットリストを作成後、コンピュータ上でレイアウトツールにより回路パターンがレイアウトされる。従来のレイアウトツールでは信号のタイミングを考慮しながら論理回路がレイアウトされていた。通常、レイアウトツールは内部に静的タイミング解析（Static Timing Analysis
: STA)ツールを内蔵し、ＳＴＡを行いながらレイアウトを行っている。
【０００３】
従来のレイアウトツールに内蔵されているＳＴＡツールでは単一の動作モードしか扱うことが出来ない。しかしながら、半導体集積回路では複数の動作モードを有しているものがある。レイアウト後にタイミングを早めることは困難であるため、レイアウトツールではある単一の動作モードでセットアップタイミングを満たすようにレイアウトする。その後、ホールドタイムエラー修正用のバッファを挿入し、タイミングを遅くすることによってホールドタイムエラーを修正する。
【０００４】
しかしホールドタイムエラーを修正する際にレイアウトツールに内蔵されているＳＴＡツールを使用して修正すると、単一の動作モードに対して修正を行うため、バッファを挿入することによって他の動作モードでセットアップタイムエラーを引き起こす可能性がある。
【０００５】
この問題を解決するために、複数の動作モードに対してセットアップタイミングの余裕度を半導体集積回路の信号伝達経路（パス）上に割り当てたセットアップマージンマップを作成し、そのセットアップマージンマップを参照しながらホールドタイムエラーを修正するためのバッファを挿入し、バッファを挿入した後にセットアップマージンマップを更新し、さらに他のホールドタイムエラーを修正するようにバッファを挿入してセットアップマージンマップを更新するということを繰り返し、新たにセットアップタイムエラーを起こすことが無くなるようにホールドタイムエラーを修正するホールドタイムエラー修正方法が開示されている（例えば、特許文献１参照）。
【０００６】
また最近では、複数の動作モードに対して同時にレイアウトツール上でのタイミングの最適化を行うようなレイアウトツールも存在する。
【０００７】
【特許文献１】特開２００３−１６２５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記特許文献１に示されたホールドタイムエラー修正方法のように、セットアップタイミングの余裕度を全て調査する手法は、ホールドタイムエラーを修正する際にセットアップタイムエラーを起こすことが無いようにするために有用である。
【０００９】
しかしながら、半導体集積回路の大規模化に伴い解析すべきパスが多くなっており、また、プロセスの微細化に伴い半導体集積回路内のチップ内ばらつきがタイミングマージンに大きく影響し、ホールドタイムエラーを起こすパスが多くなっている。このようなことから、回路の構成によっては大量のホールドタイムエラーが発生し、全てのセットアップ
マージンを調査するのに多大な時間を要することが問題となる。
【００１０】
さらに、ホールドタイムエラー修正用のバッファを挿入した際に、そのバッファの遅延時間を毎回計算し、ホールドタイムエラーが修正できるかどうか、およびセットアップタイムエラーが起きないかどうかを都度調査することにも多くの時間を要することが問題である。
【００１１】
本発明は上記従来の問題点を解決するためになされたもので、特にレイアウト後に多くのホールドタイムエラーが発生するような大規模半導体集積回路において、短時間で大量のホールドタイムエラーを修正することができるホールドタイムエラー修正方法およびそのコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明では、まず半導体集積回路における全てのパスの内でホールドタイムエラーを起こしているホールドタイムエラーパスを抽出する。次に各ホールドタイムエラーパスが経由する論理セルの入力ピン情報の配列とホールドタイムエラー値とを併せてホールドタイムエラーパス情報とし、これをリスト化する。リスト化されたホールドタイムエラーパス情報はホールドタイムエラー値が大きい順に並び替える。次に全てのホールドタイムエラーパス情報を検索し、全ての入力ピン情報について、その出現回数を数え上げる。
【００１３】
次にリストの先頭から順にホールドタイムエラーパス情報を取り出し、各ホールドタイムエラーパスに対してホールドタイムエラー修正を行う。ホールドタイムエラーを修正するためにホールドタイムエラーパスにバッファを挿入する際は、前述した入力ピン情報の出現回数が大きいものの優先順位を高くし、その入力ピンの直前をバッファ挿入箇所の候補とする。
【００１４】
次にそのホールドタイムエラーパスにおけるセットアップ側のタイミングマージンを調査し、候補としたバッファ挿入箇所にバッファを挿入してもセットアップ側のタイミングが満たされる場合は、そこにバッファを挿入する。セットアップ側のタイミングが満たされない場合は、次に優先順位が高いバッファ挿入箇所の候補について同様の処理を行う。これらの工程をリスト化された全てのホールドタイムエラーパス情報に対して適用し、ホールドタイムエラーを修正する。
【００１５】
上記方法によれば、リスト上でホールドタイムエラーパス情報がホールドタイムエラー値が大きい順にソートされているため、リストの先頭から順にホールドタイムエラー修正を行うと、既に修正のためのバッファ挿入箇所が含まれているパスについてはホールドタイムエラーが修正されていることになる。その結果、処理が進むにつれて既にホールドタイムエラーが修正されているパスが多くなり、ホールドタイムエラー修正の処理時間を短縮することができる。
【００１６】
また上記方法によれば、ホールドタイムエラーパスにバッファを挿入する際は入力ピン情報の出現回数が大きいものから順にバッファ挿入箇所の候補としているため、１箇所のバッファ挿入が入力ピン情報の出現回数分の効果を有し、処理が進むにつれて既に修正のためのバッファ挿入箇所が含まれているパスが多くなり、ホールドタイムエラー修正の処理時間を短縮することができる。
【００１７】
また本発明では、ホールドタイムエラーパスに対するバッファ挿入箇所の候補として入力ピン情報の出現回数が大きいものの優先順位を高くするが、既にホールドタイムエラー修正によりバッファが挿入された他のホールドタイムエラーパスにさらにバッファを挿入
することになる場合は、これを避け、論理セルの入力ピンの出現回数が次の順位のものをバッファ挿入箇所の候補とする。
【００１８】
これにより、既にホールドタイムエラー修正によりバッファが挿入された他のホールドタイムエラーパスにおいて、さらにバッファが追加されたためにセットアップ側のタイミングマージンを再度調査することが必要になることを回避することができる。
【００１９】
また本発明では、ホールドタイムエラー修正のために挿入する候補となる全てのバッファについて、遅延時間を最大条件、標準条件、最小条件の各動作条件で見積もり、その見積もった遅延時間とセル面積とを併せてバッファデータテーブルとして用意しておく。
【００２０】
実際にバッファを挿入する際は、ホールドタイムエラー値とバッファデータテーブルに記載されているホールドタイムエラーが起こっている動作条件の遅延時間とを比較し、ホールドタイムエラーを修正できるバッファの内でセル面積が最小のバッファを選択することが出来る。
【００２１】
またセットアップマージンに関しても、バッファを挿入した際の遅延時間をバッファデータテーブルから取得することが出来るので、セットアップタイミングが満たせるかどうかも容易に分かる。
【００２２】
さらに、２個以上の同種類または異種類のバッファからなるバッファ群を１つのバッファと同等の扱いでバッファデータテーブルに含めることが出来る。
【００２３】
このようなバッファデータテーブルを用意することにより、ホールドタイムエラーの修正を行う際に挿入するバッファを的確かつ容易に選択することが出来、レイアウトツールやＳＴＡツールで再度遅延時間を計算することなく遅延時間を見積もることが出来るので、ホールドタイムエラー修正の処理時間を短縮することができる。
【発明の効果】
【００２４】
以上説明したように、本発明半導体集積回路のホールドタイムエラー修正方法によれば、ホールドタイムエラー値が大きいホールドタイムエラーパスから順にホールドタイムエラー修正が実施されることで、処理が進むにつれて既にホールドタイムエラーが修正されているパスが多くなり、ホールドタイムエラー修正の処理時間を短縮することができる。
【００２５】
また、ホールドタイムエラーパスにバッファを挿入する際は入力ピン情報の出現回数が大きいものから順にバッファ挿入箇所の候補としているため、処理が進むにつれて既に修正のためのバッファ挿入箇所が含まれているパスが多くなり、ホールドタイムエラー修正の処理時間を短縮することができる。
【００２６】
その結果、レイアウト後に多くのホールドタイムエラーが発生するような大規模半導体集積回路において、短時間で大量のホールドタイムエラーを修正することが可能になるという優れた効果を有する。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について図面を参照しながら説明する。また、フローチャートの説明においては各ステップを（符号）で示す。
【００２８】
図１は本発明の一実施の形態における半導体集積回路のホールドタイムエラー修正方法を示すフローチャートである。また、図２はホールドタイムエラーを起こしているホールドタイムエラーパスが存在する回路例を示す図であり、フリップフロップＦＦ５、ＦＦ７
においてフリップフロップＦＦ１、ＦＦ２からの５経路によりホールドタイムエラーとなっている。
【００２９】
図１のフローチャートにおいて、初めにＳＴＡツールを用いてホールドタイムエラーが起きているパスを抽出する（１０１）。ホールドタイムエラーが存在している場合は各パスの入力ピンとホールドタイムエラーの値をリスト化し（１０３）、ホールドタイムエラー値が大きい順に並び替える（１０４）。
【００３０】
図３は、図２に示した回路例のホールドタイムエラーパスのリストにおいて、ホールドタイムエラー値が大きい順に並び替えた結果を示す図である。図３において、３０１〜３０５がフリップフロップＦＦ５、ＦＦ７においてホールドタイムエラーとなるフリップフロップＦＦ１、ＦＦ２からの５経路を示しており、各経路（パス）を、論理セル符号／ピン番号の配列で表現している。
【００３１】
次にホールドタイムエラーパスのリストにおける各論理セルの入力ピンの出現回数を全てカウントする（１０５）。図４は、図３のホールドタイムエラーパスのリストにおける各論理セルの入力ピンの出現回数をカウントした結果を示す図である。
【００３２】
次にホールドタイムエラーを修正するためにバッファを挿入する箇所を決定する（１０６〜１１２）。バッファを挿入する箇所は入力ピンの出現回数が大きい論理セルを優先し、そのパスのセットアップ側のタイミングマージンを調査し、バッファを挿入してもセットアップタイミングが満たせる場合に、その論理セルをバッファを挿入する箇所として決定し、その入力ピンの直前にバッファを挿入する。以下、この処理について、図３および図４により具体的に説明する。バッファを挿入する箇所についても、論理セル符号／ピン番号で表現する。
【００３３】
まずホールドタイムエラーのエラー値の最も大きなパス３０１を選択する（１０６）。ここで各入力ピンの出現回数は順に３、２、１、２である。すなわちＣ１／Ａが最も優先順位が高く、Ｃ６／Ｂの優先順位が最も低くなる（１０８）。ここで、Ｃ１／Ａでのセットアップタイミングの余裕度が十分な場合は（１０９、１１０）、Ｃ１／Ａの直前にバッファを挿入する（１１１）。図５はＣ１／Ａの直前にバッファが挿入された様子を示す図である。また、Ｃ１／Ａでのセットアップタイミングが十分でない場合は、次に優先順位が高いＣ４／ＡまたはＦＦ５／Ｄが選択される（１０９、１１０）。
【００３４】
パス３０１の次にホールドタイムエラーのエラー値が大きいパスは３０２であるが（１０６）、パス３０１によりＣ１／Ａの直前がバッファを挿入する箇所と決定され、すでにパス３０２のホールドタイムエラーが修正できるだけのバッファが挿入されているため、パス３０２については修正する必要がない（１０７）。同様にパス３０３も修正する必要がない（１０７）。
【００３５】
パス３０４についても同様の手順でバッファを挿入する箇所を決定する。入力ピンの出現回数による優先順位に従えばＦＦ７／Ｄの直前がバッファを挿入する候補となる。しかしながら、ＦＦ７／Ｄの直前にバッファを挿入することを選択した場合は、図７に示すように、パス３０３においてはＣ１／ＡとＦＦ７／Ｄの２箇所にバッファが挿入されることになる。
【００３６】
そのため、パス３０４のホールドタイムエラー修正を行う際は、すでに修正が終わったホールドタイムエラーパス３０１〜３０３に含まれている入力ピンの直前にはバッファを挿入せず、バッファを挿入する箇所として他の入力ピンを選択するようにする。ここでは次の優先順位に従いＣ２／Ａの直前にバッファを挿入することに決定する。図６はＣ２／
Ａの直前にバッファが挿入された様子を示す図である。
【００３７】
パス３０５はすでにホールドタイムエラーが修正できるだけのバッファが挿入された箇所が含まれているため修正する必要がない（１０７）。これらの工程を全てのリスト化されたホールドタイムエラーパスに対して適用し、ホールドタイムエラーの修正が完了する。
【００３８】
以上のように、ホールドタイムエラー値が大きいホールドタイムエラーパスから順にホールドタイムエラー修正が実施されることで、処理が進むにつれて既にホールドタイムエラーが修正されているパスが多くなり、ホールドタイムエラー修正の処理時間を短縮することができる。
【００３９】
また、ホールドタイムエラーパスにバッファを挿入する際は入力ピン情報の出現回数が大きいものから順にバッファ挿入箇所の候補としているため、処理が進むにつれて既に修正のためのバッファ挿入箇所が含まれているパスが多くなり、ホールドタイムエラー修正の処理時間を短縮することができる。
【００４０】
ところで、半導体集積回路は、温度や電圧変動の影響で内部のセルや配線の遅延時間が変化する。保証すべき最も大きな遅延時間になる状態をＭＡＸ条件、最も小さな遅延時間になる状態をＭＩＮ条件、これらの中間条件をＴＹＰ条件とする。レイアウトされた半導体集積回路ではＭＩＮ条件で最もホールドタイムエラーが発生し易く、ＭＡＸ条件で最もセットアップタイムエラーが発生し易い。半導体集積回路のタイミングでは、これら全ての動作条件においてセットアップタイミングおよびホールドタイミングを満たす必要がある。
【００４１】
そこでホールドタイムエラー修正用のバッファを挿入する際は、挿入される候補となる各バッファについて、遅延時間としてＭＩＮ、ＴＹＰ、ＭＡＸの各条件の値を記載したバッファデータテーブルを作成し、このバッファデータテーブルを用いて挿入するバッファを選択する。図８はこのようなバッファデータテーブルの一例を示す図であり、遅延時間とともにバッファのセル面積を記載している。
【００４２】
図９は、バッファデータテーブルを用いた際のホールドタイムエラー修正用のバッファを選択する手順を具体例により示すフローチャートである。ここでは、具体的にＭＩＮ条件でのホールドタイムエラーを修正することを想定し（９０１）、ホールドタイムエラーの値とバッファデータテーブルのＭＩＮ値を比較し（９０６）、バッファデータテーブルのＭＩＮ値の方が大きいものの内でセル面積が最も小さいものを選択している（９０７）。例えば、ホールドタイムエラーの値が１００ｐｓの場合に選択されるのはＢＵＦ３のセルである。一般的に遅延時間が小さいセルの方が面積も小さいので、修正用のバッファを挿入することによるレイアウトへの影響は小さい。
【００４３】
ホールドタイムエラー修正用のバッファを挿入する際に２セル以上を同時に挿入する場合がある。２セル以上のバッファ群を選択した場合は、それらを直列に並べて挿入する。図１０と図１１はホールドタイムエラー修正用のバッファとして２セル以上のバッファ群を含むバッファデータテーブルである。図１０と図１１のバッファデータテーブルにおいてバッファの組み合わせは同じであるが、図１０は遅延時間で、図１１はセル面積で並び替えを行っている。バッファの選択アルゴリズムは図９に示した手順と同様であるが、遅延時間よりも面積を優先したい場合は図１１のバッファデータテーブルを使用する。
【００４４】
これらのバッファデータテーブルから分かるように、２セル以上のバッファ群において合計遅延時間は大きいが合計面積が小さい場合もある。またバッファが２つになるよりも
１つのバッファ群の方がレイアウトした際に配線のリソースも少なくても済む。ホールドタイムエラー修正用のバッファを多数準備することが可能であれば、このように、より好ましい修正を行うことが出来るバッファ群を準備することが出来る。
【００４５】
図１２は本発明の一実施の形態において、上記バッファデータテーブルを使用することにより、より好ましい修正を行うように改良された、半導体集積回路のホールドタイムエラー修正方法を示すフローチャートである。また、図１３は図１２のフローチャートのサブルーチンである。
【００４６】
ここでは各動作条件のホールドタイムエラーも考慮している。初めにホールドタイムエラーを起こしているパスを各動作条件でレポートする（１２０１）。次に各パスの入力ピンとホールドタイムエラー値をリスト化する（１２０３）。
【００４７】
ここで、ＭＡＸ条件やＴＹＰ条件のものとＭＩＮ条件との遅延時間の比率は経験的に分かるので、ホールドタイムエラーパスのリストを並び替えるのに使用するために、ＭＡＸ条件やＴＹＰ条件のものはホールドタイムエラー値に一定の比率をかけてＭＩＮ条件のホールドタイムエラー値に変更（補正）する（１２０４）。
【００４８】
その変更した結果を使ってホールドタイムエラー値が大きい順にリストを並び替える（１２０５）。並び替えたリストはＭＡＸ条件およびＴＹＰ条件とともにホールドタイムエラー値のリストとして使用する。
【００４９】
入力ピンの出現回数を数えあげ（１２０６）、ホールドタイムエラーのパスを１つずつ選択し、入力ピンの出現回数が多い箇所からホールドタイムエラー修正用のバッファを挿入する過程（１２０７〜１２１１）に関しては、図１のフローチャートにより説明した通りである。
【００５０】
次に、図１３のフローチャートにより、ホールドタイムエラー修正用のバッファを挿入する箇所と挿入するバッファを決定する過程を説明する。優先順位が高い入力ピンから直前にホールドタイムエラー修正用のバッファを入れるかどうかを調べていくので、まずその入力ピンを取得する（１３０１）。
【００５１】
ホールドタイムエラーのパスがどの条件のものかにより、バッファデータテーブルで使用する遅延時間の列が選択される（１３０２）。次にホールドタイムエラーの値を取得し（１３０３）、バッファデータテーブルに記載されている遅延時間とホールドタイムエラーの値を比較し（１３０４〜１３０８）、ホールドタイムエラーの値よりバッファデータテーブルに書かれている遅延時間が大きいところで挿入するバッファあるいはバッファ群を決定する。
【００５２】
次に、選ばれたバッファあるいはバッファ群のＭＡＸ条件の値をＭＡＸ条件のパスの遅延に追加してセットアップのタイミング余裕度を調べ（１３０９）、問題ない場合はそのバッファあるいはバッファ群を挿入するバッファとして決定する（１３１０）。バッファを追加した場合セットアップタイムエラーが起こる場合は次の入力ピンを選択し（１３０１）、同様の工程を繰り返す。
【００５３】
以上のように、本発明の実施形態においてバッファデータテーブルを使用することにより、より容易に全ての動作条件においてセットアップタイミングおよびホールドタイミングを満たすように半導体集積回路のホールドタイムエラー修正を行うことができる。
【産業上の利用可能性】
【００５４】
本発明にかかるタイミングエラー修正方法は、集積回路のホールドタイムエラーを効率よく修正する特徴を有し、開発期間を短くすること等に有用である。
【図面の簡単な説明】
【００５５】
【図１】本発明の一実施の形態における半導体集積回路のホールドタイムエラー修正方法を示すフローチャート
【図２】ホールドタイムエラーを起こしている回路例を示す図
【図３】回路例によるホールドタイムエラーパスのリストにおいてホールドタイムエラー値が大きい順に並び替えた結果を示す図
【図４】回路例によるホールドタイムエラーパスのリストにおける各セルの入力ピンの出現回数をカウントした結果を示す図
【図５】回路例において最も優先順位が高い論理セルの直前にバッファが挿入された様子を示す図
【図６】回路例においてホールドタイムエラー修正が完了した様子を示す図
【図７】回路例において好ましくない箇所にバッファが挿入された様子を示す図
【図８】ＭＩＮ、ＴＹＰ、ＭＡＸの各条件の遅延値を記載したホールドタイムエラー修正用のバッファデータテーブル
【図９】バッファデータテーブルを用いたホールドタイムエラー修正用のバッファを選択する手順を具体例により示すフローチャート
【図１０】ホールドタイムエラー修正用のバッファとして２セル以上のバッファ群を含む、遅延値でソートしたバッファデータテーブル
【図１１】ホールドタイムエラー修正用のバッファとして２セル以上のバッファ群を含む、セル面積でソートしたバッファデータテーブル
【図１２】本発明の一実施の形態において、より好ましい修正を行うように改良された、半導体集積回路のホールドタイムエラー修正方法を示すフローチャート
【図１３】図１２におけるサブルーチンのフローチャート
【符号の説明】
【００５６】
１０１〜１１２、９０１〜９０８  ホールドタイムエラー修正のステップ
１２０１〜１２１２  改良されたホールドタイムエラー修正のステップ
１３０１〜１３１０  サブルーチンのステップ
Ｃ１〜Ｃ７  論理セル
ＦＦ１〜ＦＦ７  フリップフロップ
【図１】
2009187091.tif 000003
【図２】
2009187091.tif 000004
【図３】
2009187091.tif 000005
【図４】
2009187091.tif 000006
【図５】
2009187091.tif 000007
【図６】
2009187091.tif 000008
【図７】
2009187091.tif 000009
【図８】
2009187091.tif 000010
【図９】
2009187091.tif 000011
【図１０】
2009187091.tif 000012
【図１１】
2009187091.tif 000013
【図１２】
2009187091.tif 000014
【図１３】
2009187091.tif 000015