JPWO2006132329A1 - マイクロコンピュータ及びそのテスト方法 - Google Patents

マイクロコンピュータ及びそのテスト方法 Download PDF

Info

Publication number
JPWO2006132329A1
JPWO2006132329A1 JP2007520166A JP2007520166A JPWO2006132329A1 JP WO2006132329 A1 JPWO2006132329 A1 JP WO2006132329A1 JP 2007520166 A JP2007520166 A JP 2007520166A JP 2007520166 A JP2007520166 A JP 2007520166A JP WO2006132329 A1 JPWO2006132329 A1 JP WO2006132329A1
Authority
JP
Japan
Prior art keywords
flip
flop
clock
data
test data
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.)
Granted
Application number
JP2007520166A
Other languages
English (en)
Other versions
JP4701244B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2007520166A priority Critical patent/JP4701244B2/ja
Publication of JPWO2006132329A1 publication Critical patent/JPWO2006132329A1/ja
Application granted granted Critical
Publication of JP4701244B2 publication Critical patent/JP4701244B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/2801Testing of printed circuits, backplanes, motherboards, hybrid circuits or carriers for multichip packages [MCP]
    • G01R31/281Specific types of tests or tests for a specific type of fault, e.g. thermal mapping, shorts testing
    • G01R31/2812Checking for open circuits or shorts, e.g. solder bridges; Testing conductivity, resistivity or impedance
    • 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/2801Testing of printed circuits, backplanes, motherboards, hybrid circuits or carriers for multichip packages [MCP]
    • G01R31/281Specific types of tests or tests for a specific type of fault, e.g. thermal mapping, shorts testing
    • G01R31/2815Functional tests, e.g. boundary scans, using the normal I/O contacts
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Microcomputers (AREA)

Abstract

【課題】 ボードレベルで、ASIC内部のソースシンクロナスインターフェイスのアットスピードテストを実現する。【解決手段】 ソースシンクロナスインターフェイスにより接続された複数のICを搭載するマイクロコンピュータ(ASIC)において、データの送り側のICでは、まず、データ送出用のフリップフロップF1および同期クロック送出用のフリップフロップF2がテストデータを入力する。次に、実動作における動作クロックを発信するPLL回路11がクロック信号を発信し、このクロック信号にしたがって、第1のフリップフロップおよび第2のフリップフロップがテストデータおよび同期クロックを送出する。一方、データの受け取り側のICでは、データ受け取り用のフリップフロップF3、F4が、フリップフロップF2から送出された同期クロックにしたがってフリップフロップF1から送出されたテストデータを取り込む。

Description

本発明は、LSIのテストに関し、特にLSIの実動作状態でボードレベルのインターコネクトテストを実現するための回路構成およびそのテスト方法に関する。
特定の用途のために設計・製造されるASIC(Application Specific Integrated Circuit)を実装したボードでは、その製造時に、ボードの良品・不良品を検査する手法と
して、JTAGによるバウンダリスキャンテスト(Boundary Scan Test)が広く行われている。このJTAGによりボードレベルのインターコネクトテストを行う場合、ASICの本来の動作を実行する回路(以下、ユーザ回路)を動作させることなく、JTAG回路のみを用いて行われる。これにより、ユーザ回路の回路構成に関わらず汎用的にテストを実施することが可能である。テスト方法としては、IEEE1149のEXTESTというテストがある(例えば非特許文献1参照)。
ところで、今日、高速ASICのI/O(Input/Output)インターフェイスは、HS
Sまたはソースシンクロナスタイプが主に用いられている。ソースシンクロナスインターフェイス(I/O回路)は、高速動作に適しており、DDR(Double Data Rate)やQDR(Quad Data Rate)などのSDRAM(Synchronous Dynamic Random Access Memory)や各種の高速CPUバスで用いられる。このインターフェイスは、チップデータと同時にラッチするためのクロックを送り側(以下、TR側)チップから受け取り側(以下、REC側)チップへ送る。
このような高速に動作する回路では、テストにおいても、論理の正否を確認するEXTESTのような静的なテストだけではなく、実動作状態でのテスト(アットスピードテスト、At speed test)を実施することが重要と考えられる。
従来は、ASICのボード設計者、システム設計者およびマイクロコード設計者がテスト用プログラムを開発してシステムレベルテストを行うことにより、ボードレベルのソースシンクロナスインターフェイスのアットスピードテストが行われていた。
IEEE STD1149.1−1990, "IEEE Standard Test Access Port and Boundary-Scan Architecture", published by IEEE, Inc., 345 East 47th Street, NY 10017, USA
上述したように、高速で動作するASICのソースシンクロナスインターフェイスにおおいては、アットスピードテストを実行することが望まれる。しかし従来は、このインターフェイスに対してボードレベルでアットスピードテストを行う汎用的な方法は存在しなかった。
また上述したように、システムレベルテストにより、ボードレベルでアットスピードテストが事実上行われるのであるが、この場合、次のような問題があった。システムレベルテストで結果がフェイルであった時、デバッグを行うことになるが、ソースシンクロナスインターフェイスに問題がある場合、このデバッグが容易ではない。なぜなら、インターフェイスの不良によりデータが化けるだけで、チップ内の状態レジスタは正常だからである。すなわち、コントロール信号は正しく動作するが、観察されるデータだけがおかしいということになる。したがって、問題の原因を特定することが非常に困難であった。
そこで本発明は、システムレベルテストによらずに、ボードレベルで、ASIC内部のソースシンクロナスインターフェイスのアットスピードテストを実行するための汎用的な仕組み(回路構成および動作方法)を実現することを目的とする。
上記の目的を達成する本発明は、次のような構成のマイクロコンピュータとして実現される。このマイクロコンピュータは、ソースシンクロナスインターフェイスにより接続された複数のIC(Integrated Circuit)を搭載する。そして、ソースシンクロナスインターフェイスによるデータの送り側のICは、実動作における動作クロックを発信するPLL(Phase-Locked Loop)回路と、このPLL回路から発信された動作クロックにしたが
って、テストデータを送出する第1のフリップフロップと、このPLL回路から発信された動作クロックにしたがって、ソースシンクロナスにおける同期クロックを送出する第2のフリップフロップとを備える。一方、ソースシンクロナスインターフェイスによるデータの受け取り側のICは、第2のフリップフロップから送出された同期クロックにしたがって第1のフリップフロップから送出されたテストデータを取り込む第3のフリップフロップを備える。
より詳しくは、送り側のICは、PLL回路から発信される動作クロックから2つのパルス信号を抽出する2パルス生成回路をさらに備える。そして、第1のフリップフロップは、この2パルス生成回路で抽出された2つのパルス信号にしたがって、テストデータを送出する。同様に、第2のフリップフロップは、2パルス生成回路で抽出された2つのパルス信号にしたがって、同期クロックを送出する。
さらに詳しくは、送り側のICの第1のフリップフロップは、第2のフリップフロップが送出する同期クロックよりも2つのパルス信号の半サイクル分遅らせてテストデータを送出する。あるいは、この第1のフリップフロップは、第2のフリップフロップが送出する同期クロックと同じクロックエッジでテストデータを送出する。後者の場合、受け取り側のICは、DDL(Digital Delay Line)回路等の遅延手段を備え、受信した同期クロックをπ/2だけ遅らせて第3のフリップフロップに供給する。
この送り側のICの第1のフリップフロップは、セット/リセット付きフリップフロップで構成することができる。この場合、送り側のICは、JTAG TEST DATA RESISTER(以下JTAG_TDR、非特許文献1参照)をさらに備え、このJTAG_TDRに保持される値に応じて、第1のフリップフロップをセットまたはリセットすることにより、この第1のフリップフロップにテストデータを保持させる。また、送り側のICの第1のフリップフロップによって構成されるスキャンチェーンを介してテストデータをスキャンシフトすることにより、第1のフリップフロップにテストデータを入力する構成とすることも可能である。
また本発明は、マイクロコンピュータのテスト方法としても把握される。このテストの対象であるマイクロコンピュータは、ソースシンクロナスインターフェイスにより接続された複数のICを搭載する。そして、ソースシンクロナスインターフェイスによるデータの送り側のICにおいて、データ送出用の第1のフリップフロップおよび同期クロック送出用の第2のフリップフロップに初期値を設定するステップと、実動作における動作クロックを発信するPLL回路からクロック信号を発信し、このクロック信号にしたがって、第1のフリップフロップおよび第2のフリップフロップから初期値のデータおよび同期クロックを送出するステップとを含み、かつ、ソースシンクロナスインターフェイスによるデータの受け取り側のICにおいて、データ受け取り用の第3のフリップフロップが、第2のフリップフロップから送出された同期クロックにしたがって第1のフリップフロップから送出された初期値のデータを取り込むステップを含む。
ここで、第1、第2のフリップフロップに初期値を設定するステップは、これら第1、第2のフリップフロップに対応して設けられたJTAG_TDRに所定の値を保持させるステップと、このJTAG_TDRが保持する値に応じて対応する第1、第2のフリップフロップをセットまたはリセットすることによりこれら第1、第2のフリップフロップの初期値を設定するステップとを含む。あるいは、この第1、第2のフリップフロップに初期値を設定するステップでは、スキャンチェーンを構成する第1、第2のフリップフロップに対して、スキャンチェーンを介してテストデータをスキャンシフトすることにより、初期値を設定する。
さらに本発明は、ソースシンクロナスインターフェイスにより接続された複数のICを搭載するマイクロコンピュータに対する次のようなテスト方法としても把握される。このテスト方法は、ソースシンクロナスインターフェイスによるデータの送り側のフリップフロップが、テストデータを入力し保持するステップと、実動作における動作クロックを発信するPLL回路からクロック信号が発信され、クロック信号にしたがって、送り側のフリップフロップに保持されているテストデータおよびソースシンクロナスにおける同期クロックが送出されるステップと、ソースシンクロナスインターフェイスによるデータの受け取り側のフリップフロップが、同期クロックにしたがってテストデータを取り込むステップとを含む。
ここで、送り側のフリップフロップがテストデータを入力するステップは、この送り側のフリップフロップに対応して設けられたJTAG_TDRに所定の値を保持させるステップと、このJTAG_TDRが保持する値に応じて対応する送り側のフリップフロップをセットまたはリセットすることにより送り側のフリップフロップにテストデータを保持させるステップとを含む。あるいは、この送り側のフリップフロップがテストデータを入力するステップでは、スキャンチェーンを構成する送り側のフリップフロップに対して、スキャンチェーンを介してテストデータをスキャンシフトすることにより、送り側のフリップフロップにテストデータを保持させる。
上記のように構成された本発明によれば、ASIC内部のソースシンクロナスインターフェイスで接続されたチップ間で、実動作と同じクロック信号にしたがってデータを伝送することができる。その後、受け取り側チップに設けた観測用のJTAG_TDRを用いてデータの伝送結果を取り出し評価することにより、システムレベルテストによらずに、ボードレベルでアットスピードテストを行うことが可能となる。
また、このテスト方法によれば、チップ間の各接続経路を伝送したデータを個別に評価できるため、システムレベルテストとは異なり、問題が発見された場合に、容易に、その原因を特定することが可能となる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
まず、本発明の概要を説明する。本発明のテストは、ASIC上の複数のチップ(回路)に対して、データのやり取りが行われる(ソースシンクロナスに関わる)2つのチップの組ごとに着目し、TR(送り)側のチップからREC(受け取り)側のチップへの伝送をテストする。このテストでは、まずTR側チップおよびREC側チップ双方のソースシンクロナスに関わるフリップフロップが所定の値に初期化される。次に、実動作と同じスピードのクロックによってソースシンクロナスインターフェイスが駆動し、TR側フリップフロップの値(テストデータ)がREC側フリップフロップに伝送される。そして、REC側フリップフロップに格納された結果が読み出されて観測される。
このように、本発明では、ソースシンクロナスインターフェイスにおいて、実動作と同じスピードでテストデータが伝送されるため、アットスピードテストが実現される。テストで用いられるソースシンクロナスに関わるフリップフロップは、JTAG_TDRを共有させる方法も可能である場合がある。
ところで、ソースシンクロナスを実現する方式として、(a)TR側がデータとクロックを半サイクルずらして送り出す方式と、(b)TR側がデータとクロックを同じクロックエッジで送り出す方式とがある。このうち、(b)方式では多くの場合、REC側チップにおいて、DDL(Digital Delay Line)回路などの遅延手段により同期クロックをπ/2(90度)遅らせることによって、クロックエッジとデータのタイミングをずらし(以下、クロックをπ/2ずらす装置をDDLと総称する)、この同期クロックによりデータをフリップフロップにラッチする。
また、ソースシンクロナスに関わるフリップフロップに初期値(テストデータ)をセットする方法としては、ソースシンクロナスに関わるフリップフロップとしてセット/リセット付きフリップフロップを用い、セット/リセット信号を使って初期値をセットする方法がある。さらに、ソースシンクロナスを上記(b)方式で実現する場合、TR側フリップフロップはJTAG_TDRをシェアさせる(すなわち、JTAGでデータをシフトする手法を用いてTR側フリップフロップに初期値をセットする)方法を行うことができる。したがって、本発明のテストを実現するために3種類の回路構成を想定することができる。以下、これらの回路構成に応じて第1−第3の実施形態を挙げ、本発明を説明する。
<第1の実施形態>
第1の実施形態では、ソースシンクロナスを実現する方式として、TR側がデータとクロックを半サイクルずらして送り出す方式が用いられる場合について説明する。
図1は、本実施形態が適用されるソースシンクロナスに関わる回路の全体構成を示す図である。図1において、チップAがTR側チップ、チップBがREC側チップである。図1には、ソースシンクロナスに関わる回路部分のみが記載されているが、実際には、チップA、B共に、各々のシステム回路が存在していることは言うまでもない。なお、図1に示すチップA、チップBの別は、TR側チップであるかREC側チップであるかを示すに過ぎない。すなわち、ASIC内の各チップが、ソースシンクロナスインターフェイスにおける立場(TR側かREC側か)に応じて、チップAまたはチップBとなる。
チップAにおいて、FF_TはTR側フリップフロップである。本実施形態で、TR側フリップフロップはセット/リセット付きフリップフロップであり、図8にその構成を示す。また、チップBにおいて、FF_RはREC側フリップフロップである。REC側フリップフロップもセット/リセット付きフリップフロップであり、図9にその構成を示す。チップA、BのTDR_FFはJTAG_TDRであり、図10にその構成を示す。
図2は、図1に示した回路において、本実施形態の対象となる最も基本的なソースシンクロナスの回路要素を示す図である。図2には、ソースシンクロナスに関わるフリップフロップとして、チップA(TR側)にデータ送信用のフリップフロップF1と、同期クロック送信用のフリップフロップF2が示されており、チップB(REC側)にデータ受け取り用のF3およびF4が示されている。REC側フリップフロップF3、F4のうち、フリップフロップF3は、フリップフロップF2から送信される同期クロックの立ち上がりでフリップフロップF1から送信されるデータを取り込む。また、フリップフロップF4は、フリップフロップF2から送信される同期クロックの立ち下がりでフリップフロップF1から送信されるデータを取り込む。
図2には、1つの同期クロック送信用フリップフロップF2に対して1つずつのフリップフロップF1、F3、F4が図示されているが、実際には、1つの同期クロック送信用フリップフロップF2に対して数個のデータ送信用フリップフロップF1が設けられ、チップBにはフリップフロップF1に対応する数のフリップフロップF3、F4が設けられる(図1参照)。そして、チップA、Bには、このようなフリップフロップF1−F4のセットが数セット設けられる。例えば、フリップフロップF2に対して8個ずつのフリップフロップF1、F3、F4が設けられ、そのようなフリップフロップF1−F4のセットがチップA、Bに4セットあるならば、このチップA、B間のデータの転送レートは32ビット(=8ビット×4)/クロックエッジである。
また、これら複数のTR側フリップフロップF1、F2は、チップA内部で製造テスト用のスキャンチェーンを構成し、チップA上に設けられた入力端子(スキャンイン)および出力端子(スキャンアウト)に接続される。同様に、REC側フリップフロップF3、F4は、チップB内部でスキャンチェーンを構成し、チップB上に設けられた入力端子(スキャンイン)および出力端子(スキャンアウト)に接続される。本実施形態におけるフリップフロップF1、F2、F3、F4は、それぞれ対応するJTAG_TDRであるTDR_FF(図1参照)の出力によりセット/リセットされる。また、F1、F2、F3、F4はMUXSCAN設計用フリップフロップであって、本テスト時には、F1、F2は選択信号SE=‘1’であり、F3、F4は選択信号SE=‘0’である。後述する他の実施形態を説明した図13、図18においても同様である。
チップAのフリップフロップF1、F2についてさらに説明する。
データ転送用のTR側フリップフロップF1は、TDR_FFの制御により値(テストデータ)をセットされる。そして、マルチプレクサM1が制御信号SG_P=「1」を入力することでフリップフロップF1自身の出力を反転して再入力し、さらにPLL(Phase-Locked Loop)回路11からのクロック信号CLK2のフォーリングエッジにて、保持
している値を出力する(DATAOUT)。
一方、同期クロック送信用のTR側フリップフロップF2は、TDR_FFの制御により初期値をセットされる。そして、マルチプレクサM2が制御信号SG_P=「1」を入力することでフリップフロップF2自身の出力を反転して再入力し、さらにPLL回路11からのクロック信号CLK2をそのまま入力することによって、保持している値を同期クロックとして出力する(CLKOUT)。この構成により、フリップフロップF1の出力DATAOUTと、フリップフロップF2の出力CLKOUTとは、クロック信号CLK2の半サイクル分ずれることとなる。
ここで、PLL回路11から出力されるクロック信号CLK2は、実動作においてチップAの動作を制御する動作クロックと同じ周波数のクロック信号である。
次に、チップBのフリップフロップF3、F4についてさらに説明する。
データ受信用のREC側フリップフロップF3は、TDR_FFの制御により初期値をセットされる。そして、チップAから受信したCLKOUTを動作クロックSTB_clkとして反転せずそのまま入力し、これに応じてチップAから受信したDATAOUTを取り込む。これにより、フリップフロップF3からDATAOUTの値(テストデータ)が出力され(DP)、後に観測用のTDR_DPにラッチされる。
一方、もう一つのデータ受信用のREC側フリップフロップF4は、TDR_FFの制御により初期値をセットされる。そして、チップAから受信した同期クロックCLKOUTを動作クロックSTB_clkとして反転して入力し、これに応じてチップAから受信したDATAOUTを取り込む。これにより、フリップフロップF4からDATAOUTの値(テストデータ)が出力され(DN)、後に観測用のTDR_DNにラッチされる。
図3は、フリップフロップF3における信号波形を示す図である。
図3を参照すると、チップAのPLL回路11による2つのクロック信号CLK2のうち、1つめの立ち上がりでフリップフロップF2から同期クロック(CLKOUT)が出力され、STB_clkが立ち下がっている。そして、この1つめのクロック信号CLK2の立ち下がりでフリップフロップF1からテストデータ(DATAOUT)が出力されている。次に、2つめのクロック信号CLK2の立ち上がりで同期クロックの出力が終わってSTB_clkが立ち上がり、これによりテストデータの値がチップBのフリップフロップF3に取り込まれている(DP)。なお、図示の(F1=‘0’)は、TDR_FFによってF1が「0」に初期化されることを意味する。以下同様である。
図4は、フリップフロップF4における信号波形を示す図である。
図4を参照すると、チップAのPLL回路11による2つのクロック信号CLK2のうち、1つめの立ち上がりでフリップフロップF2から同期クロック(CLKOUT)が出力され、STB_clkが立ち上がっている。そして、この1つめのクロック信号CLK2の立ち下がりでフリップフロップF1からテストデータ(DATAOUT)が出力されている。次に、2つめのクロック信号CLK2の立ち上がりで同期クロックの出力が終わってSTB_clkが立ち下がり、これによりテストデータの値がチップBのフリップフロップF4に取り込まれている(DN)。
次に、本実施形態におけるソースシンクロナスに関わるフリップフロップF1−F4に対する初期値の設定方法について説明する。
図5は、チップAのフリップフロップF1、F2を初期化する回路の構成を示す図である。図示のセット/リセット付きフリップフロップは、図2に示したチップAのフリップフロップF1またはフリップフロップF2である。図5において、まずTDR_FFに値が格納される。そして、UpdateDR_L=「1」で、TDR_FFに格納された値により、フリップフロップF1、F2がセットあるいはリセットされる。UpdateDR_Lという信号は、図11のように生成される。以下、同様である。図示の例では、TDR_FFの値が「1」であればフリップフロップF1、F2はリセットされ、TDR_FFの値が「0」であればフリップフロップF1、F2はセットされる。なお、図11は、非特許文献1のFig 5−5を参照しており、図中のA、B、C、D信号の生成、回
路表記方法は、Fig5−5に準じている。
以上はチップAのフリップフロップF1、F2の初期化方法の説明であるが、本実施形態では、チップBのフリップフロップF3、F4も同様の構成であり、チップBにおけるTDR_FFによりセットあるいはリセットされる。そのため、図中では、F1、F2(F3、F4)と表記した。
再度図1を参照し、本実施形態によるテストの対象であるソースシンクロナスに関わるフリップフロップを含むチップレベルの接続関係を説明する。
まずTR側のチップAを参照すると、このチップAには、上述したFF_TおよびTDR_FFの他に、動作クロックを発信する動作クロック発信部としてのPLL回路11および本テスト用のPLLコントローラ12と、PLL回路11から発信される動作クロックから2パルスを抽出して出力する2パルス生成部13と、JTAGの制御を行うためのTAPコントローラ14と、インストラクションレジスタ(Instruction Register:IR)15とを備える。そして、TAPコントローラ14およびインストラクションレジスタ15の出力は、インストラクションデコーダおよびゲートA1、A2、A3を経て、TDR_FF、FF_T、2パルス生成部13等に供給される。
PLLコントローラ12は、本テストに割り当てられたJTAGインストラクションのビット列(以下テストビット)がインストラクションレジスタ15に格納された後、PLL回路11が実動作と同じ周波数で発信するように制御する。
ANDゲートA1は、テストビットがインストラクションレジスタ15に格納され、ShiftDR=「1」である場合に、TCKをTDR_FFに供給する。
ANDゲートA2は、テストビットがインストラクションレジスタ15に格納され、UpdateDR_L=「1」である場合に、FF_Tをセットまたはリセットするための制御信号をTDR_FFから供給する。FF_Tがセットされるかリセットされるかは、上述したようにTDR_FFにセットされている値による。これにより、FF_Tの初期値が決まる。
ANDゲートA3は、テストビットがインストラクションレジスタ15に格納され、RunTestIdle=‘1’(図11参照)で、FF_Tに対して内部をループ状態にする制御信号SG_Pを供給し、さらに2パルス生成部13に対してPLL回路11の出力から2パルスを取り出すためのトリガー信号を供給する。
次に、REC側のチップBを参照すると、このチップBには、上述したFF_RおよびTDR_FFの他に、JTAGの制御を行うためのTAPコントローラ21と、インストラクションレジスタ22とを備える。TAPコントローラ21およびインストラクションレジスタ22の出力は、インストラクションデコーダおよびゲートA4、A5を経てTDR_FF等に供給される。
ANDゲートA4は、テストビットがインストラクションレジスタ22に格納され、ShiftDR=「1」である場合に、マルチプレクサM1、M2に対して「1」のデータを選択させる制御信号を供給する。マルチプレクサM1、M2が「1」のデータを選択することで、テスト用クロックTCKによりTDI(テストデータイン)−TDO(テストデータアウト)のパスでスキャンが行われ、TDR_FFに値がセットされる。
ANDゲートA5は、テストビットがインストラクションレジスタ22に格納され、UpdateDR_L=「1」で、FF_Rをセットまたはリセットするための制御信号をTDR_FFに供給する。FF_Rがセットされるかリセットされるかは、上述したようにTDR_FFにセットされている値による。これにより、FF_Rの初期値が決まる。 また、TAPコントローラ21は、TDR_FFを動作制御するためのクロック信号ClockDRを供給している。
次に、以上のように構成された回路によるテストの動作について説明する。
図6は、チップAおよびチップBにおけるテスト実行時の信号波形を示す図、図7は、テストの概略的な流れを示すフローチャートである。
本実施形態のテストは、大きく分けて、ソースシンクロナスに関わるフリップフロップ(TR側、REC側とも)に初期値を設定するフェーズ、実動作と同じスピードでソースシンクロナスインターフェイスを駆動するフェーズ、テスト結果を取り出すフェーズの3つのフェーズからなる。
図7に示すように、本実施形態のテストでは、まずチップA、Bのインストラクションレジスタ15、22にテストビットが格納される。これをトリガーとして、チップA、BのPLL回路11が動作クロックを発信する(ステップ701)。次に、ソースシンクロナスに関わるフリップフロップ(図1のFF_TおよびFF_R、図2のF1−F4)を任意の値に初期化する(ステップ702)。フリップフロップの初期化の方法は、上述したようにJTAG1149標準の作法に準拠した方法によって行うことができる。図6を参照すると、チップAにおいて、対応するTDR_FFにセットされた値に基づきフリップフロップF1、F2が初期化され、同様にチップBにおいて、対応するTDR_FFにセットされた値に基づきフリップフロップF3、F4が初期化されていることがわかる。
次に、TR側チップAのRunTestIdle=「1」をトリガーとして、2パルス生成部13が、PLL回路11の出力から実動作のクロックと同じスピードの2発のパルスを送出する(ステップ703)。図6を参照すると、FF_Tをループ状態にする制御信号SG_Pが出力され、そのタイミングで2パルス分のクロック信号CLK2が出力されている。なお、RunTestIdleは、図11に示すようにして生成される。
そして、この2パルスにしたがい、フリップフロップF1は、保持しているテストデータを、フリップフロップF2は同期クロックをそれぞれREC側チップBへ送出する(ステップ704)。チップBのフリップフロップF3、F4は、チップAのフリップフロップF1から送られたデータをフリップフロップF2から送られた同期クロックにしたがって取り込む(ステップ705)。
この後、REC側チップBにおいて、フリップフロップF3、F4に取り込まれた値がTDR_DP、TDR_DNにそれぞれClockDRでラッチされ、TDOから取り出されて観察される(ステップ706)。このTDOからのデータの取り出しは、TAPコントローラ14から供給される信号ClockDRを用いて、JTAG1149標準の作法に準拠した方法によって行うことができる。
以上のようにして、ソースシンクロナスに関わるTR側フリップフロップとREC側フリップフロップとの間で、実動作と同じスピードでテストデータが伝送される。そして、REC側に取り込まれた値(テスト結果)を評価することで、ソースシンクロナスインターフェイスのボードレベルでのアットスピードテストが実現される。
<第2の実施の形態>
第2の実施形態では、ソースシンクロナスを実現する方式として、TR側がデータとクロックを同じクロックエッジで送り出す方式が用いられ、かつTR側フリップフロップをTDR_FFの値によりセットリセットを使って初期化する場合について説明する。
図12は、本実施形態が適用されるソースシンクロナスに関わる回路の全体構成を示す図である。図12において、チップAがTR側チップ、チップBがREC側チップである。図12には、ソースシンクロナスに関わる回路部分のみが記載されているが、実際には、チップA、B共に、各々のシステム回路が存在していることは言うまでもない。なお、図12に示すチップA、チップBの別は、TR側チップであるかREC側チップであるかを示すに過ぎない。すなわち、ASIC内の各チップが、ソースシンクロナスインターフェイスにおける立場(TR側かREC側か)に応じて、チップAまたはチップBとなる。 チップA、Bにおいて、FF_TはTR側フリップフロップであり、FF_RはREC側フリップフロップであり、TDR_FFはJTAG_TDRである。これらの構成は、図8、図9および図10に示した第1の実施形態のものと同様である。
図13は、図12に示した回路において、本実施形態の対象となる最も基本的なソースシンクロナスの回路要素を示す図である。図13には、ソースシンクロナスに関わるフリップフロップとして、チップA(TR側)にデータ送信用のフリップフロップF11と、同期クロック送信用のフリップフロップF12が示されており、チップB(REC側)にデータ受け取り用のF13およびF14が示されている。REC側フリップフロップF13、F14のうち、フリップフロップF13は、フリップフロップF12から送信される同期クロックの立ち上がりでフリップフロップF11から送信されるデータを取り込む。また、フリップフロップF14は、フリップフロップF12から送信される同期クロックの立ち下がりでフリップフロップF11から送信されるデータを取り込む。
図13には、1つの同期クロック送信用フリップフロップF12に対して1つずつのフリップフロップF11、F13、F14が図示されているが、実際には、1つの同期クロック送信用フリップフロップF12に対して数個のデータ送信用フリップフロップF11が設けられ、チップBにはフリップフロップF11に対応する数のフリップフロップF13、F14が設けられる(図12参照)。そして、チップA、Bには、このようなフリップフロップF11−F14のセットが数セット設けられる。
また、これら複数のTR側フリップフロップF11、F12は、チップA内部で製造テスト用のスキャンチェーンを構成し、チップA上に設けられた入力端子(スキャンイン)および出力端子(スキャンアウト)に接続される。同様に、REC側フリップフロップF13、F14は、チップB内部でスキャンチェーンを構成し、チップB上に設けられた入力端子(スキャンイン)および出力端子(スキャンアウト)に接続される。本実施形態におけるフリップフロップF11、F12、F13、F14は、それぞれ対応するTDR_FF(図12参照)の出力によりセット/リセットされる。
チップAのフリップフロップF11、F12についてさらに説明する。
データ転送用のTR側フリップフロップF11は、TDR_FFの制御により値(テストデータ)をセットされる。そして、マルチプレクサM1が制御信号SG_P=「1」を入力することでフリップフロップF11自身の出力を反転して再入力し、さらにPLL回路11からのクロック信号CLK2を反転せずそのまま入力することによって、保持している値を出力する(DATAOUT)。
一方、同期クロック送信用のTR側フリップフロップF12は、TDR_FFの制御により初期値をセットされる。そして、マルチプレクサM2が制御信号SG_P=「1」を入力することでフリップフロップF12自身の出力を反転して再入力し、さらにPLL回路11からのクロック信号CLK2を反転せずそのまま入力することによって、保持している値を同期クロックとして出力する(CLKOUT)。この構成により、フリップフロップF11の出力DATAOUTと、フリップフロップF12の出力CLKOUTとは、同じクロックエッジで出力されることとなる。
ここで、PLL回路11から出力されるクロック信号CLK2は、実動作においてチップAの動作を制御する動作クロックである。
次に、チップBのフリップフロップF13、F14についてさらに説明する。
データ受信用のREC側フリップフロップF13は、TDR_FFの制御により初期値をセットされる。次に、チップAから受信したCLKOUTを、DDL回路23で周期をπ/2だけ遅らせ、動作クロックDDL_clkとして反転せずそのまま入力する。そして、この動作クロックDDL_clkに応じてチップAから受信したDATAOUTを取り込む。これにより、フリップフロップF13からDATAOUTの値(テストデータ)が出力され(DP)、後に観測用のTDR_DPにラッチされる。
一方、もう一つのデータ受信用のREC側フリップフロップF14は、TDR_FFの制御により初期値をセットされる。次に、チップAから受信した同期クロックCLKOUTを、DDL回路23で周期をπ/2だけ遅らせ、動作クロックDDL_clkとする。そして、この動作クロックDDL_clkとして反転して入力し、これに応じてチップAから受信したDATAOUTを取り込む。これにより、フリップフロップF14からDATAOUTの値(テストデータ)が出力され(DN)、後に観測用のTDR_DNにラッチされる。
図14は、フリップフロップF13における信号波形を示す図である。
図14を参照すると、チップAのPLL回路11による2つのクロック信号CLK2のうち、1つめの立ち上がりでフリップフロップF11のテストデータ(DATAOUT)とフリップフロップF12の同期クロック(CLKOUT)が同時に出力されている。そして、この同期クロックからπ/2周期だけ遅れてDDL_clkが立ち上がっている。この結果、DDL_clkの立ち上がりのタイミングは、テストデータの真ん中になる。このDLL_clkが立ち上がりにより、テストデータの値がチップBのフリップフロップF13に取り込まれている(DP)。
図15は、フリップフロップF14における信号波形を示す図である。
図15を参照すると、チップAのPLL回路11による2つのクロック信号CLK2のうち、1つめの立ち上がりでフリップフロップF11のテストデータ(DATAOUT)とフリップフロップF12の同期クロック(CLKOUT)が同時に出力されている。そして、この同期クロックからπ/2遅れてDDL_clkが立ち下がっている。この結果、DDL_clkの立ち下がりのタイミングは、テストデータの真ん中になる。このDLL_clkが立ち下がりにより、テストデータの値がチップBのフリップフロップF14に取り込まれている(DN)。
本実施形態において、ソースシンクロナスに関わるフリップフロップF11−F14は、上述したように、第1の実施形態のソースシンクロナスに関わるフリップフロップF1−F4と同じく、TDR_FFの出力によりセット/リセットされる。したがって、図5に示した回路構成により、第1の実施形態と同様の方法でフリップフロップF11−F14の初期値が設定される。
再度図12を参照し、本実施形態によるテストの対象であるソースシンクロナスに関わるフリップフロップを含むチップレベルの接続関係を説明する。
まずTR側のチップAを参照すると、このチップAには、上述したFF_TおよびTDR_FFの他に、動作クロック発信部としてのPLL回路11およびPLLコントローラ12と、PLL回路11から発信される動作クロックから2パルスを抽出して出力する2パルス生成部13と、JTAGの制御を行うためのTAPコントローラ14と、インストラクションレジスタ(Instruction Register:IR)15とを備える。TAPコントローラ14およびインストラクションレジスタ15の出力は、ゲートA1、A2、A3を経て、TDR_FF、FF_T、2パルス生成部13等に供給される。
PLLコントローラ12は、テストビットがインストラクションレジスタ15に格納された後、PLL回路11が実動作と同じ周波数で発信するように制御する。
ANDゲートA1は、テストビットがインストラクションレジスタ15に格納され、ShiftDR=「1」である場合に、TCKをTDR_FFに供給する。
ANDゲートA2は、テストビットがインストラクションレジスタ15に格納され、UpdateDR_L=「1」である場合に、FF_Tをセットまたはリセットするための制御信号をTDR_FFから供給する。FF_Tがセットされるかリセットされるかは、上述したようにTDR_FFにセットされている値による。これにより、FF_Tの初期値が決まる。ここで、図13のフリップフロップF1が含まれるFF_Tの初期値はテストデータとなる。
ANDゲートA3は、テストビットがインストラクションレジスタ15に格納され、RunTestIdle=「1」ならば、FF_Tに対して内部をループ状態にする制御信号SG_Pを供給し、さらに2パルス生成部13に対してPLL回路11の出力から2パルスを取り出すためのトリガー信号を供給する。
次に、REC側のチップBを参照すると、このチップBには、上述したFF_RおよびTDR_FFの他に、JTAGの制御を行うためのTAPコントローラ21と、インストラクションレジスタ22と、同期クロックを遅らせるためのDDL回路23と、DDL回路23および図示しないPLL回路を制御するクロック制御部24とを備える。TAPコントローラ21およびインストラクションレジスタ22の出力は、ゲートA4、A5を経てTDR_FF等に供給される。
クロック制御部24は、テストビットがインストラクションレジスタ22に格納された後、DDL回路23および図示しないPLL回路が実動作と同じ周波数で発信するように制御する。
ANDゲートA4は、テストビットがインストラクションレジスタ22に格納され、ShiftDR=「1」である場合に、マルチプレクサM1、M2に対して「1」のデータを選択させる制御信号を供給する。マルチプレクサM1、M2が「1」のデータを選択することで、テスト用クロックTCKによりTDI(テストデータイン)−TDO(テストデータアウト)のパスでスキャンが行われ、TDR_FFに値がセットされる。
ANDゲートA5は、テストビットがインストラクションレジスタ22に格納され、UpdateDR_L=「1」で、FF_Rをセットまたはリセットするための制御信号をTDR_FFから供給する。FF_Rがセットされるかリセットされるかは、上述したようにTDR_FFにセットされている値による。これにより、FF_Rの初期値が決まる。
TAPコントローラ21のClockDRは、ShiftDR=「1」またはCaptureDR=「1」である場合に、テスト用クロックTCKをTDR_FFに供給する。これにより、TDI−TDOのパスでスキャンが行われたり、FF_Rの格納データがTDR_FFに取り込まれたりする。
以上のように構成された回路によるテストの動作は、図6、7を参照して説明した第1の実施形態における動作とほぼ同様である。
第1の実施形態の動作と第2の実施形態の動作との相異なる点は、以下の点である。
まず、図7のステップ704において、第1の実施形態では、フリップフロップF1から出力されるテストデータとフリップフロップF2から出力される同期クロックの出力タイミングは、半サイクルだけずれている。これに対し、第2の実施形態では、フリップフロップF11から出力されるテストデータとフリップフロップF12から出力される同期クロックとが同じクロックエッジで出力される。
また、図7のステップ705において、第1の実施形態では、フリップフロップF3、F4は、フリップフロップF2から送られた同期クロックにしたがってフリップフロップF1から送られたテストデータを取り込む。これに対し、第2の実施形態では、フリップフロップF11から出力されたテストデータとフリップフロップF12から出力された同期クロックとのクロックエッジが同じタイミングであるため、DLL回路23により同期クロックをπ/2だけ遅らせる。そして、この遅らせた同期クロックにしたがって、フリップフロップF13、F14がテストデータを取り込む。
<第3の実施の形態>
第3の実施形態では、第2の実施形態と同様に、ソースシンクロナスを実現する方式として、TR側がデータとクロックを同じクロックエッジで送り出す方式が用いられる。ただし、第3の実施形態では、TR側フリップフロップをJTAG_TDRとしての役割も持たせることによって、JTAG_TDRに値をセットする方法を用いて初期化する場合について説明する。
図16は、本実施形態が適用されるソースシンクロナスに関わる回路の全体構成を示す図である。図16において、チップAがTR側チップ、チップBがREC側チップである。図16には、ソースシンクロナスに関わる回路部分のみが記載されているが、実際には、チップA、B共に、各々のシステム回路が存在していることは言うまでもない。なお、図16に示すチップA、チップBの別は、TR側チップであるかREC側チップであるかを示すに過ぎない。すなわち、ASIC内の各チップが、ソースシンクロナスインターフェイスにおける立場(TR側かREC側か)に応じて、チップAまたはチップBとなる。
チップA、Bにおいて、FF_TはTR側フリップフロップであり、FF_RはREC側フリップフロップであり、TDR_FFはJTAG_TDRである。本実施形態では、FF_TがTDR_FFの役割を兼ねているので、チップAにTDR_FFは存在しない。このTR側フリップフロップFF_Tの構成を図17に示す。チップBにおけるFF_RおよびTDR_FFの構成は、図9および図10に示した第1の実施形態のものと同様である。
図18は、図16に示した回路において、本実施形態の対象となる最も基本的なソースシンクロナスの回路要素を示す図である。図18には、ソースシンクロナスに関わるフリップフロップとして、チップA(TR側)にデータ送信用のフリップフロップF21と、同期クロック送信用のフリップフロップF22が示されており、チップB(REC側)にデータ受け取り用のF23およびF24が示されている。REC側フリップフロップF23、F24のうち、フリップフロップF23は、フリップフロップF22から送信される同期クロックの立ち上がりでフリップフロップF21から送信されるデータを取り込む。また、フリップフロップF24は、フリップフロップF22から送信される同期クロックの立ち下がりでフリップフロップF21から送信されるデータを取り込む。
図18には、1つの同期クロック送信用フリップフロップF22に対して1つずつのフリップフロップF21、F23、F24が図示されているが、実際には、1つの同期クロック送信用フリップフロップF22に対して数個のデータ送信用フリップフロップF21が設けられ、チップBにはフリップフロップF21に対応する数のフリップフロップF23、F24が設けられる(図16参照)。そして、チップA、Bには、このようなフリップフロップF21−F24のセットが数セット設けられる。
また、これら複数のTR側フリップフロップF21、F22は、チップA内部で製造テスト用のスキャンチェーンを構成し、チップA上に設けられた入力端子(スキャンイン)および出力端子(スキャンアウト)に接続される。同様に、REC側フリップフロップF23、F24は、チップB内部でスキャンチェーンを構成し、チップB上に設けられた入力端子(スキャンイン)および出力端子(スキャンアウト)に接続される。本実施形態におけるフリップフロップF21、F22は、JTAGのスキャンチェーンを介してデータをスキャンシフトすることにより初期値が設定される。一方、フリップフロップF23、F24は、それぞれ対応するTDR_FF(図16参照)の出力によりセット/リセットされる。
チップAのフリップフロップF21、F22についてさらに説明する。
データ転送用のTR側フリップフロップF21は、マルチプレクサM3/1、M1/0ピンを経由するJTAG_TDRのスキャンパスを介して値(テストデータ)をセットされる。そして、マルチプレクサM1が制御信号SG_Pを入力することでフリップフロップF21自身の出力を反転して再入力し、さらにPLL回路11からのクロック信号CLK2を反転せずそのまま入力することによって、保持している値を出力する(DATAOUT)。
一方、同期クロック送信用のTR側フリップフロップF22は、マルチプレクサM4/1、M2/0ピンを経由するJTAG_TDRのスキャンパスを介して初期値をセットされる。そして、マルチプレクサM2が制御信号SG_Pを入力することでフリップフロップF22自身の出力を反転して再入力し、さらにPLL回路11からのクロック信号CLK2を反転せずそのまま入力することによって、保持している値を同期クロックとして出力する(CLKOUT)。この構成により、フリップフロップF21の出力DATAOUTと、フリップフロップF22の出力CLKOUTとは、同じクロックエッジで出力されることとなる。
ここで、PLL回路11から出力されるクロック信号CLK2は、実動作においてチップAの動作を制御する動作クロックである。
次に、チップBのフリップフロップF23、F24についてさらに説明する。
データ受信用のREC側フリップフロップF23は、TDR_FFの制御により初期値をセットされる。次に、チップAから受信したCLKOUTを、DDL回路23で周期をπ/2だけ遅らせ、動作クロックDDL_clkとして反転せずそのまま入力する。そして、この動作クロックDDL_clkに応じてチップAから受信したDATAOUTを取り込む。これにより、フリップフロップF23からDATAOUTの値(テストデータ)が出力され(DP)、後に観測用のTDR_DPにラッチされる。
一方、もう一つのデータ受信用のREC側フリップフロップF24は、TDR_FFの制御により初期値をセットされる。次に、チップAから受信した同期クロックCLKOUTを、DDL回路23で周期をπ/2だけ遅らせ、動作クロックDDL_clkとする。そして、この動作クロックDDL_clkとして反転して入力し、これに応じてチップAから受信したDATAOUTを取り込む。これにより、フリップフロップF24からDATAOUTの値(テストデータ)が出力され(DN)、後に観測用のTDR_DNにラッチされる。
図19は、フリップフロップF23における信号波形を示す図である。
図19を参照すると、チップAのPLL回路11による2つのクロック信号CLK2のうち、1つめの立ち上がりでフリップフロップF21のテストデータ(DATAOUT)とフリップフロップF22の同期クロック(CLKOUT)が同時に出力されている。そして、この同期クロックからπ/2周期だけ遅れてDDL_clkが立ち上がっている。この結果、DDL_clkの立ち上がりのタイミングは、テストデータの真ん中になる。このDLL_clkが立ち上がりにより、テストデータの値がチップBのフリップフロップF23に取り込まれている(DP)。
図20は、フリップフロップF24における信号波形を示す図である。
図20を参照すると、チップAのPLL回路11による2つのクロック信号CLK2のうち、1つめの立ち上がりでフリップフロップF21のテストデータ(DATAOUT)とフリップフロップF22の同期クロック(CLKOUT)が同時に出力されている。そして、この同期クロックからπ/2周期だけ遅れてDDL_clkが立ち下がっている。この結果、DDL_clkの立ち下がりのタイミングは、テストデータの真ん中になる。このDDL_clkが立ち下がりにより、テストデータの値がチップBのフリップフロップF24に取り込まれている(DN)。
次に、本実施形態におけるソースシンクロナスに関わるフリップフロップF21−F24に対する初期値の設定方法について説明する。
図17は、チップAのフリップフロップF21、F22を初期化する回路の構成を示す図である。図17において、ShiftDR=「1」のときに、マルチプレクサS1に制御信号SS_Pが供給され、ClockDRが選択されてフリップフロップF21、F22に供給される。フリップフロップF21、F22は、この信号ClockDRにしたがい、JTAGのTDI(テストデータイン)からのデータを入力して初期化される。
一方、チップBのフリップフロップF23、F24は、第1の実施形態のソースシンクロナスに関わるフリップフロップF1−F4と同じく、TDR_FFの出力によりセット/リセットされる。したがって、図5に示した回路構成により、第1の実施形態と同様の方法で初期値が設定される。
再度図16を参照し、本実施形態によるテストの対象であるソースシンクロナスに関わるフリップフロップを含むチップレベルの接続関係を説明する。
まずTR側のチップAを参照すると、このチップAには、上述したFF_Tの他に、動作クロック発信部としてのPLL回路11およびPLLコントローラ12と、PLL回路11から発信される動作クロックから2パルスを抽出して出力する2パルス生成部13と、JTAGの制御を行うためのTAPコントローラ14と、インストラクションレジスタ(Instruction Register:IR)15とを備える。TAPコントローラ14およびインストラクションレジスタ15の出力は、ゲートA1、A3を経て、FF_T、2パルス生成部13等に供給される。
PLLコントローラ12は、テストビットがインストラクションレジスタ15に格納された後、PLL回路11が実動作と同じ周波数で発信するように制御する。
ANDゲートA1は、テストビットがインストラクションレジスタ15に格納され、ShiftDR=「1」である場合に、クロック信号ClockDRをFF_Tに供給する。これにより、FF_Tは直接初期化される。
ANDゲートA3は、テストビットがインストラクションレジスタ15に格納され、RunTestIdle=「1」ならば、FF_Tに対して内部をループ状態にする制御信号SG_Pを供給し、さらに2パルス生成部13に対してPLL回路11の出力から2パルスを取り出すためのトリガー信号を供給する。
次に、REC側のチップBを参照すると、このチップBには、上述したFF_RおよびTDR_FFの他に、JTAGの制御を行うためのTAPコントローラ21と、インストラクションレジスタ22と、同期クロックを遅らせるためのDDL回路23と、DDL回路23および図示しないPLL回路を制御するクロック制御部24とを備える。TAPコントローラ21およびインストラクションレジスタ22の出力は、ゲートA4、A5を経てTDR_FF等に供給される。
クロック制御部24は、テストビットがインストラクションレジスタ22に格納された後、DDL回路23および図示しないPLL回路が実動作と同じ周波数で発信するように制御する。
ANDゲートA4は、テストビットがインストラクションレジスタ22に格納され、ShiftDR=「1」である場合に、マルチプレクサM1、M2に対して「1」のデータを選択させる制御信号を供給する。マルチプレクサM1、M2が「1」のデータを選択することで、テスト用クロックTCKによりTDI(テストデータイン)−TDO(テストデータアウト)のパスでスキャンが行われ、TDR_FFに値がセットされる。
ANDゲートA5は、テストビットがインストラクションレジスタ22に格納され、UpdateDR_L=「1」で、FF_Rをセットまたはリセットするための制御信号をTDR_FFから供給する。FF_Rがセットされるかリセットされるかは、上述したようにTDR_FFにセットされている値による。これにより、FF_Rの初期値が決まる。
TAPコントローラ21のClockDRは、ShiftDR=「1」またはCaptureDR=「1」である場合に、テスト用クロックTCKをTDR_FFに供給する。これにより、TDI−TDOのパスでスキャンが行われたり、FF_Rの格納データがTDR_FFに取り込まれたりする。
次に、以上のように構成された回路によるテストの動作について説明する。
図21は、チップAおよびチップBにおけるテスト実行時の信号波形を示す図である。テストの概略的な流れは、図7を参照して説明した第1の実施形態と同様であるので、ここでも図7を参照して説明する。
まずチップA、Bのインストラクションレジスタ15、22にテストビットが格納される。これをトリガーとして、チップA、BのPLL回路11(チップBのPLL回路は図示していない)が動作クロックを発信する(ステップ701)。次に、ソースシンクロナスに関わるフリップフロップ(図16のFF_TおよびFF_R、図18のF21−F24)を任意の値に初期化する(ステップ702)。
ここで、本実施形態においても、各フリップフロップはJTAG1149標準の作法に準拠した方法で初期化される。ただし、図21を参照すると、チップAにおいては、図17に示したマルチプレクサS1がSS_P信号によりTAPコントローラ14から出力されるクロック信号ClockDRを選択し、このクロック信号ClockDRにしたがってデータがスキャンシフトされることにより、フリップフロップF21、F22が直接初期化されてテストデータが入力される。一方、チップBにおいては、第1の実施形態と同様に、フリップフロップF21、F22に対応するTDR_FFに格納された値にしたがって、下の波形図に示すように、フリップフロップF23、F24が初期化される(ただし、時間的にはこちらの初期化がチップAにおけるフリップフロップF21、F22の初期化よりも先に行われる)。
次に、TR側チップAのRunTestIdle=「1」をトリガーとして、2パルス生成部13が、PLL回路11の出力から2発のパルスを送出する(ステップ703)。本実施形態では、ShiftDR=「0」で、図17のマルチプレクサS1において2パルス生成部13の出力CLK2が選択される。図6を参照すると、FF_Tをループ状態にする制御信号SG_Pが出力され、その後、2パルス分のクロック信号CLK2が出力されている。
そして、この2パルスにしたがい、フリップフロップF1は、保持しているテストデータを、フリップフロップF22は同期クロックをそれぞれREC側チップBへ送出する(ステップ704)。チップBのフリップフロップF23、F24は、チップAのフリップフロップF21から送られたデータをフリップフロップF22から送られた同期クロックにしたがって取り込む(ステップ705)。この後、REC側チップBにおいて、フリップフロップF23、F24に取り込まれた値がTDR_DP、TDR_DNにそれぞれラッチされ、TDOから取り出されて観察される(ステップ706)。
以上、第1−第3の実施形態において、JTAGのスキャンチェーンを構成するフリップフロップをソースシンクロナスに関わるフリップフロップとして用いた場合を例として説明したが、本発明の技術思想にしたがう限り、これ以外の構成も可能であることは言うまでもない。つまり、JTAG以外のスキャンチェーンを用いて初期値設定、結果観測を実現することも容易である。今日、ASICでは、JTAGによるスキャンテストを実施するための構成が設けられていることが通常であるため、このスキャンチェーンを構成するフリップフロップを用いてテストを実施可能とすることが極めて好ましい。しかしながら、これは本実施形態のインターコネクトテストを実施するための個別の回路構成をASICに設けることを排するものではない。
本発明の第1の実施形態が適用されるソースシンクロナスに関わる回路の全体構成を示す図である。 図1に示した回路において、本実施形態の対象となる最も基本的なソースシンクロナスの回路要素を示す図である。 図2に示したフリップフロップF3の信号波形を示す図である。 図2に示したフリップフロップF4の信号波形を示す図である。 本実施形態におけるチップのフリップフロップを初期化する回路の構成を示す図である。 本実施形態によるテスト実行時の信号波形を示す図である。 本実施形態のテストの概略的な流れを示すフローチャートである。 本実施形態に用いられるTR側フリップフロップの回路構成を示す図である。 本実施形態に用いられるREC側フリップフロップの回路構成を示す図である。 本実施形態に用いられるJTAG_TDRの回路構成を示す図である。 本実施形態に用いられる信号UpdateDR_LおよびRunTestIdleを説明する図である。 本発明の第2の実施形態が適用されるソースシンクロナスに関わる回路の全体構成を示す図である。 図12に示した回路において、本実施形態の対象となる最も基本的なソースシンクロナスの回路要素を示す図である。 図13に示したフリップフロップF13の信号波形を示す図である。 図13に示したフリップフロップF14の信号波形を示す図である。 本発明の第3の実施形態が適用されるソースシンクロナスに関わる回路の全体構成を示す図である。 本実施形態に用いられるTR側フリップフロップの回路構成を示す図である。 図16に示した回路において、本実施形態の対象となる最も基本的なソースシンクロナスの回路要素を示す図である。 図18に示したフリップフロップF23の信号波形を示す図である。 図18に示したフリップフロップF24の信号波形を示す図である。 本実施形態によるテスト実行時の信号波形を示す図である。
符号の説明
F1−F4、F11−F14、F21−F24…フリップフロップ、11…PLL回路、12…PLLコントローラ、13…2パルス生成部、14、21…TAPコントローラ、15、22…インストラクションレジスタ、23…DDL回路、24…クロック制御部

Claims (12)

  1. ソースシンクロナスインターフェイスにより接続された複数のIC(Integrated Circuit)を搭載したマイクロコンピュータにおいて、
    前記ソースシンクロナスインターフェイスによるデータの送り側のICは、
    実動作における動作クロックを発信するPLL(Phase-Locked Loop)回路と、
    前記PLL回路から発信された動作クロックにしたがって、テストデータを送出する第1のフリップフロップと、
    前記PLL回路から発信された動作クロックにしたがって、ソースシンクロナスにおける同期クロックを送出する第2のフリップフロップとを備え、
    前記ソースシンクロナスインターフェイスによるデータの受け取り側のICは、
    前記第2のフリップフロップから送出された前記同期クロックにしたがって前記第1のフリップフロップから送出された前記テストデータを取り込む第3のフリップフロップを備えることを特徴とするマイクロコンピュータ。
  2. 前記送り側のICは、前記PLL回路から発信される動作クロックから2つのパルス信号を抽出する2パルス生成回路をさらに備え、
    前記第1のフリップフロップは、前記2パルス生成回路で抽出された前記2つのパルス信号にしたがって、前記テストデータを送出し、
    前記第2のフリップフロップは、前記2パルス生成回路で抽出された前記2つのパルス信号にしたがって、前記同期クロックを送出することを特徴とする請求項1に記載のマイクロコンピュータ。
  3. 前記送り側のICの前記第1のフリップフロップは、前記第2のフリップフロップが送出する同期クロックよりも前記2つのパルス信号の半サイクル分遅らせて前記テストデータを送出することを特徴とする請求項1に記載のマイクロコンピュータ。
  4. 前記送り側のICの前記第1のフリップフロップは、前記第2のフリップフロップが送出する同期クロックと同じクロックエッジで前記テストデータを送出し、
    前記受け取り側のICは、受信した前記同期クロックをπ/2だけ遅らせて前記第3のフリップフロップに供給する遅延手段を備えることを特徴とする請求項1に記載のマイクロコンピュータ。
  5. 前記送り側のICの前記第1のフリップフロップは、セット/リセット付きフリップフロップであり、
    前記送り側のICは、保持する値に応じて前記第1のフリップフロップをセットまたはリセットすることにより当該第1のフリップフロップに前記テストデータを保持させるテストデータレジスタをさらに備えることを特徴とする請求項1に記載のマイクロコンピュータ。
  6. 前記送り側のICの前記第1のフリップフロップは、スキャンチェーンを構成し、当該スキャンチェーンを介してテストデータをスキャンシフトすることにより、当該第1のフリップフロップに前記テストデータが入力されることを特徴とする請求項1に記載のマイクロコンピュータ。
  7. ソースシンクロナスインターフェイスにより接続された複数のIC(Integrated Circuit)を搭載したマイクロコンピュータのテスト方法であって、
    前記ソースシンクロナスインターフェイスによるデータの送り側のICにおいて、
    データ送出用の第1のフリップフロップおよび同期クロック送出用の第2のフリップフロップに初期値を設定するステップと、
    実動作における動作クロックを発信するPLL(Phase-Locked Loop)回路からクロッ
    ク信号を発信し、当該クロック信号にしたがって、前記第1のフリップフロップおよび前記第2のフリップフロップから前記初期値のデータおよび前記同期クロックを送出するステップと、
    前記ソースシンクロナスインターフェイスによるデータの受け取り側のICにおいて、 データ受け取り用の第3のフリップフロップが、前記第2のフリップフロップから送出された前記同期クロックにしたがって前記第1のフリップフロップから送出された前記初期値のデータを取り込むステップと
    を含むことを特徴とするテスト方法。
  8. 前記第1のフリップフロップおよび第2のフリップフロップに初期値を設定するステップは、
    前記第1のフリップフロップおよび前記第2のフリップフロップに対応して設けられたテストデータレジスタに所定の値を保持させるステップと、
    前記テストデータレジスタが保持する値に応じて当該テストデータレジスタが対応する前記第1のフリップフロップおよび前記第2のフリップフロップをセットまたはリセットすることにより当該第1のフリップフロップおよび当該第2のフリップフロップの初期値を設定するステップと
    を含むことを特徴とする請求項7に記載のテスト方法。
  9. 前記第1のフリップフロップおよび第2のフリップフロップに初期値を設定するステップでは、スキャンチェーンを構成する前記第1のフリップフロップおよび前記第2のフリップフロップに対して、当該スキャンチェーンを介してテストデータをスキャンシフトすることにより、前記初期値を設定することを特徴とする請求項7に記載のテスト方法。
  10. ソースシンクロナスインターフェイスにより接続された複数のIC(Integrated Circuit)を搭載したマイクロコンピュータのテスト方法であって、
    前記ソースシンクロナスインターフェイスによるデータの送り側のフリップフロップが、テストデータを入力し保持するステップと、
    実動作における動作クロックを発信するPLL(Phase-Locked Loop)回路からクロッ
    ク信号が発信され、当該クロック信号にしたがって、前記送り側のフリップフロップに保持されている前記テストデータおよびソースシンクロナスにおける同期クロックが送出されるステップと、
    前記ソースシンクロナスインターフェイスによるデータの受け取り側のフリップフロップが、前記同期クロックにしたがって前記テストデータを取り込むステップと
    を含むことを特徴とするテスト方法。
  11. 前記送り側のフリップフロップがテストデータを入力するステップは、
    前記送り側のフリップフロップに対応して設けられたテストデータレジスタに所定の値を保持させるステップと、
    前記テストデータレジスタが保持する値に応じて当該テストデータレジスタが対応する前記送り側のフリップフロップをセットまたはリセットすることにより当該送り側のフリップフロップに前記テストデータを保持させるステップと
    を含むことを特徴とする請求項10に記載のテスト方法。
  12. 前記送り側のフリップフロップがテストデータを入力するステップでは、スキャンチェーンを構成する前記送り側のフリップフロップに対して、当該スキャンチェーンを介してテストデータをスキャンシフトすることにより、当該送り側のフリップフロップに前記テストデータを保持させることを特徴とする請求項10に記載のテスト方法。
JP2007520166A 2005-06-10 2006-06-08 マイクロコンピュータ及びそのテスト方法 Expired - Fee Related JP4701244B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007520166A JP4701244B2 (ja) 2005-06-10 2006-06-08 マイクロコンピュータ及びそのテスト方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005171268 2005-06-10
JP2005171268 2005-06-10
PCT/JP2006/311551 WO2006132329A1 (ja) 2005-06-10 2006-06-08 マイクロコンピュータ及びそのテスト方法
JP2007520166A JP4701244B2 (ja) 2005-06-10 2006-06-08 マイクロコンピュータ及びそのテスト方法

Publications (2)

Publication Number Publication Date
JPWO2006132329A1 true JPWO2006132329A1 (ja) 2009-01-08
JP4701244B2 JP4701244B2 (ja) 2011-06-15

Family

ID=37498525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007520166A Expired - Fee Related JP4701244B2 (ja) 2005-06-10 2006-06-08 マイクロコンピュータ及びそのテスト方法

Country Status (9)

Country Link
US (1) US7793183B2 (ja)
EP (1) EP1890234B1 (ja)
JP (1) JP4701244B2 (ja)
CN (1) CN100504802C (ja)
AT (1) ATE448517T1 (ja)
BR (1) BRPI0611883B1 (ja)
DE (1) DE602006010372D1 (ja)
RU (1) RU2374679C2 (ja)
WO (1) WO2006132329A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE448517T1 (de) 2005-06-10 2009-11-15 Ibm Mikrocomputer und verfahren zu seiner prüfung
JP4893064B2 (ja) * 2006-03-30 2012-03-07 富士通セミコンダクター株式会社 半導体集積回路および半導体集積回路設計方法
JP2010266417A (ja) * 2009-05-18 2010-11-25 Sony Corp 半導体集積回路、情報処理装置、および情報処理方法、並びにプログラム
US9429983B1 (en) 2013-09-12 2016-08-30 Advanced Processor Architectures, Llc System clock distribution in a distributed computing environment
US8555096B2 (en) * 2009-08-07 2013-10-08 Advanced Processor Architectures, Llc Method and apparatus for selectively placing components into a sleep mode in response to loss of one or more clock signals or receiving a command to enter sleep mode
US11042211B2 (en) 2009-08-07 2021-06-22 Advanced Processor Architectures, Llc Serially connected computing nodes in a distributed computing system
US9645603B1 (en) 2013-09-12 2017-05-09 Advanced Processor Architectures, Llc System clock distribution in a distributed computing environment
US8775882B2 (en) * 2010-12-28 2014-07-08 Stmicroelectronics International N.V. Testing circuits
US9234942B2 (en) 2012-09-21 2016-01-12 Apple Inc. Transition fault testing of source synchronous interface
US9804224B2 (en) 2014-09-22 2017-10-31 Nxp Usa, Inc. Integrated circuit and method of operating an integrated circuit
CN108897647B (zh) * 2018-03-19 2021-11-05 硅谷数模半导体(北京)有限公司 测试***、测试方法及装置
CN109188250B (zh) * 2018-10-08 2020-08-18 北方电子研究院安徽有限公司 一种能够进行静态参数测试的芯片io端口电路
CN115443415B (zh) * 2020-08-31 2023-09-22 华为技术有限公司 芯片测试电路及电路测试方法
CN113190389A (zh) * 2021-04-14 2021-07-30 西安紫光国芯半导体有限公司 自测方法、测试装置以及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030189973A1 (en) * 2002-04-05 2003-10-09 Drew G. Doblar Source synchronous bus repeater
WO2004061465A1 (ja) * 2002-12-27 2004-07-22 Advantest Corporation 半導体試験装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06289099A (ja) 1993-03-30 1994-10-18 Toshiba Corp スキャン回路
JPH08240645A (ja) 1995-03-03 1996-09-17 Advantest Corp Icの内部状態を少数ピンで読み出しテストする回路
US6145100A (en) * 1998-03-04 2000-11-07 Advanced Micro Devices, Inc. Debug interface including timing synchronization logic
US6631390B1 (en) * 2000-03-06 2003-10-07 Koninklijke Philips Electronics N.V. Method and apparatus for generating random numbers using flip-flop meta-stability
US6760873B1 (en) 2000-09-28 2004-07-06 Lsi Logic Corporation Built-in self test for speed and timing margin for a source synchronous IO interface
US6892314B2 (en) * 2001-04-02 2005-05-10 International Business Machines Corporation Method and system of automatic delay detection and receiver adjustment for synchronous bus interface
US7000164B2 (en) * 2002-01-30 2006-02-14 Sun Microsystems, Inc. Method for scan testing and clocking dynamic domino circuits in VLSI systems using level sensitive latches and edge triggered flip flops
US7073111B2 (en) 2002-06-10 2006-07-04 Texas Instruments Incorporated High speed interconnect circuit test method and apparatus
DE10238710A1 (de) * 2002-08-23 2004-03-04 Metabowerke Gmbh Elektrohandwerkzeuggerät
JP2004294424A (ja) 2003-03-12 2004-10-21 Matsushita Electric Ind Co Ltd スキャンテスト制御方法、及びスキャンテスト回路
US7228476B2 (en) * 2004-11-05 2007-06-05 Stmicroelectronics, Inc. System and method for testing integrated circuits at operational speed using high-frequency clock converter
ATE448517T1 (de) 2005-06-10 2009-11-15 Ibm Mikrocomputer und verfahren zu seiner prüfung

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030189973A1 (en) * 2002-04-05 2003-10-09 Drew G. Doblar Source synchronous bus repeater
WO2004061465A1 (ja) * 2002-12-27 2004-07-22 Advantest Corporation 半導体試験装置

Also Published As

Publication number Publication date
DE602006010372D1 (de) 2009-12-24
ATE448517T1 (de) 2009-11-15
BRPI0611883A2 (pt) 2010-10-05
WO2006132329A1 (ja) 2006-12-14
CN101176071A (zh) 2008-05-07
EP1890234B1 (en) 2009-11-11
US20090119561A1 (en) 2009-05-07
US7793183B2 (en) 2010-09-07
EP1890234A4 (en) 2008-11-05
CN100504802C (zh) 2009-06-24
JP4701244B2 (ja) 2011-06-15
RU2007147919A (ru) 2009-07-20
BRPI0611883B1 (pt) 2019-07-30
EP1890234A1 (en) 2008-02-20
BRPI0611883A8 (pt) 2019-01-08
RU2374679C2 (ru) 2009-11-27

Similar Documents

Publication Publication Date Title
JP4701244B2 (ja) マイクロコンピュータ及びそのテスト方法
US7952390B2 (en) Logic circuit having gated clock buffer
US9797948B2 (en) Scan-based MCM interconnect testing
KR0156547B1 (ko) 집적 회로용 검사셀
JP4091957B2 (ja) 複数のクロック発生回路を含むテスト可能な集積回路
US7624322B2 (en) Scan based testing of an integrated circuit containing circuit portions operable in different clock domains during functional mode
US8065572B2 (en) At-speed scan testing of memory arrays
US7352169B2 (en) Testing components of I/O paths of an integrated circuit
US10156607B2 (en) Bidirectional scan chain structure and method
US8819508B2 (en) Scan test circuitry configured to prevent violation of multiplexer select signal constraints during scan testing
JP2006145527A (ja) 埋め込み型時間領域反射率試験の方法及び装置
TWI716482B (zh) 用於記憶體掃描測試設計的系統及方法
US20160349318A1 (en) Dynamic Clock Chain Bypass
US20090063921A1 (en) Staggered LBIST Clock Sequence for Noise (di/dt) Amelioration
JP3859647B2 (ja) 半導体集積回路のテスト方法および半導体集積回路
US9666301B2 (en) Scannable memories with robust clocking methodology to prevent inadvertent reads or writes
US6976199B2 (en) AC LSSD/LBIST test coverage enhancement
US7830195B2 (en) Self-test design methodology and technique for root-gated clocking structure
US7552372B2 (en) Semiconductor device and test method thereof
Bushard et al. DFT of the Cell Processor and its Impact on EDA Test Softwar
JP5540740B2 (ja) クロック生成回路、半導体集積回路およびその試験システム
CN108152719B (zh) 用于双端口存储器应用的扫描单元
KR20090047027A (ko) 반도체 회로 테스트를 위한 클럭 제어 회로, 반도체 회로테스트를 위한 클럭 제어 방법 및 클럭 제어 회로를 구비한반도체 장치
WO2018048606A1 (en) Apparatus and method for employing mutually exclusive write and read clock signals in scan capture mode for testing digital interfaces
JPH07248904A (ja) 線型帰還シフトレジスタおよび半導体集積回路装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20101105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110215

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110307

LAPS Cancellation because of no payment of annual fees