(57)【要約】      （修正有）【課題】設計段階において、組み合わせ論理回路から適正な演算結果を得るために必要となる遅延サイクル数を見積もることが可能な半導体集積回路装置を提供する。【解決手段】スタンダートセルの出力端子と、第１電源電圧との間に設けられた、第１導電型の第１ＭＩＳトランジスタであって、クロック信号を供給するかどうかを制御するクロック制御信号が入力される制御端子を有し、前記クロック信号の供給を停止する場合には前記スタンダードセルの前記出力端子に前記第１電源電圧を供給するための、第１ＭＩＳトランジスタと、前記スタンダードセルと第２電源電圧との間に設けられ、前記クロック制御信号が入力される制御端子を有する、第２導電型の第２ＭＩＳトランジスタであって、前記クロック信号の供給を停止する場合には前記スタンダードセルを構成するＭＩＳトランジスタのリーク電流を遮断する、第２ＭＩＳトランジスタと、を備えている。【選択図】  図１
2007053680.tif 000002
【特許請求の範囲】
【請求項１】
直列に接続された１又は複数の論理セルを有する組み合わせ論理回路を備える半導体集積回路装置であって、
前記論理セルの少なくとも１つは、
ＭＩＳトランジスタにより構成され、前段からの出力信号が入力信号として入力される入力端子と、この入力信号に基づいて、予め定められた論理演算を行い、その論理演算結果を出力信号として出力する出力端子とを有する、スタンダードセルと、
前記スタンダードセルの前記出力端子と、第１電源電圧との間に設けられ、回路制御信号が入力される制御端子を有し、前記回路制御信号に基づいて、前記スタンダードセルを演算停止状態にするために前記スタンダードセルの前記出力端子に前記第１電源電圧を供給する第１導電型の第１ＭＩＳトランジスタと、
前記スタンダードセルと第２電源電圧との間に設けられ、前記回路制御信号が入力される制御端子を有し、前記回路制御信号に基づいて、前記スタンダードセルを演算停止状態にするために前記スタンダードセルを構成するＭＩＳトランジスタのリーク電流を遮断する第２導電型の第２ＭＩＳトランジスタと、を備えることを特徴とする半導体集積回路装置。
【請求項２】
前記組み合わせ論理回路の出力信号が入力されるデータ入力端子と、第１クロック信号が入力されるクロック入力端子とを有する、第１フリップフロップ回路を、さらに備えることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
前記第１クロック信号を供給するかどうかを制御するクロック制御信号が入力され、システムクロック信号に同期して、前記クロック制御信号を前記回路制御信号として出力する、第２フリップフロップ回路と、
前記第２フリップフロップ回路の出力信号が入力信号として入力され、前記システムクロック信号がローレベルの場合には前記入力信号を出力し、前記システムクロック信号がハイレベルの場合には直前の状態で保持された信号を出力する、第１ロースルーラッチ回路と、
前記第１ロースルーラッチ回路の出力信号と前記システムクロック信号とが入力され、前記第１クロック信号を出力する、ＡＮＤ回路と、
をさらに備えることを特徴とする請求項２に記載の半導体集積回路装置。
【請求項４】
前記組み合わせ論理回路の出力信号が入力信号として入力されるデータ入力端子を有し、前記スタンダードセルが演算可能状態にある場合には前記入力信号を出力信号として出力するが、前記スタンダードセルが演算停止状態にある場合には直前の状態を保持して出力する、ラッチ回路と、
前記ラッチ回路の出力が入力されるデータ入力端子と、第１クロック信号が入力されるクロック入力端子とを有する、第１フリップフロップ回路を、さらに備えることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項５】
前記第１クロック信号を供給するかどうかを制御するクロック制御信号が入力信号として入力され、前記システムクロック信号がローレベルの場合には前記入力信号を出力信号として出力し、前記システムクロック信号がハイレベルの場合には直前の状態で保持された信号を出力信号として出力する、第２ロースルーラッチ回路と、
前記第２ロースルーラッチ回路の出力信号と前記システムクロック信号とが入力され、前記クロック信号を出力する、ＡＮＤ回路と、
前記クロック制御信号が入力信号として入力され、前記システムクロック信号と同期して、前記入力信号を前記回路制御信号として出力する、第２フリップフロップ回路と、
をさらに備えることを特徴とする請求項４に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に関し、特に、組み合わせ論理回路を有する半導体集積回路装置に関する。
【背景技術】
【０００２】
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）の一例であり、他の種類のＭＩＳトランジスタにより構成することもできる。
【図面の簡単な説明】
【０１６１】
【図１】第１実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図２】図１に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図３】図１に示した半導体集積回路装置で用いられているＮＡＮＤ回路の回路構成の一例を示す図。
【図４】図１に示した半導体集積回路装置で用いられているＮＯＲ回路の回路構成の一例を示す図。
【図５】第２実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図６】図５に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図７】第２実施形態に係る半導体集積回路装置の変形例を示す図。
【図８】第３実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図９】図８に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図１０】第３実施形態に係る半導体集積回路装置の変形例を示す図。
【図１１】第４実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１２】図１１に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図１３】第５実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１４】図１３に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図１５】第６実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１６】図１５に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図１７】第７実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１８】第８実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図１９】図１８に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図２０】第９実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図２１】図２０に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図２２】第９実施形態に係る半導体集積回路装置の変形例を示す図。
【図２３】第１０実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図２４】図２３に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図２５】第１０実施形態に係る半導体集積回路装置の変形例を示す図。
【図２６】第１０実施形態に係る半導体集積回路装置の別の変形例を示す図。
【図２７】第１１実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図２８】図２７に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図２９】第１２実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図３０】図２９に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図３１】第１３実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図３２】図３１に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【図３３】第１４実施形態に係る半導体集積回路装置の回路構成の一例を示す図。
【図３４】ロースルーラッチ回路の回路構成の一例を示す図。
【図３５】ロースルーラッチ回路の回路構成の別の例を示す図。
【図３６】ロースルーラッチ回路の回路構成のさらに別の例を示す図。
【図３７】ロースルーラッチ回路の回路構成のさらに別の例を示す図。
【図３８】図１に示したプルアップ型の半導体集積回路装置をプルダウン型に変形した例を示す図。
【図３９】図３８に示した半導体集積回路装置の動作タイミングチャートの一例を示す図。
【符号の説明】
【０１６２】
ＬＣ１０〜ＬＣ１３  論理セル
ＮＡ１０〜ＮＡ１２  ＮＡＮＤ回路
ＮＯＲ１０  ＮＯＲ回路
ＰＭ１０〜ＰＭ１３  Ｐ型のＭＯＳトランジスタ
ＮＭ１０〜ＮＭ１３  Ｎ型のＭＯＳトランジスタ
ＦＦ１０、ＦＦ１１  フリップフロップ回路
ＣＬＫ、ＣＬＫ１、ＣＬＫ２  クロック信号
ＥＮ  回路制御信号
【図１】
2007053680.tif 000003
【図２】
2007053680.tif 000004
【図３】
2007053680.tif 000005
【図４】
2007053680.tif 000006
【図５】
2007053680.tif 000007
【図６】
2007053680.tif 000008
【図７】
2007053680.tif 000009
【図８】
2007053680.tif 000010
【図９】
2007053680.tif 000011
【図１０】
2007053680.tif 000012
【図１１】
2007053680.tif 000013
【図１２】
2007053680.tif 000014
【図１３】
2007053680.tif 000015
【図１４】
2007053680.tif 000016
【図１５】
2007053680.tif 000017
【図１６】
2007053680.tif 000018
【図１７】
2007053680.tif 000019
【図１８】
2007053680.tif 000020
【図１９】
2007053680.tif 000021
【図２０】
2007053680.tif 000022
【図２１】
2007053680.tif 000023
【図２２】
2007053680.tif 000024
【図２３】
2007053680.tif 000025
【図２４】
2007053680.tif 000026
【図２５】
2007053680.tif 000027
【図２６】
2007053680.tif 000028
【図２７】
2007053680.tif 000029
【図２８】
2007053680.tif 000030
【図２９】
2007053680.tif 000031
【図３０】
2007053680.tif 000032
【図３１】
2007053680.tif 000033
【図３２】
2007053680.tif 000034
【図３３】
2007053680.tif 000035
【図３４】
2007053680.tif 000036
【図３５】
2007053680.tif 000037
【図３６】
2007053680.tif 000038
【図３７】
2007053680.tif 000039
【図３８】
2007053680.tif 000040
【図３９】
2007053680.tif 000041