JP2018189604A - 診断回路及び診断回路の制御方法 - Google Patents

診断回路及び診断回路の制御方法 Download PDF

Info

Publication number
JP2018189604A
JP2018189604A JP2017094668A JP2017094668A JP2018189604A JP 2018189604 A JP2018189604 A JP 2018189604A JP 2017094668 A JP2017094668 A JP 2017094668A JP 2017094668 A JP2017094668 A JP 2017094668A JP 2018189604 A JP2018189604 A JP 2018189604A
Authority
JP
Japan
Prior art keywords
latch
clock
data
scan
latches
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017094668A
Other languages
English (en)
Other versions
JP6988156B2 (ja
Inventor
将生 井手
Masao Ide
将生 井手
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017094668A priority Critical patent/JP6988156B2/ja
Publication of JP2018189604A publication Critical patent/JP2018189604A/ja
Application granted granted Critical
Publication of JP6988156B2 publication Critical patent/JP6988156B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】スキャンチェーン内の各ラッチに記憶されたデータを正しく読み出すこと。【解決手段】第1のクロックに従ってデータを保持する偶数番目のラッチと、第2のクロックに従ってデータを保持する奇数番目のラッチとを含むスキャンチェーンを備え、前記スキャンチェーンに含まれる複数のラッチの各々に保持されたデータをスキャンシフトする診断回路であって、前記偶数番目のラッチに保持されたデータをスキャンシフトする第1の場合と前記奇数番目のラッチに保持されたデータをスキャンシフトする第2の場合とで、第1のクロックと第2のクロックとの位相関係を逆相に維持したまま、第1のクロックと第2のクロックの各々の位相を反転させるクロック制御回路と、前記複数のラッチとは異なるラッチである予備ラッチと、第1の場合と第2の場合とで、前記予備ラッチを前記スキャンチェーンに含めるか否かを切り替える切り替え回路とを備える、診断回路。【選択図】図1

Description

本発明は、診断回路及び診断回路の制御方法に関する。
半導体集積回路の故障診断技術として、バウンダリスキャンチェーン内に挿入された複数のフリップフロップによって故障を見つけるバウンダリスキャンが知られている。ここで、一つのフリップフロップの回路に対して、二つのデータを記憶する技術がある。例えば、第1のラッチ部と第2のラッチ部に互いに逆位相の信号を入力することによって、第1のラッチ部と第2のラッチ部との組み合わせを、一つのスキャンフリップフロップ回路として使用可能となる(例えば、特許文献1参照)。同様に、二つのパルスラッチを一つのフリップフロップ回路として使用する技術がある(例えば、特許文献2参照)。
特開2005−3556号公報 特開2003−255025号公報
しかしながら、従来の技術では、スキャンシフト時に、一方のラッチのデータによって他方のラッチのデータが上書きされてしまうため、他方のラッチにスキャンシフト前に記憶されていたデータを正しく読み出すことができない。その結果、他方のラッチにスキャンシフト前に記憶されていたデータが正しく書き込まれていたのか否かを判別することが困難となる。
そこで、本開示では、スキャンチェーン内の各ラッチに記憶されたデータを正しく読み出すことを可能にする診断回路及び診断回路の制御方法が提供される。
本開示の一態様では、
第1のクロックに従ってデータを保持する偶数番目のラッチと、第2のクロックに従ってデータを保持する奇数番目のラッチとを含むスキャンチェーンを備え、前記スキャンチェーンに含まれる複数のラッチの各々に保持されたデータをスキャンシフトする診断回路であって、
前記偶数番目のラッチに保持されたデータをスキャンシフトする第1の場合と前記奇数番目のラッチに保持されたデータをスキャンシフトする第2の場合とで、前記第1のクロックと前記第2のクロックとの位相関係を逆相に維持したまま、前記第1のクロックと前記第2のクロックの各々の位相を反転させるクロック制御回路と、
前記複数のラッチとは異なるラッチである予備ラッチと、
前記第1の場合と前記第2の場合とで、前記予備ラッチを前記スキャンチェーンに含めるか否かを切り替える切り替え回路とを備える、診断回路が提供される。
また、本開示の一態様では、
第1のクロックに従ってデータを保持する偶数番目のラッチと、第2のクロックに従ってデータを保持する奇数番目のラッチとを含むスキャンチェーンを備え、前記スキャンチェーンに含まれる複数のラッチの各々に保持されたデータをスキャンシフトする診断回路の制御方法であって、
前記偶数番目のラッチに保持されたデータをスキャンシフトする第1の場合と前記奇数番目のラッチに保持されたデータをスキャンシフトする第2の場合とで、前記診断回路が有するクロック制御回路が、前記第1のクロックと前記第2のクロックとの位相関係を逆相に維持したまま、前記第1のクロックと前記第2のクロックの各々の位相を反転させ、
前記第1の場合と前記第2の場合とで、前記診断回路が有する切り替え回路が、記複数のラッチとは異なるラッチである予備ラッチを前記スキャンチェーンに含めるか否かを切り替える、診断回路の制御方法が提供される。
本開示に係る診断回路又は診断回路の制御方法によれば、スキャンチェーン内の各ラッチに記憶されたデータを正しく読み出すことができる。
本開示に係る診断回路の構成の一例を示す図である。 クロック制御回路の構成の一例を示す図である。 偶数番目のラッチに記憶されたデータをスキャンシフトする場合の動作の一例を示すタイムチャートである。 奇数番目のラッチに記憶されたデータをスキャンシフトする場合の動作の一例を示すタイムチャートである。 集積回路の構成の一例を示す図である。 複数のスキャンフリップフロップが接続されたスキャンチェーンの構成の一例を示す図である。 複数のスキャンフリップフロップが接続されたスキャンチェーンの動作の一例を示すタイムチャートである。 レジスタファイルの構成の一例を示す図である。 本開示に係る診断回路の制御方法の一例を示す図である。 本開示に係る診断回路の構成の他の一例を示す図である。
以下、本開示に係る診断回路の実施形態を図面を参照して説明する。
図1は、本開示に係る診断回路の構成の一例を示す図である。図1(a)は、スキャンチェーン内で接続された複数のラッチを備える診断回路の回路構成を示す図である。図1(b)は、複数のラッチのうち偶数番目のラッチに記憶されたデータをスキャンシフトする場合の動作イメージ図である。図1(c)は、複数のラッチのうち奇数番目のラッチに記憶されたデータをスキャンシフトする場合の動作イメージ図である。図1(b)及び図1(c)において、Mは、マスターラッチを表し、Sは、スレーブラッチを表す。
図1に示される診断回路11は、複数のラッチの各々に記憶されたデータをスキャンシフトする診断回路の一例である。診断回路11は、複数(図示の場合、4つ)のラッチ1〜4と、ラッチ1〜4と同じ個数のセレクタ21〜24と、予備ラッチ41と、セレクタ51とを有する。
ラッチ1〜4及び予備ラッチ41は、それぞれ、入力端子D、出力端子M及びクロック端子CKを有する回路である。ラッチ1〜4及び予備ラッチ41の具体例として、Dラッチが挙げられる。
本実施形態では、各ラッチ1〜4及び予備ラッチ41は、クロック端子CKに入力されるクロックのレベルがハイレベルからローレベルに遷移すると、入力端子Dに入力されるデータを書き込む。そして、各ラッチ1〜4ラッチ及び予備ラッチ41は、クロック端子CKに入力されるクロックのレベルがローレベルである期間、入力端子Dに入力されるデータを書き込み、入力端子Dに入力されるデータをそのまま出力端子Mから出力する。一方、各ラッチ1〜4及び予備ラッチ41は、クロック端子CKに入力されるクロックのレベルがローレベルからハイレベルに遷移すると、その遷移時点で入力端子Dに入力されるデータ(又は、その遷移時点で出力端子Mから出力されるデータ)を保持する。そして、各ラッチ1〜4及び予備ラッチ41は、クロック端子CKに入力されるクロックのレベルがハイレベルである期間、入力端子Dに入力されるデータの論理レベルにかかわらず、保持したデータを出力端子Mから継続的に出力する。
複数のラッチ1〜4は、各々の前段に設けられたセレクタ21〜24によって選択されたデータをラッチする。セレクタ21〜24は、第1の選択信号の一例であるローレベルの選択信号SE(SE=0)が入力された場合には、各々の前段に設けられたラッチの出力データではない入力データA1〜A4を選択する。一方、セレクタ21〜24は、第2の選択信号の一例であるハイレベルの選択信号SE(SE=1)が入力された場合には、各々の前段に設けられたラッチの出力データを選択する。
選択信号SEは、診断回路11に入力される信号の一つである。診断回路11の動作モードは、選択信号SEに応じて、ラッチモードとスキャンモードとのいずれか一方に設定される。ラッチモードは、ラッチ1〜4の各々を、データを記憶する記憶素子として機能させるモードを表す。スキャンモードは、スキャンテスト用のデータをラッチ1〜4を含むスキャンチェーン10に通すことにより、ラッチ1〜4のスキャンテストを行うモードを表す。
選択信号SEのレベルが第1のレベル(例えば、ローレベル“0”、SE=0)である場合、診断回路11の動作モードは、ラッチモードに設定される。一方、選択信号SEのレベルが第2のレベル(例えば、ハイレベル“1”、SE=1)である場合、診断回路11の動作モードは、スキャンモードに設定される。
セレクタ24は、ラッチ4の前段に設けられている。セレクタ24は、選択信号SEに基づいて、スキャンイン端子SIから入力されるスキャンインデータと第1の入力データA1とのいずれか一方を選択し、選択した方の信号をラッチ4の入力端子Dに出力する。セレクタ24は、選択信号SEのレベルがラッチモードの選択を表すローレベルである場合(SE=0)、入力データA1を選択してラッチ4の入力端子Dに出力する。一方、セレクタ24は、選択信号SEのレベルがスキャンモードの選択を表すハイレベルである場合(SE=1)、スキャンイン端子SIから入力されるスキャンインデータを選択してラッチ4の入力端子Dに出力する。
ラッチ4は、セレクタ24の出力データをクロックCLK0に従ってラッチする。ラッチ4は、そのラッチしたデータをクロックCLK0に同期して出力端子Mから出力データM1として出力する。ラッチ4は、スキャンアウト端子SO側から数えて4番目のラッチを表す。
セレクタ23は、ラッチ3の前段に設けられている。セレクタ23は、選択信号SEに基づいて、ラッチ4の出力データM1と第2の入力データA2とのいずれか一方を選択し、選択した方の信号をラッチ3の入力端子Dに出力する。セレクタ23は、選択信号SEのレベルがラッチモードの選択を表すローレベルである場合(SE=0)、入力データA2を選択してラッチ3の入力端子Dに出力する。一方、セレクタ23は、選択信号SEのレベルがスキャンモードの選択を表すハイレベルである場合(SE=1)、ラッチ4の出力データM1を選択してラッチ3の入力端子Dに出力する。
ラッチ3は、セレクタ23の出力データをクロックCLK1に従ってラッチする。ラッチ3は、そのラッチしたデータをクロックCLK1に同期して出力端子Mから出力データM2として出力する。ラッチ3は、スキャンアウト端子SO側から数えて3番目のラッチを表す。
セレクタ22は、ラッチ2の前段に設けられている。セレクタ22は、選択信号SEに基づいて、ラッチ3の出力データM2と第3の入力データA3とのいずれか一方を選択し、選択した方の信号をラッチ2の入力端子Dに出力する。セレクタ22は、選択信号SEのレベルがラッチモードの選択を表すローレベルである場合(SE=0)、入力データA3を選択してラッチ2の入力端子Dに出力する。一方、セレクタ22は、選択信号SEのレベルがスキャンモードの選択を表すハイレベルである場合(SE=1)、ラッチ3の出力データM2を選択してラッチ2の入力端子Dに出力する。
ラッチ2は、セレクタ22の出力データをクロックCLK0に従ってラッチする。ラッチ2は、そのラッチしたデータをクロックCLK0に同期して出力端子Mから出力データM3として出力する。ラッチ2は、スキャンアウト端子SO側から数えて2番目のラッチを表す。
セレクタ21は、ラッチ1の前段に設けられている。セレクタ21は、選択信号SEに基づいて、ラッチ2の出力データM3と第4の入力データA4とのいずれか一方を選択し、選択した方の信号をラッチ1の入力端子Dに出力する。セレクタ21は、選択信号SEのレベルがラッチモードの選択を表すローレベルである場合(SE=0)、入力データA4を選択してラッチ1の入力端子Dに出力する。一方、セレクタ21は、選択信号SEのレベルがスキャンモードの選択を表すハイレベルである場合(SE=1)、ラッチ2の出力データM3を選択してラッチ1の入力端子Dに出力する。
ラッチ1は、セレクタ21の出力データをクロックCLK1に従ってラッチする。ラッチ1は、そのラッチしたデータをクロックCLK1に同期して出力端子Mから出力データM4として出力する。ラッチ1は、スキャンアウト端子SO側から数えて1番目のラッチを表す。
仮に、スキャンチェーン10内のラッチ1〜4が全て同位相のクロックに従って動作すると、スキャンシフトを行った場合(スキャン動作時)、データがラッチ4からラッチ1へレース(race)してしまう。つまり、同じデータがラッチ1〜4全てにクロックの1パルスにより一度に書き込まれてしまう。それを防ぐため、スキャンモードが選択されているときには、スキャンチェーン10内の隣り合うラッチにそれぞれ入力されるクロックが互いに逆位相に設定される。つまり、スキャンモードが選択されているときには、クロックCLK0とクロックCLK1との位相関係は逆相である。
診断回路11は、複数のラッチ1〜4とは別の予備ラッチ41を備える。予備ラッチ41は、ラッチ1の出力データM4をクロックCLK0に従ってラッチする回路である。予備ラッチ41は、そのラッチしたデータをクロックCLK0に同期して出力端子Mから出力する。
セレクタ51は、偶数番目のラッチ2,4に記憶されたデータをスキャンシフトする場合と、奇数番目のラッチ1,3に記憶されたデータをスキャンシフトする場合とで、予備ラッチ41をスキャンチェーン10内に含めるか否かを切り替える。セレクタ51は、切り替え回路の一例である。
偶数番目のラッチ2,4に記憶されたデータをスキャンシフトする場合、スキャン選択信号ODのレベルは、ローレベルとなる(OD=0)。一方、奇数番目のラッチ1,3に記憶されたデータをスキャンシフトする場合、スキャン選択信号ODのレベルは、ハイレベルとなる(OD=1)。スキャン選択信号ODは、診断回路11に入力される信号の一つである。
セレクタ51は、OD=0の場合とOD=1の場合とで、ラッチ1〜4のうち最後段の1番目のラッチ1の出力データM4を、予備ラッチ41を経由してスキャンアウトさせるか否かを切り替える。セレクタ51は、OD=0の場合、1番目のラッチ1の出力データM4を、予備ラッチ41を経由せずにスキャンアウトさせる。つまり、OD=0の場合、セレクタ51は、出力データM4を予備ラッチ41に通さずにスキャンアウト端子SOからスキャンアウトデータとしてスキャンアウトさせる。一方、セレクタ51は、OD=1の場合、1番目のラッチ1の出力データM4を、予備ラッチ41を経由してスキャンアウトさせる。つまり、OD=1の場合、セレクタ51は、出力データM4を予備ラッチ41に通してスキャンアウト端子SOからスキャンアウトデータとしてスキャンアウトさせる。
診断回路11は、クロックCLK1とクロックCLK2の各々の位相を制御するクロック制御回路を備える。
図2は、クロック制御回路の構成の一例を示す図である。図2に示されるクロック制御回路30は、クロックCLK1とクロックCLK2の各々の位相を制御する。クロック制御回路30は、セレクタ31,32と、インバータ33,34とを有する。
インバータ33は、診断回路11に入力される信号の一つであるクロックCLKの論理を反転させた信号を出力する。インバータ34は、セレクタ31から出力された信号の論理を反転させた信号を出力する。
セレクタ31は、スキャン選択信号ODのレベルがローレベルである場合(OD=0)、クロックCLKを選択し、クロックCLKをクロックCLK0として出力する。一方、セレクタ31は、スキャン選択信号ODのレベルがハイレベルである場合(OD=1)、インバータ33の出力信号を選択し、インバータ33の出力信号をクロックCLK0として出力する。
セレクタ32は、選択信号SEのレベルがラッチモードの選択を表すローレベルである場合(SE=0)、セレクタ31の出力信号を選択し、セレクタ31の出力信号をクロックCLK1として出力する。一方、セレクタ32は、選択信号SEのレベルがスキャンモードの選択を表すハイレベルである場合(SE=1)、インバータ34の出力信号を選択し、インバータ34の出力信号をクロックCLK1として出力する。
つまり、クロック制御回路30は、ラッチモードが選択されている場合(SE=0)、位相が互いに同一のクロックCLK0とクロックCLK1とを出力する。一方、クロック制御回路30は、スキャンモードが選択され且つ偶数番目のラッチ2,4に記憶されたデータをスキャンシフトする場合(SE=1且つOD=0)、クロックCLK0とクロックCLK1との位相関係を逆位相にする。他方、クロック制御回路30は、スキャンモードが選択され且つ奇数番目のラッチ1,3に記憶されたデータをスキャンシフトする場合(SE=1且つOD=1)、クロックCLK0とクロックCLK1との位相関係を逆位相にする。
このように、クロック制御回路30は、OD=0とOD=1とで、クロックCLK0とクロックCLK1との位相関係を逆相に維持したまま、クロックCLK1とクロックCLK2の各々の位相を反転させることが可能である。
次に、診断回路11の動作例について説明する。
図3は、偶数番目のラッチをスキャンシフトする場合の診断回路の動作の一例を示すタイムチャートである。図3は、図1に示したスキャンアウト端子SOから数えて偶数番目のラッチ2,4の各々に記憶されたデータをスキャンアウト端子SOから読み出す場合の動作例を示す。図3では、最初に、ラッチ4,3,2,1に、それぞれ、データA,B,C,Dが記憶されているとする。図3が示す動作を、図1を参照して説明する。
選択信号SEのレベルがスキャンモードの選択を表すハイレベルに遷移したタイミングt1では、クロックCLK0がハイレベルである。そのため、偶数番目のラッチ2,4は、入力端子Dに入力されるデータの論理レベルにかかわらず、保持したデータを出力端子Mから出力する。一方、タイミングt1でクロックCLK1はローレベルであるので、奇数番目のラッチ1,3は、入力端子Dに入力されるデータを書き込み、入力端子Dに入力されるデータをそのまま出力端子Mから出力する。そのため、タイミングt1では、ラッチ4に予め記憶されたデータAは、ラッチ3に書き込まれ、ラッチ2に予め記憶されたデータCは、ラッチ1に書き込まれる。したがって、ラッチ2に予め記憶されたデータCは、ラッチ1及びOD=0が入力されるセレクタ51を介して、スキャンアウト端子SOから出力される。
次に、クロックCLK0がローレベルにタイミングt2で遷移するので、偶数番目のラッチ2,4は、入力端子Dに入力されるデータを書き込み、入力端子Dに入力されるデータをそのまま出力端子Mから出力する。一方、クロックCLK1がハイレベルにタイミングt2で遷移するので、奇数番目のラッチ1,3は、入力端子Dに入力されるデータの論理レベルにかかわらず、保持したデータを出力端子Mから出力する。そのため、ラッチ3にタイミングt1で書き込まれたデータAは、ラッチ2に書き込まれる。
次に、クロックCLK1がローレベルにタイミングt3で遷移するので、奇数番目のラッチ1は、入力端子Dに入力されるデータを書き込み、入力端子Dに入力されるデータをそのまま出力端子Mから出力する。一方、クロックCLK0がハイレベルにタイミングt3で遷移するので、偶数番目のラッチ2は、入力端子Dに入力されるデータの論理レベルにかかわらず、保持したデータを出力端子Mから出力する。そのため、ラッチ2にタイミングt2で書き込まれたデータAは、ラッチ1に書き込まれる。したがって、ラッチ4に予め記憶されたデータAは、ラッチ1及びOD=0が入力されるセレクタ51を介して、スキャンアウト端子SOから出力される。
つまり、本実施形態に係る診断回路によれば、ラッチ2,4のそれぞれに予め記憶されていたデータC,Aを正しくスキャンアウト端子SOから読み出すことが可能となる。
図4は、奇数番目のラッチをスキャンシフトする場合の診断回路の動作の一例を示すタイムチャートである。図4は、図1に示したスキャンアウト端子SOから数えて奇数番目のラッチ1,3の各々に記憶されたデータをスキャンアウト端子SOから読み出す場合の動作例を示す。図4でも、最初に、ラッチ4,3,2,1に、それぞれ、データA,B,C,Dが記憶されているとする。図4が示す動作を、図1を参照して説明する。
選択信号SEのレベルがスキャンモードの選択を表すハイレベルに遷移したタイミングt11では、クロックCLK0がローレベルである。そのため、偶数番目のラッチ2,4は、入力端子Dに入力されるデータを書き込み、入力端子Dに入力されるデータをそのまま出力端子Mから出力する。一方、タイミングt11でクロックCLK1はハイレベルであるので、奇数番目のラッチ1,3は、入力端子Dに入力されるデータの論理レベルにかかわらず、保持したデータを出力端子Mから出力する。そのため、タイミングt11では、ラッチ3に予め記憶されたデータBは、ラッチ2に書き込まれ、ラッチ1に予め記憶されたデータDは、予備ラッチ41に書き込まれる。クロックCLK0がローレベルであるので、予備ラッチ41は、入力端子Dに入力されるデータを書き込み、入力端子Dに入力されるデータをそのまま出力端子Mから出力する。したがって、ラッチ1に予め記憶されたデータDは、予備ラッチ41及びOD=1が入力されるセレクタ51を介して、スキャンアウト端子SOから出力される。
次に、クロックCLK0がハイレベルにタイミングt12で遷移するので、偶数番目のラッチ2,4は、入力端子Dに入力されるデータの論理レベルにかかわらず、保持したデータを出力端子Mから出力する。一方、クロックCLK1がローレベルにタイミングt12で遷移するので、奇数番目のラッチ1,3は、入力端子Dに入力されるデータを書き込み、入力端子Dに入力されるデータをそのまま出力端子Mから出力する。そのため、ラッチ2にタイミングt11で書き込まれたデータBは、ラッチ1に書き込まれる。
次に、クロックCLK1がハイレベルにタイミングt13で遷移するので、奇数番目のラッチ1は、入力端子Dに入力されるデータの論理レベルにかかわらず、保持したデータを出力端子Mから出力する。一方、クロックCLK0がローレベルにタイミングt13で遷移するので、予備ラッチ41は、入力端子Dに入力されるデータを書き込み、入力端子Dに入力されるデータをそのまま出力端子Mから出力する。そのため、ラッチ1にタイミングt12で書き込まれたデータBは、予備ラッチ41に書き込まれる。したがって、ラッチ3に予め記憶されたデータBは、予備ラッチ41及びOD=1が入力されるセレクタ51を介して、スキャンアウト端子SOから出力される。
つまり、本実施形態に係る診断回路11によれば、ラッチ1,3のそれぞれに予め記憶されていたデータD,Bを正しくスキャンアウト端子SOから読み出すことが可能となる。
このように、診断回路11は、偶数番目のラッチに記憶されたデータと奇数番目のラッチに記憶されたデータとを2回に分けてスキャンシフトすることで、ラッチ1〜4に予め記憶されたデータをスキャンアウト端子SOから正しくスキャンアウトできる。つまり、図1(b)のOD=0のとき、奇数番目のラッチに予め記憶されたデータが、その前段の偶数番目のラッチのデータでスキャンシフト時に上書きされても、図1(c)のOD=1のとき、奇数番目のラッチに予め記憶されたデータの正しい読み出しができる。したがって、スキャンチェーン内の各ラッチに記憶されたデータを正しく読み出すことができる。
図5は、集積回路の構成の一例を示す図である。図5に示される集積回路100は、レジスタファイル80と、スキャンフリップフロップ(SFF)61〜64と、スキャンフリップフロップ(SFF)71〜74とを備える。また、集積回路100は、複数の外部接続端子を備える。これらの外部接続端子には、集積回路100及び/又はレジスタファイル80をスキャンテストする不図示の検査装置が接続される。検査装置は、これらの外部接続端子を介して、テストデータイン信号TDI、クロックCLK、選択信号SE及びスキャン選択信号ODを入力する。また、検査装置は、外部接続端子を介して、テストデータアウト信号TDOを取得する。
テストデータイン信号TDIは、SFF61〜64を含むバウンダリスキャンチェーンにシフトインされるデータである。テストデータアウト信号TDOは、SFF71〜74を含むバウンダリスキャンチェーンからシフトアウトされるデータである。
テストデータイン信号TDIは、スキャンイン信号として、SFF64に入力され、SFF61から出力されるスキャンアウトデータは、レジスタファイル80のスキャンイン端子に入力される。レジスタファイル80のスキャンアウト端子から出力されるスキャンアウトデータは、SFF74に入力され、SFF71から出力されるスキャンアウトデータは、テストデータアウト信号TDOとして出力される。
レジスタファイル80内の記憶素子部は、図1と同じ構成を有する。レジスタファイル80の前後段に接続されているSFF61〜64,71〜74は、図6と同じ構成を有する。図5の前段のSFF61〜64は、それぞれ、図6のSFF101〜104に対応する。図5の後段のSFF71〜74は、それぞれ、図6のSFF101〜104に対応する。
図6は、複数のスキャンフリップフロップが接続されたスキャンチェーンの構成の一例を示す図である。図6(a)は、複数のSFFが接続されたバウンダリスキャンチェーンの回路構成を示す図である。図6(b)は、複数のSFFの各々に記憶されたデータをスキャンシフトする場合の動作イメージ図である。図6(b)において、Mは、マスターラッチを表し、Sは、スレーブラッチを表す。
図6に示されるスキャンチェーンは、複数(図示の場合、4つ)のSFF101〜104と、SFF101〜104と同じ個数のセレクタ121〜124とを有する。
SFF101〜104は、それぞれ、入力端子D、出力端子M及びクロック端子CKを有する回路である。SFF101〜104の具体例として、Dフリップフロップが挙げられる。Dフリップフロップは、マスターラッチとスレーブラッチとの2個のDラッチを接続した構造を有する。
複数のSFF101〜104は、各々の前段に設けられたセレクタ121〜124によって選択されたデータをラッチする。セレクタ121〜124は、第1の選択信号の一例であるローレベルの選択信号SE(SE=0)が入力された場合には、各々の前段に設けられたラッチの出力データではない入力データB1〜B4を選択する。一方、セレクタ121〜124は、第2の選択信号の一例であるハイレベルの選択信号SE(SE=1)が入力された場合には、各々の前段に設けられたラッチの出力データを選択する。
SFF104は、セレクタ124の出力データをクロックCLKに従ってラッチする。SFF104は、そのラッチしたデータをクロックCLKに同期して出力端子Mから出力データQ1として出力する。同様に、SFF103,102,101は、各自がラッチしたデータをクロックCLKに同期して出力端子Mから出力データQ2,Q3,Q4として出力する。
図7は、複数のスキャンフリップフロップが接続されたスキャンチェーンの動作の一例を示すタイムチャートである。図7では、最初に、SFF104,103,102,101に、それぞれ、データA,B,C,Dが記憶されているとする。周知の通り、図6が示すスキャンチェーンは、クロックCLKに従って、データD,C,B,Aをこの順にスキャンアウトする。
図8は、レジスタファイルの構成の一例を示す図である。レジスタファイル80は、ラッチ部81と、リード部82と、ライト部83と、クロック制御回路30とを備える。
ラッチ部81は、(n+1)ビット×(m+1)ワードの構成を有する記憶部の一例である。リード部82は、リードアクセス信号RAがアクティブのとき、ラッチ部81に記憶されたデータを読み出してリード端子RDに出力する。リード部82は、例えば、(m+1)対1のマルチプレクサである。ライト部83は、(m+1)個のワードのうちの一つのワードにワードデータWDを書き込み可能にする。クロック制御回路30は、図2に示した構成を有する。
ラッチ部81は、ラッチの数が異なるが図1と同じ構成を有し、(n+1)×(m+1)個のラッチがスキャンチェーン内に含まれる構成を有する。ライト部83は、(m+1)個のデコード回路信号WAとクロックCLK0とクロックCLK1との論理積を演算する回路である。この回路構成を図9のフローチャートのように動作させることで、リード部82が故障したか、ライト部83が故障したか判別可能となる。
図9は、本開示に係る診断回路の制御方法の一例を示す図である。検査装置は、SE=1及びOD=0に設定し、クロックCLKの入力によって、レジスタファイル80の前段のSFF61〜64に対してレジスタファイル80内に書き込みたい値をテストデータイン信号TDIとして設定する(ステップS11〜S15)。
検査装置は、SE=0に設定し(ステップS21)、クロックCLKを1回動作させる(ステップS23)。この時点でレジスタファイル80内のラッチ部81に、ステップS11で設定した値が書き込まれる。更に、検査装置は、前段SFF61〜64に対して同じ設定値を入れて(ステップS25No,ステップS11)、クロックCLKを1回動作させる(ステップS23)。この時点でレジスタファイル80から読み出された値が、レジスタファイル80の後段のSFF71〜74に書き込まれ、更にレジスタファイル80内のラッチ部81に対しても同じ値が書き込まれる(ステップS25Yes)。
検査装置は、SE=1に設定する(ステップS31)。検査装置は、偶数番目のラッチ2,4をスキャンテストする場合、OD=0に設定して、必要なクロックCLK0,CLK1を入力してスキャンシフトを行う(ステップS33Yes,S37)。一方、検査装置は、奇数番目のラッチ1,3をスキャンテストする場合、OD=1に設定して、必要なクロックCLK0,CLK1を入力してスキャンシフトを行う(ステップS33No,S35,S37)。検査装置は、テストデータアウト信号TDOを期待値と比較する(ステップS39)。
検査装置は、その比較結果に基づいて、レジスタファイル80内のラッチ1〜4でエラー(故障)があるか否かを判定し(ステップS41)、ラッチ1〜4でエラーが無いと判定した場合、SFFでエラーがあるか否かを判定する(ステップS43)。検査装置は、SFFでエラーがないと判定した場合、集積回路100は故障なしと判定し(ステップS45)、SFFでエラーがあると判定した場合、リード部82による読み出しでエラーがあると判定する。
一方、検査装置は、その比較結果に基づいて、レジスタファイル80内のラッチ1〜4でエラー(故障)があるか否かを判定し(ステップS41)、ラッチ1〜4でエラーがあると判定した場合、ステップS49の処理を実行する。検査装置は、ステップS49で、ラッチ1〜4でエラーした箇所以外のエラーがあるか否かを判定する。検査装置は、ラッチ1〜4でエラーした箇所以外のエラーがないと判定した場合、ライト部83による書き込みでエラーがあると判定する(ステップS51)。一方、検査装置は、ラッチ1〜4でエラーした箇所以外のエラーがあると判定した場合、ライト部83による書き込みとリード部82による読み込みの両方でエラーがあると判定する(ステップS55)。
このように、検査装置は、レジスタファイル80の書き込み時に故障しているのか、読み出し時に故障しているのか判別できる。また、ライト部とリード部の故障が切り分けられるようになるので、リメークまでの時間を短くすることになり、コスト削減が可能となる。また、バウンダリスキャンでデータの設定が不要な記憶素子に、SFFではなく単なるラッチが使用されるので、サイズや電力の削減効果がある。
図10は、本開示に係る診断回路の構成の他の一例を示す図である。図10(a)は、スキャンチェーン内で接続された複数のラッチを備える診断回路の回路構成を示す図である。図10(b)は、複数のラッチのうち偶数番目のラッチに記憶されたデータをスキャンシフトする場合の動作イメージ図である。図10(c)は、複数のラッチのうち奇数番目のラッチに記憶されたデータをスキャンシフトする場合の動作イメージ図である。図10(b)及び図10(c)において、Mは、マスターラッチを表し、Sは、スレーブラッチを表す。
図10に示されるように、診断回路12は、最後段のラッチ1の後段に設けられた予備ラッチ41及びセレクタ51と、最前段のラッチ4の前段に設けられた予備ラッチ42及びセレクタ52とを備える。
予備ラッチ42は、スキャンイン端子から入力されるスキャンインデータをクロックCLK1に従ってラッチする回路である。予備ラッチ42は、そのラッチしたデータをクロックCLK1に同期して出力端子Mから出力する。セレクタ52は、偶数番目のラッチ2,4に記憶されたデータをスキャンシフトする場合と、奇数番目のラッチ1,3に記憶されたデータをスキャンシフトする場合とで、予備ラッチ42をスキャンチェーン10内に含めるか否かを切り替える。セレクタ52は、第2の切り替え回路の一例である。
このような構成によっても、図1と同様に、ラッチ1〜4に予め記憶されたデータをスキャンアウト端子SOから正しくスキャンアウトすることができる。
以上、診断回路及び診断回路の制御方法を実施形態により説明したが、本発明は上記実施形態に限定されるものではない。他の実施形態の一部又は全部との組み合わせや置換などの種々の変形及び改良が、本発明の範囲内で可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
第1のクロックに従ってデータを保持する偶数番目のラッチと、第2のクロックに従ってデータを保持する奇数番目のラッチとを含むスキャンチェーンを備え、前記スキャンチェーンに含まれる複数のラッチの各々に保持されたデータをスキャンシフトする診断回路であって、
前記偶数番目のラッチに保持されたデータをスキャンシフトする第1の場合と前記奇数番目のラッチに保持されたデータをスキャンシフトする第2の場合とで、前記第1のクロックと前記第2のクロックとの位相関係を逆相に維持したまま、前記第1のクロックと前記第2のクロックの各々の位相を反転させるクロック制御回路と、
前記複数のラッチとは異なるラッチである予備ラッチと、
前記第1の場合と前記第2の場合とで、前記予備ラッチを前記スキャンチェーンに含めるか否かを切り替える切り替え回路とを備える、診断回路。
(付記2)
前記予備ラッチは、前記第1のクロックに従ってデータを保持し、
前記切り替え回路は、前記第1の場合と前記第2の場合とで、前記複数のラッチのうち最後段の1番目のラッチの出力データを、前記予備ラッチを経由して出力させるか否かを切り替える、付記1に記載の診断回路。
(付記3)
前記切り替え回路は、前記第1の場合、前記1番目のラッチの出力データを、前記予備ラッチを経由せずに出力させ、前記第2の場合、前記1番目のラッチの出力データを前記予備ラッチを経由して出力させる、付記2に記載の診断回路。
(付記4)
前記複数のラッチは、各々の前段に設けられたセレクタによって選択されたデータを保持し、
前記セレクタは、第1の選択信号が入力された場合には、スキャンシフトしない入力データを選択し、第2の選択信号が入力された場合には、スキャンシフトするデータを選択する、付記1から3のいずれか一項に記載の診断回路。
(付記5)
前記ラッチは、Dラッチである、付記1から4のいずれか一項に記載の診断回路。
(付記6)
第1のクロックに従ってデータを保持する偶数番目のラッチと、第2のクロックに従ってデータを保持する奇数番目のラッチとを含むスキャンチェーンを備え、前記スキャンチェーンに含まれる複数のラッチの各々に保持されたデータをスキャンシフトする診断回路の制御方法であって、
前記偶数番目のラッチに保持されたデータをスキャンシフトする第1の場合と前記奇数番目のラッチに保持されたデータをスキャンシフトする第2の場合とで、前記診断回路が有するクロック制御回路が、前記第1のクロックと前記第2のクロックとの位相関係を逆相に維持したまま、前記第1のクロックと前記第2のクロックの各々の位相を反転させ、
前記第1の場合と前記第2の場合とで、前記診断回路が有する切り替え回路が、記複数のラッチとは異なるラッチである予備ラッチを前記スキャンチェーンに含めるか否かを切り替える、診断回路の制御方法。
(付記7)
前記予備ラッチは、前記第1のクロックに従ってデータを保持し、
前記第1の場合と前記第2の場合とで、前記複数のラッチのうち最後段の1番目のラッチの出力データを、前記予備ラッチを経由して出力させるか否かを切り替える、付記6に記載の診断回路の制御方法。
(付記8)
前記第1の場合、前記1番目のラッチの出力データを、前記予備ラッチを経由せずに出力させ、前記第2の場合、前記1番目のラッチの出力データを前記予備ラッチを経由して出力させる、付記7に記載の診断回路の制御方法。
(付記9)
前記複数のラッチは、各々の前段に設けられたセレクタによって選択されたデータを保持し、
前記セレクタは、第1の選択信号が入力された場合には、スキャンシフトしない入力データを選択し、第2の選択信号が入力された場合には、スキャンシフトするデータを選択する、付記6から8のいずれか一項に記載の診断回路の制御方法。
(付記10)
前記ラッチは、Dラッチである、付記6から9のいずれか一項に記載の診断回路の制御方法。
1〜4 ラッチ
10 スキャンチェーン
11 診断回路
21〜24 セレクタ
30 クロック制御回路
41 予備ラッチ
51 セレクタ
80 レジスタファイル
81 ラッチ部
100 集積回路

Claims (4)

  1. 第1のクロックに従ってデータを保持する偶数番目のラッチと、第2のクロックに従ってデータを保持する奇数番目のラッチとを含むスキャンチェーンを備え、前記スキャンチェーンに含まれる複数のラッチの各々に保持されたデータをスキャンシフトする診断回路であって、
    前記偶数番目のラッチに保持されたデータをスキャンシフトする第1の場合と前記奇数番目のラッチに保持されたデータをスキャンシフトする第2の場合とで、前記第1のクロックと前記第2のクロックとの位相関係を逆相に維持したまま、前記第1のクロックと前記第2のクロックの各々の位相を反転させるクロック制御回路と、
    前記複数のラッチとは異なるラッチである予備ラッチと、
    前記第1の場合と前記第2の場合とで、前記予備ラッチを前記スキャンチェーンに含めるか否かを切り替える切り替え回路とを備える、診断回路。
  2. 前記予備ラッチは、前記第1のクロックに従ってデータを保持し、
    前記切り替え回路は、前記第1の場合と前記第2の場合とで、前記複数のラッチのうち最後段の1番目のラッチの出力データを、前記予備ラッチを経由して出力させるか否かを切り替える、請求項1に記載の診断回路。
  3. 前記切り替え回路は、前記第1の場合、前記1番目のラッチの出力データを、前記予備ラッチを経由せずに出力させ、前記第2の場合、前記1番目のラッチの出力データを前記予備ラッチを経由して出力させる、請求項2に記載の診断回路。
  4. 第1のクロックに従ってデータを保持する偶数番目のラッチと、第2のクロックに従ってデータを保持する奇数番目のラッチとを含むスキャンチェーンを備え、前記スキャンチェーンに含まれる複数のラッチの各々に保持されたデータをスキャンシフトする診断回路の制御方法であって、
    前記偶数番目のラッチに保持されたデータをスキャンシフトする第1の場合と前記奇数番目のラッチに保持されたデータをスキャンシフトする第2の場合とで、前記診断回路が有するクロック制御回路が、前記第1のクロックと前記第2のクロックとの位相関係を逆相に維持したまま、前記第1のクロックと前記第2のクロックの各々の位相を反転させ、
    前記第1の場合と前記第2の場合とで、前記診断回路が有する切り替え回路が、記複数のラッチとは異なるラッチである予備ラッチを前記スキャンチェーンに含めるか否かを切り替える、診断回路の制御方法。
JP2017094668A 2017-05-11 2017-05-11 診断回路及び診断回路の制御方法 Active JP6988156B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017094668A JP6988156B2 (ja) 2017-05-11 2017-05-11 診断回路及び診断回路の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017094668A JP6988156B2 (ja) 2017-05-11 2017-05-11 診断回路及び診断回路の制御方法

Publications (2)

Publication Number Publication Date
JP2018189604A true JP2018189604A (ja) 2018-11-29
JP6988156B2 JP6988156B2 (ja) 2022-01-05

Family

ID=64480021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017094668A Active JP6988156B2 (ja) 2017-05-11 2017-05-11 診断回路及び診断回路の制御方法

Country Status (1)

Country Link
JP (1) JP6988156B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7107602B1 (ja) * 2021-02-25 2022-07-27 Necプラットフォームズ株式会社 スキャンパス回路の故障個所特定装置、故障個所特定方法およびプログラム
US20230082419A1 (en) * 2020-02-28 2023-03-16 Sony Semiconductor Solutions Corporation Semiconductor device and test system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06230088A (ja) * 1992-12-23 1994-08-19 Advanced Micro Devicds Inc 順序回路素子のアレイを含む集積回路および論理素子を含む集積回路
JP2001036011A (ja) * 1999-07-19 2001-02-09 Matsushita Electric Ind Co Ltd 検査回路内蔵デジタル集積回路
JP2003255025A (ja) * 2002-03-05 2003-09-10 Matsushita Electric Ind Co Ltd 半導体集積回路
JP2005003556A (ja) * 2003-06-12 2005-01-06 Sony Corp スキャンフリップフロップ回路、およびレジスタファイル
US20100332929A1 (en) * 2009-06-30 2010-12-30 Texas Instruments Incorporated Scan testable register file

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06230088A (ja) * 1992-12-23 1994-08-19 Advanced Micro Devicds Inc 順序回路素子のアレイを含む集積回路および論理素子を含む集積回路
JP2001036011A (ja) * 1999-07-19 2001-02-09 Matsushita Electric Ind Co Ltd 検査回路内蔵デジタル集積回路
JP2003255025A (ja) * 2002-03-05 2003-09-10 Matsushita Electric Ind Co Ltd 半導体集積回路
JP2005003556A (ja) * 2003-06-12 2005-01-06 Sony Corp スキャンフリップフロップ回路、およびレジスタファイル
US20100332929A1 (en) * 2009-06-30 2010-12-30 Texas Instruments Incorporated Scan testable register file

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230082419A1 (en) * 2020-02-28 2023-03-16 Sony Semiconductor Solutions Corporation Semiconductor device and test system
JP7107602B1 (ja) * 2021-02-25 2022-07-27 Necプラットフォームズ株式会社 スキャンパス回路の故障個所特定装置、故障個所特定方法およびプログラム

Also Published As

Publication number Publication date
JP6988156B2 (ja) 2022-01-05

Similar Documents

Publication Publication Date Title
JP2009222644A (ja) 半導体集積回路、及び設計自動化システム
JPH0666897A (ja) 論理集積回路
CN106019119B (zh) 半导体集成电路的试验电路及使用其的试验方法
JP6988156B2 (ja) 診断回路及び診断回路の制御方法
US9989590B2 (en) Self-test circuit in integrated circuit, and data processing circuit
JP2009216619A (ja) 半導体集積回路装置
US7971116B2 (en) Semiconductor storage device and test method therefor
JP4702137B2 (ja) スキャンテスト用フリップフロップ
US9666301B2 (en) Scannable memories with robust clocking methodology to prevent inadvertent reads or writes
JP2005308500A (ja) 半導体集積回路装置及びテスト方法
US6629277B1 (en) LSSD interface
JP2002323537A (ja) Ram用機能試験容易化回路及びこれを備えた集積回路装置
JP5761819B2 (ja) スキャン非同期記憶素子およびそれを備えた半導体集積回路ならびにその設計方法およびテストパターン生成方法
JP4662520B2 (ja) スキャンテスト回路およびスキャンテスト方法、並びに半導体集積回路
JP2006194727A (ja) 集積回路のテスト方法。
JP2011055224A (ja) フリップフロップ回路
JP2010045499A (ja) フリップフロップ回路
JP2009175154A (ja) 半導体集積回路およびその設計方法
JP2002286803A (ja) 半導体集積回路
KR20240024489A (ko) 플립플롭 및 이를 포함하는 스캔 체인 회로
JP2004294424A (ja) スキャンテスト制御方法、及びスキャンテスト回路
JP2010025703A (ja) 半導体装置およびそのテスト方法
JPH06160479A (ja) 半導体論理集積回路
JP2020041821A (ja) テスト回路及びテスト方法
JP2012189451A (ja) 半導体集積回路のスキャンテスト回路の設計方法、スキャンテスト回路、およびスキャンテスト方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211115

R150 Certificate of patent or registration of utility model

Ref document number: 6988156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150