(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024063970
(43)【公開日】2024-05-14
(54)【発明の名称】半導体装置及び半導体装置のスキャンテスト方法
(51)【国際特許分類】
G01R 31/28 20060101AFI20240507BHJP
G01R 31/3185 20060101ALI20240507BHJP
H01L 21/822 20060101ALI20240507BHJP
G06F 15/78 20060101ALI20240507BHJP
G06F 11/22 20060101ALI20240507BHJP
【FI】
G01R31/28 G
G01R31/28 V
G01R31/3185
H01L27/04 T
G06F15/78 516
G06F11/22 605A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022172190
(22)【出願日】2022-10-27
(71)【出願人】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】中村 和史
【テーマコード(参考)】
2G132
5B048
5B062
5F038
【Fターム(参考)】
2G132AA05
2G132AB01
2G132AC14
2G132AD06
2G132AK27
5B048AA01
5B048CC18
5B062JJ07
5F038CD06
5F038DF08
5F038DF17
5F038DT06
(57)【要約】
【課題】半導体装置のスキャンテストにおいて、シフトモード及びキャプチャモードの両方での瞬間消費電力を効率的に削減する。
【解決手段】スキャンチェーンには、回路ブロック1~4が設けられる。一時保存フリップフロップF1~F3のそれぞれは、2つの回路ブロックの一方の間に接続される。クロック生成回路10は、スキャンテストに用いるクロック信号CLKを出力する。クロックゲーティングセルGC1~GC4は、クロック信号CLKを受けとり、クロック信号CLK1~CLK4を回路ブロック1~4へ、クロック信号CLK1~CLK3を一時保存フリップフロップF1~F3へ出力する。制御回路20は、入力側から1つずつ順に異なるタイミングで回路ブロック1~4を動作させ、かつ、各回路ブロックと各回路ブロックの出力に接続された一時保存フリップフロップとを同時に動作させるように、クロックゲーティングセルGC1~GC4を制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
スキャン入力端子とスキャン出力端子との間に構成され、複数の回路ブロックに分けられたスキャンチェーンと、
前記複数の回路ブロックのうちで隣接する2つの回路ブロックの一方の出力と、他方の入力と、の間に接続された複数の一時保存フリップフロップと、
スキャンテストに用いるクロック信号を出力するクロック信号生成部と、
前記クロック信号生成部から出力された前記クロック信号を受けとり、前記クロック信号を、前記複数の回路ブロック及び前記複数の一時保存フリップフロップへ出力する複数のクロックゲーティングセルと、
前記スキャン入力端子の側から1つずつ順に異なるタイミングで前記回路ブロックを動作させ、かつ、1つの前記回路ブロックの前記出力に接続された前記一時保存フリップフロップと前記1つの回路ブロックとを同時に動作させるように、前記複数のクロックゲーティングセルを制御可能な制御回路と、を備える、
半導体装置。
【請求項2】
前記制御回路は、前記スキャン入力端子の側から1つずつ順に、前記クロック信号の1サイクルだけ異なるタイミングで前記回路ブロックを動作させるように、前記複数のクロックゲーティングセルを制御する、
請求項1に記載の半導体装置。
【請求項3】
Nを2以上の整数として、
前記回路ブロック及び前記複数のクロックゲーティングセルは、それぞれN個設けられ、
前記一時保存フリップフロップは、N-1個設けられ、
N個の前記クロックゲーティングセルは、それぞれ、N個の前記回路ブロックに前記クロック信号を供給し、
kを1以上N-1以下の整数として、k番目のクロックゲーティングセルは、前記スキャン入力端子の側から数えてk番目の前記回路ブロックと、前記k番目の回路ブロックの出力に接続されたk番目の前記一時保存フリップフロップと、に前記クロック信号を出力し、
N番目のクロックゲーティングセルは、前記スキャン入力端子の側から数えてN番目の前記回路ブロックに、前記クロック信号を出力する、
請求項2に記載の半導体装置。
【請求項4】
N-1個の選択回路をさらに備え、
k番目の前記選択回路は、前記制御回路による制御に応じて、前記k番目の回路ブロックから出力されるデータと、前記k番目の一時保存フリップフロップから出力されるデータと、のいずれか一方を、k+1番目の前記回路ブロックへ出力し、
前記制御回路は、前記N-1個の選択回路のそれぞれについて、前段の回路ブロックから出力されるデータ、及び、前段の前記一時保存フリップフロップから出力されるデータのいずれを出力するかを切り替える、
請求項3に記載の半導体装置。
【請求項5】
N-1個の選択回路をさらに備え、
k番目の前記選択回路は、前記制御回路による制御に応じて、前記k番目の回路ブロックから出力されるデータと、前記k番目の一時保存フリップフロップから出力されるデータと、のいずれか一方を、k+1番目の前記回路ブロックへ出力し、
前記N個の回路ブロックは、1つの前記回路ブロック又は連続する2つ以上の前記回路ブロックを含み、かつ、各回路ブロックの後段に接続された前記選択回路を含む、2個以上N個以下のグループに分けられ、
前記制御回路は、
前記1つの回路ブロックを含むグループについて、前記1つの回路ブロックの後段に前記選択回路及び前記一時保存フリップフロップが接続されている場合には、前記選択回路が前記1つの回路ブロックの後段に接続された前記一時保存フリップフロップから出力されるデータを出力するように、前記1つの回路ブロックの後段に接続された前記選択回路を制御し、
前記連続する2つ以上のブロックを含むグループのそれぞれについて、Mを2以上の整数、前記連続する2つ以上の前記回路ブロックの個数をMとし、jを1以上M-1以下の整数として、j番目の前記選択回路がj番目の前記回路ブロックから出力されるデータをj+1番目の前記回路ブロックに出力するように、前記j番目の選択回路を制御し、かつ、M番目の前記回路ブロックの後段に前記選択回路及び前記一時保存フリップフロップが接続されている場合には、前記M番目の選択回路が前記M番目の回路ブロックの後段に接続された前記一時保存フリップフロップから出力されるデータを出力するように、当該グループに含まれる各選択回路を制御し、
同じグループに含まれる前記連続するM個の回路ブロックに、同じタイミングで前記クロック信号が供給されるように、前記グループに接続されるM個の前記クロックゲーティングセルを制御する、
請求項3に記載の半導体装置。
【請求項6】
前記制御回路は、前記スキャン入力端子の側から1つずつ順に、前記クロック信号の1サイクルだけ異なるタイミングで前記2個以上N個以下のグループを動作させるように、前記N個のクロックゲーティングセルを制御する、
請求項5に記載の半導体装置。
【請求項7】
前記制御回路が用いる制御情報を格納するメモリを更に備え、
前記制御回路は、前記制御情報に基づいて、シフトモードとキャプチャモードとで、前記2個以上N個以下のグループの構成を変更する、
請求項6に記載の半導体装置。
【請求項8】
スキャンテストに用いるクロック信号を受けとり、
前記クロック信号を、スキャン入力端子とスキャン出力端子との間に構成され、複数の回路ブロックに分けられたスキャンチェーンの前記複数の回路ブロック、及び、前記複数の回路ブロックのうちで隣接する2つの回路ブロックの一方の出力と、他方の入力と、の間に接続された複数の一時保存フリップフロップへ出力し、
前記スキャン入力端子の側から1つずつ順に異なるタイミングで前記回路ブロックを動作させ、かつ、1つの前記回路ブロックの前記出力に接続された前記一時保存フリップフロップと前記1つの回路ブロックとを同時に動作させる、
半導体装置のスキャンテスト方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、半導体装置及び半導体装置のスキャンテスト方法に関する。
【背景技術】
【0002】
半導体装置をテストする方法として、スキャンテストが知られている。一般に、スキャンテストを行うときには、半導体装置の内部の同一スキャンチェーンに繋がるスキャンフリップフロップは、キャプチャモード/シフトモードで同一のスキャンクロックを用いて動作する。
【0003】
しかし、近年の半導体装置の大規模化に伴い、スキャンの対象となるフリップフロップの数も膨大になっている。そのため、1つのスキャン用クロックで多くのフリップフロップを動作させると、スキャンテスト時の瞬間消費電力が増加してしまう。瞬間消費電力を抑えるために、半導体装置のサプライヤーは設計の段階で多くの時間を電力解析に費やしている。また、瞬間消費電力の増加により、半導体装置の電力スペックを満たすことができず、テストを実施できないといった問題も生じる。さらに、半導体装置のユーザにとっても、瞬間消費電力の増加のために、自製品の設計の最適化や電力解析に多くの時間を割かなければならない。そのため、瞬間消費電力を抑制できるスキャンテスト手法のニーズが高まっている。
【0004】
このようなニーズを満たすため、スキャンテスト時の瞬間消費電力を削減する手法が提案されている(特許文献1)。この手法では、スキャンテスト時にスキャンチェーンを形成するスキャンフリップフロップと組み合わせ回路とを有する複数の回路ブロックが半導体装置内に構成される。複数の選択回路は、制御信号に基づいて、回路ブロックのそれぞれに供給するクロック信号を、実動作時に使用する内部クロック信号と、スキャンテスト時に使用するスキャン用クロック信号と、の間で切り替える。制御回路は、スキャンチェーンにデータを入出力するシフトモード中は、回路ブロックのそれぞれに同じタイミングのシフトクロックを含むスキャンクロックを生成する。また、組み合わせ回路の論理動作をテストするキャプチャモード中は、回路ブロックのそれぞれで異なるタイミングのパルスを含むキャプチャクロックを生成する。
【0005】
この手法によれば、スキャンテスト時、特にキャプチャ動作を行うときに、回路ブロックのそれぞれに供給されるクロックを異なるタイミングで供給できるので、瞬間消費電力を削減してテストを実施することができる。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1にかかる手法は、キャプチャモード時の瞬間消費電力は削減できるものの、シフトモード時には各回路ブロックに同時にクロックが供給されるため、活性化するスキャンフリップフロップの数を減らすことができない。そのため、シフトモード時の瞬間消費電力を削減することは、原理的にできない。スキャンチェーンを分割してシフト動作をチェーン毎に分けて行うことで、シフトモードの瞬間消費電力を削減する手法は一般に知られているが、この場合でも、キャプチャモード時の瞬間消費電力は削減できない。そのため、シフトモード及びキャプチャモードを通じての電力解析や設計最適化に要する時間の削減には、制限が有る。半導体装置の設計においては、レイアウトに依存してシフトモードでの電力スペックが厳しい場合やキャプチャモードでの電力スペックが厳しい場合があり、このことが電力解析や設計の最適化に多くの時間を割く要因となっている。
【0008】
そこで、シフトモード及びキャプチャモードの両方にて瞬間消費電力を効率的に削減できる手法の確立が求められる。
【0009】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0010】
一実施の形態にかかる半導体装置は、複数の回路ブロックに分けられたスキャンチェーンと、隣接する2つの回路ブロックの一方の出力と、他方の入力と、の間に接続された複数の一時保存フリップフロップと、スキャンテストに用いるクロック信号を出力するクロック信号生成部と、前記クロック信号を、前記複数の回路ブロック及び前記複数の一時保存フリップフロップへ出力する複数のクロックゲーティングセルと、入力側1つずつ順に異なるタイミングで前記回路ブロックを動作させ、かつ、1つの前記回路ブロックの前記出力に接続された前記一時保存フリップフロップと前記1つの回路ブロックとを同時に動作させる制御回路と、を備える。
【0011】
一実施の形態にかかる半導体装置のスキャンテスト方法は、スキャンテストに用いるクロック信号を受けとり、前記クロック信号を、複数の回路ブロックに分けられたスキャンチェーンの前記複数の回路ブロック、及び、隣接する2つの回路ブロックの一方の出力と、他方の入力と、の間に接続された複数の一時保存フリップフロップへ出力し、入力側から1つずつ順に異なるタイミングで前記回路ブロックを動作させ、かつ、1つの前記回路ブロックの前記出力に接続された前記一時保存フリップフロップと前記1つの回路ブロックとを同時に動作させる。
【発明の効果】
【0012】
一実施の形態によれば、半導体装置のスキャンテストにおいて、シフトモード及びキャプチャモードの両方での瞬間消費電力を効率的に削減することができる。
【図面の簡単な説明】
【0013】
【
図1】実施の形態1にかかる半導体装置の構成を模式的に示す図である。
【
図2】実施の形態1にかかる半導体装置でスキャンテストを行う場合のタイミングチャートである。
【
図3】実施の形態2にかかる半導体装置の構成を模式的に示す図である。
【
図4】実施の形態2にかかる半導体装置においてグループ分けをせずに一般的なスキャンテストを行う場合の回路構成を示す図である。
【
図5】実施の形態2にかかる半導体装置において一般的なスキャンテストを行う場合のタイミングチャートである。
【
図6】実施の形態2にかかる半導体装置においてグループ分けしてスキャンテストを行う場合のタイミングチャートである。
【
図7】実施の形態3にかかる半導体装置の構成を模式的に示す図である。
【
図8】実施の形態3にかかる制御回路の構成を模式的に示す図である。
【
図9】実施の形態3にかかるシフトコンフィグ及びキャプチャコンフィグを示す図である。
【
図10】実施の形態3においてシフトモードでシフトコンフィグ2、キャプチャモードでシフトコンフィグ3を選択した場合の各信号のタイミングチャートである。
【
図11】実施の形態4にかかる半導体装置の構成を模式的に示す図である。
【
図12】実施の形態4にかかる制御回路の構成を模式的に示す図である。
【
図13】実施の形態4にかかるシフトコンフィグを示す図である。
【
図14】実施の形態4にかかるキャプチャコンフィグを示す図である。
【
図15】実施の形態4においてシフトモードでシフトコンフィグ2-2、キャプチャモードでシフトコンフィグ3-2を選択した場合の各信号のタイミングチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態について説明する。各図面においては、同一要素には同一の符号が付されており、必要に応じて重複説明は省略される。
【0015】
実施の形態1
実施の形態1にかかる半導体装置について説明する。実施の形態1にかかる半導体装置100は、スキャンチェーンを複数の回路ブロックに分けてスキャンテストを行うものとして構成される。スキャンチェーンを複数の回路ブロックに分けるのに対応して、半導体装置100には、各回路ブロックにクロック信号を供給するクロックゲーティングセルが設けられる。また、隣接する2つの回路ブロックの間には、前段の回路ブロックのデータを後段の回路ブロックに渡すための一時保存用フリップフロップが設けられる。
【0016】
図1に、実施の形態1にかかる半導体装置100の構成を模式的に示す。
図1では、例として、半導体装置100に4つの回路ブロック1~4が設けられている。これに対応して、半導体装置100には、4つのクロックゲーティングセルGC1~GC4と、3つのフリップフロップF1~F3と、が設けられる。
【0017】
クロック生成回路10は、クロックゲーティングセルGC1~GC4の入力端子INと接続され、クロックゲーティングセルGC1~GC4にクロック信号CLKを供給する。
【0018】
制御回路20は、モードセレクト信号MSEL、リセット信号RST、コントロールクロックCTLCLKに応じて、半導体装置100の動作を制御するものとして構成される。制御回路20は、クロックゲーティングセルGC1~GC4のイネーブル信号端子ENと接続され、クロックゲーティングセルGC1~GC4のそれぞれにクロック制御信号SMC1~SMC4を供給する。
【0019】
クロックゲーティングセルGC1~GC4の出力端子OUTは、それぞれ、回路ブロック1~4と接続される。クロックゲーティングセルGC1~GC4は、クロック制御信号SMC1~SMC4に応じて、回路ブロック1~4にクロック信号CLK1~CLK4を供給する。
【0020】
回路ブロック1は、スキャンチェーンを構成するフリップフロップF11~F13と組み合わせ回路C11及びC12とを有する。フリップフロップF11~F13のクロック入力端子は、クロックゲーティングセルGC1の出力端子OUTと接続され、クロック信号CLK1が供給される。
【0021】
フリップフロップF11のスキャン入力端子SIは、半導体装置100のスキャン入力端子TINと接続される。フリップフロップF11の出力端子QとフリップフロップF12のデータ端子Dとの間には、組み合わせ回路C11が接続される。フリップフロップF11のスキャン出力端子SOは、フリップフロップF12のスキャン入力端子SIと接続される。フリップフロップF12の出力端子QとフリップフロップF13のデータ端子Dとの間には、組み合わせ回路C12が接続される。フリップフロップF12のスキャン出力端子SOは、フリップフロップF13のスキャン入力端子SIと接続される。
【0022】
フリップフロップF13のスキャン出力端子SOは、一時保存フリップフロップF1のスキャン入力端子SIと接続される。
【0023】
回路ブロック2~4は、回路ブロック1と同様の構成を有する。すなわち、回路ブロック2のフリップフロップF21~F23はそれぞれ回路ブロック1のフリップフロップF11~F13に対応し、組み合わせ回路C21及びC22はそれぞれ組み合わせ回路C11及びC12に対応する。回路ブロック3のフリップフロップF31~F33はそれぞれ回路ブロック1のフリップフロップF11~F13に対応し、組み合わせ回路C31及びC32はそれぞれ組み合わせ回路C11及びC12に対応する。回路ブロック4のフリップフロップF41~F43はそれぞれ回路ブロック1のフリップフロップF11~F13に対応し、組み合わせ回路C41及びC42はそれぞれ組み合わせ回路C11及びC12に対応する。
【0024】
回路ブロック2のフリップフロップF21~F23のクロック入力端子には、クロックゲーティングセルGC2からクロック信号CLK2が入力される。回路ブロック3のフリップフロップF31~F33のクロック入力端子には、クロックゲーティングセルGC3からクロック信号CLK3が入力される。回路ブロック4のフリップフロップF41~F43のクロック入力端子には、クロックゲーティングセルGC4からクロック信号CLK4が入力される。
【0025】
フリップフロップF23及びF33のスキャン出力端子SOは、それぞれ、一時保存フリップフロップF2及びF3のスキャン入力端子SIと接続される。フリップフロップF43のスキャン出力端子SOは、半導体装置100のスキャン出力端子TOUTと接続される。
【0026】
一時保存フリップフロップF1のスキャン出力端子SOは、回路ブロック2のフリップフロップF21のスキャン入力端子SIと接続される。一時保存フリップフロップF2のスキャン出力端子SOは、回路ブロック3のフリップフロップF31のスキャン入力端子SIと接続される。一時保存フリップフロップF3のスキャン出力端子SOは、回路ブロック4のフリップフロップF41のスキャン入力端子SIと接続される。
【0027】
一時保存フリップフロップF1~F3のクロック入力端子には、クロックゲーティングセルGC1~GC3から、それぞれクロック信号CLK1~CLK3が供給される。
【0028】
続いて、半導体装置100のスキャンテスト動作について説明する。本実施の形態では、1つのスキャンチェーンを構成する回路ブロック1~4について、1つずつ順に、シフト動作及びキャプチャ動作を行う。
図2に、実施の形態1にかかる半導体装置100でスキャンテストを行う場合のタイミングチャートを示す。
【0029】
モードセレクト信号MSELが有効である場合、例えばその値が「1’b1」である期間では、シフトモードとなる。モードセレクト信号MSELが無効である場合、例えばその値が「1’b0」である期間では、キャプチャモードとなる。動作モードを切り替えるときには、全ての回路ブロックのシフト動作が終わった直後にリセット信号RSTを有効化、例えばその値を「1’b1」とし、キャプチャ動作に入る直前でリセット信号RSTを無効化、例えばその値を「1’b0」とする。これにより、シフトモードからキャプチャモードに切り替える間に、制御回路20をリセットできる。
【0030】
クロックゲーティングセルGC1~GC4は、クロック制御信号SMC1~SMC4が有効な期間だけ、クロック信号CLKを、回路ブロック1~4のそれぞれにクロック信号CLK1~CLK4として供給する。これにより、シフトモード及びキャプチャモードの両方で、クロック信号CLK1~CLK4を順番に、かつ排他的に、回路ブロック1~4のそれぞれへ供給することができる。
【0031】
続いて、半導体装置100におけるスキャンテストにおけるシフト動作について説明する。
【0032】
まず、モードセレクト信号MSELが有効であるシフトモードにおいて、回路ブロック1及び一時保存フリップフロップF1へのデータのシフトを行う。制御回路20は、クロック制御信号SMC1を有効、例えばその値を「1’b1」とし、クロック制御信号SMC2~SMC4を無効、例えばその値を「1’b0」とする。これにより、回路ブロック1のみが動作を行い、回路ブロック2~4は動作しない状態となる。
【0033】
クロック制御信号SMC1が有効である期間中に、クロックゲーティングセルGC1はクロック信号CLK1を1サイクルだけ生成し、スキャン入力端子TINより入力されたスキャンテストデータは、クロック信号CLK1に同期して回路ブロック1内のフリップフロップF11へシフトされる。フリップフロップF12は前段のフリップフロップF11が保持していたデータを格納し、フリップフロップF13は前段のフリップフロップF12が保持していたデータを格納する。フリップフロップF13が保持していたデータは、一時保存フリップフロップF1へシフトされる。
【0034】
次いで、回路ブロック2及び一時保存フリップフロップF2へのデータのシフトを行う。制御回路20は、クロック制御信号SMC2を有効にし、クロック制御信号SMC1、SMC3及びSMC4を無効にする。これにより、回路ブロック2のみが動作を行い、回路ブロック1、3及び4は動作しない状態となる。
【0035】
クロック制御信号SMC2が有効である期間中に、クロックゲーティングセルGC2はクロック信号CLK2を1サイクルだけ生成し、一時保存フリップフロップF1のスキャン出力端子SOより入力されたデータが、クロック信号CLK2に同期してフリップフロップF21へシフトされる。フリップフロップF22は前段のフリップフロップF21が保持していたデータを格納し、フリップフロップF23は前段のフリップフロップF22が保持していたデータを格納する。フリップフロップF23が保持していたデータは、一時保存フリップフロップF2へシフトされる。
【0036】
次いで、回路ブロック3及び一時保存フリップフロップF3へのデータのシフトを行う。回路ブロック3の構成及び動作は、回路ブロック2と同様である。これにより、一時保存フリップフロップF2のスキャン出力端子SOより入力されたスキャンテストデータがフリップフロップF31へシフトされ、フリップフロップF33が保持していたデータは、一時保存フリップフロップF3へシフトされる。その他の重複する説明については、省略する。
【0037】
次いで、回路ブロック4へのデータのシフトを行う。回路ブロック4の構成及び動作は、回路ブロック2及び3と同様である。これにより、一時保存フリップフロップF3のスキャン出力端子SOより入力されたスキャンテストデータがフリップフロップF41へシフトされる。フリップフロップF43が保持していたデータは、半導体装置100のスキャン出力端子TOUTに出力される。
【0038】
シフトモードにおいては、スキャン入力端子TINから入力されたテストデータを、回路ブロック1~4を構成する全てのフリップフロップへシフトさせるために、上述の回路ブロック1~4のシフト動作が繰り返されることとなる。
【0039】
モードセレクト信号MSELが無効であるキャプチャモードにおいて、シフトモードと同様に、回路ブロック1~4で1つずつ順に、キャプチャ動作が行われる。
【0040】
以上、本構成によれば、1つのスキャンチェーン内において、1つの回路ブロックで構成されるグループが、N個設けられることとなる。そして、回路ブロック(すなわち、グループ)を変えてデータシフトを1サイクルずつ順に行うことで、同時に活性化するノード数を回路ブロック1つ分(すなわち、1つのグループ)に制限しつつ、データを消失させることなくシフト動作及びキャプチャ動作を実現できる。したがって、スキャンチェーンを複数のグループに分けるグループ分けを行わない一般的なスキャンテストを行う場合と比べて、テスト実行時間は長くなるものの、シフトモード及びキャプチャモードの両方において、瞬間消費電力を効率的に削減することができる。
【0041】
また、本構成によれば、半導体装置の回路構成を変更するのみで、スキャンチェーンを物理的に分離することなく、各回路ブロックに供給するクロック信号の制御のみで、瞬間消費電力を効率的に削減することができる。
【0042】
実施の形態2
実施の形態1では、1つのスキャンチェーンを複数の回路ブロックに分けてスキャンテストを行うことで、瞬間消費電力の削減を行う構成について説明した。しかし、状況によっては、1つのスキャンチェーンを複数の回路ブロックに分けることなく、一般的なスキャンテストを行うことが求められる場合も想定される。そこで、本実施の形態では、1つのスキャンチェーンを複数の回路ブロックに分けた場合でも、分けない場合でもスキャンテストが可能な半導体装置について説明する。
【0043】
図3に、実施の形態2にかかる半導体装置200の構成を模式的に示す。半導体装置200は、実施の形態1にかかる半導体装置100に、スキャンチェーンのグループ分けの実行及び不実行を切り替える選択回路S1~S3が追加されている。半導体装置200のその他の構成は概ね同様であり、以下では、半導体装置100と異なる点について説明する。
【0044】
選択回路S1~S3は、それぞれ回路ブロック1~3の後段に設けられる。選択回路S1~S3の一方の入力端子(
図3では入力端子「0」)は、それぞれ、回路ブロック1~3のフリップフロップF13、F23及びF33のスキャン出力端子SOと接続される。選択回路S1~S3の他方の入力端子(
図3では入力端子「1」)は、それぞれ、一時保存フリップフロップF1~F3のスキャン出力端子SOと接続される。
【0045】
制御回路20は、選択回路S1~S3へ、切り替え制御信号SC1~SC3をそれぞれ出力する。本構成では、選択回路S1は、切り替え制御信号SC1が無効、例えば「0」の場合には入力端子「0」と出力端子とを接続し、切り替え制御信号SC1が有効、例えば「1」の場合には入力端子「1」と出力端子とを接続するように動作する。選択回路S2及びS3についても、選択回路S1と同様に、それぞれ切り替え制御信号SC2及びSC3に応じて、信号経路の切り替えを行う。
【0046】
半導体装置200の動作について、初めに、スキャンチェーンのグループ分けを行うことなく、一般的なスキャンテストを行う場合について説明する。
図4に、実施の形態2にかかる半導体装置200においてグループ分けをせずに一般的なスキャンテストを行う場合の回路構成を示す。また、
図5に、実施の形態2にかかる半導体装置200において一般的なスキャンテストを行う場合のタイミングチャートを示す。
【0047】
この場合には、制御回路20は、選択回路S1~S3に供給する切り替え制御信号SC1~SC3を無効化、例えば「0」とする。これにより、選択回路S1~S3では入力端子「0」と出力端子とが接続され、
図4に示す回路構成が実現される。
【0048】
よって、
図4に示すように、回路ブロック1~4に含まれるフリップフロップは、一時保存フリップフロップF1~F3が介在することなく、1本のスキャンチェーンを構成することとなる。この状態で、回路ブロック1~4のそれぞれに、同時にクロック信号CLK1~CLK4を供給することで、一般的なスキャンテストを行うことができる。
【0049】
次いで、実施の形態1と同様に、スキャンチェーンのグループ分けを行ってスキャンテストを行う場合について説明する。
図6に、実施の形態2にかかる半導体装置200においてグループ分けしてスキャンテストを行う場合のタイミングチャートを示す。
【0050】
この場合には、制御回路20は、選択回路S1~S3に供給する切り替え制御信号SC1~SC3を有効化、例えば「1」とする。これにより、選択回路S1~S3では入力端子「1」と出力端子とが接続され、
図1に示したのと同様の回路構成が実現され、実施の形態1で説明したのと同様のスキャンテストを行うことができる。
【0051】
以上、本構成によれば、同じ半導体装置において、1つのスキャンチェーンを複数の回路ブロックに分けた場合でも、分けない場合でもスキャンテストを行うことが可能である。
【0052】
これにより、ニーズに応じて、スキャンチェーンを分割することで瞬間消費電力を優先するか、スキャンチェーンを分割せずにテスト実行時間を優先するかに応じて、柔軟にスキャンテスト方法を選択することが可能となる。
【0053】
実施の形態3
実施の形態1及び2では、スキャンチェーンを4つの回路ブロックに分けてスキャンテストを行う例について説明した。しかし、スキャンテストを行うユーザによっては、スキャンチェーンのグループ分けを柔軟に調整したい場合が想定される。そこで、本実施の形態では、スキャンチェーンのグループ分けを変更可能な半導体装置について説明する。
【0054】
図7に、実施の形態3にかかる半導体装置300の構成を模式的に示す。半導体装置300は、実施の形態2にかかる半導体装置200にメモリ30を追加した構成を有する。
【0055】
制御回路20は、メモリ30に格納された、半導体装置300の制御に用いるシフトコンフィグ31及びキャプチャコンフィグ32を読み込んで、スキャンチェーンのグループ分けを調整可能にするものとして構成される。
図8に、実施の形態3にかかる制御回路20の構成を模式的に示す。制御回路20は、デコーダ201、選択回路202、203、フリップフロップ211~214、及び、選択回路221~224を有する。制御回路20は、メモリ30が保持しているシフトコンフィグ31とキャプチャコンフィグ32のパラメータを読み出し、コンフィグナンバーとしてデコーダ201及び選択回路202へ入力する。
【0056】
デコーダ201は、シフトコンフィグ31のコンフィグナンバーをデコードして、切り替え制御信号SC1~SC3を出力する。
【0057】
選択回路202は、モードセレクト信号MSELに応じて、シフトモードではシフトコンフィグ31のコンフィグナンバーを、キャプチャモードではキャプチャコンフィグ32のコンフィグナンバーを、選択回路203及び221~224へ出力する。
【0058】
選択回路203は、選択回路202の出力信号に基づいて、フリップフロップ211~214からの出力信号のいずれかを選択し、フリップフロップ211の入力端子INへ出力する。
【0059】
フリップフロップ211~214は、コントロールクロックCTLCLKに基づいて動作し、リセット信号RSTを有効化にすることで初期化される。フリップフロップ211は「1’b1」を初期値とし、フリップフロップ212~214は「1’b0」を初期値とする。
【0060】
フリップフロップ211は、選択回路203からの出力を受け取り、選択回路203、及び221~224と、フリップフロップ212とへデータを出力する。フリップフロップ212は、フリップフロップ211からの出力を受け取り、選択回路203及び222~224と、フリップフロップ213とへデータを出力する。フリップフロップ213は、フリップフロップ212からの出力を受け取り、選択回路203、223及び224と、フリップフロップ214とへデータを出力する。フリップフロップ214は、フリップフロップ213からの出力を受け取り、選択回路203及び224へデータを出力する。
【0061】
選択回路221は、選択回路202の出力に基づいて、フリップフロップ211の出力信号をクロック制御信号SMC1として出力する。選択回路222は、選択回路202の出力に基づいて、フリップフロップ211及び212の出力信号のいずれかを選択して、クロック制御信号SMC2として出力する。選択回路223は、選択回路202の出力に基づいて、フリップフロップ211~213の出力信号のいずれかを選択して、クロック制御信号SMC3として出力する。選択回路224は、選択回路202の出力に基づいて、フリップフロップ211~214の出力信号のいずれかを選択して、クロック制御信号SMC4として出力する。
【0062】
次に、半導体装置300のスキャンテストの動作について説明する。シフトモードでは、モードセレクト信号MSEL信号に応じて、選択回路202は「1」を選択する。これにより、選択回路202は、メモリ30が保持しているシフトコンフィグ31を、制御回路20で行う制御に反映させることができる。
【0063】
図9に、実施の形態3にかかるシフトコンフィグ及びキャプチャコンフィグを示す。例えば、シフトコンフィグ4を選択した場合、
図9に示すように、デコーダ201によって、切り替え制御信号SC1~SC3の値は「1」となる。これにより、選択回路S1~S3の選択は「1」、つまり、入力「1」を選択することになる。この場合には、
図1と同じ回路構成が実現されるので、スキャンチェーンを4つの回路ブロック1~4に分けてスキャンテストを行うことが可能となる。
【0064】
他にも、シフトコンフィグ1のときには、回路ブロック1~4は分けられることなく、1つのスキャンチェーンを構成する。シフトコンフィグ2では、回路ブロック1及び2で1グループ、回路ブロック3及び4で1グループの2グループが構成される。シフトコンフィグ3では、回路ブロック1及び2で1グループ、回路ブロック3で1グループ、回路ブロック4で1グループの3グループが構成される。
【0065】
なお、以下では、2つ以上の回路ブロックで構成されるグループを第1のグループ、1つの回路ブロックのみで構成されるグループを第2のグループとも称する。
【0066】
以下、シフトコンフィグ4を選択した場合について説明する。シフトコンフィグ4を選択したことで、コンフィグナンバーは「3」となる。これにより、選択回路203、221~224は、すべて「2’b11」を選択する。
【0067】
フリップフロップ211が保持している初期値「1’b1」は、コントロールクロックCTLCLKに同期して出力された後、フリップフロップ212へ格納される。また、フリップフロップ211は、フリップフロップ214が保持していた「1’b0」を、選択回路203を経由して受け取る。フリップフロップ212は、コントロールクロックCTLCLKの次の1サイクルで、「1’b1」をフリップフロップ213へ出力し、フリップフロップ211から「1’b0」を受け取る。この一連の動作を繰り返すことで、フリップフロップ211~214は順番に、かつ、排他的に「1’b1」を出力する。
【0068】
選択回路221~224の選択はすべて「2’b11」であるため、フリップフロップ211~214が出力した信号が、それぞれクロック制御信号SMC1~SMC4として出力される。
【0069】
すべてのシフト動作が完了するまで、この一連の動作を繰り返すことで、クロック制御信号SMC1~SMC4は、
図2に示すシフトモードにおけるタイミングチャートと同じ動作を行う。
【0070】
このように、シフトコンフィグ31を設定することで、切り替え制御信号SC1~SC3とクロック制御信号SMC1~SMC4とを制御することができる。その結果、スキャンチェーン内のグループ分けの数を変更し、かつ、各グループに適切なクロック信号を供給することができる。
【0071】
シフトモードからキャプチャモードに切り替える時は、すべての回路ブロックのシフト動作が完了した直後にリセット信号RSTを有効化し、その後、キャプチャ動作を始める直前にリセット信号RSTを無効化する。これにより、フリップフロップ211~214を初期化することができる。
【0072】
キャプチャモードでは、モードセレクト信号MSELに応じて、選択回路202は「0」を選択する。これにより、メモリ30が保持しているキャプチャコンフィグ32を制御回路20の制御に反映させることができる。
【0073】
キャプチャモードにおいても、キャプチャコンフィグ32を使用し、制御回路20を制御することで、クロック制御信号SMC1~SMC4のみでグループ数を変更することができる。また、キャプチャ動作にかかる時間と瞬間消費電力の関係は、シフトモードの場合と同様となる。
【0074】
以上、本構成によれば、要求に応じて、スキャンチェーンをグループ分けする場合のグループ数を、柔軟に変更することができる。これにより、必要に応じて、スキャンテスト時間と瞬間消費電力とを柔軟に変更することができる。
【0075】
なお、適用するコンフィグナンバーは、シフトモードとキャプチャモードとで、異なる値を設定することも可能である。例えば、シフトモードにおいてはシフトコンフィグ2、すなわちコンフィグナンバー「1」を選択し、キャプチャモードにおいてはシフトコンフィグ3、すなわちコンフィグナンバー「2」を選択する。
【0076】
図10に、シフトモードでシフトコンフィグ2、キャプチャモードでキャプチャコンフィグ3を選択した場合の各信号のタイミングチャートを示す。シフトモードにおいてシフトコンフィグ2を選択した場合、切り替え制御信号SC1~SC3によってフリップフロップF2を境に、回路ブロック1及び2が1つのグループを構成し、回路ブロック3及び4で1つのグループを構成し、スキャンチェーンは2つのグループに分けられる。
【0077】
クロック制御信号SMC1及びSMC2を同一期間中に有効化することで、クロック信号CLK1及びCLK2が1サイクルだけ生成され、回路ブロック1及び2のシフト動作が行われる。
【0078】
その後、クロック制御信号SMC1及びSMC2を無効化し、クロック制御信号SMC3及びSMC4を有効化することで、クロック信号CLK3及びCLK4が1サイクルだけ生成され、回路ブロック3及び4のシフト動作が行われる。
【0079】
この後、クロック制御信号SMC3及びSMC4の無効化し、クロック制御信号SMC1及びSMC2を有効化することで、再度クロック信号CLK1及びCLK2が1サイクルだけ生成され、回路ブロック1及び2のシフト動作が行われる。この一連の動作をシフト動作が完了するまで繰り返す。
【0080】
キャプチャモードではキャプチャコンフィグ3が選択されるので、回路ブロック1及び2で1グループ、回路ブロック3及び4のそれぞれが1グループを構成するので、スキャンチェーンは3つのグループに分けられる。
【0081】
このように、1つのスキャンチェーンを、シフトモードでは2つのグループに分け、キャプチャモードでは3つのグループに分け、各グループに個別にクロックを供給してシフト動作及びキャプチャ動作を行うことができる。
【0082】
以上説明したように、本構成によれば、メモリに複数のパラメータが格納されたシフトコンフィグ及びキャプチャコンフィグといった制御用パラメータを保持し、これを制御回路によってスキャンテスト実行前読み出して半導体装置の制御へ反映させることができる。これにより、1つのスキャンチェーンを、シフトモード及びキャプチャモードのそれぞれで、任意の数のグループ分に分けてテスト動作を行うことが可能である。
【0083】
一般に、スキャンテストにおけるテスト実行時間と瞬間消費電力とはトレードオフの関係にあり、その最適解を見つけるため、半導体装置の設計の最適化や電力解析に多くの時間が費やされている。しかし、テスト実行時間と瞬間消費電力との優先順位はニーズによって異なるので、優先順位に応じて両者を調整することが望ましい。これに対し、本構成によれば、スキャンテストに対するニーズに応じて、テスト実行時間と瞬間消費電力の調整を行うことができる。
【0084】
また、本構成では、シフトモードとキャプチャモードとで、異なるグループ数を設定してもよい。よって、シフトモードとキャプチャモードとで、瞬間消費電力の要求を別々に満たすことが可能となる。その結果、電力解析や設計最適化に要する時間を減らすこともできる。
【0085】
さらに、テスト実行時間及び瞬間消費電力のどちらを優先するかに応じて、ユーザが設定を変更することによって、スキャンチェーンのグループ分けを自由にカスタマイズできる。
【0086】
実施の形態4
実施の形態4にかかる半導体装置について説明する。実施の形態4にかかる半導体装置400は、実施の形態3にかかる半導体装置300の変形例であり、より柔軟にスキャンチェーンのグループ分けが可能なものとして構成される。
【0087】
図11に、実施の形態4にかかる半導体装置400の構成を模式的に示す。半導体装置400は、半導体装置300の制御回路20を、制御回路40に置き換えた構成を有する。
【0088】
以下、制御回路40について説明する。
図12に、実施の形態4にかかる制御回路40の構成を模式的に示す。制御回路40は、実施の形態3にかかる制御回路20のデコーダ201を除去し、かつ、内部の接続関係を変更した構成を有する。
【0089】
本構成では、フリップフロップ211~214のそれぞれの出力は、選択回路203と、選択回路221~214とに出力される。
【0090】
制御回路40には、シフトコンフィグ31及びキャプチャコンフィグ32から、コンフィグナンバーとして、13ビットの値[12:0]が入力される。このうち、シフトコンフィグ31からのコンフィグナンバー[12:0]のうち、上位の3ビット[10]、[11]及び[12]が、それぞれ、切り替え制御信号SC1~SC3として制御回路40から出力される。
【0091】
選択回路202には、13ビットの値[12:0]のうち、下位の10ビット[9:0]が入力される。選択回路202は、下位の10ビット[9:0]を5つの2ビット値に分け出力する。ここでは、[1:0]が選択回路203へ、[3:2]が選択回路221へ、[5:4]が選択回路222へ、[7:6]が選択回路223へ、[9:8]が選択回路224へ出力される。
【0092】
制御回路40のその他の構成は、制御回路20と同様であるので、説明を省略する。
【0093】
次に、半導体装置400のスキャンテストの動作について説明する。
図13に、実施の形態4にかかるシフトコンフィグを示す。また、
図14に、実施の形態4にかかるキャプチャコンフィグを示す。なお、図の簡略化のため、シフトコンフィグについてはSCON、キャプチャコンフィグについてはCCONと略記している。
【0094】
図13及び
図14に示すように、シフトコンフィグ31及びキャプチャコンフィグ32は、半導体装置400の選択回路S1~S3の選択を制御し、かつ、選択回路221~224から出力されるクロック制御信号SMC1~SMC4の値を制御するための値として設定される。これにより、スキャンチェーンを1~4のグループに分けるとともに、各グループに属する回路ブロックを指定することができる。
【0095】
図13に示す様に、シフトコンフィグ1のときには、回路ブロック1~4は分けられることなく、1つのスキャンチェーンを構成する。
【0096】
シフトコンフィグ2-1~2-3では、スキャンチェーンが2つに分けられる。シフトコンフィグ2-1のときには、回路ブロック1及び2で1グループ、回路ブロック3及び4で1グループを構成する。シフトコンフィグ2-2のときには、回路ブロック1で1グループ、回路ブロック2~4で1グループを構成する。シフトコンフィグ2-3のときには、回路ブロック1~3で1グループ、回路ブロック4で1グループを構成する。
【0097】
シフトコンフィグ3-1~3-3では、スキャンチェーンが3つに分けられる。シフトコンフィグ3-1のときには、回路ブロック1及び2で1グループ、回路ブロック3で1グループ、回路ブロック4で1グループを構成する。シフトコンフィグ3-2のときには、回路ブロック1で1グループ、回路ブロック2及び3で1グループ、回路ブロック4で1グループを構成する。シフトコンフィグ3-3のときには、回路ブロック1で1グループ、回路ブロック2で1グループ、回路ブロック3及び4で1グループを構成する。
【0098】
シフトコンフィグ4のときには、回路ブロック1~4は、4つに分けられる。
【0099】
なお、キャプチャコンフィグ1、2-1~2-3、3-1~3-3及び4についても、スキャンチェーンの分け方は、シフトコンフィグ1、2-1~2-3、3-1~3-3及び4と同様であるので、説明を省略する。
【0100】
ここで、一例として、シフトモードにおいてシフトコンフィグ2-2、キャプチャモードにおいてシフトコンフィグ3-2を選択した場合について、具体的に説明する。
図15に、シフトモードでシフトコンフィグ2-2、キャプチャモードでキャプチャコンフィグ3-2を選択した場合の各信号のタイミングチャートを示す。
【0101】
シフトモードにおいてシフトコンフィグ2-2を選択した場合には、切り替え制御信号SC1は「1’b1」、切り替え制御信号SC2及びSC3は「1’b0」となる。よって、選択回路S1の選択は「1」となり、選択回路S2及びS3の選択は「0」となる。
【0102】
選択回路221は、選択回路202から「2’b00」が入力されるので、フリップフロップ211が出力した信号を、クロック制御信号SMC1として出力する。選択回路222~224は、選択回路202から「2’b01」が入力されるので、フリップフロップ212が出力した信号を、それぞれクロック制御信号SMC2~SMC4として出力する。
【0103】
これにより、上述したように、回路ブロック1で1グループ、回路ブロック2~4で1グループの2つのグループが構成される。
【0104】
選択回路221は、選択回路202から「2’b00」が入力されるので、フリップフロップ211が出力した信号を、クロック制御信号SMC1として出力する。選択回路222及び223は、選択回路202から「2’b01」が入力されるので、フリップフロップ212が出力した信号を、それぞれクロック制御信号SMC2及びSMC3として出力する。選択回路224は、選択回路202から「2‘b10」が入力されるので、フリップフロップ213が出力した信号を、クロック制御信号SMC4として出力する。
【0105】
これにより、上述したように、回路ブロック1で1グループ、回路ブロック2及び3で1グループ、回路ブロック4の3つのグループが構成される。
【0106】
なお、シフトモード及びキャプチャモードのおける動作は、実施の形態1~3と同様であるので、説明を省略する。
【0107】
以上、本構成によれば、1つのスキャンチェーンを、シフトモード及びキャプチャモードのそれぞれで、任意の数のグループ分に分けてテスト動作を行うことが可能である。これにより、スキャンテストを行うユーザにニーズを満たすように、ユーザが設定を変更することによって、テスト実行時間と瞬間消費電力を調整すること可能になる。
【0108】
また、実施の形態3にかかる半導体装置300では、1つのスキャンチェーンを2つに分ける場合及び3つに分ける場合、それぞれ1通りの分け方しかなかった。これに対し、本構成によれば、1つのスキャンチェーンを2つに分ける場合には3通りの分け方から選択でき、3つに分ける場合にも3通りの分け方から選択することができる。よって、本構成によれば、必要に応じて、1つのスキャンチェーンをより柔軟に複数のグループに分けてスキャンテストを行うことができる。
【0109】
その他の実施の形態
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態1では、1つのスキャンチェーンを4つの回路ブロックにわける場合について説明したが、これは例示に過ぎない。1つのスキャンチェーンは、2つ以上の任意の数の回路ブロックを設けてもよい。
【0110】
実施の形態1において、Nを2以上の任意の正の整数として、1つのスキャンチェーンにN個の回路ブロックを設ける場合、N-1個の一時保存フリップフロップを1つずつ、隣接する2つの回路ブロックの間のそれぞれに設ければよい。
【0111】
実施の形態2~4において、1つのスキャンチェーンにN個の回路ブロックを設ける場合、N-1個の一時保存フリップフロップに対応して、選択回路S1~S3と同様のN-1個の選択回路をそれぞれ設ければよい。この場合でも、シフトコンフィグ及びキャプチャコンフィグを適宜設定することで、スキャンチェーンのグループ分けを柔軟に行えることは、言うまでも無い。
【0112】
この場合、1つのグループ内に、1番目からN-1番目の回路ブロックのうち、1つの回路ブロックのみが含まれる場合には、各回路ブロックの後段の選択回路は、各回路ブロックの後段の一時保存フリップフロップから出力されるデータを、後段のグループに出力することとなる。
【0113】
また、1つのグループに連続する2つ以上のM個の回路ブロックが含まれる場合には、1番目からM-1番目の回路ブロックの後段のM-1個の選択回路は、前段の回路ブロックから出力されるデータを、後段の回路ブロックに出力する。なお、1つのグループに1番目からN-1番目の回路ブロックのうちの連続するM個の回路ブロックが含まれる場合には、M番目の回路ブロックの後段の選択回路は、M番目の回路ブロックの後段の一時保存フリップフロップが出力するデータを、後段のグループに出力する。
【0114】
また、実施の形態3及び4では、Mを2以上の任意の整数として、1つのグループはM個の回路ブロックと、各回路ブロックの後段の選択回路と、を含んでもよい。
【0115】
また、制御回路の構成は、上述で説明した構成に限られるものではなく、各回路ブロックに供給するクロック信号について所望の制御を実現できる限り、適宜他の任意の構成としてもよい。
【0116】
上述の実施の形態では、各回路ブロックが3つのフリップフロップ及び2つの組み合わせ回路を有するものとして説明したが、これは例示に過ぎない。回路ブロックは、任意の数のフリップフロップ及び任意の数の組み合わせ回路を有するものとして構成されてもよい。
【0117】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【0118】
1~4 回路ブロック
202、203 221~224、S1~S3 選択回路
211~214、F11~F13、F21~F23、F31~F33、F41~F43 フリップフロップ
10 クロック生成回路
20、40 制御回路
30 メモリ
31 シフトコンフィグ
32 キャプチャコンフィグ
100、200、300、400 半導体装置
201 デコーダ
C11、C12、C21、C22、C31、C32、C41、C42 組み合わせ回路
CLK、CLK1~CLK3 クロック信号
CTLCLK コントロールクロック
F1~F3 一時保存フリップフロップ
GC1~GC4 クロックゲーティングセル
MSEL モードセレクト信号
RST リセット信号
SC1~SC3 制御信号
SMC1~SMC4 クロック制御信号
TIN スキャン入力端子
TOUT スキャン出力端子