JP2004005578A - Design method for integrated circuit - Google Patents

Design method for integrated circuit Download PDF

Info

Publication number
JP2004005578A
JP2004005578A JP2003108691A JP2003108691A JP2004005578A JP 2004005578 A JP2004005578 A JP 2004005578A JP 2003108691 A JP2003108691 A JP 2003108691A JP 2003108691 A JP2003108691 A JP 2003108691A JP 2004005578 A JP2004005578 A JP 2004005578A
Authority
JP
Japan
Prior art keywords
cell
integrated circuit
performance
evaluation
change
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.)
Pending
Application number
JP2003108691A
Other languages
Japanese (ja)
Inventor
Masakazu Tanaka
田中 正和
Shuji Tsukiyama
築山 修治
Masahiro Fukui
福井 正博
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 JP2003108691A priority Critical patent/JP2004005578A/en
Publication of JP2004005578A publication Critical patent/JP2004005578A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a design method for an integrated circuit capable of more optimizing the performance of the integrated circuit. <P>SOLUTION: After an initial layout (S20) is performed, an integrated circuit evaluation step S30, an altered cell selection step S40, and a cell performance alteration step S50 are performed repeatedly. In the altered cell selection step S40, based on the results of the evaluation by the step S30, a cell for altering the performance is selected from the cells forming the integrated circuit. In the cell performance altering step S50, the performance characteristics of the cell selected by the step S40 are determined by referring to a library 15 and using the external conditions thereof. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、CMOS・LSI等の集積回路を設計する技術に属する。
【0002】
【従来の技術】
従来、集積回路の設計においては、集積回路の面積、消費電力、動作クロック周波数等の性能を最適化するために、予め遅延や面積等が異なるライブラリセルを設計しておき、集積回路の性能評価とセル置換とを、所望の目標性能が達成されるまで繰り返し実行するような手法がとられていた。また、集積回路の性能に大きな影響を与える,配線容量等のレイアウトに依存する情報を正確に推定するために、レイアウト設計とセル置換とを繰り返し実行するような手法もとられていた。
【0003】
【発明が解決しようとする課題】
集積回路の性能を向上させるために最適なセルの仕様は、その集積回路におけるそのセルの外部条件、例えば負荷容量やドライブ等に依存する。しかしながら、従来の設計方法では、既存のライブラリを用いて設計を行うため、各ライブラリセルが、実際の集積回路における外部条件を考慮した場合、必ずしも最適であるとは限らない。したがって、この結果、集積回路の性能を必ずしも最適化できない。また、より実際の外部条件に合うように、様々なバリエーションのライブラリセルを予め準備するためには、膨大な設計工数を要する。
【0004】
前記の問題に鑑み、本発明は、集積回路の設計方法として、集積回路の性能を従来よりも最適化可能にすることを課題とする。
【0005】
【課題を解決するための手段】
前記の課題を解決するために、本発明は、集積回路の設計方法として、前記集積回路の性能を評価する集積回路評価工程と、前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、前記変更セル選択工程によって選択されたセルの性能を変化させるセル性能変更工程とを備え、前記セル性能変更工程は、前記選択されたセルについて、その外部条件を用いてその性能特性を決定するものである。
【0006】
この発明によると、変更対象として選択されたセルについて、その外部条件を用いてその性能特性が決定されるので、従来よりも、性能特性の推定精度が向上する。したがって、集積回路の性能を最適化することができるので、より最適な集積回路を設計することができる。
【0007】
そして、セルの外部条件は、出力負荷容量、入力ドライブおよび入力波形のうちの少なくとも1つを含むのが好ましい。さらに、セルの性能特性は、遅延、面積、消費電力、出力ドライブおよび入力負荷容量のうちの少なくとも1つを含むのが好ましい。
【0008】
また、本発明は、集積回路の設計方法として、前記集積回路の性能を評価する集積回路評価工程と、前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、前記変更セル選択工程によって選択されたセルの性能を変化させるセル性能変更工程とを備え、前記集積回路評価工程、前記変更セル選択工程およびセル性能変更工程を繰り返し実行するものであり、前記集積回路評価工程は、複数の評価手法の中から所定の条件に応じて1つを選択し、選択した評価手法を用いて前記集積回路に含まれたセルの性能評価を行うものである。
【0009】
この発明によると、集積回路に含まれたセルの性能評価は、複数の評価手法の中から所定の条件に応じて選択した評価手法を用いて行われる。このため、セルの性能の推定精度を落とすことなく、処理速度を向上させることができる。
【0010】
そして、前記複数の評価手法の1つは、セルを構成する各トランジスタのサイズを当該セルの面積および性能を加味して最適化し、最適化したトランジスタサイズに基づいて当該セルの性能を評価するものとするのが好ましい。
【0011】
また、前記所定の条件は、少なくとも、指定された設計期間と前記集積回路の性能目標との優先度を考慮したものとするのが好ましい。
【0012】
あるいは、前記所定の条件は、少なくとも、工程の繰り返し回数を考慮したものとするのが好ましい。
【0013】
また、本発明は、集積回路の設計方法として、前記集積回路内のセルおよびセル間配線の相対位置を決定する初期レイアウト工程と、前記集積回路の性能を評価する集積回路評価工程と、前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、前記変更セル選択工程によって選択されたセルの性能を変更するセル性能変更工程とを備え、前記集積回路評価工程、前記変更セル選択工程および前記セル性能変更工程を繰り返し実行するものであり、各工程の繰り返しにおいて、前記初期レイアウト工程において決定したセルおよびセル間配線の相対位置を継承するものである。
【0014】
この発明によると、セルおよびセル間配線の相対位置が、集積回路設計の過程において継承されるので、レイアウトに依存する集積回路の性能特性を正確に推定することができるとともに、局所解や無限ループに陥ることなく最適解を得ることができる。
【0015】
そして、前記初期レイアウト工程は、前記集積回路の面積が最小になるようにセルおよびセル間配線の相対位置を決定するのが好ましい。
【0016】
また、前記初期レイアウト工程は、前記集積回路におけるセル密度分布が均一になるようにセルおよびセル間配線の相対位置を決定するのが好ましい。
【0017】
また、前記初期レイアウト工程は、セルを行列状に配置するものとし、前記集積回路評価工程は、前記集積回路の面積を、セル行長さの最大値とセル列長さの最大値との積に基づいて評価するのが好ましい。
【0018】
また、前記集積回路評価工程は、前記セル性能変更工程において性能を変化させたセルの面積変化に起因する配線形状の変化を推定し、推定した配線形状変化を加味して、前記集積回路の性能を評価するのが好ましい。
【0019】
また、本発明は、集積回路の設計方法として、前記集積回路の性能を評価する集積回路評価工程と、前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、前記変更セル選択工程によって選択されたセルの性能を変化させるセル性能変更工程とを備え、前記集積回路評価工程、前記変更セル選択工程および前記セル性能変更工程を繰り返し実行するものであり、初期条件として、各セルの面積を最小に設定しておき、前記セル性能変更工程は、セルの性能変更をその面積が増加する方向にのみ行うものである。
【0020】
本発明によると、セルの性能変更が、その面積が増加する方向にのみ行われるため、性能推定のための計算量が少なくてすむので、処理速度が向上する。
【0021】
また、本発明は、集積回路の設計方法として、前記集積回路の性能を評価する集積回路評価工程と、前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、前記変更セル選択工程によって選択されたセルの性能を変化させるセル性能変更工程とを備え、前記集積回路評価工程、前記変更セル選択工程およびセル性能変更工程を繰り返し実行するものであり、前記集積回路評価工程は、セルを構成する各トランジスタのサイズを当該セルの面積および性能を加味して最適化し、最適化したトランジスタサイズに基づいて当該セルの性能を評価するものである。
【0022】
【発明の実施の形態】
以下、本発明の一実施形態について、図面を参照しながら説明する。
【0023】
図1は本発明の一実施形態に係る集積回路の設計方法を示すフローチャートである。図1に示すように、本実施形態では、設計対象の集積回路に関する回路情報10を入力し(S10)、初期レイアウト(S20)を行った後、ライブラリ15を参照しながら、集積回路評価工程S30、変更セル選択工程S40およびセル性能変更工程S50を繰り返し実行して最適化を行い、レイアウト結果18を出力する(S60)。また、図2は集積回路評価工程S30、変更セル選択工程S40およびセル性能変更工程S50の詳細なフローチャートである。
【0024】
まず入力工程S10において、設計対象の集積回路に関する回路情報10を読み込む。回路情報10は、集積回路を構成する各セルの論理情報とセル間の接続情報とを含んでいる。入力した回路情報10にセル性能の初期値が含まれている場合はそれを継承し、含まれていない場合は、例えばすべてのセルが最小サイズになるように、初期設定を行っておく。
【0025】
次に初期レイアウト工程S20において、集積回路内の各セルの初期配置および初期配線を行う。この配置配線情報は、集積回路の性能に影響を与える配線容量や配線抵抗等を正確に見積もるために用いる。
【0026】
すなわち、最適化の過程において各セルの形状は変化するので、面積的観点からみると、各セルの形状に応じてレイアウト変更を行うべきである。しかしながら、セル形状の変化のたびに毎回レイアウト変更を行うものとすると、膨大な計算時間が必要になるとともに、配線長が不連続に変化するために、最適化の過程で局所解や無限ループに陥ってしまう可能性がある。そこで、本実施形態では、初期レイアウトによって決定された各セルや各配線の前後左右の位置関係、すなわちセルおよびセル間配線の相対位置は、設計終了まで継承するものとし、各セルや各配線の座標のみをセル形状の変化に合わせて随時変更するものとする。セルおよび配線の座標変更は、あるセルの形状変化に応じて、その周囲のセルおよび配線を平行移動することによって行なう。このような方法を用いることによって、計算速度が短縮でき、性能の最適化にレイアウト情報をより正確に反映できるとともに、性能を連続的に変化させることが可能となる。
【0027】
次に、集積回路評価工程S30において、集積回路に含まれる各セルについてライブラリ15を参照して、遅延、面積、消費電力等の性能を評価し(S31)、各セルの性能に基づいて、集積回路全体の性能を評価する(S35)。
【0028】
図3はライブラリ15に格納された情報の例を示している。同図中、(a)はライブラリラインナップの例、(b)はあるライブラリセルの性能に関する情報の例である。本実施形態に係るライブラリでは、図3(a)に示すように、論理の異なるライブラリセルのみをそろえている。また図3(b)に示すように、異なる外部条件に応じてそれぞれ最適化されたライブラリセルの性能特性が記憶されており、さらに、同一の外部条件であっても、異なる設計指標の下で最適化された複数の性能特性が記憶されている。
【0029】
本実施形態では、図3に示すような、異なる外部条件に応じて最適化設計された性能特性のトレードオフ情報を有するライブラリを用いるので、動作周波数等の所望の集積回路性能を得るために、各セルについて、その外部条件に応じて、複数の性能特性の候補の中から1つの性能特性を選択することができる。セルの外部条件に応じた複数の性能特性は、例えば特開平11−3973号公報に開示された方法や、または性能の異なる代表的なセルをいくつか生成する方法によって作成することができる。
【0030】
セルの性能特性の項目としては、例えば、遅延、面積、消費電力、出力ドライブおよび入力負荷容量等がある。またセルの外部条件の項目としては、出力負荷容量、入力ドライブおよび入力波形等がある。図4はライブラリセルのモデルを示す図であり、同図中、(a)は回路モデル、(b)は入力波形モデルである。図4(a)において、20はセルモデル、21は入力外部条件モデル、22は出力外部条件モデルを表している。セル性能特性項目として、23は入力負荷容量、24は出力ドライブを示している。また外部条件項目として、25は入力ドライブ、26は出力負荷容量を示している。また、入力ドライブのかわりに入力波形を用いることもできる。入力波形は、図4(b)に示す入力波形曲線27によって近似し、入力電圧の変化の開始からから終了までの時間28によって表現することができる。
【0031】
例えば図3(b)では、入力ドライブが10kΩ、出力負荷容量が0.1pFとなる外部条件の下でセルを最適化設計した場合の性能特性が複数種類あり、その1つは、面積が0.1μm2 、遅延が0.1ns、消費電力が10μW、出力ドライブが30kΩ、入力負荷容量が0.01pFであることを示している。なお、各性能特性の値の刻み幅を細かくすると、そのデータ量は膨大になるので、ライブラリとしては、そのうち代表的なもののみを記憶しておき、折線またはスプライン曲線によって近似すればよい。また、入力ドライブの代わりに入力波形を用いることも可能である。
【0032】
図4(c)はあるライブラリセルについて、いくつかの外部条件の下で最適化設計した場合における遅延および面積のトレードオフ曲線の例を示している。例えば、外部条件Aに対する遅延面積トレードオフ曲線はLA、外部条件Bに対する遅延面積トレードオフ曲線はLB、外部条件Cに対する遅延面積トレードオフ曲線はLCとなる。図3(b)の各行の性能特性は、図4(c)に示す曲線上の1点となる。
【0033】
図5は従来のライブラリに格納された情報の例である。従来のライブラリでは、図5(a)に示すように、論理が同一であっても異なる性能のライブラリセルが準備されており、このため、ライブラリ設計のために膨大な工数が必要であった。また、図5(b)に示すように、外部条件に応じた設計はなされておらず、セルの性能特性は外部条件に関係なく固定されていた。
【0034】
また、本実施形態において、最適化の外部条件や性能特性が異なるセルを複数個準備しておくことによって、ライブラリ15による性能特性の推定精度を上げることができる。さらに、集積回路の設計過程で生成されるセルをライブラリ15に随時登録することによって、ライブラリ15による性能特性の推定精度をより向上させることができる。
【0035】
集積回路評価工程S30において、まずステップS31において、図3に示すようなライブラリ15に対し、各セルの外部条件として、入力ドライブおよび出力負荷容量を与え、遅延、面積、消費電力、出力ドライブおよび入力負荷容量等の性能特性を得る。入力ドライブは、対象セルを駆動するセルの出力ドライブと配線抵抗との和を用いる。また、出力負荷容量は、出力端子に接続された各セルの入力容量と、レイアウトから抽出した配線容量との総和を用いる。
【0036】
そして、ステップS35において、各セルの性能特性を用いて集積回路全体の性能を評価する。例えば、クリティカルパス遅延は、各パスを構成するセルの遅延の総和によって計算されたパス遅延の最大値である。また、各セルの消費電力の総和から集積回路全体の消費電力を計算する。またセル面積の変更に応じてレイアウト変更を行なうことによって、集積回路面積を計算することができる。
【0037】
次に、変更セル選択工程S40において、性能特性を変化させるセルを少なくとも1つ選択する。ここでは、各セルに対して性能特性の微小変化を行い、最も性能特性が改善されるセルを選択するものとする。例えば、最大遅延を同じ値だけ小さくしたとき、その面積が最も小さくなるセルを、変更対象セルとして選択する。あるいは、A,B,Cを比例定数として、式(1)によって計算されるコストの値が最小となるようなセル変更を選択する。
コスト=A・面積+B・最大遅延+C・消費電力 ‥‥(1)
【0038】
また、性能特性を評価する際、遅延および消費電力の推定精度を向上させるために、配線容量や配線抵抗の変化を見積もる。すなわち、形状が変化したセル周辺の配線およびセルを平行移動し、配線長の変化量を見積もる。この配線長変化量を用いて、配線容量および配線抵抗の変化量を計算し、遅延や消費電力等の性能特性の評価に反映させる。
【0039】
次に、セル性能変更工程S50において、変更セル選択工程S40において選択したセルの性能を変化させる。セルの性能変化を実現する方法としては、例えば以下の3通りの方法がある。
【0040】
(a)ライブラリ15に記憶された面積、遅延、消費電力、出力ドライブ、入力負荷容量等の性能特性値を用いる。
【0041】
(b)特開平11−3973号公報に開示された方法を用いてトランジスタサイズの決定を行い、そのトランジスタサイズに基づいて、面積、遅延、消費電力、出力ドライブおよび入力負荷容量等のセル性能を推定する。
【0042】
(c)特開平11−3973号公報に開示された方法を用いてトランジスタサイズの決定を行ない、さらに特開平9−298243号公報に開示された方法を用いてセルレイアウトを自動生成し、生成したレイアウトに基づいて、面積、遅延、消費電力、出力ドライブおよび入力負荷容量等のセル性能を推定する。
【0043】
これらの方法のうち、計算処理速度の点では(a)が最も有効であり、精度の点では(c)が最も効果がある。また(b)は(a)と(c)の中間である。(c)のセルレイアウト生成処理は、最適化処理の繰り返しにおいて毎回行うと、計算処理時間が膨大になる。しかしながら、最適化の過程ではセル合成を全く行なわないで、最適化処理の終了後にセル合成を1度だけ行うものとすると、性能特性の推定精度が低くなる。
【0044】
本実施形態では、現実的な処理時間で十分な精度を得るために、セル合成を行うか否かを所定の基準に基づいて自動的に制御する。すなわち、変更対象セルの外部条件の値が、すでにライブラリに登録された値と大きくかけ離れている場合は、新たにセル合成を行う一方、変更対象セルの外部条件の値がライブラリの値からみてそれぞれの所定の範囲内に収まっている場合は、セル合成を行わないで、性能の推定を行う。判定式としては例えば、次のような(2)式を用いる。k(k>0)は精度パラメータ、aはある外部条件についての現状セルの値、xはライブラリに準備された値をである。全ての外部条件の項目について(2)式が成立するセルがライブラリに存在するときは、新たなセル合成は行わない。
a/(1+k)<x<a・(1+k) ‥‥(2)
【0045】
なお、初期条件として、各セルの面積を最小に設定しておき、セル性能変更工程S50において、セルの性能変更を、その面積が増加する方向にのみ、行うようにするのが好ましい。これにより、処理時間を短縮することができる。
【0046】
また、このように最適化過程において生成したセルの性能特性等の情報は、ライブラリ15に新たに追加するのが好ましい。これにより、ライブラリの持つ性能特性の精度を向上させることができる。
【0047】
上述したような工程S30,S40,S50を、集積回路の目標性能が得られるまで、例えば集積回路の遅延が制約値以下になるまで繰り返し行う。目標性能に達したとき、出力工程S60を実行する。出力工程S60では、各セルについて、その性能特性を実現するようなレイアウトを自動合成し、集積回路全体のレイアウト結果18を出力し、設計を終了する。
【0048】
なお、集積回路評価工程S30において、複数の評価手法の中から所定の条件に応じて1つを選択し、選択した評価手法を用いて、集積回路に含まれたセルの性能評価を行うようにしてもよい。
【0049】
図6は工程S30におけるセル性能評価工程S31の詳細を示すフローチャートである。図6に示すセル性能評価工程S31では、4種類の評価手法S33a〜S33dが予め準備されており、所定の条件に応じて(S32)、評価手法S33a〜S33dのうちのいずれかを選択して、集積回路のセルの性能を評価する。
【0050】
評価手法S33aでは、トランジスタのサイジングを行い、セル内部のレイアウトを生成して、性能を評価する。トランジスタサイジングは、例えば特開平11−3973号公報に開示された方法を用いて行えばよい。
【0051】
評価手法S33bでは、セル内部のレイアウトを生成しないで、トランジスタのサイジングを行い、その結果から性能を評価する。ここでのトランジスタサイジングは、任意の面積のセルを実現し、かつ、そのセルの性能が最も高くなるように、各トランジスタのサイズを決定する。すなわち、この評価手法では、セルを構成する各トランジスタのサイズを、当該セルの面積および性能を加味して最適化し、最適化したトランジスタサイズに基づいて当該セルの性能を評価する。これも例えば特開平11−3973号公報に開示された方法を用いて実現できる。この手法により、レイアウトを生成するよりも格段に高速に、任意の面積に対するセルの性能を評価することが可能になる。また、性能評価を行う時点での外部条件に応じて各トランジスタのサイジングを行うので、セル性能を精度よく推定することができ、また、面積が同一であれば、遅延をより最小化できるというように、セル性能を向上させることも可能である。
【0052】
評価手法S33cでは、ライブラリ15に準備された性能特性をそのまま採用するのではなく、例えばサイズや外部条件が近い性能特性を候補として複数選択し、これらの値を補間近似することによって、セル性能を推定する。補間の手法としては、直線近似、面近似、あるいはスプライン補間などがある。評価手法S33dでは、ライブラリ15に準備された性能特性をそのまま採用する。
【0053】
工程S32における条件判定の例について、説明する。いま、条件判定のためのコスト関数costを、次のように定義する。
cost=C1+N・C2+C3・I+C4・S
そして、p1<p2<p3なる関係を持つ3個の定数p1,p2,p3を用いて、例えば以下の条件に応じて、評価手法を切り替える。
cost<p1のとき   セル選択による性能評価(S33d)
p1<cost<p2のとき 補間近似による性能推定(S33c)
p2<cost<p3のとき サイジングによる性能推定(S33b)
p3< costのとき    レイアウトによる性能評価(S33a)
【0054】
上式において、C1は設計目標係数であり、設計対象の集積回路の性能目標と開発期間との優先度から、設計者が決定することができる。例えば、開発期間が多少長くなっても、性能の高い設計が要求される場合は、係数C1を大きな値に設定すればよい。一方、納期に迫られている場合等、ある程度性能は犠牲にしても開発期間の短縮を優先したい場合は、係数C1は小さな値に設定すればよい。すなわち、コスト関数costに係数C1を含めることによって、手法選択のために、指定された設計期間と集積回路の性能目標との優先度が、考慮されている。
【0055】
C2は収束係数であり、Nは最適化処理における工程の繰り返し回数である。すなわち、Nは、初期値が0であり、工程を繰り返す度に1ずつ増加する。これにより、最適化処理の序盤と終盤とでコスト関数costの値が変化し、性能をさほど犠牲にすることなく、処理時間の短縮を図ることができる。すなわち、最適化処理の序盤では最適解からかけ離れているため、回路性能の推定精度よりも処理速度の方が重視される。したがって、コスト関数costの値を相対的に小さくして、セル選択(S33d)や補間近似(S33c)が優先して採用されるようにする。一方、最適化処理が収束するにつれて、回路性能の推定精度をより重視するために、コスト関数costの値を相対的に大きくして、サイジングによる性能推定(S33b)やレイアウトによる性能評価(S33a)が優先して採用されるようにする。
【0056】
C3は外部条件依存係数であり、Iは当該セルの現在の出力負荷容量や入力駆動能力等の外部条件と、ライブラリ15において想定された外部条件との差に応じて変化する変数である。セル選択(S33d)や補間近似(S33c)による推定精度は、現在の外部条件がライブラリ15の外部条件とあまり変わらないときは、十分に高いが、外部条件が離れるほど、低くなる。このため、現在の外部条件がライブラリ15の外部条件とあまり離れていないときは、係数Iの値を小さくする一方、大きく離れたときは、係数Iの値を大きくして、サイジングによる性能推定(S33b)やレイアウトによる性能評価(S33a)が優先して採用されるようにする。
【0057】
C4はセル変更依存係数であり、Sは当該セルの面積やトランジスタサイズ等のサイズ情報と、ライブラリ15に準備されたサイズ情報との差に応じて変化する変数である。セル選択(S33d)や補間近似(S33c)による推定精度は、現在のサイズ情報がライブラリ15のサイズ情報とあまり変わらないときは、十分に高いが、サイズ情報が離れるほど、低くなる。このため、現在のサイズ情報がライブラリ15のサイズ情報とあまり離れていないときは、係数Sの値を小さくする一方、大きく離れたときは、係数Sの値を大きくして、サイジングによる性能推定(S33b)やレイアウトによる性能評価(S33a)が優先して採用されるようにする。
【0058】
なお、ここで示したコスト関数costの4つの項は、全て用いてもよいし、必要に応じてその一部を用いてもかまわない。また、ここで示したもの以外の項を含めてもかまわない。
【0059】
なお、ここでは、評価手法を複数の候補の中から選択するものとしたが、評価手法の選択を行わないで、1つの評価手法、例えばS33bを固定して用いるようにしてもかまわない。
【0060】
また、初期レイアウト工程S20においては、図7に示すように、集積回路の面積が最小になるように、セルおよびセル間配線の相対位置を決定してもよいし(a)、集積回路におけるセル密度分布が均一になるように、セルおよびセル間配線の相対位置を決定してもかまわない(b)。
【0061】
また、初期レイアウト工程S20において、セルを行列状に配置した場合には、集積回路評価工程S30において、集積回路の面積を、セル行長さの最大値とセル列長さの最大値との積に基づいて評価することができる。もちろん、セル面積と配線領域面積の総和に基づいて集積回路の面積を評価してもかまわない。
【0062】
また、セル性能変更工程S50によってセルの面積が変わったときには、集積回路評価工程S30において、そのセルの面積変化に起因する配線形状の変化を推定し、推定した配線形状の変化を加味して、集積回路の性能を評価するのが好ましい。例えば図8に示すように、セル性能変更工程S50の結果、セル24の面積が増大したとすると、太線で示した配線の形状が変化する。集積回路の性能評価は、この配線形状の変化を加味して行えばよい。
【0063】
【発明の効果】
以上のように本発明によると、実際の集積回路における外部条件に応じて各セルの性能が推定されるので、集積回路の性能をより最適化することが可能になる。また、セルの性能評価が、複数の評価手法の中から選択した評価手法を用いて行われるため、セルの性能の推定精度を落とすことなく、処理速度を向上させることができる。さらに、セルおよびセル間配線の相対位置が、集積回路設計の過程において継承されるので、レイアウトに依存する集積回路の性能特性を正確に推定することができる。さらに、セルの性能変更がその面積が増加する方向にのみ行われるため、性能推定のための計算量が少なくてすみ、処理速度が向上する。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る集積回路の設計方法を示すフローチャートである。
【図2】図1のフローにおける工程S30〜S50の詳細を示す図である。
【図3】本発明の一実施形態に係るライブラリの例を示す図である。
【図4】ライブラリセルのモデルを示す図である。
【図5】従来のライブラリの例を示す図である。
【図6】集積回路評価工程S30におけるセル性能評価の詳細を示すフローチャートである。
【図7】初期レイアウトの例である。
【図8】配線形状変化を加味した性能評価を説明するための図である。
【符号の説明】
S20 初期レイアウト工程
S30 集積回路評価工程
S40 変更セル選択工程
S50 セル性能変更工程
S33a〜S33d 複数の評価手法
15 ライブラリ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention belongs to a technology for designing an integrated circuit such as a CMOS LSI.
[0002]
[Prior art]
Conventionally, in designing an integrated circuit, library cells having different delays and areas are designed in advance in order to optimize the performance of the integrated circuit such as area, power consumption, operation clock frequency, and the like. And cell replacement are repeatedly performed until a desired target performance is achieved. In addition, in order to accurately estimate information that greatly affects the performance of an integrated circuit and that depends on a layout such as a wiring capacitance, a method has been proposed in which layout design and cell replacement are repeatedly performed.
[0003]
[Problems to be solved by the invention]
Optimal cell specifications for improving the performance of an integrated circuit depend on external conditions of the cell in the integrated circuit, such as load capacity and drive. However, in the conventional design method, since a design is performed using an existing library, each library cell is not always optimal when considering external conditions in an actual integrated circuit. Therefore, as a result, the performance of the integrated circuit cannot always be optimized. Further, in order to prepare library cells of various variations in advance so as to better match actual external conditions, an enormous number of design steps are required.
[0004]
In view of the above problems, it is an object of the present invention to provide a method of designing an integrated circuit that enables the performance of the integrated circuit to be optimized as compared with the related art.
[0005]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention provides an integrated circuit design method, comprising: an integrated circuit evaluation step of evaluating the performance of the integrated circuit; and the integrated circuit based on an evaluation result obtained by the integrated circuit evaluation step. A change cell selection step of selecting at least one cell whose performance is to be changed from the constituent cells; and a cell performance change step of changing the performance of the cell selected by the change cell selection step. The step determines the performance characteristics of the selected cell using its external conditions.
[0006]
According to the present invention, the performance characteristics of the cell selected as the change target are determined using the external conditions, so that the estimation accuracy of the performance characteristics is improved as compared with the related art. Therefore, the performance of the integrated circuit can be optimized, so that a more optimal integrated circuit can be designed.
[0007]
The external condition of the cell preferably includes at least one of an output load capacitance, an input drive, and an input waveform. Further, the performance characteristics of the cell preferably include at least one of delay, area, power consumption, output drive and input load capacitance.
[0008]
The present invention also provides an integrated circuit design method, comprising the steps of: an integrated circuit evaluation step of evaluating the performance of the integrated circuit; and a performance evaluation method based on an evaluation result obtained by the integrated circuit evaluation step. A change cell selecting step of selecting at least one cell to be changed, and a cell performance changing step of changing the performance of the cell selected in the change cell selecting step, wherein the integrated circuit evaluation step and the changed cell selecting step And the cell performance changing step are repeatedly performed. In the integrated circuit evaluation step, one of a plurality of evaluation methods is selected according to a predetermined condition, and the integrated circuit is selected using the selected evaluation method. The performance evaluation of the included cells is performed.
[0009]
According to the present invention, the performance evaluation of the cell included in the integrated circuit is performed using an evaluation method selected from a plurality of evaluation methods according to a predetermined condition. Therefore, the processing speed can be improved without lowering the estimation accuracy of the cell performance.
[0010]
One of the plurality of evaluation methods is to optimize the size of each transistor constituting the cell in consideration of the area and performance of the cell, and to evaluate the performance of the cell based on the optimized transistor size. It is preferred that
[0011]
Further, it is preferable that the predetermined condition considers at least a priority between a designated design period and a performance target of the integrated circuit.
[0012]
Alternatively, it is preferable that the predetermined condition considers at least the number of times the process is repeated.
[0013]
The present invention also provides an integrated circuit design method, comprising: an initial layout step of determining relative positions of cells and inter-cell wiring in the integrated circuit; an integrated circuit evaluation step of evaluating the performance of the integrated circuit; A modified cell selecting step of selecting at least one cell whose performance is to be changed from the cells constituting the integrated circuit based on an evaluation result by the circuit evaluating step; and a performance of the cell selected by the modified cell selecting step. A cell performance change step to be changed, wherein the integrated circuit evaluation step, the changed cell selection step and the cell performance change step are repeatedly executed, and in the repetition of each step, the cell determined in the initial layout step and This inherits the relative position of the inter-cell wiring.
[0014]
According to the present invention, the relative positions of the cells and the inter-cell wiring are inherited in the process of designing the integrated circuit, so that the performance characteristics of the integrated circuit depending on the layout can be accurately estimated, and the local solution and the infinite loop can be obtained. The optimal solution can be obtained without falling.
[0015]
Preferably, in the initial layout step, the relative positions of the cells and the inter-cell wiring are determined so that the area of the integrated circuit is minimized.
[0016]
Preferably, in the initial layout step, the relative positions of the cells and the inter-cell wiring are determined so that the cell density distribution in the integrated circuit becomes uniform.
[0017]
In the initial layout step, cells are arranged in a matrix, and in the integrated circuit evaluation step, the area of the integrated circuit is calculated by multiplying an area of the integrated circuit by a maximum value of a cell row length and a maximum value of a cell column length. It is preferable to evaluate based on.
[0018]
Further, the integrated circuit evaluation step estimates a change in the wiring shape caused by a change in the area of the cell whose performance has been changed in the cell performance changing step, and takes into account the estimated change in the wiring shape, and evaluates the performance of the integrated circuit. Is preferably evaluated.
[0019]
The present invention also provides an integrated circuit design method, comprising the steps of: an integrated circuit evaluation step of evaluating the performance of the integrated circuit; and a performance evaluation method based on an evaluation result obtained by the integrated circuit evaluation step. A change cell selecting step of selecting at least one cell to be changed, and a cell performance changing step of changing the performance of the cell selected in the change cell selecting step, wherein the integrated circuit evaluation step and the changed cell selecting step And the cell performance changing step is repeatedly performed.As an initial condition, the area of each cell is set to a minimum, and in the cell performance changing step, the performance change of the cell is performed only in a direction in which the area increases. Is what you do.
[0020]
According to the present invention, since the performance change of a cell is performed only in the direction in which its area increases, the amount of calculation for performance estimation is small, and the processing speed is improved.
[0021]
The present invention also provides an integrated circuit design method, comprising the steps of: an integrated circuit evaluation step of evaluating the performance of the integrated circuit; and a performance evaluation method based on an evaluation result obtained by the integrated circuit evaluation step. A change cell selecting step of selecting at least one cell to be changed, and a cell performance changing step of changing the performance of the cell selected in the change cell selecting step, wherein the integrated circuit evaluation step and the changed cell selecting step And the cell performance changing step is repeatedly performed.In the integrated circuit evaluation step, the size of each transistor constituting the cell is optimized in consideration of the area and the performance of the cell, and based on the optimized transistor size. This is to evaluate the performance of the cell.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0023]
FIG. 1 is a flowchart showing a method for designing an integrated circuit according to an embodiment of the present invention. As shown in FIG. 1, in the present embodiment, after inputting circuit information 10 on an integrated circuit to be designed (S10) and performing an initial layout (S20), an integrated circuit evaluation step S30 is performed while referring to the library 15. The optimization is performed by repeatedly executing the changed cell selecting step S40 and the cell performance changing step S50, and outputs the layout result 18 (S60). FIG. 2 is a detailed flowchart of the integrated circuit evaluation step S30, the changed cell selection step S40, and the cell performance change step S50.
[0024]
First, in an input step S10, circuit information 10 on an integrated circuit to be designed is read. The circuit information 10 includes logic information of each cell constituting the integrated circuit and connection information between the cells. If the input circuit information 10 includes the initial value of the cell performance, the initial value is inherited. If the initial value is not included, the initial value is set so that, for example, all the cells have the minimum size.
[0025]
Next, in an initial layout step S20, initial placement and initial wiring of each cell in the integrated circuit are performed. This placement and routing information is used for accurately estimating the wiring capacitance, the wiring resistance, and the like that affect the performance of the integrated circuit.
[0026]
That is, since the shape of each cell changes during the optimization process, the layout should be changed according to the shape of each cell from the viewpoint of area. However, if the layout change is performed every time the cell shape changes, enormous calculation time is required, and the wiring length changes discontinuously. There is a possibility of falling. Therefore, in the present embodiment, the front-rear and left-right positional relationship of each cell or each wiring determined by the initial layout, that is, the relative position of the cell and the wiring between cells is assumed to be inherited until the end of the design. Only the coordinates are changed at any time in accordance with the change in the cell shape. The change of the coordinates of the cell and the wiring is performed by moving the cells and the wiring around the cell in parallel according to a change in the shape of a certain cell. By using such a method, the calculation speed can be reduced, the layout information can be more accurately reflected in the performance optimization, and the performance can be changed continuously.
[0027]
Next, in an integrated circuit evaluation step S30, the performance of delay, area, power consumption, and the like is evaluated with reference to the library 15 for each cell included in the integrated circuit (S31), and based on the performance of each cell, integration is performed. The performance of the entire circuit is evaluated (S35).
[0028]
FIG. 3 shows an example of information stored in the library 15. In the figure, (a) is an example of a library lineup, and (b) is an example of information on the performance of a certain library cell. In the library according to the present embodiment, as shown in FIG. 3A, only library cells having different logics are provided. Further, as shown in FIG. 3B, the performance characteristics of the library cells optimized according to different external conditions are stored, and even under the same external conditions, the performance characteristics are different under different design indices. A plurality of optimized performance characteristics are stored.
[0029]
In the present embodiment, as shown in FIG. 3, since a library having trade-off information of performance characteristics optimized and designed according to different external conditions is used, in order to obtain a desired integrated circuit performance such as an operating frequency, For each cell, one performance characteristic can be selected from a plurality of performance characteristic candidates according to the external conditions. The plurality of performance characteristics according to the external conditions of the cell can be created by, for example, a method disclosed in Japanese Patent Application Laid-Open No. H11-3973 or a method of generating some representative cells having different performances.
[0030]
The items of the performance characteristics of the cell include, for example, delay, area, power consumption, output drive and input load capacity. The items of the external condition of the cell include an output load capacity, an input drive, an input waveform, and the like. FIG. 4 is a diagram showing a model of a library cell, in which (a) is a circuit model and (b) is an input waveform model. In FIG. 4A, reference numeral 20 denotes a cell model, reference numeral 21 denotes an input external condition model, and reference numeral 22 denotes an output external condition model. As the cell performance characteristic items, 23 indicates an input load capacity, and 24 indicates an output drive. As external condition items, 25 indicates an input drive, and 26 indicates an output load capacity. Further, an input waveform can be used instead of the input drive. The input waveform is approximated by an input waveform curve 27 shown in FIG. 4B and can be represented by a time 28 from the start to the end of the change of the input voltage.
[0031]
For example, in FIG. 3B, there are a plurality of types of performance characteristics when the cell is optimized and designed under external conditions in which the input drive is 10 kΩ and the output load capacitance is 0.1 pF. .1 μm 2 , The delay is 0.1 ns, the power consumption is 10 μW, the output drive is 30 kΩ, and the input load capacitance is 0.01 pF. If the step size of each performance characteristic value is made smaller, the amount of data becomes enormous. Therefore, only a representative library among them should be stored and approximated by a broken line or a spline curve. Also, an input waveform can be used instead of the input drive.
[0032]
FIG. 4C shows an example of a trade-off curve of delay and area when a certain library cell is optimized and designed under some external conditions. For example, the delay area trade-off curve for the external condition A is LA, the delay area trade-off curve for the external condition B is LB, and the delay area trade-off curve for the external condition C is LC. The performance characteristic of each row in FIG. 3B is one point on the curve shown in FIG.
[0033]
FIG. 5 shows an example of information stored in a conventional library. In a conventional library, as shown in FIG. 5A, library cells having different performances are prepared even if the logic is the same, so that a huge number of steps are required for library design. Further, as shown in FIG. 5B, the design was not made according to the external conditions, and the performance characteristics of the cell were fixed irrespective of the external conditions.
[0034]
Further, in the present embodiment, by preparing a plurality of cells having different optimization external conditions and performance characteristics, the accuracy of the performance characteristics estimation by the library 15 can be improved. Further, by registering the cells generated in the design process of the integrated circuit in the library 15 as needed, it is possible to further improve the accuracy of the library 15 in estimating the performance characteristics.
[0035]
In the integrated circuit evaluation step S30, first, in step S31, an input drive and an output load capacitance are given to the library 15 as shown in FIG. 3 as external conditions of each cell, and delay, area, power consumption, output drive and input Obtain performance characteristics such as load capacity. The input drive uses the sum of the output drive of the cell driving the target cell and the wiring resistance. As the output load capacitance, the sum of the input capacitance of each cell connected to the output terminal and the wiring capacitance extracted from the layout is used.
[0036]
Then, in step S35, the performance of the entire integrated circuit is evaluated using the performance characteristics of each cell. For example, the critical path delay is the maximum value of the path delay calculated by the sum of the delays of the cells constituting each path. Further, the power consumption of the entire integrated circuit is calculated from the total power consumption of each cell. Further, by changing the layout according to the change in the cell area, the integrated circuit area can be calculated.
[0037]
Next, in the change cell selection step S40, at least one cell whose performance characteristic is to be changed is selected. Here, it is assumed that the performance characteristics are slightly changed for each cell, and the cell whose performance characteristics are most improved is selected. For example, when the maximum delay is reduced by the same value, a cell having the smallest area is selected as a change target cell. Alternatively, the cell change is selected such that A, B, and C are proportional constants and the cost value calculated by the equation (1) is minimized.
Cost = A · area + B · maximum delay + C · power consumption ‥‥ (1)
[0038]
Further, when evaluating the performance characteristics, changes in wiring capacitance and wiring resistance are estimated in order to improve the estimation accuracy of delay and power consumption. That is, the wiring around the cell whose shape has changed and the cell are moved in parallel, and the amount of change in the wiring length is estimated. Using the variation in the wiring length, the variation in the wiring capacitance and the wiring resistance is calculated and reflected in the evaluation of performance characteristics such as delay and power consumption.
[0039]
Next, in the cell performance changing step S50, the performance of the cell selected in the changed cell selecting step S40 is changed. As a method of realizing a change in cell performance, there are, for example, the following three methods.
[0040]
(A) The performance characteristic values such as the area, delay, power consumption, output drive, and input load capacitance stored in the library 15 are used.
[0041]
(B) The transistor size is determined using the method disclosed in Japanese Patent Application Laid-Open No. H11-3973, and based on the transistor size, cell performance such as area, delay, power consumption, output drive and input load capacitance is determined. presume.
[0042]
(C) The transistor size is determined using the method disclosed in Japanese Patent Application Laid-Open No. 11-3973, and the cell layout is automatically generated using the method disclosed in Japanese Patent Application Laid-Open No. 9-298243. Based on the layout, cell performance such as area, delay, power consumption, output drive and input load capacity is estimated.
[0043]
Among these methods, (a) is the most effective in terms of calculation processing speed, and (c) is the most effective in terms of accuracy. (B) is intermediate between (a) and (c). If the cell layout generation processing of (c) is performed every time in the repetition of the optimization processing, the calculation processing time becomes enormous. However, if the cell synthesis is not performed at all in the optimization process, and the cell synthesis is performed only once after the end of the optimization processing, the accuracy of estimating the performance characteristics decreases.
[0044]
In the present embodiment, in order to obtain sufficient accuracy in a realistic processing time, whether or not to perform cell synthesis is automatically controlled based on a predetermined criterion. In other words, when the value of the external condition of the change target cell is significantly different from the value already registered in the library, a new cell synthesis is performed, and the value of the external condition of the change target cell is different from the value of the library. , The performance is estimated without performing cell combining. For example, the following expression (2) is used as the determination expression. k (k> 0) is an accuracy parameter, a is a current cell value for a certain external condition, and x is a value prepared in the library. When cells satisfying the expression (2) for all external condition items exist in the library, new cell synthesis is not performed.
a / (1 + k) <x <a · (1 + k) ‥‥ (2)
[0045]
It is preferable that the area of each cell is set to a minimum as an initial condition, and in the cell performance changing step S50, the performance of the cell is changed only in a direction in which the area increases. Thereby, the processing time can be reduced.
[0046]
It is preferable that information such as performance characteristics of cells generated in the optimization process be newly added to the library 15. As a result, the accuracy of the performance characteristics of the library can be improved.
[0047]
Steps S30, S40, and S50 as described above are repeatedly performed until the target performance of the integrated circuit is obtained, for example, until the delay of the integrated circuit becomes equal to or less than the constraint value. When the target performance has been reached, the output step S60 is executed. In the output step S60, a layout for realizing the performance characteristics of each cell is automatically synthesized, a layout result 18 of the entire integrated circuit is output, and the design is completed.
[0048]
In the integrated circuit evaluation step S30, one of a plurality of evaluation methods is selected in accordance with a predetermined condition, and the performance evaluation of the cells included in the integrated circuit is performed using the selected evaluation method. You may.
[0049]
FIG. 6 is a flowchart showing details of the cell performance evaluation step S31 in the step S30. In the cell performance evaluation step S31 shown in FIG. 6, four types of evaluation methods S33a to S33d are prepared in advance, and one of the evaluation methods S33a to S33d is selected according to a predetermined condition (S32). Evaluate the performance of the cells of the integrated circuit.
[0050]
In the evaluation method S33a, a transistor is sized, a layout inside the cell is generated, and the performance is evaluated. Transistor sizing may be performed using, for example, a method disclosed in Japanese Patent Application Laid-Open No. H11-3973.
[0051]
In the evaluation method S33b, sizing of the transistor is performed without generating a layout inside the cell, and performance is evaluated from the result. The transistor sizing here determines the size of each transistor so that a cell having an arbitrary area is realized and the performance of the cell is maximized. That is, in this evaluation method, the size of each transistor constituting the cell is optimized in consideration of the area and performance of the cell, and the performance of the cell is evaluated based on the optimized transistor size. This can also be realized using, for example, the method disclosed in Japanese Patent Application Laid-Open No. H11-3973. This technique makes it possible to evaluate the performance of a cell for an arbitrary area much faster than generating a layout. In addition, since each transistor is sized according to external conditions at the time of performance evaluation, the cell performance can be accurately estimated, and if the area is the same, the delay can be further minimized. Furthermore, it is also possible to improve the cell performance.
[0052]
In the evaluation method S33c, instead of directly using the performance characteristics prepared in the library 15, for example, a plurality of performance characteristics having similar sizes and external conditions are selected as candidates, and these values are interpolated and approximated, thereby reducing the cell performance. presume. As the interpolation method, there is a linear approximation, a surface approximation, a spline interpolation, or the like. In the evaluation method S33d, the performance characteristics prepared in the library 15 are directly used.
[0053]
An example of the condition determination in step S32 will be described. Now, a cost function cost for condition determination is defined as follows.
cost = C1 + N · C2 + C3 · I + C4 · S
Then, using three constants p1, p2, and p3 having a relationship of p1 <p2 <p3, the evaluation method is switched according to, for example, the following condition.
When cost <p1 Performance evaluation by cell selection (S33d)
When p1 <cost <p2 Performance estimation by interpolation approximation (S33c)
When p2 <cost <p3 Performance estimation by sizing (S33b)
When p3 <cost Performance evaluation by layout (S33a)
[0054]
In the above equation, C1 is a design target coefficient, which can be determined by the designer from the priority of the performance target and the development period of the integrated circuit to be designed. For example, if a design with high performance is required even if the development period is slightly longer, the coefficient C1 may be set to a large value. On the other hand, the coefficient C1 may be set to a small value when priority is given to shortening the development period while sacrificing the performance to some extent, such as when the delivery date is imminent. That is, by including the coefficient C1 in the cost function cost, the priority between the designated design period and the performance target of the integrated circuit is considered for the method selection.
[0055]
C2 is a convergence coefficient, and N is the number of repetitions of steps in the optimization processing. That is, N has an initial value of 0 and increases by 1 each time the process is repeated. As a result, the value of the cost function cost changes between the beginning and the end of the optimization process, and the processing time can be reduced without sacrificing the performance. That is, in the early stage of the optimization processing, the processing speed is more important than the estimation accuracy of the circuit performance because it is far from the optimum solution. Therefore, the value of the cost function cost is relatively reduced so that the cell selection (S33d) and the interpolation approximation (S33c) are preferentially adopted. On the other hand, as the optimization process converges, the value of the cost function cost is relatively increased in order to place more importance on the estimation accuracy of circuit performance, and performance estimation by sizing (S33b) and performance evaluation by layout (S33a) Will be adopted first.
[0056]
C3 is an external condition dependent coefficient, and I is a variable that changes according to the difference between the external conditions such as the current output load capacity and input drive capability of the cell and the external conditions assumed in the library 15. The estimation accuracy by cell selection (S33d) or interpolation approximation (S33c) is sufficiently high when the current external condition is not much different from the external condition of the library 15, but becomes lower as the external condition is farther away. For this reason, when the current external condition is not so far from the external condition of the library 15, the value of the coefficient I is decreased, and when the current external condition is far from the library 15, the value of the coefficient I is increased, and the performance estimation by sizing is performed. S33b) and the performance evaluation by layout (S33a) are preferentially adopted.
[0057]
C4 is a cell change dependency coefficient, and S is a variable that changes according to the difference between size information such as the area of the cell and the transistor size and the size information prepared in the library 15. The estimation accuracy by cell selection (S33d) or interpolation approximation (S33c) is sufficiently high when the current size information is not much different from the size information of the library 15, but becomes lower as the size information is further away. Therefore, when the current size information is not far from the size information of the library 15, the value of the coefficient S is decreased, and when the current size information is far from the library 15, the value of the coefficient S is increased, and the performance estimation by sizing ( S33b) and performance evaluation by layout (S33a) are preferentially adopted.
[0058]
Note that all the four terms of the cost function cost shown here may be used, or some of them may be used as needed. Further, items other than those shown here may be included.
[0059]
Here, the evaluation method is selected from a plurality of candidates, but one evaluation method, for example, S33b may be fixed and used without selecting the evaluation method.
[0060]
Further, in the initial layout step S20, as shown in FIG. 7, the relative positions of the cell and the inter-cell wiring may be determined so that the area of the integrated circuit is minimized (a), or the cell in the integrated circuit may be determined. The relative positions of the cells and the wirings between the cells may be determined so that the density distribution becomes uniform (b).
[0061]
When the cells are arranged in a matrix in the initial layout step S20, in the integrated circuit evaluation step S30, the area of the integrated circuit is calculated by multiplying the maximum value of the cell row length by the maximum value of the cell column length. Can be evaluated based on Of course, the area of the integrated circuit may be evaluated based on the sum of the cell area and the wiring area.
[0062]
Further, when the cell area is changed in the cell performance change step S50, in the integrated circuit evaluation step S30, a change in the wiring shape caused by the change in the cell area is estimated, and the change in the estimated wiring shape is taken into consideration. Preferably, the performance of the integrated circuit is evaluated. For example, as shown in FIG. 8, if the area of the cell 24 increases as a result of the cell performance changing step S50, the shape of the wiring shown by the thick line changes. The performance evaluation of the integrated circuit may be performed in consideration of the change in the wiring shape.
[0063]
【The invention's effect】
As described above, according to the present invention, the performance of each cell is estimated according to external conditions in an actual integrated circuit, so that the performance of the integrated circuit can be further optimized. In addition, since the performance evaluation of the cell is performed using an evaluation method selected from a plurality of evaluation methods, the processing speed can be improved without lowering the estimation accuracy of the cell performance. Further, since the relative positions of the cells and the inter-cell wiring are inherited in the process of designing the integrated circuit, the performance characteristics of the integrated circuit depending on the layout can be accurately estimated. Further, since the performance change of the cell is performed only in the direction in which the area increases, the amount of calculation for performance estimation is reduced, and the processing speed is improved.
[Brief description of the drawings]
FIG. 1 is a flowchart illustrating a method for designing an integrated circuit according to an embodiment of the present invention.
FIG. 2 is a diagram showing details of steps S30 to S50 in the flow of FIG.
FIG. 3 is a diagram illustrating an example of a library according to an embodiment of the present invention.
FIG. 4 is a diagram showing a model of a library cell.
FIG. 5 is a diagram showing an example of a conventional library.
FIG. 6 is a flowchart showing details of cell performance evaluation in an integrated circuit evaluation step S30.
FIG. 7 is an example of an initial layout.
FIG. 8 is a diagram for explaining performance evaluation in consideration of a change in wiring shape;
[Explanation of symbols]
S20 Initial layout process
S30 Integrated circuit evaluation process
S40 Change cell selection process
S50 Cell performance change process
S33a to S33d Multiple evaluation methods
15 Library

Claims (14)

集積回路の設計方法であって、
前記集積回路の性能を評価する集積回路評価工程と、
前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から、性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、
前記変更セル選択工程によって選択されたセルの性能を、変化させるセル性能変更工程とを備え、
前記セル性能変更工程は、前記選択されたセルについて、その外部条件を用いて、その性能特性を決定するものである
ことを特徴とする集積回路の設計方法。
An integrated circuit design method, comprising:
An integrated circuit evaluation step of evaluating the performance of the integrated circuit;
A changed cell selecting step of selecting at least one cell whose performance is to be changed from cells constituting the integrated circuit based on an evaluation result obtained by the integrated circuit evaluating step;
A cell performance change step of changing the performance of the cell selected by the change cell selection step,
The method of designing an integrated circuit according to claim 1, wherein said cell performance changing step determines the performance characteristics of said selected cell using external conditions thereof.
請求項1において、
セルの外部条件は、出力負荷容量、入力ドライブおよび入力波形のうちの少なくとも1つを含む
ことを特徴とする集積回路の設計方法。
In claim 1,
The method of designing an integrated circuit, wherein the external condition of the cell includes at least one of an output load capacitance, an input drive, and an input waveform.
請求項1において、
セルの性能特性は、遅延、面積、消費電力、出力ドライブおよび入力負荷容量のうちの少なくとも1つを含む
ことを特徴とする集積回路の設計方法。
In claim 1,
A method of designing an integrated circuit, wherein the performance characteristics of the cell include at least one of delay, area, power consumption, output drive, and input load capacitance.
集積回路の設計方法であって、
前記集積回路の性能を評価する集積回路評価工程と、
前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から、性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、
前記変更セル選択工程によって選択されたセルの性能を、変化させるセル性能変更工程とを備え、
前記集積回路評価工程、前記変更セル選択工程およびセル性能変更工程を繰り返し実行するものであり、
前記集積回路評価工程は、
複数の評価手法の中から、所定の条件に応じて、1つを選択し、選択した評価手法を用いて、前記集積回路に含まれたセルの性能評価を行うものである
ことを特徴とする集積回路の設計方法。
An integrated circuit design method, comprising:
An integrated circuit evaluation step of evaluating the performance of the integrated circuit;
A changed cell selecting step of selecting at least one cell whose performance is to be changed from cells constituting the integrated circuit based on an evaluation result obtained by the integrated circuit evaluating step;
A cell performance change step of changing the performance of the cell selected by the change cell selection step,
The integrated circuit evaluation step, the change cell selection step and the cell performance change step are repeatedly executed,
The integrated circuit evaluation step,
One of a plurality of evaluation methods is selected according to a predetermined condition, and the performance evaluation of a cell included in the integrated circuit is performed using the selected evaluation method. How to design integrated circuits.
請求項4において、
前記複数の評価手法の1つは、
セルを構成する各トランジスタのサイズを、当該セルの面積および性能を加味して最適化し、最適化したトランジスタサイズに基づいて当該セルの性能を評価するものである
ことを特徴とする集積回路の設計方法。
In claim 4,
One of the plurality of evaluation methods is:
A design of an integrated circuit, wherein the size of each transistor constituting the cell is optimized in consideration of the area and the performance of the cell, and the performance of the cell is evaluated based on the optimized transistor size. Method.
請求項4において、
前記所定の条件は、
少なくとも、指定された設計期間と前記集積回路の性能目標との優先度を、考慮したものである
ことを特徴とする集積回路の設計方法。
In claim 4,
The predetermined condition is:
A method for designing an integrated circuit, wherein at least a priority between a designated design period and a performance target of the integrated circuit is taken into consideration.
請求項4において、
前記所定の条件は、
少なくとも、工程の繰り返し回数を、考慮したものである
ことを特徴とする集積回路の設計方法。
In claim 4,
The predetermined condition is:
A method for designing an integrated circuit, characterized in that at least the number of process repetitions is taken into account.
集積回路の設計方法であって、
前記集積回路内のセルおよびセル間配線の相対位置を決定する初期レイアウト工程と、
前記集積回路の性能を評価する集積回路評価工程と、
前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から、性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、
前記変更セル選択工程によって選択されたセルの性能を、変化させるセル性能変更工程とを備え、
前記集積回路評価工程、前記変更セル選択工程および前記セル性能変更工程を繰り返し実行するものであり、
各工程の繰り返しにおいて、前記初期レイアウト工程において決定したセルおよびセル間配線の相対位置を、継承する
ことを特徴とする集積回路の設計方法。
An integrated circuit design method, comprising:
An initial layout step of determining the relative positions of cells and inter-cell wiring in the integrated circuit;
An integrated circuit evaluation step of evaluating the performance of the integrated circuit;
A changed cell selecting step of selecting at least one cell whose performance is to be changed from cells constituting the integrated circuit based on an evaluation result obtained by the integrated circuit evaluating step;
A cell performance change step of changing the performance of the cell selected by the change cell selection step,
The integrated circuit evaluation step, the change cell selection step and the cell performance change step are repeatedly executed,
A method of designing an integrated circuit, characterized in that, in the repetition of each step, the relative positions of cells and inter-cell wiring determined in the initial layout step are inherited.
請求項8において、
前記初期レイアウト工程は、
前記集積回路の面積が最小になるように、セルおよびセル間配線の相対位置を決定するものである
ことを特徴とする集積回路の設計方法。
In claim 8,
The initial layout step includes:
A method of designing an integrated circuit, comprising determining relative positions of cells and inter-cell wiring so that the area of the integrated circuit is minimized.
請求項8において、
前記初期レイアウト工程は、
前記集積回路におけるセル密度分布が均一になるように、セルおよびセル間配線の相対位置を決定するものである
ことを特徴とする集積回路の設計方法。
In claim 8,
The initial layout step includes:
A method of designing an integrated circuit, comprising determining relative positions of cells and inter-cell wiring so that a cell density distribution in the integrated circuit becomes uniform.
請求項8において、
前記初期レイアウト工程は、セルを行列状に配置するものであり、
前記集積回路評価工程は、
前記集積回路の面積を、セル行長さの最大値とセル列長さの最大値との積に基づいて、評価するものである
ことを特徴とする集積回路の設計方法。
In claim 8,
The initial layout step is to arrange cells in a matrix,
The integrated circuit evaluation step,
A method of designing an integrated circuit, wherein the area of the integrated circuit is evaluated based on a product of a maximum value of a cell row length and a maximum value of a cell column length.
請求項8において、
前記集積回路評価工程は、
前記セル性能変更工程において性能を変化させたセルの面積変化に起因する配線形状の変化を推定し、推定した配線形状変化を加味して、前記集積回路の性能を評価するものである
ことを特徴とする集積回路の設計方法。
In claim 8,
The integrated circuit evaluation step,
In the cell performance changing step, a change in wiring shape due to a change in the area of a cell whose performance has been changed is estimated, and the performance of the integrated circuit is evaluated in consideration of the estimated change in wiring shape. Integrated circuit design method.
集積回路の設計方法であって、
前記集積回路の性能を評価する集積回路評価工程と、
前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から、性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、
前記変更セル選択工程によって選択されたセルの性能を、変化させるセル性能変更工程とを備え、
前記集積回路評価工程、前記変更セル選択工程および前記セル性能変更工程を繰り返し実行するものであり、
初期条件として、各セルの面積を最小に設定しておき、
前記セル性能変更工程は、
セルの性能変更を、その面積が増加する方向にのみ、行うものである
ことを特徴とする集積回路の設計方法。
An integrated circuit design method, comprising:
An integrated circuit evaluation step of evaluating the performance of the integrated circuit;
A changed cell selecting step of selecting at least one cell whose performance is to be changed from cells constituting the integrated circuit based on an evaluation result obtained by the integrated circuit evaluating step;
A cell performance change step of changing the performance of the cell selected by the change cell selection step,
The integrated circuit evaluation step, the change cell selection step and the cell performance change step are repeatedly executed,
As an initial condition, set the area of each cell to the minimum,
The cell performance changing step,
A method of designing an integrated circuit, wherein the performance of a cell is changed only in the direction in which the area increases.
集積回路の設計方法であって、
前記集積回路の性能を評価する集積回路評価工程と、
前記集積回路評価工程による評価結果に基づいて、前記集積回路を構成するセルの中から、性能を変更するセルを少なくとも1つ選択する変更セル選択工程と、
前記変更セル選択工程によって選択されたセルの性能を、変化させるセル性能変更工程とを備え、
前記集積回路評価工程、前記変更セル選択工程およびセル性能変更工程を繰り返し実行するものであり、
前記集積回路評価工程は、
セルを構成する各トランジスタのサイズを、当該セルの面積および性能を加味して最適化し、最適化したトランジスタサイズに基づいて当該セルの性能を評価するものである
ことを特徴とする集積回路の設計方法。
An integrated circuit design method, comprising:
An integrated circuit evaluation step of evaluating the performance of the integrated circuit;
A changed cell selecting step of selecting at least one cell whose performance is to be changed from cells constituting the integrated circuit based on an evaluation result obtained by the integrated circuit evaluating step;
A cell performance change step of changing the performance of the cell selected by the change cell selection step,
The integrated circuit evaluation step, the change cell selection step and the cell performance change step are repeatedly executed,
The integrated circuit evaluation step,
A design of an integrated circuit, wherein the size of each transistor constituting the cell is optimized in consideration of the area and the performance of the cell, and the performance of the cell is evaluated based on the optimized transistor size. Method.
JP2003108691A 2000-02-29 2003-04-14 Design method for integrated circuit Pending JP2004005578A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003108691A JP2004005578A (en) 2000-02-29 2003-04-14 Design method for integrated circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000053045 2000-02-29
JP2003108691A JP2004005578A (en) 2000-02-29 2003-04-14 Design method for integrated circuit

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001041656A Division JP3434802B2 (en) 2000-02-29 2001-02-19 Integrated circuit design method

Publications (1)

Publication Number Publication Date
JP2004005578A true JP2004005578A (en) 2004-01-08

Family

ID=30445598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003108691A Pending JP2004005578A (en) 2000-02-29 2003-04-14 Design method for integrated circuit

Country Status (1)

Country Link
JP (1) JP2004005578A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423931B2 (en) 2009-05-25 2013-04-16 Fujitsu Semiconductor Limited Support computer product, apparatus, and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423931B2 (en) 2009-05-25 2013-04-16 Fujitsu Semiconductor Limited Support computer product, apparatus, and method

Similar Documents

Publication Publication Date Title
US9135375B1 (en) Methods for construction and optimization of a clock tree plan for reduced power consumption
CN101206686B (en) Latch placement for high performance and low power circuits
US10268797B2 (en) Architectural physical synthesis
KR100530022B1 (en) Timing closure methodology
US8966415B2 (en) Architectural physical synthesis
JP2010079896A (en) Apparatus, method and computer program for fast simulation of manufacturing effect during integrated circuit design
US7725853B1 (en) Optimizing long-path and short-path timing and accounting for manufacturing and operating condition variability
US20010018758A1 (en) Method of physical design for integrated circuit
US8782591B1 (en) Physically aware logic synthesis of integrated circuit designs
JPH10171857A (en) Method for designing integrated circuit, data base device for integrated circuit design and device for supporting integrated circuit design
US7536661B1 (en) Incremental placement during physical synthesis
Kashfi et al. Multi-objective optimization techniques for VLSI circuits
US7810062B2 (en) Method for eliminating negative slack in a netlist via transformation and slack categorization
US7451412B2 (en) Speeding up timing analysis by reusing delays computed for isomorphic subcircuits
JP2002222230A (en) Unnecessary radiation optimizing method and unnecessary radiation analyzing method
US7313510B2 (en) Methods for estimating power requirements of circuit designs
JP2010020372A (en) Delay library, delay library creation method, and delay calculation method
Ozdal et al. Algorithms for gate sizing and device parameter selection for high-performance designs
US7428718B1 (en) Enhanced incremental placement during physical synthesis
Kuon et al. Exploring area and delay tradeoffs in FPGAs with architecture and automated transistor design
JP4541783B2 (en) Semiconductor integrated circuit design method, design apparatus, and logic design program
JP2004005578A (en) Design method for integrated circuit
Brayton et al. An integrated technology mapping environment
Olenšek et al. DESA: a new hybrid global optimization method and its application to analog integrated circuit sizing
JP3434802B2 (en) Integrated circuit design method