(57)【要約】【課題】  新規な半導体集積回路の設計方法および半導体集積回路を提供する。【解決手段】  選択信号ＳＥの論理レベルがＬＯＷである場合の方がＨＩＧＨである場合よりも電源リーク電流が少ないスキャンフリップフロップ１１と、選択信号ＳＥの論理レベルがＨＩＧＨである場合の方がＬＯＷである場合よりも電源リーク電流が少ないスキャンフリップフロップ１２を備えた半導体集積回路１０において、ユーザ動作モードにおいては、モード設定端子１３に論理レベルとして入力されるＬＯＷのスキャンイネーブル信号をそのままスキャンフリップフロップ１１の選択信号ＳＥとして入力し、モード設定端子１３に論理レベルとして入力されるＬＯＷのスキャンイネーブル信号をインバータ１４で反転してＨＩＧＨの論理レベルとしてスキャンフリップフロップ１２の選択信号ＳＥとして入力する構成にした。【選択図】  図１
2007303906.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ動作用信号とスキャンテスト用信号とが入力される２つの入力端子と選択端子とを有し、該選択端子の論理レベルに応じて前記２つの入力端子のいずれかを選択するマルチプレクサを備えた複数の種類のフリップフロップを備えるとともに、モード設定端子を備え、該モード設定端子の論理レベルに応じて、前記複数の種類のフリップフロップにおいて前記ユーザ動作用信号を選択するユーザ動作モードと、前記複数の種類のフリップフロップにおいて前記スキャンテスト用信号を選択するスキャンテストモードとの一方を選択する半導体集積回路の設計方法において、
前記フリップフロップの種類に応じて、前記２つの入力端子のいずれを前記ユーザ動作用信号を入力する端子とするか、前記スキャンテスト用信号を入力する端子とするかを設定することを特徴とする半導体集積回路の設計方法。
【請求項２】
前記フリップフロップの種類に応じて、前記２つの入力端子の内の電源リーク電流の少なくなる方の入力端子を前記ユーザ動作用信号を入力する端子に設定することを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項３】
ユーザ動作用信号とスキャンテスト用信号とが入力される２つの入力端子と選択端子とを有し、該選択端子の論理レベルに応じて前記２つの入力端子のいずれかを選択するマルチプレクサを備えたフリップフロップを複数備えるとともに、モード設定端子を備え、該モード設定端子の論理レベルに応じて、前記複数のフリップフロップにおいて前記ユーザ動作用信号を選択するユーザ動作モードと、前記複数のフリップフロップにおいて前記スキャンテスト用信号を選択するスキャンテストモードとの一方を選択する半導体集積回路において、
前記複数のフリップフロップの一部は、前記選択端子の論理レベルがＨＩＧＨである時に前記ユーザ動作用信号を選択し、他のフリップフロップは、前記選択端子の論理レベルがＬＯＷである時に前記ユーザ動作用信号を選択することを特徴とする半導体集積回路。    
【請求項４】
前記複数のフリップフロップが複数の種類のフリップフロップを含み、
前記複数の種類の内の一部の種類のフリップフロップは、前記選択端子の論理レベルがＨＩＧＨである時に前記ユーザ動作用信号を選択し、前記複数の種類の内の他の種類のフリッブフロップは、前記選択端子の論理レベルがＬＯＷである時に前記ユーザ動作用信号を選択することを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記一部の種類のフリップフロップは、前記選択信号の論理レベルがＨＩＧＨである場合の方がＬＯＷである場合よりも電源リーク電流が少なく、前記他の種類のフリップフロップは、前記選択信号の論理レベルがＬＯＷである場合の方がＨＩＧＨである場合よりも電源リーク電流が少ないことを特徴とする請求項４記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプレクサを備えた複数種類のフリップフロップにおいてユーザ動作モードとスキャンテストモードとの一方を選択する半導体集積回路の設計方法、およびマルチプレクサを備えた複数のフリップフロップにおいてユーザ動作モードとスキャンテストモードとの一方を選択する半導体集積回路に関する。
【背景技術】
【０００２】
従来より、半導体集積回路の故障を検出するテストとして、スキャンテストが広く用いられている。スキャンテストは、半導体集積回路に備えられた半導体チップ内部の複数のフリップフロップをスキャン可能なシフトレジスタ構成にし、このシフトレジスタのシフトによりテストデータを内部に送り込み、あるいは内部のデータをこのシフトレジスタに取り込んでシフトにより送り出すという動作を行なうことにより半導体集積回路の故障を検出するテストである。
【０００３】
ここで、上述したフリップフロップとして、ユーザ動作用信号とスキャンテスト用信号とが入力される２つの入力端子と選択端子とを有し、その選択端子の論理レベルに応じて上記２つの入力端子のいずれかを選択するマルチプレクサを備えた、いわゆるスキャンフリップフロップと称されるものが好適に用いられる。
【０００４】
また、スキャンテストが行なわれる半導体集積回路には、モード設定端子が備えられており、このモード設定端子の論理レベルに応じて、複数のフリップフロップにおいてユーザ動作用信号を選択するユーザ動作モードと、複数のフリップフロップにおいてスキャンテスト用信号を選択するスキャンテストモードとの一方が選択される。
【０００５】
このようなスキャンテストが行われる半導体集積回路については、例えば、下記の特許文献１の従来技術の説明が参照される。
【特許文献１】特開２００３−１２２８０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
近年、半導体集積回路の微細化に伴い、その半導体集積回路に備えられた半導体チップ上に形成されるさまざまな回路要素（セル）を構成するトランジスタのゲート絶縁膜も薄くなり、ゲートリーク電流が増大する傾向にある。特に、６０ｎｍ〜９０ｎｍノードプロセスに代表される、いわゆるＤｅｅｐ  Ｓｕｂｍｉｃｒｏｎプロセスと称される微細製造プロセスを採用した半導体集積回路においては、ゲート絶縁膜も益々薄くなり、従ってゲートリーク電流も益々増大する傾向にある。また、微細化の進行に従ってトランジスタの閾値電圧も低く設定されるため、ＯＦＦ状態においてトランジスタのチャネルに流れるサブスレッシュホルド電流によって発生するリーク電流も増大する傾向にある。このようなリーク電流は半導体集積回路の消費電力を増大させるため、上述した微細製造プロセスを採用した半導体集積回路においては、特に問題となってきている。
【０００７】
さらに、微細化の進行につれて半導体集積回路の動作速度の高速化が進んでいる。このために、逆に、半導体集積回路内の各部分の動作速度のわずかなバラツキによって、半導体集積回路全体の正常な動作が不可能になるという問題がある。
【０００８】
前述のスキャンテストのために使用するフリップフロップは、いずれの入力端子を使用するかによって、リーク電流、動作速度等の特性が異なる。しかも、機能的には同じフリップフロップであっても、半導体集積回路内のそれぞれの部分には、それぞれにおいて必要とされる仕様を満たすため、使用する素子の特性や配置等が異なる様々な種類のフリップフロップが使用される。そして、その種類毎に、いずれの入力端子を使用した方がリーク電流が少ないか、動作速度が速いか、等の、入力端子の選択による特性の差異の発生状態が異なる。従来は、このような入力端子の選択による特性の差が半導体集積回路の全体の特性に影響を与えることはなかった。しかし、微細化が進むにつれて、前述のようにリーク電流が大きくなるとともに動作速度のバラツキの影響が大きくなり、入力端子の選択によって半導体集積回路全体の特性に影響を与えるようになった。
【０００９】
ところが従来は、いずれの入力端子をユーザ動作信号を入力するために使用し、いずれの入力端子をスキャンテスト用信号を入力するために使用するかは、フリップフロップの種類毎の入力端子の選択による特性の差異を考慮することなく、一律に決められていた。すなわち、それぞれのフリップフロップの特性に応じて、入力端子のどちらをユーザ動作信号もしくはスキャンテスト用信号を入力するために使用するかを、選択することができないという課題があった。このため、例えば、入力端子の選択によってユーザ動作モード時の特性を向上させるようなことはできなかった。さらに、スキャンテスト時の特性とユーザ動作時との特性とが互いに異なり、かつ、両者の特性がどのように異なるかが予想できないため、スキャンテストの結果からユーザ動作モード時の特性を予想することができなかった。
【００１０】
本発明は、上記の課題を解決し、フリップフロップの入力端子のどちらをユーザ動作信号もしくはスキャンテスト用信号を入力するために使用するかを選択することを可能にする半導体集積回路の設計方法、および、半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成する本発明の半導体集積回路の設計方法は、ユーザ動作用信号とスキャンテスト用信号とが入力される２つの入力端子と選択端子とを有し、その選択端子の論理レベルに応じて上記２つの入力端子のいずれかを選択するマルチプレクサを備えた複数の種類のフリップフロップを備えるとともに、モード設定端子を備え、そのモード設定端子の論理レベルに応じて、上記複数の種類のフリップフロップにおいて上記ユーザ動作用信号を選択するユーザ動作モードと、上記複数の種類のフリップフロップにおいて上記スキャンテスト用信号を選択するスキャンテストモードとの一方を選択する半導体集積回路の設計方法において、
上記フリップフロップの種類に応じて、上記２つの入力端子のいずれを上記ユーザ動作用信号を入力する端子とするか、上記スキャンテスト用信号を入力する端子とするかを設定することを特徴とする。
【００１２】
ここで、本発明の半導体集積回路の設計方法において、上記フリップフロップの種類に応じて、上記２つの入力端子の内の電源リーク電流の少なくなる方の入力端子を上記ユーザ動作用信号を入力する端子に設定することが好ましい。
【００１３】
このようにすると、ユーザ動作モードにおける電源リーク電流を、減少させることができる。しかも、ユーザ動作モードにおける電源リーク電流がスキャンテストモードにおける電源リーク電流よりも少ないので、スキャンテストにおいて電源リーク電流が仕様値以下であれば、確実に、ユーザ動作モードにおける電源リーク電流が仕様値以下であることを保証することができる。
【００１４】
また、上記目的を達成する本発明の半導体集積回路は、ユーザ動作用信号とスキャンテスト用信号とが入力される２つの入力端子と選択端子とを有し、その選択端子の論理レベルに応じて上記２つの入力端子のいずれかを選択するマルチプレクサを備えたフリップフロップを複数備えるとともに、モード設定端子を備え、そのモード設定端子の論理レベルに応じて、上記複数のフリップフロップにおいて上記ユーザ動作用信号を選択するユーザ動作モードと、上記複数のフリップフロップにおいて上記スキャンテスト用信号を選択するスキャンテストモードとの一方を選択する半導体集積回路において、
上記複数のフリップフロップの一部は、上記選択端子の論理レベルがＨＩＧＨである時に上記ユーザ動作用信号を選択し、他のフリップフロップは、上記選択端子の論理レベルがＬＯＷである時に上記ユーザ動作用信号を選択することを特徴とする。
【００１５】
ここで、本発明の半導体集積回路における上記複数のフリップフロップが複数の種類のフリップフロップを含み、
上記複数の種類の内の一部の種類のフリップフロップは、上記選択端子の論理レベルがＨＩＧＨである時に上記ユーザ動作用信号を選択し、上記複数の種類の内の他の種類のフリッブフロップは、上記選択端子の論理レベルがＬＯＷである時に上記ユーザ動作用信号を選択するものであることが好ましい。
【００１６】
また、本発明の半導体集積回路における上記一部の種類のフリップフロップは、上記選択信号の論理レベルがＨＩＧＨである場合の方がＬＯＷである場合よりも電源リーク電流が少なく、上記他の種類のフリップフロップは、上記選択信号の論理レベルがＬＯＷである場合の方がＨＩＧＨである場合よりも電源リーク電流が少ないものであることも好ましい態様である。
【発明の効果】
【００１７】
本発明によれば、フリップフロップの入力端子のどちらをユーザ動作信号もしくはスキャンテスト用信号を入力するために使用するかを選択することを可能にする半導体集積回路の設計方法、および、半導体集積回路を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施の形態を説明する。
【００１９】
図１は、本発明の一実施形態の半導体集積回路の主要部の回路構成を示す図である。
【００２０】
尚、図１に示す半導体集積回路１０には、後述する本発明の半導体集積回路の設計方法の一実施形態が適用されている。
【００２１】
図１に示す半導体集積回路１０には、互いに種類が異なる２つのスキャンフリップフロップ１１，１２が備えられている。
【００２２】
スキャンフリップフロップ１１には、マルチプレクサ１１ａが備えられている。このマルチプレクサ１１ａは、ユーザ動作用信号Ｄとスキャンテスト用信号ＳＤが入力される２つの入力端子１１ａ１，１１ａ２と、選択信号ＳＥが入力される選択端子１１ａ３とを有し、選択端子１１ａ３の論理レベルに応じて２つの入力端子１１ａ１，１１ａ２のいずれかを選択する。具体的には、選択端子１１ａ３の論理レベルがＬＯＷ（論理０）である時にユーザ動作用信号Ｄを選択し、選択端子１１ａ３の論理レベルがＨＩＧＨ（論理１）である時にスキャンテスト用信号ＳＤを選択する。また、スキャンフリップフロップ１１は、クロック信号ＣＬＫが入力されるクロック端子１１ｂと、データＱが出力される出力端子１１ｃを有する。
【００２３】
一方、スキャンフリップフロップ１２には、マルチプレクサ１２ａが備えられている。このマルチプレクサ１２ａは、スキャンテスト用信号ＳＤとユーザ動作用信号Ｄが入力される２つの入力端子１２ａ１，１２ａ２と、選択信号ＳＥが入力される選択端子１２ａ３とを有し、選択端子１２ａ３の論理レベルに応じて２つの入力端子１２ａ１，１２ａ２のいずれかを選択する。具体的には、選択端子１２ａ３の論理レベルがＨＩＧＨ（論理１）である時にユーザ動作用信号Ｄを選択し、選択端子１２ａ３の論理レベルがＬＯＷ（論理０）である時にスキャンテスト用信号SＤを選択する。また、スキャンフリップフロップ１２は、クロック信号ＣＬＫが入力されるクロック端子１２ｂと、データＱが出力される出力端子１２ｃを有する。
【００２４】
ここで、スキャンフリップフロップ１１は、選択信号ＳＥの論理レベルがＬＯＷである場合の方がＨＩＧＨである場合よりも電源リーク電流が少なく、一方、スキャンフリップフロップ１２は、選択信号ＳＥの論理レベルがＨＩＧＨである場合の方がＬＯＷである場合よりも電源リーク電流が少ないスキャンフリップフロップである。
【００２５】
さらに、半導体集積回路１０には、モード設定端子１３と、このモード設定端子１３とスキャンフリップフロップ１２の選択端子１２ａ３との間に配備されたインバータ１４が備えられている。
【００２６】
モード設定端子１３は、スキャンイネーブル（Ｓｃａｎ  Ｅｎａｂｌｅ）信号を入力するための端子である。そのモード設定端子１３の論理レベルに応じて、ユーザ動作モードとスキャンテストモードとのいずれかが選択される。ユーザ動作モードにおいては、２種類のスキャンフリップフロップ１１，１２においてユーザ動作用信号Ｄを選択する。スキャンテストモードにおいては、これら２種類のスキャンフリップフロップ１１，１２においてスキャンテスト用信号ＳＤを選択する。
【００２７】
図１に示した例においては、モード設定端子１３の論理レベルがＬＯＷである時にスキャンフリツプフロップ１１においては選択端子１１ａ３の論理レベルがＬＯＷになり、ユーザ動作用信号Ｄを選択する。また、同じくモード設定端子１３の論理レベルがＬＯＷである時に、スキャンフリップフロップ１２においてはインバータ１４を経由してＨＩＧＨレベルの選択信号が選択端子１２ａ３に入力され、ユーザ動作用信号Ｄを選択する。
【００２８】
尚、モード設定端子１３は、例えば半導体集積回路１０を構成する半導体チップの外部入力ピンであり、一方スキャンフリップフロップ１１，１２は半導体チップ内部に形成されたスキャンフリップフロップである。このモード設定端子１３と、スキャンフリップフロップ１１，１２に備えられたマルチプレクサ１１ａ，１２ａの選択端子１１ａ３，１２ａ３とは半導体集積回路１０内の配線によって接続されている。このため、スキャンフリップフロップ１１，１２では、モード設定端子１３に入力されるスキャンイネーブル信号の論理レベルに応じて、ユーザ動作モードとスキャンテストモードとの切り替えが行なわれる。具体的には、スキャンイネーブル信号の論理レベルがＬＯＷ（論理０）の場合はユーザ動作モードに切り替えられ、スキャンイネーブル信号の論理レベルがＨＩＧＨ（論理１）の場合はスキャンテストモードに切り替えられる。
【００２９】
本実施形態の半導体集積回路１０に備えられたスキャンフリップフロップ１１は、選択信号ＳＥの論理レベルがＬＯＷである場合の方がＨＩＧＨである場合よりも電源リーク電流が少なく、一方スキャンフリップフロップ１２は、選択信号ＳＥの論理レベルがＨＩＧＨである場合の方がＬＯＷである場合よりも電源リーク電流が少ない構成である。ここで、ユーザ動作モードにおいては、モード設定端子１３に論理レベルとして入力されるＬＯＷのスキャンイネーブル信号はそのままスキャンフリップフロップ１１の選択信号ＳＥとして入力される。このようにすることにより、スキャンフリップフロップ１１の電源リーク電流を少なく抑えることができる。また、モード設定端子１３に論理レベルとして入力されるＬＯＷのスキャンイネーブル信号はインバータ１４で反転されてＨＩＧＨの論理レベルとしてスキャンフリップフロップ１２の選択信号ＳＥとして入力される。このようにすることにより、スキャンフリップフロップ１２の電源リーク電流も少なく抑えることができる。従って、ユーザ動作モードにおける半導体集積回路１０の消費電力を小さく抑えることができる。しかも、ユーザ動作モードにおける電源リーク電流がスキャンテストモードにおける電源リーク電流よりも少ないので、スキャンテストにおいて電源リーク電流が仕様値以下であることを確認できれば、確実に、ユーザ動作モードにおける電源リーク電流が仕様値以下であることを保証することができる。
【００３０】
尚、本実施形態の半導体集積回路１０では、ユーザ動作モードにおいてリーク電流に起因して増大する半導体集積回路１０の消費電力を小さく抑える例で説明した。しかし、これに限られるものではなく、例えば、ユーザ動作モードにおける動作速度が速くなるようにフリップフロップの入力端子を選択するのでもよい。本発明は、複数のフリップフロップの一部は、選択端子の論理レベルがＨＩＧＨである時にユーザ動作用信号を選択し、他のフリップフロップは、選択端子の論理レベルがＬＯＷである時にユーザ動作用信号を選択するものであればよい。
【００３１】
図２は、本発明の一実施形態の半導体集積回路の設計方法で実行される工程を示す図、図３は、図２に示すライブラリを構成するスキャンフリップフロップのリーク電力のデータの一例を示す図である。
【００３２】
ここでは、以下に説明する本発明の一実施形態の半導体集積回路の設計方法が適用されて、図１に示す半導体集積回路１０が実現される。
【００３３】
本発明の一実施形態の半導体集積回路の設計方法では、先ず、ライブラリ作成工程１において、ライブラリを構成するスキャンフリップフロップＡ，Ｂ，…のリーク電力のデータを作成する。リーク電力のデータとしては、図３に示すように、複数の種類のスキャンフリップフロップＡ，Ｂ，…それぞれについて、選択信号ＳＥ，スキャンテスト用信号ＳＤ，ユーザ動作用信号Ｄ，クロック信号ＣＬＫ，データＱの論理０，１に応じた電源リーク電力を表わすリーク電力Ａ１，Ａ２，Ａ３，Ａ４，Ａ５，Ａ６，…，Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６，…がある。尚、スキャンフリップフロップＡ，Ｂが図１に示すスキャンフリップフロップ１１，１２に対応する。
【００３４】
ここで、スキャンフリップフロップＡでは、リーク電力Ａ１，Ａ３，Ａ５，…の値の方がリーク電力Ａ２，Ａ４，Ａ６，…の値よりも小さい。即ち、このライブラリにおけるスキャンフリップフロップＡ（スキャンフリップフロップ１１）では、選択信号ＳＥの論理レベルがＬＯＷ（論理０）である場合の方がＨＩＧＨ（論理１）である場合よりも電源リーク電流が少ない。
【００３５】
一方、スキャンフリップフロップＢでは、リーク電力Ｂ２，Ｂ４，Ｂ６，…の値の方がリーク電力Ｂ１，Ｂ３，Ｂ５，…の値よりも小さい。即ち、スキャンフリップフロップＢ（スキャンフリップフロップ１２）では、選択信号ＳＥの論理レベルがＨＩＧＨ（論理１）である場合の方がＬＯＷ（論理０）である場合よりも電源リーク電流が少ない。
【００３６】
次に、半導体集積回路１０の接続情報であるネットリスト２を読み込む。さらに、スキャンチェーン接続順序決定工程３において、ネットリストを参照してスキャンチェーン接続順序を決定する。
【００３７】
次に、スキャンチェーン接続工程４において、上記スキャンチェーン接続順序決定工程３で決定されたスキャンチェーン接続順序にしたがってスキャンチェーンを接続する。詳細には、スキャンフリップフロップＡ，Ｂ，…の種類に応じて、２つの入力端子（ここでは、図１に示す入力端子１１ａ１，１１ａ２；１２ａ１，１２ａ２）のいずれをユーザ動作用信号Ｄを入力する端子とするか、スキャンテスト用信号ＳＤを入力する端子とするかを設定する。即ち、スキャンフリップフロップＡ，Ｂ，…の種類に応じて、上記２つの入力端子の内の電源リーク電流の少なくなる方の入力端子をユーザ動作用信号Ｄを入力する端子に設定する。具体的には、入力端子１１ａ１，１２ａ２（図１参照）をユーザ動作用信号Ｄを入力する端子に設定する。
【００３８】
これによって、スキャンチェーン接続後のネットリスト５を得る。このようにして、図１に示す消費電力が小さく抑えられた半導体集積回路１０を得る。
【００３９】
尚、本実施形態の半導体集積回路の設計では、ユーザ動作モードにおいて電源リーク電流に起因して増大する消費電力を小さく抑える例で説明した。しかし、これに限られるものではなく、例えば、ユーザ動作モードにおける動作速度が速くなるようにフリップフロップの入力端子を選択するのでもよい。本発明は、フリップフロップの種類に応じて、２つの入力端子のいずれをユーザ動作用信号を入力する端子とするか、スキャンテスト用信号を入力する端子とするかを設定するものであればよい。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態の半導体集積回路の主要部の回路構成を示す図である。
【図２】本発明の一実施形態の半導体集積回路の設計方法で実行される工程を示す図である。
【図３】図２に示すライブラリを構成するスキャンフリップフロップのリーク電力の一例を示す図である。
【符号の説明】
【００４１】
１  ライブラリ作成工程
２  ネットリスト
３  スキャンチェーン接続順序決定工程
４  スキャンチェーン接続工程
５  スキャンチェーン接続後ネットリスト
１０  半導体集積回路
１１，１２  スキャンフリップフロップ
１１ａ，１２ａ  マルチプレクサ
１１ａ１，１１ａ２，１２ａ１，１２ａ２  入力端子
１１ａ３，１２ａ３  選択端子
１１ｂ，１２ｂ  クロック端子
１１ｃ，１２ｃ  出力端子
１３  モード設定端子
１４  インバータ
【図１】
2007303906.tif 000003
【図２】
2007303906.tif 000004
【図３】
2007303906.tif 000005