説明

回路設計支援方法、回路設計支援装置および回路設計支援プログラム

【課題】回路全体の動作速度に影響を与えない範囲でのセル最適化を支援すること。
【解決手段】半導体集積回路内のパスの遅延分布から、半導体集積回路全体の動作タイミングに影響を与えることのないパスの動作遅延の上限値を上限パスディレイとして求める。上限パスディレイを用い、セルサイズの変更が半導体集積回路全体の動作タイミングに影響を与える可能性のあるクリティカルパスを求める。クリティカルパス上に含まれるセルのセルサイズを小さくしないこと、およびクリティカルパス上に含まれないセルのセルサイズを小さくする場合には当該セルを含むパスの遅延が上限パスディレイを超えないことをセルサイズ最適化の制約条件とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回路設計支援方法、回路設計支援装置および回路設計支援プログラムに関する。
【背景技術】
【0002】
LSI(Large Scale Integrated circuit)等の半導体集積回路の性能は、動作周波数(サイクルタイム)に基づく動作タイミングによるところが大きい。そこで集積回路を設計する場合、回路上の全てのパスについてディレイ値及びレーシング値等の動作タイミングが目標の値以内、言い換えれば動作周波数が目標の値以上となるように設計する。パスの動作周波数を上げる方法には、論理変更、配置改善、配線抵抗の抑制などに加え、セルの駆動能力増大がある。なお、ここでは「動作周波数」とは動作が可能なクロック周波数の上限値をいう。また、「サイクルタイム」とは、動作が可能な上限周波数におけるクロックの1周期の期間をいい、上限値動作周波数の逆数により求められる。さらに、「動作タイミング」とは、目標の動作周波数の達成の条件となる回路上のパスが満たす必要があるディレイ値及びレーシング値等の設計指標をいう。
【0003】
設定したパスについてセルの駆動能力を最適化し、目標の動作周波数を達成する技術は従来から知られている。
【0004】
また、パスが有する各セルで生じる遅延を確率分布として捉え、パスの動作周波数を統計的に解析する統計的タイミング解析(SSTA: Statistical Static Timing Analysis)も従来から知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−16748号公報
【特許文献2】特開2004−252831号公報
【特許文献3】特開2005−92885号公報
【特許文献4】特開2008−112406号公報
【特許文献5】特開2009−21378号公報
【特許文献6】特開2009−25914号公報
【特許文献7】国際公開第2004/046975号
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、セルサイズを増大して駆動能力が上がると、消費電力も増大する。言い換えれば、消費電力と動作周波数(サイクルタイム)とはトレードオフの関係にある。
【0007】
また、各パスの動作周波数が目標を達成するように最適化すると、目標の動作周波数の近辺にパスが集中することとなる。これは、回路上のパスのうち、目標動作周波数の逆数である目標サイクルタイムを達成していないパスは目標サイクルタイムに達するまでセルの駆動能力を上げることになる。一方、目標サイクルタイムを満たすパスについては、さらにセルサイズを大きくして遅延量にマージンを取れる場合でも、消費電力及びチップサイズの観点から、セルの置き換えを行なわないためである。
【0008】
複数のパスの経路に使用されることにより当該複数のパスに共用され、複数のセルの出力からの入力を受けるセルでは、そのセルの動作の際に発生する遅延量は入力の最大の遅延量よりも大きくなる場合がある。そのため、目標の動作速度の近辺のパス、すなわちマージンの小さいパスが多いと、共用されるセルの遅延によって現実に製造された半導体集積回路が目標動作周波数で動作しない可能性がある。
【0009】
また、半導体集積回路はシリコンウェハ上に複数の回路を同時に形成する場合が多いが、シリコンウェハ上の位置によって製造精度にばらつきがある。そのため、同じ設計の半導体集積回路であってもシリコンウェハ上の位置によって目標の動作速度を達成できる回路と目標の動作速度を達成できない回路が発生しうる。動作速度のマージンが小さいパスほど製造ばらつきに弱くなるので、マージンの小さいパスが多いとタイミング歩留まり(周波数歩留まり)が低下することとなる。
【0010】
このような消費電力や遅延量のマージンを指標としてセルの最適化を行なう場合、セルの置き換えによって動作周波数(サイクルタイム)が目標値を下回るパスが出ない範囲で最適化することが求められる。
【0011】
そこで、回路全体の動作周波数(サイクルタイム)に影響を与えない範囲でのセル最適化を支援する技術の実現が重要な課題となっていた。
【0012】
開示の技術は、上記に鑑みてなされたものであって、回路全体の動作周波数(サイクルタイム)に影響を与えない範囲でのセル最適化を支援する回路設計支援方法、回路設計支援装置および回路設計支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本願の開示する回路設計支援方法、回路設計支援装置および回路設計支援プログラムは、半導体集積回路内のパスのうち、半導体集積回路全体の動作タイミングに影響を与えることのないパスの動作遅延の上限値を上限パスディレイとする。開示の方法、装置、プログラムは、上限パスディレイに基づいて、セルの置き換えが前記半導体集積回路全体の動作タイミングに影響を与える可能性のあるパスをクリティカルパスとして決定する。開示の方法、装置、プログラムは、クリティカルパス上のセルのサイズを小さくしないこと、それ以外のセルは当該セルを含むパスの遅延が上限パスディレイを超えないことをセルサイズ最適化の制約条件とする。
【発明の効果】
【0014】
本願の開示する回路設計支援方法、回路設計支援装置および回路設計支援プログラムによれば、回路全体の動作周波数に影響を与えない範囲でのセル最適化を支援する回路設計支援方法、回路設計支援装置および回路設計支援プログラムを得ることができるという効果を奏する。
【図面の簡単な説明】
【0015】
【図1】図1は、実施例1にかかる回路設計支援方法のフローチャートである。
【図2】図2は、4つの入力を受けて一つの出力を出すセルにおける遅延分布の説明図である。
【図3】図3は、実施例1にかかる回路設計支援装置の概要構成図である。
【図4】図4は、セルに対する最適化の制約についての説明図である。
【図5】図5は、上限パスディレイとクリティカルパスの決定についての説明図である。
【図6】図6は、制約条件決定の変形例を説明するフローチャートである。
【図7】図7は、実施例2にかかる回路設計支援装置の概要構成図である。
【図8】図8は、実施例2に開示した回路設計支援装置の処理動作を説明する説明図である。
【図9】図9は、非クリティカルパスの最適化処理の詳細について説明するフローチャートである。
【図10】図10は、実施例3にかかる回路設計支援プログラムの説明図である。
【発明を実施するための形態】
【0016】
以下に、本願の開示する回路設計支援方法、回路設計支援装置および回路設計支援プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例1】
【0017】
図1は、実施例1にかかる回路設計支援方法のフローチャートである。実施例1にかかる回路設計支援方法は、ソートステップ(S101)、上限パスディレイ決定ステップ(S102)、クリティカルパス決定ステップ(S103)を有する。
【0018】
ソートステップ(S101)は、半導体集積回路内のパスのリストをパスの動作時に発生する遅延の確率分布に基づいてソートするステップである。上限パスディレイ決定ステップ(S102)は、ソートの結果、遅延が最大となるワーストパスの遅延分布に基づいて、半導体集積回路全体の動作タイミングに影響を与えることのないパスの動作遅延の上限値を上限パスディレイとして決定するステップである。
【0019】
クリティカルパス決定ステップ(S103)は、上限パスディレイに基づいて、セルの置き換えが半導体集積回路全体の動作タイミングに影響を与える可能性のあるパスをクリティカルパス(critical path)とするステップである。
【0020】
この回路設計支援方法によって回路全体の動作タイミングに影響を与えない範囲でセルサイズを最適化することができる制約条件が得られる。具体的には、クリティカルパス上に含まれるセルのセルサイズを小さくしないこと、およびクリティカルパス上に含まれないセルのセルサイズを小さくする場合には当該セルを含むパスの遅延が上限パスディレイを超えないことが制約条件となる。
【0021】
これにより、消費電力の低減や、目標の動作速度近辺に集中していたパスを分散することによるマージンの確保を実現することができる。
【0022】
パスの動作速度の集中による問題の1つについて説明する。複数のパスの経路に使用されることにより当該複数のパスに共用され、複数の入力を受けるセルでは、その動作に発生する遅延量は入力の最大の遅延量よりも大きくなる場合がある。複数の入力を受けるセルの出力の遅延分布は、統計的演算、いわゆる統計的Maxによって求めることができる。統計的Max演算では、遅延の確率分布がF(t),F(t)である2つの入力を受けたセルの出力f(t)は、
f(t)=dt(F(t),F(t))/dt
となり、Fはfの累積確率関数となる。
【0023】
図2は、4つの入力を受けて一つの出力を出すセルにおける遅延分布の説明図である。図2は、A1〜A4の4つの入力を受けたセルがXを出力として出す設計において、遅延量はA1,A2,A3,A4の順に大きい場合を例示している。
【0024】
最も遅延の小さい入力A4と、次に遅延の小さい入力A3を受けた場合のセルの出力の遅延分布がX_1である。その後、入力A2を受けたセルの出力の遅延分布がX_2であり、さらに入力A1を受けたセルの出力の遅延分布がX_3である。
【0025】
このように、セルに対して複数の入力がある場合、出力の遅延分布は最も遅い入力の遅延分布に比してさらに遅い分布となる。そのため、目標のサイクルタイムの近辺のパス、すなわちマージンの小さいパスが多いと、マージンの小さいパスの経路に使用されることにより当該マージンの小さいパスにおいて共用されるセルの遅延によって、目標の動作周波数を達成することができなくなる可能性がある。
【0026】
図3は、実施例1にかかる回路設計支援装置の概要構成図である。図3に示した回路設計支援装置は、制約情報抽出部11およびセルサイズ最適化処理部12を有する。制約情報抽出部11は、その内部に上限パスディレイ決定部11a、クリティカルパス決定部11bおよび制約条件出力部11cを有する。
【0027】
上限パスディレイ決定部11aは、パスリスト21に格納された半導体集積回路内のパスのリストをパスの動作時に発生する遅延の確率分布に基づいてソートし、ワーストパスの遅延分布に基づいて上限パスディレイを決定する。
【0028】
クリティカルパス決定部11bは、上限パスディレイに基づいて、パス全体の集合から、セルの置き換えが半導体集積回路全体の動作タイミングに影響を与える可能性のあるパスをクリティカルパスとして求める。
【0029】
制約条件出力部11cは、上限パスディレイ決定部11aが決定した上限パスディレイと、クリティカルパス決定部11bが決定したクリティカルパスとを制約条件としてセルサイズ最適化処理部12に出力する。
【0030】
セルサイズ最適化処理部12は、設計データ22、セルパラメータライブラリ23を参照してセルサイズの最適化を行なって設計データ22を書き換える。具体的には、セルの駆動能力が小さいことにより波形が歪み、ディレイが大きくなっている場合にはセルサイズを大きくすることによりセルの駆動能力を上げる等、セルサイズの最適化を行う。このとき制約情報抽出部11から受けた制約条件を使用することで、集積体路全体の動作タイミングに影響を与えない範囲でのセルサイズの最適化を行なうことができる。
【0031】
図4は、セルに対する最適化の制約についての説明図である。図4に示した例では、ラッチL1〜L5の間を繋ぐパスを示している。また、パス上にはセルC11〜C13,C21〜C25,C31〜C34を配置している。
【0032】
図4に示した例では、ラッチL2からラッチL4に至るパスがクリティカルパスである。クリティカルパス上のセルは、セルサイズを小さくすると半導体集積回路全体の動作タイミングを悪化させる可能性がある。具体的には、セルサイズを小さくした場合には、セルの駆動能力が小さくなり、出力波形が歪むことによりディレイが大きくなる。そのため、クリティカルパス上のセルは遅延が増加する変更、すなわちより小さいセルサイズへの変更が禁止される。
【0033】
これ以外のパスは、半導体集積回路全体の動作タイミングに影響を与えることなくセルサイズの増減が可能なパス、つまり非クリティカルパスである。しかしながら、非クリティカルパス上のセルであってもクリティカルパスと共用されるセルについては遅延が増加する変更、すなわちより小さいセルサイズへの変更を禁止する。
【0034】
たとえば、ラッチL1からセルC11〜C13,C24〜C25を経由してラッチL4に至るパスは非クリティカルパスである。このパス上のセルのうち、セルC11〜C13は最適化においてセルサイズの増加と減少のいずれも許容される。一方、セルC24〜C25は、クリティカルパスに使用されることにより、当該クリティカルパスと共用されるのでセルサイズを小さくすることはできない。
【0035】
同様に、ラッチL2からセルC21〜C23,C33〜C34を経由してラッチL5に至るパスも非クリティカルパスである。このパス上のセルのうち、セルC21〜C23はセルサイズの減少を禁止し、セルC33〜C34はセルサイズの増減を許可する。
【0036】
また、ラッチL3からセルC31〜C32,C23〜C25を経由してラッチL4に至るパスも非クリティカルパスである。このパス上のセルのうち、セルC23〜C25はセルサイズの減少を禁止し、セルC31〜C32はセルサイズの増減を許可する。
【0037】
同様に、ラッチL3からセルC31〜C32,C23,C33〜C34を経由してラッチL5に至るパスも非クリティカルパスである。このパス上のセルのうち、セルC23はセルサイズの減少を禁止し、セルC31〜C32,C33〜C34はセルサイズの増減を許可する。
【0038】
このように、クリティカルパス上のセルのセルサイズ減少を禁止すれば、回路全体の動作タイミングに影響を与えることなくセルサイズの最適化を行なうことができる。なお、非クリティカルパスであってもセルの置き換えによって動作速度が遅くなりすぎるとクリティカルパスになる可能性がある。そこで、非クリティカルパスに対するセル置き換えにおいては、パスの遅延量が上限パスディレイを超えないことを条件とする。
【0039】
図5は、上限パスディレイとクリティカルパスの決定についての説明図である。図5に示した例は、パスの遅延分布の中央値でパスリストをソートした状態である。ソートの結果、最も遅延分布の中央値の大きいパスがワーストパスである。上限パスディレイ決定部11aは、ワーストパスの遅延分布のうち遅延が小さい側の3σ値、すなわち3σfast値を上限パスディレイDmaxとする。3σ値は、パス遅延分布の平均値と分散値から求める。具体的には、パス遅延分布の平均値から分散の3倍を減じた値が3σfast値であり、パス遅延分布の平均値に分散の3倍を加えた値が3σslow値である。確率分布が正規分布に従う場合、2つの3σ値の間に分布の99.7パーセントが収まることが知られている。
【0040】
半導体集積回路内のパスのうち、遅延の確率分布において遅延が大きい側の3σ値、すなわち3σslow値がワーストパスの3σfast値に比して大きいパスは、ワーストパスの遅延分布に影響を与える可能性のあるクリティカルパスである。言い換えれば、3σslow値がワーストパスの3σfast値に比して大きいパスは、全体の動作タイミングに影響を及ぼす可能性がある。3σslow値がワーストパスの3σfast値に比して小さいパスは、ワーストパスの遅延分布に影響を与えることなくセルサイズを増減できる非クリティカルパスとなる。
【0041】
図6は、制約条件決定の変形例を説明するフローチャートである。図6に示した回路設計支援方法では、制約情報抽出部11は、まずパスリストを遅延分布の中央値でソートする(S201)。つぎに、制約情報抽出部11は、中央値のソートで遅延が最大となるワーストパスの3σfast値を上限パスディレイ候補とする(S202)。
【0042】
その後、制約情報抽出部11は、ソースとしたパスのうち、3σslow値がワーストパスの3σfast値よりも大きいパスをクリティカルパスとする(S203)。
【0043】
つぎに、制約情報抽出部11は、パスリストの遅延分布の3σslowでソートする(S204)。そして、制約情報抽出部11は、3σslow値のソートで遅延が最大となるワーストパスの3σfast値を上限パスディレイ候補とする(S205)。
【0044】
その後、制約情報抽出部11は、ソースとしたパスのうち、3σslow値がワーストパスの3σfast値よりも大きいパスをクリティカルパスに追加する(S206)。
【0045】
そして、制約情報抽出部11は、上限パスディイ候補の最小値を上限パスディレイとする(S207)。
【0046】
なお、半導体集積回路がプロセッサである場合、回路内のパスの段数が近く、パスの分布に偏りが少ないので、ステップS203〜S206を省略しても良い。
【0047】
上述してきたように、本実施例1にかかる回路設計支援方法および回路設計支援装置は、半導体集積回路内のパスの遅延分布から上限パスディレイとクリティカルパスを求める。そして、上限パスディレイとクリティカルパスから半導体集積回路全体の動作タイミングに影響を与えることなくセルサイズの最適化に用いる制約条件を求める。そのため回路全体の動作速度に影響を与えない範囲でのセル最適化を支援することができる。
【0048】
回路全体の動作速度に影響を与えない範囲でのセル最適化は、性能や消費電力、パスディレイのマージン確保といった複数の目標があり、目標を達成する設計改善には相反する内容が発生することがある場合の有効な支援となる。
【0049】
パスディレイのマージンを確保することで、半導体集積回路製造時のタイミング歩留まりを向上し、製造コストを下げることができる。タイミング歩留まりの向上は設計コスト、すなわち設計収束までの期間の短縮にも有効である。
【実施例2】
【0050】
図7は、実施例2にかかる回路設計支援装置の概要構成図である。図7に示した回路設計支援装置は、制約情報抽出部11、セルサイズ最適化処理部12、タイミング分析部13、遅延計算部14および設計部15を有する。
【0051】
設計部15は、ユーザからの操作入力に基づいて半導体集積回路の設計データを作成し、設計データ22に格納する。設計部15による設計には、論理設計、セル配置、配線処理が含まれる。
【0052】
遅延計算部14は、設計データ22とセルパラメータライブラリ23とを用いて各セルの遅延分布を算出する。タイミング分析部13は、遅延計算部14の計算結果を用いて統計的タイミング解析を行ない、半導体集積回路全体の動作タイミングを分析する。また、タイミング分析部13は、タイミング分析に使用した各パスの遅延分布をパスリスト21に登録する。
【0053】
実施例1で説明したように、制約情報抽出部11はパスリスト21から制約条件を求め、セルサイズ最適化処理部12は制約条件に基づいてセルサイズを最適化することで半導体集積回路全体の動作タイミングに影響を与えない範囲でセルサイズの最適化を行なう。
【0054】
このように実施例2に開示した回路設計支援装置は、半導体集積回路全体の動作タイミングを分析し、分析用に作成したパスの遅延分布を利用して半導体集積回路全体の動作タイミングに影響を与えない範囲でセルサイズの最適化を行なうことができる。
【0055】
さらに、セルサイズ最適化処理部12は、半導体集積回路全体の動作タイミングに影響を与えない範囲でセルサイズの最適化と、半導体集積回路全体の動作タイミングを最適化するセルサイズの最適化とで共用することができる。
【0056】
図8は、実施例2に開示した回路設計支援装置の処理動作を説明する説明図である。図8に示したように、実施例2に開示した回路設計支援装置では、まず、設計部15がユーザ操作に基づいて設計データ22を作成する(S301)。つぎにセルサイズ最適化処理部12が設計データ22とセルパラメータライブラリ23に基づいてクリティカルパスを最適化する(S302)。
【0057】
このクリティカルパスの最適化は、半導体集積回路全体の動作タイミングが目標値を達成するようセルを置き換える処理である。具体的には、目標の動作タイミングを達成していないパスのセルサイズを大きくすることでサイクルタイムを向上こととなる。
【0058】
セルサイズ最適化処理部12は、半導体集積回路全体の動作タイミングが目標値を達成した場合にクリティカルパスの最適化を終了し、設計データ22を上書きする。
【0059】
その後、セルサイズ最適化処理部12は、非クリティカルパスの最適化を行なう(S303)。非クリティカルパスの最適化は、既に述べたように、制約情報抽出部11から得られた制約条件を適用してセルの置き換えを行なう処理である。
【0060】
この非クリティカルパスの最適化は、既に述べたように半導体全体の動作タイミングを悪化させることなくセルサイズの最適化を行なうことができる。セルサイズ最適化処理部12は、非クリティカルパスの最適化が終了した場合に、設計データ22を上書きする。
【0061】
図9は、非クリティカルパスの最適化処理の詳細について説明するフローチャートである。非クリティカルパスの最適化処理は、まず、各セルのスラック情報を計算する(S401)。スラック情報は、各セルでの遅延の余裕値を示すものである。スラック情報は、タイミング解析など他の処理で計算されていれば、その値を用いることができるのでスラック情報計算は省略することができる。
【0062】
つぎにセルサイズ最適化処理部12は、制約条件に基づき、非クリティカルパスから最適化の対象となるパスを選択する(S402)。セルサイズ最適化処理部12は、選択したパス上のスラック値を取り出し(S403)、スラック値と制約条件から置き換え対象のセルを仮決定する(S404)。
【0063】
そして、セルサイズ最適化処理部12は、セルパラメータライブラリ23を参照してセルを置き換えた場合のスラックを再計算する(S405)。セルサイズ最適化処理部12は、再計算の結果、パスの遅延が上限パスディレイを超過するか否かを判定する(S406)。パスの遅延が上限パスディレイ以下であれば(S406,No)、セルサイズ最適化処理部12は、仮決定していたセルの置き換えを行なう(S407)。パスの遅延が上限パスディレイを超過した場合(S406,Yes)には、セルサイズ最適化処理部12は仮決定したセルの置き換えを行なわない。
【0064】
その後、セルサイズ最適化処理部12は、選択中のパス上に他に変更可能なセルが存在するか否かを判定する(S408)。選択中のパス上に他に変更可能なセルが存在する場合(S408,Yes)、セルサイズ最適化処理部12はステップS404に戻る。
【0065】
選択中のパス上に他に変更可能なセルが存在しない場合(S408,No)、セルサイズ最適化処理部12は、非クリティカルパスのうち、未選択のパスが存在するか否かを判定する(S409)。未選択の非クリティカルパスが存在するならば(S409,Yes)、セルサイズ最適化処理部12は、ステップS402に戻る。
【0066】
そして、すべての非クリティカルパスについてセルサイズの最適化が終了した場合(S409,No)、セルサイズ最適化処理部12は、非クリティカルパスの最適化処理を終了する。
【0067】
上述してきたように、実施例2に開示した回路設計支援装置は、半導体集積回路全体の動作タイミングの分析用に作成したパスの遅延分布を有効に利用して半導体集積回路全体の動作タイミングに影響を与えない範囲でセルサイズの最適化を行なうことができる。
【0068】
また、実施例2に開示した回路設計支援装置は、クリティカルセルの最適化と非クリティカルセルの最適化とでセルサイズ最適化処理部を共用することで、既存のクリティカルパスの最適化処理を利用して非クリティカルパスの最適化を行なうことができる。
【実施例3】
【0069】
図10は、実施例3にかかる回路設計支援プログラムの説明図である。図10では、コンピュータシステムのハードディスク41に回路設計支援プログラム50を格納している。
【0070】
コンピュータシステムは、CPU(Central Processing Unit)31、RAM(Random Access Memory)、ハードディスクコントローラ33、光学媒体ドライバ34、通信ボード35、キーボードコントローラ36、ディスプレイコントローラ37を有する。CPU31、RAM、ハードディスクコントローラ33、光学媒体ドライバ34、通信ボード35、キーボードコントローラ36、ディスプレイコントローラ37は、バス30に接続される。
【0071】
また、ハードディスクコントローラ33は、ハードディスク41と接続する。光学媒体ドライバ34は、光学媒体42、たとえばCD(Compact Disc)、DVD(Digital Versatile Disc)、BD(Blu-ray Disk)などに対するアクセスを行なう装置である。
【0072】
通信ボード35は、任意の通信プロトコルで通信を行なう通信装置である。キーボードコントローラ36は、キーボード43と接続し、ユーザからの操作入力を受け付ける。また、ディスプレイコントローラ37は、ディスプレイ44に対する表示出力を制御する出力インタフェースである。
【0073】
図10に示した例では、ハードディスク41が回路設計支援プログラム50、設計データ22、セルパラメータライブラリ23およびパスリスト21を保持している。
【0074】
回路設計支援プログラム50は、設計プログラム51、遅延計算プログラム52、タイミング分析プログラム53、セルサイズ最適化処理プログラム54および制約情報抽出プログラム55を有する。
【0075】
CPU31は、回路設計支援プログラム50をRAM32に展開して実行する。設計プログラム51は、CPU31に実行されることで、実施例2に示した設計部として機能する。遅延計算プログラム52は、CPU31に実行されることで、実施例2に示した遅延計算部として機能する。タイミング分析プログラム53は、CPU31に実行されることで、実施例2に示したタイミング分析部として機能する。セルサイズ最適化処理プログラム54は、CPU31に実行されることで、実施例2に示したセルサイズ最適化処理部として機能する。そして、制約情報抽出プログラム55は、CPU31に実行されることで、実施例2に示した制約情報抽出部として機能する。
【0076】
したがって、CPU31が回路設計支援プログラム50を実行することで、コンピュータシステムは実施例に開示した回路設計支援装置として動作する。
【0077】
上述してきたように、実施例3に開示した回路設計支援プログラムは、任意のコンピュータシステムを回路設計支援装置として動作させることができる。なお、本実施例3では、ハードディスク41に回路設計支援プログラムを格納した場合を例示したが、回路設計支援プログラムは、コンピュータによって読み取ることのできる任意の記録媒体に格納することができる。記録媒体の一例として、CD、DVDやBDなどの光学媒体、MO(Magneto-Optical)ディスクなどの光磁気記録媒体、フロッピィディスクなどの磁気記録媒体、フラッシュメモリがある。
【符号の説明】
【0078】
11 制約情報抽出部
11a 上限パスディレイ決定部
11b クリティカルパス決定部
11c 制約条件出力部
12 セルサイズ最適化処理部
13 タイミング分析部
14 遅延計算部
15 設計部
21 パスリスト
22 設計データ
23 セルパラメータライブラリ
30 バス
31 CPU
32 RAM
33 ハードディスクコントローラ
34 光学媒体ドライバ
35 通信ボード
36 キーボードコントローラ
37 ディスプレイコントローラ
41 ハードディスク
42 光学媒体
43 キーボード
44 ディスプレイ
50 回路設計支援プログラム
51 設計プログラム
52 遅延計算プログラム
53 タイミング分析プログラム
54 セルサイズ最適化処理プログラム
55 制約情報抽出プログラム

【特許請求の範囲】
【請求項1】
半導体集積回路内のパスを、当該パスの動作時に発生する遅延の確率分布に基づいてソートするステップと、
前記ソート結果、前記遅延が最大となるパスをワーストパスとし、該ワーストパスの遅延分布に基づいて、半導体集積回路全体の動作タイミングに影響を与えることのないパスの動作遅延の上限値を上限パスディレイとして決定するステップと、
前記上限パスディレイに基づいて、セルの置き換えが前記半導体集積回路全体の動作タイミングに影響を与える可能性のあるパスをクリティカルパスとして決定するステップと
をコンピュータに実行させることを特徴とする回路設計支援方法。
【請求項2】
前記セルの置き換えは、前記クリティカルパス上に含まれるセルのセルサイズを小さくしないこと、および前記クリティカルパス上に含まれないセルのセルサイズを小さくする場合には当該セルを含むパスの遅延が前記上限パスディレイを超えないことを制約条件とすることを特徴とする請求項1に記載の回路設計支援方法。
【請求項3】
前記制約条件に基づいてセルの置き換えを行なうステップをさらに含んだことを特徴とする請求項2に記載の回路設計支援方法。
【請求項4】
前記ソートステップは、前記遅延の確率分布の中央値、もしくは前記遅延の確率分布の平均値に当該分布の分散の3倍の値を加えて求めた遅延が大きい側の3σ値で前記パスをソートすることを特徴とする請求項1〜3のいずれか一つに記載の回路設計支援方法。
【請求項5】
前記上限パスディレイ決定ステップは、前記ワーストパスの遅延分布の平均値から当該分布の分散の3倍の値を減じて求めた遅延が小さい側の3σ値を上限パスディレイとすることを特徴とする請求項1〜4のいずれか一つに記載の回路設計支援方法。
【請求項6】
前記クリティカルパス決定ステップは、前記半導体集積回路内のパスのうち、遅延の確率分布において当該分布の平均値に当該分布の分散の3倍の値を加えて求めた遅延が大きい側の3σ値が前記ワーストパスの遅延の小さい側の3σ値に比して大きいパスを前記クリティカルパスとすることを特徴とする請求項1〜5のいずれか一つに記載の回路設計支援方法。
【請求項7】
半導体集積回路内のパスのうち、半導体集積回路全体の動作タイミングに影響を与えることのないパスの動作遅延の上限値を上限パスディレイとして決定する上限パスディレイ決定部と、
前記上限パスディレイに基づいて、セルの置き換えが前記半導体集積回路全体の動作タイミングに影響を与える可能性のあるパスをクリティカルパスとして求めるクリティカルパス決定部と、
前記クリティカルパス上に含まれるセルのセルサイズを小さくしないこと、および前記クリティカルパス上に含まれないセルのセルサイズを小さくする場合には当該セルを含むパスの遅延が前記上限パスディレイを超えないことを制約条件として出力する制約条件出力部と
を備えたことを特徴とする回路設計支援装置。
【請求項8】
前記制約条件に基づいてセルの置き換えを行なうセルサイズ最適化処理部をさらに含んだことを特徴とする請求項7に記載の回路設計支援装置。
【請求項9】
前記セルサイズ最適化処理部を、前記クリティカルパスが目標の動作タイミング内で動作するように最適化する処理と共用することを特徴とする請求項8に記載の回路設計支援装置。
【請求項10】
半導体集積回路内のパスを当該パスの動作時に発生する遅延の確率分布に基づいてソートする手順と、
前記ソートの結果、前記遅延が最大となるパスをワーストパスとし、該ワーストパスの遅延分布に基づいて、半導体集積回路全体の動作タイミングに影響を与えることのないパスの動作遅延の上限値を上限パスディレイとして決定する手順と、
前記上限パスディレイに基づいて、セルの置き換えが前記半導体集積回路全体の動作タイミングに影響を与える可能性のあるパスをクリティカルパスとして決定する手順と
をコンピュータに実行させることを特徴とする回路設計支援プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−39925(P2011−39925A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−188420(P2009−188420)
【出願日】平成21年8月17日(2009.8.17)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】