(57)【要約】【課題】端子数を削減する。また、誤動作を防止する。【解決手段】半導体集積回路１は、バウンダリスキャン機能を備えている。この半導体集積回路１は、ＴＡＰコントローラ２ａ、２ｂと、信号入力受け付け部３と、選択信号生成部４とを有している。信号入力受け付け部３は、ＴＡＰコントローラ２ａ、２ｂに供給するテスト信号を備えるＴＤＩ信号およびＴＡＰコントローラ２ａ、２ｂをそれぞれ初期化するＴＲＳＴ信号を受け付ける。選択信号生成部４は、ＴＲＳＴ信号によってＴＡＰコントローラ２ａ、２ｂが初期化されるときのＴＤＩ信号に応じて半導体集積回路１の機能を決定する選択信号を生成する。【選択図】図１
2009115563.tif 000002
【特許請求の範囲】
【請求項１】
バウンダリスキャン機能を備える半導体集積回路において、
複数のＴＡＰコントローラと、
前記ＴＡＰコントローラに供給するテスト信号を備えるＴＤＩ信号および前記ＴＡＰコントローラを初期化するＴＲＳＴ信号を受け付ける信号入力受け付け部と、
前記ＴＲＳＴ信号によって前記ＴＡＰコントローラが初期化されるときの前記ＴＤＩ信号に応じて当該半導体集積回路の機能を決定する選択信号を生成する選択信号生成部と、
を有することを特徴とする半導体集積回路。
【請求項２】
前記選択信号生成部は、前記ＴＡＰコントローラが初期化されるときの前記ＴＤＩ信号に含まれるシリアルコードに基づいて、前記選択信号を生成することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記選択信号生成部は、前記シリアルコードをパラレルデータに変換する回路と、変換された前記パラレルデータをデコードするデコーダとを備え、前記デコーダによってデコードされた各ビット値に応じて前記選択信号を生成することを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記選択信号生成部は、前記シリアルコードが、予め定められたシリアルコード以外のときは、通常モードを選択する前記選択信号を生成することを特徴とする請求項２記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路に関し、特に、バウンダリスキャン機能を備える半導体集積回路に関する。
【背景技術】
【０００２】
製造された半導体集積回路（例えばＬＳＩ（Large Scale Integration）等）の出荷試験等に用いるための検査方式の規格であるＪＴＡＧが知られている。
ＪＴＡＧによる半導体集積回路の検査方式の１つとして、半導体集積回路内部にプローブテストと同様の挙動を行う「バウンダリスキャンボード」（または「ＪＴＡＧボード」）と呼ばれる端子およびレジスタを配設し、半導体集積回路外部からテストコードを入力し、そのコードに対する半導体集積回路の挙動を検査する方式が知られている。
【０００３】
図５は、背景技術の半導体集積回路を示す回路図である。
半導体集積回路８０のテストを行う際には、外部端子であるＪＴＡＧ専用端子（ＴＣＫ入力端子８１、ＴＭＳ入力端子８２、ＴＤＩ入力端子８３、ＴＲＳＴ入力端子８４、ＴＤＯ出力端子８５）をＴＡＰ（Test Access Port）コントローラ８６、８７に接続し、これら各端子からバッファを介して入力されるテスト信号（ＴＣＫ（Test Clock），ＴＤＩ（Test Data In），ＴＭＳ（Test Mode Select），ＴＲＳＴ（Test Reset））およびＴＡＰコントローラ８６、８７それぞれから出力されるテスト信号（ＴＤＯ，ｎＴＤＯＥＮ）によって、テストを行う。
【０００４】
図５に示すように、半導体集積回路８０内にＴＡＰコントローラ８６、８７（複数のＴＡＰコントローラ）が内蔵されている場合、信号を送るＴＡＰコントローラを選択するために、ＪＴＡＧマルチプレクサ８８が設けられている。
【０００５】
このＪＴＡＧマルチプレクサ８８には、テストを行うＴＡＰコントローラ８６またはＴＡＰコントローラ８７を選択するためのＪＴＡＧ方路選択信号（ＪＴＡＧＳＥＬ）入力端子８９を設けてＪＴＡＧ方路選択信号を入力している。
【０００６】
図６は、背景技術の他の半導体集積回路を示す回路図である。
ＩＣ９０は、計時手段（タイマ）９１と、計時手段９１の出力に従って動作条件を保持し、動作条件の設定を指示する指示手段９２とを設けて、任意のタイミングでトリガ信号を送っている。そのタイミングのタイマ値によって、ＪＴＡＧ方路選択信号のような専用のテスト信号を使用しなくても、様々な動作条件を設定できるようにしている（例えば、特許文献１参照）。
【特許文献１】特開２０００−３４６９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
検査時以外には使用しない端子や回路等はなるべく少なく（小さく）するのが好ましい。
しかしながら、図５に示す回路では、ＪＴＡＧ方路選択信号用の専用端子を用意する必要がある。ＪＴＡＧ方路選択信号は、ＴＡＰコントローラ使用時以外は不必要な信号であるため、ＪＴＡＧ方路選択信号入力端子８９は、小さいパッケージのＬＳＩを設計するとき等、端子数の削減を迫られた場合においては、無駄な外部端子となる。
【０００８】
また、特許文献１は、設定したタイマ値になったときに、そのときのタイマ値が有効であることを示すトリガ信号（タイマ値を取り込むための信号）を外部端子から取り入れる必要があるため、その分の外部端子が増加するという問題がある。
【０００９】
また、トリガ信号に、外部ボードに起因するノイズが入った場合、そのパルス信号がトリガと検知され、誤動作につながる恐れがある。
本発明はこのような点に鑑みてなされたものであり、端子数を削減することができる半導体集積回路を提供することを目的とする。
【００１０】
また、他の目的として、誤動作を防止することができる半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、バウンダリスキャン機能を備える半導体集積回路が提供される。この半導体集積回路は、複数のＴＡＰコントローラと、ＴＡＰコントローラに供給するテスト信号を備えるＴＤＩ信号およびＴＡＰコントローラを初期化するＴＲＳＴ信号を受け付ける信号入力受け付け部と、ＴＲＳＴ信号によってＴＡＰコントローラが初期化されるときのＴＤＩ信号に応じて当該半導体集積回路の機能を決定する選択信号を生成する選択信号生成部と、を有する。
【００１２】
このような半導体集積回路によれば、信号入力受け付け部により、ＴＤＩ信号およびＴＲＳＴ信号が受け付けられると、選択信号生成部により、ＴＲＳＴ信号によってＴＡＰコントローラが初期化されるときのＴＤＩ信号に応じて選択信号が生成される。
【発明の効果】
【００１３】
本発明によれば、端子数を削減することができる。また、誤動作を防止することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図１は、本発明の概要を示す図である。
【００１５】
半導体集積回路１は、バウンダリスキャン機能を備えている。
この半導体集積回路１は、制御を行う範囲や対象が異なるＴＡＰコントローラ２ａ、２ｂと、信号入力受け付け部３と、選択信号生成部４とを有している。
【００１６】
信号入力受け付け部３は、ＴＡＰコントローラ２ａ、２ｂに供給するテスト信号を備えるＴＤＩ信号およびＴＡＰコントローラ２ａ、２ｂをそれぞれ初期化するＴＲＳＴ信号を受け付ける。
【００１７】
選択信号生成部４は、ＴＲＳＴ信号によってＴＡＰコントローラ２ａ、２ｂが初期化されるときのＴＤＩ信号に応じて半導体集積回路１の機能を決定する選択信号を生成する。選択信号は、例えば、使用するＴＡＰコントローラを選択する信号である。図１では図示していないが、選択信号は、ＴＡＰコントローラ２ａ、２ｂ以外の素子にも供給される場合がある。
【００１８】
このような半導体集積回路１によれば、信号入力受け付け部３により、ＴＤＩ信号およびＴＲＳＴ信号が受け付けられる。そして、選択信号生成部４により、ＴＲＳＴ信号によってＴＡＰコントローラ２ａ、２ｂが初期化されるときのＴＤＩ信号に応じて動作モードを選択する信号が生成される。
【００１９】
以下、本発明の実施の形態を説明する。
図２は、実施の形態の半導体集積回路の構成を示すブロック図である。
図２に示す半導体集積回路１０は、インタフェース部１１と、セレクト信号生成回路１２と、ＪＴＡＧマルチプレクサ１３と、ＴＡＰコントローラ１４、１５と、ユーザロジック１６と、テストセル１７と、出力端子１８とを有している。
【００２０】
半導体集積回路１０は、ステートマシンを備えるＴＡＰコントローラ１４、１５を用いて半導体集積回路１０内のバウンダリスキャンテスト等を行うテストモードと、テストモード以外のモード（以下、通常モードと言う）とを切り替える機能を有している。
【００２１】
インタフェース部１１は、テストモード時のテストロジックを入力する入力端子として、信号ＴＣＫが入力されるＴＣＫ入力端子１１ａと、信号ＴＭＳが入力されるＴＭＳ入力端子１１ｂと、信号ＴＤＩが入力されるＴＤＩ入力端子１１ｃと、信号ＴＲＳＴが入力されるＴＲＳＴ入力端子１１ｄとを有している。また、テスト結果を出力する出力端子として、信号ＴＤＯ（Test Data Out）を出力するＴＤＯ出力端子１１ｅを有している。
【００２２】
信号ＴＣＫは、ＴＡＰコントローラ１４およびＴＡＰコントローラ１５が備えるステートマシンの動作を同期させるクロック信号である。
信号ＴＭＳは、ＴＡＰコントローラ１４およびＴＡＰコントローラ１５が備えるステートマシンの次の状態を規定するために、信号ＴＣＫの立ち上がりで読み込まれる。
【００２３】
信号ＴＤＩは、半導体集積回路１０のバウンダリスキャンセル、または、プログラミングロジックにシフトインさせる信号である。ＴＡＰコントローラ１４およびＴＡＰコントローラ１５が備えるステートマシンが正しいステートに設定されていれば、ＴＣＫの立ち上がりで読み込まれる。
【００２４】
信号ＴＤＯは、半導体集積回路１０のバウンダリスキャンセルまたはプログラミングロジックからシフトアウトしてくる信号である。ＴＡＰコントローラ１４およびＴＡＰコントローラ１５が備えるステートマシンが正しいステートに設定されていれば、信号ＴＣＫの立ち下がりで読み出される。
【００２５】
信号ＴＲＳＴは、Ｌｏｗアクティブな信号であり、立ち下がりでＴＡＰコントローラ１４およびＴＡＰコントローラ１５が備えるステートマシンを初期化（リセット）する。
セレクト信号生成回路１２は、ＴＣＫ入力端子１１ａ、ＴＤＩ入力端子１１ｃおよびＴＲＳＴ入力端子１１ｄからそれぞれ入力された信号ＴＣＫ、信号ＴＤＩおよび信号ＴＲＳＴに基づいて、ＪＴＡＧマルチプレクサ１３およびテストセル１７の機能を選択する信号（セレクト信号）を生成し、ＪＴＡＧマルチプレクサ１３およびテストセル１７に出力する。
【００２６】
このセレクト信号は、テストモード選択信号、テスト対象モジュール選択信号、ＴＡＰコントローラ使用モード選択信号、ＴＡＰコントローラ選択信号および通常モード選択信号で構成される。各信号の機能については、後述する。
【００２７】
セレクト信号生成回路１２は、ＪＴＡＧマルチプレクサ１３に、ＴＡＰコントローラ１４およびＴＡＰコントローラ１５の使用モードを選択するＴＡＰコントローラ使用モード選択信号と、ＴＡＰコントローラ１４およびＴＡＰコントローラ１５のどちらを使用するかを選択するＴＡＰコントローラ選択信号とを出力する。
【００２８】
ＪＴＡＧマルチプレクサ１３は、セレクト信号生成回路１２からのＴＡＰコントローラ選択信号に応じて、ＴＡＰコントローラ１４およびＴＡＰコントローラ１５のうち、いずれか一方のＴＡＰコントローラを選択し、ＴＣＫ入力端子１１ａ、ＴＭＳ入力端子１１ｂ、ＴＤＩ入力端子１１ｃおよびＴＲＳＴ入力端子１１ｄから、バッファを介して入力された信号ＴＣＫ、信号ＴＭＳ、信号ＴＤＩおよび信号ＴＲＳＴを、選択したＴＡＰコントローラに出力する。また、選択したＴＡＰコントローラが出力した信号ＴＤＯをバッファを介してＴＤＯ出力端子１１ｅに出力する。
【００２９】
ＴＡＰコントローラ１４およびＴＡＰコントローラ１５は、それぞれ、スキャンの動作を行うために、前述した各信号を入出力するための端子を備えている。さらに、これらの端子に加えてＪＴＡＧマルチプレクサ１３に信号ＴＤＯの出力を報知するための信号ｎＴＤＯＥＮを出力するｎＴＤＯＥＮ出力端子を備えている。
【００３０】
ＴＡＰコントローラ１４は、テストモード時に、半導体集積回路１０全体のデバッグ（debug）を行う。ここでデバッグは、設計エンジニアが行うＥＳ評価（サンプル品の評価）やファームウェアのデバッグ、ＬＳＩ出荷試験時の故障品チェック等を指す。
【００３１】
ＴＡＰコントローラ１５は、テストモード時に、ユーザロジック１６内をデバッグする。
ＪＴＡＧマルチプレクサ１３を介して信号ＴＣＫ、信号ＴＭＳ、信号ＴＤＩ、信号ＴＲＳＴを受け取ったＴＡＰコントローラ１４またはＴＡＰコントローラ１５は、これら各信号を用いてテストを行う。そして、信号ＴＤＯをＪＴＡＧマルチプレクサ１３に出力する。
【００３２】
ユーザロジック１６は、ＴＡＰコントローラ１５に加えて、テスト対象モジュール１６１〜１６３と、モジュール１６４とを有している。
テスト対象モジュール１６１〜１６３は、それぞれ、ＴＡＰコントローラ１５によって制御されており、テストモード時に、ＴＡＰコントローラ１５から指定された動作を行う。
【００３３】
モジュール１６４は、通常モードで動作する。
テストセル１７は、セレクタ１７１と、セレクタ１７２とを有している。
セレクト信号生成回路１２は、セレクタ１７１には、テスト対象モジュール１６１〜１６３のうち、使用する１つのテスト対象モジュールを選択するテスト対象モジュール選択信号を出力する。また、セレクタ１７２には、テストモードを選択するテストモード選択信号または通常モードを選択する通常モード選択信号のうちのいずれか一方を出力する。
【００３４】
セレクタ１７１は、セレクト信号生成回路１２からのテスト対象モジュール選択信号に基づいて、テスト対象モジュール１６１〜１６３の出力信号のうちいずれか１つを選択する。
【００３５】
セレクタ１７２は、受け取った信号に基づいて、セレクタ１７１によって選択された出力信号と、モジュール１６４の出力信号とのうちいずれか一方を選択する。
これにより、出力端子１８からは、通常モード時にはモジュール１６４の値が出力され、テストモード時にはテストセル１７によって選択されたテスト対象モジュール１６１〜１６３のうちのいずれか１つの値が出力される。
【００３６】
次に、セレクト信号生成回路１２に入力される各信号の波形を説明する。
図３は、信号波形を示すタイムチャートである。
信号ＴＲＳＴは、テスト信号がドライブされない間は、（IEEE std 1149,1-1990の規格に基づいて）常時Ｈｉとなる。
【００３７】
信号ＴＤＩには、テストデータ以外に、テストモード選択コードが含まれている。このテストモード選択コードは、信号ＴＲＳＴがＬｏｗのときに半導体集積回路１０に入力されるよう構成されている。
【００３８】
信号ｔｅｓｔ＿ｅｎは、テストモードの開始許可信号であり、Ｈｉアクティブの信号である。この信号ｔｅｓｔ＿ｅｎは、信号ＴＲＳＴの立ち上がりに同期して立ち上がる。
信号ＴＲＳＴがＨｉ、かつ、信号ｔｅｓｔ＿ｅｎがＨｉのときに、テスト対象モジュール１６１〜１６３のいずれか１つを選択するテストモードとなり、それ以外のときは、モジュール１６４を選択する通常モードとなる。
【００３９】
次に、セレクト信号生成回路１２の内部構成を説明する。
図４は、セレクト信号生成回路の内部構成を示すブロック図である。
セレクト信号生成回路１２は、シフトレジスタ（シリアル／パラレル変換回路）１２１と、デコーダ１２２とを有している。
【００４０】
シフトレジスタ１２１は、信号ＴＲＳＴがＬｏｗの間、かつ、信号ＴＣＫの立ち上がりまたは立ち下がりを検出した時点から、信号ＴＲＳＴがＨｉになるまでの間、信号ＴＤＩをシリアル／パラレル変換する。すなわち、シフトレジスタ１２１は、テストモード選択コードが出力されている間、このコードをシリアル／パラレル変換する。そして、変換後のパラレルデータをデコーダ１２２に出力する。
【００４１】
デコーダ１２２は、シフトレジスタから出力されたパラレルデータをデコードする。このデコード値がセレクト信号となる。例えば、デコード値が５ビットであれば、０ビット目の値はテストモード選択信号／通常モード選択信号、１、２ビット目の値はテスト対象モジュール選択信号等のように決まっている。より具体的には、例えば０ビット目の値が“０”であればテストモード選択信号、“１”であれば通常モード選択信号のように決まっている。また、例えば１、２ビット目の値が“００”であればテスト対象モジュール１６１を選択するテスト対象モジュール選択信号、“０１”であればテスト対象モジュール１６２を選択するテスト対象モジュール選択信号のように決まっている。
【００４２】
デコーダ１２２は、デコード結果が、予め用意されたデコーダ値以外の結果であった場合は、テストセル１７およびＪＴＡＧマルチプレクサ１３に対し、通常モード選択信号を出力する。これにより、誤動作を容易に防止することができる。
【００４３】
次に、図３を用いてセレクト信号生成回路１２の動作を説明する。
（１）信号ＴＲＳＴがＨｉのときは、テストデータが入力される。このとき、信号ｔｅｓｔ＿ｅｎはＬｏｗであるので、セレクト信号生成回路１２は、モジュール１６４を選択する通常モード選択信号を出力する。
【００４４】
（２）信号ＴＲＳＴがＬｏｗになると、テストモード選択コードが入力される。
（３）このときシフトレジスタ１２１は、このテストモード選択コードを読み取り、シリアル／パラレル変換する。
【００４５】
（４）デコーダ１２２は、パラレルデータをデコードし、このデコード結果をＪＴＡＧマルチプレクサ１３およびテストセル１７に出力する。これにより、ＪＴＡＧマルチプレクサ１３は、使用するＴＡＰコントローラを選択し、テストセル１７は、データ取得対象となるモジュールを選択する。
【００４６】
（５）その後、信号ＴＲＳＴがＨｉになると、テストデータが入力される。
（６）また、信号ｔｅｓｔ＿ｅｎがＨｉになる。これにより、テストモードとなり、選択されたＴＡＰコントローラによってテストが開始される。
【００４７】
以上述べたように、本実施の形態の半導体集積回路１０によれば、信号ＴＲＳＴがＬｏｗの区間において信号ＴＤＩにテストモード選択コードを含ませ、セレクト信号生成回路１２が、このコードを処理して半導体集積回路１０内の各回路を動作させるセレクト信号を生成するようにしたので、例えば、外部信号として使用するＴＡＰコントローラを指定するトリガ信号や、テストモード選択信号を入力するための端子を設ける必要がない。これにより、外部端子を削減することができる。
【００４８】
また、半導体集積回路１０内部でセレクト信号を生成するため、外部からセレクト信号を入力する場合に比べてノイズが混入する可能性が低く、誤動作をより確実に防止することができる。
【００４９】
また、既存のＴＤＩ入力端子１１ｃを用いて外部からテストモード選択コードを入力しているため、別個のコード入力端子を設ける必要がない。
また、コードを用いてセレクト信号を生成しているので、外部信号を直接入力する場合に比べてノイズに、より強い構造となっている。すなわち、コードにノイズが混入し、予め用意されたコード値以外の値が、デコーダ１２２に入力された場合は、通常モードを保つよう構成することで、テストモード選択コードにノイズが発生した場合においてもテストモードに入ることはなく、誤動作をより確実に防止することができる。
【００５０】
また、テストモード選択コードのビット幅を長くしたり、パリティチェックを行うようにしたり、異なるモード同士のデコード値を２ビット以上変えたりすること等によってもノイズによる誤動作をより確実に防止することができる。
【００５１】
また、テストモード選択コード、シフトレジスタ１２１およびデコーダ１２２の組み合わせにより、作成することができるセレクト信号の出力パターンを容易に調整することができるため、所望のセレクト信号を容易に生成することができる。
【００５２】
また、信号ＴＲＳＴがＬｏｗの区間（テストアサート中）にデコードを行うことにより、既存のＴＡＰコントローラには、影響を与えることがない。
また、タイマを用いたモード選択を行っておらず、どのモードを選択するにしても、ＴＤＩ入力端子１１ｃから入力されるコード値のビット幅分だけ待てば、同じ時間の経過後に各モードに入る。従って、タイマに依存することなくモード選択を行うことができる。
【００５３】
以上、本発明の半導体集積回路を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００５４】
また、本発明は、前述した実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【図面の簡単な説明】
【００５５】
【図１】本発明の概要を示す図である。
【図２】実施の形態の半導体集積回路の構成を示すブロック図である。
【図３】信号波形を示すタイムチャートである。
【図４】セレクト信号生成回路の内部構成を示すブロック図である。
【図５】背景技術の半導体集積回路を示す回路図である。
【図６】背景技術の他の半導体集積回路を示す回路図である。
【符号の説明】
【００５６】
１、１０  半導体集積回路
２ａ、２ｂ、１４、１５  ＴＡＰコントローラ
３  信号入力受け付け部
４  選択信号生成部
１１  インタフェース部
１１ａ  ＴＣＫ入力端子
１１ｂ  ＴＭＳ入力端子
１１ｃ  ＴＤＩ入力端子
１１ｄ  ＴＲＳＴ入力端子
１１ｅ  ＴＤＯ出力端子
１２  セレクト信号生成回路
１３  ＪＴＡＧマルチプレクサ
１６  ユーザロジック
１７  テストセル
１８  出力端子
１２１  シフトレジスタ
１２２  デコーダ
１６１〜１６３  テスト対象モジュール
１６４  モジュール
１７１、１７２  セレクタ
【図１】
2009115563.tif 000003
【図２】
2009115563.tif 000004
【図３】
2009115563.tif 000005
【図４】
2009115563.tif 000006
【図５】
2009115563.tif 000007
【図６】
2009115563.tif 000008