JP3890126B2 - 集積回路のテスト用クロック発生方法および回路 - Google Patents
集積回路のテスト用クロック発生方法および回路 Download PDFInfo
- Publication number
- JP3890126B2 JP3890126B2 JP28227197A JP28227197A JP3890126B2 JP 3890126 B2 JP3890126 B2 JP 3890126B2 JP 28227197 A JP28227197 A JP 28227197A JP 28227197 A JP28227197 A JP 28227197A JP 3890126 B2 JP3890126 B2 JP 3890126B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- test
- integrated circuit
- scan
- input
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2884—Testing of integrated circuits [IC] using dedicated test connectors, test elements or test circuits on the IC under test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本特許明細書の一部分は、著作権に保護される資料を含んでいる。本著作権所有者は、特許庁の特許ファイルまたは記録により表示するような場合に、本特許明細書、または、特許公開書の第3者による複写再生は異議を提議しないが、それ以外はいずれの場合にもすべての著作権を行使する。
【0002】
本発明は集積回路に係るもので、特に集積回路の正常(normal)動作用およびテスト動作用のクロックを発生する集積回路のテスト用クロック発生方法および回路に関する。
【0003】
【従来の技術】
一部の集積回路は、デバギング(debugging)および製造時に、容易に回路をテストすることができるテスト回路を含んでいる。このような回路の一例としては、JTAG境界スキャン規格としてシ.エム.マンダ(C.M.Maunder)とアル.イ.ツロッス(R.E.Tulloss)の「テストアクセスポートおよび境界スキャン構造」(IEEE Computer Society Press,1990)に説明されている。
【0004】
テストデータは前記回路入力ピンに供給され、できるだけラッチ内にスキャニングされる。集積回路またはこの集積回路の一部分には正常動作のシミュレーションのためにクロックが供給される。
出力テストデータが出力ピン側から観測される。出力テストデータは、正常動作がシミュレーションされたとき、データの獲得可能なラッチからスキャニングされる。クロック信号はデータのスキャンおよび正常動作のシミュレーションのために発生される。
【0005】
【発明が解決しようとする課題】
本発明は、集積回路テストに適合したクロックを発生することができる、シンプルな集積回路のテスト用クロック発生方法および回路を提供することを目的とする。
【0006】
【課題を解決するための手段】
本発明により集積回路用のテスト用クロック発生方法および回路が提供される。クロック発生回路は正常動作用およびテスト用クロックを発生することに適合する。テスト用に発生されたクロックはJTAG境界スキャンクロック、および内部(非境界)機能ブロックをテストすることに使用された、内部シフトレジスタチェーン用のスキャンクロックを含んでいる。
また、テスト用に発生されたクロックは正常動作のシミュレーションに適合したクロックも含んでいる。
【0007】
内部スキャンチェーン用クロックの発生を簡単化させるためにクロック発生回路は、標準JTAGテストクロック入力ピンTCK (test clock input)から内部スキャンクロックの発生を可能にする。テストクロック入力ピンTCK からのスキャンクロック発生はチップデバギング(chip debugging)に便利である。
また、内部スキャンクロックは別途のテストクロック入力ピンTCK から発生する場合もある。この場合でも、集積回路とこの集積回路製造環境に使用された既存のテスト装置間のインタフェースを提供することが容易になる。
正常動作のシミュレーションのためのクロックは、テストクロック入力ピンTCK から発生する場合もある。テストクロック入力ピンTCKから発生されたクロックは、このテストクロック入力ピンTCK が良好に制御されるので、良好に制御される。
本発明のその他の特徴および利点に関しては後述する。本発明は上記特許請求の範囲により定義される。
【0008】
【発明の実施の形態】
図1は集積回路(以下、ICという)110のブロック図である。このIC110は、ICテストを容易に実行するためのテスト回路を含んでいる。一部の環境でIC110は、カリフォルニアサンホセにある三星半導体インコーポレーテッドで開発したマルチメディア信号プロセッサ(MSPTM)である。
このマルチメディア信号プロセッサは、シ.リーダ(C.Reader)等の発明者により1996年8月19日付で「ビデオデータ処理方法および装置」を発明の名称として出願された、米国特許出願第08/699,303号に説明されている。
この特許出願は参照文として本明細書に含まれている。MSPテスト回路は本明細書の付録AとBに詳細に説明されている。特に、付録Bはテスト回路のベリログコード(Verilog code)を含んでいる。
【0009】
前記テスト回路はテスト制御回路120を含んでいる(図1参照)。このテスト制御回路120はIEEE規格1149.1(ときには、JTAGバージョン2.0または単にJTAG規格という)により、境界スキャンテスト用制御回路として機能することができる。
この規格は「IEEE規格テストアクセスポートおよび境界スキャン構造」(IEEE Inc.1993,10,21)に定義されており、これは参照文献として本明細書に含まれている。また、参照文献として本明細書に含まれているシ.エム.マンダとアル.イ.ツロッスの「テストアクセスポートおよび境界スキャン構造」(IEEE COMPUTER SOCIETY PRESS,1990)を参照。
境界スキャンテスト以外に、テスト制御回路120は後述する内部テストにも適合する。
【0010】
IC110は、テスト制御回路120に接続されている前記JTAG規格により定義された5個のピンを含んでいる。このピンは、テストクロック入力ピンTCK 、テストモードセレクト入力ピンTMS(test mode select input) 、テストデータ入力ピンTDI(test data input )、テストデータ出力ピンTDO(test data output) およびテストリセットアクティブローTRST N(test reset input,active low)である。
テストクロック入力ピンTCK 側のクロック入力は、前記JTAG境界スキャンテストの途中だけでなく、内部テストの途中にも使用される。特に、テストクロック入力ピンTCK は内部スキャンチェーン(126.1-126.17)に関するデータスキャン用のスキャンクロック信号を供給する。
【0011】
それぞれのチェーン(126.i)はLSSD(level sensitive scan design)ラッチの内蔵されたシフトレジスタを含んでいる。LSSDラッチは、たとえばエム.アブラモビシ(M.Abramobici)等の「デジタルシステムテストおよびテスト可能設計」(1990)に説明されており、これは参照文献として本明細書に含まれている。IC110の一部の実施の形態は17個より多いスキャンチェーン、または17個より少ないスキャンチェーンを含んでいる。
1つのMSP実施の形態の場合、これら17個のスキャンチェーン、およびこのチェーンを含んでいるそれぞれのMSP機能ブロックは、チェーン(1-17)に付録Aの表2に記載されている。
チェーン18はMSP境界スキャンチェーンである。チェーン19はMSPに内蔵されたARM7プロセッサの境界チェーンである。表2のそれぞれの内部チェーン126は、付録A、表5にリストされているそれぞれのJTAG専用命令により選択される、JTAGテストデータレジスタである。
【0012】
それぞれの内部チェーン(126.x)はテストデータをスキャンするために非重畳スキャンクロック(sca x, scb x ) を受信する。「単一内部スキャン」動作ではいくつかのチェーン126の中のいずれか1つのチェーンのみがスキャニングされる。
前記それぞれのクロック(sca、scb)は、後述のとおり前記のテストクロック入力ピンTCK のクロックから得られる。一部のテスト環境は、テストクロック入力ピンTCK に対して良好な制御を供給し、それにより良好な制御がクロック(sca、scb)に提供される。
特に、テストクロック入力ピンTCK のクロック周波数は良好に制御され、そしてテストクロック入力ピンTCK のクロックのはいつでも開始および停止可能である。たとえば、付録Aのセクション1.11に説明されているテスト環境を参照されたい。したがって、クロック(sca、scb)もまた、単一スキャン動作で良好に制御される。
【0013】
IC110はまた、すべてのチェーン(126.1-126.17)が同時にスキャニングされる多重内部スキャンモードになっている。このモードは、多数の標準テストが高速で実行される場合の製造に適する。
このモードでクロック(sca、scb)は、テストクロック入力ピンTCA 、TCB 側に供給される非重畳クロックから得られる。テストクロック入力ピンTCA 、TCB は一部の実施の形態では専用テストクロック入力ピンである。
【0014】
別個の専用テストクロック入力ピンTCA 、TCB を使用すると、良好に制御されたクロック(sca、scb)が供給され、またIC110とシュルムバーガ(Schlumberger)ITS9000のような既存の製造テスト装置間のインターフェースが簡単になる。
また、別個の専用テストクロック入力ピンTCA 、TCB は、カリフォルニアサンホセのビューロジック(Viewlogic)社のATPG(Automatic Test Pattern Generator)ソフトウェアの、SunriseTMのようなATPGを容易に使用できるようにする。
【0015】
それぞれのチェーン(126.x)はまた、スキャン−イン(scan-in)データ入力(si x)と、スキャンアウト(scan-out)データ出力(so x)を含んでいる。前記の単一スキャン動作で入力(si x)はJTAGピンTDI からデータを受信する。
重要なことは単一スキャンモードで、1つのチェーン(126.i)のみがスキャニングされる。スキャンアウトデータ出力(so x)は、データをJTAGテストデータ出力ピンTDO 側に供給する。
【0016】
多重内部スキャン動作で、入力(si x)はMSPピン130からデータを受信し、スキャンアウトデータ出力(so x)はデータをMSPピン132側に供給する。正常(非テスト)動作でMPSピン130、132は双方向性ピンである。
【0017】
付録Aのセクション1.6.5を参照。
前記の単一内部スキャンモードと多重内部スキャンモードは、本出願と同日付でエス.ベク(S.Baek)の名義で出願された米国特許出願として、発明の名称が「デバギングおよび製造テスト用の適応型スキャンチェーン」で、代理人管理番号がM−4416USである米国特許出願に説明されており、この出願の内容が参照文献として本明細書に含まれている。
【0018】
テストの途中でチェーン126を含んでいる機能ブロックには、正常動作のシミュレーションのためにクロックが供給される。前記の機能ブロックには、正常動作がテストの途中でシミュレーションされるとき、そして正常動作が実際に行われるとき、クロック(CLKOUT)によりクロックが供給される。
テストの途中でクロック(CLKOUT)はテストクロック入力ピンTCK のクロックから得られる。また、このクロックは、入力140に提供され正常動作に使用された正常システムクロック(CLKIN)から得られる。
テストクロック入力ピンTCK からクロック(CLKOUT)を入力すると、クロック(CLKOUT)に対して良好に制御することができる。注意すべきは、一部の実施の形態で前記の正常システムクロック(CLKIN)は自由に発生する(したがって、制御が容易でない)。
【0019】
一部のテストで、クロック(CLKOUT)は、それぞれのピン(AD05 MT5 、AD04 MT4)側のテストクロック(mult clk1、mult clk2) から求められる。正常モードでこのピンはその他の用途のために双方向性ピンである。
【0020】
内部テストではJTAG制御器144(TAP制御器)、JTAG命令レジスタ148、JTAG命令デコーダー152、およびJTAGブロック156内のその他のJTAG回路を使用している。
内部テストのために境界スキャンJTAG回路を使用し、また内部テストのためにクロックを発生するが、JTAGテストクロック入力ピンTCK を使用すると、内部テスト回路が簡単になり、テストクロック入力ピンの個数が減少される。
【0021】
テストクロック入力ピンTCK のクロックは、従来から公知のとおり、JTAG回路動作の制御のためにJTAGブロック156側に供給される。テストクロック入力ピンTCK はまたテストクロック発生器160側に接続されている。
テストクロック発生器160は、テストクロック入力ピンTCK のクロックと同一な周波数である2つの非重畳クロック(jsca 、jscb) をテストクロック入力ピンTCK クロックから発生させる。
クロック/データマルチプレクサ164はクロック(jsca 、jscb) を受信し、またそれぞれの専用テストクロック入力ピンTCA 、TCB からクロック信号psca、pscbを受信する。一部の製造テストで、クロック(psca 、pscb)は、同一な周波数の非重畳クロックである。
【0022】
前記単一内部スキャン動作で、クロック/データマルチプレクサ164は、JTAGブロック156により選択されたチェーン(126.x)のそれぞれの出力(sca x, scb x)側にクロック(jsca 、jscb) を供給する。
残りのクロック(sca i, scb i)はVSS 側のローに維持される。前記多重スキャン動作でクロック/データマルチプレクサ164は、それぞれの出力(sca x,scb x)側のクロック(psca 、pscb)をすべてのチェーン126側に供給する。
【0023】
前記単一スキャン動作で、クロック/データマルチプレクサ164はJTAGブロック156からライン166を通してテストデータ入力ピンTDI のデータを受信し、このデータをそれぞれの出力(si x)側の選択されたチェーン側に供給する。
チェーン126のすべてのスキャンアウトデータ出力(so i)の出力側はJTAGブロック156でマルチプレクサ168のそれぞれの入力側に接続されている。マルチプレクサ168の出力側はJTAG出力ピン(TDO)に接続されている。
前記単一スキャン動作で、選択されたチェーン126のスキャンアウトデータ出力(so x)側にスキャニングされたデータはマルチプレクサ168側に伝達されてからJTAGテストデータ出力ピン(TDO)側に提供される。
【0024】
多重内部スキャン動作で、クロック/データマルチプレクサ164はMPSピン130からデータを受信する。一部の実施の形態では10個のみのMPSピン130である。チェーン126は10個のチェーン(このチェーンの中の一部は組合されている)の提供のために再構成されている。
このチェーンの再構成は前述した特許出願「デバギングおよび製造用の適応型スキャンチェーン」(代理人管理番号M−4416US)に説明されている。
クロック/データマルチプレクサ164はMPSピン130からのデータを、多数個の出力(si x)の中の10個の出力側に提供する。10個の再構成されたチェーンの10個のチェーン出力(so y)はそれぞれの10個のMPSピン132側に供給される。
【0025】
クロック/データマルチプレクサ164はJTAGブロック156からの信号(INSS)により制御される。
【0026】
クロック(jsca 、jscb)もまた、システムクロック発生器174側に供給される。システムクロック発生器174はまた、(1)入力140から正常モードクロック;(2)ピン(AD05 MT5)からクロック(mult clk1);およびピン(AD04 MT4)からクロック(mult clk2)を受信する。
正常動作で、システムクロック発生器174は、正常クロック入力(140)からクロック(CLKOUT)を発生する。非スキャンテスト動作で(たとえばBISTで)、システムクロック発生器174は後述のとおり、正常クロック入力(140)、スキャンクロック(jsca 、jscb)、およびまたはクロック(mult clk1、mult clk2) から出力クロック(CLKOUT)を発生する。システムクロック発生器174は、JTAGブロック156からの信号により制御される。
【0027】
図2は、テストクロック発生器160の一実施の形態の回路図である。テストクロック入力ピンTCK はインバータ204の入力側に接続されている。インバータ204の出力はインバータ208の入力側に、そしてNANDゲート214の二入力の中の一入力側に接続されている。
インバータ208の出力はNANDゲート214の他の入力側に接続されている。NANDゲート214の出力はデータフリップフロップ220のセット(S)入力側に接続されている。データフリップフロップ220はポジティブエッジトリガされる。このセット入力がローであれば、データフリップフロップ出力(Q)はハイとなる。
【0028】
テストクロック入力ピンTCK はデータフリップフロップ220のクロック入力側に接続されている。データフリップフロップ220のデータ入力(D)はVSS (一部の実施の形態で接地である)に接続されている。
データフリップフロップ220のデータ出力(Q)はCMOSバッファ230に接続されている。CMOSバッファ230の出力はNORゲート240の二入力の中の一入力側に接続されている。NORゲート240の他の入力はインバータ246の出力側に接続されており、このインバータの入力はテストクロック入力ピン入力TCK に接続されている。NORゲート240の出力はバッファ250の入力側に接続されている。バッファ250の出力は前記の信号(jscb)を供給する。
【0029】
テストクロック入力ピンTCK はまたインバータ260の入力側に接続されている。インバータ260の出力はNANDゲート264の二入力の中の一入力側に接続されている。NANDゲート264の他の出力はテストクロック入力ピンTCK に接続されている。NANDゲート264の他の出力はデータフリップフロップ220と同一なデータフリップフロップ270のセット入力側に接続されている。
テストクロック入力ピンTCK は、インバータ274の入力側に接続されており、このインバータの出力はデータフリップフロップ270のクロック入力側に接続されている。データフリップフロップ270のデータ入力はVSS に接続されている。
データフリップフロップ270の直接出力(Q)はバッファ280の入力側に接続されており、このバッファの出力はNORゲート284の二入力の中の一入力側に接続されている。NORゲート284の他の入力はインバータ288の出力側に接続されており、このインバータ288の入力はインバータ274の出力側に接続されている。NORゲート284の出力はバッファ292の入力側に接続されている。バッファ292の出力は前記の信号(jsca)を供給する。
【0030】
一部の実施の形態でインバータ208は直列に接続された9個のCMOSインバータである。インバータ260はまた、直列に接続された9個のCMOSインバータである。それぞれのCMOSバッファ230、280は直列に接続された24個のCMOSインバータである。
【0031】
クロック/データマルチプレクサ164はそれぞれのチェーン(126.x)の別個のマルチプレクサ(164.x)(図3)を含んでいる。マルチプレクサ(164.x)において、データ出力(si x)はマルチプレクサ310の出力である。マルチプレクサ310のデータ入力(D0 、D1)はそれぞれの信号(psi x 、jsi)を受信する。
【0032】
信号(jsi)は単一内部スキャンモードで、ライン166(図1)を通してテストデータ入力ピンTDI から受信されたデータ信号である。
入力(psi x)は多重内部スキャン動作で多数個のピン130の中のいずれか一ピンからまたは、他のチェーン(126.i)のスキャン出力からデータを受信する(前述したとおり、多重内部スキャンモードで多数個のチェーン126は組み合わされて単一チェーンになる。)。
マルチプレクサ310の選択信号(S)は、マルチプレクサ(164.x)の入力(mult n)側に接続されている。なお、信号名で接尾語「n」は、信号がアクティブローであることを表す。すなわち、信号(mult n)は多重内部スキャンモードを表すためにブロック156により発生される(ローに駆動される)。
【0033】
前記多重内部スキャンモードにおけるスキャン動作は、正常動作で双方向性ピンであるMSPピン(AD03 MT3)(図示されていない)側の信号「mult_scan_mode」により表示されている。付録Aの表17を参照。mult_nが(ロー)に発生されると、mult_scan_modeは、前記スキャン動作の機能ブロックが構成されるように発生される。
マルチプレクサ310の選択信号(S)がローであれば、このマルチプレクサ310は自分の入力(D0)、すなわちpsi_xを選択する。この選択信号(S)がハイであれば、マルチプレクサ310はD1(jsi)を選択する。
【0034】
信号(mult n)はマルチプレクサ314、318の選択信号(S)を選択するように接続されている。mult_nがローであれば、マルチプレクサ314は、専用テストクロック入力ピンTCA に接続されている入力(psca)を選択し(図1)、マルチプレクサ318は専用テストクロック入力ピンTCB に接続されているpscbを選択する。
mult_nがハイであれば、マルチプレクサ314はクロック発生器160からの入力(jsca)を選択し、マルチプレクサ318はクロック発生器160からの入力(jscb)を選択する。
【0035】
マルチプレクサ314の出力はマルチプレクサ322の入力(D1)側に接続されている。マルチプレクサ318の出力はマルチプレクサ326の入力(D1)側に接続されている。マルチプレクサ314、318、322、326はマルチプレクサ310と同一である。マルチプレクサ322の出力は信号(sca x)を供給する。マルチプレクサ326の出力は信号(scb x)を供給する。
【0036】
マルチプレクサ322の入力(D0)はVSS に接続されている。マルチプレクサ322の選択信号(S)はORゲート330の出力側に接続されている。ORゲート330はORゲート334の出力とNORゲート338の出力を論理和演算する。
ORゲート334の二入力の中の一入力はインバータ348の出力側に接続されており、その入力は入力(mult n)側に接続されている。ORゲート324の他入力はインバータ352の出力側に接続されており、その入力はシステムリセット信号(mrst-n)側に接続されている。
【0037】
NORゲート338の二入力の中の一入力はマルチプレクサ(164.x)の入力(bist cnt)側に接続されている。NORゲート338の他の入力はNANDゲート356の出力側に接続されている。
NANDゲート356の二入力の中の一入力はJTAGブロック156から信号(shiftdr)を受信する。信号(shiftdr)はJTAG制御器が状態(Shift DR)であることを指示する標準JTAG信号である。前述した文献「テストアクセスポートおよび境界スキャン構造」の41頁(図4−8)参照。NANDゲート356の他の入力は入力(dr x)側に接続されている。
【0038】
マルチプレクサ326の選択信号(S)はORゲート360の出力側に接続されている。ORゲート360の二入力の中の一入力はORゲート334の出力側に接続されている。ORゲート360の他の出力はNORゲート364の出力側に接続されている。
NORゲート364の二入力の中の一入力は入力(bist cnt)側に接続されている。NORゲート364の他の入力はNORゲート368の出力側に接続されている。NANDゲート368の二入力はそれぞれの入力(dr x 、corsdr)側に接続されている。
【0039】
入力(mrst n 、mult n 、shiftdr 、dr x 、corsdr、bist cnt)はJTAGブロック156の出力側に接続されている。入力(mrst n)はシステムリセット信号を受信する。正常動作またはテスト途中のこの信号はハイである。
信号(mult n)はJTAG命令デコーダ152により発生する。この信号はJTAG制御器114が多重スキャンチェーン命令(付録Aの表6に説明された専用命令)を受信し、前記のJTAG制御器がランテスト/アイドル(Run-Test/Idle)状態であるときに発生する。mult nがローであれば、マルチプレクサ322、326は自分の入力(D1)を選択し、TCA、TCB側のクロックが出力(sca x 、scb x)側に提供する。
【0040】
mult nがハイであれば、マルチプレクサ322、326の入力(D1)はそれぞれの信号(jsca 、jscb)を受信する。マルチプレクサ322、326の選択信号(S)は信号(shiftdr、dr x 、corsdr、bist cnt)により変化する信号を受信する。
JTAG命令デコーダ152により発生された信号(bist cnt)はJTAG制御器144が付録Aの表9に示した命令(BIST またはGBIST)、または表4の最後命令「ARM7 intest/BIST」を受信すると、ハイである。
これはBIST専用命令である。ハイのbist cntによりマルチプレクサ322、326はそれぞれの出力(sca x 、scb x)側にクロック信号(jsca 、jscb)を提供することができる。
【0041】
信号(corsdr)は、前記のJTAG制御器が状態(Shift-DR 、Capture-DR)で、JTAGブロック156によりハイに駆動される。信号(dr x)は対応チェーン(126.x)がJTAG制御器144によりテストデータレジスタとして選択されるとき、JTAGブロック156によりハイに駆動される。
dr xがハイであれば、それぞれの信号(shiftdr、corsdr)がハイの場合、jsca、jscbをそれぞれ選択できるように、マルチプレクサ322、326がイネーブルされる。したがって、dr xがハイであれば、それぞれのチェーン(126.x)は単一スキャンモードでスキャンされるか、またはデータを獲得することができる。
【0042】
図4には、システムクロック発生器174の一部分が例示されている。システムクロック発生器174は、クロックライン(CLKOUT)側のそれぞれの単一ビット出力のためマルチプレクサ410を含んでいる。
図4には、非重畳システムクロック(clk1i、clk2i)を発生するマルチプレクサ(410.1、410.2)が例示されている。それぞれのクロック(clk1i、clk2i)はそれぞれマルチプレクサ410の出力(CLKOUT)側で現れる。
それぞれマルチプレクサ410は3個のクロック入力(TCLK 、CLKIN 、jm clk)を備えている。3個のクロックの中の一クロック、すなわちゼロは、選択入力(ck bypass、ck jtag cntl、clk cnt 、mf mode) によって、マルチプレクサ出力(CLKOUT)側に供給される。
入力(syn clk)は同期信号を受信する。前記の選択入力が変動されると、この変動は同期信号の上昇エッジに影響を及ぼす(すなわち、CLKOUTは相異したクロックをスイッチングする)。
【0043】
それぞれのマルチプレクサ410は次の規則を満足している。
mf mode=1であれば、マルチプレクサ410はTCLKを選択する。
【0044】
CLKOUT=TCLK;
mf mode=0、ck bypass=0であれば、
CLKOUT=CLKIN;
mf mode=0、ck bypass=1、ck jtag cntrl=1であれば、CLKOUT=jm clk;
mf mode=0、ck bypass=1、ck jtag cntrl=0、clk cnt=0であれば、CLKOUT=0;
mf mode=0、ck bypass=1、ck jtag cntrl=0、clk cnt=1であれば、CLKOUT=CLKIN;
CLKOUTがCLKINに変動すると、この変動はCLKINがローの場合常に発生する。
【0045】
すべてマルチプレクサ410の入力(mf mode)は、JTAG命令デコーダ152から信号(mf mode i)(manufacturing mode internal) を受信する。信号(mf mode i)は、前記のJTAG命令デコーダが多重スキャン命令(付録A、表6)をデコーディングすると、JTAG命令デコーダ152によりハイに駆動される。
マルチプレクサ410は前記の入力(TCLK)を選択する。入力(TCLK)は付録B、ラインB28−B43に示したとおり接続されている。ラインB28−B43のそれぞれの式で、左側はそれぞれマルチプレクサ410によりその出力(CLKOUT)から発生された信号である。
【0046】
したがって、ラインB28、B29で、左側(clk1i、clk2i)はそれぞれマルチプレクサ(410.1、410.2)により発生する。右側はそれぞれマルチプレクサ410の入力(TCLK)側に伝達されたクロック信号である。
これにより、マルチプレクサ(410.1)の入力(TCLK)は信号(test sys clk1)を受信し、マルチプレクサ(410.2)の入力は信号test sys clk2を受信する。信号(test sys clk1、test sys clk2) は信号(mult clk1、mult clk2) である(図1)。この二信号は同一周波数を有している非重畳クロックである。
【0047】
付録BのラインB39−B43に対応するマルチプレクサ410の前記のTCLKの入力は正常モードクロック入力140に接続されている(図1参照)。
【0048】
すべてマルチプレクサ410の入力(ck bypass)は信号(ck bypass i)を受信する。mf mode i=0でありck bypass i=0であれば、マルチプレクサ410は正常モード入力(CLKIN)を選択する。
この入力は付録BのラインB45−B60の記載のとおり接続されている。特に、ラインB45、B46の記載のとおり、マルチプレクサ(410.1、410.2)は、ピン(MSPCK)側に供給されたシステムクロック(sysclk)からクロック発生器430により発生された、それぞれのクロック(clk1 、clk2)を入力(CLKIN)側に受信する。
【0049】
前記のピン(MSPCK)は複数の入力140中の一つの入力である(図1参照)。
【0050】
ライン(B48)の図示のとおり、クロック(arm7 clk)を発生するマルチチプレクサ410は、クロック(clk1/2)(2で割ったクロック(clk1))を自分の入力(CLKIN)側に受信する。ライン(B49)と対応するマルチプレクサ410は前記クロックの反転信号を受信する。残りマルチプレクサ410は付録Bに記載されたとおり信号を受信する。
【0051】
信号(ck bypass i)は付録Aの表12に説明されているMCR(memory control register)のビット11を受信する。MCRはJTAG設計特定データレジスタの中のいずれか1つである。
すべてのマルチチプレクサ410の入力(ck jtag cntl) は、JTAGブロック156から前記の信号(ck jtag cntl i)を受信する。ck jtag cntl iはMCRビット12である。ck jtag cntl i=1(ハイ)であり、mf mode i=0、ck bypass=1であれば、前記マルチプレクサ410は自分の入力(jm clk)を受信する。
【0052】
この入力は、付録BのラインB62−B77の記載のとおり接続されている。
【0053】
特に、マルチプレクサ(410.1、410.2)で、この信号は、VSS (ラインB62、B63)に接続されている。前記のクロック(clk e)(ラインB64)を発生するマルチプレクサで、入力(jm clk)はjscaのバージョンである信号(jtag mem clk1)を受信する(図1)。
正常モードで、clk1 eはclk1iと類似するが、clk1iより若干先立っている(「e」は「先立つ」ことを意味する)。
【0054】
arm7 clk(ラインB65)を発生するマルチプレクサ410で、入力(jm clk)はjscaのバージョンである信号(jtag arm clk)を受信する。残りマルチプレクサ410で入力(jm clk)はVSS を受信する。
すべてマルチプレクサ410の入力(clk cnt)は信号(clk cnt i)を受信する。信号(clk cnti)はJTAGブロック156でクロックカウンタ420(図4)により発生される。
この信号は、メインシステムクロック(sysclk)の特定個数のサイクルのために、正常クロックによりクロックが供給される1つ以上の機能ブロックを必要とする内部テストに使用される。メインシステムクロック(sysclk)はクロックカウンタ420側に伝達される。
このクロックカウンタ420はMCRヒット(1-10)のクロックカウント(clk cnt 0-clk cnt 9)を維持する。所定個数のsysclkサイクルがカウントされる場合、JTAGブロック156はJTAGテストデータレジスタとしてMCRを選択し、サイクル個数をMCR側にシフトさせる。前記のテストが開始されると、クロックカウンタ420はsysclkのサイクルの特定個数に対してclk cnt iをハイに駆動する。
【0055】
mf mode i=0、ck bypass i=1、ck jtag cntl=0、clk cnt=1であれば、マルチプレクサ410は正常モード時のように入力(CLKIN)を選択する。付録BのラインB78−B93参照されたい。
mf mode i=0、ck bypass i=1、ck jtag cntl=0、clk cnt=1であれば、すべてマルチプレクサ410は、自己の出力(CLKOUT)を0に駆動する(付録BのラインB94−B109)。
【0056】
マルチプレクサ(410.1, 410.2)で入力(syn clk)は信号(clk1)を受信する。これと同様に、正常モードで1対の非重畳クロックを受信する他のマルチプレクサ対で、入力(syn clk)はこの対の入力(CLKIN)に接続されている2クロックの中の1クロックに接続されている。
たとえば、これはクロック(PCICK1 , PCICK2)を発生するマルチプレクサ410に対しても同じである。残りのマルチプレクサ410で、入力(syn clk)は入力(CLKIN)側に接続されている。
【0057】
図5は、単一マルチプレクサ410のブロック図である(すべてマルチプレクサ410は相互に同一である)。入力(ck bypass, ck jtag cntl,clk cnt,mf mode, sys n clk )は、制御回路510のそれぞれの入力(ck bypass, ck jtag cntl,clk cnt,mf mode, synclk)に接続されており、これに関しては図6に図示されている。
マツチプレクサ410の入力(TCLK , CLKIN , jm clk , mf mode) は、回路520のそれぞれの入力(D0 , D1, D2, S0)に接続されており、これに対しては図7に図示されている。制御回路510の出力(ctrl2, sctrl0, sctrl0n , sctrl1, sctrl1n , sctrl2, sctrl2n)は回路520のそれぞれの入力(S2 またはSYNS0 , SYNSON, SYNS1 ,SYNS1N , SYNS2 , SYNS2N)に接続されている。
回路520の出力(CLKOUTN)は並列に接続されている8個のインバータから構成された回路530に接続されている。回路530の出力は出力信号(CLKOUT)を供給する。
【0058】
図6の図示のとおり、制御回路510の入力(synclk)はポジティブエッジトリガデータフリップフロップ(610,620 ,630)のクロック入力側に接続されている。3個のポジティブエッジトリガデータフリップフロップのQ出力はそれぞれの信号(sctrl0 、sctrl1、sctrl2)を供給する。
3個のポジティブエッジトリガデータフリップフロップの相補型出力(DN)はそれぞれの相補型信号(sctrl0n、sctrl1n 、sctrl2n)を供給する。ポジティブエッジトリガデータフリップフロップ(610、620 、630)は相互に同一である。
【0059】
回路520の入力(mf mode)は、ポジティブエッジトリガデータフリップフロップ610のデータ入力(D)に、そしてNORゲート640の二入力の中の一入力側に接続されている。NORゲート640の出力はポジティブエッジトリガデータフリップフロップ620のデータ入力側に接続されている。NORゲート640の第2入力はANDゲート644の出力側に接続されている。
ANDゲート644の二入力の中の一入力は回路510の入力(ck bypass)側に接続されている。ANDゲート644の他入力はNANDゲート650の出力側に接続されている。
NANDゲート650の二入力の中の一入力はインバータ654の出力側に接続されている。インバータ654の入力は回路510の入力(ck jtag cntl) に接続されている。NAND回路650の他の入力は回路510の入力(clk cnt)に接続されている。
【0060】
入力(mf mode)はインバータ660の入力側に接続されており、この出力はNANDゲート664の3個入力の中の一入力に接続されている。NANDゲート664の他の二入力は回路510の入力(ck bypass)に、そしてNANDゲート650の出力にそれぞれ接続されている。
NANDゲート664の出力はインバータ670の入力側に接続されている。
【0061】
インバータ670の出力はポジティブエッジトリガデータフリップフロップ630のデータ入力(D)側に、そして制御回路510の出力(ctrl2)側に接続されている。
【0062】
図7の図示のとおり、回路520の入力(SYNS0、SYSN0N)は、伝達ゲート710のNMOSとPMOSゲートにそれぞれ接続されている。(伝達ゲート710は、並列に接続されているNMOSとPMOSトランジスタとを有している)。
【0063】
伝達ゲート710の入力(D)はインバータ714の出力側に接続されている。
【0064】
インバータ714の入力はANDゲート718の出力側に接続されている。ANDゲート718の二入力は回路520のそれぞれの入力(S0 、D0)側に接続されている。
回路520の入力(SYNS1、SYNS1N)は、伝達ゲート710と同一な伝達ゲート730のNMOSとPMOSゲートにそれぞれ接続されている。伝達ゲート730の入力(D)は、インバータ734の出力側に接続されている。インバータ734の入力は回路520の入力(D1)側に接続されている。
【0065】
入力(SYNS2、SYSN2N)は伝達ゲート730のNMOSとPMOSゲートにそれぞれ接続されている。伝達ゲート740は伝達ゲート710と同一である。伝達ゲート740のデータ入力はインバータ744の出力側に接続されている。
インバータ744の入力はANDゲート748の出力側に接続されている。NANDゲート748の二入力は回路520のそれぞれの入力(S2 、D2)側に接続されている。
【0066】
伝達ゲート710,730,740のデータ出力はインバータ754の入力側とインバータ760の出力側に接続されている。インバータ754の出力はインバータ760の入力側に接続されている。インバータ754の出力はまた、インバータ764、768の入力側に接続されている。インバータ764、768の出力は回路520の出力(CLKOUTN)側に接続されている。
【0067】
以上本発明の好ましい実施の形態を図面を参照して説明したが、本発明は特にこれに限定されず、特許請求の範囲に記載された本発明の内容から逸脱すること無く当業者が可能な変形および修正は本発明の範囲に含まれる。
【0068】
[付 録 A]
この章では、MSPのテストモードおよび正常モードに関して説明する。このモードのすべては5個のJTAGピンのみを使用してJTAG制御器により制御される。
【0069】
1.2適用および仮定
次の節で説明するすべてのテスト機構は、基本的なデバギングと製造テスト過程の間のMSPハードウェアテストを支援するために具現されたものである。
【0070】
この資料は、使用者がIEEE 1149.1JTAGプロトコルとLSSD型のスキャン特性が分かっていると仮定したものである。LSSD、JTAG、MSPに関するより詳細な情報は下記を参照せよ。
【0071】
*テストコンパイラ参照マニュアルバージョン3.2a(Synopsys 株式会社1994)
*IEEE標準1149.1−1990:IEEE標準テストアクセスポートと境界スキャン構造、1990年
*予備MSP−1EXシステム明細書、三星半導体インコーポレーテッド。
1996年。
【0072】
1.3特徴
*LSSD型スキャン設計
*それぞれの機能ブロックのための独立されたスキャン動作
*製造テストのための水平スキャン動作
*MSPとARM7のための2個の初期スキャンチェーン
*すべてのJTAGの基本構造、内部テスト、外部テスト、サンプル/プリロード
*メモリアクセス動作
*BISTクロック発生器。
【0073】
1.4テスト方法要約
MSPテスト方法は、LSSD(Level Sensitive Scan Design)タイプのスキャン設計、JTAG制御器、およびメモリテスト用DFT(Design For Testability)とBIST(Built In Self Test)の混合された技術を含む多様なテスト機構を利用することにより円滑に実行される。
MSPで制御ブロックは十分にスキャン可能に製造され、データ経路ブロックはハードウェア故障(penalty)を減少たせるために、部分的にスキャニングされる。スキャンチェーンはデバギングを支援するための機能ブロックにより分割される。
【0074】
2個の境界スキャンチェーンはMSPとARM7のためのものであり、1つのJTAG制御器により制御される、JTAG制御論理は内部スキャンチェーンだけでなく、境界スキャンチェーンもスキャニングすることができる。
シリコンでのデバッグとテストはキャッシュメモリのためにハイブリッドDFT方法を利用する。これはDFT、JTAGおよびBIST方法を並行したものである。自動比較機構はMARCH Cアルゴリズムが実行される間、テスト時間を短縮させるためにキャッシュ内に内蔵される。そのメモリはJTAG制御器内に位置したメモリ制御レジスタにより制御される。
【0075】
1.5概念的なJTAG要件
以下では、JTAG制御器が備えなければならない一般的な要件を、広範囲なレベルテスティングでない機能的なデバギングの観点で詳細に記述する。
*MSPとARM7コアに対する境界スキャン:任意の機能ベクトルがスキャンチェーンに供給されるべきである。任意の機能ベクトルがスキャンチェーンに提供されることによって、クロックパッドでクロックパルスがスキャンチェーンを通してエミュレーションされ得る。3状態制御と両方向制御がデータバスのような連関された信号群で実行可能でなければならない。オフチップと内部論理の任意のパターンが捕捉され、TDOピンでシフトされる。相互結合テストと内部論理テスティングのために、境界スキャンセルを通して外部チップおよび内部論理を駆動させる必要がある。境界スキャン動作が有する1つの利点は、境界スキャンセルがJTAG制御器により交信されるまで、すべての内部状態機構がその当時の状態を維持するようにすることである。
【0076】
*機能ブロックのスキャン入/出力テスト:スキャンチェーンは機能ブロック単位で分割される。もし1ブロックが他のブロックに比して非常に少ないスキャンセルを有している場合は、例外が発生される。任意の入/出力値に対するスキャンはすべてのスキャンセルに対して可能でなければならない。機能ブロックがスキャンされる間、選択されたチェーンを除外したすべての内部フリップフロップ/ラッチ、境界スキャンセル、キャッシュ、およびレジスタはその以前値を維持しなければならない。これは効率的なシリコンデバギング作業において非常に重要である。すなわち、すべてのデータレジスタ、境界スキャン、ARM7境界スキャンは、独立的に制御可能でなければならない。
【0077】
*テストモードのシステムクロック発生:MSPチップは、使用者の要求により多いシステムクロックサイクルで実行される。これはクロックパルスの発生観点で2つの方法により遂行される。第1方法では、クロックポートに指定された境界スキャンセルによりクロックパルスが発生される。しかし、境界スキャンセルの利用は、パルスを生成するために、すべての境界スキャンセルを3回スキャニングすべきであるので非常に遅い(0-1-0)。システムクロックにおいて、このような減少は要らない。ただ捕捉された境界スキャンセルのみが利用される。TCKが20MHzの場合約24Khzクロックが、MSPで境界スキャンチェーンによりシミュレーションされ得る。MSPの境界スキャンの長さは270ビットであることに留意しなければならない。また上述したこととは相異に、クロックパルスはJTAGクロックにより発生され得る。JTAGクロックの中の1パルスであるTCKは、1システムのクロックパルスと同一であるので、上述したクロックパルス発生に比して非常に早い。クロックパルスを発生させる第2の方法はメインシステムクロックの発生のために具現されたものである。他のクロックは境界スキャンチェーンによりエミュレートされる。
【0078】
*JTAGを通したメモリアクセス:メモリ、IDCおよびMSP内のレジスタファイルは、テストモードでJTAGインターフェースを通して制御される。
【0079】
任意の位置で読み出しおよび書き込み動作が提供される。1RAMにおける読み出しおよび書き込み動作は他のRAMに貯蔵された内容に影響を及ぼさない。
【0080】
*多重独立スキャン:多数のスキャンチェーンは、機能ブロックよりはスキャンセル個数によって構成され、同時にスキャニングされる。JTAG制御器は、スキャンチェーン構造をさらに構成すべきであり、再構成された構造を有する回路を提供しなければならない。
【0081】
*JTAG命令:すべての基本的なJTAG命令は、本節の前記の項目で記述された事項で、具体化された機能を提供するための命令とともに遂行されなければならない。JTAG命令が変更される間は、すべての境界スキャンセルが変更されず、すべてのフリップフロップ/ラッチはその状態を維持し、メモリは現在の内容を保存する。これは基本デバギング過程の間、現在の状態を予想することができるようにする。
【0082】
1.6 分類されたJTAG動作
この節は、以前の節で説明したJTAGの必要条件を満足した場合に関して論議する。MSP設計のJTAG動作は、6個の異なるカテゴリから分類される。
【0083】
それぞれのカテゴリは、その応用によって若干の多様性を有する。使用者はJTAG細部設計部分で、そのカテゴリのためのマッチング命令を見ることができる。6個の異なるカテゴリは、正常動作、境界スキャン動作、単一内部スキャン動作、メモリアクセス動作、多数の内部スキャン動作、疑似システムクロック動作モードであり、これは次のサブセクションで前記の動作を論議する。
【0084】
1.6.1 正常動作
すべての機能的メモリブロックは、そのブロックに規定された仮定により動作する。共有されたすべての入/出力ピンとテスト論理はこのモードで規則的な信号を提供するために適正に再調整される。JTAG標準信号TRST_N(=0)をイネーブルさせることによって、前記のモードに転換され得る。
【0085】
1.6.2 境界スキャン動作
2個の境界スキャンチェーンが実現され、このチェーンはMSPとARM7コアである。MSPとARM7のすべてのI/Oポートは、5個のJTAG関連ピンを除外した、それの適当な境界スキャンセルを有している。スキャンチェーンの特定な境界スキャンセルは、MSP境界スキャンとARM7境界スキャン節で探すことができる。その2境界スキャンチェーンは1つのJTAG制御器を共有し、独立的にスキャニングされなければならない。この2個のスキャンチェーンのための内部テスト、外部テスト、サンプル/プリロード命令が実現される。
【0086】
1.6.3 単一内部スキャン動作
このモードでは、JTAGがMSP内でデータ変換の観点でハードウェア制御を遂行する。スキャンチェーンを有するすべての機能ブロックは独立的にスキャン入/出力し得る。「独立的」とは、選択されないスキャンチェーンはその状態が変更されないことを意味する。ただ選択されたブロックのみがTDIポートからスキャン入力され、スキャンチェーンを更新し得る。
前記のスキャンモードは、優先的にチップデバギングに使用される。使用者はいつでもスキャンチェーン値を設定し観察することができる。単に1回に1つのスキャンチェーンのみがアクセスされるので、テスト時間からみると、単一のスキャンチェーンだけが存在するようであり、よって、前記の目的に適合するように使用されるとしても、製品テストには適合しない。
【0087】
1.6.4 メモリアクセス動作
IDC(Instruction Data Cache)のvd_ramとtag_ramは、同時に選択されアクセスされる。RAMのいずれのアドレスもこのモードでは独立的に読み出しまたは書き込みが可能である。メモリ動作は、スキャンチェーンとJTAG制御器により連続的にアクセスされる。
読み出しおよび書き込み動作のために1メモリがアクセスされるとき、他のメモリの内容を変更させない。以下、メモリのアクセス方法を説明する。
【0088】
1.単一スキャンモードに変更し、RAMブロックを選択する。必要なデータでスキャンする。この場合、住所カウンタと書き込まれるデータを設定することができ、これはスキャンモードであるので、いずれの書き込み動作も実行されない。
2.単一スキャンモードからメモリアクセス動作に転換する。このモードでテストされるメモリの選択が可能である。JTAG制御器は各メモリ用選択信号のdata ram test en、vt ram test en、およびregist file test enを供給する。この信号は1回に1つのみが使用される。
3.1つのメモリが選択されると、メモリと住所カウンタ制御信号はJTAGを使用して制御される。制御名はmem we、mem hwd、mem compare、mem add u/d、mem add cnt、mem add reaet、mem add setである。その利用はJTAGインタフェース信号に関する節で説明する。
【0089】
1.6.5 多重内部スキャン動作
単一スキャンモードだけでなく、10個の相異なスキャンチェーンがMSP I/Oポートから同時にアクセスされる多数のスキャンモードがある。10個の相異なスキャンチェーンは基本的にスキャンフリップフロップ/ラッチカウントに基づいて、現存するスキャンチェーンから再組織される。
多重スキャンチェーン動作は製品テストに使用される。10スキャンフリップフロップはすべてのクロックサイクルでアクセスされ得る。その上に、JTAG命令スイッチングは、単一スキャンモード時のように、スキャニングされる特定機能ブロックを備える必要がない。
【0090】
10個のスキャン入力は正常的な機能的両方向ピンと共有される。その名称は、ad06 si0、ad07 si1、ad08 si2、ad09 si3、ad10 ai4、ad11 si5、ad12 si6、ad13 si7、ad14 si8、ad15 si9などである。10個のテストピンは、正常的な両方向ピン、ad16 so0、ad17 so1、ad18 so2、ad19 so3、ad20 so4、ad21 so5、ad22 so6、ad23 so7、ad24 so8、ad25 so9とに連結される。
【0091】
2個の入力ポート(tca、tcb)はスキャンクロックピン(stimulus)に使用される。2個のポートはテストに利用されるので、テスト発生には何等の制限も与えない。2個のポートはJTAG制御器でなく、テスタ装置のポートであることが分かるべきである。
製造時のテスト装置において、MSPは多数スキャンモードに設定し、境界スキャンセルは透過モードに設定する。したがって、正常ポートのすべてのテストベクトルは境界スキャンセルを通して応用され得る。
JTAGが多数の状態であることを表す信号は、両方向I/Oセルを調整することには使用され得る。両方向ピンを調整するための先行処理段階を避けることが好ましい。
【0092】
1.6.6 疑似システムクロック動作
スキャンチェーンがロードされてから、MSPの一部分は基本デバギングが実行される間、単一または多重クロックで実行される必要がある。JTAG制御器は、2個のシステムクロック( clk1、clk2) と内部的に混合される2個の非重畳されたクロック(jsca 、jscb) を発生する。
前記の動作は正常モードとは異なるクロックソースを有している。このモードでは、クロックはシステムクロックの代わりにJTAG制御器から発生されたものである。これを疑似システムクロックという。その出力のクロックはシステム動作に影響を及ぼす。一般的に、疑似システムクロックはIDCブロックに表れる。そのクロックは応用されると、他のシステムクロックはその状態を維持する。
【0093】
このモードでは、使用者が指定した数のクロックサイクルの間、JTAG生成クロックを応用することができる。しかし、クロックカウンティングはJTAG制御器で実行されない。それはproTEST_PCとAVL(「ハードウェアテスト環境」を参照)を通して供給される。
【0094】
1.7 テストモードの信号概要
図8は概要図である。6個の異なるモードは、すべてJTAG命令を通して転換可能である。これはモード間への転換のためのI/Oピンがないことを意味する。JTAG命令が要望するモードに伝達されるためには、まず、JTAG命令がロードされなければならない。
【0095】
表1は、6個の異なるモードの重要信号の一般的な特性を示している。3種類のクロック、システムクロック、スキャンクロック、疑似システムクロックは他のテストモードを支援することに使用される。MSPのクロックは図9に図示されている。システムクロックはシステムクロックから発生された2個の非重畳クロック(clk1、clk2)を表す。その中の1つは、その用途によって、スキャンフリップフロップとスキャンラッチの正常クロックポートに連結される。
【0096】
スキャンクロックはスキャン動作のための2個の非重畳されたクロックであり、すべてのスキャンフリップフロップとスキャンラッチのスキャンクロックポートに連結される。スキャンクロックはJTAG制御器またはMSP入力パッド(tca、tcb)により生成される。それはテストモードによって適切に選択される。単一スキャンモードで2個のスキャンクロック(jsca 、jscb) は選択された機能ブロックに対してパルスを発生させ、2個のクロックポート、tsa,tsbは論理0に維持される。多数のスキャンモードで、jscaとjscbとはロジック0に維持され、tsaとtsbとはイネーブルされる。
【0097】
疑似システムクロックはまた、JTAG制御器により発生される2個の非重畳クロックである。それは、スキャンクロック(jsca,jscb) のような信号である。
【0098】
しかし、疑似システムクロックはこのとき他の位置で、スキャンクロックポートの代わりに正常クロックポートを利用する。単一スキャンモードと疑似システムクロックモードは同時に発生されないことに注視せよ。前記のクロックは、スキャン動作よりはシステム実行のために使用されるので、疑似システムクロックと呼ばれる。このクロックはpsca、pscbに表示される。
【0099】
表1の機能ブロックは、MSP設計のハードウェアモジュールに関する。このモジュールは倍率器、FALUの場合もある。メモリブロックはIDCまたはレジスタファイルである。入力ピンはJTAG入力ピンを除いたMSP入力または入出力パッドに関する。出力ピンはTDOピンを除いたMSP出力または入出力パッドに関する。
【0100】
【表1】
【0101】
正常モードで、システムクロック、システムクロック(clk1 、clk2) はパルスを発生させ、MSP明細書で記述したとおり、基本的にMSPを遂行する。スキャンクロック(sca、scb)は非活性状態である(sca=0sca=0)。もし、活性状態であれば、MSP内のスキャンフリップフロップとラッチとは未知の状態に転換される。疑似システムクロックは非活性状態である。したがって、すべての連続的な要素を遂行するクロックは、JTAG制御器でなくシステムクロックピン(mclk)から発生される。すべてのテスト論理は正常機能に影響を及ぼさない。
【0102】
境界スキャンモードですべてのクロックは非活性状態となる。境界スキャンチェーンは、JTAG生成クロックを通してその値をシフトする。すべての機能ブロックはスキャン動作の間その状態を維持する。
単一スキャンモードでは1つのブロックのみが選択され得ることができ、スキャンクロックを利用して入出力をスキャニングすることができる。この期間の間、5個のJTAGピンのみが使用され、他のI/Oピンは意味がない。同じ理由で、正常モードでシステムブロックは非活性状態となる。この期間の間すべてのメモリ書き込み動作はディスエーブルされなければならない。
【0103】
メモリテストで、疑似システムクロックは、メモリ読み出しおよび書き込み動作に使用される。処理されるすべてのデータがメモリブロックのスキャンチェーン内にあるので、このモードでも入出力は意味はない。すべてのメモリ制御は、JTAG制御論理に常駐するメモリ制御レジスタにより調整される。
多数のスキャンモードは、入力パッド(tca、tcb)から発生されるスキャンクロックを使用する。10個のスキャン入力ポートと10個のスキャン出力ポートは、JTAGポートTDIの代わりにスキャンデータを供給することに使用される。疑似正常モードはJTAGからMSPの遂行までのクロックを使用する。このモードでMSP I/Oの境界スキャンセルは透明でなく、内部テスト状態である。したがって、入力はこのモードで安定される。
【0104】
1.8 JTAG制御器を通したクロック制御機構
クロック制御機構は円形デバギングを助けるために含まれている。前記の機構はクロック停止、命令によるクロック生成、クロック再始動を遂行する。制御信号として特別な制御レジスタは1.10.4に言及される。MSPクロック用のクロック仕様を調べよう。
クロック停止:クロック停止要求がJTAG制御器からクロック生成器まで発生された場合、MSPクロック、システムクロック、pciクロックおよびコードクロックは、クロック停止要求が発生されたときの各クロックの最初の上昇エッジで停止する。
【0105】
クロック停止要求は2つの方法で発生される。第1番目の簡単な方法は、システム状態に関係なく要求を発行するものである。第2番目の方法はMSPがクロックを停止させる準備ができたときに要求することである。JTAG制御器はMSPに注視してクロック停止を放送し、MSPからアイドル状態を認識してからクロック生成器に停止を要求する。一般的に、ベクトルコアのみがJTAG制御器のアイドル状態を表す。
要求されたクロック発生:1024までの任意のクロックサイクル数がJTAG制御器で制御レジスタを通すクロック生成を要求する。そのクロック数はシステムクロック用である。他のクロックはシステムクロックに比例して生成される。必要によって生成されたクロックは現存のクロックと同じである。要求はクロックが停止してから生成される。
クロック再開:クロック再開が要求されると、すべてのクロックは最初の上昇エッジ以降で開始される。
【0106】
1.9 全体リセット動作
システムリセットはMSPチップ中のスキャンチェーンを使用して実行され得る。この動作で、マスタリセット信号は、ロー状態(アクティブロー)状態となり、リセット動作範囲の間前記の状態を維持する。
JTAGクロック、TCKは正常状態では作動されないので、システムクロックはスキャンチェーンでデータをシフトすることに利用される。このとき、TCKが作動されないので、これは1つのJTAG命令として見なされない。
この技術の機能性は、マスタリセットがローの場合、論理「0」値がすべてのスキャンフリップフロップ/ラッチにシフトされる。リセット動作を満足する条件は下記のとおりである。
【0107】
*システムクロック「clk1」と「clk2」、そしてスキャンフリップフロップ/ラッチに影響を及ぼすすべての他のクロックは、ディスエーブルされる必要がある(clk=0、clk=0 )。これは一種類のクロックがスキャンクロックであり、スキャンフリップフロップ/ラッチに応用されることを保障する。これは制御論理がクロックポートに付加されることを要求する。
*システムクロックはスキャンクロックとsca、scbを発生することに利用される。スキャン動作は遅い速度を要求するので、正常フリーランニング(free running)クロックは使用されない。システムクロックは2分周される。
*マスタリセットは、スキャンフリップフロップ/ラッチにリセット値をシフトする程度に十分に遅い必要がある。これを満足させないと、不適合した動作を誘発する。
前記の動作はJTAG制御器の内部で具現されている。しかし、MSPがこの動作を具現するかはまだ決定されていない。
【0108】
1.10 JTAG設計細部説明
本節は、MSP JTAG設計結果、命令および使用可能なコードに関して説明する。以前の節で説明したすべての機能は、本節で説明する命令を使用して達成され得る。
JTAG制御器の命令解読器はできるだけ38修理の命令からなっている。一般的に1個の命令は更に多い応用を含んでいる。36個の中の17個の命令は、連合された内部データレジスタを有する。
【0109】
それぞれのデータレジスタと命令レジスタの連続出力TDOピンに連結される。命令によりTDIピンでデータが選択されると、選択されたデータレジスタまたは命令レジスタ、TDOピンで観察された場所に連続的にシフトされる。
【0110】
すべてのJTAG回路でMSBは左側の最上位ビットであり、「DATA[N:0]」のような典型的な信号名である。他の回路に含まれる場合はこの標準方式にしたがうべきであり、これは信号の相互連結を調整するためのものである。
【0111】
1.10.1 要求条件
JTAG制御器を正常的に動作させようとすると、下記の項目を必ず満足させねばならない。
【0112】
*入力ピン:TDI、TMSピンはオンチップフールアップレジスタを備えるべきである。もしこのピンが使用者により連結されていない状態であれば、まだ論理ハイである。すべてのJTAG入力ピンはJTAG制御器の好ましい動作のために、すべての動作条件で論理ハイまたは論理ローレベルに連結されなければならない。
*クロックスキュー(skew):約270ビット長さのクロックドライバは、境界スキャンレジスタがビット0クロック入力からビット270クロック入力間の曲がりが最小化されるように設計、レイアウトされなければならない。JTAG制御器は、最大40MHzのクロック周波数で動作するように設計されている。
*クロック状態:以下で内部スキャン動作の間に観察されるクロック状態を列挙する。
【0113】
1.スキャンラッチの正常クロックポートに伝達されるクロックはディスエーブルされなければならない。
2.スキャンフリップフロップの正常クロックポートに伝達されるクロックはディスエーブルされなければならない。
【0114】
1.10.2 MSPの内部スキャンチェーン
JTAG制御器用の内部スキャンチェーンは、影響力のあるチップデバギングを目的として、機能ブロック単位で組織される。すべての内部スキャンチェーンは表2のとおりである。現在のスキャンチェーン部分は、製造工程時に、最終テスト時間に影響を及ぼさない。それは、スキャンチェーンがチェーン当たりのスキャン数に基づいて、製造テストの目的で再組織するからである。しかし、MSPチップがデバグされる方法には影響を及ぼす。
【0115】
【表2】
【0116】
1.10.3 JTAG命令
JTAG命令は表4から表10まで説明されている。それは、分類されたJTAG動作部分で説明したJTAG動作種類によって分類される。「テスト名」は各命令の名称とその応用を含む。命令コードは、特定データレジスタにアクセスされる前、JTAG制御器の命令レジスタにシフトされなければならない。選択されたレジスタは各命令でアクセスされ得るデータレジスタを表す。
【0117】
表4は、MSPの境界スキャンチェーンのための命令を示している。その中の8個は、MSP境界スキャンチェーン用である。それは、MSP境界スキャンチェーンまたはその応用に依存するバイパスレジスタの中から選択する。境界スキャンチェーンが選択されると、ベクトルはスキャンチェーンにロードされ得る。
【0118】
その反面、MSP境界スキャンチェーンはアクセスされ得ない。
表4の3個の命令は、ARM7境界スキャンチェーン用である。それはARM7境界スキャンチェーンを選択する。
【0119】
【表3】
【0120】
表3は、境界スキャンセルとシステムクロックバイパス信号のための制御信号を示している。MSPおよびARM7の2境界スキャンチェーンを制御するための4種類のモード信号があるが、下記に詳細に記述されている。他の制御信号の説明は次の節のJTAG I/O信号表を参照せよ。
【0121】
MSP bs disable、ARM bs disableおよびsys clk bypass。
*MSP Mode I:MSP境界スキャン入力セルモード信号
*MSP Mode 0:MSP境界スキャン出力セルモード信号
*MSP Mode C:MSP境界スキャン制御セルモード信号
*ARM7 Mode I:ARM7境界スキャン入力セルモード信号
*ARM7 Mode 0:ARM7境界スキャン出力セルモード信号
すべての信号がローの場合、境界スキャンセルは、正常入力ポートから入力されるために透明になる。入力がハイの場合、境界スキャンセルの出力は、境界スキャンセルの最近ラッチに依存する(境界スキャンセルの詳細な事項に関しては、KGL75データブックを参照せよ。)。
【0122】
表5は、JTAG制御器によりアクセスされ得るすべての機能ブロックのための内部スキャンチェーンを示している。表6では、多数のスキャンモード用のただ1つの命令がある。
表7は、メモリアクセス命令を示している。IDCブロック内の3メモリはJTAG制御器により制御可能である。データRAMとレジスタファイルはその自分の命令を有する。Vd RAMとTag RAMとは同時にアクセスされる。
【0123】
未来に使用可能なまた1つの命令がある。ROMまたは他の埋入されたRAMである場合もある。MCRはJTAG制御器に位置したメモリ制御レジスタである。
【0124】
表8は、システムが強くなった場合のデフォルト命令を示している。表9は、事実上でなく、JTAGピンTCKか発生される生成疑似システムクロックのための命令を示している。したがって、使用者はJTAGインターフェースでクロックサイクル数を制御することができる。表10は未来応用のために利用可能な命令を示している。
【0125】
【表4】
【0126】
【表5】
【0127】
【表6】
【0128】
【表7】
【0129】
【表8】
【0130】
【表9】
【0131】
【表10】
【0132】
【表11】
【0133】
1.10.4 特殊制御レジスタ
2個の特殊レジスタは、JTAG制御器により制御される。この2個のレジスタは、内部の論理を制御するか、またはMSPシステムの状態を観察するために利用され、2個のレジスタ名は、MCR(モード制御レジスタ)に与えられる。
【0134】
各レジスタに対する制御信号は、下記の表12〜16に記すとおりである。
【0135】
【表12】
【0136】
【表13】
【0137】
【表14】
【0138】
【表15】
【0139】
【表16】
【0140】
1.10.5 JTAG命令を利用したテストシナリオ
1.10.5.1 デバギング段階
MSPのデバギング段階は、すでに定義され反復される2個の段階を含む。後に続く簡単な段階は下記で説明する。これが段階の途中でJTAG命令の使用方法である。
【0141】
*段階0:クロック停止要求発行:MSPがその動作を遂行する途中で、或る理由でクロックを停止させようとする場合、まずクロック停止表示が生成される必要がある。これはJTAG制御論理を通して発生される。それから、その表示は、必要なすべての機能ブロックに知られる。JTAG命令MCR/BIST1またはMCR/BIST2は、その信号を発生することに使用され得る。
【0142】
*段階1:内部状態観察:次の段階は、正常モードからJTAG制御モードに転換する時期を把握することである。このモードでは、内部状態がOCR(Observation Control Register)を通して観察され得る。クロック停止はJTAGがすべての機能ブロックからすべての信号を観察するときまで実行されない。MSPがその動作を遂行する間、その状態はTDOピンを通して観察され得る。使用される命令はモニタに表れる。
【0143】
*段階2:クロック停止:クロックを中止させる必要がある状態が観察されると、システムがアイドル状態の場合、使用者は全種類のクロックを停止し得る。
【0144】
クロック停止は適当なスキャンレジスタをスキャンしなければならない。使用者はMCR値をどのように設定したかによって選択的にクロックを停止させ得る。
【0145】
正常クロックを駆動するためのブロックセルをスキャンしてはいけない。クロック停止信号はMSPがシステムクロックに伝達されているときに発生する。4命令MCR/ BIST1 、MCR/ BIST2 、MCR/ BIST3 、MCR/ BIST4 の命令の中のいずれも、クロック停止信号を発生させることに使用され得る。MCR/BIST1とMCR/BIST2とは境界スキャンセルが透明モードにある場合信号を発生させ得る。残りの2個はすべての入力信号が遮断されるとき、クロック中止信号を発生させる。
【0146】
*段階3:内部状態スキャン:これからすべてのクロックはバイパスされ、不自由に作動するクロックが存在しなくなった。使用者は適当なブロックをスキャニングし得る。ARM7ブロックの境界スキャンのために、命令9−10を使用することができる。命令12から命令28までは、機能ブロックをスキャンするために使用することができる。命令35と36は、テストクロック入力ピンTCKから発生される速いクロックを生成することに利用され得る。前記のクロックが再開始される前、使用者はMSPで必要な事項を設定する。たとえば、ARMクロックのような1/2クロックを発生させる状態機構に留意する必要がある。
【0147】
*段階4:クロックの再開:これからシステムクロックはMCR値が決定されることにより再開され得る。段階2のような命令がこの段階でも使用され得る。
【0148】
クロックがさらに開始される前、クロック停止表示は論理「0」にリセットされる。
【0149】
1.10.5.2 製造テスト動作
製造テストモードは多数スキャン命令に入ることができる。一応、このモードがデコードされると、MSPは下記のように配列される。
【0150】
*10個の両方向ピンが入力ポートに配列される。
*10個の両方向ピンが出力ポートに配列される。
*1個の両方向ピンがclk1の入力ポートに配列される。
*1個の両方向ピンがclk2の入力ポートに配列される。
*1個の両方向ピンがscan_modeの入力ポートに配列される。
*他の両方向ピンが正常モードでのように制御される。
*I/OクロックのようなARM7クロックは、clk2に応用される。
*PCIクロックがclk1、clk2を使用する。
*スキャンクロックは2個の入力ピン(tca、tcb)により発生される。
*すべてのコーデッククロックは、コーデッククロックポートから供給される。
【0151】
1.10.5.3 ARM7実行
ARM7は、ARM7内部テスト命令を使用して実行される。ARM7境界スキャンセルは透明でない。ARM7の入出力は境界スキャンチェーンを通して印加され観察される。
クロックは、クロックの応用を向上させるために、TCKから発生される。3個の入力(prog32 、data32 bigend)は、mclkがハイの場合、この信号を変更しなければならない。そうするために、最近信号が他の境界スキャンセルの最近信号から分離される。
mclkは、I/Oクロックと共有されることに注視しなければならない。ARM7クロックがトリガ状態であれば、他のブロックの状態は変更中である。
【0152】
1.10.5.4 キャッシュとレジスタファイルアクセス
MCR/BIST4命令を呼び出してデータレジスタでMCRを選択し、入出力信号を遮断せよ。bistクロックは動作速度を向上させるためにこのモードで生成される。MCRを制御することにより、読み出しおよび書き込みが遂行され得る。キャッシュとレジスタファイルに入るクロックは、テストクロックとmuxされる。メモリ動作は他の論理ブロックの状態を変更しない。
【0153】
1.10.5.5 ベクトル専用実行
ベクトルのみを実行するためには、ARM7ブロックの出力をVPブロックの入力として見なす。そのためのARM7境界スキャンアクセス命令を使用せよ。
【0154】
1.10.5.6 内部テスト、外部テスト
内部テスト命令、外部テスト命令を使用せよ。
【0155】
1.10.6 JTAGインターフェース信号
【0156】
【表17】
【0157】
【表18】
【0158】
【表19】
【0159】
【表20】
【0160】
【表21】
【0161】
【表22】
【0162】
【表23】
【0163】
すべてのJTAGインターフェース信号が表11に列挙されている。
【0164】
1.11 ハードウェアテスト環境
ハードウェアテスト環境は図10に図示されている。AVL(ASCII Vector Language)は、境界スキャンテストのために特別に考案された言語であり、境界スキャンテストツールである。この言語は、IEEE標準1149.1により定義された連続境界スキャンが可能な、伝統的な平行ベクトル偏向自動テスト装置を含む。
proTEST−PCはコンポーネント、ボードおよびシステムをテストするためのIEEE標準1149.1信号を生成、受信することができる、PCに基づいたテスト制御器ボードである。AVLとproTEST−PCは、AIS(Alpine Image System、Inc.)の製品である。
【0165】
テスト過程の間、MSPのすべてのテストベクトルは、ALU言語により連続的にフォーマットされ、proTEST−PCボードを通してMSPに印加される。テストベクトルは、MSP I/Oまたはスキャンチェーンに印加されるベクトルである。すべての機能ブロックのためのテストベクトルの応用を容易にするためにAVLマクロは、スキャンチェーンの特別な位置をアクセスするために開発される必要がある。通信はJTAG5ピンのみを通して遂行される。より詳細な情報は、下記の資料を参照せよ。
【0166】
*AVL使用者ガイド、V1.80、Alpine Image System,Inc.1995
*proTEST−PC用使用者ガイド、V3.01、Alpine Image System,Inc.1995
1.12 内蔵型RAMテスト技術
1.12.1 IDC
図11には、IDCブロック用のテスト機構が図示されている。テスト論理はCCUおよびIDCに含まれている。すべてのドットラインは、正常モードの信号を表す。CCUブロックはテスト上の住所とノーマルモードの住所を加えた論理を供給する。住所はセット、リセット、増加/減少およびカウントイネーブル機能を有する9ビットカウンタから生成される。すべてのカウンタ動作はシステムクロック、clk1と同期されるべきである。4個のカウンタ制御信号(mem add ud、mem add cnt 、mem add reset 、mem add set)はJTAG制御器により供給される。MSP側の最初の2ビットはキャッシュ選択のために連結される必要がある。
【0167】
32ビットben idc信号はメモリテストの間論理1にセットされる。テスト信号と正常信号の中から2個の信号を選択することができる。Vt ram test enは、Vd ramとtag ramとをテストするためのもので、data ram test enはdata ramテストのためのものである。もし信号が論理ハイ状態であれば、テストデータが選択される。
IDCブロックは、MARCH Cアルゴリズムが応用される間、自動比較のための埋入された比較器を備える。またJTAG制御器により供給される6個のメモリ制御信号がある。Mem compareは、入出力レジスタ間の比較をイネーブルする。エラーが発生されると、比較器の出力は論理0を発生する。そうでなければ論理1である。すべての入出力レジスタは、スキャンチェーンの中で、入出力アクセスを製造が可能である。
【0168】
Mem hwd信号は、論理1の場合、書き込みレジスタにデータの維持をイネーブルする。他のメモリ制御信号、mem we、mem data cs、mem vt cs、mem vclearに対しては、MSPスペックを参照せよ。名称は、それが「mem」から始まることを除いては正常モード信号と同一である。
【0169】
1.12.2 レジスタファイル
レジスタファイルのためにテスト機構は、テストモードでレジスタファイルを容易にアクセスすることにその目的がある。IDCのような埋入された比較器論理がないので、MARCHタイプのアルゴリズムをこのメモリに応用させることは実用的でない。
【0170】
図12(レジスタファイルテスト機構)は、テスト環境のための全体の機構を図示している。ドットラインは正常信号を表す。そこには、data path 、reg file、EXE ブロックの3部分がある。太い線の右側のすべての論理は、reg fileブロックを除いたEXEブロックに属する。EXEブロックは住所を選択し、テストと正常モードとの間で信号を制御するために、論理を供給する。テストモード選択信号、reg file testと、3個のメモリ制御信号mem we1、mem we2、mem cexは、JTAG制御論理により供給される。もしreg file test enがハイ状態であれば、テストデータが選択される。
【0171】
住所はセット、リセット、増加/減少、カウントイネーブルの6ビットカウンタにより発生される。すべてのカウント動作はシステムクロックclk1と同期される。入出力レジスタは、図12のとおり、データ経路ブロックに位置する。
【0172】
すべてのI/Oレジスタはスキャンされる必要がある。32ビットベン(ben)信号はテストモードで論理1状態を維持している。
自由に動作するクロックは、レジスタファイルに供給される。捕捉したスキャンレジスタは、レジスタファイルの出力にしたがう。
【0173】
1.13 MSP境界スキャン
MSPのすべてのI/Oパッドは適当な境界スキャンセルを有する。270個の境界スキャンセルが1スキャンチェーンに連結される。シーケンスとセルは表13に列挙されている。
【0174】
1.13.1 境界スキャンセルの選択
KGL75で現在に利用可能なJTAGセルは、下記のとおりである。それに符合するJTAG標準セルは、表24のとおりである。MSPの境界スキャンチェーンはLSSDタイプのスキャンセルを使用する。KGL75との差異点は、境界スキャンチェーンにシフトするために二つの重畳しないクロックを使用することである。KGL75境界スキャンセルはARM7の境界スキャンに使用される。
【0175】
*JTBI1:両方向I/O境界スキャンセル。
*JTCK:クロック入力のような特別な入力境界スキャンセル。
*JTIN1:入力境界スキャンセル。
*JTINT1:3状態制御境界スキャンセル。
*JTOUT1:出力境界スキャンセル。
適当な境界スキャンセルを選択する規則は、下記のとおりである。
【0176】
【表24】
【0177】
*GND、VDD、VCCピンを除外したクロック入力を含むすべての入力セルには、JTIN1を使用。
*すべての両方向セルにはJTBI1を使用。
*すべての出力セルにはJTOUT1を使用。
*3状態ピンにはJTINT1を追加。AD[31:0]のような信号グループのための1つの3状態制御セルのみを使用。
*o/d(open drain)を備えたピンは、JTINT1セルを使用。
*s/t/s(strained tri-state)を備えたピンは、境界スキャンセル選択の観点でt/sと同様である。
【0178】
1.13.2 境界スキャンセルシーケンス
*境界スキャンは、TDI入力の反時計方向に連結される。詳細な事項はレイアウトを参照せよ。
*両方向ピンから入力セルは第1番目に来る。
*3状態ピンが存在すれば、3状態制御境界スキャンセルとJTINT1が前記のセルより先に伝達される。
*シーケンスで多数の3状態ピンが存在すれば、ただ1つの3状態制御セルのみが前記シーケンスで第1番目の3状態ピンの前に挿入される。
【0179】
1.13.3 詳細な設計情報
すべてのADxx信号は同一な3状態イネーブル信号を有する。それで、ただ1つの制御境界スキャンセルのみが32ビットAD信号を制御することに十分である。しかし、多数のスキャンモードで信号を適切に制御するために、4個以上の制御境界スキャンセルが挿入されている。その結果、総5個の制御境界スキャンセルがADバス用に利用される。5個の制御境界スキャンセルはMSPコアから1つの正常制御信号を取り、5個の制御信号を生成する。
【0180】
【表25】
【0181】
【表26】
【0182】
【表27】
【0183】
【表28】
【0184】
【表29】
【0185】
【表30】
【0186】
【表31】
【0187】
【表32】
【0188】
【表33】
【0189】
【表34】
【0190】
1.14 ARM7境界スキャン
境界スキャンセル選択における方法のとおり境界スキャンセル選択を取り扱っている。例示のものより情報が多い場合は、前記のような選択を参照せよ。名称とスキャン順序は表14に記述されている。
【0191】
【表35】
【0192】
【表36】
【0193】
【表37】
【0194】
【表38】
【0195】
【表39】
【図面の簡単な説明】
【図1】本発明によるテスト回路を有する集積回路のブロック図。
【図2】図1の集積回路に使用されるテストクロック発生器のブロック図。
【図3】図1の集積回路に使用されるクロック/データマルチプレクサを示すブロック図。
【図4】図1の集積回路に使用されるシステムクロック発生器の一部分の構成を示すブロック図。
【図5】図4に示すシステムクロック発生器の一部の構成を示すブロック図。
【図6】図5における制御回路の構成を示すブロック図。
【図7】図5における回路520の構成を示すブロック図。
【図8】図1の集積回路のJTAGの命令を通して入力され得るモードを示す説明図。
【図9】図1におけるテスト回路の構成を示すブロック図。
【図10】図1におけるテスト回路に対するハードウェアテスト環境のブロック図。
【図11】図1におけるテスト回路に適用するIDCブロック用のテスト機構を示す説明図。
【図12】図1におけるテスタ回路に適用するレジスタファイルテスト機構を示す説明図。
【符号の説明】
110 IC
120 テスト制御回路
126 チェーン
130 132:MSPピン
144 JTAG制御器
148 JTAG命令レジスタ
152 JTAG命令デコーダ
156 JTAGブロック
160 テストクロック発生器
164 クロック/データマルチプレクサ
168,310,314,318,322,326,410,410,410.1,410.2 マルチプレクサ
174 システムクロック発生器
204,208,246,250,274,288,292,348,352,654,660,670,714,734,744,754,760,764 インバータ
214,264,650,664,718,748 NANDゲート
240,284,640 NORゲート
356,368,644 ANDゲート
420 クロックカウンタ
430 クロック発生器
510 制御回路
610,620,630 ポジティブエッジトリガデータフリップフロップ
710,730,740 伝達ゲート
Claims (8)
- 集積回路であって、
1つ又はそれ以上の機能ブロックと、
前記集積回路のテストのために、一つ又はそれ以上のテスト信号を受信する第1の入力端子と、
前記一つ又はそれ以上のテスト信号は、テスト期間中、前記集積回路に入出力されるテストデータをスキャンし、且つ前記一つ又はそれ以上の機能ブロックをクロックするテストクロックを有し、
正常動作及びテスト中において、前記一つ又はそれ以上の機能ブロックをクロックする一つ又はそれ以上のノーマルクロックを受信する第2の入力端子と、
前記一つ又はそれ以上の機能ブロックをクロックするために、前記テストクロック又は前記一つ又はそれ以上のノーマルクロックのいずれかを選択するクロック選択回路とを含み、
前記クロック選択回路は、テストのために前記一つ又はそれ以上のノーマルクロックを選択したとき、前記一つ又はそれ以上のノーマルクロックのサイクルの所定数に対応して前記一つ又はそれ以上の機能ブロックをクロックするためのカウンタを有し、
正常動作においては、前記一つ又はそれ以上のノーマルクロックが前記一つ又はそれ以上の機能ブロックをクロックするために使用され、
第1のテスト動作においては、前記テストクロックが前記集積回路に入出力されるテストデータをスキャンするためのスキャンクロックとして使用され、
第2のテスト動作においては、前記テストクロックが前記一つ又はそれ以上の機能ブロックをクロックするため一つ又はそれ以上のクロックを提供するために使用され、
第3のテスト動作においては、前記一つ又はそれ以上のノーマルクロックが前記一つ又はそれ以上のノーマルクロックのサイクルの所定数に対応して前記一つ又はそれ以上の機能ブロックをクロックするために使用される、
ことを特徴とする集積回路。 - 請求項1に記載の集積回路において、
前記一つ又はそれ以上のテスト信号はJTAG境界スキャン信号であり、前記集積回路はJTAGテストデータレジスタを含み、前記所定のサイクル数は前記JTAGテストデータレジスタへ転送されて前記集積回路へ提供されることを特徴とする集積回路。 - 請求項1に記載の集積回路において、
前記一つ又はそれ以上の機能ブロックはメモリを含み、前記第2のテスト動作において、前記テストクロックが前記メモリをクロックするために使用されることを特徴とする集積回路。 - 請求項1に記載の集積回路は、さらに第4のテスト動作においてテストクロック信号C1を受信するための一つ又はそれ以上のピンを含み、
前記テストクロック信号C1は、正常動作において、前記一つ又はそれ以上のノーマルクロックから少なくとも一つのクロックを、内部で発生させるために使用されることを特徴とする集積回路。 - 集積回路のテスト方法であって、
第1のテスト動作において、前記集積回路は一つ又はそれ以上のテスト信号を受信するため入力端子を介してテストクロックを受信し、前記テストクロックを、前記集積回路に入出力されるテストデータをスキャンするために使用し、
第2のテスト動作において、前記集積回路は前記集積回路の一つ又はそれ以上の機能ブロックのクロックに対して一つ又はそれ以上のクロックを提供するために前記テストクロックを使用し、
第3のテスト動作において、前記集積回路は前記集積回路の正常動作において前記一つ又はそれ以上の機能ブロックをクロックする一つ又はそれ以上のノーマルクロックで前記一つ又はそれ以上の機能ブロックをクロックし、前記一つ又はそれ以上のノーマルクロックのサイクルの所定数に対応して前記第3のテスト動作を継続するためにカウンタを使用する、
ことを特徴とする集積回路のテスト方法。 - 請求項5に記載の集積回路のテスト方法において、
前記一つ又はそれ以上のテスト信号がJTAG境界スキャン入力信号であり、前記方法がさらに前記第3のテスト動作のために前記集積回路のJTAGテストデータレジスタへ前記所定のサイクル数を転送することを特徴とする集積回路のテスト方法。 - 請求項5に記載の集積回路のテスト方法はさらに、一つ又はそれ以上の機能ブロックをクロックするためのクロックの選択を含み、前記選択は前記一つ又はそれ以上のテスト信号により制御されることを特徴とする集積回路のテスト方法。
- 請求項5に記載の集積回路のテスト方法はさらに、
第4のテスト動作において前記集積回路が一つ又はそれ以上のピンを介してテストクロック信号C1を受信し、
正常動作において前記集積回路により前記一つ又はそれ以上のノーマルクロックから少なくとも一つのクロックを発生させるために前記テストクロック信号C1を使用し、
正常動作において前記一つ又はそれ以上のピンがテストクロック信号以外の信号に対して使用される、
ことを特徴とする集積回路のテスト方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/733,908 US5805608A (en) | 1996-10-18 | 1996-10-18 | Clock generation for testing of integrated circuits |
US08/733,908 | 1996-10-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10123223A JPH10123223A (ja) | 1998-05-15 |
JP3890126B2 true JP3890126B2 (ja) | 2007-03-07 |
Family
ID=24949601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28227197A Expired - Fee Related JP3890126B2 (ja) | 1996-10-18 | 1997-10-15 | 集積回路のテスト用クロック発生方法および回路 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5805608A (ja) |
JP (1) | JP3890126B2 (ja) |
KR (1) | KR100262452B1 (ja) |
TW (1) | TW381269B (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0969289B1 (en) * | 1997-03-21 | 2006-12-13 | Matsushita Electric Industrial Co., Ltd. | Testing the functional blocks in a semiconductor integrated circuit |
US6052811A (en) * | 1997-04-15 | 2000-04-18 | Intel Corporation | Method and apparatus for locating critical speed paths in integrated circuits using JTAG protocol |
JP3917734B2 (ja) * | 1997-11-07 | 2007-05-23 | 富士通株式会社 | 半導体記憶装置 |
US6023778A (en) * | 1997-12-12 | 2000-02-08 | Intel Corporation | Method and apparatus for utilizing mux scan flip-flops to test speed related defects by delaying an active to inactive transition of a scan mode signal |
US6966021B2 (en) * | 1998-06-16 | 2005-11-15 | Janusz Rajski | Method and apparatus for at-speed testing of digital circuits |
US6327684B1 (en) * | 1999-05-11 | 2001-12-04 | Logicvision, Inc. | Method of testing at-speed circuits having asynchronous clocks and controller for use therewith |
US6834356B1 (en) | 2000-02-15 | 2004-12-21 | International Business Machines Corporation | Functional clock generation controlled by JTAG extensions |
US6574762B1 (en) * | 2000-03-31 | 2003-06-03 | Lsi Logic Corporation | Use of a scan chain for configuration of BIST unit operation |
US6629256B1 (en) | 2000-04-04 | 2003-09-30 | Texas Instruments Incorporated | Apparatus for and method of generating a clock from an available clock of arbitrary frequency |
EP1229338B1 (en) * | 2001-01-31 | 2005-11-09 | STMicroelectronics S.r.l. | A test access port (TAP) management method and system |
JP3851782B2 (ja) * | 2001-03-07 | 2006-11-29 | 株式会社東芝 | 半導体集積回路及びそのテスト方法 |
US6954887B2 (en) * | 2001-03-22 | 2005-10-11 | Syntest Technologies, Inc. | Multiple-capture DFT system for scan-based integrated circuits |
US7209852B2 (en) * | 2001-03-30 | 2007-04-24 | Intel Corporation | Circuit for producing a variable frequency clock signal having a high frequency low jitter pulse component |
GB2379524A (en) * | 2001-09-06 | 2003-03-12 | Nec Technologies | Multiplexing pins on an ASIC |
US20030084390A1 (en) * | 2001-10-26 | 2003-05-01 | Mentor Graphics Corporation | At-speed test using on-chip controller |
US7017096B2 (en) * | 2002-03-26 | 2006-03-21 | Agere Systems Inc. | Sequential test pattern generation using clock-control design for testability structures |
US20030188214A1 (en) * | 2002-03-28 | 2003-10-02 | Altmayer Terry R. | Method and system for efficient clock signal generation |
US6917215B2 (en) * | 2002-08-30 | 2005-07-12 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit and memory test method |
US7295028B2 (en) * | 2002-08-30 | 2007-11-13 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit and memory test method |
JP4274806B2 (ja) * | 2003-01-28 | 2009-06-10 | 株式会社リコー | 半導体集積回路およびスキャンテスト法 |
US7080298B2 (en) * | 2003-02-04 | 2006-07-18 | Toshiba America Electronic Components | Circuit apparatus and method for testing integrated circuits using weighted pseudo-random test patterns |
CN100456666C (zh) * | 2003-12-24 | 2009-01-28 | 华为技术有限公司 | 一种时钟信号测试方法及装置 |
JP4371856B2 (ja) * | 2004-03-04 | 2009-11-25 | 株式会社東芝 | 安全保護計装システムおよびその取扱方法 |
DE602004013918D1 (de) * | 2004-04-07 | 2008-07-03 | Sgs Thomson Microelectronics | Hochgeschwindigkeitsprüfung von integrierten Schaltungen |
KR100604904B1 (ko) * | 2004-10-02 | 2006-07-28 | 삼성전자주식회사 | 스캔 입력을 갖는 플립 플롭 회로 |
US20060161818A1 (en) * | 2005-01-14 | 2006-07-20 | Ivo Tousek | On-chip hardware debug support units utilizing multiple asynchronous clocks |
US7444570B2 (en) * | 2005-09-13 | 2008-10-28 | Via Technologies, Inc. | Apparatus and method for controlling frequency of an I/O clock for an integrated circuit during test |
KR100707297B1 (ko) | 2005-12-01 | 2007-04-12 | (주)알파칩스 | 시스템 버스를 이용한 제이티에이지 테스트 장치 |
US7506228B2 (en) * | 2006-02-14 | 2009-03-17 | Atmel Corporation | Measuring the internal clock speed of an integrated circuit |
US8918689B2 (en) * | 2010-07-19 | 2014-12-23 | Stmicroelectronics International N.V. | Circuit for testing integrated circuits |
US8578226B2 (en) * | 2010-08-17 | 2013-11-05 | Eigenix | Apparatus and system for implementing variable speed scan testing |
US8904256B1 (en) | 2012-11-09 | 2014-12-02 | Cadence Design Systems, Inc. | Method and apparatus for low-pin count testing of integrated circuits |
US8650524B1 (en) * | 2012-11-09 | 2014-02-11 | Cadence Design Systems, Inc. | Method and apparatus for low-pin count testing of integrated circuits |
US9286181B2 (en) | 2013-07-31 | 2016-03-15 | Globalfoundries Inc. | Apparatus for capturing results of memory testing |
KR102066661B1 (ko) * | 2013-09-02 | 2020-01-15 | 삼성전자 주식회사 | 스캔-체인으로 연결된 플립-플롭들의 값들을 jtag 인터페이스를 이용하여 재구성할 수 있는 집적 회로, 이의 동작 방법, 및 상기 집적 회로를 포함하는 장치들 |
US10317463B2 (en) * | 2015-10-27 | 2019-06-11 | Nvidia Corporation | Scan system interface (SSI) module |
US10481203B2 (en) | 2015-04-04 | 2019-11-19 | Nvidia Corporation | Granular dynamic test systems and methods |
CN108614205B (zh) * | 2016-12-12 | 2020-09-11 | 英业达科技有限公司 | 具自我检测功能的测试电路板及其自我检测方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4860290A (en) * | 1987-06-02 | 1989-08-22 | Texas Instruments Incorporated | Logic circuit having individually testable logic modules |
US5535331A (en) * | 1987-09-04 | 1996-07-09 | Texas Instruments Incorporated | Processor condition sensing circuits, systems and methods |
JP3372052B2 (ja) * | 1991-06-06 | 2003-01-27 | テキサス インスツルメンツ インコーポレイテツド | 境界走査集積回路 |
US5313470A (en) * | 1991-09-17 | 1994-05-17 | Ncr Corporation | Boundary-scan input cell for a clock pin |
US5448166A (en) * | 1992-01-03 | 1995-09-05 | Hewlett-Packard Company | Powered testing of mixed conventional/boundary-scan logic |
GB2266606B (en) * | 1992-04-27 | 1996-02-14 | Intel Corp | A microprocessor with an external command mode |
US5524114A (en) * | 1993-10-22 | 1996-06-04 | Lsi Logic Corporation | Method and apparatus for testing semiconductor devices at speed |
US5497378A (en) * | 1993-11-02 | 1996-03-05 | International Business Machines Corporation | System and method for testing a circuit network having elements testable by different boundary scan standards |
TW253942B (ja) * | 1994-01-31 | 1995-08-11 | At & T Corp | |
US5488688A (en) * | 1994-03-30 | 1996-01-30 | Motorola, Inc. | Data processor with real-time diagnostic capability |
US5519715A (en) * | 1995-01-27 | 1996-05-21 | Sun Microsystems, Inc. | Full-speed microprocessor testing employing boundary scan |
US5614838A (en) * | 1995-11-03 | 1997-03-25 | International Business Machines Corporation | Reduced power apparatus and method for testing high speed components |
-
1996
- 1996-10-18 US US08/733,908 patent/US5805608A/en not_active Expired - Lifetime
-
1997
- 1997-06-02 KR KR1019970022729A patent/KR100262452B1/ko not_active IP Right Cessation
- 1997-09-11 TW TW086113169A patent/TW381269B/zh not_active IP Right Cessation
- 1997-10-15 JP JP28227197A patent/JP3890126B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5805608A (en) | 1998-09-08 |
KR100262452B1 (ko) | 2000-08-01 |
JPH10123223A (ja) | 1998-05-15 |
KR19980032144A (ko) | 1998-07-25 |
TW381269B (en) | 2000-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3890126B2 (ja) | 集積回路のテスト用クロック発生方法および回路 | |
KR100267096B1 (ko) | 디버그 및 제조 테스트 목적을 위한 적응적 스캔 체인 | |
KR100227274B1 (ko) | 스캔 환경에서 jtag 제어기를 이용하여 클럭 제어를 거쳐 구현된 저비용의 에뮬레이션 스킴 | |
KR100241058B1 (ko) | Jtag를 사용한 sdram 다이나믹 셀프 리프레쉬 입구 및 출구용 구조 및 방법 | |
CA2249088C (en) | Method and apparatus for high-speed interconnect testing | |
US7747920B2 (en) | Method and apparatus for unifying self-test with scan-test during prototype debug and production test | |
Bleeker et al. | Boundary-scan test: a practical approach | |
US6446230B1 (en) | Mechanism for enabling compliance with the IEEE standard 1149.1 for boundary-scan designs and tests | |
US7134061B2 (en) | At-speed ATPG testing and apparatus for SoC designs having multiple clock domain using a VLCT test platform | |
US7352169B2 (en) | Testing components of I/O paths of an integrated circuit | |
US9091730B2 (en) | Multiple-capture DFT system for detecting or locating crossing clock-domain faults during scan-test | |
US7269770B1 (en) | AC coupled line testing using boundary scan test methodology | |
CN103698689B (zh) | 集成电路的老炼方法及老炼装置 | |
US20110185243A1 (en) | Controlling two jtag tap controllers with one set of jtag pins | |
KR100907254B1 (ko) | Ieee 1500 래퍼를 갖는 시스템 온 칩 및 그것의 내부지연 테스트 방법 | |
US6779142B1 (en) | Apparatus and method for interfacing a high speed scan-path with slow-speed test equipment | |
Park et al. | A new IEEE 1149.1 boundary scan design for the detection of delay defects | |
Song et al. | A simple wrapped core linking module for SoC test access | |
Cheon et al. | At-speed logic BIST for IP cores | |
van de Logt et al. | An extension to JTAG for at-speed debug on a system | |
CN115828841A (zh) | 一种基于边界扫描链的***级内建自测试的集成设计方法 | |
Song et al. | An efficient link controller for test access to IP core-based embedded system chips | |
Xing et al. | The Study Of Improved RWPA For The Multiple-Core Chip | |
Mukherjee et al. | An IEEE 1149.1 compliant test control architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050506 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051125 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061204 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101208 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111208 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121208 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131208 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |