JPH06174796A - 回路上の集積回路間の相互接続をテストする方法 - Google Patents

回路上の集積回路間の相互接続をテストする方法

Info

Publication number
JPH06174796A
JPH06174796A JP5204823A JP20482393A JPH06174796A JP H06174796 A JPH06174796 A JP H06174796A JP 5204823 A JP5204823 A JP 5204823A JP 20482393 A JP20482393 A JP 20482393A JP H06174796 A JPH06174796 A JP H06174796A
Authority
JP
Japan
Prior art keywords
test
state
data
circuit
microprocessor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5204823A
Other languages
English (en)
Inventor
J Williams Michael
ジェイ ウィリアムズ マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH06174796A publication Critical patent/JPH06174796A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/31855Interconnection testing, e.g. crosstalk, shortcircuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318569Error indication, logging circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3187Built-in tests
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 【目的】 マイクロプロセッサを含む集積回路よりなる
回路に修正を加えないで境界走査テストを実行して、集
積回路間での相互接続をテストする方法を提供するこ
と。 【構成】 回路上の集積回路間の相互接続をテストする
方法は、集積回路29のターミナルにそれぞれ接続され
ている境界走査セル29内のラッチを利用する。ラッチ
は、シフトレジスタとしてシリアルに接続可能で、テス
トパターンのビットがラッチへ入力できる。パターンの
ビットは、相互接続を経由して他のラッチへ転送され、
シフトレジスタに沿って回路へシフト出力される。入力
と出力の差異が不良相互接続を示す。この方法は、回路
のマイクロプロセッサへ適用され、マイクロプロセッサ
は、そのRAMを他の集積回路のラッチとして動作させ
るために使用可能とするプログラムを有す。このプログ
ラムは、マイクロプロセッサのオンチップ記憶部に記憶
される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、回路基板のテスト法に
関し、特にマイクロプロセッサを含む回路基板の境界走
査テストに関する。
【0002】
【従来の技術】電子回路のメーカーは、一般に、複数の
集積回路及びその他の部品を装着したプリント基板の形
で回路を作成する。これらの部品は、部品のリードまた
はピンとパターンとの間の半田付けを利用した電機的接
触を有する基板上にプリント配線された導体、即ち金属
パターンにより相互接続される。相互接続は、不完全か
も知れず、接続不良の短絡または開放の可能性があり、
これら不良は、半田接続またはパターンの不良に起因す
る場合がある。回路基板が完成すると、テストの一方法
として回路を動作させることもできるが、複雑な多数の
基板に関して全ての相互接続が正しくなされているかど
うかを完全にテストすることは困難であり、時間の浪費
となる。境界走査テストは、回路基板の集積回路間の相
互接続テストをより早く実行することを可能とするテス
ト方法である。境界走査テストシステムは、IEEE規
格11491.1−1990“規格テストアクセスポート
及び境界走査アーキテクチャ” (Standard TestAccess
Port and Boundary Scan Architecture) 、別名JTA
Gで定義されている。JTAG境界走査テストをサポー
トするには、集積回路は、その多数のピンの各々に付
き、境界走査セル、例えば入力ラッチ、出力ラッチまた
は入力ラッチ及び出力ラッチの両方、または入出力ラッ
チと接続され、その特定のピンを経由して信号を送受信
するために備える必要がある。更に、境界走査セルは、
コントロールラッチを含んでいてもよい。ラッチの各々
は、シフトレジスタラッチ及びシャドウラッチを含んで
いてもよい。シフトレジスタラッチは、自己または他の
境界走査セルの他のラッチと組合わさり、集積回路の入
力ターミナル及び出力ターミナルまたはいずれかを全て
統合する長いシフトレジスタを形成する。これらセルに
は、従って、各集積回路の専用テストデータ入力ピンへ
供給されるデータをシリアルにロードされる。シフトレ
ジスタが作動すると、シフトレジスタに既にあるデータ
は、集積回路の専用テストデータ出力ピンを経由して出
力される。時には、シフトレジスタラッチと対応するシ
ャドウラッチの間でデータが転送される。
【0003】二つ以上のJTAG集積回路を有する回路
では、各集積回路のシフトレジスタは、シリアルに接続
され、走査パスとして知られる一つの長いシフトレジス
タを形成する。回路基板上の集積回路間の相互接続テス
トを実行するには、適当にコントロールデータを散在さ
せたテストデータが、走査パスに沿って送られ、集積回
路の入力ラッチ及び出力ラッチへロードされる。各境界
走査セルは、コントロールラッチを含む場合は、コント
ロールラッチにロードされた値に応じて、入力セルかま
たは出力セルとなる。セルがコントロールラッチを含ま
ない場合は、入力セルか出力セルとして構成される。次
に、各出力セルがその出力ラッチに保持しているテスト
データをそのピンを経由して相互接続上へ送信し、各入
力ラッチは、そのピンを経由して相互接続からテストデ
ータを受信し、記憶する。ラッチで得られたデータのパ
ターンが、析のため走査パスに沿ってシフト出力され、
相互接続が正しく機能しているかどうかを検出する。シ
ャドウラッチが保持しているデータは、境界走査セルが
入力か出力かを実際に決定し、セルのピンに出力される
値がそれらピンに供給されるデータに直接応答する。
【0004】通常、得られたパターンの解析も実行する
コンピュータがテストパターンを生成する。通常、コン
ピュータには、走査パス上の集積回路の記述、例えばど
のセルが入力ラッチを含むかとか、どのセルが出力ラッ
チを含むかとかいった記述と、基板上のピン間の相互接
続の記述とが与えられる。これらの記述に従って、コン
ピュータは、多数のテストパターンを生成し、テスト実
行後、得られたパターンは、解析され、回路基板が記述
通りの相互接続となっているかどうか、もし異なってい
れば、どのように不良であるかを検出する。境界走査テ
ストは、回路基板をテストする素早くかつ信頼できる方
法であるが、集積回路は、必要とするハードウェアを含
む構成となっている必要がある。この構成は、上述のラ
ッチのみでなく、シフトレジスタに接続する手段と必要
なコントロール信号に応答する手段とを含む。境界走査
テストは、回路基板上の全ての集積回路がサポートして
いる場合は、最も単純で最も有効な方法である。集積回
路のいくつかのみがサポートしている場合は、多くの対
処方法がある。集積回路のメーカーは、境界走査テスト
をサポートするハードウェアを含むように集積回路を再
設計できる。この方法は、時間を必要とし、デバイスの
シリコンの面積、従ってコストを増加し、専用コントロ
ールピンとテストデータを新規の集積回路に設ける必要
があるので、新規の集積回路が旧集積回路と互換性がな
くなり、従って旧集積回路との直接交換が不可能となる
ことを意味する。回路基板のメーカーは、境界走査テス
トをサポートするバファを、境界走査テストをサポート
していない集積回路と回路のその他との間に追加できる
が、こうするとコストを増加し、回路の性能とタイミン
グに影響を与え、テスト不可能な更なる相互接続の追加
を意味する。最後の手段として、サポートしていない集
積回路への対策は、テスト時無視され、従ってテスト範
囲を低減する。その影響は、例えば、ジェン・ラッド社
(300ベーカー通り、コンコード、マサチューセッ
ツ、米国)(Gen. Rad. Inc., 300 Baker Avenue, Conco
rd, MA, USA)発行の論文“部分境界走査による基板の相
互接続テスト”(Interconnect Testing of Boards with
Partial Boundary Scan) でロビンソン(Robinson)及び
デサージェス (Deshages) により説明されている手順の
ような、より長くより精巧な境界走査テスト手順により
ある程度は、低減される。
【0005】
【発明が解決しようとする課題】非サポート集積回路
が、例えば、マイクロコントローラといったマイクロプ
ロセッサの場合、この手法の短所が拡大される。これら
のデバイスは、含まれる回路の機能の中心となり、従っ
て他の部品の多くに接続されているからである。JTA
Gハードウェアのマイクロコントローラへの追加は、通
常付随する入力ピン及び出力ピンの複雑さ、タイプ、数
の故にかなりの作業量となる。従って、この境界走査テ
スト機能を導入するためにわざわざ既存のマイクロコン
トローラの構成を修正するには、躊躇がある。本発明の
目的は、マイクロプロセッサを含む回路を境界走査テス
トする、少なくとも上述の問題を克服した方法を提供す
ることにある。
【0006】
【課題を解決するための手段】本発明によれば、複数の
集積回路の相互接続をテストする方法が得られ、少なく
とも集積回路のいくつかは、前記集積回路のターミナル
のいくつかとそれぞれ接続されている記憶要素と、前記
記憶要素を少なくとも一つのシフトレジスタチェインに
接続するための手段とを含み、前記方法は、初期テスト
パターンのビットを、前記少なくとも一つのシフトレジ
スタチェインに沿って、前記記憶要素へシリアルに入力
し、前記初期テストパターンのビットのいくつかが入力
された前記記憶要素から前記初期テストパターンのビッ
トのいくつかを、前記ターミナルと前記相互接続を経由
して、前記記憶要素の他のものへ転送し、前記少なくと
も一つのシフトレジスタチェインに沿って前記記憶要素
からシリアルに得られたパターンのビットを呼び出し、
且つ相互接続に関する情報を導出するため前記初期テス
トパターンと得られたパターンとを比較し、前記複数の
集積回路の少なくとも1つはマイクロプロセッサであ
り、前記回路にはテストプログラムが記憶され、前記テ
ストプログラムは、前記初期テストパターンのビットの
部分をマイクロプロセッサに直列に入力し、且つそれを
記憶部に記憶し、前記記憶部へ記憶されたビットのある
ものを読みだし、特定の相互接続へ接続されている前記
マイクロプロセッサのターミナルに対応する出力信号を
発生し、マイクロプロセッサのターミナルで特定の相互
接続を経由してビットを読みとり、前記記憶部に受信し
たビットを記憶し、前記記憶部に記憶された受信ビット
をシリアルの形式で前記マイクロプロセッサから出力と
して形成することを含む多数の動作を前記マイクロプロ
セッサに実行させて、前記マイクロプロセッサのターミ
ナルへ接続された相互接続のテストを可能としているこ
とを特徴とする。
【0007】
【実施例】JTAG規格を図1、2、3を参照して説明
し、マイクロプロセッサを含む回路の境界走査テストの
方法を説明する。これらの説明は、単に実例を示すこと
のみを意図している。図1は、全てがJTAG境界走査
テストをサポートする3個の集積回路21、22、23
を含む回路図である。各集積回路は、20ピンを有し、
1番ピンと20番ピンは、JTAGバスのそれぞれテス
トモードセレクト(TMS)信号ライン及びテストクロ
ック(TCK)信号ラインに接続され、10番ピン及び
11番ピンは、電源に接続され、アプリケーションピン
3〜9及び12〜18は相互接続25、26、27及び
28を通じて他の集積回路21、22、23のピンまた
はターミナル24へ接続される。集積回路のピン3〜9
及びピン12〜18の各々ピンにつき、総合入出力ラッ
チ及びコントロールラッチを含む境界走査セル29が備
わっている。全ての集積回路の境界走査セルは、走査パ
ス30上にあり、ターミナルTDIで始まり、集積回路
21のピン2に入り、その集積回路の境界走査セルを通
過し、ピン19を出て、同様に集積回路21、22を通
過し、ターミナルTDOで終わっている。走査パス30
は、クロック信号TCKにより駆動されるシフトレジス
タとして動作する。
【0008】集積回路21のピン12〜18と集積回路
22のピン3〜9の間の相互接続をテストするには、テ
ストデータ及び挿入コントロールデータは、TMS及び
TCKラインの信号の制御に基づき、走査パス30に沿
って伝送され、境界走査セル29の入力ラッチ及び出力
ラッチへ入力される。集積回路21のピン12〜18の
セルの入力ラッチ及び出力ラッチは、出力として設定さ
れ、集積回路22のピン3〜9のセルの入力ラッチ及び
出力ラッチは、入力として設定される。テストデータの
重要値は、集積回路21のピン12〜18に与えられる
ものである。一旦全データが走査パスに沿ってシフトさ
れると、集積回路22の入力ラッチに転送されるのは、
これらのデータだからである。ラッチされたデータは、
次にシフト出力され、相互接続が全て正しく機能してい
るかどうかをチェックするために解析される。特別な例
として、ピン15のラッチがハイ以外は、ピン12〜1
8の出力ラッチの全てでロウであるようなテストパター
ンがある。図面では、欠陥がない場合は、集積回路22
の8番ピンの入力ラッチへハイが接続され、ピン3〜9
の他のピンは、ロウを受信することがわかる。例えば、
15番ピンから8番ピンへの相互接続が14番ピンから
4番ピンへの相互接続へ短絡している場合は、4番ピン
のラッチでハイが受信され、15番ピンのラッチがこれ
らの相互接続をハイに駆動することができる一方で、1
4番ピンのラッチは、これらの相互接続をロウに駆動し
ようとする。走査パス30に沿ってシフト出力された、
この得られたパターンでの余分なハイは、検出された不
良の性質を示す出力を生成するテストを実行するコンピ
ュータによって検出される。
【0009】短絡及び開放のための相互接続を全てテス
トするためには、データの多数のシフト動作、ラッチ動
作、及びシフト出力動作の実行が必要となることは、明
らかである。テストパターンは、テキサスインスツルメ
ント社 (Texas InstrumentsIncorporated) のASSE
Tシステムといったソフトウェアで制御されるテストを
プログラムを走らせるコンピュータにより通常、生成さ
れる。一つのピン対一つのピンの相互接続よりもっと複
雑な相互接続、例えば、相互接続27もまたテストする
ことが可能である。ターミナル24に対する相互接続
は、テストされている回路基板上にはないが、走査パス
に含まれ、JTAGをサポートしている他の集積回路へ
この相互接続を接続することによってテスト可能であ
る。図2は、図1に類似したJTAGをサポートする集
積回路39の図である。走査パス30の境界走査セル2
9に加えて、走査パス30に接続されているアプリケー
ションピン31及びピン2、19、コントロール信号、
TMS,TCKを受信するピン1、20、電源に接続さ
れているピン10、11があり、図2は、アプリケーシ
ョン回路32、テストアクセスポート(TAP)コント
ローラ33、バイパスレジスタ34、命令レジスタ3
5、マルチプレクサ36、37及びトライステートラッ
チ38を示している。JTAG規格では、バイパスレジ
スタと境界走査セルのセットとは、データレジスタとし
て知られている。規格を完全に実現すると、他のデータ
レジスタも備えられるが、これは本発明には関係がない
ので説明は、省略する。
【0010】アプリケーション回路は、テストモード以
外のときは、集積回路の通常機能を実行する。このテス
トモード以外の期間は、境界走査セルのラッチにより邪
魔されることなくアプリケーションピン31を経由し
て、アプリケーション回路は、他の部品と自由に通信で
きる。実際には、アプリケーション回路の入力及び出力
は、ラッチする必要があり、その場合境界走査セルのラ
ッチは、その目的に使用してもよい。バイパスレジスタ
34と命令レジスタとは、集積回路39を通じての境界
走査セルへの代替走査パスである。マルチプレクサ36
と37は、これらのパスを一つのパスへ再統合し、ラッ
チ38は、各パスの長さを一ステップだけ増加する。テ
ストアクセスポートコントローラは、テストバスのTC
K信号及びTMS信号に応答し、また命令レジスタ記憶
されている値に応答する。テストアクセスコントローラ
は、テストロジックの他の動作を制御する。バイパスレ
ジスタ34と命令レジスタ35は、境界走査セルと同様
に、データを走査するときシフトレジスタを形成するラ
ッチを有するだけでなく、時に応じて値をそれらのラッ
チからまたはそれらのラッチへ転送するシャドウラッチ
をも有す。
【0011】図3は、図2のテストアクセスポートコン
トローラ33の状態図を示し、これはJTAG規格に合
致する。テストアクセスポートコントローラは、TCK
の各正のパルスエッジでTMS信号を調べ、TMSの値
に応じて新状態に遷移する。これは、状態図でTMS信
号の値を示す1または0が表示された矢印により示され
る。波線の長方形で囲まれた図の二つの部分は、それぞ
れデータレジスタと命令レジスタを操作し、DR−SC
AN40及びIR−SCAN39として示される。この
特別なデータレジスタは、命令レジスタに保持されてい
る値に依存する。集積回路39を通じての操作パス変更
の選択は、両コントロール信号、TMS、TCK及び命
令レジスタ35の値に関係するということは留意する必
要がある。状態図上で遷移すると、上述のような境界走
査テストが実行される。これら状態の機能の完全な説明
は、JTAG規格に示されている。これらのある機能
は、後述のデバイスには組み込まれていず、関係ある状
態の簡単な説明のみがなされる。TEST−LOGIC
−RESETの状態は、電源投入での状態である。この
状態で、テストロジックは、作動していず、集積回路3
9は、アプリケーション回路32を使用した通常の機能
を実行する。
【0012】RUN−TEST/IDLE状態は、ある
特定のテスト機能のために、標準規格で使用されている
が、これらの機能は後述のデバイスには組み込まれては
いないが、このRUN−TEST/IDLE状態は、T
MS及びTCK信号に応答して標準的な方法で状態が遷
移するように設けられている。SELECT−DR−S
CAN及びSELECT−IR−SCAN状態は、これ
らの状態から他の状態へ遷移するのみの機能を実行す
る。CAPTURE−IR状態では、命令レジスタは、
10000001のパターンがロードされ、走査パスに
沿って送り出される。TEST−LOGIC−RESE
T状態が、最終走査動作の後、通過すると、TDO(テ
ストデータ出力)ピン19を駆動するラッチ38は、イ
ネーブルされ、ロウかゼロを出力する。そうでない場合
は、ラッチ38は、最後にイネーブルされたときと同じ
出力を出力する。SHIFT−IR状態では、データ
は、命令レジスタを通じてTDI(テストデータ入力)
ピン2からTDOピン19へ、TCKの1サイクル毎に
1ステップ進む。CAPTURE−IR状態のレジスタ
の10000001のパターンは、シフト出力され、命
令レジスタが走査パスへ接続されていることを確認する
ために使用される。
【0013】EXIT1−IR及びEXIT2−IRで
は、シフト動作を終了される以外には特別な動作は実行
されない。PAUSE−IRでは、特別な動作は実行さ
れず、テストアクセスポートコントローラ33は、この
状態に保持され、シフト動作を一定期間中断する。UP
DATE−IR状態では、命令レジスタのシフトレジス
タラッチの値は、シャドウラッチへ転送される。データ
レジスタを走査するための状態の機能は、走査される特
定のレジスタに依存する。以下のような機能がある。C
APTURE−DR:命令レジスタの値で選択されたデ
ータレジスタは、走査パスへ配置され、TDOピン19
を駆動するラッチ38は、イネーブルされ、バイパスレ
ジスタが選択された場合にラッチ38は、ロウまたはゼ
ロレベルを出力するようにイネーブルされるという違い
はあるが、CAPTURE−IR命令によりなされると
同様にイネーブルされる。境界走査セルの場合は、この
状態期間中に、入力ピン上に存在し、かつ相互接続2
6、27を通じて他の境界走査セルからシャドウラッチ
により受信された値が、他のシャドウラッチに保持され
ているデータと共に、シフトレジスタラッチへ入力され
る。
【0014】SHIFT−DR状態では、選択されたレ
ジスタのシフトレジスタラッチに記憶されているデータ
は、TCKの1サイクル毎に1ビットのスピードでTD
Iピン2からTDOピン19へ集積回路39を通じてシ
フト出力される。データレジスタの場合、シフトされた
データは、テストデータはもとよりコントロールデータ
をも含む。バイパスレジスタの場合、データのビット
は、レジスタが、1ビット長のみなので、集積回路を通
じて高速にシフトされる。このレジスタは、例えば、他
の集積回路の境界走査セルを使用したいが、この特定の
集積回路の境界走査セルを使用したくない場合に使用さ
れる。EXIT−DR,EXIT2−DR,PAUSE
−DR状態は、対応するIR状態と類似の機能を有す。
UPDATE−DR状態では、シフトレジスタラッチの
シャドウとなるラッチは、これらのシフトレジスタラッ
チにより更新される。境界走査セルの場合、コントロー
ルデータラッチ及び出力ラッチは、それらの新値が与え
られる。上述のように相互接続26、27といった相互
接続のテストを実行するためには、境界走査セル29を
走査パス上に配置する命令を命令レジスタに一旦シフト
するために、IR−SCAN状態を39を通過すること
が必要であり、DR−SCAN状態を二度通過するに
は、境界走査セルに、一旦テストデータ及びコントロー
ルデータをシフトし、それらの値をシャドウラッチへ転
送し、更にもう一度他の境界走査セルからのテストデー
タを入力シャドウラッチへラッチ入力し、次にシフトレ
ジスタラッチへラッチ入力し、境界走査シフトレジスタ
から出力パターンをシフト出力することが必要である。
【0015】本発明は、走査パスに例えばマイクロコン
トローラといったマイクロプロセッサを含むように境界
走査テストを実行し、これらマイクロプロセッサまたは
マイクロコントローラが境界走査テストを実行する特別
な回路を有さない場合に関する。本発明のこの問題に対
するアプローチは、マイクロプロセッサをプログラム
し、マイクロプロセッサにいかなる追加回路を設けるこ
となくマイクロプロセッサ資源を利用してテストバス信
号及びテストデータ信号に応答して図1及び図2に示さ
れるようなJTAG集積回路の動作をシミュレートす
る。本発明では、シミュレーションは、ソフトウェアの
制御で実行され、マイクロコントローラへの本発明の応
用は、多くのマイクロコントローラがソフトウェアが記
憶されるROM、EPROMまたはEEPROMといっ
た記憶部をチップ上に有するので特に簡単である。ま
た、多くのマイクロコントローラがRAMの記憶部を有
し、そこにソフトウェアにより操作されるデータが記憶
される。この結果、デバイスは、内蔵型となる。テスト
用ソフトウェアが記憶される記憶部は、例えばそれがR
AM、EPROM、またはEEPROMの場合、JTA
Gテストが正常に終了するとテスト用ソフトウェアが消
去され、テスト用ソフトウェアにより占有されていた記
憶スペースが他のために使用されるような種類のもので
ある。
【0016】マイクロプロセッサによりハードウェア及
びJTAG規格のプロトコルをシミュレーションをさせ
るソフトウェアを書くことにより、規格に準拠するデバ
イスは、デバイスそれ自身にいかなる変更を加えること
なく境界走査テストに組み込める。このようにして、既
存のマイクロプロセッサのコストのかかる再設計が不要
となり、マイクロプロセッサを利用したシステムは、容
易に既存のJTAGテスト及びサポート用ハードウェア
に適合する。JTAG回路の動作をシミュレーションす
るために、ソフトウェアは、マイクロプロセッサのピン
を使用してマイクロプロセッサへの入力またはマイクロ
プロセッサからの出力を操作しなければならない。マイ
クロコントローラは、通常、ソフトウェアを書き込む仕
事を単純化している、個々にプログラム可能なピンの制
御を含む、入力及び出力を制御する柔軟性のある方法を
可能としている。本発明によるマイクロコントローラの
一例を説明する。図4は、テキサスインスツルメント社
(Texas Instruments)により製造されているTMS37
0 CX5Xマイクロコントローラのブロック図であ
る。このデバイスの詳しい説明は、テキサスインスツル
メント社発行のデータシートにゆずる。マイクロコント
ローラに境界走査テストをサポートさせるのに使用され
るプログラムを、本明細書に挿入している。このプログ
ラムは、TMS370アセンブリ言語で書かれている。
プログラムが記憶されるマイクロコントローラの記憶部
は、ROMまたはEPROMでよい。JTAG境界走査
テストモードをシミュレーションするためには、プログ
ラムは、MCピンへロウ信号レベルを加えることによっ
てなされるシングルチップマイクロコンピュータモード
でマイクロコントローラが動作すると想定している。こ
のモードで、マイクロコントローラは、ポートA,B,
C,Dが、アドレスバス、データバス、コントロールバ
ス接続用でなく、汎用入出力ポートとして構成される非
拡張モードにデフォルト設定される。プログラムは、マ
イクロコントローラをこのモードのままにしておく。
【0017】プログラムは、JTAGテストバスのTC
K信号、TMS信号、TDI信号がマイクロコントロー
ラのそれぞれINT3ピン、SPICLKピン、SPI
SOMIピンに加えられることを想定し、SPISIM
OピンにTDO出力信号を生成する。これらのピンの中
で、INT3はマスク可能割込み入力として機能するよ
うに構成され、シリアル周辺インタフェース用のピンで
あるその他のピンは、汎用入力/出力ピンとして構成さ
れる。マイクロコントローラの残りのピンINT1、I
NT2で、シリアル通信インタフェースのピン及びタイ
マーピンは、汎用入力/出力ピンとして構成され、アナ
ログポートは、汎用デジタル入力ポートとして構成され
る。プログラムは、通常のJTAG回路機能をシミュレ
ーションし、特にテストアクセスポートコントローラ3
3の機能と、テストアクセスコントローラのJTAG状
態図(図3)での遷移をシミュレーションする。これを
実行するため、プログラムは、マイクロコントローラの
RAM記憶部の二つのレジスタを保持し、レジスタは、
次の状態、TMSのハイの値かTMSのロウの値をしめ
す。JTAGテストアクセスポートコントローラは、従
ってプログラムも、TEST−LOGIC−RESET
状態で開始するので、二つのレジスタを初期化し、TE
ST−LOGIC−RESET及びRUN−TEST/
IDLEをそれぞれ次の状態として示す。プログラム
は、INT3を設定し、TCKの正のパルスエッジで割
込みを発生する。割込みとなると、割込み処理ルーチン
は、TMS信号の値をチェックし、それがロウかハイか
をみて、次の状態の機能を実行する多数のルーチンの一
つを呼び出し、選択されたその特定のルーチンは、適当
な次の状態レジスタにより指示されるルーチンである。
ルーチンの状態の機能に加えて、それらルーチンは、次
の状態レジスタを適当に更新し、後続の割込みに際し、
状態は、図3に示されるように横断して遷移する。
【0018】状態のいくつかは、TCKの負のパルスエ
ッジで動作することを必要とし、そのような動作は特に
TDO信号の出力の場合があり、次の正のパルスエッジ
で他の集積回路によるTDO信号の受信に備えられる。
状態ルーチンは、この処理をINT3をリセットし、負
のパルスエッジで割込みを発生し、割込みを待つように
して実行している。割込みが起こると割込み処理ルーチ
ンがTDO信号の次のビットを出力し、INT3を正の
パルスエッジで割込みを発生するようにINT3を復元
する。プログラムは、マイクロコントローラのRAMに
命令レジスタをシミュレートするためにレジスタを保持
する。このレジスタは、JTAG回路の命令レジスタ3
5に適用する方法と同じ方法で図3のIR−SCANボ
ックスの状態の状態ルーチンによって操作される。この
レジスタの値即ち命令コードは、図3のDR−SCAN
ボックス40の状態の状態ルーチンにも、動作を適当に
修正して、利用可能である。JTAG回路は、規格で指
定された命令の全てかあるいは一部かをサポートする。
本明細書に添付されたプログラムは、EXTEST及び
BYPASS命令のみをサポートする。命令レジスタに
他の命令のコードがある場合は、BYPASS命令が実
行される。
【0019】プログラムが保持している命令レジスタに
EXTEST命令のコードがある場合は、DR−SCA
N40の状態ルーチンがデータレジスタを操作する。デ
ータレジスタは、マイクロコントローラのRAM記憶部
の17の連続した8ビットレジスタを占有する。添付プ
ログラムの初めのコメント行にある表は、データレジス
タが如何に構成されているかを示す。このデータレジス
タは、特別JTAG回路を有す集積回路の境界走査セル
29のシフトレジスタラッチに対応する。シャドウラッ
チに対応するレジスタは、既に存在するマイクロコント
ローラのポートのラッチを含む。これらのラッチは、周
辺ファイルとして知られるマイクロコントローラのメモ
リマップの部分に存在する。データレジスタとポートラ
ッチの間での転送、即ちシャドウラッチとそのシフトレ
ジスタラッチとの間の転送に相当する転送が簡単に実行
されるように、データレジスタの構成は、メモリマップ
のポートラッチの構成を反映している。そのような構成
は、テストパターン発生や、既に述べたASSETシス
テムといったシステムのシステム解析するうえで不具合
がない。これらのシステムでは、特定の入力/出力ラッ
チの順序付けを必要とせず、システムが属するこれらの
ラッチ及び境界走査セル即ちピンの順序付けは、システ
ムに指定される。従って、ASSETといったシステム
を用いて添付プログラムのマイクロコントローラTMS
370CX5Xをテストするためには、表に含まれるそ
の情報は、システムに指定してやる必要がある。
【0020】データレジスタと既存のポートラッチとの
間でなされる転送は、DR−CAPTURE及びDR−
UPDATE状態ルーチンによりなされる。これらのル
ーチンは、データを既存のポートラッチからデータレジ
スタへ転送し、またこの逆方向へ転送する。データレジ
スタのシフトは、SHIFT−DRルーチンにより実行
され、このルーチンでは、TDIのピン2にあるビット
は、データレジスタのビット135へシフトされ(添付
プログラムの初めの表を参照)、このレジスタにすでに
あるデータビットは、1ビット下位に下ろされ、ビット
0は、TCKの次の負のパルスエッジでTDOのピン1
9で、プログラムのOUTREGと呼ばれるRAMのレ
ジスタに記憶することにより、出力される。OUTRE
Gに保持されるビットは、TCKの負のパルスエッジで
TDOピンにプログラムによって設定される。このよう
にして、JTAG集積回路のラッチ38の機能がシミュ
レートされる。走査パス上に含まれるマイクロコントロ
ーラのピンは、入出力ラッチ、個別の入力ラッチ及び出
力ラッチまたはいずれか、及びコントロールラッチを種
々組み合わせることが可能であることが表からわかる。
これらのラッチの各々には、データレジスタの1ビット
がある。しかし、表の“定義”欄中でダッシュによりマ
ークされているデータレジスタのあるビットには、対応
するシャドウラッチが設けられていない。これらのビッ
トは、シフトレジスタを長くするためであって、従っ
て、解析システムにより読みとられると存在するけれど
も、情報を含まないので、パターン発生や解析システム
にそのように指定されなければならない。データビット
の他のビットがそれらの対応するシャドウラッチへ転送
されるとき、これらのビットは、周辺ファイルへ、その
位置にあるいかなるラッチへも書き込まれる。本例で
は、これは好ましくない効果をもたらすことはない。し
かし、他のマイクロプロセッサで走る他の例では、これ
による好ましくない効果があるかも知れない。その対策
として、これらのビットを周辺ファイル等に書き込むと
き、適当な値でこれらのビットをマスクする。
【0021】BYPASS命令のコードが命令レジスタ
中にある場合、DR−SCAN40状態ルーチンは、バ
イパスレジスタを走査パス上へ有すJTAG集積回路の
動作をシミュレートする。実際、EXTESTの命令コ
ードを除く全ての命令コードは、BYPASS命令とし
て扱われる。シミュレーションは、以下のようになされ
る。CAPTURE−DR状態ルーチンでは、ロウまた
はゼロは、TCKの次の負のパルスエッジでTDOピン
で設定可能に準備されるべく、OUTREGに記憶され
る。SHIFT−DR状態ルーチンでは、TDIピンに
存在する値が読まれ、TDOピンで設定可能に準備され
るべく、OUTREGに記憶される。UPDATE−D
R状態ルーチンでは、次の状態レジスタを更新する動作
のみが実行される。DR−SCAN40状態ルーチン
は、またTMS信号のパイプラインのため、BYPAS
S命令及びEXTEST命令を考慮している。上述のプ
ログラムにより利用されているJTAG集積回路の動作
をシミュレートする方法が唯一の可能性ではない。例え
ば、割込み駆動に替えて、プログラムは、TCK信号を
ポーリングし、データレジスタは、異なった構成となる
か、テストバス(TCK,TMS,TDI,TDO)が
接続されるピンの異なった選択がなされる。他の例とし
て、類似のプログラムは、TMS370CX5Xのポー
トA,B,C,Dに相当するポートがデータ、アドレス
及びコントロールバスのポートとして構成されるような
マイクロプロセッサに書き込まれる。そのようなプログ
ラムでは、ピンに希望出力を生成するのはそれほど分か
りやすくはない。例えば、マイクロプロセッサの命令セ
ットは、アドレスバス用ピンとデータバス用ピンとの個
別にプログラムできないかもしれないからである。しか
し、データ値をあるアドレスに書き込むような命令があ
り、この命令を利用して希望値は、ポートを一緒にプロ
グラムするのに使用される。これらの値は、マイクロプ
ロセッサのクロックの数サイクルの間のみピンに存在す
ると思えるので、データがピンに設定される期間が他の
JTAG集積回路によりデータがラッチされる時間を含
めるように余裕をもたせる必要がある。コントロールポ
ートを同時にアドレスバス及びデータバスとしてプログ
ラムすることは不可能であり、それらのピンに接続され
る相互接続は、テストパターン発生と解析システムの時
間を考慮して、異なった時間にテストされねばならな
い。
【0022】ソフトウェアをマイクロプロセッサ内部の
記憶部へ記憶する必要はない。JTAGシミュレーショ
ンソフトウェアは、システムの構成により、記憶可能な
多数の場所がある。例えば、外部ROM、PROM、ま
たはEPROMは、ソフトウェアは、そこに常駐し、総
システム記憶に対して最小のオバーヘッドでとなるよう
にしている。好都合にも、ソフトウェアは、外部RO
M、PROMまたはEPROMからブロックでマイクロ
プロセッサの内部RAMへ転送され、そこから実行され
る。これに替えて、取り外し可能なROM、PROM、
EPROMが使用でき、プリント基板のテストが正常に
終了するとアプリケーションソフトウェアにより置き代
わる。多くのマイクロコントローラが、量産向きアプリ
ケーションでの埋め込み制御を意図して構成されてい
る。そのようなデバイスは、オンチップマスクROMま
たはEPROMをよく使用する。EPROMの場合は、
デバイスは、消去でき正常なテスト後、アプリケーショ
ンソフトウェアにより再プログラム可能である。オンチ
ップEEPROM(不揮発性記憶)を有するTMS37
0ファミリーといったコントローラを使用すると特に有
効な解決法が得られる。JTAGソフトウェアは、最終
装置のメーカーへの船積み前にデバイスのEEPROM
へ埋め込まれ、(オンチップかオフチップかの)RO
M、PROMまたはEPROMへそのメーカーにより書
き込まれたアプリケーションソフトウェアは、JTAG
ソフトウェアを強制的に実行する電源投入時に、EEP
ROMのチェックバイトを読みとることができる。
【0023】テストが正常に終了すると、JTAGソフ
トウェアは、マイクロコントローラ自身により、シミュ
レートされた命令レジスタでの特別コマンド語の後、消
去される。このようにして、JTAGソフトウェアは、
テスト後はその存在を示す跡は残さず、それが使用した
資源は、通常のアプリケーションソフトウェアに利用可
能である。特別コマンド語は、JTAG規格の未使用の
コードでもかまわない。TMS370ファミリーのEE
PROMは、マイクロコントローラ自身により書き込ま
れ、消去される能力を有し、必要な12.6Vは、オンチ
ップチャージポンプにより電源レールから生成される。
マイクロコントローラが操作するソフトウェアまたはデ
ータは、マイクロプロセッサにではなく、オフチップの
他の記憶部い記憶され、マイクロプロセッサの入力ピン
及び出力ピンのあるものが、マイクロプロセッサとその
記憶部との間の命令語またはデータ語の転送のために必
要となる。図4のマイクロコントローラTMS370C
X5Xに必要なラインは、ポートA〜Dを含む。これら
のラインは、従って、直接JTAGテストには利用でき
ない。プログラムまたはデータが正確に転送されない場
合は、テストパターン発生及びテストパターン解析シス
テムは、マイクロプロセッサからの適切な応答を得られ
ず従ってこれらのラインの不良を意味することにより、
機能のある程度の目安は、JTAGテストにより得られ
る。
【0024】説明されたシミュレーションは、境界走査
テストシステムのJTAGプロトコルに合致するマイク
ロプロセッサを形成するのであるが、本発明は、境界走
査テストの他のシステム、プロトコルまたは規格にも適
応可能である。図5〜図12は、本明細書に添付したプ
ログラムをそのEPROM記憶部を記憶しているTMS
370C756マイクロコントローラを含む回路の部分
回路図及びコネクタケーブルリストである。図5〜図1
2は、回路の境界走査テストでの使用と、回路がそのた
めに設計されたアプリケーションでの使用を実証してい
る。回路は、その中央にTMS370C756マイクロ
コントローラ41を備えている。マイクロコントローラ
41のアナログポートピンAN0〜AN7は、8個のD
IPスイッチのセット(図不指示)に接続されていて、
これらのDIPスイッチの位置によってアナログポート
の対応するピンへハイレベルまたはロウレベルを提供す
る。他のピンの多くが6個の8進バファ42〜47、タ
イプSN74BCT8245のAポートのピンへ接続さ
れている。これらのバファは、JTAG境界走査テスト
をサポートするために設けられた特別の回路を有す。
【0025】回路は、回路をテストパターン発生及び解
析システムへ接続するJTAGコネクタケーブル用のタ
ーミナル48〜52を有す。特に、テストバス信号TM
S、TDO、TDI、TCKの接続用に4個のターミナ
ル50〜53がある。TMSターミナル50は、8進バ
ファ42〜47の各々のTMS入力ピンと、TMSピン
として動作するマイクロコントローラ41のSPICL
Kピンとに接続されている。TCKターミナル53は、
8進バファ42〜47の各々のTCK入力ピンと、TC
Kピンとして動作するマイクロプロセッサ41のINT
3ピンとへ接続されている。また、回路に設けられてい
るのは走査パスであり、これは、TDIターミナル52
で始まり、TCKピンとして動作するSPISOMIピ
ンでマイクロコントローラ41へ入る。走査パスは、更
に、TDIピンを入口、TDOピンを出口として、8進
バファ42〜47の各々を経由し、最後にTDOターミ
ナル52へ到達する。8進バファ42〜47及びマイク
ロコントローラ41は、電源(図不指示)へ接続されて
いる。マイクロコントローラは、内部クロックの周波数
を制御するため水晶発振器54へ接続されている。マイ
クロコントローラ41のリセットピンは、RC回路を通
じてハイ信号レベルに接続されていて、電源が投入され
た後、ハイレベルに達する前に、ある瞬間だけロウレベ
ルに維持され、マイクロコントローラ41が起動するよ
うにしている。8進バファ42〜47は、ハイレベルに
接続されているDIRピンを有し、バファのAポートピ
ンが入力として、Bポートピンが出力としてバファが構
成されている。8進バファ42〜47のBポート出力ピ
ンは、駆動回路(図不指示)へ接続され、駆動回路は、
バファの信号出力のレベルにより発光ダイオード(図不
指示)を点灯している。
【0026】そのEPROMに本明細書に添付のプログ
ラムを有すマイクロコントローラ41は、JTAGテス
トパターン発生器及び解析システムにより明快な方法で
回路の相互接続の全てのテストを実行する。まず、テス
トパターン発生器及び解析システムに、集積回路の相互
接続、即ち8進バファ42〜47とマイクロコントロー
ラ41との間の相互接続に付いての相互接続の回路記述
の情報、及びラッチを含む集積回路の境界走査セルの順
序に付いての回路記述の情報が与えられる。マイクロコ
ントローラに付いては、境界走査セルは、添付プログラ
ムによりシミュレートされ、必要な情報は、プログラム
の開始時に表で与えられる。回路は、次にテストパター
ン発生器及び解析システムへ接続される。添付プログラ
ムを使用したマイクロコントローラの試運転では、テス
トバスクロックTCKは、約4kHz までの周波数で動
作することが確認された。集積回路が標準JTAG規格
に合致するためには、集積回路は、0Hz から数MHz
のどの周波数のクロックでも動作することが必要とな
る。試運転でマイクロコントローラにより達成された最
高クロック周波数4kHz は、規格の広い速度範囲の要
求条件を満たさないが、マイクロコントローラは、JT
AGプロトコルに合致し、従って回路相互接続のテスト
を可能とする。以上述べたテストは、テストの実行のた
めにマイクロコントローラの再設計を必要とせず、マイ
クロコントローラは、前のバージョンとの互換性を有
す。
【0027】テストは、図1で説明したように、進行
し、走査パスに沿って回路の集積回路に印加されるテス
トパターンをテストパターン発生器が発生する。集積回
路へラッチされた後、テストパターンのビットのあるも
のは、集積回路の他のラッチへ回路の相互接続を経由し
て転送される。得られたテストパターンは、走査パスに
沿って解析システムへ解析のため出力される。添付プロ
グラムは、テストの終了もしていないし、無期限にテス
トを継続することも想定していない。しかし、アプリケ
ーションプログラムがマイクロコントローラのEPRO
Mに常駐している場合、添付プログラムがTEST−L
OGIC−RESET状態で待機している期間は、この
アプリケーションプログラムが実行できるように、添付
プログラムを変更可能である。添付プログラムは、以下
のように使用できる。デバイスが組み込まれる予定の回
路のメーカーに、そのデバイスが船積みされる以前に、
マイクロコントローラのメーカーによりプログラムがマ
イクロコントローラのEPROMへ記憶され、例えば図
5〜図12のそれのように、回路メーカーは、マイクロ
コントローラを回路に組み込み、既に述べたように境界
走査テスト法を利用して回路接続をテストする。テスト
が正常に終了すると、プログラムは、更に使用されるこ
とはなく(回路が最終ユーザーによりサービスのため送
り返される場合を除けば)、従ってEPROMの記憶ス
ペースが浪費される。回路のメーカーは、希望するな
ら、EPROMのプログラムを消去し、回路を動作させ
るに必要なアプリケーションプログラムの少なくとも一
部を記憶できるようにスペースを使用する。このように
して、EPROMの全記憶スペースは、テストプログラ
ムが消去された時点でアプリケーションプログラムのた
めに使用できる。図5〜図12の回路の場合、そのよう
なアプリケーションプログラムは、DIPスイッチの設
定に依存するシーケンスで発光ダイオードを点灯する。
【0028】RPROMの再書き込みは、マイクロコン
トローラの構成へ特別な回路を追加しないだけでなく、
テストバスへの接続のために使用される4個のピンを除
けばマイクロコントローラのいかなる資源も永久的に使
用せず、JTAGテスト可能なマイクロコントローラが
得られることを意味する。全部のピンを使用する必要が
ある回路は、マイクロコントローラを含めて、非常に少
なく、プログラムは容易に再書き込み可能であり、テス
トバスの接続は、そうしないと未使用のままとなるピン
を利用して接続される。必要なら、回路のテストの後、
テストバスに接続されていたピンを、リンクまたは他の
手段を取り除くことにより、他の相互接続へ再接続する
ことも可能である。
【0029】以上の記載に関連して、以下の各項を開示
する。 1. 複数の集積回路を有する回路での相互接続をテスト
する方法であって、少なくとも集積回路のいくつかは、
前記集積回路のターミナルのいくつかとそれぞれ接続さ
れている記憶要素と、前記記憶要素を少なくとも一つの
シフトレジスタチェインに接続するための手段とを含
み、前記方法は、初期テストパターンのビットを、前記
シフトレジスタチェインに沿って、前記記憶要素へシリ
アルに入力するステップと、前記初期テストパターンの
ビットのいくつかが入力された前記記憶要素から前記初
期テストパターンのビットの前記いくつかを、前記ター
ミナルと前記相互接続を経由して、前記記憶要素の他の
ものへ転送するステップと、前記シフトレジスタチェイ
ンに沿って前記記憶要素からシリアルに得られたパター
ンのビットを呼び出すステップと、相互接続に関する情
報を導出するため前記初期テストパターンと得られたパ
ターンとを比較するステップとを含み、前記複数の集積
回路の少なくとも一つはマイクロプロセッサであり、前
記回路にはテストプログラムが記憶され、前記テストプ
ログラムは、前記初期テストパターンのビットの部分を
内部記憶部に記憶し、前記内部記憶部へ記憶されたビッ
トのあるものを読みだし、特定の相互接続へ接続されて
いる前記マイクロプロセッサのターミナルに対応する出
力信号を発生し、マイクロプロセッサのターミナルで前
記特定の相互接続を経由してビットを読みとり、前記内
部記憶部に受信したビットを記憶し、前記内部記憶部に
記憶された受信ビットをシリアルの形式の出力として形
成することを含む多数の動作を前記マイクロプロセッサ
に実行させて、前記マイクロプロセッサのターミナルへ
接続された相互接続のテストを可能としていることを特
徴とする方法。 2. 前記マイクロプロセッサは、リード/ライト記憶部
を含む内部記憶部を有し前記初期テストパターンの一部
分のビットは前記リード/ライト記憶部に記憶されるこ
とを特徴とする第1項記載の方法。 3. 前記マイクロプロセッサは、不揮発性記憶部を含む
内部記憶部を有し、テストプログラムは、前記不揮発性
記憶部に記憶されることを特徴とする第1項または第2
項記載の方法。 4. 前記テストプログラムは、前記マイクロプロセッサ
の外部にある不揮発性記憶部へ記憶され、前記プログラ
ムは、前記不揮発性記憶部から前記マイクロプロセッサ
の内部のリード/ライト記憶部へ転送され、前記内部の
リード/ライト記憶部より前記プログラムが実行される
ことを特徴とする第1項または第2項記載の方法。 5.前記回路の相互接続のテストが正常に終了すると、
前記テストプログラムは、前記テストプログラムが記憶
されていた前記不揮発性記憶部から消去され、前記不揮
発性記憶部は再使用のために開放されることを特徴とす
る第3項または第4項記載の方法。 6. 前記不揮発性記憶部は、EEPROMであることを
特徴とする第3項または第4項または第5項記載の方
法。 7. コントロール信号は、初期パターンのビット及び集
積回路より得られるビットの動作を調節するために前記
集積回路へ印加され、前記マイクロプロセッサの前記テ
ストプログラムが、前記コントロール信号が印加される
入力をポーリングするか、または前記コントロール信号
により割込みをかけられるかして、前記テストプログラ
ムが、前記コントロール信号に応答して他の集積回路に
より実行される動作に対応する動作を実行することを特
徴とする上記項のいずれかに記載の方法。 8. 前記コントロール信号は、テストモードセレクト
(TMS)、テストクロック(TCK)、テストデータ
インプット(TDI)、及びテストデータアウトプット
(TDO)であり、全集積回路へテストバスにより転送
されることを特徴とする第7項記載の方法。 9. 前記マイクロプロセッサは、マイクロコントローラ
であることを特徴とする上記項のいずれかに記載の方
法。 10. 添付図面の図4及び5に実質的に説明されている回
路でのマイクロプロセッサを含む複数の集積回路の間で
の相互接続をテストする方法。 11. 前記マイクロプロセッサは単一チップのマイクロコ
ンピュータモードであることを特徴とする請求項9に記
載の方法。 12. 回路上の集積回路間の相互接続をテストする方法
は、集積回路のターミナルにそれぞれ接続されているラ
ッチを利用する。ラッチは、シフトレジスタとしてシリ
アルに接続可能で、テストパターンのビットがラッチへ
入力できる。パターンのビットは、相互接続を経由して
他のラッチへ転送され、シフトレジスタに沿った回路へ
シフト出力される。入力と出力の差異が不良相互接続を
示す。この方法は、回路のマイクロプロセッサへ適用さ
れ、マイクロプロセッサは、そのRAMを他の集積回路
のラッチとして動作させるために使用可能とするプログ
ラムを有す。このプログラムは、マイクロプロセッサの
オンチップ記憶部に記憶される。ここではその記憶部
は、RAMである。EPROMであろうとEEPROM
であろうと、回路のテストが正常に終了すると記憶内容
は消去される。
【0030】 APPENDIX ; ; THE DATA REGISTER DEFINITIONS FOLLOW :- ; ; BIT NUMBER PIN No. DEFINITION REGISTER BIT No. PFILE ; ; 0 17 A0 DATA R100 O PO22 ; 1 18 A1 DATA 1 ; 2 19 A2 DATA 2 ; 3 20 A3 DATA 3 ; 4 21 A4 DATA 4 ; 5 22 A5 DATA 5 ; 6 23 A6 DATA 6 ; 7 24 A7 DATA 7 ; 8 -- A0 DDR R101 O PO23 ; 9 -- A1 DDR 1 ; 10 -- A2 DDR 2 ; 11 -- A3 DDR 3 ; 12 -- A4 DDR 4 ; 13 -- A5 DDR 5 ; 14 -- A6 DDR 6 ; 15 -- A7 DDR 7 ; 16 65 B0 DATA R102 O PO26 ; 17 66 B1 DATA 1 ; 18 67 B2 DATA 2 ; 19 68 B3 DATA 3 ; 20 1 B4 DATA 4 ; 21 2 B5 DATA 5 ; 22 3 B6 DATA 6 ; 23 4 B7 DATA 7 ; 24 -- B0 DDR R103 O PO27 ; 25 -- B1 DDR 1 ; 26 -- B2 DDR 2 ; 27 -- B3 DDR 3 ; 28 -- B4 DDR 4 ; 29 -- B5 DDR 5 ; 30 -- B6 DDR 6 ; 31 -- B7 DDR 7 ; 32 5 C0 DATA R104 O PO2A ; 33 7 C1 DATA 1 ; 34 8 C2 DATA 2 ; 35 10 C3 DATA 3 ; 36 11 C4 DATA 4 ; 37 12 C5 DATA 5 ; 38 13 C6 DATA 6 ; 39 14 C7 DATA 7 ; 40 -- C0 DDR R105 O PO2B ; 41 -- C1 DDR 1 ; 42 -- C2 DDR 2 ; 43 -- C3 DDR 3 ; 44 -- C4 DDR 4 ; 45 -- C5 DDR 5 ; 46 -- C6 DDR 6 ; 47 -- C7 DDR 7 ; 48 64 D0 DATA R106 O PO2E ; 49 60 D1 DATA 1 ; 50 59 D2 DATA 2 ; 51 58 D3 DATA 3 ; 52 57 D4 DATA 4 ; 53 56 D5 DATA 5 ; 54 55 D6 DATA 6 ; 55 54 D7 DATA 7 ; 56 -- D0 DDR R107 O PO2F ; 57 -- D1 DDR 1 ; 58 -- D2 DDR 2 ; 59 -- D3 DDR 3 ; 60 -- D4 DDR 4 ; 61 -- D5 DDR 5 ; 62 -- D6 DDR 6 ; 63 -- D7 DDR 7 ; 64 -- T1EVT DDR R108 O PO4D ; 65 -- -- 1 ; 66 44 T1EVT DATA OUT 2 ; 67 44 T1EVT DATA IN 3 ; 68 -- -- 4 ; 69 -- -- 5 ; 70 -- -- 6 ; 71 -- -- 7 ; 72 -- TICR DDR R109 O PO4E ; 73 -- -- 1 ; 74 46 T1CR DATA OUT 2 ; 75 46 T1CR DATA IN 3 ; 76 -- T1PWM DDR 4 ; 77 -- -- 5 ; 78 45 T1PWM DATA OUT 6 ; 79 45 T1PWM DATA IN 7 ; 80 -- T2EVT DDR R110 O PO6D ; 81 -- -- 1 ; 82 25 T2EVT DATA OUT 2 ; 83 25 T2EVT DATA IN 3 ; 84 -- -- 4 ; 85 -- -- 5 ; 86 -- -- 6 ; 87 -- -- 7 ; 88 -- T2CR DDR R111 O PO6E ; 89 -- -- 1 ; 90 27 T2CR DATA OUT 2 ; 91 27 T2CR DATA IN 3 ; 92 -- T2PWM DDR 4 ; 93 -- -- 5 ; 94 26 T2PWM DATA OUT 6 ; 95 26 T2PWM DATA IN 7 ; 96 -- SCICLK DDR R112 O PO5D ; 97 -- -- 1 ; 98 28 SCICLK DATA OUT 2 ; 99 28 SCICLK DATA IN 3 ; 100 -- -- 4 ; 101 -- -- 5 ; 102 -- -- 6 ; 103 -- -- 7 ; 104 -- SCIRXD DDR R113 O PO5E ; 105 -- -- 1 ; 106 29 SCIRXD DATA OUT 2 ; 107 29 SCIRXD DATA IN 3 ; 108 -- SCIRXD DDR 4 ; 109 -- -- 5 ; 110 30 SCIRXD DATA OUT 6 ; 111 30 SCIRXD DATA IN 7 ; 112 36 AN 0 R114 O PO7D ; 113 37 AN 1 1 ; 114 38 AN 2 2 ; 115 39 AN 3 3 ; 116 40 AN 4 4 ; 117 41 AN 5 5 ; 118 42 AN 6 6 ; 119 43 AN 7 7 ; 120 -- -- R115 O PO77 ; 121 -- -- 1 ; 122 -- -- 2 ; 123 -- -- 3 ; 124 -- -- 4 ; 125 -- -- 5 ; 126 52 INT1 DATA IN 6 ; 127 -- -- 7 ; 128 -- -- R116 O PO77 ; 129 -- -- 1 ; 130 -- -- 2 ; 131 51 INT2 DATA OUT 3 ; 132 -- INT2 DDR 4 ; 133 -- -- 5 ; 134 51 INT2 DATA IN 6 ; 135 -- -- 7 ; ; ; TDI = SPISOMI PIN 49 ; ; TDO = SPISOMO PIN 48 ; ; TMS = SPICLK PIN 47 ; ; TCK = INT3 PIN 50 ; ; ; INTERNAL REGISTER ALLOCATION FOLLOWS :- ; ; STACK R20 (14H) ; ; OUTREG R50 (32H) DATA REGISTER OUTPUT LATCH ; ; BYPASS REGISTER R51 (33H) not used ; ; STATE L REG R52 (34H) HOLDS MSB OF NEXT STATE IF TMS=0 ; ; STATE L REG R53 (35H) HOLDS LSB OF NEXT STATE IF TMS=0 ; ; STATE H REG R54 (36H) HOLDS MSB OF NEXT STATE IF TMS=1 ; ; STATE H REG R55 (37H) HOLDS LSB OF NEXT STATE IF TMS=1 ; ; INSTRUCTION REG R56 (38H) ; ; TMS DELAY R57 (39H) DELAY FLAG FOR TMS PIPELINE ; DATA REGISTER R100 TO R116 (64H) (74) .text .GLOBAL DR CAPTURE .GLOBAL DR SHIFT .GLOBAL DR EXITI .GLOBREG STATE H .GLOBREG STATE L .GLOBREG INSTRUCT REG .GLOBREG OUTREG .GLOBREG TMS DELAY ; DR CAPTURE MOV #01H,TMS DELAY ; ; CMP #00H, INSTRUCT REG ; CHECK INSTRUCTION REGISTER JNZ BYPASS C ; IF NOT 00, ASSUME BYPASS ; ; ; INSTRUCTION=0, SO MODE MUST BE XTEST ; LOAD ALL I/O INTO RAM BASED SHIFT REGISTER ; MOV P022,R100 ; PORT A I/O MOV P023,R101 ; PORT A DDR MOV P026,R102 ; PORT B I/O MOV P027,R103 ; PORT B DDR MOV P02A,R104 ; PORT C I/O MOV P02B,R105 ; PORT C DDR MOV P02E,R106 ; PORT D I/O MOV P02F,R107 ; PORT C DDR MOV P04D,R108 ; TIMER 1 I/O MOV P04E,R109 ; TIMER 1 I/O MOV P06D,R110 ; TIMER 2 I/O MOV P06E,R111 ; TIMER 2 I/O MOV P05D,R112 ; SCI I/O MOV P05E,R113 ; SCI I/O MOV P07D,R114 ; A-D I/P MOV P017,R115 ; INT1 I/O MOV P018,R116 ; INT2 I/O ; ; CAPTURE NEXT MOVW #DR SHIFT, STATE L ; NEXT STATE IS DR SHIFT MOVW #DR EXIT1, STATE H ; NEXT STATE IS DR EXIT1 RTS ; BYPASS C MOV #010H, OUTREG ; LOAD‘0'INTO OUTPUT REGIST JMP CAPTURE NEXT ; .END .text .GLOBAL DR EXITI .GLOBAL DR PAUSE .GLOBAL DR UPDATE .GLOBAL DR SHIFT1 .GLOBAL BYPASS S1 .GLOBREG STATE H .GLOBREG STATE L .GLOBREG TMS DELAY .GLOBREG INSTRUCT REG ; SPIPC2 .EQU PO3E ; ; DR EXIT1 BTJO #01, TMS DELAY,NO DELAY1 MOV #01, TMS DELAY ; DELAY1 CMP #00H, INSTRUCT REG ; CHECK INSTRUCTION REGISTER JNZ BYPASS DELAY ; IF NOT 00H, ASSUME BYPASS ; SHIFT DELAY CALL DR SHIFT1 JMP NO DELAY1 ; BYPASS DELAY CALL BYPASS S1 ; NO DELAY1 MOVW #DR PAUSE, STATE L ; NEXT STATE IS DR PAUSE MOVW #DR UPDATE, STATEL H ; NEXT STATE IS DR UPDATE RTS ; .END .text .GLOBAL DR EXIT2 .GLOBAL DR SHIFT .GLOBREG STATE H .GLOBREG STATE L ; DR EXIT2 MOVW #DR SHIFT, STATE L ; NEXT STATE IS DR SHIFT MOVW #DR UPDATE, STATEL H ; NEXT STATE IS DR UPDATE RTS ; .END .text .GLOBAL DR EXIT2 .GLOBAL DR PAUSE .GLOBREG STATE H .GLOBREG STATE L ; DR PAUSE MOVW #DR PAUSE, STATE L ; NEXT STATE IS PAUSE MOVW #DR EXIT2, STATE H ; NEXT STATE IS DR UPDATE RTS ; .END .text .GLOBAL IR SCAN .GLOBAL DR SCAN .GLOBAL DR CAPTURE .GLOBREG STATE L .GLOBREG STATE H ; SPIPC2 .EQU P03E ; ; DR SCAN MOVW #DR CAPTURE, STATE L ; NEXT STATE IS DR SHIFT MOVW #IR SCAN,STATE H ; NEXT STATE IS DR SCAN RTS ; .END .text .GLOBAL DR EXIT1 .GLOBAL DR SHIFT .GLOBAL DR SHIFT1 .GLOBAL BYPASS S1 .GLOBREG STATE L .GLOBREG STATE H .GLOBREG OUTREG .GLOBREG INSTRUCT REG .GLOBREG OUTREG .GLOBREG TMS DELAY SPIPC2 .EQU PO3E INT3CTL .EQU PO19 DR SHIFT CMP #00H, INSTRUCT REG ; CHECK INSTRUCTION REGISTER JNZ BYPASS S ; IF NOT 00H, ASSUME BYPASS ; BTJO #01H,TMS DELAY,OUTPUT ; IS THIS THE FIRST YIME CALL DR SHIFT1 ; INTO DR SHIFT ?IF SO, JMP OUTPUT ; DON'T SHIFT ! ; ; ;SHIFT REGISTER ROUTING, BY ROTATING THROUGH CARRY THE LEAST SIGNIFICANT ;BIT OF EACH REGISTER CAN BE INPUT TO THE NEXT REGISTER IN THE CHAIN ;AUTOMATICALLY. ; DR SHIFT1 BTJO #08H,SPIPC2,IN ONE ; COPY TDI(SPISOMI) TO CARRY IN ZERO CLRC JMP ROTATE IN ONE SETC ROTATE RRC R116 ; SHIFT STATE OF SPISOMI INTO RRC R115 ; R116 AND SHIFT ALL REGISTER RRC R114 ; TOWARDS LSB. RRC R113 RRC R112 RRC R111 RRC R110 RRC R109 RRC R108 RRC R107 RRC R106 RRC R105 RRC R104 RRC R103 RRC R102 RRC R101 ; LAST SHIFT FEEDS LSB RRC R100 ; INTO CARRY RTS ; OUTPUT BTJO #01H,R100, OUT ONE ; PRE-LOAD OUTPUT REG WITH OUT ZERO MOV #010H,OUTREG ; LSB AND TDO ENABLE BIT JMP WAIT NEG1 ; READY FOR -VE TCK EDGE OUT ONE MOV #050H,OUTREG ; ; WAIT NEG1 MOV #00H,TMS DELAY MOV #01H,INT3CTL ; ENABLE TCK(INT3)FOR EINTH ; -VE EDGE DETECTION IDLE ; MOVW #DR SHIFT, STATE L ; NEXT STATE IS DR SHIFT MOVW #DR EXIT1, STATE H ; NEXT STATE IS DR EXIT1 RTS ; BYPASS S BTJO #01H,TMS DELAY,WAIT NEGI ;IS THIS THE FIRST TIME CALL BYPASS S1 ; INTO BYPASS? IF SO, JMP WAIT NEG1 ; DON' T SHIFT ! ; ; ; BYPASS S1 BTJO #08H,SPIPC2,IN ONE2 ; READ TDI (SPISOMI) ; IN ZERO2 MOV #010H,OUTREG ; LOAD‘O'INTO OUTPUT REGIST RTS ; IN ONE2 MOV #050H,OUTREG ; LOAD‘1'INTO OUTPUT REGIST RTS ; .END .text .GLOBAL DR SCAN .GLOBAL RUN TEST .GLOBAL DR UPDATE .GLOBREG STATE H .GLOBREG STATE L .GLOBREG INSTRUCT REG ; SPIPC2 .EQU PO3E ; ; DR UPDATE MOV #00,SPIPC2 ; TRI-STATE TDO ; CMP #00H, INSTRUCT REG ; CHECK INSTRUCTION REGISTER JNZ BYPASS ; IF NOT 00H, ASSUME BYPASS ; MOV R100,P022 ; PORT A I/O MOV R101,P023 ; PORT A DDR MOV R102,P026 ; PORT B I/O MOV R103,P027 ; PORT B DDR MOV R104,P02A ; PORT C I/O MOV R105,P02B ; PORT C DDR MOV R106,P02E ; PORT D I/O MOV R107,P02F ; PORT D DDR MOV R108,P04D ; TIMER 1 I/O MOV R109,P04E ; TIMER 1 I/O MOV R110,P06D ; TIMER 2 I/O MOV P111,P06E ; TIMER 2 I/O MOV P112,P05D ; SCI I/O MOV P113,P05E ; SCI I/O MOV P114,P07D ; A-D I/P MOV P115,P017 ; INT1 I/O MOV P116,P018 ; INT2 I/O ; ; BYPASS MOVW #RUN TEST,STATE L ; NEXT STATE IS RUN TEST MOVW #DR SCAN,STATE H ; NEXT STATE IS DR SCAN RTS ; .END .text .GLOBAL DR CAPTURE .GLOBAL IR SHIFT .GLOBAL IR EXIT1 .GLOBREG STATE H .GLOBREG STATE L .GLOBREG INSTRUCT REG .GLOBREG TMS DELAY ; IR CAPTURE MOV #01H,TMS DELAY ; MOV #01H, INSTRUCT REG ; LOAD INSTRUCTION REG ; WITH 0000 0001 ; MOVW # IR SHIFT, STATE L ; NEXT STATE IS IR SHIFT MOVW # IR EXIT1, STATE H ; NEXT STATE IS IR EXIT1 RTS ; .END .text .GLOBAL IR EXIT1 .GLOBAL IR PAUSE .GLOBAL IR UPDATE .GLOBAL IR SHIFT1 .GLOBREG STATE H .GLOBREG STATE L .GLOBREG TMS DELAY ; SPIPC2 .EQU PO3E ; ; IR EXIT1 BTJO #01, TMS DELAY,NO DELAY EXIT1 DELAY MOV #01, TMS DELAY CALL IR SHIFT1 ; NO DELAY MOVW #IR PAUSE, STATE L ; NEXT STATE IS IR PAUSE MOVW #IR UPDATE,STATE H ; NEXT STATE IS IR UPDATE RTS ; .END .text .GLOBAL IR EXIT2 .GLOBAL IR SHIFT .GLOBAL IR UPDATE .GLOBREG STATE H .GLOBREG STATE L ; IR EXIT2 MOVW #IR SHIFT, STATE L ; NEXT STATE IS IR SHIFT MOVW #IR UPDATE,STATE H ; NEXT STATE IS IR UPDATE RTS ; .END .text .GLOBAL IR EXIT2 .GLOBAL IR PAUSE .GLOBREG STATE H .GLOBREG STATE L ; IR PAUSE MOVW #IR PAUSE, STATE L ; NEXT STATE IS IR PAUSE MOVW #IR EXIT2, STATE H ; NEXT STATE IS IR UPDATE RTS ; .END .text .GLOBAL IR SCAN .GLOBAL TL RESET .GLOBAL IR CAPTURE .GLOBREG STATE L .GLOBREG STATE H .GLOBREG TMS DELAY TMS DELAY .EQU R57 ; SPIPC2 .EQU PO3E ; ; IR SCAN MOVW #IR CAPTURE, STATE L ; NEXT STATE IS IR SHIFT MOVW #TL RESET, STATE H ; NEXT STATE IS TL RESET RTS ; .END .text .GLOBAL IR EXIT1 .GLOBAL IR SHIFT .GLOBAL IR SHIFT1 .GLOBREG STATE L .GLOBREG STATE H .GLOBREG OUTREG .GLOBREG INSTRUCT REG .GLOBREG TMS DELAY ; SPIPC2 .EQU P03E INT3CTL .EQU P019 ; ; IR SHIFT BTJO #01H,TMS DELAY,OUTPUT1 ; IS THIS THE FIRST TIME CALL IR SHIFT1 ; INTO IR SHIFT ? IF SO, JMP OUTPUT1 ; DON‘T' SHIFT ! ; ; IR SHIFT1 BTJO #08H,SPIPC2,IN ONE1 ; COPY TDI(SPISOMI)TO CARRY CLRC JMP ROTATE IR IR ONE1 SETC ROTATE IR RRC INSTRUCT REG ; SHIFT STATE OF TDI(SPISOMI RTS ; INTO INSTRUCTION REGISTER R TOWARDS LSB. ; ; OUTPUT1 BTJO #01H, INSTRUCT REG, OUT ONE1 ; STATE OF IR LSB? ; OUT ZERO1 MOV #010H,OUTREG ; CORY LSB TO O/P REG JMP WAIT NEG OUT ONE1 MOV #050H,OUTREG ; WAIT NEG MOV #00H,TMS DELAY ; CLEAR TMS DELAY MOV #01H,INT3CTL ; ENABLE TCK (INT3) FOR EINTH ; -VE EDGE DETECTION IDLE ; MOVW #IR SHIFT, STATE L ; NEXT STATE IS IR SHIFT MOVW #IR EXIT1, STATE H ; NEXT STATE IS IR EXIT1 RTS ; .END .text .GLOBAL DR SCAN .GLOBAL RUN TEST .GLOBAL IR UPDATE .GLOBREG STATE H .GLOBREG STATE L ; SPIPC2 .EQU P03E ; ; MOVW # RUN TEST,STATE L ; NEXT STATE IS IRN TEST MOVW #DR SCAN,STATE H ; NEXT STATE IS IR SCAN RTS ; .END .text .GLOBAL RUN TEST .GLOBAL DR SCAN .GLOBREG STATE H .GLOBREG STATE L ; ; RUN TEST MOVW # RUN TEST,STATE L ; NEXT STATE IS RUN TEST MOVW #DR SCAN,STATE H ; NEXT STATE IS DR SCAN RTS ; .END .text .GLOBAL START .GLOBAL TCK .GLOBAL TL RESET .GLOBAL RUN TEST .GLOBREG STATE H .GLOBREG STATE L .GLOBREG OUTREG .GLOBREG INSTRUCT REG .GLOBREG BYPASS REG ; INT3CTL .EQU P019 ADENA .EQU P07E STATE L .EQU R53 STATE H .EQU R55 OUTREG .EQU R50 BYPASS REG .EQU R51 INSTRUCT REG .EQU R56 ; .SECT ROMCODE ; THIS TEST RESIDES IN ROM ; SOME KIND OF JTAG ENTRY TEST IS REQUIRED HERE START NOP NOP ; ALL I/O ASSUMED TRI-STATE NOP NOP BR JTAG ; BRANCH TO JTAC CODE IN EEPROM ; .TEXT ; EEPROM STARTING ADDRESS ??? JTAG MOV #OFFH,ADENA ; ENABLE A-D INPUTS MOVW #TL RESET, STATE H ; INITILISE STATE TO TL RESET MOVW #RUN TEST,STATE L MOV #014H,B LDSP ; INITIALISE STACK POINTER AT R20 MOV #00,P017 ; DISABLE ALL UNUSED INTS MOV #00,P018 MOV #00,P04B MOV #00,P06B MOV #00,P055 MOV #00,P054 MOV #00,P031 MOV #00,P071 MOV #05H,INT3CTL ; ENABLE TCK(INT3) +VE EDGE EINTH WAIT IDLE BR WAIT ; WAIT FOR NEXT TCK ; ; .SECT VECTORS .WORD TCK ; INT3 VECTOR FOR TCK 7FF8,7FF9 .WORD START ; INT2 VECTOR UNUSED .WORD START ; INT1 VECTOR UNUSED .WORD START ; RESET VECTOR TO ROM 7FFE,7FFF ; .END .text .GLOBAL TCK .GLOBREG OUTREG .GLOBREG STATE H .GLOBREG STATE L ; SPIPC1 .EQU P03D SPIPC2 .EQU P03E INT3CTL .EQU P019 ; TCK MOV #05H,INT3CTL ; CLEAR INT3 BTJZ #040H,INT3CTL, TCK NEG ; +VE OR -VE EDGE ON TCK(INT ; TCK POS BTJO #08H,SPIPC1, TMS HI ; CHECK STATE OF TMS(SPICLK) ; TMS LO CALL @STATE L RTI ; TMS HI CALL @STATE H ; CALL NEXT STATE ROUTINE RTI ; TCK NEG MOV OUTREG,SPIPC2 ; OUTPUT BIT TO TDO(SPISIMO) ; MOV #05,INT3CTL ; RE-ARM TCK FOR +VE EDGE RTI ; .END .text .GLOBAL TL RESET .GLOBREG RUN TEST .GLOBREG STATE L .GLOBREG STATE H .GLOBREG INSTRUCT REG ; SPIPC2 .EQU P03E ; TL RESET MOV #00,SPIPC2 ; TRI-STATE TDO ; MOV #OFF,INSTRUCT REG ; DEFAULT BY-PASS MODE MOVW # RUN TEST,STATE L ; NEXT STATE IS RUN TEST MOVW #TL RESET, STATE H ; NEXT STATE IS TL RESET RTS ; .END SETUP.OBJ STATE.OBJ TL RESET.OBJ RUNTEST.OBJ DR CAPT.OBJ DR EXIT1.OBJ DR EXIT2.OBJ DR PAUSE.OBJ DR SCAN.OBJ DR SHIFT.OBJ DR UPDAT.OBJ IR CAPT.OBJ IR EXIT1.OBJ IR EXIT2.OBJ IR PAUSE.OBJ IR SCAN.OBJ IR SHIFT.OBJ IR UPDAT.OBJ -o JTAG.OUT -m JTAG.MAP MEMORY { REILE: origin = 02h length = OFEh ROM: origin = 7000h length = 1000h EEPROM: origin = 01FOOh length = 0100h } SECTIONS { ROMCODE 07000h :{ }> ROM .text 07700h :{ }> ROM / * WILL BE EEPROM !! * / VECTORS 07FF8h :{ }> ROM } ****************************************************** TMS370 COFF Linker Version 3.40 ****************************************************** Mon Mar 26 21:21:10 1990 OUTPUT FILE NAME: <JTAG.OUT> ENTRY POINT SYMBOL: 0 MEMORY CONFIGURATION name origin length attributes -------- -------- --------- ---------- RFILE 00000002 0000000fe RWIX EEPROM 00001f00 000000100 RWIX ROM 00007000 000001000 RWIX SECTION ALLOCATION MAP output attributes/ section page origin length input sections ------- ---- ---------- ---------- ---------------- ROMCODE 0 00007000 00000007 00007000 00000007 SETUP.OBJ (ROMCODE) .text 0 00007700 0000020b 00007700 0000002f SETUP.OBJ (.text) 0000772f 00000018 STATE.OBJ (.text) 00007747 0000000f TL RESET.OBJ(.text) 00007756 00000009 RUNTEST.OBJ(.text) 0000775f 00000049 DR CAPT.OBJ(.text) 000077a8 0000001d DR EXIT1.OBJ(.text) 000077c5 00000009 DR EXIT2.OBJ(.text) 000077ce 00000009 DR PAUSE.OBJ(.text) 000077d7 00000009 DR SCAN.OBJ(.text) 000077e0 0000006c DR SHIFT.OBJ(.text) 0000784c 00000044 DR UPDAT.OBJ(.text) 00007890 0000000f IR CAPT.OBJ(.text) 0000789f 00000013 IR EXIT1.OBJ(.text) 000078b2 00000009 IR EXIT2.OBJ(.text) 000078bb 00000009 IR PAUSE.OBJ(.text) 000078c4 00000009 IR SCAN.OBJ(.text) 000078cd 00000032 IR SHIFT.OBJ(.text) 000078ff 0000000c IR UPDAT.OBJ(.text) VECTORS 0 00007ff8 00000008 00007ff8 00000008 SETUP.OBJ (VECTORS) .data 0 00000000 00000000 UNINITIALIZED .bss 0 00000000 00000000 UNINITIALIZED GLOBAL SYMBOLS address name address name -------- ---- -------- ---- 00000000 .bss 00000000 edata 00000000 .data 00000000 .data 00007700 .text 00000000 .end 00000033 BYPASS REG 00000000 .bss 00007840 BYPASS S1 00000032 OUTREG 0000775f DR CAPTURE 00000033 BYPASS REG 000077a8 DR EXIT1 00000035 STATE L 000077c5 DR EXIT2 00000037 STATE H 000077ce DR PAUSE 00000038 INSTRUCT REG 000077d7 DR SCAN 00000039 TMS DELAY 000077ee DR SHIFT1 00007000 START 000077e0 DR SHIFT 00007700 .text 0000784c DR UPDATE 0000772f TCK 00000038 INSTRUCT REG 00007747 TL RESET 0000784c IR CAPTURE 00007756 RUN TEST 0000789f IR EXIT1 0000775f DR CAPTURE 000078b2 IR EXIT2 000077a8 DR EXIT1 000078bb IR PAUSE 000077c5 DR EXIT2 000078c4 IR SCAN 000077ce DR PAUSE 000078d6 IR SHIFT1 000077d7 DR SCAN 000078cd IR SHIFT 000077e0 DR SHIFT 000078ff IR UPDATE 000077ee DR SHIFT1 00000032 OUTREG 00007840 BYPASS S1 00007756 RUN TEST 0000784c DR UPDATE 00007000 START 00007840 IR CAPTURE 00000037 STATE H 0000789f IR EXIT1 00000035 STATE L 000078b2 IR EXIT2 0000772f TCK 000078bb IR PAUSE 00007747 TL RESET 000078c4 IR SCAN 00000039 TMS DELAY 000078cd IR SHIFT 00000000 edata 000078d6 IR SHIFT1 00000000 end 000078ff IR UPDATE 0000790b etext 0000790b IR etext [33 symbols]
【図面の簡単な説明】
【図1】JTAG規格に従う境界走査テストを全てがサ
ポートする集積回路を有す回路の回路図である。
【図2】JTAG規格に従う境界走査テストをサポート
する集積回路の回路図である。
【図3】図2のテストアクセスポートコントローラの状
態図である。
【図4】マイクロコントローラの一例のブロック図であ
る。
【図5】境界走査テストを考慮するように構成可能な図
4のマイクロコントローラを含む回路の部分図である。
【図6】境界走査テストを考慮するように構成可能な図
4のマイクロコントローラを含む回路の部分図である。
【図7】境界走査テストを考慮するように構成可能な図
4のマイクロコントローラを含む回路の部分図である。
【図8】境界走査テストを考慮するように構成可能な図
4のマイクロコントローラを含む回路の部分図である。
【図9】境界走査テストを考慮するように構成可能な図
4のマイクロコントローラを含む回路の部分図である。
【図10】境界走査テストを考慮するように構成可能な
図4のマイクロコントローラを含む回路の部分図であ
る。
【図11】境界走査テストを考慮するように構成可能な
図4のマイクロコントローラを含む回路の部分図であ
る。
【図12】コネクタケーブルリストである。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の集積回路を有する回路での相互接
    続をテストする方法であって、 少なくとも集積回路のいくつかは、前記集積回路のター
    ミナルのいくつかとそれぞれ接続されている記憶要素
    と、前記記憶要素を少なくとも一つのシフトレジスタチ
    ェインに接続するための手段とを含み、 前記方法は、 初期テストパターンのビットを、前記少なくとも一つの
    シフトレジスタチェインに沿って、前記記憶要素へシリ
    アルに入力し、 前記初期テストパターンのビットのいくつかが入力され
    た前記記憶要素から前記初期テストパターンのビットの
    いくつかを、前記ターミナルと前記相互接続を経由し
    て、前記記憶要素の他のものへ転送し、 前記少なくとも一つのシフトレジスタチェインに沿って
    前記記憶要素からシリアルに得られたパターンのビット
    を呼び出し、且つ相互接続に関する情報を導出するため
    前記初期テストパターンと得られたパターンとを比較
    し、 前記複数の集積回路の少なくとも一つはマイクロプロセ
    ッサであり、前記回路にはテストプログラムが記憶さ
    れ、前記テストプログラムは、 前記初期テストパターンのビットの部分をマイクロプロ
    セッサに直列に入力し、且つそれを記憶部に記憶し、 前記記憶部へ記憶されたビットのあるものを読みだし、
    特定の相互接続へ接続されている前記マイクロプロセッ
    サのターミナルに対応する出力信号を発生し、 マイクロプロセッサのターミナルで特定の相互接続を経
    由してビットを読みとり、前記記憶部に受信したビット
    を記憶し、 前記記憶部に記憶された受信ビットをシリアルの形式で
    前記マイクロプロセッサから出力として形成することを
    含む多数の動作を前記マイクロプロセッサに実行させ
    て、前記マイクロプロセッサのターミナルへ接続された
    相互接続のテストを可能としていることを特徴とする方
    法。
JP5204823A 1992-08-20 1993-08-19 回路上の集積回路間の相互接続をテストする方法 Pending JPH06174796A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9217728:6 1992-08-20
GB929217728A GB9217728D0 (en) 1992-08-20 1992-08-20 Method of testing interconnections between integrated circuits in a circuit

Publications (1)

Publication Number Publication Date
JPH06174796A true JPH06174796A (ja) 1994-06-24

Family

ID=10720682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5204823A Pending JPH06174796A (ja) 1992-08-20 1993-08-19 回路上の集積回路間の相互接続をテストする方法

Country Status (4)

Country Link
US (1) US5819025A (ja)
EP (1) EP0588507A3 (ja)
JP (1) JPH06174796A (ja)
GB (1) GB9217728D0 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940783A (en) * 1996-12-10 1999-08-17 Matsushita Electric Industrial Co., Ltd. Microprocessor and method of testing the same
US8015447B2 (en) 2004-07-29 2011-09-06 Fujitsu Limited Processor debugging apparatus and processor debugging method
JP2013521482A (ja) * 2010-03-01 2013-06-10 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 集積回路の検査方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804725B1 (en) * 1996-08-30 2004-10-12 Texas Instruments Incorporated IC with state machine controlled linking module
DE19716197A1 (de) * 1997-04-18 1998-10-22 Itt Mfg Enterprises Inc Mikroprozessorsystem für sicherheitskritische Regelungen
US6622108B1 (en) * 1998-02-02 2003-09-16 Koninklijke Philips Electronics N.V. Circuit with interconnect test unit and a method of testing interconnects between a first and a second electronic circuit
JP2000065899A (ja) * 1998-08-14 2000-03-03 Sony Corp 半導体装置およびそのデータ書き換え方法
US6370661B1 (en) * 1999-04-26 2002-04-09 Ip-First, Llc Apparatus for testing memory in a microprocessor
US6862704B1 (en) * 1999-04-26 2005-03-01 Ip-First, Llc Apparatus and method for testing memory in a microprocessor
US7058856B2 (en) * 2000-07-18 2006-06-06 Oki Electric Industry Co., Ltd. Semiconductor circuit with flash ROM and improved security for the contents thereof
US7072647B2 (en) * 2000-12-19 2006-07-04 Qualcomm Incorporated System and method for pre-programming a cellular phone
DE10110050A1 (de) * 2001-03-02 2002-09-05 Bosch Gmbh Robert Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung und eine Speichereinrichtung zur Durchführung dieses Verfahrens
EP1357387A1 (de) * 2002-04-22 2003-10-29 Siemens Aktiengesellschaft Partial-BIST mit Erfassung der Verbindungen zwischen einzelnen Blöcken
US7366952B2 (en) * 2003-06-16 2008-04-29 Intel Corporation Interconnect condition detection using test pattern in idle packets
US20050065757A1 (en) * 2003-09-19 2005-03-24 White Samer R. System and method for estimating displacement of a seat-belted occupant
US7076708B2 (en) * 2003-09-25 2006-07-11 International Business Machines Corporation Method and apparatus for diagnosis and behavior modification of an embedded microcontroller
US7117274B2 (en) * 2004-03-05 2006-10-03 Koninklijke Philips Electronics N.V. Graphical user interface and approach therefor
US7631231B2 (en) * 2006-04-19 2009-12-08 Silicon Storage Technology, Inc. Method and apparatus for testing the connectivity of a flash memory chip
US7913128B2 (en) * 2007-11-23 2011-03-22 Mosaid Technologies Incorporated Data channel test apparatus and method thereof
JP5407257B2 (ja) * 2008-10-01 2014-02-05 富士通株式会社 回路試験装置及び回路試験システム
NL1037457C2 (en) * 2009-11-10 2011-05-12 Jtag Technologies Bv A method of and an arrangement for testing connections on a printed circuit board.
NL2006759C2 (en) * 2011-05-10 2012-11-13 Jtag Technologies Bv A method of and an arrangement for automatically measuring electric connections of electronic circuit arrangements mounted on printed circuit boards.
EP2790027B1 (en) 2013-04-08 2017-10-18 Imec Two-step interconnect testing of semiconductor dies
US9298579B2 (en) * 2014-05-15 2016-03-29 International Business Machines Corporation Link speed downshifting for error determination and performance enhancements

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58109945A (ja) * 1981-12-23 1983-06-30 Fujitsu Ltd マイクロプロセツサの試験方法
NL8502476A (nl) * 1985-09-11 1987-04-01 Philips Nv Werkwijze voor het testen van dragers met meerdere digitaal-werkende geintegreerde schakelingen, drager voorzien van zulke schakelingen, geintegreerde schakeling geschikt voor het aanbrengen op zo'n drager, en testinrichting voor het testen van zulke dragers.
US5084874A (en) * 1988-09-07 1992-01-28 Texas Instruments Incorporated Enhanced test circuit
US4963824A (en) * 1988-11-04 1990-10-16 International Business Machines Corporation Diagnostics of a board containing a plurality of hybrid electronic components
US5029166A (en) * 1989-05-31 1991-07-02 At&T Bell Laboratories Method and apparatus for testing circuit boards
JPH081457B2 (ja) * 1989-09-29 1996-01-10 株式会社東芝 ディジタル集積回路におけるテスト容易化回路
JP2676169B2 (ja) * 1989-12-27 1997-11-12 三菱電機株式会社 スキャンパス回路
US5172377A (en) * 1990-09-07 1992-12-15 Genrad, Inc. Method for testing mixed scan and non-scan circuitry
EP0503117B1 (de) * 1991-03-13 1995-06-28 Siemens Aktiengesellschaft Prozessorschaltung
GB9111179D0 (en) * 1991-05-23 1991-07-17 Motorola Gmbh An implementation of the ieee 1149.1 boundary-scan architecture
US5202625A (en) * 1991-07-03 1993-04-13 Hughes Aircraft Company Method of testing interconnections in digital systems by the use of bidirectional drivers
US5329533A (en) * 1991-12-26 1994-07-12 At&T Bell Laboratories Partial-scan built-in self-test technique
US5260649A (en) * 1992-01-03 1993-11-09 Hewlett-Packard Company Powered testing of mixed conventional/boundary-scan logic
TW253097B (ja) * 1992-03-02 1995-08-01 At & T Corp
US5442640A (en) * 1993-01-19 1995-08-15 International Business Machines Corporation Test and diagnosis of associated output logic for products having embedded arrays

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940783A (en) * 1996-12-10 1999-08-17 Matsushita Electric Industrial Co., Ltd. Microprocessor and method of testing the same
US8015447B2 (en) 2004-07-29 2011-09-06 Fujitsu Limited Processor debugging apparatus and processor debugging method
JP2013521482A (ja) * 2010-03-01 2013-06-10 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 集積回路の検査方法

Also Published As

Publication number Publication date
EP0588507A3 (en) 1998-01-21
GB9217728D0 (en) 1992-09-30
US5819025A (en) 1998-10-06
EP0588507A2 (en) 1994-03-23

Similar Documents

Publication Publication Date Title
JPH06174796A (ja) 回路上の集積回路間の相互接続をテストする方法
US5708773A (en) JTAG interface system for communicating with compliant and non-compliant JTAG devices
US5448525A (en) Apparatus for configuring a subset of an integrated circuit having boundary scan circuitry connected in series and a method thereof
US6594802B1 (en) Method and apparatus for providing optimized access to circuits for debug, programming, and test
KR100265138B1 (ko) Jtag를 사용한 입/출력 토글 테스트 방법
US6564347B1 (en) Method and apparatus for testing an integrated circuit using an on-chip logic analyzer unit
US5768289A (en) Dynamically controlling the number of boundary-scan cells in a boundary-scan path
US20030196144A1 (en) Processor condition sensing circuits, systems and methods
EP0737337B1 (en) Apparatus and method for testing integrated circuits
TW200305027A (en) Method and apparatus for optimized parallel testing and access of electronic circuits
WO2003048794A1 (en) Method and apparatus for embeded built-in self-test (bist) of electronic circuits and systems
US20040193957A1 (en) Emulation devices, systems and methods utilizing state machines
JP2001523005A (ja) アドレス依存型命令を有する境界走査システム
US7620864B2 (en) Method and apparatus for controlling access to and/or exit from a portion of scan chain
GB2284066A (en) Powered testing of mixed conventional/boundary scan-logic
EP0411904A2 (en) Processor condition sensing circuits, systems and methods
US7076708B2 (en) Method and apparatus for diagnosis and behavior modification of an embedded microcontroller
US5673273A (en) Clock controller for embedded test
KR101268611B1 (ko) 내부 정속 로직-bist를 이용한 로직 블록의 자동 오류테스트
Maunder et al. An introduction to the boundary scan standard: Ansi/ieee std 1149.1
US20030188237A1 (en) Method and apparatus for testing a circuit using a die frame logic analyzer
Maierhofer Hierarchical self-test concept based on the JTAG standard
JP2002531835A (ja) 集積回路動作モードを終了または修正するためのバウンダリスキャン方法
US6256761B1 (en) Integrated electronic module with hardware error infeed for checking purposes
US7240264B2 (en) Scan test expansion module