(57)【特許請求の範囲】
【請求項１】
スキャンチェーンを有する論理回路と、前記スキャンチェーンに対して複数のテストパタンのテストを行うテスト制御回路と、を含む被テストブロックと、
前記被テストブロックの非アクセス状態期間に前記被テストブロックに第１信号を出力する制御回路と、
前記被テストブロックの電源遮断シーケンスの前に、前記被テストブロックのテスト情報データを記憶する機能回路と、
を具備し、
前記テスト制御回路は、
前記被テストブロックの第１非アクセス状態期間において、前記第１信号に応じて前記スキャンチェーンに対して前記複数のテストパタンのうち少なくとも第１テストパタンのテストを行い、かつ
前記被テストブロックの第２非アクセス状態期間において、前記第１信号に応じて前記スキャンチェーンに対して前記複数のテストパタンのうち少なくとも前記第１テストパタンに続く第２テストパタンのテストを行い、
前記第１テストパタンのテストと前記第２テストパタンのテストとは、不連続的に行われ、
前記スキャンチェーンは、前記論理回路の状態データを記憶する第１フリップフロップと、前記第１フリップフロップに対応するデータラッチとを有し、
前記第１フリップフロップは、第１の電源に接続され、
前記データラッチは、前記第１の電源とは異なる第２の電源に接続され、
前記被テストブロックの前記非アクセス状態期間は、前記被テストブロックの前記電源遮断シーケンスの前またはパワーオンシーケンスの後の期間であり、
前記被テストブロックの前記テスト情報データは、テストパタンのうち行われたテストまでの結果を累積的に圧縮した圧縮値、および行われたテストまでのテストパタンのカウントであり、
前記圧縮値と前記カウントとのそれぞれが前記機能回路に転送されると、前記電源遮断シーケンスが実行され、
前記電源遮断シーケンスが実行されると、前記第１のフリップフロップは電源遮断状態になり、前記データラッチ及び前記機能回路はパワーオン状態を維持して前記データラッチ及び前記機能回路に記憶されたデータが維持される、
半導体集積回路。
【請求項２】
前記テスト制御回路は、前記複数のテストパタンのうち所定のテストパタンのテストのテスト結果までを累積的に圧縮して第１圧縮値とし、前記第１圧縮値と前記所定のテストパタンのテストのテスト結果までの第１圧縮期待値とを比較する請求項１に記載の半導体集積回路。
【請求項３】
前記第１圧縮期待値は、前記被テストブロック内のＲＯＭに記憶される請求項２に記載の半導体集積回路。
【請求項４】
前記第１圧縮期待値は、前記制御回路内のメモリに記憶される請求項２に記載の半導体集積回路。
【請求項５】
前記複数のテストパタンのテストの前に、前記第１フリップフロップに記憶された前記状態データが前記データラッチに格納される
請求項１乃至請求項４のいずれか１項に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、半導体集積回路に関する。
【背景技術】
【０００２】
大規模かつ複雑な半導体集積回路のテストの困難性を解決するテスト容易化手法の１つとして、ロジックＢＩＳＴ（Built-In Self Test）が用いられている。ロジックＢＩＳＴでは、テストパタンが生成され、テストパタンが論理回路に入力される。そして、論理回路から出力されたテスト結果が圧縮され、その圧縮値が解析される。ロジックＢＩＳＴでは、これらの動作が半導体集積回路内部で自動的に行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０９５５９８号公報
【特許文献２】特許第５５８３２４４号公報
【特許文献３】特開２００５−２２１４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
信頼性の高いデバイスを実現する半導体集積回路を提供する。
【課題を解決するための手段】
【０００５】
実施形態による半導体集積回路は、スキャンチェーンを有する論理回路と、前記スキャンチェーンに対して複数のテストパタンのテストを行うテスト制御回路と、を含む被テストブロックと、前記被テストブロックの非アクセス状態期間に前記被テストブロックに第１信号を出力する制御回路と、前記被テストブロックの電源遮断シーケンスの前に、前記被テストブロックのテスト情報データを記憶する機能回路と、を具備する。前記テスト制御回路は、前記被テストブロックの第１非アクセス状態期間において、前記第１信号に応じて前記スキャンチェーンに対して前記複数のテストパタンのうち少なくとも第１テストパタンのテストを行い、かつ前記被テストブロックの第２非アクセス状態期間において、前記第１信号に応じて前記スキャンチェーンに対して前記複数のテストパタンのうち少なくとも前記第１テストパタンに続く第２テストパタンのテストを行う。前記第１テストパタンのテストと前記第２テストパタンのテストとは、不連続に行われ、前記スキャンチェーンは、前記論理回路の状態データを記憶する第１フリップフロップと、前記第１フリップフロップに対応するデータラッチとを有し、前記第１フリップフロップは、第１の電源に接続され、前記データラッチは、前記第１の電源とは異なる第２の電源に接続され、前記被テストブロックの前記非アクセス状態期間は、前記被テストブロックの前記電源遮断シーケンスの前またはパワーオンシーケンスの後の期間であり、前記被テストブロックの前記テスト情報データは、テストパタンのうち行われたテストまでの結果までを累積的に圧縮した圧縮値、および行われたテストまでのテストパタンのカウントであり、前記圧縮値と前記カウントとのそれぞれが前記機能回路に転送されると、前記電源遮断シーケンスが実行され、前記電源遮断シーケンスが実行されると、前記第１のフリップフロップは電源遮断状態になり、前記データラッチ及び前記機能回路はパワーオン状態を維持して前記データラッチ及び前記機能回路に記憶されたデータが維持される。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係る半導体集積回路を示すブロック図。
【図２】第１実施形態に係る半導体集積回路におけるスキャンチェーンを示すブロック図。
【図３】第１実施形態に係る半導体集積回路における期待値ＲＯＭを示す図。
【図４】第１実施形態に係る半導体集積回路のロジックＢＩＳＴのシーケンスを示す図。
【図５】図４のパワーオンロジックＢＩＳＴのシーケンスをより詳細に示す図。
【図６】図４のシステム動作ロジックＢＩＳＴのシーケンスをより詳細に示す図。
【図７】第２実施形態に係る半導体集積回路を示すブロック図。
【図８】第２実施形態に係る半導体集積回路のシステム動作ロジックＢＩＳＴのシーケンスをより詳細に示す図。
【図９】第３実施形態に係る半導体集積回路におけるスキャンチェーンの一部を示すブロック図。
【図１０】第３実施形態に係る半導体集積回路のシステム動作ロジックＢＩＳＴのシーケンスをより詳細に示す図。
【発明を実施するための形態】
【０００７】
本実施形態を以下に図面を参照して説明する。図面において、同一部分には同一の参照符号を付す。
【０００８】
＜第１実施形態＞
以下に図１乃至図６を用いて、第１実施形態に係る半導体集積回路について説明する。
【０００９】
第１実施形態では、半導体集積回路１００のシステム動作時において、被テストブロック１４０が非アクセス状態である期間に論理回路１４３に対してロジックＢＩＳＴが行われる。このとき、全パタンカウントのテストパタンのロジックＢＩＳＴを複数回の非アクセス状態期間で分けて行う。これにより、システム動作時にロジックＢＩＳＴを実行することができ、信頼性の高いデバイスを実現できる。
【００１０】
以下に、第１実施形態について詳説する。
【００１１】
（第１実施形態における構成例）
図１は、第１実施形態に係る半導体集積回路１００を示すブロック図である。図２は、第１実施形態に係る半導体集積回路１００におけるスキャンチェーン１５０を示すブロック図である。また、図３は、第１実施形態に係る半導体集積回路１００における期待値ＲＯＭ１４５を示す図である。
【００１２】
なお、以下の説明において、特に限定しない限り、「接続」は直接接続される場合だけではなく、間に任意の素子を介して接続される場合も含まれる。
【００１３】
図１に示すように、半導体集積回路１００は、ＣＰＵ（制御回路）１１０、メモリ１２０、機能回路１３０、および被テストブロック１４０を備える。これらは、バスによって互いに電気的に接続される。
【００１４】
ＣＰＵ１１０は、半導体集積回路１００全体を制御する。ＣＰＵ１１０は、パワーオン時に被テストブロック１４０にテストモード信号を出力する。また、ＣＰＵ１１０は、システム動作時における被テストブロック１４０の非アクセス状態期間に被テストブロック１４０にテストモード信号を出力する。
【００１５】
メモリ１２０は、例えばＮＡＮＤフラッシュメモリであり、外部からのデータを記憶する。
【００１６】
機能回路１３０は、種々の機能を有する。機能回路１３０は、被テストブロック１４０以外のテストブロックを含んでもよい。
【００１７】
被テストブロック１４０は、ロジック制御回路１４１、パタン生成器１４２、論理回路１４３、パタン圧縮器１４４、期待値ＲＯＭ１４５、比較器１４６、およびパタンカウンタ１４７を備える。
【００１８】
ロジックＢＩＳＴ制御回路１４１は、被テストブロック１４０全体のテスト動作を制御する。ロジックＢＩＳＴ制御回路１４１は、ＣＰＵ１１０からのテストモード信号に応じて、論理回路１４３に対してロジックＢＩＳＴを実行する。ロジックＢＩＳＴ制御回路１４１は、パタン生成器１４２、論理回路１４３、およびパタン圧縮器１４４にＢＩＳＴクロックを出力したり、比較器１４６に比較クロックを出力したりする。
【００１９】
パタン生成器１４２は、複数のスキャンチェーン１５０へシリアルに出力するテストパタンを生成する。パタン生成器１４２は複数のテストパタンを生成し、各スキャンチェーン１５０には複数のテストパタンが順次入力される。パタン生成器１４２は、疑似乱数的な生成器であり、例えば擬似ランダムパタンといった乱数パタンを生成する。疑似乱数的な生成器としては、ＬＦＳＲ（Linear Feedback Shift Register）が挙げられる。
【００２０】
論理回路１４３は、複数のスキャンチェーン１５０を備える。テストモード時において、各スキャンチェーン１５０にはパタン生成器１４２からの複数のテストパタンが順次シリアルに入力される。そして、各スキャンチェーン１５０からのシリアルな出力値（テスト結果）は、パタン圧縮器１４４に入力される。
【００２１】
図２に示すように、各スキャンチェーン１５０は、複数のフリップフロップ１５２を備える。複数のフリップフロップ１５２はそれぞれ、入力端子Ｄ，ＴＩ、クロック端子ＣＰ、および出力端子Ｑを有する。
【００２２】
入力端子Ｄには、任意の回路から第１パスＩを介して通常データが入力される。入力端子ＴＩには、第２パスＩＩを介してテストデータ（テストパタン）が入力される。入力端子ＴＩには、前段のフリップフロップ１５２の出力端子が接続される。クロック端子ＣＰには、クロックが入力される。出力端子Ｑは、フリップフロップ１５２の状態値を出力する。
【００２３】
フリップフロップ１５２は、通常モード時において、クロックＣＰに同期して入力端子Ｄからの通常データを選択および記憶し、その状態値を出力端子Ｑに出力する。一方、フリップフロップ１５２は、テストモード時において、クロックＣＰに同期して入力端子ＴＩからのテストデータを選択および記憶し、その状態値を出力端子Ｑに出力する。すなわち、複数のフリップフロップ１５２は、テストモード時において直列に接続され、前段のフリップフロップ１５２からのテストデータを順次入出力していく。通常モード時とテストモード時との切り替え（通常データを入力するかテストデータを入力するかの切り替え）は、図示せぬテストイネーブル信号ＴＥに応じて行われる。テストイネーブル信号ＴＥは、フリップフロップ１５２に入力される。
【００２４】
再度図１に示すように、パタン圧縮器１４４は、各スキャンチェーン１５０の出力側に設けられ、各スキャンチェーン１５０からのテスト結果を圧縮する。パタン圧縮器１４４は、複数のテストパタンによるテスト結果を順次累積的に圧縮していく。そして、パタン圧縮値１４４は、比較器１４６に圧縮値を出力する。パタン圧縮器１４４は、例えばＭＩＳＲ（Multi Input Shift Resister）である。
【００２５】
例えば、パタン圧縮器１４４は、パタンカウント１のテストパタンのテスト結果を圧縮する（圧縮値１）。引き続き、パタン圧縮器１４４は、パタンカウント２のテストパタンのテスト結果を圧縮する（圧縮値２）。このとき、パタン圧縮器１４４は、パタンカウント１のテストパタンのテスト結果に加えてパタンカウント２のテストパタンのテスト結果を累積的に圧縮する。すなわち、圧縮値２は、パタンカウント１のテストパタンのテスト結果とパタンカウント２のテストパタンのテスト結果の累積値である。パタン圧縮器１４４は、現時点の圧縮値を記憶しながら、その後同様にパタンカウントＮ４のテストパタンのテスト結果まで順次圧縮していく。
【００２６】
期待値ＲＯＭは、テスト結果の圧縮期待値を予め記憶する。この際、期待値ＲＯＭは、全パタンカウントのテストパタンの圧縮期待値を記憶するのではなく、所定パタンカウントのテストパタンの圧縮期待値を記憶する。より具体的には、図３に示すように、期待値ＲＯＭは、所定パタンカウントとその圧縮期待値とのテーブルを有する。例えば、パタンカウントＮ１〜Ｎ４に対してそれぞれ、圧縮期待値Ｅｘｐ１〜Ｅｘｐ４のそれぞれが対応する（Ｎ１＜Ｎ２＜Ｎ３＜Ｎ４）。
【００２７】
比較器１４６は、パタン圧縮器１４４からの圧縮値のパタンカウントと期待値ＲＯＭの圧縮期待値のパタンカウントとが一致した場合に、その圧縮値と圧縮期待値とを比較（解析）する。パタン圧縮器１４４からの圧縮値のパタンカウントは、パタンカウンタ１４７によりカウントされる。パタンカウンタ１４７は、現時点のパタンカウントを記憶する。比較器１４６は、パタン圧縮器１４４からの圧縮値と期待値ＲＯＭ１４５からの圧縮期待値とが不一致の場合に、そのテスト結果がフェイルであるとしてロジックＢＩＳＴ制御回路に通知する。
【００２８】
（第１実施形態におけるロジックＢＩＳＴ）
図４は、第１実施形態に係る半導体集積回路１００のロジックＢＩＳＴのシーケンスを示す図である。図５は、図４のパワーオンロジックＢＩＳＴのシーケンスをより詳細に示す図である。図６は、図４のシステム動作ロジックＢＩＳＴのシーケンスをより詳細に示す図である。
【００２９】
ここで、ロジックＢＩＳＴとは、テストパタンの生成、スキャンイン（テストパタンの入力）、スキャンアウト（テストパタンの出力）、テスト結果（出力値）の圧縮、および圧縮値の比較（解析）の工程を示す。ロジックＢＩＳＴでは、複数のテストパタン（本例では、パタンカウント１〜Ｎ４のテストパタン（パタン１〜Ｎ４））に対して上記工程が行われる。
【００３０】
図４に示すように、第１実施形態では、半導体集積回路１００のパワーオン時および半導体集積回路１００のパワーオン後のシステム動作時のそれぞれにおいて、被テストブロックに対してロジックＢＩＳＴが実行される。ここで、システム動作時とは、パワーオンシーケンス後であって半導体集積回路１００の少なくとも一部に電源電圧が供給されているときを示す。また、パワーオン時とは、例えばパワーオンシーケンス時またはパワーオンシーケンス直後を示す。
【００３１】
半導体集積回路１００のパワーオン時において、時刻Ｔ１から時刻Ｔ２にＣＰＵ１１０は、テストモード信号をＨレベルにしてロジックＢＩＳＴ制御回路１４１に出力する。この時刻Ｔ１から時刻Ｔ２の期間の長さは、ＣＰＵ１１０により認識されている。ロジックＢＩＳＴ制御回路１４１は、Ｈレベルのテストモード信号に応じて、時刻Ｔ１から時刻Ｔ２の期間において被テストブロック１４０（論理回路１４３）に対してパワーオンロジックＢＩＳＴ（ＰＯ−ＬＢＩＳＴ）を実行する。
【００３２】
より具体的には、図５に示すように、パワーオンロジックＢＩＳＴ（ＰＯ−ＬＢＩＳＴ）（時刻Ｔ１から時刻Ｔ２）において、論理回路１４３に対してパタンカウント１のテストパタン（パタン１）から順にテストが行われる。
【００３３】
なお、図面において、パタン１のテストの終了と同時にパタン２のテストが開始しているが、パタン１のテスト結果の圧縮とパタン２の生成等とが並行して行われてもよい。通常、前のパタン（パタン１）のスキャンアウトと次のパタン（パタン２）のスキャンインとは同時に行われる。
【００３４】
その後、パタンカウントＮ４のテストパタン（パタンＮ４）までのテストが行われ、パタンＮ４までの圧縮値とパタンＮ４の圧縮期待値とが比較される。。
【００３５】
このように、１回のパワーオンロジックＢＩＳＴ（ＰＯ−ＬＢＩＳＴ）では、パタン１からパタンＮ４までのテストが連続的に行われる。
【００３６】
再度図４に示すように、パワーオン後の半導体集積回路１００のシステム動作時において、時刻Ｔ３から時刻Ｔ４、時刻Ｔ５から時刻Ｔ６、および時刻Ｔ７から時刻Ｔ８に、ＣＰＵ１１０はテストモード信号をＨレベルにしてロジックＢＩＳＴ制御回路１４１に出力する。これら時刻Ｔ３から時刻Ｔ４、時刻Ｔ５から時刻Ｔ６、および時刻Ｔ７から時刻Ｔ８の期間は、被テストブロック１４０の非アクセス期間である。ここで、非アクセス期間とは、被テストブロック１４０に対してシステム動作のデータやコマンド等が入力されない期間であり、被テストブロック１４０がシステム機能の動作を行っていない期間である。
【００３７】
これら時刻Ｔ３から時刻Ｔ４、時刻Ｔ５から時刻Ｔ６、および時刻Ｔ７から時刻Ｔ８の期間の長さは、ＣＰＵ１１０により認識されている。ロジックＢＩＳＴ制御回路１４１は、Ｈレベルのテストモード信号に応じて、時刻Ｔ３から時刻Ｔ４、時刻Ｔ５から時刻Ｔ６、および時刻Ｔ７から時刻Ｔ８のそれぞれの期間において、被テストブロック１４０（論理回路１４３）に対してシステム動作ロジックＢＩＳＴ１〜３（ＳＯ−ＬＢＩＳＴ１〜ＳＯ−ＬＢＩＳＴ３）のそれぞれを実行する。
【００３８】
より具体的には、図６に示すように、システム動作ロジックＢＩＳＴ１（ＳＯ−ＬＢＩＳＴ１）（時刻Ｔ３から時刻Ｔ４）において、論理回路１４３に対して、パタンカウント１のテストパタン（パタン１）およびパタンカウント２のテストパタン（パタン２）のテストが順に行われる。
【００３９】
次に、システム動作ロジックＢＩＳＴ２（ＳＯ−ＬＢＩＳＴ２）（時刻Ｔ５から時刻Ｔ６）において、論理回路１４３に対して、パタンカウント３のテストパタン（パタン３）から順にテストが行われる。その後、パタンカウントＮ１のテストパタン（パタンＮ１）までのテストが行われ、パタンＮ１までの圧縮値とパタンＮ１の圧縮期待値とが比較される。このとき、並行してパタンＮ１＋１のテストが行われる。
【００４０】
次に、システム動作ロジックＢＩＳＴ３（ＳＯ−ＬＢＩＳＴ３）（時刻Ｔ７から時刻Ｔ８）において、論理回路１４３に対して、パタンカウントＮ１＋２のテストパタン（パタンＮ１＋２）から順にテストが行われる。その後、パタンカウントＮ２のテストパタン（パタンＮ２）までのテストが行われ、パタンＮ２までの圧縮値とパタンＮ２の圧縮期待値とが比較される。このとき、並行してパタンＮ２＋１以降のテストが行われる。そして、パタンカウントＮ３，Ｎ４のテストパタン（パタンＮ３，Ｎ４）まで同様にテストが行われ、パタンＮ３，Ｎ４までの圧縮値と対応する圧縮期待値とが比較される。
【００４１】
このように、システム動作ロジックＢＩＳＴでは、パタン１からパタンＮ４のテストが複数回の非アクセス状態期間に分けられ、不連続的に行われる。
【００４２】
各システム動作ロジックＢＩＳＴの終了時点におけるパタンカウントはパタンカウンタ１４７に記憶され、テスト結果の圧縮値はパタン圧縮器１４４に記憶される。これらのパタンカウントおよびテスト結果の圧縮値を参照して、その続きから次のシステム動作ロジックＢＩＳＴが行われる。
【００４３】
なお、本例において、３回の非アクセス期間においてシステム動作ロジックＢＩＳＴ１〜３が行われたが、これに限らない。４回以上の非アクセス期間においてシステム動作ロジックＢＩＳＴが行われてもよい。また、１回の非アクセス期間で行われるパタンカウント数は、非アクセス期間の長さによって決まるものであり、ＣＰＵ１１０によって制御される。
【００４４】
（第１実施形態における効果）
比較例では、被テストブロックにおける論理回路のロジックＢＩＳＴは、半導体集積回路のパワーオン時に行われる。しかし、パワーオン時とシステム動作時とでは、諸条件（デバイスの温度や電圧等）が異なる。このため、パワーオン時の条件でしかテストが行われない場合、システム動作時の条件においても論理回路が正常であるか否かの信頼性が低い。したがって、高信頼性が求められるデバイスにおいては、パワーオン時のみのテストでは不十分である。
【００４５】
これに対し、第１実施形態では、半導体集積回路１００のシステム動作時において、被テストブロック１４０が非アクセス状態である期間に論理回路１４３に対してロジックＢＩＳＴが行われる。この非アクセス状態期間は、比較的短い期間である。このため、１回の非アクセス状態期間において、全パタンカウント（例えば１〜Ｎ４）のうち一部のパタンカウント（例えば１，２）のテストパタン（途中のパタンカウントまでのテストパタン）についてのテストが行われる。すなわち、全パタンカウントのテストパタンのテストを１回の非アクセス状態期間で行うのではなく、複数回の非アクセス状態期間に分けて行う。これにより、比較的短い期間である非アクセス状態期間であっても、ロジックＢＩＳＴを最後まで実行することができる。したがって、システム動作時の条件においてロジックＢＩＳＴを行うことができ、信頼性の高いデバイスを実現できる。
【００４６】
また、第１実施形態では、テストパタンの結果を順次累積的に圧縮していく。このとき、全パタンカウントのテストパタン毎に圧縮結果を解析するのではなく、所定個（例えばＮ１個、Ｎ２個等）のパタンカウントのテストパタン毎に圧縮結果を解析する。すなわち、所定個目までのパタンカウントのテストパタンの圧縮結果の値とその圧縮期待値とを比較する。これにより、保持しておくべき圧縮期待値の数を減らすことができ、その記憶領域（期待値ＲＯＭ１４５の容量）を小さくすることができる。
【００４７】
なお、第１実施形態において、圧縮期待値は期待値ＲＯＭ１４５に予め記憶されるが、これに限らない。圧縮期待値は、ＲＡＭに記憶されてもよい。この場合、ＣＰＵ１１０によって適宜圧縮期待値が変更されてもよい。同様に、圧縮期待値は、ＣＰＵ１１０内のメモリに記憶されてもよく、適宜変更されてもよい。
【００４８】
＜第２実施形態＞
以下に図７および図８を用いて、第２実施形態に係る半導体集積回路について説明する。
【００４９】
第２実施形態は、被テストブロック１４０の非アクセス状態期間が、被テストブロック１４０の電源遮断に伴う期間（電源遮断の前後の期間）である場合の例である。
【００５０】
第２実施形態では、被テストブロック１４０の電源遮断シーケンス（シャットオフシーケンス）の前にシステム動作ロジックＢＩＳＴが行われる。そして、現時点のテスト結果の圧縮値やパタンカウントが、パワーオン状態の別の機能回路１３０に転送および記憶される。これにより、被テストブロック１４０の圧縮値やパタンカウントの消去することなく、次のシステム動作ロジックＢＩＳＴを途中から正しく実行することができる。
【００５１】
以下に、第２実施形態について詳説する。なお、第２実施形態において、上記第１実施形態と同様の点については説明を省略し、主に異なる点について説明する。
【００５２】
（第２実施形態における構成例）
図７は、第２実施形態に係る半導体集積回路１００を示すブロック図である。
【００５３】
図７に示すように、半導体集積回路１００における機能回路１３０は、圧縮値レジスタ１３１およびパタンカウントレジスタ１３２を備える。被テストブロック１４０と機能回路１３０とは、バスによって互いに電気的に接続される。
【００５４】
圧縮値レジスタ１３１は、パタン圧縮器１４４に記憶された途中のテスト結果の圧縮値を記憶する。パタンカウントレジスタ１３２は、パタンカウンタ１４７に記憶された途中のパタンカウントを記憶する。
【００５５】
圧縮値レジスタ１３１およびパタンカウンタ１４７を有する機能回路１３０は、常にパワーオン状態である。
【００５６】
（第２実施形態におけるロジックＢＩＳＴ）
図８は、第２実施形態に係る半導体集積回路１００のシステム動作ロジックＢＩＳＴのシーケンスをより詳細に示す図である。ここでは、図４における時刻Ｔ５〜Ｔ６のシステム動作ロジックＢＩＳＴ２を例に説明する。
【００５７】
図８に示すように、時刻Ｔ５から時刻Ｔ６におけるシステム動作ロジックＢＩＳＴ２は、被テストブロック１４０の電源遮断シーケンス（シャットオフシーケンス）の前に行われる。システム動作ロジックＢＩＳＴ２において、論理回路１４３に対して、パタンカウント３のテストパタン（パタン３）から順にテストが行われる。その後、パタンカウントＮ１のテストパタン（パタンＮ１）までのテストが行われ、パタンＮ１までの圧縮値とパタンＮ１の圧縮期待値とが比較される。このとき、並行してパタンＮ１＋１のテストが行われる。
【００５８】
次に、被テストブロック１４０から機能回路１３０にテスト情報データが転送される。より具体的には、パタンＮ１＋１までのテスト結果の圧縮値のデータが、機能回路１３０のパタンレジスタ１３１に転送される。また、パタンカウントＮ１＋１のデータが、機能回路１３０のパタンカウントレジスタ１３２に転送される。
【００５９】
その後、引き続き、被テストブロック１４０の電源遮断シーケンスが行われ、被テストブロック１４０は電源遮断状態になる。このとき、機能回路１３０は、パワーオン状態を維持する。そして、パワーオンシーケンスが行われ、被テストブロック１４０はパワーオン状態になる。パワーオン状態になった後、機能回路１３０から被テストブロック１４０に、テスト結果の圧縮値のデータおよびパタンカウントのデータが転送される。
【００６０】
このように、システム動作ロジックＢＩＳＴ２、テスト情報データの転送、および電源遮断シーケンスは連続的に行われる。
【００６１】
その後、図示はしないが、次の電源遮断シーケンスの前にシステム動作ロジックＢＩＳＴ３が行われる。
【００６２】
（第２実施形態における効果）
被テストブロック１４０を電源遮断する場合、パタン圧縮器１４４に記憶された途中のテスト結果の圧縮値やパタンカウンタ１４７に記憶された途中のパタンカウントが消去されてしまう。この場合、次のシステム動作ロジックＢＩＳＴが前のシステム動作ロジックＢＩＳＴの終了時点から引き続き正しく実行することができなくなる。
【００６３】
これに対し、第２実施形態では、被テストブロック１４０の電源遮断シーケンス（シャットオフシーケンス）の前にシステム動作ロジックＢＩＳＴが行われる。そして、現時点のテスト結果の圧縮値やパタンカウントが、パワーオン状態の機能回路１３０に転送および記憶される。これにより、被テストブロック１４０の電源遮断による圧縮値やパタンカウントの消去を回避することができ、システム動作ロジックＢＩＳＴを途中から正しく実行することができる。
【００６４】
なお、ＲＯＭの代わりにＲＡＭが圧縮期待値を記憶する場合、ＲＡＭのデータも電源遮断によって消去してしまう。このため、この場合、ＲＡＭのデータも機能回路１３０に転送および記憶されることが望ましい。
【００６５】
＜第３実施形態＞
以下に図９および図１０を用いて、第３実施形態に係る半導体集積回路について説明する。
【００６６】
第３実施形態は、第２実施形態の変形例であり、スキャンチェーン１５０におけるフリップフロップ１５２の一部が状態記憶フリップフロップである場合の例である。
【００６７】
第３実施形態では、システム動作ロジックＢＩＳＴの前に、フリップフロップ１５２のデータがデータラッチ１５３に格納される。これにより、フリップフロップ１５２のデータを消去することなく、電源遮断時におけるテストを行うことができる。
【００６８】
以下に、第３実施形態について詳説する。なお、第３実施形態において、上記第２実施形態と同様の点については説明を省略し、主に異なる点について説明する。
【００６９】
（第３実施形態における構成例）
図９は、第３実施形態に係る半導体集積回路１００におけるスキャンチェーン１５０の一部を示すブロック図である。なお、図９では、１個のフリップフロップ１５２のみを示している。
【００７０】
図９に示すように、スキャンチェーン１５０は、フリップフロップ１５２、およびデータラッチ１５３を備える。
【００７１】
フリップフロップ１５２は、状態記憶フリップフロップである。このフリップフロップ１５２は、現在の論理回路１４３の状態を記憶する。
【００７２】
データラッチ１５３は、フリップフロップ１５２に対応するように設けられる。データラッチ１５３は、フリップフロップ１５２のデータを一時的に格納する。また、データラッチ１５３は、フリップフロップ１５２とは異なる電源に電気的に接続される。このため、フリップフロップ１５２（被テストブロック１４０）が電源遮断されても、データラッチ１５３はパワーオン状態を維持する。
【００７３】
（第３実施形態におけるロジックＢＩＳＴ）
図１０は、第３実施形態に係る半導体集積回路１００のシステム動作ロジックＢＩＳＴのシーケンスをより詳細に示す図である。ここでは、図４における時刻Ｔ５〜Ｔ６のシステム動作ロジックＢＩＳＴ２を例に説明する。
【００７４】
図１０に示すように、時刻Ｔ５から時刻Ｔ６におけるシステム動作ロジックＢＩＳＴ２の前に、フリップフロップ１５２のデータ（現在の論理回路１４３の状態データ）がデータラッチ１５３に格納される。
【００７５】
次に、時刻Ｔ５から時刻Ｔ６において、システム動作ロジックＢＩＳＴ２が行われる。その後、被テストブロック１４０から機能回路１３０にテスト結果の圧縮値のデータおよびパタンカウントのデータが転送される。引き続き、被テストブロック１４０の電源遮断シーケンスが行われ、被テストブロック１４０は電源遮断状態になる。このとき、機能回路１３０は、パワーオン状態を維持する。また、データラッチ１５３も、パワーオン状態を維持する。そして、パワーオンシーケンスが行われ、被テストブロック１４０はパワーオン状態になる。パワーオン状態になった後、機能回路１３０から被テストブロック１４０に、テスト結果の圧縮値のデータおよびパタンカウントのデータが転送される。
【００７６】
次に、データラッチ１５３に格納されたデータが、フリップフロップ１５２に再記憶される。なお、フリップフロップ１５２への再記憶は、機能回路１３０から被テストブロック１４０へのテスト結果の圧縮値のデータおよびパタンカウントのデータの転送よりも前に行ってもよく、または並行して行ってもよい。
【００７７】
このように、状態データの格納、システム動作ロジックＢＩＳＴ２、テスト情報データの転送、および電源遮断シーケンスは連続的に行われる。
【００７８】
その後、図示はしないが、次の電源遮断シーケンスの前にシステム動作ロジックＢＩＳＴ３が行われる。
【００７９】
（第３実施形態における効果）
フリップフロップ１５２が状態記憶フリップフロップである場合、フリップフロップ１５２は現在の論理回路１４３の状態を記憶する。しかし、このフリップフロップ１５２に対してテストを行った場合、または電源を遮断した場合、フリップフロップ１５２のデータは消去されてしまう。
【００８０】
これに対し、第３実施形態では、フリップフロップ１５２に対応するようにデータラッチ１５３が設けられる。そして、システム動作ロジックＢＩＳＴの前に、フリップフロップ１５２の状態データがデータラッチ１５３に格納される。これにより、フリップフロップ１５２のデータを消去することなく、電源遮断時におけるテストを行うことができる。
【００８１】
なお、本例では、被テストブロック１４０の非アクセス状態期間として電源遮断に伴う期間の場合について説明したが、これに限らない。電源遮断以外の非アクセス状態期間におけるシステム動作ロジックＢＩＳＴの前に、フリップフロップ１５２の状態データをデータラッチ１５３に格納してもよい。
【００８２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８３】
１１０…ＣＰＵ、１４０…被テストブロック、１４１…ロジックＢＩＳＴ制御回路、１５０…スキャンチェーン、１５２…フリップフロップ
【図１】
0006538497.tif 000002
【図２】
0006538497.tif 000003
【図３】
0006538497.tif 000004
【図４】
0006538497.tif 000005
【図５】
0006538497.tif 000006
【図６】
0006538497.tif 000007
【図７】
0006538497.tif 000008
【図８】
0006538497.tif 000009
【図９】
0006538497.tif 000010
【図１０】
0006538497.tif 000011