説明

クロックタイミング調整方法及び半導体集積回路

【課題】半導体集積回路に設けられた複数のクロックドメイン間でタイミング調整を容易に行うこと。
【解決手段】位相の異なる複数のクロックを供給可能なクロック生成部と、クロック生成部からクロックが供給され、供給されたクロックを対応するフリップフロップ群に供給する複数のクロックドメイン、及びフリップフロップ群を有する論理回路部とを備えた半導体集積回路における、複数のクロックドメイン間のクロックタイミングの差異を調整するクロックタイミング調整方法である。クロックタイミング調整方法では、複数のクロックドメインの各レイテンシを抽出し、抽出した各レイテンシに基づいて、クロック生成部で生成される複数のクロックの内、各クロックドメインに供給するクロックの位相を決定し、決定されたクロックでは調整できない、複数のクロックドメインのレイテンシ差を調整するためのクロックバッファの数を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路に設けられた複数のクロックドメイン間でクロックタイミングを調整するクロックタイミング調整方法及び半導体集積回路及びに関する。
【背景技術】
【0002】
図10は、従来の半導体集積回路を示す図である。図10に示す半導体集積回路は、クロック生成部101及び論理回路部106を有する。図11は、クロック生成部101を示すブロック図である。クロック生成部101は、位相/周波数検出器(PFD)108、チャージポンプ109、ローパスフィルタ(LPF)110、電圧制御発振器(VCO)112及び分周回路(1/N)113を有する。
【0003】
図10に示すように、論理回路部106は、クロック分配回路(クロックドメイン)102,103及びフリップフロップ群104,105を有する。論理回路部106では、フリップフロップ群104とフリップフロップ群105の間でデータの受け渡しがあるため、クロックドメイン102,103ではクロック同期設計が行われる(特許文献1参照)。
【0004】
但し、クロックドメイン102,103のレイアウト位置や回路構造は同一とはならないため、クロック生成部101から見た最終段のフリップフロップまでの遅延値(以下「レイテンシ」という。)は、クロックドメイン間で(図10に示した例ではクロックドメイン102,103間で)差が生じる。このため、レイテンシの小さい方のクロックドメイン(図10ではクロックドメイン102)に遅延調整用のクロックバッファ107を設けて、クロックドメイン間のレイテンシの差分がなくなるようにしている。
【0005】
【特許文献1】特開平9−269847号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、図10に示した半導体集積回路では、遅延調整のためだけにクロックバッファ107を多数配置する必要があった。また、クロックバッファ107の配置形態によっては、クロックドメインのタイミング設計の理想系である等段設計から大きくかけ離れてしまう。この場合、クロックドメインの消費電流を増加させるだけでなく、温度変動や電源電圧変動、Vtばらつき変動等の要因によりレイテンシの変動幅が拡がり、クロックドメイン間のレイテンシのばらつきが大きくなる。この結果、タイミング保証が困難となる。
【0007】
本発明の目的は、半導体集積回路に設けられた複数のクロックドメイン間でタイミング調整を容易に行うことができるクロックタイミング調整方法及び半導体集積回路を提供することである。
【課題を解決するための手段】
【0008】
本発明は、位相の異なる複数のクロックを供給可能なクロック生成部と、前記クロック生成部からクロックが供給され、前記供給されたクロックを対応するフリップフロップ群に供給する複数のクロックドメイン、及び前記フリップフロップ群を有する論理回路部と、を備えた半導体集積回路における、前記複数のクロックドメイン間のクロックタイミングの差異を調整するクロックタイミング調整方法であって、前記複数のクロックドメインの各レイテンシを抽出するレイテンシ抽出ステップと、前記抽出した各レイテンシに基づいて、前記クロック生成部で生成される前記複数のクロックの内、各クロックドメインに供給するクロックの位相を決定する粗調整ステップと、前記粗調整ステップで決定されたクロックでは調整できない、前記複数のクロックドメインのレイテンシ差を調整するためのクロックバッファの数を決定する微調整ステップと、を有するクロックタイミング調整方法を提供する。
【0009】
上記クロックタイミング調整方法は、前記粗調整ステップで決定された位相のクロックが前記複数のクロックドメインに供給された際のエラー状況に応じて、前記粗調整ステップで決定された位相のクロックの動作タイミングをクロックドメイン毎にずらすクロックタイミング変更ステップを有する。
【0010】
本発明は、位相の異なる複数のクロックを供給可能なクロック生成部と、前記クロック生成部からクロックが供給され、前記供給されたクロックを対応するフリップフロップ群に供給する複数のクロックドメイン、及び前記フリップフロップ群を有する論理回路部と、を備えた半導体集積回路であって、前記クロック生成部が各クロックドメインに供給するクロックの位相は、クロックドメインのレイテンシに基づいて決定され、前記複数のクロックドメインの少なくともいずれか1つは、前記決定された位相のクロックでは調整できない前記複数のクロックドメインのレイテンシ差を調整するためのクロックバッファを有する半導体集積回路を提供する。
【0011】
上記半導体集積回路では、前記決定された位相のクロックの動作タイミングは、前記決定された位相のクロックが前記複数のクロックドメインに供給された際のエラー状況に応じて、クロックドメイン毎にずらされる。
【0012】
上記半導体集積回路では、前記論理回路部は、各クロックドメインの前段に分周回路を有する。
【0013】
上記半導体集積回路では、前記クロック生成部は、位相の異なる前記複数のクロックの内、1つを選択して出力するセレクタを有する。
【0014】
上記半導体集積回路では、前記クロック生成部は、位相の異なる前記複数のクロックの内、1つを選択して前記クロック生成部の内部にフィードバックするセレクタを有する。
【発明の効果】
【0015】
本発明に係るクロックタイミング調整方法及び半導体集積回路によれば、半導体集積回路に設けられた複数のクロックドメイン間でタイミング調整を容易に行うことができる。この結果、タイミング調整に使用されるクロックバッファの数を減らすことができる。従って、低消費電流や小面積の設計が容易になる。また、温度変動、電源電圧変動、Vtばらつき変動等の要因による遅延値ばらつきを抑えることができ、タイミング設計が容易になる。
【発明を実施するための最良の形態】
【0016】
本発明に係る半導体集積回路及びクロックタイミング調整方法の実施の形態について、図面を参照しながら説明する。
【0017】
[第1の実施形態]
図1は、第1の実施形態の半導体集積回路を示す図である。図1に示すように、第1の実施形態の半導体集積回路は、同一基板上に配置された、マルチ位相クロック生成部14及び論理回路部19を有する。論理回路部19には、複数のクロックドメイン15,18がツリー構造で配置されており、各クロックドメイン15,18は、それぞれ内部のフリップフロップ群16,17にクロックを分配する。なお、第1の実施形態では、クロックドメイン(クロック分配回路)の数は2つであるが、任意の数で良い。
【0018】
フリップフロップ群16,17には、それぞれ多数のフリップフロップ16a,17aが設けられている。また、クロックドメイン15には、複数のクロックバッファ31及び微調整用クロックバッファ32が設けられている。クロックドメイン18には、複数のクロックバッファ33が設けられている。
【0019】
図2は、マルチ位相クロック生成部14を示すブロック図である。マルチ位相クロック生成部14は、マルチ位相PLLであり、位相/周波数検出器(PFD)20、チャージポンプ21、ローパスフィルタ(LPF)22、マルチ位相電圧制御発振器(マルチ位相VCO)24及び分周回路(1/N)25を有する。
【0020】
マルチ位相VCO24は、インバータをリング状に接続したリングオシレータから構成されたVCO、又は複数のリングオシレータが密結合したVCOである。マルチ位相VCO24から出力されるマルチ位相クロックφ0〜φ4は、インバータリングから引き出され、クロックの出力周期Tを5等分した状態で論理回路部23に出力される。
【0021】
図3は、マルチ位相クロックφ0〜φ4の変化を示すタイミングチャートである。インバータリングからなるリングオシレータは、インバータが互いに位相結合しながら発振する。このため、インバータリングから引き出されたマルチ位相クロック(φ0〜φ4)の位相間のばらつきは、温度変動、電圧変動及びVt変動の影響を受けにくい。この結果、高精度な位相解像度(位相DNL)が保証される。
【0022】
マルチ位相VCO24から出力されるマルチ位相クロックの最小位相幅ΔTdは、クロックの周期をT、VCO内部のインバータ総数(マルチ位相出力総数)をN(Nは自然数)とすると、以下の式(1)で表される。
【0023】
ΔTd=T/N … (1)
【0024】
ロジック部19には、前述したように、クロックドメイン15及びクロックドメイン18の2つのクロックドメインが設けられている。クロックドメイン15内のフリップフロップ群16とクロックドメイン18内のフリップフロップ群17との間でデータの受け渡しを行うために、クロックドメイン15,18を同期化させる必要がある。しかし、クロックドメイン15,18のレイアウト位置や回路構造は同一とはならないため、クロック生成部14から見た最終段のフリップフロップまでの遅延値(レイテンシ)において、クロックドメイン15及びクロックドメイン18間でレイテンシ差Tdが生じる。
【0025】
従来では、前述したように、レイテンシの小さい方のクロックドメインにレイテンシ差Td分のクロックバッファを設けて同期化を行っていた。これに対し、本実施形態では、図4に示す手順でレイテンシ調整が行われる。
【0026】
図4は、第1の実施形態におけるマルチ位相クロックの分配を決定する設計処理手順(レイテンシ調整方法)を示すフローチャートである。レイテンシ調整を行う際、まず、フロアプラン工程(ステップS1)で、クロックドメインに分割し、マルチ位相の本数を仮決定する。この後、クロックツリー最適化工程(ステップS2)で、レイテンシを抽出した後、粗調整工程(ステップS3)で、レイテンシ抽出結果に基づいて粗調整値Td1を決定する。粗調整工程(ステップS3)では、粗調整値Td1は、クロックソースをマルチ位相クロックの基準位相φ0よりM相ずらした値に決定される。さらに、微調整工程(ステップS4)で、微調整値Td2の仮決定を行う。なお、粗調整値Td1及び微調整値Td2は、以下の式(2)、(3)により求められる。
【0027】
Td/ΔTd = M+剰余Td2 (Mは自然数) … (2)
Td1 = M×(T/N) = M×ΔTd … (3)
【0028】
最終的には、クロックバッファや配線遅延を用い、信号到達が遅すぎる制約違反であるセットアップエラー、及び信号到達が速すぎる制約違反であるホールドエラーが収束するまで、仮決定した微調整値Td2を調整し、タイミングの同期化を行う。即ち、静的タイミング解析を行い、その結果を判別する(ステップS5)。静的タイミング解析の結果がOKである場合、本処理を終了し、NGである場合、ステップS4に戻り、微調整値Td2を変更する。
【0029】
次に、レイテンシ調整の具体例を、単純な数値を用いて説明する。クロック周期T=10ns、マルチ位相数N=5(マルチ位相クロックφ0〜φ4)、レイテンシ差Td=5.5ns、1つのクロックバッファによる平均調整分解能50psとする。
【0030】
最小位相幅ΔTd、自然数M、粗調整値Td1及び微調整値Td2は、式(1)、(2)、(3)によると、以下のとおりである。
ΔTd=2ns
M=2
Td1=4ns
Td2=1.5ns
【0031】
従来のレイテンシ調整方法によれば、110個の遅延調整用のクロックバッファを設ける必要がある。これに対し、本実施形態のレイテンシ調整方法では、マルチ位相クロックの出力位置をクロックφ0から2相(M=2)ずらしたクロックφ2に変更することで、30個のクロックバッファを設ければ良い。
【0032】
クロックバッファは温度、電源電圧、Vtばらつきの影響を受け易いため、クロックバッファの数に比例して保証すべきレイテンシのばらつき値が増加する。クロックバッファ1個分の遅延ばらつきをΔtとすると、従来のレイテンシ調整方法に従い110個のクロックバッファが設けられた場合、110×Δtのばらつき値を考慮してタイミング設計しなければならない。これに対し、本実施形態のレイテンシ調整方法に従いマルチ位相クロックを用いてタイミング設計を行った場合、インバータリングにより互いの位相クロックの出力が密結合しているため、クロックφ0及びクロックφ2の間の相対精度はクロックバッファのばらつきより無視できるほど小さい。本実施形態のレイテンシ調整方法に従い設けられたクロックバッファ数は30個と少ないため、従来と比較して、遅延ばらつきは1/3以下に抑えられ、タイミング設計が容易となる。
【0033】
以上説明したように、第1の実施形態の半導体集積回路及びレイテンシ調整方法によれば、タイミング調整に使用されるクロックバッファの数を減らすことができる。その結果、低消費電流や小面積の設計が容易になる。また、温度変動、電源電圧変動、Vtばらつき変動等の要因による遅延値ばらつきを抑えることができ、タイミング設計が容易になる。
【0034】
[第2の実施形態]
図5は、第2の実施形態におけるマルチ位相クロックの分配を決定する設計処理手順(レイテンシ調整方法)を示すフローチャートである。第1の実施形態と同一の工程については同一の符号を付し、その説明を省略する。
【0035】
第2の実施形態では、マルチ位相クロックの出力を用いてレイテンシがゼロとなるよう調整されたクロックドメイン間のタイミングにおいて、セットアップエラーやホールドエラーのワースト値に余裕度がある場合、この余裕度がゼロとならない範囲で、各クロックドメインのマルチ位相クロック生成部14からの引き出し出力位置を変更し、レイテンシをずらす。
【0036】
即ち、微調整値Td2が調整され、ステップS5で静的タイミング解析の結果がOKである場合、セットアップエラーやホールドエラーのワースト値に余裕度がゼロにならない範囲で、マルチ位相クロックの動作タイミングを変更し(ステップS6)、静的タイミング解析を行ってその結果を判別する(ステップS7)。ステップS7における判別結果がOKである場合は本処理を終了し、NGである場合ステップS6に戻り、マルチ位相クロックの出力位置を変更する。
【0037】
第2の実施形態の半導体集積回路では、クロック動作タイミングをクロックドメイン毎にずらすことが可能になり、動作時のピーク電力を低減することができる。また、マルチ位相クロックの出力ソースのみが切り替えられるため、レイアウト上の遅延値の変動はなく、再レイアウトの必要がない。また、ピーク電力の削減は、接続先の電源ICに対する負荷を低減し、かつLSI内部のIRドロップ(配線の抵抗成分による電位降下)も低減されるため、設計マージンを削減することができる。
【0038】
さらに、このような処理は、アナログ−ロジック間、メモリ−ロジック間、アナログ−アナログ間等のマクロ間のタイミング調整に適用することも可能である。電源電圧ドロップのピーク値を下げることは、PSRR(Power Supply Rejection Ratio)やビットエラーレートの削減といった特性の改善にも寄与することができる。
【0039】
[第3の実施形態]
図6は、第3の実施形態の半導体集積回路を示す図である。第1の実施形態と同一の構成要素については同一の符号を付すことにより、その説明を省略する。第3の実施形態の半導体集積回路は、同一基板上に配置された、マルチ位相クロック生成部14及び論理回路部45を有する。論理回路部45には、複数のクロックドメイン44,46がツリー構造で配置されており、各クロックドメイン44,46は、それぞれ内部のフリップフロップ群48,49にクロックを分配する。また、論理回路部45は、分周回路43,47を有する。
【0040】
分周回路43は、マルチ位相クロック生成部14とクロックドメイン44との間にあり、クロックドメイン44に供給されるクロックの周波数を1/Aに分周する。分周回路47は、マルチ位相クロック生成部14とクロックドメイン46との間にあり、クロックドメイン46に供給されるクロックの周波数をB/Aに分周する。
【0041】
クロックドメイン46に分配されるクロックの周波数は、クロックドメイン44に分配されるクロックの周波数の整数倍(B倍)である。マルチ位相クロック生成部14から出力される同一周波数で位相の異なるクロックは、分周回路43,47を経てそれぞれクロックドメイン44,46に供給される。
【0042】
以上説明したように、第3の実施形態の半導体集積回路では、整数倍のクロック関係を有する異種クロックドメイン間で、データ受け渡し動作時のクロックタイミングを調整する際、最小限のクロックバッファを設置すれば良いため、タイミング設計が容易になる。
【0043】
[第4の実施形態]
図7は、第4の実施形態の半導体集積回路を示す図である。第4の実施形態の半導体集積回路では、マルチ位相クロック生成部、クロックドメイン及びフリップフロップ群を1つの要素とし、複数の要素がツリー構造を有する。具体的に、図7に示す第4の実施形態の半導体集積回路は、マルチ位相クロック生成部58及び複数の要素52,53,54を有する。各要素52,53,54には、それぞれマルチ位相クロック生成部、クロックドメイン、及びフリップフロップ群が設けられている。
【0044】
また、マルチ位相クロック生成部52a,53aには、マルチ位相クロック生成部58から出力された、基準クロックFrefと同じ周波数であって位相の異なるクロックが入力される。また、マルチ位相クロック生成部54aには、基準クロックFrefがそのまま入力される。
【0045】
第4の実施形態の半導体集積回路によれば、マルチ位相クロックの出力を階層化することで、機能や面積の制約により分割された複数のクロックドメイン間の同期化を容易に行うことができる。
【0046】
[第5の実施形態]
図8は、第5の実施形態におけるマルチ位相クロック生成部を示すブロック図である。第1の実施形態と同一の構成要素については同一の符号を付し、その説明を省略する。
【0047】
図8に示すマルチ位相クロック生成部では、マルチ位相VCO24と論理回路部19との間にセレクタ61が設けられている。セレクタ61は、マルチ位相VCO24から入力される位相の異なるクロックφ0、φ1、φ2を選択して論理回路部19に出力する。
【0048】
第5の実施形態の半導体集積回路では、セレクタ61によって選択されるクロックとして、セットアップエラーやホールドエラーの余裕度がゼロとならない範囲で複数設定しておくことにより、クロックの選択が容易となり、タイミング調整やピーク電力レベルの拡散完了後に微調整することが可能となる。
【0049】
[第6の実施形態]
図9は、第6の実施形態におけるマルチ位相クロック生成部を示すブロック図である。第1の実施形態と同一の構成要素については同一の符号を付し、その説明を省略する。
【0050】
図9に示すマルチ位相クロック生成部では、マルチ位相VCO24と分周回路(1/N)25との間にセレクタ63が設けられている。セレクタ63は、マルチ位相VCO24から入力される位相の異なるクロックφ0〜φ4を選択して分周回路(1/N)25に出力する。
【0051】
第6の実施形態の半導体集積回路では、マルチ位相VCO24から出力される位相の異なるクロックをセレクタ63で選択し、位相/周波数検出器(PFD)20にフィードバックすることで、内部のレイアウト設計を変更せず、外部ICから入力される基準クロックFrefと内部クロックFvcoのタイミングを相対的に微調整することができる。
【0052】
本発明は、上記第1〜第6の実施形態に限られない。例えば、第2の実施形態では、整数倍のクロック関係を有する異種クロックドメイン間のクロック周波数を揃えるために分周回路が設けられているが、分周回路の代わりに逓倍回路を設けてクロック周波数を揃えてもよい。
【産業上の利用可能性】
【0053】
本発明に係るタイミング調整方法及び半導体集積回路は、複数のクロックドメイン間でタイミング調整を行う半導体集積回路等として有用である。
【図面の簡単な説明】
【0054】
【図1】第1の実施形態の半導体集積回路を示す図
【図2】マルチ位相クロック生成部を示すブロック図
【図3】マルチ位相クロックφ0〜φ4の変化を示すタイミングチャート
【図4】第1の実施形態におけるマルチ位相クロックの分配を決定する設計処理手順を示すフローチャート
【図5】第2の実施形態におけるマルチ位相クロックの分配を決定する設計処理手順を示すフローチャート
【図6】第3の実施形態の半導体集積回路を示す図
【図7】第4の実施形態の半導体集積回路の示す図
【図8】第5の実施形態におけるマルチ位相クロック生成部を示すブロック図
【図9】第6の実施形態におけるマルチ位相クロック生成部を示すブロック図
【図10】従来の半導体集積回路を示す図
【図11】クロック生成部を示すブロック図
【符号の説明】
【0055】
14,52a,53a,54a,58 マルチ位相クロック生成部
15,18 クロックドメイン
16,17 フリップフロップ群
19 ロジック部
31 クロックバッファ
32 遅延用クロックバッファ
43,47 分周回路
61、63 セレクタ

【特許請求の範囲】
【請求項1】
位相の異なる複数のクロックを供給可能なクロック生成部と、前記クロック生成部からクロックが供給され、前記供給されたクロックを対応するフリップフロップ群に供給する複数のクロックドメイン、及び前記フリップフロップ群を有する論理回路部と、を備えた半導体集積回路における、前記複数のクロックドメイン間のクロックタイミングの差異を調整するクロックタイミング調整方法であって、
前記複数のクロックドメインの各レイテンシを抽出するレイテンシ抽出ステップと、
前記抽出した各レイテンシに基づいて、前記クロック生成部で生成される前記複数のクロックの内、各クロックドメインに供給するクロックの位相を決定する粗調整ステップと、
前記粗調整ステップで決定されたクロックでは調整できない、前記複数のクロックドメインのレイテンシ差を調整するためのクロックバッファの数を決定する微調整ステップと、
を有することを特徴とするクロックタイミング調整方法。
【請求項2】
請求項1記載のクロックタイミング調整方法であって、
前記粗調整ステップで決定された位相のクロックが前記複数のクロックドメインに供給された際のエラー状況に応じて、前記粗調整ステップで決定された位相のクロックの動作タイミングをクロックドメイン毎にずらすクロックタイミング変更ステップを有することを特徴とするクロックタイミング調整方法。
【請求項3】
位相の異なる複数のクロックを供給可能なクロック生成部と、
前記クロック生成部からクロックが供給され、前記供給されたクロックを対応するフリップフロップ群に供給する複数のクロックドメイン、及び前記フリップフロップ群を有する論理回路部と、を備えた半導体集積回路であって、
前記クロック生成部が各クロックドメインに供給するクロックの位相は、クロックドメインのレイテンシに基づいて決定され、
前記複数のクロックドメインの少なくともいずれか1つは、前記決定された位相のクロックでは調整できない前記複数のクロックドメインのレイテンシ差を調整するためのクロックバッファを有することを特徴とする半導体集積回路。
【請求項4】
請求項3記載の半導体集積回路であって、
前記決定された位相のクロックの動作タイミングは、前記決定された位相のクロックが前記複数のクロックドメインに供給された際のエラー状況に応じて、クロックドメイン毎にずらされることを特徴とする半導体集積回路。
【請求項5】
請求項3記載の半導体集積回路であって、
前記論理回路部は、各クロックドメインの前段に分周回路を有することを特徴とする半導体集積回路。
【請求項6】
請求項3記載の半導体集積回路であって、
前記クロック生成部は、位相の異なる前記複数のクロックの内、1つを選択して出力するセレクタを有することを特徴とする半導体集積回路。
【請求項7】
請求項3記載の半導体集積回路であって、
前記クロック生成部は、位相の異なる前記複数のクロックの内、1つを選択して前記クロック生成部の内部にフィードバックするセレクタを有することを特徴とする半導体集積回路。

【図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

【図11】
image rotate


【公開番号】特開2008−136030(P2008−136030A)
【公開日】平成20年6月12日(2008.6.12)
【国際特許分類】
【出願番号】特願2006−321231(P2006−321231)
【出願日】平成18年11月29日(2006.11.29)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】