JP6450953B2 - クロック同期方法 - Google Patents

クロック同期方法 Download PDF

Info

Publication number
JP6450953B2
JP6450953B2 JP2015027776A JP2015027776A JP6450953B2 JP 6450953 B2 JP6450953 B2 JP 6450953B2 JP 2015027776 A JP2015027776 A JP 2015027776A JP 2015027776 A JP2015027776 A JP 2015027776A JP 6450953 B2 JP6450953 B2 JP 6450953B2
Authority
JP
Japan
Prior art keywords
clock
reference clock
delay time
divided
synchronous
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.)
Active
Application number
JP2015027776A
Other languages
English (en)
Other versions
JP2016152448A (ja
Inventor
保 吉木
保 吉木
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.)
MegaChips Corp
Original Assignee
MegaChips Corp
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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2015027776A priority Critical patent/JP6450953B2/ja
Priority to US15/044,163 priority patent/US9898035B2/en
Priority to CN201610086604.1A priority patent/CN105897261B/zh
Publication of JP2016152448A publication Critical patent/JP2016152448A/ja
Application granted granted Critical
Publication of JP6450953B2 publication Critical patent/JP6450953B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/10Details of the phase-locked loop for assuring initial synchronisation or for broadening the capture range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Manipulation Of Pulses (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、トップ階層のブロックが備えるクロック生成回路から、複数の下位階層のブロックのそれぞれが備える末端FF(フリップフロップ)に供給される基準クロックおよび分周クロックの位相を同期させるクロック同期方法に関するものである。
大規模半導体集積回路のレイアウト設計では、階層レイアウト設計手法が用いられる。階層レイアウト設計手法では、半導体集積回路の大部分の回路が複数の下位階層のブロックに分割され、それぞれの下位階層のブロックのレイアウト設計が行われる。その後、または、並行して、下位階層のブロックを除くトップ階層のブロックのレイアウト設計が行われ、それぞれの下位階層のブロックにクロック信号が接続されるとともに、それぞれの下位階層のブロック間の配線が接続される。
下位階層のブロックおよびトップ階層のブロックのレイアウト設計では、クロック信号を、それぞれの下位階層のブロックが備える膨大な数のFF群に供給するために、クロックツリーシンセシスという手法が用いられる。クロックツリーシンセシスは、トップ階層のブロックのクロック信号の開始点から、各々の経路を経由してそれぞれの下位階層のブロックが備える全てのFFまで到達するクロック信号の遅延時間を揃える(位相を同期させる)ための機能である。
階層レイアウト設計手法では、クロック配線がトップ階層のブロックとそれぞれの下位階層のブロックとの間にまたがるため、それぞれの下位階層のブロック内で下流部分のクロックツリー生成が行われる。そして、その結果を引き継いで、トップ階層のブロック内で上流部分のクロックツリー生成が行われ、クロック信号の開始点からそれぞれの下位階層のブロックの全てのFFまでのクロック信号の遅延時間が揃うように、トップ階層のブロック内のクロック信号の遅延時間の調整が行われる。
半導体集積回路では、製造時のプロセスばらつきや動作時の電圧/温度ばらつき等により、それぞれの信号の遅延時間に変動が発生する。レイアウト設計の際は、それぞれの信号の遅延時間にばらつきが発生しても回路が正常に動作するようにタイミング設計が行われる。具体的には、このような信号の遅延時間のばらつきはOCV(On Chip Variation)と呼ばれ、このOCV分のマージンを含めても半導体集積回路が正常に動作するようにタイミング設計が行われる。
また、大規模集積回路では、トップ階層のブロックが備えるクロック生成回路により、基準クロックから分周クロック群が生成され、それぞれの下位階層のブロックに分配されることが多い。その結果、基準クロックと分周クロックとがクロックツリーの上流側で分岐され、分岐点以降の基準クロックおよび分周クロックの経路が長くなりがちである。分岐点以降の長いクロック経路はそれぞれ個別にばらつくため、考慮すべきタイミングマージンが大きい値となり、タイミング設計が難航する。
図6は、従来の半導体集積回路の構成を表す一例の概念図である。同図に示す半導体集積回路70は、階層レイアウト設計手法により設計されたものであり、3つの下位階層のブロックA、B、Cと、この下位階層のブロックA、B、Cを除くトップ階層のブロックとを備えている。また、トップ階層のブロックは、クロック生成回路12を備え、クロック生成回路12は、PLL回路14と、分周回路16とを備えている。
半導体集積回路70では、クロック生成回路12において、PLL回路14により基準クロック15が生成され、PLL回路14から出力される基準クロック15が、分周回路16により分周されて分周クロック17が生成される。基準クロック15および分周クロック17は、クロック生成回路12から、下位階層のブロックA、B、Cが備える、基準クロック15に同期して動作する全ての第1末端FF18および分周クロック17に同期して動作する全ての第2末端FF20に供給される。
半導体集積回路70のレイアウト設計を行う場合、階層レイアウト設計手法では、まず、下位階層のブロックA、B、Cについて、基準クロックおよび分周クロックのクロックツリー(図6中、三角の枠で示す)19、21が生成される。下位階層のブロックA、B、Cは、大きさや第1末端FF18および第2末端FF20の個数がブロック毎に異なるため、クロックツリーの遅延時間は異なる。図示例の場合、下位階層のブロックA、B、C内の基準クロックおよび分周クロックのクロックツリー19、21の遅延時間は、それぞれ、2ns、7ns、5nsである。
続いて、トップ階層のブロックで基準クロック15および分周クロック17のクロックツリーが生成される。この場合、下位階層のブロックA、B、C内の基準クロックおよび分周クロックのクロックツリー19、21の遅延時間のスキューをなくすように、トップ階層のブロックの基準クロック15および分周クロック17のクロックツリーの遅延時間が調整される。図示例の場合、クロック生成回路12から下位階層のブロックA、B、Cまでの基準クロック15および分周クロック17のクロックツリーの遅延時間は、それぞれ、10ns、5ns、7nsである。
これにより、基準クロック15と分周クロック17との分岐点13から、下位階層のブロックA、B、Cのそれぞれの第1末端FF18および第2末端FF20までの遅延時間が12nsに揃えられ、下位階層のブロックA、B、Cの全ての第1末端FF18および第2末端FF20を同期させて動作させることができる。
しかし、この場合の問題点は、基準クロック15および分周クロック17のタイミングマージンが大き過ぎて、設計が困難なことである。下位階層のブロックA、B、Cには、クロック生成回路12において基準クロック15から分岐された分周クロック17が供給されるため、基準クロック15と分周クロック17との分岐点13以降の12ns分のクロック経路がOCVばらつきの対象となる。
図7に示すように、基準クロック15の周期が5ns、つまり、基準クロック15が2分周された分周クロック17の周期が10nsの場合、例えば、基準クロック15の1周期を超える大きなタイミングマージン、この例の場合には、基準クロック15および分周クロック17の立ち上がりタイミングの前後6nsずつ、合計で12nsのタイミングマージンが必要となり、レイアウト設計が非常に困難となる。
この問題を解決するには、図8に示すように、基準クロック15に同期して分周クロック17をデータ信号として受け取り基準クロックで出力し直す同期FF41を、分周クロック17の経路上の、それぞれの下位階層のブロックA、B、Cの近傍の位置に配置することである。
これにより、分岐点が、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cの近傍の分岐点37に移動され、図9に示すように、タイミングマージンをある程度は小さくすることができる。この例の場合には、タイミングマージンを合計で8nsにすることができる。
また、図10に示すように、同期FF41を、それぞれの下位階層のブロックA、B、Cの内部の第2末端FF20の近傍の位置に移動することにより、分岐点を、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cの内部の第2末端FF20の近傍の分岐点39に移動させることができ、図11に示すように、さらにタイミングマージンを小さくすることができる。この例の場合には、合計で4nsにすることができる。
しかし、この場合の問題点は、クロック経路に配置した同期FF41のタイミング設計が難しくなることである。
図12に示すように、同期FF41に供給される基準クロック15の遅延時間は、基準クロック15の1周期よりも大きな遅延時間になることが多い。この例の場合、クロック生成回路12の内部の基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cの内部の同期FF41までの基準クロック15の遅延時間は、それぞれ、11ns、7ns、9nsとなる。
同期FF41のクロック経路の基準クロック15に、このような基準クロック15の周期を超える遅延がかかるということは、並走するデータ経路の分周クロック17にも同等程度の遅延がかかることが多い。データ経路の遅延時間が周期を超えると、同期設計のセットアップ制約を満たせない場合がある。このため、データ経路の遅延時間が基準クロック15の1周期の時間内に収まるように、図13に示すように、データ経路に複数段の同期FF41を追加する必要がある。
しかしながら、複数の同期FF41を追加して、データ経路の遅延時間が1周期に収まるようにしても、ホールド制約を満たすことは難しい。
以下、ホールド制約を満たすことの難しさについて説明する。
まずは、図14に示すように、1つの下位階層のブロックへの同期FF41群のタイミング設計を考える。
これら同期FF41群だけが対象であれば、図15に示すように、基準クロックと分周クロックとの分岐点から、全ての同期FF41までの基準クロックの経路にバッファ45を挿入して遅延時間を揃える(クロックスキューをなくす)ことにより、セットアップ/ホールド制約を満たすことができる。
一方、前述の例のように、3つの下位階層のブロックA、B、Cが存在し、それぞれの遅延時間が、11ns、7ns、9nsと異なる場合、データのつき抜けが起きないように、遅らせるクロック遅延を3値の中で最大の11nsに合わせるのが一般的である。
しかし、この場合の問題点は、分周回路を構成するFFおよび全ての同期FF41群の遅延時間を最も遅いものに揃えることにより、基準クロックの経路上に追加するバッファ45の個数が膨大となり、レイアウト面積および消費電力が増えることである。また、基準クロックの遅延時間の最大値と最小値との差が基準クロックの1周期を超えると、同期設計で対応できる時間幅を超えるため、タイミング設計が成り立たなくなる。
このため、基準クロックの遅延時間を最も遅いものに揃える方法では対応できない場合が生じ、問題である。このため、図16に示すように、一部あるいは全体に、基準クロックの遅延時間をずらしながら、セットアップ/ホールド制約を満たす必要性が生じる。
次に、基準クロックの遅延時間をずらしながら、セットアップ/ホールド制約を満たすことの難しさを説明する。
半導体集積回路は、動作保証範囲にある様々な温度、電圧、プロセス条件で動作する必要があるため、様々な動作環境による信号の遅延変動を考慮する必要がある。データのつき抜けを起こさないために、図17(A)および(B)に示すように、前段のFFAから出力されるデータQをバッファ47により遅延させて、後段のFFBのクロックCLKの立ち上がりより後にFFBのデータDが変化しなければならない。このため、この構成の場合は、クロック系のバッファ49による遅延時間よりも、データ系のバッファ47による遅延時間を大きくする必要がある。
それぞれのセルの遅延時間は動作環境によって変動するが、バッファ47、49の遅延時間が大きいため、データ経路の遅延変動幅が大きい。クロック経路も遅延変動するため、両方の経路の遅延変動を考えた上で、セットアップ/ホールド制約を満たすようにタイミング設計するのは困難である。実際の半導体集積回路のレイアウト設計では、通常、タイミング設計を再調整する必要が何度も発生している。
ここで、本発明に関連性のある先行技術文献として、半導体集積回路さらには半導体チップ上における同期用のクロック信号の分配方式に関する特許文献1、クロック分配を制御する半導体集積回路等に関する特許文献2、多相クロックが内部回路に分配される集積回路におけるクロック分配方式に関する特許文献3、基準クロックを分周して遅延することで複数の遅延クロックを生成するクロック生成回路に関する特許文献4などがある。
特開2002−76127号公報 特開2002−158286号公報 特開2001−320022号公報 特開平9−51255号公報
本発明の目的は、上記従来技術の問題点を解消し、基準クロックと分周クロックとを同期させるために必要となるタイミングマージンを大幅に削減し、タイミング設計を容易化することができるクロック同期方法を提供することにある。
上記目的を達成するために、本発明は、トップ階層のブロックが備えるクロック生成回路から、複数の下位階層のブロックのそれぞれが備える基準クロックのクロックツリーおよび前記基準クロックが分周された分周クロックのクロックツリーを介して、前記基準クロックに同期して動作する第1末端FFおよび前記分周クロックに同期して動作する第2末端FFに供給される前記基準クロックおよび前記分周クロックの位相を同期させるクロック同期方法であって、
それぞれの前記下位階層のブロックの分周クロックのクロックツリーの開始点に、それぞれの前記下位階層のブロックが備える基準クロックのクロックツリーから入力される基準クロックに同期して前記分周クロックをデータ信号として保持し、前記保持された分周クロックのデータ信号をデータ入力とする、それぞれの前記下位階層のブロックが備える基準クロックのクロックツリーの開始点に接続する第1同期FFを配置するステップと、
前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックの第1同期FFまでの基準クロックの遅延時間を求め、前記基準クロックの遅延時間の最大値を取得するステップと、
前記基準クロックの半周期未満の時間となるように、それぞれの前記下位階層のブロックの分周クロックの配線経路上に直列に配置される複数の第2同期FF間の基準クロックの遅延時間の最大値を決定するステップと、
前記基準クロックの遅延時間の最大値を、前記第2同期FF間の基準クロックの遅延時間の最大値で割ることにより得られる除算結果の値以上で、かつ、前記分周クロックの分周数の倍数で、それぞれの前記下位階層のブロックの分周クロックの配線経路を分割するように、それぞれの前記下位階層のブロックの分周クロックの配線経路上に直列に配置され、前記基準クロックに同期して前記分周クロックをデータ信号として順次保持する第2同期FFの段数を決定するステップと、
前記第2同期FF間の基準クロックの遅延時間の最大値以下の遅延時間となるように、前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックのそれぞれの第2同期FFおよび第1同期FFまでの遅延時間の目標値を決定するステップと、
前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックの、前記決定された段数の第2同期FFのそれぞれおよび第1同期FFまでの遅延時間が、前記遅延時間の目標値となる分周クロックの配線経路上の位置に、前記決定された段数の第2同期FFのそれぞれを配置するステップと、
前記分周クロックの配線経路上のそれぞれの第2同期FFの後ろに、前段の前記第2同期FFのクロック入力端子に接続される基準クロックのローレベル期間に、前記前段の第2同期FFの出力信号を通過させるラッチを配置するステップと、
それぞれの前記下位階層のブロックの初段の第2同期FFのクロック入力端子に接続される基準クロックが、それぞれの前記第2同期FFまでの遅延時間の目標値だけ遅延された遅延基準クロックを、それぞれの前記第2同期FFのクロック入力端子に接続し、最終段の前記第2同期FFに接続される遅延基準クロックを、前記基準クロックのクロックツリーの開始点に接続するステップとを含むことを特徴とするクロック同期方法を提供するものである。
ここで、前記第1同期FFを、それぞれの前記下位階層のブロックの内部に配置することが好ましい。
また、それぞれの前記下位階層のブロックの分周クロックの配線経路上に直列に配置される複数の第2同期FFのうちの少なくとも1を、それぞれの前記下位階層のブロックの内部に配置することが好ましい。
また、前記第1同期FF、および、それぞれの前記下位階層のブロックの分周クロックの配線経路上に直列に配置される複数の第2同期FFを、前記トップ階層のブロックに配置することが好ましい。
また、前記基準クロックの物理的な配線距離、前記基準クロックの物理的な配線の単位長さ当たりの遅延時間、および、それぞれのセルの遅延時間に基づいて、前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックの第1同期FFまでの基準クロックの遅延時間を算出することが好ましい。
また、ワーストケースのシミュレーションにより、前記基準クロックの半周期未満の時間となるように、前記第2同期FF間の基準クロックの遅延時間の最大値を決定することが好ましい。
また、それぞれの前記下位階層のブロックの第2同期FFの段数は、前記分周クロックが前記基準クロックをn分周(nは2以上の整数)の場合、等しいか、または、nの倍数の段数だけ異なることが好ましい。
また、前記除算結果の値以上となる前記分周クロックの分周数の倍数の最小値以上の値で、それぞれの前記下位階層のブロックの分周クロックの配線経路を分割するように、それぞれの前記下位階層のブロックの第2同期FFの段数を決定することが好ましい。
また、前記第2同期FF間の基準クロックの遅延時間の最大値以下の遅延時間となるように、それぞれの前記下位階層のブロックの基準クロックの遅延時間を、前記決定された段数の第2同期FFで分割することにより、前記遅延時間の目標値を決定することが好ましい。
また、前記基準クロックの物理的な配線の単位長さ当たりの遅延時間、および、それぞれのセルの遅延時間に基づいて、前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックのそれぞれの第2同期FFおよび第1同期FFまでの遅延時間を算出することにより、前記算出されたそれぞれの遅延時間が、前記遅延時間の目標値となる前記分周クロックの配線経路上の位置を取得することが好ましい。
本発明では、第1同期FFを、下位階層のブロックの分周クロックのクロックツリーの開始点に配置することにより、基準クロックと分周クロックとの分岐点が、第1同期FFにおける基準クロックと分周クロックとの分岐点に移動され、分岐点から第2末端FFまでの配線距離を短くすることができるため、タイミングマージンを小さくし、タイミング設計を容易化することができる。
また、本発明によれば、第2同期FFの後ろにラッチを追加することにより、例えば、基準クロックの立ち上がりエッジで第2同期FFを通過させた分周クロックのデータ信号を、基準クロックがハイレベルの間、ラッチが保持して出力する。これにより、分周クロックの変化の開始タイミングが確実に基準クロックの半周期の時間遅延されるため、バッファにより遅延時間を確保する必要がなくなり、タイミング設計が容易化される。
本発明のクロック同期方法を適用して設計された半導体集積回路の構成を表す一実施形態の回路図である。 本発明のクロック同期方法の各工程を表す一例のフローチャートである。 図1に示す半導体集積回路におけるセル間の遅延時間を表す一例の概念図である。 基準クロックおよび分周クロックが、クロック生成回路から6個の下位階層のブロックに供給される場合の一例を表すブロック図である。 (A)は、図1に示すクロック同期回路の一部の構成を表す一例の回路図、(B)は、同図(A)に示す回路の動作を表す一例のタイミングチャートである。 従来の半導体集積回路の構成を表す一例の概念図である。 図6に示す半導体集積回路の動作を表す一例のタイミングチャートである。 従来の半導体集積回路の構成を表す別の例の概念図である。 図8に示す半導体集積回路の動作を表す一例のタイミングチャートである。 従来の半導体集積回路の構成を表す別の例の概念図である。 図10に示す半導体集積回路の動作を表す一例のタイミングチャートである。 図10に示す半導体集積回路におけるセル間の遅延時間を表す一例の概念図である。 従来の半導体集積回路の構成を表す別の例の概念図である。 図13に示すクロック同期回路の一部の構成を表す一例の回路図である。 図13に示すクロック同期回路の一部の構成を表す別の例の回路図である。 図13に示すクロック同期回路の一部の構成を表す別の例の回路図である。 (A)は、図16に示すクロック同期回路の一部の構成を表す一例の回路図、(B)は、同図(A)に示す回路の動作を表す一例のタイミングチャートである。
以下に、添付の図面に示す好適実施形態に基づいて、本発明のクロック同期方法を詳細に説明する。
図1は、本発明のクロック同期方法を適用して設計された半導体集積回路の構成を表す一実施形態の回路図である。同図に示す半導体集積回路10は、本発明のクロック同期方法を適用して、かつ、階層レイアウト設計手法により設計されたものであり、3つの下位階層のブロックA、B、Cと、この下位階層のブロックA、B、Cを除くトップ階層のブロックとを備えている。
トップ階層のブロックは、クロック生成回路12を備え、クロック生成回路12は、一定の周期(周波数)の基準クロック15を生成するPLL回路14と、PLL回路14により生成される基準クロック15をn分周(nは2以上の整数)して分周クロック17を生成する分周回路16とを備えている。
なお、図示例の分周回路16は、基準クロック15を分周する分周器の後ろに、後述するラッチ42と同じ、分周器に入力される基準クロック15のローレベル期間にデータを通過させるラッチが設けられている。このラッチは必須ではないが、このラッチを設けてもよい。
それぞれの下位階層のブロックA、B、Cは、基準クロック15に同期して動作する第1末端FF18と、分周クロック17に同期して動作する第2末端FF20と、それぞれの下位階層のブロックA、B、Cの内部で使用される基準クロックおよび分周クロックのクロックツリー(図1中、三角の枠で示す)19、21とを備えている。
続いて、クロック同期回路は、クロック生成回路12から、それぞれの下位階層のブロックA、B、Cが備える基準クロックおよび分周クロックのクロックツリー19、21を介して、第1末端FF18および第2末端FF20に供給される基準クロックおよび分周クロックの位相を同期させるものであり、それぞれの下位階層のブロックA、B、Cに対応する第1、第2および第3クロック同期回路22、24、26を備えている。
第1クロック同期回路22は、5段の基本同期回路28、30、32、34、36と、第1同期FF38と、基準クロック15を遅延するバッファ44とを備えている。初段〜4段目の基本同期回路28、30、32、34およびバッファ44は、トップ階層のブロックに配置され、5段目の基本同期回路36および第1同期FF38は、下位階層のブロックAの内部に配置されている。
初段の基本同期回路28は、第2同期FF40と、ラッチ42とを備えている。第2同期FF40のクロック入力端子には、クロック生成回路12のPLL回路14から基準クロック15が入力され、データ入力端子には、分周回路16から分周クロック17が入力される。ラッチ42のクロック入力端子には、第2同期FF40のクロック入力端子に入力される基準クロック15の反転が入力され、データ入力端子には、第2同期FF40の出力信号が入力される。
第2同期FF40は、基準クロック15の立ち上がりに同期して分周クロック17を保持する(保持し直す)ものである。
ラッチ42は、基準クロックがローレベルの期間に、前段の第2同期FF40の出力信号を通過させ、基準クロックがハイレベルの期間に、通過させた第2同期FF40の出力信号を保持するものである。
なお、図1の例では、ラッチ42の後ろにバッファが設けられている。このバッファは必須ではないが、ラッチ42の後ろにバッファを設けてもよい。
2段目〜5段目の基本同期回路30、32、34、36は、初段の基本同期回路28と同様の構成のものであるが、第2同期FF40のデータ入力端子には、それぞれ、前段の基本同期回路28、30、32、34のラッチ42の出力信号が入力され、第2同期FF40のクロック入力端子およびラッチ42のクロック入力端子には、基準クロック15が、バッファ44により一定の遅延時間だけ順次遅延された遅延基準クロックおよびその反転が入力される。
第1同期FF38のクロック入力端子には、基準クロック15のクロックツリー19から、下位階層のブロックAの内部で使用される基準クロックが入力され、データ入力端子には、5段目の基本同期回路36のラッチ42の出力信号が入力される。
第1同期FF38は、下位階層のブロックAの内部で使用される基準クロックの立ち上がりに同期して、5段目の基本同期回路36のラッチの出力信号を保持するものである。
また、5段目の基本同期回路36の第2同期FF40のクロック入力端子に入力される遅延基準クロックが、下位階層のブロックAの内部で使用される基準クロックとして、基準クロックのクロックツリー19の開始点(入力端子)に入力され、第1同期FF38の出力信号が、下位階層のブロックAの内部で使用される分周クロックとして、分周クロックのクロックツリー21の開始点に入力される。
第2および第3クロック同期回路24、26は、第1クロック同期回路22と同様の構成のものである。
半導体集積回路10では、トップ階層のブロックにおいて、クロック生成回路12のPLL回路14により、一定の周期の基準クロック15が生成され、分周回路16により、基準クロック15がn分周されて分周クロック17が生成される。
続いて、それぞれの下位階層のブロックA、B、Cに対応するバッファ44により、基準クロック15が順次遅延されて遅延基準クロックが生成され、基準クロックのクロックツリー19を介して、全ての第1末端FF18に供給される。
また、それぞれの下位階層のブロックA、B、Cに対応するクロック同期回路の初段の基本同期回路28の第2同期FF40により、基準クロック15の立ち上がりに同期して分周クロック17がデータ信号として保持され、続いて、ラッチ42により、第2同期FF40に入力される基準クロック15がハイレベルの期間、第2同期FF40の出力信号が保持されることにより、第2同期FF40の出力信号が、基準クロック15の半周期の時間遅延される。
同様に、2段目の基本同期回路30の第2同期FF40により、バッファ44により遅延された遅延基準クロックの立ち上がりから立ち下がりまでの半周期、初段の基本同期回路28のラッチ42の出力信号が保持され、続いて、ラッチ42により、遅延基準クロックがハイレベルの間、第2同期FF40の出力信号が、遅延基準クロックの半周期の時間遅延される。3段目〜5段目の基本同期回路32、34、36も同様に動作する。
そして、第1同期FF38により、基準クロックのクロックツリー19から入力される基準クロックの立ち上がりに同期して、5段目の基本同期回路36のラッチ42の出力信号がデータ信号として保持され、第1同期FF38の出力信号、つまり、タイミング調整された分周クロックが、第1同期FF38に保持された分周クロックのデータ信号をデータ入力とする分周クロックのクロックツリー21を介して、全ての第2末端FF20に供給される。
次に、図2のフローチャートを参照しながら、本発明のクロック同期方法に従って、基準クロックおよび分周クロックのレイアウト設計を行う場合の各工程を説明する。
半導体集積回路10のレイアウト設計を行う場合、まず、それぞれの下位階層のブロックA、B、Cにおいて、クロックツリーシンセシスの手法を用いて、基準クロックおよび分周クロックのクロックツリー19、21を生成する(ステップS1)。
これにより、それぞれの下位階層のブロックA、B、Cの内部で使用される基準クロックの開始点から、全ての第1末端FF18までの遅延時間が同じになるように、基準クロックのクロックツリー19が生成される。同様に、それぞれの下位階層のブロックA、B、Cの内部で使用される分周クロックの開始点から、全ての第2末端FF20までの遅延時間が同じになるように、分周クロックのクロックツリー21が生成される。
本実施形態の場合、図3に示すように、下位階層のブロックAでは、内部で使用される基準クロックおよび分周クロックの開始点から全ての第1末端FF18および全ての第2末端FF20までの遅延時間が2ns、1nsとする。同様に、下位階層のブロックBでは、内部で使用される基準クロックおよび分周クロックの開始点から全ての第1末端FF18および全ての第2末端FF20までの遅延時間が7ns、5nsであり、下位階層のブロックCでは、内部で使用される基準クロックおよび分周クロックの開始点から全ての第1末端FF18および第2末端FF20までの遅延時間が5ns、3nsとする。
続いて、トップ階層のブロックにおいて、それぞれの下位階層のブロックA、B、Cにおける基準クロックおよび分周クロックのクロックツリー19、21による遅延時間の結果を引き継いで、基準クロック15と分周クロック17との分岐点13から、基準クロックおよび分周クロックのクロックツリー19、21が生成された、それぞれの下位階層のブロックA、B、Cが備える第1末端FF18および第2末端FF20までの遅延時間が同じになるように、トップ階層のブロックの基準クロックおよび分周クロックのクロックツリーを生成する(ステップS2)。
ここで、基準クロック15と分周クロック17との分岐点13とは、基準クロックに同期して動作するFFに、基準クロックを入力するために、FFへ入力される基準クロックが、基準クロックの配線から分岐される点である。
図1の例では、基準クロックが、基準クロックの配線から、分周回路16のFFへ分岐する点はもちろん、それぞれの下位階層のブロックA、B、Cの第2同期FF40へ分岐する点、第1同期FF38へ分岐する点が分岐点である。
本実施形態の場合、図3に示すように、基準クロック15と分周クロック17との分岐点13から、下位階層のブロックAの内部で使用される基準クロックおよび分周クロックの開始点(入力端子)までの遅延時間は、10ns、11nsとする。同様に、基準クロック15と分周クロック17との分岐点13から、下位階層のブロックBの内部で使用される基準クロックおよび分周クロックの開始点までの遅延時間は、5ns、7nsであり、基準クロック15と分周クロック17との分岐点13から、下位階層のブロックCの内部で使用される基準クロックおよび分周クロックの開始点までの遅延時間は、7ns、9nsとする。
これにより、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cの第1末端FF18、第2末端FF20までの遅延時間は、全て12nsに揃えられ、下位階層のブロックA、B、Cが備える全ての第1末端FF18、第2末端FF20を同期させて動作させることができる。
続いて、それぞれの下位階層のブロックA、B、Cの分周クロックのクロックツリー21の開始点に、第1同期FF38を配置する(ステップS3)。
第1同期FF38のクロック入力端子には、それぞれの下位階層のブロックA、B、Cの基準クロックのクロックツリー19から基準クロックが入力され、データ入力端子には、分周クロック17が入力される。また、第1同期FF38のデータ出力端子は、基準クロックのクロックツリー19の開始点に接続される。
ここで、分周クロックのクロックツリー21の開始点に、第1同期FF38を配置するというのは、分周クロックのクロックツリー21の開始点の位置だけでなく、第1同期FF38と第2末端FF20との間のタイミング制約を満たすことができる位置を含む。
このように、第1同期FF38を、それぞれの下位階層のブロックA、B、Cの内部の分周クロックのクロックツリー21の開始点に配置することにより、分岐点が、基準クロック15と分周クロック17との分岐点13から、第1同期FF38における基準クロックと分周クロックとの分岐点39に移動され、分岐点から第2末端FF20までの配線距離を短くすることができるため、タイミングマージンを小さくし、タイミング設計を容易化することができる。
なお、これに限定されず、第1同期FF38を、トップ階層のブロックに配置してもよい。この場合も、第1同期FF38を、基準クロック15と分周クロック17との分岐点13よりも、それぞれの下位階層のブロックA、B、Cの分周クロックのクロックツリー21の開始点に近い位置、例えば、それぞれの下位階層のブロックA、B、Cの分周クロックのクロックツリーの開始点に配置することにより、タイミングマージンを小さくすることが可能である。
続いて、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cの第1同期FF38までの基準クロック15の遅延時間を求め、基準クロック15の遅延時間の最大値を取得する(ステップS4)。
基準クロックおよび分周クロックのクロックツリー19、21を生成することにより、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cの第1同期FF38までの物理的な配線の経路が確定し、その結果、基準クロック15および分周クロック17の物理的な配線距離が決まる。また、基準クロック15および分周クロック17の物理的な配線の単位長さ当たりの遅延時間やそれぞれのセルの遅延時間は既知であるから、これらに基づいて、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cの第1同期FF38までの基準クロック15の遅延時間を算出することができる。
本実施形態の場合、図3に示すように、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cの第1同期FF38までの基準クロック15の遅延時間は、11ns、7ns、9nsであるから、基準クロック15の遅延時間の最大値は、11nsとなる。
続いて、基準クロック15の半周期未満の時間となるように、それぞれの下位階層のブロックA、B、Cまでの分周クロック17の配線経路上に直列に配置される複数の第2同期FF40間の基準クロック15の遅延時間の最大値を決定する(ステップS5)。
本実施形態の場合、基準クロック15の周期は5ns、つまり、その半周期は2.5nsであり、それぞれの下位階層のブロックA、B、Cの分周クロック17の配線経路上に直列に配置される第2同期FF40間の基準クロック15の遅延時間の最大値を2nsとする。例えば、ワーストケースのシミュレーションにより、基準クロック15の半周期未満の時間となるように、第2同期FF40間の基準クロック15の遅延時間の最大値を決定することができる。
続いて、基準クロック15の遅延時間の最大値を、第2同期FF40間の基準クロック15の遅延時間の最大値で割ることにより得られる除算結果の値以上で、かつ、分周クロック17の分周数の倍数で、それぞれの下位階層のブロックA、B、Cの分周クロック17の配線経路を分割するように、それぞれの下位階層のブロックA、B、Cまでの分周クロック17の配線経路上に直列に配置される第2同期FF40の段数を決定する(ステップS6)。
本実施形態の場合、基準クロック15の遅延時間の最大値である11nsを、第2同期FF40間の基準クロック15の遅延時間の最大値である2nsで割ることにより、除算結果の値である11ns/2ns=5.5を得る。分周クロック17が基準クロック15を2分周して生成される場合、除算結果の値である5.5以上で、かつ、2の倍数である6で、それぞれの下位階層のブロックA、B、Cの分周クロック17の配線経路を6分割するように、それぞれの下位階層のブロックA、B、Cの第2同期FF40の段数を5段に決定する。
ここで、それぞれの下位階層のブロックA、B、Cの第2同期FF40の段数は、位相が揃うのであれば同じである必要はなく、分周クロック17が基準クロックをn分周して生成される場合、nの倍数の段数だけ異なっていてもよい。
また、タイミング設計がより容易になるように、除算結果の値以上となる分周クロック17の分周数nの倍数の最小値以上の値で、それぞれの下位階層のブロックA、B、Cの分周クロック17の配線経路を分割するように、それぞれの下位階層のブロックA、B、Cの第2同期FF40の段数を決定してもよい。
続いて、第2同期FF40間の基準クロック15の遅延時間の最大値以下の遅延時間となるように、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cまでのそれぞれの第2同期FF40および第1同期FF38までの遅延時間の目標値を決定する(ステップS7)。
例えば、第2同期FF40間の基準クロック15の遅延時間の最大値以下の遅延時間となるように、それぞれの下位階層のブロックA、B、Cの基準クロック15遅延時間を、決定された段数の第2同期FF40で分割することにより、遅延時間の目標値を決定する。
本実施形態の場合、図3に示すように、第2同期FF40間の基準クロック15の遅延時間の最大値である2nsの遅延時間となるように、下位階層のブロックAでは、基準クロック15と分周クロック17との分岐点13から、5段の第2同期FF40および第1同期FF38までの遅延時間を、それぞれ、2ns、4ns、6ns、8ns、10ns、11nsとする。同様に、下位階層のブロックBでは、基準クロック15と分周クロック17との分岐点13から、5段の第2同期FF40および第1同期FF38までの遅延時間を、それぞれ、1ns、2ns、3ns、4ns、5ns、7nsとする。下位階層のブロックBでは、基準クロック15と分周クロック17との分岐点13から、5段の第2同期FF40および第1同期FF38までの遅延時間を、それぞれ、1ns、2.5ns、4ns、5.5ns、7ns、9nsとする。
続いて、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cの、決定された段数の第2同期FF40のそれぞれおよび第1同期FF38までの遅延時間が、遅延時間の目標値となる分周クロック17の配線経路上の位置に、決定された段数の第2同期FF40のそれぞれを配置する(ステップS8)。
決定された段数の第2同期FF40は、それぞれの下位階層のブロックA、B、Cの分周クロック17の配線経路上に直列に配置される。また、初段の第2同期FF40のデータ入力端子には分周クロック17が接続され、最終段の第2同期FF40のデータ出力端子は、第1同期FF38のデータ入力端子に接続される。
前述のように、基準クロック15および分周クロック17の物理的な配線の単位長さ当たりの遅延時間やそれぞれのセルの遅延時間は既知であるから、これらに基づいて、基準クロック15と分周クロック17との分岐点13から、それぞれの下位階層のブロックA、B、Cのそれぞれの第2同期FF40および第1同期FF38までの遅延時間を算出することにより、算出されたそれぞれの遅延時間が、遅延時間の目標値となる分周クロック17の配線経路上の位置(基準クロック15と分周クロック17との分岐点13からの配線距離)を取得することができる。
また、本実施形態では、決定された5段の第2同期FF40のうち、初段〜4段目までの第2同期FF40が、トップ階層のブロックに配置され、最終段の第2同期FF40が、それぞれの下位階層のブロックA、B、Cの内部に配置されている。
このように、第1同期FF38が、それぞれの下位階層のブロックA、B、Cの内部に配置される場合、決定された段数の第2同期FF40のうちの少なくとも1つを、それぞれの下位階層のブロックA、B、Cの内部に配置してもよい。あるいは、第1同期FF38、および、決定された段数の第2同期FF40を、トップ階層のブロックに配置してもよい。
続いて、分周クロック17の配線経路上のそれぞれの第2同期FF40の後ろに、ラッチ42を配置する(ステップS9)。
ラッチ42のクロック入力端子には、同じ基本同期回路の第2同期FF40のクロック入力端子に接続されている基準クロックまたは遅延基準クロックの反転が接続され、データ入力端子には、同じ基本同期回路の第2同期FF40の出力信号が接続される。また、ラッチ42のデータ出力端子は、後段の基本同期回路の第2同期FF40のデータ入力端子に接続される。
最後に、それぞれの下位階層のブロックA、B、Cの初段の第2同期FF40のクロック入力端子に接続される基準クロックが、バッファ44により、それぞれの第2同期FF40までの遅延時間の目標値だけ順次遅延された遅延基準クロックを、それぞれの第2同期FF40のクロック入力端子に接続し、最終段の第2同期FF40に接続される遅延基準クロックを、基準クロックのクロックツリー19の開始点に接続する(ステップS10)。
以上の工程により、基準クロック15および分周クロック17のレイアウト設計が完了する。
図4は、基準クロックおよび分周クロックが、クロック生成回路から6個の下位階層のブロックに供給される場合の一例を表すブロック図である。トップ階層のブロック50が備えるクロック生成回路52から、それぞれの下位階層のブロック54、56、58、60、62、64まで延びる線66は、基準クロックおよび分周クロックのクロックツリーの物理的な配線経路、丸印68は、基本同期回路および第1同期FFの配置位置を表す。
この例では、クロック生成回路52における基準クロックと分周クロックとの分岐点から、全ての下位階層のブロック54、56、58、60、62、64の第1同期FFまでの基本同期回路および第1同期FFの段数が同じ8段になるようにしている。また、それぞれの基本同期回路の第2同期FFを、第2同期FF間の基準クロックの遅延時間の最大値を満足する一定距離以内に配置することによって、複雑な遅延時間の調整を行うことなく、自然とセットアップ/ホールド制約が満たされるようになっている。
本実施形態の半導体集積回路10においても、データのつき抜けを起こさないために、図5(A)に示すように、後段のFFBのクロックCLKの立ち上がりより後にFFBのデータDが変化しなければならない点は、従来回路の場合と同じである。
しかし、本実施形態の場合、同図(B)に示すように、FFAの後ろにラッチAを追加することにより、クロックCLKがローレベルの期間に通過させたデータDを、クロックCLKがハイレベルの間、ラッチAが保持し、データQとして出力する。これにより、データQの変化の開始タイミングが確実にクロックCLKの半周期の時間遅延されるため、バッファにより遅延時間を確保する必要がなくなる。
つまり、このラッチによりデータQが保持されている期間内であれば、後段のFFBのクロックCLKが、前段のFFAのクロックCLKよりも遅くなっても問題はない。また、データQの流れが一方向であるため、クロックCLKの1周期未満であれば、後段のFFBのクロックCLKが前段のFFAのクロックCLKよりも早くても問題はない。このように、ラッチを追加することにより、クロックCLKの到達時間に余裕を持たせることができるため、タイミング設計が容易化される。
例えば、クロックの周期が5nsの場合、FFAの後ろにラッチAを配置したことにより、クロックCLKがハイレベルとなってから、クロックCLKの半周期の2.5nsの間、ラッチAがデータDを保持してデータQを出力する。このため、FFAから後段のFFBのクロックCLKの遅延時間が2.5ns未満であれば、ホールド違反を起こさない。これを利用すると、この例では、FFAとFFBとの間のクロックCLKの遅延時間の最大値を、例えば、2nsまで大きくしても、問題なくタイミング制約を満たすことができる。
また、データ経路のセル遅延は、ラッチAの1段分の小さな遅延となり、それが動作環境によって変動するとしても、変動幅は複数段のバッファと比べて非常に小さい。このため、従来回路と比べて、格段にタイミング設計が容易化され、従来回路のように、タイミング調整の手間が不要になる。
また、半導体集積回路10において、分周クロック17の配線経路では、隣接する第1同期FF38および第2同期FF40間のセットアップ/ホールド制約さえ満たせばよく、ラッチ42を追加することにより容易にこのタイミング制約を満たせる。そのため、クロック同期回路の初段の第2同期FF40と第1同期FF38のクロックの遅延差が、基準クロック15の周期を超える場合でも、複数の下位階層のブロックA、B、Cの第1末端FF18、第2末端FF20のクロック遅延がばらばらな場合でも、問題なく、設計することができる。
なお、第1同期FF38および第2同期FF40を、基準クロック15の立ち下がりに同期して動作させてもよい。この場合、ラッチ42のクロック入力端子には、基準クロック15または遅延基準クロックが入力される。つまり、第1同期FF38および第2同期FF40が、基準クロック15の立ち上がりに同期して動作するか、立ち下がりに同期して動作するに係わらず、ラッチ42を、前段の第2同期FF40の出力をクロック半周期分保持するように動作させればよい。
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
10 半導体集積回路
12、52 クロック生成回路
13、37、39 分岐点
14 PLL回路
15 基準クロック
16 分周回路
17 分周クロック
18 第1末端FF
19、21 クロックツリー
20 第2末端FF
22 第1クロック同期回路
24 第2クロック同期回路
26 第3クロック同期回路
28、30、32、34、36 基本同期回路
38 第2同期FF
40 第1同期FF
41 同期FF
42 ラッチ
44、45、47、49 バッファ
50 トップ階層のブロック
66 線
68 丸印
A、B、C、54、56、58、60、62、64 下位階層のブロック

Claims (10)

  1. トップ階層のブロックが備えるクロック生成回路から、複数の下位階層のブロックのそれぞれが備える基準クロックのクロックツリーおよび前記基準クロックが分周された分周クロックのクロックツリーを介して、前記基準クロックに同期して動作する第1末端FFおよび前記分周クロックに同期して動作する第2末端FFに供給される前記基準クロックおよび前記分周クロックの位相を同期させるクロック同期方法であって、
    それぞれの前記下位階層のブロックの分周クロックのクロックツリーの開始点に、それぞれの前記下位階層のブロックが備える基準クロックのクロックツリーから入力される基準クロックに同期して前記分周クロックをデータ信号として保持し、前記保持された分周クロックのデータ信号をデータ入力とする、それぞれの前記下位階層のブロックが備える基準クロックのクロックツリーの開始点に接続する第1同期FFを配置するステップと、
    前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックの第1同期FFまでの基準クロックの遅延時間を求め、前記基準クロックの遅延時間の最大値を取得するステップと、
    前記基準クロックの半周期未満の時間となるように、それぞれの前記下位階層のブロックの分周クロックの配線経路上に直列に配置される複数の第2同期FF間の基準クロックの遅延時間の最大値を決定するステップと、
    前記基準クロックの遅延時間の最大値を、前記第2同期FF間の基準クロックの遅延時間の最大値で割ることにより得られる除算結果の値以上で、かつ、前記分周クロックの分周数の倍数で、それぞれの前記下位階層のブロックの分周クロックの配線経路を分割するように、それぞれの前記下位階層のブロックの分周クロックの配線経路上に直列に配置され、前記基準クロックに同期して前記分周クロックをデータ信号として順次保持する第2同期FFの段数を決定するステップと、
    前記第2同期FF間の基準クロックの遅延時間の最大値以下の遅延時間となるように、前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックのそれぞれの第2同期FFおよび第1同期FFまでの遅延時間の目標値を決定するステップと、
    前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックの、前記決定された段数の第2同期FFのそれぞれおよび第1同期FFまでの遅延時間が、前記遅延時間の目標値となる分周クロックの配線経路上の位置に、前記決定された段数の第2同期FFのそれぞれを配置するステップと、
    前記分周クロックの配線経路上のそれぞれの第2同期FFの後ろに、前段の前記第2同期FFのクロック入力端子に接続される基準クロックのローレベル期間に、前記前段の第2同期FFの出力信号を通過させるラッチを配置するステップと、
    それぞれの前記下位階層のブロックの初段の第2同期FFのクロック入力端子に接続される基準クロックが、それぞれの前記第2同期FFまでの遅延時間の目標値だけ遅延された遅延基準クロックを、それぞれの前記第2同期FFのクロック入力端子に接続し、最終段の前記第2同期FFに接続される遅延基準クロックを、前記基準クロックのクロックツリーの開始点に接続するステップとを含むことを特徴とするクロック同期方法。
  2. 前記第1同期FFを、それぞれの前記下位階層のブロックの内部に配置する請求項1に記載のクロック同期方法。
  3. それぞれの前記下位階層のブロックの分周クロックの配線経路上に直列に配置される複数の第2同期FFのうちの少なくとも1を、それぞれの前記下位階層のブロックの内部に配置する請求項2に記載のクロック同期方法。
  4. 前記第1同期FF、および、それぞれの前記下位階層のブロックの分周クロックの配線経路上に直列に配置される複数の第2同期FFを、前記トップ階層のブロックに配置する請求項1に記載のクロック同期方法。
  5. 前記基準クロックの物理的な配線距離、前記基準クロックの物理的な配線の単位長さ当たりの遅延時間、および、それぞれのセルの遅延時間に基づいて、前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックの第1同期FFまでの基準クロックの遅延時間を算出する請求項1〜4のいずれか1項に記載のクロック同期方法。
  6. ワーストケースのシミュレーションにより、前記基準クロックの半周期未満の時間となるように、前記第2同期FF間の基準クロックの遅延時間の最大値を決定する請求項1〜5のいずれか1項に記載のクロック同期方法。
  7. それぞれの前記下位階層のブロックの第2同期FFの段数は、前記分周クロックが前記基準クロックをn分周(nは2以上の整数)の場合、等しいか、または、nの倍数の段数だけ異なる請求項1〜6のいずれか1項に記載のクロック同期方法。
  8. 前記除算結果の値以上となる前記分周クロックの分周数の倍数の最小値以上の値で、それぞれの前記下位階層のブロックの分周クロックの配線経路を分割するように、それぞれの前記下位階層のブロックの第2同期FFの段数を決定する請求項1〜7のいずれか1項に記載のクロック同期方法。
  9. 前記第2同期FF間の基準クロックの遅延時間の最大値以下の遅延時間となるように、それぞれの前記下位階層のブロックの基準クロックの遅延時間を、前記決定された段数の第2同期FFで分割することにより、前記遅延時間の目標値を決定する請求項1〜8のいずれか1項に記載のクロック同期方法。
  10. 前記基準クロックの物理的な配線の単位長さ当たりの遅延時間、および、それぞれのセルの遅延時間に基づいて、前記基準クロックと前記分周クロックとの分岐点から、それぞれの前記下位階層のブロックのそれぞれの第2同期FFおよび第1同期FFまでの遅延時間を算出することにより、前記算出されたそれぞれの遅延時間が、前記遅延時間の目標値となる前記分周クロックの配線経路上の位置を取得する請求項1〜9のいずれか1項に記載のクロック同期方法。
JP2015027776A 2015-02-16 2015-02-16 クロック同期方法 Active JP6450953B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015027776A JP6450953B2 (ja) 2015-02-16 2015-02-16 クロック同期方法
US15/044,163 US9898035B2 (en) 2015-02-16 2016-02-16 Clock synchronization method
CN201610086604.1A CN105897261B (zh) 2015-02-16 2016-02-16 时钟同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015027776A JP6450953B2 (ja) 2015-02-16 2015-02-16 クロック同期方法

Publications (2)

Publication Number Publication Date
JP2016152448A JP2016152448A (ja) 2016-08-22
JP6450953B2 true JP6450953B2 (ja) 2019-01-16

Family

ID=56622062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015027776A Active JP6450953B2 (ja) 2015-02-16 2015-02-16 クロック同期方法

Country Status (3)

Country Link
US (1) US9898035B2 (ja)
JP (1) JP6450953B2 (ja)
CN (1) CN105897261B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108573077B (zh) * 2017-03-09 2022-01-25 深圳市中兴微电子技术有限公司 一种调节信号偏差的方法和装置
TWI660587B (zh) * 2018-07-30 2019-05-21 瑞昱半導體股份有限公司 具有分時及分頻啟動機制的時脈產生系統及方法
US10868545B2 (en) * 2018-10-29 2020-12-15 Taiwan Semiconductor Manufacturing Company, Ltd. Low power clock network
US10740530B1 (en) * 2018-12-20 2020-08-11 Cadence Design Systems, Inc. Clock tree wirelength reduction based on a target offset in connected routes
JP7418159B2 (ja) 2019-04-19 2024-01-19 キヤノン株式会社 情報処理装置
US11989050B2 (en) * 2021-12-29 2024-05-21 Advanced Micro Devices, Inc. Multi-chiplet clock delay compensation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0951255A (ja) * 1995-05-29 1997-02-18 Nec Corp 遅延クロック生成回路
JPH11234254A (ja) * 1998-02-16 1999-08-27 Matsushita Electric Ind Co Ltd 分周クロック信号の供給回路
JP3440922B2 (ja) 2000-05-10 2003-08-25 日本電気株式会社 集積回路
JP3663486B2 (ja) * 2000-09-04 2005-06-22 株式会社日立製作所 半導体集積回路
JP3620440B2 (ja) * 2000-11-20 2005-02-16 日本電気株式会社 半導体集積回路とそのクロック分配方法
KR20040081803A (ko) * 2002-02-21 2004-09-22 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 집적 회로
JP2005038159A (ja) * 2003-07-14 2005-02-10 Matsushita Electric Ind Co Ltd 半導体装置及びクロックスキュー調整方法
JP2007189293A (ja) * 2006-01-11 2007-07-26 Matsushita Electric Ind Co Ltd クロック発生回路
JP4249769B2 (ja) * 2006-08-31 2009-04-08 エルピーダメモリ株式会社 Dll回路及びこれを備える半導体装置
US8035451B2 (en) * 2009-12-11 2011-10-11 Stmicroelectronics Pvt. Ltd. On-the-fly frequency switching while maintaining phase and frequency lock
JP6242228B2 (ja) * 2014-02-05 2017-12-06 株式会社メガチップス クロック生成方法およびクロック生成回路

Also Published As

Publication number Publication date
US9898035B2 (en) 2018-02-20
CN105897261B (zh) 2020-11-27
CN105897261A (zh) 2016-08-24
US20160239042A1 (en) 2016-08-18
JP2016152448A (ja) 2016-08-22

Similar Documents

Publication Publication Date Title
JP6450953B2 (ja) クロック同期方法
JP5347955B2 (ja) 多相クロック間の相間スキュー検出回路、相間スキュー調整回路、および半導体集積回路
JP6242228B2 (ja) クロック生成方法およびクロック生成回路
US8595683B1 (en) Generating user clocks for a prototyping environment
TWI642277B (zh) 分頻時鐘校準
JP2010200090A (ja) 位相補償用クロック同期回路
JP2008140821A (ja) 半導体装置および半導体装置の設計方法
US7831856B1 (en) Detection of timing errors in programmable logic devices
JP2002245109A (ja) 半導体集積回路の設計方法及び設計システム
JP2003216269A (ja) 半導体装置
Ganusov et al. Time-borrowing platform in the Xilinx Ultrascale+ family of FPGAs and MPSoCs
US11411553B1 (en) System of free running oscillators for digital system clocking immune to process, voltage and temperature (PVT) variations
JP6201401B2 (ja) タイミング制御回路
US7302657B2 (en) Optimization of the design of a synchronous digital circuit
Ke et al. Die-to-die clock synchronization for 3-D IC using dual locking mechanism
US9411361B2 (en) Frequency division clock alignment using pattern selection
JP2008172574A (ja) クロック位相シフト回路
JP3869406B2 (ja) クロック位相差検出回路、クロック分配回路、及び大規模集積回路
JP2009165064A (ja) 分周回路及び分周方法
JP2005038159A (ja) 半導体装置及びクロックスキュー調整方法
JP2007122517A (ja) クロックツリー合成装置、クロックツリー合成方法、制御プログラムおよび可読記録媒体
EP1308862B1 (en) Optimization of the design of a synchronous digital circuit
US8957704B1 (en) High speed phase selector with a glitchless output used in phase locked loop applications
Sindhu et al. Highly reconfigurable pulsewidth control circuit with programmable duty cycle
JP2004199705A (ja) 集積回路のためのクロック生成装置および生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181116

R150 Certificate of patent or registration of utility model

Ref document number: 6450953

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250