説明

半導体集積回路及びそのクロック制御方法

【課題】従来の半導体集積回路は、効果的にピーク電流を抑制することができないという問題があった。
【解決手段】本発明にかかる半導体集積回路は、クロック生成回路と、クロック生成回路により生成されるクロックに基づいて動作するモジュール7と、クロック生成回路により生成されるクロックに基づいて動作し、モジュール7との間でデータ転送を行うモジュール8と、を備え、モジュール7とクロック生成回路との間のクロック経路上に挿入された遅延素子の数と、モジュール8とクロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいてモジュール7及びモジュール8に供給されるクロックの位相が異なる。このような回路構成により、効果的にピーク電流を抑制することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は半導体集積回路及びそのクロック制御方法に関し、特にピーク電流の低減に適した半導体集積回路及びそのクロック制御方法に関する。
【背景技術】
【0002】
従来のLSI(Large Scale Integration)設計では、複数のモジュールに供給されるクロックの位相が互いに一致するように調整されるのが一般的である。つまり、これらのモジュールに設けられた複数のFF(フリップフロップ)に供給されるクロックの位相が互いに一致するように調整される。そのため、LSIで消費される電力の多くは、クロックエッジ直後に消費されることとなる。したがって、電源電流のピーク値(以下、単にピーク電流と称す)は平均電流に対してかなり大きくなる。それにより、LSI内部の電源供給配線の抵抗による電圧降下が生じ、回路の誤動作や、動作速度の低下が起こる可能性がある。また、ピーク電流が大きいと、EMI(Electromagnetic Interference;電磁妨害)ノイズも大きくなり、LSI外部への影響も懸念される。
【0003】
このような問題に対する解決策が特許文献1に開示されている。特許文献1に記載の半導体装置は、複数のクロックを供給するクロック供給手段と、基板上に配置され上記複数のクロックに同期して動作する複数のモジュールと、を備えている。そして、クロック供給手段は、データ転送対象となるモジュール間のデータ転送時に互いのクロックの位相を一致させ、データ転送をしない時に互いのクロックに位相差を設けている。それにより、誤動作を抑制するとともに、ピーク電流を抑制している。
【0004】
ここで、特許文献1に記載の技術では、データ転送の対象となるモジュール間のデータ転送をしない場合には、互いのクロックに位相差を設けている。しかし、データ転送をする場合には、互いのクロックの位相を一致させる。したがって、データ転送時には、ピーク電流が大きくなるという問題があった。
【0005】
また、その他の解決策が特許文献2に開示されている。特許文献2に記載のASIC(Application Specific Integrated Circuit)は、1チップのASICを構成する回路において、少なくとも同一クロックで駆動される複数のブロックを有する。そして、ASICのクロック入力端子から各ブロックのクロック入力端子までのクロックのディレイ(遅延)を、その間に挿入されるクロックバッファのディメンジョン(ゲート幅、ゲート長)を変更することにより調整する。それにより、ASICのクロック入力端子から各ブロックに対して供給されるクロックの伝播遅延を異ならせる。また、その結果に基づいて、ブロックのレイアウト及び配線が行われる。それにより、クロックによる過度電流の集中を防いでいる。つまり、ピーク電流を抑制している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−102797号公報
【特許文献2】特開2006−165099号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述のように特許文献2に記載の技術では、クロックバッファのディメンジョンを変更することによりクロックの遅延を調整している。しかし、クロックバッファのディメンジョンの変更では、どの程度の遅延がクロックに付加されたのかわかりにくく、精度の高い遅延の調整が困難であるという問題があった。
【課題を解決するための手段】
【0008】
本発明にかかる半導体集積回路は、クロック生成回路と、前記クロック生成回路により生成されるクロックに基づいて動作する第1のモジュールと、前記クロック生成回路により生成されるクロックに基づいて動作し、前記第1のモジュールとの間でデータ転送を行う第2のモジュールと、を備え、前記第1のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、前記第2のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいて前記第1及び前記第2のモジュールに供給されるクロックの位相が異なる。
【0009】
また、本発明にかかる半導体集積回路のクロック制御方法は、クロック生成回路と、前記クロック生成回路により生成されるクロックに基づいて動作する第1のモジュールと、前記クロック生成回路により生成されるクロックに基づいて動作し、前記第1のモジュールとの間でデータ転送を行う第2のモジュールと、を備えた半導体集積回路のクロック制御方法であって、
前記第1のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、前記第2のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいて前記第1及び前記第2のモジュールに供給されるクロックの位相を異なるように調整する。
【0010】
上述のような回路構成及びそのクロック制御方法により、効果的にピーク電流を抑制することができる。
【発明の効果】
【0011】
本発明により、効果的にピーク電流の低減をすることが可能な半導体集積回路及びそのクロック制御方法を提供することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態1にかかるクロック制御方法を示すフローチャートである。
【図2】クロック制御前の半導体集積回路のブロック図である。
【図3】従来技術のクロック制御方法を用いた半導体集積回路のブロック図である。
【図4】本発明の実施の形態1にかかるクロック制御方法を用いた半導体集積回路のブロック図である。
【図5】本発明の実施の形態1にかかるクロック制御方法を用いた半導体集積回路のブロック図である。
【図6】本発明の実施の形態1にかかるクロック制御方法を用いた半導体集積回路のブロック図である。
【図7】クロック波形を示す図である。
【図8】クロック波形を示す図である。
【発明を実施するための形態】
【0013】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、必要に応じて重複説明は省略される。
【0014】
実施の形態1
本発明の実施の形態1について図面を参照して説明する。図1は、本発明の実施の形態1にかかる半導体集積回路のクロック制御方法のフローチャートである。また、図2〜図6は、本発明の実施の形態1にかかるクロック制御方法を用いた半導体集積回路のブロック図である。本実施の形態では、図1に示すフローチャートを参照にしながら、図2〜図6に示す回路について説明する。
【0015】
図2に示す回路は、クロック生成回路(不図示)と、モジュール7,8と、組み合わせ論理回路51〜53と、を備える。モジュール7,8は、クロック生成回路から生成されたクロックに基づいて動作する。また、モジュール7とモジュール8との間では、データ転送が行われる。
【0016】
モジュール7は、フリップフロップ(以下、単にFFと称す)1,3,5を有する。またモジュール8は、FF2,4,6を有する。図2に示す回路の例では、FF1がFF2に対して組み合わせ論理回路51を介してデータを送信する。FF3がFF4に対して組み合わせ論理回路52を介してデータを送信する。FF6がFF5に対して組み合わせ論理回路53を介してデータを送信する。なお、各FF1〜FF6は、クロック生成回路から生成されたクロックに基づいて動作する。
【0017】
なお、図2に示す回路は、CTS(clock tree synthesis)実行前の回路である。つまり、図2に示す回路は、モジュール7及びモジュール8に供給されるクロックに対してクロックバッファ等の遅延素子を挿入する前の回路である。言い換えると、図2に示す回路は、モジュール7とモジュール8との間のデータ転送が正しく行われるように制御する前の回路である。
【0018】
図3に示す回路は、図2に示す回路のモジュール7,8に対してCTSを実行した後の図である(図1のS100)。図3に示す回路は、図2に示す回路と比較して、さらにバッファ9,10,11を備える。バッファ10は、クロック生成回路(不図示)とモジュール7との間のクロック経路上に挿入される。バッファ11は、クロック生成回路とモジュール8との間のクロック経路上に挿入される。バッファ9は、クロック生成回路とモジュール7及びモジュール8との間の共通のクロック経路上に挿入される。このような回路構成により、モジュール7及びモジュール8に供給されるクロックの位相が図7に示すように略一致するように調整される。なお、バッファ9〜11は、クロック経路上に挿入されるクロックバッファであって、クロックに対して所定の遅延を付加する遅延素子である。
【0019】
図4に示す回路は、図3に示す回路においてモジュール8とクロック生成回路との間のクロック経路上にクロックバッファ(遅延素子)12,13をさらに挿入した場合の例である(図1のS101)。図4に示す回路は、例えば、クロック生成回路が生成するクロック(モジュール8に供給されるクロック)の周波数に基づいた数のクロックバッファ(12,13)をクロック経路上に挿入する。それにより、図8に示すように、モジュール7に供給されるクロックと、モジュール8に供給されるクロックと、の位相が異なるように調整される。
【0020】
つまり、モジュール7とクロック生成回路との間のクロック経路上に挿入されたバッファの数と、モジュール8とクロック生成回路との間のクロック経路上に挿入されたバッファの数と、に基づいてモジュール7,8に供給されるクロックの位相が異なるように調整される。このように本実施の形態にかかる半導体集積回路は、各モジュールに供給されるクロックが異なる位相を有するように調整することにより、ピーク電流を抑制することが可能である。
【0021】
図4に示す回路において、クロックバッファ12,13が挿入された後、モジュール7とモジュール8との間のデータ転送が正しく行われるための制約条件を満たすか否かが判定される(図1のS102)。この制約条件とは、クロックに同期して送信側FFが送信したデータを、次のクロックに同期して受信側FFが受信することができる条件のことである。なお、この制約条件は、いわゆるセットアップ制約、ホールド制約等も含まれる。以下の説明では、特に断りがない限り上記制約条件を単に「制約条件」と称す。
【0022】
各FF間のデータ転送のうちいずれかのパスが制約条件を満たさない場合(図1のS102のNO)、制約条件と実際のデータ転送の結果とを比較して、当該制約条件を満たすために必要な遅延情報(制約違反の遅延情報;バイオレートした遅延差分)を算出する(図1のS103)。そして、この比較結果に基づいて、制約違反したFFに供給されるクロックの位相を調整する(図1のS104)。例えば、制約違反したFFに供給されるクロックに対してクロックバッファ(モジュール内遅延素子)を挿入することにより、クロックの位相を調整する。
【0023】
一方、各FF間のデータ転送のうちいずれもが制約条件を満たす場合(図1のS102のYES)は、半導体集積回路のクロック制御は終了する。
【0024】
図5に示す回路は、図4に示す回路のFF1に供給されるクロックに対してクロックバッファ(モジュール内遅延素子)14を挿入した場合の例である(図1のS103、S104)。つまり、図5に示す回路は、制約条件を満たさないFF1とFF2との間のデータ転送において、制約条件を満たすようにFF1に供給されるクロックの位相を調整している。このような回路構成により、クロック経路上に挿入される遅延素子数に基づいて、モジュール7,8に供給されるクロックの位相が異なるように調整するとともに、制約条件を満たさないFF間のクロックに対してのみ位相を調整することができる。それにより、正確なデータ転送が可能になるとともに、ピーク電流を抑制することができる。
【0025】
以上のように、本発明の実施の形態にかかる半導体集積回路及びそのクロック制御方法は、モジュール7とクロック生成回路との間のクロック経路上に挿入された遅延素子数と、モジュール8とクロック生成回路との間のクロック経路上に挿入された遅延素子数と、に基づいて各モジュールに供給されるクロックの位相が異なる。このような回路構成により、効果的にピーク電流を抑制することができる。
【0026】
なお、特許文献2に記載の技術では、各モジュールに供給されるクロックに対して挿入されたクロックバッファのディメンジョンを変更することにより、当該各モジュールに供給されるクロックが異なる位相を有するように調整していた。そのため、どの程度の遅延がクロックに付加されたのかわかりにくく、精度の高い遅延の調整が困難であるという問題があった。一方、本実施の形態では、各モジュールに供給されるクロックに対して挿入されたクロックバッファの数に基づいて、当該各モジュールに供給されるクロックが異なる位相を有するように調整する。つまり、本実施の形態では、従来技術と異なり、クロックバッファの数に応じてクロックに付加する遅延を調整しているため、クロックに与える遅延量の調整が容易である。
【0027】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記実施の形態では、モジュール7に設けられたFF1のクロック経路上にクロックバッファ14が挿入された場合を例に説明したが、これに限られない。例えば、制約条件を満たすために、モジュール8に設けられたFFのクロック経路上にクロックバッファ等のモジュール内遅延素子を挿入することも可能である。
【0028】
また、図6に示すように、FF3とFF4との間のデータ転送と、FF6とFF5との間のデータ転送と、が共に制約条件を満たすように、FF4及びFF6に供給されるクロックの共通のクロック経路上にクロックバッファ(モジュール内遅延素子)15を挿入することも可能である。
【0029】
また、上記実施の形態では、クロックバッファ12,13を挿入することにより、モジュール7,8に供給されるクロックの位相が異なるように調整する場合を例に説明したが、これに限られない。例えば、各モジュールとクロック生成回路との間のクロック経路上に挿入される遅延素子数に基づいて、当該各モジュールに供給されるクロックの位相が異なるように調整するとともに、当該各モジュール間のデータ転送が制約条件を満たすように調整することも可能である。
【0030】
また、クロック経路上に挿入される各遅延素子は、トランジスタサイズが略同一である回路構成にも適宜変更可能である。それにより、クロックに与える遅延量の調整がさらに容易になる。
【符号の説明】
【0031】
1 フリップフロップ
2 フリップフロップ
3 フリップフロップ
4 フリップフロップ
5 フリップフロップ
6 フリップフロップ
7 モジュール
8 モジュール
9 クロックバッファ
10 クロックバッファ
11 クロックバッファ
12 クロックバッファ
13 クロックバッファ
14 クロックバッファ
15 クロックバッファ
51 組み合わせ論理回路
52 組み合わせ論理回路
53 組み合わせ論理回路

【特許請求の範囲】
【請求項1】
クロック生成回路と、
前記クロック生成回路により生成されるクロックに基づいて動作する第1のモジュールと、
前記クロック生成回路により生成されるクロックに基づいて動作し、前記第1のモジュールとの間でデータ転送を行う第2のモジュールと、を備え、
前記第1のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、前記第2のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいて前記第1及び前記第2のモジュールに供給されるクロックの位相が異なる半導体集積回路。
【請求項2】
前記第1及び前記第2のモジュールは複数のフリップフロップを備え、
当該複数のフリップフロップのうち所定のフリップフロップに供給されるクロックの位相を調整するモジュール内遅延素子をさらに備えた請求項1に記載の半導体集積回路。
【請求項3】
各前記遅延素子は、
トランジスタサイズが略同一であることを特徴とする請求項1又は2に記載の半導体集積回路。
【請求項4】
クロック生成回路と、前記クロック生成回路により生成されるクロックに基づいて動作する第1のモジュールと、前記クロック生成回路により生成されるクロックに基づいて動作し、前記第1のモジュールとの間でデータ転送を行う第2のモジュールと、を備えた半導体集積回路のクロック制御方法であって、
前記第1のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、前記第2のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいて前記第1及び前記第2のモジュールに供給されるクロックの位相を異なるように調整する半導体集積回路のクロック制御方法。
【請求項5】
前記第1及び前記第2のモジュールに備えられた複数のフリップフロップのうち、所定のフリップフロップに供給されるクロックの位相をモジュール内遅延素子により調整する請求項4に記載の半導体集積回路のクロック制御方法。
【請求項6】
各前記遅延素子のトランジスタサイズを略同一にすることを特徴とする請求項4又は5に記載の半導体集積回路のクロック制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−34470(P2011−34470A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−182102(P2009−182102)
【出願日】平成21年8月5日(2009.8.5)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】