(57)【要約】      （修正有）【課題】計算誤差を低減し、高速かつ高精度のトランジスタレベル回路シミュレーションを実現する。【解決手段】論理セル内のサブサーキットと、トランジスタのデバイスパラメータと、セル間配線ネットワークの抵抗、容量を記載したＲＣ情報を入力するデータ入力工程と、前記ＲＣ情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程と、切り出された論理回路セル毎に、データベースに一致する論理回路セルが登録されているかを判定する回路マッチング工程と、前記回路マッチング工程で、前記データベースに登録されている場合は、遅延情報を前記データベースから取得し、登録されていない場合は、トランジスタレベル回路シミュレーションを行なう回路シミュレーション工程と、前記回路シミュレーション工程の出力である論理回路セル毎の遅延情報を出力するデータ出力工程により構成される。【選択図】 図１
2007102420.tif 000002
【特許請求の範囲】
【請求項１】
基本の論理セルあるいは機能マクロブロックを、セル間配線ネットワークで接続して構成される半導体集積回路の回路情報を格納したデータベースにおいて、
前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報と、前記トランジスタのデバイスパラメータ情報と、前記セル間配線ネットワークの抵抗および容量を記載したＲＣ情報とに基づいて生成され、
基本の論理セルあるいは機能マクロブロックと、セル間配線ネットワークとで構成される論理回路セルと、
前記論理回路セルに対応する遅延情報と
を格納したデータベース。
【請求項２】
請求項１に記載のデータベースであって、
前記論理回路セルと、当該論理回路セルに対する遅延情報とからなるデータセットに基づき、一部を修正した演算処理により、派生的に算出された派生情報を、追加格納可能な情報追加領域を備えたデータベース。
【請求項３】
請求項１または２に記載のデータベースであって、
優先順位を外部から入力可能な優先順位設定領域を備えたデータベース。
【請求項４】
基本の論理セルあるいは機能マクロブロックを、セル間配線ネットワークで接続して構成される半導体集積回路の回路情報から、
前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報を生成する工程と、
前記回路情報から、トランジスタのデバイスパラメータ情報を生成する工程と、
前記回路情報から、前記セル間配線ネットワークの抵抗および容量を記載したＲＣ情報を生成する工程と、
前記サブサーキット情報と、デバイスパラメータ情報と、ＲＣ情報とに基づいて、基本の論理セルあるいは機能マクロブロックと、セル間配線ネットワークとで構成される論理回路セルを生成する工程と、
前記論理回路セルと、論理回路セルに対応する遅延情報とを記録媒体に格納する工程とを含むデータベースの生成方法。
【請求項５】
請求項４に記載のデータベースの生成方法であって、
前記論理回路セルと、前記遅延情報とからなるデータセットに基づき、一部を修正した演算処理により、派生的に派生情報を算出する工程と、
前記派生情報を、前記記録媒体の情報追加領域に格納する工程と
を備えたデータベースの生成方法。
【請求項６】
請求項５に記載のデータベースの生成方法であって、
前記派生情報を算出する工程は、演算装置の休止時間中に実施され、格納量を増大する工程を含むデータベースの生成方法。
【請求項７】
請求項５または６に記載のデータベースの生成方法であって、
格納された前記データセット及びその派生情報との優先順位を設定する優先順位設定工程と、
前記優先順位に応じてデータセットを再配列する工程と
を含むデータベースの生成方法。
【請求項８】
請求項７に記載のデータベースの生成方法であって、
前記再配列する工程は、演算装置の休止時間中に実施されるものであるデータベースの生成方法。
【請求項９】
請求項４に記載のデータベースの生成方法であって、
前記ＲＣ情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程を含むデータベースの生成方法。
【請求項１０】
基本の論理セルあるいは機能マクロブロックをセル間配線ネットワークで接続して構成される半導体集積回路において、大規模ＬＳＩの遅延情報を、トランジスタレベルの回路シミュレーションにより、遅延算出を行なう遅延演算方法であって、
前記論理セル内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキットと、トランジスタのデバイスパラメータと、前記セル間配線ネットワークの抵抗および容量を記載したＲＣ情報とにもとづき得られる論理回路セルと、この論理回路セルに対応する遅延情報とを記録媒体に入力し、データベースを生成するデータ入力工程と、
前記ＲＣ情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程と、
切り出された論理回路セル毎に、前記データベースに一致する論理回路セルが登録されているかを判定する回路マッチング工程と、
前記回路マッチング工程で、前記データベースに登録されている場合は、遅延情報を前記データベースから取得し、登録されていない場合は、トランジスタレベル回路シミュレーションを行なう回路シミュレーション工程と、
前記回路シミュレーション工程の出力である論理回路セル毎の遅延情報を出力するデータ出力工程と
を備えた遅延演算方法。
【請求項１１】
請求項１０に記載のトランジスタレベルオンデマンド遅延演算方法であって、
前記回路マッチング工程は、
切り出された論理回路セルごとに、論理セルの種別、配線ネットワークの抵抗、容量の大きさ、および接続関係から、前記データベースに一致する論理回路セルが登録されているかを判定する工程である遅延演算方法。
【請求項１２】
請求項１０に記載の遅延演算方法であって、
前記回路マッチング工程は、
切り出された論理回路セルごとに、等価回路を生成する工程と、
前記生成された等価回路から、前記データベースに一致する論理回路セルが登録されているか否かを判定する工程と
を含む遅延演算方法。
【請求項１３】
請求項１０に記載の遅延演算方法であって、
前記データ入力工程は、
前記配線ネットワークのアドミタンスを計算し、配線ネットワークを駆動する論理セルの出力端子での信号振舞が等価な配線ネットワークに縮退する出力モデル生成工程と、
前記論理セルの入力端子容量を抽出する入力モデル生成工程と、
前記論理セルのファンクションを抽出する内部モデル生成工程と
を含む遅延演算方法。
【請求項１４】
請求項１０に記載の遅延演算方法であって、
前記回路マッチング工程は、前記配線ネットワークの縮退を用いた等価回路を比較するマッチング工程とを含む遅延演算方法。
【請求項１５】
基本論理セルあるいは機能マクロブロックをセル間配線ネットワークで接続して構成される半導体集積回路のレイアウト方法であって、
回路情報にもとづいて配置、配線を行なう第１の配置/配線工程と、
前記第１の配置/配線工程で配置された論理セルと、その論理セルに繋がる配線ネットワークの抵抗、容量を算出する配線ＲＣ計算工程と、
前記論理セルと前記配線ネットワークの抵抗、容量を一つの論理回路セルとして、同じ論理で、同じ配線形状を持つ論理回路セルが、データベースに登録されているか否かを判定するＲＣマッチング工程と、
前記ＲＣマッチング工程において、同じ論理で、かつ同じ配線形状の論理回路セルが登録されていない場合、論理が同じで、かつ、最も近い配線形状を持つ論理回路セルを前記データベースから抽出し、その抽出された論理回路セルの配線形状を実現する第２の配置/配線工程と
を含む半導体集積回路のレイアウト方法。
【請求項１６】
請求項１５に記載の半導体集積回路のレイアウト方法であって、
前記第１の配置/配線工程は、回路情報としてのゲートレベルネットリストと、タイミング制約、デザインルールとに基づいて、配置配線を行う工程である半導体集積回路のレイアウト方法。
【請求項１７】
請求項１０乃至１４に記載の遅延演算方法を用いた半導体集積回路の最適化方法であって、
前記遅延演算工程と、
前記遅延演算工程により計算された遅延情報を使って静的なタイミング解析を行なう静的タイミング解析工程と、
前記静的タイミング解析工程で、タイミングエラーとなったパスを構成する論理セルと配線ネットワークについて、改善したい遅延幅に応じて、前記遅延幅を実現するための前記論理セルの入力信号波形を変更する工程と、
前記配線ネットワークの配線形状を変更する工程と
を含むタイミング最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース、データベースの生成方法、半導体集積回路の遅延演算方法および最適化方法に係り、特に、半導体集積回路設計におけるタイミング解析において、遅延演算を高速/高精度に計算するシステムに関する。
【背景技術】
【０００２】
現在、大規模ＬＳＩの遅延演算においては、ゲートレベル遅延演算が主流である。ゲートレベル遅延演算は、予め論理セル毎に遅延ライブラリを準備しておき、その遅延ライブラリを用いて計算を行なうという方法がとられている（特許文献１）。
【０００３】
この方法について、図１８〜２０を用いて説明する。
図１８は通例の遅延演算用遅延ライブラリ生成方法を示す説明図、図１９（a）および（ｂ）は、入力信号波形と遅延時間との関係を示す図、及び負荷容量と遅延時間との関係を示す図である。また、図２１はこの遅延演算方法を示す図である。図１８に示したように、キャラクタライズ対象の論理セル２０００に、配線ネットワークとしての負荷容量２００２が接続されており、遅延ライブラリ２００３に、これら入力信号波形、論理セル、負荷容量を入力しておく。そして、この論理セル２０００に波形２００１をもつ入力信号が入力したとする。ここで２００４は、キャラクタライズポイントである。図２０は図１９（ａ）の要部拡大図であり、遅延曲線２１０２のキャラクタライズポイント２１００、２１０１間を結ぶ直線を補間曲線２１０３とし、この遅延曲線２１０２と補間曲線２１０３の差が誤差２１０４である。
【０００４】
ここで、遅延ライブラリは、図１８に示すように、キャラクタライズ対象の論理セル２０００に入力信号波形２００１と負荷容量２００２を与えて、トランジスタレベルの回路シミュレーションを行ない、遅延時間を求める。その遅延時間を、遅延ライブラリ２００３として登録する。このキャラクタライズにおいては、入力信号波形や負荷容量の組合せは無限に存在するので、キャラクタライズポイントを決めてキャラクタライズする。遅延ライブラリ２００３では、キャラクタライズポイント２００４のように、入力信号波形を６種類、負荷容量を６種類、キャラクタライズポイントとして回路シミュレーションした例である。キャラクタライズポイントは、遅延ライブラリ２００３の入力信号波形、負荷容量と遅延時間のグラフ中の丸印で表現されている。
【０００５】
次に、この遅延ライブラリを用いた遅延演算で発生する誤差について説明する。図２０に示すように、キャラクタライズポイント２１００（入力信号波形の大きさは、Ｓlew１)と、キャラクタライズポイント２１０１(入力信号波形の大きさは、Ｓlew２)で挟まれた入力信号波形の大きさがＳlewXの場合の遅延演算は、それぞれのキャラクタライズポイントでの遅延時間の補間により求める。ゲートレベル遅延演算では、キャラクタライズポイント２１００とキャラクタライズポイント２１０１を補間曲線（直線近似の場合が多い）で結び、前記ＳlewXの時の遅延時間を計算する。その計算された結果が、delay１である。しかしながら、一般的に入力信号波形と遅延時間の関係は、上に凸の単調増加の遅延曲線２１０２であるため、ＳlewXが入力された時の遅延時間はdelay２になる。その結果、前記delay１とdelay２に差が生じ、誤差２１０４となる。一つの論理セルについて、この誤差２１０４が発生し、クロック同期回路の場合、フリップフロップ間に複数段の論理セルが存在するため、この誤差が重なりあって、さらに大きな誤差になる場合がある。
【０００６】
また、特許文献１に、ＬＳＩの論理セルと配線ネットワークと端子容量を切り出して回路シミュレーションを行うことにより、ＬＳＩ規模でも、回路シミュレーションを用いて遅延演算を行う方法が記載されている。
【０００７】
【特許文献１】特開２０００−２５９６８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上説明したように、上記ゲートレベル遅延演算方法では、遅延ライブラリを作成する段階で、入力信号波形、負荷容量の組合せが限定されてしまうために、キャラクタライズポイントをはずれる動作条件では補間により遅延時間を計算している。そのため、数百万個規模で論理セルが使われるＬＳＩでは、補間による誤差が蓄積されて、大きな誤差になるという場合が出てきてしまうことがあった。
【０００９】
また、上述した回路シミュレーションを用いた遅延演算方法では、回路規模の増大に伴い、処理時間が増大してしまい、現実的な時間では処理が終らないという課題がある。
本発明は前記実情に鑑みてなされたもので、高速かつ高精度に遅延演算を実施するためのデータベースを提供することを目的とする。
また、高速かつ高精度に遅延演算を実施するためのデータベースを提供することを目的とする。
さらに、本発明では、このデータベースを用いて高速かつ高精度に遅延演算を行う方法及び装置を提供することを目的とする。
また、本発明では、このデータベースを用いて高速かつ高精度に回路シミュレーションを行う方法を提供することを目的とする。
さらにまた本発明では、このデータベースを用いて高精度に半導体集積回路の設計を行方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記問題を解決するために、本発明は、基本の論理セルあるいは機能マクロブロックを、セル間配線ネットワークで接続して構成される半導体集積回路の回路情報を格納したデータベースにおいて、前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報と、前記トランジスタのデバイスパラメータ情報と、前記セル間配線ネットワークの抵抗および容量を記載したＲＣ情報とに基づいて生成され、基本の論理セルあるいは機能マクロブロックと、セル間配線ネットワークとで構成される論理回路セルと、前記論理回路セルに対応する遅延情報とを格納したデータベースを構成する。
この構成により、論理セルだけでなくセル間配線ネットワークも含めて論理回路セルとして、登録すると共にこの論理回路セルに対応する遅延情報を登録しているため、より高精度のデータベースを得ることが可能となる。
【００１１】
また、本発明は、上記データベースにおいて、前記論理回路セルと、当該論理回路セルに対する遅延情報とからなるデータセットに基づき、一部を修正した演算処理により、派生的に算出された派生情報を、追加格納可能な情報追加領域を備えたものを含む。
この構成により、逐次、追加情報を格納していくことができ、演算なしに遅延情報を得ることができ、演算量を大幅に低減することができる。
【００１２】
また、本発明は、上記データベースにおいて、優先順位を外部から入力可能な優先順位設定領域を備えたものを含む。
この構成により、データベースからの選択が高速かつ高精度に実現可能となり、より高速化をはかることができる。
【００１３】
また、本発明のデータベースの生成方法は、基本の論理セルあるいは機能マクロブロックを、セル間配線ネットワークで接続して構成される半導体集積回路の回路情報から、前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報を生成する工程と、前記回路情報から、トランジスタのデバイスパラメータ情報を生成する工程と、前記回路情報から、前記セル間配線ネットワークの抵抗および容量を記載したＲＣ情報を生成する工程と、前記サブサーキット情報と、デバイスパラメータ情報と、ＲＣ情報とに基づいて、基本の論理セルあるいは機能マクロブロックと、セル間配線ネットワークとで構成される論理回路セルを生成する工程と、前記論理回路セルと、論理回路セルに対応する遅延情報とを記録媒体に格納する工程とを含む。
この構成により、論理セルだけでなくセル間配線ネットワークも含めて論理回路セルとして、登録すると共にこの論理回路セルに対応する遅延情報を登録しているため、より高精度のデータベースを生成することが可能となり、遅延演算および回路シミュレーションを行うことが可能となる。
【００１４】
また、本発明は、上記データベースの生成方法において、前記論理回路セルと、前記遅延情報とからなるデータセットに基づき、一部を修正した演算処理により、派生的に派生情報を算出する工程と、前記派生情報を、前記記録媒体の情報追加領域に格納する工程とを備えたものを含む。
この構成により、より近いデータを増やすことができ、データベースの高精度化につながる。
【００１５】
また、本発明は、上記データベースの生成方法において、前記派生情報を算出する工程は、演算装置の休止時間中に実施され、格納量を増大する工程を含む。
この構成により、特別の装置や時間を要することなくデータベースを生成することができ、データ量の増大をはかることができる。
【００１６】
また、本発明は、上記データベースの生成方法において、格納された前記データセット及びその派生情報との優先順位を設定する優先順位設定工程と、前記優先順位に応じてデータセットを再配列する工程とを含む。
この構成により、使用に際し、より早く最適のデータセットを呼び出すことができる。
【００１７】
また、本発明は、上記データベースの生成方法において、前記再配列する工程は、演算装置の休止時間中に実施されるものであるものを含む。
この構成により、特別の装置や時間を要することなく、最適なデータベースを生成することができ、データの確実化をはかることができる。
【００１８】
また、本発明は、上記データベースの生成方法において、前記ＲＣ情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程を含む。
この構成により、より高精度のデータベースの形成が可能となる。
【００１９】
また、本発明は、基本の論理セルあるいは機能マクロブロックをセル間配線ネットワークで接続して構成される半導体集積回路において、大規模ＬＳＩの遅延情報を、トランジスタレベルの回路シミュレーションにより、遅延算出を行なう遅延演算方法であって、
前記論理セル内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキットと、トランジスタのデバイスパラメータと、前記セル間配線ネットワークの抵抗および容量を記載したＲＣ情報とにもとづき得られる論理回路セルと、この論理回路セルに対応する遅延情報とを記録媒体に入力し、データベースを生成するデータ入力工程と、前記ＲＣ情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程と、切り出された論理回路セル毎に、前記データベースに一致する論理回路セルが登録されているかを判定する回路マッチング工程と、前記回路マッチング工程で、前記データベースに登録されている場合は、遅延情報を前記データベースから取得し、登録されていない場合は、トランジスタレベル回路シミュレーションを行なう回路シミュレーション工程と、前記回路シミュレーション工程の出力である論理回路セル毎の遅延情報を出力するデータ出力工程とを含む。
この構成により、回路マッチングにより、データベースから遅延情報を取得することができるため、より高速な処理が可能となる。
【００２０】
また、本発明は、上記遅延演算方法において、前記回路マッチング工程は、切り出された論理回路セルごとに、論理セルの種別、配線ネットワークの抵抗、容量の大きさ、および接続関係から、前記データベースに一致する論理回路セルが登録されているかを判定する工程であるものを含む。
【００２１】
また、本発明は、上記遅延演算方法において、前記回路マッチング工程は、切り出された論理回路セルごとに、等価回路を生成する工程と、前記生成された等価回路から、前記データベースに一致する論理回路セルが登録されているか否かを判定する工程とを含むものを含む。
この構成により、わずかに異なる論理回路セルにおいても等価回路的に同等であると判断することができる場合もあり、マッチング確率が高まるため、演算時間をより短縮することができる。
【００２２】
また、本発明は、上記遅延演算方法において、前記データ入力工程は、前記配線ネットワークのアドミタンスを計算し、配線ネットワークを駆動する論理セルの出力端子での信号振舞が等価な配線ネットワークに縮退する出力モデル生成工程と、前記論理セルの入力端子容量を抽出する入力モデル生成工程と、前記論理セルのファンクションを抽出する内部モデル生成工程とを含むものを含む。
この構成により、わずかに異なる論理回路セルにおいても機能的に同等であると判断することができる場合もあり、マッチング確率が高まるため、演算時間をより短縮することができる。
【００２３】
また、本発明は、上記遅延演算方法において、前記回路マッチング工程は、前記配線ネットワークの縮退を用いた等価回路を比較するマッチング工程とを含むものを含む。
この構成により、わずかに異なる論理回路セルにおいても機能的に同等であると判断することができる場合もあり、マッチング確率が高まるため、演算時間をより短縮することができる。
【００２４】
また、本発明は、基本論理セルあるいは機能マクロブロックをセル間配線ネットワークで接続して構成される半導体集積回路のレイアウト方法であって、回路情報にもとづいて配置、配線を行なう第１の配置/配線工程と、前記第１の配置/配線工程で配置された論理セルと、その論理セルに繋がる配線ネットワークの抵抗、容量を算出する配線ＲＣ計算工程と、前記論理セルと前記配線ネットワークの抵抗、容量を一つの論理回路セルとして、同じ論理で、同じ配線形状を持つ論理回路セルが、データベースに登録されているか否かを判定するＲＣマッチング工程と、前記ＲＣマッチング工程において、同じ論理で、かつ同じ配線形状の論理回路セルが登録されていない場合、論理が同じで、かつ、最も近い配線形状を持つ論理回路セルを前記データベースから抽出し、その抽出された論理回路セルの配線形状を実現する第２の配置/配線工程とを含む。
この構成により、回路シミュレーション実施済みの論理セル及び配線ネットワークをレイアウト時に優先的に使うことができるため、レイアウト完了後の遅延演算処理時間の削減が可能である。
【００２５】
また、本発明は、上記レイアウト方法において、前記第１の配置/配線工程は、回路情報としてのゲートレベルネットリストと、タイミング制約、デザインルールとに基づいて、配置配線を行う工程であるものを含む。
この構成により、より適切な配置配線が可能となる。
【００２６】
また、本発明のタイミング最適化方法は、遅延演算工程と、前記遅延演算工程により計算された遅延情報を使って静的なタイミング解析を行なう静的タイミング解析工程と、前記静的タイミング解析工程で、タイミングエラーとなったパスを構成する論理セルと配線ネットワークについて、改善したい遅延幅に応じて、前記遅延幅を実現するための前記論理セルの入力信号波形を変更する工程と、前記配線ネットワークの配線形状を変更する工程とを含む。
この構成により、高速かつ高精度にタイミングの最適化を計ることが可能となる。
【００２７】
ここで、論理セルは、インバータ、バッファ、ＡＮＤ、ＯＲなどの論理セル単体を指し、論理回路セルは論理セルと論理セルに繋がる配線ネットワークの組になったものを指すものとする。
【発明の効果】
【００２８】
本発明により、大規模ＬＳＩであっても、高精度のトランジスタレベル回路シミュレーションを用いた遅延演算が実現可能となる。処理時間が長いトランジスタレベル回路シミュレーションであっても、回路マッチング機能を用いることで、回路シミュレーション回数を減らすことが可能で、処理時間を短縮できる。
また、回路シミュレーション実施済みの論理セル及び配線ネットワークをレイアウト時に優先的に使うことで、レイアウト完了後の遅延演算処理時間の削減が可能である。
また、タイミングエラーが出ている箇所について、回路シミュレーション結果を用いたタイミング改善案を提示することで、タイミング改善にかかる工数を削減できる。
また、既存のゲートレベル遅延演算において、遅延ライブラリを動作条件にあわせて再キャラクタライズすることで、より高精度なゲートレベル遅延演算を実現することが可能となる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態を、図面を参照しながら説明する。
(実施の形態１)
本発明の実施の形態１について、図１乃至５を参照しつつ詳細に説明する。
図１は本発明の実施の形態１の遅延演算方法で用いられるデータベースを示す図、図２はトランジスタレベルオンデマンド遅延演算システムにおける処理工程を示す図、図３は前記オンデマンド遅延演算システムの回路切り出し工程を示す図、図４は前記オンデマンド遅延演算システムの回路マッチング工程を示す図、図５はトランジスタレベルオンデマンド遅延演算装置を示す図である。
【００３０】
このデータベース１０３は、図１に示すように、トランジスタのデバイスパラメータ情報１００と、前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報１０１と、セル間配線ネットワークの抵抗および容量を記載したＲＣ情報１０２とによって得られた論理回路セル情報００１と、その遅延情報００２、さらに前記サブサーキット情報１０１と前記デバイスパラメータ情報１００と前記ＲＣ情報１０２とからなるデータセットに基づき、一部を修正して演算処理を行うことにより、派生的に算出された派生論理回路セル情報００１Ｓと、派生遅延情報００２Ｓとを格納し、この派生情報が逐次追加されていくようにしたことを特徴とするものである。ここでは、演算装置の空き時間に、前記サブサーキット情報１０１と前記デバイスパラメータ情報１００と前記ＲＣ情報１０２とからなるデータセットに基づき、一部を修正して演算処理を行うことにより、派生的に算出された派生情報を、追加格納可能な情報追加領域Ａを備え、派生情報としての派生論理回路セル情報００１Ｓ、派生遅延情報００２Ｓを格納したことを特徴とするものである。
【００３１】
図２において、１００は回路シミュレーション用のデバイスパラメータ、１０１は回路シミュレーション用のトランジスタレベルのセルネットリストが記載されたサブサーキット、１０２は回路の配線抵抗、容量が記載されたＲＣ情報、１０３はオンデマンド遅延演算システムが有するデータベース、１０４は本実施の形態のオンデマンド遅延演算システムにより計算されたセル毎の遅延情報である。
【００３２】
そして本発明の遅延演算方法は、このデータベースを用いて、図２に示すように、回路情報から、前記論理セル内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキットと、トランジスタのデバイスパラメータと、前記セル間配線ネットワークの抵抗および容量を記載したＲＣ情報を記録媒体に入力し、データベースを生成するデータ入力工程Ｓ１００と、前記ＲＣ情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程Ｓ１０１と、切り出された論理回路セル毎に、前記データベースに一致する論理回路セルが登録されているかを判定する回路マッチング工程Ｓ１０２と、前記回路マッチング工程で、前記データベースに登録されている場合は、遅延情報を前記データベースから取得し、登録されていない場合は、トランジスタレベル回路シミュレーションを行なう回路シミュレーション工程Ｓ１０３と、前記回路シミュレーション工程の出力である論理回路セル毎の遅延情報を出力するデータ出力工程Ｓ１０３とを備えたことを特徴とする。
【００３３】
図３は、上記工程中において、回路切り出し工程を説明する図であり、詳細については後述するが、論理セル２００，２０２，２０３の間に各論理セルをつなぐ配線ネットワーク２０３，２０４が設けられている回路から、例えば論理セル２００とそれに繋がる配線ネットワーク２０３を論理回路セル２０６として切り出す。２００は論理セル、２０１は論理セル、２０２は論理セルであり、２０３は論理セル２００と論理セル２０１間の配線ネットワーク、２０４は論理セル２０１と論理セル２０２間の配線ネットワーク、２０５は、論理セル２０１の入力端子容量、２０６は、論理セル２００、配線ネットワーク２０３、入力端子容量２０５で構成される論理回路セル、２０７は、論理セル２０２の入力端子容量、論理セル２０１、配線ネットワーク２０４、入力端子容量２０７で構成される論理回路セル２０８である。このように、本実施の形態における回路切り出し工程では、論理セルと、これに接続する配線ネットワークとを一単位とし、これを論理回路セル２０８として、切り出す。
【００３４】
次に、本発明のマッチング工程について図４に示す。詳細については後述するが、図４において、３００は論理セル、３０１は論理セル３００に接続される配線ネットワーク、３０２は論理セル、３０３は論理セル３０２に接続される配線ネットワーク、３０４は論理セル、３０５は論理セル３０４に接続される配線ネットワーク、３０６は配線ネットワーク３０１とそれを駆動する論理セル３００で構成される論理回路セル、３０７は配線ネットワーク３０３とそれを駆動する論理セル３０２で構成される論理回路セル、３０８は配線ネットワーク３０５とそれを駆動する論理セル３０４で構成される論理回路セル、３０９は論理回路セル３０６の遅延テーブル、３１０は論理回路セル３０７の遅延テーブル、３１１は論理回路セル３０８の遅延テーブル、３１２は論理セル、３１３は配線ネットワーク、３１４は論理回路セル、３１５は論理セル３１２への入力信号波形である。
【００３５】
次に、本発明の遅延演算方法を実施するための遅延演算装置について説明する。この遅延演算装置は、図５に示すように、デバイスパラメータ１００、ＲＣ情報１０２、サブサーキット１０１を入力するデータ入力部４００と、入力されたデータから回路を切り出す回路切り出し部４０１と、切り出した回路と本システムのデータベースを比較して、既存回路であるかを判定する回路マッチング部４０２、切り出した回路の回路シミュレーションを行なう回路シミュレーション部４０３と、回路シミュレーションで計算された結果である遅延情報１０４を出力するデータ出力部４０４とを具備している。
【００３６】
大規模ＬＳＩに対し、トランジスタレベル回路シミュレーションにより、遅延時間を計算するトランジスタレベルオンデマンド遅延演算システムについて詳細に説明する。
最初に、データ入力工程Ｓ１００において、デバイスパラメータ情報１００、サブサーキット情報１０１、ＲＣ情報１０２を読み込む。デバイスパラメータ情報１００はトランジスタ情報などのプロセス情報が記載された回路シミュレーション用パラメータである。サブサーキット情報１０１はバッファやインバータ等の論理セルのトランジスタレベルのネットリストであり、論理セルを構成するトランジスタと、そのトランジスタに繋がる配線の抵抗、容量情報が記載されている。サブサーキット情報１０１は、ＬＳＩで使用される全論理セル分読み込む。ＲＣ情報１０２には、論理セル間を接続する配線の抵抗値、容量値が記載されている。
【００３７】
次に、回路切り出し工程Ｓ１０１では、読み込んだＲＣ情報１０２から、回路シミュレーション用に回路を切り分ける。図３に示したように、論理セル２００、論理セル２０１、論理セル２０２が、配線ネットワーク２０３、配線ネットワーク２０４で接続されているような回路の場合、論理セル２０１を論理セル２０１の入力端子容量２０５に置き換え、配線ネットワーク２０３に接続し、論理セル２００とあわせて論理回路セル２０６として回路切り出しを行なう。同様に、論理セル２０１についても、論理セル２０１と、配線ネットワーク２０４と、論理セル２０２の入力端子容量２０７で論理回路セル２０８として切り出される。回路切り出し工程Ｓ１０１では、ＬＳＩ中に存在する全論理セル毎に、「論理セル＋配線ネットワーク＋入力端子容量」という組合せで切り出し、論理回路セルとして出力する。
【００３８】
次に、回路マッチング工程Ｓ１０２では、回路切り出し工程Ｓ１０１により切り出された論理回路セルと、オンデマンド遅延演算システムが有するデータベース１０３とを照会し、以下の条件１〜３を満たす論理回路セルが存在するか否かを調べる。
【００３９】
（条件１）論理回路セル中の論理セルが同一
（条件２）論理回路セル中の配線ネットワークの容量、抵抗の数が同じ、かつ、配線抵抗、容量値が同じ順番で接続される
（条件３）論理回路セルに入力される入力信号波形が同一
【００４０】
図４では、回路シミュレーションステップで得られるデータベース１０３中に、３つの論理回路が登録されているものとする。バッファ属性を持つ論理セル３００と、３つの容量、一つの抵抗の配線ネットワーク３０１からなる論理回路セル３０６、インバータ属性を持つ論理セル３０２と、３つの容量、一つの抵抗の配線ネットワーク３０３からなる論理回路セル３０７、バッファ属性を持つ論理セル３０４と、５つの容量、３つの抵抗の配線ネットワーク３０５からなる論理回路セル３０８である。さらに、それぞれの論理回路セルには、入力信号波形と遅延時間の関係が記載されている。論理回路セル３０６の場合、入力信号波形が１．０ｎＳの時の遅延時間は０．５６７ｎＳで、入力信号波形が１．３ｎＳの時は遅延時間が０．６６９ｎＳである遅延テーブル３０９が存在する。論理回路セル３０７、３０８にもそれぞれ、遅延テーブル３１０、３１１が存在する。
【００４１】
ここでは、論理回路セル３１４と同じ論理回路セルがデータベース１０３中に存在するか否かを調べる。まず、論理回路セル３１４中の論理セル３１２はバッファ属性を持つので、論理回路セル３０７は（条件１）を満たさないので、候補から外れる。次に、論理回路セル３１４中の配線ネットワーク３１３は、５つの容量、３つの抵抗から構成されているために、論理回路セル３０６は（条件２）を満たさず、候補から外れる。論理回路セル３０８は、論理セルの属性、配線ネットワークの抵抗、容量の個数も同じなので候補として残る。次に、論理回路セル３０８と、論理回路セル３１４の、抵抗、容量の大きさが同じで、かつ、接続順番が同じであるか否かを比べ、図４の例では同じなので回路として同じものが存在するとして判定する。
【００４２】
さらに、論理回路セル３１４の入力信号波形３１５の傾きが０．６ｎＳの場合、論理回路セル３０８の遅延テーブル３１１に入力信号波形０．６ｎＳが登録されているかどうかを調べる。ここで、論理回路セル３１４の入力信号波形の計算は、論理セル３１２の入力端子に繋がる論理回路セルの計算結果から入手する。図３の例では、論理回路セル２０８の入力信号波形は、論理回路セル２０６の回路シミュレーション結果から入手する。よって、この回路マッチング工程Ｓ１０２では、データの流れる方向に従い処理する必要がある。以上の結果、論理回路セル３１４は、データベース１０３中には存在するが、遅延テーブル３１１中には同じ入力信号波形の情報は持っていないと判定する。もしも、論理回路セル３０８の１０Ωと３０Ωが逆に接続されていた場合、抵抗、容量の接続順番が異なることになり、異なる論理回路セルと判定する。
【００４３】
次に、回路シミュレーション工程Ｓ１０３では、切り出した論理回路セル毎に、トランジスタレベルの回路シミュレーションにより、遅延時間を計算する。しかし、回路シミュレーション対象となる論理回路セルがデータベース１０３に存在し、かつ、入力信号波形も遅延テーブルに登録されている場合は、既に前記遅延テーブル内に遅延情報が記載されているので、回路シミュレーションは行なわずに、前記遅延情報を、データ出力工程Ｓ１０４に渡す。論理回路セル３１４は、データベース１０３には存在したが、入力信号波形０．６ｎＳは遅延テーブル３１１に登録されていないので、回路シミュレーション対象となる。同様に、データベース１０３に存在しない論理回路セルは、入力信号波形は関係なく、回路シミュレーション対象となる。前記回路シミュレーションで演算された遅延情報は、データ出力工程Ｓ１０４に引き渡される。
【００４４】
さらに、回路シミュレーションで計算された結果は、データベース１０３にも引き渡されて、情報の更新が実施される。論理回路セル３１４の場合、論理回路セルは登録されていたので、入力信号波形０．６ｎＳに対する遅延時間が、遅延テーブル３１１に追加される。データベース１０３に登録されていない論理回路セルの場合、新たな論理回路セルとして登録し、さらに、回路シミュレーションで用いた入力信号波形と遅延時間を遅延テーブルとして新規登録する。このように、論理回路セルの種類が増える毎、入力信号波形情報が増える毎にデータベース１０３の情報が更新され、回路マッチング工程Ｓ１０２で回路マッチングする確率が上がっていく。
【００４５】
回路マッチング工程Ｓ１０２で同じ論理回路セル、同じ入力信号波形と判断されれば、回路シミュレーション工程Ｓ１０３で回路シミュレーションを実施する必要がなくなるので、遅延演算時間の大幅な短縮につながる。従って、データベース１０３登録情報が増えれば増えるほど、遅延演算時間の短縮が実現可能である。
【００４６】
次に、データ出力工程Ｓ１０４では、回路シミュレーション工程Ｓ１０３で計算した、あるいは、データベース１０３から抽出した遅延時間を、遅延情報１０４として出力する。
【００４７】
以上、説明したように、大規模ＬＳＩであっても、回路切り出し工程Ｓ１０１を設けることによって、高精度なトランジスタレベル回路シミュレーションを実施することが可能で、かつ、データベース１０３を参照しての回路マッチング工程Ｓ１０２で既に回路シミュレーション実施済の論理回路セルについては、回路シミュレーションを省略することができ、遅延演算処理時間の短縮が可能である。
【００４８】
特に、このオンデマンド遅延演算システムに、いろいろな種類のＬＳＩや、同一ＬＳＩでも設計フェーズにあわせて、さまざまなバージョンの情報を入れることにより、データベース１０３登録情報が増大していき、遅延演算処理時間の短縮に繋がる。
【００４９】
従って、もし、何もＬＳＩ情報が入力されていない待ち時間には、データベース１０３登録の論理回路セルについて、遅延テーブルに登録されていない入力信号波形をさまざまに変化させて回路シミュレーションを実施しつづけることで、登録情報を増やすことにより、回路マッチング工程におけるマッチング確率は高められ、マッチングすると遅延演算が不要となるため、演算量の大幅な低減をはかることができる。データベース１０３には論理回路セルとこの遅延情報とがデータセットとして登録されるものとする。また、このデータベース１０３には優先順位を付しておき、優先順位に応じて読み出せるようにしておくことにより、データ量が多くなっても、より効率よくマッチングを行うことができる。
【００５０】
このように、本発明のオンデマンド遅延演算システムは、ＬＳＩの情報を入力しても登録情報が増えるし、ＬＳＩの情報入力待ちの状態でも、登録された論理回路セルの回路シミュレーションにより登録情報が増えるため、時間が経過すればするほど、遅延演算処理時間が短くなる確率が上がり、かつ高精度なトランジスタレベル回路シミュレーション結果を使えるというメリットがある。
【００５１】
なお、論理回路セルを切り出す場合に、終端に繋がる入力端子容量が必要になるが、この入力端子容量は入力信号波形や負荷容量に依存して変化させても良いし、入力信号波形や負荷容量に依存しない固定値で表現しても良い。
【００５２】
最後に、処理工程を遅延演算装置に対応付けると以下のようになる。この遅延演算装置においては図５に示すように、デバイスパラメータ、サブサーキット、ＲＣ情報を入力として、データ入力部４００はデータ入力工程Ｓ１００を実行する。次に、回路切り出し部４０１は回路切り出し工程Ｓ１０１を実行する。次に、回路マッチング部４０２は回路マッチング工程Ｓ１０２を実行する。次に、回路シミュレーション部４０３は回路シミュレーション工程Ｓ１０３を実行する。次に、データ出力部４０４はデータ出力工程Ｓ１０４を実行する。これらの実行の結果、論理回路セル毎の遅延情報が出力される。
【００５３】
(実施の形態２)
次に本発明の実施の形態２について、図６〜１１を用いて詳細に説明する。
図６は等価回路生成方法の処理工程を示す図、図７は等価回路生成方法の例を示す図、図８は内部モデル生成工程を示す図、図９は等価回路生成方法の遅延演算方法を示す図、図１０は等価回路生成方法をオンデマンド遅延演算システムに適用するフローを示す図、図１１は等価回路生成方法をオンデマンド遅延演算システムに適用した場合の遅延演算装置を示す図である。
【００５４】
本実施の形態の前記データ入力工程は、図６に示すように、前記配線ネットワークのアドミタンスを計算し、配線ネットワークを駆動する論理セルの出力端子での信号振舞が等価な配線ネットワークに縮退する出力モデル生成工程Ｓ５００と、前記論理セルの入力端子容量を抽出する入力モデル生成工程Ｓ５０１と、前記論理セルのファンクションを抽出する内部モデル生成工程Ｓ５０２とを含むことを特徴とする。つまり本実施の形態では、分岐を含んでいるような場合や、抵抗、容量の接続順番や大きさなどが完全一致でなくても、マッチングとみなすことができる場合も多い。そこで、任意の形状を持つ配線ネットワークをある特定の形状に縮退するようにし、マッチングの確率を向上したことを特徴とする。
【００５５】
図６において、５００は論理回路セル、５０１はファンクション付き論理回路セルである。
【００５６】
図７はこの等価回路生成の一例を示す図である。この図６において、６００は論理セル、６０１は配線ネットワーク、６０２は配線ネットワーク６０１の等価配線ネットワーク、６０３は論理セル６００と配線ネットワーク６０２で構成される論理回路セル、６０４は論理セル６００の入力端子容量、６０５は論理回路セル６０３のファンクションである。図７において、７００は論理セル、７０１は論理セル、７０２は論理セル７００、論理セル７０１と、それぞれの出力端子に繋がる配線ネットワークで構成される論理回路セル、７０３は論理セル７００のファンクション、７０４は論理セル７０１のファンクション、７０５は論理回路セル７０２のファンクションである。
【００５７】
図８は、内部モデル生成工程を示す図である。この図８において、Ｓ８００は論理回路セルの出力モデルを生成する出力モデル生成部、Ｓ８０１は論理回路セルの入力モデルを生成する入力モデル生成部、Ｓ８０２は論理回路セルの内部モデルを生成する内部モデル生成部である。図９において、Ｓ９００は等価回路のマッチングを行なう等価回路マッチング工程である。図１０において、Ｓ１０００はデバイスパラメータ１００、ＲＣ情報１０２、サブサーキット１０１を入力するデータ入力部、Ｓ１００１は入力されたデータから回路を切り出す回路切り出し部、Ｓ１００２は切り出した回路と本システムのデータベースを比較して、既存回路であるかを判定する等価回路マッチング部、Ｓ１００３は切り出した回路の回路シミュレーションを行なう回路シミュレーション部、Ｓ１００４は回路シミュレーションで計算された結果である遅延情報１０４を出力するデータ出力部である。
【００５８】
まず、図６に示すように、出力モデル生成工程Ｓ５００では、論理回路セル５００を入力として、論理回路セル５００の出力モデルを生成する。論理回路セル５００は、論理セル６００と配線ネットワーク６０１から構成されている。図７に示すように、配線ネットワーク６０１は分岐を含んでいる。前記実施の形態１に記載の回路マッチング工程Ｓ１０２では、抵抗、容量の接続順番や大きさの完全一致が必要とされるため、マッチングの確率が下がる。一方、配線ネットワークの形状が簡単なほど、マッチングする確率が上がる。よって、本実施の形態では、任意の形状を持つ配線ネットワークをある特定の形状に縮退するようにしたことを特徴とする。
【００５９】
例えば、図７記載の配線ネットワーク６０２のように二段パイ型（容量、抵抗、容量、抵抗、容量と接続される形状）に縮退する。縮退方法は、論理セル６００の出力端子での信号振舞が等価になるように、配線ネットワーク６０１のアドミタンスと、配線ネットワーク６０２のアドミタンスが等価になるように計算し、配線ネットワーク６０２の抵抗値、容量値を算出する。このように、任意の配線形状の配線ネットワーク６０１を持つ論理回路セル５００でも、簡単な二段パイ型の配線ネットワーク６０２を持つ論理回路セル６０３として表現することが可能になる。
【００６０】
次に、入力モデル生成工程Ｓ５０１では、論理回路セル５００の入力端子容量を抽出し、入力端子容量６０４として出力する。通常、入力端子容量の計算においては、論理セル６００の入力信号波形や配線ネットワーク６０１の負荷容量に依存して変化するので、それら情報にあわせて入力端子容量を抽出する。なお、入力端子容量として、入力信号波形や負荷容量に依存しないで、固定値を使う方法でも良い。
次に、内部モデル生成工程Ｓ５０２では、論理回路セル５００のファンクションを算出する。論理回路セルが一つの論理セルで構成される場合は、その論理セルのファンクションが、論理回路セルのファンクションとなる。論理回路セル５００の場合、バッファ属性の論理セル６００が一つだけなので、ファンクション６０５に示すように、入力１／０に対し、出力１／０となる。もし、図８の論理回路セル７０２のように、論理セル７００と論理セル７０１の二つの論理セルで構成されている場合は、ファンクションの合成が実施される。論理セル７００のファンクション７０３は入力１／０に対し、出力１／０のバッファ属性を持つ。論理セル７０１のファンクション７０４は入力１／０に対し、出力０／１のインバータ属性を持つ。両方のファンクションを合成すると、ファンクション７０５のように、入力１／０に対し、出力０／１となるインバータ属性を持つことになる。
【００６１】
これらファンクションを内部モデル生成工程Ｓ５０２で生成する理由について説明する。通常、バッファやインバータ等の論理セルは、ファンクションが定義されているが、本発明で新規に作成した論理回路セルは、論理セルと配線ネットワークを接続しただけで、ファンクションの定義がされていない。論理回路セル５００のように配線ネットワークを持つだけであれば、含まれる論理セルのファンクションを、その論理回路セルに再定義すればいいだけだが、論理回路セル７０２のように、複数の論理セルを持つ場合、ファンクションの合成により求めて、その論理回路セルに再定義する。
【００６２】
以上のように、ＬＳＩ中にさまざまな形状で存在する配線ネットワークを縮退し、簡単な表現をすることで、等価回路を作成することができる。特に、図１０に示すように(実施の形態１)記載のトランジスタレベルオンデマンド遅延演算システムに適用すると、有用である。回路切り出し工程Ｓ１０１で切り出した論理回路セルは、配線ネットワーク６０１のように、様々な配線形状を持つことが多い。よって、(実施の形態１)記載の回路マッチング工程Ｓ１０２を、(実施の形態２)記載の等価回路生成方法を適用し、等価回路マッチング工程Ｓ９００とすることで、様々な形状の配線ネットワークを持ったとしても、二段パイ型の抵抗、容量で表現することができる。よって、データベース１０３に登録されている論理回路セルは、二段パイ型の配線形状を持つ論理回路セルばかりになり、回路マッチングする確率が上がり、その結果、回路シミュレーションを実行しなくてもよくなる確率が上がり、遅延演算処理時間の短縮に繋がる。
【００６３】
なお、出力モデル生成工程Ｓ５００で、配線ネットワーク縮退方法として、アドミタンスを計算して二段パイ型に縮退するという説明を行なったが、一段パイ型（容量、抵抗、容量）や３段パイ型（容量、抵抗、容量、抵抗、容量、抵抗、容量）としても良い。
【００６４】
最後に、処理工程を演算処理装置に対応付けると以下のようになる。図９に示すように、論理回路セルを入力として、出力モデル生成部８００は出力モデル生成工程Ｓ５００を実行する。次に、入力モデル生成部８０１は入力モデル生成工程Ｓ５０１を実行する。次に、内部モデル生成部８０２は内部モデル生成工程Ｓ５０２を実行する。これらの実行の結果、前記論理回路セルの等価回路で構成されたファンクション付き論理回路セルが出力される。
【００６５】
また、処理工程を演算処理装置に対応付けると以下のようになる。図１１に示すようにデバイスパラメータ、サブサーキット、ＲＣ情報を入力として、データ入力部１０００はデータ入力工程Ｓ１００を実行する。次に、回路切り出し部１００１は回路切り出し工程Ｓ１０１を実行する。次に、等価回路マッチング部１００２は等価回路マッチング工程Ｓ９００を実行する。次に、回路シミュレーション部１００３は回路シミュレーション工程Ｓ１０３を実行する。次に、データ出力部１００４はデータ出力工程Ｓ１０４を実行する。これらの実行の結果、セル毎の遅延情報が出力される。
【００６６】
(実施の形態３)
本発明の第３の実施の形態について、図１２〜１４を用いて詳細に説明する。
図１２はレイアウト生成方法を示す図、図１３はレイアウト生成の例を示す図、図１４はレイアウト生成方法を実施するための演算処理装置を示す図である。
本実施の形態では、ネットリスト１１００、制約１１０１などの回路情報にもとづいて配置、配線を行なう第１の配置/配線工程Ｓ１１００と、前記第１の配置/配線工程Ｓ１１００で配置された論理セルと、その論理セルに繋がる配線ネットワークの抵抗、容量を算出する配線ＲＣ計算工程Ｓ１１０１と、前記論理セルと前記配線ネットワークの抵抗、容量を一つの論理回路セルとして、同じ論理で、同じ配線形状を持つ論理回路セルが、データベースに登録されているか否かを判定するＲＣマッチング工程Ｓ１１０２と、前記ＲＣマッチング工程Ｓ１１０２において、同じ論理で、かつ同じ配線形状の論理回路セルが登録されていない場合、論理が同じで、かつ、最も近い配線形状を持つ論理回路セルを前記データベース１０３から抽出し、その抽出された論理回路セルの配線形状を実現する第２の配置/配線工程Ｓ１１０３とを含み、レイアウト１１０３を出力するようにしたことを特徴とする。
【００６７】
図１３において、１２００は論理セル、１２０１は配線ネットワーク、１２０２は論理セル１２００と配線ネットワーク１２０１で構成される論理回路セルである。図１４において、このレイアウト生成を実行する演算処理装置は、第１の配置/配線工程を実行する第１の配置/配線部１３００と、配線ネットワークの抵抗、容量を計算する配線ＲＣ計算工程を実行する配線ＲＣ計算部１３０１と、データベース１０３を参照して、同じ配線抵抗、容量を持つ配線ネットワークを抽出するＲＣマッチング工程を実行するＲＣマッチング部１３０２は、第２の配置/配線工程を実行する第２の配置/配線部Ｓ１３０３とで構成される。
【００６８】
次にこの演算処理装置を用いたレイアウト生成方法について説明する。
最初に、第１の配置/配線工程Ｓ１１００では、ネットリスト１１００と制約１１０１を入力として、配置、配線を実施し、レイアウトを作成する。制約１１０１は、守るべきデザインルールやタイミング制約を含むデータである。この配置、配線は既存のタイミングドリブン配置、配線と同じものである。
【００６９】
次に、配線ＲＣ計算工程Ｓ１１０１では、配置/配線工程Ｓ１１００で作成したレイアウトに含まれる全配線ネットワークについて、抵抗と容量を抽出する。
【００７０】
そして、ＲＣマッチング工程Ｓ１１０２では、回路マッチング工程Ｓ１０２と同様に、配線ＲＣ計算工程Ｓ１１０１で計算した配線ネットワークの抵抗と容量、及びそれらを駆動する論理セルの組合せが論理回路セルとして、データベース１０３に登録されているかを判定する。
【００７１】
この組合せ、すなわち論理回路セル１２０２は、図１２のように論理セル１２００と配線ネットワーク１２０１で構成される。まず、論理回路セル１２０２が、データベース１０３に登録されているかどうかを判定する。判定の条件としては、前記（条件１）と（条件２）を使用する。（条件１）から論理回路セル３０７が候補から外れる。
【００７２】
次に、（条件２）から、配線ネットワークの抵抗、容量の数が異なる論理回路セル３０６が候補からはずれる。また、論理回路セル３０８についても、（条件２）から候補から外れる。
【００７３】
この結果、論理回路セル１２０２は、データベース１０３に登録されていないと判定する。登録されていない場合は、データベース１０３に新規論理回路セルとして登録する。ここで、（条件３）を判定条件に入れない理由は、まず、このレイアウト途中段階では入力信号波形を正確に求めることができないからである。もし、（条件１）、（条件２）を満たす論理回路セルが存在する場合は、ＲＣマッチング工程Ｓ１１０２の処理を終了する。
【００７４】
データベース１０３に同一の論理回路セルが存在しない場合、以下の（条件４）を満たし、かつ、最も（条件５）に近い論理回路セルを抽出する。
（条件４）ファンクションが同一
（条件５）抵抗、容量の総和が最も近い
【００７５】
この場合、（条件４）から、論理回路セル３０７が候補から外れる。論理回路セル３０６と論理回路セル３０８は（条件４）を満たすので、（条件５）に記載したように、論理回路セル１２０２と抵抗、容量の総和が近い論理回路を選択する。論理回路セル１２０２の抵抗、容量の総和は、それぞれ５９Ω、１４６fFである。論理回路セル３０６の総和は、１０Ω、４０fFである。論理回路セル３０８の総和は、６０Ω、１５０fFである。この結果、論理回路セル３０８が選択される。
【００７６】
次に第２の配置/配線工程Ｓ１２０３では、ＲＣマッチング工程Ｓ１１０２の結果に従い、配置/配線の見直しを実施する。データベース１０３に同じ論理回路セルが存在すると判断された箇所については、修正不要と見なす。同一の論理回路セルが存在しない場合は、データベース１０３に登録されている最も近い論理回路セルが、ＲＣマッチング工程Ｓ１１０２で選択されているので、その選択された論理回路セルの配線抵抗、容量と等しくなるように配置/配線をし直す。
【００７７】
これらを、全論理回路セル毎に実施し、レイアウト１１０３を生成する。ただし、レイアウトの制限などで、データベース１０３に登録された形で、配置/配線できない箇所については、修正しない。
【００７８】
以上のように、データベース１０３に登録した論理回路セルでレイアウトを実現することで、レイアウト完了後の遅延演算処理に置いて、データベース１０３とマッチングする確率が上がり、高精度なトランジスタ回路シミュレーション結果を高確率で適用することができ、処理時間の削減に繋がる。また、レイアウトの制約などにより、データベース１０３登録の論理回路セルの形状で配置、配線できなかった箇所については、データベース１０３に登録しているので、レイアウト処理をしている間に、回路シミュレーションが本発明のオンデマンド遅延演算システムで実行されることになる。その結果、遅延演算時にはマッチングする確率があがり、処理時間を削減することができる。
【００７９】
最後に、この処理工程をコンピュータを用いた演算処理装置に対応付けると以下のようになる。図１４に示すように、ネットリスト、制約を入力として、第１の配置/配線部Ｓ１３００は第１の配置/配線工程Ｓ１１００を実行する。次に、配線ＲＣ計算部Ｓ１３０１は配線ＲＣ計算工程Ｓ１１０１を実行する。次に、ＲＣマッチング部Ｓ１３０２はＲＣマッチング工程Ｓ１１０２を実行する。次に、第２の配置/配線部Ｓ３３０３は第２の配置/配線工程Ｓ３１０３を実行する。これらの実行の結果、データベース１０３に登録された論理回路セルを用いたレイアウトを生成することができる。
【００８０】
(実施の形態４)
本発明の第４の実施の形態について、図１５〜１７を用いて詳細に説明する。
図１５はタイミング最適化方法を示す図、図１６はタイミング最適化方法の例を示す図、図１７はタイミング最適化方法を実施する演算処理装置を示す図である。
本実施の形態では、図１５に示すように、前記実施の形態１、２で説明したようなオンデマンド前記遅延演算工程Ｓ１４００により計算された遅延情報を使って静的なタイミング解析を行なう静的タイミング解析工程Ｓ１４０１と、前記静的タイミング解析工程で、タイミングエラーとなったパスを構成する論理セルと配線ネットワークについて、改善したい遅延幅に応じて、前記遅延幅を実現するための前記論理セルの入力信号波形を変更する工程Ｓ１４０１と、前記配線ネットワークの配線形状を変更する工程Ｓ１４０２とを含むことを特徴とする。
【００８１】
図１６において、１５００は論理セル、１５０１は配線ネットワーク、１５０２は論理セル１５００と配線ネットワーク１５０１で構成される論理回路セルである。
またこの演算処理装置は、図１７に示すように、オンデマンド遅延演算部１６００と、静的タイミング解析を行う静的タイミング解析部１６０１と、静的タイミング解析結果に基づいてデータベースを参照し、タイミング改善回路を選択するタイミング改善回路選択部１６０２とを具備し、タイミングが最適化された改善回路１４００を出力するように構成されている。
【００８２】
次に本実施の形態の方法について図面を参照しつつ詳細に説明する。
最初に、(実施の形態１)あるいは(実施の形態２)記載のオンデマンド遅延演算システムを使ったオンデマンド遅延演算工程Ｓ１４００では、デバイスパラメータ１００、論理セルのトランジスタレベルネットリストであるサブサーキット１０１、論理セル間を接続する配線の抵抗、容量情報が記載されたＲＣ情報１０２を入力として、トランジスタレベル回路シミュレーションにより遅延時間を計算する。
【００８３】
次に、静的タイミング解析工程Ｓ１４０１で、オンデマンド遅延演算工程Ｓ１４００で計算した遅延情報を元に、タイミングチェックを行ない、タイミングエラーが出ている箇所を特定する。
【００８４】
次に、タイミング改善回路選択工程Ｓ１４０２では、前記オンデマンド遅延演算システムのデータベース１０３を参照して、タイミングを改善できる改善回路１４００を決定する。
【００８５】
静的タイミング解析工程Ｓ１４０１でタイミングエラーと判定されたパスを改善するために、前記パスに含まれる論理セルと配線ネットワークの遅延時間を改善する。
【００８６】
例えば、図１５に示すように、改善する箇所が、論理セル１５００と配線ネットワーク１５０１で構成されている論理回路セル１５０２であるとして説明する。タイミング改善の際、論理が変わると論理エラーとなってしまうので、必ず論理が同一の改善回路を選択しないといけないので、ファンクションが必ず同じ改善回路を選択する。改善回路の選択には二つの方法がある。
（選択方法１）同一論理回路セルで入力信号波形情報を変更
（選択方法２）ファンクションが同じで、配線抵抗、容量が異なる論理回路セルを選択
【００８７】
データベース１０３に同一の論理回路セルが登録されている場合は、（選択方法１）あるいは（選択方法２）のいずれかで、改善回路を選択する。データベース１０３に登録されていない場合は、（選択方法２）で改善回路を選択するか、新規にデータベース１０３に論理回路セルを登録し、回路シミュレーションを実行した後、（選択方法１）も選択できるようにするかのいずれかである。
【００８８】
（選択方法１）では、論理回路セル１５０２と同一の論理回路セル３０８の遅延テーブル３１１を参照し、所望の遅延時間となる入力信号波形を検索する。例えば、論理回路セル１５００の入力信号波形が１.９ｎＳであって、この論理回路セルでの遅延を６８４pＳ小さくしたい場合には、論理回路セル１５００の入力信号波形を０.５ｎＳまで急峻にしないといけないことがわかる。
【００８９】
また、論理回路セル１５００の入力信号波形を変更させることが難しい場合には、配線ネットワーク１５０１を変える選択（選択方法２）を選択する。例えば、論理回路セル３０６の配線ネットワーク３０１に配線を変更することが可能であれば、論理回路セル１５００の入力信号波形が、１.９ｎＳであっても所望の６８４pＳ小さくすることが可能である。よって、タイミング改善回路選択工程Ｓ１４０２では、入力信号波形を変更させたい場合は、（選択方法１）を優先的に使い、入力信号波形は変更せずに、配線形状を変えることで対応する場合には、（選択方法２）を優先的に使うことで、最適なタイミングを得られる改善回路１４００を得ることができる。
【００９０】
以上のように、予めタイミング最適化後の遅延時間が回路シミュレーションにより求められているデータベース１０３の情報を使用することで、タイミング改善後の再遅延演算、再タイミング検証で、エラーを完全に改善することができる。また、改善回路の選択方法を二種類用意したことで、レイアウト修正が簡単でやりやすい方法を選択することができる。いずれの方法を選択したとしても、既に、回路シミュレーションで計算された遅延情報を実現するだけなので、再タイミング検証ではタイミングエラーはでないというメリットがある。
【００９１】
なお、前記実施の形態では、一つの論理回路セルの改善方法について説明したが、通常、パスは複数の論理回路セルが繋がっているために、同様の処理をレイアウト修正可能な論理回路セルに対して行なうことで、パス全体としてのタイミング改善を実現することができる。
【００９２】
最後に、処理工程を演算処理装置に対応付けると以下のようになる。デバイスパラメータ、サブサーキット、ＲＣ情報を入力として、オンデマンド遅延演算部１６００はオンデマンド遅延演算工程Ｓ１４００を実行する。次に、静的タイミング解析部１６０１は静的タイミング解析工程Ｓ１４０１を実行する。そして、タイミング改善回路選択部１６０２はタイミング改善回路選択工程Ｓ１４０２を実行する。これらの実行の結果、タイミングエラーが出た箇所のタイミングを改善できる改善回路を選択することができる。
【産業上の利用可能性】
【００９３】
本発明は、半導体集積回路設計におけるタイミング解析において、遅延演算を高速かつ高精度に計算することが可能となることから、大規模ＬＳＩの設計における遅延演算の処理高速化、高精度化に有用である。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施の形態で用いられるデータベースを示す図
【図２】トランジスタレベルオンデマンド遅延演算システムの処理工程を示す図
【図３】前記オンデマンド遅延演算システムの回路切り出し工程を示す図
【図４】前記オンデマンド遅延演算システムの回路マッチング工程を示す図
【図５】トランジスタレベルオンデマンド遅延演算システムの遅延知恵を示す図
【図６】等価回路生成方法の処理工程を示す図
【図７】等価回路生成方法の例を示す図
【図８】内部モデル生成工程を示す図
【図９】等価回路生成方法を実施するための演算処理装置を示す図
【図１０】等価回路生成方法をオンデマンド遅延演算システムに適用するフローを示す図
【図１１】等価回路生成方法をオンデマンド遅延演算システムに適用した場合の遅延演算装置を示す図
【図１２】レイアウト生成方法を示す図
【図１３】レイアウト生成の例を示す図
【図１４】レイアウト生成方法の遅延演算装置を示す図
【図１５】タイミング最適化方法を示す図
【図１６】タイミング最適化方法の例を示す図
【図１７】タイミング最適化方法に用いられる演算処理装置を示す図
【図１８】従来の遅延演算用遅延ライブラリ生成方法を示す図
【図１９】従来の遅延演算用遅延ライブラリ生成方法を示す図
【図２０】従来の遅延演算方法を示す図
【符号の説明】
【００９５】
１０３  データベース
５０１  ファンクション付き論理回路セル
６０２  等価配線ネットワーク
６０３  論理回路セル
６０４  入力端子容量
６０５  ファンクション
１４００  改善回路
Ｓ１００  データ入力工程
Ｓ１０１  回路切り出し工程
Ｓ１０２  回路マッチング工程
Ｓ１０３  回路シミュレーション工程
Ｓ１０４  データ出力工程
Ｓ５０１  出力モデル生成工程
Ｓ５０２  入力モデル生成工程
Ｓ５０３  内部モデル生成工程
Ｓ９００  等価回路マッチング工程
Ｓ１１００  第１の配置/配線工程
Ｓ１１０１  配線ＲＣ計算工程
Ｓ１１０２  ＲＣマッチング工程
Ｓ１１０３  第２の配置/配線工程
Ｓ１４００  オンデマンド遅延演算工程
Ｓ１４０１  静的タイミング解析工程
Ｓ１４０２  タイミング改善回路選択工程
【図１】
2007102420.tif 000003
【図２】
2007102420.tif 000004
【図３】
2007102420.tif 000005
【図４】
2007102420.tif 000006
【図５】
2007102420.tif 000007
【図６】
2007102420.tif 000008
【図７】
2007102420.tif 000009
【図８】
2007102420.tif 000010
【図９】
2007102420.tif 000011
【図１０】
2007102420.tif 000012
【図１１】
2007102420.tif 000013
【図１２】
2007102420.tif 000014
【図１３】
2007102420.tif 000015
【図１４】
2007102420.tif 000016
【図１５】
2007102420.tif 000017
【図１６】
2007102420.tif 000018
【図１７】
2007102420.tif 000019
【図１８】
2007102420.tif 000020
【図１９】
2007102420.tif 000021
【図２０】
2007102420.tif 000022