(57)【特許請求の範囲】
【請求項１】
直列に接続された１又は複数の論理セルを有する組み合わせ論理回路を備える半導体集積回路装置であって、
前記論理セルの少なくとも１つは、
ＭＩＳトランジスタにより構成され、前段からの出力信号が入力信号として入力される入力端子と、この入力信号に基づいて、予め定められた論理演算を行い、その論理演算結果を出力信号として出力する出力端子とを有する、スタンダードセルと、
前記スタンダードセルの前記出力端子と、第１電源電圧との間に設けられ、回路制御信号が入力される制御端子を有し、前記回路制御信号に基づいて、前記スタンダードセルを演算停止状態にするために前記スタンダードセルの前記出力端子に前記第１電源電圧を供給する第１導電型の第１ＭＩＳトランジスタと、
前記スタンダードセルと第２電源電圧との間に設けられ、前記回路制御信号が入力される制御端子を有し、前記回路制御信号に基づいて、前記スタンダードセルを演算停止状態にするために前記スタンダードセルを構成するＭＩＳトランジスタのリーク電流を遮断する第２導電型の第２ＭＩＳトランジスタと、
を備え、
当該半導体集積回路装置は、
前記組み合わせ論理回路からの出力信号が入力されるフリップフロップ回路をさらに備え、
前記フリップフロップ回路は、
前記組み合わせ論理回路からの出力信号が入力されるデータ入力端子と、前記回路制御信号とクロック信号の論理積をとった論理積信号が入力される制御端子とを有する、マスターラッチ回路と、
前記マスターラッチ回路からの出力信号が入力されるデータ入力端子と、前記クロック信号とが入力される制御端子と、
を備えることを特徴とする半導体集積回路装置。
【請求項２】
前記組み合わせ論理回路からの出力信号が入力されるクロックゲーティング回路を、さらに備えており、
前記クロックゲーティング回路は、
前記組み合わせ論理回路の出力信号と、前記回路制御信号とが入力され、前記回路制御信号がハイレベルの場合には、前記組み合わせ論理回路の出力信号を出力し、前記回路制御信号がローレベルの場合には、ローレベルの出力信号を出力する、第１ゲーティング論理回路と、
前記第１ゲーティング論理回路からの出力信号が入力され、システムクロック信号に同期して、前記第１ゲーティング論理回路からの出力信号を出力する、ラッチ回路と、
前記ラッチ回路からの出力信号が入力され、前記システムクロック信号に同期して、前記ラッチ回路からの出力信号を出力する、第２ゲーティング論理回路と、
を備えることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
前記第１ゲーティング論理回路は、前記組み合わせ論理回路の出力信号と、前記回路制御信号との論理積をとった信号を出力し、
前記第２ゲーティング論理回路は、前記第１ゲーティング論理回路からの出力信号と、前記システムクロック信号との論理積をとった信号を出力する、
ことを特徴とする請求項２に記載の半導体集積回路装置。
【請求項４】
前記組み合わせ論理回路からの出力信号が入力されるクロックゲーティング回路を、さらに備えており、
前記クロックゲーティング回路は、
前記回路制御信号が入力されるマルチプレクサであって、前記組み合わせ論理回路の出力信号と、当該マルチプレクサの出力信号とが入力され、前記回路制御信号がハイレベルの場合には、前記組み合わせ論理回路の出力信号を出力し、前記回路制御信号がローレベルの場合には、当該マルチプレクサの出力信号を出力する、マルチプレクサと、
前記マルチプレクサからの出力信号が入力され、システムクロック信号に同期して、前記マルチプレクサからの出力信号を出力する、ラッチ回路と、
前記ラッチ回路からの出力信号が入力され、前記システムクロック信号に同期して、前記ラッチ回路からの出力信号を出力する、第３ゲーティング論理回路と、
を備えることを特徴とする請求項１に記載の半導体集積回路。
【請求項５】
前記第１ＭＩＳトランジスタは、前記組み合わせ論理回路の中の最終段の論理セルに設けられている、ことを特徴とする請求項１乃至請求項４のいずれかに記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に関し、特に、組み合わせ論理回路を有する半導体集積回路装置に関する。
【背景技術】
【０００２】
Uvigharaらは、ISSCC2004 Digest of Technical Papers(23.3) Feb,2004及びSlide Supplements(23.3)〔非特許文献１〕の中で、リーク電流削減方法を示している。
【０００３】
この非特許文献１に開示されたリーク電流削減方法においては、通常の論理セルと、フットスイッチ付きの論理セルという、２種類の論理セルを用意している。通常の論理セルは、高い閾値電圧(HVT)のトランジスタのみで構成されているが、フットスイッチ付きの論理セルは、低い閾値電圧(LVT)のトランジスタで構成されたスタンダードセルと高い閾値(HVT)のトランジスタで構成されたフットスイッチとにより構成されている。
【０００４】
このとき、フットスイッチ付きの論理セルは、高い閾値電圧のトランジスタのみで構成された通常の論理セルに比べて高速に動作することができるが、フットスイッチがオンしているときのリーク電流は、通常の論理セルより大きい。
【０００５】
そして、非特許文献１では、これら通常の論理セルとフットスイッチ付きの論理セルとを混在させて、組み合わせ論理回路を構成する。その際、できるだけ通常の論理セルを使うように心がけ、速度要求が満たせない場合のみ、フットスイッチ付きの論理セルを用いるようにしている。
【０００６】
一般に、半導体集積回路の内部には、複数のクロックドメインがある。動作する必要のない部分に対応するクロックドメインのクロック信号の供給を停止して、低消費電力化を計ることが行われており、このような技術は、ゲーテッドクロック、もしくはクロックゲーテリングと呼ばれている。
【０００７】
特定のクロックドメインにクロック信号を供給するか否かの制御は、クロックツリーの途中に設けられている制御回路が行う。クロック信号の供給が停止しているときには、そのクロックドメインの組み合わせ論理回路も停止するので、この組み合わせ論理回路にフットスイッチ付きの論理セルが設けられている場合には、このフットスイッチをオフにしてリーク電流の削減を図ることができる。フットスイッチ付きの論理セルのフットスイッチをオン／オフするために、制御回路はその制御信号をフットスイッチに供給する必要がある。
【０００８】
しかしながら、組み合わせ論理回路が演算を終える前に、組み合わせ論理回路のフットスイッチをオフにしてしまうと、適正な演算結果が得られないことがあるので、非特許文献１においても、クロック信号の供給を停止してから数サイクル後にフットスイッチをオフし、フットスイッチをオンしてから数サイクル後にクロック信号を供給するようにしている。
【０００９】
非特許文献１においては、この遅延サイクル数は事後的に調整可能な構成としている。つまり、組み合わせ論理回路の設計時には、どの程度の長さの遅延サイクル数が必要となるか予測が困難であるため、製造後に、遅延サイクル数の値を設定することを示唆している。なぜなら、この遅延サイクル数の設定は、集積回路の動作中の待ち時間に相当するため、必要最小限の長さにしたいからである。
【００１０】
これらのことから分かるように、非特許文献１には大きく分けて３つの問題点がある。1つめは、クロック信号を供給／停止するアクティブ／スタンバイの切替に、比較的長い遅延サイクルが必要であり、その制御に複雑なハードウエアが必要となることである。2つめは、設計段階において、組み合わせ論理回路から適正な演算結果を得るために必要となる遅延サイクル数を見積もることが困難であり、製造後に遅延サイクル数の調整が必要になることである。３つめは、この設定すべき遅延サイクル数は、製造プロセスのばらつきにより、製品毎に異なる可能性もあり、その調整に要する負担が極めて大きくなることである。
【非特許文献１】ISSCC2004 Digest of Technical Papers(23.3) Feb,2004及びSlide Supplements(23.3)
【発明の開示】
【発明が解決しようとする課題】
【００１１】
そこで本発明は、前記課題に鑑みてなされたものであり、設計段階において、組み合わせ論理回路から適正な演算結果を得るために必要となる遅延サイクル数を見積もることが可能な半導体集積回路装置を提供しつつ、回路の簡略化を図ることを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明に係る半導体集積回路装置は、
直列に接続された１又は複数の論理セルを有する組み合わせ論理回路を備える半導体集積回路装置であって、
前記論理セルの少なくとも１つは、
ＭＩＳトランジスタにより構成され、前段からの出力信号が入力信号として入力される入力端子と、この入力信号に基づいて、予め定められた論理演算を行い、その論理演算結果を出力信号として出力する出力端子とを有する、スタンダードセルと、
前記スタンダードセルの前記出力端子と、第１電源電圧との間に設けられ、回路制御信号が入力される制御端子を有し、前記回路制御信号に基づいて、前記スタンダードセルを演算停止状態にするために前記スタンダードセルの前記出力端子に前記第１電源電圧を供給する第１導電型の第１ＭＩＳトランジスタと、
前記スタンダードセルと第２電源電圧との間に設けられ、前記回路制御信号が入力される制御端子を有し、前記回路制御信号に基づいて、前記スタンダードセルを演算停止状態にするために前記スタンダードセルを構成するＭＩＳトランジスタのリーク電流を遮断する第２導電型の第２ＭＩＳトランジスタと、
を備え、
当該半導体集積回路装置は、
前記組み合わせ論理回路からの出力信号が入力されるフリップフロップ回路をさらに備え、
前記フリップフロップ回路は、
前記組み合わせ論理回路からの出力信号が入力されるデータ入力端子と、前記回路制御信号とクロック信号の論理積をとった論理積信号が入力される制御端子とを有する、マスターラッチ回路と、
前記マスターラッチ回路からの出力信号が入力されるデータ入力端子と、前記クロック信号とが入力される制御端子と、
を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、設計段階において、組み合わせ論理回路から適正な演算結果を得るために必要となる遅延サイクル数を見積もることが可能な半導体集積回路装置を提供しつつ、回路の簡略化を図ることができる。
【発明を実施するための最良の形態】
【００１４】
〔第１実施形態〕
図１は、本実施形態に係る半導体集積回路装置における組み合わせ論理回路の回路構成の一例を示す図であり、図２は、図１の半導体集積回路装置の動作タイミングチャートを示す図である。
【００１５】
図１に示すように、本実施形態に係る半導体集積回路装置におけるクロック動作回路は、フリップフロップ回路ＦＦ１０と、組み合わせ論理回路ＣＯＭ１０と、フリップフロップ回路ＦＦ１１とを備えて構成されている。
【００１６】
フリップフロップ回路ＦＦ１０のデータ入力端子Ｄには、データ信号である入力信号ＩＮが入力され、クロック入力端子から入力されたクロック信号ＣＬＫ１に同期して、データ出力端子Ｑから出力信号として出力される。このフリップフロップ回路ＦＦ１０から出力された出力信号は、組み合わせ論理回路ＣＯＭ１０に入力される。
【００１７】
この組み合わせ論理回路ＣＯＭ１０では、予め定めされた所定の論理演算を行い、その論理演算結果が、組み合わせ論理回路ＣＯＭ１０から出力信号として出力される。組み合わせ論理回路ＣＯＭ１０からの出力信号は、フリップフロップ回路ＦＦ１１のデータ入力端子Ｄに入力され、クロック入力端子から入力されたクロック信号ＣＬＫ２に同期して、データ出力端子Ｑから出力信号ＯＵＴとして出力される。
【００１８】
具体的なフリップフロップ回路ＦＦ１０、ＦＦ１１の動作としては、クロック信号ＣＬＫ１およびＣＬＫ２がローレベルからハイレベルに切り替わった際には、データ入力端子Ｄに入力されているデータ信号を取り込んで、データ出力端子Ｑから出力信号として出力するが、クロック信号ＣＬＫ１、ＣＬＫ２がそれ以外の状態である場合には、その出力信号を維持する。
【００１９】
さらに、組み合わせ論理回路ＣＯＭ１０は、所定の論理演算を行うために１または複数の論理セルで構成されており、例えば、図１では４個の論理セルＬＣ１０〜ＬＣ１３で構成されている。各論理セルは、Ｐ型のＭＯＳトランジスタと、論理回路と、Ｎ型のＭＯＳトランジスタで構成されている。
【００２０】
各論理セルは、回路制御信号ＥＮがハイレベルの場合には、Ｎ型のＭＯＳトランジスタがオンになり、Ｐ型のＭＯＳトランジスタがオフになり、論理回路の論理レベルを、その出力端子に出力し、後段の論理セルに入力する。一方、回路制御信号ＥＮがローレベルの場合には、Ｎ型のＭＯＳトランジスタオフになり、Ｐ型のＭＯＳトランジスタがオンになり、論理回路の論理レベルに拘わらず、その出力信号はハイレベルにプルアップされて、後段の論理セルに入力される。
【００２１】
図１に示すように、本実施形態においては、Ｐ型のＭＯＳトランジスタＰＭ１０と、ＮＡＮＤ回路ＮＡ１０と、Ｎ型のＭＯＳトランジスタＮＭ１０とにより、１つの論理セルＬＣ１０を構成しており、Ｐ型のＭＯＳトランジスタＰＭ１１と、ＮＯＲ回路ＮＲ１０と、Ｎ型のＭＯＳトランジスタＮＭ１１とにより、１つの論理セルＬＣ１１を構成しており、Ｐ型のＭＯＳトランジスタＰＭ１２と、ＮＡＮＤ回路ＮＡ１１と、Ｎ型のＭＯＳトランジスタＮＭ１２とにより、１つの論理セルＬＣ１２を構成しており、Ｐ型のＭＯＳトランジスタＰＭ１３と、ＮＡＮＤ回路ＮＡ１２と、Ｎ型のＭＯＳトランジスタＮＭ１３とにより、１つの論理セルＬＣ１３を構成している。このことから分かるように、本実施形態においては、論理セルＬＣ１０〜ＬＣ１３は、いずれも、フットスイッチ付きの論理セルを構成している。
【００２２】
Ｐ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３のソース端子には、それぞれ、第１基準信号ＶＤＤが入力されており、また、これらの制御端子には回路制御信号ＥＮがそれぞれ入力されている。ＮＡＮＤ回路ＮＡ１０の２つの入力端子には、フリップフロップ回路ＦＦ１０の出力信号と、入力信号IN1が入力されている。このＮＡＮＤ回路ＮＡ１０の出力端子と、Ｐ型のＭＯＳトランジスタＰＭ１０のドレイン端子は、ＮＯＲ回路ＮＲ１０の一方の入力端子に接続されている。ＮＯＲ回路ＮＲ１０の他方の入力端子には、入力信号IN2が入力されている。
【００２３】
このＮＯＲ回路ＮＲ１０の出力端子と、Ｐ型のＭＯＳトランジスタＰＭ１１のドレイン端子は、ＮＡＮＤ回路ＮＡ１１の一方の入力端子に接続されている。ＮＡＮＤ回路ＮＡ１１の他方の入力端子には、入力信号IN3が入力されている。このＮＡＮＤ回路ＮＡ１１の出力端子と、Ｐ型のＭＯＳトランジスタＰＭ１２のドレイン端子は、ＮＡＮＤ回路ＮＡ１２の一方の入力端子に接続されている。ＮＡＮＤ回路ＮＡ１２の他方の入力端子は、ＮＡＮＤ回路ＮＡ１０の出力端子と、Ｐ型のＭＯＳトランジスタＰＭ１０のドレイン端子とに接続されている。
【００２４】
ＮＡＮＤ回路ＮＡ１２の出力端子と、Ｐ型のＭＯＳトランジスタＰＭ１３のドレイン端子は、フリップフロップ回路ＦＦ１１のデータ入力端子Ｄに接続されている。Ｎ型のＭＯＳトランジスタＮＭ１０〜ＮＭ１３のソース端子には、それぞれ、グランド電圧の第２基準信号ＧＮＤが入力されており、制御端子には、それぞれ、回路制御信号ＥＮが入力されている。また、Ｐ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３の制御端子にも、それぞれ、回路制御信号ＥＮが入力されている。なお、図示されたＣＯＭ１０は組み合わせ論理回路の1例であって、一般的なＣＭＯＳスタンダードセルによる組み合わせ論理回路に適用可能である。
【００２５】
この回路制御信号ＥＮは、図２から分かるように、クロック信号ＣＬＫ１、ＣＬＫ２を供給する場合には、その立ち上がりエッジに同期してハイレベルになり、クロック信号ＣＬＫ１、ＣＬＫ２を停止する場合には、本来の立ち上がりエッジに同期してローレベルになる信号である。本実施形態においては、回路制御信号ＥＮがハイレベルにある演算可能状態を、アクティブモードと定義し、この回路制御信号ＥＮがローレベルにある演算停止状態を、スリープモードと定義することとする。
【００２６】
なお、Ｐ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３は、本実施形態における第１導電型のＭＯＳトランジスタに相当しており、Ｎ型のＭＯＳトランジスタＮＭ１０〜ＮＭ１３は、本実施形態における第２導電型のＭＯＳトランジスタに相当している。また、Ｐ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３のソース端子に入力されている第１基準信号ＶＤＤの電圧は、本実施形態における第１電源電圧に相当し、Ｎ型のＭＯＳトランジスタＮＭ１０〜ＮＭ１３のソース端子に入力されている第２基準信号ＧＮＤの電圧は、本実施形態における第２電源電圧に相当している。
【００２７】
また、本実施形態においては、ＮＡＮＤ回路ＮＡ１０〜ＮＡ１２と、ＮＯＲ回路ＮＲ１０は、いずれも、予め定められた論理演算を行うスタンダードセルの一例であり、ＭＯＳトランジスタにより構成されている。ＮＡＮＤ回路は、例えば、図３に示すようなＭＯＳトランジスタで構成することができる。この図３の例では、互いに並列に接続されたＰ型のＭＯＳトランジスタＰＭ２０、ＰＭ２１と、これに直列して、互いに直列に接続されたＮ型のＭＯＳトランジスタＮＭ２０、２１とにより、ＮＡＮＤ回路が構成されている。
【００２８】
この図３においては、ＮＡＮＤ回路ＮＡ１０を含む論理セルＬＣ１０の構成を例示しており、このため、Ｐ型のＭＯＳトランジスタＰＭ２１と並列に、プルアップ用のＭＯＳトランジスタＰＭ１０が設けられており、Ｎ型のＭＯＳトランジスタＮＭ２１と第２基準信号ＧＮＤの信号線との間にフットスイッチであるＭＯＳトランジスタＮＭ１０が設けられている。この構成から明らかなように、プルアップ用のＭＯＳトランジスタＰＭ１０がオンになれば、ＮＡＮＤ回路ＮＡ１０の論理出力に拘わらず、出力信号はハイレベルになる。また、フットスイッチであるＭＯＳトランジスタＮＭ１０がオフになれば、ＮＡＮＤ回路ＮＡ１０を構成する内部のＭＯＳトランジスタの状態に拘わらず、リーク電流は遮断される。
【００２９】
ＮＯＲ回路は、例えば、図４に示すようなＭＯＳトランジスタで構成することができる。この図４の例では、互いに直列に接続されたＰ型のＭＯＳトランジスタＰＭ３０、ＰＭ３１と、これに直列して、互いに並列に接続されたＮ型のＭＯＳトランジスタＮＭ３０、ＮＭ３１とにより、ＮＯＲ回路が構成されている。
【００３０】
この図４においては、ＮＯＲ回路ＮＲ１０を含む論理セルＬＣ１１の構成を例示しており、このため、Ｐ型のＭＯＳトランジスタＰＭ３０、ＰＭ３１と並列に、プルアップ用のＭＯＳトランジスタＰＭ１１が設けられており、Ｎ型のＭＯＳトランジスタＮＭ３０、ＮＭ３１と第２基準信号ＧＮＤの信号線との間にフットスイッチであるＭＯＳトランジスタＮＭ１１が設けられている。この構成から明らかなように、プルアップ用のＭＯＳトランジスタＰＭ１１がオンになれば、ＮＯＲ回路ＮＲ１０の論理出力に拘わらず、出力信号はハイレベルになる。また、フットスイッチであるＭＯＳトランジスタＮＭ１１がオフになれば、ＮＯＲ回路ＮＲ１０を構成する内部のＭＯＳトランジスタの状態に拘わらず、リーク電流は遮断される。
【００３１】
なお、ＭＯＳトランジスタＮＭ１０〜ＮＭ１３の閾値電圧を、ＮＡＮＤ回路ＮＡ１０〜ＮＡ１２を構成するＭＯＳトランジスタＰＭ２０、ＰＭ２１、ＮＭ２０、ＮＭ２１と、ＮＯＲ回路ＮＲ１０を構成するＭＯＳトランジスタＰＭ３０、ＰＭ３１、ＮＭ３０、ＮＭ３１を構成するＭＯＳトランジスタの閾値電圧より、高くなるように構成しても良い。このように構成することにより、スタンダードセルであるＮＡＮＤ回路、ＮＯＲ回路の動作速度を速くすることができるとともに、Ｎ型のＭＯＳトランジスタＮＭ１０〜ＮＭ１３で、より確実にリーク電流を遮断することができる。この場合、Ｐ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３の閾値電圧は、Ｎ型のＭＯＳトランジスタＮＭ１０と同じ閾値電圧であってもよいし、これより低い閾値電圧であってもよい。
【００３２】
次に、図２を参照して、図１に示した組み合わせ論理回路ＣＯＭ１０の動作を詳細に説明する。このとき第１基準信号（ＶＤＤ）はハイレベル、第２基準信号（ＧＮＤ）はローレベルであると仮定する。また、ここではＣＬＫ１とＣＬＫ２には同じクロック信号ＣＬＫが入力されたものとする。またIN1及びIN3には第１基準信号（ＶＤＤ）、IN2には第２基準信号（ＧＮＤ）が入力されたものとする。
【００３３】
まず、時刻Ｔ１から時刻Ｔ２の間の第１クロックサイクルでは、回路制御信号ＥＮがハイレベルであるので、組み合わせ論理回路ＣＯＭ１０は通常の論理回路と同様の動作をする。
【００３４】
次の時刻Ｔ２から時刻Ｔ３の間の第２クロックサイクルでは、クロック信号ＣＬＫが立ち上がった後、回路制御信号ＥＮがハイレベルからローレベルに変化して、スリープモードに入る。この結果、ノードＢ、ノードＣ、ノードＤ、ノードＥの４つのノードが、それぞれ、Ｐ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３によりプルアップされて、ハイレベルになる。つまり、スリープモードの場合、論理セルＬＣ１０〜ＬＣ１３のスタンダードセルであるＮＡＮＤ回路ＮＡ１０〜ＮＡ１２、ＮＯＲ回路ＮＲ１０の出力に拘わらず、論理セルＬＣ１０〜ＬＣ１３の出力信号はハイレベルになる。このため、フリップフロップ回路ＦＦ１１のデータ入力端子Ｄへの入力信号も、ハイレベルに固定される。
【００３５】
次の時刻Ｔ３から時刻Ｔ４の第３クロックサイクルでは、回路制御信号ＥＮのローレベルが維持されて、クロック信号ＣＬＫの供給を停止したクロックゲーティング状態が維持される。
【００３６】
次の時刻Ｔ４から時刻Ｔ５の第４クロックサイクルでは、このクロックサイクルの開始直後に、回路制御信号ＥＮがローレベルからハイレベルになり、アクティブモードに変化する。回路制御信号ＥＮがハイレベルになると、Ｐ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３がオフになり、Ｎ型のＭＯＳトランジスタＮＭ１０〜ＮＭ１３がオンになるので、スタンダードセルであるＮＡＮＤ回路ＮＡ１０〜ＮＡ１２、ＮＯＲ回路ＮＲ１０が動作して定められた論理演算を行い、出力端子に、その論理演算結果を出力する。すなわち、ノードＡ〜ノードＥが順次、スリープモードに入る直前の値に復帰する。本実施形態においては、ノードＥの値がスリープモードに入る直前の値に復帰するのは、この第４クロックサイクルの間、つまり、時刻Ｔ５の前である。
【００３７】
次の時刻Ｔ５から時刻Ｔ６の第５クロックサイクルでは、時刻Ｔ５において、クロック信号ＣＬＫがローレベルからハイレベルに変化すると、フリップフロップ回路ＦＦ１１は、データ入力端子Ｄに入力されているノードＥの値を取り込んで、データ出力端子Ｑから出力信号ＯＵＴとして出力する。これにより、フリップフロップ回路ＦＦ１１は、スリープモードに入る直前の値を取り込んで正常に出力信号ＯＵＴとして出力できた状態となる。また、組み合わせ論理回路ＣＯＭ１０は、クロック信号ＣＬＫに同期した通常の動作が可能な状態となる。
【００３８】
なお、プルアップ用のＭＯＳトランジスタのゲート幅は、他のＭＯＳトランジスタのゲート幅に比べて小さくてよい。なぜなら、アクティブモード時、プルアップ用のＭＯＳトランジスタはオフのままであるので、寄生容量の観点からサイズは小さい方がよい。また、そのサイズは、アクティブモードからスリープモードに切り替わる際の切り替え時間に影響を与えるが、その時間はクロック周期程度でよいので、ゲート幅は他のＭＯＳトランジスタに比べて小さくすることができる。
【００３９】
次に、スリープモード時すなわち回路制御信号ＥＮがローレベルの時の論理セルの動作について説明する。例えば、ＮＡＮＤ回路で構成された論理セルＬＣ１３は、図３に示す回路構成であり、スリープモード時すなわち回路制御信号ＥＮがローレベルの時、入力信号１（ノードＢ）および入力信号２（ノードＤ）はハイレベルとなる。また、出力信号（ノードＥ）もハイレベルとなる。このとき、ＭＯＳトランジスタＮＭ２０，ＮＭ２１のソース電位は、電源電圧ＶＤＤからＭＯＳトランジスタＮＭ２０（ＮＭ２１）の閾値電圧だけ下がった電位となる。
【００４０】
そして、論理セルＬＣ１３におけるゲートリーク電流の多くは、ＭＯＳトランジスタＮＭ１０のドレインからゲートに流れるものとなる。これは、ＮＡＮＤ回路を構成するトランジスタの各端子すべての電位はハイレベルとなり電位差がなく、ＭＯＳトランジスタＮＭ２０，ＮＭ２１のゲートソース間の電位差は閾値電圧程度の小さな値となるからである。また、ＭＯＳトランジスタＰＭ１０は、他のトランジスタに比べ、比較的小さいゲート幅での設計が可能であるため、ゲートリーク電流は小さい。
【００４１】
したがって、回路制御信号ＥＮがローレベルの時のゲートリーク電流の多くは、ＭＯＳトランジスタＮＭ１０におけるものであり、ＭＯＳトランジスタＮＭ１０におけるゲート−ドレイン間の電位差は、電源電圧ＶＤＤ分ではなく、電源電圧ＶＤＤから閾値電圧分だけ小さくなったものとなるため、ゲートリーク電流を削減することができる。
【００４２】
以上のように、本実施形態に係る半導体集積回路装置によれば、スリープモードからアクティブモードに切り替えるために、回路制御信号ＥＮをローレベルからハイレベルに切り替えた場合、その次のクロックサイクルから、組み合わせ論理回路ＣＯＭ１０がクロック信号ＣＬＫに同期した通常の動作をすることができるようになる。すなわち、図２の例では、時刻Ｔ４から時刻Ｔ５の第４クロックサイクルにおいて回路制御信号ＥＮをハイレベルにして、次の時刻Ｔ５からは、組み合わせ論理回路ＣＯＭ１０は正常な論理演算結果を論理レベルとして出力することができるようになる。このため、スリープモードにおいて、回路制御信号ＥＮをローレベルにすることができる時間を長くすることができ、組み合わせ論理回路ＣＯＭ１０のリーク電流による電力消費を低減することができるようになる。
【００４３】
また、本実施形態に係る半導体集積回路装置によれば、スリープモード時のゲートリーク電流を小さくすることができる。尚、後述の実施例においても、プルアップ用トランジスタを含む論理セルでは、回路制御信号ＥＮがローレベル、他の入力信号がハイレベルの時、同様の効果を得ることができる。
【００４４】
また、本実施形態に係る半導体集積回路装置によれば、スリープモードにおける論理セルＬＣ１０〜ＬＣ１３の出力信号がハイレベルであると確定することができるので、スリープモードからアクティブモードに移行する際（回路制御信号ＥＮをローレベルからハイレベルに切り替えた後）における、これら論理セルＬＣ１０〜ＬＣ１３の動作タイミングを、既存の解析ツールを用いて、解析することができる。既存の解析ツールを用いれば、回路制御信号ＥＮがハイレベルになった後、ノードＥの値が確定するまでに必要な時間を求めることができ、クロック信号ＣＬＫが次にハイレベルになるまでに、ノードＥの値が確定しているかどうかを検証することができる。つまり、この半導体集積回路装置の設計段階において、回路制御信号ＥＮがハイレベルになった次のクロックサイクルまでに、この組み合わせ論理回路ＣＯＭ１０の出力論理レベルが確定しているかどうかを検証することができ、これまでのように製品製造後に遅延サイクル数を調整する必要がなくなる。
【００４５】
〔第２実施形態〕
第２実施形態では、ゲーティングされたクロック信号ＣＬＫを、ＯＲ回路とフリップフロップ回路とにより生成するようにしたものである。以下、上述した第１実施形態と異なる部分を説明する。
【００４６】
図５は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図６は、図５の半導体集積回路装置の動作タイミングチャートを示す図である。
【００４７】
図５に示すように、本実施形態に係る半導体集積回路装置は、上述した第１実施形態の半導体集積回路装置に、フリップフロップ回路ＦＦ２０とＯＲ回路ＯＲ２０とインバータ回路ＩＮ２０を追加することにより構成されている。
【００４８】
フリップフロップ回路ＦＦ２０のクロック入力端子には、システムクロック信号ＳｙｓＣＬＫが入力されており、データ入力端子Ｄには、クロック制御データ信号ＥｎＣＬＫＤが入力されている。図６から分かるように、このフリップフロップ回路ＦＦ２０は、システムクロック信号ＳｙｓＣＬＫがローレベルからハイレベルに切り替わった際のクロック制御データ信号ＥｎＣＬＫＤの値を、クロック制御信号ＥｎＣＬＫとして出力する。このフリップフロップ回路ＦＦ２０により、システムクロック信号ＳｙｓＣＬＫのクロックサイクルの途中で、クロック制御データ信号ＥｎＣＬＫＤが変化した場合でも、システムクロック信号ＳｙｓＣＬＫがローレベルからハイレベルに変化した際にのみ、クロック制御信号ＥｎＣＬＫを変化させることができる。このクロック制御信号ＥｎＣＬＫは、クロック信号を供給するか、停止するかを制御するための制御信号である。
【００４９】
ＯＲ回路ＯＲ２０には、このクロック制御信号ＥｎＣＬＫと、システムクロック信号ＳｙｓＣＬＫとが入力されており、ゲーティングされたクロック信号ＣＬＫをフリップフロップ回路ＦＦ１１に出力する。したがって、このゲーティングされたクロック信号ＣＬＫは、クロック制御信号ＥｎＣＬＫがローレベルの場合には、システムクロック信号ＳｙｓＣＬＫと同期した信号となるが、クロック制御信号ＥｎＣＬＫがハイレベルの場合には、ハイレベルに固定される。
【００５０】
フリップフロップ回路ＦＦ２０から出力されたクロック制御信号ＥｎＣＬＫは、インバータＩＮ２０で反転されて、回路制御信号ＥＮとなり、Ｎ型のＭＯＳトランジスタＮＭ１０〜ＮＭ１３の制御端子とＰ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３に入力される。
【００５１】
フリップフロップ回路ＦＦ１０のクロック入力端子には、クロック信号ＣＬＫ１が入力されているが、このクロック信号ＣＬＫ１は、システムクロックＳｙｓＣＬＫから生成された別系統のクロック信号であっても良いし、或いは、ＯＲ回路ＯＲ２０から出力されたクロック信号ＣＬＫ２であっても良い。ここでは、クロック信号ＣＬＫ１にもＣＬＫ２が入力されたとして説明をする。
【００５２】
図６に示す動作タイミングチャートの一例では、時刻Ｔ１から時刻Ｔ２の第１クロックサイクルの中間で、クロック制御データ信号ＥｎＣＬＫＤがローレベルからハイレベルに変化している。このため、次のシステムクロック信号ＳｙｓＣＬＫの立ち上がりである時刻Ｔ２で、クロック制御信号ＥｎＣＬＫがローレベルからハイレベルに変化している。このため、回路制御信号ＥＮは、この時刻Ｔ２で、ハイレベルからローレベルに変化している。またクロック信号ＣＬＫ２はハイレベルに保たれる。
【００５３】
一方、時刻Ｔ３から時刻Ｔ４の間の第３クロックサイクルの中間で、クロック制御データ信号ＥｎＣＬＫＤがハイレベルからローレベルに変化した場合には、これと反対の動作となる。クロック信号ＣＬＫ２はＴ４からＴ５の間に立ち下がる。
【００５４】
以上のように構成することにより、クロック制御データ信号ＥｎＣＬＫＤとシステムクロック信号ＳｙｓＣＬＫとから、ゲーティングされたクロック信号ＣＬＫを生成することができる。
【００５５】
なお、回路制御信号ＥＮとクロック信号ＣＬＫ２との間にタイミングのずれが存在すると、フリップフロップ回路ＦＦ１１が誤ったデータを取り込んでしまうおそれがある。特に、アクティブモードからスリープモードに移行する際に、回路制御信号ＥＮがクロック信号ＣＬＫ２の立ち上がりよりも先に立ち下がると、フリップフロップ回路ＦＦ１１が誤ったデータを取り込んでしまう。このため、設計上、回路制御信号ＥＮとクロック信号ＣＬＫ２との間のタイミングにずれが生じないように配慮する必要がある。
【００５６】
また、本実施形態に係る半導体集積回路装置は、図７に示すように、ＯＲ回路ＯＲ２０の出力をクロック信号ＣＬＫ１として、フリップフロップ回路ＦＦ１０に入力し、別系統のクロック信号ＣＬＫ２をフリップフロップ回路Ｆ１１に入力することも可能である。
【００５７】
〔第３実施形態〕
第３実施形態では、上述した第２実施形態を変形して、ゲーティングされたクロック信号ＣＬＫ２を、フリップフロップ回路とロースルーラッチ回路とＡＮＤ回路とにより生成するようにしたものである。以下、上述した第２実施形態と異なる部分を説明する。
【００５８】
図８は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図９は、図８の半導体集積回路装置の動作タイミングチャートを示す図である。
【００５９】
図８に示すように、本実施形態に係る半導体集積回路装置は、フリップフロップ回路ＦＦ２０の後段に、ロースルーラッチ回路ＬＴＬ３０が設けられており、このロースルーラッチ回路ＬＴＬ３０の後段に、ＡＮＤ回路ＡＮ３０が設けられている。ロースルーラッチ回路ＬＴＬ３０は、クロック入力端子に入力されている信号がローレベルの間は、データ入力端子Ｄの入力をデータ出力端子Ｑから出力するが、クロック入力端子に入力されている信号がハイレベルの間は、直前の状態を保持して出力する回路である。
【００６０】
フリップフロップ回路ＦＦ２０とロースルーラッチ回路ＬＴＬ３０のクロック入力端子には、システムクロック信号ＳｙｓＣＬＫが入力されている。フリップフロップ回路ＦＦ２０のデータ入力端子Ｄには、クロック制御データ信号ＥｎＣＬＫＤが入力されており、フリップフロップ回路ＦＦ２０のデータ出力端子Ｑから出力されたクロック制御信号ＥｎＣＬＫは、ロースルーラッチ回路ＬＴＬ３０のデータ入力端子Ｄに入力されている。ロースルーラッチ回路ＬＴＬ３０のデータ出力端子Ｑから出力された信号は、ＡＮＤ回路ＡＮ３０の一方の入力端子に入力されている。ＡＮＤ回路ＡＮ３０の他方の入力端子には、システムクロック信号ＳｙｓＣＬＫが入力されている。そして、このＡＮＤ回路ＡＮ３０の出力端子から、ゲーティングされたクロック信号ＣＬＫ２が出力され、フリップフロップ回路ＦＦ１１のクロック入力端子に入力されている。
【００６１】
但し、本実施形態においては、図９に示すように、クロック制御データ信号ＥｎＣＬＫＤは、アクティブモードからスリープモードに切り替わる際に、ハイレベルからローレベルに切り替わり、逆に、スリープモードからアクティブモードに切り替わる際に、ローレベルからハイレベルに切り替わる信号である。このため、クロック制御信号ＥｎＣＬＫを、そのまま、回路制御信号ＥＮとして用いることができる。
【００６２】
以上のように構成することにより、クロック制御データ信号ＥｎＣＬＫＤとシステムクロック信号ＳｙｓＣＬＫとから、ゲーティングされたクロック信号ＣＬＫ２を生成することができる。
【００６３】
なお、回路制御信号ＥＮとクロック信号ＣＬＫ２との間にタイミングのずれが存在すると、フリップフロップ回路ＦＦ１１が誤ったデータを取り込んでしまうおそれがある。特に、アクティブモードからスリープモードに移行する際に、回路制御信号ＥＮがクロック信号ＣＬＫ２の立ち上がりよりも先に立ち下がると、フリップフロップ回路ＦＦ１１が誤ったデータを取り込んでしまう。このため、設計上、回路制御信号ＥＮとクロック信号ＣＬＫ２との間のタイミングにずれが生じないように配慮する必要がある。
【００６４】
また、本実施形態に係る半導体集積回路装置は、図１０に示すように、ＡＮＤ回路ＡＮ３０の出力をクロック信号ＣＬＫ１として、フリップフロップ回路ＦＦ１０に入力し、別系統のクロック信号ＣＬＫ２をフリップフロップ回路Ｆ１１に入力することも可能である。
【００６５】
〔第４実施形態〕
第４実施形態では、上述した第１実施形態を変形して、論理セルＬＣ１０〜ＬＣ１３のうち、一部の論理セルである論理セルＬＣ１３をフットスイッチ付きの論理セルではなく、通常の論理セルにより構成するようにしたものである。具体的には、回路制御信号ＥＮがローレベルにある場合でも、入力信号である前段から出力された出力信号の論理レベルが不定にならない論理セルの一部については、スタンダードセルは設けるが、フットスイッチ用のＭＯＳトランジスタやプルアップ用のＭＯＳトランジスタは設けないようにしたものである。以下、上述した第１実施形態と異なる部分を説明する。
【００６６】
図１１は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図１２は、図１１の半導体集積回路装置の動作タイミングチャートを示す図である。
【００６７】
図１１に示すように、本実施形態に係る半導体集積回路装置の組み合わせ論理回路ＣＯＭ４０においては、論理セルＬＣ１３には、ＮＡＮＤ回路ＮＡ１２は設けられているが、Ｐ型のＭＯＳトランジスタＰＭ１３とＮ型のＭＯＳトランジスタＮＭ１３とは設けられていない。このため、本実施形態においては、論理セルＬＣ１３は、スタンダードセルであるＮＡＮＤ回路ＮＡ１２により構成されている。
【００６８】
ＮＡＮＤ回路ＮＡ１２の入力は、ＮＡＮＤ回路ＮＡ１０の出力信号と、ＮＡＮＤ回路ＮＡ１１の出力信号である。但し、スリープモードの際には、図１２にも示すように、Ｐ型のＭＯＳトランジスタＰＭ１０を介して、ＮＡＮＤ回路ＮＡ１２の一方の入力端子には、第１基準信号ＶＤＤが供給され（ノードＢ）、Ｐ型のＭＯＳトランジスタＰＭ１２を介して、他方の入力端子にも、第１基準信号ＶＤＤが供給される（ノードＤ）。このため、ＮＡＮＤ回路ＮＡ１２の入力信号はハイレベルに固定されることとなり、大きなリーク電流が流れてしまう状態にはならない。このように考えると、ＮＡＮＤ回路ＮＡ１２のフットスイッチは省略することが可能であることが分かる。フットスイッチであるＮ型のＭＯＳトランジスタＮＭ１３を省略することにより、Ｐ型のＭＯＳトランジスタＰＭ１３も省略することができ、これによりトランジスタ数の削減を図ることができる。タイミング制約を満たすのであれば、ＮＡＮＤ回路ＮＡ１２を高い閾値のトランジスタで形成することにより、ＮＡＮＤ回路ＮＡ１２のリーク電流も削減できる。
【００６９】
なお、図１１の例では、フットスイッチを省略する論理セルが、最後の段の論理セルであるが、このようにフットスイッチの省略することのできる論理セルは最後の段に限るものではなく、スリープモードの際に入力が固定されるスタンダードセルから構成される論理セルであれば、どのような位置にあってもよい。
【００７０】
なお、クロック信号ＣＬＫ１、ＣＬＫ２や回路制御信号ＥＮの生成方法については、上述した第２実施形態及び第３実施形態のいずれの方法でもよい。
【００７１】
〔第５実施形態〕
第５実施形態では、上述した第１実施形態を変形して、論理セルＬＣ１０〜ＬＣ１３のうち、一部の論理セルについては、スリープモードにおいてプルアップをしないようにしたものである。具体的には、出力信号が、フットスイッチを有する論理セルにのみ入力されている、論理セルについては、スタンダードセルとフットスイッチは設けるが、プルアップ用のＭＯＳトランジスタは設けないようにしたものである。以下、上述した第１実施形態と異なる部分を説明する。
【００７２】
図１３は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図１４は、図１３の半導体集積回路装置の動作タイミングチャートを示す図である。
【００７３】
図１３に示すように、本実施形態に係る半導体集積回路装置の組み合わせ論理回路ＣＯＭ５０においては、すべての論理セルＬＣ１０〜ＬＣ１３に、それぞれ、フットスイッチであるＮ型のＭＯＳトランジスタＮＭ１０〜１３が設けられている。すなわち、すべてのスタンダードセルにフットスイッチが設けられている。このため、スリープモードにおいて、これらスタンダードセルであるＮＡＮＤ回路ＮＡ１０〜ＮＡ１２とＮＯＲ回路ＮＲ１０との入力が不定になったとしても、これらのスタンダードセルからは大きなリーク電流が流れることはない。
【００７４】
一方、プルアップのためのトランジスタは、Ｐ型のＭＯＳトランジスタＰＭ１３だけが設けられており、これ以外のＭＯＳトランジスタＰＭ１０〜ＰＭ１２は設けられていない。このため、時刻Ｔ２から時刻Ｔ４の間のスリープモードにおいては、図１４に示すように、ＮＡＮＤ回路ＮＡ１２の出力信号はハイレベルにプルアップされるが（ノードＥ）、これ以外のスタンダードセルであるＮＡＮＤ回路ＮＡ１０、ＮＡ１１とＮＯＲ回路ＮＲ１０の出力信号は不定になる（ノードＢ、ノードＣ、ノードＤ）。
【００７５】
しかし、後段のフリップフロップ回路ＦＦ１１のデータ入力端子Ｄに入力されるのは、ＮＡＮＤ回路ＮＡ１２の出力だけであるので、このＮＡＮＤ回路ＮＡ１２の出力をハイレベルにプルアップできれば、組み合わせ論理回路ＣＯＭ５０内の不定の状態が、フリップフロップ回路ＦＦ１１に影響を及ぼすことはない。
【００７６】
このように構成することによっても、組み合わせ論理回路ＣＯＭ５０内のＭＯＳトランジスタの数を削減することができる。
【００７７】
なお、クロック信号ＣＬＫ１、ＣＬＫ２や回路制御信号ＥＮの生成方法については、上述した第２実施形態及び第３実施形態のいずれの方法でもよい。
【００７８】
〔第６実施形態〕
第６実施形態では、上述した第４実施形態を変形して、出力信号がフットスイッチ付きセルの論理セルにのみ入力される論理セルについては、スリープモードにおいてプルアップしないようにしたものである。以下、上述した第４実施形態と異なる部分を説明する。
【００７９】
図１５は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図１６は、図１５の半導体集積回路装置の動作タイミングチャートを示す図である。
【００８０】
図１５に示すように、本実施形態に係る半導体集積回路装置の組み合わせ論理回路ＣＯＭ６０は、上述した第４実施形態に係る組み合わせ論理回路ＣＯＭ４０と比べて、論理セルＬＣ１１におけるプルアップ用のＭＯＳトランジスタＰＭ１１が省略されている。この論理セルＬＣ１１の出力信号は、スリープモードにおいて不定になるが（図１６のノードＣ）、ＮＡＮＤ回路ＮＡ１１に入力されるのみである。ここで、ＮＡＮＤ回路ＮＡ１１は、フットスイッチであるＭＯＳトランジスタＮＭ１２が設けられているので、ＮＡＮＤ回路ＮＡ１１からのリーク電流は遮断される。また、ＮＯＲ回路ＮＲ１０の出力信号は、外部に出力されることもない。したがって、ＮＯＲ回路ＮＲ１０の出力信号が不定であっても、問題は生じない。
【００８１】
このように構成することによっても、組み合わせ論理回路ＣＯＭ６０内のＭＯＳトランジスタの数を削減することができる。
【００８２】
なお、クロック信号ＣＬＫ１、ＣＬＫ２や回路制御信号ＥＮの生成方法については、上述した第２実施形態及び第３実施形態のいずれの方法でもよい。
【００８３】
〔第７実施形態〕
第７実施形態では、上述した第１実施形態を変形して、半導体集積回路装置がスキャンテストモードを備えるようにしたものである。以下、上述した第１実施形態と異なる部分を説明する。
【００８４】
図１７は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図である。この図１７に示すように、本実施形態に係る半導体集積回路装置の回路には、ＯＲ回路ＯＲ７０が設けられており、このＯＲ回路ＯＲ７０には、回路制御信号ＥＮとテストイネーブル信号ＴＥとが入力されている。ＯＲ回路ＯＲ７０から出力された回路制御内部信号ＥＮＩは、ＭＯＳトランジスタＮＭ１０〜ＮＭ１３とＭＯＳトランジスタＰＭ１０〜ＰＭ１３の制御端子に入力されている。
【００８５】
このため、スキャンテストモードにおいては、テストイネーブル信号ＴＥをハイレベルにすることにより、フットスイッチであるＭＯＳトランジスタＮＭ１０〜ＮＭ１３をオンにすることができ、ＭＯＳトランジスタＰＭ１０〜ＰＭ１３をオフにすることができる。すなわち、テストイネーブル信号ＴＥをハイレベルにすることにより、回路制御信号ＥＮの値に拘わらず、ＭＯＳトランジスタＮＭ１０〜ＮＭ１３をオンにすることができ、ＭＯＳトランジスタＰＭ１０〜ＰＭ１３をオフにすることができる。
【００８６】
このように構成することにより、スキャンテストモードにおいては、論理セルＬＣ１０〜ＬＣ１３を通常のスタンダードセルから構成された論理セルとして、テストできるようになる。
【００８７】
〔第８実施形態〕
第８実施形態では、上述した第１実施形態を変形して、組み合わせ論理回路ＣＯＭ１０とフリップフロップ回路ＦＦ１１との間に、ハイスルーラッチ回路を追加挿入したものである。以下、上述した第１実施形態と異なる部分を説明する。
【００８８】
図１８は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図１９は、図１８の半導体集積回路装置の動作タイミングチャートを示す図である。
【００８９】
図１８に示すように、本実施形態に係る半導体集積回路装置の回路には、制御信号生成回路ＧＥＮが設けられている。この制御信号生成回路ＧＥＮには、システムクロック信号ＳｙｓＣＬＫとクロック制御信号ＥｎＣＬＫとが入力されている。制御信号生成回路ＧＥＮは、入力されたこれらシステムクロック信号ＳｙｓＣＬＫとクロック制御信号ＥｎＣＬＫとに基づいて、クロック信号ＣＬＫ１、ＣＬＫ２と回路制御信号ＥＮとを生成して出力する。このことから分かるように、クロック制御信号ＥｎＣＬＫの遷移が生じた後に、回路制御信号ＥＮの遷移が発生する。
【００９０】
また、図１８に示すように、本実施形態に係る半導体集積回路装置の回路では、組み合わせ論理回路ＣＯＭ１０とフリップフロップ回路ＦＦ１１との間に、ハイスルーラッチ回路ＨＴＬ８０が追加で挿入されている。このハイスルーラッチ回路ＨＴＬ８０は、クロック入力端子への入力信号がハイレベルの間は、データ入力端子Ｄから入力されたデータ信号をデータ出力端子Ｑからそのまま出力するが、クロック入力端子への入力信号がローレベルの間は、直前の状態を保持してデータ出力端子Ｑから出力する。
【００９１】
したがって、図１９に示すように、ハイスルーラッチ回路ＨＴＬ８０のデータ入力端子に入力されたデータ信号は、回路制御信号ＥＮがハイレベルの間はデータ出力端子から出力されるが、回路制御信号ＥＮがローレベルの間は出力されずに直前の状態が保持される（ノードＥとノードＦ）。このようなハイスルーラッチ回路ＨＴＬ８０を挿入することにより、アクティブモードからスリープモードに移行するために、クロック制御信号ＥｎＣＬＫがハイレベルからローレベルに切り替わった次のクロックサイクルで、回路制御信号ＥＮをハイレベルからローレベルに切り替えることができるようになる。また、スリープモードからアクティブモードに移行するために、クロック制御信号ＥｎＣＬＫがローレベルからハイレベルに切り替わった次のクロックサイクルで、回路制御信号ＥＮをローベルからハイレベルに切り替えることができるようになる。
【００９２】
これは、回路制御信号ＥＮがローレベルの間は、ハイスルーラッチ回路ＨＴＬ８０が直前の状態を保持してデータ出力端子Ｑから出力するので、回路制御信号ＥＮがどのようなタイミングで切り替わったとしても、フリップフロップ回路ＦＦ１１に影響を及ぼさないからである。このため、アクティブモードとスリープモードとの切替を迅速に行うことができるようになる。
【００９３】
また、本実施形態においては、１つのクロックサイクルの中で、クロック制御信号ＥｎＣＬＫが切り替わることのできるタイミングに制約を受けないので、１つのクロックサイクルの終了直前に、クロック制御信号ＥｎＣＬＫが切り替わった場合でも、次のクロックサイクル中にアクティブ／スタンバイの切替が可能になる。つまり、クロック制御信号ＥｎＣＬＫの遷移が起きた後に、回路制御信号ＥＮが遷移するが、クロック制御信号ＥｎＣＬＫがどのようなタイミングで遷移しても、次のクロックサイクルで回路制御信号ＥＮを遷移させることができるのである。
【００９４】
また本例では、ＥＮ信号をハイスルーラッチに入力しているが、ＥＮ信号の反転信号をロースルーラッチに入力する構成としてもよい。
【００９５】
〔第９実施形態〕
第９実施形態では、上述した第８実施形態に上述した第２実施形態を適用して、ゲーティングされたクロック信号ＣＬＫ２を、ＯＲ回路により生成するようにしたものである。以下、上述した第２実施形態及び第８実施形態と異なる部分を説明する。
【００９６】
図２０は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図２１は、図２０の半導体集積回路装置の動作タイミングチャートを示す図である。
【００９７】
図２０に示すように、本実施形態に係る半導体集積回路装置の回路では、上述した第８実施形態の半導体集積回路装置に、ＯＲ回路ＯＲ９０とフリップフロップ回路ＦＦ９０とインバータＩＮ９０とを追加することにより構成されている。ＯＲ回路９０には、クロック制御信号ＥｎＣＬＫと、システムクロック信号ＳｙｓＣＬＫとが入力されている。このＯＲ回路ＯＲ９０の出力信号は、ゲーティングされたクロック信号ＣＬＫ２として、フリップフロップ回路ＦＦ１１に入力されている。
【００９８】
クロック制御信号ＥｎＣＬＫはインバータＩＮ９０を介して、フリップフロップ回路ＦＦ９０のデータ入力端子Ｄに入力されている。また、フリップフロップ回路ＦＦ９０のクロック入力端子には、システムクロック信号ＳｙｓＣＬＫが入力されている。したがって、図２１に示すように、このフリップフロップ回路ＦＦ９０のデータ出力端子Ｑからは、システムクロック信号ＳｙｓＣＬＫに同期した、クロック制御信号ＥｎＣＬＫを反転した回路制御信号ＥＮが出力される。この回路制御信号ＥＮは、Ｐ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３の制御端子と、Ｎ型のＭＯＳトランジスタＮＭ１０〜ＮＭ１３の制御端子とハイスルーラッチ回路ＨＴＬ８０に入力される。
【００９９】
フリップフロップ回路ＦＦ１０には、クロック信号ＣＬＫ１が入力されているが、このクロック信号ＣＬＫ１は、システムクロックＳｙｓＣＬＫから生成された別系統のクロック信号であっても良いし、或いは、ＯＲ回路ＯＲ９０から出力されたクロック信号ＣＬＫ２であっても良い。
【０１００】
以上のように構成することにより、クロック制御信号ＥｎＣＬＫとシステムクロック信号ＳｙｓＣＬＫとから、ゲーティングされたクロック信号ＣＬＫ２を生成することができる。
【０１０１】
なお、本実施形態においては、クロック制御信号ＥｎＣＬＫは、システムクロック信号ＳｙｓＣＬＫがハイレベルの間に変化するように保証する必要がある。なぜなら、システムクロック信号ＳｙｓＣＬＫがローレベルの間に、クロック制御信号ＥｎＣＬＫがローレベルからハイレベルに変化すると、その時点で、クロック信号ＣＬＫ２がローレベルからハイレベルに変化してしまうからである。
【０１０２】
また、論理セルＬＣ１０〜ＬＣ１３に入力される回路制御信号ＥＮと、ハイスルーラッチ回路ＨＴＬ８０に入力される回路制御信号ＥＮとの間にタイミングのずれが存在すると、ハイスルーラッチ回路ＨＴＬ８０が誤ったデータを取り込んでしまうおそれがある。特に、アクティブモードからスリープモードに移行する際に、論理セルＬＣ１０〜ＬＣ１３に入力される回路制御信号ＥＮが、ハイスルーラッチ回路ＨＴＬ８０に入力される回路制御信号ＥＮよりも先に立ち下がると、ハイスルーラッチ回路ＨＴＬ８０が誤ったデータを取り込んでしまう。このため、設計上、論理セルＬＣ１０〜ＬＣ１３に入力される回路制御信号ＥＮと、ハイスルーラッチ回路ＨＴＬ８０に入力される回路制御信号ＥＮとの間のタイミングにずれが生じないように配慮する必要がある。
【０１０３】
また、本実施形態に係る半導体集積回路装置は、図２２に示すように、ＯＲ回路ＯＲ９０の出力をクロック信号ＣＬＫ１として、フリップフロップ回路ＦＦ１０に入力し、別系統のクロック信号ＣＬＫ２をフリップフロップ回路Ｆ１１に入力することも可能である。
【０１０４】
〔第１０実施形態〕
第１０実施形態では、上述した第８実施形態に上述した第３実施形態を適用して、ゲーティングされたクロック信号ＣＬＫ２を、ロースルーラッチ回路とＡＮＤ回路により生成するようにしたものである。以下、上述した第３実施形態及び第８実施形態と異なる部分を説明する。
【０１０５】
図２３は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図２４は、図２３の半導体集積回路装置の動作タイミングチャートを示す図である。
【０１０６】
図２３に示すように、本実施形態に係る半導体集積回路装置の回路では、上述した第８実施形態の半導体集積回路装置に、ロースルーラッチ回路ＬＴＬ１００とＡＮＤ回路ＡＮ１００とフリップフロップ回路ＦＦ１００とを追加することにより構成されている。
【０１０７】
ロースルーラッチ回路ＬＴＬ１００のデータ入力端子Ｄには、クロック制御データ信号ＥｎＣＬＫＤが入力されており、クロック入力端子には、システムクロック信号ＳｙｓＣＬＫが入力されている。このため、図２４に示すように、システムクロック信号ＳｙｓＣＬＫがローレベルの間は、ロースルーラッチ回路ＬＴＬ１００は、クロック制御データ信号ＥｎＣＬＫＤをそのままデータ出力端子Ｑから出力するが、システムクロック信号ＳｙｓＣＬＫがハイレベルの間は、直前の状態を保持した値をデータ出力端子Ｑから出力する。
【０１０８】
このロースルーラッチ回路ＬＴＬ１００から出力されたクロック制御信号ＥｎＣＬＫは、ＡＮＤ回路ＡＮ１００の一方の入力端子に入力される。ＡＮＤ回路ＡＮ１００の他方の入力端子には、システムクロック信号ＳｙｓＣＬＫが入力されている。このため、図２４に示すように、クロック制御信号ＥｎＣＬＫがローレベルの間は、ＡＮＤ回路ＡＮ１００から出力されるクロック信号ＣＬＫ２は停止する。
【０１０９】
また、フリップフロップ回路ＦＦ１００のデータ入力端子には、クロック制御信号ＥｎＣＬＫが入力され、クロック入力端子には、システムクロック信号ＳｙｓＣＬＫが入力されている。このため、フリップフロップ回路ＦＦ１００は、図２４に示すように、システムクロック信号ＳｙｓＣＬＫに同期した、回路制御信号ＥＮを出力する。なお、図２５に示すように、フリップフロップ回路ＦＦ１００のデータ入力端子には、クロック制御データ信号ＥｎＣＬＫＤが入力されるようにしてもよい。
【０１１０】
本実施形態においては、クロック制御データ信号ＥｎＣＬＫＤは、システムクロック信号ＳｙｓＣＬＫがハイレベルのときでも、ローレベルのときでも、変化しても良く、このため、クロック制御データ信号ＥｎＣＬＫＤを複雑な組み合わせ論理回路で生成することも可能となる。
【０１１１】
なお、論理セルＬＣ１０〜ＬＣ１３に入力される回路制御信号ＥＮと、ハイスルーラッチ回路ＨＴＬ８０に入力される回路制御信号ＥＮとの間にタイミングのずれが存在すると、ハイスルーラッチ回路ＨＴＬ８０が誤ったデータを取り込んでしまうおそれがある。特に、アクティブモードからスリープモードに移行する際に、論理セルＬＣ１０〜ＬＣ１３に入力される回路制御信号ＥＮが、ハイスルーラッチ回路ＨＴＬ８０に入力される回路制御信号ＥＮよりも先に立ち下がると、ハイスルーラッチ回路ＨＴＬ８０が誤ったデータを取り込んでしまう。このため、設計上、論理セルＬＣ１０〜ＬＣ１３に入力される回路制御信号ＥＮと、ハイスルーラッチ回路ＨＴＬ８０に入力される回路制御信号ＥＮとの間のタイミングにずれが生じないように配慮する必要がある。
【０１１２】
また、本実施形態に係る半導体集積回路装置は、図２６に示すように、ＡＮＤ回路ＡＮ１００の出力をクロック信号ＣＬＫ１として、フリップフロップ回路ＦＦ１１０に入力し、別系統のクロック信号ＣＬＫ２をフリップフロップ回路Ｆ１１に入力することも可能である。
【０１１３】
〔第１１実施形態〕
第１１実施形態では、上述した第８実施形態に上述した第４実施形態を適用して、論理セルＬＣ１０〜ＬＣ１３のうち、一部の論理セルである論理セルＬＣ１３をフットスイッチ付きの論理セルではなく、通常の論理セルにより構成するようにしたものである。具体的には、回路制御信号ＥＮがローレベルにある場合でも、入力信号である前段から出力された出力信号の論理レベルが不定にならない論理セルの一部については、スタンダードセルは設けるが、フットスイッチ用のＭＯＳトランジスタやプルアップ用のＭＯＳトランジスタは設けないようにしたものである。以下、上述した第４実施形態及び第８実施形態と異なる部分を説明する。
【０１１４】
図２７は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図２８は、図２７の半導体集積回路装置の動作タイミングチャートを示す図である。
【０１１５】
図２７に示すように、本実施形態に係る半導体集積回路装置の回路には、制御信号生成回路ＧＥＮが設けられている。この制御信号生成回路ＧＥＮには、システムクロック信号ＳｙｓＣＬＫとクロック制御信号ＥｎＣＬＫとが入力されている。制御信号生成回路ＧＥＮは、入力されたこれらシステムクロック信号ＳｙｓＣＬＫとクロック制御信号ＥｎＣＬＫとに基づいて、クロック信号ＣＬＫ１、ＣＬＫ２と回路制御信号ＥＮとを生成して出力する。このことから分かるように、クロック制御信号ＥｎＣＬＫの遷移が生じた後に、回路制御信号ＥＮの遷移が発生する。
【０１１６】
また、図２７に示すように、本実施形態に係る半導体集積回路装置の回路では、上述した第４実施形態の半導体集積回路装置において、論理セルＬＣ１３とフリップフロップ回路ＦＦ１１との間に、ハイスルーラッチ回路ＨＴＬ８０が設けられている。すなわち、ＮＡＮＤ回路ＮＡ１２の出力信号は、ハイスルーラッチ回路ＨＴＬ８０のデータ入力端子Ｄに入力されている。また、このハイスルーラッチ回路ＨＴＬ８０のクロック入力端子には、回路制御信号ＥＮが入力されている。
【０１１７】
このため、図２８に示すように、回路制御信号ＥＮがハイレベルの間は、ＮＡＮＤ回路ＮＡ１２の出力信号がハイスルーラッチ回路ＨＴＬ８０から出力されるが、回路制御信号ＥＮがローレベルの間は、ハイスルーラッチ回路ＨＴＬ８０は直前の状態を保持してデータ出力端子Ｑから出力している（ノードＥとノードＦ）。
【０１１８】
上述した第４実施形態と同様に、スリープモードにおいては、ＮＡＮＤ回路ＮＡ１２の入力信号はハイレベルに固定されることとなり、大きなリーク電流が流れてしまう状態にはならない。このため、ＮＡＮＤ回路ＮＡ１２のフットスイッチは省略することが可能である。フットスイッチであるＮ型のＭＯＳトランジスタＮＭ１３を省略することにより、Ｐ型のＭＯＳトランジスタＰＭ１３も省略することができ、これによりトランジスタ数の削減を図ることができる。
【０１１９】
また、上述した第８実施形態と同様に、クロック制御信号ＥｎＣＬＫを切り替えた次のクロックサイクルで、回路制御信号ＥＮも切り替えることができるので、アクティブモードとスリープモードとの切替を迅速に行うことができる。
【０１２０】
なお、図２７の例では、フットスイッチを省略する論理セルが、最後の段の論理セルであるが、このようにフットスイッチの省略することのできる論理セルは最後の段に限るものではなく、スリープモードの際に入力が固定されるスタンダードセルから構成される論理セルであれば、どのような位置にあってもよい。
【０１２１】
なお、クロック信号ＣＬＫ１、ＣＬＫ２や回路制御信号ＥＮの生成方法については、上述した第９実施形態及び第１０実施形態のいずれの方法でもよい。
【０１２２】
〔第１２実施形態〕
第１２実施形態では、上述した第８実施形態に上述した第５実施形態を適用して、論理セルＬＣ１０〜ＬＣ１３のうち、一部の論理セルについては、スリープモードにおいてプルアップをしないようにしたものである。具体的には、出力信号が、フットスイッチを有する論理セルにのみ入力されている、論理セルについては、スタンダードセルとフットスイッチは設けるが、プルアップ用のＭＯＳトランジスタは設けないようにしたものである。以下、上述した第５実施形態及び第８実施形態と異なる部分を説明する。
【０１２３】
図２９は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図３０は、図２９の半導体集積回路装置の動作タイミングチャートを示す図である。
【０１２４】
図２９に示すように、本実施形態に係る半導体集積回路装置の回路には、制御信号生成回路ＧＥＮが設けられている。この制御信号生成回路ＧＥＮには、システムクロック信号ＳｙｓＣＬＫとクロック制御信号ＥｎＣＬＫとが入力されている。制御信号生成回路ＧＥＮは、入力されたこれらシステムクロック信号ＳｙｓＣＬＫとクロック制御信号ＥｎＣＬＫとに基づいて、クロック信号ＣＬＫ１、ＣＬＫ２と回路制御信号ＥＮとを生成して出力する。このことから分かるように、クロック制御信号ＥｎＣＬＫの遷移が生じた後に、回路制御信号ＥＮの遷移が発生する。
【０１２５】
また、図２９に示すように、本実施形態に係る半導体集積回路装置の回路では、上述した第５実施形態の半導体集積回路装置において、論理セルＬＣ１３とフリップフロップ回路ＦＦ１１との間に、ハイスルーラッチ回路ＨＴＬ８０が設けられている。すなわち、ＮＡＮＤ回路ＮＡ１２の出力信号は、ハイスルーラッチ回路ＨＴＬ８０のデータ入力端子Ｄに入力されている。また、このハイスルーラッチ回路ＨＴＬ８０のクロック入力端子には、回路制御信号ＥＮが入力されている。
【０１２６】
このため、図２９に示すように、回路制御信号ＥＮがハイレベルの間は、ＮＡＮＤ回路ＮＡ１２の出力信号がハイスルーラッチ回路ＨＴＬ８０から出力されるが、回路制御信号ＥＮがローレベルの間は、ハイスルーラッチ回路ＨＴＬ８０は直前の状態を保持してデータ出力端子Ｑから出力している（ノードＥとノードＦ）。
【０１２７】
上述した第５実施形態と同様に、スリープモードにおいては、回路制御信号ＥＮがローレベルになり、ＭＯＳトランジスタＮＭ１０〜ＮＭ１３がオフになるので、論理セルＬＣ１０〜ＬＣ１３を構成するスタンダードセルであるＮＡＮＤ回路ＮＡ１０〜ＮＡ１２やＮＯＲ回路ＮＲ１０から、大きなリーク電流が流れてしまう状態にはならない。
【０１２８】
また、図３０に示すように、プルアップ用のＭＯＳトランジスタＰＭ１０〜ＰＭ１２を省いたので、論理セルＬＣ１０〜ＬＣ１２の出力であるノードＢ〜ノードＤは不定になるが、この組み合わせ論理回路ＣＯＭ１０の出力である論理セルＬＣ１３の出力は、ＭＯＳトランジスタＰＭ１３がオンになることによりハイレベルにプルアップされる。このため、組み合わせ論理回路ＣＯＭ１０の出力に影響を与えないＮＡＮＤ回路ＮＡ１０、ＮＡ１１、ＮＯＲ回路ＮＲ１０のプルアップ用のＭＯＳトランジスタＰＭ１０〜ＰＭ１２を省いても、ハイスルーラッチ回路ＨＴＬ８０のデータ入力端子Ｄへの入力が不定になるのを避けることができる。
【０１２９】
なお、ハイスルーラッチ回路ＨＴＬ８０の代わりに、データ入力端子Ｄの状態がフローティング（不定）になってもリーク電流の流れないラッチ回路を用いた場合には、Ｐ型のＭＯＳトランジスタＰＭ１３も省略することが可能である。
【０１３０】
なお、クロック信号ＣＬＫ１、ＣＬＫ２や回路制御信号ＥＮの生成方法については、上述した第９実施形態及び第１０実施形態のいずれの方法でもよい。
【０１３１】
〔第１３実施形態〕
第１３実施形態では、上述した第８実施形態に上述した第６実施形態を適用して、出力信号がフットスイッチ付きの論理セルにのみ入力されている論理セルについては、スリープモードにおいてプルアップをしないようにしたものである。換言すれば、上述した第１１実施形態をさらに変形したものである。以下、上述した第６実施形態、第８実施形態及び第１１実施形態と異なる部分を説明する。
【０１３２】
図３１は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図であり、図３２は、図３１の半導体集積回路装置の動作タイミングチャートを示す図である。
【０１３３】
図３１に示すように、本実施形態に係る半導体集積回路装置の回路には、制御信号生成回路ＧＥＮが設けられている。この制御信号生成回路ＧＥＮには、システムクロック信号ＳｙｓＣＬＫとクロック制御信号ＥｎＣＬＫとが入力されている。制御信号生成回路ＧＥＮは、入力されたこれらシステムクロック信号ＳｙｓＣＬＫとクロック制御信号ＥｎＣＬＫとに基づいて、クロック信号ＣＬＫ１、ＣＬＫ２と回路制御信号ＥＮとを生成して出力する。このことから分かるように、クロック制御信号ＥｎＣＬＫの遷移が生じた後に、回路制御信号ＥＮの遷移が発生する。
【０１３４】
また、図３１に示すように、本実施形態に係る半導体集積回路装置の回路では、上述した第６実施形態の半導体集積回路装置において、論理セルＬＣ１３とフリップフロップ回路ＦＦ１１との間に、ハイスルーラッチ回路ＨＴＬ８０が設けられている。すなわち、ＮＡＮＤ回路ＮＡ１２の出力信号は、ハイスルーラッチ回路ＨＴＬ８０のデータ入力端子Ｄに入力されている。また、このハイスルーラッチ回路ＨＴＬ８０のクロック入力端子には、回路制御信号ＥＮが入力されている。
【０１３５】
このため、図３２に示すように、回路制御信号ＥＮがハイレベルの間は、ＮＡＮＤ回路ＮＡ１２の出力信号がハイスルーラッチ回路ＨＴＬ８０から出力されるが、回路制御信号ＥＮがローレベルの間は、ハイスルーラッチ回路ＨＴＬ８０は直前の状態を保持してデータ出力端子Ｑから出力している（ノードＥとノードＦ）。
【０１３６】
また、図３２に示すように、論理セルＬＣ１１の出力であるノードＣは、スリープモードの間は不定になるが、この論理セルＬＣ１１の出力は、フットスイッチ付きの論理セルＬＣ１２に入力されるだけである。したがって、論セルＬＣ１１の出力が不定になっても、大きなリーク電流が流れることはない。
【０１３７】
このように構成することによっても、組み合わせ論理回路ＣＯＭ６０内のＭＯＳトランジスタの数を削減することができる。
【０１３８】
なお、クロック信号ＣＬＫ１、ＣＬＫ２や回路制御信号ＥＮの生成方法については、上述した第９実施形態及び第１０実施形態のいずれの方法でもよい。
【０１３９】
〔第１４実施形態〕
第１４実施形態では、上述した第８実施形態に上述した第７実施形態を適用して、半導体集積回路装置がスキャンテストモードを備えるようにしたものである。以下、上述した第７実施形態、及び、第８実施形態と異なる部分を説明する。
【０１４０】
図３３は、本実施形態に係る半導体集積回路装置の回路構成の一例を示す図である。この図３３に示すように、本実施形態に係る半導体集積回路装置の回路では、上述した第７実施形態の半導体集積回路装置において、論理セルＬＣ１３とフリップフロップ回路ＦＦ１１との間に、ハイスルーラッチ回路ＨＴＬ８０が設けられている。すなわち、ＮＡＮＤ回路ＮＡ１２の出力信号は、ハイスルーラッチ回路ＨＴＬ８０のデータ入力端子Ｄに入力されている。またフリップフロップはいわゆるスキャンフリップフロップとなっている。ＴＥはハイレベルになるとフリップフロップはテストモードになる。
【０１４１】
また、第７実施形態と同様に、本実施形態に係る半導体集積回路装置の回路には、ＯＲ回路ＯＲ７０が設けられており、このＯＲ回路ＯＲ７０には、回路制御信号ＥＮとテストイネーブル信号ＴＥとが入力されており、反転ホールド信号ＨＯＬＤＸを出力する。この反転ホールド信号ＨＯＬＤＸは、ＭＯＳトランジスタＮＭ１０〜ＮＭ１３とＭＯＳトランジスタＰＭ１０〜ＰＭ１３の制御端子に入力されているとともに、ハイスルーラッチ回路ＨＴＬ８０のクロック入力端子に入力されている。
【０１４２】
このため、スキャンテストモードにおいては、テストイネーブル信号ＴＥをハイレベルにすることにより、フットスイッチであるＭＯＳトランジスタＮＭ１０〜ＮＭ１３をオンにすることができ、ＭＯＳトランジスタＰＭ１０〜ＰＭ１３をオフにすることができる。すなわち、テストイネーブル信号ＴＥをハイレベルにすることにより、回路制御信号ＥＮの値に拘わらず、ＭＯＳトランジスタＮＭ１０〜ＮＭ１３をオンにすることができ、ＭＯＳトランジスタＰＭ１０〜ＰＭ１３をオフにすることができる。また、スキャンテストモードにおいて、テストイネーブル信号ＴＥをハイレベルにすることにより、ハイスルーラッチ回路ＨＴＬ８０は、データ入力端子Ｄに入力されたデータを、そのままデータ出力端子Ｑから出力するようになる。
【０１４３】
このように構成することにより、スキャンテストモードにおいては、論理セルＬＣ１０〜ＬＣ１３を通常のスタンダードセルから構成された論理セルとして、テストできるようになる。
【０１４４】
〔第１５実施形態〕
上述した第１４実施形態のハイスルーラッチ回路ＨＴＬ８０とフリップフロップ回路ＦＦ１１の構成について、より詳しく説明する。
【０１４５】
図３４は、本実施形態に係るテスト機能付きラッチ回路およびその出力が入力されるフリップフロップ回路の回路構成を説明する図である。この図３４に示すように、本実施形態に係るラッチ回路は、インバータ回路ＩＮ１５０、ＩＮ１５２、ＩＮ１５４、ＩＮ１５６、ＩＮ１５８、ＩＮ１５９と、スレーブラッチ回路ＳＬとを備えて構成されている。これらのインバータ回路のうち、インバータ回路ＩＮ１５０、ＩＮ１５２、ＩＮ１５４、ＩＮ１６０、ＩＮ１５６は、ゲート機能を有するクロックドインバータにより構成されている。また、インバータＩＮ１５４とインバータＩＮ１５８とインバータＩＮ１５９とにより、本実施形態におけるマスターラッチ回路ＭＬを構成している。そして、インバータ回路ＩＮ１５０、ＩＮ１５２、ＩＮ１５６と、マスターラッチ回路ＭＬと、スレーブラッチ回路ＳＬとにより、第１４実施形態におけるハイスルーラッチ回路ＨＴＬ８０とフリップフロップ回路ＦＦ１１とが構成されている。
【０１４６】
インバータ回路ＩＮ１５０には、テスト信号ＴＩが入力されており、テストイネーブル信号ＴＥと反転ホールド信号ＨＯＬＤＸとの論理積によりゲーティングされる。インバータ回路ＩＮ１５２には、データ信号ＩＮが入力されており、反転テストイネーブル信号ＴＥＸと反転ホールド信号ＨＯＬＤＸとの論理積によりゲーティングされる。
【０１４７】
このため、テストイネーブル信号ＴＥがローレベルであれば、インバータ回路ＩＮ１５２によりデータ信号ＩＮが選択され、テストイネーブル信号ＴＥがハイレベルであれば、インバータ回路ＩＮ１５０によりテスト信号ＴＩが選択される。また、いずれの場合でも、反転ホールド信号ＨＯＬＤＸがハイレベルの場合（つまり、ホールドＨＯＬＤがローレベルの場合）には、インバータ回路ＩＮ１５０、ＩＮ１５２に入力された信号は反転して通過するが、反転ホールド信号ＨＯＬＤＸがローレベルの場合（つまり、ホールドＨＯＬＤがハイレベルの場合）には、遮断される。
【０１４８】
反転ホールド信号ＨＯＬＤＸがローレベルの場合（つまり、ホールドＨＯＬＤがハイレベルの場合）には、インバータ回路ＩＮ１５６が動作し、入力された信号を反転して出力する。このため、本実施形態においては、インバータ回路ＩＮ１５０、ＩＮ１５２、ＩＮ１５６により、マルチプレクサを構成していることとなる。
【０１４９】
さらに、本実施形態に係るラッチ回路においては、インバータ回路ＩＮ１５４とインバータＩＮ１５６とで１つのラッチ回路を構成しており、インバータ回路ＩＮ１５８とインバータＩＮ１５９とで１つのラッチ回路を構成している。
【０１５０】
このように構成することにより、通常のマスターラッチＭＬの構成に、３つのインバータ回路ＩＮ１５０、ＩＮ１５２、ＩＮ１５６を追加するだけで、データをホールドするハイスルーラッチ回路ＨＴＬ８０を実現することができる。また、通常動作時におけるＩＮからＯＵＴまでのインバータ回路の段数は、通常のスキャン入出力フリップフロップ回路と同じになり、ホールド機能を追加することによる動作速度の低下はほとんど生じないと考えることができる。
【０１５１】
〔第１６実施形態〕
上述した第１５実施形態のラッチ回路においては、ホールド状態に入る時点では、クロック信号ＣＬＫがローレベルになることが保証されている前提で構成されていたが、本実施形態においてはこの保証がない場合でも正常に動作するようにしている。以下、上述した第１５実施形態と異なる部分を説明する。
【０１５２】
図３５は、本実施形態に係るラッチ回路の回路構成を説明する図である。この図３５に示すように、本実施形態に係るラッチ回路においては、インバータ回路ＩＮ１５４が通常のインバータにより構成されているとともに、インバータ回路ＩＮ１５４とインバータＩＮ１５８との間に、インバータ回路ＩＮ１６０が追加で挿入されている。
【０１５３】
このインバータ回路ＩＮ１６０は、反転クロック信号ＣＬＫＸが入力されるクロックドインバータである。
【０１５４】
このように構成することにより、ホールド状態に入る時点でクロック信号ＣＬＫがハイレベルである場合には、インバータ回路ＩＮ１６０が遮断状態になり、インバータ回路ＩＮ１５８、ＩＮ１５９によるラッチ機能が働く。このため、ホールド状態に入る時点のクロック信号ＣＬＫがハイレベルであっても、ローレベルであっても、正常に機能するようになる。
【０１５５】
〔第１７実施形態〕
上述した第１５実施形態に係るラッチ回路においては、スキャンテスト時にもデータ信号をホールドできるように構成したが、本実施形態においては、スキャンテスト時にはデータ信号のホールドが必要ない場合を想定したものである。以下、上述した第１５実施形態と異なる部分を説明する。
【０１５６】
図３６は、本実施形態に係るラッチ回路の回路構成を説明する図である。この図３６に示すように、本実施形態に係るラッチ回路においては、インバータ回路ＩＮ１５０がテストイネーブル信号ＴＥによりゲーティングされている。このようにすることにより、入力のマルチプレクサの制御信号を簡略化することができる。
【０１５７】
なお、本実施形態は、図３７に示すように、フリップフロップ回路ＦＦ１７０で構成する場合には、３つのインバータ回路ＩＮ１７０、ＩＮ１７２、ＩＮ１７４により構成することができる。これらのインバータ回路ＩＮ１７０、ＩＮ１７２、ＩＮ１７４は、いずれもクロックドインバータにより構成されている。
【０１５８】
インバータ回路ＩＮ１７０には、テスト信号ＴＩが入力されており、テストイネーブル信号ＴＥによりゲーティングされる。インバータ回路ＩＮ１７２には、データ信号ＩＮが入力されており、テストイネーブル信号ＴＥと反転ホールド信号ＨＯＬＤＸの論理積によりゲーティングされる。インバータ回路ＩＮ１７２、ＩＮ１７４によりラッチ回路が構成され、その出力がフリップフロップ回路ＦＦ１７０のデータ入力端子Ｄに入力されている。このような構成により、入力のマルチプレクサの制御信号を簡略化することもできる。
【０１５９】
〔第１８実施形態〕
第１８実施形態では、上述した実施形態とは異なる観点から、ハイスルーラッチ回路とフリップフロップ回路の簡略化を図る手法を説明する。図３８は、組み合わせ論理回路の出力が入力されるハイスルーラッチ回路ＨＴＬ２００と、フリップフロップ回路ＦＦ２００とを示す図である。フリップフロップ回路ＦＦ２００は、さらに、マスターラッチ回路ＭＬ２００とスレーブラッチ回路ＳＬ２００とを備えて構成されている。
【０１６０】
この図３８に示すように、ハイスルーラッチ回路ＨＴＬ２００のデータ入力端子Ｄ側のノードをノードＢとし、データ出力端子Ｑ側のノードをノードＣとする。また、このノードＣに接続されたデータ入力端子Ｄを有するマスターラッチ回路ＭＬ２００のデータ出力端子Ｑ側のノードを、ノードＤとする。そして、このノードＤに接続されたデータ入力端子Ｄを有するスレーブラッチ回路ＳＬ２００のデータ出力端子Ｑから出力される信号を、出力信号ＯＵＴとする。
【０１６１】
また、この図３８に示すように、ハイスルーラッチ回路ＨＴＬ２００の制御端子には、回路制御信号ＥＮが入力され、スレーブラッチ回路ＳＬ２００の制御端子には、クロック信号ＣＬＫが入力される。また、マスターラッチ回路ＭＬ２００の制御端子には、クロック信号ＣＬＫを反転した反転クロック信号ＣＬＫＢが入力される。
【０１６２】
図３９は、回路制御信号ＥＮとクロック信号ＣＬＫの論理レベルと、ノードＢ、Ｃ、Ｄ、出力信号ＯＵＴの論理レベルとを、表にまとめて示す図である。この図３９に示すように、（１）回路制御信号ＥＮがハイレベルで、クロック信号ＣＬＫもハイレベルの場合、ハイスルーラッチ回路ＨＴＬ２００がスルー状態となり、マスターラッチ回路ＭＬ２００がホールド状態となり、スレーブラッチ回路ＳＬ２００がスルー状態となる。このため、ノードＢの論理レベルをＱとすると、ノードＣの論理レベルもＱである。但し、ノードＤの論理レベルは、ノードＣの論理レベルＱとは無関係な論理レベルＲである。また、出力信号ＯＵＴの論理レベルはＲである。
【０１６３】
（２）回路制御信号ＥＮがハイレベルで、クロック信号ＣＬＫがローレベルの場合、ハイスルーラッチ回路ＨＴＬ２００がスルー状態となり、マスターラッチ回路ＭＬ２００がスルー状態となり、スレーブラッチ回路ＳＬ２００がホールド状態となる。このため、ノードＢの論理レベルをＱとすると、ノードＣの論理レベルもＱであり、ノードＤの論理レベルもＱである。但し、出力信号ＯＵＴの論理レベルは、ノードＤの論理レベルＱとは無関係な論理レベルＲである。
【０１６４】
（３）回路制御信号ＥＮがローレベルで、クロック信号ＣＬＫがハイレベルの場合、ハイスルーラッチ回路ＨＴＬ２００がホールド状態となり、マスターラッチ回路ＭＬ２００がホールド状態となり、スレーブラッチ回路ＳＬ２００がスルー状態となる。このため、ノードＢの論理レベルをＱとすると、ノードＣの論理レベルは、論理レベルＱとは無関係な論理レベルＲである。また、ノードＤの論理レベルは、ノードＣの論理レベルＲとは無関係な論理レベルＳである。また、出力信号ＯＵＴの論理レベルはＳである。
【０１６５】
（４）回路制御信号ＥＮがローレベルで、クロック信号ＣＬＫもローレベルの場合、ハイスルーラッチ回路ＨＴＬ２００がホールド状態となり、マスターラッチ回路ＭＬ２００がスルー状態となり、スレーブラッチ回路ＳＬ２００がホールド状態となる。このため、ノードＢの論理レベルをＱとすると、ノードＣの論理レベルは、論理レベルＱとは無関係な論理レベルＲである。また、ノードＤの論理レベルもＲである。但し、出力信号ＯＵＴの論理レベルは、ノードＤの論理レベルＲとは無関係な論理レベルＳである。
【０１６６】
この図３９の表に基づいて、ハイスルーラッチ回路ＨＴＬ２００を省略すると、図４０に示すような回路構成となる。すなわち、組み合わせ論理回路からの出力がマスターラッチ回路ＭＬ２００に入力されるとともに、このマスターラッチ回路ＭＬ２００の制御端子には、回路制御信号ＥＮと反転クロック信号ＣＬＫＢとの論理積をとった信号が入力される。
【０１６７】
図４１は、この図３９のフリップフロップ回路ＦＦ２００における、回路制御信号ＥＮとクロック信号ＣＬＫの論理レベルと、ノードＢ、Ｄ、出力信号ＯＵＴとの論理レベルとの関係を表にまとめて示す図である。この図４１と上述した図３９とを比較すると分かるように、回路制御信号ＥＮとクロック信号ＣＬＫの論理レベルに対する、ノードＢ、Ｃ、出力信号ＯＵＴの論理レベルは、２つの図の間で同じになっている。このことから、マスターラッチ回路ＭＬ２００の制御端子に、回路制御信号ＥＮと反転クロック信号ＣＬＫＢとの論理積をとった信号を入力することにより、ハイスルーラッチ回路ＨＴＬ２００を省略できることが分かる。
【０１６８】
図４２は、組み合わせ論理回路ＣＯＭ２００の出力信号を、図４０に示したフリップフロップ回路ＦＦ２００に入力するようにした回路図を示している。組み合わせ論理回路ＣＯＭ２００の論理セルの構成は任意であるが、この図４２では、Ｎ形のＭＯＳトランジスタＮＭ２００、ＮＭ２０２と、Ｐ形のＭＯＳトランジスタＰＭ２００、ＰＭ２０２により構成されている例を示している。Ｎ形のＭＯＳトランジスタＮＭ２０２はフットスイッチを構成しており、Ｐ形のＭＯＳトランジスタＰＭ２０２はプルアップ用のトランジスタを構成している。
【０１６９】
組み合わせ論理回路ＣＯＭ２００の前段には、フリップフロップ回路ＦＦ２０２が設けられている。このフリップフロップ回路２０２のデータ入力端子Ｄには、入力信号ＩＮが入力される。制御端子には、クロック信号ＣＬＫ１が入力されており、入力信号ＩＮは、このクロック信号ＣＬＫ１と同期して、データ出力端子Ｑから出力され、組み合わせ論理回路ＣＯＭ２００に入力される。
【０１７０】
クロック信号ＣＬＫ１は、図４３に示すようなクロックゲーティング回路で生成される。すなわち、クロック制御信号ＥｎＣＬＫ１とシステムクロック信号ＳｙｓＣＬＫとが入力されるロースルーラッチ回路ＬＴＬ２００と、このロースルーラッチ回路ＬＴＬ２００の出力信号とシステムクロック信号ＳｙｓＣＬＫとが入力されるＡＮＤ回路ＡＮ２００とを備えたクロックゲーティング回路で生成される。
【０１７１】
そして、図４２の組み合わせ論理回路ＣＯＭ２００では、入力信号を反転する演算が所定の演算として実行され、出力信号がフリップフロップ回路ＦＦ２００に入力される。このフリップフロップ回路ＦＦ２００では、クロック信号ＣＬＫ２がスレーブラッチ回路ＳＬ２００の制御端子に入力される。また、回路制御信号ＥＮと、クロック信号ＣＬＫ２を反転させた反転クロック信号ＣＬＫ２Ｂとの論理積をとった信号が、マスターラッチ回路ＭＬ２００の制御端子に入力される。
【０１７２】
クロック信号ＣＬＫ２は、図４４に示すようなクロックゲーティング回路で生成される。すなわち、クロック制御信号ＥｎＣＬＫ２とシステムクロック信号ＳｙｓＣＬＫとが入力されるロースルーラッチ回路ＬＴＬ２０２と、このロースルーラッチ回路ＬＴＬ２０２の出力信号とシステムクロック信号ＳｙｓＣＬＫとが入力されるＡＮＤ回路ＡＮ２０２とを備えたクロックゲーティング回路で生成される。ここで、クロック制御信号ＥｎＣＬＫ１とクロック制御信号ＥｎＣＬＫ２とは、別々の制御信号であることを想定している。
【０１７３】
図４５は、図４２に示した半導体集積回路の動作タイミングチャートを示す図である。この図４５に示すように、ハイスルーラッチ回路ＨＴＬ２００を省いたにも拘わらず、フリップフロップ回路ＦＦ２００からは、正常な出力信号ＯＵＴが出力されている。すなわち、ノードＢの論理レベルが変化すると、次のクロックサイクルで出力信号ＯＵＴの論理レベルが変化する。また、回路制御信号ＥＮがローレベルになり、スリープモードに入ると、フリップフロップ回路ＦＦ２００の出力信号はローレベルに固定される。
【０１７４】
図４６は、図４２に示した半導体集積回路において、ハイスルーラッチ回路ＨＴＬ２００を省かない構成にした回路図であり、図４７は、図４６に示した半導体集積回路の動作タイミングチャートを示す図である。これら図に示すように、ハイスルーラッチ回路ＨＴＬ２００を省かない半導体集積回路の出力信号ＯＵＴと、ハイスルーラッチ回路ＨＴＬ２００を省いた半導体集積回路の出力信号ＯＵＴは、同じになる。このため、ハイスルーラッチ回路ＨＴＬ２００を省略しても、回路動作上、問題のないことが分かる。
【０１７５】
ここで、図４５の動作タイミングチャートでは、図４２の半導体集積回路において、クロック信号ＣＬＫ１とクロック信号ＣＬＫ２とが別々の信号で、その波形が異なる場合を例に説明したが、これらクロック信号ＣＬＫ１とクロック信号ＣＬＫ２とが同一波形である場合も考えられる。すなわち、クロック信号ＣＬＫ２も、クロック信号ＣＬＫ１と同様にスリープモードに入る信号である場合も考えられる。したがって、次に、これらクロック信号ＣＬＫ１とクロック信号ＣＬＫ２とが同一である場合の動作を検証する。
【０１７６】
図４８は、同じ動作波形のクロック信号ＣＬＫ１とクロック信号ＣＬＫ２とを図４２の半導体集積回路に用いた場合の動作タイミングチャートを示す図である。図４９は、同じ動作波形のクロック信号ＣＬＫ１とクロック信号ＣＬＫ２とを図４６の半導体集積回路に用いた場合の動作タイミングチャートを示す図である。
【０１７７】
これら図４８と図４９を比較すると明らかなように、同じ動作波形のクロック信号ＣＬＫ１とクロック信号ＣＬＫ２を用いた場合でも、図４２の半導体集積回路の出力信号ＯＵＴは、図４６の半導体集積回路の出力信号ＯＵＴと同じになる。したがって、同じ動作波形のクロック信号ＣＬＫ１とクロック信号ＣＬＫ２でも、図４２の半導体集積回路のように、ハイスルーラッチ回路ＨＴＬ２００を省いても、回路動作上は、問題のないことが分かる。
【０１７８】
図５０は、図４２に示した半導体集積回路におけるフリップフロップ回路ＦＦ２００の具体的な回路構成の一例を示す図である。この図５０に示すように、フリップフロップ回路２００のうち、マスターラッチ回路ＭＬ２００は、トランスファーゲートＴ２２０と、インバータＩＮ２２０と、クロックドインバータＩＮ２２２とを備えて構成されている。スレーブラッチ回路ＳＬ２００は、トランスファーゲートＴ２３０と、トランスファーゲートＴ２３２と、インバータＩＮ２３０、ＩＮ２３２、ＩＮ２３４とを備えて構成されている。
【０１７９】
マスターラッチ回路ＭＬ２００のトランスファーゲートＴ２２０には、上述した回路制御信号ＥＮと、反転クロック信号ＣＬＫ２Ｂとの論理積をとった信号が入力される。一方、インバータＩＮ２２２には、回路制御信号ＥＮを反転した信号と、クロック信号ＣＬＫ２の論理和をとった信号が入力される。つまり、インバータＩＮ２２２には、回路制御信号ＥＮと、反転クロック信号ＣＬＫ２Ｂとの論理積をとった信号を、反転した信号が入力される。
【０１８０】
スレーブラッチ回路ＳＬ２００のトランスファーゲートＴ２３０には、クロック信号ＣＬＫ２が入力される。トランスファーゲートＴ２３２には、反転クロック信号ＣＬＫ２Ｂが入力される。
【０１８１】
このような構成のフリップフロップ回路ＦＦ２００では、上述したように、トランスファーゲートＴ２２０に、ノードＢを介して、組み合わせ論理回路ＣＯＭ２００から出力された入力信号ＩＮが入力され、インバータＩＮ２３４から、出力信号ＯＵＴが出力される。
【０１８２】
図５１は、図５０のフリップフロップ回路ＦＦ２００に、テスト機能を付加した場合における、フリップフロップ回路ＦＦ２００の回路構成の一例を示す図である。この図５１に示すように、テスト機能を付加したフリップフロップ回路ＦＦ２００には、マスターラッチ回路ＭＬ２００の前段に、マルチプレクサＭＸ２２０が設けられている。
【０１８３】
このマルチプレクサＭＸ２２０は、クロックドインバータＩＮ２４０、ＩＮ２４２を備えて構成されている。クロックドインバータＩＮ２４２には、テストイネーブル信号ＴＥが入力され、クロックドインバータＩＮ２４０には、テストイネーブル信号ＴＥを反転した反転テストイネーブル信号／ＴＥが入力される。したがって、クロックドインバータＩＮ２４０、ＩＮ２４２は、テストイネーブル信号ＴＥとテストイネーブル信号／ＴＥとにより択一的にゲーティングされる。
【０１８４】
また、クロックドインバータＩＮ２４０には、組み合わせ論理回路ＣＯＭ２００から出力された入力信号ＩＮが入力され、クロックドインバータＩＮ２４２には、テスト信号ＴＩが入力される。したがって、テストイネーブル信号ＴＥがハイレベルの場合（つまり、テストの場合）、クロックドインバータＩＮ２４２に入力されたテスト信号ＴＩが、マスターラッチ回路ＭＬ２００に入力され、テストイネーブル信号ＴＥがローレベルの場合（つまり、通常動作の場合）、クロックドインバータＩＮ２４０に入力された組み合わせ論理回路ＣＯＭ２００からの入力信号ＩＮが、マスターラッチ回路ＭＬ２００に入力される。これにより、テスト機能を備えたフリップフロップ回路ＦＦ２００を実現できることが分かる。
【０１８５】
以上のように、本実施形態に係る半導体集積回路によれば、図４２に示すように、ハイスルーラッチ回路ＨＴＬ２００を省略することができる。このため、トランジスタ数の削減を図ることができ、回路面積の縮小を図ることができる。また、入力信号のレベル保持機能をフリップフロップ回路ＦＦ２００のマスターラッチ回路ＭＬ２００が兼ねているので、半導体集積回路のテストの際には、フリップフロップ回路に対する通常のテストと同様のテスト信号を印加すればよい。このため、ハイスルーラッチ回路ＨＴＬ２００が存在する場合と比べて、テスト容易性が向上する。
【０１８６】
〔第１９実施形態〕
上述した実施形態では、組み合わせ論理回路の出力が、スリープモードではハイレベルに固定される。例えば、上述した第１実施形態では、図１及び図２に示したように、組み合わせ論理回路ＣＯＭ１０の出力であるノードＥは、スリープモードの間（回路制御信号ＥＮがローレベルの間）は、Ｐ形のＭＯＳトランジスタＰＭ１３により、強制的にハイレベルになる。
【０１８７】
ところが、この組み合わせ論理回路ＣＯＭ１０の出力先が、クロック信号の供給と停止を制御するクロックゲーティング回路などである場合には、このノードＥの出力がハイレベルであることから、本来であればスリープモードであるので、クロック信号の供給を停止すべきであるにも拘わらず、このクロック信号の供給が停止されずに供給され続けてしまう。すなわち、Ｐ形のＭＯＳトランジスタＰＭ１３のプルアップにより、クロックゲーティング回路が無条件にクロック信号を供給する状態になってしまう。
【０１８８】
そこで、本実施形態では、図５２に示すように、組み合わせ論理回路ＣＯＭ１０の出力と、回路制御信号ＥＮとの論理積をとり、この論理積をとった信号で、クロックゲーティング回路ＣＧＣの制御を行う。
【０１８９】
すなわち、図５２に示すように、本実施形態では、クロックゲーティング回路ＣＧＣは、ＡＮＤ回路ＡＮ３００、ＡＮ３０２と、ロースルーラッチ回路ＬＴＬ３００とを備えて構成されている。組み合わせ論理回路ＣＯＭ１０は様々な組み合わせの論理セルで構成されているが、この図５２では、組み合わせ論理回路ＣＯＭ１０の最終段におけるプルアップ用のＰ形のＭＯＳトランジスタＰＭ１３と、フットスイッチであるＮ形のＭＯＳトランジスタＮＭ１３とは、図示している。この組み合わせ論理回路ＣＯＭ１０は、例えば、図１のように構成されている。
【０１９０】
図５２に示すように、クロックゲーティング回路ＣＧＣのＡＮＤ回路ＡＮ３００には、論理回路ＣＯＭ１０の出力であるノードＥの信号と、Ｎ形のＭＯＳトランジスタＮＭ１３の制御端子にも入力されている回路制御信号ＥＮとが、入力される。そして、このＡＮＤ回路３００の出力信号は、ロースルーラッチ回路ＬＴＬ３００のデータ入力端子Ｄに入力される。このＡＮＤ回路ＡＮ３００が本実施形態における第１ゲーティング論理回路を構成しており、ＡＮＤ回路は第１ゲーティング論理回路の一例である。
【０１９１】
ロースルーラッチ回路ＬＴＬ３００の制御端子には、システムクロック信号ＳｙｓＣＬＫが入力されている。このため、システムクロック信号ＳｙｓＣＬＫがローレベルの間は、データ入力端子Ｄから入力されたクロック制御信号ＥｎＣＬＫが、データ出力端子Ｑから出力されるが、システムクロック信号ＳｙｓＣＬＫがハイレベルの間は、データ出力端子Ｑからは、直前のレベルを保持したクロック制御信号ＥｎＣＬＫが出力される。
【０１９２】
このクロック制御信号ＥｎＣＬＫは、ＡＮＤ回路ＡＮ３０２に入力される。このＡＮＤ回路ＡＮ３０２には、システムクロック信号ＳｙｓＣＬＫも入力されている。そして、このＡＮＤ回路ＡＮ３０２の出力が、クロック信号ＣＬＫとして、後段のクロックツリーＣＬＴＲに供給される。このＡＮＤ回路ＡＮ３０２が本実施形態における第２ゲーティング論理回路を構成しており、ＡＮＤ回路は第２ゲーティング論理回路の一例である。
【０１９３】
この構成から分かるように、図５２のクロックゲーティング回路ＣＧＣを用いると、回路制御信号ＥＮがハイレベルの時（すなわちアクティブモードの時）には、組み合わせ論理回路ＣＯＭ１０の出力と同じ論理値が、ロースルーラッチ回路ＬＴＬ３００のデータ入力端子Ｄに入力される。このため、ＡＮＤ回路ＡＮ３０２からは、システムクロック信号ＳｙｓＣＬＫに同期したクロック信号ＣＬＫが出力される。
【０１９４】
一方、回路制御信号ＥＮがローレベルの時（すなわちスリープモードの時）には、組み合わせ論理回路ＣＯＭ１０の出力に拘わらず、ＡＮＤ回路ＡＮ３００の出力はローレベルになり、ローレベルの信号がロースルーラッチ回路ＬＴＬ３００のデータ入力端子Ｄに入力される。このため、ロースルーラッチ回路ＬＴＬ３００の出力もローレベルに固定され、クロックゲーティング回路ＣＧＣの出力もローレベルに固定される。このため、後段のクロックツリーＣＬＴＲへのクロック信号の供給を停止した状態にすることができる。
【０１９５】
このことから分かるように、本実施形態は、組み合わせ論理回路ＣＯＭ１０をスリープモードにした際に、クロック信号ＣＬＫをローレベルの状態で停止させる場合に、有効である。
【０１９６】
〔第２０実施形態〕
上記実施形態では、スリープモードにおいては、ロースルーラッチ回路ＬＴＬ３００への入力や出力がローレベルであり、クロックゲーティング回路ＣＧＣの出力もローレベルの状態になるという規則性がある場合に有効であったが、このような規則性がない場合も存在する。そこで、本実施形態では、そのような規則性がない場合のクロックゲーティング回路ＣＧＣの構成について説明する。
【０１９７】
図５３は、本実施形態に係る組み合わせ論理回路ＣＯＭ１０と、この組み合わせ論理回路ＣＯＭ１０の出力を用いてシステムクロック信号ＳｙｓＣＬＫのゲーティングを行うクロックゲーティング回路ＣＧＣと、このクロックゲーティング回路ＣＧＣからクロック信号ＣＬＫの供給を受けるクロックツリーＣＬＴＲを示す図である。
【０１９８】
上記実施形態と異なる部分を説明すると、クロックゲーティング回路ＣＧＣは、ＡＮＤ回路ＡＮ３００の代わりに、マルチプレクサＭＸ３００を備えている。このマルチプレクサＭＸ３００には、組み合わせ論理回路ＣＯＭ１０の出力信号と、ロースルーラッチ回路ＬＴＬ３００の出力信号であるクロック制御信号ＥｎＣＬＫとが入力されている。また、このマルチプレクサＭＸ３００の制御端子には、回路制御信号ＥＮが入力されている。ＡＮＤ回路ＡＮ３０２は、本実施形態における第３ゲーティング論理回路を構成しており、ＡＮＤ回路は第３ゲーティング論理回路の一例である。
【０１９９】
この構成から分かるように、図５３のクロックゲーティング回路ＣＧＣを用いると、回路制御信号ＥＮがハイレベルの時（すなわちアクティブモードの時）には、マルチプレクサＭＸ３００は、組み合わせ論理回路ＣＯＭ１０からの入力をロースルーラッチ回路ＬＴＬ３００に出力するので、組み合わせ論理回路ＣＯＭ１０の出力と同じ論理値が、ロースルーラッチ回路ＬＴＬ３００のデータ入力端子Ｄに入力される。このため、ＡＮＤ回路ＡＮ３０２からは、システムクロック信号ＳｙｓＣＬＫに同期したクロック信号ＣＬＫが出力される。
【０２００】
一方、回路制御信号ＥＮがローレベルの時（すなわちスリープモードの時）には、マルチプレクサＭＸ３００は、ロースルーラッチ回路ＬＴＬ３００から入力されたクロック制御信号ＥｎＣＬＫを、ロースルーラッチ回路ＬＴＬ３００に出力する。このため、ロースルーラッチ回路ＬＴＬ３００の出力が、ロースルーラッチ回路ＬＴＬ３００の入力となり、ロースルーラッチ回路ＬＴＬ３００の出力が不変となる。
【０２０１】
このため、スリープモード時には、クロック制御信号ＥｎＣＬＫを必ずローレベルの状態で停止させるという規則性がない場合にも、本実施形態は適用できる。また、クロック制御信号ＥｎＣＬＫがローレベルでスリープモードに入った場合には、クロックツリーＣＬＴＲへのクロック信号ＣＬＫの供給は停止させることができる。
【０２０２】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した各実施形態においては、Ｎ型のＭＯＳトランジスタを用いたプルアップ構成により本発明を実現することとしたが、Ｐ型のＭＯＳトランジスタを用いたプルダウン構成により本発明を実現するようにしてもよい。プルダウン構成により本発明を実現する場合、例えば、上述した第１実施形態の半導体集積回路装置は、図５４のような回路構成となる。この場合の動作タイミングチャートは図５５に示すようになる。すなわち、時刻Ｔ２から時刻Ｔ４の間のスリープモードにおいては、各論理セルＬＣ１０〜ＬＣ１３の出力であるノードＢ〜ノードＥが、ローレベルにプルダウンされ、リーク電流が流れないように、Ｐ型のＭＯＳトランジスタＰＭ１０〜ＰＭ１３がオフになる。
【０２０３】
また、上述した実施形態における組み合わせ論理回路を構成するＭＯＳトランジスタは、ＭＩＳトランジスタ（Metal Insulator Semiconductor Transistor）の一例であり、他の種類のＭＩＳトランジスタにより構成することもできる。
【図面の簡単な説明】
【０２０４】
【図１】第１実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図２】図１に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図３】図１に示した半導体集積回路装置で用いられているＮＡＮＤ回路の回路構成の一例を示す図。
【図４】図１に示した半導体集積回路装置で用いられているＮＯＲ回路の回路構成の一例を示す図。
【図５】第２実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図６】図５に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図７】第２実施形態に係る半導体集積回路装置の変形例を示す図。
【図８】第３実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図９】図８に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図１０】第３実施形態に係る半導体集積回路装置の変形例を示す図。
【図１１】第４実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１２】図１１に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図１３】第５実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１４】図１３に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図１５】第６実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１６】図１５に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図１７】第７実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１８】第８実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１９】図１８に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図２０】第９実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図２１】図２０に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図２２】第９実施形態に係る半導体集積回路装置の変形例を示す図。
【図２３】第１０実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図２４】図２３に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図２５】第１０実施形態に係る半導体集積回路装置の変形例を示す図。
【図２６】第１０実施形態に係る半導体集積回路装置の別の変形例を示す図。
【図２７】第１１実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図２８】図２７に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図２９】第１２実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図３０】図２９に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図３１】第１３実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図３２】図３１に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図３３】第１４実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図３４】ロースルーラッチ回路の回路構成の一例を示す図。
【図３５】ロースルーラッチ回路の回路構成の別の例を示す図。
【図３６】ロースルーラッチ回路の回路構成のさらに別の例を示す図。
【図３７】ロースルーラッチ回路の回路構成のさらに別の例を示す図。
【図３８】半導体集積回路に設けられるハイスルーラッチ回路と、このハイスルーラッチ回路に接続されたフリップフロップ回路とを示す図。
【図３９】図３８の入出力信号と各ノードの論理レベルを表にして示す図。
【図４０】図３８の回路から、ハイスルーラッチ回路を省いた回路構成を示す図。
【図４１】図４０の入出力信号と各ノードの論理レベルを表にして示す図。
【図４２】組み合わせ論理回路の後段に図４０のフリップフロップ回路を用いた半導体集積回路の回路構成を示す図。
【図４３】図４２の半導体集積回路におけるクロック信号を生成するクロックゲーティング回路の回路構成の一例を示す図。
【図４４】図４２の半導体集積回路におけるクロック信号を生成するクロックゲーティング回路の回路構成の一例を示す図。
【図４５】図４２の半導体集積回路の動作タイミングチャートの一例を示す図。
【図４６】組み合わせ論理回路の後段に図３８のハイスルーラッチ回路とフリップフロップ回路とを用いた半導体集積回路の回路構成を示す図。
【図４７】図４６の半導体集積回路の動作タイミングチャートの一例を示す図。
【図４８】同一波形のクロック信号を図４２の半導体集積回路に用いた場合の動作タイミングチャートの一例を示す図。
【図４９】同一波形のクロック信号を図４６の半導体集積回路に用いた場合の動作タイミングチャートの一例を示す図。
【図５０】図４０のフリップフロップ回路の具体的な回路構成の一例を示す図。
【図５１】図５０のフリップフロップ回路にテスト機能を付加した場合の回路構成の一例を示す図。
【図５２】プルアップ用のトランジスタを備える組み合わせ論理回路から出力された信号が入力されるクロックゲーティング回路の回路構成の一例を示す図。
【図５３】図５２のクロックゲーティング回路の変形例を示す図。
【図５４】図１に示したプルアップ型の半導体集積回路装置をプルダウン型に変形した例を示す図。
【図５５】図５４に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【符号の説明】
【０２０５】
ＬＣ１０〜ＬＣ１３  論理セル
ＮＡ１０〜ＮＡ１２  ＮＡＮＤ回路
ＮＯＲ１０  ＮＯＲ回路
ＰＭ１０〜ＰＭ１３  Ｐ型のＭＯＳトランジスタ
ＮＭ１０〜ＮＭ１３  Ｎ型のＭＯＳトランジスタ
ＦＦ１０、ＦＦ１１  フリップフロップ回路
ＣＬＫ、ＣＬＫ１、ＣＬＫ２  クロック信号
ＥＮ  回路制御信号
【図１】
0004675835.tif 000002
【図２】
0004675835.tif 000003
【図３】
0004675835.tif 000004
【図４】
0004675835.tif 000005
【図５】
0004675835.tif 000006
【図６】
0004675835.tif 000007
【図７】
0004675835.tif 000008
【図８】
0004675835.tif 000009
【図９】
0004675835.tif 000010
【図１０】
0004675835.tif 000011
【図１１】
0004675835.tif 000012
【図１２】
0004675835.tif 000013
【図１３】
0004675835.tif 000014
【図１４】
0004675835.tif 000015
【図１５】
0004675835.tif 000016
【図１６】
0004675835.tif 000017
【図１７】
0004675835.tif 000018
【図１８】
0004675835.tif 000019
【図１９】
0004675835.tif 000020
【図２０】
0004675835.tif 000021
【図２１】
0004675835.tif 000022
【図２２】
0004675835.tif 000023
【図２３】
0004675835.tif 000024
【図２４】
0004675835.tif 000025
【図２５】
0004675835.tif 000026
【図２６】
0004675835.tif 000027
【図２７】
0004675835.tif 000028
【図２８】
0004675835.tif 000029
【図２９】
0004675835.tif 000030
【図３０】
0004675835.tif 000031
【図３１】
0004675835.tif 000032
【図３２】
0004675835.tif 000033
【図３３】
0004675835.tif 000034
【図３４】
0004675835.tif 000035
【図３５】
0004675835.tif 000036
【図３６】
0004675835.tif 000037
【図３７】
0004675835.tif 000038
【図３８】
0004675835.tif 000039
【図３９】
0004675835.tif 000040
【図４０】
0004675835.tif 000041
【図４１】
0004675835.tif 000042
【図４２】
0004675835.tif 000043
【図４３】
0004675835.tif 000044
【図４４】
0004675835.tif 000045
【図４５】
0004675835.tif 000046
【図４６】
0004675835.tif 000047
【図４７】
0004675835.tif 000048
【図４８】
0004675835.tif 000049
【図４９】
0004675835.tif 000050
【図５０】
0004675835.tif 000051
【図５１】
0004675835.tif 000052
【図５２】
0004675835.tif 000053
【図５３】
0004675835.tif 000054
【図５４】
0004675835.tif 000055
【図５５】
0004675835.tif 000056