説明

クロック分配回路、半導体集積回路、クロック分配回路の形成方法及びそのプログラム

【課題】異なるクロックツリー間の回路間をつなぐデータ転送パスが存在しても、OCVに影響されずにクロックを分配する。
【解決手段】クロック分配回路は、クロック分配網20aの分岐点NA3経由の第1クロック信号で動作する順序回路25aと、クロック分配網20bの分岐点NB3経由の第2クロック信号で動作する順序回路26aと、順序回路25aと順序回路26aとの間のデータ転送パス40とを有する半導体集積回路45へ第1クロック信号及び第2クロック信号を分配する。クロック分配回路20は、分岐点NA3からの第1フィードバック信号と第1リファレンス信号とから第1クロック信号を出力するPLL回路21と、分岐点NB3からの第2フィードバック信号と第2リファレンス信号とから第2クロック信号を出力するPLL回路22とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クロック分配回路、半導体集積回路、クロック分配回路の形成方法及びそのプログラムに関する。
【背景技術】
【0002】
半導体集積回路(LSI)は、外部からクロックを入力し、半導体集積回路内部のクロックを所望とする回路にクロックを供給するクロック分配回路を備える。このようなクロック分配回路は、クロック分配配線やクロック分配バッファからなり、クロックの供給源(クロックソース)から供給先(リーフ)までのクロック分配遅延時間が等しくなるように構成される。このようなクロック分配回路の設計手法として、クロックツリーシンセシス(CTS)法が用いられている。クロックツリーシンセシス法は、回路の接続情報、配置情報等に基づき、クロックソースから複数のクロック系統に分岐させ、該クロックソースから分岐先の各ツリー端部までのクロックの遅延を等しくさせるようにバッファ(「CTSバッファ」ともいう)を挿入する等してクロックスキューを低減させるものである。
【0003】
上述のCTS法を用いたクロック分配回路の設計方法として、たとえば特開2004−241699号公報には、クロックツリーのクロック分配バッファのゲートの遅延値とクロック分配配線の遅延値とを比率として求め、この遅延比率と、遅延時間とが各クロック系統で一定になるようにすることで、温度や電圧の変動に対してばらつきの少ない半導体集積回路装置の設計方法が開示されている。
【0004】
また、特開2004−15032号公報には、図1に示すようなクロック分配回路の等価回路が開示されている。図1において、クロック入力バッファ2は、外部クロック信号を複数のPLL回路1へ供給する。PLL回路1は、クロック信号を、クロック配線5とクロックドライバ6とからなるクロックツリーへ出力する。クロックツリーは、複数のマクロ3へクロック信号を分配、供給する。マクロ3は、マクロ内F/F12を含む。マクロ3のインターフェースマクロフィードバッククロック出力端子10とPLL回路1のPLLフィードバッククロック入力端子13との間には、配線11と入力バッファ遅延補償回路8とからなるフィードバック回路が形成されている。すなわち、PLL回路1は、外部クロック信号に基づいて、マクロ3からフィードバックされるクロック信号を位相変調して、クロックツリーへ出力する。
【0005】
【特許文献1】特開2004−15032号公報
【特許文献2】特開2004−241699号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
文献2におけるクロック分配回路は、複数のPLL回路を備え、PLL回路ごとにクロックツリーあるいはクロック分配網を構成し、クロックツリーあるいはクロック分配網の末端であるマクロ3からクロックを各々対応するPLL回路1にフィードバックするクロック分配回路の等価回路が開示されている。しかしながら入力されるクロックの供給源であるPLL回路が異なるクロックツリー(クロックドメイン)に属する順序回路間をつなぐデータ転送パスの有無を全く考慮せずに、PLL回路のフィードバック回路を形成している。また本明細書では入力されるクロックの供給源であるPLL回路が異なるクロックツリーに属する順序回路間をつなぐデータ転送パスを「異クロックドメイン間データ転送パス」と称する。例えば、図1の下側の図において、異なるクロックツリーに属するマクロ3aとマクロ3bとの間をつなぐデータ転送パスの有無を全く考慮せずに、PLL回路1aのフィードバック回路として配線11a及び入力バッファ遅延補償回路8aを形成し、PLL回路1bのフィードバック回路として配線11b及び入力バッファ遅延補償回路8bを形成している。
【0007】
このとき、図1のクロック分配回路では、PLL回路1aからマクロ3、3aに対し同じ遅延でクロックを分配するとともに、LSI外部からクロック入力バッファ2を経由してPLL回路1aに入力されたクロック(リファレンスクロック)と、マクロ3aのフィードバッククロック出力端子10から入力バッファ遅延補償回路8を介してPLL回路1aへ帰還されるクロック(フィードバッククロック)との位相が合うように、PLL回路1は出力クロックの位相調整を行っている。そしてPLL回路1bについても同様である。マクロ3a、3cそれぞれから、それぞれのPLL回路にクロックを代表ポイントとしてフィードバックされるためマクロ3aとマクロ3cの入力クロックは位相があったスキューのないクロックが入力される。PLL回路1aからマクロ3、3aに対し同じ遅延でクロックを分配できていれば、最終的にはマクロ3、3a,3b,3cの入力クロックの位相とクロック入力バッファ2に入力されるクロックの位相とがあったクロック分配回路となる。
【0008】
ここで、マクロ3aとマクロ3bとの間にデータ転送パスがある場合を考える。実際の半導体集積回路では、たとえ設計上同じ回路特性となるように回路を構成しても、チップ内の素子や配線のばらつきのようなOCV(On Chip Variation)が存在する。そのため、そのOCVの影響から、マクロ3cまでの遅延とマクロ3bまでの遅延とがずれる可能性が考えられる。このことは例え文献1のような技術を用いても避けることは出来ない。図1の分配回路の構成では、PLL回路1bから出力されたクロックはバッファ6を通過し、バッファ6の出力で分岐点を経由し、それぞれマクロ3c、3bに分配されている。このような回路では、該分岐点からマクロ3cまでの遅延と、該分岐点からマクロ3bまでの遅延がOCVの影響で異なる(スキューが発生する)おそれがある。このような場合、マクロ3aのクロック信号の位相とマクロ3bのクロック信号の位相とがずれることになり、マクロ3aとマクロ3bとの間のデータ転送のタイミングが合わなくなる可能性が出てくる。その結果、マクロ3aとマクロ3bとの間のデータ転送が上手く行かず誤動作を起こす虞がでてくる。異なるクロックツリー(クロックドメイン)間に属する回路間をつなぐデータ転送パス(異ドメイン間データ転送パス)が存在する場合でも、OCVに影響されないでクロック信号を分配することを可能とする技術が望まれる。
【課題を解決するための手段】
【0009】
以下に、発明を実施するための最良の形態で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、特許請求の範囲の記載と発明を実施するための最良の形態との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【0010】
従って、上記課題を解決するために、本発明のクロック分配回路(20)は、第1クロック分配網(20a)の第1分岐点(NA3)を通じて分配される第1クロック信号で動作する第1順序回路(25a)と、第2クロック分配網(20b)の第2分岐点(NB3)を通じて分配される第2クロック信号で動作する第2順序回路(26a)と、第1順序回路(25a)と第2順序回路(26a)との間に設けられたデータ転送パス(40)と、を有する半導体集積回路(45)のクロック分配回路(20)である。このクロック分配回路(20)は、第1PLL回路(21)と第2PLL回路(22)とを具備する。第1PLL回路(21)は、第1分岐点(NA3)から分岐した第1クロックを第1フィードバッククロック信号として入力し、第1フィードバッククロック信号と第1リファレンスクロック信号とに基づいて、第1クロック信号を第1クロック分配網(20a)へ出力する。第2PLL回路(22)は、第2分岐点(NB3)から分岐した第2クロックを第2フィードバッククロック信号として入力し、第2フィードバッククロック信号と第2リファレンスクロック信号とに基づいて、第2クロック信号を第2クロック分配網(20b)へ出力する。第1クロック分配網(20a)は第1PLL回路(21)の出力と第1分岐点(NA3)との間、または、第2クロック分配網(20b)は第2PLL回路(22)の出力と第2分岐点(NB3)との間、のいずれか一方に分岐点を備える。
【0011】
本発明では、第1フィードバッククロック信号を第1分岐点(NA3)からフィードバックし、第2フィードバッククロック信号を第2分岐点(NB3)からフィードバックしている。ここで、第1分岐点(NA3)は、第1PLL回路(21)と第1順序回路(25a)との間にある。第2分岐点(NB3)は、第2PLL回路(22)と第2順序回路(26a)との間にある。すなわち、第1フィードバッククロック信号は、第1順序回路(25a)での第1クロック信号の遅延を反映している。第2フィードバッククロック信号は、第2順序回路(26a)での第2クロック信号の遅延を反映している。そのため、第1順序回路(25a)までの第1クロック信号の遅延と第2順序回路(26a)までの第2クロック信号の遅延とを、OCVに影響されずに概ね等しくし、第1クロック信号と第2クロック信号との間の位相ずれを抑制することが出来る。それにより、第1順序回路(25a)と第2順序回路(26a)との間のデータ転送を正しく行うことが可能となる。
【発明の効果】
【0012】
本発明により、異なるクロックツリー(クロックドメイン)間に属する回路間をつなぐデータ転送パスが存在する場合でも、OCVに影響されないでクロック信号を分配することが可能となる。
【発明を実施するための最良の形態】
【0013】
以下、本発明のクロック分配回路、半導体集積回路、クロック分配回路の形成方法及びそのプログラムの実施の形態に関して、添付図面を参照して説明する。
【0014】
<第1の実施例>
まず、本発明のクロック分配回路について説明する。図2は、本発明のクロック分配回路の構成を示す等価回路図である。クロック分配回路20は、半導体集積回路(45:後述)内に設けられ、外部クロック信号の周波数及び位相を参照信号として生成されたクロック信号を、複数の順序回路25、25a、25b、26、26a、26bへ分配する。ここで、順序回路25aと順序回路26aとはデータ転送パス40で接続されている。データ転送パス40は、異ドメイン間データ転送パスを構成している。クロック分配回路20は、クロック分配網20aと、PLL回路21と、クロック分配網20bと、PLL回路22と、クロックドライバ27と、配線30とを具備する。なお、本実施例ではクロックドライバ27からPLL回路21および22へは同一遅延時間で外部から入力されたリファレンスクロックが入力されているものとする。
【0015】
PLL回路21は、第1フィードバッククロック信号を、第1リファレンスクロック信号に同期するように周波数及び位相を変調し、第1クロック信号としてクロック分配網20aへ出力する。ここで、第1リファレンスクロック信号は、外部からクロックドライバ27及び配線30を介して、PLL回路21のリファレンスクロック端子RCLKに供給される外部クロック信号である。第1フィードバッククロック信号は、第1フィードバック用分岐点からクロックドライバ29及び配線33を介して、PLL回路21のフィードバッククロック端子FBKに供給される第1クロック信号である。本図では、第1フィードバック用分岐点として、分岐点NA3の例を示している。分岐点NA3の決定方法については後述する。
【0016】
クロック分配網20aは、PLL回路21のクロック出力端子CLKOUTから出力された第1クロック信号を複数の順序回路25、25a、25bに分配する。クロック分配網20aは、クロックツリーを構成する配線31と、その配線31の途中に設けられた複数のクロックドライバ28を備える。配線31上には、複数の分岐点(PLL回路21側から順にNA1、NA2、NA3、…)が存在する。本図では、分岐点が三個(分岐点NA1、分岐点NA2及び分岐点NA3)の場合を示している。
【0017】
ここで、上記の第1フィードバック用分岐点は、クロック分配網20aのPLL回路21側のクロックツリー(配線31)における最初の分岐点NA1より後段(すなわち最初の分岐点NA1は含まずリーフに近い側)の分岐点から、順序回路25aのクロック入力端子I1までのパスP1のいずれかの位置に設定される。その理由は後述される。その位置は、第1フィードバック用分岐点から順序回路25aのクロック入力端子I1までのパス(配線31とクロックドライバ28)による遅延A1と、第1フィードバック用分岐点からPLL回路21のフィードバッククロック端子FBKまでのパス(配線33とクロックドライバ29)による遅延B1との遅延差が、所定の許容範囲に収まり、望ましくは遅延差=0となるように選択される。本図では、上記のように、パスP1における分岐点NA3である。
【0018】
第1フィードバック用分岐点は、分岐点NA1(最初の分岐点NA1は含まない)からクロック入力端子I1までのパスP1中に設定される。ただし、位置的には、出来るだけ順序回路25、25a、25b(リーフ)に近いことがより好ましい。リーフよりも遠い位置に分岐点を設けた場合、当該分岐点からリーフまでの遅延が大きくなってしまうことが考えられる。その場合、OCVの影響が大きくなり、順序回路間(特に、順序回路25aと順序回路26aとの間)のタイミングの悪化を招くからである。従って、例えば、分岐点NA1は、PLL回路21から順序回路25aまでのパスP1における分岐点のうち、当該分岐点から順序回路25aまでの第1クロック信号の遅延と当該分岐点からPLL回路21までの第1クロック信号の遅延とが等しく、かつ、順序回路25aに最も近いように設定されることがより好ましい。
【0019】
したがって、PLL回路21から分岐点NA3まで同一のクロック分配パスによって分配された第1クロック信号がそれぞれ、データ転送パス40で接続されている順序回路25aのクロック入力I1と、第1フィードバック信号としてPLL回路21のFBK端子とに、分岐点NA3からの分配遅延がほぼ等しくなるように分配される。このため、PLL回路21のFBK端子での第1クロック信号は、順序回路25aのクロック入力I1の第1クロック信号と同じ周波数でありほぼ位相が等しい。
【0020】
PLL回路22は、第2フィードバッククロック信号を、第2リファレンスクロック信号に同期するように周波数及び位相を変調し、第2クロック信号としてクロック分配網20bへ出力する。ここで、第2リファレンスクロック信号は、外部からクロックドライバ27及び配線30を介して、PLL回路22のリファレンスクロック端子RCLKに供給さる外部クロック信号である。ここでは、第2リファレンスクロック信号は第1リファレンスクロック信号と同一である。第2フィードバッククロック信号は、第2フィードバック用分岐点からクロックドライバ29及び配線33を介して、PLL回路22のフィードバッククロック端子FBKに供給される。本図では、第2フィードバック用分岐点として、分岐点NB3の例を示している。分岐点NB3の決定方法については後述する。
【0021】
クロック分配網20bは、PLL回路22のクロック出力端子CLKOUTから出力された第2クロック信号を複数の順序回路26、26aに分配する。クロック分配網20bは、クロックツリーを構成する配線32と、その配線32の途中に設けられたクロックドライバ28を備える。配線32上には、複数の分岐点(PLL回路22側から順にNB1、NB2、NB3…)が存在する。本図では、分岐点が3個(分岐点NB1、分岐点NB2及び分岐点NB3)の場合を示している。
【0022】
ここで、上記の第2フィードバック用分岐点は、クロック分配網20bのPLL回路22側のクロックツリー(配線32)における最初の分岐点NB1より後段(すなわち最初の分岐点NB1は含まずリーフに近い側)の分岐点から、順序回路26aのクロック入力端子I2までのパスP2のいずれかの位置に設定される。その理由は後述される。その位置は、第2フィードバック用分岐点から順序回路26aのクロック入力端子I2までのパス(配線32とクロックドライバ28)による遅延と、第2フィードバック用分岐点からPLL回路22のフィードバッククロック端子FBKまでのパス(配線34とクロックドライバ29)による遅延との遅延差が、所定の許容範囲に収まり、望ましくは遅延差=0となるように選択される。本図では、上記のように、パスP2における分岐点NB3である。
【0023】
第2フィードバック用分岐点は、分岐点NB1(最初の分岐点NB1は含まない)からクロック入力端子I2までのパスP2中に設定される。ただし、位置的には、出来るだけ順序回路26、26a(リーフ)に近いことが好ましい。リーフよりも遠い位置に分岐点を設けた場合、当該分岐点からリーフまでの遅延が大きくなってしまうことが考えられる。その場合、OCVの影響が大きくなり、順序回路間(特に、順序回路25aと順序回路26aとの間)のタイミングの悪化を招くからである。従って、例えば、分岐点NB3は、PLL回路22から順序回路26aまでのパスP2における複数の分岐点のうち、当該分岐点から順序回路26aまでの第2クロック信号の遅延と当該分岐点からPLL回路22までの第2クロック信号の遅延とが等しく、かつ、順序回路26aに最も近いように設定されることがより好ましい。
【0024】
したがって、PLL回路22から分岐点NB3まで同一のクロック分配パスによって分配された第2クロック信号がそれぞれ、データ転送パス40で接続されている順序回路26aのクロック入力I2と、第2フィードバック信号としてPLL回路22のFBK端子とに、分岐点NB3からの分配遅延がほぼ等しくなるように分配される。このため、PLL回路22のFBK端子での第2クロック信号は、順序回路26aのクロック入力I2の第2クロック信号と同じ周波数でありほぼ位相が等しい。
【0025】
クロック分配網20aの接続される順序回路25、25a、25bのうちの順序回路25aと、クロック分配網20bの接続される順序回路26、26a、26bのうちの順序回路26aとは、データ転送パス40で接続されている。すなわち、順序回路25aと順序回路26aとの間にデータの授受があるため、両者に供給されるクロック信号の位相が揃っている必要がある。そのため、クロック分配網20aにおける第1フィードバック用分岐点が分岐点NA1(NA1は含まず)からクロック入力端子I1までのパスP1内の位置に、クロック分配網20bにおける第2フィードバック用分岐点が分岐点NB1(NB1は含まず)からクロック入力端子I2までのパスP2内の位置に、それぞれ設定される。順序回路25aのクロック入力I1の第1クロック信号と同じ周波数でありほぼ位相が等しい第1クロックである第1フィードバッククロックと、リファレンスクロックとの位相差が、PLL回路21の第1フィードバッククロックとリファレンスクロックそれぞれが入力される位相比較器(不図示)で0となるようにPLL回路21は第1クロックを出力する。同様に順序回路26aのクロック入力I2の第2クロック信号と同じ周波数でありほぼ位相が等しい第2クロックである第2フィードバッククロックと、リファレンスクロックとの位相差が、PLL回路22の第2フィードバッククロックとリファレンスクロックそれぞれが入力される位相比較器(不図示)で0となるようにPLL回路22は第2クロックを出力する。そしてPLL回路21、22には同じリファレンスクロックが入力されていることにより、PLL回路21のFBK端子における第1クロックとPLL回路22のFBK端子における第2クロックとは同じ位相となる。したがって、順序回路25aでの第1クロック信号の位相と順序回路26aでの第2クロック信号とを概ね合わせることができる。その結果、順序回路25aと順序回路26aとの間のデータ転送のタイミングが合い、データ転送が良好に実行される。
【0026】
ここで、OCVによる遅延のばらつきを考えた場合、PLL回路21のCLKOUTから順序回路25aのクロック入力I1までの分配遅延、およびPLL回路21のCLKOUTからPLL回路21のFBK端子までの遅延は、たとえば理想的な設計値からばらつくが、PLL回路21のCLKOUTから分岐点NA3までを共用する構成となっているため、共用部分のばらつきは正確にPLL回路21の位相調整に反映され、OCVによる遅延の実質的な影響は、分岐点NA3から順序回路25aのクロック入力I1までの遅延と分岐点NA3からPLL回路21のFBK端子までの遅延の差分となり、OCVの影響を減少させることができる。このことは、分配網20bについても同様である。したがって、順序回路25aから順序回路26aのデータ転送パスにおいて、OCVの影響を軽減した、スキューの小さなクロック分配回路を構成できる。
【0027】
なお、順序回路25a、26aはFF、レジスタのほかに、クロックによって同期して出力する回路であればよい。また、PLL回路21、22から分岐点NA1、NB1までは、分岐点なしに複数のバッファを介して分岐点NA1、NB1に接続される構成であってもよい。
【0028】
ここで、データ転送を行う順序回路が他にあった場合(異クロックドメイン間データ転送パスが複数あった場合)、例えば、順序回路25bと順序回路26bとがデータ転送パス40’(第2の異クロックデータ転送パス)でデータ転送を行う場合、複数の異クロックドメイン間データ転送パスから任意の1つを決めても本願の発明の効果は得られる。しかしながら、たとえば、以下の基準で、第1フィードバック分岐点及び第2フィードバック分岐点を決定するとより効果的である。すなわち、いわゆるタイミング設計の一番厳しいデータ転送パスを有する順序回路に入力されるクロックの分配パスの分岐点からクロックをフィードバックする。
【0029】
データ転送パスを構成する送信側の順序回路に入力されるクロックのアクティブエッジ(順序回路の出力を変化させるクロックのエッジ)からデータ転送パスを構成する受信側の順序回路に入力されるクロックのアクティブエッジ(順序回路にデータを取り込むクロックエッジ)までをデータ転送レート(Tc)とし、送信側順序回路から受信側順序回路までのデータ伝播時間をTpd、受信側順序回路のセットアップタイム、ホールドタイムをそれぞれTsetup、Thold、送信側順序回路と受信側順序回路それぞれに入力されるクロックのSKEWをTskewとすると
データ転送パスが遅延条件を満足するためには、
Tc>Tpd+Tsetup+Tskew(セットアップ条件)
Tpd>Thold+Tskew(ホールド条件)
の両者を満足しなければならない。一般にセットアップ条件を満足させる場合において、Tcが小さければ小さいほど、またTpdが大きければ大きいほど、Tskewを小さくしなければならずタイミング設計は厳しくなる。実際にはTsetupやThold、Tskewの値も問題となるが、ここでは、考慮しない。したがって、Tcが一番小さくTpdが一番大きいデータ転送パスが一番タイミング設計が厳しいことになる。つまり、複数の異クロックドメイン間データ転送パスがある場合には、複数の異クロックドメイン間データ転送パスから、Tcが一番小さいパスのうち、Tpdが最大値のパスを選択すればよい。なお、上述のTpdの算出にあたっては、配置配線まで実施して正確に遅延時間を算出してもよいし、仮の配置配線を実施して遅延時間を見積もってよい。あるいは概算の遅延時間をもとめるようにしてもよい。上記方法により、タイミング設計の一番厳しいデータ転送パスを抽出することが出来る。それにより、タイミング設計の一番厳しいデータ転送パスに対してOCVの影響を受け難くすることが出来る。
【0030】
なお、ここでは、順序回路にクロック信号を分配する例について説明しているが、本発明はこの例に限定されるものではない。すなわち、クロック分配回路によりクロック信号を分配される回路であれば、他の回路であっても良い。
【0031】
図3は、本発明の半導体集積回路の実施の形態の構成の一例を示す概略ブロック図である。ここでは、図2の等価回路に対応する半導体集積回路を示している。半導体集積回路45は、複数の順序回路25、25a、25b、26、26a、26bとクロック分配回路20とを具備する。クロック分配網20は、PLL回路21と、配線31、33及びクロックドライバ28、29を含むクロック分配網20aと、PLL回路22と、配線32、34及びクロックドライバ28、29を含むクロック分配網20bと、データ転送パス40と、クロックドライバ27と、配線30とを具備する。配線31、32は、Hツリー型のクロックツリーを形成している。各構成の詳細については、既述の通りであるので、その説明を省略する。
クロック分配網20a、20bは、CTS手法によりクロックツリーが構成されるものであってもよいし、図3のHツリーのようなクロックツリーであってもよい。またツリーの途中でバッファ同士の出力がワイヤード(バッファの出力同士が短絡)されているものでもよい。
【0032】
<第2の実施例>
順序回路25aのクロック入力端子I1の第1クロック信号と、順序回路26aのクロック入力端子I2の第2クロック信号とを、クロック入力バッファ27に入力される外部クロックにも位相を合わせる場合は、上述の分配回路の構成をとったうえで、さらに、分岐点NA3からPLL回路21のFBK端子までのクロックパスおよび分岐点NB3からPLL回路22のFBK端子までのクロックパスそれぞれに、クロック入力バッファ27の遅延時間に相当する遅延時間(正確には、外部クロック入力端子(不図示)からクロック入力バッファ27を介してそれぞれPLL回路21,22に至るまでの遅延時間)を有するバッファあるいは配線、あるいはその両方を追加すればよい。この他は実施例1と同様である。
【0033】
<第3の実施例>
また、実施例1では、PLL回路21とPLL回路22とは同一のリファレンス信号(第2リファレンスクロック信号=第1リファレンスクロック信号)を供給されているが、本発明はこの例に限定されるものではない。すなわち、第2リファレンスクロック信号と第1リファレンスクロック信号とは、互いに既知で変動のない位相関係があれば、異なるリファレンスクロック信号であっても良い。また、例えば、一方の周波数が他方の定数倍であるため、位相を合わせると、クロックの立ち上がりが合うような関係であっても両者のクロックの立ち上がり同士の位相関係が既知で変動のないものであればよい。
【0034】
したがって、たとえば、PLL回路21、22それぞれにそれぞれの専用のクロック入力バッファ27からクロックを供給する構成としてもよい。
【0035】
さらにまた、本発明は、PLL回路21,22の少なくとも一方に逓倍用の分周回路が設けられている構成であってもよく、分岐点NA3からPLL回路21のFBK端子までのクロックパスおよび分岐点NB3からPLL回路22のFBK端子までのクロックパスの少なくとも一方に逓倍用の分周回路が設けられている構成にも適用できる。
【0036】
次に、本発明のクロック分配回路の形成方法を適用した配置配線システムの実施の形態の構成について、添付図面を参照して説明する。図4は、本発明のロック分配回路の形成方法を適用した配置配線システムの実施の形態の構成を示す図である。配置配線システム50は、自動配線配置装置51及び設計データベース59を具備する。
【0037】
設計データベース59は、ネットリストデータベース(DB)52、セル/ブロックライブラリデータベース(DB)53及び設計ルールファイルデータベース(DB)54を備える。ネットリストDB52は、設計対象の半導体集積回路を構成する各ブロックの端子間の接続関係を示すネットリスト(回路図データ)を格納している。セル/ブロックライブラリDB53は、ビアやNANDゲートや複雑な論理機能を実現する回路のような論理機能セル/ブロックに関するデータを格納している。設計ルールファイルDB54は、各配線層の配線ピッチ、配線幅および配線最小間隔、ビアセルを構成する各要素の寸法のような配置配線時および検証時に使用する設計ルールを格納している。
【0038】
自動配線配置装置1は、ワークステーションに例示される情報処理装置である。コンピュータプログラムとしての自動配置配線部55、セル検証部56及びマスクデータ作成部57を備える。自動配線配置装置51と設計データベース59とは、通信可能に接続されている。システムの簡素化、省スペース化などから、両者が一体であっても良い。
【0039】
自動配置配線部55は、設計データベース59のネットリストと機能ブロックデータと設計ルールデータとに基づいて、レイアウト後の配置配線データを生成する。自動配置配線部55は、配置部60aと、配線部60bと、CTS部実行部61と、データ転送パス抽出部62と、分岐点抽出部63と、分岐点評価部64と、フィードバックパス形成部65とを備える。
【0040】
配置部60aは、設計データベース59のネットリストと機能ブロックデータと設計ルールデータとに基づいて、半導体集積回路のフロアプランを形成する。フロアプランでは、配置配線領域における論理機能セル/ブロックを配置する領域や場所が設定されている。そして、配置配線領域において、フロアプランに基づいて論理機能セル/ブロックの配置を行う。電源配線の実施は論理機能セル/ブロックの配置の前後いずれでもよい。ここで、第1クロック信号で動作する順序回路25、25a、25b、第2クロック信号で動作する順序回路26、26a、26b、PLL回路21、及びPLL回路22を配置する。
【0041】
CTS部実行部61は、Clock Tree Synthesis(CTS)を実行して、PLL回路21から出力される第1クロック信号を順序回路25、25a、25bに分配するクロック分配網20aと、PLL回路22から出力される第2クロック信号を順序回路26、26a、26bに分配する第2クロック分配網20bとを形成する。
【0042】
データ転送パス抽出部62は、異なるクロック分配網間のデータ転送パス(異クロックドメイン間データ転送パス)を抽出する。なお、任意に1つ抽出する方式でもよいが、好ましくは抽出されたパスについてさらに配線を実行して、タイミング解析を行い、上述のように遅延が一番厳しい(マージンが無い)データ転送パスを抽出する。また、正確なSTA(遅延解析)を行って一番タイミングマージンが少ないパスを抽出する方式でもよい。
【0043】
分岐点抽出部63は、抽出されたデータ転送パスの両端に接続されている送信側の順序回路及び受信側の順序回路の各々について、クロック入力端子を抽出する。そして、抽出された順序回路のクロック入力端子から、クロック分配網のPLL回路までのパスを抽出し、そのパスにおけるクロック分岐点(複数)を抽出する。
【0044】
分岐点評価部64は、抽出されたクロック分岐点のうち、順序回路のクロック入力端子から当該クロック分岐点までの遅延AがPLL回路のフィードバッククロック端子FBKから当該クロック分岐点までの遅延B以上となるクロック分岐点であって、かつ最も順序回路に近い(リーフに近い)クロック分岐点を選択する。
【0045】
その方法は、分岐点抽出部63が抽出した複数の該クロック分岐点(複数)のうち、遅延Aが遅延B以上となるクロック分岐点を探し出し、次に遅延Aが遅延B以上となるクロック分岐点からもっとも順序回路に近い(リーフに近い)クロック分岐点を選択するようにしてもよい。
【0046】
また、分岐点抽出部63が抽出したクロック分岐点のうち、最も順序回路に近い(リーフに近い)クロック分岐点を選択し、続いて、選択されたクロック分岐点を元に、順序回路のクロック入力端子から当該クロック分岐点までの遅延Aと、PLL回路のフィードバッククロック端子FBKから当該クロック分岐点までの遅延Bとを計算比較して遅延Aが遅延B未満である場合、抽出されたクロック分岐点のうちから順序回路に近い順に次のクロック分岐点を選択し、遅延A及び遅延Bを計算し、遅延Aが遅延B以上となるクロック分岐点を探し出すようにしてもよい。
【0047】
フィードバックパス形成部65は、分岐点評価部64が選択した当該クロック分岐点をフィードバック用分岐点とする。そして、フィードバック用分岐点とPLL回路のフィードバック端子FBKとの間に、遅延Aと遅延Bとが等しくなるように、フィードバックパスを形成する。このとき、このフィードバックパスは、単なる配線のみでもよいし、必要に応じてバッファを複数有する(挿入された)パスであってもよい。
【0048】
配線部60bは、設計データベース59のネットリストと機能ブロックデータと設計ルールデータとに基づいて、配置配線領域における論理機能セル/ブロック間の配線を実行し、レイアウト後の配置配線データを生成する。配置配線部60は必要に応じてシールド配線などを行ってもよい。
【0049】
セル検証部8は、配置配線データのレイアウト、タイミング及びシグナルインテグリティを検証する。検証により、配置配線データに問題が発見された場合、自動配置配線部55が配置配線をやり直す。問題が発見されない場合、配置配線データを出力する。
【0050】
マスクデータ作成部57は、配置配線データに基づいてマスクデータを作成し、ファイル70として出力する。
【0051】
次に、本発明のクロック分配回路の形成方法の実施の形態(配置配線システムの動作)について、添付図面を参照して説明する。図5は、本発明のクロック分配回路の形成方法を適用した半導体集積回路の設計方法の実施の形態を示すフローチャートである。
【0052】
まず、自動配置配線部55の配置配線部60は、設計データベース59のネットリストと機能ブロックデータと設計ルールデータとに基づいて、半導体集積回路のフロアプランを形成する(ステップS01)。次に、配置配線領域において、フロアプランに基づいて、電源配線(ステップS02)を実行する。その後、配置配線領域において、フロアプランに基づいて、順序回路25、25a、25b、26、26a、26b、PLL回路21、22を含む論理機能セル/ブロックの配置(ステップS03)を行う。CTS部実行部61、データ転送パス抽出部62、分岐点抽出部63、分岐点評価部64及びフィードバックパス形成部65は、Clock Tree Synthesisを実行して、PLL回路21、22を含むクロック分配回路20(図2)を形成する(ステップS04)。次に、配置配線部60は、配線及びシールド配線を実行し、レイアウト後の配置配線データを生成する(ステップS05、ステップS06)。
【0053】
セル検証部8は、配置配線データについて、レイアウト検証(DRC(Design Rule Checking)/LVS(Layout Versus Schematic))(ステップS07)、RC(寄生抵抗と寄生容量)抽出(ステップS08)、遅延計算(ステップS09)、タイミング検証(STA(Static Timing Analysis))(ステップS10)、及びシグナルインテグリティ検証(ステップS11)を実行する。検証により、配置配線データに問題が発見された場合(ステップS12:NO)、当該問題の状況に応じて、自動配置配線部55は配置配線をやり直す(ステップS01〜ステップS06)。問題が発見されない場合(ステップS12:YES)、セル検証部8は配置配線データを出力する。マスクデータ作成部57は、配置配線データに基づいてマスクデータを作成し(ステップS13)、ファイル70として出力する(ステップS14)。
【0054】
以上により、本発明のクロック分配回路の形成方法を適用した半導体集積回路の設計方法が実行される。
【0055】
図6、図7は、本発明のクロック分配回路の形成方法の実施の形態を示す第1および第2のフローチャートである。このフローチャートは、図5のステップS04の詳細を示している。ステップS04は、図6、図7に示されるいずれかの方法で実施される。図8は、本発明のクロック分配回路の形成方法の実施の過程におけるクロック分配回路の等価回路の一例を示すブロック図である。なお、本願発明では、任意の異ドメイン間データ転送パスを1つ選択する方法であればいかなる方法でもよい。したがって図6、7はそれぞれ1例に過ぎない。
【0056】
ステップS03において、配置配線部60により、順序回路25、25a、25b、PLL回路21、順序回路26、26a、26b、及びPLL回路22が配置されている。
【0057】
CTS部実行部61は、CTS法により、PLL回路21と順序回路25、25a、25bとの間に、クロックツリー状に配線31を配線し、配線31の所定の条件を満たす位置にクロックドライバ28を配置する。それにより、PLL回路21の第1クロック信号を順序回路25、25a、25bへ分配するクロック分配網20aが形成される。同様に、PLL回路22と順序回路26、26a、26bとの間に、クロックツリー状に配線32を配線し、配線32の所定の条件を満たす位置にクロックドライバ28を配置する。それにより、PLL回路22の第2クロック信号を順序回路26、26a、26bへ分配するクロック分配網20bが形成される(ステップS21)。
なお、ここではCTS法によりクロック分配網20a、20bを作成するように記しているが、本発明ではこの方法以外のクロック分配網を形成してよい。単純にはあらかじめ備え付けられたHツリーのクロック分配網であってもよい。また上述同様、クロック分配網20a、20bにはクロック分配パスの中に分岐点を備えていればよいので、途中でワイヤード接続を備えるツリーであってもよい。
【0058】
データ転送パス抽出部62は、クロック分配網20aとクロック分配網20bと間のデータ転送パス40、40’を抽出する。
ここでは、任意に1つ抽出する方式や、抽出されたパスについてさらに配線を実行して上記第1の実施例で示したタイミング設計の一番厳しいデータ転送パスを抽出する方法、正確なSTA(遅延解析)を行って一番タイミングマージンが少ないパスを抽出する方法などにより、抽出された複数の異ドメイン間データ転送パスから1つを選択する(ステップS22)。ここでは、データ転送パス40が選択されたものとする。
【0059】
分岐点抽出部63は、抽出されたデータ転送パス40の送信側の順序回路25aについて、クロック入力端子I1を抽出する(ステップS23)。そして、順序回路25aのクロック入力端子I1から、クロック分配網20aのPLL回路21までのパスP1を抽出し、そのパスP1におけるクロック分岐点NA2、NA3、…を抽出する(ステップS24)。同様に、抽出されたデータ転送パス40の受信側の順序回路26aについて、クロック入力端子I2を抽出する(ステップS23)。そして、順序回路26aのクロック入力端子I2から、クロック分配網20bのPLL回路22までのパスP2を抽出し、そのパスP2におけるクロック分岐点NB2、NB3、…を抽出する(ステップS24)。
【0060】
ここで、ステップS24で抽出されたパスP1、P2各々におけるクロック分岐点からフィードバックパスを返す1つの分岐点の選択について、その第1および第2の方法について以下に述べる。
図6を参照して、第1の方法では、パスP1、P2各々について以下を行う。まず、ステップS04で抽出された、パスP1のクロック分岐点それぞれについて、順序回路のクロック入力端子(I1)―分岐点間の遅延(遅延A)および第1PLL回路のFBK端子―分岐点間の遅延(遅延B)を算出する(ステップS35)。こうして得られた分岐点ごとの遅延A,Bを元に遅延A≧遅延Bを満足する分岐点を抽出する(ステップS36)。そしてステップS36で抽出された分岐点のなかから一番リーフに近い分岐点を選択する(ステップS37)。パスP2についても同様に行う。図2、図7の例では、パスP1,パスP2についてそれぞれ分岐点NA3,NB3が選択されるものとする。
【0061】
次に、第2の方法について以下に述べる。
図7を参照して、分岐点評価部64は、パスP1について、抽出されたクロック分岐点NA2、NA3、…のうち、最も順序回路25aに近いクロック分岐点(図2ではNA3)を選択する(ステップS25)。続いて、選択されたクロック分岐点NA3を元に、順序回路25aのクロック入力端子I1から当該クロック分岐点NA3までの遅延A1と、PLL回路21のフィードバッククロック端子FBKから当該クロック分岐点NA3までの遅延B1とを計算する(ステップS26)。そして、計算の結果、遅延A1が遅延B1以上であるか否かを判断する(ステップS27)。遅延A1が遅延B1未満である場合(ステップS27:NO)、抽出されたクロック分岐点NA2、NA3、…のうちから順序回路25aに近い順に次のクロック分岐点NA2を選択し(ステップS28)、遅延A1及び遅延B1を計算し、遅延A1が遅延B1以上となるクロック分岐点を探し出す(ステップS26、S27)。ここでは、クロック分岐点NA3が、遅延A1≧遅延B1に該当するとする。同様に、パスP2について、抽出されたクロック分岐点NB2、NB3、…のうち、最も順序回路26aに近いクロック分岐点NB3を選択する(ステップS25)。続いて、選択されたクロック分岐点NB3を元に、順序回路26aのクロック入力端子I2から当該クロック分岐点NB3までの遅延A2と、PLL回路22のフィードバッククロック端子FBKから当該クロック分岐点NB3までの遅延B2とを計算する(ステップS26)。そして、計算の結果、遅延A2が遅延B2以上であるか否かを判断する(ステップS27)。遅延A2が遅延B2未満である場合(ステップS27:NO)、抽出されたクロック分岐点NB2、NB3、…のうちから順序回路26aに近い順に次のクロック分岐点NB2を選択し(ステップS28)、遅延A2及び遅延B2を計算し、遅延A2が遅延B2以上となるクロック分岐点を探し出す(ステップS26、S27)。ここでは、クロック分岐点NB3が、遅延A2≧遅延B2に該当するとする。
【0062】
なお、図6、図7は、説明のためにクロック分岐点の少ない例(NA1、NA2、NA3、及び、NB1、NB2、NB3の三点ずつ)を示しているが、実際の回路は、多数のクロック分岐点が存在している。そして、それら多数のクロック分岐点のいずれかにおいて、ステップS27の条件を満足するクロック分岐点を抽出する。なお、このようなクロック分岐点が存在しなかった場合、条件を変えてCTSを再実行する。
【0063】
上述の第1の方法、第2の方法のいずれかにより、選択されたパスP1,P2それぞれの分岐点について、以下を進める。
フィードバックパス形成部65は、クロック分岐点NA3が遅延A1≧遅延B1の条件を満足するので、当該クロック分岐点NA3とPLL回路21のフィードバック端子FBKとの間に、フィードバックパスを形成する(図2の配線33)。ただし、遅延A1と遅延B1との遅延差が所定の許容範囲、好ましくは遅延A1=遅延B1となるように、必要に応じてクロックドライバ29を配線33中に挿入する(ステップS29)。同様に、クロック分岐点NB3が遅延A2≧遅延B2の条件を満足するので、当該クロック分岐点NB3とPLL回路22のフィードバック端子FBKとの間に、フィードバックパスを形成する(図2の配線34)。ただし、遅延A2と遅延B2との遅延差が所定の許容範囲、好ましくは遅延A2=遅延B2となるように、必要に応じてクロックドライバ29を配線34中に挿入する(ステップS29)。
【0064】
以上のようにして、異なるクロック分配網間に属する順序回路間をつなぐデータ転送パスが存在する場合でも、OCVに影響されないでクロック信号を分配することが可能なクロック分配回路20が形成される。
【0065】
なお、ステップS22において、異なるクロック分配網に接続された順序回路同士を接続するデータ転送パスがない場合、図示しないが、従来行われていた方法でフィードバックパスを設定してクロック分配回路20が形成される。
【0066】
上記の半導体集積回路の設計方法により作成された半導体集積回路のマスクデータに基づいて、本発明の半導体集積回路が製造される。すなわち、まず、上記ステップS21〜ステップS29を含むステップS01〜ステップS14を実行して、マスクデータを生成する。次に、マスクデータに基づいて、マスクを作製する。マスクの作製方法には、特に制限は無いが、例えば、従来知られた方法を用いることができる。続いて、作製されたマスクを用いて、半導体基板上に半導体集積回路45(図3)を製造する。半導体集積回路45の製造プロセスには、上記マスクを用いていれば、特に制限は無い。例えば、従来知られた成膜処理、リソグラフィ処理等の方法を用いることができる。
【0067】
このようにして、本発明のクロック分配回路の形成方法を適用した半導体集積回路の設計方法を実施することにより、本発明のクロック分配回路20を含む半導体集積回路45を製造することができる。この場合、異なるクロック分配網(クロックドメイン)間に属する回路間をつなぐデータ転送パスが存在する場合でも、OCVに影響されないでクロック信号を分配することが可能となる。それにより、それら回路間のデータ転送を正しく行うことが可能となる。
【0068】
なお、上記方法の説明では、配置実行からテープアウトまでを説明しているが、本願発明は、半導体装置(チップ)のクロック分配回路の形成方法であって、形成方法のフローの中で、クロック分配回路を形成する場合に、
(a)回路図データと機能ブロックデータと設計ルールデータとに基づいて、半導体装置の配置配線領域に、第1クロック信号で動作する第1順序回路と第2クロック信号で動作する第2順序回路と、第1PLL回路と、第2PLL回路とを配置するステップと、
(b)前記第1PLL回路から出力される前記第1クロック信号を前記第1順序回路に分配する前記第1クロック分配網と、前記第2PLL回路から出力される前記第2クロック信号を前記第2順序回路に分配する前記第2クロック分配網とを形成するステップと、
(c)前記第1順序回路と前記第2順序回路との間に第1データ転送パスが有る場合、前記第1クロック分配網の前記第1PLL回路から前記第1順序回路までのクロック分配パスが有する分岐点から前記第1分岐点を選択し、前記第1分岐点から前記第1PLL回路にフィードバックパスを形成するステップと
を具備する方法であればよい。
【図面の簡単な説明】
【0069】
【図1】図1は、従来技術における集積回路装置の等価回路を示す図である。
【図2】図2は、本発明のクロック分配回路の構成を示す等価回路図である。
【図3】図3は、本発明の半導体集積回路の実施の形態の構成の一例を示す概略ブロック図である。
【図4】図4は、本発明のロック分配回路の形成方法を適用した配置配線システムの実施の形態の構成を示す図である。
【図5】図5は、本発明のクロック分配回路の形成方法を適用した半導体集積回路の設計方法の実施の形態を示すフローチャートである。
【図6】図6は、本発明のクロック分配回路の形成方法の実施の形態の一例を示すフローチャートである。
【図7】図7は、本発明のクロック分配回路の形成方法の実施の形態の他の例を示すフローチャートである。
【図8】図8は、本発明のクロック分配回路の形成方法の実施の過程におけるクロック分配回路の等価回路の一例を示すブロック図である。
【符号の説明】
【0070】
1、1a、1b PLL回路
2 クロック入力バッファ
3、3a、3b、3c マクロ
5 クロック配線
6 クロックドライバ
8、8a、8b バッファ遅延補償回路
10 インターフェースマクロフィードバッククロック出力端子
11、11a、11b 配線
12 マクロ内F/F
13 PLLフィードバッククロック入力端子
20 クロック分配回路
20a、20b クロック分配網
21、22 PLL回路
25、25a、26a、25b、26b、順序回路
27、28、29 クロックドライバ
30、32、33、34、40、40’ 配線
45 半導体集積回路
50 配置配線システム
51 自動配線配置装置
52 ネットリストデータベース(DB)
53 セル/ブロックライブラリデータベース(DB)
54 設計ルールファイルデータベース(DB)
55 自動配置配線部
56 セル検証部
57 マスクデータ作成部
59 設計データベース
60a 配置部
60b 配線部
61 CTS部実行部
62 データ転送パス抽出部
63 分岐点抽出部
64 分岐点評価部
65 フィードバックパス形成部

【特許請求の範囲】
【請求項1】
第1クロック分配網の第1分岐点を通じて分配される第1クロック信号で動作する第1順序回路と、第2クロック分配網の第2分岐点を通じて分配される第2クロック信号で動作する第2順序回路と、前記第1順序回路と前記第2順序回路との間に設けられたデータ転送パスと、を有する半導体集積回路のクロック分配回路であって、
前記第1分岐点から分岐した前記第1クロックを第1フィードバッククロック信号として入力し、前記第1フィードバッククロック信号と第1リファレンスクロック信号とに基づいて、前記第1クロック信号を前記第1クロック分配網へ出力する第1PLL回路と、
前記第2分岐点から分岐した前記第2クロックを第2フィードバッククロック信号として入力し、第2フィードバッククロック信号と第2リファレンスクロック信号とに基づいて、前記第2クロック信号を前記第2クロック分配網へ出力する第2PLL回路と
を具備し、
前記第1クロック分配網は第1PLL回路の出力と前記第1分岐点との間、または、前記第2クロック分配網は第2PLL回路の出力と前記第2分岐点との間、のいずれか一方に分岐点を備える
クロック分配回路。
【請求項2】
前記第1分岐点は前記第1PLL回路から前記第1順序回路までの第1パスにおける複数の分岐点のうち前記第1順序回路に最も近い
請求項1に記載のクロック分配回路。
【請求項3】
前記第2分岐点は前記第2PLL回路から前記第1順序回路までの第2パスにおける分岐点のうち前記第2順序回路に最も近い
請求項2に記載のクロック分配回路。
【請求項4】
外部からクロック入力バッファを介して入力されたリファレンスクロックが、前記第1リファレンスクロック信号および前記第2リファレンスクロック信号としてそれぞれ前記第1PLL回路および前記第2PLL回路に供給される
請求項1に記載のクロック分配回路。
【請求項5】
前記第1リファレンスクロック信号は、第1クロック入力バッファを介して外部から前記第1PLL回路に供給され、前記第2リファレンスクロック信号は、第2クロック入力バッファを介して外部から前記第2PLL回路に供給される
請求項1に記載のクロック分配回路。
【請求項6】
前記第1分岐点から前記第1順序回路までの前記第1クロック信号の遅延と、前記第1分岐点から前記第1PLL回路までの前記第1クロック信号の遅延とが等しく、
前記第2分岐点から前記第2順序回路までの前記第2クロック信号の遅延と、前記第2分岐点から前記第2PLL回路までの前記第2クロック信号の遅延とが等しい
請求項1に記載のクロック分配回路。
【請求項7】
前記第1分岐点から前記第1PLL回路までの前記第1クロック信号のフィードバックパスに前記クロック入力バッファと同じ遅延のバッファを有し、
前記第2分岐点から前記第2PLL回路までの前記第2クロック信号のフィードバックパスに前記クロック入力バッファと同じ遅延のバッファを有する
請求項4に記載のクロック分配回路。
【請求項8】
前記第1分岐点から前記第1PLL回路までの前記第1クロック信号のフィードバックパスに前記第1クロック入力バッファと同じ遅延のバッファを有し、
前記第2分岐点から前記第2PLL回路までの前記第2クロック信号のフィードバックパスに前記第2クロック入力バッファと同じ遅延のバッファを有する
請求項5に記載のクロック分配回路。
【請求項9】
請求項1乃至8のいずれか一項に記載のクロック分配回路
を具備する
半導体集積回路。
【請求項10】
(a)回路図データと機能ブロックデータと設計ルールデータとに基づいて、半導体装置の配置配線領域に、第1クロック信号で動作する第1順序回路と第2クロック信号で動作する第2順序回路と、第1PLL回路と、第2PLL回路とを配置するステップと、
(b)前記第1PLL回路から出力される前記第1クロック信号を前記第1順序回路に分配する前記第1クロック分配網と、前記第2PLL回路から出力される前記第2クロック信号を前記第2順序回路に分配する前記第2クロック分配網とを形成するステップと、
(c)前記第1順序回路と前記第2順序回路との間に第1データ転送パスが有る場合、前記第1クロック分配網の前記第1PLL回路から前記第1順序回路までのクロック分配パスが有する複数の分岐点のうち前記第1PLL回路側の最初の分岐点を除いたものから第1分岐点を選択し、前記第1分岐点から前記第1PLL回路にフィードバックパスを形成するステップと
を具備する
クロック分配回路の形成方法。
【請求項11】
前記(c)ステップは、
(c1)前記第1順序回路と前記第2順序回路との間に第1データ転送パスが有る場合、前記複数の分岐点のうち前記最初の分岐点を除いたものを複数の第1分岐点候補として抽出するステップと、
(c2)前記複数の第1分岐点候補の各々から前記第1PLL回路にフィードバックパス候補を形成した場合の前記フィードバックパス候補の遅延を見積もるステップと、
(c3)前記フィードバックパス候補の遅延が前記第1分岐点候補から前記第1順序回路までの遅延より小さい遅延である前記第1分岐点候補のうち、前記第1分岐点候補から前記第1順序回路までの遅延が最も小さい前記第1分岐点候補を前記第1分岐点として選択するステップと
(c4)前記第1分岐点から前記第1PLL回路にフィードバックパスを形成するステップと
を備える
請求項10に記載のクロック分配回路の形成方法。
【請求項12】
前記(c)ステップは、
(c1)前記第1順序回路と前記第2順序回路との間に第1データ転送パスが有る場合、前記複数の分岐点のうちの前記最初の分岐点を除いた複数の第1分岐点候補のうち、前記第1分岐点候補から前記第1順序回路までの遅延がn番目(nは自然数)に小さい前記第1分岐点候補を前記第1分岐点として抽出するステップと、
(c2)前記第1分岐点から前記第1PLL回路にフィードバックパスを形成した場合のフィードバックパスの遅延を見積もるステップと、
(c3)前記フィードバックパスの遅延と前記第1分岐点から前記第1順序回路までの遅延とを比較し、前記フィードバックパスの遅延が前記第1分岐点から前記第1順序回路までの遅延より小さい遅延である場合には(c4)ステップに進み、前記フィードバックパスの遅延と前記第1分岐点から前記第1順序回路までの遅延が大きい場合にはnの値を1インクリメントして(c1)ステップに戻るステップと
(c4)前記第1分岐点から前記第1PLL回路にフィードバックパスを形成するステップと
を備える
請求項10に記載のクロック分配回路の形成方法。
【請求項13】
(d)前記第1順序回路と前記第2順序回路との間に前記第1データ転送パスが有る場合、前記第2クロック分配網の前記第2PLL回路から前記第2順序回路までのクロック分配パスが有する複数の分岐点のうち前記第2PLL回路側の最初の分岐点を除いたものから前記第2分岐点を選択し、前記第2分岐点から前記第2PLL回路にフィードバックパスを形成するステップと
をさらに具備する
請求項10乃至12のいずれか一項に記載のクロック分配回路の形成方法。
【請求項14】
(a)回路図データと機能ブロックデータと設計ルールデータとに基づいて、半導体装置の配置配線領域に、第1クロック信号で動作する第1順序回路と第2クロック信号で動作する第2順序回路と、第1PLL回路と、第2PLL回路とを配置するステップと、
(b)前記第1PLL回路から出力される前記第1クロック信号を前記第1順序回路に分配する前記第1クロック分配網と、前記第2PLL回路から出力される前記第2クロック信号を前記第2順序回路に分配する前記第2クロック分配網とを形成するステップと、
(c)前記第1順序回路と前記第2順序回路との間に第1データ転送パスが有る場合、前記第1クロック分配網の前記第1PLL回路から前記第1順序回路までのクロック分配パスが有する複数の分岐点のうち前記第1PLL回路側の最初の分岐点を除いたものから第1分岐点を選択し、前記第1分岐点から前記第1PLL回路にフィードバックパスを形成するステップと
を具備する
クロック分配回路の形成方法をコンピュータに実行させるプログラム。
【請求項15】
前記(c)ステップは、
(c1)前記第1順序回路と前記第2順序回路との間に第1データ転送パスが有る場合、前記複数の分岐点のうち前記最初の分岐点を除いたものを複数の第1分岐点候補として抽出するステップと、
(c2)前記複数の第1分岐点候補の各々から前記第1PLL回路にフィードバックパス候補を形成した場合の前記フィードバックパス候補の遅延を見積もるステップと、
(c3)前記フィードバックパス候補の遅延が前記第1分岐点候補から前記第1順序回路までの遅延より小さい遅延である前記第1分岐点候補のうち、前記第1分岐点候補から前記第1順序回路までの遅延が最も小さい前記第1分岐点候補を前記第1分岐点として選択するステップと
(c4)前記第1分岐点から前記第1PLL回路にフィードバックパスを形成するステップと
を備える
請求項14に記載のプログラム。
【請求項16】
前記(c)ステップは、
(c1)前記第1順序回路と前記第2順序回路との間に第1データ転送パスが有る場合、前記複数の分岐点のうち前記最初の分岐点を除いたもの複数の第1分岐点候補のうち、前記第1分岐点候補から前記第1順序回路までの遅延がn番目(nは自然数)に小さい前記第1分岐点候補を前記第1分岐点として抽出するステップと、
(c2)前記第1分岐点から前記第1PLL回路にフィードバックパスを形成した場合のフィードバックパスの遅延を見積もるステップと、
(c3)前記フィードバックパスの遅延と前記第1分岐点から前記第1順序回路までの遅延とを比較し、前記フィードバックパスの遅延が前記第1分岐点から前記第1順序回路までの遅延より小さい遅延である場合には(c4)ステップに進み、前記フィードバックパスの遅延と前記第1分岐点から前記第1順序回路までの遅延が大きい場合にはnの値を1インクリメントして(c1)ステップに戻るステップと
(c4)前記第1分岐点から前記第1PLL回路にフィードバックパスを形成するステップと
を備える
請求項14に記載のプログラム。
【請求項17】
(d)前記第1順序回路と前記第2順序回路との間に前記第1データ転送パスが有る場合、前記第2クロック分配網の前記第2PLL回路から前記第2順序回路までのクロック分配パスが有する複数の分岐点のうち前記第2PLL回路側の最初の分岐点を除いたものから前記第2分岐点を選択し、前記第2分岐点から前記第2PLL回路にフィードバックパスを形成するステップと
をさらに具備する
請求項14乃至16のいずれか一項に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−336003(P2007−336003A)
【公開日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願番号】特願2006−162766(P2006−162766)
【出願日】平成18年6月12日(2006.6.12)
【出願人】(302062931)NECエレクトロニクス株式会社 (8,021)
【Fターム(参考)】