(57)【要約】【課題】従来の半導体集積回路は、効果的にピーク電流を抑制することができないという問題があった。【解決手段】本発明にかかる半導体集積回路は、クロック生成回路と、クロック生成回路により生成されるクロックに基づいて動作するモジュール７と、クロック生成回路により生成されるクロックに基づいて動作し、モジュール７との間でデータ転送を行うモジュール８と、を備え、モジュール７とクロック生成回路との間のクロック経路上に挿入された遅延素子の数と、モジュール８とクロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいてモジュール７及びモジュール８に供給されるクロックの位相が異なる。このような回路構成により、効果的にピーク電流を抑制することができる。【選択図】図４
2011034470.tif 000002
【特許請求の範囲】
【請求項１】
クロック生成回路と、
前記クロック生成回路により生成されるクロックに基づいて動作する第１のモジュールと、
前記クロック生成回路により生成されるクロックに基づいて動作し、前記第１のモジュールとの間でデータ転送を行う第２のモジュールと、を備え、
前記第１のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、前記第２のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいて前記第１及び前記第２のモジュールに供給されるクロックの位相が異なる半導体集積回路。
【請求項２】
前記第１及び前記第２のモジュールは複数のフリップフロップを備え、
当該複数のフリップフロップのうち所定のフリップフロップに供給されるクロックの位相を調整するモジュール内遅延素子をさらに備えた請求項１に記載の半導体集積回路。
【請求項３】
各前記遅延素子は、
トランジスタサイズが略同一であることを特徴とする請求項１又は２に記載の半導体集積回路。
【請求項４】
クロック生成回路と、前記クロック生成回路により生成されるクロックに基づいて動作する第１のモジュールと、前記クロック生成回路により生成されるクロックに基づいて動作し、前記第１のモジュールとの間でデータ転送を行う第２のモジュールと、を備えた半導体集積回路のクロック制御方法であって、
前記第１のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、前記第２のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいて前記第１及び前記第２のモジュールに供給されるクロックの位相を異なるように調整する半導体集積回路のクロック制御方法。
【請求項５】
前記第１及び前記第２のモジュールに備えられた複数のフリップフロップのうち、所定のフリップフロップに供給されるクロックの位相をモジュール内遅延素子により調整する請求項４に記載の半導体集積回路のクロック制御方法。
【請求項６】
各前記遅延素子のトランジスタサイズを略同一にすることを特徴とする請求項４又は５に記載の半導体集積回路のクロック制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路及びそのクロック制御方法に関し、特にピーク電流の低減に適した半導体集積回路及びそのクロック制御方法に関する。
【背景技術】
【０００２】
従来のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）設計では、複数のモジュールに供給されるクロックの位相が互いに一致するように調整されるのが一般的である。つまり、これらのモジュールに設けられた複数のＦＦ（フリップフロップ）に供給されるクロックの位相が互いに一致するように調整される。そのため、ＬＳＩで消費される電力の多くは、クロックエッジ直後に消費されることとなる。したがって、電源電流のピーク値（以下、単にピーク電流と称す）は平均電流に対してかなり大きくなる。それにより、ＬＳＩ内部の電源供給配線の抵抗による電圧降下が生じ、回路の誤動作や、動作速度の低下が起こる可能性がある。また、ピーク電流が大きいと、ＥＭＩ（Ｅｌｅｃｔｒｏｍａｇｎｅｔｉｃ  Ｉｎｔｅｒｆｅｒｅｎｃｅ；電磁妨害）ノイズも大きくなり、ＬＳＩ外部への影響も懸念される。
【０００３】
このような問題に対する解決策が特許文献１に開示されている。特許文献１に記載の半導体装置は、複数のクロックを供給するクロック供給手段と、基板上に配置され上記複数のクロックに同期して動作する複数のモジュールと、を備えている。そして、クロック供給手段は、データ転送対象となるモジュール間のデータ転送時に互いのクロックの位相を一致させ、データ転送をしない時に互いのクロックに位相差を設けている。それにより、誤動作を抑制するとともに、ピーク電流を抑制している。
【０００４】
ここで、特許文献１に記載の技術では、データ転送の対象となるモジュール間のデータ転送をしない場合には、互いのクロックに位相差を設けている。しかし、データ転送をする場合には、互いのクロックの位相を一致させる。したがって、データ転送時には、ピーク電流が大きくなるという問題があった。
【０００５】
また、その他の解決策が特許文献２に開示されている。特許文献２に記載のＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）は、１チップのＡＳＩＣを構成する回路において、少なくとも同一クロックで駆動される複数のブロックを有する。そして、ＡＳＩＣのクロック入力端子から各ブロックのクロック入力端子までのクロックのディレイ（遅延）を、その間に挿入されるクロックバッファのディメンジョン（ゲート幅、ゲート長）を変更することにより調整する。それにより、ＡＳＩＣのクロック入力端子から各ブロックに対して供給されるクロックの伝播遅延を異ならせる。また、その結果に基づいて、ブロックのレイアウト及び配線が行われる。それにより、クロックによる過度電流の集中を防いでいる。つまり、ピーク電流を抑制している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１０２７９７号公報
【特許文献２】特開２００６−１６５０９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように特許文献２に記載の技術では、クロックバッファのディメンジョンを変更することによりクロックの遅延を調整している。しかし、クロックバッファのディメンジョンの変更では、どの程度の遅延がクロックに付加されたのかわかりにくく、精度の高い遅延の調整が困難であるという問題があった。
【課題を解決するための手段】
【０００８】
本発明にかかる半導体集積回路は、クロック生成回路と、前記クロック生成回路により生成されるクロックに基づいて動作する第１のモジュールと、前記クロック生成回路により生成されるクロックに基づいて動作し、前記第１のモジュールとの間でデータ転送を行う第２のモジュールと、を備え、前記第１のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、前記第２のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいて前記第１及び前記第２のモジュールに供給されるクロックの位相が異なる。
【０００９】
また、本発明にかかる半導体集積回路のクロック制御方法は、クロック生成回路と、前記クロック生成回路により生成されるクロックに基づいて動作する第１のモジュールと、前記クロック生成回路により生成されるクロックに基づいて動作し、前記第１のモジュールとの間でデータ転送を行う第２のモジュールと、を備えた半導体集積回路のクロック制御方法であって、
前記第１のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、前記第２のモジュールと前記クロック生成回路との間のクロック経路上に挿入された遅延素子の数と、に基づいて前記第１及び前記第２のモジュールに供給されるクロックの位相を異なるように調整する。
【００１０】
上述のような回路構成及びそのクロック制御方法により、効果的にピーク電流を抑制することができる。
【発明の効果】
【００１１】
本発明により、効果的にピーク電流の低減をすることが可能な半導体集積回路及びそのクロック制御方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１にかかるクロック制御方法を示すフローチャートである。
【図２】クロック制御前の半導体集積回路のブロック図である。
【図３】従来技術のクロック制御方法を用いた半導体集積回路のブロック図である。
【図４】本発明の実施の形態１にかかるクロック制御方法を用いた半導体集積回路のブロック図である。
【図５】本発明の実施の形態１にかかるクロック制御方法を用いた半導体集積回路のブロック図である。
【図６】本発明の実施の形態１にかかるクロック制御方法を用いた半導体集積回路のブロック図である。
【図７】クロック波形を示す図である。
【図８】クロック波形を示す図である。
【発明を実施するための形態】
【００１３】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、必要に応じて重複説明は省略される。
【００１４】
実施の形態１
本発明の実施の形態１について図面を参照して説明する。図１は、本発明の実施の形態１にかかる半導体集積回路のクロック制御方法のフローチャートである。また、図２〜図６は、本発明の実施の形態１にかかるクロック制御方法を用いた半導体集積回路のブロック図である。本実施の形態では、図１に示すフローチャートを参照にしながら、図２〜図６に示す回路について説明する。
【００１５】
図２に示す回路は、クロック生成回路（不図示）と、モジュール７，８と、組み合わせ論理回路５１〜５３と、を備える。モジュール７，８は、クロック生成回路から生成されたクロックに基づいて動作する。また、モジュール７とモジュール８との間では、データ転送が行われる。
【００１６】
モジュール７は、フリップフロップ（以下、単にＦＦと称す）１，３，５を有する。またモジュール８は、ＦＦ２，４，６を有する。図２に示す回路の例では、ＦＦ１がＦＦ２に対して組み合わせ論理回路５１を介してデータを送信する。ＦＦ３がＦＦ４に対して組み合わせ論理回路５２を介してデータを送信する。ＦＦ６がＦＦ５に対して組み合わせ論理回路５３を介してデータを送信する。なお、各ＦＦ１〜ＦＦ６は、クロック生成回路から生成されたクロックに基づいて動作する。
【００１７】
なお、図２に示す回路は、ＣＴＳ（ｃｌｏｃｋ  ｔｒｅｅ  ｓｙｎｔｈｅｓｉｓ）実行前の回路である。つまり、図２に示す回路は、モジュール７及びモジュール８に供給されるクロックに対してクロックバッファ等の遅延素子を挿入する前の回路である。言い換えると、図２に示す回路は、モジュール７とモジュール８との間のデータ転送が正しく行われるように制御する前の回路である。
【００１８】
図３に示す回路は、図２に示す回路のモジュール７，８に対してＣＴＳを実行した後の図である（図１のＳ１００）。図３に示す回路は、図２に示す回路と比較して、さらにバッファ９，１０，１１を備える。バッファ１０は、クロック生成回路（不図示）とモジュール７との間のクロック経路上に挿入される。バッファ１１は、クロック生成回路とモジュール８との間のクロック経路上に挿入される。バッファ９は、クロック生成回路とモジュール７及びモジュール８との間の共通のクロック経路上に挿入される。このような回路構成により、モジュール７及びモジュール８に供給されるクロックの位相が図７に示すように略一致するように調整される。なお、バッファ９〜１１は、クロック経路上に挿入されるクロックバッファであって、クロックに対して所定の遅延を付加する遅延素子である。
【００１９】
図４に示す回路は、図３に示す回路においてモジュール８とクロック生成回路との間のクロック経路上にクロックバッファ（遅延素子）１２，１３をさらに挿入した場合の例である（図１のＳ１０１）。図４に示す回路は、例えば、クロック生成回路が生成するクロック（モジュール８に供給されるクロック）の周波数に基づいた数のクロックバッファ（１２，１３）をクロック経路上に挿入する。それにより、図８に示すように、モジュール７に供給されるクロックと、モジュール８に供給されるクロックと、の位相が異なるように調整される。
【００２０】
つまり、モジュール７とクロック生成回路との間のクロック経路上に挿入されたバッファの数と、モジュール８とクロック生成回路との間のクロック経路上に挿入されたバッファの数と、に基づいてモジュール７，８に供給されるクロックの位相が異なるように調整される。このように本実施の形態にかかる半導体集積回路は、各モジュールに供給されるクロックが異なる位相を有するように調整することにより、ピーク電流を抑制することが可能である。
【００２１】
図４に示す回路において、クロックバッファ１２，１３が挿入された後、モジュール７とモジュール８との間のデータ転送が正しく行われるための制約条件を満たすか否かが判定される（図１のＳ１０２）。この制約条件とは、クロックに同期して送信側ＦＦが送信したデータを、次のクロックに同期して受信側ＦＦが受信することができる条件のことである。なお、この制約条件は、いわゆるセットアップ制約、ホールド制約等も含まれる。以下の説明では、特に断りがない限り上記制約条件を単に「制約条件」と称す。
【００２２】
各ＦＦ間のデータ転送のうちいずれかのパスが制約条件を満たさない場合（図１のＳ１０２のＮＯ）、制約条件と実際のデータ転送の結果とを比較して、当該制約条件を満たすために必要な遅延情報（制約違反の遅延情報；バイオレートした遅延差分）を算出する（図１のＳ１０３）。そして、この比較結果に基づいて、制約違反したＦＦに供給されるクロックの位相を調整する（図１のＳ１０４）。例えば、制約違反したＦＦに供給されるクロックに対してクロックバッファ（モジュール内遅延素子）を挿入することにより、クロックの位相を調整する。
【００２３】
一方、各ＦＦ間のデータ転送のうちいずれもが制約条件を満たす場合（図１のＳ１０２のＹＥＳ）は、半導体集積回路のクロック制御は終了する。
【００２４】
図５に示す回路は、図４に示す回路のＦＦ１に供給されるクロックに対してクロックバッファ（モジュール内遅延素子）１４を挿入した場合の例である（図１のＳ１０３、Ｓ１０４）。つまり、図５に示す回路は、制約条件を満たさないＦＦ１とＦＦ２との間のデータ転送において、制約条件を満たすようにＦＦ１に供給されるクロックの位相を調整している。このような回路構成により、クロック経路上に挿入される遅延素子数に基づいて、モジュール７，８に供給されるクロックの位相が異なるように調整するとともに、制約条件を満たさないＦＦ間のクロックに対してのみ位相を調整することができる。それにより、正確なデータ転送が可能になるとともに、ピーク電流を抑制することができる。
【００２５】
以上のように、本発明の実施の形態にかかる半導体集積回路及びそのクロック制御方法は、モジュール７とクロック生成回路との間のクロック経路上に挿入された遅延素子数と、モジュール８とクロック生成回路との間のクロック経路上に挿入された遅延素子数と、に基づいて各モジュールに供給されるクロックの位相が異なる。このような回路構成により、効果的にピーク電流を抑制することができる。
【００２６】
なお、特許文献２に記載の技術では、各モジュールに供給されるクロックに対して挿入されたクロックバッファのディメンジョンを変更することにより、当該各モジュールに供給されるクロックが異なる位相を有するように調整していた。そのため、どの程度の遅延がクロックに付加されたのかわかりにくく、精度の高い遅延の調整が困難であるという問題があった。一方、本実施の形態では、各モジュールに供給されるクロックに対して挿入されたクロックバッファの数に基づいて、当該各モジュールに供給されるクロックが異なる位相を有するように調整する。つまり、本実施の形態では、従来技術と異なり、クロックバッファの数に応じてクロックに付加する遅延を調整しているため、クロックに与える遅延量の調整が容易である。
【００２７】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記実施の形態では、モジュール７に設けられたＦＦ１のクロック経路上にクロックバッファ１４が挿入された場合を例に説明したが、これに限られない。例えば、制約条件を満たすために、モジュール８に設けられたＦＦのクロック経路上にクロックバッファ等のモジュール内遅延素子を挿入することも可能である。
【００２８】
また、図６に示すように、ＦＦ３とＦＦ４との間のデータ転送と、ＦＦ６とＦＦ５との間のデータ転送と、が共に制約条件を満たすように、ＦＦ４及びＦＦ６に供給されるクロックの共通のクロック経路上にクロックバッファ（モジュール内遅延素子）１５を挿入することも可能である。
【００２９】
また、上記実施の形態では、クロックバッファ１２，１３を挿入することにより、モジュール７，８に供給されるクロックの位相が異なるように調整する場合を例に説明したが、これに限られない。例えば、各モジュールとクロック生成回路との間のクロック経路上に挿入される遅延素子数に基づいて、当該各モジュールに供給されるクロックの位相が異なるように調整するとともに、当該各モジュール間のデータ転送が制約条件を満たすように調整することも可能である。
【００３０】
また、クロック経路上に挿入される各遅延素子は、トランジスタサイズが略同一である回路構成にも適宜変更可能である。それにより、クロックに与える遅延量の調整がさらに容易になる。
【符号の説明】
【００３１】
１  フリップフロップ
２  フリップフロップ
３  フリップフロップ
４  フリップフロップ
５  フリップフロップ
６  フリップフロップ
７  モジュール
８  モジュール
９  クロックバッファ
１０  クロックバッファ
１１  クロックバッファ
１２  クロックバッファ
１３  クロックバッファ
１４  クロックバッファ
１５  クロックバッファ
５１  組み合わせ論理回路
５２  組み合わせ論理回路
５３  組み合わせ論理回路
【図１】
2011034470.tif 000003
【図２】
2011034470.tif 000004
【図３】
2011034470.tif 000005
【図４】
2011034470.tif 000006
【図５】
2011034470.tif 000007
【図６】
2011034470.tif 000008
【図７】
2011034470.tif 000009
【図８】
2011034470.tif 000010