(57)【特許請求の範囲】
【請求項１】
ａ）ＪＴＡＧテストの開始を示す第１信号（ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ／ｈｉｇｈ）をＪＴＡＧロジック回路（１４０）からメモリコントローラユニット（１６０）に入力する処理と、
ｂ）前記メモリコントローラユニット（１６０）が今回のメモリアクセス動作を終了した際に、前記ＪＴＡＧロジック回路（１４０）に第２信号（ｍｃｕ−ｉｄｌｅ／ｈｉｇｈ）を入力する処理と、
ｃ）前記第１信号（ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ）が前記メモリコントローラユニット（１６０）に入力され、前記第２信号（ｍｃｕ−ｉｄｌｅ／ｈｉｇｈ）が前記メモリコントローラユニット（１６０）から、前記ＪＴＡＧロジック回路（１４０）に向け出力された場合、前記メモリコントローラユニット（１６０）は、前記メモリコントローラユニット（１６０）に接続されたＳＤＲＡＭ（１１６）をセルフリフレッシュモードに設定する処理と、
ｄ）前記ＪＴＡＧロジック回路（１４０）から第３信号（ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓ／ｈｉｇｈ）をシステムクロック発生器（１５０）に入力して、システムクロック（１１５）をバイパスして、前記ＳＤＲＡＭ（１１６）に供給されないようにする処理と、
ｅ）前記メモリコントローラユニット（１６０）は、ＪＴＡＧテスティングの間に前記ＳＤＲＡＭ（１１６）を前記セルフリフレッシュモードに設定して維持する処理と、
ｆ）前記ＪＴＡＧテストが終了した後に前記ＪＴＡＧロジック回路（１４０）から前記ＪＴＡＧテストが終了したことを示す第４信号（ｊｔａｇ−ｓｄｒａｍ−ｎｏｒｍ／ｈｉｇｈ）を前記メモリコントローラユニット（１６０）に入力する処理と、
ｇ）前記メモリコントローラユニット（１６０）により、前記第４信号（ｊｔａｇ−ｓｄｒａｍ−ｎｏｒｍ／ｈｉｇｈ）が受信された場合、前記メモリコントローラ（１６０）は、前記ＳＤＲＡＭ（１１６）の前記セルフリフレッシュモードを解除する処理と、を順次実行し、
前記セルフリフレッシュモードは、前記ＪＴＡＧテスト期間中、前記ＳＤＲＡＭ（１１６）の現在の内容を保持するために使われることを特徴とするＪＴＡＧによるＳＤＲＡＭ回路テスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ボードに装着された集積回路チップのインシチューテストのためのＪＴＡＧ(Joint Test Action Group) テストポートを使用するＪＴＡＧによるＳＤＲＡＭ回路テスト方法及びその装置に関し、特に、“集積回路のテスティング用クロック発生”に関する。
【０００２】
【従来の技術】
最近の集積回路テストの発達は、ボードに装着された集積回路チップのインシチューテストのためのＪＴＡＧテストポートの使用によるものである。この規格はＩＥＥＥ(Institute of Electrical and Electronics Engineer)で採択され、このＩＥＥＥにおける参考文献のＩＥＥＥ１１４９．１, ＩＥＥＥスタンダードテストアクセスポート及び境界スキャンアーキテクチュアとして定義されている。このＩＥＥＥスタンダード１１４９．１は、参考文献である「テストアクセスポート及び境界スキャンアーキテクチュア（ＩＥＥＥ Computer Society Press,1990) 」に、その説明がなされている。
【０００３】
ＪＴＡＧでは、４（又はオプション５）信号テストアクセスポート（ＴＡＰ）が、各チップ又はボード上のチップグループに付加される。信号テストアクセスポート（ＴＡＰ）は、４入力、テストクロック（ＴＣＫ）、テストモード選択（ＴＭＳ）、テストデータ入力（ＴＤＩ）、及びオプションテストリセット（ＴＲＳＴＮ）を有している。更に、ＴＡＰは、一つの出力及びテストデータ出力（ＴＤＯ）を有している。テストデータ入力（ＴＤＩ）とテストデータ出力（ＴＤＯ）は、チップとチップとの間にデージチェーンされている。なお、テストクロック（ＴＣＫ）とテストモード選択（ＴＭＳ）は同報通信である。
【０００４】
ＴＣＫ入力は、チップのシステムクロックとは無関係であり、テスト動作では他のチップ間との同期を取っている。テストロジック回路の動作は、テストモード選択（ＴＭＳ）で供給された信号のシーケンスによって制御される。テストデータ入力（ＴＤＩ）及びテストデータ出力（ＴＤＯ）は、それぞれ直列データ入力及び直列データ出力である。なお、オプションテストリセット（ＴＲＳＴＮ）の入力はチップ又は回路を所定状態に初期化するために使用される。ＪＴＡＧテストは適切に配置された集積回路をテストし、その実動可能性の検証に使用される。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来例にあって、通常的なＪＴＡＧテストでは、ＳＤＲＡＭのセルを周期的に、例えば、６４ｍｓごとにリフレッシュするか、又は、保持したデータを消失しないようにするため、各ＪＴＡＧテストを順次に終了した後にメモリ及び制御ロジック回路を初期化する必要がある。この場合、ＪＴＡＧテストごとの初期化が必要になり、この多数回のメモリ初期化によって、デバギングプロセスの時間が増加してしまう。
【０００６】
本発明は、このような従来の技術における課題を解決するものであり、ＪＴＡＧテストごとの初期化が不要になり、少ない回数の初期化によって、デバギングプロセスの時間を低減できるＪＴＡＧによるＳＤＲＡＭ回路テスト方法及びその装置の提供を目的としている。
【０００７】
【課題を解決するための手段】
上記目的を達成する本発明のＪＴＡＧによるＳＤＲＡＭ回路テスト方法及びその装置では、ＳＤＲＡＭのようなメモリがＪＴＡＧテストを実施する際にセルフリフレッシュモードとなり  このセルフリフレッシュモードは、メモリで必要なリフレッシュモードであり、特に、データ保持及び低電力動作のために必要である。ＳＤＲＡＭは、セルフリフレッシュモードでＣＫＥ（クロックイネーブル）を除いたシステムクロック及び全入力バッファをディスエーブルにする。
【０００８】
本発明によるＪＴＡＧロジック回路は、セルフリフレッシュモードを使用してＳＤＲＡＭの内容を保存する際に、メモリコントローラユニットと非同期で通信を行って、システムクロックを停止させるために使用される。メモリコントローラユニットが、今回のメモリアクセス動作を終了するまで、このメモリコントローラユニットは、ＪＴＡＧテスト中にＪＴＡＧロジック回路によってシステムクロックが停止しないようになっている。システムクロックの停止前に、メモリコントローラユニットはメモリの内容を保存するために、ＳＤＲＡＭをセルフリフレッシュモードに設定する。
【０００９】
更に、本発明ではＪＴＡＧロジック回路がメモリコントローラユニットとインタフェース接続を行うモードコントローラレジスタに接続されたＪＴＡＧコントローラを備えている。ＪＴＡＧコントローラ及びメモリコントローラユニットは異なるクロック周波数で動作している。例えば、ＪＴＡＧコントローラはクロック周波数１０ＭＨｚで動作し、メモリコントローラユニットはクロック周波数８０ＭＨｚで動作する。モードコントローラレジスタは、ＪＴＡＧコントローラとメモリコントローラユニットとの間の通信を行う。
【００１０】
また、本発明では、ＪＴＡＧコントローラがテストを開始するためにシステムクロックを停止させる場合、信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ／ｈｉｇｈ（ハイレベル、この信号ｎｎ−ｎｎ…については図１を参照）がメモリコントローラユニットに入力され、メモリコントローラレジスタを通じて、メモリコントローラユニットのセルフリフレッシュステートマシンと通信を行う。信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈを逆にセルフリフレッシュステートマシンに入力する前に、セルフリフレッシュステートマシンは、信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ／ｈｉｇｈを今回のメモリアクセス動作を終了させるメモリコントローラステートマシンに送出する。メモリコントローラステートマシンからの信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈの送出、及び、モードコントローラレジスタから信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ／ｈｉｇｈが送出される場合、セルフリフレッシュステートマシンによってＳＤＲＡＭをセルフリフレッシュモードに設定する。また、セルフリフレッシュステートマシンからの信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈが、ＪＴＡＧコントローラを連続的にスキャニングする監視コントローラレジスタに入力される。ＪＴＡＧコントローラが信号ｍｃｕーｉｄｌｅ／ｈｉｇｈ及び信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ／ｈｉｇｈを検出すると、信号ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓ／ｈｉｇｈを送出する。この信号ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓ／ｈｉｇｈが、モードコントローラレジスタを通じてシステムクロック発生器ブロックに送出し、システムクロックをバイパスさせる。
一度、システムクロックがバイパスされた後のテスト開始が可能であり、ＳＤＲＡＭの内容はＳＤＲＡＭセルフリフレッシュモードの設定によって保存される。このテストが終了すると、ＪＴＡＧコントローラは信号ｊｔａｇ−ｓｄｒａｍ−ｎｏｒｍ／ｈｉｇｈを、ＳＤＲＡＭに対するセルフリフレッシュモードを解除するためのモードコントローラレジスタを通じて、セルフリフレッシュステートマシンに入力する。また、ＪＴＡＧコントローラは、モードコントローラレジスタを通じて、信号ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓ／ｌｏｗ（ローレベル）をシステムクロック発生器ブロックに送出してシステムクロックのバイパスを除去する。
【００１１】
このように、それぞれのＪＴＡＧロジック回路を使用するテスト前後に、ＳＤＲＡＭがセルフリフレッシュでダイナミック状態になり、また、解除する処理を行うことによって、そのデバキング時間が低減される。すなわち、メモリ及びコントローラロジック回路が、テストが発生してから初期化する必要がなくなる。
【００１２】
【発明の実施の形態】
次に、本発明のＪＴＡＧによるＳＤＲＡＭ回路テスト方法及びその装置の好適な実施の形態を添付図面を参照して詳細に説明する。
セルフリフレッシュモードは、ＳＤＲＡＭのような不揮発生メモリで設定される。このようなＳＤＲＡＭをセルフリフレッシュモードに設定することは、保存したデータを消失させずに、ＳＤＲＡＭクロックを含む全てのクロック供給を停止させる。三星電子株式会社製のＳＤＲＡＭであるＮＯ．ＫＭ４１６５１１２０Ａは、セルフリフレッシュモードを有するＳＤＲＡＭの一例である。ＪＴＡＧテストの間でのＳＤＲＡＭセルフリフレッシュモードの設定は、クロック信号をダイナミック状態で停止させＪＴＡＧテストを開始し、保存された記憶内容によって更に動作する。
【００１３】
図１は本発明の実施形態におけるメモリコントローラユニットにインタフェース接続されたＪＴＡＧロジック回路の構成を示すブロック図である。
図１に示す実施形態では、ＪＴＡＧロジック回路１４０が、ＪＴＡＧ規格を拡張したＪＴＡＧテストを実施するものである。二つの特殊レジスタのモードコントローラレジスタ（ＭＣＲ）１２０及び監視コントローラレジスタ（ＯＣＲ）１２５は、標準的な制御を行うＪＴＡＧコントローラ１１０によって制御される。ＪＴＡＧコントローラ１１０は、非テスト（ｎｏｎ−ｔｅｓｔ）回路に対して低いクッロク周波数で動作する。モードコントローラレジスタ（ＭＣＲ）１２０と監視コントローラレジスタ（ＯＣＲ）１２５とがＪＴＡＧコントローラ１１０と非テスト回路の間で動作する。
【００１４】
例えば、ＪＴＡＧコントローラ１１０がクロック周波数１０ＭＨｚで動作し、一方、非テスト回路はクロック周波数８０ＭＨｚで動作する。ＪＴＡＧコントローラ１１０と非テスト回路間の同期確立は、モードコントローラレジスタ（ＭＣＲ）１２０及び監視コントローラレジスタ（ＯＣＲ）１２５によって行われる。
【００１５】
モードコントローラレジスタ（ＭＣＲ）１２０は、４０命令値を保持するとともに、監視コントローラレジスタ（ＯＣＲ）１２５が７０ステータス値を保持する。このＪＴＡＧロジック回路１４０の実施形態に関する詳細な説明は、付録に記載されている。
【００１６】
例えば、この内部ロジック回路はマルチメディア信号プロセッサシステムである。ＪＴＡＧコントローラ１１０は、監視コントローラレジスタ（ＯＣＲ）１２５からのデータを直列シフトし、回路の内部ロジック回路のステータスを監視する。この二つのシフトレジスタのモードコントローラレジスタ（ＭＣＲ）１２０及び監視コントローラレジスタ（ＯＣＲ）１２５は、いずれも複数個のレジスタセルから構成される特殊シフトレジスタである。これはレジスタセルのデータを破壊せず、各レジスタセルを通じてデータを直列シフトする。この例示的な実施形態に使用されたレジスタセルは、参考文献中の三星ＡＳＩＣスタンダードセルライブラリーデータブック(ASIC Standard Cell Library Data Book)ＳＥＣ  ＳＴＤ６０に説明されているスタンダードアシックレジスタセルである。
【００１７】
図２は、実施形態にあってレジスタセルの構成を示すブロック図である。
このレジスタセル３００は、フリップフロップ回路３１０が入力信号ｄｉｎｐの値を保持し、又は、保持せずに入力信号ｄｉｎｐを転送するものである。
このレジスタセル３００では、入力信号ｄｉｎｐがマルチプレクサ３０５を通じてフリップフロップ回路３１０に入力され、かつ、インバータ３２０とマルチプレクサ３３０とを通じて出力信号ｄｏｕｔとして出力される。マルチプレクサ３０５は、それぞれ信号ｓｈｉｆｔのハイレベル（ｈｉｇｈ）又はローレベル（ｌｏｗ）によって、信号ｔｄｉ又は入力信号ｄｉｎｐの一方を選択する。このフリップフロップ回路３１０とラッチ回路３２５との構成によってラッチ回路３２５が出力信号ｉｎｓｔを保存する際に、フリップフロップ回路３１０はマルチプレクサ３０５からのデータをシフトする。マルチプレクサ３３０は、ラッチ回路３２５からの出力信号ｄｏｕｔ又は入力信号ｄｉｎｐの一方を選択し、出力信号ｄｏｕｔとして出力する。
【００１８】
信号ｔｄｉがマルチプレクサ３０５によって選択されると、データ（信号ｔｄｉ）をフリップフロップ回路３１０がシフトする。その一方、ラッチ回路３２５に接続された接続線３８５の信号ｕｐｄａｔｅがハイレベル状態になる。ラッチ回路３２５は端子Ｑに以前にラッチされたデータを保持している。クロック信号ｔｃｋがアンドゲート３１５と信号ｅｎｂによってイネーブルされる場合に、フリップフロップ回路３１０からの出力信号ｔｄｏが、クロックエッジで信号ｔｄｉとして隣接する同一構成のレジスタセル４３０（図３参照）に入力される。クロック信号ｔｃｋと信号ｅｎｂは、フリップフロップ回路３１０のクロック端子に接続されたアンドゲート３１５に入力される。
【００１９】
レジスタセル３００からの出力信号ｉｎｓｔの変更は、信号ｕｐｄａｔｅをフリップフロップ回路３１０の出力信号がラッチ回路３２５によってラッチするローレベルの入力によって行われる。このローレベルの入力によって新しい値の出力信号ｉｎｓｔがレジスタセル３００から送出される。出力信号ｉｎｓｔは、例えば、セルフリフレッシュステートマシン１１２に出力されるレジスタセル３００のデータである。
【００２０】
図３は図２に示すレジスタセルと他のレジスタセルとの接続情報を示す図である。
図３において、図２に示すレジスタセルは、モードコントローラレジスタ（ＭＣＲ）１２０及び監視コントローラレジスタ（ＯＣＲ）１２５のようなレジスタセルである。図３には一つのレジスタの４レジスタセルが図示されており、接続した構造は所要のサイズをもって製作されるものである。信号ｍｏｄｅ，ｔｃｋ，ｕｐｄａｔｅ，ｓｈｉｆｔ，ｅｎｂ及びｓｅｔｎは、それぞれ接続線４０５，４１０，４１５，４２０，４３５，４４０を通じてレジスタセル３００，４３０，４５０，４７０に並列入力される。
【００２１】
ＪＴＡＧロジック回路１４０からの入力信号ｄｉｎｐは、接続線３８０，４４５，４４６，４４７のそれぞれを通じてレジスタセル３００，４３０，４５０，４７０に入力される。レジスタセル３００，４３０，４５０，４７０からの出力信号ｄｏｕｔは、それぞれの接続線３３０，４６１，４６２，４６３を通じてＪＴＡＧロジック回路１４０に入力される。
【００２２】
それぞれ接続線３８９，４８８，４８９，４９０にそれぞれ接続されるレジスタセル３００，４３０，４５０，４７０からの出力信号ｉｎｓｔが、ＪＴＡＧロジック回路１４０が制御する位置及び回路の他の部分に入力される。例えば、図１に示すモードコントローラレジスタ（ＭＣＲ）１２０の２レジスタセルは、出力信号ｉｎｓｔ、接続線１１１ａの信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ及び接続線１１５の信号ｊｔａｇ−ｓｄｒａｍ−ｎｏｒｍを、セルフリフレッシュステートマシン１１２に供給する。これと同様に監視コントローラレジスタ（ＯＣＲ）１２５のレジスタセルは、出力信号ｉｎｓｔ及び信号ｍｃｕ−ｉｄｌｅをＪＴＡＧコントローラ１００に供給する。
【００２３】
レジスタセル３００，４３０，４５０，４７０を通じて直列シフトされたデータは、レジスタセル３００，４３０，４５０，４７０中の一つのレジスタセルに信号ｔｄｉとして入力され、レジスタセル３００、４３０，４５０，４７０から出力する場合に信号ｔｄｏとなる。
【００２４】
ＪＴＡＧテストモードに設定される際に、図１に示すＪＴＡＧロジック回路１４０は、接続線１１１ａのハイレベル状態のクロック停止要求信号(jtag-clk-stop-req) を、メモリコントローラユニット１６０に入力する。接続線１１１ａの信号(jtag-clk-stop-req-high)は、メモリコントローラステートマシン１１４に接続された接続線１１１ｂの信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ／ｈｉｇｈが入力された際にセルフリフレッシュステートマシン１１２を通過する。
【００２５】
セルフリフレッシュステートマシン１１２は、メモリコントローラステートマシン１１４がアイドル状態にあり、かつ、メモリコントローラステートマシン１１４が接続線１１３に信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈを送出するまでの間は、ＳＤＲＡＭ１１６をセルフリフレッシュモードに設定しない。メモリコントローラステートマシン１１４からの信号ｍｃｕ−ｉｄｌｅは、監視コントローラレジスタ（ＯＣＲ）１２５に入力され、ＪＴＡＧコントローラ１１０によって監視できるようにシフトして出力される。ここでメモリコントローラステートマシン１１４が今回のアクセス動作を終了する。なお、信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑがハイレベルに設定されると、残っている全てのメモリアクセス要求が、メモリコントローラステートマシン１１４によって破棄される。
【００２６】
クロック停止要求の間に信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈを設定すると、セルフリフレッシュステートマシン１１２は、ＳＤＲＡＭ１１６に対するセルフリフレッシュ命令を初期化する。セルフリフレッシュ命令がＳＤＲＡＭ１１６に設定されると、接続線１１３の信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈが、セルフリフレッシュステートマシン１１２によって監視コントローラレジスタ（ＯＣＲ）１２５に入力される。接続線１１３の信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈを入力した後のクロックサイクルの間は、ＪＴＡＧロジック回路１４０に対するシステムクロック発生器ブロック１５０及びＳＤＲＡＭ１１６は、ＪＴＡＧテストの間にバイパスされる。
【００２７】
このシステムクロック１１５をバイパスするために、信号ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓ／ｈｉｇｈが、モードコントローラレジスタ（ＭＣＲ）１２０でシフトされる。接続線１１９は同期マルチプレクサ１１８に接続され、接続線１１９への信号ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓ／ｈｉｇｈの入力によってシステムクロック１１５からの出力をディスエーブルにする。接続線１１９に信号ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓ／ｈｉｇｈを設定する際は同期マルチプレクサ１１８を入力１にスイッチングする前に、同期マルチプレクサ１１８が適当な同期の確立状態の維持を確実にするために上昇クロックエッジの間で待機する。
【００２８】
ＪＴＡＧテストの間でＳＤＲＡＭ１１６はデータを保持するために、セルフリフレッシュモードに設定される。ＪＴＡＧテストが終了すると、ＪＴＡＧコントローラ１１０は、セルフリフレッシュステートマシン１１２，ＳＤＲＡＭ１１６がセルフリフレッシュモードを解除するための信号ｊｔａｇ−ｓｄｒａｍ−ｎｏｒｍ／ｈｉｇｈを接続線１１５に出力し、信号ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓを送出する。ＳＤＲＡＭ１１６では、セルフリフレッシュモードが解除され、システムクロック１１５がアクティブであると、メモリコントローラステートマシン１１４は、ＪＴＡＧテストの開始以前の待機中であったメモリアクセス要求を更に処理する。
【００２９】
図４は、セルフリフレッシュステートマシン１１２の状態を示す図である。
図１中のセルフリフレッシュステートマシン１１２は、初期動作時に信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ／ｈｉｇｈが入力されなければ、状態ＩＤＬＥであり、また、信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ／ｈｉｇｈが入力されると、ステートＪＴＡＧ−ＣＬＫＳＴＯＰ−ＲＥＱ２０３に設定される。セルフリフレッシュステートマシン１１２は、メモリコントローラステートマシン１１４からの信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑが入力されて、メモリコントローラステートマシン１１４が今回のメモリアクセスの終了を示す信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈの入力されるまで待機する。
【００３０】
セルフリフレッシュステートマシン１１２は、信号ｍｃｕーｉｄｌｅが入力されると、接続線１１３の信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈを監視コントローラレジスタ（ＯＣＲ）１２５に送出するステートＭＣＵ−ＩＤＬＥ２０５になる。ＪＴＡＧコントローラ１１０は、監視コントローラレジスタ（ＯＣＲ）１２５からのデータをシフトして、内部ロジック回路のステートを決定し、かつ、接続線１１３の信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈが監視コントローラレジスタ（ＯＣＲ）１２５でシフトして入力されると、ＪＴＡＧテストを初期化する。
【００３１】
セルフリフレッシュステートマシン１１２は、状態ＡＳＳＥＲＴ  ＳＥＬＦ  ＲＥＦＲＥＳＨ  ＭＯＤＥ２０７に設定される。ＳＤＲＡＭ１１６が三星電子株式会社製の１６Ｍ  ＳＤＲＡＭ（ｐａｒｔ  ｎｏｓ．ＫＭ４４Ｓ４０２０Ａ、ＫＭ４８Ｓ２０２０Ａ又はＫＭ４１６Ｓ１１２０Ａ、ここにおいて参考文献中の三星データブック“１６Ｍ同期ＤＲＡＭ”、１９９６年３月参照）の例示的な実施形態の場合、セルフリフレッシュステートマシン１１２は、ＷＥ(write  enable）がハイレベル状態でピンＣＳ(chip  select)、ＲＡＳ(row address strobe)、ＣＡＳ(column address strobe）及びＣＥ(clock enable)にローレベルのデータを入力して、ＳＤＲＡＭ１１６をセルフリフレッシュモードに設定する。このセルフリフレッシュモードになると、ＳＤＲＡＭ１１６はセルフリフレッシュの状態の間で、ＣＫＥピンの以外の全ての入力を処理しない。
【００３２】
セルフリフレッシュステートマシン１１２は、モードコントローラレジスタ（ＭＣＲ）１２０から信号ｊｔａｇ−ｓｄｒａｍ−ｎｏｒｍがハイレベルになるまで、ステートＷＡＩＴ  ＴＯ  ＲＥＦＲＥＳＨ２０９に設定される。接続線１１５の信号ｊｔａｇ−ｓｄｒａｍ−ｎｏｒｍ／ｈｉｇｈの入力時に、セルフリフレッシュステートマシン１１２は、セルフリフレッシュモードを解除して、ステートＷＡＩＴ  ＮＯＲＭ２１１に設定される。例示的な実験例での、セルフリフレッシュモードの解除は、同期マルチプレクサ１１８に接続された接続線１１９に、信号ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓ／ｌｏｗを設定し、システムクロック１１５のバイパスを除去した後にＳＤＲＡＭ１１６のＣＫＥ入力にハイレベルを設定して達成される。
【００３３】
ステートＷＡＩＴ  ＮＯＲＭ２１１で、ＮＯＰ(no operation signal）は、１００ｎｓの最小時間でＳＤＲＡＭ１１６に入力され、ＳＤＲＡＭ１１６をアイドル状態に設定する。この１００ｎｓの間に信号ＮＯＰを入力した後に、セルフリフレッシュステートマシン１１２は、ステートＩＤＬＥ２０１に復帰する。
【００３４】
図５は、本発明でのＪＴＡＧによるＳＤＲＡＭ１１６のダイナミックセルフリフレッシュの設定及び解除の処理手順を示すフローチャートである。
図５において、各ブロックは処理状態を示し、ステップＳ５０１は、ＪＴＡＧロジック回路１４０によって信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ／ｈｉｇｈをメモリコントローラユニット１６０に入力する処理である。ステップＳ５０２は、メモリコントローラユニット１６０が、今回のメモリアクセス動作を終了した際に、ＪＴＡＧロジック回路１４０に信号ｍｃｕ−ｉｄｌｅ／ｈｉｇｈを入力する処理である。
【００３５】
ステップＳ５０３は、信号ｊｔａｇ−ｃｌｋ−ｓｔｏｐ−ｒｅｑ及び信号ｍｃｕ−ｉｄｌｅが入力された際に、メモリコントローラユニット１６０が、ＳＤＲＡＭ１１６をセルフリフレッシュモードに設定する処理である。ステップＳ５０４は、ＪＴＡＧロジック回路１４０から信号ｓｙｓ−ｃｌｋ−ｂｙｐａｓｓ／ｈｉｇｈをシステムクロック発生器１５０に入力して、システムクロック１１５をバイパスする処理である。ステップＳ５０５は、ＪＴＡＧテストの間に、ＳＤＲＡＭ１１６をセルフリフレッシュモードに保持する処理である。
【００３６】
ステップＳ５０６は、ＪＴＡＧテストが終了した後にＪＴＡＧロジック回路１４０から信号ｊｔａｇ−ｓｄｒａｍ−ｎｏｒｍ／ｈｉｇｈを、メモリコントローラユニット１６０に入力する処理である。ステップＳ５０７は信号ｊｔａｇ−ｓｄｒａｍ−ｎｏｒｍ／ｈｉｇｈがメモリコントローラユニット１６０に入力されるときに、メモリコントローラ１６０がＳＤＲＡＭ１１６でのセルフリフレッシュモードを解除する処理である。
【００３７】
シャットダウン(shutdown)させる瞬間にＪＴＡＧロジック回路１４０及びＳＤＲＡＭ１１６は、全てのクロックをダイナミック状態で停止させ、ＪＴＡＧテストを開始し、動作を再開始させる。すなわち、メモリ（ＳＤＲＡＭ１１６）及びコントロールロジック回路（ＪＴＡＧロジック回路１４０）は、ＪＴＡＧテストごとに初期化する必要がなくなる。この少ない回数のメモリ初期化によって、デバギングプロセスの間の時間が減少する。
【００３８】
上記のように特定の好ましい実施形態の関連する内容について、図示して説明したが、本発明はこれに限定されない。特許請求範囲の要旨を逸脱せず、かつ、利用分野の範囲外とならない限度内で、多様に変更できることを、当業界で通常の知識を有する者が容易に理解できるものである。
【００３９】
【発明の効果】
以上の説明から明らかなように、本発明のＪＴＡＧによるＳＤＲＡＭ回路テスト方法及びその装置によれば、ＪＴＡＧテストごとに初期化する必要がなくなり、少ない回数のメモリ初期化によって、デバギングプロセスの時間減少が図られる。
【００４０】
［付  録］
ＭＳＰのテスト及び正常モードは本章で説明する。このようなモードは、５ＪＴＡＧピンのみを使用しＪＴＡＧコントローラにより制御される。
【００４１】
１．２適用及び仮定
下記のセクションで説明するすべてのテストスキーム(scheme)は、２プロトタイプデバギング及び製造テスト処理の間に、ＭＳＰハードウェアテスティングを支援するために遂行される。
このマテリアルは、使用者がＩＥＥＥ  １１４９．１ＪＴＡＧプロトコル及びＬＳＳＤタイプのスキャン特性が判明していると仮定したものである。ＬＳＳＤ、ＪＴＡＧ及びＭＳＰ規格の追加情報のための下記のマテリアルを参照すること。
＊テストコンパイラ基本マニュアルＶｅｒ．３．２ａ(Synopsys 株式会社１９９４）
＊ＩＥＥＥスタンダード１１４９．１−１１９０：ＩＥＥＥスタンダードテストアクセスポート及び境界スキャンアーキテクチュア、１９９０
＊予備ＭＳＰ−１ＥＸシステム規格、三星半導体株式会社、１９９６
【００４２】
１．３特徴
＊マルチプルＬＳＳＤタイプスキャンデザイン
＊各機能ブロックに対する独立的なスキャン動作
＊製造テスト用の並列スキャン動作
＊ＭＳＰ及びＡＲＭ７用の２境界スキャンチェーン
＊すべてのＪＴＡＧ基本命令、内部テスト(intest)、外部テスト(extest)及びサンプル／プリロード
＊メモリアクセス動作
＊ＢＩＳＴクロック発生
【００４３】
１．４テスト方法論の要約
ＭＳＰテスティングはレベル感知スキャンデザイン、ＬＳＳＤ(Level Sensitive Scan Design) タイプのスキャンデザインを統合する多様なテストスキーム、ＪＴＡＧコントローラ及びメモリテスト用のＤＦＴ(Design For Testability)及び、ＢＩＳＴ(Built In Self Test)の混合技術によって支援される。
ＭＳＰのコントロールブロックは、完全にスキャニング可能に製造される。データパスブロックは、ハードウェアペナルティ(penalty) を減少させるために、部分的にスキャニングされる。スキャンチェーンは、デバギングを支援するために、機能ブロックによって分割される。
【００４４】
一つのＪＴＡＧコントローラを使用して制御される、ＭＳＰ及びＡＲＭ７用の２境界スキャンチェーンがある。ＪＴＡＧコントロールロジックは、境界スキャンチェーンだけでなく、内部スキャンチェーンのスキャンが可能である。
シリコン材でデバギングしてテストを行うために、ハイブリッドＤＦＴ方法がキャッシュメモリとして使用される。これは、ＤＦＴ、ＪＴＡＧ及びＢＩＳＴが結合された方法である。セルフ比較スキームは、ＭＡＲＣＨ  Ｃアルゴリズムが実行される間のテスト時間を短縮させるために、キャッシュとして埋入される。メモリは、ＪＴＡＧコントローラの内部に位置したメモリコントロールレジスタを使用して制御される。
【００４５】
１．５概念的なＪＴＡＧの必要条件
ＪＴＡＧコントローラでの制御の一般的な必要条件を説明する。これをボードレベルテスティングより、機能デバギングの観点で説明する。
＊ＭＳＰ及びＡＲＭ７コア用の境界スキャン：任意の機能ベクトルは、クロックパッドのクロックパルスがスキャンチェーンを通してエミュレートされることを意味するスキャンチェーンに供給されるべきである。３状態及び両方向制御は、データバスのような関連信号グループで可能でなければならない。オフチップ及び内部ロックからの任意のパターンが得られてＴＤＯピンでシフトされる。相互連結テスト及び内部ロジックテスティングのそれぞれに対する境界スキャンセルを通じて、外部チップ及び内部ロジックを駆動することができる必要がある。少なくとも、一つの境界スキャン動作では、境界スキャンセルがＪＴＡＧコントローラによりアップデートされるまで、すべての内部ステートマシンがそのままの動作となることを保障する。
【００４６】
＊機能ブロック用のスキャン入出力テスト：スキャンチェーンは、機能ブロックユニットにより分割される。一ブロックが他の機能ブロックに比較してスキャンセルが少ない場合に例外が発生する。任意値をスキャニング入力及び出力することは、すべてのスキャンセルに対して可能でなければならない。機能ブロックに対するスキャン動作の間、選択されたチェーンを除外したすべてのフリップフロップ／ラッチ、境界スキャンセル、キャッシュ及びレジスタは、その以前値を維持する。これは効果的なシリコンデバギングプロセスに重要である。すなわち、すべてのデータレジスタ、境界スキャン及びＡＲＭ７境界スキャンは、独立的に制御可能でなければならない。
【００４７】
＊テストモードにおけるシステムクロック発生：ＭＳＰチップは、使用者が所望したシステムクロックサイクルで実行される。これは、クロックパルスを発生する観点からみると、二つの方法で遂行される。第１番目に、クロックパルスは、クロックポートに割り当てられた境界スキャンセルを使用して発生する。これは一つのパルス(0-1-0) を発生するために、３倍のすべての境界スキャンセルのスキャニングが要求されるため極めて遅延する。システムクロックの場合、このような特徴はない。ただ境界スキャンセルの手入が使用される。ＴＣＫが２０ＭＨｚであれば、約２４ＫＨｚクロックがＭＳＰの境界スキャンチェーンを使用してエミュレートされる。この場合、ＭＳＰの境界スキャンの長さが２７０ビットであることに注意しなければならない。第２番目に、クロックパルスはＪＴＡＧクロックを使用して発生することが出来る。ＪＴＡＧクロックの中の一つのパルスであるＴＣＫは、一つのシステムクロックパルスと同一である。これは以前のパルスに比較して非常に速いものである。第２番目のクロック発生方法は、メインシステムクロックに対してのみ実行される。他のクロックは、境界スキャンチェーンを使用してエミュレートされる。
【００４８】
＊ＪＴＡＧを通して具現されたメモリアクセス：ＭＳＰ内部のメモリ、ＩＤＣ及びレジスタファイルは、テストモードでＪＴＡＧインタフェースを通して制御される。任意の位置に対する読み出し及び書き込み動作が提供される。一つのＲＡＭに対する読み出し及び書き込み動作は、他のＲＡＭの内容に影響を及ぼさない。
＊マルチプル独立スキャン：マルチプルスキャンチェーンは、機能ブロックよりはスキャンチェーンの数によって配列される。これらは同時にスキャンされる。ＪＴＡＧコントローラは、スキャンチェーンの再構成回路に設定する必要がある。
【００４９】
＊ＪＴＡＧ命令：すべての基本的なＪＴＡＧ命令は、本セクションの前記の項目で説明された機能性を提供するために命令を付加して実行されなければならない。ＪＴＡＧ命令変更の間、すべての境界スキャンセルは変更されず、すべてのフリップフロップ／ラッチはその状態を保持し、メモリは現在の内容を保持する。これはプロトタイプデバギングプロセスの間、現在の状態を予見することに役立つ。
【００５０】
１．６  分類されたＪＴＡＧ動作
このセクションにおいて、以前のセクションで説明したＪＴＡＧ必要条件の遂行問題を論議する。ＭＳＰデザインのＪＴＡＧ動作は、６個の異なるカテゴリから分類される。各カテゴリは、その適用によって若干の偏差を有する。これはＪＴＡＧデザイン細部事項セクションでの、カテゴリ用のマッチング命令を参照すること。６個の異なるカテゴリは、正常動作、境界スキャン動作、単一内部スキャン動作、メモリアクセス動作、マルチプル内部スキャン動作及び疑似システムクロック動作モードである。これらは下記のサブセクションで説明する。
【００５１】
１．６．１  正常動作
すべての機能及びメモリブロックは、それが仮定されている通りに動作する。すべての共有、入出力ピン及びテストロジックは、正常モードで法的信号(legal signal)の送出に適合するように再指示される。ＪＴＡＧ基準信号ＴＲＳＴ＿Ｎ（＝０）をイネーブルさせることによって正常モードになる。
【００５２】
１．６．２  境界スキャン動作
２境界スキャンチェーンが遂行される。２境界スキャンチェーンは、ＭＳＰ及びＡＲＭ７コア用である。ＭＳＰとＡＲＭ７のすべてのＩ／Ｏポートは、ＪＴＡＧに関連した５ピンを除外しては、専用境界スキャンセルを有する。スキャンチェーン用の特定境界スキャンセルは、ＭＳＰ境界スキャン及びＡＲＭ７境界スキャンセクションで探すことができる。２境界スキャンチェーンは、一つのＪＴＡＧコントローラを共有し、独立的なスキャニングが可能でなければならない。二スキャンチェーン用の内部テスト(intest)、外部テスト(extest)及びサンプル／プリロード(sample/preload)命令が実行される。
【００５３】
１．６．３  単一内部スキャン動作
単一内部スキャン動作モードでは、ＪＴＡＧがＭＳＰ内部のデータ転送期間にハードウェアで制御される。その内部にスキャンチェーンを有するすべての機能ブロックは、独立的にスキャン入力または出力される。“独立的(independantly) ”とは、選択されないスキャンチェーンがその状態を変更しなかったことを意味する。選択されたブロックのみがＴＤＩポートからスキャン入力され、スキャンチェーンをアップデートする。
このスキャンモードは、チップデバギングのために優先的に使用される。いつでも、スキャンチェーン値を設定し監視することができる。一回に一つのスキャンチェーンのみがアクセスされるので、テスト時間の間単一のスキャンチェーンのみがあるように見える。これが目的のために使用されるとしても、製品テストのためによい候補(candidate）ではない。
【００５４】
１．６．４  メモリアクセス動作
命令データキャッシュ、ＩＤＣ(Instruction Data Cache)のｖｄ＿ｒａｍとｔａｇ＿ｒａｍとが同時に選択されて、そのアクセスが行われる。ｄａｔａ＿ｒａｍは独立的にアクセスされる。ＲＡＭのアドレスは、このモードで独立的に書き込みまたは読み出される。メモリは、スキャンチェーン及びＪＴＡＧコントローラにより直列動作を実行される。
【００５５】
一つのメモリのみが書き込み及び読み出し動作のためにアクセスされる時、他のメモリはその内容を変更しない。メモリのアクセス方法は下記の通りである。
１．単一スキャンモードを変更しＲＡＭブロックを選択する。必要なデータをスキャン入力する。この場合、アドレスカウンタと書き込みされるデータとを設定することができる。これはスキャンモードであるため、メモリ書き込み動作は実行しない。
２．単一スキャンモードが解除されてメモリアクセス動作になる。この単一スキャンモードで、テストされるメモリの選択が可能である。ＪＴＡＧコントローラは、各メモリ用の選択信号を提供する。それは、ｄａｔａ＿ｒａｍ＿ｔｅｓｔ＿ｅｎ、ｖｔ＿ｒａｍ＿ｔｅｓｔ＿ｅｎ、ｒｅｇｉｓｔｅｒ＿ｆｉｌｅ＿ｔｅｓｔ＿ｅｎである。一回にその中のいずれか一つのみがアクティブとなる。
３．一応一つのメモリが選択されると、メモリとアドレスカウンタ制御信号はＪＴＡＧを使用して制御される。制御名はｍｅｍ＿ｗｅ、ｍｅｍ＿ｈｗｄ、ｍｅｍ＿ｃｏｍｐａｒｅ、ｍｅｍ＿ａｄｄ＿ｕ／ｄ、ｍｅｍ＿ａｄｄ＿ｃｎｔ、ｍｅｍ＿ａｄｄ＿ｒｅｓｅｔ、ｍｅｍ＿ａｄｄ＿ｓｅｔである。その使用は、ＪＴＡＧインタフェース信号セクションで知ることができる。
【００５６】
１．６．５  マルチプル内部スキャン動作
単一スキャンモード以外に、１０個の異なるスキャンチェーンがＭＳＰ  Ｉ／Ｏポートから同時にアクセスされるマルチプルスキャンモードがある。これは基本的にスキャンフリップフロップ／ラッチカウントに基づいて存在するスキャンチェーンから再構成される。
マルチプルスキャンチェーン動作は、製品テストを考えて実行する必要がある。１０スキャンフリップフロップは、すべてのクロックサイクルでアクセスされる。その上に、ＪＴＡＧ命令スイッチングは、単一スキャンモードでのように、スキャニングされる特定機能ブロックを有する必要がない。
【００５７】
１０スキャン入力は正常機能の両方向ピンと共有される。その名称は、ａｄ０６＿ｓｉ０、ａｄ０７＿ｓｉ１、ａｄ０８＿ｓｉ２、ａｄ０９＿ｓｉ３、ａｄ１０＿ｓｉ４、ａｄ１１＿ｓｉ５、ａｄ１２＿ｓｉ６、ａｄ１３＿ｓｉ７、ａｄ１４＿ｓｉ８、ａｄ１５＿ｓｉ９である。１０テストピンは正常両方向ピン、ａｄ１６＿ｓｏ０、ａｄ１７＿ｓｏ１、ａｄ１８＿ｓｏ２、ａｄ１９＿ｓｏ３、ａｄ２０＿ｓｏ４、ａｄ２１＿ｓｏ５、ａｄ２２＿ｓｏ６、ａｄ２３＿ｓｏ７、ａｄ２４＿ｓｏ８、ａｄ２５＿ｓｏ９とｍｕｘされる。
【００５８】
２入力ポート（tca 、tcb ）は、スキャンクロック励振(stimulus)のために使用される。２ポートがテストのために使用されるので、テスト発生の間はいずれの制限も発生しない。これは、ＪＴＡＧコントローラから入力されるのでなく、テスタから入力される。
製造間のテストで、ＭＳＰは境界スキャンセルが透過モードにあるマルチプルスキャンモードにセットされる。したがって、正常ポートにおけるすべてのテストベクトルは、境界スキャンセルを通して印加される。
マルチプル状態のＪＴＡＧと呼ばれる信号は、両方向Ｉ／Ｏセルを指示するために使用される。これは両方向ピンを指示する前処理段階を避けるためである。
【００５９】
１．６．６  疑似システムクロック動作
スキャンチェーンがロードされてから、ＭＳＰの一部はプロトタイプ(prototype) デバギングの間、単一又はマルチプルクロックで実行される必要がある。ＪＴＡＧコントローラは、２システムクロック（clk1、clk2) と内部的にｍｕｘされる２個の非重畳されたクロック(jsca 、jscb) を発生する。正常モードとの主要な差異点はクロックソースである。このモードで、クロックはシステムクロックの代わりにＪＴＡＧコントローラから入力される。これを疑似システムクロックという。ｍｕｘから出力されるクロックは、システム動作に影響を及ぼす。現在、疑似システムクロックはＩＤＣブロックのみまでフック(hook)される。クロックが印加される間、他のシステムクロックはそのままに設定される。
このモードで、使用者によって規定されたクロックサイクル数の間に、ＪＴＡＧコントローラにより発生されたクロックを印加する。しかし、クロックカウンティングは、ＪＴＡＧコントローラの内部で実行されない。これはｐｒｏＴＥＳＴ＿ＰＣ及びＡＶＬを通して提供される（セクション“ハードウェアテスト環境”を参照のこと）。
【００６０】
１．７  テストモードにおける信号概要
概要図が図６に図示されている。ＪＴＡＧ命令によって６個の異なるすべてのモードに設定される。これはモードの間で前後にスイッチングするために提供されたＩ／Ｏピンが存在しないということを意味する。所望のモードに設定する前に、第１番目にＪＴＡＧ命令をロードする。
＜表１＞は、６個の異なるモードにおける重要な信号の概要を示している。３種類のクロック、すなわちシステムクロック、スキャンクロック及び疑似システムクロックは、他のテストモードを支援するために使用される。ＭＳＰのクロック図が図７に図示されている。システムクロックは、システムクロックから誘導される２個の非重畳されたクロック（clk1、clk2）であると見なされる。その中の一つは、適用によってスキャンフリップフロップ及びスキャンラッチの正常クロックポートに接続される。
【００６１】
スキャンクロックは、スキャン動作用の２個の非重畳されたクロックであり、すべてのスキャンフリップフロップとスキャンラッチ用のスキャンクロックポートに接続される。スキャンクロックは、ＪＴＡＧコントローラ又はＭＳＰ入力パッド(tca、tcb)の中のいずれか一つを発生する。これはテストモードによって適切に選択される。単一スキャンモードで、２個のスキャンクロック(jsca 、jscb) は、選択された機能ブロックにパルスされ、２クロックポートｔｃａ、ｔｃｂはロジック０に留まるようになる。マルチプルスキャンモードで、ｊｓｃａとｊｓｃｂとはロジック０に留まり、ｔｃａとｔｃｂとはイネーブルされる。
【００６２】
疑似システムクロックは、また、ＪＴＡＧコントローラによって発生する２個の非重畳クロックである。疑似システムクロックは、スキャンクロック(jsca,jscb) と同一信号である。しかし、この場合スキャンクロックポートの代わりに正常クロックポートである他の場所に入力される。単一スキャン及び疑似システムクロックモードが同時に発生すると仮定しなかったことに注意しなければならない。それはスキャン動作よりはシステム実行のために使用されるので、疑似システムクロックと呼ばれる。クロックはｐｓｃａ、ｐｓｃｂに表記される。
【００６３】
＜表１＞の機能ブロックは、ＭＳＰデザインのハードウェアモジュールとして見なされる。これはかけ算、ＦＡＬＵ等である場合もある。メモリブロックは、ＩＤＣまたはレジスタファイルの中の一つである。入力ピンは、ＪＴＡＧ入力ピンを除いたＭＳＰ入力又は入出力パッドとして見なされる。出力ピンはＴＤＯピンを除いたＭＳＰ出力又は入出力パッドとして見なされる。
【００６４】
【表１】
0004267716.tif 000002
【００６５】
正常モードでは、ＭＳＰ規格で説明したように、基本的にＭＳＰを実行するシステムクロック(clk1 、clk2) がパルスとなる。スキャンクロック(sca、scb)は活性状態(sca=0scb=0)となってはいけない。活性状態となると、ＭＳＰのスキャンフリップフロップ回路とラッチ回路とは未知の状態となる。疑似システムクロックは不活性状態である。したがって、すべての順次要素に伝達されるクロックは、ＪＴＡＧコントローラの代わりにシステムクロックピン(mclk)から入力される。すべてのテストロジックは、正常機能性に影響を及ぼしてはいけない。
【００６６】
境界スキャンモードで、クロックは不活性状態である。境界スキャンチェーンは、ＪＴＡＧで発生したクロックによって値などをシフトさせる。すべての機能ブロックは、スキャン動作の間それの状態を維持させる。
信号スキャンモードで、一つのブロックのみが選択され、スキャンクロックを利用してスキャン入力、又は出力される。この周期の間に、５個のＪＴＡＧピンのみがアクセスされる。他のＩ／Ｏピンはアクセスされない。正常モードで同一の理由で、システムブロックが活性状態にならないようにする。すべてのメモリ書き込みは、この周期の間ディスエーブルされる。
【００６７】
メモリテストで、疑似システムクロックは、メモリ読み出し及び書き込み動作のために使用される。処理されるすべてのデータがメモリブロックのスキャンチェーンにあるので、このモードにおける入出力を行わない。すべてのメモリ制御は、ＪＴＡＧコントロールロジックに存在するメモリコントロールレジスタによって調整される。
【００６８】
マルチプルスキャンモードは、入力パッド(tca、tcb)から入力されるスキャンクロックを使用する。１０スキャン入力ポート及び１０スキャン出力ポートが、ＪＴＡＧポート(TDI) の代わりにスキャンデータを送出するために使用される。
疑似正常モードは、ＭＳＰを実行するためにクロックＪＴＡＧから使用する。このモードで、ＭＳＰ  Ｉ／Ｏにおける境界スキャンセルは通過しないが、内部テストモードにある。したがって、入力はこのモードで変化しない。
【００６９】
１．８  ＪＴＡＧコントローラを通したクロックコントロールスキーム
クロックコントロールスキームは、プロトタイプデバギングを支持するために統合される。このスキームは、クロック停止、要求に対するクロック発生及びクロック再開始を実行する。このコントロール信号に対し、１．１０．４の特殊制御レジスタを参照すること。またＭＳＰクロック用のクロック規格を参照すること。
クロック停止：クロック停止要求がＪＴＡＧコントローラからクロック発生器に行われる時、ＭＳＰへのクロック、すなわち、システムクロック、ｐｃｉクロック及びコーデッククロックは、クロック停止要求が発生されてから最初の上昇エッジで停止する。
【００７０】
クロック停止要求は二つの方法で行われる。第１番目の簡単な方法は、システム状態に関係なく要求を行うものであり、第２番目の方法は、ＭＳＰがクロックを停止させる準備ができてから要求するものである。ＪＴＡＧコントローラは、ＭＳＰにクロックシャットダウン注意(shutdown notice) を通知し、ＭＳＰからアイドルステータスを認識した後、クロック発生器に停止要求を行う。現在ベクトルコアのみがＪＴＡＧコントローラにそのアイドルステータスを行うように実行される。
【００７１】
要求に対するクロック発生：１０２４まで任意のクロックサイクル数が、ＪＴＡＧコントローラのコントロールレジスタを通してクロック発生器に要求される。クロック数はシステムクロック用である。他のクロックは、システムクロック率で発生される。この要求は、クロックが停止されてから行う。
クロック再開始：クロック再開始が要求されると、すべてのクロックは第１番目の上昇エッジの後で開始される。
【００７２】
１．９  グローバルリセット動作
システムリセットは、ＭＳＰチップに埋入されるスキャンチェーンを使用して実行される。この動作で、マスタリセット信号は、ローレベル（アクティブロー）状態となり、リセット動作の間でローレベル状態になる。
ＪＴＡＧクロック(TCK) は、正常状態では続いて処理されないので、システムクロックがデータをスキャンチェーンに移動させるために使用される。この時ＴＣＫが続いて遂行されなければ、これは一つのＪＴＡＧ命令として見なされない。
【００７３】
このスキームの機能性は、マスタリセットがローレベルである場合、ロジック“０”がすべてのスキャンフリップフロップ／ラッチに移動される。リセット動作により満足される条件は下記の通りである。
＊システムクロック“ｃｌｋ１”と“ｃｌｋ２”そしてスキャンフリップフロップ／ラッチに影響を及ぼす、他のすべてのクロックがディスエーブルされる必要がある(clk=0、clk=0 ）。これはスキャンクロックである一種類のクロックのみをスキャンフリップフロップ／ラッチに印加するためである。これはクロックポートにコントロールロジックを付加する必要がある。
【００７４】
＊システムクロックはスキャンクロック(sca、scb)を保障するために使用する。スキャン動作は遅延する必要があるため、正常フリーランニングクロック(normal free running clock) は使用しない。システムクロックは２分周される。
＊マスタリセットは、リセット値をスキャンフリップフロップ／ラッチに移動させ得る程度に十分に遅延する必要がある。これを満足しないフェールは、不適合した動作の原因となる。
この動作は、ＪＴＡＧコントローラセクションの内部で実行されてきた。しかし、ＭＳＰがこの動作を実行する場合、これはまだ決定されていない。
【００７５】
１．１０  ＪＴＡＧデザイン細部事項
このセクションではＭＳＰ  ＪＴＡＧデザイン発行、命令及び利用可能なそのコードを説明する。以前のセクションで説明したすべての機能性は、このセクションで説明された命令を使用して得られる。
ＪＴＡＧコントローラの命令デコーダは、出来るだけ３８注文命令のためにデザインされる。現在の１命令は、既に適用のために予約されており、３６の中の１７命令は、内部データレジスタと関連して処理される。
【００７６】
各データレジスタと命令レジスタの直列出力はｍｕｘされ、ＴＤＯピンに連結される。選択される時、命令によってＴＤＩピンからデータは、選択されたデータレジスタ又は命令レジスタを通じて直列にシフトされ、ＴＤＯピンを通じて監視され得る。
すべてのＪＴＡＧ回路で、ＭＳＢは極左ビット(left most bit) であり、代表的な信号名は“ＤＡＴＡ［Ｎ：０］”である。他の回路と共に集積される時、この規格は正確な信号接続に従うものである。
【００７７】
１．１０．１  必要条件
下記の項目はＪＴＡＧコントローラが適切に動作するために満足する必要がある。
＊入力ピン：ＴＤＩとＴＭＳ入力ピンは、オンチップフールアップレジスタを備えるべきである。このピンが使用者によって接続されていない状態ではＪＴＡＧコントローラはロジックハイレベルを保持し続ける。すべてのＪＴＡＧ入力ピンは、ＪＴＡＧコントローラの適切な動作のために、すべての動作条件下でロジックハイレベル又はロジックローレベルに設定する必要がある。
＊クロック速度：約２７０ビット長さのクロックドライバである境界スキャンレジスタが設計、レイアウトされ、ビット０クロック入力とビット２７０クロック入力間の最小速度とする必要がある。ＪＴＡＧコントローラは、最大４０ＭＨｚクロック周波数まで動作するように設計される。
【００７８】
＊クロック条件：内部スキャン動作の間に監視されるクロック条件は、下記の通りである。
１．スキャンラッチから正常クロックポートに入力されるクロックはディスエーブルされる。
２．スキャンフリップフロップから正常クロックポートに入力されるクロックはディスエーブルされる。
【００７９】
１．１０．２  ＭＳＰの内部スキャンチェーン
ＪＴＡＧコントローラ用の内部スキャンチェーンは、効果的なチップデバギングのために機能ブロックユニットによって構成される。すべての内部スキャンチェーンは＜表２＞の通りである。スキャンチェーンが、チェーンのスキャンセル数に基づいた製品テスト目的のために再構成されるので、現在スキャンチェーン分割は、生産の間最終テスト時間に影響を及ぼさない。しかし、ＭＳＰチップがデバギングされる方法には影響を及ぼす。
【００８０】
【表２】
0004267716.tif 000003
【００８１】
１．１０．３  ＪＴＡＧ命令
ＪＴＡＧ命令を、＜表４＞乃至＜表１０＞をもって説明する。この＜表４＞乃至＜表１０＞はＪＴＡＧ動作セクションで論議されたＪＴＡＧ動作クラス(class) によって分類される。“テスト名”は各命令の名称で、その適用を付加する。命令コードは、特定データレジスタをアクセスする前に、ＪＴＡＧコントローラの命令レジスタに移動される。選択されたレジスタは、各命令によりアクセスされるデータレジスタを表す。
【００８２】
＜表４＞は、ＭＳＰの境界スキャンチェーン用の命令を示したものである。その中の８個は、ＭＳＰ境界スキャンチェーン用である。これは、その適用によってＭＳＰ境界スキャンチェーンまたはバイパスレジスタの中のいずれか一つを選択する。境界スキャンチェーンが選択される場合、ベクトルスキャンチェーンにロードされる。そうでなければ、ＭＳＰ境界スキャンチェーンのアクセスは不可能である。
＜表４＞の３命令は、ＡＲＭ７境界スキャンチェーン用である。それはＡＲＭ７境界スキャンチェーンを選択する。
【００８３】
【表３】
0004267716.tif 000004
【００８４】
＜表３＞は、境界スキャンセル用の制御信号及びシステムクロックバイパス信号を示している。下記に項目別に記載されているＭＳＰ及びＡＲＭ７用の２境界スキャンチェーンを制御するための４モード信号がある。他の制御信号、すなわちＭＳＰ＿ｂｓ＿ｄｉｓａｂｌｅ、ＡＲＭ＿ｂｓ＿ｄｉｓａｂｌｅ及びｓｙｓ＿ｃｌｋ＿ｂｙｐａｓｓに対する説明は、次のセクションのＪＴＡＧ  Ｉ／Ｏ信号の＜表＞を参照すること。
＊ＭＳＰ  Ｍｏｄｅ＿Ｉ：ＭＳＰ境界スキャン入力セルモード信号
＊ＭＳＰ  Ｍｏｄｅ＿０：ＭＳＰ境界スキャン出力セルモード信号
＊ＭＳＰ  Ｍｏｄｅ＿Ｃ：ＭＳＰ境界スキャンコントロールセルモード信号
＊ＡＲＭ７  Ｍｏｄｅ＿Ｉ：ＡＲＭ７境界スキャン入力セルモード信号
＊ＡＲＭ７  Ｍｏｄｅ＿０：ＡＲＭ７境界スキャン出力セルモード信号
【００８５】
すべての信号がローレベルの場合は、境界スキャンセルを通過し、正常入力ポートから入力される。この入力がハイレベルの場合は、境界スキャンセルの出力は、境界スキャンセルのアップデータしたラッチに依存する。（境界スキャンセルの細部事項に関しては、ＫＧＬ７５データブックを参照すること）
＜表５＞は、ＪＴＡＧコントローラを通してアクセスされ得るすべての機能ブロックに対する内部スキャンチェーンを示したものである。＜表６＞では、マルチプルスキャンモード用として一つの命令のみが存在する。
【００８６】
＜表７＞は、メモリアクセス命令を示している。ＩＤＣブロック内の３メモリは、ＪＴＡＧコントローラにより制御される。データＲＡＭとレジスタファイルは、自己の命令を有する。ＶｄＲＡＭとＴａｇＲＡＭとは同時にアクセスされる。以降で利用可能な一つ以上の命令がある。ＲＯＭ又は他に設けられたＲＡＭの場合もある。ＭＣＲは、ＪＴＡＧコントローラ内に位置するメモリ制御レジスタである。
＜表８＞は、システムがパワーアップされる場合のデフォルト命令を示している。＜表９＞は、システムクロックよりは、ＪＴＡＧピンＴＣＫから実際に入る疑似システムクロックを発生するために命令を示している。＜表１０＞は以降の処理のために利用可能な命令を示している。
【００８７】
【表４】
0004267716.tif 000005
【００８８】
【表５】
0004267716.tif 000006
【００８９】
【表６】
0004267716.tif 000007
【００９０】
【表７】
0004267716.tif 000008
【００９１】
【表８】
0004267716.tif 000009
【００９２】
【表９】
0004267716.tif 000010
【００９３】
【表１０】
0004267716.tif 000011
【００９４】
【表１１】
0004267716.tif 000012
【００９５】
１．１０．４  特殊制御レジスタ
ＪＴＡＧコントローラによって制御される２個の特殊レジスタがある。これは、内部ロジックを制御するか、又はＭＳＰシステムのステータスを監視に使用される。名称はモードコントロールレジスタ、ＭＣＲ(Mode Control Register) と監視コントロールレジスタ、ＯＣＲ(Observation Control Register)である。各コントロールレジスタ用の制御信号は、下記の図示の通りである。
【００９６】
【表１２】
0004267716.tif 000013
【００９７】
【表１３】
0004267716.tif 000014
【００９８】
【表１４】
0004267716.tif 000015
【００９９】
【表１５】
0004267716.tif 000016
【０１００】
【表１６】
0004267716.tif 000017
【０１０１】
１．１０．５  ＪＴＡＧ命令を使用したテストシナリオ
１．１０．５．１  デバギング段階
ＭＳＰのデバギング段階は、すでに定義され、かつ反復される１組の段階を実行することに関連する。以降の簡単な段階を下記で説明する。これは手順の間ＪＴＡＧ命令の使用方法に関する。
＊段階０：クロック停止要求の送出：ＭＳＰがこの動作を遂行する途中で、或る理由でクロックを停止させようとする場合、まずクロック停止フラグを発行する必要がある。これはＪＴＡＧコントロールロジックによって発生する。この後、フラグはすべての必要な機能ブロックに転送(broadcast) される。ＪＴＡＧ命令ＭＣＲ／ＢＩＳＴ１またはＭＣＲ／ＢＩＳＴ２は、信号を発行するために使用される。
【０１０２】
＊段階１：内部信号の監視：次の段階は、正常モードからＪＴＡＧ制御されたモードに設置する時期を把握するためのものである。このモードで、内部ステートはＯＣＲ（監視レジスタ）を通じて監視される。クロック停止は、ＪＴＡＧがすべての機能ブロックから信号を監視する時まで活性化されない。ＭＳＰが動作を実行する間に、ステートはＴＤＯピンを通して監視される。使用される命令はモニタである。
＊段階２：クロックを停止：必要なステートが監視されたので、システムがアイドル状態の場合に、全タイプのクロックを停止させる。クロック停止は、適合したスキャンレジスタをスキャンするために必要である。ＭＣＲ値をどのように設定するかによって、クロックを選択的に停止させる。正常クロックがランニングされるブロックに対するセルをスキャンしない。クロック停止信号は、ＭＳＰがシステムクロックと共にランニングされる間に発生する。４命令(MCR/BIST1、MCR/BIST2 、MCR/BIST3 、MCR/BIST4)の中のいずれもクロック停止信号を発生するために使用される。ＭＣＲ／ＢＩＳＴ１とＭＣＲ／ＢＩＳＴ２とは、境界スキャンセルが通過(transparent) モードである場合に信号を発行可能である。
【０１０３】
＊段階３：内部ステートをスキャニング：現在のすべてのクロックはバイパスされ、プリランニングクロックが存在しない。該当する機能ブロックをスキャンすることができる。ＡＲＭ７ブロックの境界をスキャンするために命令９と命令１０を使用する。命令１２乃至命令２８は、機能ブロックをスキャンするために使用する。命令３５と３６は、ＴＣＫから入力される高速クロックを発生させることに使用される。クロックが再開始される前、ＭＳＰの必要セットアップをする必要がある。例えば、ＡＲＭクロックのような１／２クロックを発生するステートマシンを処理する必要がある。
＊段階４：クロックの再開始：現在のシステムクロックは、ＭＣＲ値をセッティングすることにより再開始(restart）される。段階２と同一な命令がこの段階で使用される。クロックが更に開始される前、クロック停止フラグはロジック“０”にリセットされる。
【０１０４】
１．１０．５．２  製造テスティング動作
マルチプルスキャン命令を使用して製造テストモードに入ることができる。一応、このモードにデコードされると、ＭＳＰは下記のように配列される。
＊両方向１０ピンは入力ポートとして配列される。
＊両方向１０ピンは出力ポートとして配列される。
＊両方向１ピンがｃｌｋ１の入力ポートとして配列される。
＊両方向１ピンがｃｌｋ２の入力ポートとして配列される。
＊両方向１ピンがｓｃａｎ＿ｍｏｄｅの入力ポートとして配列される。
＊他の両方向ピンは正常モードでのように制御される。
＊Ｉ／Ｏクロックと同一なＡＲＭ７クロックは、ｃｌｋ２として印加される。
＊ＰＣＩクロックはｃｌｋ１、ｃｌｋ２を使用する。
＊スキャンクロックは２入力ピン(tca、tcb)にから送出される。
＊すべてのコーデッククロックは、コーデッククロックポートから供給される。
【０１０５】
１．１０．５．３  ＡＲＭ７実行
ＡＲＭ７は、ＡＲＭ７内部テスト(intest)命令を使用して実行される。ＡＲＭ７境界セルは通過しない。ＡＲＭ７の入出力は、境界スキャンチェーンを通じて監視される。
クロックは、ＴＣＫで発生しクロック適用速度を向上させる。３入力(prog32 、data32 bigend)はｍｃｌｋがハイレベルの場合、この信号を変更させるために必要である。これを達成するために、アップデート信号は他の境界スキャンセルのアップデータ信号と分離される。
ｍｃｌｋは、Ｉ／Ｏクロックと共有される。ＡＲＭ７クロックがトリガーされると、他のブロックのステートが変更される。
【０１０６】
１．１０．５．４  キャッシュ及びレジスタファイルアクセスデータレジスタとしてＭＣＲを選択して入出力信号を遮断するＭＣＲ／ＢＩＳＴ４をロードする。ｂｉｓｔクロックは、このモードで動作速度を向上させるために発生する。ＭＣＲを制御することにより、読み出し及び書き込みが実行される。
キャッシュ及びレジスタファイルに入るクロックは、テストクロックとｍｕｘされる。メモリ動作は、他のロジックブロックのステートを妨害されないようにする。
【０１０７】
１．１０．５．５  ベクトルのみの実行
ベクトルのみの実行は、ＡＲＭ７ブロックの出力をＶＰブロックの入力として見なすことが要求される。そのためＡＲＭ７境界スキャンアクセス命令を使用する。
１．１０．５．６  内部テスト及び外部テスト
内部テスト命令及び外部テスト命令を使用する。
１．１０．６  ＪＴＡＧインタフェース信号
【０１０８】
【表１７】
0004267716.tif 000018
【０１０９】
【表１８】
0004267716.tif 000019
【０１１０】
【表１９】
0004267716.tif 000020
【０１１１】
【表２０】
0004267716.tif 000021
【０１１２】
【表２１】
0004267716.tif 000022
【０１１３】
【表２２】
0004267716.tif 000023
【０１１４】
【表２３】
0004267716.tif 000024
【０１１５】
すべてのＪＴＡＧインタフェース信号が＜表１１＞に示すように作成されている。
１．１１  ハードウェアテスト環境
ハードウェアテスト環境は図８に図示されている。ＡＶＬ（ASCII Vector Language)は、特別に境界スキャンテスティングのためにデザインされたテストベクトル言語と境界スキャンテストツールのすべてである。ＩＥＥＥスタンダード１１４９．１により定義された直列境界スキャンテスティングと、伝統的な並列ベクトルに順応した自動テスト装備(ATE；Automated Test Equipment) 言語を併合する。
【０１１６】
ｐｒｏＴＥＳＴ−ＰＣはコンポーネント、ボード及びシステムをテストするためのＩＥＥＥ  Ｓｔｄ１１４９．１信号を発生し、かつ、受信することができる、ＰＣに基づいたテストコントローラボードである。ＡＶＬとｐｒｏＴＥＳＴ−ＰＣは、ＡＩＳ(Alpine Image System、Inc.) の製品である。
テストプロセスの間、ＭＳＰのすべてのテストベクトルは、ＡＬＵ言語によって直列にフォーマットされ、ｐｒｏＴＥＳＴ−ＰＣボードを通してＭＳＰに印加される。テストベクトルは、ＭＳＰ  Ｉ／Ｏまたはスキャンチェーンに印加されるベクトルである。直列に実行されるすべての機能ブロックに対するテストベクトルを容易に応用するために、ＡＶＬマクロは、スキャンチェーンの特別な位置をアクセスするために拡張させることが要求される。通信はＪＴＡＧ５ピンのみを通じて実行される。追加情報のために下記の文書を参照すること。
＊ＡＶＬ使用者ガイド、Ｖ１．８０、アルパインイメージシステム株式会社、１９９５
＊ｐｒｏＴＥＳＴ−ＰＣ用使用者ガイド、Ｖ３．０１、アルパインイメージシステム株式会社、１９９５
【０１１７】
１．１２  埋入されたＲＡＭテストスキーム
１．１２．１  ＩＤＣ
図９は、ＩＤＣブロック用のテストスキームを図示したものである。テストロジックはブロック、ＣＣＵ及びＩＤＣに挿入される。点線で表示したすべてのものは、正常モードにおける信号を表す。ＣＣＵブロックは、テストモードと正常モードとにおけるアドレス用のｍｕｘロジックを提供する。アドレスはセット、リセット、アップ／ダウン及びカウントイネーブル機能を有する９ビットカウンタから発生される。すべてのカウンタ動作は、システムクロック(clk1)と同期を取る必要がある。４カウンタ制御信号(mem＿add ＿ud、mem ＿add ＿cnt 、mem ＿add ＿reset 、mem ＿add ＿set)は、ＪＴＡＧコントローラから供給される。ＭＳＰ側の最初の２ビットは、バンク(bank)選択のために供給されることが要求される。
【０１１８】
３２ビットｂｅｎ＿ｉｄｃ信号は、メモリテストの間ロジック１にセットされる。テスト信号と正常信号との間を選択する二つの信号がある。Ｖｔ＿ｒａｍ＿ｅｎは、ｄａｔａ＿ｒａｍテスティングのためのものである。信号がロジックハイであれば、テストデータが選択される。
ＩＤＣブロックは、ＭＡＲＣＨ  Ｃアルゴリズムが提供される間に、自動比較を実現するための比較器を備える。また、ＪＴＡＧコントローラによって供給される６メモリ制御信号を有する。Ｍｅｍ＿ｃｏｍｐａｒｅは、入出力レジスタ間の比較をイネーブルにする。エラーが発生すると、比較器の出力はロジック０を発生する。そうでなければロジック１である。すべてのＩ／Ｏレジスタが、入出力アクセスを実行するスキャンチェーンにある。
Ｍｅｍ＿ｈｗｄ信号は、ロジック１の場合、書き込みレジスタのデータを保持しイネーブルとなる。他のメモリ制御信号、ｍｅｍ＿ｗｅ、ｍｅｍ＿ｄａｔａ＿ｃｓ、ｍｅｍ＿ｖｔ＿ｃｓ、ｍｅｍ＿ｖｃｌｅａｒに対してはＭＳＰスペックを参照すること。名称は“ｍｅｍ”から始まることを除いては、正常モード信号と同一である。
【０１１９】
１．１２．２  レジスタファイル
レジスタファイル用として規定されたテストスキームは、テストモードでレジスタファイルを容易にアクセスすることを目標としている。ＩＤＣでのように埋入された比較器ロジックが存在しないため、このメモリにＭＡＲＣＨタイプのアルゴリズムを摘要できない。
図１０（レジスタファイルテストスキーム）は、テスト環境のための全体のスキームを表示している。３個の領域、すなわち、データパス、レジスタファイル及びＥＸＥブロックとがある。太い線の左側のすべてのロジックは、ｒｅｇ＿ｆｉｌｅブロックを除いたＥＸＥブロックに属する。ＥＸＥブロックはｍｕｘロジックを提供し、テストモードと正常モードとの間のアドレスと制御信号とを選択する。テストモード選択信号、ｒｅｇ＿ｆｉｌｅ＿ｔｅｓｔ＿ｅｎと、メモリ制御信号ｍｅｍ＿ｗｅ１、ｍｅｍ＿ｗｅ２、ｍｅｍ＿ｃｅｘは、ＪＴＡＧロジックによって供給される。ｒｅｇ＿ｆｉｌｅ＿ｔｅｓｔ＿ｅｎがハイレベル状態であれば、テストデータが選択される。
アドレスはセット、リセット、アップ及びダウンそしてカウントイネーブルを備えた６ビットカウンタで発生する。すべてのカウント動作はシステムクロックｃｌｋ１と同期を取る。入出力レジスタは、図１０に規定された通りに、データパスブロックに位置する。すべてのＩ／Ｏレジスタ等がスキャニングされる時に必要である。３２ビット信号がテストモードでロジック１に供給される。
フリーランニング(free running)クロックはレジスタファイルに供給される。これがキャプチャスキャンレジスタに供給される。
【０１２０】
１．１３  ＭＳＰ境界スキャン
ＭＳＰにおけるすべてのＩ／Ｏパッドは、該当する境界スキャンセルを有する。一つのスキャンチェーンに接続された２７０境界スキャンセルがある。シーケンス及びセルは、＜表１４＞に作成して表示してある。
１．１３．１  境界スキャンセルの選択
ＫＧＬ７５で現在に利用可能なＪＴＡＧセルは、下記の通りである。このようなマッチング標準セルは、＜表２４＞に表示する通りである。ＭＳＰ用の境界スキャンチェーンは、ＬＳＳＤタイプのスキャンセルを使用する。ＫＧＬ７５との差異点は、非重畳された２個のクロックを使用し、境界スキャンチェーンを通じて移動させることである。ＫＧＬ７５境界スキャンセルは、ＡＲＭ７の境界スキャンとして使用される。
＊ＪＴＢＩ１：両方向Ｉ／Ｏ境界スキャンセル。
＊ＪＴＣＫ：クロック入力のような特殊入力境界スキャンセル。
＊ＪＴＩＮ１：入力境界スキャンセル。
＊ＪＴＩＮＴ１：３状態制御内部境界スキャンセル。
＊ＪＴＯＵＲ１：出力境界スキャンセル。
該当する境界スキャンセルを選択する法則は、下記の通りである。
【０１２１】
【表２４】
0004267716.tif 000025
【０１２２】
＊ＧＮＤ、ＶＤＤ、ＶＣＣピンを除外したクロック入力を含むすべての入力セルに対し、ＪＴＩＮ１を使用する。
＊すべての両方向セルに対し、ＪＴＢＩ１を使用する。
＊すべての出力セルに対し、ＪＴＯＵＴ１を使用する。
＊ｔ／ｓ(tri-state) ピンに対し、ＪＴＩＮＴ１を追加する。ＡＤ［３１：０］のような信号グループに対し、ただ一つの３状態制御セルのみを使用する。
＊ｏ／ｄ(open drain)を備えたピンに対し、ＪＴＩＮＴ１セルを使用する。
＊ｓ／ｔ／ｓ(strained tri-state)を備えたピンに対しては、境界スキャンセル選択の観点でｔ／ｓと同一である。
【０１２３】
１．１３．２  境界スキャンセルシーケンス
＊境界スキャンは、ＴＤＩ入力からカウンタクロック方向に連続して接続されている。追加情報のためにＭＳＰピンレイアウトを参照すること。
＊両方向ピンの場合、入力セルは第１番目に入力される。
＊３状態ピンがあれば、３状態制御境界スキャンセル、ＪＴＩＮＴ１がセルより先に入力される。
＊シーケンスで多数の３状態ピンがあれば、シーケンスの第１番目の３状態ピンの前に、一つの３状態制御セルのみが入力される。
【０１２４】
１．１３．３  デザイン細部事項
すべてのＡＤｘｘ信号は、同一な３状態イネーブル信号を有する。一つの制御境界スキャンセルで３２ビットＡＤ信号を十分に制御する。しかし、マルチプルスキャンモードで信号を適切にコントロールするために、４モード制御境界スキャンセルが挿入されている。その結果、総５制御境界スキャンセルがＡＤバスとして使用される。５制御境界スキャンセルは、ＭＳＰコアから一つの正常制御信号を受けて５制御信号を発生する。
【０１２５】
【表２５】
0004267716.tif 000026
【０１２６】
【表２６】
0004267716.tif 000027
【０１２７】
【表２７】
0004267716.tif 000028
【０１２８】
【表２８】
0004267716.tif 000029
【０１２９】
【表２９】
0004267716.tif 000030
【０１３０】
【表３０】
0004267716.tif 000031
【０１３１】
【表３１】
0004267716.tif 000032
【０１３２】
【表３２】
0004267716.tif 000033
【０１３３】
【表３３】
0004267716.tif 000034
【０１３４】
【表３４】
0004267716.tif 000035
【０１３５】
１．１４  ＡＲＭ７境界スキャン
境界スキャンセル選択は、ＭＳＰ境界スキャンセル選択でのような方法によって処理されてきた。追加情報のために以前のセクションを参照すること。名称とスキャンオーダは＜表１７＞に説明されている。
【０１３６】
【表３５】
0004267716.tif 000036
【０１３７】
【図面の簡単な説明】
【図１】本発明の実施形態におけるメモリコントローラユニットにインタフェース接続されたＪＴＡＧロジック回路の構成を示すブロック図。
【図２】実施形態にあってレジスタセルの構成を示すブロック図。
【図３】図２に示すレジスタセルと他のレジスタセルとの接続情報を示す図。
【図４】実施形態にあってセルフリフレッシュステートマシンの状態を示す図。
【図５】本発明でのＪＴＡＧによるＳＤＲＡＭのダイナミックセルフリフレッシュの設定及び解除の処理手順を示すフローチャート。
【図６】テストモードにおける信号概要図。
【図７】ＭＳＰのクロック図。
【図８】ＭＳＰハードウェアテスト環境を示したブロック図。
【図９】ＩＤＣブロック用テストスチームを示したブロック図。
【図１０】レジスタファイルテストスチームを示したブロック図。
【符号の説明】
１１０  ＪＴＡＧコントローラ
１１２  セルフリフレッシュステートマシン
１１４  メモリコントローラステートマシン
１１６  ＳＤＲＡＭ
１２０  モードコントローラレジスタ（ＭＣＲ）
１２５  監視コントローラレジスタ（ＯＣＲ）
１４０  ＪＴＡＧロジック回路
１５０  システムクロック発生器ブロック
１６０  メモリコントローラユニット
３００，４３０，４５０，４７０  レジスタセル
３１０  フリップフロップ回路
３２０，３２５  ラッチ回路
１１８，３０５，３３０  マルチプレクサ
３８０，３８５  接続線
【図１】
0004267716.tif 000037
【図２】
0004267716.tif 000038
【図３】
0004267716.tif 000039
【図４】
0004267716.tif 000040
【図５】
0004267716.tif 000041
【図６】
0004267716.tif 000042
【図７】
0004267716.tif 000043
【図８】
0004267716.tif 000044
【図９】
0004267716.tif 000045
【図１０】
0004267716.tif 000046