(57)【要約】【課題】ポイント数を多く必要とせず、短時間処理で目標精度に到達することができ、正確な誤差評価を得ることができるとともに、少ないポイント数で、複数セルで同時にテーブルポイントを評価する場合にも対応させることができるタイミングライブラリ作成方法を提供する。【解決手段】遅延値が最小値をもつ領域の領域幅は、無負荷時で複数基本セルの遅延時間の最小値以内の大きさに定義することにより、遅延量の変化の大きいところでも正確な遅延誤差評価を実現し、また、現ポイント数では目標精度が達成できないと判断した場合には、新しいポイントを挿入する。【選択図】　　図１
2004139360.tif 000002
【特許請求の範囲】
【請求項１】
論理素子からなるセルを複数有する半導体集積回路を設計するに際し、その遅延計算を行なうための基データとなるタイミング情報を格納したタイミングライブラリを作成するタイミングライブラリ作成方法であって、前記タイミング情報として遅延パラメータを抽出する対象セルの遅延値曲線が、その対象セルへの入力波形の傾きと出力負荷容量との関数で表される場合、前記対象セルへの入力波形を任意の仮駆動セルによって生成し、その入力波形の傾きを、前記仮駆動セルと対象セルとの間に接続した制御容量を変化させて、その変化毎に求めて、前記入力波形の傾きと前記制御容量の容量値を列挙する第１のステップと、前記対象セルの遅延パラメータを抽出する際に、前記入力波形の傾きと前記容量値との組み合わせのうちで、前記対象セルの遅延値が最大値および最小値となる各組み合わせを求める第２のステップと、前記第２のステップで求めた前記入力波形の傾きと前記容量値との全ての組み合わせに対して、前記対象セルの遅延値を求める第３のステップと、前記第２のステップで求めた前記入力波形の傾きと前記容量値との組み合わせで表わされる遅延時間ポイントＰｉ（ｉは自然数）を、前記遅延値の小さい順に並べたとき、ある遅延値の範囲で定義された領域ｂｊ（ｊは自然数）にポイントＰｉが含まれるか、又はポイントＰｉとポイントＰｉ−１とを結ぶ線を横切る領域ｂｊを求める第４のステップと、前記第４のステップで求めた各領域ｂｊ内でポイントＰｉとポイントＰｉ−１とを結ぶ線と対象セルの遅延値曲線との最大差ｄｍａｘを求める第５のステップと、前記第５のステップで求めた前記最大差ｄｍａｘが任意の許容値範囲であるかどうか判定し、全てが許容範囲ならばここまで求めた全てのＰｉが求める遅延パラメータの組み合わせとして終了し、違反している場合は、最大差ｄｍａｘの最大値をもつ領域ｂｊに関わる遅延時間Ｐｉを移動する第６のステップと、前記第６のステップでポイントＰｉを移動させたとき、その状態が以前出現したものと同じであったとき、ポイントを１つ増やす第７のステップとを有し、前記第６のステップでの処理の結果、前記ポイントＰｉの状態が以前出現したものと異なる場合、および前記第７のステップの処理の後に、前記第３のステップを処理することを特徴とするタイミングライブラリ作成方法。
【請求項２】
請求項１に記載のタイミングライブラリ作成方法であって、第４のステップで定義されている領域ｂｊを、無負荷時で複数のセルの遅延値のうち最小の遅延値以内とすることを特徴とするタイミングライブラリ作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のセルを有する半導体集積回路の設計に際し、遅延計算を行なうための基データとなるタイミング情報を格納したライブラリを作成するためのタイミングライブラリ作成方法に関するものである。
【０００２】
【従来の技術】
通常、基本論理素子を含むセルを複数有する半導体集積回路を設計する際に、その回路をシミュレーションする場合、複数のセルにより発生するゲート遅延時間は、タイミングライブラリに格納されたセルの遅延時間テーブルからなるタイミング情報とセル間の配線情報とから求められ、このタイミング情報である遅延時間テーブルは、入力端子に対して印加する電気信号の入力波形の傾きと、出力端子に接続される負荷容量値との関数で表わすのが一般的である。
【０００３】
このようなタイミングライブラリとしては、遅延テーブルポイントの組み合わせによって、遅延精度、ライブラリサイズや算出時間が異なるため、精度を保った上でライブラリ生成時間短縮やサイズを小さくするように、より少ないポイント数で表現できることが求められている。
【０００４】
以上のような従来のタイミングライブラリの作成技術について、以下に説明する。
まず、方法１としては、予め決まったポイント数の範囲で最も精度の高いポイントを求める方法（例えば、特許文献１を参照）がある。この方法は、ポイント数を固定にして最適なポイント位置を導き出すように、ポイントの移動が備わっている。また、複数のセルのテーブルポイントを同時に評価できる。
【０００５】
また、方法２としては、予めポイント数を数多く使って求めておき、精度を保った上でポイントを削減していく方法がある。この方法では、精度の程度にもよるが、通常、初期のポイント数は最後に残るポイント数の２〜４倍位が必要となる。
【０００６】
また、方法３としては、両端の２ポイントから始めて二分岐位置で評価しながら目標精度に到達するまでポイントを増やしていく方法がある。この方法では、少ないポイント数で求められる可能性はあるが、誤差の評価位置と挿入ポイント位置に依存して、必要ポイント数が動的に変化する。
【０００７】
【特許文献１】
特開２０００−１６３４６３号公報
【０００８】
【発明が解決しようとする課題】
しかしながら上記のような従来のタイミングライブラリ作成方法では、以下のような問題点を有している。
【０００９】
方法１では、ポイント数が少ないと目標精度に到達しにくい。
方法２では、シミュレーション回数が多くなるので処理時間が長くなる。また、複数のテーブルポイントを同時に満足させるには、より多くのポイント数を必要とする。
【００１０】
方法３では、シミュレーションの初期状態の近辺でのポイント数が少なく、そのような初期状態であってポイント幅が広すぎる場合には、精度評価が不正確になりやすい。また、ポイントの移動が無いので、設定したポイントの挿入位置によっては目標精度が得られない場合があり、その目標精度に達するために必要とする挿入ポイント数が動的に変化するので、ポイント数が一定せず最少ポイント数が求められない。従って、複数セルで同時にテーブルポイントを評価する場合には、ポイント数が必要以上に増える可能性がある。
【００１１】
本発明は、上記従来の問題点を解決するもので、ポイント数を多く必要とせず、短時間処理で目標精度に到達することができ、正確な誤差評価を得ることができるとともに、少ないポイント数で、複数セルで同時にテーブルポイントを評価する場合にも対応させることができるタイミングライブラリ作成方法を提供する。
【００１２】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項１に記載のタイミングライブラリ作成方法は、論理素子からなるセルを複数有する半導体集積回路を設計するに際し、その遅延計算を行なうための基データとなるタイミング情報を格納したタイミングライブラリを作成するタイミングライブラリ作成方法であって、前記タイミング情報として遅延パラメータを抽出する対象セルの遅延値曲線が、その対象セルへの入力波形の傾きと出力負荷容量との関数で表される場合、前記対象セルへの入力波形を任意の仮駆動セルによって生成し、その入力波形の傾きを、前記仮駆動セルと対象セルとの間に接続した制御容量を変化させて、その変化毎に求めて、前記入力波形の傾きと前記制御容量の容量値を列挙する第１のステップと、前記対象セルの遅延パラメータを抽出する際に、前記入力波形の傾きと前記容量値との組み合わせのうちで、前記対象セルの遅延値が最大値および最小値となる各組み合わせを求める第２のステップと、前記第２のステップで求めた前記入力波形の傾きと前記容量値との全ての組み合わせに対して、前記対象セルの遅延値を求める第３のステップと、前記第２のステップで求めた前記入力波形の傾きと前記容量値との組み合わせで表わされる遅延時間ポイントＰｉ（ｉは自然数）を、前記遅延値の小さい順に並べたとき、ある遅延値の範囲で定義された領域ｂｊ（ｊは自然数）にポイントＰｉが含まれるか、又はポイントＰｉとポイントＰｉ−１とを結ぶ線を横切る領域ｂｊを求める第４のステップと、前記第４のステップで求めた各領域ｂｊ内でポイントＰｉとポイントＰｉ−１とを結ぶ線と対象セルの遅延値曲線との最大差ｄｍａｘを求める第５のステップと、前記第５のステップで求めた前記最大差ｄｍａｘが任意の許容値範囲であるかどうか判定し、全てが許容範囲ならばここまで求めた全てのＰｉが求める遅延パラメータの組み合わせとして終了し、違反している場合は、最大差ｄｍａｘの最大値をもつ領域ｂｊに関わる遅延時間Ｐｉを移動する第６のステップと、前記第６のステップでポイントＰｉを移動させたとき、その状態が以前出現したものと同じであったとき、ポイントを１つ増やす第７のステップとを有し、前記第６のステップでの処理の結果、前記ポイントＰｉの状態が以前出現したものと異なる場合、および前記第７のステップの処理の後に、前記第３のステップを処理する方法としたことを特徴とする。
【００１３】
また、本発明の請求項２に記載のタイミングライブラリ作成方法は、請求項１に記載のタイミングライブラリ作成方法であって、第４のステップで定義されている領域ｂｊを、無負荷時で複数のセルの遅延値のうち最小の遅延値以内とする方法としたことを特徴とする。
【００１４】
以上により、第４のステップのように、遅延の誤差を評価する位置を複数の領域に分けて評価することにより、遅延に対する正確な誤差評価を実現することができる。
【００１５】
また、遅延値が最小値をもつ領域の領域幅は、無負荷時で複数基本セルの遅延時間の最小値以内の大きさに定義することにより、遅延量の変化の大きいところでも正確な遅延誤差評価を実現することができる。
【００１６】
また、第６のステップおよび第７のステップのように、現ポイント数では目標精度が達成できないと判断した場合には、新しいポイントを挿入することにより、必ず目標精度に到達させることができ、かつ最小のポイント数で解を見つけ出すことができる。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態を示すタイミングライブラリ作成方法について、図面を参照しながら具体的に説明する。
【００１８】
図１は本実施の形態のタイミングライブラリ作成方法を示すフロー図であり、図２は本実施の形態のタイミングライブラリ作成方法における駆動セル付き被対象セルのキャラクタライズのイメージ図であり、図３は本実施の形態のタイミングライブラリ作成方法における容量値Ｃｃｎｔｌと入力波形の傾きｔｓの関係を示す説明図であり、図４は本実施の形態のタイミングライブラリ作成方法における遅延領域の幅を定義するための説明図であり、図５は本実施の形態のタイミングライブラリ作成方法における遅延ポイントを生成する初期状態を示す説明図であり、図６は本実施の形態のタイミングライブラリ作成方法における遅延ポイントの生成過程を示す説明図である。
【００１９】
図５及び図６に沿って図１を参照しながら、本実施の形態のタイミングライブラリ作成方法を説明する。
なお、遅延テーブルを求める対象回路を図２に示す。ここでは、被対象セル１０がインバータであり、その入力側に仮駆動セル１１、仮駆動セル１１の出力ピンと被対象セル１０の入力ピンの間に可変容量Ｃｃｎｔｌが備えられている。仮駆動セル１１は、被対象セル１０の入力波形を生成する回路であり、通常バッファが使われる。本実施の形態もそれを用いる。入力波形の傾きｔｓはＣｃｎｔｌで制御することができる。従って、任意のｔｓはＣｃｎｔｌを変化させることで生成する。
【００２０】
まず、第１のステップでは、遅延ポイントを任意に定義する際、任意のｔｓを生成するために、予めＣｃｎｔｌを変化させたときの傾きｔｓの振る舞いを列挙してリストで求めておくものである。イメージ図は図３に示すとおりである。
【００２１】
次に、遅延ポイントを生成する方法について説明する。
適用回路は図２とする。セル遅延は、入力波形の傾きｔｓと負荷容量ＣＬの関数なので２次元テーブルになるが、説明を簡単にするために、ここでは入力波形の傾きｔｓは固定とする。そのとき、負荷容量ＣＬとセル遅延の関係を図５（ａ）に示す。回路シミュレーション曲線がそれに当る。
【００２２】
この「回路シミュレーション曲線」とは、回路シミュレーションによって、ある入力波形の傾きｔｓ（ここでは一定）と負荷容量ＣＬを変化させたときのセル遅延の変化をプロットしたものである。従って、組（容量、遅延）で表わすポイントＰｉをこの線上に無限個定義すれば曲線が再現できる。
【００２３】
ところが、ポイントＰｉを数個にし、ポイント間を直線で補間すると仮定すると、図５（ｂ）のように、十分に曲線を表現できない。
以下、本実施の形態の図では回路シミュレーション曲線を便宜上載せておくが、実際は波形の傾きと容量値を決めた後、回路シミュレーションによって遅延値を算出することになる。本実施の形態は、このポイントＰｉを最小数とし、かつ回路シミュレーション曲線との差が、ある許容値以内になるものを選ぶものである。
【００２４】
さらに、準備として、遅延評価を行なう領域ｊを定義する。この遅延領域とは、図５（ｃ）に示すように、ある範囲の回路シミュレーション曲線内を複数個の領域に分割したものである。ここでは領域１から領域３が定義されている。この領域の定義によって、後述するが、回路シミュレーション曲線と補間直線との差を評価する区間を表わしている。
【００２５】
また、領域の幅は、図４に示すような関係で決める。入力波形の傾きｔｓ≒０と負荷容量＝０のセル遅延ｔｐｄ以下の値を取ることにする。その理由は、遅延の振る舞い曲線が容量値の小さいとき、遅延変化が大きく非線形性が高いため、それを評価する領域を小さく定義することで評価するポイントを増やすためである。図５（ｃ）までで準備は完了である。
【００２６】
ここでフローに戻って、第２のステップで遅延の最大・最小を求める。本実施の形態では、最小側ポイントがＰ１、最大側ポイントがＰ２になる。第３のステップでこれらのポイントを求めることができる。
【００２７】
次に、第４のステップで、隣り合うポイントＰｉを結ぶことによって、領域を横切る箇所（境界ｂｊ）を求める。図６（ａ）では、ポイントはＰ１とＰ２しかないので、領域１から領域３が横切ったことになる。
【００２８】
次に、第５のステップで遅延評価を行なう。遅延誤差は回路シミュレーション曲線と直線補間との差である。また、誤差をみる位置は、領域の両端間の中点、もしくはポイントと領域の端間の中点のいずれかである。図６（ａ）から明らかなように、領域１が一番誤差が大きく、次いで領域２、領域３の順である。
【００２９】
ここで、誤差が許容範囲であるかどうか判定する。もしも、全てが許容範囲に入っている場合は、終了となる。１つでも満たしていない場合は第６のステップに移る。この例では、領域１から領域３まで、いずれも満たしていないとする。複数個満たさない領域があった場合は、一番誤差が大きい領域に着目する。
【００３０】
次に、第６のステップに移るが、ここではポイントの移動によって誤差が減らすことを行なう。図６（ａ）の状態では、まだＰ１とＰ２しかポイントがないので、動かすポイントがない。よって、第６のステップはパスされ、ポイントを増やす第７のステップへ行く。挿入ポイントは遅延誤差を評価した位置である。図６（ｂ）がその状態を示す。
【００３１】
続いて、再び第３のステップと第４のステップ及び第５のステップを行なう。図６（ｃ）にあるように、遅延誤差の評価によって、領域１のところが最大誤差Δｅ１をもつと判定された。よって、領域１に対して第６のステップを実行する。この場合は、新たなポイントＰ３があるのでこのポイントを移動させて誤差を減らすことを行なう。移動の方向は、ポイントＰ３を中心に誤差の大きい側の方向である。この場合では、左に動く（図６（ｄ））。移動量は、Ｐ１と移動前のＰ３間の中点とする。再び、第３のステップから第５のステップを行なう。
【００３２】
遅延誤差が夫々Δｅ１＞Δｅ２＞Δｅ３とすると、領域１が最大誤差をもつ領域となる。次に、第６のステップでポイントＰ３が移動することになるが、右方向へ動くことになり、かつ移動によって前の位置に戻ることになるのでポイントＰ３は動かさない。従って、動かすものがないので、図６（ｆ）のように、新しいポイントＰ４を挿入する。再び、誤差評価を行なって、Ｐ３とＰ４間のΔｅ５を調べるが、誤差範囲が許容値内と判断し、処理を終える。
【００３３】
最終結果は、図６（ｇ）となった。この例では、４ポイントで回路シミュレーション曲線を表現できたことになる。なお、本実施の形態では、入力波形の傾きを任意の固定値状態として説明したが、同様にして、容量値を固定することも可能である。遅延テーブルは、複数の入力波形の傾きと容量の組み合わせなので、全ての場合について本実施の形態を適用することになる。
【００３４】
以上のように本実施の形態では、遅延評価として、複数の遅延評価領域を定義し、その領域毎に遅延を評価することにより、回路シミュレーション曲線をより近似して再現するために適正なポイントを得ることができ、それらのポイントを用いて回路シミュレーション曲線をより正確に再現することができる。
【００３５】
さらに、目標精度を達成するためにポイント数が少ないと判断したときには、新たなポイントを挿入する機構を備えているので、必ず目標精度に到達することが可能であり、かつ最小のポイント数で解を見つけることができる。
【００３６】
【発明の効果】
以上のように本発明によれば、遅延の誤差を評価する位置を複数の領域に分けて評価することにより、遅延に対する正確な誤差評価を実現することができる。
【００３７】
また、遅延値が最小値をもつ領域の領域幅は、無負荷時で複数基本セルの遅延時間の最小値以内の大きさに定義することにより、遅延量の変化の大きいところでも正確な遅延誤差評価を実現することができる。
【００３８】
また、現ポイント数では目標精度が達成できないと判断した場合には、新しいポイントを挿入することにより、必ず目標精度に到達させることができ、かつ最小のポイント数で解を見つけ出すことができる。
【００３９】
以上により、ポイント数を多く必要とせず、短時間処理で目標精度に到達することができ、正確な誤差評価を得ることができるとともに、少ないポイント数で、複数セルで同時にテーブルポイントを評価する場合にも対応させることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態のタイミングライブラリ作成方法を示すフロー図
【図２】同実施の形態のタイミングライブラリ作成方法における駆動セル付き被対象セルのキャラクタライズのイメージ図
【図３】同実施の形態のタイミングライブラリ作成方法における容量値Ｃｃｎｔｌと入力波形の傾きｔｓの関係を示す説明図
【図４】同実施の形態のタイミングライブラリ作成方法における遅延領域の幅を定義するための説明図
【図５】同実施の形態のタイミングライブラリ作成方法における遅延ポイントを生成する初期状態を示す説明図
【図６】同実施の形態のタイミングライブラリ作成方法における遅延ポイントの生成過程を示す説明図
【符号の説明】
１　　Ｃｃｎｔｌによる入力波形の傾きを列挙する処理
２　　入力波形の傾き及び容量値の最大値と最小値を決定する処理
３　　Ｐｉ時の遅延値を算出する処理
４　　全てのＰｉ−１−Ｐｉ間を横切る境界ｂｊを求める処理
５　　実際の遅延曲線とポイント間を結んだときの中点の遅延差ΔＴｐｄを求める処理
６　　ΔＴｐｄの最大値に関わるＰｉを移動する処理
７　　ポイント数を１つ増やす処理
１０　　被対象セル
１１　　仮駆動セル
【図１】
2004139360.tif 000003
【図２】
2004139360.tif 000004
【図３】
2004139360.tif 000005
【図４】
2004139360.tif 000006
【図５】
2004139360.tif 000007
【図６】
2004139360.tif 000008