JP3632692B2 - テスト回路、集積回路及びテスト方法 - Google Patents

テスト回路、集積回路及びテスト方法 Download PDF

Info

Publication number
JP3632692B2
JP3632692B2 JP2003022274A JP2003022274A JP3632692B2 JP 3632692 B2 JP3632692 B2 JP 3632692B2 JP 2003022274 A JP2003022274 A JP 2003022274A JP 2003022274 A JP2003022274 A JP 2003022274A JP 3632692 B2 JP3632692 B2 JP 3632692B2
Authority
JP
Japan
Prior art keywords
test
macroblock
input
data signal
clock frequency
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
Application number
JP2003022274A
Other languages
English (en)
Other versions
JP2004233202A (ja
Inventor
治雄 西田
卓也 石田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003022274A priority Critical patent/JP3632692B2/ja
Priority to US10/766,038 priority patent/US7310754B2/en
Priority to CNA2004100393736A priority patent/CN1519575A/zh
Publication of JP2004233202A publication Critical patent/JP2004233202A/ja
Application granted granted Critical
Publication of JP3632692B2 publication Critical patent/JP3632692B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/31723Hardware for routing the test signal within the device under test to the circuits to be tested, e.g. multiplexer for multiple core testing, accessing internal nodes
    • 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/31712Input or output aspects
    • G01R31/31715Testing of input or output circuits; test of circuitry between the I/C pins and the functional core, e.g. testing of input or output driver, receiver, buffer
    • 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/318583Design for test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、テスト回路、集積回路及びテスト方法に関する。
【0002】
【背景技術】
近年、USB(Universal Serial Bus)1.1規格に対する下位互換性を持ちながら、USB1.1に比べて格段に高速なデータ転送速度を実現できるUSB2.0規格が策定され、注目を浴びている。また、USB2.0の物理層回路や、論理層回路の一部についてのインターフェース仕様を定義したUTMI(USB2.0 Transceiver Macrocell Interface)も策定されている。このようなUTMI準拠のマクロブロック(マクロセル)を用いた集積回路の従来技術としては以下のようなものがある。
【0003】
【特許文献1】
特開2002−343864号公報
【0004】
【発明が解決しようとする課題】
さて、このUSB2.0では、従来のUSB1.1で定義されていたFS(Full Speed)モードに加えて、HS(High Speed)モードと呼ばれる転送モードが用意されている。このHSモードでは480Mbpsでデータ転送が行われるため、12Mbpsでデータ転送が行われるFSモードに比べて高速なデータ転送を実現できる。
【0005】
しかしながらこのような高速なデータ転送が可能なUTMIのマクロブロックでは、故障検出のためのテストが難しいという課題がある。即ちUTMIのマクロブロックとその前段のSIE(Serial Interface Engine)との間では、例えば8ビットバスで60MHzのクロック周波数(第1のクロック周波数)で送受信処理が行われる。従って、UTMIのマクロブロックの故障検出(結線不良、素子不良)を行う場合には、外部のテスタが、集積回路のテスト端子から60MHzのクロック周波数で送信データ信号を書き込んだり、60MHzのクロック周波数で受信データ信号を読み出す必要がある。ところが、テスト端子には大きな寄生容量が寄生しているため、テスト端子のI/Oセルでの信号遅延が大きい。従って、60MHzという高速なクロック周波数でテストしようとすると、テスト結果と期待値との間のミスマッチが大きくなってしまい、安定したテストを実現できなくなるおそれがある。
【0006】
特にUTMIのマクロブロックでは、内蔵するアナログ回路や高速デジタル回路が、クロック周波数を480MHz(60MHz)に設定しないとHSモードで動作しないという特殊事情がある。また480MHz(60MHz)でテストを行わなければ、HSモードでの高速動作を保証できず、信頼性が低下するおそれもある。
【0007】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、高速なデータ通信用の物理層回路を含むマクロブロックのテストに最適なテスト回路、これを含む集積回路、及びこれを用いたテスト方法を提供することにある。
【0008】
【課題を解決するための手段】
本発明は、第1のマクロブロックとの間での送受信処理を第1のクロック周波数で行う第2のマクロブロックのためのテスト回路であって、テスト入力端子からの送信データ信号を、第1のクロック周波数よりも遅い第2のクロック周波数で蓄積するテスト用送信バッファと、第2のマクロブロックからの受信データ信号を、第1のクロック周波数よりも遅い第3のクロック周波数でテスト出力端子に出力するテスト用受信バッファとを含み、前記テスト用送信バッファが、テスト入力端子からの送信データ信号を第2のクロック周波数で蓄積した後に、蓄積した送信データ信号をデータ通信用の物理層回路を含む第2のマクロブロックに対して第1のクロック周波数で出力し、前記テスト用受信バッファが、第2のマクロブロックからの受信データ信号を第1のクロック周波数で蓄積した後に、蓄積した受信データ信号を第3のクロック周波数でテスト出力端子に出力するテスト回路に関係する。
【0009】
本発明によれば、テスト入力端子からの送信データ信号は、遅い第2のクロック周波数(第2の速度)でテスト用送信バッファに蓄積される。そして蓄積後に、テスト用送信バッファの送信データ信号が、速い第1のクロック周波数(第1の速度)で読み出されて、第2のマクロブロックに出力される。また本発明によれば、第2のマクロブロックからの受信データ信号は、速い第1のクロック周波数でテスト用受信バッファに蓄積される。そして蓄積後に、テスト用受信バッファの受信データ信号が、遅い第3のクロック周波数(第3の速度)で読み出されて、テスト出力端子に出力される。なお、第3のクロック周波数は、第2のクロック周波数と同じであってもよいし、異なっていてもよい。
【0010】
このように本発明によれば、テスト入力端子からテスト用送信バッファへの送信データ信号の蓄積(書き込み)や、テスト用受信バッファからテスト出力端子への受信データ信号の出力(読み出し)が、遅い第2、第3のクロック周波数で行われる。従って、テスト入力端子やテスト出力端子において信号遅延が生じても、時間的な余裕を持ってテストを行うことができ、安定したテスト結果を得ることができる。
【0011】
また本発明によれば、テスト用送信バッファから第2のマクロブロックへの出力処理や、第2のマクロブロックからテスト用受信バッファへの蓄積処理は、速い第1のクロック周波数で行われる。従って、第2のマクロブロックが、第1のマクロブロックとの間の送受信処理を、速い第1のクロック周波数で行う場合にも、この第2のマクロブロックに最適なテスト手法を提供できる。
【0012】
また本発明では、送信データ信号を受けた第2のマクロブロックが、第1、第2のマクロブロック間のバスとは異なる第1のバスにおいてループバックモードで送受信処理を行い、ループバックモードで受信した受信データ信号を第1のクロック周波数で第1のマクロブロック側に出力した場合に、前記テスト用受信バッファが、第2のマクロブロックからの受信データ信号を第1のクロック周波数で蓄積し、蓄積した受信データ信号を第3のクロック周波数でテスト出力端子に出力するようにしてもよい。
【0013】
なお第2のマクロブロックの第1のバス(例えばUSB、IEEE1394)での送受信処理は、ループバックモードで行うことが望ましいが、ループバックモードで行わないようにしてもよい。
【0014】
また本発明では、第2のマクロブロックとの間で所定の通信手順で送受信処理を行うための通信シーケンサを含み、前記通信シーケンサが、テスト用送信バッファに蓄積された送信データ信号を第1のクロック周波数で第2のマクロブロックに送信する処理を行い、第2のマクロブロックからの受信データ信号を第1のクロック周波数でテスト用受信バッファに受信する処理を行うようにしてもよい。
【0015】
このようにすれば、第2のマクロブロックとの間の送受信処理が通信シーケンサにより自動的に行われるようになるため、テスト効率を向上できる。なお、通信シーケンサが、送信処理機能と受信処理機能のいずれか一方のみを持つようにしてもよい。
【0016】
また本発明では、その第1の入力に、第1のマクロブロックからの出力信号が入力され、その第2の入力に、テスト用送信バッファからの送信データ信号が入力される第1のセレクタと、その第1の入力に、第1のセレクタからの出力信号が入力され、その第2の入力に、第2のマクロブロックからの受信データ信号が入力される第2のセレクタとを含み、第2のマクロブロックをテストする第2のテストモード時には、前記第1のセレクタが、その第2の入力に入力された送信データ信号を第2のマクロブロックに出力し、前記第2のセレクタが、その第2の入力に入力された第2のマクロブロックからの受信データ信号をテスト用受信バッファに出力するようにしてもよい。
【0017】
また本発明では、第1のマクロブロックをテストする第1のテストモード時には、前記第1のセレクタが、その第1の入力に入力された第1のマクロブロックからの出力信号を第2のセレクタの第1の入力に出力し、前記第2のセレクタが、その第1の入力に入力された第1のセレクタからの出力信号を第1のマクロブロックに出力するようにしてもよい。
【0018】
このようにすれば、例えば、第1のテストモードを用いることで、第1のマクロブロックとテスト回路との接続部分の故障検出が可能になる。また、第2のテストモードを用いることで、テスト回路と第2のマクロブロックとの接続部分の故障検出が可能になる。これにより、第1、第2のマクロブロック間の接続部分の故障検出が可能になる。
【0019】
なお通常動作モード(第1、第2のテストモードではないモード)においては、第1のセレクタが、その第1の入力に入力された第1のマクロブロックからの出力信号を第2のマクロブロックに出力し、第2のセレクタが、その第2の入力に入力された第2のマクロブロックからの出力信号を第1のマクロブロックに出力してもよい。また第1、第2のセレクタが備える入力は、第1、第2の入力に限定されず、3以上の入力を備えていてもよい。
【0020】
また本発明では、テスト回路に対して第1のマクロブロックと共にスキャンパスが設定され、前記第1のテストモードが、前記スキャンパスを用いてスキャン手法でテストを行うスキャンモードであってもよい。
【0021】
ここでスキャンパスが設定されるとは、例えば、スキャンイン端子(1又は複数本)からスキャン用フリップフロップ(スキャン回路)を介してスキャンアウト端子(1又は複数本)に至るパスが設定されることをいう。
【0022】
また本発明は、第1のマクロブロックからテスト回路への出力信号の本数がI本であり、テスト回路から第1のマクロブロックへの入力信号の本数がJ本(I>J)である場合に、第1のセレクタからのI本の出力信号のうちの(I−J)本の出力信号を保持する(I−J)個のダミーのスキャン用フリップフロップを含み、前記スキャンモード時において、前記ダミーのスキャン用フリップフロップが、保持された出力信号をスキャンパスを介して出力するようにしてもよい。
【0023】
このようにすれば、第1のマクロブロックからのI本の出力信号(第1〜第Iの出力信号)のうち、(I−J)本の出力信号(第J〜第Iの出力信号)の結線不良等も効率良く調べることが可能になる。
【0024】
また本発明は上記のいずれかのテスト回路と、前記第1のマクロブロックと、
前記第2のマクロブロックとを含む集積回路に関係する。
【0025】
また本発明は、第1のマクロブロックとの間での送受信処理を第1のクロック周波数で行う第2のマクロブロックを、テスト用送信バッファとテスト用受信バッファを含むテスト回路を用いてテストするテスト方法であって、テスト入力端子からの送信データ信号を、第1のクロック周波数よりも遅い第2のクロック周波数でテスト用送信バッファに蓄積し、送信データ信号を蓄積した後に、蓄積した送信データ信号を、データ通信用の物理層回路を含む第2のマクロブロックに対して第1のクロック周波数で出力し、第2のマクロブロックからの受信データ信号を、第1のクロック周波数でテスト用受信バッファに蓄積し、受信データ信号を蓄積した後に、蓄積した受信データ信号を、第1のクロック周波数よりも遅い第3のクロック周波数でテスト出力端子に出力するテスト方法に関係する。
【0026】
また本発明では、送信データ信号を受けた第2のマクロブロックが、ループバックモードで送受信処理を行い、ループバックモードで受信した受信データ信号を第1のクロック周波数で出力した場合に、出力された受信データ信号を第1のクロック周波数でテスト用受信バッファに蓄積し、蓄積した受信データ信号を第3のクロック周波数でテスト出力端子に出力するようにしてもよい。
【0027】
また本発明では、前記テスト回路が、第2のマクロブロックとの間で所定の通信手順で送受信処理を行うための通信シーケンサを含み、前記通信シーケンサを用いて、テスト用送信バッファに蓄積された送信データ信号を第1のクロック周波数で第2のマクロブロックに送信し、前記通信シーケンサを用いて、第2のマクロブロックからの受信データ信号を第1のクロック周波数でテスト用受信バッファに受信するようにしてもよい。
【0028】
また本発明では、前記テスト回路が、その第1の入力に、第1のマクロブロックからの出力信号が入力され、その第2の入力に、テスト用送信バッファからの送信データ信号が入力される第1のセレクタと、その第1の入力に、第1のセレクタからの出力信号が入力され、その第2の入力に、第2のマクロブロックからの受信データ信号が入力される第2のセレクタとを含み、第2のマクロブロックをテストする第2のテストモード時には、前記第1のセレクタの第2の入力に入力された送信データ信号を、第2のマクロブロックに出力し、前記第2のセレクタの第2の入力に入力された第2のマクロブロックからの受信データ信号を、テスト用受信バッファに出力するようにしてもよい。
【0029】
また本発明では、第1のマクロブロックをテストする第1のテストモード時には、前記第1のセレクタの第1の入力に入力された第1のマクロブロックからの出力信号を、第2のセレクタの第1の入力に出力し、前記第2のセレクタの第1の入力に入力された第1のセレクタからの出力信号を、第1のマクロブロックに出力するようにしてもよい。
【0030】
また本発明では、テスト回路に対して第1のマクロブロックと共にスキャンパスを設定し、前記第1のテストモード時において、スキャンパスを用いてスキャン手法でテストを行うようにしてもよい。
【0031】
また本発明では、第1のマクロブロックからテスト回路への出力信号の本数がI本であり、テスト回路から第1のマクロブロックへの入力信号の本数がJ本(I>J)である場合に、第1のセレクタからのI本の出力信号のうちの(I−J)本の出力信号をダミーのスキャン用フリップフロップに保持し、前記スキャンモード時において、保持された出力信号をスキャンパスを介して出力するようにしてもよい。
【0032】
【発明の実施の形態】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0033】
1.マクロブロックの送受信テスト
図1(A)に、複数のマクロブロックMB1、MB2(マクロセル、回路ブロック)を接続することで構成される集積回路の例を示す。ここでMB2はデータ通信用の物理層回路PHYを含むマクロブロックであり、例えばUTMI(USB2.0 Transceiver Macrocell Interface)に準拠したマクロブロックである。またMB1は、MB2を制御する回路であるSIE(Serial Interface Engine)などを含むマクロブロックである。
【0034】
図1(A)に示すような集積回路の故障検出を行う場合に、例えば図1(B)に示すようにマクロブロックMB1内部の故障検出については、MB1にスキャンパスを設定して行う公知のスキャン手法により実現できる。
【0035】
一方、マクロブロックMB2内部の故障検出についても、例えばテスト入力端子TPIからテスト入力信号TINを入力し、その結果であるテスト出力信号TOUTをテスト出力端子TPOから出力することで実現できる。より具体的には、マクロブロックMB2のUSB(広義には第1のバス)上での送受信処理をループバックモードに設定し、USB上で送信した送信データ信号をMB2自身が受信データ信号として受信できるようにする。そして外部のテスタがテスト入力端子TPIから送信データ信号TINを入力すると、マクロブロックMB2が入力された送信データ信号をUSB上で送信する。そしてループバックモードに設定されたMB1が、その送信データ信号を受信データ信号としてUSB上で受信すると、その受信データ信号がマクロブロックMB1側に出力され、テスト出力端子TPOを介して外部のテスタにより読み出される。そしてテスタは、読み出された受信データ信号が期待値と一致するか否かを判定する。
【0036】
さて、マクロブロックMB2は、USB上で例えば480MHzのクロック周波数でデータの送受信処理を行う。このため、マクロブロックMB2と、SIEを含むマクロブロックMB1との間の送受信処理は例えば60MHzのクロック周波数(第1のクロック周波数CF1)で行われることになる。従って、テスト入力端子TPIから送信データ信号TINを入力する場合には、60MHzのクロック周波数(CF1)で入力する必要がある。またテスト出力端子TPOから受信データ信号TOUTを出力する場合にも、60MHzのクロック周波数で出力する必要がある。
【0037】
ところが、テスト端子TPI、TPOには一般的に大きな寄生容量が寄生している。従って、テスト端子のI/Oセルでの信号遅延値が大きく、集積回路の製造プロセスの変動や温度変動によって信号遅延値が大きくばらつく。従って、60MHzという高速なクロック周波数で、端子TPIを介して信号TINを入力したり、端子TPOを介して信号TOUTを読み出すと、信号遅延が原因となってテスト結果と期待値との間にミスマッチが生じる。従って、安定したテスト結果を得ることができないという課題がある。
【0038】
更に図1(B)に示すような手法でテストした場合に、接続部分10(I本の信号SC12の結線及びJ本の信号SC21の結線)の故障検出が難しいという課題もある。即ち、マクロブロックMB1にスキャンパスを設定してテストしたとしても、接続部分10(信号SC12、SC21)の故障検出率を例えば90パーセント以上にできるテストパターンの作成は困難である。このためテストパターン開発の長期化や高コスト化を招く。
【0039】
また図1(B)の手法では、(I+J)本のテスト端子TPI、TPOを設ける必要があるため、端子数が増加してしまい、集積回路の高コスト化を招くという課題もある。そこで、以上のような課題を解決できるテスト回路の実現が望まれる。
【0040】
2.テスト回路
図2に本実施形態のテスト回路TC及びこれを含む集積回路の例を示す。なお図2ではマクロブロックの数を2個としているが、本実施形態の集積回路は3個以上のマクロブロックを含んでもよい。
【0041】
図2においてマクロブロック(回路ブロック)MB1、MB2は、1又は複数の特定機能を有する回路(例えば通信用回路、通信用回路を制御する回路、バスとのインターフェース回路、RAM、CPU、DSP、液晶ドライバ、CCDコントローラ、或いはユーザのカスタム回路等)を有する回路ブロックである。
【0042】
より具体的にはMB2は、通信用の物理層回路PHYを含む通信用のマクロブロックであり、更に具体的にはUTMI仕様(特定のインターフェース規格)に準拠したマクロブロックである。またMB1は、例えばMB2を制御する回路(SIE)、バッファ、インターフェース回路、或いはユーザのカスタム回路などを含むマクロブロックである。別の言い方をすればMB1は、ロジック回路により構成されるマクロブロックであり、MB2は、通信用物理層回路PHYなどのアナログ回路を含むマクロブロックである。そしてMB2は、送信データ信号、受信データ信号の送受信処理を、マクロブロックMB1との間で、クロック周波数CF1(CF1のクロック信号)で行うマクロブロックである。
【0043】
テスト回路TCはテスト用送信バッファTXBを含む。このTXBは、テスト入力端子TPIからの送信データ信号TI(テスト入力信号)を、CF1(第1のクロック周波数)よりも遅いCF2(第2のクロック周波数)で蓄積(store)するバッファである。より具体的にはTXBは、周波数CF2のクロック信号に同期してTPIからの信号TIを蓄積するバッファである。
【0044】
テスト回路TCはテスト用受信バッファRXBを含む。このRXBは、受信データ信号TO(テスト出力信号)を周波数CF1よりも遅い周波数CF3(第3のクロック周波数)でテスト出力端子TPOに出力するバッファである。より具体的にはRXBは、周波数CF3のクロック信号に同期して信号TOをTPOに出力するバッファである。
【0045】
図3(A)を用いて説明すれば、本実施形態では、テスト用送信バッファTXBが、テスト入力端子TPIからの送信データ信号TIを、遅いクロック周波数CF2で蓄積する(CF2のクロック信号に同期して蓄積する)。即ち外部のテスタが、端子TPIを介して送信データ信号を周波数CF2でTXBに書き込む。そしてTXBは、蓄積が終了した後に(所定バイト数のデータの蓄積後に)、図3(B)に示すように、蓄積した送信データ信号TINを、マクロブロックMB2に対して、CF2よりも速い周波数CF1で出力する(CF1のクロック信号に同期して出力する)。すると、マクロブロックMB2は、周波数CF1で送信データ信号TINを受け取る。
【0046】
その後、マクロブロックMB2は、受信データ信号TOUTを、速い周波数CF1でテスト回路TCに出力する。より具体的には、送信データ信号TINを受けたマクロブロックMB2が、USB(広義には第1のバス)上においてループバックモードで送受信処理を行い、ループバックモードで受信した受信データ信号を、周波数CF1でマクロブロックMB1側(テスト回路TC側)に出力する。
【0047】
すると図3(C)に示すように、テスト用受信バッファRXBが、マクロブロックMB2からの受信データ信号TOUTを、速いクロック周波数CF1で蓄積する(CF1のクロック信号に同期して蓄積する)。そしてRXBは、蓄積が終了した後に、蓄積した受信データ信号TIを、遅いクロック周波数CF3でテスト出力端子TPOに出力する(CF3のクロック信号に同期して出力する)。即ち、外部のテスタが、端子TPOを介して受信データ信号を周波数CF3でRXBから読み出す。そして、読み出された受信データ信号と期待値とを比較して、テストの合否を判定する。なおCF2とCF3は同一の周波数であってもよいし、異なる周波数であってもよい。
【0048】
以上のように本実施形態では、遅い周波数CF2で送信バッファTXBに受信データを溜めた後、溜めた受信データを速い周波数CF1でTXBから読み出ししている。またMB2からの受信データを、速い周波数CF1で受信バッファRXBに溜めた後、溜めた受信データを遅い周波数CF3でRXBから読み出している。
【0049】
従って、端子TPIを介した送信バッファTXBへの書き込み処理や、TPOを介した受信バッファRXBからの読み出し処理を、遅い周波数CF2、CF3で行うことができる。従って、テスタは、信号の書き込み処理や読み出し処理を余裕を持って行うことができるようになる。この結果、これらの端子TPI、TPOのI/Oセルで信号遅延が生じたとしても、テスト結果と期待値との比較処理を問題なく行うことが可能になり、安定したテスト動作を実現できる。
【0050】
またUTMI準拠のマクロブロックMB2では、それが含むアナログ回路や光速ロジック回路が、HSモード時に480MHz(60MHz)の周波数でしか動作しないという問題がある。また480MHzでマクロブロックMB2を動作させてテストしないと、USB2.0のHSモードでの高速動作を確実に保証できないおそれもある。
【0051】
本実施形態によれば、送信バッファTXBからの送信データ信号の出力や、受信バッファRXBへの受信データ信号の蓄積は、速い周波数CF1(60MHz)で行うことができる。従って、マクロブロックMB2を速い周波数(アナログ回路や高速ロジック回路については480MHz、インターフェース回路については60MHz)で動作させることが可能になる。この結果、マクロブロックMB2を適正に動作させながらテストができると共に、テストの信頼性も向上できるようになる。
【0052】
図4に、図2のテスト回路の動作を説明するための波形図を示す。TCKはテスト用のクロック信号であり、TADは、送信バッファTXB、受信バッファRXBのアドレスを指定するためのアドレス信号である。またTWRはTXBのライト信号であり、TRDはRXBのリード信号である。またWCKは、TXBに対して送信データ信号を書き込むためのクロック信号であり、このWCKは例えばTCKとTWRにより生成できる。またRCKは、RXBから受信データ信号を読み出すためのクロック信号であり、このRCKは例えばTCKとTRDにより生成できる。
【0053】
図4のB1に示すように、図3(A)で説明した送信バッファTXBへの書き込み処理は、遅い周波数CF2のクロック信号WCKにより行われる。
【0054】
また図4のB2に示すように、図3(B)で説明した送信バッファTXBからの送信データ信号の読み出し処理や受信バッファRXBへの受信データ信号の書き込み処理(MB2の送受信処理)は、速い周波数CF1のクロック信号TCKにより行われる。
【0055】
また図4のB3に示すように、図3(C)で説明した受信バッファRXBからの受信データ信号の読み出し処理は、遅い周波数CF3のクロック信号RCKにより行われることになる。
【0056】
3.通信シーケンサ
本実施形態では、図5に示すようにテスト回路TCに通信シーケンサCSQを含ませることができる。
【0057】
ここで通信シーケンサCSQはマクロブロックMB2との間で所定の通信手順(UTMIなどの通信マクロブロック仕様に準拠した通信手順)で送受信処理を行う。そして、送信バッファTXBに、端子TPIから周波数CF2で送信データ信号が蓄積されると、その蓄積が完了した後に、通信シーケンサCSQは、送信バッファTXBに蓄積された送信データ信号を周波数CF1でマクロブロックMB2に自動送信する。
【0058】
その後、CSQは、MB2からの受信データ信号を周波数CF1で自動受信して受信バッファRXBに蓄積する。そして受信バッファRXBへの受信データ信号の蓄積が完了した後に、蓄積された受信データ信号は周波数CF3で読み出されて、端子TPOに出力される。
【0059】
このような通信シーケンサCSQを用いれば、送信バッファTXBから送信データ信号を読み出して送信する処理や、マクロブロックMB2から受信データ信号を受信して受信バッファRXBに書き込む処理などを、自動的に行えるようになり、テストの効率化を図れる。
【0060】
4.接続部分の故障検出
図1のMB1、MB2間の接続部分10での故障検出を向上できるテスト回路TCの構成例を図6に示す。
【0061】
このテスト回路TCはセレクタSEL1(第1のセレクタ)を含む。ここでSEL1は、その第1の入力に、MB1(第1のマクロブロック)からの出力信号M1OUTが入力される。またその第2の入力に、MB2(第2のマクロブロック)用のテスト入力信号TINが入力される。このSEL1の選択動作は選択信号SS1により制御される。
【0062】
テスト回路TCはセレクタSEL2(第2のセレクタ)を含む。ここでSEL2は、その第1の入力に、SEL1からの出力信号SQが入力される。また、その第2の入力に、MB2からの出力信号M2OUTが入力される。このSEL2の選択動作は選択信号SS2により制御される。
【0063】
そして図7(A)に示すようにMB1をテストする第1のテストモード(例えばスキャンモード)では、セレクタSEL1が、その第1の入力に入力されたMB1からの出力信号M1OUT(例えばI本)を選択して、その出力信号SQをSEL2の第1の入力に出力する。またセレクタSEL2が、その第1の入力に入力された第1のセレクタからの出力信号SQを、入力信号M1IN(例えばJ本)としてMB1に出力する。図7(A)に示すように、この第1のテストモードでは、端子DTIN(データ入力端子又はスキャンイン端子SCIN等)からテストパターン信号(論理テストパターン)を入力する。そして、端子DTOUT(データ出力端子又はスキャンアウト端子SCOUT等)から出力される結果と期待値とを比較して検証を行う。
【0064】
一方、図7(B)に示すように、MB2をテストする第2のテストモードでは、SEL1が、その第2の入力に入力されたMB2用のテスト入力信号TIN(例えばI本)を、入力信号M2IN(例えばI本)としてMB2に出力する。またSEL2が、その第2の入力に入力されたMB2からの出力信号M2OUT(例えばJ本)を、MB2用のテスト出力信号TOUT(例えばJ本)として出力する。この第2のテストモードでは、端子TPIからテスト入力信号(論理テストパターン、送信データ信号)を入力する。そして端子TPOから出力されたテスト出力信号(論理テストパターンの結果、受信データ信号)と期待値とを比較して検証を行うことになる。
【0065】
なお、第1、第2のテストモードではない通常動作モード(集積回路が通常に動作するモード)では、マクロブロックMB1からの出力信号M1OUTは、セレクタSEL1を介してマクロブロックMB2への入力信号M2INとしてMB2に入力される。またマクロブロックMB2からの出力信号M2OUTは、セレクタSEL2を介してマクロブロックMB1への入力信号M1INとしてMB1に入力される。
【0066】
また、テスト入力信号TINは、テスト入力端子TPIから、図2で説明したテスト用送信バッファTXBを介してセレクタSEL1に入力される。またテスト出力信号TOUTは、セレクタSEL2から、図2で説明したテスト用受信バッファRXBを介してテスト出力端子TPOに出力される。
【0067】
図6の本実施形態のテスト回路TCによれば、図7(A)の第1のテストモードにより、マクロブロックMB1とテスト回路TCの接続部分12の故障検出(結線不良)が可能になる。また図7(B)の第2のテストモードにより、テスト回路TCとマクロブロックMB2の接続部分14の故障検出も可能になる。これにより、結局、図1で説明したマクロブロックMB1、MB2間の接続部分10の故障検出が可能になる。
【0068】
しかも図7(A)の第1のテストモードにより接続部分12の故障を検出するテストパターンは比較的容易に作成(自動生成)できる。また図7(B)の第2のテストモードでの接続部分14の故障検出も容易である。更にテスト入力信号TINやテスト出力信号TOUTを用いれば、マクロブロックMB2が通信用物理層回路などのアナログ回路を含む場合にも、そのテストを容易化できる。従って本実施形態によれば、テストパターン開発期間の短縮化、低コスト化を図れるとと共に、故障検出率を高めて集積回路の信頼性を向上できる。
【0069】
5.スキャン手法
図7(A)の第1のテストモードはスキャン手法でテストを行うスキャンモードであることが望ましい。例えば図8に示すように、マクロブロックMB1のみならずテスト回路TCに対してもスキャンパスを設定する。即ち、マクロブロックMB1内のフリップフロップのみならず、テスト回路TC内のフリップフロップもスキャン用FF(スキャン回路)に置き換えて、これらのスキャン用FFをネットで結んでスキャンパス(スキャンチェーン)を構成する。別の言い方をすれば、マクロブロックMB1及びテスト回路TCを1つのマクロブロックMB12と見なして、MB12のネットリストに対して、公知のスキャンテスト用ツールを用いてスキャン用FFを挿入する(スキャンパスを設定する)。
【0070】
例えば図9(A)にフリップフロップFF1、FF2、FF3と、組み合わせ論理回路CM1、CM2を含む回路を示す。この回路をスキャン手法でテストする場合には、図9(B)に示すように、フリップフロップFF1、FF2、FF3を、セレクタSL1、SL2、SL3を有するスキャン用フリップフロップSFF1、SFF2、SFF3に置き換える。また組み合わせ論理回路CM1、CM2を通る通常パスをバイパスするスキャンパスSCP1、SCP2を設ける。
【0071】
そして、まず、スキャンイネーブル信号SCENを第1のレベル(例えばHレベル)に設定して、セレクタSL1、SL2、SL3にスキャンパス側(SCIN側)を選択させる。そしてスキャンイン端子SCINからテストパターン信号をシリアルに順次入力して、フリップフロップFF1、FF2、FF3に対してテストパターン信号を設定する。
【0072】
次に、スキャンイネーブル信号SCENを第2のレベル(例えばLレベル)に設定し、セレクタSL1、SL2、SL3に通常パス側(DIN側)を選択させる。そしてクロック信号CKを例えば1クロックパルス分だけアクティブにして、フリップフロップFF1、FF2の出力信号を組み合わせ回路CM1、CM2に入力すると共に、CM1、CM2の出力信号をFF2、FF3に保持する。
【0073】
次に、スキャンイネーブル信号SCENを第1のレベルに設定して、セレクタSL1、SL2、SL3にスキャンパス側(SCIN側)を選択させる。そして、フリップフロップFF1、FF2、FF3に保持されているテスト結果信号を、スキャンパスSCP1、SCP2を介して、スキャンアウト端子SCOUTからシリアルに出力し、期待値と比較する。このようにすることで、フリップフロップFF1、FF2、FF3及び組み合わせ論理回路CM1、CM2の素子不良や、これらの回路間の結線不良をテストできる。
【0074】
図10にスキャン手法を用いるテスト方法のフローチャートを示す。まず回路設計を行い、設計した回路のネットリストを生成する(ステップS1、S2)。次に、公知のスキャンテスト用ツールを用いて、設計した回路にスキャンFFを挿入し、スキャンFFを含むネットリストを生成する(ステップS3、S4)。次に、スキャンFFを含むネットリストを用いて論理シミュレーションを行い、テストパターンを作成(自動生成)する(ステップS5、S6)。その後、回路のレイアウトを行い、マスクデータを生成する(ステップS7、S8)。そして、ステップS6で作成(自動生成)されたテストパターンを用いて、試作品又は量産品のテストを行う(ステップS9)。
【0075】
以上のようなスキャン手法を用いると、マクロブロックの規模は若干大きくなるが、スキャンFFの間にある組み合わせ論理回路を切り出して部分的にテストできるようになるため、テストパターンの作成を容易化できると共に、故障検出率を向上できる。
【0076】
そして本実施形態では図8に示すように、マクロブロックMB1とテスト回路TCを1つのマクロブロックMB12と見なして、マクロブロックMB1及びテスト回路TCに対して、スキャンイン端子SCINからスキャンアウト端子SCOUTに至るスキャンパスを設定している(スキャン用FFを挿入している)。従って、マクロブロックMB1とテスト回路TCの間の接続部分12の故障(結線不良)を高い故障検出率で検出できるテストパターンを容易に作成できるようになる。これによりテストパターン開発の期間短縮化、低コスト化を実現できる。
【0077】
6.ダミーのスキャン用フリップフロップ
本実施形態では、図11に示すようにテスト回路TCに1又は複数個のダミーのスキャン用フリップフロップDSFFを含ませることができる。
【0078】
例えば図11では、マクロブロックMB1からの出力信号M1OUTの本数がI本であり、テスト回路TCからMB1への入力信号の本数がJ本(I>J。I、Jは自然数又は2以上の整数)となっている。即ち出力信号M1OUTの本数の方が入力信号M1INの本数よりも多い。このように信号本数に違いがある場合において、テスト回路TC及びマクロブロックMB1に一体的にスキャンパスを設定する図8の手法を実現するために、図11ではダミーのスキャン用フリップフロップDSFFをテスト回路TCに含ませている。
【0079】
より具体的には、セレクタSEL1からのI本の出力信号(第1〜第Iの出力信号)のうち、(I−J)本の出力信号(第J〜第Iの出力信号)を保持する(I−J)個のダミーのスキャン用フリップフロップDSFFをテスト回路TC内に設ける。そして、図8で説明したスキャンモード(第1のテストモード)時において、ダミーのスキャン用フリップフロップDSFFが、保持した出力信号をスキャンパス(スキャンイン端子からスキャン用フリップフロップを介してスキャンアウト端子に至るパス)を介して出力するようにする。即ち、DSFFは、前段のスキャン用フリップフロップから入力された信号を保持し、保持した信号を後段のスキャン用フリップに出力する。
【0080】
例えば図10のステップS2で生成されるネットリストに対して、図12(A)に示すような3個(広義には(I−J)個)のダミーのフリップフロップDFF1、DFF2、DFF3を含ませておく。これらのDFF1、DFF2、DFF3のデータ端子Dには、セレクタSEL1からのI本の出力信号のうちの(I−J)本の出力信号DIN1、DIN2、DIN3(第J〜第Iの出力信号)が接続される。
【0081】
そして図10のステップS4、S5で説明したスキャン手法により、ネットリスト中のDFF1、DFF2、DFF3を図12(B)に示すようにダミーのスキャン用フリップフロップDSFF1、DSFF2、DSFF3(通常動作モードにおいては意味をなさない無効なダミーのフリップフロップ)に置き換える。
【0082】
そしてスキャンモード時に、SL1、SL2、SL3にDIN側を選択させて、信号DIN1、DIN2、DIN3(セレクタSEL1或いはSEL1の後段のスキャン用フリップフロップからの(I−J)本の出力信号)を、DFF1、DFF2、DFF3に保持させる。その後、SL1、SL2、SL3にSCIN側を選択させて、SCINからSCOUTに至るスキャンパスを介して、DFF1、DFF2、DFF3(DSFF1〜DSFF3)に保持された信号DIN1、DIN2、DIN3をシリアルに出力させる。
【0083】
図12(C)には、マクロブロックMB1及びテスト回路TCに設定されるスキャンパスの様子が概念的に示されている。例えば図12(C)では、MB1からTCへの出力信号M1OUT−1、M1OUT−2が2本(I本)であり、TCからMB1への入力信号M1INが1本であるため、1個(I−J個)のダミーのスキャン用フリップフロップDSFF1が設けられる。
【0084】
そしてSEL1−1(第1のセレクタ)の第1の入力には、MB1内のフリップフロップFF6からの出力信号M1OUT−1が入力され、第2の入力には、テスト入力端子TPI−1(TXB)からのテスト入力信号TIN−1が入力される。そしてSEL1−1の出力信号SQ−1は、TC内に設けられたダミーのスキャン用フリップフロップDSFF1のデータ端子に入力される。
【0085】
またSEL1−2(第1のセレクタ)の第1の入力には、MB1内のフリップフロップFF5からの出力信号M1OUT−2が入力され、第2の入力には、テスト入力端子TPI−2(TXB)からのテスト入力信号TIN−2が入力される。そしてSEL1−2の出力信号SQ−2は、TC内に設けられたフリップフロップFF2のデータ端子に入力される。
【0086】
またSEL2(第2のセレクタ)の第1の入力には、SEL1−2からの出力信号SQ−2が入力され、第2の入力には、MB2からの出力信号M2OUTが入力される。そしてSEL2の出力信号TOUTは、テスト出力端子TPO(RXB)、或いはMB1内のフリップフロップFF4に出力される。
【0087】
そしてスキャンモード時には、SCINからSCOUTに至るスキャンパスを介して、DSFF1、FF2、FF3、FF4、FF5、FF6に保持された信号(値)がSCOUTからシリアルに出力され、これによりスキャン手法によるテストを実現できる。
【0088】
以上のようにすることで、図11のように信号M1OUTの本数Iの方がM1INの本数Jよりも多い場合においても、余った(I−J)本の信号M1OUTについての結線不良を、図8で説明したスキャン手法により検出できる。即ちこれらの(I−J)本の信号をスキャンモード時に、SCINからMB1、TCを介してSCOUTに至るスキャンパスを介して出力できるようになる。この結果、より信頼性のある故障検出が可能になる。
【0089】
なお、図12(A)では、スキャン用フリップフロップに置き換える前のダミーのフリップフロップDFF1、DFF2、DFF3は、そのQ端子に何も接続されていないフリップフロップとなっている。このようにQ端子に何も接続されていないフリップフロップDFF1、DFF2、DFF3は、ネットリスト生成ツールの仕様によっては、無効なフリップフロップであると認識されて削除されてしまう可能性がある。従って、このような事態を防止するために、DFF1、DFF2、DFF3のQ端子に対して、通常動作に対して悪影響を及ぼさないノード(例えば後述するテスト用バッファのノード)を接続するようにしてもよい。
【0090】
7.詳細例
7.1 全体構成
図13にテスト回路TCの詳細な構成例を示す。なお本実施形態のテスト回路は図13に示す全て構成要素を含む必要はなく、その一部を省略してもよい。
【0091】
図13においてTPIはテスト入力端子であり、TPOはテスト出力端子である。またTPCKはテストクロック端子であり、TPRSはリセット端子である。またTPAD、TPWR、TPRDはバッファ(レジスタ)のアドレス端子、ライト端子、リード端子である。またTPMD1、TPMD2はテストモード端子である。またPDP、PDMは、USBにおいて定義される差動信号DP、DM(データプラス、データマイナス)の端子である。
【0092】
図13においてMB2は、データ通信用の物理層回路PHYを含むマクロブロックである。このMB2としてはUTMI仕様(広義には通信マクロブロック仕様)に準拠したマクロブロックなどがある。なおこのマクロブロックMB2は、DP、DMを用いてUSB(第1のバス)上で送信した送信データ信号を、ループバックモードで受信データ信号として受信する機能も有している。
【0093】
テスト回路TCは通信シーケンサCSQを含む。この通信シーケンサCSQはマクロブロックMB2との間で所定の通信手順(通信マクロブロック仕様に準拠した通信手順)で信号の送受信処理(ハンドシェーク処理)を行うためのシーケンサである。この通信シーケンサCSQ(テスト用送信バッファTXB)からの送信データ信号は、MB2へのテスト入力信号TIN1としてセレクタSEL1に入力される。またセレクタSEL2からのテスト出力信号TOUT1(TOUT)は、受信データ信号として通信シーケンサCSQ(テスト用受信バッファRXB)に入力される。
【0094】
より具体的には通信シーケンサCSQは、図7(B)で説明した第2のテストモード時において、マクロブロックMB2への送信データ信号を、セレクタSEL1を介してMB2に送信する処理を行う。またMB2からの受信データ信号を、SEL2を介してMB2から受信する処理を行う。
【0095】
通信シーケンサCSQはテスト用送信バッファTXB、テスト用受信バッファRXBを含む。TXBはMB2への送信データ信号(TIN1)を蓄積(store)するバッファ(レジスタ)である。RXBはMB2からの受信データ信号(TOUT1)を蓄積するバッファ(レジスタ)である。即ち、TXBは、テスト入力端子TPIから入力された信号TIを送信データ信号として蓄積する。またRXBは、MB2からの受信データ信号を蓄積し、蓄積した受信データ信号を信号TOとしてテスト出力端子TPOに出力する。
【0096】
更に具体的にはテスト用送信バッファTXBは、テスト入力端子TPIから入力された送信データ信号TIを蓄積する。そして通信シーケンサCSQは、TXBによる送信データ信号TIの蓄積が完了した後(所定のバイト数の送信データ信号を蓄積した後)に、蓄積された送信データ信号を、セレクタSEL1を介してマクロブロックMB2に送信する処理を行う。また通信シーケンサCSQは、ループバックモードに設定されたMB2からの受信データ信号TOUT1を受信する処理を行う。そしてテスト用受信バッファRXBは、受信された受信データ信号TOUT1を蓄積し、蓄積した受信データ信号をテスト出力端子TPOに出力する
なお、送信バッファTXB、受信バッファRXBのいずれか一方のみをテスト回路TCに設けるようにしてもよい。またTXB、RXBは通信シーケンサCSQの内部に設けてもよいし外部に設けてもよい。
【0097】
テスト回路TCはテスト用バッファTSBを含む。このTSBはテスト入力信号やテスト出力信号を蓄積(store)するバッファ(レジスタ)である。より具体的にはTSBは、テスト入力端子TPIからの信号TIを蓄積して、テスト入力信号TIN2としてセレクタSEL1に出力する。またTSBは、セレクタSEL2からのテスト出力信号TOUT2(TOUT)を蓄積して、信号TOとしてテスト出力端子TPOに出力する。
【0098】
テスト回路TCはデコーダDECを含む。このDECは集積回路のテスト端子からの信号に基づいて、テスト回路の各回路に制御信号を出力する。より具体的にはデコーダDECには、バッファTXB、RXB、TSBのアドレス(レジスタアドレス)を指定するためのアドレス信号TADや、これらのバッファへのライト信号TWR、リード信号TRDが入力される。またテストモード信号TMD1、TMD2(第1、第2のテストモードを切り替えたり、テストモードと通常動作モードを切り替える信号)や、テスト用のクロック信号TCKや、テスト用のリセット信号TRSが入力される。デコーダDECは、テスト端子から入力されるこれらの信号に基づいてデコード処理を行い、通信シーケンサCSQ(TXB、RXB)、テスト用バッファTSBへの制御信号DCTL1、DCTL2や、セレクタSEL1、SEL2への選択信号SS1、SS2を生成する。
【0099】
例えば通信シーケンサCSQ(TXB、RXB)はデコーダDECからの制御信号DCTL1やテスト用クロック信号TCKなどに基づいて、TXB、RXBに送信データ信号、受信データ信号を蓄積する処理や、TXB、RXBから送信データ信号、受信データ信号を出力する処理や、送受信(ハンドシェーク)処理を行う。またテスト用バッファTSBは、デコーダDECからの制御信号DCTL2やテスト用クロック信号TCKなどに基づいて、TSBにテスト入力信号やテスト出力信号を蓄積する処理や、TSBからテスト入力信号やテスト出力信号を出力する処理などを行う。
【0100】
またデコーダDECは、信号TMD1、TMD2が共にL(ロー)レベル(第1のレベル)の場合には、選択信号SS1をH(ハイ)レベルに設定して、セレクタSEL1に信号M1OUTを選択させると共に、信号SS1をLレベルに設定して、セレクタSEL2にM2OUTを選択させる。これにより動作モードが通常動作モード(テストモードではないモード)になる。
【0101】
また信号TMD1がHレベル(第2のレベル)の場合には、信号SS1、SS2を共にHレベルに設定して、SEL1に信号M1OUTを選択させると共にSEL2に信号SQを選択させる。これにより動作モードが、マクロブロックMB1をテストする第1のテストモードになる。
【0102】
また信号TMD2がHレベルの場合には、信号SS1、SS2を共にLレベルに設定して、SEL1に信号TIN1及びTIN2を選択させると共に、SEL2に信号M2OUTを選択させる。これにより動作モードが、マクロブロックMB2をテストする第2のテストモードになる。
【0103】
7.2 バッファ構成
図14に、テスト用送信バッファTXB、テスト用受信バッファRXB、テスト用バッファTSBのアドレスマップを示す。
【0104】
本実施形態では送信バッファTXB、受信バッファRXBは、各々、4段(広義には複数段)のバッファ構成(FIFO構成)となっている。即ち図14において、TxBuf0、TxBuf1、TxBuf2、TxBuf3は、送信バッファTXBの4段のバッファに相当し、RxBuf0、RxBuf1、RxBuf2、RxBuf3は、受信バッファRXBの4段のバッファに相当する。また、これらの4段の各バッファは8ビット構成になっている。即ち図14において、TxBuf0[7]〜[0]はTxBuf0の各ビットを表す。TxBuf1、TxBuf2、TxBuf3も同様である。またRxBuf0[7]〜[0]はRxBuf0の各ビットを表す。RxBuf1、RxBuf2、RxBuf3も同様である。
【0105】
図14に示すように本実施形態では、端子TPADからの信号TADで指定されるアドレスが0x0〜0x7(16進数表現)の範囲である場合には、送信バッファTXB、受信バッファRXBのいずれかがアドレス指定される。そして端子TPWRからのライト信号TWRがアクティブになると送信バッファTXBが指定され、端子TPRDからのリード信号TRDがアクティブになると受信バッファRXBが指定される。
【0106】
一方、信号TADで指定されるアドレスが0x8〜0xFの範囲である場合には、テスト用バッファTSBがアドレス指定される。また、リード、ライトの指定はリード信号TRD、ライト信号TWRにより行われる。そしてテスト用バッファTSBの各ビットには図14に示すように、TXMODE、XCVRSELECT、TERMSELECT・・・・・TXSTARTなどが割り当てられている。
【0107】
例えばTXMODEは通信シーケンサCSQの送信モードを設定するビットである。TXMODEが「0」に設定されると、通信シーケンサCSQは4バイト(広義には複数バイト)の送信データを送信して停止する。一方、TXMODEが「1」に設定されると、CSQはTxBuf0に蓄積された1バイトの送信データを送信し続ける。
【0108】
またXCVRSELECT、TERMSELECT、OPMODE1・・・・SUSPEND等は、マクロブロックMB2の入力端子(M2IN)に所望の信号レベル(Hレベル、Lレベル)を設定するためのビットである。またMonRXACTIVE、MonRXERROR、MonLINESTATE1、MonLINESTATE0等は、マクロブロックMB2の出力端子(M2OUT)の信号レベルをモニタするためのビットである。
【0109】
またTXSTARTは通信シーケンサCSQに対して送信(テスト用送信)の開始を指示するためのビットであり、TXSTARTを「1」に設定すると送信が開始される。そして送信が完了するとTXSTARTは「0」にクリアされる。またTXMODEが「1」の時にTXSTARTに「0」を書き込むと送信が停止する。
【0110】
さて集積回路においては端子数が増加すると製造コストの増加を招く。このためテスト端子についてもその本数をなるべく少なくできることが望ましい。そこで本実施形態では、図13のテスト端子TPI、TPOの本数を以下に述べるような手法で減少させている。
【0111】
例えばマクロブロックMB2のテストに必要な入力信号がMビットであったとする。この場合に本実施形態では図15(A)(B)に示すように、テスト用バッファTSBが、このMビットのテスト入力信号を、K本(M>K。M、Kは自然数又は2以上の整数)のテスト入力端子TPIからKビット毎に入力して蓄積する。そして、蓄積した信号をテスト入力信号TIN2としてセレクタSEL1に出力する。このようにすることで、本来はM本のテスト入力端子TPIが必要であるのに、これをK本に減らすことができる。
【0112】
例えば図14において、XCVRSELECT〜SUSPENDの全てのビットをTPIとして外部端子に設定すると、12本(M本)の端子が必要になってしまう。これに対して図15(A)(B)では、テスト用バッファTSBが、12ビット(Mビット)のテスト入力信号(XCVRSELECT〜SUSPEND)をTPIから4ビット(Kビット)毎に取り込んで蓄積している。これによりTPIの本数を4本にすることができ、集積回路の端子数を減らすことができる。
【0113】
また送信データ信号や受信データ信号のビット数がNビットであったとする。この場合に本実施形態では図15(C)(D)に示すように、テスト用送信バッファTXBが、このNビットの送信データ信号(テスト入力信号)を、K本(N>K。N、Kは自然数又は2以上の整数)のテスト入力端子TPIからKビット毎に入力して蓄積する。そして蓄積した信号を、テスト入力信号TIN1としてセレクタSEL1に出力する。このようにすることで、本来はN本のテスト入力端子TPIが必要であるのに、これをK本に減らすことができる。また図15(C)(D)では、テスト用受信バッファRXBが、マクロブロックMB2からのNビットの受信データ信号(テスト出力信号)を蓄積し、蓄積した受信データ信号をKビット毎にK本のテスト出力端子TPOに出力する。このようにすることで、本来はN本のテスト出力端子TPOが必要であるのに、これをK本に減らすことができる。
【0114】
例えば図14において、TxBuf0[7]〜TxBuf0[0]の全てのビットをTPIとして外部端子に設定し、RxBuf0[7]〜RxBuf0[0]の全てのビットをTPOとして外部端子に設定すると、TPI、TPOの本数がそれぞれ8本(N本)になり、合計で16本の端子が必要になってしまう。これに対して図15(C)(D)では、送信バッファTXBが、8ビット(Nビット)の送信データ信号を4ビット(Kビット)毎にTPIから入力して蓄積している。また、受信バッファRXBが、8ビットの受信データ信号を4ビット毎にTPOに出力している。これによりTPI、TPOの本数をそれぞれ4本(K本)にすることができ、集積回路の端子数を減らすことができる。
【0115】
更に本実施形態では図13、図14に示すように、4本(K本)の端子TPI、TPOをバッファTXB、RXB、TSBに共通接続し、アドレス信号TADを用いてこれらのバッファTXB、RXB、TSBの各ビットのアドレス指定を行っている。これにより集積回路の端子数を更に減らすことに成功している。
【0116】
7.3 通信シーケンサ
図16に通信シーケンサCSQの構成例を示す。但し通信シーケンサCSQの構成は図16に示すものに限定されない。
【0117】
通信シーケンサCSQは送信シーケンサTSQを含む。このTSQはマクロブロックMB2との間でハンドシェークによる送信処理を行うためのシーケンサである。具体的には送信シーケンサTSQは、送信データ信号DATAINが有効であることを示す信号TXVALID(送信開始信号)をマクロブロックMB2に出力する。そしてMB2は、TXVALIDのアクティブ期間に存在するDATAINを1つのパケットと見なす。この信号TXVALIDは図13において、信号TIN1としてSEL1を介してMB2に出力される。
【0118】
また送信シーケンサTSQは、DATAINのバッファリングが完了したことを示す信号TXREADYを、MB2から受ける。この信号TXREADYは図13において、MB2からSEL2を介して信号TOUT1として送信シーケンサTSQに入力される。
【0119】
そして送信シーケンサTSQは制御信号TCTL(送信開始信号等)を用いてテスト用送信バッファTXBを制御する。具体的には、送信バッファTXBによるテスト入力端子TPIからの信号TIの蓄積処理を制御する。また送信バッファTXBによるマクロブロックMB2への信号DATAINの出力処理を制御する。この場合に本実施形態では、信号DATAINの出力処理の際のクロック周波数CF1(例えば60MHz)よりも遅いクロック周波数CF2で、送信バッファTXBに信号TIを蓄積するようにしている。このようにすれば、信号TIの蓄積処理を、遅いクロック周波数CF2を用いて余裕を持ってできるようになる。従って、テスト入力端子TPIに大きな寄生容量が寄生している場合にも、バラツキの少ない安定したテスト結果を得ることができる。
【0120】
通信シーケンサCSQは受信シーケンサRSQを含む。このRSQはマクロブロックMB2との間でハンドシェークによる受信処理を行うためのシーケンサである。具体的には受信シーケンサRSQは、バスにアクティビティがあることを示す信号RXACTIVEや、受信データ信号DATAOUTが有効であることを示す信号RXVALIDや、パケット受信中にエラーがあったことを示す信号RXERRORを、マクロブロックMB2から受ける。これらの信号RXACTIVE、RXVALID、RXERRORは、図13においてMB2からSEL2を介して信号TOUT1として受信シーケンサRSQに入力される。
【0121】
そして受信シーケンサRSQは制御信号RCTLを用いてテスト用受信バッファRXBを制御する。具体的には、受信バッファRXBによるマクロブロックMB2からの信号DATAOUTの蓄積処理を制御する。また受信バッファRXBによるテスト出力端子TPOへの信号TOの出力処理を制御する。この場合に本実施形態では、信号DATAOUTの蓄積処理の際のクロック周波数CF1(例えば60MHz)よりも遅いクロック周波数CF3で(CF3はCF2と同じでもよい)、信号TOを出力するようにしている。このようにすれば、信号TOの出力処理を、遅いクロック周波数CF3を用いて余裕を持ってできるようになる。従って、テスト出力端子TPOに大きな寄生容量が寄生している場合にも、バラツキの少ない安定したテスト結果を得ることができる
次に図17、図18の波形図を用いて、テスト回路TC及び通信シーケンサCSQの詳細な動作について説明する。
【0122】
まずC1に示すように外部のテスタがテスト端子を用いて、アドレス信号TADを0xBに設定し、ライト信号TWRをアクティブ(Lレベル)にすると共に信号TIを0x0に設定することで、図14のPLLSELECT、OSCENB、CLKSELECT1、CLKSELECT0が全て「0」に設定される。そしてC2に示すようにテスタが、TADを0x8に設定し、TWRをアクティブにすると共にTIを0x0に設定することで、図14のTXMODEが「0」に設定される。これにより、4バイト(複数バイト)の送信データ信号を連続して送信するモードに通信シーケンサCSQが設定される。
【0123】
次にC3に示すようにテスタが、アドレス信号TADを0x0〜0x7に設定し、ライト信号TWRをアクティブにすると共にTIを0xFに設定することで、図14の送信バッファTXBの4段のバッファTxBuf0〜TxBuf3の全てのビットに「1」が書き込まれる。この場合にこの書き込み処理は遅いクロック周波数CF2で行われる。そしてC4に示すようにテスタが、アドレス信号TADを0xFに設定し、ライト信号TWRをアクティブにすると共に信号TIを0x1に設定することで、図14のTXSTARTに「1」が設定される。これにより通信シーケンサCSQによる自動送信処理が開始する。
【0124】
図18は、図17のC5に示す部分を拡大した波形図である。通信シーケンサCSQ(送信シーケンサTSQ)は、送信処理が開始すると図18のD1に示すように信号TXVALIDをアクティブにし、D2に示すようにマクロブロックMB2が信号TXREADYをアクティブにする。そしてD3に示す送信データ信号DATAIN(FF)がMB2に送信される。
【0125】
マクロブロックMB2は、送信データ信号DATAINを受けると、D4に示すように、差動信号DP、DMを用いてUSBバス上での送信処理を開始する。そしてループバックモードに設定されたマクロブロックMB2は、自身が送信した送信データ信号を、ループバックモードで受信データ信号として受信する。そしてD5に示すようにマクロブロックMB2は信号RXACTIVEをアクティブにする。その後、MB2はD6、D7に示すように信号RXVALIDをアクティブにする。すると、これを受けた通信シーケンサCSQ(受信シーケンサRSQ)は、D8、D9に示すMB2からの受信データ信号DATAOUT(FF)をテスト用受信バッファRXBに蓄積する。この場合にこの蓄積処理は速いクロック周波数CF1で行われる。
【0126】
その後、図17のC6に示すようにテスタが、アドレス信号TADを0x0〜0x7に設定し、リード信号TRDをアクティブにすることで、C7に示すように受信バッファRXBに蓄積された受信データ信号TOがテスト出力端子TPOを介してテスタにより読み出される。この場合にこの読み出し処理は遅いクロック周波数CF3により行われる。そして、テスタが、読み出された値と期待値との比較処理を行い、期待値と一致していればテストを合格とし、一致していなければ不合格とする。このようにすることテストが完了する。
【0127】
8.マクロブロック
図19にマクロブロックMB1の一例を示す。なお本実施形態のマクロブロックMB1は図19に示す構成に限定されるものではない。図19のマクロブロックMB1は、SIE(Serial Interface Engine)30、エンドポイント管理回路40、バッファ管理回路50、バッファ60、バルク転送管理回路70、DMAC(Direct Memory Accesss Controller)80を含む。
【0128】
SIE30は、USBのパケット転送処理などの種々の処理を行う回路である。このSIE30(広義には第1のインターフェース回路)はパケットハンドラ回路32、サスペンド&レジューム制御回路34、トランザクション管理回路36を含む。ここでパケットハンドラ回路32は、ヘッダ及びデータからなるパケットの組み立て(生成)や分解などを行ったり、CRCの生成や解読を行う。またサスペンド&レジューム制御回路34は、サスペンドやレジューム時のシーケンス制御を行う。またトランザクション管理回路36は、トークン、データ、ハンドシェークなどのパケットにより構成されるトランザクションを管理する。そしてトランザクション管理回路36は、トークンパケットを受信した場合には、自分宛か否かを確認し、自分宛の場合には、データパケットの転送処理を行い、その後に、ハンドシェークパケットの転送処理を行う。
【0129】
エンドポイント管理回路40は、バッファ60の各記憶領域の入り口となるエンドポイントを管理する回路であり、エンドポイントの属性情報を記憶するレジスタ(レジスタセット)などを含む。
【0130】
バッファ管理回路50は、例えばRAMなどで構成されるバッファ60を管理する回路である。より具体的には、書き込みアドレスや読み出しアドレスを生成し、バッファ60へのデータの書き込み処理やバッファ60からのデータの読み出し処理を行う。
【0131】
バッファ60(パケットバッファ、パケット記憶手段)は、USBを介して転送されるデータ(パケット)を一時的に記憶するものであり、USB(第1のバス)でのデータ転送速度と、EBUS(第2のバス)でのデータ転送速度との速度差を補償する機能などを有する。なお、EBUSは、ハードディスクドライブ、光ディスクドライブ、MPEGエンコーダ、MPEGデコーダなどの外部デバイスに接続される外部バスである。
【0132】
バルク転送管理回路70は、USBにおけるバルク転送を管理するための回路である。またDMAC80(広義には第2のインターフェース回路)は、EBUSを介して外部デバイスとの間でDMA転送を行うためのDMAコントローラである。
【0133】
図20にマクロブロックMB2の一例を示す。なお本実施形態のマクロブロックMB2は図20に示す構成に限定されるものではない。
【0134】
マクロブロックMB2は、データハンドラ回路90、クロック生成回路92、HS(High Speed)回路94、FS(Full Speed)回路96を含む。これらの回路は論理層回路である。またMB2は、物理層回路(PHY)であるアナログフロントエンド回路98(送受信回路)を含む。
【0135】
データハンドラ回路90は、USB2.0等に準拠したデータ転送のための種々の処理を行う。より具体的には、送信時には、送信データにSYNC(SYNChronization)、SOP(Start Of Packet)、EOP(End Of Packet)を付加する処理や、ビットスタッフィング処理等を行う。一方、受信時には、受信データのSYNC、SOP、EOPを検出し、削除する処理や、ビットアンスタッフィング処理などを行う。更に、データハンドラ回路90は、データの送受信を制御するための各種のタイミング信号を生成する処理も行う。
【0136】
USB2.0では、HSモード(広義には第1の転送モード)とFSモード(広義には第2の転送モード)が定義されている。HSモードは、USB2.0により新たに定義された転送モードである。FSモードは、従来のUSB1.1で既に定義されている転送モードである。
【0137】
クロック生成回路92は、HS用の480MHzのクロックや、60MHzのシステムクロックなどの種々の周波数のクロックを生成する回路であり、OSC、PLL480M、PLL60Mを含む。
【0138】
ここでOSC(発振回路)は、例えば外部振動子との組み合わせによりベースクロックを生成する。PLL480Mは、OSC(発振回路)で生成されたベースクロックに基づいて、HSモードで必要な480MHzのクロックと、FSモードやシステムクロックに必要な60MHzのクロックを生成するPLL(Phase Locked Loop)である。PLL60Mは、OSC(発振回路)で生成されたベースクロックに基づいて、FSモードやシステムクロックに必要な60MHzのクロックを生成するPLLである。
【0139】
HS回路94は、データ転送速度が480MbpsとなるHSモードでのデータの送受信を行うためのロジック回路である。一方、FS回路96は、データ転送速度が12MbpsとなるFSモードでのデータの送受信を行うためのロジック回路である。
【0140】
アナログフロントエンド回路98(送受信回路)は、FSモードやHSモードでの送受信を行うためのドライバやレシーバを含むアナログ回路であり、差動信号DP、DMを用いて送受信処理を行う。このアナログフロントエンド回路98には、HSモードでの送受信を行うためのHSモード用ドライバ及びレシーバと、FSモードで送受信を行うためのFSモード用ドライバ及びレシーバを含ませることができる。
【0141】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0142】
例えばテスト回路、第1、第2のマクロブロックの構成は、図2、図5、図6、図11、図13、図19、図20等で説明した構成に限定されず、種々の変形実施が可能である。
【0143】
また本実施形態で説明したテスト用送信バッファTXB、テスト用受信バッファRXB、通信シーケンサCSQ、セレクタSEL1、SEL2、ダミーのスキャン用フリップフロップDSFF、テスト用バッファTSBと均等な回路を用いる場合も、本発明の均等な範囲に含まれる。
【0144】
また第2のマクロブロックによる第1のバスでの送受信処理(第2のマクロブロックが含む物理層回路)は、USB2.0規格に基づく送受信処理(USB2.0の物理層回路)には限定されない。例えばUSB2.0と同様の思想に基づく規格や、USB2.0を発展させた規格に基づく送受信処理や、IEEE1394規格などの他の高速シリアル転送規格に基づいて送受信処理であってもよい。
【0145】
また、明細書又は図面中の記載において広義な用語(通信マクロブロック仕様、第1のインターフェース回路、第2のインターフェース回路、第1の転送モード、第2の転送モード、第1のバス、(I−J)個、複数段、複数バイト等)として引用された用語(UTMI、SIE、DAMC、HSモード、FSモード、USB、3個、4段、4バイト等)は、明細書又は図面中の他の記載においても広義な用語に置き換えることができる。
【0146】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【図面の簡単な説明】
【図1】図1(A)(B)はマクロブロックを含む集積回路のテスト手法についての説明図である。
【図2】本実施形態のテスト回路の構成例である。
【図3】図3(A)(B)(C)は図2のテスト回路の動作説明図である。
【図4】テスト回路の動作を説明するための波形図である。
【図5】通信シーケンサを含むテスト回路の構成例である。
【図6】セレクタを含むテスト回路の構成例である。
【図7】図7(A)(B)は図6のテスト回路の動作説明図である。
【図8】マクロブロック及びテスト回路にスキャンパスを設定する手法の説明図である。
【図9】図9(A)(B)はスキャン手法の説明図である。
【図10】スキャン手法を利用したテスト方法のフローチャートである。
【図11】ダミーのスキャン用FFを含むテスト回路の例である。
【図12】図12(A)(B)(C)はダミーのスキャン用FFの説明図である。
【図13】本実施形態のテスト回路の詳細例である。
【図14】バッファのアドレスマップの例である。
【図15】図15(A)〜(D)は本実施形態のテスト用バッファ、テスト用送信バッファ、テスト用受信バッファの説明図である。
【図16】通信シーケンサの構成例である。
【図17】テスト回路や通信シーケンサの動作を説明する波形図である。
【図18】テスト回路や通信シーケンサの動作を説明する波形図である。
【図19】マクロブロックMB1の一例である。
【図20】マクロブロックMB2の一例である。
【符号の説明】
MB1 第1のマクロブロック、MB2 第2のマクロブロック、
TXB テスト用送信バッファ、RXB テスト用受信バッファ、
TC テスト回路、CSQ 通信シーケンサ、
SEL1 第1のセレクタ、SEL2 第2のセレクタ、
SS1、SS2 選択信号、
M1OUT MB1の出力信号、M1IN MB1の入力信号、
M2IN MB2の入力信号、M2OUT MB2の出力信号、
TIN テスト入力信号、TOUT テスト出力信号、
TPI テスト入力端子、TPO テスト出力端子、
SQ SEL1の出力信号、
DSFF、DSFF1〜DSFF3 ダミーのスキャン用フリップフロップ、
TSB テスト用バッファ、DEC デコーダ、PHY 物理層回路、
10、12、14 接続部分、30 SIE、32 パケットハンドラ回路、
34 サスペンド&レジューム回路、36 トランザクション管理回路
40 エンドポイント管理回路、50 バッファ管理回路、60 バッファ、
70 バルク転送管理回路、80 DMAC、
90 データハンドラ回路、92 クロック生成回路、94 HS回路、
96 FS回路、98 アナログフロントエンド回路、

Claims (15)

  1. 第1のマクロブロックとの間での送受信処理を第1のクロック周波数で行う第2のマクロブロックのためのテスト回路であって、
    テスト入力端子からの送信データ信号を、第1のクロック周波数よりも遅い第2のクロック周波数で蓄積するテスト用送信バッファと、
    第2のマクロブロックからの受信データ信号を、第1のクロック周波数よりも遅い第3のクロック周波数でテスト出力端子に出力するテスト用受信バッファとを含み、
    前記テスト用送信バッファが、
    テスト入力端子からの送信データ信号を第2のクロック周波数で蓄積した後に、蓄積した送信データ信号をデータ通信用の物理層回路を含む第2のマクロブロックに対して第1のクロック周波数で出力し、
    前記テスト用受信バッファが、
    第2のマクロブロックからの受信データ信号を第1のクロック周波数で蓄積した後に、蓄積した受信データ信号を第3のクロック周波数でテスト出力端子に出力することを特徴とするテスト回路。
  2. 請求項1において、
    送信データ信号を受けた第2のマクロブロックが、第1、第2のマクロブロック間のバスとは異なる第1のバスにおいてループバックモードで送受信処理を行い、ループバックモードで受信した受信データ信号を第1のクロック周波数で第1のマクロブロック側に出力した場合に、
    前記テスト用受信バッファが、
    第2のマクロブロックからの受信データ信号を第1のクロック周波数で蓄積し、蓄積した受信データ信号を第3のクロック周波数でテスト出力端子に出力することを特徴とするテスト回路。
  3. 請求項1又は2において、
    第2のマクロブロックとの間で所定の通信手順で送受信処理を行うための通信シーケンサを含み、
    前記通信シーケンサが、
    テスト用送信バッファに蓄積された送信データ信号を第1のクロック周波数で第2のマクロブロックに送信する処理を行い、第2のマクロブロックからの受信データ信号を第1のクロック周波数でテスト用受信バッファに受信する処理を行うことを特徴とするテスト回路。
  4. 請求項1乃至3のいずれかにおいて、
    その第1の入力に、第1のマクロブロックからの出力信号が入力され、その第2の入力に、テスト用送信バッファからの送信データ信号が入力される第1のセレクタと、
    その第1の入力に、第1のセレクタからの出力信号が入力され、その第2の入力に、第2のマクロブロックからの受信データ信号が入力される第2のセレクタとを含み、
    第2のマクロブロックをテストする第2のテストモード時には、
    前記第1のセレクタが、その第2の入力に入力された送信データ信号を第2のマクロブロックに出力し、前記第2のセレクタが、その第2の入力に入力された第2のマクロブロックからの受信データ信号をテスト用受信バッファに出力することを特徴とするテスト回路。
  5. 請求項4において、
    第1のマクロブロックをテストする第1のテストモード時には、
    前記第1のセレクタが、その第1の入力に入力された第1のマクロブロックからの出力信号を第2のセレクタの第1の入力に出力し、前記第2のセレクタが、その第1の入力に入力された第1のセレクタからの出力信号を第1のマクロブロックに出力することを特徴とするテスト回路。
  6. 請求項5において、
    テスト回路に対して第1のマクロブロックと共にスキャンパスが設定され、
    前記第1のテストモードが、
    前記スキャンパスを用いてスキャン手法でテストを行うスキャンモードであることを特徴とするテスト回路。
  7. 請求項6において、
    第1のマクロブロックからテスト回路への出力信号の本数がI本であり、テスト回路から第1のマクロブロックへの入力信号の本数がJ本(I>J)である場合に、第1のセレクタからのI本の出力信号のうちの(I−J)本の出力信号を保持する(I−J)個のダミーのスキャン用フリップフロップを含み、
    前記スキャンモード時において、前記ダミーのスキャン用フリップフロップが、保持された出力信号をスキャンパスを介して出力することを特徴とするテスト回路。
  8. 請求項1乃至7のいずれかのテスト回路と、
    前記第1のマクロブロックと、
    前記第2のマクロブロックと、
    を含むことを特徴とする集積回路。
  9. 第1のマクロブロックとの間での送受信処理を第1のクロック周波数で行う第2のマクロブロックを、テスト用送信バッファとテスト用受信バッファを含むテスト回路を用いてテストするテスト方法であって、
    テスト入力端子からの送信データ信号を、第1のクロック周波数よりも遅い第2のクロック周波数でテスト用送信バッファに蓄積し、送信データ信号を蓄積した後に、蓄積した送信データ信号を、データ通信用の物理層回路を含む第2のマクロブロックに対して第1のクロック周波数で出力し、
    第2のマクロブロックからの受信データ信号を、第1のクロック周波数でテスト用受信バッファに蓄積し、受信データ信号を蓄積した後に、蓄積した受信データ信号を、第1のクロック周波数よりも遅い第3のクロック周波数でテスト出力端子に出力することを特徴とするテスト方法。
  10. 請求項9において、
    送信データ信号を受けた第2のマクロブロックが、ループバックモードで送受信処理を行い、ループバックモードで受信した受信データ信号を第1のクロック周波数で出力した場合に、出力された受信データ信号を第1のクロック周波数でテスト用受信バッファに蓄積し、蓄積した受信データ信号を第3のクロック周波数でテスト出力端子に出力することを特徴とするテスト方法。
  11. 請求項9又は10において、
    前記テスト回路が、第2のマクロブロックとの間で所定の通信手順で送受信処理を行うための通信シーケンサを含み、
    前記通信シーケンサを用いて、テスト用送信バッファに蓄積された送信データ信号を第1のクロック周波数で第2のマクロブロックに送信し、
    前記通信シーケンサを用いて、第2のマクロブロックからの受信データ信号を第1のクロック周波数でテスト用受信バッファに受信することを特徴とするテスト方法。
  12. 請求項9乃至11のいずれかにおいて、
    前記テスト回路が、
    その第1の入力に、第1のマクロブロックからの出力信号が入力され、その第2の入力に、テスト用送信バッファからの送信データ信号が入力される第1のセレクタと、
    その第1の入力に、第1のセレクタからの出力信号が入力され、その第2の入力に、第2のマクロブロックからの受信データ信号が入力される第2のセレクタとを含み、
    第2のマクロブロックをテストする第2のテストモード時には、
    前記第1のセレクタの第2の入力に入力された送信データ信号を、第2のマクロブロックに出力し、
    前記第2のセレクタの第2の入力に入力された第2のマクロブロックからの受信データ信号を、テスト用受信バッファに出力することを特徴とするテスト方法。
  13. 請求項12において、
    第1のマクロブロックをテストする第1のテストモード時には、
    前記第1のセレクタの第1の入力に入力された第1のマクロブロックからの出力信号を、第2のセレクタの第1の入力に出力し、
    前記第2のセレクタの第1の入力に入力された第1のセレクタからの出力信号を、第1のマクロブロックに出力することを特徴とするテスト方法。
  14. 請求項13において、
    テスト回路に対して第1のマクロブロックと共にスキャンパスを設定し、
    前記第1のテストモード時において、スキャンパスを用いてスキャン手法でテストを行うことを特徴とするテスト方法。
  15. 請求項14において、
    第1のマクロブロックからテスト回路への出力信号の本数がI本であり、テスト回路から第1のマクロブロックへの入力信号の本数がJ本(I>J)である場合に、第1のセレクタからのI本の出力信号のうちの(I−J)本の出力信号をダミーのスキャン用フリップフロップに保持し、
    前記スキャンモード時において、保持された出力信号をスキャンパスを介して出力することを特徴とするテスト方法。
JP2003022274A 2003-01-30 2003-01-30 テスト回路、集積回路及びテスト方法 Expired - Fee Related JP3632692B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003022274A JP3632692B2 (ja) 2003-01-30 2003-01-30 テスト回路、集積回路及びテスト方法
US10/766,038 US7310754B2 (en) 2003-01-30 2004-01-29 Integrated test circuit, a test circuit, and a test method for performing transmission and reception processing to and from a first and a second macro block at a first frequency
CNA2004100393736A CN1519575A (zh) 2003-01-30 2004-01-30 测试电路、集成电路及测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003022274A JP3632692B2 (ja) 2003-01-30 2003-01-30 テスト回路、集積回路及びテスト方法

Publications (2)

Publication Number Publication Date
JP2004233202A JP2004233202A (ja) 2004-08-19
JP3632692B2 true JP3632692B2 (ja) 2005-03-23

Family

ID=32951386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003022274A Expired - Fee Related JP3632692B2 (ja) 2003-01-30 2003-01-30 テスト回路、集積回路及びテスト方法

Country Status (3)

Country Link
US (1) US7310754B2 (ja)
JP (1) JP3632692B2 (ja)
CN (1) CN1519575A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005227144A (ja) * 2004-02-13 2005-08-25 Shimadzu Corp 分析機器用コントローラ
EP1820037B1 (en) * 2004-11-29 2009-02-11 Nxp B.V. Integrated circuit self-test architecture
US7437591B1 (en) * 2005-01-18 2008-10-14 Altera Corporation Method and apparatus for hardware timing optimizer
US7689897B2 (en) * 2005-05-19 2010-03-30 Freescale Semiconductor, Inc. Method and device for high speed testing of an integrated circuit
US7216279B2 (en) * 2005-07-19 2007-05-08 Lsi Logic Corporation Testing with high speed pulse generator
JP4422134B2 (ja) 2006-09-29 2010-02-24 Okiセミコンダクタ株式会社 Usbテスト回路
KR20080061961A (ko) * 2006-12-28 2008-07-03 주식회사 하이닉스반도체 테스트 제어 회로 및 그를 포함하는 반도체 메모리 장치
US20080159157A1 (en) * 2006-12-31 2008-07-03 Radhakrishnan Nair Method for Configuring a USB PHY to Loopback Mode
WO2008082553A2 (en) * 2006-12-31 2008-07-10 Sandisk Corporation Method and apparatus for configuring a usb phy to loopback mode
US20080163012A1 (en) * 2006-12-31 2008-07-03 Radhakrishnan Nair Apparatus for Configuring a USB PHY to Loopback Mode
JP2009026051A (ja) * 2007-07-19 2009-02-05 Oki Electric Ind Co Ltd システムlsi
US7805648B2 (en) * 2008-04-07 2010-09-28 Open-Silicon Inc. Shift-frequency scaling
US8543873B2 (en) * 2010-01-06 2013-09-24 Silicon Image, Inc. Multi-site testing of computer memory devices and serial IO ports
US8479070B2 (en) * 2010-06-24 2013-07-02 International Business Machines Corporation Integrated circuit arrangement for test inputs
KR101268852B1 (ko) 2011-09-21 2013-05-29 포항공과대학교 산학협력단 유에스비 주변 장치 및 그의 송신 전력 감소 방법
TWI452315B (zh) * 2013-01-17 2014-09-11 Test Research Inc 功能測試治具、系統及方法
CN104063593B (zh) * 2014-06-18 2017-01-18 电子科技大学 一种板级电路测试性指标计算方法
WO2015198367A1 (ja) * 2014-06-25 2015-12-30 富士通株式会社 集積回路のテスト回路、情報処理装置および集積回路のテスト方法
US10156606B2 (en) * 2016-01-05 2018-12-18 Test Research, Inc. Multi-chassis test device and test signal transmission apparatus of the same
US10088525B2 (en) * 2016-02-11 2018-10-02 Texas Instruments Incorporated Non-interleaved scan operation for achieving higher scan throughput in presence of slower scan outputs
US10393803B2 (en) * 2017-08-31 2019-08-27 Micron Technology, Inc. Memory loopback systems and methods
KR20210029532A (ko) 2019-09-06 2021-03-16 삼성전자주식회사 연결 인터페이스의 연결 상태를 검출하기 위한 전자 장치 및 방법
CN114201347B (zh) * 2021-11-19 2023-10-31 成绎半导体(苏州)有限公司 一种集成电路芯片在测试模式下的通信方法
CN115932667B (zh) * 2023-01-09 2024-01-12 广东氧迪力电气科技有限公司 电气元器件接线关系检测方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09127199A (ja) * 1995-10-30 1997-05-16 Toshiba Corp 論理回路及びその試験方法
US5787114A (en) * 1996-01-17 1998-07-28 Lsi Logic Corporation Loop-back test system and method
US6286119B1 (en) * 1998-12-22 2001-09-04 Nortel Networks Limited Delay fault testing with IEEE 1149.1
JP3485106B2 (ja) 2001-05-11 2004-01-13 セイコーエプソン株式会社 集積回路装置
US6671839B1 (en) * 2002-06-27 2003-12-30 Logicvision, Inc. Scan test method for providing real time identification of failing test patterns and test bist controller for use therewith

Also Published As

Publication number Publication date
CN1519575A (zh) 2004-08-11
US7310754B2 (en) 2007-12-18
US20040268193A1 (en) 2004-12-30
JP2004233202A (ja) 2004-08-19

Similar Documents

Publication Publication Date Title
JP3632692B2 (ja) テスト回路、集積回路及びテスト方法
JP3632691B2 (ja) テスト回路、集積回路及びテスト方法
JP3851782B2 (ja) 半導体集積回路及びそのテスト方法
TWI506291B (zh) 積體電路及於積體電路中建立掃描測試架構之方法
KR100337413B1 (ko) 내부 집적 회로 버스를 포함하는 글로벌 직렬 버스에 제작시험 인터페이스를 연결하는 방법 및 장치
US20070220456A1 (en) On-chip test circuit and method for testing of system-on-chip (SOC) integrated circuits
KR100430074B1 (ko) 시스템칩 테스트 접근을 위한 랩드 코아 연결 모듈
US20050204228A1 (en) Low power scan & delay test method and apparatus
US7078929B1 (en) Interface controller using JTAG scan chain
JP2006250824A (ja) 半導体集積回路およびその半導体集積回路におけるデータ解析方法
KR100915822B1 (ko) 바운더리 스캔 테스트 회로 및 바운더리 스캔 테스트 방법
US20020059547A1 (en) Semiconductor integrated circuit including a test facilitation circuit for functional blocks intellectual properties and automatic insertion method of the same test facilitation circuit
JP2004110265A (ja) 半導体集積回路のテスト容易化方法
JP4806747B2 (ja) シリアライザ/デシリアライザ・バスコントローラ・インターフェース
WO2012042586A1 (ja) 集積回路
Nejedlo IBIST/spl trade/(interconnect built-in-self-test) architecture and methodology for PCI Express
JP2002181903A (ja) 試験アーキテクチャ
CN105988080A (zh) 建立扫描测试架构的方法和集成电路与电子装置
JP4610919B2 (ja) 半導体集積回路装置
US20050013356A1 (en) Methods and apparatus for providing test access to asynchronous circuits and systems
US7257654B1 (en) PCI bridge device configured for using JTAG scan for writing internal control registers and outputting debug state
CN115562925B (zh) 一种芯片接口测试系统、方法、设备及存储介质
JP4416469B2 (ja) 半導体集積回路およびその設計方法
JP2001177064A (ja) 診断回路及び半導体集積回路
JP2001153928A (ja) バウンダリスキャン回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041116

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: 20041130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041213

R150 Certificate of patent or registration of utility model

Ref document number: 3632692

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100107

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120107

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120107

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130107

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130107

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees