(57)【要約】【課題】ロジックＢＩＳＴによる自己テストでは故障検出率を上げづらく、回路の特定箇所の故障を短時間で検出できない。【解決手段】一実施形態によれば、複数の組合わせ回路１３および複数のＦＦ１４を有する論理回路と、組合わせ回路１３からのデータを取込む第１パス又は前段ＦＦ１４からのデータを取込む第２パスをＦＦ１４毎に切替える選択器と、選択で有効にされる第２パスをそれぞれが有する複数のスキャンチェーンと、テスト用のパターンを発生させるパターン発生器と、パターン発生器の駆動、選択切替え、および各スキャンチェーンからの応答結果によって自己テストを行うテスト制御回路２３と、テスト制御回路２３によりテストされる複数のＦＦ１４のうち、論理パターンを示す＃７、＃８、＃９、＃１１を出力するＦＦ１４に対して個別に論理値を設定する設定端子１８、１９とを備える半導体集積回路１が提供される。【選択図】図４
2014185981.tif 000002
【特許請求の範囲】
【請求項１】
複数の組合わせ回路および複数のフリップフロップを有する論理回路と、
前記論理回路の前記組合わせ回路からのデータを取込む第１パス又は前段フリップフロップからのデータを取込む第２パスを前記フリップフロップ毎に切替える選択器と、
前記選択器の選択によって有効にされる前記第２パスをそれぞれが有する前記論理回路内の複数のスキャンチェーンと、
前記複数のスキャンチェーンへのテスト用のパターンを発生させるパターン発生器と、
前記パターン発生器の駆動、前記選択器の切替え、および各スキャンチェーンからの応答結果によって自己テストを行うテスト制御回路と、
前記テスト制御回路によりテストされる前記論理回路の前記複数のフリップフロップのうち、論理パターンを示す組合わせの一部のフリップフロップに対して個別に論理値を設定する設定端子と、
を備える半導体集積回路。
【請求項２】
前記設定端子は前記一部のフリップフロップ毎に設けられ、
前記設定端子は前記一部のフリップフロップに前記テスト制御回路から前記論理回路へのクロックとは非同期で指令されるリセット端子又はプリセット端子である請求項１記載の半導体集積回路。
【請求項３】
前記複数のフリップフロップのうちの前記一部のフリップフロップから、前記一部のフリップフロップと異なるフリップフロップへのシフトパスをバイパスさせるバイパス部を更に備え、
前記テスト制御回路は前記バイパス部による前記シフトパスのバイパス又は非バイパスを制御する請求項２記載の半導体集積回路。
【請求項４】
複数の組合わせ回路および複数のフリップフロップを有する論理回路と、
前記論理回路の前記組合わせ回路からのデータを取込む第１パス又は前段フリップフロップからのデータを取込む第２パスを前記フリップフロップ毎に切替える選択器と、
前記選択器の選択によって有効にされる前記第２パスをそれぞれが有する前記論理回路内の複数のスキャンチェーンと、
前記複数のスキャンチェーンへのテスト用のパターンを発生させるパターン発生器と、
前記パターン発生器の駆動、前記選択器の切替え、および各スキャンチェーンからの応答結果によって自己テストを行うテスト制御回路と、
前記一部のフリップフロップ毎に又は前記一部のフリップフロップのそれぞれ前記シフトデータの入力経路に設けられ、前記テスト制御回路によりテストされる前記論理回路の前記複数のフリップフロップのうち、論理パターンを示す組合わせの一部のフリップフロップに対して個別に論理値を設定する設定端子と、
前記複数のフリップフロップのうちの前記一部のフリップフロップから、前記一部のフリップフロップと異なるフリップフロップへのシフトパスをバイパスさせるバイパス部と、
を備える半導体集積回路。
【請求項５】
複数の組合わせ回路および複数のフリップフロップを持つ論理回路および前記論理回路に対する組込み自己テスト用のテスト制御回路が、前記フリップフロップ毎に前段フリップフロップからのデータを取込むパス経由でテスト用のパターンを前記論理回路内の複数のスキャンチェーンへシフトインし、
前記テスト制御回路が、前記複数のフリップフロップのうちの論理パターンを示す組合わせの一部のフリップフロップに対して設定端子により個別に論理値を設定し、
前記テスト制御回路が、前記フリップフロップ毎に前記組合せ回路からのデータを取込むパス経由でクロックの供給により前記論理回路を実動作させ、
前記テスト制御回路が、前記複数のスキャンチェーンからシフトアウトされたデータおよび予め保持する期待値データにより動作が正常かどうかを確認する
半導体集積回路の自己テスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
一実施形態は半導体集積回路および半導体集積回路の自己テスト（Ｓｅｌｆ Ｔｅｓｔ）方法に関する。
【背景技術】
【０００２】
大規模かつ複雑なＬＳＩのテストの困難性を解決するテスト容易化手法の一つとして、近年、ロジックＢＩＳＴ［Ｂｕｉｌｔ Ｉｎ Ｓｅｌｆ Ｔｅｓｔ］（論理回路の組込み自己テスト）が主流である（例えば特許文献１参照）。
【０００３】
ロジックＢＩＳＴは被テストブロックへ与えるテストパターンを生成し、被テストブロックからのテスト結果出力を解析する。ロジックＢＩＳＴはその生成及び解析を被テストブロックの周辺に構成された論理回路によりＬＳＩ内部で全て自動的に行う。例えばフリップフロップ回路によるスキャンチェーンを用いて故障位置を特定する方法が知られている（例えば特許文献２参照）。
【０００４】
ロジックＢＩＳＴの対象となる被テストブロックには従来のスキャンテスト同様にスキャンチェーンが設けられている。スキャンチェーンへテストデータがシフトインされ、チェーン長分のデータがシフトインされる。シフトインが完了したら、システムクロック周波数にてラウンチ及びキャプチャの実行、すなわち実動作速度で被テストブロックはテストされる。
【０００５】
ラウンチではデータ遷移を起こすためのラウンチクロックがフリップフロップへ与えられる。キャプチャではラウンチに続いて結果を取込むためのキャプチャクロックがフリップフロップへ与えられる。２つのクロックによる基本動作によってデータはキャプチャされる。
【０００６】
キャプチャされたデータは次のシフトイン時にシフトアウトされる。シフトアウト結果はＭＩＳＲ（マルチインプット・シフトレジスタ）と呼ばれるデータの圧縮器に入力される。所定回数のシフトイン、シフトアウトを実施した後、圧縮器の値を期待値と比較することにより被テストブロックのテストが実現できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−４０９２１号公報
【特許文献２】特開２００６−１５３６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、反面、ロジックＢＩＳＴによる自己テストでは、ランダムデータ故に故障検出率を上げにくく、所望箇所の故障を確実に検出することが困難である。疑似乱数に与えるシードのシード値を適宜変えれば良いが、シード値を逆算することは非常に困難である。シート値を算出できたとしても開発段階で回路が変更される度に再計算が必要となり、開発期間の長期化、開発効率の低下という問題も存在する。
【０００９】
また、上記故障検出率が上げづらいという背景の為、ロジックＢＩＳＴによる自己テストではテストポイントを挿入することが高度に必須である。テストポイントとは観測困難な回路内部の信号を回路外部で観測するために回路に挿入される端子又は信号線を言う。しかし、タイミングがクリティカルな経路へのテストポイントの挿入は経路を途中で分断する。データ経路の分断により実動作速度でのテストが実現できない。
【００１０】
更にシフト時に多数のフリップフロップが同時にスイッチングされるため、電圧降下（ＩｒＤｒｏｐ）が発生し誤動作の原因となる。誤動作を避けるため、擬似乱数パターンの発生器の出力又はスキャンチェーンに与えるシフトデータを所々マスクするという電流対策を実施する方法も行われる。しかしその方法では故障検出率が著しく低下する。検出率の低下を避けるにはシフト段数を増やす必要がある。シフト段数を増やすことはテスト時間が増大する。
【００１１】
また、自己テストにロジックＢＩＳＴを適用した場合、電流対策又はシフト段数の増大という問題を回避するためにはシステムとして過剰な電源設計が求められる。コストの増大につながり、及び消費電力が増大するため、車載製品又は携帯機器等のバッテリの浪費を招く。
【００１２】
更に、自己テストにロジックＢＩＳＴを適用した場合、ロジックＢＩＳＴが正しく故障を検出するかどうか、及びロジックＢＩＳＴ回路自体が故障していないかどうかを判断する仕組みを組込むことが求められる。
【課題を解決するための手段】
【００１３】
このような課題を解決するため、一実施形態によれば、複数の組合わせ回路および複数のフリップフロップを有する論理回路と、前記論理回路の前記組合わせ回路からのデータを取込む第１パス又は前段フリップフロップからのデータを取込む第２パスを前記フリップフロップ毎に切替える選択器と、前記選択器の選択によって有効にされる前記第２パスをそれぞれが有する前記論理回路内の複数のスキャンチェーンと、前記複数のスキャンチェーンへのテスト用のパターンを発生させるパターン発生器と、前記パターン発生器の駆動、前記選択器の切替え、および各スキャンチェーンからの応答結果によって自己テストを行うテスト制御回路と、前記テスト制御回路によりテストされる前記論理回路の前記複数のフリップフロップのうち、論理パターンを示す組合わせの一部のフリップフロップに対して個別に論理値を設定する設定端子と、を備える半導体集積回路が提供される。
【００１４】
また、別の一実施形態によれば、複数の組合わせ回路および複数のフリップフロップを有する論理回路と、前記論理回路の前記組合わせ回路からのデータを取込む第１パス又は前段フリップフロップからのデータを取込む第２パスを前記フリップフロップ毎に切替える選択器と、前記選択器の選択によって有効にされる前記第２パスをそれぞれが有する前記論理回路内の複数のスキャンチェーンと、前記複数のスキャンチェーンへのテスト用のパターンを発生させるパターン発生器と、前記パターン発生器の駆動、前記選択器の切替え、および各スキャンチェーンからの応答結果によって自己テストを行うテスト制御回路と、前記一部のフリップフロップ毎に又は前記一部のフリップフロップのそれぞれ前記シフトデータの入力経路に設けられ、前記テスト制御回路によりテストされる前記論理回路の前記複数のフリップフロップのうち、論理パターンを示す組合わせの一部のフリップフロップに対して個別に論理値を設定する設定端子と、前記複数のフリップフロップのうちの前記一部のフリップフロップから、前記一部のフリップフロップと異なるフリップフロップへのシフトパスをバイパスさせるバイパス部と、を備える半導体集積回路が提供される。
【００１５】
また、別の一実施形態によれば、複数の組合わせ回路および複数のフリップフロップを持つ論理回路および前記論理回路に対する組込み自己テスト用のテスト制御回路が、前記フリップフロップ毎に前段フリップフロップからのデータを取込むパス経由でテスト用のパターンを前記論理回路内の複数のスキャンチェーンへシフトインし、前記テスト制御回路が、前記複数のフリップフロップのうちの論理パターンを示す組合わせの一部のフリップフロップに対して設定端子により個別に論理値を設定し、前記テスト制御回路が、前記フリップフロップ毎に前記組合せ回路からのデータを取込むパス経由でクロックの供給により前記論理回路を実動作させ、前記テスト制御回路が、前記複数のスキャンチェーンからシフトアウトされたデータおよび予め保持する期待値データにより動作が正常かどうかを確認する半導体集積回路の自己テスト方法が提供される。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態に係る半導体集積回路の回路ブロック図である。
【図２】第１の実施形態に係る半導体集積回路の一本のスキャンチェーンの回路ブロック図である。
【図３】第１の実施形態に係る半導体集積回路に用いられるフリップフロップの構成例を示す複数の図である。
【図４】本実施形態に係る半導体集積回路の具体例を示す回路図である。
【図５】第１の実施形態に係る半導体集積回路のテスト制御回路による自己テスト動作の複数のタイミングチャートである。
【図６】第２の実施形態に係る半導体集積回路の具体例を示す回路図である。
【図７】第２の実施形態に係る半導体集積回路のテスト制御回路による自己テスト動作の複数のタイミングチャートである。
【図８】第３の実施形態に係る半導体集積回路の具体例を示す回路図である。
【図９】第３の実施形態に係る半導体集積回路のテスト制御回路による自己テスト動作のタイミングチャートである。
【図１０】第５の実施形態に係る半導体集積回路の具体例を示す回路図である。
【図１１】第５の実施形態に係る半導体集積回路のテスト制御回路による自己テスト動作のタイミングチャートである。
【発明を実施するための形態】
【００１７】
以下、実施の形態に係る半導体集積回路および半導体集積回路の自己テスト方法について、図１乃至図１１を参照しながら説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１８】
（第１の実施形態）
図１は第１の実施形態に係る半導体集積回路の回路ブロック図である。量産テスト対象のロジックＢＩＳＴの構成が示されている。図２にスキャンチェーンの一部を抜粋して示す。
【００１９】
本実施形態に係る半導体集積回路は論理回路１１を有するＩＣ１０の全体である。
【００２０】
ＩＣ１０は被テストブロックである論理回路１１と、論理回路１１内の複数のスキャンチェーン（シフトチェーン）１２とを備えている。
【００２１】
ＩＣ１０はスキャンチェーン１２へのテストデータのシフトイン、論理回路１１の実動作、データのシフトアウト及び結果出力の蓄積を繰返す。複数回数に亘るシフトイン及びシフトアウトの繰返し後、ＩＣ１０は蓄積データと期待値とを比較し、論理回路１１の故障の有無を判定する。
【００２２】
論理回路１１は複数の組合わせ回路およびそれぞれ２入力系統を持つ複数のＦＦ（フリップフロップ）１４を有する。複数のＦＦの縦続接続によりスキャンチェーン１２が形成されている。
【００２３】
各スキャンチェーン１２は例えばクロック周波数毎にグループ化されて設けられている。
【００２４】
図２は一本のスキャンチェーン１２の回路ブロック図である。既述の符号はそれらと同じ要素を表す。
【００２５】
スキャンチェーン１２はスキャナブルである。元々存在する複数のＦＦ１４と複数の組合わせ回路１３（ｌｏｇｉｃと表記されている）との中に、スキャンチェーン１２が張られる。
【００２６】
各スキャンチェーン１２は複数のＦＦ１４が生成された後、ＦＦ１４の接続関係に応じてソフトウェアツールによって生成される。各組合わせ回路１３は現在の入力のみにより一意な論理値を出力する。
【００２７】
各ＦＦ１４は過去にセットされた状態値を保持する。図３（ａ）はＦＦ１４の構成例を示す図であり、ＦＦ１４は選択器１５を設けている。
【００２８】
ＦＦ１４は、組合せ回路１３を経由する信号の入力端子Ｄと、テスト信号の入力端子ＴＩと、クロック信号用のクロック端子ＣＰとを有する。ＦＦ１４は、切替え制御信号ＳｈｉｆｔＥｎ（シフトイネーブル）が入力される制御端子ＴＥと、ＦＦ１４の状態値の出力端子Ｑとを有する。
【００２９】
選択器１５は図２において組合わせ回路１３からのデータを取込む第１パス（Ｉと表記されている）、又は前段ＦＦ１４からのデータを取込む第２パス（ＩＩと表記されている）をＦＦ１４毎に切替える。第１パスは各入力端子Ｄ（ノーマル）に接続され、第２パスは各入力端子ＴＩ（シフトデータ）に接続されている。
【００３０】
図２、図３（ａ）のようにスキャンチェーン１２は選択器１５の選択により有効にされる第２パスＩＩを有する。第２パスＩＩの有効化によりスキャンチェーン１２はシフトレジスタを構成する。
【００３１】
また、図３（ｂ）及び図３（ｃ）は別の種別のＦＦ１４の構成例を示す複数の図である。同図中既述の符号はそれらと同じ要素を表す。
【００３２】
図３（ａ）のＦＦ１４とは別に、ＩＣ１０は論理回路１１内にそれぞれリセッタブルなＦＦ１４及びプリセッタブルなＦＦ１４を備えている。
【００３３】
図３（ｂ）のリセッタブルＦＦ１４は、ＦＦ１４の状態値を０（Ｌｏｗ）に設定するリセット端子１８（ＣＤ）を有する。図３（ｃ）のプリセッタブルなＦＦ１４は、その値を１（Ｈｉｇｈ）に設定するプリセット端子１９（ＳＤ）を有する。
【００３４】
リセット端子１８及びプリセット端子１９は何れも論理パターンを示す組合わせの一部のＦＦ１４に対して個別に論理値を設定する設定端子である。
【００３５】
例えば３つのプリセット端子１９、リセット端子１８及びプリセット端子１９は、３ビットの論理パターン"１０１"を示す組合わせの３個のＦＦ１４に対して個別に論理値"１"、"０"、"１"を設定する。
【００３６】
以下、リセッタブル／プリセッタブル（リセッタブル又はプリセッタブル）な一部のＦＦ１４をリセッタブル／プリセッタブルＦＦ１４と呼ぶことがある。
【００３７】
リセッタブル／プリセッタブルＦＦ１４の個数は、全てのＦＦ１４の個数と同じかあるいはその個数よりもより少ない。
【００３８】
また、図１においてＩＣ１０は、パターン発生器１６と、テスト制御回路１７とを備える。
【００３９】
パターン発生器１６は複数のスキャンチェーン１２へのテスト用のパターンを発生させる疑似乱数発生器である。パターン発生器１６は例えば擬似ランダムパターン（ｐｓｅｕｄｏｒａｎｄｏｍ ｐａｔｔｅｒｎ）といった乱数パターンを発生させる。
【００４０】
パターン発生器１６は線形フィードバックシフトレジスタ（ＬＦＳＲ［Ｌｉｎｅａｒ Ｆｅｅｄｂａｃｋ Ｓｈｉｔ Ｒｅｇｉｓｔｅｒ］）又はセルオートマトン（ＣＡ［Ｃｅｌｌｕｌａｒ Ａｕｔｏｍａｔｏｎ］）によりテストデータを生成する。
【００４１】
テスト制御回路１７はコントローラであり、パターン発生器１６の駆動、及び選択器１５の切替えを制御する。
【００４２】
テスト制御回路１７は論理回路１１の実動作による各スキャンチェーン１２からの応答結果によって自己テストを実施する。テスト制御回路１７は診断結果により論理回路１１の故障箇所を特定する。
【００４３】
テスト制御回路１７は、自己テスト制御回路２２と、期待値ＲＯＭ（ｒｅａｄ ｏｎｌｙ ｍｅｍｏｒｙ）２４（記憶部）と、ロジックＢＩＳＴ制御回路２３とを備えている。
【００４４】
自己テスト制御回路２２は自己テスト手順を実行する。自己テスト制御回路２２はパワーオンによりＣＰＵ２１から起動される。
【００４５】
期待値ＲＯＭ２４はパターン発生器１６からの乱数パターンの期待値を予め記憶する。
【００４６】
ロジックＢＩＳＴ制御回路２３はスキャンチェーン１２へそれぞれシステムクロック周波数の分周により得られるスキャンクロック周波数を供給する。
【００４７】
ロジックＢＩＳＴ制御回路２３は図３（ａ）のように選択器１５（又はＦＦ１４）へ、パスの切替え信号を通知する。
【００４８】
ロジックＢＩＳＴ制御回路２３は図２のように制御端子ＴＥへのアクティブなＳｈｉｆｔＥｎの入力によって、ＦＦ１４に第２パスＩＩによる入力端子ＴＩ（シフトデータ）経路を選択させる。この入力端子ＴＩはチェーン前段のＦＦ１４のＱ出力に接続される。
【００４９】
ロジックＢＩＳＴ制御回路２３は制御端子ＴＥへの非アクティブなＳｈｉｆｔＥｎの入力によって、ＦＦ１４に第１パスＩによるＤ（ノーマル）経路を選択させる。
【００５０】
ロジックＢＩＳＴ制御回路２３は図３（ｂ）、図３（ｃ）のリセッタブル／プリセッタブルＦＦ１４へはシステムクロックとは非同期の制御信号を入力する。ロジックＢＩＳＴ制御回路２３はリセッタブル／プリセッタブルＦＦ１４を任意タイミングでリセット（値０）又はプリセット（値１）する。
【００５１】
また、図１のロジックＢＩＳＴ制御回路２３は読出し部２５と、比較器２６とを備えている。
【００５２】
読出し部２５はテスト用の乱数パターンの入力に対して複数のスキャンチェーン１２からそれぞれ出力される複数系統のデータ列を読出す。乱数パターンは複数のスキャンチェーン１２の何れかのシフト段数分の符号長を有する。
【００５３】
比較器２６は圧縮部２０による圧縮により得られるデータ列と、期待値ＲＯＭ２４の期待値とを比較する。
【００５４】
更に図１のＩＣ１０は、圧縮器２０と、ＣＰＵ（ｃｅｎｔｒａｌ ｐｒｏｃｅｓｓｉｎｇ ｕｎｉｔ）２１とを備えている。
【００５５】
圧縮器２０は複数のスキャンチェーン１２の出力側に設けられ、圧縮データをテスト制御回路１７へ与える。圧縮器２０はスキャンチェーン１２のチェーン数分の系統のデータ列をそれぞれ圧縮する。
【００５６】
圧縮器２０が設けられる理由は全ての出力を逐一テストする代わりに圧縮によってデータ量を小さくするためである。小さい規模の回路の利用により処理時間の短縮化が行われている。
【００５７】
圧縮器２０はＭＩＳＲ（マルチインプット・シフトレジスタ）である。ＣＰＵ２１は別のＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ ａｃｃｅｓｓ ｍｅｍｏｒｙ）によってテスト制御回路１７へ制御コマンドを入力する。
【００５８】
ＩＣ１０は、信号入力用の端子３４と、ＰＬＬ（ｐｈａｓｅ ｌｏｃｋｅｄ ｌｏｏｐ）などの高速クロック信号の発振器３５とを備える。
【００５９】
本実施形態に係る自己テスト方法は、テスト制御回路１７が乱数パターンを複数のスキャンチェーン１２へシフトインし、リセッタブル／プリセッタブルＦＦ１４に対してリセット端子１８及びプリセット端子１９により個別に０又は１を設定する。
【００６０】
更にその方法は、テスト制御回路１７が論理回路１１を実動作させ、及び複数のスキャンチェーン１２からシフトアウトされたデータおよび期待値ＲＯＭ２４の期待値データにより動作が正常かどうかを確認する。
【００６１】
図４は本実施形態に係る半導体集積回路の具体例を示す回路図である。自己テスト回路１はＩＣ１０（図１）の一部分を表す具体例である。既述の符号はそれらと同じ要素を表す。同図中の＃１〜＃１１は節点又は信号名を表す。＃７、＃８、＃９及び＃１１を出力するＦＦ１４に値を確実にセットするため、ＦＦ１４の前段に＃１〜＃６を出力するＦＦ１４が接続されている。
【００６２】
図５（ａ）から図５（ｋ）は本実施形態に係る半導体集積回路のロジックＢＩＳＴ制御回路２３による自己テスト動作のタイミングチャートである。
【００６３】
図５（ａ）はＦＦ１４のパス切替え用のタイミングチャートである（信号名ＳｈｉｆｔＥｎ）。
【００６４】
図５（ｂ）はクロックを表すタイミングチャートである。クロックはＬＳＩのシステムクロックである。通常シフト時、自己テスト回路１には端子３４から速度の遅いクロックが与えられる。ラウンチ及びキャプチャ時、自己テスト回路１は発振器３５からの高速クロックを使って実動作速度、即ち実周波数で動作する。
【００６５】
図５（ｃ）はリセッタブル／プリセッタブルＦＦ１４への駆動信号の論理を表すタイミングチャートである。
【００６６】
図５（ｄ）から図５（ｋ）は節点＃１から＃１１における複数の電圧値を表すタイミングチャートである。斜線はドントケア（考慮が不要）を表す。
【００６７】
次にこのように構成した自己テスト回路１の作用について図４、図５によって説明する。
【００６８】
図４においてテストは太線の部分の経路をＦＦ１４がキャプチャして＃１１に論理変化が伝わるか、についての故障をロジックＢＩＳＴ制御回路２３に検出させることを目的とする。具体的には、＃９の論理がＨからＬに変化する経路及び＃１０の論理がＬからＨに変化する経路の実動作速度でのキャプチャによって、＃１１の論理がＬからＨへ変化するかどうかがテストされる。
【００６９】
ここでキャプチャとは各ＦＦ１４が入力端子Ｄを介して論理回路１１からの信号値を取込むことである。太線の部分は、＃９を出力するＦＦ１４、バッファ２９、インバータ３０、オアゲート２８、アンドゲート２７、及び＃１１を出力するＦＦ１４からなる。
【００７０】
＃１から＃１１を付した各ＦＦ１４、及び＃１０を出力するアンドゲート２７は、予め設計段階において選択される。スキャンチェーン１２の生成後、ソフトウェアツールが論理回路１１内で＃１から＃１１を付した各ＦＦ１４、及び＃１０を出力するアンドゲート２７を検索する。検索により、各ＦＦ１４及びアンドゲート２７が特定される。設計段階において選択されるべきＦＦ１４の情報の保持、ツールを用いたＦＦ１４等の検索、及び特定の各機能は例えば自己テスト制御回路２２により実行される。
【００７１】
その目的を果たすため、本実施例では図４に示すＲｅｓｅｔ信号を、ＦＦ１４の非同期のＲｅｓｅｔ端子１８又は非同期のＰｒｅｓｅｔ端子１９に接続する。図５のタイミングチャートに示すように、シフト動作完了後から、図５中でマークを付したラウンチクロック（Ｌａｕｎｃｈ Ｃｌｏｃｋ）及びキャプチャクロック（Ｃａｐｔｕｒｅ Ｃｌｏｃｋ）の発生までの間、ロジックＢＩＳＴ制御回路２３はＲｅｓｅｔ信号を有効（ａｓｓｅｒｔ）にし続けている。同図の例では有効とはＬにおいてアクティブである。ラウンチクロック及びキャプチャクロックが発生する時点では、ロジックＢＩＳＴ制御回路２３はＲｅｓｅｔ信号を非アクティブに戻す。
【００７２】
これにより、キャプチャ時に上記所望の論理変化を得ることができる。ロジックＢＩＳＴでの所望の論理パターンの実動作速度でのテストが確実に実施できる。
【００７３】
以下の詳述に先立ってロジック制御手順について述べると、ロジックＢＩＳＴ制御回路２３は概略的には３つの状態を切替えることによって手順を実行する。ロジックＢＩＳＴ制御回路２３は自己テスト回路１の状態を、（１）最初にシフト状態（ＳｈｉｆｔＥｎがハイ）、（２）キャプチャ状態（ＳｈｉｆｔＥｎがロー）及び（３）再度シフト状態（ＳｈｉｆｔＥｎがハイ）に切替える。
【００７４】
（１）最初のシフト状態の間、自己テスト回路１には複数のＦＦ１４による複数のシフトレジスタが形成される。データがシフトレジスタへシフトインされる。各シフトレジスタを構成するＦＦ１４に値がセットされる。
【００７５】
（２）引続きキャプチャ状態の間、複数のＦＦ１４に設定された値が組合わせ回路１３を通過し、複数の組合わせ回路１３からの値が複数の次段ＦＦ１４に取込まれる。
【００７６】
（３）その後、自己テスト回路１はキャプチャ状態からシフト状態へ戻される。
【００７７】
上記の＃９、＃１０及び＃１１の各論理変化のテストの目的のため、（２）のキャプチャ状態の間の波形結果にロジックＢＩＳＴ制御回路２３は着目する。以下、詳述する。
【００７８】
まず図５（ａ）における最初のシフト状態ではロジックＢＩＳＴ制御回路２３は自己テスト回路１へデータをシフトインする。
【００７９】
図５（ｂ）のように、シフトイン中、クロックにより図４中の回路のＦＦ１４の間でデータがシフトされる。
【００８０】
図５（ｃ）のリセット信号により自己テスト回路１の状態はキャプチャ状態に切替えられる。リセット信号によって図５（ｉ）〜図５（ｋ）のように、＃９、＃１０、＃１１はそれぞれ１、０、１になる。
【００８１】
図５（ｂ）のように、ロジックＢＩＳＴ制御回路２３は２つのクロック信号を発生させる。
【００８２】
１つ目のクロックは状態の遷移を起こすためのラウンチクロックを表す。ラウンチクロックにより図５（ｉ）〜図５（ｋ）のように、＃９、＃１０、＃１１を出力するＦＦ１４の内部値はそれぞれ"０"、"１"、"０"へ遷移する。
【００８３】
２つ目のクロックは結果を遷移後決まる結果を取込むためのキャプチャクロックを表す。キャプチャクロックにより図５（ｊ）、図５（ｋ）のように＃１１の結果が次段ＦＦ１４に取込まれる。
【００８４】
引続き図５（ａ）のようにキャプチャ状態からシフト状態へ切替えられる。シフト状態時、複数本のシフトレジスタによってロジックＢＩＳＴ制御回路２３はリセッタブル／プリセッタブルＦＦ１４からデータをスキャンアウトする。
【００８５】
次に図１に戻ってロジックＢＩＳＴ制御回路２３の読出し部２５はデータを取込む。比較器２６はそのデータと、期待値ＲＯＭ２４に保持された期待値とを比較する。任意個数のＦＦ１４の良否が判定される。
【００８６】
また、ロジックＢＩＳＴ制御回路２３は２つのデータ間の真偽の検証によって、回路の故障の有無を検出する。故障とは遅延性の故障である。
【００８７】
故障が発生すると、前段ＦＦ１４のデータがクロックの立上がり又は立下りにおいて次段ＦＦ１４へ到達しない。比較結果によりデータの未到達が検出される。図４の太線部分に故障があるかどうかが判定される。
【００８８】
尚、図４において、Ｌｏｇｉｃと示した部分の論理はドントケアで構わない。各ＦＦ１４の図示しない端子Ｄ、ＴＩの入力についてもドントケアで構わない。また、図５（ｃ）のＲｅｓｅｔ操作は複数回数のうち任意回数目において最低１回だけ実施すれば良い。複数回数に亘ってシフト及びキャプチャのペアを繰返すロジックＢＩＳＴによるテスト動作中、１回のリセットで足りる。
【００８９】
このように一部のＦＦ１４がリセッタブル／プリセッタブルであるため、キャプチャ時において３ビットパターン"１０１"などの所望する論理変化を得ることができる。
【００９０】
自己テスト回路１によれば、データのシフトイン後、太線上の＃９の論理と、＃１０の論理とが実動作速度でキャプチャされる。＃１１の論理変化が確かに伝わったことがテストされる。
【００９１】
従来例による問題点を本実施例のそれと比べる。従来例による半導体集積回路では、Ｒｅｓｅｔ信号が存在しない。本実施例のようにＲｅｓｅｔ信号が有効にされた時点において、従来例による各ＦＦはチェーン長分のビットパターンによる論理が既にセットされている必要がある。シフトデータがランダムであるが故に論理を実現するシフトパターンが確実に得られる保証がない。仮に開発初期段階においてシフトスキャン対象の回路要素が全て生成されていたとしても、開発段階の進展により、スキャンチェーン自体が変更になることがある。あるいはシフトスキャン対象の部分の回路論理が変更されないとしても回路動作は保証されない。パターン発生器１６のビット数を増やした場合であっても、回路動作が保証されるとは限らない。
【００９２】
本実施形態に係る半導体集積回路によれば、非同期のリセッタブル／プリセッタブルＦＦ１４によって、所望する論理パターンの設定が可能となる。従来例によるロジックＢＩＳＴによっては困難な特定パターンの故障検出が容易となる。
【００９３】
特定の一部のＦＦ１４用のテストパターンを、パターン発生器１６は短時間内に発生させることができない。あるいは永遠にパターン発生器１６が出力し続ければその入力パターン列を発生させ得るとは言える。本実施形態に係る半導体集積回路によれば、一部のＦＦ１４に"１"、"０"、"１"といった論理を予めセットしておくことができるため、ＬＳＩ内の特定部分の回路内の論理の正常な変化と、その論理の伝達とをテストできる。ＩＣ１０が被テストブロック内の各ＦＦ１４の入力を強制的にリセットし所定パターンの入力に対してその出力を観察することにより、パターン発生器１６からの入力を待つことなくテストが可能になる。部分回路の出力パターンが正常であるかどうかを判定できるようになる。
【００９４】
更に本実施形態に係る半導体集積回路によれば、観測用のテストポイントの挿入無しでテストを行えるため、遅延故障に対する検出確度を向上させることができる。本実施形態に係る半導体集積回路によれば、テストポイントの挿入が避けられるため、従来例よりも遅延故障検出確度を向上させることができる。
【００９５】
（第２の実施形態）
第１の実施形態においてはリセット信号の数は１であったがその数は複数でもよい。実施例２の回路構成を図６に、タイミングチャートを図７にそれぞれ示す。
【００９６】
図６は第２の実施形態に係る半導体集積回路の具体例を示す回路図である。自己テスト回路２はＩＣ１０（図１）の一部分を表す具体例である。既述の符号はそれらと同じ要素を表す。
【００９７】
＃１を出力するＦＦ１４、＃７を出力するＦＦ１４、＃８を出力するＦＦ１４、＃９を出力するＦＦ１４、＃１１を出力するＦＦ１４が何れもリセッタブル／プリセッタブルな一部のＦＦ１４である。
【００９８】
第２の実施形態は第１の実施形態と、Ｒｅｓｅｔ２がＲｅｓｅｔ１と別に２重にされている点、及び＃２〜＃６を出力する各ＦＦ１４へのＲｅｓｅｔ制御が不要である点で異なる。
【００９９】
リセット又はプリセット用のＲｅｓｅｔ１、２が２つのグループに分配されている。
【０１００】
第１のグループとして、＃１、＃９、＃１１を出力する各ＦＦ１４はそれぞれリセット端子１８、プリセット端子１９、プリセット端子１９を介してテスト制御回路２３からのリセット信号Ｒｅｓｅｔ１を受ける。
【０１０１】
第２のグループとして、＃７、＃８を出力する各ＦＦ１４はそれぞれリセット端子１８、プリセット端子１９を介してリセット信号Ｒｅｓｅｔ２を受ける。
【０１０２】
図６に示される以外については、本実施形態に係る半導体集積回路は第１の実施形態に係る半導体集積回路の構成要素と実質同じ構成要素を有する。それらの重複説明は省略する。
【０１０３】
図７（ａ）から図７（ｌ）は本実施形態に係る半導体集積回路のロジックＢＩＳＴ制御回路２３による自己テスト動作のタイミングチャートである。
【０１０４】
図７（ｃ）は第１のリセット信号Ｒｅｓｅｔ１の論理を表すタイミングチャートである。
【０１０５】
図７（ｄ）は第２のリセット信号Ｒｅｓｅｔ２の論理を表すタイミングチャートである。
【０１０６】
図７（ｅ）から図７（ｌ）は節点＃１から＃１１における複数の電圧を表すタイミングチャートである。斜線はドントケアを表す。
【０１０７】
次にこのようにして構成された自己テスト回路２の作用について図６、図７によって説明する。
【０１０８】
図６において、テストは太線の部分（＃９を出力するＦＦ１４、バッファ２９、インバータ３０、オアゲート２８、アンドゲート２７、及び＃１１を出力するＦＦ１４）の経路をＦＦ１４がキャプチャして＃１１に論理変化が伝わるか、についての故障をロジックＢＩＳＴ制御回路２３に検出させることを目的とする（実施例１と同様）。具体的には＃９の論理がＨからＬに変化する経路、及び＃１０の論理がＬからＨに変化する経路の実動作速度でのキャプチャによって、＃１１の論理がＬからＨへ変化するかどうかがテストされる。
【０１０９】
実施例１との違いは＃７、＃８を出力するＦＦ１４のリセット信号の経路が＃１、＃９を出力するＦＦ１４のリセット信号の経路から分けられている点である。＃２〜＃６を出力するＦＦ１４へのリセット制御が不要な点も実施例１と異なる。＃２〜＃６は図４と同様にドントケアで構わない。
【０１１０】
実施例２では＃７、＃８の論理をキャプチャ期間、一定値に保つことで実施例１同様の論理変化を実動作速度で故障検出することが可能である。
【０１１１】
まず図７（ａ）のように最初のシフト状態では、ロジックＢＩＳＴ制御回路２３は自己テスト回路２へデータをシフトインする。
【０１１２】
図７（ｃ）、図７（ｄ）のように、ロジックＢＩＳＴ制御回路２３はＲｅｓｅｔ１、Ｒｅｓｅｔ２を２つのフリップフロップグループへ入力する。
【０１１３】
図７（ｈ）、図７（ｉ）のように、＃７、＃８を出力するＦＦ１４はＲｅｓｅｔ１によりそれぞれプリセット、リセットされる。
【０１１４】
図７（ｅ）、図７（ｊ）のように、＃１、＃９を出力するＦＦ１４はＲｅｓｅｔ２によりそれぞれリセット、プリセットされる。
【０１１５】
ロジックＢＩＳＴ制御回路２３は図７（ｈ）、図７（ｉ）のように＃７、＃８に一定の論理値をキャプチャ期間が終わるまで保持させる。ラウンチクロック及びキャプチャクロックの発生までの間、ロジックＢＩＳＴ制御回路２３は図７（ｄ）のようにＲｅｓｅｔ２を有効にし続ける。
【０１１６】
ラウンチクロックにより＃９、＃１０、＃１１はそれぞれ０、１、０に変化する。キャプチャクロックにより＃１１の結果が取込まれる（図７（ｊ）、図７（ｋ）、図７（ｌ）参照）。
【０１１７】
＃１１を出力するＦＦ１４からのデータのスキャンアウト後、キャプチャされたデータ及び期待値データ間が比較される。
【０１１８】
以上のように自己テスト回路２は第１の実施形態同様に論理変化を実動作速度で故障検出することが可能である。
【０１１９】
本実施形態に係る半導体集積回路によれば、プリセッタブル／リセッタブルＦＦ１４の数を最小限にすることができる。
【０１２０】
（第３の実施形態）
上記実施形態では、リセット端子１８、プリセット端子１９がＦＦ１４をクロックに非同期でリセット、プリセットしていた。第３の実施形態に係る半導体集積回路は、ＦＦ１４の入力経路に設けられた他の論理回路によりクロックに同期してリセット、プリセットしてもよい。
【０１２１】
実施例３の回路構成を図８に、タイミングチャートを図９にそれぞれ示す。
【０１２２】
図８は第３の実施形態に係る半導体集積回路の具体例を示す回路図である。自己テスト回路３はＩＣ１０（図１）の一部分を表す具体例である。既述の符号はそれらと同じ要素を表す。
【０１２３】
＃１〜＃４、＃８を出力するＦＦ１４のシフトデータの入力端子ＴＩ（入力経路）にはアンドゲート２７（他の論理回路）が接続されている。
【０１２４】
＃５、＃６、＃７、＃９、＃１１を出力するＦＦ１４のシフトデータの入力端子ＴＩ（入力経路）には、ゲート回路３１（他の論理回路）が接続されている。
【０１２５】
アンドゲート２７及びゲート回路３１は＃１〜＃１１を出力する一部のＦＦ１４の入力端子ＴＩ上に設けられている。アンドゲート２７及びゲート回路３１は何れもシステムクロックに同期して各ＦＦ１４に対して個別に論理値を設定する設定端子である。
【０１２６】
ロジックＢＩＳＴ制御回路２３はスキャンチェーン１２による乱数パターンのシフトイン動作の最終段階において、アンドゲート２７及びゲート回路３１に値をセットする。
【０１２７】
図８に示される以外については、本実施形態に係る半導体集積回路は第１の実施形態に係る半導体集積回路の構成要素と実質同じ構成要素を有する。それらの重複説明は省略する。
【０１２８】
図９（ａ）から図９（ｋ）は本実施形態に係る半導体集積回路のロジックＢＩＳＴ制御回路２３による自己テスト動作のタイミングチャートである。
【０１２９】
図９（ａ）から図９（ｃ）は図５（ａ）から図５（ｃ）の例と同じである。図９（ｄ）から図９（ｋ）は節点＃１から＃１１における複数の電圧を表すタイミングチャートである。斜線はドントケアを表す。
【０１３０】
上述のように構成された自己テスト回路３の作用について図８、図９によって述べる。
【０１３１】
図８において、テストは、太線の部分（＃９を出力するＦＦ１４、バッファ２９、インバータ３０、オアゲート２８、アンドゲート２７、及び＃１１を出力するＦＦ１４）の経路をＦＦ１４がキャプチャして＃１１に論理変化が伝わるか、についての故障をロジックＢＩＳＴ制御回路２３に検出させることを目的とする（第１の実施形態、第２の実施形態と同様）。＃９の論理がＨからＬに変化する経路、及び＃１０の論理がＬからＨに変化する経路の実動作速度でのキャプチャによって、＃１１の論理がＬからＨへ変化するかどうかがテストされる。
【０１３２】
実施例１、２との違いは、ＦＦ１４が非同期リセット／プリセット型ではなく、ＴＩ（シフトデータ入力）経路に組合わせ論理回路が追加されている点である。論理回路の各ＦＦ１４への接続によってリセット／プリセット信号がＦＦ１４へ入力されている。すなわち、同期型のＦＦ１４に変更されている点で実施例２は実施例１と異なる。同期とはＦＦ１４をリセット／プリセットさせるタイミングがクロックに同期していることである。
【０１３３】
図９（ｂ）に示すようにＲｅｓｅｔ信号はシフトサイクル（シフト状態の期間）の最終クロックの立上り時にアクティブ（Ｌ）となるよう制御されている。これにより、実施例１と同様に、ラウンチクロック、キャプチャクロックの開始前に、＃１〜＃１１を出力する全てのＦＦ１４に所望の論理をセットすることが実現できる。
【０１３４】
これにより、キャプチャ時点において、上記３ビットパターン"１"、"０"、"１"などの所望の論理変化を得ることができる。ロジックＢＩＳＴによる３ビットパターンなどの論理パターンの実動作速度でのテストを確実に実施できる。
【０１３５】
以下、詳述する。まず図９（ａ）のように、最初のシフト状態（ＳｈｉｆｔＥＮハイ）において各ＦＦ１４は入力端子ＴＩからデータが取込まれる。
【０１３６】
図９（ｃ）のように、ロジックＢＩＳＴ制御回路２３はＲｅｓｅｔ信号を有効（Ｌ）にする。
【０１３７】
Ｒｅｓｅｔ信号が有効（Ｌ）の時に、図９（ｂ）のクロックの立上がりエッジが各ＦＦへ加えられる。
【０１３８】
図９（ｄ）〜図９（ｋ）のように、＃１から＃１１を出力する各ＦＦ１４のＴＩ（シフト）への入力経路がリセット又はプリセットされる。シフトデータ入力経路に設けられた他の論理回路によって＃５、＃６、＃７、＃９、＃１１には"１"がセットされる。
【０１３９】
つまりシフトサイクルの最終クロック入力時、シフト終了段階において自己テスト回路３は他の論理回路（アンドゲート２７及びゲート回路３１）に固定値を強制的にセットする。
【０１４０】
引続き図９（ａ）でシフト状態からキャプチャ状態（ＳｈｉｆｔＥｎがロー）に切替えられる。
【０１４１】
図９（ｉ）、図９（ｊ）、図９（ｋ）のように、キャプチャ状態においてラウンチクロックにより＃９、＃１０、＃１１を出力するＦＦ１４はそれぞれ０、１、０に変化する。続くキャプチャクロックにより＃１１の結果が取込まれる。＃１１を出力するプリセッタブルＦＦ１４からのデータのスキャンアウト後、比較が行われる。
【０１４２】
実施例１、２と本実施例との違いは、ＦＦ１４を非同期リセット／プリセット型にしなくても済む。その反面、ＴＩ経路にアンドなどの論理回路を本実施例は必要となる。仮にロジックＢＩＳＴによる故障検出率を向上させるためのテストポイントの挿入は、ノーマル経路のＦＦ１４のＤ入力端子に対して行われる。その場合、Ｄ端子へテストポイントを挿入するため、ノーマル動作のタイミングがより厳しくなる。更にノーマル経路上での強制的な論理の設定により、実動作速度テストができないと言う欠点が存在する。
【０１４３】
本実施例ではＴＩ経路に対してテストポイントを挿入することと等価である。アンドゲート２７等の挿入がノーマル経路を阻害することがない。通常シフト時、アンドゲート２７等がスルーされ、通常時と同様に回路が動作する。前段ＦＦ１４のＱ出力が後段ＦＦ１４の入力端子ＴＩへ直接伝わる。自己テスト回路３によれば、余裕があるタイミングマージンを確保でき、タイミング懸念が少ないため、有用である。
【０１４４】
本実施形態に係る半導体集積回路によれば、シフトの最終段階で固定値を設定するため、所定パターンによる故障を容易に検出することが可能であり、遅延故障に対する検出確度を向上させることができる。
【０１４５】
加えて更にタイミングチャート（図９）は、第１の実施形態によるタイミングチャート（図５）と異なり、ＦＦ１４に値を強制的にセットするタイミングが異なる。
【０１４６】
図５（前者）はシフト完了からキャプチャ動作の前の時点が値の強制セットのタイミングである。図９（後者）はラストシフト時がそのタイミングである。
【０１４７】
図４、図８の間で比較すると、双方は既存回路に対する値の挿入方法が異なる。図４（前者）はＦＦ１４の非同期Ｒｅｓｅｔ又はＰｒｅｓｅｔ経路に値が挿入される。自己テスト回路３（図８）はＴＩ（シフトデータ）入力経路に値が挿入される。本実施形態に係る半導体集積回路によれば、回路規模の面において図４の例よりも優れる。
【０１４８】
（第４の実施形態）
第１から第３の実施形態に係る各半導体集積回路は、半導体集積回路自身を利用して自己故障診断機能が正常に動作するかどうかを確認してもよい。
【０１４９】
実施例４は図１の自己テストにロジックＢＩＳＴを用いた場合の実施例であり、特に図示しない。
【０１５０】
通常の自己テストではロジックＢＩＳＴにより所定回数のシフト、キャプチャ動作を繰返した時点でロジックＢＩＳＴ制御回路２３は圧縮器２０に圧縮されたデータを期待値と比較することで故障を診断する。
【０１５１】
しかしながら、例えばこの比較器２６（比較器２６はロジックＢＩＳＴ対象外にせざるを得ない）が故障する場合が存在する。故障による比較器２６が常にコンペアＯＫを出力するようになっている場合も想定される。故障とは入力の変化に対して出力値が固定される縮退故障を言う。この故障を検出することも重要である。
【０１５２】
本実施例による半導体集積回路は所定の比較動作の実施後、同じ故障診断を更に実施する。半導体集積回路はこの際、診断途中の所定箇所において、実施例１〜３に示すリセット信号を有効（ａｓｓｅｒｔ）にし、あえて故障を加える。半導体集積回路はコンペア結果、ＮＧ判定するかどうかをテストする。
【０１５３】
第４の実施形態に係る半導体集積回路は、第１、第２、第３の各実施形態に係る半導体集積回路の構成要素と実質同じ構成要素を有する。それらの重複説明は省略する。
【０１５４】
上述の構成を有する本実施形態に係る半導体集積回路はテスト対象外の要素として比較器２６の故障を検出する。半導体集積回路は、比較器２６による比較の後、図４の例と同じ故障診断を繰返す間に意図的に故障を発生させる。
【０１５５】
シフト及びキャプチャの繰返しの途中、半導体集積回路は、Ｒｅｓｅｔ信号（図５、図７又は図９）を有効にすることにより、あえて故障データを圧縮器２０へ出力する。圧縮器２０には故障データが正常データに混入する。比較器２６によってコンペア結果がＮＧと判定されるかどうかがテストされる。
【０１５６】
従来例による半導体集積回路は、このような故障データを混入させることを、専用回路により、あるいはシフト回数を変更するなどの方法により実行している。
【０１５７】
前者（専用回路を設置すること）は、その専用回路自身が故障している可能性がある。本実施形態による半導体集積回路によれば、Ｒｅｓｅｔ信号により一度所望の動作をさせ、及びＯＫの判定後に同じＲｅｓｅｔ信号を操る。信頼性が高い点で有利である。
【０１５８】
また、後者（シフト回数を変更すること）は、故障データが混入する箇所が多岐に渡り、混入の機会が増大する。微小な故障が隠れてしまう危険性が生じる。本実施形態による半導体集積回路によれば、故障データの混入箇所が微小範囲に限定されるため、信頼性が高い。
【０１５９】
本実施例では、読出し部２５、ロジックＢＩＳＴ制御回路２３及び自己テスト制御回路２２等、比較器２６と異なる要素に意図的に故障データを発生させて自己テストを行ってもよい。
【０１６０】
本実施形態に係る半導体集積回路によれば、自己テスト時において、テスト制御回路１７といった組込み自己テスト回路自体が故障していないかどうかを容易にチェックすることが可能になる。
【０１６１】
（第５の実施形態）
上記実施形態では、リセット端子１８、プリセット端子１９、アンドゲート２７又はゲート回路３１付きのＦＦ１４をスキャンチェーン１２から外してもよい。
【０１６２】
実施例５の回路構成を図１０に、タイミングチャートを図１１にそれぞれ示す。
【０１６３】
図１０は第５の実施形態に係る半導体集積回路の具体例を示す回路図である。既述の符号はそれらと同じ要素を表す。自己テスト回路３２はＩＣ１０（図１）の一部分を表す。
【０１６４】
自己テスト回路３２は各ＴＩ入力経路に前段ＦＦ１４のＱ出力が直接シフト入力されることをバイパスする。
【０１６５】
図１０において＃３、＃４、＃６を出力するＦＦ１４はリセット端子１８、プリセット端子１９を備えている。各ＦＦ１４は第１の実施形態及び第２の実施形態で説明の非同期のリセッタブル／プリセッタブルな一部のＦＦ１４である。
【０１６６】
＃５、＃７を出力する各ＦＦ１４のＴＩ入力経路上に、それぞれマルチプレクサ３３（バイパス部）が設けられている。
【０１６７】
同図中央の第１のマルチプレクサ３３は、＃３、＃４を出力する各ＦＦ１４（一部のフリップフロップ）から、＃５を出力するＦＦ１４（一部のフリップフロップと異なるフリップフロップ）へのシフトパスをバイパスさせる。
【０１６８】
第１のマルチプレクサ３３は、＃４を出力するＦＦ１４と、＃４の手前の＃２を出力するＦＦ１４との一方からのデータを＃５へ接続入力する。
【０１６９】
同様に、第２のマルチプレクサ３３は、＃６を出力するＦＦ１４（一部のフリップフロップ）から、＃７を出力するＦＦ１４（一部のフリップフロップと異なるフリップフロップ）へのシフトパスをバイパスさせる。
【０１７０】
第２のマルチプレクサ３３は、＃６を出力するＦＦ１４と、＃６の前段の＃５を出力するＦＦ１４との一方からのデータを＃７へ接続入力する。
【０１７１】
各マルチプレクサ３３は、第１の入力端子Ａ０、第２の入力端子Ａ１、バイパス／非バイパスを切替えるバイパス信号用の端子Ｓ及び出力端子Ｚを有する。
【０１７２】
第１のマルチプレクサ３３によるシフト経路の変更は、＃３を出力するプリセッタブルＦＦ１４と、＃４を出力するリセッタブルＦＦ１４との２つをバイパスする。
【０１７３】
第２のマルチプレクサ３３によるシフト経路の変更は、＃６を出力するプリセッタブルＦＦ１４をバイパスする。
【０１７４】
ロジックＢＩＳＴ制御回路２３はマルチプレクサ３３によるシフトパスのバイパス又は非バイパスを制御する。ロジックＢＩＳＴ制御回路２３は乱数パターンのシフトイン中、マルチプレクサ３３にシフトパスをバイパス側へ切替えさせる。
【０１７５】
ロジックＢＩＳＴ制御回路２３はバイパス信号の論理とＲｅｓｅｔ信号の論理とを常に互いに逆にしてもよい。ロジックＢＩＳＴ制御回路２３はバイパス信号とＲｅｓｅｔ信号とを互いに同期させて切替えてもよい。
【０１７６】
各マルチプレクサ３３のバイパス信号用の端子ＳへはロジックＢＩＳＴ制御回路２３からのバイパス信号が入力される。
【０１７７】
バイパス信号とＲｅｓｅｔ信号とが常に互いの逆論理であるように設定し、バイパス信号の代わりにＲｅｓｅｔ信号の反転論理により各マルチプレクサ３３はバイパス経路を選択しても良い。
【０１７８】
図１０に示される以外については、自己テスト回路３２は第１、第２、第３の各実施形態に係る半導体集積回路の構成要素と実質同じ構成要素を有する。それらの重複説明は省略する。
【０１７９】
図１１（ａ）から図１１（ｋ）は本実施形態に係る半導体集積回路のロジックＢＩＳＴ制御回路２３による自己テスト動作のタイミングチャートである。
【０１８０】
図１１（ａ）、図１１（ｂ）は図５（ａ）、図５（ｂ）の例と同じである。
【０１８１】
図１１（ｃ）はリセッタブル／プリセッタブルＦＦ１４への信号の論理を表すタイミングチャートである。図１１（ｄ）はバイパス制御信号の論理を表すタイミングチャートである。
【０１８２】
図１１（ｅ）から図１１（ｋ）は節点＃１から＃７における複数の電圧を表すタイミングチャートである。斜線はドントケアを表す。
【０１８３】
次にこのように構成した自己テスト回路３２の作用について図１０、図１１によって説明する。
【０１８４】
図１０において＃３、＃４、＃６を出力する各ＦＦ１４は実施例１、２で適用した非同期プリセッタブルＦＦ１４である。本実施例の特徴的な構成は＃５、＃７を出力する各ＦＦ１４のＴＩ入力経路にマルチプレクサ３３を搭載している点である。マルチプレクサ３３は通常のシフト経路ではなく、その手前のＦＦ１４からのシフト経路にシフト経路を切替え可能である。マルチプレクサ３３によりプリセッタブルＦＦ１４をバイパスするようにシフト経路が変更可能である。マルチプレクサ３３はロジックＢＩＳＴ制御回路２３からのバイパス信号（リセット信号の反転論理でも良い）によりバイパス経路を選択する。
【０１８５】
以下、詳述する。図１１（ａ）のように、２度のシフト状態の期間のうちの早いほうのシフト期間では自己テスト回路３２の状態は非バイパスである。図１０の＃３、＃４、＃６を出力する各ＦＦ１４はバイパスされない。各ＦＦ１４はシフトレジスタによりシフトインされたデータを送る。遅いほうのシフト期間において自己テスト回路３２はバイパスの実施により＃３、＃４、＃６を出力する各ＦＦ１４はバイパスされる。リセット信号がアクティブにされる。＃２、＃５、＃７を出力する各ＦＦ１４が接続される。
【０１８６】
図１１（ｅ）から図１１（ｋ）に示すように、あるシフト期間でリセットとバイパスとがアクティブにされる。ここで破線で囲まれるＡ、ＢのうちのＡは非バイパス時におけるデータの局所的な変化部分を示す。Ｂはバイパス時のデータの局所的な変化部分を示す。自己テスト回路３２を走らせることで、Ｂにおけるトグル率はＡにおけるトグル率よりも低いという結果が得られた。
【０１８７】
トグル率とは一節点においてクロック信号の個数に対するトグル回数の割合である。例えば節点＃４において、個数５に対するトグル回数５はトグル率１００％に等しい。トグル回数とは節点の電圧レベルがＨからＬへあるいはＬからＨへ変化する回数である。
【０１８８】
Ｂのシフト期間ではより少ないトグル回数により、より低い電力が消費される。＃３、＃４、＃６を出力する各ＦＦ１４はリセット／プリセットが入れ放されたままであり、データ変化は起きない。リセッタブル／プリセッタブルＦＦ１４と異なる他のＦＦ１４だけがスキャンシフトを実行し、テストが行われる。
【０１８９】
自己テスト回路３２によれば、シフト期間Ｂでは、トグル率が抑えられ、シフト期間中の電力消費を低減できる点で効果がある。
【０１９０】
従来例による半導体集積回路は、低消費電流対策としてシフトインするデータそのものをマスクする。このマスク方法では、全てのＦＦ１４の値が部分的に固定される。ＦＦ１４の活性化率が局所的にダウンする。固定値及び活性化率のダウンは故障検出率を上げづらいという欠点があった。
【０１９１】
仮に自己テスト回路３２がバイパス経路を設けずに、Ｒｅｓｅｔ信号だけをシフト期間中にアクティブにしたとする。その場合、次段に接続される非プリセッタブルＦＦ１４の固定値が次段のＦＦ１４へ伝搬してしまう。
【０１９２】
バイパス経路無し及びＲｅｓｅｔ信号だけを使う例は、故障検出率を上げることができない。更にキャプチャされたデータがシフトアウトされない。その例による故障検出率は更に低下する。
【０１９３】
本実施形態に係る半導体集積回路によれば、非プリセッタブルＦＦ１４へのシフト動作は確保され、データのシフトアウトも可能である。故障検出率の低下を最小限に抑えつつ消費電流削減が可能となる。
【０１９４】
マルチプレクサ３３を設けるとともにシフト動作中の任意のタイミングでマルチプレクサ３３をバイパス経路側に制御することによって、故障検出率の低下を防ぎつつシフト動作時の動作電流を削減できる。検出率低下を最小限に抑えつつロジックＢＩＳＴ稼働時の動作電流を低減することができる。
【０１９５】
また、図１０の例ではバイパス部としてマルチプレクサ３３の代わりに切替え機能を有する素子又は回路が用いられてもよい。
【０１９６】
尚図１０の＃３、＃４、＃６を出力する各ＦＦ１４は第３の実施形態で説明された同期型のプリセッタブルＦＦ１４であってもよい。マルチプレクサ３３を設けることは、アンドゲート２７及びゲート回路３１が各ＦＦ１４の入力経路に設けられた図８の例に対しても同様に適用可能である。
【０１９７】
尚、上記の実施形態は実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【０１９８】
論理パターンを構成する複数のＦＦ１４の個数の設定は、自己テスト制御回路２２及びロジックＢＩＳＴ制御回路２３のうちの何れかによる。
【０１９９】
図３（ａ）では各選択器１５がＦＦ１４内に設けられていたが、各選択器１５はＦＦ１４の外に設けられてもよい。
【０２００】
各図及び各タイミングチャート中の論理の定義の仕方は種々変更可能である。例えばＳｈｉｆｔＥｎのアクティブ、非アクティブはＬ、Ｈであったが、逆でもよい。データ遷移及びデータ取込みのタイミングはクロック信号の立上りエッジ及び立下りエッジの何れでもよいことは言うまでもない。
【０２０１】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０２０２】
１，２，３，３２…自己テスト回路、１０…ＩＣ（半導体集積回路）、１１…論理回路、１２…スキャンチェーン、１３…組合わせ回路、１４…フリップフロップ（ＦＦ）、１５…選択器、１６…パターン発生器、１７…テスト制御回路、１８…リセット端子（設定端子）、１９…プリセット端子（設定端子）、２０…圧縮器、２１…ＣＰＵ、２２…自己テスト制御回路、２３…ロジックＢＩＳＴ制御回路、２４…期待値ＲＯＭ（記憶部）、２５…読出し部、２６…比較器、２７…アンドゲート（他の論理回路）、２８…オアゲート、２９…バッファ、３０…インバータ、３１…ゲート回路（他の論理回路）、３３…マルチプレクサ（バイパス部）、３４…端子、３５…発振器。
【図１】
2014185981.tif 000003
【図２】
2014185981.tif 000004
【図３】
2014185981.tif 000005
【図４】
2014185981.tif 000006
【図５】
2014185981.tif 000007
【図６】
2014185981.tif 000008
【図７】
2014185981.tif 000009
【図８】
2014185981.tif 000010
【図９】
2014185981.tif 000011
【図１０】
2014185981.tif 000012
【図１１】
2014185981.tif 000013