(57)【特許請求の範囲】
【請求項１】
集積回路であって、
１つ又はそれ以上の機能ブロックと、
前記集積回路のテストのために、一つ又はそれ以上のテスト信号を受信する第１の入力端子と、
前記一つ又はそれ以上のテスト信号は、テスト期間中、前記集積回路に入出力されるテストデータをスキャンし、且つ前記一つ又はそれ以上の機能ブロックをクロックするテストクロックを有し、
正常動作及びテスト中において、前記一つ又はそれ以上の機能ブロックをクロックする一つ又はそれ以上のノーマルクロックを受信する第２の入力端子と、
前記一つ又はそれ以上の機能ブロックをクロックするために、前記テストクロック又は前記一つ又はそれ以上のノーマルクロックのいずれかを選択するクロック選択回路とを含み、
前記クロック選択回路は、テストのために前記一つ又はそれ以上のノーマルクロックを選択したとき、前記一つ又はそれ以上のノーマルクロックのサイクルの所定数に対応して前記一つ又はそれ以上の機能ブロックをクロックするためのカウンタを有し、
正常動作においては、前記一つ又はそれ以上のノーマルクロックが前記一つ又はそれ以上の機能ブロックをクロックするために使用され、
第１のテスト動作においては、前記テストクロックが前記集積回路に入出力されるテストデータをスキャンするためのスキャンクロックとして使用され、
第２のテスト動作においては、前記テストクロックが前記一つ又はそれ以上の機能ブロックをクロックするため一つ又はそれ以上のクロックを提供するために使用され、
第３のテスト動作においては、前記一つ又はそれ以上のノーマルクロックが前記一つ又はそれ以上のノーマルクロックのサイクルの所定数に対応して前記一つ又はそれ以上の機能ブロックをクロックするために使用される、
ことを特徴とする集積回路。
【請求項２】
請求項１に記載の集積回路において、
前記一つ又はそれ以上のテスト信号はＪＴＡＧ境界スキャン信号であり、前記集積回路はＪＴＡＧテストデータレジスタを含み、前記所定のサイクル数は前記ＪＴＡＧテストデータレジスタへ転送されて前記集積回路へ提供されることを特徴とする集積回路。
【請求項３】
請求項１に記載の集積回路において、
前記一つ又はそれ以上の機能ブロックはメモリを含み、前記第２のテスト動作において、前記テストクロックが前記メモリをクロックするために使用されることを特徴とする集積回路。
【請求項４】
請求項１に記載の集積回路は、さらに第４のテスト動作においてテストクロック信号Ｃ１を受信するための一つ又はそれ以上のピンを含み、
前記テストクロック信号Ｃ１は、正常動作において、前記一つ又はそれ以上のノーマルクロックから少なくとも一つのクロックを、内部で発生させるために使用されることを特徴とする集積回路。
【請求項５】
集積回路のテスト方法であって、
第１のテスト動作において、前記集積回路は一つ又はそれ以上のテスト信号を受信するため入力端子を介してテストクロックを受信し、前記テストクロックを、前記集積回路に入出力されるテストデータをスキャンするために使用し、
第２のテスト動作において、前記集積回路は前記集積回路の一つ又はそれ以上の機能ブロックのクロックに対して一つ又はそれ以上のクロックを提供するために前記テストクロックを使用し、
第３のテスト動作において、前記集積回路は前記集積回路の正常動作において前記一つ又はそれ以上の機能ブロックをクロックする一つ又はそれ以上のノーマルクロックで前記一つ又はそれ以上の機能ブロックをクロックし、前記一つ又はそれ以上のノーマルクロックのサイクルの所定数に対応して前記第３のテスト動作を継続するためにカウンタを使用する、
ことを特徴とする集積回路のテスト方法。
【請求項６】
請求項５に記載の集積回路のテスト方法において、
前記一つ又はそれ以上のテスト信号がＪＴＡＧ境界スキャン入力信号であり、前記方法がさらに前記第３のテスト動作のために前記集積回路のＪＴＡＧテストデータレジスタへ前記所定のサイクル数を転送することを特徴とする集積回路のテスト方法。
【請求項７】
請求項５に記載の集積回路のテスト方法はさらに、一つ又はそれ以上の機能ブロックをクロックするためのクロックの選択を含み、前記選択は前記一つ又はそれ以上のテスト信号により制御されることを特徴とする集積回路のテスト方法。
【請求項８】
請求項５に記載の集積回路のテスト方法はさらに、
第４のテスト動作において前記集積回路が一つ又はそれ以上のピンを介してテストクロック信号Ｃ１を受信し、
正常動作において前記集積回路により前記一つ又はそれ以上のノーマルクロックから少なくとも一つのクロックを発生させるために前記テストクロック信号Ｃ１を使用し、
正常動作において前記一つ又はそれ以上のピンがテストクロック信号以外の信号に対して使用される、
ことを特徴とする集積回路のテスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本特許明細書の一部分は、著作権に保護される資料を含んでいる。本著作権所有者は、特許庁の特許ファイルまたは記録により表示するような場合に、本特許明細書、または、特許公開書の第３者による複写再生は異議を提議しないが、それ以外はいずれの場合にもすべての著作権を行使する。
【０００２】
本発明は集積回路に係るもので、特に集積回路の正常(normal)動作用およびテスト動作用のクロックを発生する集積回路のテスト用クロック発生方法および回路に関する。
【０００３】
【従来の技術】
一部の集積回路は、デバギング(debugging）および製造時に、容易に回路をテストすることができるテスト回路を含んでいる。このような回路の一例としては、ＪＴＡＧ境界スキャン規格としてシ．エム．マンダ(C.M.Maunder）とアル．イ．ツロッス(R.E.Tulloss）の「テストアクセスポートおよび境界スキャン構造」(IEEE Computer Society Press，1990）に説明されている。
【０００４】
テストデータは前記回路入力ピンに供給され、できるだけラッチ内にスキャニングされる。集積回路またはこの集積回路の一部分には正常動作のシミュレーションのためにクロックが供給される。
出力テストデータが出力ピン側から観測される。出力テストデータは、正常動作がシミュレーションされたとき、データの獲得可能なラッチからスキャニングされる。クロック信号はデータのスキャンおよび正常動作のシミュレーションのために発生される。
【０００５】
【発明が解決しようとする課題】
本発明は、集積回路テストに適合したクロックを発生することができる、シンプルな集積回路のテスト用クロック発生方法および回路を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明により集積回路用のテスト用クロック発生方法および回路が提供される。クロック発生回路は正常動作用およびテスト用クロックを発生することに適合する。テスト用に発生されたクロックはＪＴＡＧ境界スキャンクロック、および内部（非境界）機能ブロックをテストすることに使用された、内部シフトレジスタチェーン用のスキャンクロックを含んでいる。
また、テスト用に発生されたクロックは正常動作のシミュレーションに適合したクロックも含んでいる。
【０００７】
内部スキャンチェーン用クロックの発生を簡単化させるためにクロック発生回路は、標準ＪＴＡＧテストクロック入力ピンTCK (test clock input)から内部スキャンクロックの発生を可能にする。テストクロック入力ピンTCK からのスキャンクロック発生はチップデバギング(chip debugging)に便利である。
また、内部スキャンクロックは別途のテストクロック入力ピンTCK から発生する場合もある。この場合でも、集積回路とこの集積回路製造環境に使用された既存のテスト装置間のインタフェースを提供することが容易になる。
正常動作のシミュレーションのためのクロックは、テストクロック入力ピンTCK から発生する場合もある。テストクロック入力ピンＴＣＫから発生されたクロックは、このテストクロック入力ピンTCK が良好に制御されるので、良好に制御される。
本発明のその他の特徴および利点に関しては後述する。本発明は上記特許請求の範囲により定義される。
【０００８】
【発明の実施の形態】
図１は集積回路（以下、ＩＣという）１１０のブロック図である。このＩＣ１１０は、ＩＣテストを容易に実行するためのテスト回路を含んでいる。一部の環境でＩＣ１１０は、カリフォルニアサンホセにある三星半導体インコーポレーテッドで開発したマルチメディア信号プロセッサ(MSPTM）である。
このマルチメディア信号プロセッサは、シ．リーダ（C.Reader）等の発明者により１９９６年８月１９日付で「ビデオデータ処理方法および装置」を発明の名称として出願された、米国特許出願第０８／６９９，３０３号に説明されている。
この特許出願は参照文として本明細書に含まれている。ＭＳＰテスト回路は本明細書の付録ＡとＢに詳細に説明されている。特に、付録Ｂはテスト回路のベリログコード(Verilog code)を含んでいる。
【０００９】
前記テスト回路はテスト制御回路１２０を含んでいる（図１参照）。このテスト制御回路１２０はＩＥＥＥ規格１１４９．１（ときには、JTAGバージョン２．０または単にJTAG規格という）により、境界スキャンテスト用制御回路として機能することができる。
この規格は「ＩＥＥＥ規格テストアクセスポートおよび境界スキャン構造」(IEEE Inc.1993,10,21）に定義されており、これは参照文献として本明細書に含まれている。また、参照文献として本明細書に含まれているシ．エム．マンダとアル．イ．ツロッスの「テストアクセスポートおよび境界スキャン構造」(IEEE COMPUTER SOCIETY PRESS,1990)を参照。
境界スキャンテスト以外に、テスト制御回路１２０は後述する内部テストにも適合する。
【００１０】
ＩＣ１１０は、テスト制御回路１２０に接続されている前記ＪＴＡＧ規格により定義された５個のピンを含んでいる。このピンは、テストクロック入力ピンTCK 、テストモードセレクト入力ピンTMS(test mode select input) 、テストデータ入力ピンTDI(test data input ）、テストデータ出力ピンTDO(test data output) およびテストリセットアクティブローTRST N(test reset input,active low)である。
テストクロック入力ピンTCK 側のクロック入力は、前記ＪＴＡＧ境界スキャンテストの途中だけでなく、内部テストの途中にも使用される。特に、テストクロック入力ピンTCK は内部スキャンチェーン(126.1-126.17)に関するデータスキャン用のスキャンクロック信号を供給する。
【００１１】
それぞれのチェーン(126.i）はLSSD(level sensitive scan design）ラッチの内蔵されたシフトレジスタを含んでいる。LSSDラッチは、たとえばエム．アブラモビシ(M.Abramobici)等の「デジタルシステムテストおよびテスト可能設計」(1990)に説明されており、これは参照文献として本明細書に含まれている。ＩＣ１１０の一部の実施の形態は１７個より多いスキャンチェーン、または１７個より少ないスキャンチェーンを含んでいる。
１つのＭＳＰ実施の形態の場合、これら１７個のスキャンチェーン、およびこのチェーンを含んでいるそれぞれのＭＳＰ機能ブロックは、チェーン(1-17)に付録Ａの表２に記載されている。
チェーン１８はＭＳＰ境界スキャンチェーンである。チェーン１９はＭＳＰに内蔵されたＡＲＭ７プロセッサの境界チェーンである。表２のそれぞれの内部チェーン１２６は、付録Ａ、表５にリストされているそれぞれのＪＴＡＧ専用命令により選択される、ＪＴＡＧテストデータレジスタである。
【００１２】
それぞれの内部チェーン（126.x)はテストデータをスキャンするために非重畳スキャンクロック(sca x, scb x ) を受信する。「単一内部スキャン」動作ではいくつかのチェーン１２６の中のいずれか１つのチェーンのみがスキャニングされる。
前記それぞれのクロック(sca、scb)は、後述のとおり前記のテストクロック入力ピンTCK のクロックから得られる。一部のテスト環境は、テストクロック入力ピンTCK に対して良好な制御を供給し、それにより良好な制御がクロック(sca、scb)に提供される。
特に、テストクロック入力ピンTCK のクロック周波数は良好に制御され、そしてテストクロック入力ピンTCK のクロックのはいつでも開始および停止可能である。たとえば、付録Ａのセクション１．１１に説明されているテスト環境を参照されたい。したがって、クロック(sca、scb)もまた、単一スキャン動作で良好に制御される。
【００１３】
ＩＣ１１０はまた、すべてのチェーン(126.1-126.17)が同時にスキャニングされる多重内部スキャンモードになっている。このモードは、多数の標準テストが高速で実行される場合の製造に適する。
このモードでクロック(sca、scb)は、テストクロック入力ピンTCA 、TCB 側に供給される非重畳クロックから得られる。テストクロック入力ピンTCA 、TCB は一部の実施の形態では専用テストクロック入力ピンである。
【００１４】
別個の専用テストクロック入力ピンTCA 、TCB を使用すると、良好に制御されたクロック(sca、scb)が供給され、またＩＣ１１０とシュルムバーガ(Schlumberger)ＩＴＳ９０００のような既存の製造テスト装置間のインターフェースが簡単になる。
また、別個の専用テストクロック入力ピンTCA 、TCB は、カリフォルニアサンホセのビューロジック(Viewlogic）社のＡＴＰＧ(Automatic Test Pattern Generator)ソフトウェアの、ＳｕｎｒｉｓｅTMのようなＡＴＰＧを容易に使用できるようにする。
【００１５】
それぞれのチェーン(126.x）はまた、スキャン−イン(scan-in）データ入力（si x)と、スキャンアウト(scan-out)データ出力（so x)を含んでいる。前記の単一スキャン動作で入力（si x)はＪＴＡＧピンTDI からデータを受信する。
重要なことは単一スキャンモードで、１つのチェーン(126.i）のみがスキャニングされる。スキャンアウトデータ出力（so x)は、データをＪＴＡＧテストデータ出力ピンTDO 側に供給する。
【００１６】
多重内部スキャン動作で、入力（si x)はＭＳＰピン１３０からデータを受信し、スキャンアウトデータ出力（so x)はデータをＭＳＰピン１３２側に供給する。正常（非テスト）動作でＭＰＳピン１３０、１３２は双方向性ピンである。
【００１７】
付録Ａのセクション１．６．５を参照。
前記の単一内部スキャンモードと多重内部スキャンモードは、本出願と同日付でエス．ベク(S.Baek)の名義で出願された米国特許出願として、発明の名称が「デバギングおよび製造テスト用の適応型スキャンチェーン」で、代理人管理番号がＭ−４４１６ＵＳである米国特許出願に説明されており、この出願の内容が参照文献として本明細書に含まれている。
【００１８】
テストの途中でチェーン１２６を含んでいる機能ブロックには、正常動作のシミュレーションのためにクロックが供給される。前記の機能ブロックには、正常動作がテストの途中でシミュレーションされるとき、そして正常動作が実際に行われるとき、クロック(CLKOUT)によりクロックが供給される。
テストの途中でクロック(CLKOUT)はテストクロック入力ピンTCK のクロックから得られる。また、このクロックは、入力１４０に提供され正常動作に使用された正常システムクロック(CLKIN）から得られる。
テストクロック入力ピンTCK からクロック(CLKOUT)を入力すると、クロック(CLKOUT)に対して良好に制御することができる。注意すべきは、一部の実施の形態で前記の正常システムクロック(CLKIN）は自由に発生する（したがって、制御が容易でない）。
【００１９】
一部のテストで、クロック(CLKOUT)は、それぞれのピン（AD05 MT5 、AD04 MT4)側のテストクロック（mult clk1、mult clk2) から求められる。正常モードでこのピンはその他の用途のために双方向性ピンである。
【００２０】
内部テストではＪＴＡＧ制御器１４４(TAP制御器）、ＪＴＡＧ命令レジスタ１４８、ＪＴＡＧ命令デコーダー１５２、およびＪＴＡＧブロック１５６内のその他のＪＴＡＧ回路を使用している。
内部テストのために境界スキャンＪＴＡＧ回路を使用し、また内部テストのためにクロックを発生するが、ＪＴＡＧテストクロック入力ピンTCK を使用すると、内部テスト回路が簡単になり、テストクロック入力ピンの個数が減少される。
【００２１】
テストクロック入力ピンTCK のクロックは、従来から公知のとおり、ＪＴＡＧ回路動作の制御のためにＪＴＡＧブロック１５６側に供給される。テストクロック入力ピンTCK はまたテストクロック発生器１６０側に接続されている。
テストクロック発生器１６０は、テストクロック入力ピンTCK のクロックと同一な周波数である２つの非重畳クロック(jsca 、jscb) をテストクロック入力ピンTCK クロックから発生させる。
クロック／データマルチプレクサ１６４はクロック(jsca 、jscb) を受信し、またそれぞれの専用テストクロック入力ピンTCA 、TCB からクロック信号psca、pscbを受信する。一部の製造テストで、クロック(psca 、pscb）は、同一な周波数の非重畳クロックである。
【００２２】
前記単一内部スキャン動作で、クロック／データマルチプレクサ１６４は、ＪＴＡＧブロック１５６により選択されたチェーン(126.x）のそれぞれの出力(sca x, scb x)側にクロック(jsca 、jscb) を供給する。
残りのクロック(sca i, scb i)はVSS 側のローに維持される。前記多重スキャン動作でクロック／データマルチプレクサ１６４は、それぞれの出力(sca x,scb  x)側のクロック(psca 、pscb）をすべてのチェーン１２６側に供給する。
【００２３】
前記単一スキャン動作で、クロック／データマルチプレクサ１６４はＪＴＡＧブロック１５６からライン１６６を通してテストデータ入力ピンTDI のデータを受信し、このデータをそれぞれの出力（si x)側の選択されたチェーン側に供給する。
チェーン１２６のすべてのスキャンアウトデータ出力（so i)の出力側はＪＴＡＧブロック１５６でマルチプレクサ１６８のそれぞれの入力側に接続されている。マルチプレクサ１６８の出力側はＪＴＡＧ出力ピン(TDO）に接続されている。
前記単一スキャン動作で、選択されたチェーン１２６のスキャンアウトデータ出力（so x)側にスキャニングされたデータはマルチプレクサ１６８側に伝達されてからＪＴＡＧテストデータ出力ピン(TDO）側に提供される。
【００２４】
多重内部スキャン動作で、クロック／データマルチプレクサ１６４はＭＰＳピン１３０からデータを受信する。一部の実施の形態では１０個のみのＭＰＳピン１３０である。チェーン１２６は１０個のチェーン（このチェーンの中の一部は組合されている）の提供のために再構成されている。
このチェーンの再構成は前述した特許出願「デバギングおよび製造用の適応型スキャンチェーン」（代理人管理番号Ｍ−４４１６ＵＳ）に説明されている。
クロック／データマルチプレクサ１６４はＭＰＳピン１３０からのデータを、多数個の出力（si x)の中の１０個の出力側に提供する。１０個の再構成されたチェーンの１０個のチェーン出力（so y)はそれぞれの１０個のＭＰＳピン１３２側に供給される。
【００２５】
クロック／データマルチプレクサ１６４はＪＴＡＧブロック１５６からの信号(INSS)により制御される。
【００２６】
クロック(jsca 、jscb）もまた、システムクロック発生器１７４側に供給される。システムクロック発生器１７４はまた、（１）入力１４０から正常モードクロック；（２）ピン（AD05 MT5)からクロック（mult clk1）；およびピン(AD04  MT4)からクロック（mult clk2）を受信する。
正常動作で、システムクロック発生器１７４は、正常クロック入力（１４０）からクロック(CLKOUT)を発生する。非スキャンテスト動作で（たとえばBISTで）、システムクロック発生器１７４は後述のとおり、正常クロック入力（１４０）、スキャンクロック(jsca 、jscb）、およびまたはクロック（mult clk1、mult clk2) から出力クロック(CLKOUT)を発生する。システムクロック発生器１７４は、ＪＴＡＧブロック１５６からの信号により制御される。
【００２７】
図２は、テストクロック発生器１６０の一実施の形態の回路図である。テストクロック入力ピンTCK はインバータ２０４の入力側に接続されている。インバータ２０４の出力はインバータ２０８の入力側に、そしてＮＡＮＤゲート２１４の二入力の中の一入力側に接続されている。
インバータ２０８の出力はＮＡＮＤゲート２１４の他の入力側に接続されている。ＮＡＮＤゲート２１４の出力はデータフリップフロップ２２０のセット(S）入力側に接続されている。データフリップフロップ２２０はポジティブエッジトリガされる。このセット入力がローであれば、データフリップフロップ出力(Q）はハイとなる。
【００２８】
テストクロック入力ピンTCK はデータフリップフロップ２２０のクロック入力側に接続されている。データフリップフロップ２２０のデータ入力(D）はVSS （一部の実施の形態で接地である）に接続されている。
データフリップフロップ２２０のデータ出力(Q）はＣＭＯＳバッファ２３０に接続されている。ＣＭＯＳバッファ２３０の出力はＮＯＲゲート２４０の二入力の中の一入力側に接続されている。ＮＯＲゲート２４０の他の入力はインバータ２４６の出力側に接続されており、このインバータの入力はテストクロック入力ピン入力TCK に接続されている。ＮＯＲゲート２４０の出力はバッファ２５０の入力側に接続されている。バッファ２５０の出力は前記の信号(jscb)を供給する。
【００２９】
テストクロック入力ピンTCK はまたインバータ２６０の入力側に接続されている。インバータ２６０の出力はＮＡＮＤゲート２６４の二入力の中の一入力側に接続されている。ＮＡＮＤゲート２６４の他の出力はテストクロック入力ピンTCK に接続されている。ＮＡＮＤゲート２６４の他の出力はデータフリップフロップ２２０と同一なデータフリップフロップ２７０のセット入力側に接続されている。
テストクロック入力ピンTCK は、インバータ２７４の入力側に接続されており、このインバータの出力はデータフリップフロップ２７０のクロック入力側に接続されている。データフリップフロップ２７０のデータ入力はVSS に接続されている。
データフリップフロップ２７０の直接出力(Q）はバッファ２８０の入力側に接続されており、このバッファの出力はＮＯＲゲート２８４の二入力の中の一入力側に接続されている。ＮＯＲゲート２８４の他の入力はインバータ２８８の出力側に接続されており、このインバータ２８８の入力はインバータ２７４の出力側に接続されている。ＮＯＲゲート２８４の出力はバッファ２９２の入力側に接続されている。バッファ２９２の出力は前記の信号(jsca)を供給する。
【００３０】
一部の実施の形態でインバータ２０８は直列に接続された９個のＣＭＯＳインバータである。インバータ２６０はまた、直列に接続された９個のＣＭＯＳインバータである。それぞれのＣＭＯＳバッファ２３０、２８０は直列に接続された２４個のＣＭＯＳインバータである。
【００３１】
クロック／データマルチプレクサ１６４はそれぞれのチェーン(126.x）の別個のマルチプレクサ(164.x）（図３）を含んでいる。マルチプレクサ(164.x）において、データ出力（si x)はマルチプレクサ３１０の出力である。マルチプレクサ３１０のデータ入力(D0 、D1）はそれぞれの信号(psi x 、jsi)を受信する。
【００３２】
信号(jsi）は単一内部スキャンモードで、ライン１６６（図１）を通してテストデータ入力ピンTDI から受信されたデータ信号である。
入力(psi x)は多重内部スキャン動作で多数個のピン１３０の中のいずれか一ピンからまたは、他のチェーン(126.i）のスキャン出力からデータを受信する（前述したとおり、多重内部スキャンモードで多数個のチェーン１２６は組み合わされて単一チェーンになる。）。
マルチプレクサ３１０の選択信号(S）は、マルチプレクサ(164.x）の入力（mult n)側に接続されている。なお、信号名で接尾語「ｎ」は、信号がアクティブローであることを表す。すなわち、信号（mult n)は多重内部スキャンモードを表すためにブロック１５６により発生される（ローに駆動される）。
【００３３】
前記多重内部スキャンモードにおけるスキャン動作は、正常動作で双方向性ピンであるＭＳＰピン（AD03 MT3)（図示されていない）側の信号「ｍｕｌｔ＿ｓｃａｎ＿ｍｏｄｅ」により表示されている。付録Ａの表１７を参照。ｍｕｌｔ＿ｎが（ロー）に発生されると、ｍｕｌｔ＿ｓｃａｎ＿ｍｏｄｅは、前記スキャン動作の機能ブロックが構成されるように発生される。
マルチプレクサ３１０の選択信号(S）がローであれば、このマルチプレクサ３１０は自分の入力(D0)、すなわちｐｓｉ＿ｘを選択する。この選択信号(S）がハイであれば、マルチプレクサ３１０はＤ１(jsi）を選択する。
【００３４】
信号（mult n)はマルチプレクサ３１４、３１８の選択信号(S）を選択するように接続されている。ｍｕｌｔ＿ｎがローであれば、マルチプレクサ３１４は、専用テストクロック入力ピンTCA に接続されている入力(psca)を選択し（図１）、マルチプレクサ３１８は専用テストクロック入力ピンTCB に接続されているｐｓｃｂを選択する。
ｍｕｌｔ＿ｎがハイであれば、マルチプレクサ３１４はクロック発生器１６０からの入力(jsca)を選択し、マルチプレクサ３１８はクロック発生器１６０からの入力(jscb)を選択する。
【００３５】
マルチプレクサ３１４の出力はマルチプレクサ３２２の入力(D1)側に接続されている。マルチプレクサ３１８の出力はマルチプレクサ３２６の入力(D1)側に接続されている。マルチプレクサ３１４、３１８、３２２、３２６はマルチプレクサ３１０と同一である。マルチプレクサ３２２の出力は信号(sca x)を供給する。マルチプレクサ３２６の出力は信号(scb x)を供給する。
【００３６】
マルチプレクサ３２２の入力(D0)はVSS に接続されている。マルチプレクサ３２２の選択信号(S）はＯＲゲート３３０の出力側に接続されている。ＯＲゲート３３０はＯＲゲート３３４の出力とＮＯＲゲート３３８の出力を論理和演算する。
ＯＲゲート３３４の二入力の中の一入力はインバータ３４８の出力側に接続されており、その入力は入力（mult n)側に接続されている。ＯＲゲート３２４の他入力はインバータ３５２の出力側に接続されており、その入力はシステムリセット信号(mrst-n)側に接続されている。
【００３７】
ＮＯＲゲート３３８の二入力の中の一入力はマルチプレクサ(164.x）の入力（bist cnt)側に接続されている。ＮＯＲゲート３３８の他の入力はＮＡＮＤゲート３５６の出力側に接続されている。
ＮＡＮＤゲート３５６の二入力の中の一入力はＪＴＡＧブロック１５６から信号(shiftdr）を受信する。信号(shiftdr）はＪＴＡＧ制御器が状態(Shift DR）であることを指示する標準ＪＴＡＧ信号である。前述した文献「テストアクセスポートおよび境界スキャン構造」の４１頁（図４−８）参照。ＮＡＮＤゲート３５６の他の入力は入力（dr x)側に接続されている。
【００３８】
マルチプレクサ３２６の選択信号(S）はＯＲゲート３６０の出力側に接続されている。ＯＲゲート３６０の二入力の中の一入力はＯＲゲート３３４の出力側に接続されている。ＯＲゲート３６０の他の出力はＮＯＲゲート３６４の出力側に接続されている。
ＮＯＲゲート３６４の二入力の中の一入力は入力（bist cnt)側に接続されている。ＮＯＲゲート３６４の他の入力はＮＯＲゲート３６８の出力側に接続されている。ＮＡＮＤゲート３６８の二入力はそれぞれの入力（dr x 、corsdr）側に接続されている。
【００３９】
入力（mrst n 、mult n 、shiftdr 、dr x 、corsdr、bist cnt)はＪＴＡＧブロック１５６の出力側に接続されている。入力（mrst n)はシステムリセット信号を受信する。正常動作またはテスト途中のこの信号はハイである。
信号（mult n)はＪＴＡＧ命令デコーダ１５２により発生する。この信号はＪＴＡＧ制御器１１４が多重スキャンチェーン命令（付録Ａの表６に説明された専用命令）を受信し、前記のＪＴＡＧ制御器がランテスト／アイドル(Run-Test/Idle）状態であるときに発生する。ｍｕｌｔ ｎがローであれば、マルチプレクサ３２２、３２６は自分の入力(D1)を選択し、ＴＣＡ、ＴＣＢ側のクロックが出力(sca x 、scb  x)側に提供する。
【００４０】
ｍｕｌｔ ｎがハイであれば、マルチプレクサ３２２、３２６の入力(D1)はそれぞれの信号(jsca 、jscb）を受信する。マルチプレクサ３２２、３２６の選択信号(S）は信号(shiftdr、dr x 、corsdr、bist cnt)により変化する信号を受信する。
ＪＴＡＧ命令デコーダ１５２により発生された信号（bist cnt)はＪＴＡＧ制御器１４４が付録Ａの表９に示した命令(BIST またはGBIST)、または表４の最後命令「ＡＲＭ７  ｉｎｔｅｓｔ／ＢＩＳＴ」を受信すると、ハイである。
これはＢＩＳＴ専用命令である。ハイのｂｉｓｔ ｃｎｔによりマルチプレクサ３２２、３２６はそれぞれの出力(sca x 、scb  x)側にクロック信号(jsca 、jscb）を提供することができる。
【００４１】
信号(corsdr)は、前記のＪＴＡＧ制御器が状態(Shift-DR 、Capture-DR）で、ＪＴＡＧブロック１５６によりハイに駆動される。信号（dr x)は対応チェーン(126.x）がＪＴＡＧ制御器１４４によりテストデータレジスタとして選択されるとき、ＪＴＡＧブロック１５６によりハイに駆動される。
ｄｒ ｘがハイであれば、それぞれの信号(shiftdr、corsdr）がハイの場合、ｊｓｃａ、ｊｓｃｂをそれぞれ選択できるように、マルチプレクサ３２２、３２６がイネーブルされる。したがって、ｄｒ ｘがハイであれば、それぞれのチェーン(126.x）は単一スキャンモードでスキャンされるか、またはデータを獲得することができる。
【００４２】
図４には、システムクロック発生器１７４の一部分が例示されている。システムクロック発生器１７４は、クロックライン(CLKOUT)側のそれぞれの単一ビット出力のためマルチプレクサ４１０を含んでいる。
図４には、非重畳システムクロック(clk1i、clk2i)を発生するマルチプレクサ(410.1、410.2)が例示されている。それぞれのクロック(clk1i、clk2i)はそれぞれマルチプレクサ４１０の出力(CLKOUT)側で現れる。
それぞれマルチプレクサ４１０は３個のクロック入力(TCLK 、CLKIN 、jm clk)を備えている。３個のクロックの中の一クロック、すなわちゼロは、選択入力（ck bypass、ck jtag cntl、clk  cnt 、mf mode) によって、マルチプレクサ出力(CLKOUT)側に供給される。
入力(syn clk)は同期信号を受信する。前記の選択入力が変動されると、この変動は同期信号の上昇エッジに影響を及ぼす（すなわち、CLKOUTは相異したクロックをスイッチングする）。
【００４３】
それぞれのマルチプレクサ４１０は次の規則を満足している。
ｍｆ ｍｏｄｅ＝１であれば、マルチプレクサ４１０はＴＣＬＫを選択する。
【００４４】
ＣＬＫＯＵＴ＝ＴＣＬＫ；
ｍｆ ｍｏｄｅ＝０、ｃｋ ｂｙｐａｓｓ＝０であれば、
ＣＬＫＯＵＴ＝ＣＬＫＩＮ；
ｍｆ ｍｏｄｅ＝０、ｃｋ ｂｙｐａｓｓ＝１、ｃｋ ｊｔａｇ ｃｎｔｒｌ＝１であれば、ＣＬＫＯＵＴ＝ｊｍ ｃｌｋ；
ｍｆ ｍｏｄｅ＝０、ｃｋ ｂｙｐａｓｓ＝１、ｃｋ ｊｔａｇ ｃｎｔｒｌ＝０、ｃｌｋ ｃｎｔ＝０であれば、ＣＬＫＯＵＴ＝０；
ｍｆ ｍｏｄｅ＝０、ｃｋ ｂｙｐａｓｓ＝１、ｃｋ ｊｔａｇ ｃｎｔｒｌ＝０、ｃｌｋ ｃｎｔ＝１であれば、ＣＬＫＯＵＴ＝ＣＬＫＩＮ；
ＣＬＫＯＵＴがＣＬＫＩＮに変動すると、この変動はＣＬＫＩＮがローの場合常に発生する。
【００４５】
すべてマルチプレクサ４１０の入力（mf mode）は、ＪＴＡＧ命令デコーダ１５２から信号（mf mode i)(manufacturing mode internal) を受信する。信号（mf mode i)は、前記のＪＴＡＧ命令デコーダが多重スキャン命令（付録Ａ、表６）をデコーディングすると、ＪＴＡＧ命令デコーダ１５２によりハイに駆動される。
マルチプレクサ４１０は前記の入力(TCLK)を選択する。入力(TCLK)は付録Ｂ、ラインＢ２８−Ｂ４３に示したとおり接続されている。ラインＢ２８−Ｂ４３のそれぞれの式で、左側はそれぞれマルチプレクサ４１０によりその出力(CLKOUT)から発生された信号である。
【００４６】
したがって、ラインＢ２８、Ｂ２９で、左側(clk1i、clk2i)はそれぞれマルチプレクサ(410.1、410.2)により発生する。右側はそれぞれマルチプレクサ４１０の入力(TCLK)側に伝達されたクロック信号である。
これにより、マルチプレクサ(410.1）の入力(TCLK)は信号（test sys  clk1）を受信し、マルチプレクサ(410.2）の入力は信号ｔｅｓｔ ｓｙｓ ｃｌｋ２を受信する。信号（test  sys clk1、test sys  clk2) は信号（mult clk1、mult clk2) である（図１）。この二信号は同一周波数を有している非重畳クロックである。
【００４７】
付録ＢのラインＢ３９−Ｂ４３に対応するマルチプレクサ４１０の前記のＴＣＬＫの入力は正常モードクロック入力１４０に接続されている（図１参照）。
【００４８】
すべてマルチプレクサ４１０の入力（ck bypass）は信号（ck bypass i)を受信する。ｍｆ ｍｏｄｅ ｉ＝０でありｃｋ ｂｙｐａｓｓ ｉ＝０であれば、マルチプレクサ４１０は正常モード入力(CLKIN）を選択する。
この入力は付録ＢのラインＢ４５−Ｂ６０の記載のとおり接続されている。特に、ラインＢ４５、Ｂ４６の記載のとおり、マルチプレクサ(410.1、410.2)は、ピン(MSPCK）側に供給されたシステムクロック(sysclk)からクロック発生器４３０により発生された、それぞれのクロック(clk1 、clk2）を入力(CLKIN）側に受信する。
【００４９】
前記のピン(MSPCK）は複数の入力１４０中の一つの入力である（図１参照）。
【００５０】
ライン（B48)の図示のとおり、クロック（arm7 clk)を発生するマルチチプレクサ４１０は、クロック(clk1/2)（２で割ったクロック(clk1)）を自分の入力(CLKIN）側に受信する。ライン(B49）と対応するマルチプレクサ４１０は前記クロックの反転信号を受信する。残りマルチプレクサ４１０は付録Ｂに記載されたとおり信号を受信する。
【００５１】
信号（ck bypass i)は付録Ａの表１２に説明されているＭＣＲ(memory control register）のビット１１を受信する。ＭＣＲはＪＴＡＧ設計特定データレジスタの中のいずれか１つである。
すべてのマルチチプレクサ４１０の入力（ck jtag cntl) は、ＪＴＡＧブロック１５６から前記の信号（ck jtag cntl i)を受信する。ｃｋ ｊｔａｇ ｃｎｔｌ ｉはＭＣＲビット１２である。ｃｋ ｊｔａｇ ｃｎｔｌ ｉ＝１（ハイ）であり、ｍｆ ｍｏｄｅ ｉ＝０、ｃｋ ｂｙｐａｓｓ＝１であれば、前記マルチプレクサ４１０は自分の入力（jm clk)を受信する。
【００５２】
この入力は、付録ＢのラインＢ６２−Ｂ７７の記載のとおり接続されている。
【００５３】
特に、マルチプレクサ(410.1、410.2)で、この信号は、VSS （ラインＢ62、Ｂ63）に接続されている。前記のクロック(clk e)（ラインＢ64）を発生するマルチプレクサで、入力（jm clk)はｊｓｃａのバージョンである信号（jtag mem  clk1）を受信する（図１）。
正常モードで、ｃｌｋ１ ｅはｃｌｋ１ｉと類似するが、ｃｌｋ１ｉより若干先立っている（「ｅ」は「先立つ」ことを意味する）。
【００５４】
ａｒｍ７ ｃｌｋ（ラインB65)を発生するマルチプレクサ４１０で、入力(jm  clk)はｊｓｃａのバージョンである信号（jtag arm  clk)を受信する。残りマルチプレクサ４１０で入力（jm clk)はVSS を受信する。
すべてマルチプレクサ４１０の入力(clk cnt)は信号(clk cnt  i)を受信する。信号(clk cnti）はＪＴＡＧブロック１５６でクロックカウンタ４２０（図４）により発生される。
この信号は、メインシステムクロック(sysclk)の特定個数のサイクルのために、正常クロックによりクロックが供給される１つ以上の機能ブロックを必要とする内部テストに使用される。メインシステムクロック(sysclk)はクロックカウンタ４２０側に伝達される。
このクロックカウンタ４２０はＭＣＲヒット(1-10)のクロックカウント(clk cnt  0-clk  cnt  9)を維持する。所定個数のｓｙｓｃｌｋサイクルがカウントされる場合、ＪＴＡＧブロック１５６はＪＴＡＧテストデータレジスタとしてＭＣＲを選択し、サイクル個数をＭＣＲ側にシフトさせる。前記のテストが開始されると、クロックカウンタ４２０はｓｙｓｃｌｋのサイクルの特定個数に対してｃｌｋ ｃｎｔ ｉをハイに駆動する。
【００５５】
ｍｆ ｍｏｄｅ ｉ＝０、ｃｋ ｂｙｐａｓｓ ｉ＝１、ｃｋ ｊｔａｇ ｃｎｔｌ＝０、ｃｌｋ ｃｎｔ＝１であれば、マルチプレクサ４１０は正常モード時のように入力(CLKIN）を選択する。付録ＢのラインＢ７８−Ｂ９３参照されたい。
ｍｆ ｍｏｄｅ ｉ＝０、ｃｋ ｂｙｐａｓｓ ｉ＝１、ｃｋ ｊｔａｇ ｃｎｔｌ＝０、ｃｌｋ ｃｎｔ＝１であれば、すべてマルチプレクサ４１０は、自己の出力(CLKOUT)を０に駆動する（付録ＢのラインＢ94−Ｂ109)。
【００５６】
マルチプレクサ(410.1, 410.2)で入力(syn clk)は信号(clk1)を受信する。これと同様に、正常モードで１対の非重畳クロックを受信する他のマルチプレクサ対で、入力(syn clk)はこの対の入力(CLKIN）に接続されている２クロックの中の１クロックに接続されている。
たとえば、これはクロック(PCICK1 , PCICK2）を発生するマルチプレクサ４１０に対しても同じである。残りのマルチプレクサ４１０で、入力(syn clk)は入力(CLKIN）側に接続されている。
【００５７】
図５は、単一マルチプレクサ４１０のブロック図である（すべてマルチプレクサ４１０は相互に同一である）。入力（ck bypass, ck jtag cntl,clk cnt,mf mode, sys n  clk ）は、制御回路５１０のそれぞれの入力（ck bypass, ck jtag cntl,clk cnt,mf mode, synclk）に接続されており、これに関しては図６に図示されている。
マツチプレクサ４１０の入力(TCLK , CLKIN , jm clk , mf mode) は、回路５２０のそれぞれの入力(D0 , D1, D2, S0）に接続されており、これに対しては図７に図示されている。制御回路５１０の出力(ctrl2, sctrl0, sctrl0n , sctrl1, sctrl1n , sctrl2, sctrl2n)は回路５２０のそれぞれの入力(S2 またはSYNS0 , SYNSON, SYNS1 ,SYNS1N , SYNS2 , SYNS2N）に接続されている。
回路５２０の出力(CLKOUTN）は並列に接続されている８個のインバータから構成された回路５３０に接続されている。回路５３０の出力は出力信号(CLKOUT)を供給する。
【００５８】
図６の図示のとおり、制御回路５１０の入力(synclk)はポジティブエッジトリガデータフリップフロップ(610，620 ，630)のクロック入力側に接続されている。３個のポジティブエッジトリガデータフリップフロップのＱ出力はそれぞれの信号(sctrl0 、sctrl1、sctrl2）を供給する。
３個のポジティブエッジトリガデータフリップフロップの相補型出力(DN)はそれぞれの相補型信号(sctrl0n、sctrl1n 、sctrl2n)を供給する。ポジティブエッジトリガデータフリップフロップ(610、620 、630)は相互に同一である。
【００５９】
回路５２０の入力（mf mode）は、ポジティブエッジトリガデータフリップフロップ６１０のデータ入力(D）に、そしてＮＯＲゲート６４０の二入力の中の一入力側に接続されている。ＮＯＲゲート６４０の出力はポジティブエッジトリガデータフリップフロップ６２０のデータ入力側に接続されている。ＮＯＲゲート６４０の第２入力はＡＮＤゲート６４４の出力側に接続されている。
ＡＮＤゲート６４４の二入力の中の一入力は回路５１０の入力（ck bypass）側に接続されている。ＡＮＤゲート６４４の他入力はＮＡＮＤゲート６５０の出力側に接続されている。
ＮＡＮＤゲート６５０の二入力の中の一入力はインバータ６５４の出力側に接続されている。インバータ６５４の入力は回路５１０の入力（ck jtag cntl) に接続されている。ＮＡＮＤ回路６５０の他の入力は回路５１０の入力(clk cnt)に接続されている。
【００６０】
入力（mf mode）はインバータ６６０の入力側に接続されており、この出力はＮＡＮＤゲート６６４の３個入力の中の一入力に接続されている。ＮＡＮＤゲート６６４の他の二入力は回路５１０の入力（ck bypass）に、そしてＮＡＮＤゲート６５０の出力にそれぞれ接続されている。
ＮＡＮＤゲート６６４の出力はインバータ６７０の入力側に接続されている。
【００６１】
インバータ６７０の出力はポジティブエッジトリガデータフリップフロップ６３０のデータ入力(D）側に、そして制御回路５１０の出力(ctrl2）側に接続されている。
【００６２】
図７の図示のとおり、回路５２０の入力(SYNS0、SYSN0N）は、伝達ゲート７１０のＮＭＯＳとＰＭＯＳゲートにそれぞれ接続されている。（伝達ゲート７１０は、並列に接続されているＮＭＯＳとＰＭＯＳトランジスタとを有している）。
【００６３】
伝達ゲート７１０の入力(D）はインバータ７１４の出力側に接続されている。
【００６４】
インバータ７１４の入力はＡＮＤゲート７１８の出力側に接続されている。ＡＮＤゲート７１８の二入力は回路５２０のそれぞれの入力(S0 、D0）側に接続されている。
回路５２０の入力(SYNS1、SYNS1N）は、伝達ゲート７１０と同一な伝達ゲート７３０のＮＭＯＳとＰＭＯＳゲートにそれぞれ接続されている。伝達ゲート７３０の入力(D）は、インバータ７３４の出力側に接続されている。インバータ７３４の入力は回路５２０の入力(D1)側に接続されている。
【００６５】
入力(SYNS2、SYSN2N）は伝達ゲート７３０のＮＭＯＳとＰＭＯＳゲートにそれぞれ接続されている。伝達ゲート７４０は伝達ゲート７１０と同一である。伝達ゲート７４０のデータ入力はインバータ７４４の出力側に接続されている。
インバータ７４４の入力はＡＮＤゲート７４８の出力側に接続されている。ＮＡＮＤゲート７４８の二入力は回路５２０のそれぞれの入力(S2 、D2）側に接続されている。
【００６６】
伝達ゲート７１０，７３０，７４０のデータ出力はインバータ７５４の入力側とインバータ７６０の出力側に接続されている。インバータ７５４の出力はインバータ７６０の入力側に接続されている。インバータ７５４の出力はまた、インバータ７６４、７６８の入力側に接続されている。インバータ７６４、７６８の出力は回路５２０の出力(CLKOUTN）側に接続されている。
【００６７】
以上本発明の好ましい実施の形態を図面を参照して説明したが、本発明は特にこれに限定されず、特許請求の範囲に記載された本発明の内容から逸脱すること無く当業者が可能な変形および修正は本発明の範囲に含まれる。
【００６８】
［付  録  Ａ］
この章では、ＭＳＰのテストモードおよび正常モードに関して説明する。このモードのすべては５個のＪＴＡＧピンのみを使用してＪＴＡＧ制御器により制御される。
【００６９】
１．２適用および仮定
次の節で説明するすべてのテスト機構は、基本的なデバギングと製造テスト過程の間のＭＳＰハードウェアテストを支援するために具現されたものである。
【００７０】
この資料は、使用者がＩＥＥＥ  １１４９．１ＪＴＡＧプロトコルとＬＳＳＤ型のスキャン特性が分かっていると仮定したものである。ＬＳＳＤ、ＪＴＡＧ、ＭＳＰに関するより詳細な情報は下記を参照せよ。
【００７１】
＊テストコンパイラ参照マニュアルバージョン３．２ａ(Synopsys 株式会社1994）
＊ＩＥＥＥ標準１１４９．１−１９９０：ＩＥＥＥ標準テストアクセスポートと境界スキャン構造、１９９０年
＊予備ＭＳＰ−１ＥＸシステム明細書、三星半導体インコーポレーテッド。
１９９６年。
【００７２】
１．３特徴
＊ＬＳＳＤ型スキャン設計
＊それぞれの機能ブロックのための独立されたスキャン動作
＊製造テストのための水平スキャン動作
＊ＭＳＰとＡＲＭ７のための２個の初期スキャンチェーン
＊すべてのＪＴＡＧの基本構造、内部テスト、外部テスト、サンプル／プリロード
＊メモリアクセス動作
＊ＢＩＳＴクロック発生器。
【００７３】
１．４テスト方法要約
ＭＳＰテスト方法は、ＬＳＳＤ(Level Sensitive Scan Design）タイプのスキャン設計、ＪＴＡＧ制御器、およびメモリテスト用ＤＦＴ(Design For Testability)とＢＩＳＴ(Built In Self Test)の混合された技術を含む多様なテスト機構を利用することにより円滑に実行される。
ＭＳＰで制御ブロックは十分にスキャン可能に製造され、データ経路ブロックはハードウェア故障(penalty）を減少たせるために、部分的にスキャニングされる。スキャンチェーンはデバギングを支援するための機能ブロックにより分割される。
【００７４】
２個の境界スキャンチェーンはＭＳＰとＡＲＭ７のためのものであり、１つのＪＴＡＧ制御器により制御される、ＪＴＡＧ制御論理は内部スキャンチェーンだけでなく、境界スキャンチェーンもスキャニングすることができる。
シリコンでのデバッグとテストはキャッシュメモリのためにハイブリッドＤＦＴ方法を利用する。これはＤＦＴ、ＪＴＡＧおよびＢＩＳＴ方法を並行したものである。自動比較機構はＭＡＲＣＨ  Ｃアルゴリズムが実行される間、テスト時間を短縮させるためにキャッシュ内に内蔵される。そのメモリはＪＴＡＧ制御器内に位置したメモリ制御レジスタにより制御される。
【００７５】
１．５概念的なＪＴＡＧ要件
以下では、ＪＴＡＧ制御器が備えなければならない一般的な要件を、広範囲なレベルテスティングでない機能的なデバギングの観点で詳細に記述する。
＊ＭＳＰとＡＲＭ７コアに対する境界スキャン：任意の機能ベクトルがスキャンチェーンに供給されるべきである。任意の機能ベクトルがスキャンチェーンに提供されることによって、クロックパッドでクロックパルスがスキャンチェーンを通してエミュレーションされ得る。３状態制御と両方向制御がデータバスのような連関された信号群で実行可能でなければならない。オフチップと内部論理の任意のパターンが捕捉され、ＴＤＯピンでシフトされる。相互結合テストと内部論理テスティングのために、境界スキャンセルを通して外部チップおよび内部論理を駆動させる必要がある。境界スキャン動作が有する１つの利点は、境界スキャンセルがＪＴＡＧ制御器により交信されるまで、すべての内部状態機構がその当時の状態を維持するようにすることである。
【００７６】
＊機能ブロックのスキャン入／出力テスト：スキャンチェーンは機能ブロック単位で分割される。もし１ブロックが他のブロックに比して非常に少ないスキャンセルを有している場合は、例外が発生される。任意の入／出力値に対するスキャンはすべてのスキャンセルに対して可能でなければならない。機能ブロックがスキャンされる間、選択されたチェーンを除外したすべての内部フリップフロップ／ラッチ、境界スキャンセル、キャッシュ、およびレジスタはその以前値を維持しなければならない。これは効率的なシリコンデバギング作業において非常に重要である。すなわち、すべてのデータレジスタ、境界スキャン、ＡＲＭ７境界スキャンは、独立的に制御可能でなければならない。
【００７７】
＊テストモードのシステムクロック発生：ＭＳＰチップは、使用者の要求により多いシステムクロックサイクルで実行される。これはクロックパルスの発生観点で２つの方法により遂行される。第１方法では、クロックポートに指定された境界スキャンセルによりクロックパルスが発生される。しかし、境界スキャンセルの利用は、パルスを生成するために、すべての境界スキャンセルを３回スキャニングすべきであるので非常に遅い(0-1-0）。システムクロックにおいて、このような減少は要らない。ただ捕捉された境界スキャンセルのみが利用される。ＴＣＫが２０ＭＨｚの場合約２４Ｋｈｚクロックが、ＭＳＰで境界スキャンチェーンによりシミュレーションされ得る。ＭＳＰの境界スキャンの長さは２７０ビットであることに留意しなければならない。また上述したこととは相異に、クロックパルスはＪＴＡＧクロックにより発生され得る。ＪＴＡＧクロックの中の１パルスであるＴＣＫは、１システムのクロックパルスと同一であるので、上述したクロックパルス発生に比して非常に早い。クロックパルスを発生させる第２の方法はメインシステムクロックの発生のために具現されたものである。他のクロックは境界スキャンチェーンによりエミュレートされる。
【００７８】
＊ＪＴＡＧを通したメモリアクセス：メモリ、ＩＤＣおよびＭＳＰ内のレジスタファイルは、テストモードでＪＴＡＧインターフェースを通して制御される。
【００７９】
任意の位置で読み出しおよび書き込み動作が提供される。１ＲＡＭにおける読み出しおよび書き込み動作は他のＲＡＭに貯蔵された内容に影響を及ぼさない。
【００８０】
＊多重独立スキャン：多数のスキャンチェーンは、機能ブロックよりはスキャンセル個数によって構成され、同時にスキャニングされる。ＪＴＡＧ制御器は、スキャンチェーン構造をさらに構成すべきであり、再構成された構造を有する回路を提供しなければならない。
【００８１】
＊ＪＴＡＧ命令：すべての基本的なＪＴＡＧ命令は、本節の前記の項目で記述された事項で、具体化された機能を提供するための命令とともに遂行されなければならない。ＪＴＡＧ命令が変更される間は、すべての境界スキャンセルが変更されず、すべてのフリップフロップ／ラッチはその状態を維持し、メモリは現在の内容を保存する。これは基本デバギング過程の間、現在の状態を予想することができるようにする。
【００８２】
１．６  分類されたＪＴＡＧ動作
この節は、以前の節で説明したＪＴＡＧの必要条件を満足した場合に関して論議する。ＭＳＰ設計のＪＴＡＧ動作は、６個の異なるカテゴリから分類される。
【００８３】
それぞれのカテゴリは、その応用によって若干の多様性を有する。使用者はＪＴＡＧ細部設計部分で、そのカテゴリのためのマッチング命令を見ることができる。６個の異なるカテゴリは、正常動作、境界スキャン動作、単一内部スキャン動作、メモリアクセス動作、多数の内部スキャン動作、疑似システムクロック動作モードであり、これは次のサブセクションで前記の動作を論議する。
【００８４】
１．６．１ 正常動作
すべての機能的メモリブロックは、そのブロックに規定された仮定により動作する。共有されたすべての入／出力ピンとテスト論理はこのモードで規則的な信号を提供するために適正に再調整される。ＪＴＡＧ標準信号ＴＲＳＴ＿Ｎ（＝０）をイネーブルさせることによって、前記のモードに転換され得る。
【００８５】
１．６．２ 境界スキャン動作
２個の境界スキャンチェーンが実現され、このチェーンはＭＳＰとＡＲＭ７コアである。ＭＳＰとＡＲＭ７のすべてのＩ／Ｏポートは、５個のＪＴＡＧ関連ピンを除外した、それの適当な境界スキャンセルを有している。スキャンチェーンの特定な境界スキャンセルは、ＭＳＰ境界スキャンとＡＲＭ７境界スキャン節で探すことができる。その２境界スキャンチェーンは１つのＪＴＡＧ制御器を共有し、独立的にスキャニングされなければならない。この２個のスキャンチェーンのための内部テスト、外部テスト、サンプル／プリロード命令が実現される。
【００８６】
１．６．３ 単一内部スキャン動作
このモードでは、ＪＴＡＧがＭＳＰ内でデータ変換の観点でハードウェア制御を遂行する。スキャンチェーンを有するすべての機能ブロックは独立的にスキャン入／出力し得る。「独立的」とは、選択されないスキャンチェーンはその状態が変更されないことを意味する。ただ選択されたブロックのみがＴＤＩポートからスキャン入力され、スキャンチェーンを更新し得る。
前記のスキャンモードは、優先的にチップデバギングに使用される。使用者はいつでもスキャンチェーン値を設定し観察することができる。単に１回に１つのスキャンチェーンのみがアクセスされるので、テスト時間からみると、単一のスキャンチェーンだけが存在するようであり、よって、前記の目的に適合するように使用されるとしても、製品テストには適合しない。
【００８７】
１．６．４ メモリアクセス動作
ＩＤＣ(Instruction Data Cache)のｖｄ＿ｒａｍとｔａｇ＿ｒａｍは、同時に選択されアクセスされる。ＲＡＭのいずれのアドレスもこのモードでは独立的に読み出しまたは書き込みが可能である。メモリ動作は、スキャンチェーンとＪＴＡＧ制御器により連続的にアクセスされる。
読み出しおよび書き込み動作のために１メモリがアクセスされるとき、他のメモリの内容を変更させない。以下、メモリのアクセス方法を説明する。
【００８８】
１．単一スキャンモードに変更し、ＲＡＭブロックを選択する。必要なデータでスキャンする。この場合、住所カウンタと書き込まれるデータを設定することができ、これはスキャンモードであるので、いずれの書き込み動作も実行されない。
２．単一スキャンモードからメモリアクセス動作に転換する。このモードでテストされるメモリの選択が可能である。ＪＴＡＧ制御器は各メモリ用選択信号のｄａｔａ ｒａｍ ｔｅｓｔ ｅｎ、ｖｔ ｒａｍ ｔｅｓｔ ｅｎ、およびｒｅｇｉｓｔ ｆｉｌｅ ｔｅｓｔ ｅｎを供給する。この信号は１回に１つのみが使用される。
３．１つのメモリが選択されると、メモリと住所カウンタ制御信号はＪＴＡＧを使用して制御される。制御名はｍｅｍ ｗｅ、ｍｅｍ ｈｗｄ、ｍｅｍ ｃｏｍｐａｒｅ、ｍｅｍ ａｄｄ ｕ／ｄ、ｍｅｍ ａｄｄ ｃｎｔ、ｍｅｍ ａｄｄ ｒｅａｅｔ、ｍｅｍ ａｄｄ ｓｅｔである。その利用はＪＴＡＧインタフェース信号に関する節で説明する。
【００８９】
１．６．５ 多重内部スキャン動作
単一スキャンモードだけでなく、１０個の相異なスキャンチェーンがＭＳＰ  Ｉ／Ｏポートから同時にアクセスされる多数のスキャンモードがある。１０個の相異なスキャンチェーンは基本的にスキャンフリップフロップ／ラッチカウントに基づいて、現存するスキャンチェーンから再組織される。
多重スキャンチェーン動作は製品テストに使用される。１０スキャンフリップフロップはすべてのクロックサイクルでアクセスされ得る。その上に、ＪＴＡＧ命令スイッチングは、単一スキャンモード時のように、スキャニングされる特定機能ブロックを備える必要がない。
【００９０】
１０個のスキャン入力は正常的な機能的両方向ピンと共有される。その名称は、ａｄ０６ ｓｉ０、ａｄ０７ ｓｉ１、ａｄ０８ ｓｉ２、ａｄ０９ ｓｉ３、ａｄ１０ ａｉ４、ａｄ１１ ｓｉ５、ａｄ１２ ｓｉ６、ａｄ１３ ｓｉ７、ａｄ１４ ｓｉ８、ａｄ１５ ｓｉ９などである。１０個のテストピンは、正常的な両方向ピン、ａｄ１６ ｓｏ０、ａｄ１７ ｓｏ１、ａｄ１８ ｓｏ２、ａｄ１９ ｓｏ３、ａｄ２０ ｓｏ４、ａｄ２１ ｓｏ５、ａｄ２２ ｓｏ６、ａｄ２３ ｓｏ７、ａｄ２４ ｓｏ８、ａｄ２５ ｓｏ９とに連結される。
【００９１】
２個の入力ポート(tca、tcb)はスキャンクロックピン(stimulus)に使用される。２個のポートはテストに利用されるので、テスト発生には何等の制限も与えない。２個のポートはＪＴＡＧ制御器でなく、テスタ装置のポートであることが分かるべきである。
製造時のテスト装置において、ＭＳＰは多数スキャンモードに設定し、境界スキャンセルは透過モードに設定する。したがって、正常ポートのすべてのテストベクトルは境界スキャンセルを通して応用され得る。
ＪＴＡＧが多数の状態であることを表す信号は、両方向Ｉ／Ｏセルを調整することには使用され得る。両方向ピンを調整するための先行処理段階を避けることが好ましい。
【００９２】
１．６．６ 疑似システムクロック動作
スキャンチェーンがロードされてから、ＭＳＰの一部分は基本デバギングが実行される間、単一または多重クロックで実行される必要がある。ＪＴＡＧ制御器は、２個のシステムクロック( clk1、clk2) と内部的に混合される２個の非重畳されたクロック(jsca 、jscb) を発生する。
前記の動作は正常モードとは異なるクロックソースを有している。このモードでは、クロックはシステムクロックの代わりにＪＴＡＧ制御器から発生されたものである。これを疑似システムクロックという。その出力のクロックはシステム動作に影響を及ぼす。一般的に、疑似システムクロックはＩＤＣブロックに表れる。そのクロックは応用されると、他のシステムクロックはその状態を維持する。
【００９３】
このモードでは、使用者が指定した数のクロックサイクルの間、ＪＴＡＧ生成クロックを応用することができる。しかし、クロックカウンティングはＪＴＡＧ制御器で実行されない。それはｐｒｏＴＥＳＴ＿ＰＣとＡＶＬ（「ハードウェアテスト環境」を参照）を通して供給される。
【００９４】
１．７  テストモードの信号概要
図８は概要図である。６個の異なるモードは、すべてＪＴＡＧ命令を通して転換可能である。これはモード間への転換のためのＩ／Ｏピンがないことを意味する。ＪＴＡＧ命令が要望するモードに伝達されるためには、まず、ＪＴＡＧ命令がロードされなければならない。
【００９５】
表１は、６個の異なるモードの重要信号の一般的な特性を示している。３種類のクロック、システムクロック、スキャンクロック、疑似システムクロックは他のテストモードを支援することに使用される。ＭＳＰのクロックは図９に図示されている。システムクロックはシステムクロックから発生された２個の非重畳クロック（clk1、clk2）を表す。その中の１つは、その用途によって、スキャンフリップフロップとスキャンラッチの正常クロックポートに連結される。
【００９６】
スキャンクロックはスキャン動作のための２個の非重畳されたクロックであり、すべてのスキャンフリップフロップとスキャンラッチのスキャンクロックポートに連結される。スキャンクロックはＪＴＡＧ制御器またはＭＳＰ入力パッド(tca、tcb)により生成される。それはテストモードによって適切に選択される。単一スキャンモードで２個のスキャンクロック(jsca 、jscb) は選択された機能ブロックに対してパルスを発生させ、２個のクロックポート、ｔｓａ，ｔｓｂは論理０に維持される。多数のスキャンモードで、ｊｓｃａとｊｓｃｂとはロジック０に維持され、ｔｓａとｔｓｂとはイネーブルされる。
【００９７】
疑似システムクロックはまた、ＪＴＡＧ制御器により発生される２個の非重畳クロックである。それは、スキャンクロック(jsca,jscb) のような信号である。
【００９８】
しかし、疑似システムクロックはこのとき他の位置で、スキャンクロックポートの代わりに正常クロックポートを利用する。単一スキャンモードと疑似システムクロックモードは同時に発生されないことに注視せよ。前記のクロックは、スキャン動作よりはシステム実行のために使用されるので、疑似システムクロックと呼ばれる。このクロックはｐｓｃａ、ｐｓｃｂに表示される。
【００９９】
表１の機能ブロックは、ＭＳＰ設計のハードウェアモジュールに関する。このモジュールは倍率器、ＦＡＬＵの場合もある。メモリブロックはＩＤＣまたはレジスタファイルである。入力ピンはＪＴＡＧ入力ピンを除いたＭＳＰ入力または入出力パッドに関する。出力ピンはＴＤＯピンを除いたＭＳＰ出力または入出力パッドに関する。
【０１００】
【表１】
0003890126.tif 000002
【０１０１】
正常モードで、システムクロック、システムクロック(clk1 、clk2) はパルスを発生させ、ＭＳＰ明細書で記述したとおり、基本的にＭＳＰを遂行する。スキャンクロック(sca、scb)は非活性状態である(sca=0sca=0)。もし、活性状態であれば、ＭＳＰ内のスキャンフリップフロップとラッチとは未知の状態に転換される。疑似システムクロックは非活性状態である。したがって、すべての連続的な要素を遂行するクロックは、ＪＴＡＧ制御器でなくシステムクロックピン(mclk)から発生される。すべてのテスト論理は正常機能に影響を及ぼさない。
【０１０２】
境界スキャンモードですべてのクロックは非活性状態となる。境界スキャンチェーンは、ＪＴＡＧ生成クロックを通してその値をシフトする。すべての機能ブロックはスキャン動作の間その状態を維持する。
単一スキャンモードでは１つのブロックのみが選択され得ることができ、スキャンクロックを利用して入出力をスキャニングすることができる。この期間の間、５個のＪＴＡＧピンのみが使用され、他のＩ／Ｏピンは意味がない。同じ理由で、正常モードでシステムブロックは非活性状態となる。この期間の間すべてのメモリ書き込み動作はディスエーブルされなければならない。
【０１０３】
メモリテストで、疑似システムクロックは、メモリ読み出しおよび書き込み動作に使用される。処理されるすべてのデータがメモリブロックのスキャンチェーン内にあるので、このモードでも入出力は意味はない。すべてのメモリ制御は、ＪＴＡＧ制御論理に常駐するメモリ制御レジスタにより調整される。
多数のスキャンモードは、入力パッド(tca、tcb)から発生されるスキャンクロックを使用する。１０個のスキャン入力ポートと１０個のスキャン出力ポートは、ＪＴＡＧポートＴＤＩの代わりにスキャンデータを供給することに使用される。疑似正常モードはＪＴＡＧからＭＳＰの遂行までのクロックを使用する。このモードでＭＳＰ  Ｉ／Ｏの境界スキャンセルは透明でなく、内部テスト状態である。したがって、入力はこのモードで安定される。
【０１０４】
１．８  ＪＴＡＧ制御器を通したクロック制御機構
クロック制御機構は円形デバギングを助けるために含まれている。前記の機構はクロック停止、命令によるクロック生成、クロック再始動を遂行する。制御信号として特別な制御レジスタは１．１０．４に言及される。ＭＳＰクロック用のクロック仕様を調べよう。
クロック停止：クロック停止要求がＪＴＡＧ制御器からクロック生成器まで発生された場合、ＭＳＰクロック、システムクロック、ｐｃｉクロックおよびコードクロックは、クロック停止要求が発生されたときの各クロックの最初の上昇エッジで停止する。
【０１０５】
クロック停止要求は２つの方法で発生される。第１番目の簡単な方法は、システム状態に関係なく要求を発行するものである。第２番目の方法はＭＳＰがクロックを停止させる準備ができたときに要求することである。ＪＴＡＧ制御器はＭＳＰに注視してクロック停止を放送し、ＭＳＰからアイドル状態を認識してからクロック生成器に停止を要求する。一般的に、ベクトルコアのみがＪＴＡＧ制御器のアイドル状態を表す。
要求されたクロック発生：１０２４までの任意のクロックサイクル数がＪＴＡＧ制御器で制御レジスタを通すクロック生成を要求する。そのクロック数はシステムクロック用である。他のクロックはシステムクロックに比例して生成される。必要によって生成されたクロックは現存のクロックと同じである。要求はクロックが停止してから生成される。
クロック再開：クロック再開が要求されると、すべてのクロックは最初の上昇エッジ以降で開始される。
【０１０６】
１．９  全体リセット動作
システムリセットはＭＳＰチップ中のスキャンチェーンを使用して実行され得る。この動作で、マスタリセット信号は、ロー状態（アクティブロー）状態となり、リセット動作範囲の間前記の状態を維持する。
ＪＴＡＧクロック、ＴＣＫは正常状態では作動されないので、システムクロックはスキャンチェーンでデータをシフトすることに利用される。このとき、ＴＣＫが作動されないので、これは１つのＪＴＡＧ命令として見なされない。
この技術の機能性は、マスタリセットがローの場合、論理「０」値がすべてのスキャンフリップフロップ／ラッチにシフトされる。リセット動作を満足する条件は下記のとおりである。
【０１０７】
＊システムクロック「ｃｌｋ１」と「ｃｌｋ２」、そしてスキャンフリップフロップ／ラッチに影響を及ぼすすべての他のクロックは、ディスエーブルされる必要がある(clk=0、clk=0 ）。これは一種類のクロックがスキャンクロックであり、スキャンフリップフロップ／ラッチに応用されることを保障する。これは制御論理がクロックポートに付加されることを要求する。
＊システムクロックはスキャンクロックとｓｃａ、ｓｃｂを発生することに利用される。スキャン動作は遅い速度を要求するので、正常フリーランニング(free running)クロックは使用されない。システムクロックは２分周される。
＊マスタリセットは、スキャンフリップフロップ／ラッチにリセット値をシフトする程度に十分に遅い必要がある。これを満足させないと、不適合した動作を誘発する。
前記の動作はＪＴＡＧ制御器の内部で具現されている。しかし、ＭＳＰがこの動作を具現するかはまだ決定されていない。
【０１０８】
１．１０  ＪＴＡＧ設計細部説明
本節は、ＭＳＰ  ＪＴＡＧ設計結果、命令および使用可能なコードに関して説明する。以前の節で説明したすべての機能は、本節で説明する命令を使用して達成され得る。
ＪＴＡＧ制御器の命令解読器はできるだけ３８修理の命令からなっている。一般的に１個の命令は更に多い応用を含んでいる。３６個の中の１７個の命令は、連合された内部データレジスタを有する。
【０１０９】
それぞれのデータレジスタと命令レジスタの連続出力ＴＤＯピンに連結される。命令によりＴＤＩピンでデータが選択されると、選択されたデータレジスタまたは命令レジスタ、ＴＤＯピンで観察された場所に連続的にシフトされる。
【０１１０】
すべてのＪＴＡＧ回路でＭＳＢは左側の最上位ビットであり、「ＤＡＴＡ［Ｎ：０］」のような典型的な信号名である。他の回路に含まれる場合はこの標準方式にしたがうべきであり、これは信号の相互連結を調整するためのものである。
【０１１１】
１．１０．１ 要求条件
ＪＴＡＧ制御器を正常的に動作させようとすると、下記の項目を必ず満足させねばならない。
【０１１２】
＊入力ピン：ＴＤＩ、ＴＭＳピンはオンチップフールアップレジスタを備えるべきである。もしこのピンが使用者により連結されていない状態であれば、まだ論理ハイである。すべてのＪＴＡＧ入力ピンはＪＴＡＧ制御器の好ましい動作のために、すべての動作条件で論理ハイまたは論理ローレベルに連結されなければならない。
＊クロックスキュー(skew)：約２７０ビット長さのクロックドライバは、境界スキャンレジスタがビット０クロック入力からビット２７０クロック入力間の曲がりが最小化されるように設計、レイアウトされなければならない。ＪＴＡＧ制御器は、最大４０ＭＨｚのクロック周波数で動作するように設計されている。
＊クロック状態：以下で内部スキャン動作の間に観察されるクロック状態を列挙する。
【０１１３】
１．スキャンラッチの正常クロックポートに伝達されるクロックはディスエーブルされなければならない。
２．スキャンフリップフロップの正常クロックポートに伝達されるクロックはディスエーブルされなければならない。
【０１１４】
１．１０．２ ＭＳＰの内部スキャンチェーン
ＪＴＡＧ制御器用の内部スキャンチェーンは、影響力のあるチップデバギングを目的として、機能ブロック単位で組織される。すべての内部スキャンチェーンは表２のとおりである。現在のスキャンチェーン部分は、製造工程時に、最終テスト時間に影響を及ぼさない。それは、スキャンチェーンがチェーン当たりのスキャン数に基づいて、製造テストの目的で再組織するからである。しかし、ＭＳＰチップがデバグされる方法には影響を及ぼす。
【０１１５】
【表２】
0003890126.tif 000003
【０１１６】
１．１０．３ ＪＴＡＧ命令
ＪＴＡＧ命令は表４から表１０まで説明されている。それは、分類されたＪＴＡＧ動作部分で説明したＪＴＡＧ動作種類によって分類される。「テスト名」は各命令の名称とその応用を含む。命令コードは、特定データレジスタにアクセスされる前、ＪＴＡＧ制御器の命令レジスタにシフトされなければならない。選択されたレジスタは各命令でアクセスされ得るデータレジスタを表す。
【０１１７】
表４は、ＭＳＰの境界スキャンチェーンのための命令を示している。その中の８個は、ＭＳＰ境界スキャンチェーン用である。それは、ＭＳＰ境界スキャンチェーンまたはその応用に依存するバイパスレジスタの中から選択する。境界スキャンチェーンが選択されると、ベクトルはスキャンチェーンにロードされ得る。
【０１１８】
その反面、ＭＳＰ境界スキャンチェーンはアクセスされ得ない。
表４の３個の命令は、ＡＲＭ７境界スキャンチェーン用である。それはＡＲＭ７境界スキャンチェーンを選択する。
【０１１９】
【表３】
0003890126.tif 000004
【０１２０】
表３は、境界スキャンセルとシステムクロックバイパス信号のための制御信号を示している。ＭＳＰおよびＡＲＭ７の２境界スキャンチェーンを制御するための４種類のモード信号があるが、下記に詳細に記述されている。他の制御信号の説明は次の節のＪＴＡＧ  Ｉ／Ｏ信号表を参照せよ。
【０１２１】
ＭＳＰ ｂｓ ｄｉｓａｂｌｅ、ＡＲＭ ｂｓ ｄｉｓａｂｌｅおよびｓｙｓ ｃｌｋ ｂｙｐａｓｓ。
＊ＭＳＰ  Ｍｏｄｅ Ｉ：ＭＳＰ境界スキャン入力セルモード信号
＊ＭＳＰ  Ｍｏｄｅ ０：ＭＳＰ境界スキャン出力セルモード信号
＊ＭＳＰ  Ｍｏｄｅ Ｃ：ＭＳＰ境界スキャン制御セルモード信号
＊ＡＲＭ７  Ｍｏｄｅ Ｉ：ＡＲＭ７境界スキャン入力セルモード信号
＊ＡＲＭ７  Ｍｏｄｅ ０：ＡＲＭ７境界スキャン出力セルモード信号
すべての信号がローの場合、境界スキャンセルは、正常入力ポートから入力されるために透明になる。入力がハイの場合、境界スキャンセルの出力は、境界スキャンセルの最近ラッチに依存する（境界スキャンセルの詳細な事項に関しては、ＫＧＬ７５データブックを参照せよ。）。
【０１２２】
表５は、ＪＴＡＧ制御器によりアクセスされ得るすべての機能ブロックのための内部スキャンチェーンを示している。表６では、多数のスキャンモード用のただ１つの命令がある。
表７は、メモリアクセス命令を示している。ＩＤＣブロック内の３メモリはＪＴＡＧ制御器により制御可能である。データＲＡＭとレジスタファイルはその自分の命令を有する。Ｖｄ  ＲＡＭとＴａｇ  ＲＡＭとは同時にアクセスされる。
【０１２３】
未来に使用可能なまた１つの命令がある。ＲＯＭまたは他の埋入されたＲＡＭである場合もある。ＭＣＲはＪＴＡＧ制御器に位置したメモリ制御レジスタである。
【０１２４】
表８は、システムが強くなった場合のデフォルト命令を示している。表９は、事実上でなく、ＪＴＡＧピンＴＣＫか発生される生成疑似システムクロックのための命令を示している。したがって、使用者はＪＴＡＧインターフェースでクロックサイクル数を制御することができる。表１０は未来応用のために利用可能な命令を示している。
【０１２５】
【表４】
0003890126.tif 000005
【０１２６】
【表５】
0003890126.tif 000006
【０１２７】
【表６】
0003890126.tif 000007
【０１２８】
【表７】
0003890126.tif 000008
【０１２９】
【表８】
0003890126.tif 000009
【０１３０】
【表９】
0003890126.tif 000010
【０１３１】
【表１０】
0003890126.tif 000011
【０１３２】
【表１１】
0003890126.tif 000012
【０１３３】
１．１０．４ 特殊制御レジスタ
２個の特殊レジスタは、ＪＴＡＧ制御器により制御される。この２個のレジスタは、内部の論理を制御するか、またはＭＳＰシステムの状態を観察するために利用され、２個のレジスタ名は、ＭＣＲ（モード制御レジスタ）に与えられる。
【０１３４】
各レジスタに対する制御信号は、下記の表１２〜１６に記すとおりである。
【０１３５】
【表１２】
0003890126.tif 000013
【０１３６】
【表１３】
0003890126.tif 000014
【０１３７】
【表１４】
0003890126.tif 000015
【０１３８】
【表１５】
0003890126.tif 000016
【０１３９】
【表１６】
0003890126.tif 000017
【０１４０】
１．１０．５ ＪＴＡＧ命令を利用したテストシナリオ
１．１０．５．１ デバギング段階
ＭＳＰのデバギング段階は、すでに定義され反復される２個の段階を含む。後に続く簡単な段階は下記で説明する。これが段階の途中でＪＴＡＧ命令の使用方法である。
【０１４１】
＊段階０：クロック停止要求発行：ＭＳＰがその動作を遂行する途中で、或る理由でクロックを停止させようとする場合、まずクロック停止表示が生成される必要がある。これはＪＴＡＧ制御論理を通して発生される。それから、その表示は、必要なすべての機能ブロックに知られる。ＪＴＡＧ命令ＭＣＲ／ＢＩＳＴ１またはＭＣＲ／ＢＩＳＴ２は、その信号を発生することに使用され得る。
【０１４２】
＊段階１：内部状態観察：次の段階は、正常モードからＪＴＡＧ制御モードに転換する時期を把握することである。このモードでは、内部状態がＯＣＲ（Observation Control Register）を通して観察され得る。クロック停止はＪＴＡＧがすべての機能ブロックからすべての信号を観察するときまで実行されない。ＭＳＰがその動作を遂行する間、その状態はＴＤＯピンを通して観察され得る。使用される命令はモニタに表れる。
【０１４３】
＊段階２：クロック停止：クロックを中止させる必要がある状態が観察されると、システムがアイドル状態の場合、使用者は全種類のクロックを停止し得る。
【０１４４】
クロック停止は適当なスキャンレジスタをスキャンしなければならない。使用者はＭＣＲ値をどのように設定したかによって選択的にクロックを停止させ得る。
【０１４５】
正常クロックを駆動するためのブロックセルをスキャンしてはいけない。クロック停止信号はＭＳＰがシステムクロックに伝達されているときに発生する。４命令ＭＣＲ/ ＢＩＳＴ1 、ＭＣＲ/ ＢＩＳＴ2 、ＭＣＲ/ ＢＩＳＴ3 、ＭＣＲ/ ＢＩＳＴ4 の命令の中のいずれも、クロック停止信号を発生させることに使用され得る。ＭＣＲ／ＢＩＳＴ１とＭＣＲ／ＢＩＳＴ２とは境界スキャンセルが透明モードにある場合信号を発生させ得る。残りの２個はすべての入力信号が遮断されるとき、クロック中止信号を発生させる。
【０１４６】
＊段階３：内部状態スキャン：これからすべてのクロックはバイパスされ、不自由に作動するクロックが存在しなくなった。使用者は適当なブロックをスキャニングし得る。ＡＲＭ７ブロックの境界スキャンのために、命令９−１０を使用することができる。命令１２から命令２８までは、機能ブロックをスキャンするために使用することができる。命令３５と３６は、テストクロック入力ピンＴＣＫから発生される速いクロックを生成することに利用され得る。前記のクロックが再開始される前、使用者はＭＳＰで必要な事項を設定する。たとえば、ＡＲＭクロックのような１／２クロックを発生させる状態機構に留意する必要がある。
【０１４７】
＊段階４：クロックの再開：これからシステムクロックはＭＣＲ値が決定されることにより再開され得る。段階２のような命令がこの段階でも使用され得る。
【０１４８】
クロックがさらに開始される前、クロック停止表示は論理「０」にリセットされる。
【０１４９】
１．１０．５．２ 製造テスト動作
製造テストモードは多数スキャン命令に入ることができる。一応、このモードがデコードされると、ＭＳＰは下記のように配列される。
【０１５０】
＊１０個の両方向ピンが入力ポートに配列される。
＊１０個の両方向ピンが出力ポートに配列される。
＊１個の両方向ピンがｃｌｋ１の入力ポートに配列される。
＊１個の両方向ピンがｃｌｋ２の入力ポートに配列される。
＊１個の両方向ピンがｓｃａｎ＿ｍｏｄｅの入力ポートに配列される。
＊他の両方向ピンが正常モードでのように制御される。
＊Ｉ／ＯクロックのようなＡＲＭ７クロックは、ｃｌｋ２に応用される。
＊ＰＣＩクロックがｃｌｋ１、ｃｌｋ２を使用する。
＊スキャンクロックは２個の入力ピン(tca、tcb)により発生される。
＊すべてのコーデッククロックは、コーデッククロックポートから供給される。
【０１５１】
１．１０．５．３ ＡＲＭ７実行
ＡＲＭ７は、ＡＲＭ７内部テスト命令を使用して実行される。ＡＲＭ７境界スキャンセルは透明でない。ＡＲＭ７の入出力は境界スキャンチェーンを通して印加され観察される。
クロックは、クロックの応用を向上させるために、ＴＣＫから発生される。３個の入力(prog32 、data32 bigend)は、ｍｃｌｋがハイの場合、この信号を変更しなければならない。そうするために、最近信号が他の境界スキャンセルの最近信号から分離される。
ｍｃｌｋは、Ｉ／Ｏクロックと共有されることに注視しなければならない。ＡＲＭ７クロックがトリガ状態であれば、他のブロックの状態は変更中である。
【０１５２】
１．１０．５．４ キャッシュとレジスタファイルアクセス
ＭＣＲ／ＢＩＳＴ４命令を呼び出してデータレジスタでＭＣＲを選択し、入出力信号を遮断せよ。ｂｉｓｔクロックは動作速度を向上させるためにこのモードで生成される。ＭＣＲを制御することにより、読み出しおよび書き込みが遂行され得る。キャッシュとレジスタファイルに入るクロックは、テストクロックとｍｕｘされる。メモリ動作は他の論理ブロックの状態を変更しない。
【０１５３】
１．１０．５．５ ベクトル専用実行
ベクトルのみを実行するためには、ＡＲＭ７ブロックの出力をＶＰブロックの入力として見なす。そのためのＡＲＭ７境界スキャンアクセス命令を使用せよ。
【０１５４】
１．１０．５．６ 内部テスト、外部テスト
内部テスト命令、外部テスト命令を使用せよ。
【０１５５】
１．１０．６ ＪＴＡＧインターフェース信号
【０１５６】
【表１７】
0003890126.tif 000018
【０１５７】
【表１８】
0003890126.tif 000019
【０１５８】
【表１９】
0003890126.tif 000020
【０１５９】
【表２０】
0003890126.tif 000021
【０１６０】
【表２１】
0003890126.tif 000022
【０１６１】
【表２２】
0003890126.tif 000023
【０１６２】
【表２３】
0003890126.tif 000024
【０１６３】
すべてのＪＴＡＧインターフェース信号が表１１に列挙されている。
【０１６４】
１．１１ ハードウェアテスト環境
ハードウェアテスト環境は図１０に図示されている。ＡＶＬ（ASCII Vector Language)は、境界スキャンテストのために特別に考案された言語であり、境界スキャンテストツールである。この言語は、ＩＥＥＥ標準１１４９．１により定義された連続境界スキャンが可能な、伝統的な平行ベクトル偏向自動テスト装置を含む。
ｐｒｏＴＥＳＴ−ＰＣはコンポーネント、ボードおよびシステムをテストするためのＩＥＥＥ標準１１４９．１信号を生成、受信することができる、ＰＣに基づいたテスト制御器ボードである。ＡＶＬとｐｒｏＴＥＳＴ−ＰＣは、ＡＩＳ(Alpine Image System、Inc.）の製品である。
【０１６５】
テスト過程の間、ＭＳＰのすべてのテストベクトルは、ＡＬＵ言語により連続的にフォーマットされ、ｐｒｏＴＥＳＴ−ＰＣボードを通してＭＳＰに印加される。テストベクトルは、ＭＳＰ  Ｉ／Ｏまたはスキャンチェーンに印加されるベクトルである。すべての機能ブロックのためのテストベクトルの応用を容易にするためにＡＶＬマクロは、スキャンチェーンの特別な位置をアクセスするために開発される必要がある。通信はＪＴＡＧ５ピンのみを通して遂行される。より詳細な情報は、下記の資料を参照せよ。
【０１６６】
＊ＡＶＬ使用者ガイド、Ｖ１．８０、Ａｌｐｉｎｅ  Ｉｍａｇｅ  Ｓｙｓｔｅｍ，Ｉｎｃ．１９９５
＊ｐｒｏＴＥＳＴ−ＰＣ用使用者ガイド、Ｖ３．０１、Ａｌｐｉｎｅ  Ｉｍａｇｅ  Ｓｙｓｔｅｍ，Ｉｎｃ．１９９５
１．１２  内蔵型ＲＡＭテスト技術
１．１２．１ ＩＤＣ
図１１には、ＩＤＣブロック用のテスト機構が図示されている。テスト論理はＣＣＵおよびＩＤＣに含まれている。すべてのドットラインは、正常モードの信号を表す。ＣＣＵブロックはテスト上の住所とノーマルモードの住所を加えた論理を供給する。住所はセット、リセット、増加／減少およびカウントイネーブル機能を有する９ビットカウンタから生成される。すべてのカウンタ動作はシステムクロック、ｃｌｋ１と同期されるべきである。４個のカウンタ制御信号(mem add  ud、mem  add  cnt 、mem  add  reset 、mem  add  set)はＪＴＡＧ制御器により供給される。ＭＳＰ側の最初の２ビットはキャッシュ選択のために連結される必要がある。
【０１６７】
３２ビットｂｅｎ ｉｄｃ信号はメモリテストの間論理１にセットされる。テスト信号と正常信号の中から２個の信号を選択することができる。Ｖｔ ｒａｍ ｔｅｓｔ ｅｎは、Ｖｄ ｒａｍとｔａｇ ｒａｍとをテストするためのもので、ｄａｔａ ｒａｍ ｔｅｓｔ ｅｎはｄａｔａ ｒａｍテストのためのものである。もし信号が論理ハイ状態であれば、テストデータが選択される。
ＩＤＣブロックは、ＭＡＲＣＨ  Ｃアルゴリズムが応用される間、自動比較のための埋入された比較器を備える。またＪＴＡＧ制御器により供給される６個のメモリ制御信号がある。Ｍｅｍ ｃｏｍｐａｒｅは、入出力レジスタ間の比較をイネーブルする。エラーが発生されると、比較器の出力は論理０を発生する。そうでなければ論理１である。すべての入出力レジスタは、スキャンチェーンの中で、入出力アクセスを製造が可能である。
【０１６８】
Ｍｅｍ ｈｗｄ信号は、論理１の場合、書き込みレジスタにデータの維持をイネーブルする。他のメモリ制御信号、ｍｅｍ ｗｅ、ｍｅｍ ｄａｔａ ｃｓ、ｍｅｍ ｖｔ ｃｓ、ｍｅｍ ｖｃｌｅａｒに対しては、ＭＳＰスペックを参照せよ。名称は、それが「ｍｅｍ」から始まることを除いては正常モード信号と同一である。
【０１６９】
１．１２．２ レジスタファイル
レジスタファイルのためにテスト機構は、テストモードでレジスタファイルを容易にアクセスすることにその目的がある。ＩＤＣのような埋入された比較器論理がないので、ＭＡＲＣＨタイプのアルゴリズムをこのメモリに応用させることは実用的でない。
【０１７０】
図１２（レジスタファイルテスト機構）は、テスト環境のための全体の機構を図示している。ドットラインは正常信号を表す。そこには、data path 、reg  file、EXE ブロックの３部分がある。太い線の右側のすべての論理は、ｒｅｇ ｆｉｌｅブロックを除いたＥＸＥブロックに属する。ＥＸＥブロックは住所を選択し、テストと正常モードとの間で信号を制御するために、論理を供給する。テストモード選択信号、ｒｅｇ ｆｉｌｅ ｔｅｓｔと、３個のメモリ制御信号ｍｅｍ ｗｅ１、ｍｅｍ ｗｅ２、ｍｅｍ ｃｅｘは、ＪＴＡＧ制御論理により供給される。もしｒｅｇ ｆｉｌｅ ｔｅｓｔ ｅｎがハイ状態であれば、テストデータが選択される。
【０１７１】
住所はセット、リセット、増加／減少、カウントイネーブルの６ビットカウンタにより発生される。すべてのカウント動作はシステムクロックｃｌｋ１と同期される。入出力レジスタは、図１２のとおり、データ経路ブロックに位置する。
【０１７２】
すべてのＩ／Ｏレジスタはスキャンされる必要がある。３２ビットベン(ben）信号はテストモードで論理１状態を維持している。
自由に動作するクロックは、レジスタファイルに供給される。捕捉したスキャンレジスタは、レジスタファイルの出力にしたがう。
【０１７３】
１．１３  ＭＳＰ境界スキャン
ＭＳＰのすべてのＩ／Ｏパッドは適当な境界スキャンセルを有する。２７０個の境界スキャンセルが１スキャンチェーンに連結される。シーケンスとセルは表１３に列挙されている。
【０１７４】
１．１３．１ 境界スキャンセルの選択
ＫＧＬ７５で現在に利用可能なＪＴＡＧセルは、下記のとおりである。それに符合するＪＴＡＧ標準セルは、表２４のとおりである。ＭＳＰの境界スキャンチェーンはＬＳＳＤタイプのスキャンセルを使用する。ＫＧＬ７５との差異点は、境界スキャンチェーンにシフトするために二つの重畳しないクロックを使用することである。ＫＧＬ７５境界スキャンセルはＡＲＭ７の境界スキャンに使用される。
【０１７５】
＊ＪＴＢＩ１：両方向Ｉ／Ｏ境界スキャンセル。
＊ＪＴＣＫ：クロック入力のような特別な入力境界スキャンセル。
＊ＪＴＩＮ１：入力境界スキャンセル。
＊ＪＴＩＮＴ１：３状態制御境界スキャンセル。
＊ＪＴＯＵＴ１：出力境界スキャンセル。
適当な境界スキャンセルを選択する規則は、下記のとおりである。
【０１７６】
【表２４】
0003890126.tif 000025
【０１７７】
＊ＧＮＤ、ＶＤＤ、ＶＣＣピンを除外したクロック入力を含むすべての入力セルには、ＪＴＩＮ１を使用。
＊すべての両方向セルにはＪＴＢＩ１を使用。
＊すべての出力セルにはＪＴＯＵＴ１を使用。
＊３状態ピンにはＪＴＩＮＴ１を追加。ＡＤ［３１：０］のような信号グループのための１つの３状態制御セルのみを使用。
＊ｏ／ｄ(open drain)を備えたピンは、ＪＴＩＮＴ１セルを使用。
＊ｓ／ｔ／ｓ(strained tri-state)を備えたピンは、境界スキャンセル選択の観点でｔ／ｓと同様である。
【０１７８】
１．１３．２ 境界スキャンセルシーケンス
＊境界スキャンは、ＴＤＩ入力の反時計方向に連結される。詳細な事項はレイアウトを参照せよ。
＊両方向ピンから入力セルは第１番目に来る。
＊３状態ピンが存在すれば、３状態制御境界スキャンセルとＪＴＩＮＴ１が前記のセルより先に伝達される。
＊シーケンスで多数の３状態ピンが存在すれば、ただ１つの３状態制御セルのみが前記シーケンスで第１番目の３状態ピンの前に挿入される。
【０１７９】
１．１３．３ 詳細な設計情報
すべてのＡＤｘｘ信号は同一な３状態イネーブル信号を有する。それで、ただ１つの制御境界スキャンセルのみが３２ビットＡＤ信号を制御することに十分である。しかし、多数のスキャンモードで信号を適切に制御するために、４個以上の制御境界スキャンセルが挿入されている。その結果、総５個の制御境界スキャンセルがＡＤバス用に利用される。５個の制御境界スキャンセルはＭＳＰコアから１つの正常制御信号を取り、５個の制御信号を生成する。
【０１８０】
【表２５】
0003890126.tif 000026
【０１８１】
【表２６】
0003890126.tif 000027
【０１８２】
【表２７】
0003890126.tif 000028
【０１８３】
【表２８】
0003890126.tif 000029
【０１８４】
【表２９】
0003890126.tif 000030
【０１８５】
【表３０】
0003890126.tif 000031
【０１８６】
【表３１】
0003890126.tif 000032
【０１８７】
【表３２】
0003890126.tif 000033
【０１８８】
【表３３】
0003890126.tif 000034
【０１８９】
【表３４】
0003890126.tif 000035
【０１９０】
１．１４  ＡＲＭ７境界スキャン
境界スキャンセル選択における方法のとおり境界スキャンセル選択を取り扱っている。例示のものより情報が多い場合は、前記のような選択を参照せよ。名称とスキャン順序は表１４に記述されている。
【０１９１】
【表３５】
0003890126.tif 000036
【０１９２】
【表３６】
0003890126.tif 000037
【０１９３】
【表３７】
0003890126.tif 000038
【０１９４】
【表３８】
0003890126.tif 000039
【０１９５】
【表３９】
0003890126.tif 000040
【図面の簡単な説明】
【図１】本発明によるテスト回路を有する集積回路のブロック図。
【図２】図１の集積回路に使用されるテストクロック発生器のブロック図。
【図３】図１の集積回路に使用されるクロック／データマルチプレクサを示すブロック図。
【図４】図１の集積回路に使用されるシステムクロック発生器の一部分の構成を示すブロック図。
【図５】図４に示すシステムクロック発生器の一部の構成を示すブロック図。
【図６】図５における制御回路の構成を示すブロック図。
【図７】図５における回路５２０の構成を示すブロック図。
【図８】図１の集積回路のＪＴＡＧの命令を通して入力され得るモードを示す説明図。
【図９】図１におけるテスト回路の構成を示すブロック図。
【図１０】図１におけるテスト回路に対するハードウェアテスト環境のブロック図。
【図１１】図１におけるテスト回路に適用するＩＤＣブロック用のテスト機構を示す説明図。
【図１２】図１におけるテスタ回路に適用するレジスタファイルテスト機構を示す説明図。
【符号の説明】
１１０    ＩＣ
１２０    テスト制御回路
１２６    チェーン
１３０    １３２：ＭＳＰピン
１４４    ＪＴＡＧ制御器
１４８    ＪＴＡＧ命令レジスタ
１５２    ＪＴＡＧ命令デコーダ
１５６    ＪＴＡＧブロック
１６０    テストクロック発生器
１６４    クロック／データマルチプレクサ
１６８，３１０，３１４，３１８，３２２，３２６，４１０，４１０，４１０．１，４１０．２    マルチプレクサ
１７４    システムクロック発生器
２０４，２０８，２４６，２５０，２７４，２８８，２９２，３４８，３５２，６５４，６６０，６７０，７１４，７３４，７４４，７５４，７６０，７６４    インバータ
２１４，２６４，６５０，６６４，７１８，７４８    ＮＡＮＤゲート
２４０，２８４，６４０    ＮＯＲゲート
３５６，３６８，６４４    ＡＮＤゲート
４２０    クロックカウンタ
４３０    クロック発生器
５１０    制御回路
６１０，６２０，６３０    ポジティブエッジトリガデータフリップフロップ
７１０，７３０，７４０    伝達ゲート
【図１】
0003890126.tif 000041
【図２】
0003890126.tif 000042
【図３】
0003890126.tif 000043
【図４】
0003890126.tif 000044
【図５】
0003890126.tif 000045
【図６】
0003890126.tif 000046
【図７】
0003890126.tif 000047
【図８】
0003890126.tif 000048
【図９】
0003890126.tif 000049
【図１０】
0003890126.tif 000050
【図１１】
0003890126.tif 000051
【図１２】
0003890126.tif 000052