JP2007095028A - 半導体集積回路のタイミング検証方法 - Google Patents

半導体集積回路のタイミング検証方法 Download PDF

Info

Publication number
JP2007095028A
JP2007095028A JP2006131050A JP2006131050A JP2007095028A JP 2007095028 A JP2007095028 A JP 2007095028A JP 2006131050 A JP2006131050 A JP 2006131050A JP 2006131050 A JP2006131050 A JP 2006131050A JP 2007095028 A JP2007095028 A JP 2007095028A
Authority
JP
Japan
Prior art keywords
clock
circuit
delay
integrated circuit
signal path
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
JP2006131050A
Other languages
English (en)
Inventor
Hirokazu Yonezawa
浩和 米澤
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 JP2006131050A priority Critical patent/JP2007095028A/ja
Publication of JP2007095028A publication Critical patent/JP2007095028A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】半導体集積回路におけるばらつきを考慮したタイミング検証の信頼性を向上できるようにする。
【解決手段】工程S1,S2において、複数のクロック出力端子対同士の間における統計的クロックスキューの不均一性を算出する。続いて、工程S3において、各統計的クロックスキューを持つクロック出力端子対によって駆動される部分回路を集積回路から抽出する。続いて、工程S4において、抽出された部分回路に含まれる信号パスの第1の統計的タイミング特性から部分回路のなかの最大値である第2の統計的タイミング特性を取得する。続いて、工程S5において、各統計的クロックスキューと対応する第2の統計的タイミング特性とを用いて集積回路のタイミング検証を行なう。
【選択図】図1

Description

本発明は、半導体集積回路、特にLSI(Large Scale Integrated Circuit)等の設計を行なう際に、製造上のばらつきに起因する集積回路のタイミング特性のばらつきを評価するタイミング検証方法及びその検証装置に関する。
近年、LSIの製造技術の発達と共に、トランジスタの微細化が進展し、その集積度が急速に向上してきたため、例えばCMIS(Complementary Metal Insulator Semiconductor)半導体集積回路には種々多様な機能を組み込むことができるようになってきている。
LSIは種々の回路特性の仕様を満たすように設計され、とりわけ回路のタイミング設計には注意が払われる。信号が回路を伝わる際には一般に信号の伝搬遅延が生じ、タイミング設計はこの伝搬遅延が仕様の範囲内に収まるように設計する。通常、このタイミング設計時に信号のタイミング検証が行なわれる。
タイミング検証は、回路のタイミング特性(遅延特性)をコンピュータのソフトウエア上で仮想的に再現する技術であり、回路設計時に動作確認等の目的で広く用いられている。数あるなかの代表的なタイミング検証ソフトウエアには、米国Synopsys社のPrimeTime等が知られており、このタイミング検証ソフトウエアにより、クロック回路と該クロック回路により駆動される回路との両者のタイミング特性が評価される。
ところで、回路設計は、回路がその回路特性に影響を与える種々の変動要因を受けたとしても、該回路が正常に動作するように設計される。このとき考慮すべき要因はさまざまであり、製造時のばらつき及びゆらぎもその要因となる。製造ばらつきには、例えば、リソグラフィ工程又は研磨工程で生じる加工寸法のばらつきや、拡散領域におけるドーパント密度の粗密等のばらつきがある。製造ばらつきが生じると、回路中のトランジスタ及び配線の電気的特性も変動するため、トランジスタ及び配線から構成されるLSIの回路特性も変動する。このように、LSIの設計は、微細化が急速に進むなか、製造ばらつきの回路特性への影響がますます顕著となってきている。
クロック信号はLSIの内部動作を同期させる重要な信号であり、該クロック信号を供給するクロック回路のタイミング設計には細心の注意が払われる。
図14に従来のクロックツリー回路の一例を示す。入力端子Iからクロック木(ツリー)と呼ばれる複数の回路セル(バッファ)C1,C2,…,C7を経由して、各出力端子O1〜O4にそれぞれクロック信号が供給される。通常、各出力端子O1〜O4はフリップフロップ回路FF1〜FF4と接続される。クロック信号には、該クロック信号が入力端子Iから各出力端子O1〜O4に到達するまでの間、すなわち回路セルC1〜C7及び配線を通過する際に遅延が生じる。このときの各出力端子O1〜O4間に生じる遅延差がクロックスキュー(以下、単にスキューと称す。)である。
図15は従来のクロックツリー回路及びフリップフロップ回路に、信号パスを含めた回路の接続構成を示す。
タイミング検証においては、下記の式(1)と式(2)との関係が検証される。
path(max)+Tskew+Tsetup ≦ Tcycle …(1)
path(min)−Tskew ≧ Thold …(2)
式(1)に示すセットアップタイム側においては、最大信号パス遅延Tpath(max)にスキューTskew及びセットアップタイムTsetupを加えた値がクロック周期Tcycleに収まるか否かを信号パスごとに検証する。ここでは、これをセットアップタイム余裕の検証と呼ぶ。セットアップタイム側について、最小信号パス遅延を用いることもできるが、一般に問題視されやすい最大信号パス遅延を用いるセットアップタイム余裕検証について、以後言及する。
一方、式(2)に示すホールドタイム側においては、最小信号パス遅延Tpath(min)からスキューTskewを差し引いた値がホールドタイムThold以上であるか否かを信号パスごとに検証する。ここでは、これをホールドタイム余裕の検証と呼ぶ。ホールドタイム側について最大信号パス遅延を用いることもできるが、一般に問題視されやすい最小信号パス遅延を用いるホールドタイム余裕検証について、以後言及する。セットアップタイムとは、各フリップフロップ回路FF1〜FF4がクロック信号のエッジに同期して入力信号を取り込めるように、該エッジの時刻よりも一定時間以上前に入力信号の値を決定するのに必要な時間をいう。また、ホールドタイムとは、入力信号を保持できるように、クロック信号のエッジの時刻よりも一定時間以上入力信号の値が変化しない時間をいう。
スキューが大きいと回路の誤動作を起こす原因となることから、設計マージンとしてスキューの許容範囲を設定しておき、設計時にその許容範囲を満たすか否かを検証することがタイミング設計工程で行なわれる。クロック信号経路の遅延値を各クロックの出力端子ごとに求め、求めた遅延同士の差をクロック出力端子対ごとにスキューとして計算し、計算されたスキューが許容範囲に収まっているか、すなわち最大スキューが許容範囲にあるか否かを確認するという方法が採られる。
ところで、スキューは製造ばらつきによって変動する。製造ばらつきは、チップ間ばらつき成分とチップ内ばらつき成分とに大別される。スキューは2つの信号経路の遅延の差で計算されることから、チップ間ばらつき成分は、ばらつきがチップ内で一様であると仮定するとスキュー変動への影響は大きくない。これに対し、1つのチップにおけるチップ内ばらつき成分は、チップ内の2つの信号経路に対して異なるばらつきを生じさせ、結果的にスキューも増減することから、タイミング検証時に十分に考慮する必要がある。
そこで、ばらつきがない状態を想定した遅延を経路ごとに求めておき、対をなす経路ごとの遅延に異なった係数を乗じてチップ内ばらつきを想定したスキューを作成し、それを用いたタイミング検証が行なわれている。
また、例えば下記に挙げる特許文献1及び2の技術も知られている。
特許文献1は、クロックツリー回路のスキューを求める場合に、クロック出力端子からツリーの上流方向に遡って、ツリーが合流するノードからクロック出力端子までの遅延時間に製造ばらつきを考慮してスキューを求め、それをタイミング検証に用いている。
特許文献2は、信号パスの遅延を計算する際に、チップ内ばらつきがパスに沿って減衰する効果を考慮している。
なお、製造ばらつきの影響を受けるのはクロックスキューだけではなく、信号パス遅延も同様である。この場合の、信号パス遅延を求める方法には、下記の式(3)及び式(4)の方法がある。
path =Σ(ttyp・Kp) …(3)
path =Σ(tmax) …(4)
式(3)は、製造ばらつきがない状態を想定した回路セル及び配線の遅延要素ttypを求めておき、製造ばらつきを想定した係数Kpを遅延要素に乗じることにより、信号パスの最大遅延及び最小遅延を得る方法である。
式(4)は、あらかじめ製造ばらつきを考慮した最大遅延要素tmaxを求めておき、それらの和から最大信号パス遅延を求める方法である。最小信号パス遅延についても同様に求めることができる。
また、例えば下記に挙げる非特許文献1のような技術も知られている。チップには通常多くの信号パスがあり、なかでもタイミング余裕が厳しいクリティカルパス群が性能を決定する。非特許文献1は、上記の式(3)及び式(4)のように、信号パス遅延をパス単位で扱うのではなく、チップにおけるクリティカルパス群を扱うことにより、チップ内ばらつきの影響を考えた場合のチップ全体での最大遅延を統計的に求めている。
特許第2967759号公報 国際公開第2003/060776号パンフレット 特開2005−259107号公報 K.A.Bowman and J.D.Meindl,"Impact of Within-Die Parameter Fluctuations on Future Maximum Clock Frequency Distributions," Custom Integrated Circuits Conference(2001)
しかしながら、特許文献1には、クロックツリーのスキューを、チップ内ばらつきを考慮して算出する工程は含まれているものの、その開示されている算出方法はチップ内ばらつきを表わす係数を遅延に乗じるという近似的手法であり、クロック信号経路の遅延も算出後のスキューもいずれも統計量としては扱われていない。このため、製造ばらつきのスキューへの影響を限定的に評価できるに過ぎない。また、クロックツリー以外の信号パスの遅延自体も統計的には扱っていない。製造ばらつきは統計的に表わされるため、影響を受ける遅延もスキューも統計量として適切に扱うことが望ましい。
特許文献2は、チップ内ばらつきがパスに沿って平均化され減衰する効果は扱われてはいるものの、クロックスキュー等の遅延差を考える場合に重要となるパス遅延の相関関係が考慮されていない。
非特許文献1は、複数の信号パスを含むチップ回路の全体を代表する遅延を、チップ内ばらつきを考慮して統計的且つ解析的に求める手法は含まれているものの、クロックスキューの特徴まで考慮する方法は示されていない。
このように、信頼性が高いタイミング検証の要求が高いにも拘わらず、前記従来の方法はいずれも適切なタイミング検証の実現が困難であり、信頼性が低いという問題がある。
本発明は、前記従来の問題に鑑み、半導体集積回路におけるばらつきを考慮したタイミング検証の信頼性を向上できるようにすることを目的とする。
前記の目的を達成するため、本発明は、半導体集積回路のタイミング検証方法を、製造ばらつきに起因するクロックスキューと信号パス遅延との双方のばらつきを統計的に考慮する構成とする。
具体的に、本発明に係る第1の半導体集積回路のタイミング検証方法は、複数のクロック信号を出力可能なクロック回路と、該クロック回路から出力される複数のクロック信号のうちのいずれかが供給される複数の信号パスを含む集積回路とを有する半導体集積回路におけるクロック信号のばらつきを考慮した半導体集積回路のタイミング検証方法を対象とし、複数のクロック信号のうちの任意のクロック信号対ごとに、該クロック信号対の間に生じるクロックスキューを統計的に算出することにより、複数の統計的クロックスキューを取得する工程(a)と、取得した複数の統計的クロックスキューのうちの一の統計的クロックスキューが生じるクロック信号対によって駆動される部分回路を集積回路から抽出する工程(b)と、抽出された部分回路に含まれる信号パスにおける第1の統計的タイミング特性を算出する工程(c)と、算出された第1のタイミング特性から、その最大値及び最小値の少なくとも一方を第2の統計的タイミング特性として取得する工程(d)と、取得した第2の統計的タイミング特性を用いて、部分回路に含まれる信号パスにおけるタイミング検証を行なう工程(e)とを備えていることを特徴とする。
第1の半導体集積回路のタイミング検証方法によると、複数の統計的クロックスキューを取得した後、取得した複数の統計的クロックスキューのうちの一の統計的クロックスキューが生じるクロック信号対によって駆動される部分回路を集積回路から抽出する。その後、抽出された部分回路に含まれる信号パスにおける第1の統計的タイミング特性を算出し、算出された第1のタイミング特性から、その最大値及び最小値の少なくとも一方を第2の統計的タイミング特性として取得する。この第2の統計的タイミング特性を用いて部分回路に含まれる信号パスのタイミング検証を行なうため、ばらつきを考慮した信頼性が高いタイミング検証を行なうことができる。
第1の半導体集積回路のタイミング検証方法は、工程(c)において、第1の統計的タイミング特性には信号パスごとの遅延確率分布を用い、工程(d)において、第2の統計的タイミング特性には部分回路に含まれる信号パス全体の最大遅延確率分布を用い、工程(e)において、最大遅延確率分布を用いることにより、部分回路におけるセットアップタイム余裕又はホールドタイム余裕のタイミング検証を行なうことが好ましい。
また、第1の半導体集積回路のタイミング検証方法は、工程(c)において、第1の統計的タイミング特性には信号パスごとの遅延確率分布を用い、工程(d)において、第2の統計的タイミング特性には部分回路に含まれる信号パス全体の最小遅延確率分布を用い、工程(e)において、最小遅延確率分布を用いることにより、部分回路におけるセットアップタイム余裕又はホールドタイム余裕のタイミング検証を行なうことが好ましい。
第1の半導体集積回路のタイミング検証方法は、工程(b)において、任意のクロック信号対の間に生じる統計的クロックスキュー値が同一又は同等で且つ互いの相関係数がほぼ1である場合に、統計的クロックスキュー値が同一又は同等のクロック信号対と接続される複数の部分回路をまとめて抽出することが好ましい。
第1の半導体集積回路のタイミング検証方法は、工程(b)において、各信号パスにおける遅延と各信号パスにおけるゲートの段数とに制約を設け、該制約を満たす信号パスを含む部分回路を集積回路から抽出することが好ましい。
第1の半導体集積回路のタイミング検証方法は、工程(a)よりも前に、複数のクロック信号における各信号波形のばらつきを求める工程(f)をさらに備え、工程(c)において、第1の統計的タイミング特性を、各クロック信号における信号波形のばらつきを反映させた状態で算出することが好ましい。
第1の半導体集積回路のタイミング検証方法は、工程(a)において、統計的クロックスキューは、製造ばらつき、電圧ばらつき及び温度ばらつきのうちの少なくとも1つの要因を考慮して算出することが好ましい。
第1の半導体集積回路のタイミング検証方法において、工程(a)は、製造ばらつき、電圧ばらつき及び温度ばらつきのうちの少なくとも1つの要因を係数として求める工程と、求めた係数を統計的クロックスキューに乗じる工程とを含むことが好ましい。
第1の半導体集積回路のタイミング検証方法は、工程(c)において、第1の統計的タイミング特性は、製造ばらつき、電圧ばらつき及び温度ばらつきのうちの少なくとも1つの要因を考慮して算出することが好ましい。
第1の半導体集積回路のタイミング検証方法において、工程(c)は、製造ばらつき、電圧ばらつき及び温度ばらつきのうちの少なくとも1つの要因を係数として求める工程を含み、工程(d)は、係数を第2の統計的タイミング特性に乗じる工程を含むことが好ましい。
本発明に係る第2の半導体集積回路のタイミング検証方法は、複数のクロック信号を出力可能なクロック回路と、該クロック回路から出力される複数のクロック信号のうちのいずれかが供給される複数の信号パスを含む集積回路とを有する半導体集積回路におけるクロック信号のばらつきを考慮した半導体集積回路のタイミング検証方法を対象とし、クロックツリー回路における回路トポロジ(接続形態)に基づいて、予想されるクロックスキューの種類を特定し、特定したクロックスキューを持つクロック信号対ごとにクロックスキューを対応付けるクロックスキュー分類工程(a)と、クロックスキューの種類ごとにクロックスキューの確率分布を統計的に算出するクロックスキュー分布算出工程(b)と、クロックスキューの確率分布の種類ごとにクロック信号対により駆動される信号パスを集積回路から部分回路として抽出し分類する信号パス分類工程(c)と、抽出された部分回路ごとに、部分回路に含まれるすべての信号パスの遅延の確率分布を算出する信号パス群遅延分布算出工程(d)と、部分回路に含まれるすべての信号パスの遅延の確率分布のうち最大遅延及び最小遅延の少なくとも一方とクロックスキューの確率分布とによってタイミング検証を行なうタイミング検証工程(e)とを備えていることを特徴とする。
第2の半導体集積回路のタイミング検証方法によると、クロックスキューの種類ごとにクロックスキューの確率分布を統計的に算出し、その後、クロックスキューの確率分布の種類ごとにクロック信号対により駆動される信号パスを集積回路から部分回路として抽出して分類する。続いて、抽出された部分回路ごとに、部分回路に含まれるすべての信号パスの遅延の確率分布を算出し、部分回路に含まれるすべての信号パスの遅延の確率分布のうちの最大遅延及び最小遅延の少なくとも一方とクロックスキューの確率分布とによってタイミング検証を行なう。これにより、ばらつきを考慮した信頼性が高いタイミング検証を行なうことができる。
本発明に係る半導体集積回路のタイミング検証方法によると、異なるスキュー分布ごとに対象となる信号パス(部分回路)を抽出し、抽出した信号パス(部分回路)の最大遅延又は最小遅延を統計的に求めてタイミング検証を行なうことができ、ばらつきを考慮した信頼性が高いタイミング検証を行なうことができる。
(第1の実施形態)
本発明の第1の実施形態に係るタイミング検証方法について図面を参照しながら説明する。
図1は本発明の第1の実施形態に係る半導体集積回路のタイミング検証方法の工程フローを示しており、クロックスキュー分類工程S1、クロックスキュー分布算出工程S2、信号パス分類工程S3、信号パス群遅延分布算出工程S4及びタイミング検証工程S5を含んでいる。
(クロックスキュー分類工程S1)
最初に、単純なモデルを用いてスキューを統計量で扱う考え方と、スキューの分布に差が生じる説明とを行なう。
図2(a)に示すように、例えば、それぞれが同一構成を持つバッファからなる複数の回路セル10が接続されてなり、クロック入力端子INから各クロック出力端子OUT1〜OUT4までの各経路の遅延分布、平均及び標準偏差が同一のクロックツリー回路を仮定する。但し、ここでは、各クロック出力端子OUT1〜OUT4と接続されるフリップフロップ回路は簡単化のため図示していない。
クロックツリー回路には、製造ばらつきの影響により、スキューには2種類の確率分布(以後、スキュー分布と称す。)A及びBが生じ得る。ここで、クロック信号経路i,jの各遅延の分布を、正規分布N(μi、σi 2)とN(μj、σj 2)とすると、スキュー分布N(μ、σ2)は両経路の遅延の差から式(5)及び(6)で表わされる。ここで、μは平均値であり、σは標準偏差であり、ρは相関係数である。
μ=μi−μj …(5)
σ2=σi 2+σj 2−2ρijσiσj …(6)
図2(a)に示す回路は、4本のクロック信号経路を含むため、4本のうちから任意の2本を選んでなる経路対の組み合わせは全部で6種類ある。しかしながら、いずれの経路の遅延分布の平均も標準偏差も同一と仮定しているため、スキュー分布は2種類だけ考えればよい。さらに、ここでは、式(5)のスキュー分布の平均値(中央値)μは0となる。
スキュー分布A及びスキュー分布Bのスキューが生じる経路を抜き出すと、図2(b)のようになる。分布A及び分布Bを比べると、分布Aの方が分布Bと比べて2つの経路の共有度合いが高く、その分、分布Aの方が分布Bよりも経路間の遅延の相関が強くなる。これは、共有されている経路部分ではチップ内ばらつきの影響は両経路で同一であるため現われず、共有されていない経路部分にのみ影響が現れるからである。その結果、スキュー分布の標準偏差σは式(6)から予想されるように、スキュー分布Aの方が小さく、スキュー分布Bの方が大きくなる。従って、図2(c)に示すように、このクロックツリー回路の場合は、ばらつき幅が異なる2種類のスキュー分布が存在することになる。
このように、クロックスキュー分類工程S1は、クロックツリー回路の接続形態(トポロジ)を考慮してスキュー分布の種類を特定し、クロック信号の各信号経路対とスキューの種類とを対応付ける。図2(a)のクロックツリー回路の場合には、例えば[表1]のような対応表が作成できる。
Figure 2007095028
(クロックスキュー分布算出工程S2)
次に、クロックスキュー分布算出工程S2において、クロックスキュー分類工程S1で分類したスキュー分布の種類ごとに、クロックツリー回路のスキュー分布を算出する。図2(a)に示すクロックツリー回路の場合は、スキュー分布A、Bの2種類についてそれぞれスキュー分布を算出する。スキュー分布を統計量として求める必要から、算出手法には、上述した特許文献3に示されるようなチップ間ばらつきとチップ内ばらつきとの両成分を考慮した回路シミュレーションによるモンテカルロ解析手法等が適用できる。この場合には、チップ内ばらつきによる遅延のばらつきがクロック信号経路に沿って平均化されるという効果が考慮されることになる。
クロックスキュー分布算出工程S2により算出されたスキュー分布情報は、[表2]のような分布を表わすデータとして格納すればよい。
Figure 2007095028
(信号パス分類工程S3)
次に、信号パス分類工程S3において、クロックスキュー分類工程S1で求めたスキュー分布の種類ごとに、ここではスキュー分布A、Bごとに、それぞれ対応するクロック出力端子対により駆動される集積回路中の複数の信号パスを分類する。
例えば、図3に示すように、各クロック出力端子OUT1〜OUT4により得られるクロック出力端子対(クロック信号対)の組み合わせごとに、駆動される信号パスを抽出する。すなわち、2つのスキュー分布A、Bのみが存在するとして、クロック出力端子OUT1〜OUT4のうちOUT1とOUT2との間のスキュー分布Aを持つ第1のクロック出力端子対により駆動される信号パス群を抽出し、抽出した信号パス群を含む回路を第1の部分回路αとする。また、出力端子OUT2とOUT3との間のスキュー分布Bを持つ第2のクロック出力端子対により駆動される信号パス群を抽出し、抽出した信号パス群を含む回路を第2の部分回路βとする。
ここでは、これら2つのクロック出力端子対以外の端子対、すなわちOUT1とOUT3との間、OUT1とOUT4との間、OUT2とOUT4との間及びOUT3とOUT4との間には、信号パスは接続されていないと仮定する。なお、信号パスとは、2つのフリップフロップ回路FF同士に挟まれた信号経路をいう。ここで、第1の部分回路αの信号パスの数をNA本とし、第2の部分回路βの信号パスの数をNB本とする。従って、図3に示す集積回路の例では、[表3]のような対応表を作成できる。
Figure 2007095028
(信号パス群遅延分布算出工程S4)
次に、信号パス群遅延分布算出工程S4を説明する。
通常、クロック信号の周期(サイクルタイム)を複数の信号パスに与える場合に、LSIの最高動作速度を決定するのは複数の信号パスのうちで一番遅い信号パスとなる。従って、信号パス遅延を統計量としてではなく、ただ1つの値を持つ固定値として扱い、且つ個々の信号パスも独立していると仮定する従来の設計方法の場合には、この遅延が最も大きい信号パス、すなわちクリティカルパスがLSI全体の動作を律速しているとみなす。
しかしながら、第1の実施形態のように、ばらつきを考慮するために統計量として信号パス遅延を扱う場合は、信号パス全体の遅延の確率分布を求めてタイミング検証を行なう必要がある。
前述した非特許文献1にも示されているように、チップ内ばらつきが生じると、複数の信号パスの遅延が最大値を取る確率は、一の信号パスの遅延の確率とは異なってくる。
そこで、信号パス群遅延分布算出工程S4においては、抽出した部分回路ごとに、該部分回路に含まれるすべての信号パスの遅延のうちの最大値を取る確率分布を算出する。
例えば、N本の信号パスのうちのk番目の遅延分布をDk とすると、部分回路全体の遅延Dの最大確率は、以下の式(7)で求められる。統計量であるDk の算出手法には、クロックスキュー分布算出工程S2の場合と同様に、チップ間ばらつきとチップ内ばらつきとの両成分を考慮した回路シミュレーションによるモンテカルロ解析技術等が適用できる。
D=Max(D1 ,D2 ,…,Dk ,…,DN ) …式(7)
図4(a)及び図4(b)は、符号11A、11Bで示す各信号パスの遅延分布がすべて等しく、且つ図3において信号パスの本数がNA<NBであると仮定した場合に、第1の部分回路α及び第2の部分回路βについて、式(7)により統計的最大値を求めた結果をそれぞれDα 、Dβ として符号12A、12Bで表わしている。
図4(a)及び(b)に示すように、各部分回路α、βの遅延の最大確率分布12A、12Bは、それを構成する各信号パスの遅延分布11A、11Bとは、平均値も分散も異なる。さらに、各部分回路α、βの遅延の最大確率分布における各信号パスの遅延分布からのずれは、信号パスの数が多い第2の部分回路βの方が第1の部分回路αよりも大きくなる。
算出した最大確率分布情報は、例えば正規分布近似を行なった後、[表4]のような分布を表わすデータを格納すればよい。
Figure 2007095028
(タイミング検証工程S5)
次に、タイミング検証工程S5において、これまで求めたすべてのデータを総合してタイミング検証を行なう。
図3において、第1のクロック出力端子対OUT1、OUT2については、クロックスキュー分類工程S1の結果からスキュー分布Aに対応している。クロックスキュー分布算出工程S2で求めたスキュー分布Aと、信号パス群遅延分布算出工程S4によって求められた第1の部分回路αの最大遅延確率分布Dα とを式(1)の左辺に代入すると、以下の式(8)の左辺となる。さらに、式(8)の不等号が成り立つことを確認する。
Dα +A+Tsetup ≦ Tcycle …式(8)
同様に、第2のクロック出力端子対OUT2、OUT3については、クロックスキュー分類工程S1の結果からスキュー分布Bに対応している。クロックスキュー分布算出工程S2で求めたスキュー分布Bと、信号パス群遅延分布算出工程S4によって求められた第2の部分回路βの最大遅延確率分布Dβ とを反映した式(9)の関係を検証する。
Dβ +B+Tsetup ≦ Tcycle …式(9)
図5(a)は式(8)及び式(9)における左辺の確率分布を表わしている。ここで、符号21を付したグラフが式(8)の左辺であり、符号22を付したグラフが式(9)の左辺である。従って、例えば左辺の分布平均から標準偏差の3倍増の点がクロック周期に収まっている(図5(a)のパス領域)か否か等の観点により判定でき、タイミング検証を行なうことができる。
また、図5(b)に示すように、符号23を付した式(8)の左辺の累積確率及び符号24を付した式(9)の左辺の累積確率を求めて、クロック周期に収まらない確率に基準を設けて判定、すなわちタイミング検証を行なうことも可能である。
図6は第1の実施形態に係る半導体集積回路のタイミング検証方法を実現するコンピュータシステムの一例を模式的に表わしている。図6に示すように、端末コンピュータ101は、メインコンピュータ102とネットワーク103を介して接続されている。
端末コンピュータ101及びメインコンピュータ102には、CPU(central processing unit)、RAM(random access memory)、ROM(read only memory)、ハードディスク装置及びインタフェース機器等が内蔵された一般的な構成で良く、詳細な説明は省略する。図1に示した各工程を実現するプログラム104と、該プログラム104を実行させるのに必要なデータ105が、メインコンピュータ102の記憶装置に格納されている。
ユーザは、端末コンピュータ101を操作してメインコンピュータ102に解析の実行を指示すると、メインコンピュータ102上で図1に示す各工程S1〜S5を実現するプログラム104により、タイミング検証が実行される。その後、ユーザは、検証結果を端末コンピュータ101からネットワーク103を経由してアクセスし、出力装置等に出力して参照することができる。
第1の実施形態に係る信号パス群遅延分布算出工程S4においては、前述したとおり、簡単化するために、信号パス遅延分布が信号パスに依らず同一であるという仮定を行なっている。すなわち、図7(a)に示すように、互いに同一な遅延分布を有する複数の信号パスが、図7(b)に示すヒストグラムのように存在している場合を想定している。しかしながら、実際のLSIは、複数の信号パス同士が同一の遅延分布を有していることは稀であり、通常は各信号パスによって遅延分布も異なっている。一般には、図7(c)に示すように、それぞれ異なる遅延分布を有する信号パスの頻度は、図7(d)のように分布する。
従って、第1の実施形態の第1変形例として、信号パス群遅延分布算出工程S4において、図7(c)及び図7(d)で表わされるような信号パス群を扱う構成としてもよい。すなわち、式(7)を用いて計算する際に、各信号パスの遅延分布Dk に対して、各信号パスがそれぞれに異なる平均及び分散を持つ遅延分布を与えて計算すればよい。
また、第1の実施形態においては、式(1)におけるセットアップタイムTsetupを固定値として扱っているが、第2変形例として、セットアップタイムTsetupを統計量として扱うようにしてもよい。
また、第1の本実施形態においては、図14に示したフリップフロップ回路FF1〜FF4自体に生じる遅延、例えば1つのフリップフロップ回路のクロック入力端子Cから正相出力端子Qに至るまでの遅延については言及しなかったが、フリップフロップ回路自体の遅延に対しても、固定値及び統計量のどちらかに含めるようにしてもよい。
また、図1において、各工程S1,S2,S3,S4及びS5は、必ずしもこの順に実行される必要はない。例えば、工程S1の後に、工程S2と工程S3とを並行して進めてもよい。なお、クロック回路の回路トポロジだけではスキュー分布の種類が決定できない場合は、スキュー分布をあらかじめクロック出力端子対ごとに算出し、すなわち工程S2を工程S1よりも先に行なって、その工程S2から得られた結果から、スキューを分類するようにしてもよい。
また、第1の実施形態においては、図2(a)及び図14に示したように、クロックツリー回路の接続形態(トポロジ)にツリー状で且つ二分木構造を持つ回路トポロジを用いたが、これに限定されない。
また、第1の実施形態においては、クロック信号の伝搬のばらつき要因として製造時を想定している。実際には、電圧又は温度等の動作環境の要因によっても回路特性はばらつき得る。従って、製造時以外の要因も同時に考慮するには、以下のような方法も有効である。
まず、信号パスの各遅延分布を回路シミュレーション等により求める際に、例えば最低電圧及び最高温度における各遅延が最大となる条件に設定しながら製造ばらつきを与え、それに基づいて各部分回路の最大遅延確率分布Tpathを求める。その後、スキュー分布Tskewにおいても、最低電圧及び最高温度における各遅延が最大となる条件に設定して、以下の式(10)により、セットアップタイム側のタイミング検証を行なう。
path(max)|VDDmin,Tjmax+Tskew|VDDminTjmax+Tsetup ≦ Tcycle…(10)
ホールドタイム側のタイミング検証も、同様に、例えば最高電圧及び最低温度における各遅延が最小となる条件となる条件に設定して、以下の式(11)に従って行なう。この方法では、電圧と温度の条件設定を行なうだけで、第1の実施形態に係る一連の工程S1〜S5をそのまま適用できる。
path(min)|VDDmax,Tjmin−Tskew|VDDmaxTjmin ≧ Thold …(11)
さらには、電圧及び温度がチップ内で一様でない場合には、以下の式(12)及び式(13)に示すように、TpathとTskewとのそれぞれに異なる係数を導入して電圧及び温度の影響を個別に設定できるようにしてもよい。
V・KT・Tpath(max)+SV・ST・Tskew+Tsetup ≦ Tcycle …(12)
K'V・K'T・Tpath(min)−S'V・S'T・Tskew ≧ Thold …(13)
ここで、KV 及びKT は、セットアップタイム側の検証時に、部分回路の最大遅延確率分布にそれぞれ電圧及び温度の影響を付与する係数であり、K'V及びK'Tは、ホールドタイム側の検証時に、部分回路の最小遅延確率分布にそれぞれ電圧及び温度の影響を付与する係数である。SV 及びST は、セットアップタイム側の検証時に、スキュー分布にそれぞれ電圧及び温度の影響を付与する係数であり、S'V及びS'は、ホールドタイム側の検証時に、スキュー分布にそれぞれ電圧及び温度の影響を付与する係数である。この場合も、Tpath及びTskewについては、第1の実施形態に係る一連の工程S1〜S5をそのまま適用することができる。
第1の実施形態においては、セットアップタイム余裕側の検証に最大信号パス遅延や遅延が最大になる条件を用いている。また、後述する第4の実施形態においては、ホールドタイム余裕側の検証には最小信号パス遅延や遅延が最小になる条件を用いている。また、逆に、セットアップタイム余裕側の検証に最小信号パス遅延を用い、ホールドタイム余裕側の検証に最大信号パス遅延を用いることも可能である。
なお、製造ばらつき等の影響によりばらつくクロック回路の特性は、クロック信号の遅延に限られず、クロック信号の波形すなわち遷移時間、さらにはスルーレート又は立上り及び立下り時間もばらつく。クロック信号波形のばらつきは、それを入力とする信号パスの遅延にも影響を与える。そこで、スキュー分布を算出する際に、クロック信号の波形ばらつきをも求めておき、各信号パスの遅延分布をこのクロック信号の波形ばらつきを参照しながら算出するようにしてもよい。
例えば、図14に示すクロックツリー回路の場合は、フリップフロップ回路FF1等のクロック入力端子Cにおけるクロック信号の波形ばらつきを正規分布で近似しておく。次に、各信号パスの遅延分布を計算する際に、このフリップフロップ回路FF1等を検証の対象とする信号パスの前段に接続し、接続されたフリップフロップ回路FF1等のクロック入力端子Cに入力されるクロック信号波形を、近似した正規分布によるばらつきを付与することにより計算すればよい。
以上説明したように、第1の実施形態によると、チップ内ばらつき成分を含む製造ばらつきを生じたクロックツリー構造によるスキュー分布の不均一性を求め、各スキュー分布を持つクロック出力端子対により駆動される部分回路をチップ全体回路から抽出する。続いて、抽出された部分回路に含まれる複数の信号パスの遅延分布から部分回路を代表する最大遅延分布を求め、対応するスキュー分布と最大遅延分布とを用いることにより、セットアップタイム側のタイミング検証を行なうことができる。
これにより、従来と比べ、製造ばらつき等のばらつきを考慮したタイミング検証を確率的に行なえるようになる。その上、クロック回路の特徴や回路設計上の特徴を同時に考慮した、より信頼性が高い検証をも行なえるようになる。
(第2の実施形態)
以下、本発明の第2の実施形態に係るタイミング検証方法について図面を参照しながら説明する。
第1の実施形態は、図3に示すように、それぞれ固有のスキュー分布A、Bに対応する第1のクロック出力端子対OUT1、OUT2の間と、第2のクロック出力端子対OUT2、OUT3の間にのみ複数の信号パスが存在している場合を説明した。
そこで、図8(a)に示すように、クロックツリー回路の分岐が図2(a)と比べて多く、クロック信号の出力端子数も多くなる場合には、第2の実施形態が可能となる。
前提として、チップ上のすべての素子(回路セル10)はクロックツリー回路からクロック信号が供給される。このとき、近接する素子同士のばらつきの相関は強く、距離が離れる程に相関が弱くなる状況を想定する。
図8(a)に示すように、第2の実施形態においては、例えば、互いに同一又は同等のスキュー分布Aを持ち、且つ該スキュー分布A同士の相関係数がほぼ1(ρ≒1)とみなせる程にそれぞれが近接した、第1のクロック出力端子対であるOUT1及びOUT2の間には信号パスをNA1本を含む第1の部分回路31が接続され、第2のクロック出力端子対であるOUT3及びOUT4の間には信号パスをNA2本を含む第2の部分回路32が接続されているとする。ここで、各クロック出力端子OUT1〜OUT4は第1グループG1に属し、各クロック出力端子OUT5〜OUT8は第2グループG2に属している。
このように、図1に示す信号パス分類工程S3において、図8(b)のように2つの部分回路を第1グループG1にグループ分けして、(NA1+NA2)本の信号パス群からなる第3の部分回路33を想定する。第3の部分回路33は、スキュー分布Aを有する仮想的なクロック出力端子対で駆動されていると考える。図1に示す工程S4以降は、第1の実施形態と同様の処理を行なうことができる。
これに対し、図8(a)において、第2グループG2にグループ分けされた第3のクロック出力端子対であるOUT5及びOUT6の間と、第4のクロック出力端子対であるOUT7及びOUT8の間とのそれぞれのスキュー分布も、グループG1と同一の分布Aである場合でも、これら第2グループG2に含まれるクロック出力端子対は、第1グループG1に含まれるクロック出力端子対とチップ上において互いの空間的距離が離れているため、第1グループG1と第2グループG2との間ではスキュー分布間の相関が弱い(ρ<<1)。
なお、第2の実施形態においては、2つのグループの場合について説明したが、グループの数は任意である。すなわち、クロック出力端子対の数までグループを増やすことも可能である。また、スキュー分布がAと異なるスキュー分布Bであっても同様である。
このように、第2の実施形態によると、第1の実施形態と同様の効果を得られるのに加え、互いの相関が強いスキュー分布の種類ごとにグルーピングが可能な部分回路をまとめることにより、より簡易に且つより効率的にタイミング検証を行なうことができる。
(第3の実施形態)
以下、本発明の第3の実施形態に係るタイミング検証方法について図面を参照しながら説明する。
図9は本発明の第3の実施形態に係る半導体集積回路のタイミング検証方法の工程フローを示している。図9に示すように、第3の実施形態においては、信号パス分類工程S3に信号パスフィルタリング工程S31を含む点が第1の実施形態とは異なる。従って、ここでは、信号パスフィルタリング工程S31のみを説明する。
(信号パス分類工程S3)
図9に示すように、信号パス分類工程S3は、クロックスキュー分類工程S1で求めたスキュー分布の種類ごとに、各スキュー分布を有するクロック出力端子対により駆動される集積回路中の複数の信号パスを分類する。但し、第3の実施形態に係る信号パス分類工程S3は、次のように第1の実施形態とは異なっている。
まず、前述したように、信号パス分類工程S3の後工程である信号パス群遅延分布算出工程S4においては最大遅延を統計的に計算する。この計算は、信号パス遅延がサイクルタイム(式(1)に示すTcycle)とほぼ等しく、且つ信号パスの出力端において、チップ内ばらつき成分の影響が大きく残っている信号パスが多く含まれる程、最大遅延分布は元の分布から大きくずれることになる。
チップ内ばらつき成分は、チップ内でランダムに生じるばらつきであるが、信号パスに沿って遅延への影響が平均化されるという性質を持つ。その平均化の度合いは信号パスの長さ、例えばゲート段数(論理段数又は論理深さともいう。)の多寡によっておおよそ決まる。具体的には、ゲート段数の平方根に反比例して平均化する近似(=1/√ゲート段数)を用い、この平均化の近似により、ランダムばらつきの標準偏差が1段のみの場合の20%(=1/5×100%)にまで減衰する場合を1つの目安にするとよい。この例の場合は、制限をかけるゲート段数は25段となる。
これにより、長い信号パス程、平均化が進むため、信号パス遅延分布におけるチップ内ばらつき成分の割合が小さくなり、その結果、信号パス群遅延分布算出工程S4において最大遅延を計算する上での信号パスの影響は小さくなる。
また、信号パス遅延がサイクルタイムと比べて大幅に小さい場合は、チップ内ばらつき成分がある程度は残っていたとしても、最大遅延を計算する際のチップ内ばらつき成分による影響は小さくなる。
その上、一般には遅延がサイクルタイムにほぼ等しい信号パスであっても、ゲート段数は信号パスによってさまざまである。
そこで、第3の実施形態は、信号パス分類工程S3に含めた信号パスフィルタリング工程S31において、信号パスの遅延とゲート段数とに制限を設けて、遅延がサイクルタイムにほぼ等しく且つ制限以下のゲート段数の信号パスのみを分類の対象とする。
この信号パスの分類が制限された後で、信号パス群遅延分布算出工程S4以降の工程は、第1の実施形態と同様である。
このように、第3の実施形態においては、部分回路を代表する最大遅延分布を算出する際の対象とする信号パスの数に制限を設けて選定することにより、信号パス群遅延分布算出工程S4における算出工数を削減することができる。
(第4の実施形態)
以下、本発明の第4の実施形態に係るタイミング検証方法について図面を参照しながら説明する。
図10は本発明の第4の実施形態に係る半導体集積回路のタイミング検証方法の工程フローを示している。図10に示すように、第4の実施形態においては、信号パス群遅延分布算出工程S40及びタイミング検証工程S50が第1の実施形態とは異なる。従って、ここでは、信号パスの遅延確率分布のうちの最小遅延確率分布を扱う信号パス群遅延分布算出工程S40及びタイミング検証工程S50のみを説明する。
(信号パス群遅延分布算出工程S40)
第1の実施形態で説明したように、製造ばらつきにチップ内ばらつきがあると、複数の信号パスの遅延が最小値を取る確率は、1つの信号パスの遅延の確率とは異なってくる。
そこで、第4の実施形態に係る信号パス群遅延分布算出工程S40は、部分回路ごとに、該部分回路に含まれるすべての信号パスの遅延のうちの最小値を取る確率分布を算出する。
例えば、N本の信号パスのうちのk番目の遅延分布をDk とすると、部分回路全体の遅延Dの最小確率は、式(14)で求められる。統計量であるDk の算出方法には、クロックスキュー分布算出工程S2と同様に、チップ間ばらつきとチップ内ばらつきとの両成分を考慮した回路シミュレーションによるモンテカルロ解析技術等が適用できる。
D=Min(D1 ,D2 ,…,Dk ,…,DN ) …式(14)
図11(a)及び図11(b)は、符号41A、41Bで示す各信号パスの遅延分布がすべて等しく、且つ図3において信号パスの本数がNA<NBであると仮定した場合に、第1の部分回路α及び第2の部分回路βについて、式(14)により統計的最小値を求めた結果をそれぞれDα 、Dβ として符号42A、42Bで表わしている。
図11(a)及び(b)に示すように、各部分回路α、βの遅延の最小確率分布42A、42Bは、それを構成する各信号パスの遅延分布41A、41Bとは、平均値も分散も異なる。さらに、各部分回路α、βの遅延の最小確率分布における各信号パスの遅延分布からのずれは、信号パスの数が多い第2の部分回路βの方が第1の部分回路αよりも大きくなる。
算出した最小確率分布情報は、例えば正規分布近似を行なった後、第1の実施形態と同様に格納しておけばよい。
(タイミング検証工程S50)
次に、タイミング検証工程S50において、これまで求めたすべてのデータを総合してタイミング検証を行なう。
図3において、第1のクロック出力端子対OUT1、OUT2については、クロックスキュー分類工程S1の結果からスキュー分布Aに対応している。クロックスキュー分布算出工程S2で求めたスキュー分布Aと、信号パス群遅延分布算出工程S40によって求められた第1の部分回路αの最小遅延確率分布Dα とを式(2)の左辺に代入すると、以下の式(15)の左辺となる。さらに、式(15)の不等号が成り立つことを確認する。
Dα −A ≧ Thold …式(15)
同様に、第2のクロック出力端子対OUT2、OUT3については、クロックスキュー分類工程S1の結果からスキュー分布Bに対応している。クロックスキュー分布算出工程S2で求めたスキュー分布Bと、信号パス群遅延分布算出工程S40によって求められた第2の部分回路βの最小遅延確率分布Dβ とを反映した式(16)の関係を検証する。
Dβ −B ≧ Thold …式(16)
図12(a)は式(15)及び式(16)における左辺の確率分布を表わしている。ここで、符号51を付したグラフが式(15)の左辺であり、符号52を付したグラフが式(16)の左辺である。従って、例えば左辺の分布平均から標準偏差の3倍減の点がホールドタイムに収まっている(図12のパス領域)か否か等の観点により判定でき、タイミング検証を行なうことができる。
また、図5(b)の場合と同様に、式(15)及び式(16)のそれぞれの左辺の累積確率を求めて、ホールドタイムに収まらない確率に基準を設けてタイミング検証を行なう方法でもよい。
以上説明したように、第4の実施形態によると、チップ内ばらつき成分を含む製造ばらつきを生じたクロックツリー構造によるスキュー分布の不均一性を求め、各スキュー分布を持つクロック出力端子対により駆動される部分回路をチップ全体回路から抽出する。続いて、抽出された部分回路に含まれる複数の信号パスの遅延分布から部分回路を代表する最小遅延分布を求め、対応するスキュー分布と最小遅延分布とを用いることにより、ホールドタイム側のタイミング検証を行なうことができる。
これにより、従来と比べ、製造ばらつき等のばらつきを考慮したタイミング検証を確率的に行なえるようになる。その上、クロック回路の特徴や回路設計上の特徴を同時に考慮した、より信頼性が高い検証をも行なえるようになる。
(第4の実施形態の一変形例)
第4の実施形態は、信号パス群遅延分布算出工程S40において、最小遅延を統計的に計算する。この計算は、信号パス遅延が最小にほぼ等しく、且つ信号パスの出力端において、チップ内ばらつき成分の影響が大きく残っている信号パスが多く含まれる程、最小遅延分布は元の分布から大きくずれる。
チップ内ばらつき成分は、チップ内でランダムに生じるばらつきであるが、信号パスに沿って遅延への影響は平均化されるという性質を持つ。その平均化の度合いは信号パスの長さ、例えばゲート段数(論理段数又は論理深さ)の多寡によっておおよそ決まる。
すなわち、長い信号パス程平均化が進むため、信号パス遅延分布におけるチップ内ばらつき成分の割合が小さくなる。その結果、信号パス群遅延分布算出工程S40において最小遅延を計算する上での信号パスの影響は小さくなる。
また、信号パス遅延が大きい場合には、チップ内ばらつき成分がある程度残っていたとしても、最小遅延を計算する際のチップ内ばらつき成分による影響は小さくなる。
一般に、遅延が最小にほぼ等しい信号パスであっても、ゲート段数は信号パスによってさまざまである。そこで、本変形例は、信号パス分類工程S3に含めた信号パスフィルタリング工程S31においては、信号パスの遅延とゲート段数とに制限を設けて、遅延が「最小近傍」で且つ制限以下のゲート段数の信号パスのみを分類の対象とする。
この信号パスの分類が制限された後で、信号パス群遅延分布算出工程S40以降の工程は、第4の実施形態と同様である。
本変形例によると、部分回路を代表する最小遅延分布を算出する際の対象とする信号パスの数に制限を設けて選定することにより、信号パス群遅延分布算出工程S40における算出工数を削減することができる。
なお、第4の実施形態又はその一変形例は、第1〜第3の実施形態のいずれか1つと組み合わせて実施することも可能である。
本発明に係る半導体集積回路のタイミング検証方法は、クロック回路に生じる種々のスキュー分布と信号パス群の統計的遅延分布とから、タイミングマージンの状態を高精度に検証することができ、半導体集積回路の設計方法等に有用である。
本発明の第1の実施形態に係る半導体集積回路のタイミング検証方法を示す工程フロー図である。 (a)は本発明の第1の実施形態に係る半導体集積回路のタイミング検証方法が対象とするクロックツリー回路とそのクロック信号端子同士の組合せを示す図である。(b)はクロック信号経路間の遅延の相関を示す図である。(c)は(b)に示すクロック信号経路間に生じるスキュー分布を示すグラフである。 本発明の第1の実施形態に係る半導体集積回路のタイミング検証方法が対象とする異なるクロック出力端子対にそれぞれ接続された部分回路に含まれる信号パス群を示す回路図である。 (a)及び(b)は本発明の第1の実施形態に係る半導体集積回路のタイミング検証方法において抽出された部分回路の最大遅延確率分布を示し、(a)は第1の部分回路αを示すグラフであり、(b)は第2の部分回路βを示すグラフである。 (a)及び(b)は本発明の第1の実施形態に係る半導体集積回路のタイミング検証方法におけるセットアップタイム側のタイミング検証工程を説明するグラフであって、(a)は式(8)と式(9)の各左辺の確率分布を示すグラフであり、(b)は式(8)と式(9)の各左辺の累積確率分布を示すグラフである。 本発明の第1の実施形態に係る半導体集積回路のタイミング検証方法を実現するコンピュータシステムの一例を示す模式図である。 本発明の第1の実施形態に係る半導体集積回路のタイミング検証方法の信号パス群遅延分布算出工程において、(a)は(b)に示す信号パス遅延のヒストグラムを想定した場合の各信号パスの遅延分布を示すグラフであり、(c)は(d)に示す信号パス遅延のヒストグラムを想定した場合の各信号パスの遅延分布を示すグラフである。 (a)は本発明の第2の実施形態に係る半導体集積回路のタイミング検証方法が対象とするクロックツリー回路と互いに同一なスキュー分布を有するクロック出力端子対に接続された部分回路とを示す図である。(b)は(a)のクロック出力端子対を仮想的に1つにまとめ、且つ対応する部分回路を1つにまとめた回路図である。 本発明の第3の実施形態に係る半導体集積回路のタイミング検証方法を示す工程フロー図である。 本発明の第4の実施形態に係る半導体集積回路のタイミング検証方法を示す工程フロー図である。 (a)及び(b)は本発明の第4の実施形態に係る半導体集積回路のタイミング検証方法において抽出された部分回路の最小遅延確率分布を示し、(a)は第1の部分回路αを示すグラフであり、(b)は第2の部分回路βを示すグラフである。 本発明の第4の実施形態に係る半導体集積回路のタイミング検証方法におけるホールドタイム側のタイミング検証工程を説明するグラフであって、式(15)と式(16)の各左辺の確率分布を示すグラフである。 本発明の第4の実施形態の一変形例に係る半導体集積回路のタイミング検証方法を示す工程フロー図である。 従来のクロックツリー回路を説明する回路図である。 信号パスを含めた従来のクロックツリー回路を説明する回路図である。
符号の説明
10 回路セル
11A 一の信号パスの遅延確率分布
11B 他の信号パスの遅延確率分布
12A 第1の部分回路の最大遅延確率分布
12B 第2の部分回路の最大遅延確率分布
21 式(8)の左辺における確率分布
22 式(9)の左辺における確率分布
23 式(8)の左辺における累積確率
24 式(9)の左辺における累積確率
31 第1の部分回路
32 第2の部分回路
33 第3の部分回路
41A 一の信号パスの遅延確率分布
41B 他の信号パスの遅延確率分布
42A 第1の部分回路の最小遅延確率分布
42B 第2の部分回路の最小遅延確率分布
51 式(15)の左辺における確率分布
52 式(16)の左辺における確率分布
101 端末コンピュータ
102 メインコンピュータ
103 ネットワーク
104 プログラム
105 データ

Claims (11)

  1. 複数のクロック信号を出力可能なクロック回路と、該クロック回路から出力される前記複数のクロック信号のうちのいずれかが供給される複数の信号パスを含む集積回路とを有する半導体集積回路における前記クロック信号のばらつきを考慮した半導体集積回路のタイミング検証方法であって、
    前記複数のクロック信号のうちの任意のクロック信号対ごとに、該クロック信号対の間に生じるクロックスキューを統計的に算出することにより、複数の統計的クロックスキューを取得する工程(a)と、
    取得した前記複数の統計的クロックスキューのうちの一の統計的クロックスキューが生じるクロック信号対によって駆動される部分回路を前記集積回路から抽出する工程(b)と、
    抽出された前記部分回路に含まれる信号パスにおける第1の統計的タイミング特性を算出する工程(c)と、
    算出された前記第1の統計的タイミング特性から、その最大値及び最小値の少なくとも一方を第2の統計的タイミング特性として取得する工程(d)と、
    取得した前記第2の統計的タイミング特性を用いて、前記部分回路に含まれる信号パスにおけるタイミング検証を行なう工程(e)とを備えていることを特徴とする半導体集積回路のタイミング検証方法。
  2. 前記工程(c)において、前記第1の統計的タイミング特性には前記信号パスごとの遅延確率分布を用い、
    前記工程(d)において、前記第2の統計的タイミング特性には前記部分回路に含まれる信号パス全体の最大遅延確率分布を用い、
    前記工程(e)において、前記最大遅延確率分布を用いることにより、前記部分回路におけるセットアップタイム余裕又はホールドタイム余裕のタイミング検証を行なうことを特徴とする請求項1に記載の半導体集積回路のタイミング検証方法。
  3. 前記工程(c)において、前記第1の統計的タイミング特性には前記信号パスごとの遅延確率分布を用い、
    前記工程(d)において、前記第2の統計的タイミング特性には前記部分回路に含まれる信号パス全体の最小遅延確率分布を用い、
    前記工程(e)において、前記最小遅延確率分布を用いることにより、前記部分回路におけるセットアップタイム余裕又はホールドタイム余裕のタイミング検証を行なうことを特徴とする請求項1に記載の半導体集積回路のタイミング検証方法。
  4. 前記工程(b)において、前記任意のクロック信号対の間に生じる統計的クロックスキュー値が同一又は同等で且つ互いの相関係数がほぼ1である場合に、前記統計的クロックスキュー値が同一又は同等のクロック信号対と接続される複数の部分回路をまとめて抽出することを特徴とする請求項1に記載の半導体集積回路のタイミング検証方法。
  5. 前記工程(b)において、前記各信号パスにおける遅延と前記各信号パスにおけるゲートの段数とに制約を設け、該制約を満たす信号パスを含む部分回路を前記集積回路から抽出することを特徴とする請求項1に記載の半導体集積回路のタイミング検証方法。
  6. 前記工程(a)よりも前に、前記複数のクロック信号における各信号波形のばらつきを求める工程(f)をさらに備え、
    前記工程(c)において、前記第1の統計的タイミング特性を、前記各クロック信号における信号波形のばらつきを反映させた状態で算出することを特徴とする請求項1に記載の半導体集積回路のタイミング検証方法。
  7. 前記工程(a)において、前記統計的クロックスキューは、製造ばらつき、電圧ばらつき及び温度ばらつきのうちの少なくとも1つの要因を考慮して算出することを特徴とする請求項1に記載の半導体集積回路のタイミング検証方法。
  8. 前記工程(a)は、製造ばらつき、電圧ばらつき及び温度ばらつきのうちの少なくとも1つの要因を係数として求める工程と、求めた係数を前記統計的クロックスキューに乗じる工程とを含むことを特徴とする請求項7に記載の半導体集積回路のタイミング検証方法。
  9. 前記工程(c)において、前記第1の統計的タイミング特性は、製造ばらつき、電圧ばらつき及び温度ばらつきのうちの少なくとも1つの要因を考慮して算出することを特徴とする請求項1に記載の半導体集積回路のタイミング検証方法。
  10. 前記工程(c)は、製造ばらつき、電圧ばらつき及び温度ばらつきのうちの少なくとも1つの要因を係数として求める工程を含み、
    前記工程(d)は、前記係数を前記第2の統計的タイミング特性に乗じる工程を含むことを特徴とする請求項9に記載の半導体集積回路のタイミング検証方法。
  11. 複数のクロック信号を出力可能なクロック回路と、該クロック回路から出力される前記複数のクロック信号のうちのいずれかが供給される複数の信号パスを含む集積回路とを有する半導体集積回路における前記クロック信号のばらつきを考慮した半導体集積回路のタイミング検証方法であって、
    前記クロックツリー回路における回路トポロジに基づいて、予想されるクロックスキューの種類を特定し、特定したクロックスキューを持つクロック信号対ごとにクロックスキューを対応付けるクロックスキュー分類工程(a)と、
    前記クロックスキューの種類ごとにクロックスキューの確率分布を統計的に算出するクロックスキュー分布算出工程(b)と、
    前記クロックスキューの確率分布の種類ごとに前記クロック信号対により駆動される信号パスを前記集積回路から部分回路として抽出し分類する信号パス分類工程(c)と、
    抽出された部分回路ごとに、前記部分回路に含まれるすべての信号パスの遅延の確率分布を算出する信号パス群遅延分布算出工程(d)と、
    前記部分回路に含まれるすべての信号パスの遅延の確率分布のうち最大遅延及び最小遅延の少なくとも一方と前記クロックスキューの確率分布とによってタイミング検証を行なうタイミング検証工程(e)とを備えていることを特徴とする半導体集積回路のタイミング検証方法。
JP2006131050A 2005-08-31 2006-05-10 半導体集積回路のタイミング検証方法 Withdrawn JP2007095028A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006131050A JP2007095028A (ja) 2005-08-31 2006-05-10 半導体集積回路のタイミング検証方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005250942 2005-08-31
JP2006131050A JP2007095028A (ja) 2005-08-31 2006-05-10 半導体集積回路のタイミング検証方法

Publications (1)

Publication Number Publication Date
JP2007095028A true JP2007095028A (ja) 2007-04-12

Family

ID=37980635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006131050A Withdrawn JP2007095028A (ja) 2005-08-31 2006-05-10 半導体集積回路のタイミング検証方法

Country Status (1)

Country Link
JP (1) JP2007095028A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010272060A (ja) * 2009-05-25 2010-12-02 Fujitsu Semiconductor Ltd 設計支援プログラム、設計支援装置、および設計支援方法
JP2011065319A (ja) * 2009-09-16 2011-03-31 Nec Corp 情報処理装置
CN110298200A (zh) * 2019-07-05 2019-10-01 电子科技大学 基于温度统计特征分析的asic芯片硬件后门探测方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010272060A (ja) * 2009-05-25 2010-12-02 Fujitsu Semiconductor Ltd 設計支援プログラム、設計支援装置、および設計支援方法
US8423931B2 (en) 2009-05-25 2013-04-16 Fujitsu Semiconductor Limited Support computer product, apparatus, and method
JP2011065319A (ja) * 2009-09-16 2011-03-31 Nec Corp 情報処理装置
US8671374B2 (en) 2009-09-16 2014-03-11 Nec Corporation Information processing apparatus
CN110298200A (zh) * 2019-07-05 2019-10-01 电子科技大学 基于温度统计特征分析的asic芯片硬件后门探测方法
CN110298200B (zh) * 2019-07-05 2023-05-02 电子科技大学 基于温度统计特征分析的asic芯片硬件后门探测方法

Similar Documents

Publication Publication Date Title
US7308381B2 (en) Timing verification method for semiconductor integrated circuit
US7239997B2 (en) Apparatus for statistical LSI delay simulation
US7546567B2 (en) Method and apparatus for generating a variation-tolerant clock-tree for an integrated circuit chip
US20060107244A1 (en) Method for designing semiconductor intgrated circuit and system for designing the same
TWI439880B (zh) 在實施程序之設計流程中產生電路的方法及電腦可讀取媒體
CN106326510B (zh) 验证时钟树延迟
JP5883676B2 (ja) Lsi設計方法
US20050276135A1 (en) Timing analysis method and apparatus
US10423742B2 (en) Method to perform full accuracy hierarchical block level timing analysis with parameterized chip level contexts
Najm et al. Statistical timing analysis based on a timing yield model
JP2007109138A (ja) 集積回路のタイミング解析システム及びタイミング解析方法
US20060059446A1 (en) Sensitivity based statistical timing analysis
JP2008102837A (ja) 半導体集積回路のタイミング解析方法及びそのタイミング解析装置
Afacan et al. Adaptive sized quasi-Monte Carlo based yield aware analog circuit optimization tool
US20110296361A1 (en) Circuit analysis method
EP3408770A1 (en) Pessimism reduction in static timing analysis
Ibrahim Identifying the worst reliability input vectors and the associated critical logic gates
JP2007095028A (ja) 半導体集積回路のタイミング検証方法
US20080066025A1 (en) Method for analyzing characteristic of circuit included in integrated circuit based on process information and the like
US10073944B2 (en) Clock tree synthesis based on computing critical clock latency probabilities
Najm On the need for statistical timing analysis
JP2006338253A (ja) タイミング検証方法
Antoniadis et al. Evt-based worst case delay estimation under process variation
JP2007173509A (ja) 半導体集積回路装置と設計方法
US10372851B2 (en) Independently projecting a canonical clock

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20071214