(57)【要約】  【課題】  回路規模の増大を抑えつつ、スリープ状態における消費電流を低減できる半導体集積回路を提供する。  【解決手段】  この半導体集積回路は、複数の信号に基づいて論理演算を行う論理回路２１〜２３と、通常モードにおいて、複数の入力端子にそれぞれ入力される複数の信号を保持して論理回路に供給し、テストモードにおいて、シリアルデータとして入力されるテスト信号を保持して論理回路に供給し、スリープモードにおいて、論理回路におけるリーク電流を低減させるために設定された信号を保持して論理回路に供給する複数のスキャンフリップフロップ１１〜１７と、複数のスキャンフリップフロップにおける動作の切換を制御すると共に、スリープモードにおいて、論理回路におけるリーク電流を低減させるために設定された信号を複数のスキャンフリップフロップに供給する制御部３１とを具備する。【選択図】  図１
2005210009.tif 000002
【特許請求の範囲】
【請求項１】
テストモードと通常モードとスリープモードとが設定可能な半導体集積回路であって、
複数の信号に基づいて論理演算を行う少なくとも１つの論理回路と、
通常モードにおいて、複数の入力端子にそれぞれ入力される複数の信号を保持して前記論理回路に供給し、テストモードにおいて、シリアルデータとして入力されるテスト信号を保持して前記論理回路に供給し、スリープモードにおいて、前記論理回路におけるリーク電流を低減させるために設定された信号を保持して前記論理回路に供給する複数のスキャンフリップフロップと、
前記複数のスキャンフリップフロップにおける動作の切換を制御すると共に、スリープモードにおいて、前記論理回路におけるリーク電流を低減させるために設定された信号を前記複数のスキャンフリップフロップに供給する制御部と、
を具備する半導体集積回路。
【請求項２】
前記複数のスキャンフリップフロップの各々が、
供給される制御信号に従って、入力される複数の信号の内の１つを選択する選択回路と、
供給されるクロック信号に同期して、前記選択回路によって選択された信号を保持するフリップフロップと、
を含む、請求項１記載の半導体集積回路。
【請求項３】
前記論理回路におけるリーク電流を低減させるために設定された信号と、通常モードからスリープモードに移行する直前に前記複数のスキャンフリップフロップが保持していた信号とを格納する格納手段をさらに具備する、請求項１又は２記載の半導体集積回路。
【請求項４】
クロック信号を生成するクロック信号発生回路と、
テストモードにおいて、前記複数のスキャンフリップフロップが外部クロック信号に同期して動作するように、前記クロック信号発生回路と前記複数のスキャンフリップフロップとの間の信号経路を遮断するスイッチ回路と、
をさらに具備する、請求項１〜３のいずれか１項記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に半導体集積回路に関し、特に、複数の信号に基づいて論理演算を行う論理回路を含む半導体集積回路に関する。
【背景技術】
【０００２】
従来より、半導体集積回路の動作速度を高めることが要求されている。半導体集積回路に含まれている論理回路は、多数のトランジスタによって構成されており、それらのトランジスタがオン／オフするスイッチング動作を高速化することにより、高速演算が可能となる。ＭＯＳトランジスタのスイッチング動作を高速化するためには、ソースとドレインとの間のゲートの長さを短くすることが有効である。
【０００３】
一般に、半導体集積回路の微細度は、プロセスルール（ミクロンルール）によって表される。近年においては、半導体集積回路の微細化が進み、基本的な配線の太さが０．１８μｍである０．１８ミクロンルールや、基本的な配線の太さが０．１３μｍである０．１３ミクロンルール等の半導体集積回路が製造されている。
【０００４】
このように、微細な構造の半導体集積回路を製造することにより、トランジスタのゲート長を短くして高速演算を実現しているが、その反面、ゲート長を短くすることにより、トランジスタがオフしている時にもソース・ドレイン間を流れるリーク電流が増大しつつあるという問題が生じている。そこで、このような定常状態における消費電流を低減できる半導体集積回路が要求されている。
【０００５】
下記の特許文献１には、論理回路におけるリーク電流が、その入力状態に大きく依存することが記載されている。例えば、ＣＭＯＳの２ウェイのＮＡＮＤゲートは、両方の入力がローレベルのときに、両方の入力がハイレベルのときよりも一桁低いリーク電流を有する。
【０００６】
特許文献１に開示されている論理システム設計方法は、確率分析に基づき、論理ゲートの状態を強制し、リークを低減する。この論理システム設計方法によれば、ネットの値に関与しない状況における入力のセットである可観測性「don’t care」情報を用いて、個々のネットのスリープ状態を識別し、期待パワー消費が低減されるネットを決定する確率分析に基づいて、ネットを特定の値に強制することによって、期待パワー消費を低減することができる。
【０００７】
しかしながら、到来した信号をゲートするためには、ゲート化論理を配置する必要があり、また、機能制約に従い、パワー最小化が実施されなければならない。従って、冗長な回路構成となるので、回路規模が増加し、また、機能制約に従ってパワー最小化が実施されるので、低減されるリーク電流が少ないという問題がある。
【特許文献１】特開２００２−２３００６６号公報（第１，９，１３頁、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
そこで、上記の点に鑑み、本発明は、回路規模の増大を抑えつつ、スリープ状態における消費電流を低減できる半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明に係る半導体集積回路は、テストモードと通常モードとスリープモードとが設定可能な半導体集積回路であって、複数の信号に基づいて論理演算を行う少なくとも１つの論理回路と、通常モードにおいて、複数の入力端子にそれぞれ入力される複数の信号を保持して論理回路に供給し、テストモードにおいて、シリアルデータとして入力されるテスト信号を保持して論理回路に供給し、スリープモードにおいて、論理回路におけるリーク電流を低減させるために設定された信号を保持して論理回路に供給する複数のスキャンフリップフロップと、複数のスキャンフリップフロップにおける動作の切換を制御すると共に、スリープモードにおいて、論理回路におけるリーク電流を低減させるために設定された信号を複数のスキャンフリップフロップに供給する制御部とを具備する。
【００１０】
ここで、複数のスキャンフリップフロップの各々が、供給される制御信号に従って、入力される複数の信号の内の１つを選択する選択回路と、供給されるクロック信号に同期して、選択回路によって選択された信号を保持するフリップフロップとを含むようにしても良い。
【００１１】
また、半導体集積回路は、論理回路におけるリーク電流を低減させるために設定された信号と、通常モードからスリープモードに移行する直前に複数のスキャンフリップフロップが保持していた信号とを格納する格納手段をさらに具備するようにしても良い。
【００１２】
また、半導体集積回路は、クロック信号を生成するクロック信号発生回路と、テストモードにおいて、複数のスキャンフリップフロップが外部クロック信号に同期して動作するように、クロック信号発生回路と複数のスキャンフリップフロップとの間の信号経路を遮断するスイッチ回路とをさらに具備するようにしても良い。
【発明の効果】
【００１３】
本発明によれば、テスト動作のために設けられている複数のスキャンフリップフロップを用いて、スリープ状態においてリーク電流を低減させるために設定された信号を論理回路に供給するようにしたので、回路規模の増大を抑えつつ、スリープ状態における消費電流を低減することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図１に、本発明の一実施形態に係る半導体集積回路の構成を示す。この半導体集積回路は、複数のスキャンフリップフロップ（scan flip flop：ＳＦＦ）１１〜１７と、複数の論理回路（組合せ論理回路）２１〜２３と、通常モードとスリープモードとにおける動作切換を制御する制御部３１と、メモリ３２と、スイッチ回路３３と、内部クロック信号ＣＬＫを発生するクロック信号発生回路３４とを含んでいる。
【００１５】
半導体集積回路の入出力端子にＬＳＩテスタを接続することにより、ＬＳＩテスタの制御の下で、ＳＦＦを用いたテスト動作を行うことが可能である。ＳＦＦ１１〜１７は、選択回路１１Ａ〜１７Ａとフリップフロップ（flip flop：ＦＦ）１１Ｂ〜１７Ｂとによってそれぞれ構成される。テストモードにおいては、これらのＳＦＦ１１〜１７が、シリアルデータとして入力されるテスト信号を順次保持して、論理回路２１〜２３に供給する。本実施形態に係る半導体集積回路においては、このようにテスト動作を容易に行うために設けられたＳＦＦを用いて、スリープモードにおける消費電流を低減することにより、回路構成が冗長になることを防いでいる。
【００１６】
スイッチ回路３３は、制御部３１から入力されるストップ信号ＳＴＰを反転するインバータ３３Ａと、ストップ信号ＳＴＰがゲートに入力されるＰチャネルＭＯＳトランジスタ３３Ｂと、インバータ３３Ａによってストップ信号ＳＴＰを反転して得られた信号がゲートに入力されるＮチャネルＭＯＳトランジスタ３３Ｃとによって構成されている。スイッチ回路３３は、ストップ信号ＳＴＰがローレベルであるときにオンして、クロック信号発生回路３４によって発生される内部クロック信号ＣＬＫをＳＦＦ１１〜１７に供給し、ストップ信号ＳＴＰがハイレベルであるときにオフする。
【００１７】
次に、本実施形態に係る半導体集積回路の動作について説明する。
通常モードにおいて、ストップ信号ＳＴＰはローレベルであり、クロック信号発生回路３４によって発生される内部クロック信号ＣＬＫが、スイッチ回路３３を介してＳＦＦ１１〜１７に供給される。また、スリープイネーブル信号ＳＥもローレベルであり、ＳＦＦ１１〜１７にそれぞれ含まれている選択回路１１Ａ〜１７Ａは、端子Ｙに入力される信号を選択する。ＳＦＦ１１〜１７にそれぞれ含まれているＦＦ１１Ｂ〜１７Ｂは、内部クロック信号ＣＬＫに同期して、選択回路１１Ａ〜１７Ａによって選択された信号をそれぞれ保持する。
【００１８】
このように、通常モードにおいては、ＳＦＦ１１〜１７が、通常のフリップフロップ回路と同様に動作する。その結果、入力端子Ａ〜Ｅに入力される信号が、論理回路２１及び２２に供給され、論理回路２１及び２２における論理演算によって得られた信号Ｓ２１及びＳ２２が、論理回路２３に供給され、論理回路２３における論理演算によって得られた信号が出力端子Ｆから出力される。
【００１９】
テストモードにおいては、入出力端子を介して接続されているＬＳＩテスタから、テストイネーブル信号ＴＥ、テスト入力信号ＴＩ、テストクロック信号ＴＣＬＫ、及び、ストップ信号ＳＴＰが入力される。テスト入力信号ＴＩは、この半導体集積回路の論理回路に故障箇所が存在するか否かを検出するためのテストパターンであり、シリアルデータとして入力される。
【００２０】
テストモードにおける動作としては、まず、ＬＳＩテスタから入力されるハイレベルのテストイネーブル信号ＴＥに従って、選択回路１１Ａ〜１７Ａが、端子Ｘに入力されるテスト入力信号ＴＩを選択する。また、ＦＦ１１Ｂ〜１７Ｂが、ＬＳＩテスタから入力されるテストクロック信号ＴＣＬＫに同期して、選択回路１１Ａ〜１７Ａによって選択された信号をそれぞれ保持する。
【００２１】
ここで、テスト入力信号ＴＩはシリアルデータとして入力されるので、テストクロック信号ＴＣＬＫの１パルス毎に、テスト入力信号ＴＩに含まれているそれぞれのビットが、順次ＦＦ１１Ｂ〜１７Ｂに保持される。即ち、テストイネーブル信号ＴＥがハイレベルであるときには、ＳＦＦ１１〜１７がシフトレジスタとして機能している。ＦＦの段数分のクロックパルスが入力されることによって、テスト入力信号ＴＩに含まれている複数のビットが全てのＦＦにそれぞれ保持された後に、論理回路２３において論理演算により得られた信号が、出力端子Ｆを介してＬＳＩテスタに出力される。
【００２２】
次に、ＬＳＩテスタから入力されるローレベルのテストイネーブル信号ＴＥに従って、選択回路１６Ａ及び１７Ａが、論理回路２１及び２２において論理演算されて端子Ｙに供給されている信号Ｓ２１及びＳ２２をそれぞれ選択する。また、ＦＦ１６Ｂ及び１７Ｂが、ＬＳＩテスタから入力されるテストクロック信号ＴＣＬＫのパルスに同期して、選択回路１６Ａ及び１７Ａによって選択された信号をそれぞれ保持する。その後、論理回路２３において論理演算により得られた信号が、出力端子Ｆを介してＬＳＩテスタに出力される。
【００２３】
さらに、ＬＳＩテスタから再び入力されるハイレベルのテストイネーブル信号ＴＥに従って、選択回路１７Ａが、端子Ｘに入力される信号を選択する。また、ＦＦ１７Ｂが、ＬＳＩテスタから入力されるテストクロック信号ＴＣＬＫに同期して、選択回路１７Ａによって選択された信号を保持する。これにより、論理回路２１及び２２において論理演算された信号Ｓ２１及びＳ２２は、テスト結果であるシリアルデータのテスト出力信号ＴＯとしてＬＳＩテスタに出力される。
【００２４】
スリープモードにおいては、制御部３１から、ストップ信号ＳＴＰ、スリープイネーブル信号ＳＥ、及び、スリープ入力信号ＳＩが供給される。スリープ入力信号ＳＩは、論理回路２１〜２３のリーク電流を低減するためのデータパターンであり、シリアルデータとして供給される。
【００２５】
例えば、論理回路２１及び２２のリーク電流は、全ての入力信号がローレベルであるときの方が少ないとする。また、論理回路２３のリーク電流は、全ての入力信号がハイレベルであるときの方が少ないとする。その場合には、ＳＦＦ１１〜１５がローレベルの信号を保持し、ＳＦＦ１６及び１７がハイレベルの信号を保持するように、スリープ入力信号ＳＩが設定される。このように、スリープモードにおいて動作に関与しない論理回路の入力信号を所定のレベルに固定することにより、それらの論理回路における消費電流を低減することができる。
【００２６】
図２は、本実施形態に係る半導体集積回路の動作を説明するためのタイミングチャートである。図２に示すように、通常動作においては、制御部３１が、スリープイネーブル信号ＳＥをローレベルとし、ストップ信号ＳＴＰをローレベルとする。従って、ＳＦＦ１１〜１５は、内部クロック信号ＣＬＫに同期して、入力端子Ａ〜Ｅに入力される信号をそれぞれ保持する。論理回路２１及び２２は、これらの信号に基づいて論理演算を行う。
【００２７】
また、ＳＦＦ１６は、内部クロック信号ＣＬＫに同期して、論理回路２１の出力信号Ｓ２１を保持する。同様に、ＳＦＦ１７は、内部クロック信号ＣＬＫに同期して、論理回路２２の出力信号Ｓ２２を保持する。論理回路２３は、これらの信号に基づいて論理演算を行う。
【００２８】
スリープモードにおいては、制御部３１が、スリープイネーブル信号ＳＥをハイレベルとすることにより、ＳＦＦ１１〜１７がシフトレジスタとして機能する。図２に示すように、スリープモードにおいては、スリープ開始設定動作、スリープ維持動作、及び、スリープ解除設定動作の３つの動作が行われる。
【００２９】
まず、スリープ開始設定動作においては、制御部３１が、所定の期間ストップ信号ＳＴＰをローレベルに保ち、メモリ３２に格納されているスリープ入力信号ＳＩを読み出して出力する。その結果、ＳＦＦ１１〜１７は、内部クロック信号ＣＬＫに同期して、制御部３１が出力するスリープ入力信号ＳＩに含まれているシリアルデータＰ７〜Ｐ１を順に保持する。メモリ３２は、シリアルデータＰ１〜Ｐ７として、論理回路２１〜２３のリーク電流を低減するためのデータパターンを格納している。
【００３０】
制御部３１は、ＳＦＦ１１〜１７に、シリアルデータＰ７〜Ｐ１を保持させると共に、通常モードからスリープモードに移行する直前にＳＦＦ１１〜１７が保持していた信号をスリープ出力信号ＳＯとして読み出し、そのスリープ出力信号ＳＯをメモリ３２に格納する。即ち、制御部３１は、ＳＦＦ１７〜１１の出力信号を順に読み出し、メモリ３２に格納する。格納されたスリープ出力信号ＳＯは、スリープ解除設定動作において用いられる。
【００３１】
次に、スリープ維持動作においては、制御部３１が、ストップ信号ＳＴＰをハイレベルに維持する。これにより、ＳＦＦ１１〜１７に内部クロック信号ＣＬＫが供給されず、ＳＦＦ１１〜１７のシフト動作が停止するので、ＳＦＦ１１〜１７は、論理回路２１〜２３のリーク電流を低減するためのデータパターンを出力し続ける。従って、これらの論理回路における消費電力を低減することができる。
【００３２】
最後に、スリープ解除設定動作においては、制御部３１が、ストップ信号ＳＴＰをローレベルにして内部クロック信号ＣＬＫの供給を再開し、スリープ開始設定動作時にメモリ３２に格納したスリープ出力信号ＳＯを読み出して、スリープ入力信号ＳＩとしてＳＦＦ１１に出力する。ＳＦＦ１１〜１７は、シフトレジスタとして機能し、制御部３１が出力するスリープ入力信号ＳＩを順に保持する。これにより、ＳＦＦ１１〜１７が保持する信号を、スリープ動作直前の状態に戻すことができる。その後、制御部３１は、スリープイネーブル信号ＳＥをローレベルとしてスリープモードを解除し、通常モードを復帰させる。
【００３３】
なお、本実施形態においては、論理回路２１〜２３のリーク電流を低減するためのデータパターンをメモリ３２に格納しているが、パターンジェネレータ等の論理回路によってこのデータパターンを発生するようにしても良い。
【産業上の利用可能性】
【００３４】
本発明は、半導体集積回路、特に、複数の信号に基づいて論理演算を行う論理回路を含む半導体集積回路において利用することが可能である。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態に係る半導体集積回路の構成を示す図。
【図２】図１の半導体集積回路の動作を説明するためのタイミングチャート。
【符号の説明】
【００３６】
１１〜１７  ＳＦＦ、  １１Ａ〜１７Ａ  選択回路、  １１Ｂ〜１７Ｂ  ＦＦ、  ２１〜２３  論理回路、  ３１  制御部、  ３２  メモリ、  ３３  スイッチ回路、  ３３Ａ  インバータ、  ３３Ｂ  ＰチャネルＭＯＳトランジスタ、  ３３Ｃ  ＮチャネルＭＯＳトランジスタ、  ３４  クロック信号発生回路
【図１】
2005210009.tif 000003
【図２】
2005210009.tif 000004