(57)【要約】【課題】多数の入出力経路を有する回路のタイミングライブラリ作成における回路シミュレーションの回数を低減し、タイミングライブラリ作成に要する時間を低減する。【解決手段】  タイミングライブラリ作成装置１００が４ビットレジスタ回路のタイミングライブラリを作成する場合、一部の１ビットレジスタについてのみ、タイミングライブラリに含まれるすべての動作条件でシミュレーションが行われ、その結果得られた遅延値やタイミング制約値が、他の１ビットレジスタの遅延値やタイミング制約値でもあるとして、タイミングライブラリが作成される。シミュレーションが行われる一部の１ビットレジスタは、まず、４つの１ビットレジスタについて、タイミングライブラリに含まれる複数の動作条件のうちの一部の動作条件でシミュレーションが行われ、それにより求められた遅延値やタイミング制約値が最大であるものが選択される。【選択図】図１
2006350548.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の論理回路における複数の入出力信号経路についての、複数通りの動作条件でのそれぞれのタイミング特性値を含むタイミングライブラリの作成方法であって、
上記複数の全ての入出力信号経路について、上記複数通りの動作条件のうち一部の動作条件での回路動作のシミュレーションを行って、各入出力経路についての各動作条件でのタイミング特性値を求める第１のタイミング特性値取得ステップと、
上記タイミング特性値に基づいて、代表入出力信号経路を選択する選択ステップと、
上記代表入出力信号経路について、上記一部の動作条件とは異なる動作条件での回路動作のシミュレーションを行って、各動作条件でのタイミング特性値を求める第２のタイミング特性値取得ステップと、
上記代表入出力信号経路について得られたタイミング特性値を他の入出力信号経路についての特性値として、タイミングライブラリを作成するタイミングライブラリ作成処理ステップと、
を有することを特徴とするタイミングライブラリの作成方法。
【請求項２】
請求項１のタイミングライブラリの作成方法であって、
上記入出力信号経路は、複数ビットレジスタ回路における各入力信号と出力信号との組み合わせに対応する信号経路であることを特徴とするタイミングライブラリの作成方法。
【請求項３】
請求項１のタイミングライブラリの作成方法であって、
上記タイミング特性値は、入出力信号間の遅延値であることを特徴とするタイミングライブラリの作成方法。
【請求項４】
請求項３のタイミングライブラリの作成方法であって、
上記選択ステップは、上記第１のタイミング特性値取得ステップで求められた遅延値が最大または最小の少なくとも一方の入出力信号経路を代表入出力信号経路として選択することを特徴とするタイミングライブラリの作成方法。
【請求項５】
請求項１のタイミングライブラリの作成方法であって、
上記タイミング特性値は、複数の入力信号の遷移タイミングが満たすべきタイミング制約値であることを特徴とするタイミングライブラリの作成方法。
【請求項６】
請求項５のタイミングライブラリの作成方法であって、
上記選択ステップは、上記第１のタイミング特性値取得ステップで求められたタイミング制約値が最大の入出力信号経路を代表入出力信号経路として選択することを特徴とするタイミングライブラリの作成方法。
【請求項７】
請求項１のタイミングライブラリの作成方法であって、
上記動作条件は、電源電圧、入力電圧の遷移時間、出力負荷容量、および温度のうちの少なくとも１つについての複数通りの動作条件であることを特徴とするタイミングライブラリの作成方法。
【請求項８】
半導体集積回路の論理回路における複数の入出力信号経路についての、複数通りの動作条件でのそれぞれのタイミング特性値を含むタイミングライブラリの作成プログラムであって、
上記複数の全ての入出力信号経路について、上記複数通りの動作条件のうち一部の動作条件での回路動作のシミュレーションを行って、各入出力経路についての各動作条件でのタイミング特性値を求める第１のタイミング特性値取得ステップと、
上記タイミング特性値に基づいて、代表入出力信号経路を選択する選択ステップと、
上記代表入出力信号経路について、上記一部の動作条件とは異なる動作条件での回路動作のシミュレーションを行って、各動作条件でのタイミング特性値を求める第２のタイミング特性値取得ステップと、
上記代表入出力信号経路について得られたタイミング特性値を他の入出力信号経路についての特性値として、タイミングライブラリを作成するタイミングライブラリ作成処理ステップと、
をコンピュータに実行させることを特徴とするタイミングライブラリの作成プログラム。
【請求項９】
半導体集積回路の論理回路における複数の入出力信号経路についての、複数通りの動作条件でのそれぞれのタイミング特性値を含むタイミングライブラリの作成装置であって、
上記複数の全ての入出力信号経路について、上記複数通りの動作条件のうち一部の動作条件での回路動作のシミュレーションを回路シミュレータに行わせ、各入出力経路についての各動作条件でのタイミング特性値を求める第１のタイミング特性値取得部と、
上記タイミング特性値に基づいて、代表入出力信号経路を選択する選択部と、
上記代表入出力信号経路について、上記一部の動作条件とは異なる動作条件での回路動作のシミュレーションを回路シミュレータに行わせ、各動作条件でのタイミング特性値を求める第２のタイミング特性値取得部と、
上記代表入出力信号経路について得られたタイミング特性値を他の入出力信号経路についての特性値として、タイミングライブラリを作成するタイミングライブラリ作成処理部と、
を有することを特徴とするタイミングライブラリの作成装置。
【請求項１０】
半導体集積回路の論理回路における入力信号の特性に応じたタイミング特性値を含むタイミングライブラリの作成方法であって、
上記論理回路を構成する第１の部分論理回路における、所定の特性を有する入力信号に応じた出力信号の特性を、回路動作のシミュレーションを行って求める第１の特性値取得ステップと、
上記第１の部分論理回路の出力信号が入力される第２の部分論理回路についての入力信号の特性に応じたタイミング特性値を示す部分論理回路タイミングライブラリ、および上記第１の特性値取得ステップによって求められた、第２の部分論理回路に入力される上記第１の部分論理回路の出力信号の特性に基づいて、第２の部分論理回路についてのタイミング特性値を求めることにより、上記論理回路への入力信号の特性に応じた上記論理回路についてのタイミング特性値を求める第２の特性値取得ステップと、
を有することを特徴とするタイミングライブラリの作成方法。
【請求項１１】
請求項１０のタイミングライブラリの作成方法であって、
上記第２の部分論理回路は、その出力信号が上記論理回路の出力信号とされるものであって、
上記部分論理回路タイミングライブラリは、上記第２の部分論理回路における入力信号の電圧遷移時間と、入出力端子間の遅延値または出力信号の電圧遷移時間との関係を示すものであって、
上記第１の特性値取得ステップで求められる第１の部分論理回路の出力信号の特性は、所定の電圧遷移時間を有する入力信号に応じた出力信号の電圧遷移時間であり、
上記第２の特性値算出ステップは、上記第２の部分論理回路における入出力端子間の遅延値または出力信号の電圧遷移時間を求めることにより、上記論理回路の入出力端子間の遅延値および出力信号の電圧遷移時間の少なくとも一方を求めることを特徴とするタイミングライブラリの作成方法。
【請求項１２】
請求項１０のタイミングライブラリの作成方法であって、
上記第１の部分論理回路への入力信号は、上記論理回路への入力信号であって、
上記第２の部分論理回路は、少なくとも上記第１の部分論理回路の出力信号を含む複数の入力信号が入力されるものであって、
上記部分論理回路タイミングライブラリは、上記第２の部分論理回路における上記複数の入力信号の電圧遷移時間と、上記複数の入力信号の電圧遷移タイミングが満たすべきタイミング制約値との関係を示すものであって、
上記第１の特性値取得ステップで求められる第１の部分論理回路の出力信号の特性は、所定の電圧遷移時間を有する入力信号に応じた出力信号の電圧遷移時間であり、
上記第２の特性値算出ステップは、上記第２の部分論理回路における上記複数の入力信号の電圧遷移タイミングが満たすべきタイミング制約値を求めることにより、上記論理回路についてのタイミング制約値を求めることを特徴とするタイミングライブラリの作成方法。
【請求項１３】
半導体集積回路の論理回路における入力信号の特性に応じたタイミング特性値を含むタイミングライブラリの作成プログラムであって、
上記論理回路を構成する第１の部分論理回路における、所定の特性を有する入力信号に応じた出力信号の特性を、回路動作のシミュレーションを行って求める第１の特性値取得ステップと、
上記第１の部分論理回路の出力信号が入力される第２の部分論理回路についての入力信号の特性に応じたタイミング特性値を示す部分論理回路タイミングライブラリ、および上記第１の特性値取得ステップによって求められた、第２の部分論理回路に入力される上記第１の部分論理回路の出力信号の特性に基づいて、第２の部分論理回路についてのタイミング特性値を求めることにより、上記論理回路への入力信号の特性に応じた上記論理回路についてのタイミング特性値を求める第２の特性値取得ステップと、
をコンピュータに実行させることを特徴とするタイミングライブラリの作成プログラム。
【請求項１４】
半導体集積回路の論理回路における入力信号の特性に応じたタイミング特性値を含むタイミングライブラリの作成装置であって、
上記論理回路を構成する第１の部分論理回路における、所定の特性を有する入力信号に応じた出力信号の特性を、回路動作のシミュレーションを回路シミュレータに行わせて求める第１の特性値取得部と、
上記第１の部分論理回路の出力信号が入力される第２の部分論理回路についての入力信号の特性に応じたタイミング特性値を示す部分論理回路タイミングライブラリ、および上記第１の特性値取得ステップによって求められた、第２の部分論理回路に入力される上記第１の部分論理回路の出力信号の特性に基づいて、第２の部分論理回路についてのタイミング特性値を求めることにより、上記論理回路への入力信号の特性に応じた上記論理回路についてのタイミング特性値を求める第２の特性値取得部と、
を有することを特徴とするタイミングライブラリの作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計で用いられるＥＤＡ（Ｅｌｅｃｔｒｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ）ツール等により参照される、遅延値やタイミング制約値等を含むタイミングライブラリの作成方法、作成プログラム、および作成装置に関する。
【背景技術】
【０００２】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）設計において動作タイミングを検証する際には、ＥＤＡツールにより、セルライブラリの遅延特性やタイミング制約特性等を表現したタイミングライブラリが参照される。ここで、セルライブラリとは、複雑な回路を開発するために、あらかじめ用意しておく基本的な論理回路部品のことであり、より小さな面積で回路を実現することが要求されるＬＳＩ開発においては、例えば１ビットレジスタ回路等を複数接続した回路が１セルとしてライブラリ化される。これにより、セルの上層配線の配線余裕度を増加させ、またセル内のレイアウトの調整によりセル面積を縮小できるからである。より詳しくは、例えば、１ビットレジスタ回路を隣同士にまとめて配置し、１ビットレジスタ回路内のトランジスタのソースやドレインを共通化すれば、１ビットレジスタのセルライブラリを複数セル接続するよりも、小さな面積で複数ビットレジスタ回路を実現できる。なお、同一ビット数の複数ビットレジスタ回路が多用されるＬＳＩにおいては、複数ビットレジスタ回路をライブラリとして実現することは、特に回路面積削減に効果的である。
【０００３】
タイミングライブラリに表現されるセルライブラリの遅延特性やタイミング制約特性は、それぞれ種々の入力信号の状態、入力信号の遷移時間、および出力負荷容量などの条件を組み合わせた様々なパターンについてシミュレーションを行うことにより求められる。また、複数の入出力経路を有するセルの遅延特性やタイミング制約特性は、入力信号のＯＮ／ＯＦＦや立ち上がり／立ち下がりを組み合わせたパターンについてシミュレーションを行うことによって、各入出力経路に対して求める事が必要となる。したがって、多数の１ビットレジスタを１セルとしてライブラリ化した場合等、セルライブラリの入出力経路の数が多くなると、そのシミュレーション回数もそれに伴って膨大となる。そこで、遅延値やタイミング制約値を求める際に、入力信号のＯＮ／ＯＦＦを組み合わせたパターン数を低減することによって、シミュレーション回数を少なく抑える技術が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平７−３１１７９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、遅延値やタイミング制約値は入力信号の遷移時間および出力負荷容量などの条件によって変化するため、入力信号の遷移時間および出力負荷容量などの条件に応じた遅延値やタイミング制約値を求める必要がある。したがって、入力信号のＯＮ／ＯＦＦや立ち上がり／立ち下がりを組み合わせたパターン数が低減されても、入力信号を組み合わせたパターンそれぞれについて、入力信号の遷移時間および出力負荷容量などの条件を組み合わせたすべてのパターンについてシミュレーションを行うと、やはり回路シミュレーション回数は膨大になり、回路シミュレーションの実行時間が長くなるという問題があった。また、例えばフリップフロップ回路のセットアップ時間等のように１回のシミュレーションで求めることができないタイミング制約値は、タイミング制約値の予測値の設定とシミュレーションを繰り返し行う２分探索アルゴリズム等を用いて求められるため、特にシミュレーション回数が膨大になっていた。
【０００５】
本発明は、上記の点に鑑み、回路シミュレーション回数を低減し、タイミングライブラリ作成に要する時間を大幅に低減することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、請求項１の発明は、
半導体集積回路の論理回路における複数の入出力信号経路についての、複数通りの動作条件でのそれぞれのタイミング特性値を含むタイミングライブラリの作成方法であって、
上記複数の全ての入出力信号経路について、上記複数通りの動作条件のうち一部の動作条件での回路動作のシミュレーションを行って、各入出力経路についての各動作条件でのタイミング特性値を求める第１のタイミング特性値取得ステップと、
上記タイミング特性値に基づいて、代表入出力信号経路を選択する選択ステップと、
上記代表入出力信号経路について、上記一部の動作条件とは異なる動作条件での回路動作のシミュレーションを行って、各動作条件でのタイミング特性値を求める第２のタイミング特性値取得ステップと、
上記代表入出力信号経路について得られたタイミング特性値を他の入出力信号経路についての特性値として、タイミングライブラリを作成するタイミングライブラリ作成処理ステップと、
を有することを特徴とする。
【０００７】
これにより、代表入出力信号経路のタイミング特性値を他の入出力信号経路のタイミング特性値としてタイミングライブラリが作成されるので、厳密性は多少低下する場合があっても、妥当な特性値や安全側の特性値等を少ない回路シミュレーション回数で求め、短時間にタイミングライブラリを作成できる。
【０００８】
また、請求項２の発明は、
請求項１のタイミングライブラリの作成方法であって、
上記入出力信号経路は、複数ビットレジスタ回路における各入力信号と出力信号との組み合わせに対応する信号経路であることを特徴とする。
【０００９】
これにより、複数ビットレジスタ回路は各１ビットレジスタの遅延値やタイミング制約値等のタイミング特性値のばらつきが少ないので、容易にタイミング特性値の精度を維持しつつ、回路シミュレーションパターンの数を低減できる。
【００１０】
また、請求項３の発明は、
請求項１のタイミングライブラリの作成方法であって、
上記タイミング特性値は、入出力信号間の遅延値であることを特徴とする。
【００１１】
これにより、遅延値を求めるために必要な回路シミュレーションパターンの数を低減できる。
【００１２】
また、請求項４の発明は、
請求項３のタイミングライブラリの作成方法であって、
上記選択ステップは、上記第１のタイミング特性値取得ステップで求められた遅延値が最大または最小の少なくとも一方の入出力信号経路を代表入出力信号経路として選択することを特徴とする。
【００１３】
これにより、最も大きい遅延値の入出力信号経路と最も小さい遅延値の入出力信号経路の遅延値を他の入出力信号経路の遅延値としてタイミングライブラリが作成されるので、安全側の遅延値を少ない回路シミュレーション回数で求めることができる。
【００１４】
また、請求項５の発明は、
請求項１のタイミングライブラリの作成方法であって、
上記タイミング特性値は、複数の入力信号の遷移タイミングが満たすべきタイミング制約値であることを特徴とする。
【００１５】
これにより、タイミング制約値を求めるために必要な回路シミュレーションパターンの数を低減できる。特に、タイミング制約値は、タイミング制約値の予測値の設定とシミュレーションを繰り返し行う２分探索アルゴリズム等を用いて求められるため、シミュレーションパターンの低減効果が大きい。
【００１６】
また、請求項６の発明は、
請求項５のタイミングライブラリの作成方法であって、
上記選択ステップは、上記第１のタイミング特性値取得ステップで求められたタイミング制約値が最大の入出力信号経路を代表入出力信号経路として選択することを特徴とする。
【００１７】
これにより、所定のクロックに対して最も大きいタイミング制約値を有する入出力信号経路のタイミング制約値を他の入出力信号経路のタイミング制約値としてタイミングライブラリが作成されるので、安全側のタイミング制約値を一定の精度を維持しつつ、少ない回路シミュレーション回数で求めることができる。
【００１８】
また、請求項７の発明は、
請求項１のタイミングライブラリの作成方法であって、
上記動作条件は、電源電圧、入力電圧の遷移時間、出力負荷容量、および温度のうちの少なくとも１つについての複数通りの動作条件であることを特徴とする。
【００１９】
これにより、電源電圧、入力電圧の遷移時間、出力負荷容量、または温度の少なくとも１つが異なる種々の動作条件におけるタイミング特性値を求めるためのシミュレーションパターンの数を低減できる。
【００２０】
また、請求項１０の発明は、
半導体集積回路の論理回路における入力信号の特性に応じたタイミング特性値を含むタイミングライブラリの作成方法であって、
上記論理回路を構成する第１の部分論理回路における、所定の特性を有する入力信号に応じた出力信号の特性を、回路動作のシミュレーションを行って求める第１の特性値取得ステップと、
上記第１の部分論理回路の出力信号が入力される第２の部分論理回路についての入力信号の特性に応じたタイミング特性値を示す部分論理回路タイミングライブラリ、および上記第１の特性値取得ステップによって求められた、第２の部分論理回路に入力される上記第１の部分論理回路の出力信号の特性に基づいて、第２の部分論理回路についてのタイミング特性値を求めることにより、上記論理回路への入力信号の特性に応じた上記論理回路についてのタイミング特性値を求める第２の特性値取得ステップと、
を有することを特徴とする。
【００２１】
これにより、あらかじめ用意された部分論理回路のタイミングライブラリが用いられることによって、少ないシミュレーション回数や短いシミュレーション時間で、論理回路全体のタイミング制約値が求められる。
【００２２】
また、請求項１１の発明は、
請求項１０のタイミングライブラリの作成方法であって、
上記第２の部分論理回路は、その出力信号が上記論理回路の出力信号とされるものであって、
上記部分論理回路タイミングライブラリは、上記第２の部分論理回路における入力信号の電圧遷移時間と、入出力端子間の遅延値または出力信号の電圧遷移時間との関係を示すものであって、
上記第１の特性値取得ステップで求められる第１の部分論理回路の出力信号の特性は、所定の電圧遷移時間を有する入力信号に応じた出力信号の電圧遷移時間であり、
上記第２の特性値算出ステップは、上記第２の部分論理回路における入出力端子間の遅延値または出力信号の電圧遷移時間を求めることにより、上記論理回路の入出力端子間の遅延値および出力信号の電圧遷移時間の少なくとも一方を求めることを特徴とする。
【００２３】
これにより、出力負荷が異なる複数の条件における入出力端子間の遅延値や出力信号の電圧遷移時間を含むタイミングライブラリを作成する場合、出力負荷が一定の第１の部分論理回路についてだけシミュレーションを行うことにより、少ないシミュレーション回数でタイミングライブラリが作成できる。
【００２４】
また、請求項１２の発明は、
請求項１０のタイミングライブラリの作成方法であって、
上記第１の部分論理回路への入力信号は、上記論理回路への入力信号であって、
上記第２の部分論理回路は、少なくとも上記第１の部分論理回路の出力信号を含む複数の入力信号が入力されるものであって、
上記部分論理回路タイミングライブラリは、上記第２の部分論理回路における上記複数の入力信号の電圧遷移時間と、上記複数の入力信号の電圧遷移タイミングが満たすべきタイミング制約値との関係を示すものであって、
上記第１の特性値取得ステップで求められる第１の部分論理回路の出力信号の特性は、所定の電圧遷移時間を有する入力信号に応じた出力信号の電圧遷移時間であり、
上記第２の特性値算出ステップは、上記第２の部分論理回路における上記複数の入力信号の電圧遷移タイミングが満たすべきタイミング制約値を求めることにより、上記論理回路についてのタイミング制約値を求めることを特徴とする。
【００２５】
これにより、レジスタ回路等の複数の入力信号のタイミング制約値は、入力信号の電圧遷移時間に依存するので、あらかじめ用意された第２の部分論理回路のタイミングライブラリが用いられることによって、少ないシミュレーション回数で複数の入力信号のタイミング制約値が求められる。したがって、論理回路全体についても、タイミング制約値の予測値の設定とシミュレーションを繰り返し行う２分探索アルゴリズム等を行わなくてよくなるので、シミュレーションパターンの低減効果が大きい。
【発明の効果】
【００２６】
本発明によれば、回路シミュレーション回数を低減し、タイミングライブラリ作成に要する時間を大幅に低減することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の各実施形態において、他の実施形態と同様の機能を有する構成要素については同一の符号を付して説明を省略する。
【００２８】
《発明の実施形態１》
本発明の実施形態１として、図１に示すようなタイミングライブラリ作成装置１００と、これによって４ビットレジスタ回路のタイミングライブラリ１００８が作成される例について、図面に基づいて詳細に説明する。タイミングライブラリ作成装置１００は、特に限定されないが、例えばコンピュータに、以下で説明するタイミングライブラリ作成装置１００の機能を実行させるプログラムを組み込んで構成することができる。
【００２９】
タイミングライブラリ１００８は、例えば図２に示すように、クロック信号の種々の電圧遷移時間２０１と種々の出力負荷容量値２０２との組み合わせに対応するそれぞれの遅延値２０３や、図３に示すように、クロック信号の種々の電圧遷移時間３０１とデータ入力信号の種々の電圧遷移時間３０２の組み合わせに対応するタイミング制約値３０３を示すものである。
【００３０】
タイミングライブラリ作成装置１００は、一部の１ビットレジスタについてのみ、タイミングライブラリに含まれるべき遅延値やタイミング制約値に対応する複数通りのすべての動作条件でシミュレーションを行い、その結果得られた遅延値やタイミング制約値が、他の１ビットレジスタの遅延値やタイミング制約値でもあるとして、タイミングライブラリを作成する。上記シミュレーションが行われる一部の１ビットレジスタを選択するためには、まず、４つの１ビットレジスタについてタイミングライブラリに含まれるべき遅延値やタイミング制約値の複数通りの動作条件のうちの一部の動作条件（選択用条件）でシミュレーションが行われる。そして、求められた遅延値やタイミング制約値が最大であるものが選択（判別）される。最大の遅延値やタイミング制約値を有する１ビットレジスタの遅延値やタイミング制約値を、全１ビットレジスタの遅延値やタイミング制約値としてタイミング検証を行い、タイミングが満たされれば、全１ビットレジスタのタイミングが満たされるからである。
【００３１】
（装置の構成）
タイミングライブラリ作成装置１００は、より具体的には、例えば図１に示すように、回路シミュレータ１０２を制御し、タイミングライブラリ１００８を出力するシミュレータ制御装置１０１、および回路動作をシミュレートする例えばＳＰＩＣＥ （Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）等の回路シミュレータ１０２を備えている。
【００３２】
シミュレータ制御装置１０１は、シミュレーションに用いられるデータを回路シミュレータ１０２に転送し、シミュレーションの実行を指示し、遅延値算出や２分探索アルゴリズムによるタイミング制約値算出の制御をするようになっている。また、全ての１ビットレジスタのうち、選択用条件でのシミュレーション結果において最大の遅延値やタイミング制約値を有する１ビットレジスタを選択する処理等を行うようになっている。
【００３３】
回路シミュレータ１０２は、シミュレーション条件や入力信号のパターン等に関するデータの入力に基づいてシミュレーションを行い、シミュレーション結果を出力するようになっている。
【００３４】
（タイミングライブラリ作成装置１００に入力されるデータ）
上記タイミングライブラリ作成装置１００に入力されるデータには、例えば以下のようなものがある。
【００３５】
（１）最大遅延値レジスタ選択用条件データ１００１
図４に最大遅延値レジスタ選択用条件データ１００１の例を示す。このデータは、電源電圧と温度の条件を１通りずつ、クロック信号遷移時間が５０ｐｓと２ｎｓの２通り、出力負荷容量値が１ｆＦと１００ｆＦの２通りの条件を示している。このデータに基づいて、４つの１ビットレジスタに対し、クロック信号遷移時間が５０ｐｓと２ｎｓの２通り、出力負荷容量値が１ｆＦと１００ｆＦの２通りの合計２×２の４通りの組み合わせの条件についてシミュレーションが行われる。この４通りのシミュレーション結果に基づいて、各組み合わせの条件ごとに、最大遅延値を有するレジスタが選択される。
【００３６】
（２）遅延値抽出用シミュレーション信号パターン１００２
図５に遅延値抽出用シミュレーション信号パターン１００２の例を示す。例えば、データ出力信号が立ち上がる場合と立ち下がる場合で遅延値が異なる場合、遅延値はそれぞれの場合について別個に求める必要がある。遅延値抽出用シミュレーション信号パターン１００２は、それらの遅延値を求めるべき信号パターンを示すものである。同図に示されているＲは、信号が０から１に変化することを示している。上段にＲ、０とあるのは、クロックの立ち上がりによりデータ出力信号が０に変化する場合、下段にＲ、１とあるのは、クロックの立ち上がりによりデータ出力信号が１に変化する場合を意味している。このデータにより、上記２通りの場合についての遅延値を求めるシミュレーションが行われる。
【００３７】
（３）タイミングライブラリ作成用遅延値抽出条件データ１００３
図６にタイミングライブラリ作成用遅延値抽出条件データ１００３の例を示す。このデータは、タイミングライブラリに含まれるべき遅延値のすべての動作条件を示すものである。具体的には、同図の例では、クロック信号遷移時間が５０ｐｓから２ｎｓの７通り、出力負荷容量値が１ｆＦから１００ｆＦの９通りの動作条件が示されている。なお、図２では３×３の９通りの条件に対応する遅延値の例を示したが、以下では図６に示すような７×９の６３通りの条件に対応する遅延値を求めるものとして説明する。
【００３８】
（４）最大タイミング制約値レジスタ選択用条件データ１００４
遅延値を求めるためのデータと同様に、図７に最大タイミング制約値レジスタ選択用条件データ１００４の例を示す。このデータは、データ入力信号遷移時間が５０ｐｓと２ｎｓの２通り、クロック信号遷移時間が５０ｐｓと２ｎｓの２通りの条件を示している。このデータに基づいて、４つの１ビットレジスタに対し、データ入力信号遷移時間が５０ｐｓと２ｎｓの２通り、クロック信号遷移時間が５０ｐｓと２ｎｓの２通りの合計２×２の４通りの組み合わせの条件についてシミュレーションが行われる。この４通りのシミュレーション結果に基づいて、各組み合わせの条件ごとに最大タイミング制約値を有するレジスタが選択される。
【００３９】
（５）タイミング制約値抽出用シミュレーション信号パターン１００５
図８にタイミング制約値抽出用シミュレーション信号パターン１００５の例を示す。例えば、データ入力信号が立ち上がる場合と立ち下がる場合でタイミング制約値が異なる場合、タイミング制約値はそれぞれの場合について別個に求める必要がある。タイミング制約値抽出用シミュレーション信号パターン１００５は、それらのタイミング制約値を求めるべき信号パターンを示すものである。同図に示されているＲとは信号が０から１、Ｆとは信号が１から０に変化することを示している。上段にＲ、Ｒとあるのは、データ入力信号が立ち上がる場合に、その立ち上がりをクロック信号の立ち上がりにより出力する際のタイミング制約値、下段にＲ、Ｆとあるのは、データ入力信号が立ち下がる場合に、その立ち下がりをクロックの立ち上がりにより出力する際のタイミング制約値をそれぞれ求めるためにシミュレーションが行われるべきことを意味している。
【００４０】
（６）タイミングライブラリ作成用タイミング制約値抽出条件データ１００６
図９にタイミングライブラリ作成用タイミング制約値抽出条件データ１００６の例を示す。このデータは、タイミングライブラリに含まれるべきタイミング制約値のすべての動作条件を示すものである。具体的には、同図の例では、データ入力信号遷移時間が５０ｐｓから２ｎｓの５通り、クロック信号遷移時間が５０ｐｓから２ｎｓの５通りの動作条件が示されている。なお、図３では３×３の９通りの条件に対応するタイミング制約値の例を示したが、以下では図９に示すような５×５の２５通りの条件に対応するタイミング制約値を求めるものとして説明する。
【００４１】
（７）サブサーキットデータ１００７
サブサーキットデータ１００７は、シミュレーション対象回路をモデル化したものであり、例えば対象回路内のトランジスタサイズ、配線ＲＣ（Ｒｅｓｉｓｔａｎｃｅ  Ｃａｐａｃｉｔａｎｃｅ）、および配線抵抗等の情報、およびそれらの接続情報等を回路シミュレータが解釈できるように示したものである。サブサーキットデータ１００７の詳細な説明については「ＳＴＡＲ−Ｈｓｐｉｃｅ  Ｍａｎｕａｌ  Ｒｅｌｅａｓｅ  ｖ．２０００．２  日本語版  発行元  Ａｖａｎｔ社」に記載されているが、内容が直接発明に関係しないため、以下説明を省略する。
【００４２】
（タイミングライブラリ作成対象回路について）
次に、本実施形態においてタイミングライブラリ作成の対象となる４ビットレジスタ回路４００の構成について図１０を用いて説明する。４ビットレジスタ回路４００はデータ入力ピン４０１、クロックピン４０２およびデータ出力ピン４０３をそれぞれ備えた第１レジスタ４０４、第２レジスタ４０５、第３レジスタ４０６、および第４レジスタ４０７の４つの１ビットレジスタから構成されている。ここでは１ビットレジスタに、エッジトリガ１ビットフリップフロップセルを用いる例を示すが、記憶機能を持つフリップフロップセルやラッチセル等を用いてもよい。
【００４３】
図１１は、４ビットレジスタ回路４００を構成する１ビットレジスタの動作を示すタイミングチャートである。同図では、説明を簡単にするため、信号の波形鈍りがないものとして示している。１ビットレジスタは、クロック信号の立ち上がりエッジでデータ入力信号を記憶し、記憶した信号をデータ出力信号として出力する。
【００４４】
（遅延値とタイミング制約値について）
図１２は、１ビットレジスタの遅延値を示すタイミングチャートである。ここで、遅延値はクロック信号が閾値電圧まで立ち上がってから、データ出力信号が閾値電圧まで変化するまでの時間差により定義される。
【００４５】
図１３は、１ビットレジスタのタイミング制約値のセットアップタイムとホールドタイムを示すタイミングチャートである。セットアップタイムは、クロック信号の立ち上がりの前にデータ入力信号のレベルが維持されなければならない時間をいい、ホールドタイムは、クロック信号の立ち上がりの後にデータ入力信号のレベルが維持されなければならない時間をいう。セットアップタイムとホールドタイムを満足すれば、図１３のタイムチャートのように期待通りのデータ出力信号が出力されるが、満足しなければ期待通りのデータ出力信号が出力されず、誤動作となる。
【００４６】
図１４は、本実施形態で使用する２分探索アルゴリズムを用いてタイミング制約値を算出する方法の各ステップでシミュレーションされる動作を示すタイミングチャートである。このアルゴリズムでは、解（タイミング制約値）の探索範囲が指定された精度以上の値になるまで解の探索範囲を狭めながら、シミュレーションが行われ、タイミング制約値が算出される。例えば同図の例では、クロック信号の立ち上がり時刻は毎回一定に定め、ＳＴＥＰ１で、０の時刻でデータ入力信号を立ち上げるシミュレーションが行われると、データ出力信号が確定して、記憶素子に記憶されることが確認される。ＳＴＥＰ２で、Ｔｅｎｄの時刻でデータ入力信号を立ち上げるシミュレーションが行われると、データ出力信号が不定状態になって、記憶素子に記憶されないことが確認される。ＳＴＥＰ１およびＳＴＥＰ２により、求めるタイミング制約値が解の探索範囲内にあることが分かる。次に、ＳＴＥＰ３で、Ｔｍｉｄの時刻でデータ入力信号を立ち上げるシミュレーションが行われ、データ出力信号が確定するか不定になるかが確認される。ここで、Ｔｍｉｄとは（０＋Ｔｅｎｄ)／２の時刻を示す。もし、確定すれば、求めるべきタイミング制約値はＴｍｉｄとＴｅｎｄの間に存在するので、次は（Ｔｍｉｄ＋Ｔｅｎｄ）／２の時刻にデータ入力信号を立ち上げるシミュレーションが行われる。もし、不定になれば、求めるべきタイミング制約値は０とＴｍｉｄの間に存在するので、次にＴｍｉｄ／２の時刻にデータ入力信号を立ち上げるシミュレーションが行われる。上記ステップが、解の探索範囲が指定された精度以上の値になるまで繰り返され、タイミング制約値が算出される。
【００４７】
（タイミングライブラリ作成装置１００の動作）
以下、タイミングライブラリ作成装置１００の動作について図１５を用いて説明する。
【００４８】
（Ｓ１０１）まず、最大遅延値レジスタ選択用条件データ１００１および遅延値抽出用シミュレーション信号パターン１００２に基づいて、回路シミュレータ１０２によりシミュレーションが行われ、４ビットレジスタ回路４００の各１ビットレジスタの遅延値１１０１が算出される。（第１のタイミング特性値取得ステップ）
【００４９】
（Ｓ１０２）シミュレータ制御装置１０１により各１ビットレジスタの遅延値１１０１が比較され、最大遅延値レジスタ選択用条件データ１００１で示された４通りの組み合わせの各条件について、最大の遅延値を有する１ビットレジスタがいずれのレジスタであるかを示す情報が、最大遅延値レジスタ情報１１０２として記憶される。またこのような情報は、遅延値抽出用シミュレーション信号パターン１００２に示される信号パターンごとに求められて記憶される。例えば、４ビットレジスタ回路４００に対して、データ出力信号が立ち上がる場合は第１レジスタ４０４が最大の遅延値を有する場合、立ち上がり時遅延値抽出用として第１レジスタ４０４を示す情報が最大遅延値レジスタ情報１１０２として記憶される。データ出力信号が立ち下がる場合は第２レジスタ４０５または第３レジスタ４０６のいずれかが最大の遅延値を有する場合、立ち下がり時遅延値抽出用として第２レジスタ４０５および第３レジスタ４０６を示す情報が最大遅延値レジスタ情報１１０２として記憶される。ここで、最大遅延値レジスタ情報１１０２として、例えば各１ビットレジスタの位置を示す情報が用いられる。（選択ステップ）
【００５０】
（Ｓ１０３）最大遅延値レジスタ情報１１０２、遅延値抽出用シミュレーション信号パターン１００２、およびタイミングライブラリ作成用遅延値抽出条件データ１００３に基づいて、回路シミュレータ１０２によりシミュレーションが行われる。ただし、シミュレーションは、タイミングライブラリ作成用遅延値抽出条件データ１００３に示される条件のうち、（Ｓ１０１）ですでにシミュレーションされている条件については行われなくてよい。データ出力信号の立ち上がり時遅延値を求める場合は、第１レジスタ４０４に対してのみシミュレーションが実行され、これによって算出された値が、第２レジスタ４０５、第３レジスタ４０６、および第４レジスタ４０７の遅延値として記憶される。立ち下がり時遅延値を求める場合は、第２レジスタ４０５および第３レジスタ４０６に対してシミュレーションが実行され、第２レジスタ４０５または第３レジスタ４０６のいずれか遅延値の大きい方の値が、第１レジスタ４０４および第４レジスタ４０７の遅延値として記憶される。この結果、タイミングライブラリ作成用遅延値抽出条件データ１００３で指定された６３種類のすべての条件における遅延値が、４ビットレジスタ回路４００の全１ビットレジスタの全シミュレーション条件別遅延値情報１１０３として記憶される。（第２のタイミング特性値取得ステップ）
【００５１】
（Ｓ１０４）次に、最大タイミング制約値レジスタ選択用条件データ１００４およびタイミング制約値抽出用シミュレーション信号パターン１００５に基づいて、回路シミュレータ１０２によりシミュレーションが行われ、４ビットレジスタ回路４００の各１ビットレジスタのタイミング制約値１１０４が算出される。なお、本実施形態ではタイミング制約値の算出に、２分探索アルゴリズムが用いられ、その際、シミュレータ制御装置１０１がシミュレーションにおいて入力信号が変化するタイミング等の制御を行う。（第１のタイミング特性値取得ステップ）
【００５２】
（Ｓ１０５）シミュレータ制御装置１０１により、各１ビットレジスタのタイミング制約値１１０４が、最大タイミング制約値レジスタ選択用条件データ１００４で示された４通りの組み合わせの条件について、最大のタイミング制約値を有する１ビットレジスタがいずれのレジスタであるかを示す情報が、最大タイミング制約値レジスタ情報１１０５として記憶される。このような情報は、データ入力信号が立ち上がる場合と立ち下がる場合に対して、セットアップタイムおよびホールドタイムについてそれぞれ記憶される。例えば、４ビットレジスタ回路４００に対して、データ入力信号が立ち上がる場合と立ち下がる場合は、第１レジスタ４０４が最大のセットアップタイムを有するとすると、立ち上がり時セットアップタイム抽出用および立ち下がり時セットアップタイム抽出用として第１レジスタ４０４を示す情報が、最大タイミング制約値レジスタ情報１１０５として記憶される。データ入力信号が立ち上がる場合は、第２レジスタ４０５が最大のホールドタイムを有するとすると、立ち上がり時ホールドタイム抽出用として第２レジスタ４０５を示す情報が、最大タイミング制約値レジスタ情報１１０５として記憶される。データ入力信号が立ち下がる場合は、第２レジスタ４０５または第３レジスタ４０６のいずれかが最大のホールドタイムを有するとすると、立ち下がり時ホールドタイム抽出用として第２レジスタ４０５および第３レジスタ４０６を示す情報が、最大タイミング制約値レジスタ情報１１０５として記憶される。ここで、最大タイミング制約値レジスタ情報１１０５として、例えば、各１ビットレジスタの位置を示す情報が用いられる。（選択ステップ）
【００５３】
（Ｓ１０６）最大タイミング制約値レジスタ情報１１０５、タイミング制約値抽出用シミュレーション信号パターン１００５、およびタイミングライブラリ作成用タイミング制約値抽出条件データ１００６を用いて、回路シミュレータ１０２によりシミュレーションが行われる。ただし、シミュレーションは、タイミングライブラリ作成用タイミング制約値抽出条件データ１００６に示される条件のうち、（Ｓ１０４）ですでにシミュレーションされている条件については行われなくてよい。データ入力信号の立ち上がり時セットアップタイムを求める場合は、第１レジスタ４０４に対してのみシミュレーションが実行され、これによって算出された値が４つの１ビットレジスタの立ち上がり時セットアップタイムとして記憶される。データ入力信号の立ち下がり時セットアップタイムを求める場合も、第１レジスタ４０４に対してのみ回路シミュレーションが実行され、ここで算出された値が４つの１ビットレジスタの立ち下がり時セットアップタイムとして記憶される。入力信号の立ち上がり時ホールドタイムを求める場合は、第２レジスタ４０５に対してのみシミュレーションが実行され、ここで算出された値が４つの１ビットレジスタの立ち上がり時ホールドタイムとして記憶される。データ入力信号の立ち下がり時ホールドタイムを求める場合は、第２レジスタ４０５および第３レジスタ４０６に対してシミュレーションが実行され、第２レジスタ４０５および第３レジスタ４０６については、それぞれのシミュレーション結果が記憶され、第１レジスタ４０４と第４レジスタ４０７については、第２レジスタ４０５または第３レジスタ４０６のいずれかホールドタイムの大きい方の値が記憶される。この結果、タイミングライブラリ作成用タイミング制約値抽出条件データ１００６で指定された２５種類のすべての条件における最大のタイミング制約値が、４ビットレジスタ回路４００の全１ビットレジスタの全シミュレーション条件別タイミング制約値情報１１０６として記憶される。（第２のタイミング特性値取得ステップ）
【００５４】
（Ｓ１０７）
最後に、全１ビットレジスタの全シミュレーション条件別遅延値情報１１０３と全１ビットレジスタの全シミュレーション条件別タイミング制約値情報１１０６に、シミュレータ制御装置１０１により、所望のＥＤＡツールのライブラリ形式（タイミングライブラリフォーマット）に変換する処理が施され、４ビットレジスタ回路４００のタイミングライブラリ１００８が生成される。（タイミングライブラリ作成処理ステップ）
【００５５】
（本実施形態による遅延値抽出のためのシミュレーション回数低減効果について）
上記のように、６３種類の条件のうち４種類の条件について、最大遅延値レジスタ選択用条件データ１００１を用いてシミュレーションを行い、最大の遅延値を有する１ビットレジスタ回路についてのみ、条件の組み合わせ数が６３種類のタイミングライブラリ作成用遅延値抽出条件データ１００３を用いてシミュレーションを行い、その結果を他の１ビットレジスタに代用することにより、４つすべての１ビットレジスタ回路について、タイミングライブラリ作成用遅延値抽出条件データ１００３を用いてシミュレーションを行った場合よりも大幅にシミュレーション回数を低減させ、シミュレーション時間を短縮できる。
【００５６】
具体的には、まず、（Ｓ１０１）で最大遅延値レジスタ選択用条件データ１００１に示された４種類の組み合わせのシミュレーションが、４つの１ビットレジスタについて行われるので、４×４の１６回のシミュレーションが、遅延値抽出用シミュレーション信号パターン１００２に示された立ち上がり変化時と立ち下がり変化時について行われる。次に、（Ｓ１０３）では、タイミングライブラリ作成用遅延値抽出条件データ１００３に示された６３種類の組み合わせのうち、４種類の組み合わせについては（Ｓ１０１）ですでにシミュレーションが行われているので、残りの５９種類の組み合わせのシミュレーションが、（Ｓ１０２）で最大の立ち上がり時遅延値を有すると選択された第１レジスタ４０４、最大の立ち下がり時遅延値を有すると選択された第２レジスタ４０５および第３レジスタ４０６について行われる。したがって、本実施形態における遅延値抽出のためのシミュレーション回数は、立ち上がり時遅延値を求めるシミュレーション回数が１６＋５９の７５回、立ち下がり時遅延値を求めるシミュレーション回数が１６＋５９×２の１３４回となり、合計２０９回となる。４つすべての１ビットレジスタ回路について、条件の組み合わせ数が６３種類のタイミングライブラリ作成用遅延値抽出条件データ１００３を用いてシミュレーションを行った場合のシミュレーション回数は、立ち上がり時遅延値と立ち下がり時遅延値をそれぞれ求めるために４×６３の２５２回必要となるので、合計５０４回となる。したがって、本実施形態により、４つすべての１ビットレジスタ回路について、タイミングライブラリ作成用遅延値抽出条件データ１００３を用いてシミュレーションを行った場合よりも、シミュレーション回数を４２％に低減できたことになる。
【００５７】
（本実施形態によるタイミング制約値抽出のためのシミュレーション回数低減効果について）
さらに、上記のように、２５種類の条件のうち４種類の条件について、最大タイミング制約値レジスタ選択用条件データ１００４を用いてシミュレーションを行い、最大のタイミング制約値を有する１ビットレジスタ回路についてのみ、条件の組み合わせ数が２５種類のタイミングライブラリ作成用タイミング制約値抽出条件データ１００６を用いてシミュレーションを行うことにより、４つすべての１ビットレジスタ回路について、タイミングライブラリ作成用タイミング制約値抽出条件データ１００６を用いてシミュレーションを行った場合よりも大幅にシミュレーション回数を低減させ、シミュレーション時間を短縮できる。特に、セットアップタイムやホールドタイムといったタイミング制約値は、タイミング制約値の予測値の設定とシミュレーションを繰り返し行う２分探索アルゴリズム等を用いて求められるため、シミュレーション回数低減の効果が大きい。
【００５８】
具体的には、（Ｓ１０４）で最大タイミング制約値レジスタ選択用条件データ１００４に示された４種類の組み合わせのシミュレーションが、４つの１ビットレジスタについて、タイミング制約値抽出用シミュレーション信号パターン１００５に示されたデータ入力信号の立ち上がり変化時と立ち下がり変化時について、セットアップタイムとホールドタイム抽出のために行われる。また、タイミング制約値は２分探索アルゴリズムを用いて算出されるので、２分探索アルゴリズムで行われるシミュレーション回数をＮとすると、（Ｓ１０４）におけるシミュレーション回数は、４×４×２×２×Ｎの合計６４Ｎ回となる。次に、（Ｓ１０６）では、タイミングライブラリ作成用タイミング制約値抽出条件データ１００６に示された２５種類の組み合わせのうち、４種類の組み合わせについては（Ｓ１０４）ですでにシミュレーションが行われているので、残りの２１種類の組み合わせのシミュレーションが行われる。またかかるシミュレーションは、立ち上がり変化時と立ち下がり変化時のセットアップタイムについては、第１レジスタ４０４について行われ、立ち上がり変化時のホールドタイムについては、第２レジスタ４０５について行われ、立ち下がり変化時のホールドタイムについては、第２レジスタ４０５および第３レジスタ４０６について行われる。したがって、本実施形態におけるタイミング制約値抽出のためのシミュレーション回数は、６４Ｎ＋（２１＋２１＋２１＋２１×２）×Ｎの合計１６９Ｎ回となる。４つすべての１ビットレジスタ回路について、条件の組み合わせ数が２５種類のタイミングライブラリ作成用タイミング制約値抽出条件データ１００６を用いてシミュレーションを行った場合のシミュレーション回数は、立ち上がり変化時と立ち下がり変化時について、セットアップタイムとホールドタイム両方についてシミュレーションする必要があるので、４×２５×２×２×Ｎの合計４００Ｎ回となる。したがって、本実施形態により、４つすべての１ビットレジスタ回路について、タイミングライブラリ作成用タイミング制約値抽出条件データ１００６を用いてシミュレーションを行った場合よりも、シミュレーション回数を４２％に低減できたことになる。
【００５９】
（その他）
なお、本実施形態では、最大の遅延値を求めているが、最小の遅延値を求める場合は、（Ｓ１０２）において、最小の遅延値を有するレジスタを示す情報が最大遅延値レジスタ情報１１０２の代わりに記憶されるようにすればよい。
【００６０】
また、本実施形態では、クロック信号遷移時間、データ入力信号遷移時間、および出力負荷容量値のみを変化させた条件について、遅延値やタイミング制約値を求めているが、電源電圧や温度などを変化させた条件について求める場合でも本発明を適用できる。
【００６１】
また、本実施形態のタイミングライブラリ作成装置１００は、回路シミュレータ１０２を内蔵しているが、シミュレータ制御装置１０１のみで構成し、外部の回路シミュレータを使用するようにしてもよい。
【００６２】
また、求められる特性値（タイミング特性値）は遅延値とタイミング制約値に限らず、一方でもよいし、動作タイミングを検証するために用いられる他の特性値や、それらの種々の組み合わせでもよい。さらに、対象回路も一例であり、ＡＮＤ回路やＯＲ回路等の組合せ論理回路を組み合わせた回路についても本発明を適用できる。
【００６３】
《発明の実施形態２》
本発明の実施形態２として、図１６に示すようなタイミングライブラリ作成装置５００と、これによって４ビットレジスタ回路（論理回路）のタイミングライブラリ２００５が作成される例について、図面に基づいて詳細に説明する。タイミングライブラリ作成装置５００は、特に限定されないが、例えばコンピュータに、以下で説明するタイミングライブラリ作成装置５００の機能を実行させるプログラムを組み込んで構成することができる。
【００６４】
タイミングライブラリ作成装置５００は、ある一定の出力負荷容量と複数通りの入力電圧遷移時間を動作条件としたシミュレーションを行い、それぞれの電圧遷移時間における各１ビットレジスタの入力端子の電圧遷移時間を測定し、あらかじめ用意された１ビットレジスタのタイミングライブラリ２００２と測定した電圧遷移時間とに基づいて補間を行い、４ビットレジスタ回路を構成する各１ビットレジスタにおける遅延値とタイミング制約値を算出するようになっている。
【００６５】
シミュレータ制御装置５０１は、例えば図１６に示すように、入力されるデータに基づいて、回路シミュレータ１０２の制御、および各１ビットレジスタにおける遅延値とタイミング制約値の算出等を行い、４ビットレジスタ回路のタイミングライブラリ２００５を出力するようになっている。
【００６６】
（タイミングライブラリ作成装置５００に入力されるデータ）
入力されるデータには、例えば以下のようなものがある。
【００６７】
（１）タイミングライブラリ作成用条件データ２００１
図１７にタイミングライブラリ作成用条件データ２００１の例を示す。これは、タイミングライブラリに含まれるべき遅延値、およびタイミング制約値それぞれについてのすべての動作条件を示している。
【００６８】
（２）１ビットレジスタのタイミングライブラリ２００２
１ビットレジスタのタイミングライブラリ２００２は、４ビットレジスタ回路を構成する各１ビットレジスタが単独で動作した場合のタイミング特性値を示すものであり、例えば図１８に示すように、クロック信号の種々の電圧遷移時間６０１と種々の出力負荷容量値６０２との組み合わせに対応する遅延値６０３や、図１９に示すように、クロック信号の種々の電圧遷移時間７０１とデータ入力信号の種々の電圧遷移時間７０２の組み合わせに対応するタイミング制約値７０３を示すものである。
【００６９】
（３）電圧遷移時間観測用シミュレーション信号パターン２００３
電圧遷移時間観測用シミュレーション信号パターン２００３は、各１ビットレジスタの入力端子の電圧遷移時間を測定するためのシミュレーション信号パターンであり、具体的な内容は、実施形態１（図５）で説明した遅延値抽出用シミュレーション信号パターン１００２と同様である。
【００７０】
（４）４ビットレジスタ回路のサブサーキットデータ２００４
４ビットレジスタ回路のサブサーキットデータ２００４は、実施形態１で説明したサブサーキットデータ１００７と同様に、タイミングライブラリ作成の対象となる４ビットレジスタ回路をモデル化したものである。
【００７１】
（タイミングライブラリ作成対象回路について）
次に、本実施形態においてタイミングライブラリ作成の対象となる４ビットレジスタ回路８００の構成について、図２０を用いて説明する。４ビットレジスタ回路８００は、入力電圧測定ノード８０１（論理回路への入力）、第１電圧測定ノード８０２、第２電圧測定ノード８０３、第３電圧測定ノード８０４、および第４電圧測定ノード８０５（第２の部分論理回路への入力）を有している。ここでは４ビットレジスタ回路８００を構成する１ビットレジスタに、エッジトリガ１ビットフリップフロップセルを用いた例を示すが、記憶機能を持つフリップフロップセルやラッチセル等を用いてもよい。
【００７２】
（タイミングライブラリ作成装置５００の動作）
以下、タイミングライブラリ作成装置５００の動作について図２１を用いて説明する。
【００７３】
（Ｓ２０１）まず、シミュレータ制御装置５０１により、４ビットレジスタ回路のサブサーキットデータ２００４に基づいて、各１ビットレジスタのクロック信号の電圧遷移時間を測定するノードが電圧測定のための出力ピンとして抽出され、４ビットレジスタ回路のサブサーキットデータ２００４に付与される。測定するノードは、サブサーキットファイルを検索して抽出される。これにより、４ビットレジスタ回路８００の電圧測定ノード付サブサーキットデータ２１０１が作成される。電圧測定ノード付サブサーキットデータ２１０１を使用することにより、シミュレーションによる各１ビットレジスタの電圧測定ノードにおける電圧遷移時間の観測が可能となる。
【００７４】
（Ｓ２０２）電圧測定ノード付サブサーキットデータ２１０１、タイミングライブラリ作成用条件データ２００１、および電圧遷移時間観測用シミュレーション信号パターン２００３を用いて、回路シミュレータ１０２によりシミュレーションが行われ、各１ビットレジスタの電圧測定ノードに入力される電圧の遷移時間が算出される。算出された遷移時間は、各１ビットレジスタの電圧測定ノードにおける電圧遷移時間情報２１０２として記憶される。図２２に、各１ビットレジスタの電圧測定ノードにおける電圧遷移時間情報２１０２の内容を表にした例を示す。図２２の例では、４ビットレジスタ回路８００の入力電圧測定ノード８０１に５０ｐｓの電圧遷移時間を有する電圧を入力した場合、各１ビットレジスタのクロック信号入力ポイントとなる第１電圧測定ノード８０２、第２電圧測定ノード８０３、第３電圧測定ノード８０４、および第４電圧測定ノード８０５では、それぞれ６５ｐｓ、６５．２ｐｓ、７２ｐｓ、および７４ｐｓの電圧遷移時間を有する電圧波形になることを示している。またこのシミュレーションはタイミングライブラリ作成用条件データ２００１に示されたクロック遷移時間の種類の数だけ実施される。つまり、図２２の例では、入力電圧測定ノード８０１に、５０ｐｓ、０．１ｎｓ、０．２ｎｓ、０．３ｎｓ、１ｎｓ、１．５ｎｓおよび２ｎｓの７種類の遷移時間を有する電圧が入力され、７回のシミュレーションが行われることになる。（第１の特性値取得ステップ）
【００７５】
（Ｓ２０３）シミュレータ制御装置５０１により、各１ビットレジスタの電圧測定ノードにおける電圧遷移時間情報２１０２、およびタイミングライブラリ作成用条件データ２００１を用いて、１ビットレジスタのタイミングライブラリ２００２に含まれる値が補間されることにより、各１ビットレジスタの遅延値とタイミング制約値が求められる。（第２の特性値取得ステップ）そして、それらの遅延値とタイミング制約値が、所望のＥＤＡツールのライブラリ形式に変換され、４ビットレジスタ回路のタイミングライブラリ２００５が生成される。
【００７６】
次に、（Ｓ２０３）における補間の方法について説明する。
【００７７】
まず、遅延値の算出方法について説明する。例として、入力電圧測定ノード８０１に入力される電圧の遷移時間が５０ｐｓ、出力負荷容量値が１ｆＦの時の、４ビットレジスタ回路８００を構成する第１電圧測定ノード８０２を入力端子とする１ビットレジスタの遅延値算出方法を説明する。図２２の各１ビットレジスタの電圧測定ノードにおける電圧遷移時間情報２１０２において、入力電圧測定ノード８０１の電圧遷移時間が５０ｐｓの時、第１電圧測定ノード８０２の電圧遷移時間は６５ｐｓである。１ビットレジスタのタイミングライブラリ２００２に係る図１８の２次元テーブルにおいて、出力負荷容量値が１ｆＦの場合、クロック信号の電圧遷移時間が５０ｐｓならば遅延値は３０ｐｓ、０．１ｎｓならば遅延値は４０ｐｓである。これらにより、第１電圧測定ノード８０２の電圧遷移時間が６５ｐｓである場合の遅延値は、例えば図２３に示す線形補間により求めると、３３ｐｓとなる。同様に、入力電圧測定ノード８０１に入力した電圧の遷移時間が０．１ｎｓの場合について求めると、図２２より入力電圧測定ノード８０１の電圧遷移時間が０．１ｎｓの時、第１電圧測定ノード８０２の電圧遷移時間は０．１５ｎｓであるので、図１８より、クロック信号の電圧遷移時間が０．１ｎｓならば遅延値は４０ｐｓ、０．２ｎｓならば遅延値は５０ｐｓであるので、線形補間により遅延値は４５ｐｓとなる。
【００７８】
次に、タイミング制約値の算出方法について説明する。例として、入力電圧測定ノード８０１に入力される電圧の遷移時間が５０ｐｓ、データ入力信号の遷移時間が５０ｐｓの時の、４ビットレジスタ回路８００を構成する第１電圧測定ノード８０２を入力端子とする１ビットレジスタのタイミング制約値算出方法を説明する。図２２の各１ビットレジスタの電圧測定ノードにおける電圧遷移時間情報２１０２において、入力電圧測定ノード８０１の電圧遷移時間が５０ｐｓの時、第１電圧測定ノード８０２の電圧遷移時間は６５ｐｓである。１ビットレジスタのタイミングライブラリ２００２に係る図１９の２次元テーブルにおいて、データ入力信号の電圧遷移時間が５０ｐｓの場合、クロック信号の電圧遷移時間が５０ｐｓならばタイミング制約値は３５ｐｓ、０．１ｎｓならばタイミング制約値は４５ｐｓである。これらにより、第１電圧測定ノード８０２の電圧遷移時間が６５ｐｓである場合のタイミング制約値を、例えば図２４に示す線形補間により求めると、３８ｐｓとなる。同様に、入力電圧測定ノード８０１に入力した電圧の遷移時間が０．１ｎｓの場合について求めると、図２２より入力電圧測定ノード８０１の電圧遷移時間が０．１ｎｓの時、第１電圧測定ノード８０２の電圧遷移時間は０．１５ｎｓであるので、図１９より、クロック信号の電圧遷移時間が０．１ｎｓならば遅延値は４５ｐｓ、０．２ｎｓならば遅延値は５５ｐｓであるので、線形補間により遅延値は５０ｐｓとなる。
【００７９】
（本実施形態によるシミュレーション回数低減効果について）
上記のような補間による遅延値とタイミング制約値の算出を、クロック遷移時間と出力負荷容量のすべての組み合わせについて、各電圧測定ノード（本実施形態では第１電圧測定ノード８０２、第２電圧測定ノード８０３、第３電圧測定ノード８０４、および第４電圧測定ノード８０５）に対して行うことにより、少ないシミュレーション回数でタイミングライブラリを作成し、タイミングライブラリ作成時間を低減することができる。本実施形態において、シミュレーション回数はタイミングライブラリ作成対象回路に含まれる１ビットレジスタ回路の個数に依存せず、タイミングライブラリに含まれる動作条件のクロック信号遷移時間の種類の数に依存している。したがって、本実施形態のような装置および方法は、多ビットレジスタ回路のタイミングライブラリ作成に特に有用である。
【００８０】
また、遅延値、タイミング制約値の算出ごとにシミュレーションを個別に実施する必要がない。具体的には、本実施形態のように、１ビットレジスタのタイミングライブラリ２００２がすでに用意できていれば、（Ｓ２０２）で７回のシミュレーションを行うだけでよいため、シミュレーション回数の大幅な低減となる。
【００８１】
（その他）
なお、本実施形態のタイミングライブラリ作成装置５００は、回路シミュレータ１０２を内蔵しているが、シミュレータ制御装置５０１のみで構成し、外部の回路シミュレータを使用するようにしてもよい。
【００８２】
また、本実施形態においては、タイミングライブラリの作成対象が４ビットレジスタである例を挙げたが、作成対象は組み合わせ論理回路や、組み合わせ論理回路とレジスタ回路を組み合わせた回路でもよい。さらに、求められる特性値（タイミング特性値）も遅延値とタイミング制約値に限らず、一方でもよいし、電圧遷移時間等の動作タイミングを検証するために用いられる他の特性値や、それらの種々の組み合わせでもよい。
【００８３】
また、本実施形態においては、１ビットレジスタのタイミングライブラリ２００２に含まれる２つのデータを用いて、それをグラフ上に表した２点を結ぶ直線から値を導く線形補間を行っているが、３つ以上のデータを用いて、それをグラフ上に表した点を結ぶ曲線から値を導く多項式補間等を行ってもよい。また、補間をしなくてもタイミングライブラリから値が直接導きだせる場合もある。
【産業上の利用可能性】
【００８４】
本発明に係るタイミングライブラリの作成方法、シミュレータ制御装置、およびタイミングライブラリの作成プログラムは、回路シミュレーション回数を低減し、タイミングライブラリ作成に要する時間を大幅に低減するという効果を有し、例えば、半導体集積回路の設計で用いられるＥＤＡ（Ｅｌｅｃｔｒｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ）ツール等により参照される、遅延値やタイミング制約値を含むタイミングライブラリの作成方法、作成プログラム、および作成装置等として有用である。
【図面の簡単な説明】
【００８５】
【図１】実施形態１のタイミングライブラリ作成装置１００の構成を示すブロック図である。
【図２】同、タイミングライブラリ１００８によって示される遅延値の例を２次元テーブル形式で表す表である。
【図３】同、タイミングライブラリ１００８によって示されるタイミング制約値の例を２次元テーブル形式で表す表である。
【図４】同、最大遅延値レジスタ選択用条件データ１００１の例を示す表である。
【図５】同、遅延値抽出用シミュレーション信号パターン１００２の例を示す表である。
【図６】同、タイミングライブラリ作成用遅延値抽出条件データ１００３の例を示す表である。
【図７】同、最大タイミング制約値レジスタ選択用条件データ１００４の例を示す表である。
【図８】同、タイミング制約値抽出用シミュレーション信号パターン１００５の例を示す表である。
【図９】同、タイミングライブラリ作成用タイミング制約値抽出条件データ１００６の例を示す表である。
【図１０】同、タイミングライブラリ作成の対象例となる４ビットレジスタ回路４００の構成を示す回路図である。
【図１１】同、４ビットレジスタ回路４００を構成する１ビットレジスタの動作を示すタイミングチャートである。
【図１２】同、４ビットレジスタ回路４００を構成する１ビットレジスタの遅延値を示すタイミングチャートである。
【図１３】同、４ビットレジスタ回路４００を構成する１ビットレジスタのタイミング制約値であるセットアップタイムとホールドタイムを示すタイミングチャートである。
【図１４】同、２分探索アルゴリズムを用いてタイミング制約値を算出する方法の各ステップでシミュレーションされる動作を示すタイミングチャートである。
【図１５】同、タイミングライブラリ作成装置１００の動作を示すフローチャートである。
【図１６】実施形態２のタイミングライブラリ作成装置５００の構成を示すブロック図である。
【図１７】同、タイミングライブラリ作成用条件データ２００１の例を示す表である。
【図１８】同、タイミングライブラリ２００２によって示される遅延値の例を２次元テーブル形式で表す表である。
【図１９】同、タイミングライブラリ２００２によって示されるタイミング制約値の例を２次元テーブル形式で表す表である。
【図２０】同、タイミングライブラリ作成の対象例となる４ビットレジスタ回路８００の構成を示す回路図である。
【図２１】同、タイミングライブラリ作成装置５００の動作を示すフローチャートである。
【図２２】同、各１ビットレジスタの電圧測定ノードにおける電圧遷移時間情報２１０２の内容の例を示した表である。
【図２３】同、遅延値算出のための線形補間の方法を示すグラフである。
【図２４】同、タイミング制約値算出のための線形補間の方法を示すグラフである。
【符号の説明】
【００８６】
１００      タイミングライブラリ作成装置
１０１      シミュレータ制御装置
１０２      回路シミュレータ
２０１      クロック信号の電圧遷移時間
２０２      出力負荷容量値
２０３      遅延値
３０１      クロック信号の電圧遷移時間
３０２      データ入力信号の電圧遷移時間
３０３      タイミング制約値
４００      ４ビットレジスタ回路
４０１      データ入力ピン
４０２      クロックピン
４０３      データ出力ピン
４０４      第１レジスタ
４０５      第２レジスタ
４０６      第３レジスタ
４０７      第４レジスタ
５００      タイミングライブラリ作成装置
５０１      シミュレータ制御装置
６０１      クロック信号の電圧遷移時間
６０２      出力負荷容量値
６０３      遅延値
７０１      クロック信号の電圧遷移時間
７０２      データ入力信号の電圧遷移時間
７０３      タイミング制約値
８００      ４ビットレジスタ回路
８０１      入力電圧測定ノード
８０２      第１電圧測定ノード
８０３      第２電圧測定ノード
８０４      第３電圧測定ノード
８０５      第４電圧測定ノード
１００１    最大遅延値レジスタ選択用条件データ
１００２    遅延値抽出用シミュレーション信号パターン
１００３    タイミングライブラリ作成用遅延値抽出条件データ
１００４    最大タイミング制約値レジスタ選択用条件データ
１００５    タイミング制約値抽出用シミュレーション信号パターン
１００６    タイミングライブラリ作成用タイミング制約値抽出条件データ
１００７    サブサーキットデータ
１００８    タイミングライブラリ
１１０１    各１ビットレジスタの遅延値
１１０２    最大遅延値レジスタ情報
１１０３    全１ビットレジスタの全シミュレーション条件別遅延値情報
１１０４    各１ビットレジスタのタイミング制約値
１１０５    最大タイミング制約値レジスタ情報
１１０６    全１ビットレジスタの全シミュレーション条件別タイミング制約値情報
２００１    タイミングライブラリ作成用条件データ
２００２    １ビットレジスタのタイミングライブラリ
２００３    電圧遷移時間観測用シミュレーション信号パターン
２００４    ４ビットレジスタ回路のサブサーキットデータ
２００５    ４ビットレジスタ回路のタイミングライブラリ
２１０１    電圧測定ノード付サブサーキットデータ
２１０２    各１ビットレジスタの電圧測定ノードにおける電圧遷移時間情報
【図１】
2006350548.tif 000003
【図２】
2006350548.tif 000004
【図３】
2006350548.tif 000005
【図４】
2006350548.tif 000006
【図５】
2006350548.tif 000007
【図６】
2006350548.tif 000008
【図７】
2006350548.tif 000009
【図８】
2006350548.tif 000010
【図９】
2006350548.tif 000011
【図１０】
2006350548.tif 000012
【図１１】
2006350548.tif 000013
【図１２】
2006350548.tif 000014
【図１３】
2006350548.tif 000015
【図１４】
2006350548.tif 000016
【図１５】
2006350548.tif 000017
【図１６】
2006350548.tif 000018
【図１７】
2006350548.tif 000019
【図１８】
2006350548.tif 000020
【図１９】
2006350548.tif 000021
【図２０】
2006350548.tif 000022
【図２１】
2006350548.tif 000023
【図２２】
2006350548.tif 000024
【図２３】
2006350548.tif 000025
【図２４】
2006350548.tif 000026