JP2007102420A - データベース、データベースの生成方法、半導体集積回路の遅延演算方法および最適化方法 - Google Patents

データベース、データベースの生成方法、半導体集積回路の遅延演算方法および最適化方法 Download PDF

Info

Publication number
JP2007102420A
JP2007102420A JP2005290189A JP2005290189A JP2007102420A JP 2007102420 A JP2007102420 A JP 2007102420A JP 2005290189 A JP2005290189 A JP 2005290189A JP 2005290189 A JP2005290189 A JP 2005290189A JP 2007102420 A JP2007102420 A JP 2007102420A
Authority
JP
Japan
Prior art keywords
cell
logic
circuit
information
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005290189A
Other languages
English (en)
Inventor
Nobufusa Iwanishi
信房 岩西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005290189A priority Critical patent/JP2007102420A/ja
Publication of JP2007102420A publication Critical patent/JP2007102420A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】計算誤差を低減し、高速かつ高精度のトランジスタレベル回路シミュレーションを実現する。
【解決手段】論理セル内のサブサーキットと、トランジスタのデバイスパラメータと、セル間配線ネットワークの抵抗、容量を記載したRC情報を入力するデータ入力工程と、前記RC情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程と、切り出された論理回路セル毎に、データベースに一致する論理回路セルが登録されているかを判定する回路マッチング工程と、前記回路マッチング工程で、前記データベースに登録されている場合は、遅延情報を前記データベースから取得し、登録されていない場合は、トランジスタレベル回路シミュレーションを行なう回路シミュレーション工程と、前記回路シミュレーション工程の出力である論理回路セル毎の遅延情報を出力するデータ出力工程により構成される。
【選択図】 図1

Description

本発明は、データベース、データベースの生成方法、半導体集積回路の遅延演算方法および最適化方法に係り、特に、半導体集積回路設計におけるタイミング解析において、遅延演算を高速/高精度に計算するシステムに関する。
現在、大規模LSIの遅延演算においては、ゲートレベル遅延演算が主流である。ゲートレベル遅延演算は、予め論理セル毎に遅延ライブラリを準備しておき、その遅延ライブラリを用いて計算を行なうという方法がとられている(特許文献1)。
この方法について、図18〜20を用いて説明する。
図18は通例の遅延演算用遅延ライブラリ生成方法を示す説明図、図19(a)および(b)は、入力信号波形と遅延時間との関係を示す図、及び負荷容量と遅延時間との関係を示す図である。また、図21はこの遅延演算方法を示す図である。図18に示したように、キャラクタライズ対象の論理セル2000に、配線ネットワークとしての負荷容量2002が接続されており、遅延ライブラリ2003に、これら入力信号波形、論理セル、負荷容量を入力しておく。そして、この論理セル2000に波形2001をもつ入力信号が入力したとする。ここで2004は、キャラクタライズポイントである。図20は図19(a)の要部拡大図であり、遅延曲線2102のキャラクタライズポイント2100、2101間を結ぶ直線を補間曲線2103とし、この遅延曲線2102と補間曲線2103の差が誤差2104である。
ここで、遅延ライブラリは、図18に示すように、キャラクタライズ対象の論理セル2000に入力信号波形2001と負荷容量2002を与えて、トランジスタレベルの回路シミュレーションを行ない、遅延時間を求める。その遅延時間を、遅延ライブラリ2003として登録する。このキャラクタライズにおいては、入力信号波形や負荷容量の組合せは無限に存在するので、キャラクタライズポイントを決めてキャラクタライズする。遅延ライブラリ2003では、キャラクタライズポイント2004のように、入力信号波形を6種類、負荷容量を6種類、キャラクタライズポイントとして回路シミュレーションした例である。キャラクタライズポイントは、遅延ライブラリ2003の入力信号波形、負荷容量と遅延時間のグラフ中の丸印で表現されている。
次に、この遅延ライブラリを用いた遅延演算で発生する誤差について説明する。図20に示すように、キャラクタライズポイント2100(入力信号波形の大きさは、Slew1)と、キャラクタライズポイント2101(入力信号波形の大きさは、Slew2)で挟まれた入力信号波形の大きさがSlewXの場合の遅延演算は、それぞれのキャラクタライズポイントでの遅延時間の補間により求める。ゲートレベル遅延演算では、キャラクタライズポイント2100とキャラクタライズポイント2101を補間曲線(直線近似の場合が多い)で結び、前記SlewXの時の遅延時間を計算する。その計算された結果が、delay1である。しかしながら、一般的に入力信号波形と遅延時間の関係は、上に凸の単調増加の遅延曲線2102であるため、SlewXが入力された時の遅延時間はdelay2になる。その結果、前記delay1とdelay2に差が生じ、誤差2104となる。一つの論理セルについて、この誤差2104が発生し、クロック同期回路の場合、フリップフロップ間に複数段の論理セルが存在するため、この誤差が重なりあって、さらに大きな誤差になる場合がある。
また、特許文献1に、LSIの論理セルと配線ネットワークと端子容量を切り出して回路シミュレーションを行うことにより、LSI規模でも、回路シミュレーションを用いて遅延演算を行う方法が記載されている。
特開2000−259686号公報
以上説明したように、上記ゲートレベル遅延演算方法では、遅延ライブラリを作成する段階で、入力信号波形、負荷容量の組合せが限定されてしまうために、キャラクタライズポイントをはずれる動作条件では補間により遅延時間を計算している。そのため、数百万個規模で論理セルが使われるLSIでは、補間による誤差が蓄積されて、大きな誤差になるという場合が出てきてしまうことがあった。
また、上述した回路シミュレーションを用いた遅延演算方法では、回路規模の増大に伴い、処理時間が増大してしまい、現実的な時間では処理が終らないという課題がある。
本発明は前記実情に鑑みてなされたもので、高速かつ高精度に遅延演算を実施するためのデータベースを提供することを目的とする。
また、高速かつ高精度に遅延演算を実施するためのデータベースを提供することを目的とする。
さらに、本発明では、このデータベースを用いて高速かつ高精度に遅延演算を行う方法及び装置を提供することを目的とする。
また、本発明では、このデータベースを用いて高速かつ高精度に回路シミュレーションを行う方法を提供することを目的とする。
さらにまた本発明では、このデータベースを用いて高精度に半導体集積回路の設計を行方法を提供することを目的とする。
上記問題を解決するために、本発明は、基本の論理セルあるいは機能マクロブロックを、セル間配線ネットワークで接続して構成される半導体集積回路の回路情報を格納したデータベースにおいて、前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報と、前記トランジスタのデバイスパラメータ情報と、前記セル間配線ネットワークの抵抗および容量を記載したRC情報とに基づいて生成され、基本の論理セルあるいは機能マクロブロックと、セル間配線ネットワークとで構成される論理回路セルと、前記論理回路セルに対応する遅延情報とを格納したデータベースを構成する。
この構成により、論理セルだけでなくセル間配線ネットワークも含めて論理回路セルとして、登録すると共にこの論理回路セルに対応する遅延情報を登録しているため、より高精度のデータベースを得ることが可能となる。
また、本発明は、上記データベースにおいて、前記論理回路セルと、当該論理回路セルに対する遅延情報とからなるデータセットに基づき、一部を修正した演算処理により、派生的に算出された派生情報を、追加格納可能な情報追加領域を備えたものを含む。
この構成により、逐次、追加情報を格納していくことができ、演算なしに遅延情報を得ることができ、演算量を大幅に低減することができる。
また、本発明は、上記データベースにおいて、優先順位を外部から入力可能な優先順位設定領域を備えたものを含む。
この構成により、データベースからの選択が高速かつ高精度に実現可能となり、より高速化をはかることができる。
また、本発明のデータベースの生成方法は、基本の論理セルあるいは機能マクロブロックを、セル間配線ネットワークで接続して構成される半導体集積回路の回路情報から、前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報を生成する工程と、前記回路情報から、トランジスタのデバイスパラメータ情報を生成する工程と、前記回路情報から、前記セル間配線ネットワークの抵抗および容量を記載したRC情報を生成する工程と、前記サブサーキット情報と、デバイスパラメータ情報と、RC情報とに基づいて、基本の論理セルあるいは機能マクロブロックと、セル間配線ネットワークとで構成される論理回路セルを生成する工程と、前記論理回路セルと、論理回路セルに対応する遅延情報とを記録媒体に格納する工程とを含む。
この構成により、論理セルだけでなくセル間配線ネットワークも含めて論理回路セルとして、登録すると共にこの論理回路セルに対応する遅延情報を登録しているため、より高精度のデータベースを生成することが可能となり、遅延演算および回路シミュレーションを行うことが可能となる。
また、本発明は、上記データベースの生成方法において、前記論理回路セルと、前記遅延情報とからなるデータセットに基づき、一部を修正した演算処理により、派生的に派生情報を算出する工程と、前記派生情報を、前記記録媒体の情報追加領域に格納する工程とを備えたものを含む。
この構成により、より近いデータを増やすことができ、データベースの高精度化につながる。
また、本発明は、上記データベースの生成方法において、前記派生情報を算出する工程は、演算装置の休止時間中に実施され、格納量を増大する工程を含む。
この構成により、特別の装置や時間を要することなくデータベースを生成することができ、データ量の増大をはかることができる。
また、本発明は、上記データベースの生成方法において、格納された前記データセット及びその派生情報との優先順位を設定する優先順位設定工程と、前記優先順位に応じてデータセットを再配列する工程とを含む。
この構成により、使用に際し、より早く最適のデータセットを呼び出すことができる。
また、本発明は、上記データベースの生成方法において、前記再配列する工程は、演算装置の休止時間中に実施されるものであるものを含む。
この構成により、特別の装置や時間を要することなく、最適なデータベースを生成することができ、データの確実化をはかることができる。
また、本発明は、上記データベースの生成方法において、前記RC情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程を含む。
この構成により、より高精度のデータベースの形成が可能となる。
また、本発明は、基本の論理セルあるいは機能マクロブロックをセル間配線ネットワークで接続して構成される半導体集積回路において、大規模LSIの遅延情報を、トランジスタレベルの回路シミュレーションにより、遅延算出を行なう遅延演算方法であって、
前記論理セル内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキットと、トランジスタのデバイスパラメータと、前記セル間配線ネットワークの抵抗および容量を記載したRC情報とにもとづき得られる論理回路セルと、この論理回路セルに対応する遅延情報とを記録媒体に入力し、データベースを生成するデータ入力工程と、前記RC情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程と、切り出された論理回路セル毎に、前記データベースに一致する論理回路セルが登録されているかを判定する回路マッチング工程と、前記回路マッチング工程で、前記データベースに登録されている場合は、遅延情報を前記データベースから取得し、登録されていない場合は、トランジスタレベル回路シミュレーションを行なう回路シミュレーション工程と、前記回路シミュレーション工程の出力である論理回路セル毎の遅延情報を出力するデータ出力工程とを含む。
この構成により、回路マッチングにより、データベースから遅延情報を取得することができるため、より高速な処理が可能となる。
また、本発明は、上記遅延演算方法において、前記回路マッチング工程は、切り出された論理回路セルごとに、論理セルの種別、配線ネットワークの抵抗、容量の大きさ、および接続関係から、前記データベースに一致する論理回路セルが登録されているかを判定する工程であるものを含む。
また、本発明は、上記遅延演算方法において、前記回路マッチング工程は、切り出された論理回路セルごとに、等価回路を生成する工程と、前記生成された等価回路から、前記データベースに一致する論理回路セルが登録されているか否かを判定する工程とを含むものを含む。
この構成により、わずかに異なる論理回路セルにおいても等価回路的に同等であると判断することができる場合もあり、マッチング確率が高まるため、演算時間をより短縮することができる。
また、本発明は、上記遅延演算方法において、前記データ入力工程は、前記配線ネットワークのアドミタンスを計算し、配線ネットワークを駆動する論理セルの出力端子での信号振舞が等価な配線ネットワークに縮退する出力モデル生成工程と、前記論理セルの入力端子容量を抽出する入力モデル生成工程と、前記論理セルのファンクションを抽出する内部モデル生成工程とを含むものを含む。
この構成により、わずかに異なる論理回路セルにおいても機能的に同等であると判断することができる場合もあり、マッチング確率が高まるため、演算時間をより短縮することができる。
また、本発明は、上記遅延演算方法において、前記回路マッチング工程は、前記配線ネットワークの縮退を用いた等価回路を比較するマッチング工程とを含むものを含む。
この構成により、わずかに異なる論理回路セルにおいても機能的に同等であると判断することができる場合もあり、マッチング確率が高まるため、演算時間をより短縮することができる。
また、本発明は、基本論理セルあるいは機能マクロブロックをセル間配線ネットワークで接続して構成される半導体集積回路のレイアウト方法であって、回路情報にもとづいて配置、配線を行なう第1の配置/配線工程と、前記第1の配置/配線工程で配置された論理セルと、その論理セルに繋がる配線ネットワークの抵抗、容量を算出する配線RC計算工程と、前記論理セルと前記配線ネットワークの抵抗、容量を一つの論理回路セルとして、同じ論理で、同じ配線形状を持つ論理回路セルが、データベースに登録されているか否かを判定するRCマッチング工程と、前記RCマッチング工程において、同じ論理で、かつ同じ配線形状の論理回路セルが登録されていない場合、論理が同じで、かつ、最も近い配線形状を持つ論理回路セルを前記データベースから抽出し、その抽出された論理回路セルの配線形状を実現する第2の配置/配線工程とを含む。
この構成により、回路シミュレーション実施済みの論理セル及び配線ネットワークをレイアウト時に優先的に使うことができるため、レイアウト完了後の遅延演算処理時間の削減が可能である。
また、本発明は、上記レイアウト方法において、前記第1の配置/配線工程は、回路情報としてのゲートレベルネットリストと、タイミング制約、デザインルールとに基づいて、配置配線を行う工程であるものを含む。
この構成により、より適切な配置配線が可能となる。
また、本発明のタイミング最適化方法は、遅延演算工程と、前記遅延演算工程により計算された遅延情報を使って静的なタイミング解析を行なう静的タイミング解析工程と、前記静的タイミング解析工程で、タイミングエラーとなったパスを構成する論理セルと配線ネットワークについて、改善したい遅延幅に応じて、前記遅延幅を実現するための前記論理セルの入力信号波形を変更する工程と、前記配線ネットワークの配線形状を変更する工程とを含む。
この構成により、高速かつ高精度にタイミングの最適化を計ることが可能となる。
ここで、論理セルは、インバータ、バッファ、AND、ORなどの論理セル単体を指し、論理回路セルは論理セルと論理セルに繋がる配線ネットワークの組になったものを指すものとする。
本発明により、大規模LSIであっても、高精度のトランジスタレベル回路シミュレーションを用いた遅延演算が実現可能となる。処理時間が長いトランジスタレベル回路シミュレーションであっても、回路マッチング機能を用いることで、回路シミュレーション回数を減らすことが可能で、処理時間を短縮できる。
また、回路シミュレーション実施済みの論理セル及び配線ネットワークをレイアウト時に優先的に使うことで、レイアウト完了後の遅延演算処理時間の削減が可能である。
また、タイミングエラーが出ている箇所について、回路シミュレーション結果を用いたタイミング改善案を提示することで、タイミング改善にかかる工数を削減できる。
また、既存のゲートレベル遅延演算において、遅延ライブラリを動作条件にあわせて再キャラクタライズすることで、より高精度なゲートレベル遅延演算を実現することが可能となる。
以下、本発明の実施の形態を、図面を参照しながら説明する。
(実施の形態1)
本発明の実施の形態1について、図1乃至5を参照しつつ詳細に説明する。
図1は本発明の実施の形態1の遅延演算方法で用いられるデータベースを示す図、図2はトランジスタレベルオンデマンド遅延演算システムにおける処理工程を示す図、図3は前記オンデマンド遅延演算システムの回路切り出し工程を示す図、図4は前記オンデマンド遅延演算システムの回路マッチング工程を示す図、図5はトランジスタレベルオンデマンド遅延演算装置を示す図である。
このデータベース103は、図1に示すように、トランジスタのデバイスパラメータ情報100と、前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報101と、セル間配線ネットワークの抵抗および容量を記載したRC情報102とによって得られた論理回路セル情報001と、その遅延情報002、さらに前記サブサーキット情報101と前記デバイスパラメータ情報100と前記RC情報102とからなるデータセットに基づき、一部を修正して演算処理を行うことにより、派生的に算出された派生論理回路セル情報001Sと、派生遅延情報002Sとを格納し、この派生情報が逐次追加されていくようにしたことを特徴とするものである。ここでは、演算装置の空き時間に、前記サブサーキット情報101と前記デバイスパラメータ情報100と前記RC情報102とからなるデータセットに基づき、一部を修正して演算処理を行うことにより、派生的に算出された派生情報を、追加格納可能な情報追加領域Aを備え、派生情報としての派生論理回路セル情報001S、派生遅延情報002Sを格納したことを特徴とするものである。
図2において、100は回路シミュレーション用のデバイスパラメータ、101は回路シミュレーション用のトランジスタレベルのセルネットリストが記載されたサブサーキット、102は回路の配線抵抗、容量が記載されたRC情報、103はオンデマンド遅延演算システムが有するデータベース、104は本実施の形態のオンデマンド遅延演算システムにより計算されたセル毎の遅延情報である。
そして本発明の遅延演算方法は、このデータベースを用いて、図2に示すように、回路情報から、前記論理セル内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキットと、トランジスタのデバイスパラメータと、前記セル間配線ネットワークの抵抗および容量を記載したRC情報を記録媒体に入力し、データベースを生成するデータ入力工程S100と、前記RC情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程S101と、切り出された論理回路セル毎に、前記データベースに一致する論理回路セルが登録されているかを判定する回路マッチング工程S102と、前記回路マッチング工程で、前記データベースに登録されている場合は、遅延情報を前記データベースから取得し、登録されていない場合は、トランジスタレベル回路シミュレーションを行なう回路シミュレーション工程S103と、前記回路シミュレーション工程の出力である論理回路セル毎の遅延情報を出力するデータ出力工程S103とを備えたことを特徴とする。
図3は、上記工程中において、回路切り出し工程を説明する図であり、詳細については後述するが、論理セル200,202,203の間に各論理セルをつなぐ配線ネットワーク203,204が設けられている回路から、例えば論理セル200とそれに繋がる配線ネットワーク203を論理回路セル206として切り出す。200は論理セル、201は論理セル、202は論理セルであり、203は論理セル200と論理セル201間の配線ネットワーク、204は論理セル201と論理セル202間の配線ネットワーク、205は、論理セル201の入力端子容量、206は、論理セル200、配線ネットワーク203、入力端子容量205で構成される論理回路セル、207は、論理セル202の入力端子容量、論理セル201、配線ネットワーク204、入力端子容量207で構成される論理回路セル208である。このように、本実施の形態における回路切り出し工程では、論理セルと、これに接続する配線ネットワークとを一単位とし、これを論理回路セル208として、切り出す。
次に、本発明のマッチング工程について図4に示す。詳細については後述するが、図4において、300は論理セル、301は論理セル300に接続される配線ネットワーク、302は論理セル、303は論理セル302に接続される配線ネットワーク、304は論理セル、305は論理セル304に接続される配線ネットワーク、306は配線ネットワーク301とそれを駆動する論理セル300で構成される論理回路セル、307は配線ネットワーク303とそれを駆動する論理セル302で構成される論理回路セル、308は配線ネットワーク305とそれを駆動する論理セル304で構成される論理回路セル、309は論理回路セル306の遅延テーブル、310は論理回路セル307の遅延テーブル、311は論理回路セル308の遅延テーブル、312は論理セル、313は配線ネットワーク、314は論理回路セル、315は論理セル312への入力信号波形である。
次に、本発明の遅延演算方法を実施するための遅延演算装置について説明する。この遅延演算装置は、図5に示すように、デバイスパラメータ100、RC情報102、サブサーキット101を入力するデータ入力部400と、入力されたデータから回路を切り出す回路切り出し部401と、切り出した回路と本システムのデータベースを比較して、既存回路であるかを判定する回路マッチング部402、切り出した回路の回路シミュレーションを行なう回路シミュレーション部403と、回路シミュレーションで計算された結果である遅延情報104を出力するデータ出力部404とを具備している。
大規模LSIに対し、トランジスタレベル回路シミュレーションにより、遅延時間を計算するトランジスタレベルオンデマンド遅延演算システムについて詳細に説明する。
最初に、データ入力工程S100において、デバイスパラメータ情報100、サブサーキット情報101、RC情報102を読み込む。デバイスパラメータ情報100はトランジスタ情報などのプロセス情報が記載された回路シミュレーション用パラメータである。サブサーキット情報101はバッファやインバータ等の論理セルのトランジスタレベルのネットリストであり、論理セルを構成するトランジスタと、そのトランジスタに繋がる配線の抵抗、容量情報が記載されている。サブサーキット情報101は、LSIで使用される全論理セル分読み込む。RC情報102には、論理セル間を接続する配線の抵抗値、容量値が記載されている。
次に、回路切り出し工程S101では、読み込んだRC情報102から、回路シミュレーション用に回路を切り分ける。図3に示したように、論理セル200、論理セル201、論理セル202が、配線ネットワーク203、配線ネットワーク204で接続されているような回路の場合、論理セル201を論理セル201の入力端子容量205に置き換え、配線ネットワーク203に接続し、論理セル200とあわせて論理回路セル206として回路切り出しを行なう。同様に、論理セル201についても、論理セル201と、配線ネットワーク204と、論理セル202の入力端子容量207で論理回路セル208として切り出される。回路切り出し工程S101では、LSI中に存在する全論理セル毎に、「論理セル+配線ネットワーク+入力端子容量」という組合せで切り出し、論理回路セルとして出力する。
次に、回路マッチング工程S102では、回路切り出し工程S101により切り出された論理回路セルと、オンデマンド遅延演算システムが有するデータベース103とを照会し、以下の条件1〜3を満たす論理回路セルが存在するか否かを調べる。
(条件1)論理回路セル中の論理セルが同一
(条件2)論理回路セル中の配線ネットワークの容量、抵抗の数が同じ、かつ、配線抵抗、容量値が同じ順番で接続される
(条件3)論理回路セルに入力される入力信号波形が同一
図4では、回路シミュレーションステップで得られるデータベース103中に、3つの論理回路が登録されているものとする。バッファ属性を持つ論理セル300と、3つの容量、一つの抵抗の配線ネットワーク301からなる論理回路セル306、インバータ属性を持つ論理セル302と、3つの容量、一つの抵抗の配線ネットワーク303からなる論理回路セル307、バッファ属性を持つ論理セル304と、5つの容量、3つの抵抗の配線ネットワーク305からなる論理回路セル308である。さらに、それぞれの論理回路セルには、入力信号波形と遅延時間の関係が記載されている。論理回路セル306の場合、入力信号波形が1.0nSの時の遅延時間は0.567nSで、入力信号波形が1.3nSの時は遅延時間が0.669nSである遅延テーブル309が存在する。論理回路セル307、308にもそれぞれ、遅延テーブル310、311が存在する。
ここでは、論理回路セル314と同じ論理回路セルがデータベース103中に存在するか否かを調べる。まず、論理回路セル314中の論理セル312はバッファ属性を持つので、論理回路セル307は(条件1)を満たさないので、候補から外れる。次に、論理回路セル314中の配線ネットワーク313は、5つの容量、3つの抵抗から構成されているために、論理回路セル306は(条件2)を満たさず、候補から外れる。論理回路セル308は、論理セルの属性、配線ネットワークの抵抗、容量の個数も同じなので候補として残る。次に、論理回路セル308と、論理回路セル314の、抵抗、容量の大きさが同じで、かつ、接続順番が同じであるか否かを比べ、図4の例では同じなので回路として同じものが存在するとして判定する。
さらに、論理回路セル314の入力信号波形315の傾きが0.6nSの場合、論理回路セル308の遅延テーブル311に入力信号波形0.6nSが登録されているかどうかを調べる。ここで、論理回路セル314の入力信号波形の計算は、論理セル312の入力端子に繋がる論理回路セルの計算結果から入手する。図3の例では、論理回路セル208の入力信号波形は、論理回路セル206の回路シミュレーション結果から入手する。よって、この回路マッチング工程S102では、データの流れる方向に従い処理する必要がある。以上の結果、論理回路セル314は、データベース103中には存在するが、遅延テーブル311中には同じ入力信号波形の情報は持っていないと判定する。もしも、論理回路セル308の10Ωと30Ωが逆に接続されていた場合、抵抗、容量の接続順番が異なることになり、異なる論理回路セルと判定する。
次に、回路シミュレーション工程S103では、切り出した論理回路セル毎に、トランジスタレベルの回路シミュレーションにより、遅延時間を計算する。しかし、回路シミュレーション対象となる論理回路セルがデータベース103に存在し、かつ、入力信号波形も遅延テーブルに登録されている場合は、既に前記遅延テーブル内に遅延情報が記載されているので、回路シミュレーションは行なわずに、前記遅延情報を、データ出力工程S104に渡す。論理回路セル314は、データベース103には存在したが、入力信号波形0.6nSは遅延テーブル311に登録されていないので、回路シミュレーション対象となる。同様に、データベース103に存在しない論理回路セルは、入力信号波形は関係なく、回路シミュレーション対象となる。前記回路シミュレーションで演算された遅延情報は、データ出力工程S104に引き渡される。
さらに、回路シミュレーションで計算された結果は、データベース103にも引き渡されて、情報の更新が実施される。論理回路セル314の場合、論理回路セルは登録されていたので、入力信号波形0.6nSに対する遅延時間が、遅延テーブル311に追加される。データベース103に登録されていない論理回路セルの場合、新たな論理回路セルとして登録し、さらに、回路シミュレーションで用いた入力信号波形と遅延時間を遅延テーブルとして新規登録する。このように、論理回路セルの種類が増える毎、入力信号波形情報が増える毎にデータベース103の情報が更新され、回路マッチング工程S102で回路マッチングする確率が上がっていく。
回路マッチング工程S102で同じ論理回路セル、同じ入力信号波形と判断されれば、回路シミュレーション工程S103で回路シミュレーションを実施する必要がなくなるので、遅延演算時間の大幅な短縮につながる。従って、データベース103登録情報が増えれば増えるほど、遅延演算時間の短縮が実現可能である。
次に、データ出力工程S104では、回路シミュレーション工程S103で計算した、あるいは、データベース103から抽出した遅延時間を、遅延情報104として出力する。
以上、説明したように、大規模LSIであっても、回路切り出し工程S101を設けることによって、高精度なトランジスタレベル回路シミュレーションを実施することが可能で、かつ、データベース103を参照しての回路マッチング工程S102で既に回路シミュレーション実施済の論理回路セルについては、回路シミュレーションを省略することができ、遅延演算処理時間の短縮が可能である。
特に、このオンデマンド遅延演算システムに、いろいろな種類のLSIや、同一LSIでも設計フェーズにあわせて、さまざまなバージョンの情報を入れることにより、データベース103登録情報が増大していき、遅延演算処理時間の短縮に繋がる。
従って、もし、何もLSI情報が入力されていない待ち時間には、データベース103登録の論理回路セルについて、遅延テーブルに登録されていない入力信号波形をさまざまに変化させて回路シミュレーションを実施しつづけることで、登録情報を増やすことにより、回路マッチング工程におけるマッチング確率は高められ、マッチングすると遅延演算が不要となるため、演算量の大幅な低減をはかることができる。データベース103には論理回路セルとこの遅延情報とがデータセットとして登録されるものとする。また、このデータベース103には優先順位を付しておき、優先順位に応じて読み出せるようにしておくことにより、データ量が多くなっても、より効率よくマッチングを行うことができる。
このように、本発明のオンデマンド遅延演算システムは、LSIの情報を入力しても登録情報が増えるし、LSIの情報入力待ちの状態でも、登録された論理回路セルの回路シミュレーションにより登録情報が増えるため、時間が経過すればするほど、遅延演算処理時間が短くなる確率が上がり、かつ高精度なトランジスタレベル回路シミュレーション結果を使えるというメリットがある。
なお、論理回路セルを切り出す場合に、終端に繋がる入力端子容量が必要になるが、この入力端子容量は入力信号波形や負荷容量に依存して変化させても良いし、入力信号波形や負荷容量に依存しない固定値で表現しても良い。
最後に、処理工程を遅延演算装置に対応付けると以下のようになる。この遅延演算装置においては図5に示すように、デバイスパラメータ、サブサーキット、RC情報を入力として、データ入力部400はデータ入力工程S100を実行する。次に、回路切り出し部401は回路切り出し工程S101を実行する。次に、回路マッチング部402は回路マッチング工程S102を実行する。次に、回路シミュレーション部403は回路シミュレーション工程S103を実行する。次に、データ出力部404はデータ出力工程S104を実行する。これらの実行の結果、論理回路セル毎の遅延情報が出力される。
(実施の形態2)
次に本発明の実施の形態2について、図6〜11を用いて詳細に説明する。
図6は等価回路生成方法の処理工程を示す図、図7は等価回路生成方法の例を示す図、図8は内部モデル生成工程を示す図、図9は等価回路生成方法の遅延演算方法を示す図、図10は等価回路生成方法をオンデマンド遅延演算システムに適用するフローを示す図、図11は等価回路生成方法をオンデマンド遅延演算システムに適用した場合の遅延演算装置を示す図である。
本実施の形態の前記データ入力工程は、図6に示すように、前記配線ネットワークのアドミタンスを計算し、配線ネットワークを駆動する論理セルの出力端子での信号振舞が等価な配線ネットワークに縮退する出力モデル生成工程S500と、前記論理セルの入力端子容量を抽出する入力モデル生成工程S501と、前記論理セルのファンクションを抽出する内部モデル生成工程S502とを含むことを特徴とする。つまり本実施の形態では、分岐を含んでいるような場合や、抵抗、容量の接続順番や大きさなどが完全一致でなくても、マッチングとみなすことができる場合も多い。そこで、任意の形状を持つ配線ネットワークをある特定の形状に縮退するようにし、マッチングの確率を向上したことを特徴とする。
図6において、500は論理回路セル、501はファンクション付き論理回路セルである。
図7はこの等価回路生成の一例を示す図である。この図6において、600は論理セル、601は配線ネットワーク、602は配線ネットワーク601の等価配線ネットワーク、603は論理セル600と配線ネットワーク602で構成される論理回路セル、604は論理セル600の入力端子容量、605は論理回路セル603のファンクションである。図7において、700は論理セル、701は論理セル、702は論理セル700、論理セル701と、それぞれの出力端子に繋がる配線ネットワークで構成される論理回路セル、703は論理セル700のファンクション、704は論理セル701のファンクション、705は論理回路セル702のファンクションである。
図8は、内部モデル生成工程を示す図である。この図8において、S800は論理回路セルの出力モデルを生成する出力モデル生成部、S801は論理回路セルの入力モデルを生成する入力モデル生成部、S802は論理回路セルの内部モデルを生成する内部モデル生成部である。図9において、S900は等価回路のマッチングを行なう等価回路マッチング工程である。図10において、S1000はデバイスパラメータ100、RC情報102、サブサーキット101を入力するデータ入力部、S1001は入力されたデータから回路を切り出す回路切り出し部、S1002は切り出した回路と本システムのデータベースを比較して、既存回路であるかを判定する等価回路マッチング部、S1003は切り出した回路の回路シミュレーションを行なう回路シミュレーション部、S1004は回路シミュレーションで計算された結果である遅延情報104を出力するデータ出力部である。
まず、図6に示すように、出力モデル生成工程S500では、論理回路セル500を入力として、論理回路セル500の出力モデルを生成する。論理回路セル500は、論理セル600と配線ネットワーク601から構成されている。図7に示すように、配線ネットワーク601は分岐を含んでいる。前記実施の形態1に記載の回路マッチング工程S102では、抵抗、容量の接続順番や大きさの完全一致が必要とされるため、マッチングの確率が下がる。一方、配線ネットワークの形状が簡単なほど、マッチングする確率が上がる。よって、本実施の形態では、任意の形状を持つ配線ネットワークをある特定の形状に縮退するようにしたことを特徴とする。
例えば、図7記載の配線ネットワーク602のように二段パイ型(容量、抵抗、容量、抵抗、容量と接続される形状)に縮退する。縮退方法は、論理セル600の出力端子での信号振舞が等価になるように、配線ネットワーク601のアドミタンスと、配線ネットワーク602のアドミタンスが等価になるように計算し、配線ネットワーク602の抵抗値、容量値を算出する。このように、任意の配線形状の配線ネットワーク601を持つ論理回路セル500でも、簡単な二段パイ型の配線ネットワーク602を持つ論理回路セル603として表現することが可能になる。
次に、入力モデル生成工程S501では、論理回路セル500の入力端子容量を抽出し、入力端子容量604として出力する。通常、入力端子容量の計算においては、論理セル600の入力信号波形や配線ネットワーク601の負荷容量に依存して変化するので、それら情報にあわせて入力端子容量を抽出する。なお、入力端子容量として、入力信号波形や負荷容量に依存しないで、固定値を使う方法でも良い。
次に、内部モデル生成工程S502では、論理回路セル500のファンクションを算出する。論理回路セルが一つの論理セルで構成される場合は、その論理セルのファンクションが、論理回路セルのファンクションとなる。論理回路セル500の場合、バッファ属性の論理セル600が一つだけなので、ファンクション605に示すように、入力1/0に対し、出力1/0となる。もし、図8の論理回路セル702のように、論理セル700と論理セル701の二つの論理セルで構成されている場合は、ファンクションの合成が実施される。論理セル700のファンクション703は入力1/0に対し、出力1/0のバッファ属性を持つ。論理セル701のファンクション704は入力1/0に対し、出力0/1のインバータ属性を持つ。両方のファンクションを合成すると、ファンクション705のように、入力1/0に対し、出力0/1となるインバータ属性を持つことになる。
これらファンクションを内部モデル生成工程S502で生成する理由について説明する。通常、バッファやインバータ等の論理セルは、ファンクションが定義されているが、本発明で新規に作成した論理回路セルは、論理セルと配線ネットワークを接続しただけで、ファンクションの定義がされていない。論理回路セル500のように配線ネットワークを持つだけであれば、含まれる論理セルのファンクションを、その論理回路セルに再定義すればいいだけだが、論理回路セル702のように、複数の論理セルを持つ場合、ファンクションの合成により求めて、その論理回路セルに再定義する。
以上のように、LSI中にさまざまな形状で存在する配線ネットワークを縮退し、簡単な表現をすることで、等価回路を作成することができる。特に、図10に示すように(実施の形態1)記載のトランジスタレベルオンデマンド遅延演算システムに適用すると、有用である。回路切り出し工程S101で切り出した論理回路セルは、配線ネットワーク601のように、様々な配線形状を持つことが多い。よって、(実施の形態1)記載の回路マッチング工程S102を、(実施の形態2)記載の等価回路生成方法を適用し、等価回路マッチング工程S900とすることで、様々な形状の配線ネットワークを持ったとしても、二段パイ型の抵抗、容量で表現することができる。よって、データベース103に登録されている論理回路セルは、二段パイ型の配線形状を持つ論理回路セルばかりになり、回路マッチングする確率が上がり、その結果、回路シミュレーションを実行しなくてもよくなる確率が上がり、遅延演算処理時間の短縮に繋がる。
なお、出力モデル生成工程S500で、配線ネットワーク縮退方法として、アドミタンスを計算して二段パイ型に縮退するという説明を行なったが、一段パイ型(容量、抵抗、容量)や3段パイ型(容量、抵抗、容量、抵抗、容量、抵抗、容量)としても良い。
最後に、処理工程を演算処理装置に対応付けると以下のようになる。図9に示すように、論理回路セルを入力として、出力モデル生成部800は出力モデル生成工程S500を実行する。次に、入力モデル生成部801は入力モデル生成工程S501を実行する。次に、内部モデル生成部802は内部モデル生成工程S502を実行する。これらの実行の結果、前記論理回路セルの等価回路で構成されたファンクション付き論理回路セルが出力される。
また、処理工程を演算処理装置に対応付けると以下のようになる。図11に示すようにデバイスパラメータ、サブサーキット、RC情報を入力として、データ入力部1000はデータ入力工程S100を実行する。次に、回路切り出し部1001は回路切り出し工程S101を実行する。次に、等価回路マッチング部1002は等価回路マッチング工程S900を実行する。次に、回路シミュレーション部1003は回路シミュレーション工程S103を実行する。次に、データ出力部1004はデータ出力工程S104を実行する。これらの実行の結果、セル毎の遅延情報が出力される。
(実施の形態3)
本発明の第3の実施の形態について、図12〜14を用いて詳細に説明する。
図12はレイアウト生成方法を示す図、図13はレイアウト生成の例を示す図、図14はレイアウト生成方法を実施するための演算処理装置を示す図である。
本実施の形態では、ネットリスト1100、制約1101などの回路情報にもとづいて配置、配線を行なう第1の配置/配線工程S1100と、前記第1の配置/配線工程S1100で配置された論理セルと、その論理セルに繋がる配線ネットワークの抵抗、容量を算出する配線RC計算工程S1101と、前記論理セルと前記配線ネットワークの抵抗、容量を一つの論理回路セルとして、同じ論理で、同じ配線形状を持つ論理回路セルが、データベースに登録されているか否かを判定するRCマッチング工程S1102と、前記RCマッチング工程S1102において、同じ論理で、かつ同じ配線形状の論理回路セルが登録されていない場合、論理が同じで、かつ、最も近い配線形状を持つ論理回路セルを前記データベース103から抽出し、その抽出された論理回路セルの配線形状を実現する第2の配置/配線工程S1103とを含み、レイアウト1103を出力するようにしたことを特徴とする。
図13において、1200は論理セル、1201は配線ネットワーク、1202は論理セル1200と配線ネットワーク1201で構成される論理回路セルである。図14において、このレイアウト生成を実行する演算処理装置は、第1の配置/配線工程を実行する第1の配置/配線部1300と、配線ネットワークの抵抗、容量を計算する配線RC計算工程を実行する配線RC計算部1301と、データベース103を参照して、同じ配線抵抗、容量を持つ配線ネットワークを抽出するRCマッチング工程を実行するRCマッチング部1302は、第2の配置/配線工程を実行する第2の配置/配線部S1303とで構成される。
次にこの演算処理装置を用いたレイアウト生成方法について説明する。
最初に、第1の配置/配線工程S1100では、ネットリスト1100と制約1101を入力として、配置、配線を実施し、レイアウトを作成する。制約1101は、守るべきデザインルールやタイミング制約を含むデータである。この配置、配線は既存のタイミングドリブン配置、配線と同じものである。
次に、配線RC計算工程S1101では、配置/配線工程S1100で作成したレイアウトに含まれる全配線ネットワークについて、抵抗と容量を抽出する。
そして、RCマッチング工程S1102では、回路マッチング工程S102と同様に、配線RC計算工程S1101で計算した配線ネットワークの抵抗と容量、及びそれらを駆動する論理セルの組合せが論理回路セルとして、データベース103に登録されているかを判定する。
この組合せ、すなわち論理回路セル1202は、図12のように論理セル1200と配線ネットワーク1201で構成される。まず、論理回路セル1202が、データベース103に登録されているかどうかを判定する。判定の条件としては、前記(条件1)と(条件2)を使用する。(条件1)から論理回路セル307が候補から外れる。
次に、(条件2)から、配線ネットワークの抵抗、容量の数が異なる論理回路セル306が候補からはずれる。また、論理回路セル308についても、(条件2)から候補から外れる。
この結果、論理回路セル1202は、データベース103に登録されていないと判定する。登録されていない場合は、データベース103に新規論理回路セルとして登録する。ここで、(条件3)を判定条件に入れない理由は、まず、このレイアウト途中段階では入力信号波形を正確に求めることができないからである。もし、(条件1)、(条件2)を満たす論理回路セルが存在する場合は、RCマッチング工程S1102の処理を終了する。
データベース103に同一の論理回路セルが存在しない場合、以下の(条件4)を満たし、かつ、最も(条件5)に近い論理回路セルを抽出する。
(条件4)ファンクションが同一
(条件5)抵抗、容量の総和が最も近い
この場合、(条件4)から、論理回路セル307が候補から外れる。論理回路セル306と論理回路セル308は(条件4)を満たすので、(条件5)に記載したように、論理回路セル1202と抵抗、容量の総和が近い論理回路を選択する。論理回路セル1202の抵抗、容量の総和は、それぞれ59Ω、146fFである。論理回路セル306の総和は、10Ω、40fFである。論理回路セル308の総和は、60Ω、150fFである。この結果、論理回路セル308が選択される。
次に第2の配置/配線工程S1203では、RCマッチング工程S1102の結果に従い、配置/配線の見直しを実施する。データベース103に同じ論理回路セルが存在すると判断された箇所については、修正不要と見なす。同一の論理回路セルが存在しない場合は、データベース103に登録されている最も近い論理回路セルが、RCマッチング工程S1102で選択されているので、その選択された論理回路セルの配線抵抗、容量と等しくなるように配置/配線をし直す。
これらを、全論理回路セル毎に実施し、レイアウト1103を生成する。ただし、レイアウトの制限などで、データベース103に登録された形で、配置/配線できない箇所については、修正しない。
以上のように、データベース103に登録した論理回路セルでレイアウトを実現することで、レイアウト完了後の遅延演算処理に置いて、データベース103とマッチングする確率が上がり、高精度なトランジスタ回路シミュレーション結果を高確率で適用することができ、処理時間の削減に繋がる。また、レイアウトの制約などにより、データベース103登録の論理回路セルの形状で配置、配線できなかった箇所については、データベース103に登録しているので、レイアウト処理をしている間に、回路シミュレーションが本発明のオンデマンド遅延演算システムで実行されることになる。その結果、遅延演算時にはマッチングする確率があがり、処理時間を削減することができる。
最後に、この処理工程をコンピュータを用いた演算処理装置に対応付けると以下のようになる。図14に示すように、ネットリスト、制約を入力として、第1の配置/配線部S1300は第1の配置/配線工程S1100を実行する。次に、配線RC計算部S1301は配線RC計算工程S1101を実行する。次に、RCマッチング部S1302はRCマッチング工程S1102を実行する。次に、第2の配置/配線部S3303は第2の配置/配線工程S3103を実行する。これらの実行の結果、データベース103に登録された論理回路セルを用いたレイアウトを生成することができる。
(実施の形態4)
本発明の第4の実施の形態について、図15〜17を用いて詳細に説明する。
図15はタイミング最適化方法を示す図、図16はタイミング最適化方法の例を示す図、図17はタイミング最適化方法を実施する演算処理装置を示す図である。
本実施の形態では、図15に示すように、前記実施の形態1、2で説明したようなオンデマンド前記遅延演算工程S1400により計算された遅延情報を使って静的なタイミング解析を行なう静的タイミング解析工程S1401と、前記静的タイミング解析工程で、タイミングエラーとなったパスを構成する論理セルと配線ネットワークについて、改善したい遅延幅に応じて、前記遅延幅を実現するための前記論理セルの入力信号波形を変更する工程S1401と、前記配線ネットワークの配線形状を変更する工程S1402とを含むことを特徴とする。
図16において、1500は論理セル、1501は配線ネットワーク、1502は論理セル1500と配線ネットワーク1501で構成される論理回路セルである。
またこの演算処理装置は、図17に示すように、オンデマンド遅延演算部1600と、静的タイミング解析を行う静的タイミング解析部1601と、静的タイミング解析結果に基づいてデータベースを参照し、タイミング改善回路を選択するタイミング改善回路選択部1602とを具備し、タイミングが最適化された改善回路1400を出力するように構成されている。
次に本実施の形態の方法について図面を参照しつつ詳細に説明する。
最初に、(実施の形態1)あるいは(実施の形態2)記載のオンデマンド遅延演算システムを使ったオンデマンド遅延演算工程S1400では、デバイスパラメータ100、論理セルのトランジスタレベルネットリストであるサブサーキット101、論理セル間を接続する配線の抵抗、容量情報が記載されたRC情報102を入力として、トランジスタレベル回路シミュレーションにより遅延時間を計算する。
次に、静的タイミング解析工程S1401で、オンデマンド遅延演算工程S1400で計算した遅延情報を元に、タイミングチェックを行ない、タイミングエラーが出ている箇所を特定する。
次に、タイミング改善回路選択工程S1402では、前記オンデマンド遅延演算システムのデータベース103を参照して、タイミングを改善できる改善回路1400を決定する。
静的タイミング解析工程S1401でタイミングエラーと判定されたパスを改善するために、前記パスに含まれる論理セルと配線ネットワークの遅延時間を改善する。
例えば、図15に示すように、改善する箇所が、論理セル1500と配線ネットワーク1501で構成されている論理回路セル1502であるとして説明する。タイミング改善の際、論理が変わると論理エラーとなってしまうので、必ず論理が同一の改善回路を選択しないといけないので、ファンクションが必ず同じ改善回路を選択する。改善回路の選択には二つの方法がある。
(選択方法1)同一論理回路セルで入力信号波形情報を変更
(選択方法2)ファンクションが同じで、配線抵抗、容量が異なる論理回路セルを選択
データベース103に同一の論理回路セルが登録されている場合は、(選択方法1)あるいは(選択方法2)のいずれかで、改善回路を選択する。データベース103に登録されていない場合は、(選択方法2)で改善回路を選択するか、新規にデータベース103に論理回路セルを登録し、回路シミュレーションを実行した後、(選択方法1)も選択できるようにするかのいずれかである。
(選択方法1)では、論理回路セル1502と同一の論理回路セル308の遅延テーブル311を参照し、所望の遅延時間となる入力信号波形を検索する。例えば、論理回路セル1500の入力信号波形が1.9nSであって、この論理回路セルでの遅延を684pS小さくしたい場合には、論理回路セル1500の入力信号波形を0.5nSまで急峻にしないといけないことがわかる。
また、論理回路セル1500の入力信号波形を変更させることが難しい場合には、配線ネットワーク1501を変える選択(選択方法2)を選択する。例えば、論理回路セル306の配線ネットワーク301に配線を変更することが可能であれば、論理回路セル1500の入力信号波形が、1.9nSであっても所望の684pS小さくすることが可能である。よって、タイミング改善回路選択工程S1402では、入力信号波形を変更させたい場合は、(選択方法1)を優先的に使い、入力信号波形は変更せずに、配線形状を変えることで対応する場合には、(選択方法2)を優先的に使うことで、最適なタイミングを得られる改善回路1400を得ることができる。
以上のように、予めタイミング最適化後の遅延時間が回路シミュレーションにより求められているデータベース103の情報を使用することで、タイミング改善後の再遅延演算、再タイミング検証で、エラーを完全に改善することができる。また、改善回路の選択方法を二種類用意したことで、レイアウト修正が簡単でやりやすい方法を選択することができる。いずれの方法を選択したとしても、既に、回路シミュレーションで計算された遅延情報を実現するだけなので、再タイミング検証ではタイミングエラーはでないというメリットがある。
なお、前記実施の形態では、一つの論理回路セルの改善方法について説明したが、通常、パスは複数の論理回路セルが繋がっているために、同様の処理をレイアウト修正可能な論理回路セルに対して行なうことで、パス全体としてのタイミング改善を実現することができる。
最後に、処理工程を演算処理装置に対応付けると以下のようになる。デバイスパラメータ、サブサーキット、RC情報を入力として、オンデマンド遅延演算部1600はオンデマンド遅延演算工程S1400を実行する。次に、静的タイミング解析部1601は静的タイミング解析工程S1401を実行する。そして、タイミング改善回路選択部1602はタイミング改善回路選択工程S1402を実行する。これらの実行の結果、タイミングエラーが出た箇所のタイミングを改善できる改善回路を選択することができる。
本発明は、半導体集積回路設計におけるタイミング解析において、遅延演算を高速かつ高精度に計算することが可能となることから、大規模LSIの設計における遅延演算の処理高速化、高精度化に有用である。
本発明の実施の形態で用いられるデータベースを示す図 トランジスタレベルオンデマンド遅延演算システムの処理工程を示す図 前記オンデマンド遅延演算システムの回路切り出し工程を示す図 前記オンデマンド遅延演算システムの回路マッチング工程を示す図 トランジスタレベルオンデマンド遅延演算システムの遅延知恵を示す図 等価回路生成方法の処理工程を示す図 等価回路生成方法の例を示す図 内部モデル生成工程を示す図 等価回路生成方法を実施するための演算処理装置を示す図 等価回路生成方法をオンデマンド遅延演算システムに適用するフローを示す図 等価回路生成方法をオンデマンド遅延演算システムに適用した場合の遅延演算装置を示す図 レイアウト生成方法を示す図 レイアウト生成の例を示す図 レイアウト生成方法の遅延演算装置を示す図 タイミング最適化方法を示す図 タイミング最適化方法の例を示す図 タイミング最適化方法に用いられる演算処理装置を示す図 従来の遅延演算用遅延ライブラリ生成方法を示す図 従来の遅延演算用遅延ライブラリ生成方法を示す図 従来の遅延演算方法を示す図
符号の説明
103 データベース
501 ファンクション付き論理回路セル
602 等価配線ネットワーク
603 論理回路セル
604 入力端子容量
605 ファンクション
1400 改善回路
S100 データ入力工程
S101 回路切り出し工程
S102 回路マッチング工程
S103 回路シミュレーション工程
S104 データ出力工程
S501 出力モデル生成工程
S502 入力モデル生成工程
S503 内部モデル生成工程
S900 等価回路マッチング工程
S1100 第1の配置/配線工程
S1101 配線RC計算工程
S1102 RCマッチング工程
S1103 第2の配置/配線工程
S1400 オンデマンド遅延演算工程
S1401 静的タイミング解析工程
S1402 タイミング改善回路選択工程


Claims (17)

  1. 基本の論理セルあるいは機能マクロブロックを、セル間配線ネットワークで接続して構成される半導体集積回路の回路情報を格納したデータベースにおいて、
    前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報と、前記トランジスタのデバイスパラメータ情報と、前記セル間配線ネットワークの抵抗および容量を記載したRC情報とに基づいて生成され、
    基本の論理セルあるいは機能マクロブロックと、セル間配線ネットワークとで構成される論理回路セルと、
    前記論理回路セルに対応する遅延情報と
    を格納したデータベース。
  2. 請求項1に記載のデータベースであって、
    前記論理回路セルと、当該論理回路セルに対する遅延情報とからなるデータセットに基づき、一部を修正した演算処理により、派生的に算出された派生情報を、追加格納可能な情報追加領域を備えたデータベース。
  3. 請求項1または2に記載のデータベースであって、
    優先順位を外部から入力可能な優先順位設定領域を備えたデータベース。
  4. 基本の論理セルあるいは機能マクロブロックを、セル間配線ネットワークで接続して構成される半導体集積回路の回路情報から、
    前記論理セルあるいは機能マクロブロック内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキット情報を生成する工程と、
    前記回路情報から、トランジスタのデバイスパラメータ情報を生成する工程と、
    前記回路情報から、前記セル間配線ネットワークの抵抗および容量を記載したRC情報を生成する工程と、
    前記サブサーキット情報と、デバイスパラメータ情報と、RC情報とに基づいて、基本の論理セルあるいは機能マクロブロックと、セル間配線ネットワークとで構成される論理回路セルを生成する工程と、
    前記論理回路セルと、論理回路セルに対応する遅延情報とを記録媒体に格納する工程とを含むデータベースの生成方法。
  5. 請求項4に記載のデータベースの生成方法であって、
    前記論理回路セルと、前記遅延情報とからなるデータセットに基づき、一部を修正した演算処理により、派生的に派生情報を算出する工程と、
    前記派生情報を、前記記録媒体の情報追加領域に格納する工程と
    を備えたデータベースの生成方法。
  6. 請求項5に記載のデータベースの生成方法であって、
    前記派生情報を算出する工程は、演算装置の休止時間中に実施され、格納量を増大する工程を含むデータベースの生成方法。
  7. 請求項5または6に記載のデータベースの生成方法であって、
    格納された前記データセット及びその派生情報との優先順位を設定する優先順位設定工程と、
    前記優先順位に応じてデータセットを再配列する工程と
    を含むデータベースの生成方法。
  8. 請求項7に記載のデータベースの生成方法であって、
    前記再配列する工程は、演算装置の休止時間中に実施されるものであるデータベースの生成方法。
  9. 請求項4に記載のデータベースの生成方法であって、
    前記RC情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程を含むデータベースの生成方法。
  10. 基本の論理セルあるいは機能マクロブロックをセル間配線ネットワークで接続して構成される半導体集積回路において、大規模LSIの遅延情報を、トランジスタレベルの回路シミュレーションにより、遅延算出を行なう遅延演算方法であって、
    前記論理セル内のトランジスタの接続と、前記トランジスタ間配線の抵抗および容量を記載したサブサーキットと、トランジスタのデバイスパラメータと、前記セル間配線ネットワークの抵抗および容量を記載したRC情報とにもとづき得られる論理回路セルと、この論理回路セルに対応する遅延情報とを記録媒体に入力し、データベースを生成するデータ入力工程と、
    前記RC情報から、論理セル毎に、論理セルとそれに繋がる配線ネットワークを論理回路セルとして切り出す回路切り出し工程と、
    切り出された論理回路セル毎に、前記データベースに一致する論理回路セルが登録されているかを判定する回路マッチング工程と、
    前記回路マッチング工程で、前記データベースに登録されている場合は、遅延情報を前記データベースから取得し、登録されていない場合は、トランジスタレベル回路シミュレーションを行なう回路シミュレーション工程と、
    前記回路シミュレーション工程の出力である論理回路セル毎の遅延情報を出力するデータ出力工程と
    を備えた遅延演算方法。
  11. 請求項10に記載のトランジスタレベルオンデマンド遅延演算方法であって、
    前記回路マッチング工程は、
    切り出された論理回路セルごとに、論理セルの種別、配線ネットワークの抵抗、容量の大きさ、および接続関係から、前記データベースに一致する論理回路セルが登録されているかを判定する工程である遅延演算方法。
  12. 請求項10に記載の遅延演算方法であって、
    前記回路マッチング工程は、
    切り出された論理回路セルごとに、等価回路を生成する工程と、
    前記生成された等価回路から、前記データベースに一致する論理回路セルが登録されているか否かを判定する工程と
    を含む遅延演算方法。
  13. 請求項10に記載の遅延演算方法であって、
    前記データ入力工程は、
    前記配線ネットワークのアドミタンスを計算し、配線ネットワークを駆動する論理セルの出力端子での信号振舞が等価な配線ネットワークに縮退する出力モデル生成工程と、
    前記論理セルの入力端子容量を抽出する入力モデル生成工程と、
    前記論理セルのファンクションを抽出する内部モデル生成工程と
    を含む遅延演算方法。
  14. 請求項10に記載の遅延演算方法であって、
    前記回路マッチング工程は、前記配線ネットワークの縮退を用いた等価回路を比較するマッチング工程とを含む遅延演算方法。
  15. 基本論理セルあるいは機能マクロブロックをセル間配線ネットワークで接続して構成される半導体集積回路のレイアウト方法であって、
    回路情報にもとづいて配置、配線を行なう第1の配置/配線工程と、
    前記第1の配置/配線工程で配置された論理セルと、その論理セルに繋がる配線ネットワークの抵抗、容量を算出する配線RC計算工程と、
    前記論理セルと前記配線ネットワークの抵抗、容量を一つの論理回路セルとして、同じ論理で、同じ配線形状を持つ論理回路セルが、データベースに登録されているか否かを判定するRCマッチング工程と、
    前記RCマッチング工程において、同じ論理で、かつ同じ配線形状の論理回路セルが登録されていない場合、論理が同じで、かつ、最も近い配線形状を持つ論理回路セルを前記データベースから抽出し、その抽出された論理回路セルの配線形状を実現する第2の配置/配線工程と
    を含む半導体集積回路のレイアウト方法。
  16. 請求項15に記載の半導体集積回路のレイアウト方法であって、
    前記第1の配置/配線工程は、回路情報としてのゲートレベルネットリストと、タイミング制約、デザインルールとに基づいて、配置配線を行う工程である半導体集積回路のレイアウト方法。
  17. 請求項10乃至14に記載の遅延演算方法を用いた半導体集積回路の最適化方法であって、
    前記遅延演算工程と、
    前記遅延演算工程により計算された遅延情報を使って静的なタイミング解析を行なう静的タイミング解析工程と、
    前記静的タイミング解析工程で、タイミングエラーとなったパスを構成する論理セルと配線ネットワークについて、改善したい遅延幅に応じて、前記遅延幅を実現するための前記論理セルの入力信号波形を変更する工程と、
    前記配線ネットワークの配線形状を変更する工程と
    を含むタイミング最適化方法。
JP2005290189A 2005-10-03 2005-10-03 データベース、データベースの生成方法、半導体集積回路の遅延演算方法および最適化方法 Withdrawn JP2007102420A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005290189A JP2007102420A (ja) 2005-10-03 2005-10-03 データベース、データベースの生成方法、半導体集積回路の遅延演算方法および最適化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005290189A JP2007102420A (ja) 2005-10-03 2005-10-03 データベース、データベースの生成方法、半導体集積回路の遅延演算方法および最適化方法

Publications (1)

Publication Number Publication Date
JP2007102420A true JP2007102420A (ja) 2007-04-19

Family

ID=38029316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005290189A Withdrawn JP2007102420A (ja) 2005-10-03 2005-10-03 データベース、データベースの生成方法、半導体集積回路の遅延演算方法および最適化方法

Country Status (1)

Country Link
JP (1) JP2007102420A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169680A (ja) * 2008-01-16 2009-07-30 Toshiba Corp データベースの作成方法、データベース装置および設計データの評価方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169680A (ja) * 2008-01-16 2009-07-30 Toshiba Corp データベースの作成方法、データベース装置および設計データの評価方法
US8195697B2 (en) 2008-01-16 2012-06-05 Kabushiki Kaisha Toshiba Database creation method, database device and design data evaluation method

Similar Documents

Publication Publication Date Title
US9652576B2 (en) Detailed placement with search and repair
US8789004B2 (en) Automatic flow of megacell generation
US9171124B2 (en) Parasitic extraction in an integrated circuit with multi-patterning requirements
US20100153897A1 (en) System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce leakage power in an electronic circuit and electronic design automation tool incorporating the same
US10360341B2 (en) Integrated metal layer aware optimization of integrated circuit designs
US7404161B2 (en) Fullchip functional equivalency and physical verification
CN103164585B (zh) 缓冲器的插入方法及装置
EP1402426A2 (en) Method for generating design constraints for modulates in a hierarchical integrated circuit design system
US8713506B2 (en) System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same
WO2014127123A1 (en) Look-up based fast logic synthesis
US20100050144A1 (en) System and method for employing signoff-quality timing analysis information to reduce leakage power in an electronic circuit and electronic design automation tool incorporating the same
US7340697B2 (en) Integrated computer-aided circuit design kit facilitating verification of designs across different process technologies
US8527925B2 (en) Estimating clock skew
US7984415B1 (en) Merging of equivalent logic blocks in a circuit design
US10031994B1 (en) Systems and methods for congestion and routability aware detailed placement
US20140040845A1 (en) System and method for employing side transition times from signoff-quality timing analysis information to reduce leakage power in an electronic circuit and an electronic design automation tool incorporating the same
US20120144357A1 (en) Method for Enabling Multiple Incompatible or Costly Timing Environments for Efficient Timing Closure
JP2007199951A (ja) 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム
US8739093B1 (en) Timing characteristic generation and analysis in integrated circuit design
JP2007102420A (ja) データベース、データベースの生成方法、半導体集積回路の遅延演算方法および最適化方法
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US8336013B2 (en) Determining an order for visiting circuit blocks in a circuit design for fixing design requirement violations
US10796051B1 (en) Adaptive model interface for a plurality of EDA programs
US9489480B1 (en) Techniques for compiling and generating a performance analysis for an integrated circuit design
US10049174B2 (en) Exact delay synthesis

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071113

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071120

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090106