(57)【特許請求の範囲】
【請求項１】
ＪＴＡＧ試験能力を有する集積回路（ＩＣ）パッケージの外部ピンを少なくするシステムであって、
前記パッケージの中に形成され、入力と出力とを有する顧客向けに設計されたディジタル論理回路と、
前記ＩＣパッケージ内に形成されて独立の機能を有し、前記顧客向けに設計された論理回路と通信して一緒に働くために前記ＩＣパッケージに組込まれており、その機能を試験するために使われる試験用入力と試験用出力とを有する標準化されたメガセルモジュールと、
前記ＩＣパッケージの入力と出力の完全性を試験するのに使われる試験ベクトルを記憶するものであって、出力を有するＪＴＡＧ境界走査データレジスタと、
前記境界走査データレジスタの前記出力のうち少なくとも１個と、前記メガセルモジュールの前記試験出力のうちの少なくとも１個とに接続された第１の入力を有し、更に第１の選択入力を受信し、該第１の選択入力に基づいた出力として前記第１の入力のうちの一方を供給する第１の選択回路と、
前記第１の選択回路の前記出力と、前記顧客向けに設計されたディジタル論理回路の前記出力のうち少なくとも１個とに接続された第２の入力を有し、更に第２の選択入力を受信し、該第２の選択入力に基づいた出力として前記第２の入力のうちから一方を供給する第２の選択回路と、
命令ビットを記憶し、該命令ビットとＪＴＡＧタップ状態とが前記第１の選択回路に供給される前記第１の選択入力と、前記第２の選択回路に供給される前記第２の選択入力とを決めるのに使われる、ＪＴＡＧ命令レジスタと、
前記第２の選択回路の出力として接続されている複数個の外部ピンであって、前記命令レジスタとタップ状態の設定により前記第１と第２の選択回路が前記メガセルモジュールの試験出力を該外部ピンに伝達するとき、前記メガセルモジュールの前記試験出力が該外部ピンに現われるようになっている、複数の外部ピンと、
を含むシステム。
【請求項２】
請求項１記載の装置において、更に、第１と第２の入力と出力とを含むスイッチング回路を含み、該スイッチング回路は該スイッチング回路の前記第１の入力に接続された入力ピンと、該スイッチング回路の前記第２の入力に接続された前記顧客向けに設計されたディジタル論理回路のいずれかを選択するものであって、該スイッチング回路の前記出力は前記標準化されたメガセルモジュールに接続されている、システム。
【請求項３】
請求項２記載の装置において、前記スイッチング回路はマルチプレクサを含む、システム。
【請求項４】
請求項１記載の装置において、更に、前記標準メガセルモジュールの試験入力に接続された出力を有するアンドゲートを含み、該試験入力がＪＴＡＧ試験中に１個の入力ピンにより制御することができるように、前記メガセルモジュールの該試験入力は前記メガセルモジュールの通常の試験中ハイかローのいずれか一方に保たれている、システム。
【請求項５】
請求項１記載の装置において、更に、前記標準メガセルモジュールの試験入力に接続された出力を有するオアゲートを含み、該試験入力がＪＴＡＧ試験中に１個の入力ピンにより制御することができるように、前記メガセルモジュールの該試験入力は前記メガセルモジュールの通常の試験中ハイかローのいずれか一方に保たれている、システム。
【請求項６】
集積回路内の一集積回路要素としてメガセルを有する集積回路の中のメガセルを試験する方法であって、該メガセルは該集積回路の通常の動作中該集積回路の外部とは接続されない入力信号または出力信号を少なくとも１個有し、該集積回路は該集積回路の前記動作中該集積回路のそれぞれのピンに入力かつまたは出力として供給される複数個の信号を有しており、該試験方法は、
ＪＴＡＧ入力ピンを経由して該集積回路に直列命令を加えて、該集積回路をあらかじめ定めたメガセル試験モードに入らせ、
該集積回路のそれぞれの第１のピンから出力される前記複数個の出力信号のうちの１個を選択的にディスエーブルにし、
試験出力を前記メガセルから前記ディスエーブルにされた出力信号の前記それぞれのピンに選択的に送り、
前記集積回路の第２のピンを経由して前記メガセルに試験入力を加えて、前記メガセルに試験動作を開始させ、
前記集積回路の前記それぞれの第１のピンにおいて、前記メガセルの前記試験出力を監視すること、
を含む、メガセルの試験方法。
【発明の詳細な説明】
発明の背景
発明の分野
本発明は集積回路の試験の改良に関するものである。特に本発明は、応用仕様の集積回路「ＡＳＩＣ」内のメガセルを試験する方法と装置とに関するものである。
関連技術の説明
回路設計がますます複雑になり、かつ集積回路の実装技術が新しくなるにつれて、集積回路と印刷回路基板の試験に関する問題も非常に増えている。ディジタルハードウェアをソフトウェアで試験するやり方は常に改良が進んでいるが、回路が複雑になると、試験のことを考えて部品を設計しなければ、試験するのが更に困難になっている。
顕著な注目を浴びた回路試験方法のひとつとして、国際合同試験作業部会（the International Joint Tests Action Group＝ＪＴＡＧ）によりつくられた、ＩＥＥＥ  １１４９．１境界走査標準（Boundary-Scanned Standard）がある（参考文献としてここに組入れる）。この標準のひとつの実行方法は、シフトレジスタ要素をひなぎくの花輪状につくって、集積回路部品の周囲に径路を形成することによって、直列境界走査試験用に部品（たとえば集積回路）を設計することである。直列試験の後にある考え方は多数の集積回路部品の中を通って直列データをシフトすることである。直列データは既知の回路の入力に加えられて、回路機能によって決定される影響を出力に与える。マスター試験回路は戻ってきたデータを期待した結果（すなわち、既知の回路の機能に依存した結果）と比較する。言い換えると、もし回路が正しく機能していれば、試験されている回路に加えられた直列データ入力は既知の出力を生じる。もしマスター試験回路に戻ってきたデータ流れが期待に反していたら、回路は不良であることが試験回路によって検出される。データ流れの変化を注意深く分析すれば（ソフトウェアの制御下で）、回路内のどんな不良も分離することができるであろう。
部品の境界走査試験について今簡単に説明したが、これはＡＳＩＣのような超大規模集積回路（ＶＬＳＩ）の試験に拡張することもできる。ＡＳＩＣ回路には、通常ＩＣパッケージに付いている出力ピンからはアクセスすることができないような内部論理回路が含まれる。このようなＡＳＩＣ内の内部論理回路は通常定められた入力と出力とを有するモジュールとして販売業者から供給され、一般にメガセルと呼ばれている。ある種の回路基板では、ＡＳＩＣ内にある販売業者供給のメガセル用の試験入出力がＩＣパッケージの特別なピンに接続されているので、試験の目的でＩＣパッケージ上の外部ピンを経由して製造者はメガセルにアクセスすることができる。しかしながら、セルの試験をするのに必要とされる特別のピンは、通常、ＩＣの正規の動作中役に立たない。そのうえ、試験用ピンを追加すると、ピンの数が増すので、製造者は時々ＩＣパッケージをもっと大きくして、次のもっと大きな寸法のダイとおよびパッケージを使うことが要求される。したがって、ＩＣパッケージはもっと大きな印刷回路基板を必要とするし、大きな寸法のダイは一般により高価であるから、コストがかさむようになる。
また、標準ＪＴＡＧ仕様によれば、ＡＳＩＣ内のメガセルは内部でＪＴＡＧセルに囲まれるようにすることができる。しかしこの試験方法を使うと、販売業者が通常自分達の供給したメガセルを試験する方法と適合性がない。すなわち、メガセルの販売業者は一般に自分達のメガセルの標準的な試験方法を持っている。メガセルを試験するために販売業者により提供される標準試験ベクトルと試験方法は、彼等のメガセルを試験するときに替わりのピンの注文を受入れるだけ柔軟であるが、標準試験の機能を変えるのは販売業者にとってコスト的に受入れられないのである。たとえば、販売業者の標準試験をＪＴＡＧポートを介して直列にロードして、メガセルに並列に加えることはできようが、ＪＴＡＧチェーンの長さの２倍を試験時間に掛けることになろうから、これはコスト的に受入れられないだろう。
発明の要約
本発明の一態様によれば、ＪＴＡＧインタフェイスを用いて顧客用ＪＴＡＧ命令をロードする。すると、ＡＳＩＣ内の販売業者供給のメガセル用の試験入出力が、正規の信号の代わりに出力ピンにもたらされる。ここで正規の信号とは、ＡＳＩＣの製造者が自分のチップレベルでそのＡＳＩＣを試験する際に、出力ピンに供給されるものである。したがって、セルを試験するのに特別のピンは必要ない。こうしてピンが節約されて、製造者が試験用ピンを追加したために次のもっと大きい寸法のダイとパッケージを使わなければならないという事態が回避される。したがって、印刷回路基板の面積も減り、ダイサイズが小さい方が一般に値段が安いから、コストが下がる。ＪＴＡＧインタフェイスにとって、それが意図されたような（すなわち、試験機に対する唯一のインタフェイスとして）使われ方ではない。替わりに、新しいピンを追加せずに、販売業者の標準メガセル試験を行うことができる試験モードにＡＳＩＣを置くのに利用されている。
ある態様によれば、本発明はＪＴＡＧ試験能力を有する集積回路（ＩＣ）パッケージ上の外部ピンの数を減らすシステムが提供される。このシステムにはＩＣパッケージ内に形成された顧客用に設計されたディジタル論理回路が含まれる。顧客用に設計されたディジタル論理回路は入力と出力とを有している。本システムは更にＩＣパッケージ内に形成された独立の機能を有する標準化されたメガセルモジュールを含み、メガセルモジュールは顧客向けに設計されたディジタル論理回路と通信して、一緒になって働くために、ＩＣパッケージの中に組込まれている。メガセルモジュールには、メガセルモジュールの機能を試験するのに使われる試験用入力と試験用出力とがある。システムにはまた出力を有するＪＴＡＧ境界走査データ試験レジスタが含まれ、このレジスタはＩＣパッケージの入力と出力の完全性を試験するために使う試験ベクトルを記憶する。更に、システムは第１の選択回路を含み、その第１の入力はデータ試験レジスタの出力のうち少なくとも１個と、メガセルモジュールの試験出力のうち少なくとも１個とに接続されている。ここで第１の選択回路は更に第１の選択入力を受信して、第１の入力のうちの一方を第１の選択入力に基づく出力として供給する。更に第２の選択回路が含まれ、その第２の入力は第１の選択回路の出力と、顧客向けに設計されたディジタル論理回路の出力のうち少なくとも１個とに接続されている。ここで第２の選択回路は更に第２の選択入力を受信して、第２の選択入力に基づく出力として第２の入力のうちの一方を供給する。本発明のシステムには更にＪＴＡＧ命令レジスタが含まれる。このレジスタは命令ビットを記憶し、命令ビットは第１の選択回路に供給する第１の選択入力と、第２の選択回路に供給する第２の選択入力とを決めるのに使われる。最後に、本システムには第２の選択回路の出力として接続されている複数個の外部ピンが含まれている。その結果、命令レジスタの設定によって、第１と第２の選択回路がメガセルモジュールの試験用入力と出力とを外部ピンまで伝達するとき、メガセルモジュールの試験用出力が外部ピン上に現われる。
別の態様によれば、本発明はメガセルを有する集積回路内のメガセルを、集積回路内の一集積部分回路として試験する方法である。メガセルは集積回路の動作中に集積回路の外部と接続しない少なくとも１個の試験出力信号を有する。集積回路は集積回路の動作中に、集積回路のそれぞれのピンに出力として供給される複数個の信号を有する。本方法は、集積回路をあらかじめ定めた試験モードに置くために、直列命令をＪＴＡＧ入力ピンを経由して集積回路に加えることと、集積回路のそれぞれの第１のピンから供給される複数個の出力信号のうちの１個を選択的にディスエーブルにすることと、メガセルから供給される試験用出力をディスエーブルになった出力信号のそれぞれの第１のピンに選択的に送ることと、集積回路の第２のピンを経由してメガセルに試験用入力を加え、メガセルに試験動作を開始させることと、メガセルの試験出力を集積回路のそれぞれの第１のピンで監視することとを含む。
【図面の簡単な説明】
図１はＪＴＡＧ試験回路の構成を示す、概略ブロック図である。
図２はＩＣの外部ピンに接続されている試験用入出力端子付きのメガセルを有するＩＣ回路を示す、概略ブロック図である。
図３はＪＴＡＧ試験回路を制御するのに用いられるＴＡＰコントローラ回路の動作を示す、状態図である。
図４は内部のメガセルを外部ピンに接続する改良されたＪＴＡＧ試験回路を示す、概略ブロック図である。
発明の詳細な説明
図１はＪＴＡＧ  ＩＥＥＥ  １１４９．１ひなぎくの花輪式境界走査直列試験システム（daisy-chain boundary-scan serial testing system）を用いた試験用に構成された、集積回路（ＩＣ）チップ１００を示す概略ブロック図である。図１に例示したＪＴＡＧシステムはマスタパターン発生器／比較器１０２を含み、１０２は線１０５を介してデータ／命令信号を、線１０７を介してモード信号を、そして線１０９を介してクロック信号を出力する。従来の用語に従えば、データ／命令線１０５はＴＤＩ信号線ともいわれ、モード信号線１０７はＴＭＳ信号線ともいわれ、クロック信号線はＴＣＫ信号線ともいわれることを理解していただきたい。パターン発生器／比較器１０２の出力線１０５，１０７，１０９はＩＣ１００から出ている外部入力ピンにつながっていて、ＩＣ１００の中にあるＴＡＰコントローラ状態マシン１１０が線１０５，１０７，１０９を経由して信号を受信するようになっている。
ＴＡＰコントローラ状態マシン１１０は直列データ線１１７とクロックイネーブル線１１９を経由して、データシフトレジスタ１１５につながっている。ＴＡＰコントローラ状態マシン１１０は更に直列命令線１２２とクロックイネーブル線１２４を介して命令シフトレジスタ１２０につながっている。ここで注意すべきことは、通常、ＴＤＩ線１０５、直列データ線１１７、直列命令線１２２は共通の節に接続されていて、これらの線１０５，１０７，１２２が運ぶのはデータとみるか、命令とみるか、または両方とみるかという点においてのみ違いがあるということである。
データシフトレジスタ１１５はラッチデータレジスタ１３０と並列に接続されており、他方命令シフトレジスタ１２０はラッチ命令レジスタ１４０と並列に接続されている。ラッチデータレジスタ１３０の中の各ビットの記憶場所はＩＣ１００の中のマルチプレクサの第１の入力に接続されている。たとえば、図１に示すように、ラッチデータレジスタ１３０の記憶場所のうちの１個は線１４７を経由して２：１マルチプレクサ１４５の第１の入力に接続されている。同様に、ラッチデータレジスタ１３０の各記憶場所はＩＣ１００の中にあるマルチプレクサの入力に接続されているのであるが、図示を簡略化するために、図１では、ラッチデータレジスタ１３０と接続されているものとして１個のマルチプレクサ１４５だけ示してある。
ラッチ命令レジスタ１４０はデコーダ１５０と並列につながっていて、デコーダ１５０はラッチ命令レジスタ１４０に記憶されている命令を解読するのに使われる。デコーダ１５０はＩＣ１００内のＪＴＡＧマルチプレクサの各々に選択出力を提供する（すなわち、マルチプレクサはＪＴＡＧ強制出力レベルを提供するのに使われる）、しかしこの場合もまた簡略な図示のために、図１では、デコーダ１５０は線１５２を経由してマルチプレクサ１４５に１個の選択出力だけを提供するように示してある。
マルチプレクサ１４５の第２の入力は線１６２を経由してＩＣ１００内の通常の集積回路１６０につながっている。ＩＣ１００内の通常の集積回路１６０は、ＩＣ１００が通常の働きをしている間（すなわち、ＩＣ１００が試験中でないとき）に実行する特定の機能を果たす。マルチプレクサ１４５の出力は線１６５を経由してＩＣ１００の表面の出力ピンにつながっている。
データシフトレジスタ１１５と命令シフトレジスタ１２０はそれぞれ、２対１マルチプレクサ１７０の第１と第２の入力として、直列データ線１７２と直列命令線１７４に出力を提供し、マルチプレクサ１７０は直列データ戻り線１７５を経由してパターン発生器／比較器１０２に出力を提供する。
動作時に、パターン発生器／比較器１０２はデータとまたは命令（通常、試験ベクトルと呼ばれる）のパターンを発生し、これらが線１０５を介してＴＡＰコントローラ状態マシン１１０に直列に送られる。パターン発生器／比較器１０２はまた線１０７，１０９を介してそれぞれモード信号とクロック信号とをＴＡＰコントローラ状態マシン１１０に提供する。図３を参照しながら後でもっと詳しく説明するが、ＴＡＰコントローラ状態マシン１１０はモード信号とクロック信号とに応答して、線１０５上に提供されたデータまたは命令をデータシフトレジスタ１１５（すなわち、線１０５のデータが提供されているとき）、または命令シフトレジスタ１２０（すなわち、線１０５に命令が提供されているとき）のいずれかにシフトさせる。データシフトレジスタ１５０にシフトしたデータと、命令シフトレジスタ１２０にシフトした命令とは、ＴＡＰコントローラ状態マシン１１０の制御下で、それぞれのシフトレジスタ１１５，１２０に直列にクロック入力される。したがって、たとえばもし７０個のデータビットがデータシフトレジスタ１１５にシフトされ、かつ３０個の命令ビットが命令シフトレジスタ１２０にシフトされるのであれば、各データビットと命令ビットをそれぞれのシフトレジスタにシフトするのに、合計１００個のクロックサイクルを要するであろう。後でもっと詳しく説明するが、もち論、パターン発生器／比較器１０２からデータをＴＡＰコントローラ状態マシン１１０に転送して、ＴＡＰコントローラ状態マシン１１０のモードを変更するには更にクロックサイクルを要することになるであろう。その結果、ＴＡＰコントローラ状態マシン１１０はクロックイネーブル線１１９，１２４上に適当な制御信号を提供する。
ＩＣ１００の指定した入力と出力を試験するための適当なデータがいったんシフトレジスタ１１５，１２０にシフト入力すると、シフトレジスタ１１５と１２０はシフトレジスタ１１５，１２０に含まれるデータと命令をそれぞれのラッチレジスタ１３０，１４０に並列に送ってラッチする。レジスタ１４０にラッチされた命令はデコーダ１５０により解読されて、ＩＣ１００の中の他の任意のＪＴＡＧマルチプレクサ（図示せず）と同様、マルチプレクサ１４５の適当な出力を選択する。簡単に前述したように、各ＪＴＡＧマルチプレクサ（例えば図１に示したマルチプレクサ１４５）は、ラッチデータレジスタ１３０に接続されているＪＴＡＧ入力を受信する。すなわち、マルチプレクサ１４５は線１５２を経由してデコーダ１５０によりイネーブルとなり、レジスタ１３０内のある記憶場所に接続されている入力１４７を選択する。その結果、マルチプレクサ１４５の出力１６５はレジスタ１３０に記憶されていたビット値になる。このようにして、線１６５に接続されているＩＣ１００の出力の欠陥試験をすることができる。例えば、もし線１４７を経由してマルチプレクサ１４５に接続されている記憶場所が高電圧レベルのビット（すなわち、ディジタル１に相当する）を含んでいるならば、マルチプレクサ１４５の出力は線１６５を経由して、ＩＣ１００の出力ピンにおいてディジタル１であると検出されなければならない。もしこの出力ピンがディジタル１を発生しなかったならば、ＩＣ１００は不良であると指定するために、ＩＣ１００に接続されている試験回路は誤りを記録するだろう。この試験は、パターン発生器／比較器１０２によりロードされた命令に応じて、デコーダ１５０により指定された入力と出力の各々について行われる。
図１には示してないが、パターン発生器／比較器１０２が一度に多数のＩＣにデータと命令をシフトすることができるように、多数のＩＣをひなぎくの花輪の形状に直列に接続してもよいことはもち論理解されよう。したがって、ＩＣ１００に含まれるマルチプレクサ１７０はＴＡＰコントローラ状態マシン１１０の制御下で、線１７２または１７４を経由してレジスタ１１５を通ってきたデータ、またはレジスタ１２０を通ってきた命令を選択的にシフト出力する。最後に、最後のＩＣから出力されたデータは直列戻り線１７５を経由して、パターン発生器／比較器１０２に戻される。
図２は通常の集積回路２２０に加えて、販売業者供給のメガセル２１０を含むＩＣ２００を示した、概略ブロック図である。メガセル２１０はＩＣ２００内の機能性ユニットとして働らくもので、これは線２２５を経由して通常の回路２２０から入力を受信すると共に、通常の回路２２０への入力を提供する。
販売業者が供給するメガセル２１０が通常の回路２２０と違う点は、販売業者が供給するメガセル２１０は販売業者により提供される標準化された構造と機能を有するが、通常の回路はＡＳＩＣの設計者により顧客向けに設計されていることである。したがって、メガセルモジュールは独立の機能を持っている（すなわち、メガセルは周辺回路の構成がいろいろ異なっても同じ機能を果たすような使い方ができよう。その結果、この機能はＩＣ２００内の他の回路からは実質的に独立している）。更に、ＩＣ２００全体を試験するのに用いるのとは別の試験ベクトルの個別のセットが、通常メガセル２１０の機能を個別に試験するのに用いられる。
次に、たとえば、ＡＳＩＣの設計者はＡＳＩＣ設計の一部として、ＵＡＲＴＳ、位相ロックループなどのような標準的な機能を有する論理ブロックを用いる。ＡＳＩＣの販売業者はこれらの標準的な機能を有する論理ブロックを供給し、ＡＳＩＣの設計者がそれらを顧客のＡＳＩＣに組込む。これらの標準的な機能を有するブロックはメガセルと呼ばれ、メガセルの販売業者が通常供給する試験ベクトルが、チップ工場において製造プロセス中に、ＡＳＩＣ内のメガセルを試験するのに使われる。通常、ＡＳＩＣはユニット全体として試験することができるが、もしユニット全体の中に不良が発見されたなら、その不良がＡＳＩＣ設計者により構造が提供された顧客用回路のせいなのか、それともセルの販売業者が提供したメガセル回路のせいなのを判断するのは困難であろう。この理由のために、メガセルはセルの販売業者が提供する試験ベクトルを使って、独立に試験される。そのうえ、この試験は販売業者が提供する試験により行われるであろうから、ＡＳＩＣの設計者がメガセルの試験に消耗的な努力を払う必要はない。
しかしながら、図２に示すように、メガセル２１０のようなメガセルを試験するために、メガセル２１０の出力はＡＳＩＣ２００の外側面に多数の出力ピン２３５を必要とする。販売業者が供給する試験ベクトルは試験入力２３０に加えられ、その結果試験出力２３５に現われるパターンが測定されて、メガセルが正しく機能しているかどうかが判断される。メガセルの機能試験は通常チップ工場で（すなわち、製造後の試験として）行われるが、チップが正常の動作で使用された後は必要ない。すなわち、正常の動作中の回路にＩＣ２００が組込まれているとき、動作用の入出力２４０のみが使われるであろう。したがって、ＩＣ２００が正常の動作中には出力ピン２３５は不要である。後で図４を参照しながらもっと詳しく説明するが、本発明によれば、メガセル回路を組込んだＩＣパッケージの出力ピンの数を減らすことができる。本発明がもたらす節約は、もっとコスト面で効率的な（すなわちもっと小さな）ダイの寸法とＩＣパッケージとを使うことができるために、重要な意義を有するであろう（たとえば、１〜２ダースくらいのピンが除去できるであろう）。
図３はモード線とクロック線１０７，１０９上に供給された制御信号に応じて、ＴＡＰコントローラ１１０が行う動作を示す状態図である。ＴＡＰコントローラ状態マシン１１０はアイドル状態３００で始まるが、この状態は走査動作間のコントローラの状態を構成する。いったん始まると、ＴＡＰコントローラ１１０はＴＭＳがローに保たれている限り、アイドル状態３００に留まっている。アイドル状態３００では、当業者にはよく理解されることだが、ある命令が存在しているときのみ、選択された試験論理においてアクティビィティが生じる。ＴＡＰコントローラのアイドル状態３００において実行されない命令が命令レジスタ１４０にロードされるが、それに対して、現在の命令により選択された試験データレジスタはすべて、それぞれ前の状態（すなわちアイドル）に留まる。また、ＴＡＰコントローラ１１０がアイドル状態３００にある間、命令レジスタ１４０にロードされた命令は変わらない。
ＴＭＳ（線１０７で送られるモード信号）がハイで、ＴＣＫ信号（線１０９で送られるクロック）に立上りエッジが加えられると、ＴＡＰコントローラ１１０は選択データレジスタ走査状態３０５に移る。選択データレジスタ走査状態３０５は、現在の命令によって選択されたすべての試験データレジスタが前の状態を保持するという、一時的なコントローラの状態である。もし立上りエッジがＴＣＫに加えられている間ＴＭＳがローに保たれていれば、ＴＡＰコントローラ１１０は捕獲データレジスタ状態３１５に遷移する。他方、もしＴＭＳがハイに保たれていて、立上りエッジがＴＣＫに加えられれば、ＴＡＰコントローラ状態マシン１１０は選択命令レジスタ走査状態３１０に遷移する。
もしＴＡＰコントローラ状態マシン１１０が捕獲データレジスタ３１５に遷移したならば、この状態において、ＴＣＫの立上りエッジ時にデータをシフトデータレジスタ１１５からデータレジスタ１３０に並列ロードしてもよい。もしＪＴＡＧ試験回路が並列ロードされるデータレジスタ１３０を有してなかったならば、もしくは選択された試験に捕獲が要求されてなかったならば、データレジスタは以前の状態のままで変わらない。また、ＴＡＰコントローラ状態マシン１１０が捕獲データレジスタ状態３１５にある間、命令レジスタ１４０，１２０内に記憶されているビットはそのままで変わらない。ＴＭＳがローに保たれて立上りエッジがＴＣＫに加えられている間、ＴＡＰコントローラ１１０が捕獲データレジスタ状態３１５にある場合、コントローラはシフトデータレジスタ状態３２０に入る。しかし、もし立上りエッジがＴＣＫに加えられている間、ＴＭＳがハイに保たれていれば、ＴＡＰコントローラ状態マシン１１０は捕獲データレジスタ状態３１５から直接出口データレジスタ状態３２５へと遷移する。シフトデータレジスタ状態３２０のとき、線１０５上で送られたデータは線１１７を経由してデータシフトレジスタ１１５にシフトする。ＴＭＳがローに保たれている間、ＴＣＫに立上りエッジが加えられる度毎に、線１１７を介してデータシフトレジスタ１１５にシフト入力するデータのビットが追加される。ＴＭＳがローに保たれている限り、ＴＡＰコントローラ１１０はシフトデータレジスタ状態３２０を継続する。したがって、状態３２０でＴＭＳがローに保たれている間、あらかじめ特定化した試験ベクトルをシフトレジスタ１１５にロードするのに必要な数のデータビットが、レジスタ１１５にシフトする。
ＴＡＰコントローラ１１０がシフトデータレジスタ状態３２０にあって、ＴＭＳがハイに保たれている間に立上りエッジがＴＣＫに加えられると、ＴＡＰコントローラ状態マシン１１０は出口データレジスタ状態３２５に入る。出口データレジスタ状態３２５は一時的なコントローラの状態である。もしＴＭＳがハイに保たれていれば、ＴＣＫに立上りエッジが加えられると、ＴＣＫコントローラ１１０は更新データレジスタ状態３４０に入る。他方もし立上りエッジがＴＣＫに加えられている間、ＴＭＳがローに保たれていれば、ＴＡＰコントローラ１１０は休止データレジスタ状態３３０に入る。ポーズデータレジスタ状態３３０になると、試験データレジスタ３１５のシフトを一時的に停止することができる。ＴＭＳがローに保たれている間、ＴＡＰコントローラ１１０は休止データレジスタ状態３３０に留まる。ＴＭＳがハイに保たれていて、立上りエッジがＴＣＫに加えられると、ＴＡＰコントローラ状態マシン１１０は出口２データレジスタ状態３３５に入る。これも一時的なコントローラの状態である。もしＴＭＳがローに保たれている間に立上りエッジがＴＣＫに加えられれば、ＴＡＰコントローラ状態マシン１１０はシフトデータレジスタ状態３２０に戻る。しかし、立上りエッジがＴＣＫに加えられている間ＴＭＳがハイに保たれていれば、ＴＡＰコントローラ状態マシン１１０は出口２データレジスタ状態３３５から更新データレジスタ状態３４０に遷移する。図１に示すように、シフトデータレジスタ１１５はラッチされた並列出力を含んでおり、命令レジスタ１４０に関するある命令に応じて、データが関連するシフトレジスタ径路１１５をシフト中に、データレジスタ１３０のデータが変わるのを防止している。次に、更新データレジスタ状態３４０において、ＴＣＫの立下りエッジ時に、データはシフトレジスタ１１５からシフトレジスタ１１５の並列出力に現われて、ラッチされる。こうして、このデータはラッチデータレジスタに記憶され、その結果、自己試験の実行中（たとえば、設計仕様の公開命令に応じたアイドル状態の期間）に動作が要求されなければ、レジスタ１３０の中のデータは更新データレジスタ状態以外では変わらない。状態３０５−３３５の各々に関して、命令シフトレジスタ１２０と命令ラッチデータレジスタ１４０に記憶された命令は、ＴＡＰコントローラ１１０が更新データレジスタ状態３４０にある間変わらない。ＴＡＰコントローラが更新データレジスタ状態にあって、立上りエッジがＴＣＫに加えられると、ＴＭＳがハイに保たれていれば、ＴＡＰコントローラ１１０は選択データレジスタ走査状態３０５に入り、ＴＭＳがローに保たれていれば、アイドル状態３００に入る。
もしＴＡＰコントローラ状態マシン１１０が選択データレジスタ状態３０５にある間に、ＴＭＳがハイに保たれていて立上りエッジがＴＣＫに加えられたならば、ＴＡＰコントローラ状態マシン１１０は選択命令レジスタ走査状態３１０に遷移する。
もしＴＡＰコントローラ状態マシン１１０が捕獲命令レジスタ状態３４５に遷移したならば、この状態において、ＴＣＫの立上りエッジ時に命令をシフト命令レジスタ１２０から命令レジスタ１４０に並列ロードすることができる。もしＪＴＡＧ試験回路に並列ロードされる命令レジスタ１４０が含まれていなかったならば、もしくは選択された試験に対して捕獲が要求されてなかったならば、命令シフトレジスタ１２０は変わらないで前の状態に保つ。また、ＴＡＰコントローラ状態マシン１１０が捕獲命令レジスタ状態３４５にある間、データレジスタ１３０，１１５の中に記憶されていたビットは変わらないで保持される。ＴＭＳがローに保たれていて立上りエッジがＴＣＫに加えられている間、ＴＡＰコントローラ１１０が捕獲命令レジスタ状態３４５にあるとき、コントローラはシフト命令レジスタ状態３５０に入る。しかし、もし立上りエッジがＴＣＫに加えられている間ＴＭＳがハイに保たれていれば、ＴＡＰコントローラ状態マシン１１０は捕獲命令レジスタ状態３４５から直接出口命令レジスタ状態３５５に遷移する。シフト命令レジスタ状態３５０のとき、線１０５を介して送られた命令は線１２２を経由して命令シフトレジスタ１２０にシフトする。ＴＭＳがローに保たれている間ＴＣＫに立上りエッジが加えられる度に、線１２２を経由した命令の追加ビットが命令シフトレジスタ１２０にシフト入力する。ＴＭＳがローに保たれている限り、ＴＡＰコントローラ１１０はシフト命令レジスタ状態３５０を続ける。したがって、状態３５０においてＴＭＳがローに保たれている間、あらかじめ特定した命令ベクトルをシフトレジスタ１２０にロードするのに必要な数の命令ビットが、レジスタ１２０にシフト入力する。
ＴＡＰコントローラ１１０がシフト命令レジスタ状態３５０にあって、ＴＭＳがハイに保たれている間に立上りエッジがＴＣＫに加えられたとき、ＴＡＰコントローラ状態マシン１１０は出口命令レジスタ状態３５５に入る。出口命令レジスタ状態３５５は一時的なコントローラ状態である。もしＴＭＳがハイに保たれていて、立上りエッジがＴＣＫに加えられると、ＴＡＰコントローラ１１０は更新命令レジスタ状態３７０に入る。他方もし立上りエッジがＴＣＫに加えられている間ＴＭＳがローに保たれているならば、ＴＡＰコントローラ１１０は休止命令レジスタ状態３６０に入る。
休止命令レジスタ状態３６０になると、試験命令レジスタ３４５のシフトは一時的に停止することができる。ＴＭＳがローに保たれている間、ＴＡＰコントローラ１１０は休止命令レジスタ状態３６０に留まる。ＴＭＳがハイに保たれていて立上りエッジがＴＣＫに加えられたとき、ＴＡＰコントローラ状態マシン１１０は出口２命令レジスタ状態３６５に入る。これもまた一時的なコントローラの状態である。もしＴＭＳがローに保たれている間に立上りエッジがＴＣＫに加えられたならば、ＴＡＰコントローラ状態マシン１１０はシフト命令レジスタ状態３５０に戻る。しかし、立上りエッジがＴＣＫに加えられている間ＴＭＳがハイに保たれていれば、ＴＡＰコントローラ状態マシン１１０は出口２命令レジスタ状態３６５から更新命令レジスタ状態３７０に遷移する。図１に示すように、シフト命令レジスタ１２０はラッチされた並列出力を含み、命令レジスタ１４０に関するある命令に応じて、命令が関連するシフトレジスタ径路をシフト中に、命令レジスタ１４０内の命令が変化するのを防止する。次に、更新命令レジスタ状態３７０において、ＴＣＫの立下りエッジ時に命令がシフトレジスタ１２０からシフトレジスタ１２０の並列出力に現われてラッチされる。こうして、これらの命令はラッチ命令レジスタ１４０に記憶されるので、もし自己試験の実行中（たとえば、設計仕様の公開命令に応じたアイドル状態の間）に動作が要求されなければ、レジスタ１４０の中の命令は更新命令レジスタ状態以外には変わらない。状態３１０と３４５−３６５の各々に関しては、データシフトレジスタ１１５とラッチデータレジスタ１３０に記憶されたデータは、ＴＡＰコントローラ１１０が更新命令レジスタ状態３７０にある間変わらない。ＴＡＰコントローラ１１０が更新命令レジスタ状態３７０にあって、立上りエッジがＴＣＫに加えられたとき、もしＴＭＳがハイに保たれていればＴＡＰコントローラ１１０は選択データレジスタ走査状態３０５に入り、もしＴＭＳがローに保たれていればアイドル状態３００に入る。
選択命令レジスタ状態３１０において、もし立上りエッジがＴＣＫに加えられている間ＴＭＳがハイに保たれていれば、ＴＡＰコントローラ１１０は試験論理リセット状態３４２に入る。ＴＡＰコントローラ状態マシン１１０が試験論理リセット状態３４２に入ると、オンチップシステム論理の通常動作（すなわち、システムピンを介して受信した信号に応じて）が妨害されないで継続することができるように、試験論理がディスエーブルになる。ＴＭＳがハイである間、ＴＡＰコントローラ１１０は試験論理リセット状態３４２のままである。ＴＣＫに立上りエッジが加えられている間ＴＭＳをローに保つことによって、ＴＡＰコントローラ状態マシン１１０はアイドル状態３００に入るだろう。
図４はＩＣ４００の中の内部ＪＴＡＧ試験回路の例を示す概略ブロック図である。本発明を簡略化図示するために、ＴＡＧ状態コントローラ１１０、データと命令シフトレジスタ１１５，１２０およびその他の関連するＪＴＡＧ回路は図４に示してない。しかし、ＩＣ４００には前述したものと実質的に同じ働らきをする前述のＪＴＡＧ回路が含まれることは、当業者に理解されよう。たとえばＩＣ４００に含むことができる応用仕様集積回路（ＡＳＩＣ）が、ＡＳＩＣ設計者により設計された顧客用ディジタル回路（図４で通常の回路４１０として示してある）と、ＡＳＩＣ設計者が顧客用ＡＳＩＣに組込むメガセル（図４でメガセル回路４２０として示してある）のために販売業者が提供する構造とを含む。通常の回路４１０は入出力線４２２を経由してメガセル回路４２０と通信する。例えば、メガセル回路４２０は標準的な演算論理装置、マイクロプロセッサ、または標準的な設計でＡＳＩＣ４００の中に独立のモジュールとして組込むことができるその他の回路を含んでもよい。
通常の回路４１０は線４３３，４３５を経由して、ピン４２３，４２５のような外部ピンから入力を受信する。通常の回路４１０は通常数ダースまたはときには数百人という入力を受けるであろうが、本発明をわかりやすく説明するために、通常の回路４１０に接続する入力端子は４２３と４２５しか示してないことはもち論理解されるであろう。通常の回路４１０は線４２２を経由してメガセル回路４２０に信号を出力するほかに、２対１マルチプレクサ４４０の第１の入力に接続している線４３７を経由して、ある信号をメガセル回路４２０に出力することもできる。マルチプレクサ４４０はそのほか、第２の入力４４７を経由して、外部ピン４４５から入力信号を受信する。マルチプレクサ４４０の出力は図４に示すように、線４４９を経由してメガセル４２０の入力に供給される。
マルチプレクサ４４０は線４５２を経由してデコーダ４５０から選択入力を受信する。メガセル回路４２０はまたアンドゲート４５５とオアゲート４５７から試験入力を受信する。メガセル回路４２０は通常いくつかの試験入力を含むであろうが、アンドゲート４５５とオアゲート４５７はメガセル回路４２０に入る試験入力の２つの例として示してあるということは、もち論理解されよう。アンドゲート４５５は線４５２を経由して第１の入力を、入力ピン４２３から線４３３を経由して第２の入力を受信する。また、オアゲート４５７は線４５２を経由して第１の反転入力を、入力ピン４２５から線４３５を経由して第２の入力を受信する。図４には示さなかったが、ピン入力と出力のバッファは存在するものとして想定してあるが、図示簡略化のために示してない。
通常の回路４１０は線４６２を経由してＪＴＡＧ出力マルチプレクサ４６０の入力につながっている。ここでもまた、通常の回路４１０は通常数十ないし数百の出力を含むであろうが、図示を簡略化するために、図４には出力４６２しか描いてないことを理解していただきたい。２対１マルチプレクサ４６０の出力は線４６４を経由して外部ピンに供給されている。２対１マルチプレクサ４６０の選択入力は線４６６を経由してデコーダ４５０により供給される。従来の回路によれば、２対１マルチプレクサ４６０の第２の入力はラッチ境界走査レジスタに直接接続されるだろうから、適切な選択信号が２対１マルチプレクサ４６０の入力に供給されたときに、ＪＴＡＧ標準入力値によって出力端子４６５はＪＴＡＧビットに等しくなるだろう。しかし、本発明によれば、マルチプレクサ４６０の第２の入力もまた線４７２を介して２対１マルチプレクサ４７０を経由して、メガセル回路４２０の出力を受信することができる。
明確に言うと、２対１マルチプレクサ４７０は線４７４を経由してメガセル回路４２０から第１の入力を受信する。２対１マルチプレクサ４７０は更に、線４７６を経由して、ラッチ境界走査データレジスタ４８０から第２の入力を受信する。最後に、２対１マルチプレクサ４７０は線４７８を経由して、デコーダ４５０から選択入力を受信する。デコーダ４５０はラッチ命令レジスタ４８４の中に含まれる命令を解読する。
通常の動作（すなわち非試験）期間中、通常の回路４１０とメガセル回路４２０とは複数個の入力ピン（たとえば、入力ピン４２３，４２５，４４５）を経由して入力を受信し、ＡＳＩＣ設計に従ってこれらの入力を処理して、複数個の出力ピン（たとえば出力ピン４６５）に適当な出力値を供給する。通常の動作の間、通常の回路４１０とメガセル回路４２０とは内部の回路径路（たとえば、回路径路４２２，４３７，４４９および４７４）を経由して情報を交換しているので、メガセル回路４２０は、ＡＳＩＣ４００の動作全体を支援するあらかじめ特定された機能を果たすモジュールとして働く。
次に、ＡＳＩＣ内のメガセルの機能を試験するため、メガセルの販売業者により供給された試験ベクトルを用いてチップ工場が独立にメガセル回路を試験することができるように、メガセルのある入力線と出力線をＡＳＩＣの外側ピンまで引っ張ることが通常必要である。もちろん前述のように、この結果、ＩＣの通常の動作時に使わない多くの外側ピンがＩＣの表面に設けられる。このように、本発明によれば、別の出力ピンをＡＳＩＣ４００に追加する必要なくして、メガセル回路４２０をチップ工場で試験することができるように、ＡＳＩＣ４００に設けられるＪＴＡＧ回路がメガセル回路４２０の出力径路を供給するように、特別に修正される。
明確に述べると、もうひとつのマルチプレクサ４７０により、マルチプレクサ４６０の第２の入力としてＪＴＡＧ出力とメガセル出力のどちらか一方を使うことが可能になる。どちらを使うかはデコーダ４５０から選択線４７８に送る信号により決定される。次に、メガセル４２０の試験出力線４７４を外部ピンに直接つながないで、ＪＴＡＧ標準境界走査出力か通常回路の出力値かのいずれかを出力するのに用いるのと同じ出力線４６４を使って、メガセル回路４２０の試験信号を出力することもできる。３種の出力（すなわち通常の回路４１０の出力、メガセル回路４２０の出力、またはラッチデータレジスタ４８０のＪＴＡＧ境界走査出力）のうちの１個を線４６４に乗せる出力信号として選択するのは、デコーダ４５０の制御下で調整され、それはラッチ命令レジスタ４８４に含まれる命令によって決定される。次に、本発明の具体化に際して、追加の制御信号を供給するために、ラッチ命令レジスタ４８４の中に追加の記憶場所または解読パターンが必要となるかもしれない。しかし、追加の制御情報を提供するのに予備の解読状態を使うことができるように、ＪＴＡＧ試験回路内の現在の命令レジスタは通常使用者が定義する。
本発明の方法に従ってメガセル回路４２０を試験するとき、試験ベクトル入力（メガセルの販売業者により供給される）が選択された外部入力ピン（たとえばピン４２３，４２５）に加えられる。線４５２上の信号がハイに保たれているとき、端子４２３，４２５に供給された試験ベクトル入力は、アンドゲート４５５とオアゲート４５７を通ってメガセル回路４２０の試験入力に送られる。試験モードでなくて線４５２上の信号がローのとき、通常の動作中にメガセル回路４２０の試験入力が変化するのを防止するために、アンドゲート４５５とオアゲート４５７の出力はそれぞれローとハイにセットされることは当業者に理解されるであろう。入力端子４２３，４２５に加えられた標準試験ベクトル入力がメガセル回路４２０の試験入力まで到達すると、メガセル回路４２０は試験ベクトル入力に呼応して、多数の出力線を介して信号を出力する。図４では図示を簡略にするために出力線４７４しか示してないが、メガセル回路４２０の機能的特性を完全に試験するためには、複数の出力線が複数の２対１マルチプレクサ（マルチプレクサ４７０のような）に供給されることが理解されよう。
試験ベクトル入力に呼応してメガセル回路４２０により出力された信号は、線４７４を介してマルチプレクサ４７０の第１の入力に供給される。メガセル試験モードにあるとき、ラッチ命令レジスタ４８４は更に、デコーダ４５０に線４７８上の選択信号を出力させる命令ビットを含み、それによって線４７４上のメガセル試験出力が選択される。次に、試験ベクトル入力に呼応してメガセル回路４２０の出力が、マルチプレクサ４７０の出力線４７２上に供給される。デコーダ４５０は更にレジスタ４８４内の命令に呼応して、入力線４７２を選択するための信号を線４６４に供給すると、メガセル回路の試験出力が線４６４を介して出力ピン４６５に送られる。もしメガセル回路４２０が正しく機能していれば、試験ベクトル入力が供給されると、適当なパターンの試験ベクトル出力が出力ピンに現われるようになり、そのための径路がメガセル回路４２０から供給されるのである。したがって試験ベクトル入力が入力ピン４２３，４２５に加えられたとき、出力ピン４６５はメガセル４２０の機能を表示することになるであろう。このようにして、ＡＳＩＣ４００に別の出力ピンを追加することなく、メガセル回路４２０の機能を試験することができるのである。
メガセル回路４２０の機能試験をしてないとき、通常の動作モードかＪＴＡＧ試験モードかいずれか一方をデコーダ４５０に選択させるための適当な命令ビットが、命令レジスタ４８４にロードされる。ＩＴＡＧ試験モードが選択されると、これによってデコーダ４５０は、線４７６を介してラッチデータレジスタ４８０から供給された入力を、マルチプレクサ４７０の出力４７２に伝達するように、線４７８を介して選択信号を出力する。更に、デコーダ４５０は線４６６を介して選択信号を出力し、これによって線４７２上の入力（これは線４７６を経由して送られたラッチデータレジスタ４８０内のデータビットの値を表わしている）がマルチプレクサの出力４６４に伝達される。その結果、もし出力径路が完全であれば、ＪＴＡＧ境界走査データビットは出力ピン４６５に供給される。
他方、もしＡＳＩＣ４００が通常のモードで動作しようとするのであれば、ＪＴＡＧ  ＴＡＰ状態コントローラ４８６はデコーダ４５０にマルチプレクサ４６０の第１の入力を選択するように命じる。その結果、線４６２上の信号がマルチプレクサ４６０と線４６４とを経由して、ピン４６５に出力される。また、デコーダ４５０は線４５２にローの信号を出力するので、メガセル回路４２０の試験回路４２０の入力は定められた値に保たれる。その結果、メガセル回路４２０の動作はピン４２３，４２５の入力によって影響されない。
以上本発明の好ましい実施例について詳しく説明したが、本発明の思想すなわち本質的な特徴から離れることなく、自明な修正を本発明に施しうることが当業者に理解されるであろう。したがって以上の説明は例示であって限定的でないと考えるべきである。すなわち、本発明の範囲は請求項に照らして定めるべきである。
【図１】
0003698166.tif 000002
【図２】
0003698166.tif 000003
【図３】
0003698166.tif 000004
【図４】
0003698166.tif 000005