(57)【要約】【課題】消費電力を効率的に低減することができる半導体集積回路装置を提供すること【解決手段】半導体集積回路装置１は、複数のフリップフロップ１０と、複数のフリップフロップ１０のうち少なくとも１つに接続された少なくとも１つのデータ転送感知回路２０と、制御信号ＣＴＲＬに応答して複数のフリップフロップ１０全体へのクロック信号ＣＬＫの供給をＯＮ・ＯＦＦするクロック制御回路５０とを備える。その少なくとも１つのデータ転送感知回路２０は、少なくとも１つのフリップフロップ１０の入力信号及び出力信号の比較を行い、その比較の結果に応じた信号を制御信号ＣＴＲＬとしてクロック制御回路５０に出力する。クロック制御回路５０は、上記入力信号と出力信号が異なる場合、クロック信号ＣＬＫの供給をＯＮし、上記入力信号と出力信号が同じ場合、クロック信号ＣＬＫの供給をＯＦＦする。【選択図】      図２
2006229745.tif 000002
【特許請求の範囲】
【請求項１】
複数のフリップフロップと、
前記複数のフリップフロップのうち少なくとも１つに接続された少なくとも１つのデータ転送感知回路と、
制御信号に応答して前記複数のフリップフロップ全体へのクロック信号の供給をＯＮ・ＯＦＦするクロック制御回路と
を具備し、
前記少なくとも１つのデータ転送感知回路は、前記少なくとも１つのフリップフロップの入力信号及び出力信号の比較を行い、前記比較の結果に応じた信号を前記制御信号として前記クロック制御回路に出力する
半導体集積回路装置。
【請求項２】
請求項１に記載の半導体集積回路装置であって、
前記少なくとも１つのデータ転送感知回路は、前記複数のフリップフロップのそれぞれに接続された複数のデータ転送感知回路を含み、
前記複数のデータ転送感知回路の各々は、対応する１つの前記フリップフロップの入力信号及び出力信号の比較を行い、前記比較の結果に応じた信号を前記制御信号として前記クロック制御回路に出力する
半導体集積回路装置。
【請求項３】
請求項１に記載の半導体集積回路装置であって、
前記複数のフリップフロップは、直列に接続されたフリップフロップ群を含み、
前記少なくとも１つのデータ転送感知回路は、前記フリップフロップ群のうち第１段に対する入力信号と前記フリップフロップ群のうち最終段に対する出力信号の比較を行い、前記比較の結果に応じた信号を前記制御信号として前記クロック制御回路に出力する
半導体集積回路装置。
【請求項４】
請求項１乃至３のいずれかに記載の半導体集積回路装置であって、
前記クロック制御回路は、
前記入力信号と前記出力信号が異なる場合、前記クロック信号の供給をＯＮし、
前記入力信号と前記出力信号が同じ場合、前記クロック信号の供給をＯＦＦする
半導体集積回路装置。
【請求項５】
請求項４に記載の半導体集積回路装置であって、
前記少なくとも１つのデータ転送感知回路は、前記入力信号及び前記出力信号を入力とする排他的論理和を有し、前記排他的論理和の出力に基づいて前記制御信号を生成する
半導体集積回路装置。
【請求項６】
請求項５に記載の半導体集積回路装置であって、
前記少なくとも１つのデータ転送感知回路は、更に、前記排他的論理和の出力に接続されたオープンドレイン回路を有し、前記オープンドレイン回路のドレインの電圧を前記制御信号として出力する
半導体集積回路装置。
【請求項７】
請求項６に記載の半導体集積回路装置であって、
前記オープンドレイン回路は、プルアップ抵抗又はプルダウン抵抗を含み、
前記プルアップ抵抗又は前記プルダウン抵抗は、チップの周縁部に形成される
半導体集積回路装置。
【請求項８】
請求項１に記載の半導体集積回路装置であって、
前記少なくとも１つのデータ転送感知回路は、前記複数のフリップフロップの各々に接続された１つのデータ転送感知回路を含み、
前記１つのデータ転送感知回路は、前記複数のフリップフロップのそれぞれの入力信号及び出力信号の比較を行い、前記比較の結果に応じた信号を前記制御信号として前記クロック制御回路に出力する
半導体集積回路装置。
【請求項９】
請求項８に記載の半導体集積回路装置であって、
前記クロック制御回路は、前記複数のフリップフロップのいずれかにおいて前記入力信号と前記出力信号が異なる場合、前記クロック信号の供給をＯＮする
半導体集積回路装置。
【請求項１０】
請求項９に記載の半導体集積回路装置であって、
前記１つのデータ転送感知回路は、
前記複数のフリップフロップのそれぞれの前記入力信号及び前記出力信号を入力とする複数の排他的論理和と、
前記複数の排他的論理和の出力を入力し、前記制御信号を出力するＯＲ回路と
を有する
半導体集積回路装置。
【請求項１１】
請求項１乃至１０のいずれかに記載の半導体集積回路装置であって、
前記クロック制御回路は、前記クロック信号をデータ入力とし、前記制御信号をクロック入力とするＤラッチ回路を含む
半導体集積回路装置。
【請求項１２】
請求項１乃至１０のいずれかに記載の半導体集積回路装置であって、
前記クロック制御回路は、
前記制御信号をデータ入力とし、前記クロック信号をクロック入力とするフリップフロップと、
前記フリップフロップの出力と前記クロック信号を入力するＡＮＤ回路と
を有する
半導体集積回路装置。
【請求項１３】
複数のフリップフロップと、
前記複数のフリップフロップにクロック信号を供給するクロックラインと、
前記クロックラインの始点に設けられたクロック制御回路と、
前記複数のフリップフロップのそれぞれ及び前記クロック制御回路に接続された複数のデータ転送感知回路と
を具備し、
前記複数のデータ転送感知回路の各々は、
前記複数のフリップフロップのうち対応する１つの入力信号及び出力信号の比較を行い、前記比較の結果に応じた信号を前記制御信号として前記クロック制御回路に出力し、
前記クロック制御回路は、前記制御信号に応答して、前記複数のフリップフロップへのクロック信号の供給をＯＮ・ＯＦＦする
半導体集積回路装置。
【請求項１４】
請求項１３に記載の半導体集積回路装置であって、
前記クロック制御回路は、
前記入力信号と前記出力信号が異なる場合、前記クロック信号の供給をＯＮし、
前記入力信号と前記出力信号が同じ場合、前記クロック信号の供給をＯＦＦする
半導体集積回路装置。
【請求項１５】
第１モジュールと、
前記第１モジュールと同じクロック信号を入力する第２モジュールと
を具備し、
前記第１モジュールは、前記クロック信号をそのまま入力する複数のフリップフロップを有し、
前記第２モジュールは、
複数のフリップフロップと、
前記複数のフリップフロップのうち少なくとも１つに接続された少なくとも１つのデータ転送感知回路と、
制御信号に応答して前記複数のフリップフロップ全体への前記クロック信号の供給をＯＮ・ＯＦＦするクロック制御回路と
を有し、
前記少なくとも１つのデータ転送感知回路は、前記少なくとも１つのフリップフロップの入力信号及び出力信号の比較を行い、前記比較の結果に応じた信号を前記制御信号として前記クロック制御回路に出力する
半導体集積回路装置。
【請求項１６】
請求項１５に記載の半導体集積回路装置であって、
前記第１モジュールの動作頻度は、前記第２モジュールの動作頻度より高い
半導体集積回路装置。
【請求項１７】
請求項１５又は１６に記載の半導体集積回路装置であって、
前記クロック制御回路は、
前記入力信号と前記出力信号が異なる場合、前記クロック信号の供給をＯＮし、
前記入力信号と前記出力信号が同じ場合、前記クロック信号の供給をＯＦＦする
半導体集積回路装置。
【請求項１８】
制御信号に応じて動作を停止する複数の停止機能付きフリップフロップと、
前記複数の停止機能付きフリップフロップに接続されたデータ転送感知回路と
を具備し、
前記データ転送感知回路は、前記複数の停止機能付きフリップフロップのそれぞれの入力信号及び出力信号の比較を行い、前記比較の結果に応じた信号を前記制御信号として前記複数の停止機能付きフリップフロップに出力する
半導体集積回路装置。
【請求項１９】
請求項１８に記載の半導体集積回路装置であって、
前記複数の停止機能付きフリップフロップの各々は、前記複数の停止機能付きフリップフロップのいずれかにおける前記入力信号と前記出力信号が異なる場合に動作する
半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に関する。特に、本発明は、フリップフロップを備える半導体集積回路装置に関する。
【背景技術】
【０００２】
半導体集積回路装置の分野において、消費電力の低減が望まれている。特に、携帯電話や携帯情報端末においては、それらの使用状況に応じて消費電力を低減することが求められている。消費電力の低減を実現するための技術として、例えば、ＣＭＯＳ論理回路技術が知られている。ＣＭＯＳ論理回路は、非活性状態においては電力を消費しない。従って、同期回路の消費電力を低減するためには、クロック周波数を下げるか、クロック信号の変化頻度を下げればよい。
【０００３】
また、消費電力を低減するために、フリップフロップへのクロック入力を制御する手法が考えられる。図１は、一般的なフリップフロップの構成を示す回路図である。このフリップフロップ５００は、データ入力端子、データ出力端子、及びクロック入力端子を有している。データ入力端子とデータ出力端子の間には、２段のトランスファゲート５０１と２段のラッチ回路が挿入されている。ラッチ回路は、２つのインバータ５０２とトランスファゲート５０１によって構成されている。トランスファゲート５０１のＯＮ・ＯＦＦは、信号Ｐ０１及びＰ０２により制御される。それら信号Ｐ０１及びＰ０２は、クロック入力端子に接続された２段のインバータ５１０、５２０により生成される。これら２段のインバータ５１０、５２０は、フリップフロップ５００がデータ転送を行っていない時でも、クロック信号ＣＬＫを受け取る。従って、これらインバータ５１０、５２０は、状態変化の頻度が高い部分、すなわち、電力をよく消費する部分である。よって、フリップフロップ５００へのクロック入力を制御する技術が望まれる。
【０００４】
特許文献１に開示された電子装置は、外部クロック信号に基づいて、内部機能ブロックを動作させる内部クロックを作成するクロックドライバ回路と、外部からのアクセスにより制御されるフリップフロップを有している。フリップフロップからの出力信号により、クロックドライバ回路は、内部クロックを出力し、あるいは、内部クロックの出力を停止する。
【０００５】
特許文献２には、それぞれ論理ブロックを構成する複数のフリップフロップを備えた半導体集積回路が開示されている。この半導体集積回路において、複数のフリップフロップには共通のクロック信号が供給される。また、フリップフロップ外部からの制御信号によって、複数のフリップフロップのうち一部からのクロック信号の出力が停止される。
【０００６】
これら特許文献１及び２に記載された技術によれば、外部システムからのクロック制御信号が必要となる。よって、設計者が、設計担当以外の部分も含めシステム全体を把握しなければならないという問題点がある。また、外部からクロック制御信号を取り入れるので、外部端子が増加するという問題点もある。外部からのクロック制御信号を必要としない従来技術として、以下のものが知られている。
【０００７】
特許文献３に、低消費電力を実現することを目的とした半導体集積回路装置が開示されている。この半導体集積回路装置によれば、１つのＡＮＤ回路の出力が、１つのＤ型フリップフロップのクロック入力端子に接続されている。そのＡＮＤ回路には、クロック信号と、そのＤ型フリップフロップの入力信号及び出力信号の比較結果を示す制御信号が入力される。このような構成により、Ｄ型フリップフロップに対するクロック信号の供給が制御される。
【０００８】
また、特許文献４に、フリップフロップへのクロック信号の供給を制御するためのクロック停止用回路（省電力化回路）が開示されている。このクロック停止用回路は、そのフリップフロップの入力信号及び出力信号を比較するＥＸＯＲ回路、そのＥＸＯＲ回路の出力に接続されたラッチ回路、及びそのラッチ回路の出力に接続されたＡＮＤ回路を備えている。クロック信号は、そのラッチ回路のクロック入力端子及びＡＮＤ回路に入力される。また、ＡＮＤ回路の出力が、フリップフロップのクロック入力端子に接続されている。
【０００９】
【特許文献１】特開２０００−２９５６０号公報
【特許文献２】特開２００２−１５０７８７号公報
【特許文献３】特開２００２−２７１１８８号公報
【特許文献４】特開２００３−１４１１９８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述の通り、半導体集積回路の消費電力を低減するためには、フリップフロップ５００において、クロック入力端子の２個のドライバ（インバータ５１０、５２０）の動作を抑えることが望まれる。つまり、フリップフロップ５００へのクロック入力を制御することが望まれる。しかしながら、特許文献３に記載された技術によれば、１つのＤ型フリップフロップに対して１つのクロック信号制御回路が必要となるので、ゲート数が増加するという問題点がある。同様に、特許文献４に記載されたクロック停止用回路によれば、１つのフリップフロップに対するクロック信号の供給を制御するために、１つのラッチ回路と１つのＡＮＤ回路が必要とされる。
【００１１】
また、特許文献４に記載されたクロック停止用回路によれば、クロック停止用回路が、フリップフロップに対するクロック信号ＣＬＫの供給を停止したとしても、それに含まれる上記ラッチ回路のクロック入力端子には依然としてクロック信号ＣＬＫが供給される。つまり、フリップフロップのクロック入力端子の２個のドライバの動作が停止しても、その代わりに、ラッチ回路のクロック入力端子の２個のドライバが動作してしまう。よって、半導体集積回路全体として消費電力が低減される効果が実現されない。
【００１２】
このように、特許文献３及び特許文献４に開示された技術によれば、１つのフリップフロップへのクロック信号の入力を制御するために、１つ以上のブロックが必要となる。言い換えれば、フリップフロップ内部にあるクロック入力端子の２個のドライバ（インバータ５１０、５２０）の駆動を停止させるために、更に多くのブロックを駆動する必要がある。
【課題を解決するための手段】
【００１３】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１４】
本発明に係る半導体集積回路装置（１）は、複数のフリップフロップ（１０）と、複数のフリップフロップ（１０）のうち少なくとも１つに接続された少なくとも１つのデータ転送感知回路（２０）と、制御信号（ＣＴＲＬ）に応答して複数のフリップフロップ（１０）全体へのクロック信号（ＣＬＫ）の供給をＯＮ・ＯＦＦするクロック制御回路（５０）とを備える。その少なくとも１つのデータ転送感知回路（２０）は、少なくとも１つのフリップフロップ（１０）の入力信号及び出力信号の比較を行い、その比較の結果に応じた信号を制御信号（ＣＴＲＬ）としてクロック制御回路（５０）に出力する。クロック制御回路（５０）は、上記入力信号と出力信号が異なる場合、クロック信号（ＣＬＫ）の供給をＯＮし、上記入力信号と出力信号が同じ場合、クロック信号（ＣＬＫ）の供給をＯＦＦする。
【００１５】
このように、本発明に係る半導体集積回路装置（１）によれば、クロック制御回路（５０）は、複数のフリップフロップ（１０）へクロック信号（ＣＬＫ）を供給するクロックライン（５５）の始点に設けられている。そして、クロック制御回路（５０）は、上記制御信号（ＣＴＲＬ）に応答して、クロックライン（５５）の根元（始点）からクロック信号（ＣＬＫ）の供給を制御することができる。具体的には、複数のフリップフロップ（１０）のいずれかにおいてデータの転送が実行される場合（入力信号と出力信号が異なる場合）にのみ、クロック制御回路（５０）は、クロック信号（ＣＬＫ）を複数のフリップフロップ（１０）に供給する。従って、各フリップフロップ（１０）のクロック入力端子につながる２つのドライバ（図１参照）の動作が抑制されると共に、その機能の実現に必要なブロックの数の増加が抑制される。すなわち、本発明に係る半導体集積回路装置（１）によれば、効率的に消費電力を低減することが可能となる。
【００１６】
また、上記クロック制御回路（５０）は、例えばＤラッチ回路（５１）を含む。Ｄラッチ回路（５１）のデータ入力端子にはクロック信号（ＣＬＫ）が入力され、そのクロック入力端子には上記制御信号（ＣＴＲＬ）が入力される。従って、そのＤラッチ回路（５１）のクロック入力端子につながる２つのドライバの動作頻度は、クロック周波数より少なく、装置の消費電力が低減される。また、通常、クロック制御回路（５０）が制御するクロックライン（５５）では、フリップフロップの極性が一致している。よって、クロック制御回路（５０）で制御されたクロックライン（５５）では、クロックの立ち下り、立ち上がりのどちらか一方で、外部端子からのクロック信号（ＣＬＫ）と同期が採れていればよい。クロック制御回路（５０）がＤラッチ回路（５１）で構成されている場合、クロックライン（５５）では、クロックの立ち下り、立ち上がりのどちらか一方で、外部端子からのクロック信号（ＣＬＫ）と同期が採れている。よって、クロック制御回路（５０）がＤラッチ回路（５１）を含むことは好ましい。
【発明の効果】
【００１７】
本発明に係る半導体集積回路装置によれば、効率的に消費電力を低減することが可能となる。
【００１８】
本発明に係る半導体集積回路装置によれば、フリップフロップの消費電力を低減するために必要なブロックの数の増加が抑制される。
【００１９】
本発明に係る半導体集積回路装置によれば、フリップフロップの消費電力を低減するための回路自身の消費電力も低減される。
【発明を実施するための最良の形態】
【００２０】
添付図面を参照して、本発明による半導体集積回路装置を説明する。
【００２１】
（第１の実施の形態）
（構成）
図２は、本発明の第１の実施の形態に係る半導体集積回路装置の構成を示す回路図である。この半導体集積回路装置１には、データ入力端子２からバッファ３を通してデータ信号が入力され、クロック入力端子４からバッファ５を通してクロック信号ＣＬＫが入力される。また、この半導体集積回路装置１からは、バッファ６及び８のそれぞれを介して、データ出力端子７及び９のそれぞれにデータ信号が出力される。
【００２２】
この半導体集積回路装置１は、複数のフリップフロップ１０（１０ａ〜１０ｃ）を含んでいる。データ入力端子２から入力されたデータ信号は、任意の組み合わせ回路４０に入力される。その組み合わせ回路４０の出力は、フリップフロップ１０のデータ入力端子に入力される。例えば図２においては、組み合わせ回路４０ａ〜４０ｃのそれぞれの出力は、フリップフロップ１０ａ〜１０ｃのそれぞれにデータ入力端子に入力される。また、クロック入力端子４から入力されたクロック信号ＣＬＫは、クロックライン５５を通じて、複数のフリップフロップ１０（１０ａ〜１０ｃ）の各々のクロック入力端子に供給される。
【００２３】
このクロックライン５５の始点（根元）には、クロック自律制御回路５０が設けられている。つまり、図２に示されるように、クロック自律制御回路５０は、クロック入力用のバッファ５と、クロックライン５５の初段のバッファ５６との間に介設されている。後に詳しく説明されるように、このクロック自律制御回路５０は、クロック制御信号ＣＴＲＬに応答して、上記複数のフリップフロップ１０（１０ａ〜１０ｃ）へのクロック信号ＣＬＫの供給を制御する。
【００２４】
また、この半導体集積回路装置１は、複数のデータ転送感知回路２０（２０ａ〜２０ｂ）を備えている。図２において、複数のデータ転送感知回路２０ａ〜２０ｃのそれぞれは、複数のフリップフロップ１０（１０ａ〜１０ｃ）のそれぞれに接続されている。また、全てのデータ転送感知回路２０ａ〜２０ｃの出力は、バスライン３５を通じて、上記クロック自律制御回路５０にフィードバックされている。後に詳しく説明されるように、各々のデータ転送感知回路２０は、対応するフリップフロップ１０がデータを転送しているか否かを判定する。そのために、各々のデータ転送感知回路２０は、対応するフリップフロップ１０のデータ入力端子に入力される「入力信号」と、そのデータ出力端子から出力される「出力信号」の比較を行う。そして、各々のデータ転送感知回路２０は、その比較結果に応じた信号を、上記クロック制御信号ＣＴＲＬとしてクロック自律制御回路５０に出力する。つまり、各データ転送感知回路２０がクロック制御信号ＣＴＲＬを生成し、全てのデータ転送感知回路２０からのクロック制御信号ＣＴＲＬは、バスライン３５を通してクロック自律制御回路５０にフィードバックされる。
【００２５】
図３は、本実施の形態に係る１つのデータ転送感知回路２０の構成例を示す回路図である。図３に示されるように、このデータ転送感知回路２０は、排他的論理和（ＥＸＯＲ）２１、Ｎチャネルトランジスタ２２、及びプルアップ抵抗３０を有している。排他的論理和２１には、フリップフロップ１０のデータ入力端子１１に入力される「入力信号」と、そのデータ出力端子１２から出力される「出力信号」が入力される。これにより、排他的論理和は、その入力信号と出力信号との比較を行うことができる。データ転送感知回路２０は、その排他的論理和の出力に基づいて、クロック制御信号（データ転送感知信号）ＣＴＲＬを生成する。
【００２６】
具体的には、排他的論理和２１の出力は、Ｎチャネルトランジスタ２２のゲートに接続されている。Ｎチャネルトランジスタ２２のソースは接地されており、そのドレインは、プルアップ抵抗３０を介して電源ＶＤＤに接続されている。そして、Ｎチャネルトランジスタ２２のドレインが、データ転送感知回路２０の出力端子として用いられる。すなわち、Ｎチャネルトランジスタ２２とプルアップ抵抗３０は、「オープンドレイン回路」を構成している。そして、このオープンドレイン回路（Ｎチャネルトランジスタ２２）のドレインの電圧が、上記クロック制御信号ＣＴＲＬとして、クロック自律制御回路５０に出力される。
【００２７】
図４は、本実施の形態に係るクロック自律制御回路５０の構成例を示す回路図である。図４に示されるように、このクロック自律制御回路５０は、Ｄ型ラッチ５１を有している。Ｄ型ラッチ５１のデータ入力端子には、クロック信号ＣＬＫが入力される。一方、Ｄ型ラッチ５１のクロック入力端子には、インバータを介して上記バスライン３５が接続されており、上記クロック制御信号ＣＴＲＬが入力される。また、そのＤ型ラッチ５１の出力は、クロックライン５５の始点バッファ５６の入力に接続されている。このように、クロック自律制御回路５０は、クロック制御信号ＣＴＲＬに応じて、クロック信号ＣＬＫをそのまま通過させる、あるいは、情報を保持する。言い換えれば、クロック自律制御回路５０は、クロック制御信号ＣＴＲＬに応じて、クロックライン５５（複数のフリップフロップ１０）へのクロック信号ＣＬＫの供給をＯＮ・ＯＦＦする。
【００２８】
（動作）
図２〜図４を参照して、本発明に係る半導体集積回路装置１の動作を説明する。例えば、フリップフロップ１０ａのデータ入力端子に、データ信号が入力され、フリップフロップ１０ａの入力信号と出力信号が異なる状態になったとする。すなわち、フリップフロップ１０ａにおいてデータ転送が行われるとする。この時、データ転送感知回路２０ａに含まれる排他的論理和２１の出力は、直ちにハイレベルとなり、Ｎチャネルトランジスタ２２がターンオンする。これにより、Ｎチャネルトランジスタ２２のドレイン（Ｎチャネルオープンドレイン）がローレベルとなり、クロック制御信号ＣＴＲＬがローレベルとなる。そのクロック制御信号ＣＴＲＬは、バスライン３５及びインバータを通して、Ｄ型ラッチ５１のクロック入力端子に入力される。つまり、Ｄ型ラッチ５１のクロック入力端子にハイレベルの信号が入力され、そのＤ型ラッチ５１は「スルー状態」となる。その結果、クロックライン５５にクロック信号ＣＬＫが供給され、そのクロック信号ＣＬＫはフリップフロップ１０ａのクロック入力端子に入力され、データ転送が行われる。
【００２９】
他のフリップフロップ１０（１０ｂ、１０ｃ）に関しても同様である。つまり、本発明に係る半導体集積回路装置１によれば、複数のフリップフロップ１０のいずれかにおいてデータ転送が行われる場合、対応するデータ転送感知回路２０がそのデータ転送を検知し、クロック制御信号（データ転送感知信号）ＣＴＲＬを出力する。クロック自律制御回路５０は、そのクロック制御信号ＣＴＲＬに応じて、クロックライン５５へのクロック信号ＣＬＫの供給を自動的に開始する。
【００３０】
また、全てのフリップフロップ１０において、入力信号と出力信号が同じであるとする。すなわち、クロックライン５５につながるいずれのフリップフロップ１０においてもデータ転送が行われていないとする。この時、いずれのデータ転送感知回路２０に含まれる排他的論理和２１の出力も、ローレベルとなり、Ｎチャネルトランジスタ２２がターンオフする。これにより、Ｎチャネルトランジスタ２２のドレインがハイインピーダンス状態となる。全てのデータ転送感知回路２０（２０ａ〜２０ｃ）が同じ状態となる。よって、バスライン３５上のクロック制御信号ＣＴＲＬがハイレベルとなる。これにより、Ｄ型ラッチ５１のクロック入力端子にローレベルの信号が入力され、そのＤ型ラッチ５１は「ラッチ状態」となる。その結果、クロックライン５５の対するクロック信号ＣＬＫの供給が停止し、内部回路はクロック休止状態となる。
【００３１】
以上に説明されたように、本発明に係る半導体集積回路装置１によれば、クロックライン５５全体でデータ転送が行われていない時は、複数のフリップフロップ１０へのクロック信号ＣＬＫの供給が、クロックライン５５の根元（始点）から自動的に停止され、データが入力されれば、データ転送が自動的に開始される。言い換えれば、クロック制御対象である回路全体で機能が完全に停止しているときのみ、クロックライン５５へのクロック信号ＣＬＫの供給を停止し、その一部分でも動作したときには直ちにクロックを始動することが可能となる。
【００３２】
（効果）
以上に説明されたように、本発明に係る半導体集積回路装置１によれば、機能が完全に停止している場合に、クロックライン５５へのクロック信号ＣＬＫの供給が停止するように制御される。従って、各フリップフロップ１０のクロック入力端子につながる２つのドライバ（図１参照）の状態変化が抑制される。その結果、消費電力が低減される。ここで、そのクロックの制御は、クロック自律制御回路５０によって自動的に実行される。つまり、外部システムからのクロック制御信号が必要なくなる。従って、外部端子の増加が防止される。
【００３３】
また、本発明によれば、そのクロック制御回路５０は、クロックライン５５の始点に設けられており、クロック信号ＣＬＫの供給は、クロックライン５５の根元から止められる。クロック制御対象である回路全体で機能が完全に停止しているときのみ、クロックライン５５へのクロック信号ＣＬＫの供給を停止し、その一部分でも動作したときには直ちにクロックを始動することが可能となる。複数のフリップフロップ１０毎にクロック自律制御回路５０を設ける必要がないので、半導体集積回路装置１の消費電力を低減するために必要なブロックの数の増加が抑制される。また、ゲート数の増加も抑制される。フリップフロップ１０の消費電力を抑制するための回路ブロックは、必要最小限に抑えられる。よって、効率的に消費電力を低減することが可能となる。
【００３４】
更に、本発明に係る半導体集積回路装置１によれば、Ｄ型ラッチ回路５１のデータ入力端子にはクロック信号ＣＬＫが入力され、そのクロック入力端子には上記クロック制御信号ＣＴＲＬが入力される。従って、そのＤ型ラッチ回路５１のクロック入力端子につながる２つのドライバ（図１参照）の動作も抑制される。つまり、クロック自律制御回路５０自身の消費電力をも低減することが可能となる。言い換えれば、フリップフロップ１０の消費電力を低減するための回路自身の消費電力も低減される。また、通常、クロック制御回路５０が制御するクロックライン５５では、フリップフロップの極性が一致している。よって、クロック制御回路５０で制御されたクロックライン５５では、クロックの立ち下り、立ち上がりのどちらか一方で、外部端子からのクロック信号ＣＬＫと同期が採れていればよい。クロック制御回路５０がＤ型ラッチ回路５１で構成されている場合、クロックライン５５では、クロックの立ち下り、立ち上がりのどちらか一方で、外部端子からのクロック信号ＣＬＫと同期が採れている。よって、クロック制御回路５０がＤ型ラッチ回路５１を含むと好適である。
【００３５】
また、本発明に係るデータ転送感知回路２０とクロック自律制御回路５０は、基本的な論理ブロックで構成される。よって、本発明を任意の回路に適用することが可能である。例えば、本発明に係る構成は、ストラクチャードＡＳＩＣ（Application Specific Integrated Circuit）に適用されると好適である。
【００３６】
（変形例）
尚、本実施の形態に係る半導体集積回路装置１において、図３に示されたデータ転送感知回路２０の代わりに、図５に示されるデータ転送感知回路２０’が用いられてもよい。このデータ転送感知回路２０’は、排他的論理和（ＥＸＯＲ）２１、インバータ２３、Ｐチャネルトランジスタ２４、及びプルダウン抵抗３１を有している。排他的論理和２１には、フリップフロップ１０のデータ入力端子１１に入力される入力信号と、そのデータ出力端子１２から出力される「出力信号」が入力される。排他的論理和２１の出力は、インバータ２３を介して、Ｐチャネルトランジスタ２４のゲートに接続されている。Ｐチャネルトランジスタ２２のソースは電源ＶＤＤに接続されており、そのドレインは、プルダウン抵抗３１を介して接地されている。そして、Ｐチャネルトランジスタ２２のドレインが、データ転送感知回路２０’の出力端子として用いられる。すなわち、Ｐチャネルトランジスタ２４とプルダウン抵抗３１は、「オープンドレイン回路」を構成している。
【００３７】
このオープンドレイン回路（Ｐチャネルトランジスタ２４）のドレインの電圧が、上記クロック制御信号ＣＴＲＬとして、クロック自律制御回路５０に出力される。そのクロック制御信号ＣＴＲＬのレベルは、図３に示され場合と逆になる。よって、本変形例においては、図４に示されたクロック自律制御回路５０の代わりに、図６に示されるクロック自律制御回路５０’が用いられる。このクロック自律制御回路５０’は、Ｄ型ラッチ５２を有している。Ｄ型ラッチ５２のデータ入力端子には、クロック信号ＣＬＫが入力される。一方、Ｄ型ラッチ５２のクロック入力端子には、バスライン３５が接続されており、上記クロック制御信号ＣＴＲＬが入力される。また、そのＤ型ラッチ５２の出力は、クロックライン５５の始点バッファ５６の入力に接続されている。このように、クロック自律制御回路５０’は、クロック制御信号ＣＴＲＬに応じて、クロック信号ＣＬＫをそのまま通過させる、あるいは、情報を保持する。言い換えれば、クロック自律制御回路５０’は、クロック制御信号ＣＴＲＬに応じて、クロックライン５５（複数のフリップフロップ１０）へのクロック信号ＣＬＫの供給をＯＮ・ＯＦＦする。
【００３８】
当業者にとって明らかなように、本変形例による半導体集積回路装置１も、上述と同様の動作を行う。よって、上述と同様の効果が得られる。
【００３９】
（第２の実施の形態）
図７は、本発明に第２の実施の形態に係る半導体集積回路装置の一部の構成を示す回路ブロック図である。本実施の形態の説明において、第１の実施の形態と同様の構成に対する説明は適宜省略される。
【００４０】
図７に示されるように、本実施の形態において、複数のフリップフロップ１０は、直列に接続されたフリップフロップ群１０−１〜１０−３を含んでいる。本実施の形態に係るデータ転送感知回路２０の構成は、図３に示された構成と同様である。但し、排他的論理和２１には、初段のフリップフロップ１０−１のデータ入力端子１１に入力される「入力信号」と、最終段のフリップフロップ１０−３のデータ出力端子１２から出力される「出力信号」が入力される。排他的論理和２１は、それら入力信号及び出力信号を比較することによって、このフリップフロップ群１０−１〜１０−３におけるデータ転送を検知する。
【００４１】
本実施の形態に係るクロック自律制御回路５０の構成は、図４に示された構成と同様である。つまり、Ｄ型ラッチ５１の状態は、クロック制御信号ＣＴＲＬのレベルに応じて、「スルー状態」と「ラッチ状態」のいずれかに切り替えられる。これにより、クロックライン５５全体でデータ転送が行われていない時は、複数のフリップフロップ１０へのクロック信号ＣＬＫの供給が、クロックライン５５の根元（始点）から自動的に停止され、データが入力されれば、データ転送が自動的に開始される。
【００４２】
本実施の形態によれば、第１の実施の形態と同様の効果が得られる。更に、ゲート数を節約できるという追加的な効果が得られる。よって、クロック信号ＣＬＫの供給を制御する対象であるフリップフロップ１０の数が多い場合に、本実施の形態は特に好適である。また、図５及び図６に示されたデータ転送感知回路２０’及びクロック自律制御回路５０’を、本実施の形態に適用することも可能である。
【００４３】
（第３の実施の形態）
図８は、本発明に第３の実施の形態に係る半導体集積回路装置の一部の構成を示す回路ブロック図である。本実施の形態の説明において、第１の実施の形態と同様の構成に対する説明は適宜省略される。
【００４４】
本実施の形態に係る半導体集積回路装置は、複数のフリップフロップ１０−１〜１０−ｎを備えている。クロック信号ＣＬＫは、クロックバッファ５７を有するクロックライン５５を通して、複数のフリップフロップ１０−１〜１０−ｎのそれぞれに分配される。クロックライン５５の始点には、Ｄ型ラッチ５１（クロック自律制御回路）が設けられている。つまり、このＤ型ラッチ５１のデータ入力端子には、クロック信号ＣＬＫが入力され、そのクロック入力端子には、バスライン３５を通してクロック制御信号ＣＴＲＬが入力される。このＤ型ラッチ５１は、クロック制御信号ＣＴＲＬのレベルに応じて、クロックライン５５の根元からクロック信号の供給をＯＮ・ＯＦＦする。
【００４５】
本実施の形態に係る半導体集積回路装置は、データ転送感知回路２０’’を備えている。図８に示されるように、このデータ転送感知回路２０’’は、複数のフリップフロップ１０−１〜１０−ｎの各々に接続されている。具体的には、このデータ転送感知回路２０’’は、複数の排他的論理和（ＥＸＯＲ）２１−１〜２１−ｎと、それら複数の排他的論理和２１−１〜２１−ｎの出力に接続された多入力ＯＲ回路２５とを有している。複数の排他的論理和２１−１〜２１−ｎのそれぞれは、複数のフリップフロップ１０−１〜１０−ｎのそれぞれの入力信号及び出力信号を入力とする。各排他的論理和２１の出力は、多入力ＯＲ回路に入力される。多入力ＯＲ回路の出力は、クロック制御信号ＣＴＲＬとしてＤ型ラッチ５１にフィードバックされる。
【００４６】
このように、データ転送感知回路２０’’は、複数のフリップフロップ１０−１〜１０−ｎのそれぞれの入力信号及び出力信号の比較を行い、いずれかのフリップフロップ１０におけるデータ転送を検知する。その比較結果に応じた信号は、クロック制御信号ＣＴＲＬとしてＤ型ラッチ５１に出力される。いずれかのフリップフロップ１０において入力信号と出力信号が異なる場合、すなわち、いずれかのフリップフロップ１０においてデータ転送が実行されるとき、多入力ＯＲ回路２５の出力はハイレベルになる。これにより、クロック制御信号ＣＴＲＬもハイレベルとなり、Ｄ型ラッチ５１は「スルー状態」となる。その結果、クロックライン５５へのクロック信号ＣＬＫの供給が開始する。いずれのフリップフロップ１０−１〜１０−ｎにおいてもデータ転送が行われない場合、クロック制御信号ＣＴＲＬはローレベルとなり、Ｄ型ラッチ５１は「ラッチ状態」となる。その結果、クロックライン５５へのクロック信号ＣＬＫの供給が停止する。
【００４７】
本実施の形態によれば、第１の実施の形態と同様の効果が得られる。更に、オープンドレイン回路が使用されないので、貫通電流を気にする必要がなくなるという追加的な効果が得られる。よって、フリップフロップ１０の動作頻度が高いモジュールに、本実施の形態が適用されると好適である。
【００４８】
（第４の実施の形態）
図９は、本発明の第４の実施の形態に係るクロック自律制御回路５０’’の構成を示す回路ブロック図である。本実施の形態の説明において、第１の実施の形態と同様の構成に対する説明は適宜省略される。
【００４９】
図９に示されるように、このクロック自律制御回路５０’’は、フリップフロップ５３と、ＡＮＤ回路５４とを有している。フリップフロップ５３のデータ入力端子には、バスライン３５を通してクロック制御信号ＣＴＲＬが供給され、そのクロック入力端子には、クロック信号ＣＬＫが入力される。ＡＮＤ回路５４の入力には、そのフリップフロップ５３からの出力、及びクロック信号ＣＬＫが入力される。ＡＮＤ回路５４の出力は、クロックライン５５の始点バッファ５６に入力される。
【００５０】
このような構成により、クロックライン５５へのクロック信号ＣＬＫの供給を、クロック信号ＣＬＫと同期して制御することが可能となる。すなわち、本実施の形態によれば、同期式のクロック自律制御回路５０’’が実現される。これにより、クロック始動時の誤動作を防止することが可能となる。尚、既出の実施の形態において、クロック自律制御回路５０、５０’の代わりに、本実施の形態に係るクロック自律制御回路５０’’が用いられてもよい。
【００５１】
（第５の実施の形態）
図１０は、本発明の第５の実施の形態に係る半導体集積回路装置の構成を示す回路図である。本実施の形態の説明において、既出の実施の形態と同様の構成に対する説明は適宜省略される。
【００５２】
本実施の形態に係る半導体集積回路装置１００は、複数のモジュールを備えている。例えば、図１０に示されるように、半導体集積回路装置１００は、第１モジュール１０１、第２モジュール１０２、及び第３モジュール１０３を有している。各モジュールには、バッファ１１０を通して、クロック信号ＣＬＫが供給される。ここで、フリップフロップ１０の動作頻度は、モジュール毎に偏っているとする。例えば、第３モジュール１０３の動作頻度は、第１モジュール１０１や第２モジュール１０２の動作頻度より高いとする。
【００５３】
本実施の形態によれば、既出の実施の形態によるデータ転送感知回路２０及びクロック自律制御回路５０が、モジュールごとに適用される。例えば、動作頻度の比較的低い第１モジュール１０１及び第２モジュール１０２には、既出のデータ転送感知回路２０及びクロック自律制御回路５０が適用される。これにより、第１モジュール１０１及び第２モジュール１０２における消費電力が低減される。また、動作頻度の比較的高い第３モジュール１０３には、既出の実施の形態は適用されない。よって、第３モジュール１０３が有する複数のフリップフロップ１０には、クロック信号ＣＬＫがそのまま供給される。
【００５４】
このように、本実施の形態によればモジュール毎にクロック供給の制御が実行されるので、半導体集積回路装置１００全体として消費電力を効率的に低減することが可能となる。特に、本実施の形態は、モジュールごとに動作頻度が偏っている場合に適用されると好適である。また、第１モジュール１０１及び第２モジュールには、既出の第１〜第４の実施の形態及び変形例のいずれも適用可能である。それにより、既出の実施の形態と同様の効果が得られる。
【００５５】
（第６の実施の形態）
図１１は、本発明の第６の実施の形態に係る半導体集積回路装置の設計を示す概念図である。本実施の形態の説明において、既出の実施の形態と同様の構成に対する説明は適宜省略される。
【００５６】
図１１に示されるように、この半導体集積回路装置２００の設計において、内部回路領域はメッシュ状に区分けされており、その内部回路領域にはクロックツリー（ＣＴＳ；Clock Tree Synthesis）が形成されている。メッシュ状に区分けされた各領域には、予め準備されたセルが配置される。例えば、第１領域２０１には、埋め込みフリップフロップ２１０が配置される。この埋め込みフリップフロップ２１０には、フリップフロップ１０に加えて上記データ転送感知回路２０が予め組み込まれている。また、第２領域２０２には、埋め込みＣＴＳ２２０が配置される。この埋め込みＣＴＳ２２０には、クロックバッファ（ＣＴＳバッファ２２１）に加えて、上記クロック自律制御回路５０が予め組み込まれている。このＣＴＳバッファ２２１は、上記クロックライン５５の始点に配置されるクロックライン始点バッファ５６に対応している。つまり、埋め込みＣＴＳ２２０において、クロック自律制御回路５０は、クロックライン始点バッファ５６の前段に予め配置されている。
【００５７】
このような埋め込みフリップフロップ２１０及び埋め込みＣＴＳ２２０は、半導体集積回路装置のレイアウトやＣＴＳに基づいて、適宜配置される。このようにして、本発明に係る半導体集積回路装置２００が容易に設計される。また、図１１に示されるように、上記プルアップ抵抗３０やプルダウン抵抗３１は、チップの周縁部に配置されることが好ましい。これにより、プルアップ抵抗３０やプルダウン抵抗３１が設計時の配線性に影響を及ぼすことが防止される。
【００５８】
また、本発明は、ストラクチャードＡＳＩＣ（Structured Application Specific Integrated Circuit）に適用されてもよい。この場合、図１１に示されたような主要なマクロセルや共通配線を含む構造が、チップ上の下地層にあらかじめ形成される。開発者は、顧客から要求された回路に応じた配線だけを、下地層の上のカスタマイズ層に形成する。これにより、所望のストラクチャードＡＳＩＣが短期間・低コストで開発される。
【００５９】
本実施の形態によれば、配線性に影響を及ぼすことなく、データ転送感知回路２０やクロック自律制御回路５０が適用された半導体集積回路装置２００を容易に設計することが可能となる。既出のいずれの実施の形態に係る半導体集積回路装置を設計する場合も、同様である。
【００６０】
（第７の実施の形態）
図１２は、本発明の第７の実施の形態に係る半導体集積回路装置の構成を示す回路図である。この半導体集積回路装置３００は、複数のフリップフロップ３１０（３１０ａ、３１０ｂ）を備えている。フリップフロップ３１０ａ及び３１０ｂは、任意の組み合わせ回路３４０を介して接続されている。また、各フリップフロップ３１０のクロック入力端子には、クロック信号ＣＬＫが供給される。本実施の形態において、各フリップフロップ３１０は、停止機能付きフリップフロップであり、クロック制御信号ＣＴＲＬに応じてその動作を停止する。例えば、クロック制御信号ＣＴＲＬによってスイッチ回路が切り替わり、クロック入力端子につながる２つのドライバ（図１参照）の動作が停止する。
【００６１】
また、半導体集積回路装置３００は、データ転送感知回路３２０を備えている。データ転送感知回路３２０は、排他的論理和３２１ａ、３２１ｂ、Ｎチャネルトランジスタ３２２ａ、３２２ｂ、及びプルアップ抵抗３３０を有している。排他的論理和３２１ａの入力は、停止機能付きフリップフロップ３１０ａに接続され、その出力はＮチャネルトランジスタ３２２ａのゲートに接続されている。Ｎチャネルトランジスタ３２２ａとプルアップ抵抗３３０は、オープンドレイン回路を構成している。また、排他的論理和３２１ｂの入力は、停止機能付きフリップフロップ３１０ｂに接続され、その出力はＮチャネルトランジスタ３２２ｂのゲートに接続されている。Ｎチャネルトランジスタ３２２ｂとプルアップ抵抗３３０も、オープンドレイン回路を構成している。尚、上記変形例のように、Ｎチャネルトランジスタの代わりにＰチャネルトランジスタが用いられ、プルアップ抵抗３３０の代わりにプルダウン抵抗が用いられてもよい。
【００６２】
排他的論理和３２１ａは、停止機能付きフリップフロップ３１０ａのデータ入力端子３１１ａに入力される入力信号と、そのデータ出力端子３１２ａから出力される出力信号を比較する。その比較結果に基づいて、停止機能付きフリップフロップ３１０ａにおいてデータ転送が行われるかどうかが検出される。また、排他的論理和３２１ｂは、停止機能付きフリップフロップ３１０ｂのデータ入力端子３１１ｂに入力される入力信号と、そのデータ出力端子３１２ｂから出力される出力信号を比較する。その比較結果に基づいて、停止機能付きフリップフロップ３１０ｂにおいてデータ転送が行われるかどうかが検出される。データ転送が行われるか否かに拠って、各Ｎチャネルトランジスタ３２２のドレインのレベルが変化する。
【００６３】
各Ｎチャネルトランジスタ３２２のドレインの電圧は、上記クロック制御信号ＣＴＲＬとして、バスライン３３５を通して各停止機能付きフリップフロップ３１０にフィードバックされる。各停止機能付きフリップフロップ３１０は、複数の停止機能付きフリップフロップ３１０ａ、３１０ｂのいずれかにおける入力信号と出力信号が異なる場合、すなわち、複数の停止機能付きフリップフロップ３１０ａ、３１０ｂのいずれかにおいてデータ転送が行われる場合にのみ、動作する。いずれの停止機能付きフリップフロップ３１０ａ、３１０ｂにおいてもデータ転送が行われない場合、各停止機能付きフリップフロップ３１０の動作は停止する。
【００６４】
本実施の形態に係る半導体集積回路装置３００によれば、第１の実施の形態と同様の効果が得られる。更に、より簡易な構成によって、消費電力の低減を実現できるという追加的な効果が得られる。尚、本実施の形態で示された停止機能付きフリップフロップ３１０は、既出の全ての実施の形態に対しても、同様に適用され得る。
【図面の簡単な説明】
【００６５】
【図１】図１は、一般的なフリップフロップの構成を示す回路図である。
【図２】図２は、本発明の第１の実施の形態に係る半導体集積回路装置の構成を示す回路図である。
【図３】図３は、本発明の第１の実施の形態に係る半導体集積回路装置におけるデータ転送感知回路の構成を示す回路図である。
【図４】図４は、本発明の第１の実施の形態に係る半導体集積回路装置におけるクロック自律制御回路の構成を示す回路図である。
【図５】図５は、本発明の第１の実施の形態に係る半導体集積回路装置におけるデータ転送感知回路の他の構成を示す回路図である。
【図６】図６は、本発明の第１の実施の形態に係る半導体集積回路装置におけるクロック自律制御回路の他の構成を示す回路図である。
【図７】図７は、本発明の第２の実施の形態に係る半導体集積回路装置におけるデータ転送感知回路の構成を示す回路図である。
【図８】図８は、本発明の第３の実施の形態に係る半導体集積回路装置におけるデータ転送感知回路の構成を示す回路図である。
【図９】図９は、本発明の第４の実施の形態に係る半導体集積回路装置におけるクロック自律制御回路の他の構成を示す回路図である。
【図１０】図１０は、本発明の第５の実施の形態に係る半導体集積回路装置の構成を示す回路図である。
【図１１】図１１は、本発明の第６の実施の形態に係る半導体集積回路装置の設計を示す概念図である。
【図１２】図１２は、本発明の第７の実施の形態に係る半導体集積回路装置の構成を示す回路図である。
【符号の説明】
【００６６】
１    半導体集積回路装置
２    データ入力端子
４    クロック入力端子
３、５、６、８    バッファ
７、８    データ出力端子
１０    フリップフロップ
２０    データ転送感知回路
２１    排他的論理和（ＥＸＯＲ）
２２    Ｎチャネルトランジスタ
２３    インバータ
２４    Ｐチャネルトランジスタ
２５    多入力ＯＲ回路
３０    プルアップ抵抗
３１    プルダウン抵抗
３５    バスライン
４０    組み合わせ回路
５０    クロック自律制御回路
５１、５２    Ｄ型ラッチ回路
５３    フリップフロップ
５４    ＡＮＤ回路
５５    クロックライン
５６    クロックライン始点バッファ
５７    バッファ
１００    半導体集積回路装置
１０１    第１モジュール
１０２    第２モジュール
１０３    第３モジュール
１１０    バッファ
２００    半導体集積回路装置
２０１    第１領域
２０２    第２領域
２０３    第３領域
２１０    埋込みフリップフロップ
２２０    埋込みＣＴＳ
２２１    ＣＴＳバッファ
３００    半導体集積回路装置
３１０    停止機能付フリップフロップ
３２０    データ転送感知回路
３２１    排他的論理和（ＥＸＯＲ）
３２２    Ｎチャネルトランジスタ
３３０    プルアップ抵抗
３３５    バスライン
３４０    組み合わせ回路
【図１】
2006229745.tif 000003
【図２】
2006229745.tif 000004
【図３】
2006229745.tif 000005
【図４】
2006229745.tif 000006
【図５】
2006229745.tif 000007
【図６】
2006229745.tif 000008
【図７】
2006229745.tif 000009
【図８】
2006229745.tif 000010
【図９】
2006229745.tif 000011
【図１０】
2006229745.tif 000012
【図１１】
2006229745.tif 000013
【図１２】
2006229745.tif 000014