(57)【要約】【課題】回路規模を増大させることなくスキャンテスト時のピーク消費電力を低減することが可能な半導体集積回路及びその設計方法を提供すること。【解決手段】本発明にかかる半導体集積回路の設計方法は、シフト動作中に所定の論理値に固定されたデータを出力端子Ｑから出力し続ける低電力スキャンフリップフロップを用いた設計方法であって、送信側フリップフロップ４１〜４３の出力端子Ｑから出力されるデータが所定の論理値に固定されたと仮定して、受信側フリップフロップ４４〜４６の入力端子Ｄに供給されるデータの論理値を算出し、その算出結果に基づいて、受信側フリップフロップ４４〜４６を出力制御スキャンフリップフロップ５４〜５６に置き換える。【選択図】図５
2013117467.tif 000002
【特許請求の範囲】
【請求項１】
外部から供給される第１及び第２入力データのうち、第１モードの場合に前記第１入力データを選択して出力し、第２モードの場合かつ前記第１入力データが第１論理値を示す場合に前記第２入力データを選択して出力する第１データ選択部と、前記第１データ選択部から出力されたデータをクロック信号に同期して取り込み、第１出力データとして出力する第１レジスタと、第１モードの場合に前記第１出力データを第２出力データとして出力し、第２モードの場合に前記第１出力データに関わらず所定の論理値の前記第２出力データを出力する第１ゲーティング回路と、を有する第１の出力制御スキャンフリップフロップと、
外部から供給される第１及び第２入力データのうち、第１モードの場合に前記第１入力データを選択して出力し、第２モードの場合かつ前記第１入力データが第２論理値を示す場合に前記第２入力データを選択して出力する第２データ選択部と、前記第１データ選択部から出力されたデータをクロック信号に同期して取り込み、第１出力データとして出力する第２レジスタと、第１モードの場合に前記第１出力データを第２出力データとして出力し、第２モードの場合に前記第１出力データに関わらず所定の論理値の前記第２出力データを出力する第２ゲーティング回路と、を有する第２の出力制御スキャンフリップフロップと、を用いた半導体集積回路の設計方法であって、
組み合わせ回路の入力が所定の論理値に固定されたと仮定して、当該組み合わせ回路の出力を前記第１入力データに相当する入力データとして受けるフリップフロップの当該入力データの論理値を算出し、
前記算出結果に基づいて、前記フリップフロップを前記第１又は前記第２の出力制御スキャンフリップフロップに置き換える、半導体集積回路。
【請求項２】
前記第１データ選択部は、
第１及び第２モードを切り替えるモード切替信号と、第２入力データと、の論理積を出力する第１論理積回路と、
前記第１論理積回路の出力結果と、第１入力データと、の論理和を出力する第１論理和回路と、によって構成され、
前記第２データ選択部は、
第１及び第２モードを切り替えるモード切替信号の反転信号と、第２入力データと、の論理和を出力する第２論理和回路と、
前記第２論理和回路の出力結果と、第１入力データと、の論理積を出力する第２論理積回路と、によって構成されることを特徴とする、請求項１に記載の半導体集積回路の設計方法。
【請求項３】
前記算出結果により前記フリップフロップに第１論理値の入力データが供給される場合には、当該フリップフロップを前記第１の出力制御スキャンフリップフロップに置き換え、前記算出結果により前記フリップフロップに第２論理値の入力データが供給される場合には、当該フリップフロップを前記第２の出力制御スキャンフリップフロップに置き換える、請求項１又は２に記載の半導体集積回路の設計方法。
【請求項４】
前記半導体集積回路に設けられた複数のフリップフロップに対する前記算出結果に基づいて、前記複数のフリップフロップのそれぞれを前記第１及び前記第２の出力制御スキャンフリップフロップの何れかに置き換えることを特徴とする請求項１〜３のいずれか一項に記載の半導体集積回路の設計方法。
【請求項５】
前記半導体集積回路に設けられた全てのフリップフロップに対する前記算出結果に基づいて、前記全てのフリップフロップのそれぞれを前記第１及び前記第２の出力制御スキャンフリップフロップの何れかに置き換えることを特徴とする請求項１〜３のいずれか一項に記載の半導体集積回路の設計方法。
【請求項６】
前記第１及び前記第２の出力制御スキャンフリップフロップの何れかへの置き換え対象であるフリップフロップに供給される入力データの論理値は、前段に設けられた複数のフリップフロップの出力データに基づいて決定されることを特徴とする請求項１〜５のいずれか一項に記載の半導体集積回路の設計方法。
【請求項７】
外部から供給される第１及び第２入力データのうち、第１モードの場合に前記第１入力データを選択して出力し、第２モードの場合かつ前記第１入力データが所定の論理値を示す場合に前記第２入力データを選択して出力するデータ選択部と、
前記データ選択部から出力されたデータをクロック信号に同期して取り込み、第１出力データとして出力するレジスタと、
第１モードの場合に前記第１出力データを第２出力データとして出力し、第２モードの場合に前記第１出力データに関わらず所定の論理値の前記第２出力データを出力するゲーティング回路と、を備えた出力制御スキャンフリップフロップ。
【請求項８】
前記データ選択部は、
第１及び第２モードを切り替えるモード切替信号と、前記第２入力データと、の論理積を出力する第１論理積回路と、
前記第１論理積回路の出力結果と、前記第１入力データと、の論理和を出力する第１論理和回路と、を有する、請求項７に記載の出力制御スキャンフリップフロップ。
【請求項９】
前記データ選択部は、
第１及び第２モードを切り替えるモード切替信号の反転信号と、前記第２入力データと、の論理和を出力する第２論理和回路と、
前記第２論理和回路の出力結果と、前記第１入力データと、の論理積を出力する第２論理積回路と、を有する、請求項７に記載の出力制御スキャンフリップフロップ。
【請求項１０】
前記ゲーティング回路は、
第１及び第２モードを切り替えるモード切替信号の反転信号と、前記第１出力データと、の論理積を前記第２出力データとして出力する第３論理積回路であることを特徴とする請求項７〜９のいずれか一項に記載の出力制御スキャンフリップフロップ。
【請求項１１】
前記ゲーティング回路は、
第１及び第２モードを切り替えるモード切替信号と、前記第１出力データと、の論理和を前記第２出力データとして出力する第３論理和回路であることを特徴とする請求項７〜９のいずれか一項に記載の出力制御スキャンフリップフロップ。
【請求項１２】
請求項７〜１１のいずれか一項に記載された複数の前記出力制御スキャンフリップフロップと、
前記複数の出力制御スキャンフリップフロップ間に設けられた組み合わせ回路群と、を備えた半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力制御スキャンフリップフロップ、それを備えた半導体集積回路及び半導体集積回路の設計方法に関する。
【背景技術】
【０００２】
半導体集積回路のテスト手法の一つであるスキャンテストでは、ファンクション動作時（通常動作時）と比較して非常に多くの電力が消費される。そのため、スキャンテスト時の消費電力のピーク（以下、ピーク消費電力と称す）を低減することが要求されている。
【０００３】
また一方で、近年の半導体集積回路の動作速度は非常に高速になっているため、スキャンテスト時のピーク消費電力の低減を目的とした回路修正によってファンクション動作時の動作速度を低下させないことが要求されている。
【０００４】
このような問題に対する解決策が、特許文献１に開示されている。図１３に示すように、特許文献１に開示された半導体集積回路は、スキャンテストのシフト動作時において消費電力に与える影響の大きいフリップフロップとして選択されたスキャンフリップフロップ５０１と、後段の組合せ回路５０２と、の間に、スキャンテストのシフト動作中にスキャンフリップフロップ５０１から組合せ回路５０２に供給されるデータ信号を固定するためのＡＮＤ回路５０３を備える。
【０００５】
また、この半導体集積回路は、スキャンテストのシフト動作時において消費電力に与える影響の大きいフリップフロップとして選択されるスキャンフリップフロップの数を、回路修正時に許容される面積の増分によって制限することで面積の増加を許容範囲に抑える。また、この半導体集積回路は、回路動作速度を決定するフリップフロップ間経路の始点となるフリップフロップを、スキャンテストのシフト動作時において消費電力に与える影響の大きいフリップフロップとして選択しないことにより、ファンクション動作に影響を与えないようにする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１７５１５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に開示された半導体集積回路では、面積増加制限が厳しい場合、面積増加を許容範囲に抑えるため、消費電力に与える影響の大きいフリップフロップとして選択できるスキャンフリップフロップの数が少なくなってしまう。それにより、この半導体集積回路では、シフト動作時のピーク消費電力を目標とするピーク消費電力値まで削減できない可能性があった。つまり、この半導体集積回路では、面積増加の抑制とシフト動作時のピーク消費電力の低減とを両立させることができないという問題があった。
【課題を解決するための手段】
【０００８】
本発明にかかる半導体集積回路の設計方法は、外部から供給される第１及び第２入力データのうち、第１モードの場合に前記第１入力データを選択して出力し、第２モードの場合かつ前記第１入力データが第１論理値を示す場合に前記第２入力データを選択して出力する第１データ選択部と、前記第１データ選択部から出力されたデータをクロック信号に同期して取り込み、第１出力データとして出力する第１レジスタと、第１モードの場合に前記第１出力データを第２出力データとして出力し、第２モードの場合に前記第１出力データに関わらず所定の論理値の前記第２出力データを出力する第１ゲーティング回路と、を有する第１の出力制御スキャンフリップフロップと、外部から供給される第１及び第２入力データのうち、第１モードの場合に前記第１入力データを選択して出力し、第２モードの場合かつ前記第１入力データが第２論理値を示す場合に前記第２入力データを選択して出力する第２データ選択部と、前記第１データ選択部から出力されたデータをクロック信号に同期して取り込み、第１出力データとして出力する第２レジスタと、第１モードの場合に前記第１出力データを第２出力データとして出力し、第２モードの場合に前記第１出力データに関わらず所定の論理値の前記第２出力データを出力する第２ゲーティング回路と、を有する第２の出力制御スキャンフリップフロップと、を用いた半導体集積回路の設計方法であって、送信側フリップフロップから出力される前記第２出力データに対応する出力データが所定の論理値に固定されたと仮定して、受信側フリップフロップに供給される前記第１入力データに対応する入力データの論理値を算出し、その算出結果に基づいて、前記受信側フリップフロップを前記第１又は前記第２制御スキャンフリップフロップに置き換える。
【０００９】
また、本発明にかかる半導体集積回路は、外部から供給される第１及び第２入力データのうち、第１モードの場合に前記第１入力データを選択して出力し、第２モードの場合かつ前記第１入力データが所定の論理値を示す場合に前記第２入力データを選択して出力するデータ選択部と、前記データ選択部から出力されたデータをクロック信号に同期して取り込み、第１出力データとして出力するレジスタと、第１モードの場合に前記第１出力データを第２出力データとして出力し、第２モードの場合に前記第１出力データに関わらず所定の論理値の前記第２出力データを出力するゲーティング回路と、を備える。
【００１０】
上述のような回路構成及び設計方法により、回路規模を増大させることなくスキャンテスト時のピーク消費電力を低減することができる。
【発明の効果】
【００１１】
本発明により、回路規模を増大させることなくスキャンテスト時のピーク消費電力を低減することが可能な半導体集積回路及びその設計方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１Ａ】本発明の実施の形態１にかかる低電力スキャンフリップフロップの構成例を示す図である。
【図１Ｂ】図１Ａに示す低電力スキャンフリップフロップの動作を説明するための図である。
【図２Ａ】本発明の実施の形態１にかかる低電力スキャンフリップフロップの構成例を示す図である。
【図２Ｂ】図２Ａに示す低電力スキャンフリップフロップの動作を説明するための図である。
【図３】一般的なスキャンフリップフロップの構成を示す図である。
【図４】本発明が適用される前の半導体集積回路の構成例を示す図である。
【図５】本発明が適用された半導体集積回路の構成例を示す図である。
【図６】本発明の実施の形態１にかかる半導体集積回路の設計方法を示すフローチャートである。
【図７】本発明の実施の形態２にかかる低電力スキャンフリップフロップの構成例を示す図である。
【図８】本発明の実施の形態２にかかる低電力スキャンフリップフロップの構成例を示す図である。
【図９】本発明が適用された半導体集積回路の構成例を示す図である。
【図１０】本発明の実施の形態２にかかる半導体集積回路の設計方法を示すフローチャートである。
【図１１】本発明にかかる半導体集積回路の他の設計方法を示すフローチャートである。
【図１２】本発明にかかる半導体集積回路の他の設計方法を示すフローチャートである。
【図１３】関連する技術の半導体集積回路の構成を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として本発明の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【００１４】
実施の形態１
（低電力スキャンフリップフロップ１０の説明）
図１Ａは、本発明の実施の形態１にかかる低電力スキャンフリップフロップ（第１の出力制御スキャンフリップフロップ）１０の構成例を示す図である。また、図１Ｂは、図１Ａに示す低電力スキャンフリップフロップ１０の動作を説明するための図である。
【００１５】
図１Ａに示すように、低電力スキャンフリップフロップ１０は、データ選択部（第１データ選択部）１１と、フリップフロップ（第１レジスタ）１２と、ゲーティング回路（第１ゲーティング回路）１３と、を備える。データ選択部１１は、論理積回路（第１論理積回路。以下、単にＡＮＤ回路と称す）１４と、論理和回路（第１論理和回路。以下、単にＯＲ回路と称す）１５と、を有する。なお、本実施の形態では、ゲーティング回路１３が論理積回路（第３論理積回路。以下、単にＡＮＤ回路１３と称す）である場合を例に説明する。
【００１６】
また、図１Ａに示す低電力スキャンフリップフロップ１０には、入力端子ＳＩと、入力端子Ｄと、入力端子ＴＥと、クロック入力端子ＣＬＫと、出力端子Ｑと、出力端子ＳＯと、が設けられている。
【００１７】
入力端子ＳＩには、スキャンテストのシフト動作中に取り込むためのデータ（第２入力データ）が供給される。入力端子Ｄには、ファンクション動作（通常動作）中及びスキャンテストのキャプチャ動作中に取り込むためのデータ（第１入力データ）が供給される。入力端子ＴＥには、スキャンイネーブル信号（モード切替信号）が供給される。クロック入力端子ＣＬＫには、クロック信号が供給される。出力端子Ｑからは、ファンクション動作中及びスキャンテストのキャプチャ動作中に後段の組み合わせ回路（又は半導体チップのデータ出力端子）に供給するためのデータ（第２出力データ）が出力される。そして、出力端子ＳＯからは、スキャンテストのシフト動作中に後段のスキャンフリップフロップの入力端子ＳＩ（又は半導体チップのスキャンアウト端子）に供給するためのデータ（第１出力データ）が出力される。
【００１８】
データ選択部１１において、ＡＮＤ回路１４は、入力端子ＳＩに供給されるデータと、スキャンイネーブル信号と、の論理積を出力する。ＯＲ回路１５は、ＡＮＤ回路１４の出力と、入力端子Ｄに供給されるデータと、の論理和をデータＹとして出力する。
【００１９】
図１Ｂを参照しながら説明すると、例えば、スキャンイネーブル信号（ＴＥ）の論理値が"０"の場合、即ち、ファンクションモード（通常動作モード）及びスキャンテストのキャプチャモードの場合、データ選択部１１は、入力端子ＳＩ，Ｄにそれぞれ供給されるデータのうち、入力端子Ｄに供給されるデータ（Ｄ）を選択してデータＹとして出力する。一方、スキャンイネーブル信号（ＴＥ）の論理値が"１"の場合、即ち、スキャンテストのシフトモードの場合、データ選択部１１は、入力端子Ｄに供給されるデータ（Ｄ）の論理値が"０"（第１論理値）であることを条件にして、入力端子ＳＩ，Ｄにそれぞれ供給されるデータのうち、入力端子ＳＩに供給されるデータ（ＳＩ）を選択してデータＹとして出力する。なお、ファンクションモード及びスキャンテストのキャプチャモードを第１モードと称す場合がある。また、スキャンテストのシフトモードを第２モードと称す場合がある。
【００２０】
フリップフロップ１２は、データ選択部１１から出力されるデータＹを、クロック信号に同期して取り込んで出力する。フリップフロップ１２の出力データ（第１出力データ）は、出力端子ＳＯを介して外部に出力される。
【００２１】
ゲーティング回路としてのＡＮＤ回路１３は、フリップフロップ１２の出力データと、スキャンイネーブル信号の反転値と、の論理積を出力する。例えば、スキャンイネーブル信号の論理値が"０"の場合、即ち、ファンクションモード及びスキャンテストのキャプチャモードの場合、ＡＮＤ回路１３は、フリップフロップ１２の出力データをそのまま出力する。一方、スキャンイネーブル信号の論理値が"１"の場合、即ち、スキャンテストのシフトモードの場合、ＡＮＤ回路１３は、フリップフロップ１２の出力データに関わらず論理値"０"のデータを出力する。ＡＮＤ回路１３の出力データ（第２出力データ）は、出力端子Ｑを介して外部に出力される。
【００２２】
要するに、スキャンイネーブル信号の論理値が"０"の場合、即ち、ファンクションモード及びスキャンテストのキャプチャモードの場合、低電力スキャンフリップフロップ１０は、入力端子Ｄに供給されるデータをクロック信号に同期して取り込み、出力端子Ｑから出力する。一方、スキャンイネーブル信号の論理値が"１"の場合、即ち、スキャンテストのシフトモードの場合、低電力スキャンフリップフロップ１０は、入力端子Ｄに供給されるデータの論理値が"０"に固定されていることを条件にして、入力端子ＳＩに供給されるデータをクロック信号に同期して取り込み、出力端子ＳＯから出力する。このとき、低電力スキャンフリップフロップ１０は、論理値"０"に固定されたデータを出力端子Ｑから出力し続ける。
【００２３】
本実施の形態では、図１Ａに示す低電力スキャンフリップフロップ１０を「ＡＮＤ−ＯＲ型低電力スキャンフリップフロップ（ＡＮＤ−ＯＲ型ＳＤＦＦ）」と称す場合がある。
【００２４】
（低電力スキャンフリップフロップ２０の説明）
図２Ａは、本発明の実施の形態１にかかる低電力スキャンフリップフロップ（第２の出力制御スキャンフリップフロップ）２０の構成例を示す図である。また、図２Ｂは、図２Ａに示す低電力スキャンフリップフロップ２０の動作を説明するための図である。図２Ａに示す低電力スキャンフリップフロップ２０は、図１Ａに示す低電力スキャンフリップフロップ１０と比較して、データ選択部の構成が異なる。以下では、主として、低電力スキャンフリップフロップ１０と異なる点について説明する。
【００２５】
図２Ａに示すように、低電力スキャンフリップフロップ２０は、データ選択部（第２データ選択部）２１と、フリップフロップ（第２レジスタ）２２と、ゲーティング回路（第２ゲーティング回路）２３と、を備える。データ選択部２１は、ＯＲ回路（第２論理和回路）２４と、ＡＮＤ回路（第２論理積回路）２５と、を有する。なお、本実施の形態では、ゲーティング回路２３が論理積回路（第３論理積回路。以下、単にＡＮＤ回路２３と称す）である場合を例に説明する。ここで、データ選択部２１は、図１Ａにおけるデータ選択部１１に対応する。フリップフロップ２２は、図１Ａにおけるフリップフロップ１２に対応する。ＡＮＤ回路２３は、図１ＡにおけるＡＮＤ回路１３に対応する。
【００２６】
データ選択部２１において、ＯＲ回路２４は、入力端子ＳＩに供給されるデータと、スキャンイネーブル信号の反転値と、の論理和を出力する。ＡＮＤ回路２５は、ＯＲ回路２４の出力と、入力端子Ｄに供給されるデータと、の論理積をデータＹとして出力する。
【００２７】
図２Ｂを参照しながら説明すると、例えば、スキャンイネーブル信号（ＴＥ）の論理値が"０"の場合、即ち、ファンクションモード（通常動作モード）及びスキャンテストのキャプチャモードの場合、データ選択部２１は、入力端子ＳＩ，Ｄにそれぞれ供給されるデータのうち、入力端子Ｄに供給されるデータ（Ｄ）を選択してデータＹとして出力する。一方、スキャンイネーブル信号（ＴＥ）の論理値が"１"の場合、即ち、スキャンテストのシフトモードの場合、データ選択部２１は、入力端子Ｄに供給されるデータ（Ｄ）の論理値が"１"（第２論理値）であることを条件にして、入力端子ＳＩ，Ｄにそれぞれ供給されるデータのうち、入力端子ＳＩに供給されるデータ（ＳＩ）を選択してデータＹとして出力する。
【００２８】
フリップフロップ２２は、データ選択部２１から出力されるデータＹを、クロック信号に同期して取り込んで出力する。フリップフロップ２２の出力データ（第１出力データ）は、出力端子ＳＯを介して外部に出力される。
【００２９】
ゲーティング回路としてのＡＮＤ回路２３は、フリップフロップ２２の出力データと、スキャンイネーブル信号の反転値と、の論理積を出力する。例えば、スキャンイネーブル信号の論理値が"０"の場合、即ち、ファンクションモード及びスキャンテストのキャプチャモードの場合、ＡＮＤ回路２３は、フリップフロップ２２の出力データをそのまま出力する。一方、スキャンイネーブル信号の論理値が"１"の場合、即ち、スキャンテストのシフトモードの場合、ＡＮＤ回路２３は、フリップフロップ２２の出力データに関わらず論理値"０"のデータを出力する。ＡＮＤ回路２３の出力データ（第２出力データ）は、出力端子Ｑを介して外部に出力される。
【００３０】
要するに、スキャンイネーブル信号の論理値が"０"の場合、即ち、ファンクションモード及びスキャンテストのキャプチャモードの場合、低電力スキャンフリップフロップ２０は、入力端子Ｄに供給されるデータをクロック信号に同期して取り込み、出力端子Ｑから出力する。一方、スキャンイネーブル信号の論理値が"１"の場合、即ち、スキャンテストのシフトモードの場合、低電力スキャンフリップフロップ２０は、入力端子Ｄに供給されるデータの論理値が"１"に固定されていることを条件にして、入力端子ＳＩに供給されるデータをクロック信号に同期して取り込み、出力端子ＳＯから出力する。このとき、低電力スキャンフリップフロップ２０は、論理値"０"に固定されたデータを出力端子Ｑから出力し続ける。
【００３１】
本実施の形態では、図２Ａに示す低電力スキャンフリップフロップ２０を「ＯＲ−ＡＮＤ型低電力スキャンフリップフロップ（ＯＲ−ＡＮＤ型ＳＤＦＦ）」と称す場合がある。
【００３２】
（一般的なスキャンフリップフロップ３０の説明）
比較のため、一般的なスキャンフリップフロップの構成及び基本動作について説明する。図３は、一般的なスキャンフリップフロップ３０の構成を示す図である。図３に示すように、スキャンフリップフロップ３０は、データ選択部３１と、フリップフロップ３２と、を備える。データ選択部３１は、ＡＮＤ回路３３，３４と、ＯＲ回路３５と、を有する。なお、図３に示すスキャンフリップフロップ３０には出力端子ＳＯが設けられていない。
【００３３】
データ選択部３１において、ＡＮＤ回路３３は、入力端子ＳＩに供給されるデータと、スキャンイネーブル信号と、の論理積を出力する。ＡＮＤ回路３４は、入力端子Ｄに供給されるデータと、スキャンイネーブル信号の反転値と、の論理積を出力する。ＯＲ回路３５は、ＡＮＤ回路３３，３４のそれぞれの出力データの論理和をデータＹとして出力する。
【００３４】
例えば、スキャンイネーブル信号の論理値が"０"の場合、即ち、ファンクションモード及びスキャンテストのキャプチャモードの場合、データ選択部３１は、入力端子Ｄに供給されるデータをデータＹとして出力する。一方、スキャンイネーブル信号の論理値が"１"の場合、即ち、スキャンテストのシフトモードの場合、データ選択部３１は、入力端子ＳＩに供給されるデータをデータＹとして出力する。
【００３５】
フリップフロップ３２は、データ選択部３１から出力されるデータＹを、クロック信号に同期して取り込んで出力する。フリップフロップ３２の出力データは、出力端子Ｑを介して外部に出力される。
【００３６】
要するに、スキャンイネーブル信号の論理値が"０"の場合、即ち、ファンクションモード及びスキャンテストのキャプチャモードの場合、スキャンフリップフロップ３０は、入力端子Ｄに供給されるデータをクロック信号に同期して取り込み、出力端子Ｑから出力する。一方、スキャンイネーブル信号の論理値が"１"の場合、即ち、スキャンテストのシフトモードの場合、スキャンフリップフロップ３０は、入力端子ＳＩに供給されるデータをクロック信号に同期して取り込み、出力端子Ｑから出力する。
【００３７】
（低電力スキャンフリップフロップと一般的なスキャンフリップフロップとの比較）
図１Ａに示す低電力スキャンフリップフロップ１０は、一般的なスキャンフリップフロップ３０と比較して、スキャンテストのシフト動作中、論理値"０"に固定されたデータを出力端子Ｑから出力し続けることを特徴とする。但し、図１Ａに示す低電力スキャンフリップフロップ１０には、スキャンテストのシフト動作中、入力端子Ｄに供給されるデータの論理値が"０"に固定されていることが要求される。
【００３８】
なお、図１Ａに示す低電力スキャンフリップフロップ１０では、一般的なスキャンフリップフロップ３０と比較して、出力端子Ｑの出力データを論理値"０"に固定するためのゲーティング回路（ＡＮＤ回路１３）が新たに設けられる代わりに、データ選択部を構成するＡＮＤ回路の数が１つ少ない。したがって、図１Ａに示す低電力スキャンフリップフロップ１０の回路規模と一般的なスキャンフリップフロップ３０の回路規模とは同等程度となる。つまり、半導体集積回路の設計において、一般的なスキャンフリップフロップ３０が低電力スキャンフリップフロップ１０に置き換えられたとしても、半導体集積回路全体の回路規模の増大は抑制される。
【００３９】
図２Ａに示す低電力スキャンフリップフロップ２０は、一般的なスキャンフリップフロップ３０と比較して、スキャンテストのシフト動作中、論理値"０"に固定されたデータを出力端子Ｑから出力し続けることを特徴とする。但し、図２Ａに示す低電力スキャンフリップフロップ２０には、スキャンテストのシフト動作中、入力端子Ｄに供給されるデータの論理値が"１"に固定されていることが要求される。
【００４０】
なお、図２Ａに示す低電力スキャンフリップフロップ２０では、一般的なスキャンフリップフロップ３０と比較して、出力端子Ｑの出力データを論理値"０"に固定するためのゲーティング回路（ＡＮＤ回路２３）が新たに設けられる代わりに、データ選択部を構成するＡＮＤ回路の数が１つ少ない。したがって、図２Ａに示す低電力スキャンフリップフロップ２０の回路規模と一般的なスキャンフリップフロップ３０の回路規模とは同等程度となる。つまり、半導体集積回路の設計において、一般的なスキャンフリップフロップ３０が低電力スキャンフリップフロップ２０に置き換えられたとしても、半導体集積回路全体の回路規模の増大は抑制される。
【００４１】
（低電力スキャンフリップフロップ１０，２０のＬＳＩ設計への適用事例）
次に、本実施の形態にかかる低電力スキャンフリップフロップ１０，２０のＬＳＩ設計への適用事例について、図４〜図６を用いて説明する。図４及び図５は、本発明の適用前後の半導体集積回路の構成例を示す図である。また、図６は、本実施の形態にかかる半導体集積回路の設計方法を示すフローチャートである。なお、本実施の形態では、ＤＦＴ挿入工程において従来のＤＦＴ挿入が実施された後に、一般的なスキャンフリップフロップから低電力スキャンフリップフロップへの置き換えが行われる場合を例に説明する。以下、具体的に説明する。
【００４２】
まず、本発明が適用される前の半導体集積回路４の構成例について、図４を用いて説明する。図４に示す半導体集積回路４は、図６に示す設計フローの「従来のＤＦＴ挿入工程（Ｓ６３）」後の回路構成に相当する。図４に示す半導体集積回路４は、６つの一般的なスキャンフリップフロップ４１〜４６と、複数の組み合わせ回路によって構成された組み合わせ回路群４７と、を備える。なお、スキャンフリップフロップ４１〜４６は、それぞれ、図３に示すスキャンフリップフロップ３０と同じ回路構成である。スキャンフリップフロップ４１〜４３は、スキャンフリップフロップ４４〜４６との関係において、それぞれ送信側フリップフロップと称す場合がある。スキャンフリップフロップ４４〜４６は、スキャンフリップフロップ４１〜４３との関係において、それぞれ受信側フリップフロップと称す場合がある。なお、スキャンフリップフロップ４１〜４３は、図示しない前段のスキャンフリップフロップとの関係では、それぞれ受信側フリップフロップとなり得る。また、スキャンフリップフロップ４４〜４６は、図示しない後段のスキャンフリップフロップとの関係では、それぞれ送信側フリップフロップとなり得る。
【００４３】
これらスキャンフリップフロップ４１〜４６は、順次直列に接続されていてスキャンチェーンを構成している。このスキャンチェーンは、具体的に以下のように接続されて構成されている。スキャンフリップフロップ４１〜４５の出力端子Ｑは、それぞれ、スキャンフリップフロップ４２〜４６の入力端子ＳＩに接続されている。また、スキャンフリップフロップ４６の出力端子Ｑは、半導体集積回路４に設けられた、スキャンチェーンのスキャンアウト端子（ＳｃａｎＯｕｔ）に接続されている。また、スキャンフリップフロップ４１の入力端子ＳＩは、半導体集積回路４に設けられた、スキャンチェーンのスキャンイン端子（ＳｃａｎＩｎ）に接続されている。このように、スキャンイン端子とスキャンアウト端子との間に、複数のスキャンフリップフロップ４１〜４６が接続されることにより、スキャンチェーンが構成される。
【００４４】
組み合せ回路群４７は、前段のスキャンフリップフロップ４１〜４３の出力端子Ｑからそれぞれ出力されたデータを論理演算し、その演算結果を後段のスキャンフリップフロップ４４〜４６の入力端子Ｄに向けて出力する。なお、組み合わせ回路群４７の入力ａ〜ｃには、それぞれ、スキャンフリップフロップ４１〜４３の出力端子Ｑが接続されている。また、組み合わせ回路群４７の出力ｄ〜ｆには、それぞれ、スキャンフリップフロップ４４〜４６の入力端子Ｄが接続されている。
【００４５】
続いて、図４に示す半導体集積回路４の動作について簡単に説明する。
【００４６】
ファンクション動作時（通常動作時）には、スキャンイネーブル信号の論理値は"０"を示す。この場合、スキャンフリップフロップ４１〜４６は、それぞれ、入力端子Ｄに供給されたデータをクロック信号に同期して取り込み、出力端子Ｑから出力する。このとき、組み合わせ回路群４７は、スキャンフリップフロップ４１〜４３から出力されたデータを論理演算して、後段のスキャンフリップフロップ４４〜４６に対して出力する。
【００４７】
一方、スキャンテスト時には、シフトモードとキャプチャモードの２つのモードが存在する。シフトモードでは、スキャンイネーブル信号の論理値は"１"を示す。この場合、スキャンフリップフロップ４１〜４６は、それぞれ、入力端子ＳＩに供給されたデータをクロック信号に同期して取り込み、出力端子Ｑから出力する。キャプチャモードでは、イネーブル信号の論理値は"０"を示す。この場合、スキャンフリップフロップ４１〜４６は、それぞれ、入力端子Ｄに供給されたデータをクロック信号に同期して取り込み、出力端子Ｑから出力する。
【００４８】
一般的にスキャンテストでは、そのテストを開始する場合には、半導体集積回路４のスキャンイン端子にＬＳＩテスタからテストデータ（テストパタン）が供給される。同様に、半導体集積回路４に設けられた各スキャンフリップフロップのクロック入力端子ＣＬＫに対しＬＳＩテスタからクロック信号が供給される。また、半導体集積回路４に設けられた各スキャンフリップフロップの入力端子ＴＥに対しＬＳＩテスタからスキャンイネーブル信号が供給される。
【００４９】
まず、１度目のシフトモードにおいてクロック信号がスキャンチェーンの段数分立ち上がることにより、スキャンチェーンを構成する複数のスキャンフリップフロップにテストデータが取り込まれる。次に、キャプチャモードにおいてクロック信号が１回立ち上がることにより、スキャンチェーンを構成する複数のスキャンフリップフロップには、それぞれ入力端子Ｄに供給されたデータが取り込まれる。例えば、スキャンフリップフロップ４１〜４３には、それぞれ入力端子Ｄに供給された前段の組み合わせ回路群（不図示）又は外部入力端子からのデータが取り込まれる。また、スキャンフリップフロップ４４〜４６には、それぞれ入力端子Ｄに供給された組み合わせ回路群４７のデータが取り込まれる。次に、２度目のシフトモードにおいてクロック信号が再びスキャンチェーンの段数分立ち上がることにより、スキャンチェーンを構成する複数のスキャンフリップフロップに取り込まれたデータ（キャプチャデータ）はスキャンアウト端子から出力される。ＬＳＩテスタは、半導体集積回路４のスキャンアウト端子から出力されたデータと、期待値データと、を比較することにより、スキャンチェーンを構成する複数のスキャンフリップフロップの良否判定を行う。
【００５０】
次に、本発明が適用された半導体集積回路５の構成例について、図５を用いて説明する。図５に示す半導体集積回路５は、図４に示す半導体集積回路４においてスキャンフリップフロップ４１〜４６をそれぞれ低電力スキャンフリップフロップ５１〜５６に置き換えたものである。図５に示す半導体集積回路５は、図６に示す設計フローの「低電力スキャンフリップフロップへ変換（Ｓ６４）」後の回路構成に相当する。なお、低電力スキャンフリップフロップ５１，５３，５５，５６は、図１Ａに示す低電力スキャンフリップフロップ１０と同じ回路構成である。低電力スキャンフリップフロップ５２，５４は、図２Ａに示す低電力スキャンフリップフロップ２０と同じ回路構成である。また、組み合わせ回路群５７は、図４における組み合わせ回路群４７と同じ回路構成である。
【００５１】
このとき、スキャンチェーンは、具体的に以下のように接続されて構成される。低電力スキャンフリップフロップ５１〜５５の出力端子ＳＯは、それぞれ、低電力スキャンフリップフロップ５２〜５６の入力端子ＳＩに接続される。また、低電力スキャンフリップフロップ５６の出力端子Ｑは、半導体集積回路５に設けられた、スキャンチェーンのスキャンアウト端子（ＳｃａｎＯｕｔ）に接続される。また、低電力スキャンフリップフロップ５１の入力端子ＳＩは、半導体集積回路５に設けられた、スキャンチェーンのスキャンイン端子（ＳｃａｎＩｎ）に接続される。
【００５２】
組み合せ回路群５７は、前段の低電力スキャンフリップフロップ５１〜５３の出力端子Ｑからそれぞれ出力されたデータを論理演算し、その演算結果を後段の低電力スキャンフリップフロップ５４〜５６の入力端子Ｄに向けて出力する。なお、組み合わせ回路群５７の入力ａ〜ｃには、それぞれ、低電力スキャンフリップフロップ５１〜５３の出力端子Ｑが接続される。また、組み合わせ回路群５７の出力ｄ〜ｆには、それぞれ、低電力スキャンフリップフロップ５４〜５６の入力端子Ｄが接続される。
【００５３】
続いて、スキャンフリップフロップ４１〜４６から低電力スキャンフリップフロップ５１〜５６への置き換え方法について、図６を用いて説明する。図６に示す設計フローの例では、まず、従来の論理合成手法により、ＲＴＬ記述の設計データ６０が論理合成される（Ｓ６１）。次に、ＤＦＴ（Ｄｅｓｉｇｎ  Ｆｏｒ  Ｔｅｓｔ）挿入工程において、従来のＤＦＴ挿入手法により、論理合成後の設計データ（ゲートデータ）６２に対してＤＦＴ挿入が実施される（Ｓ６３）。そして、同じくＤＦＴ挿入工程において、ＤＦＴ挿入後の設計データ（図４に示す半導体集積回路４に相当）を参照し、スキャンフリップフロップから低電力スキャンフリップフロップへの置き換えが行われる（Ｓ６４）。その後、低電力スキャンフリップフロップへの置き換え後の設計データ（図５に示す半導体集積回路５に相当）６５が出力される。
【００５４】
具体的には、まず、スキャンテストのシフト動作中、スキャンフリップフロップ４１〜４６を含む全てのスキャンフリップフロップの出力端子Ｑから何れも論理値"０"のデータが出力され続けると仮定する。このように仮定した状態で、全てのスキャンフリップフロップの入力端子Ｄにそれぞれ供給されるデータの論理値を算出する（Ｓ６４１）。例えば、あるスキャンフリップフロップの入力端子Ｄに供給されるデータの論理値が"０"の場合（Ｓ６４２の"０"）、当該スキャンフリップフロップはＡＮＤ−ＯＲ型低電力スキャンフリップフロップに置き換えられる（Ｓ６４３）。一方、あるスキャンフリップフロップの入力端子Ｄに供給されるデータの論理値が"１"の場合（Ｓ６４２の"１"）、当該スキャンフリップフロップはＯＲ−ＡＮＤ型低電力スキャンフリップフロップに置き換えられる（Ｓ６４４）。
【００５５】
図４の例では、スキャンテストのシフト動作中、スキャンフリップフロップ４１〜４６の出力端子Ｑから何れも論理値"０"のデータが出力され続けると仮定すると、組み合わせ回路群４７の入力ａ〜ｃには何れも論理値"０"のデータが入力される。その結果、組み合わせ回路群４７の出力ｄ〜ｆからそれぞれ論理値"１"，"０"，"０"に固定されたデータが出力される。つまり、スキャンフリップフロップ４４〜４６の入力端子Ｄには、それぞれ論理値"１"，"０"，"０"に固定されたデータが供給される。それにより、スキャンフリップフロップ４５，４６は、それぞれＡＮＤ−ＯＲ型低電力スキャンフリップフロップである低電力スキャンフリップフロップ５５，５６に置き換えられる。また、スキャンフリップフロップ４４は、ＯＲ−ＡＮＤ型低電力スキャンフリップフロップである低電力スキャンフリップフロップ５４に置き換えられる。このように置き換えることによって、スキャンフリップフロップ４４〜４６はスキャンテストのシフト動作中、論理値"０"を出力端子Ｑから出力するスキャンフリップフロップ５４〜５６となる。
【００５６】
なお、本実施の形態では、上記したように、スキャンテストのシフト動作中、すべてのスキャンフリップフロップの出力端子Ｑから論理値"０"のデータが出力され続けると仮定している。このように仮定した状態では、図示している組み合わせ回路群４７のみならず、図示していない他の組み合わせ回路群も、ある論理値に固定されたデータを出力し続ける。つまり、スキャンフリップフロップ４４〜４６のみならず、スキャンフリップフロップ４１〜４３や図示しない他のスキャンフリップフロップの入力端子Ｄにも、ある論理値に固定されたデータが供給される。
【００５７】
したがって、例えば、スキャンフリップフロップ４１〜４３の入力端子Ｄには、スキャンテストのシフト動作中、前段の組み合わせ回路群（不図示）からそれぞれ論理値"０"，"１"，"０"に固定されたデータが供給される。それにより、スキャンフリップフロップ４１，４３は、ＡＮＤ−ＯＲ型低電力スキャンフリップフロップである低電力スキャンフリップフロップ５１，５３に置き換えられる。また、スキャンフリップフロップ４２は、ＯＲ−ＡＮＤ型低電力スキャンフリップフロップである低電力スキャンフリップフロップ５２に置き換えられる。
【００５８】
その結果、置換された低電力スキャンフリップフロップ５１，５３，５５，５６は、スキャンテストのシフト動作中、入力端子Ｄに供給されるデータの論理値が"０"に固定されるとともに、論理値"０"に固定されたデータを出力端子Ｑから出力し続ける。低電力スキャンフリップフロップ５２，５４は、スキャンテストのシフト動作中、入力端子Ｄに供給されるデータの論理値が"１"に固定されるとともに、論理値"０"に固定されたデータを出力端子Ｑから出力し続ける。また、組み合わせ回路群５７を含む複数の組み合わせ回路群は、スキャンテストのシフト動作中、いずれもある論理値に固定されたデータを出力し続ける。換言すると、これら組み合わせ回路群をそれぞれ構成する複数の組み合わせ回路は、スキャンテストのシフト動作中、いずれも出力信号を変化させない。
【００５９】
このように、本実施の形態にかかる低電力スキャンフリップフロップを備えた半導体集積回路、及び、本実施の形態にかかる低電力スキャンフリップフロップを用いた半導体集積回路の設計方法では、全てのスキャンフリップフロップが低電力スキャンフリップフロップに置き換えられる。そのため、フリップフロップ間に設けられた複数の組み合わせ回路は、スキャンテストのシフト動作中、いずれも出力信号を変化させなくなる。それにより、シフト動作中のピーク消費電力の増大が抑制される。
【００６０】
また、本発明では、関連する技術と異なり、低電圧スキャンフリップフロップと組み合わせ回路との間にＡＮＤ回路（５０３）を別途追加する必要が無いため、回路規模を増大させることなく、シフト動作中のピーク消費電力の増大を抑制することができる。
【００６１】
なお、本実施の形態にかかる低電力スキャンフリップフロップ１０，２０の回路規模は、上記したように、一般的なスキャンフリップフロップ３０の回路規模と同等程度である。したがって、全てのスキャンフリップフロップが低電力スキャンフリップフロップに置き換えられたとしても、半導体集積回路全体の回路規模の増大は抑制される。
【００６２】
また、全てのスキャンフリップフロップが低電力スキャンフリップフロップに置き換えられた場合、フリップフロップ間を伝搬する信号は、送信側の低電力スキャンフリップフロップに設けられたゲーティング回路（ＡＮＤ回路）の影響により遅延するようにも思われる。しかしながら、受信側の低電力スキャンフリップフロップのデータ選択部にはＡＮＤ回路が一つ設けられていないため、当該遅延は相殺される。つまり、全てのスキャンフリップフロップが低電力スキャンフリップフロップに置き換えられたとしても、フリップフロップ間の信号伝搬時間にはほとんど影響を与えない。
【００６３】
実施の形態２
（低電力スキャンフリップフロップ７０の説明）
図７は、本発明の実施の形態２にかかる低電力スキャンフリップフロップ（第１の出力制御スキャンフリップフロップ）７０の構成例を示す図である。図７に示す低電力スキャンフリップフロップ７０は、図１Ａに示す低電力スキャンフリップフロップ１０と比較して、ゲーティング回路としてＡＮＤ回路１３に代えてＯＲ回路（第３論理和回路）７３を備える。図７に示す低電力スキャンフリップフロップ７０のその他の回路構成については、図１Ａに示す低電力スキャンフリップフロップ１０と同様であるため、その説明を省略する。
【００６４】
なお、データ選択部７１は、図１Ａにおけるデータ選択部１１に対応する。フリップフロップ７２は、図１Ａにおけるフリップフロップ１２に対応する。ＡＮＤ回路７４は、図１ＡにおけるＡＮＤ回路１４に対応する。ＯＲ回路７５は、図１ＡにおけるＯＲ回路１５に対応する。
【００６５】
低電力スキャンフリップフロップ７０は、スキャンテストのシフト動作中、論理値"１"に固定されたデータを出力端子Ｑから出力し続けることを特徴とする。但し、低電力スキャンフリップフロップ７０には、スキャンテストのシフト動作中、入力端子Ｄに供給されるデータの論理値が"０"（第１論理値）に固定されていることが要求される。低電力スキャンフリップフロップ７０のその他の動作については、図１Ａに示す低電力スキャンフリップフロップ１０と同様であるため、その説明を省略する。
【００６６】
本実施の形態では、図７に示す低電力スキャンフリップフロップ７０を「ＡＮＤ−ＯＲ型低電力スキャンフリップフロップ（ＡＮＤ−ＯＲ型ＳＤＦＦ）」と称す場合がある。
【００６７】
（低電力スキャンフリップフロップ８０の説明）
図８は、本発明の実施の形態２にかかる低電力スキャンフリップフロップ（第２の出力制御スキャンフリップフロップ）８０の構成例を示す図である。図８に示す低電力スキャンフリップフロップ８０は、図２Ａに示す低電力スキャンフリップフロップ２０と比較して、ゲーティング回路としてＡＮＤ回路２３に代えてＯＲ回路（第３論理和回路）８３を備える。図８に示す低電力スキャンフリップフロップ８０のその他の回路構成については、図２Ａに示す低電力スキャンフリップフロップ２０と同様であるため、その説明を省略する。
【００６８】
なお、データ選択部８１は、図２Ａにおけるデータ選択部２１に対応する。フリップフロップ８２は、図２Ａにおけるフリップフロップ２２に対応する。ＡＮＤ回路８４は、図２ＡにおけるＡＮＤ回路２４に対応する。ＯＲ回路８５は、図２ＡにおけるＯＲ回路２５に対応する。
【００６９】
低電力スキャンフリップフロップ８０は、スキャンテストのシフト動作中、論理値"１"に固定されたデータを出力端子Ｑから出力し続けることを特徴とする。但し、低電力スキャンフリップフロップ８０には、スキャンテストのシフト動作中、入力端子Ｄに供給されるデータの論理値が"１"（第２論理値）に固定されていることが要求される。低電力スキャンフリップフロップ８０のその他の動作については、図２Ａに示す低電力スキャンフリップフロップ２０と同様であるため、その説明を省略する。
【００７０】
本実施の形態では、図８に示す低電力スキャンフリップフロップ８０を「ＯＲ−ＡＮＤ型低電力スキャンフリップフロップ（ＯＲ−ＡＮＤ型ＳＤＦＦ）」と称す場合がある。
【００７１】
（低電力スキャンフリップフロップ７０，８０のＬＳＩ設計への適用事例）
次に、本実施の形態にかかる低電力スキャンフリップフロップ７０，８０のＬＳＩ設計への適用事例について、図９及び図１０を用いて説明する。図９は、本発明の適用後の半導体集積回路の構成例を示す図である。また、図１０は、本実施の形態にかかる半導体集積回路の設計方法を示すフローチャートである。なお、本実施の形態では、実施の形態１と同様に、ＤＦＴ挿入工程において従来のＤＦＴ挿入が実施された後に、一般的なスキャンフリップフロップから低電力スキャンフリップフロップへの置き換えが行われる場合を例に説明する。以下、具体的に説明する。
【００７２】
まず、本発明が適用された半導体集積回路９の構成例について、図９を用いて説明する。図９に示す半導体集積回路９は、図４に示す半導体集積回路４においてスキャンフリップフロップ４１〜４６をそれぞれ低電力スキャンフリップフロップ９１〜９６に置き換えたものである。図９に示す半導体集積回路９は、図１０に示す設計フローの「低電力スキャンフリップフロップへ変換（Ｓ１０４）」後の回路構成に相当する。なお、低電力スキャンフリップフロップ９１，９３，９５，９６は、図７に示す低電力スキャンフリップフロップ７０と同じ回路構成である。低電力スキャンフリップフロップ９２，９４は、図８に示す低電力スキャンフリップフロップ８０と同じ回路構成である。また、組み合わせ回路群９７は、図４における組み合わせ回路群４７と同じ回路構成である。
【００７３】
続いて、スキャンフリップフロップ４１〜４６から低電力スキャンフリップフロップ９１〜９６への置き換え方法について、図１０を用いて説明する。図１０に示す設計フローの例では、まず、従来の論理合成手法により、ＲＴＬ記述の設計データ１００が論理合成される（Ｓ１０１）。次に、ＤＦＴ挿入工程において、従来のＤＦＴ挿入手法により、論理合成後の設計データ（ゲートデータ）１０２に対してＤＦＴ挿入が実施される（Ｓ１０３）。そして、同じくＤＦＴ挿入工程において、ＤＦＴ挿入後の設計データ（図４に示す半導体集積回路４に相当）を参照し、スキャンフリップフロップから低電力スキャンフリップフロップへの置き換えが行われる（Ｓ１０４）。その後、低電力スキャンフリップフロップへの置き換え後の設計データ（図９に示す半導体集積回路９に相当）１０５が出力される。
【００７４】
具体的には、まず、スキャンテストのシフト動作中、スキャンフリップフロップ４１〜４６を含む全てのスキャンフリップフロップの出力端子Ｑから何れも論理値"１"のデータが出力され続けると仮定する。このように仮定した状態で、全てのスキャンフリップフロップの入力端子Ｄにそれぞれ供給されるデータの論理値を算出する（Ｓ１０４１）。例えば、あるスキャンフリップフロップの入力端子Ｄに供給されるデータの論理値が"０"の場合（Ｓ１０４２の"０"）、当該スキャンフリップフロップはＡＮＤ−ＯＲ型低電力スキャンフリップフロップに置き換えられる（Ｓ１０４３）。一方、あるスキャンフリップフロップの入力端子Ｄに供給されるデータの論理値が"１"の場合（Ｓ１０４２の"１"）、当該スキャンフリップフロップはＯＲ−ＡＮＤ型低電力スキャンフリップフロップに置き換えられる（Ｓ１０４４）。
【００７５】
図９の例では、スキャンテストのシフト動作中、スキャンフリップフロップ４１〜４６の出力端子Ｑから何れも論理値"１"のデータが出力され続けると仮定すると、組み合わせ回路群４７の入力ａ〜ｃには何れも論理値"１"のデータが入力される。その結果、組み合わせ回路群４７の出力ｄ〜ｆからそれぞれ論理値"１"，"０"，"０"に固定されたデータが出力される。つまり、スキャンフリップフロップ４４〜４６の入力端子Ｄには、それぞれ論理値"１"，"０"，"０"に固定されたデータが供給される。それにより、スキャンフリップフロップ４５，４６は、それぞれＡＮＤ−ＯＲ型低電力スキャンフリップフロップである低電力スキャンフリップフロップ９５，９６に置き換えられる。また、スキャンフリップフロップ４４は、ＯＲ−ＡＮＤ型低電力スキャンフリップフロップである低電力スキャンフリップフロップ９４に置き換えられる。
【００７６】
なお、本実施の形態では、上記したように、スキャンテストのシフト動作中、すべてのスキャンフリップフロップの出力端子Ｑから論理値"１"のデータが出力され続けると仮定している。このように仮定した状態では、図示している組み合わせ回路群４７のみならず、図示していない他の組み合わせ回路群も、ある論理値に固定されたデータを出力し続ける。つまり、スキャンフリップフロップ４４〜４６のみならず、スキャンフリップフロップ４１〜４３や図示しない他のスキャンフリップフロップの入力端子Ｄにも、ある論理値に固定されたデータが供給される。
【００７７】
したがって、例えば、スキャンフリップフロップ４１〜４３の入力端子Ｄには、スキャンテストのシフト動作中、前段の組み合わせ回路群（不図示）からそれぞれ論理値"０"，"１"，"０"に固定されたデータが供給される。それにより、スキャンフリップフロップ４１，４３は、ＡＮＤ−ＯＲ型低電力スキャンフリップフロップである低電力スキャンフリップフロップ９１，９３に置き換えられる。また、スキャンフリップフロップ４２は、ＯＲ−ＡＮＤ型低電力スキャンフリップフロップである低電力スキャンフリップフロップ９２に置き換えられる。
【００７８】
その結果、置換された低電力スキャンフリップフロップ９１，９３，９５，９６は、スキャンテストのシフト動作中、入力端子Ｄに供給されるデータの論理値が"０"に固定されるとともに、論理値"１"に固定されたデータを出力端子Ｑから出力し続ける。低電力スキャンフリップフロップ９２，９４は、スキャンテストのシフト動作中、入力端子Ｄに供給されるデータの論理値が"１"に固定されるとともに、論理値"１"に固定されたデータを出力端子Ｑから出力し続ける。また、組み合わせ回路群４７を含む複数の組み合わせ回路群は、スキャンテストのシフト動作中、いずれもある論理値に固定されたデータを出力し続ける。換言すると、これら組み合わせ回路群をそれぞれ構成する複数の組み合わせ回路は、スキャンテストのシフト動作中、いずれも出力信号を変化させない。
【００７９】
このように、本実施の形態にかかる低電力スキャンフリップフロップを備えた半導体集積回路、及び、本実施の形態にかかる低電力スキャンフリップフロップを用いた半導体集積回路の設計方法の場合にも、実施の形態１と同様の効果を奏することができる。
【００８０】
以上のように、本発明によれば、スキャンテストのシフト動作中に全てのスキャンフリップフロップの出力端子Ｑから所定の論理値のデータが出力され続けると仮定したうえで、それぞれのスキャンフリップフロップの入力端子Ｄに供給されるデータの論理値が算出される。そして、この算出結果に基づいて、全てのスキャンフリップフロップが低電力スキャンフリップフロップに置き換えられる。そのため、フリップフロップ間に設けられた複数の組み合わせ回路は、スキャンテストのシフト動作中、いずれも出力信号を変化させなくなる。それにより、シフト動作中のピーク消費電力の増大が抑制される。
【００８１】
なお、関連する技術では、シフト動作中のピーク消費電力を抑制するためにフリップフロップと組み合わせ回路との間にＡＮＤ回路（５０３）を追加する必要があった。そのため、関連する技術では、回路規模が増大するという問題があった。一方、本発明では、関連する技術と異なり、ＡＮＤ回路を別途追加する必要が無い。そのため、本発明では、回路規模を増大させることなく、シフト動作中のピーク消費電力の増大を抑制することができる。
【００８２】
より具体的には、関連する技術では、フリップフロップと組み合わせ回路との間にＡＮＤ回路（５０３）を追加する必要があったため、面積増加制限が厳しい場合、追加するＡＮＤ回路の数を少なくせざるを得なかった。換言すると、関連する技術では、面積増加制限が厳しい場合、面積増加を許容範囲に抑えるため、消費電力に与える影響の大きいフリップフロップとして選択されるスキャンフリップフロップの数を少なくせざるを得なかった。そのため、関連する技術では、面積増加の抑制とシフト動作時のピーク消費電力の低減とが両立できなかった。換言すると、関連する技術では、回路規模を増大させることなく、シフト動作時のピーク消費電力の増大を抑制することができなかった。一方、本発明では、一般的なスキャンフリップフロップと同程度の回路規模の低電力スキャンフリップフロップが用いられるため、半導体集積回路全体の回路規模を増大させることなく、シフト動作時のピーク消費電力の増大を抑制することができる。
【００８３】
また、関連する技術では、回路動作速度を決定するフリップフロップ間経路の始点となるフリップフロップを、消費電力に与える影響の大きいフリップフロップとして選択しないことにより、ファンクション動作（通常動作）に影響を与えないようにしていた。そのため、関連する技術では、シフト動作時のピーク消費電力を十分に低減できない可能性があった。一方、本発明では、上記したように、全てのスキャンテストフリップフロップが低電力スキャンフリップフロップに置き換えられたとしても、フリップフロップ間の信号伝搬時間にはほとんど影響を与えない。そのため、本発明では、ファンクション動作に影響を与えることなく、シフト動作時のピーク消費電力を従来よりも低減することができる。
【００８４】
要するに、関連する技術では、一部のスキャンフリップフロップと後段の組み合わせ回路との間にのみＡＮＤ回路（５０３）が設けられるにすぎず、全ての組み合わせ回路がシフト動作中に出力信号を変化させなくなるわけではない。そのため、関連する技術では、シフト動作中のピーク消費電力を十分に低減できないという問題があった。一方、本発明では、全てのスキャンフリップフロップが低電力スキャンフリップフロップに置き換えられることにより、これらフリップフロップ間に設けられた複数の組み合わせ回路のすべてがシフト動作中に出力信号を変化させなくなる。そのため、本発明では、シフト動作中のピーク消費電力を従来よりも低減することができる。
【００８５】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。上記実施の形態では、一般的なスキャンフリップフロップから低電力スキャンフリップフロップへの置き換えが、ＤＦＴ挿入工程において従来のＤＦＴ挿入工程の後に実施される場合を例に説明したが、これに限られない。低電力スキャンフリップフロップへの置き換えは、図１１に示すように、ＤＦＴ挿入工程において従来のＤＦＴ挿入工程の前に実施されても良い。あるいは、図１２に示すように、論理合成工程において従来の論理合成工程の後に実施されても良い。
【００８６】
また、上記実施の形態では、一般的なスキャンフリップフロップを低電力スキャンフリップフロップに置き換える場合を例に説明したが、通常のフリップフロップを直接低電力スキャンフリップフロップに置き換えても良い。
【００８７】
また、実施の形態１では、全てのスキャンフリップフロップが、シフト動作中に論理値"０"のデータを出力端子Ｑから出力し続けるように、低電力スキャンフリップフロップ１０又は低電力スキャンフリップフロップ２０に置き換えられる場合を例に説明した。また、実施の形態２では、全てのスキャンフリップフロップが、シフト動作中に論理値"１"のデータを出力端子Ｑから出力し続けるように、低電力スキャンフリップフロップ７０又は低電力スキャンフリップフロップ８０に置き換えられる場合を例に説明した。しかし、これらのスキャンフリップフロップは、シフト動作中にいずれも同じ論理値のデータを出力端子Ｑから出力し続けるように置き換えられる必要はなく、それぞれ何れかの論理値のデータを出力端子Ｑから出力し続けるように置き換えられれば良い。つまり、低電力スキャンフリップフロップ１０，２０，７０，８０が混在して用いられても良い。
【００８８】
また、上記実施の形態では、全てのスキャンフリップフロップを低電力スキャンフリップフロップに置き換える場合を例に説明したが、これに限られない。スキャンテストのシフト動作中、低電力スキャンフリップフロップへの置き換え対象であるスキャンフリップフロップの入力端子Ｄに供給されるデータが確実に固定されるのであれば、当該スキャンフリップフロップの前段のスキャンフリップフロップの全てを低電力スキャンフリップフロップに置き換える必要はない。
【００８９】
また、低電力スキャンフリップフロップ１０，２０，７０，８０は、上記した構成に限られず、同様の機能を有する他の構成にも適宜変更可能である。
【００９０】
また、上記実施の形態では、半導体集積回路の外部からテストデータ（テストパタン）が供給される場合を例に説明したが、これに限られない。例えば、半導体集積回路の内部に設けられたパタン生成回路によってテストデータ（テストパタン）が生成されても良い。つまり、組み込み自己テスト手法（いわゆるＢＩＳＴ手法）が採用された半導体集積回路に対しても本発明を適用可能である。
【００９１】
なお、本発明にかかる低電力スキャンフリップフロップは、例えば、他の複数のセルとともに一つのセルとしてライブラリに登録されてもよい。それにより、論理合成ツールやＤＦＴ挿入ツール等によって自動的に対象部分を低電力スキャンフリップフロップに置き換えることが可能になる。
【符号の説明】
【００９２】
４，５，９  半導体集積回路
１０  低電力スキャンフリップフロップ
１１  データ選択部
１２  フリップフロップ
１３，１４  ＡＮＤ回路
１５  ＯＲ回路
２０  低電力スキャンフリップフロップ
２１  データ選択部
２２  フリップフロップ
２３，２５  ＡＮＤ回路
２４  ＯＲ回路
４１〜４６  スキャンフリップフロップ
４７  組み合わせ回路群
５１〜５６  低電力スキャンフリップフロップ
５７  組み合わせ回路群
７０  低電力スキャンフリップフロップ
７１  データ選択部
７２  フリップフロップ
７３，７５  ＯＲ回路
７４  ＡＮＤ回路
８０  低電力スキャンフリップフロップ
８１  データ選択部
８２  フリップフロップ
８３，８４  ＯＲ回路
８５  ＡＮＤ回路
９１〜９６  低電力スキャンフリップフロップ
９７  組み合わせ回路群
【図１Ａ】
2013117467.tif 000003
【図１Ｂ】
2013117467.tif 000004
【図２Ａ】
2013117467.tif 000005
【図２Ｂ】
2013117467.tif 000006
【図３】
2013117467.tif 000007
【図４】
2013117467.tif 000008
【図５】
2013117467.tif 000009
【図６】
2013117467.tif 000010
【図７】
2013117467.tif 000011
【図８】
2013117467.tif 000012
【図９】
2013117467.tif 000013
【図１０】
2013117467.tif 000014
【図１１】
2013117467.tif 000015
【図１２】
2013117467.tif 000016
【図１３】
2013117467.tif 000017