JP2000163279A - マイクロプロセサをテストするための回路構成とテスト方法 - Google Patents

マイクロプロセサをテストするための回路構成とテスト方法

Info

Publication number
JP2000163279A
JP2000163279A JP11303994A JP30399499A JP2000163279A JP 2000163279 A JP2000163279 A JP 2000163279A JP 11303994 A JP11303994 A JP 11303994A JP 30399499 A JP30399499 A JP 30399499A JP 2000163279 A JP2000163279 A JP 2000163279A
Authority
JP
Japan
Prior art keywords
test
microprocessor
shift register
feedback shift
instruction
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.)
Withdrawn
Application number
JP11303994A
Other languages
English (en)
Inventor
Rajuman Rochetto
ロチェット・ラジュマン
Hiroaki Yamoto
裕明 矢元
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.)
Advantest Corp
Original Assignee
Advantest 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 Advantest Corp filed Critical Advantest Corp
Publication of JP2000163279A publication Critical patent/JP2000163279A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 マイクロプロセサをハードウエアの追加や
性能の低下をもたらすことなく試験する方法の提供。 【解決手段】インストラクション・デコーダにインスト
ラクションを供給するテスト制御レジスタと、テスト制
御レジスタからのテスト・インストラクションまたはイ
ンストラクション・フェッチ・ユニットからのインスト
ラクションを選択する第1マルチプレクサと、インスト
ラクション実行ユニットに、テストオペランドを供給す
るリニア・フィードバック・シフトレジスタと、テスト
オペランドまたはシステムメモリからのオペランドを選
択する第2マルチプレクサと、インストラクション実行
ユニットからの実行結果を受け取るマルチインプット・
フィードバック・シフトレジスタと、出力シグナチャを
評価するコントローラとにより構成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マイクロプロセ
サやマイクロコントローラをテストするための回路構成
とそのテスト方法に関する。特に本発明は、ICチップ
や回路基盤内のマイクロプロセサやマイクロコントロー
ラ等を、実質的にハードウエアの増加をほとんど要する
ことなくテストすることができる回路構成とテスト方法
に関する。
【0002】
【従来の技術】マイクロプロセサやマイクロコントロー
ラ(以下に「マイクロプロセサ」という)のテストは、
ICテストの中で最も難しい問題の一つとされている。
一般に、マイクロプロセサをテストするにはICテスタ
のような自動テスト装置(ATE)等を用いる。ICテ
スタは被試験マイクロプロセサにテストパターンを供給
し、そのマイクロプロセサの結果としての応答信号を期
待値と比較する。マイクロプロセサの性能、例えばその
動作速度や、素子密度、機能性、さらにピン数等は、最
近めざましく進歩している。それらの進歩したマイクロ
プロセサをテストするためのICテスターは、大規模で
かつ高速動作ができる必要があり、このために非常に高
価なものとなっている。例えば、上記のようなICテス
タには、何百個ものテストピン(テストチャンネル)が
あり、その1つ1つにパターンジェネレータ(パターン
発生器)とタイミングジェネレータ(タイミング発生
器)、そしてフレームプロセサが設けられており、大規
模で高価なシステムとなっている。
【0003】他のテスト方法としては、各種のデザイン
・フォア・テスト(DFT)やビルトイン・セルフテス
ト(BIST)があり、マイクロプロセサ内にテストの
ための回路構成を設計上で盛り込んでいる。これらは、
例えばスキャンや部分的(パーシャル)スキャン、ロジ
ックBIST、スキャン型BIST等が、マイクロプロ
セサ内の色々なロジックブロックをテストするために組
み込まれている。このような方法の主な問題は、ロジッ
クテストを実行するために、多くの付加的なハードウエ
ア領域(余分なロジックサーキット)が必要となること
である。例えば、一般的なスキャンの実行には、約10
%の付加的なハードウエア領域が必要となり、またスキ
ャン型BISTの場合は、スキャン実行に必要な付加的
ハードウエアに更に加えて約10%−15%の間接的ハ
ードウエア領域が必要となる。この多大な追加領域は半
導体のダイ(チップ)を大きくして確保するため、ウエ
ハ毎に得られるダイの数が減少し、生産率の低下と生産
コストの増大をもたらす。
【0004】更に、このようなテスト用付加回路構成
は、5−10%の性能ペナルティー(性能劣化)の原因
となる。普通このような性能ペナルティーは、マイクロ
プロセサに追加された付加的ハードウエアにより生じる
信号伝達遅延として現れる。例えば、スキャン実行にお
いては、それぞれのフリップフロップ回路の前にセレク
タ(マルチプレクサ)が設けられ、スキャンイン信号か
通常の信号を選択的にフリップフロップ回路に提供す
る。そのような付加的なセレクタにより、全体としての
フリップフロップ回路に信号伝搬遅延を生じさせる。す
なわち、デザイン・フォア・テストや、ビルトイン・セ
ルフテスト機構等は、信号伝搬遅延による動作速度の低
下のような、マイクロプロセサの性能に不利な結果をも
たらす。
【0005】
【発明が解決しようとする課題】従って、本発明の目的
は、従来技術におけるマイクロプロセサへの不利益をも
たらすことなく、マイクロプロセサをテストするための
方法と回路構成を提供することにある。
【0006】本発明の他の目的は、ICチップ内に実質
的にほとんどハードウェア追加することなく、マイクロ
プロセサをテストするための方法と回路構成を提供する
ことにある。
【0007】本発明の更に他の目的は、テストするマイ
クロプロセサの性能劣化を生じることなく、マイクロプ
ロセサをテストするための方法と回路構成を提供するこ
とにある。
【0008】本発明の更に他の目的は、低費用かつ高能
率でマイクロプロセサをテストできる、テスト方法と回
路構成を提供することにある。
【0009】本発明では、被試験マイクロプロセサの周
辺に、3個の追加のレジスタを設けており、ランダム・
テストパターンが被試験マイクロプロセサに供給され、
マイクロプロセサの応答出力が圧縮され、事前に計算し
て用意したシグナチャと比較される。
【0010】
【課題を解決するための手段】本発明のマイクロプロセ
サ試験装置は、フェッチ・ユニット、インストラクショ
ン・デコーダ、システムメモリ、インストラクション実
行ユニット等を有するマイクロプロセサをテストする為
に、次のように構成されるている。
【0011】テスト時に被試験マイクロプロセサのイン
ストラクション・デコーダにインストラクションを供給
するためのテスト制御レジスタと、そのテスト制御レジ
スタからのテスト・インストラクションまたはインスト
ラクション・フェッチユニットからのインストラクショ
ンを選択する為の第1のマルチプレクサと、被試験マイ
クロプロセサのインストラクション実行ユニットに、テ
ストオペランドを供給するためのリニア・フィードバッ
ク・シフトレジスタと、そのリニア・フィードバック・
シフトレジスタからのテストオペランドまたはシステム
メモリからのオペランドを選択する為の第2のマルチプ
レクサと、上記インストラクション実行ユニットからの
実行結果を受け取るためのマルチインプット・フィード
バック・シフトレジスタと、テスト・インストラクショ
ンをテスト制御レジスタとリニア・フィードバック・シ
フトレジスタに供給し、マルチインプット・フィードバ
ック・シフトレジスタの出力シグナチャを評価するため
のコントローラ。
【0012】本発明の他の態様は、次のステップで構成
するマイクロプロセサをテストするための試験方法であ
る。 (a)テストモードを起動させ、(b)テスト・コント
ロール・レジスタ、リニア・フィードバック・シフトレ
ジスタ、およびマルチインプット・フィードバック・シ
フトレジスタを初期化し、(c)テスト・インストラク
ションのオペコード(オペレーションコード)をテスト
制御レジスタにロードし、(d)テスト制御レジスタの
内容をインストラクション・フェッチ・ユニットに供給
し、(e)リニア・フィードバック・シフトレジスタと
マルチインプット・フィードバック・シフトレジスタ
に、所定のサイクル数、あるいは2N−1サイクル数だ
け(このときNは、リニア・フィードバック・シフトレ
ジスタとマルチインプット・フィードバック・シフトレ
ジスタのステージの数である)、クロックを印加し、
(f)マルチインプット・フィードバック・シフトレジ
スタの内容(シグナチャ)を取り出し、(g)フォルト
(不良)がないか検出するために、マルチインプット・
フィードバック・シフトレジスタのシグナチャと事前に
計算して用意したシミュレーション・シグナチャとを比
較し、(h)全てのインストラクションについての実行
が完了するまで、上述の各ステップ(a)−(g)を異
なるインストラクションで繰り返す。
【0013】本発明は、大きなハードウエアの追加を必
要とせず、わずかに3個のレジスタを必要とするのみで
あり、このため性能劣化を伴わない。本発明のテスト方
法は、標準品マイクロプロセサにも、また、埋込み型マ
イクロプロセサ、埋込みコア、2D/3Dグラフィック
・アクセラレータ、DSP(デジタル信号プロセサ)、
オーディオ/ビデオ、マルチメディアチップ等のテスト
に実施可能である。
【0014】
【発明の実施の形態】マイクロプロセサやマイクロコン
トローラ(以後集合的に「マイクロプロセサ」という)
の一般的構成を第1図に示す。第1図における典型的な
マイクロプロセサ10は、プログラムカウンター・イン
ストラション・フェッチ・ユニット12、インストラク
ション・デコード・ロジック(デコーダ)14、インス
トラクション実行ユニット16、そしてシステムメモリ
ー(図示せず)を有している。インストラション・フェ
ッチ・ユニット12は、プログラムカウンターのアドレ
スに従って、次のインストラクションのオペコードを取
り出す。このオペコードはインストラクション・デコー
ド・ロジック14によってデコードされる。これにより
デコード・ロジック(デコーダ)14は、インストラク
ション・実行ユニット16に機能選択(ファンクション
・セレクト)信号と制御信号を与える。
【0015】第1図に示すように、インストラクション
実行ユニット16には、さらにオペランド(実行のため
のデータあるいは実行の結果としてのデータ)が与えら
れている。このような制御信号に基づき、インストラク
ション実行ユニット16内のロジックブロックの1つが
計算を実行する。この計算に使うオペランドやデータは
システムメモリから与えられる。
【0016】本発明において、発明者は上記のマイクロ
プロセサの一般構成に対し、3個のレジスタと2個のマ
ルチプレクサを付加することにより、マイクロプロセサ
の試験を可能にした。本発明の基本的な考えは、追加の
レジスタを用いて、1つのインストラクションを入力
(スキャンイン)し、疑似ランダムデータについてその
インストラクションを複数回実行し、結果としてのシグ
ナチュアを取り出すことである。
【0017】この付加したレジスタの1つは、テストモ
ード時にマイクロプロセサにインストラクションのオペ
コードを供給するためのテスト制御レジスタ(TCR)
である。
【0018】第2の付加レジスタは、リニア・フィード
バック・シフトレジスタ(LFSR)と、マルチインプ
ット(多入力)・フィードバック・シフトレジスタ(M
ISR)であり、それぞれランダムデータを生成するた
めと、テスト応答出力を圧縮するためのものである。L
FSRからのデータは、TCRにより供給されるインス
トラクションのオペランドとして使用する。計算した結
果はMISRに記憶する。このようにランダムデータの
使用とその圧縮を行うことにより、テスト時間を大幅に
減少することができるとともに、高い故障検出率を実現
することができる。
【0019】この原理を第2図に示す。第2図では、テ
ストモード時と通常モード時におけるインストラクショ
ンとデータの流れを示している。第2図はさらに、付加
したレジスタであるTCR22、LFSR24、および
MISR26や、付加したマルチプレクサ32および3
4も示している。付加したレジスタTCR22、LFS
R24およびMISR26は、テストモード時に使用す
る。マルチプレクサ32と34は、これらの付加レジス
タについての信号通路を、テストモードと通常モードの
間において切り替えるために使用する。レジスタTCR
22は、テストモード時において、マイクロプロセサの
インストラクションのオペコードを供給する。レジスタ
LFSR24は、ランダムテストデータを作成するため
に使われ、レジスタMISR26は、テスト応答を圧縮
するために使われる。
【0020】LFSR24は、TCR22により供給さ
れたインストラクション用のオペランドを発生する。実
行ユニット16からの計算された結果は、MISR26
に圧縮して記憶される。第2図に示すように、マルチプ
レクサ32とマルチプレクサ34は、それぞれレジスタ
TCR22とLFSR24に備えられ、テストモードと
通常モード間の切り替えを行うために用いられる。第2
図は、さらにコントローラ28を示している。コントロ
ーラ28はICテスタ、バウンダリ・スキャン用のTA
P(テストアクセスポート)コントローラ、またはオン
チップ・テスト・コントローラなどである。コントロー
ラ28は、全体のテストプロセスを制御するものであ
り、その達成のために、モード選択信号をマルチプレク
サ32と34に送信し、テストインストラクションを、
TCR22とLFSR24を介して、テスト時のマイク
ロプロセサ10に送信する。また、コントローラ28
は、マイクロプロセサ10の結果信号を、予め計算して
おいた比較値と比較する。
【0021】テストモード時は、マルチプレクサ32と
34のモード選択信号によって、TCR22とLFSR
26が、マイクロプロセサ10に電気的に接続される。
上記したように、テスト・インストラクションは、コン
トローラ28(ICテスターや他の制御手段)を介し
て、TCR22に供給される。次にテスト・インストラ
クションは、マルチプレクサ32を介して、インストラ
クション・デコード・ロジック14に与えられ、さらに
そこからインストラクション・実行ユニット16に与え
られる。テスト・インストラクションに基づいて、LF
SR24はテストパターンを発生し、そのテストパター
ンはマルチプレクサ34を介して実行ユニット16に印
加される。この例では、上記のように、レジスタLFS
R24から発生されるテストパターンは、ランダムパタ
ーンである。実行ユニット16の結果出力は、シグナチ
ャを作成するために、MISR26によって圧縮され、
そのシグナチャはICテスタや他の制御手段によって評
価される。
【0022】この方法によるテスト動作の順序は次のご
とくである。 (1)テストモードを作動させる。このモードでは、イ
ンストラクション・フェッチ・ユニット12ではなく、
レジスタTCR22の内容が、インストラクションとし
て使われる。 (2)レジスタTCR22、LFSR24、MISR2
6を初期化する。初期化にあっては直接に制御するか、
あるいはコントローラ28からのテスト制御信号を介し
て行う。コントローラ28は、その実施態様に基づき、
ICテスタ、バウンダリ・スキャン・コントローラ、あ
るいはオンチップ・コントローラである。 (3)インストラクションのオペコードをTCR22に
ロードする。このロードには、その実施態様により、パ
ラレルロードかシリアルロード(例えばスキャンイン)
のいずれかを用いる。
【0023】(4)LFSR24とMISR26にクロ
ックを与える。クロック数は所定サイクルか、またはN
ビットのLFSRの場合、2N−1サイクル(フルレン
グス)である。このステップにおいて、LFSRデータ
について、TCR22からのインストラクションを繰り
返し実行する。例えば、1000サイクルのクロックを
用いるなら、TCR22内のインストラクションは、1
000個の異なるオペランド(LFSR24から与えら
れるランダムデータ)について1000回実行される。 (5)パス/フェイルを決定するために、MISR26
の内容(シグナチャ)を取り出す。 (6)そのMISR26の内容(シグナチャ)を、前も
って計算されたシュミレーション・シグナチャと比較し
て、相違がないかを判断する。この比較動作は、ICテ
スタや他の自動テスト装置(ATE)等により実施する
ことができる。 (7)全てのインストラクションが実行されるまで、上
記のステップ(2)−(6)を異なるインストラクショ
ンについて繰り返す。
【0024】上述の作動順序は、テストするマイクロプ
ロセサの設計完了の後、シミュレーション・テストベン
チが作成され、そのシミュレーション・テストベンチに
より、LFSRデータとMISRシグナチャについて、
すべてのインストラクションが実行され記録されている
ことを前提としている。このシュミレーションによっ
て、それぞれのインストラクションランの実行後には、
正しいMISRの内容(期待値シグナチャ)が既知とな
っている。そのようなシュミレーション・テストベンチ
を作成するための、各インストラクションについての疑
似コードの例を第3図(A)と第3図(B)に示す。
【0025】上記の動作によって、それぞれのインスト
ラクションが正しく実行されたかを判断する。このた
め、被試験マイクロプロセッサの機能上の問題検出が可
能となる。更にスタック・アト・ファルト(回路内の欠
陥で、信号路が永久的にロジック1かロジック0になっ
てしまうこと)の検出を実施する場合は、ファルト・シ
ミュレーションを各種の値のm(LFSRにより発生さ
れるパターンの数)について実行することによって行わ
れる。例えば、m=1000やm=10000、または
さらに大きな数値をファルト・シミュレーションに用い
ることにより、異なるレベルでのスタック・アト・ファ
ルトの検出が可能である。つまり、固有の目的に応じ
て、mの値を選ぶことができる。上記のファルト・シミ
ュレーションには、商業的に入手可能なEDAツール、
例えばケイデンス社のヴェリフォルト(VeriFau
lt)等を使用することが可能である。
【0026】第4図は、レジスタTCR、LFSR、M
ISRの構成例を示している。これらレジスタの構成
は、全体的な制御方法に応じて、各種の形態が可能であ
る。これらレジスタの全体的な制御は、ICテスター、
バウンダリスキャンTAPコントローラ、あるいはオン
チップテストコントローラ等によって実施される。さら
にレジスタTCR,LFSR,MISRの構成は、全体
的な制御メカニズムによっても、多少変化する。したが
って、第4図(A)から第4図(C)は、TCR,LF
SR,そしてMISRの可能な1例を示しているにすぎ
ない。これらは、行動レベル(インプット・アウトプッ
ト)での構成であり、ゲートレベルやトランジスターレ
ベルにおいては、多数の異なる構成が可能である。本発
明において、これらのレジスタの基本的要件は:
【0027】テスト・コントロール・レジスタ(TC
R):パラレルアウト(並列出力)レジスターであるべ
きである。シリアルインプット(直列入力)とパラレル
インプット(並列入力)のいずれでもあり得るが、パラ
レルインプット形にすると、チップレベルでは多数の信
号線が入力に必要となる。シリアルインプット形を実行
すれば、1の信号線しか入力に必要としない。シリアル
インプットを用いるとすれば、第4図(A)に示されて
いるように、シリアルインからパラレルアウトまたは逆
に変換するためのモード選択スイッチが必要となる。
【0028】リニア・フィードバック・シフトレジスタ
(LFSR):第4図(B)に示されているように、初
期化信号とスタート/ストップ信号が必要である。スタ
ート/ストップ信号は、第2図に示されているようなテ
スト制御信号と同じものを用いても、テスト制御信号か
ら派生させた信号を用いてもよい。LFSRにはどのよ
うな多項式を使ってもよいが、素数多項式(プライム・
ポリノミアル)が2N−1パターンを得るのに有利であ
る。LFSRの発生した疑似ランダムパターンは、実行
ユニット16へ供給される。
【0029】マルチインプット(多入力)・フィードバ
ック・シフトレジスター(MISR):第4図(C)に
示されているように、初期化信号とスタート/ストップ
信号が必要である。さらに、シリアルアウト(直列出
力)、そしてデータ圧縮モードからシフトレジスターモ
ードに切り替えるためのモード選択信号が必要となる。
シリアルアウトの変わりにパラレルアウト(並列出力)
を用いることも可能であるが、その場合はチップレベル
で多数の信号線が出力に必要となる。MISR26のス
タート信号は、LFSRのスタート信号から得るころが
できる。実行ユニット16のパイプライン内の不明デー
タを避けるために、MISR26の開始信号はパイプラ
インの遅延時間(レイテンシ)に等しい時間だけ(また
はそれ以上)遅らせるべきである。
【0030】第5図(A)と第5図(B)は、フリップ
フロップレベルでの、LFSRとMISRの例を示す。
第5図(A)のLFSRの例は、フリップフロップによ
るフィードバック接続を形成するために、直列接続した
D型フリップフロップD0−D2と、エクスルーシブO
R(排他論理和)ゲートE0−E2により構成されてい
る。この技術分野では周知のように、この構成は、疑似
ランダムコードを発生するためのものである。MISR
の例は、エクスクルーシブOR(排他論理和)ゲートE
0−E2のそれぞれに、付加された入力端子があること
以外は、LFSRと同じである。
【0031】この発明における制御方法は、第2図のコ
ントローラ28の例に示すように、多くの方法で実施で
きる。ロジックテスタ(ATE)を直接介した実施は単
純である。そのような場合は、ロジックテスタは、クロ
ックとテスト制御信号を被試験マイクロプロセサに供給
し、またパス/フェイルを判断するために、被試験マイ
クロプロセサの応答出力を(MISRシグナチャ)を評
価する。
【0032】被試験マイクロプロセッサテストを含むI
Cが、オンチップ・テスト・コントローラもしくはバウ
ンダリ・スキャンの機能を有する場合は、テストコント
ロール信号とテスト応答信号が、オンチップ・テスト・
コントローラまたはバウンダリ・スキャンTAPコント
ローラを経由(あるいは制御)する。例えば、テスト制
御信号を発生するために、バウンダリ・スキャンTAP
コントローラ内の「RUNBIST」インストラクショ
ンが実行される。TAPコントローラを介して、TCR
内のオペコードはスキャンインされ、テスト応答信号は
スキャンアウトされる。
【0033】第6図は、バウンダリ・スキャンTAPコ
ントローラによるそのような実施例を示しており、これ
はIEEE/ANSI標準1149.1の定める標準バ
ウンダリ・スキャン・アーキテクチャに基づいている。
バウンダリ・スキャン・レジスタ(スキャン・チェイ
ン)40は、被試験マイクロプロセサの入力出力ピンに
接続される。テストデータ入力(TDI)ピンは、イン
ストラクショ・ンレジスタ48、TCR22、デバイス
IDレジスタ44、バイパスレジスタ46にそれぞれ接
続される。TAPコントローラ28は、テストクロック
(TCK)、テストモード選択信号(TMS)、テスト
リセット(TRST)の、それぞれI/Oピンを有して
いる。MISR26からテストデータ出力(TDO)ピ
ンにシグナチャを送信するために、マルチプレクサ36
と38が備えられている。この構成では、テストベクタ
とインストラクションを、TDIピン、TCR22、L
FSR24を介して、被試験マイクロプロセサ10にシ
フトさせ、被試験マイクロプロセサ10の応答を、MI
SR26とTDOピンを介してスキャンアウトする事に
よって、テストが実施される。
【0034】第2図と第6図の例においては、実行ユニ
ットをブラックボックスとして示している。ICによっ
ては、単純なALUまたは、整数と浮遊少数点(フロー
ティング)とロジック演算を実行する複雑なブロックの
グループでありうる。そのような複雑なブロックによる
実行ユニットの例を第7図に示す。
【0035】第7図の例では、実行ユニット16は複数
のブロックによる、整数と浮遊少数点演算(フローティ
ング)ユニット51−56を有している。しかし、第7
図において明らかなように、この新規なテスト方法は、
第2図と第6図の場合と同様に実現できる。第2図や第
6図の実施例との唯一の相違は、実行ユニット16の機
能選択マルチプレクサ34を、オペランド選択マルチプ
レクサとしても機能できるように、変更してあることで
ある。第2図と第6図には、機能選択マルチプレクサは
存在せず、従って、テスト時に計算機能51−56のそ
れぞれに対応するオペランドとしてLFSRを選択する
ために、マルチプレクサを追加している。実行ユニット
16内に機能選択マルチプレクサが実現されている場合
は、このテスト方法の実施構成は、第2図や第6図に示
す構成と同じとなる。
【0036】本発明の主な利点は、この発明を実施する
ために必要な追加のハードウェア量は、無視できるほど
に小であることであり、また100%の機能フォルト
(不良)検出とともに、付加的にスタック・アト・フォ
ルトの検出ができることである。
【0037】本発明による試験方法は、次の2種類の不
良検出が可能である。 (1)機能不良検出:それぞれのインストラクション
が、異なるデータで複数回実行されると、それぞれのイ
ンストラクションについて正しく機能するかが確認でき
る。 (2)スタック・アト・フォルト検出:TCRとLFS
Rデータ内のインストラクションに基づき、異なる信号
線についてインストラクションを実行し、MISRのシ
グナチャをシミュレーションした結果のシグナチャと比
較して、その信号線にスタック・アト・フォルトが存在
しないかが確認できる。LFSR、MISR、TCRと
実行ユニットの、ゲートレベルモデルでのフォルト・シ
ュミレーションを用意することにより、製造テスト時の
スタック・アト・フォルト検出を厳密に数量化して実施
できる。
【0038】ハードウエアの追加に関しては、本発明の
方法ではわずか3個のレジスタと、多くとも2個のマル
チプレクサを必要とするだけである。3個のレジスタ
は、マイクロプロセサのワードサイズ(インストラクシ
ョンの幅)に等しい長さのTCRを1個と、LFSR、
MISRを各1個である。実際的な使用においては、1
6ビットあるいは32ビット幅のLFSRとMISRで
十分である。データバスの幅が、LFSRのビット幅と
異なる場合は、データの幅を合致させる目的で、LFS
R出力から出力を分割して取り出す。
【0039】好ましい実施例しか明記していないが、上
述の記述に基づき、本発明の精神と範囲を離れることな
く、添付の請求の範囲で、本発明の様々な形態や変形が
可能である。
【0040】
【発明の効果】上記のように本発明において必要なハー
ドウェアの追加は無視できる程度であるから、全体とし
てのIC動作には性能劣化をもたらさない。本発明は、
標準製品としてのマイクロプロセサやマイクロコントロ
ーラ、埋込型のマイクロプロセサ、埋込型コア、2D/
3Dグラフィック・アクセラレータ、DSP、オーディ
オ/ビデオ、マルチメディアチップのようなコントロー
ラの試験を実施できる。
【図面の簡単な説明】
【図1】マイクロプロセサの基本的な構成を示した概略
図である。
【図2】本発明のテスト方法を実施するためにマイクロ
プロセサに追加される回路構成例を示す概略図である。
【図3】(A)と(B)は、本発明に基づき、それぞれ
のインストラクションについてMISR(マルチインプ
ット・フィードバック・シフトレジスタ)の誤差無し値
(フォルトフリー)を求めるためのシュミレーション・
テストベンチ用の疑似コードの例を示す。
【図4】(A)−(C)は、本発明のテスト方法と回路
構成に用いられる、各シフトレジスタTCR(テスト・
コントロール・レジスタ)、LFSR(リニア・フィー
ドバック・シフトレジスタ)、MISR(マルチインプ
ット・フィードバック・シフトレジスタ)の例を示す概
略図である。
【図5】(A)と(B)は第4図(B)と第4図(C)
におけるLFSR(リニア・フィードバック・シフトレ
ジスタ)とMISR(マルチインプット・フィードバッ
ク・シフトレジスタ)の構成を更に詳しく示したブロッ
ク図である。
【図6】バウンダリ・スキャンTAP(テスト・アクセ
ス・ポート)コントローラを用いて本発明を実施するた
めの構成例を示すブロック図である。
【図7】複数の実行装置(エグセキューション・ユニッ
ト)を有するマイクロプロセサに本発明によるテスト方
法を実施するための構成例を示す概略ブロック図であ
る。
【符号の説明】
12 プログラムカウンター・インストラクション・
フェッチ・ユニット 14 インストラクション・デコード・ロジック 16 インストラクション実行ユニット 22 TCR(テスト・コントロール・レジスタ) 24 LFSR(リニア・フィードバック・シフトレ
ジスタ) 26 MISR(マルチインプット・フィードバック
・シフトレジスタ) 28 コントローラ 32 マルチプレクサ 34 マルチプレクサ

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 インストラクション・フェッチ・ユニッ
    ト、インストラクション・デコーダ、システムメモリ、
    およびインストラクション実行ユニットを有するマイク
    ロプロセサをテストする回路構成において、 テスト時に被試験マイクロプロセサのインストラクショ
    ン・デコーダにインストラクションを供給するためのテ
    スト制御レジスタと、 そのテスト制御レジスタからのテスト・インストラクシ
    ョンまたはインストラクション・フェッチ・ユニットか
    らのインストラクションを選択する為の第1のマルチプ
    レクサと、 被試験マイクロプロセサのインストラクション実行ユニ
    ットに、テストオペランドを供給するためのリニア・フ
    ィードバック・シフトレジスタと、 そのリニア・フィードバック・シフトレジスタからのテ
    ストオペランドまたはシステムメモリからのオペランド
    を選択する為の第2のマルチプレクサと、 上記インストラクション実行ユニットからの実行結果を
    受け取るためのマルチインプット・フィードバック・シ
    フトレジスタと、 テスト・インストラクションをテスト制御レジスタとリ
    ニア・フィードバックレジスタに供給し、マルチインプ
    ット・フィードバック・シフトレジスタの出力シグナチ
    ャを評価するためのコントローラと、 により構成され
    るマイクロプロセサ試験回路構成。
  2. 【請求項2】 上記リニア・フィードバック・シフトレ
    ジスタはランダム・テストパターンであるテストオペラ
    ンドを発生し、上記インストラクション実行ユニットか
    らの上記ランダム・テストパターンについての応答結果
    は上記マルチインプット・フィードバック・シフトレジ
    スタにより圧縮される、請求項1に記載のマイクロプロ
    セサ試験回路構成。
  3. 【請求項3】 上記コントローラはテスト制御レジスタ
    とリニア・フィードバック・シフトレジスタにテスト・
    インストラクションを供給し、そのテスト・インストラ
    クションは被試験マイクロプロセサの設計段階でシミュ
    レーション・テストベンチによりシミュレートされて正
    しいデータのシグネチャが試験の開始前に上記コントロ
    ーラに用意されており、試験において上記マルチインプ
    ット・フィードバック・シフトレジスタの出力データと
    正しいデータを比較する、請求項1に記載のマイクロプ
    ロセサ試験回路構成。
  4. 【請求項4】 上記コントローラはICテスタ、バウン
    ダリ・スキャンにおけるテスト・アクセスポート・コン
    トローラ、あるいはICチップ内のオンチップ・コント
    ローラである、請求項1に記載のマイクロプロセサ試験
    回路構成。
  5. 【請求項5】 上記テスト制御レジスタは上記コントロ
    ーラからテスト・インストラクションを直列に受け、そ
    のテスト・インストラクションを上記インストラクショ
    ン・デコーダに並列に供給する、請求項1に記載のマイ
    クロプロセサ試験回路構成。
  6. 【請求項6】 上記リニア・フィードバック・シフトレ
    ジスタは複数の直列に接続されたフリップフロップと少
    なくとも1個の排他的論理和回路を有し、その排他的論
    理和回路は最終段のフリップフロップの出力をそれより
    前段側のフリップフロップの入力にフィードバックし、
    上記リニア・フィードバック・シフトレジスタはさらに
    直列接続されたフリップフロップを初期化するための初
    期化入力端子とスタート・ストップ動作を制御するため
    のスタート・ストップ入力端子を有する、請求項1に記
    載のマイクロプロセサ試験回路構成。
  7. 【請求項7】 上記マルチインプット・フィードバック
    ・シフトレジスタは複数の直列に接続されたフリップフ
    ロップと2個または3個以上の排他的論理和回路であっ
    て少なくとも1個の排他的論理和回路は最終段のフリッ
    プフロップの出力をそれより前段側のフリップフロップ
    の入力にフィードバックし、上記マルチインプット・フ
    ィードバック・シフトレジスタはさらに対応する排他的
    論理和回路に接続された入力端子と、直列接続されたフ
    リップフロップを初期化するための初期化入力端子と、
    スタート・ストップ動作を制御するためのスタート・ス
    トップ入力端子を有する、請求項1に記載のマイクロプ
    ロセサ試験回路構成。
  8. 【請求項8】 上記第2のマルチプレクサは上記インス
    トラクション実行ユニットが複数の演算ユニットを有す
    るとき、その対応する演算ユニットにテストオペランド
    を選択的に供給するための選択機能をさらに有する、請
    求項1に記載のマイクロプロセサ試験回路構成。
  9. 【請求項9】 インストラクション・フェッチ・ユニッ
    ト、インストラクション・デコーダ、システムメモリ、
    およびインストラクション実行ユニットを有するマイク
    ロプロセサのテスト方法において、 テストモードを起動させるステップと、 テスト・コントロール・レジスタ、リニア・フィードバ
    ック・シフトレジスタ、およびマルチインプット・フィ
    ードバック・シフトレジスタを初期化するステップと、 テスト・インストラクションのオペコード(オペレーシ
    ョンコード)をテスト制御レジスタにロードするステッ
    プと、 テスト制御レジスタの内容をインストラクション・フェ
    ッチ・ユニットに供給するステップと、 リニア・フィードバック・シフトレジスタとマルチイン
    プット・フィードバック・シフトレジスタに、所定のサ
    イクル数、あるいは2N−1サイクル数だけ(このとき
    Nは、リニア・フィードバック・シフトレジスタとマル
    チインプット・フィードバック・シフトレジスタのステ
    ージの数である)、クロックを印加するステップと、 マルチインプット・フィードバック・シフトレジスタの
    内容(シグナチャ)を取り出すステップと、 フォルト(不良)がないか検出するために、マルチイン
    プット・フィードバック・シフトレジスタのシグナチャ
    と事前に計算して用意したシミュレーション・シグナチ
    ャとを比較するステップと、 全てのインストラクションについての実行が完了するま
    で、上述の各ステップ(a)−(g)を異なるインスト
    ラクションで繰り返すステップとにより構成されるマイ
    クロプロセサ試験方法。
  10. 【請求項10】 上記リニア・フィードバック・シフト
    レジスタはランダム・テストパターンであるテストオペ
    ランドを発生し、上記インストラクション実行ユニット
    からの上記ランダム・テストパターンについての応答結
    果は上記マルチインプット・フィードバック・シフトレ
    ジスタにより圧縮される、請求項9に記載のマイクロプ
    ロセサ試験方法。
  11. 【請求項11】 上記コントローラはテスト制御レジス
    タとリニア・フィードバック・シフトレジスタにテスト
    ・インストラクションを供給し、そのテスト・インスト
    ラクションは被試験マイクロプロセサの設計段階でシミ
    ュレーション・テストベンチによりシミュレートされて
    正しいデータのシグネチャが試験の開始前に上記コント
    ローラに用意されており、試験において上記マルチイン
    プット・フィードバック・シフトレジスタの出力データ
    と正しいデータを比較する、請求項9に記載のマイクロ
    プロセサ試験方法。
  12. 【請求項12】 上記コントローラはICテスタ、バウ
    ンダリ・スキャンにおけるテスト・アクセスポート・コ
    ントローラ、あるいはICチップ内のオンチップ・コン
    トローラである、請求項9に記載のマイクロプロセサ試
    験方法。
  13. 【請求項13】 上記テスト制御レジスタは上記コント
    ローラからテスト・インストラクションを直列に受け、
    そのテスト・インストラクションを上記インストラクシ
    ョン・デコーダに並列に供給する、請求項9に記載のマ
    イクロプロセサ試験方法。
  14. 【請求項14】 上記リニア・フィードバック・シフト
    レジスタは複数の直列に接続されたフリップフロップと
    少なくとも1個の排他的論理和回路を有し、その排他的
    論理和回路は最終段のフリップフロップの出力をそれよ
    り前段側のフリップフロップの入力にフィードバック
    し、上記リニア・フィードバック・シフトレジスタはさ
    らに直列接続されたフリップフロップを初期化するため
    の初期化入力端子とスタート・ストップ動作を制御する
    ためのスタート・ストップ入力端子を有する、請求項9
    に記載のマイクロプロセサ試験方法。
  15. 【請求項15】 上記マルチインプット・フィードバッ
    ク・シフトレジスタは複数の直列に接続されたフリップ
    フロップと2個または3個以上の排他的論理和回路を有
    し、少なくとも1個の排他論理和回路は最終段のフリッ
    プフロップの出力をそれより前段側のフリップフロップ
    の入力にフィードバックし、上記マルチインプット・フ
    ィードバック・シフトレジスタはさらに対応する排他的
    論理和回路に接続された入力端子と、直列接続されたフ
    リップフロップを初期化するための初期化入力端子と、
    スタート・ストップ動作を制御するためのスタート・ス
    トップ入力端子を有する、請求項9に記載のマイクロプ
    ロセサ試験方法。
  16. 【請求項16】 上記第2のマルチプレクサは上記イン
    ストラクション実行ユニットが複数の演算ユニットを有
    するとき、その対応する演算ユニットにテストオペラン
    ドを選択的に供給するための選択機能をさらに有する、
    請求項9に記載のマイクロプロセサ試験方法。
JP11303994A 1998-10-29 1999-10-26 マイクロプロセサをテストするための回路構成とテスト方法 Withdrawn JP2000163279A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/182,382 US6249892B1 (en) 1998-10-29 1998-10-29 Circuit structure for testing microprocessors and test method thereof
US09/182382 1998-10-29

Publications (1)

Publication Number Publication Date
JP2000163279A true JP2000163279A (ja) 2000-06-16

Family

ID=22668227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11303994A Withdrawn JP2000163279A (ja) 1998-10-29 1999-10-26 マイクロプロセサをテストするための回路構成とテスト方法

Country Status (5)

Country Link
US (1) US6249892B1 (ja)
JP (1) JP2000163279A (ja)
KR (1) KR20000029365A (ja)
DE (1) DE19952262A1 (ja)
TW (1) TW539857B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772917B2 (en) 2013-10-08 2017-09-26 Samsung Electronics Co., Ltd. Method and apparatus for generating test bench for verification of processor decoder

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424926B1 (en) * 2000-03-31 2002-07-23 Intel Corporation Bus signature analyzer and behavioral functional test method
JP2002099447A (ja) * 2000-09-22 2002-04-05 Fujitsu Ltd プロセッサ
KR100399068B1 (ko) * 2001-04-25 2003-09-26 주식회사 하이닉스반도체 마이크로 컨트롤러 유닛의 효율적인 테스트 방법
JP4009147B2 (ja) * 2002-06-24 2007-11-14 富士フイルム株式会社 記録テープカートリッジ
DE10241385A1 (de) * 2002-09-06 2004-03-25 Infineon Technologies Ag Integrierter Schaltkreis
US7096393B2 (en) * 2002-12-20 2006-08-22 Sun Microsystems, Inc. Built-in self-test (BIST) of memory interconnect
US7461311B2 (en) * 2002-12-20 2008-12-02 Robert Bosch Gmbh Device and method for creating a signature
US7062694B2 (en) * 2003-02-07 2006-06-13 Sun Microsystems, Inc. Concurrently programmable dynamic memory built-in self-test (BIST)
JP2004325233A (ja) 2003-04-24 2004-11-18 Matsushita Electric Ind Co Ltd 半導体装置
US7404128B2 (en) * 2004-02-17 2008-07-22 Texas Instruments Incorporated Serial data I/O on JTAG TCK with TMS clocking
US7472320B2 (en) 2004-02-24 2008-12-30 International Business Machines Corporation Autonomous self-monitoring and corrective operation of an integrated circuit
US20060112257A1 (en) * 2004-11-12 2006-05-25 Undy Stephen R Microprocessor architected state signature analysis
US20060136795A1 (en) * 2004-12-17 2006-06-22 Lsi Logic Corporation Method of testing scan chain integrity and tester setup for scan block testing
US7797599B2 (en) * 2006-09-27 2010-09-14 Verigy (Singapore) Pte. Ltd. Diagnostic information capture from logic devices with built-in self test
US8478940B2 (en) 2009-06-02 2013-07-02 International Business Machines Corporation Controlling simulation of a microprocessor instruction fetch unit through manipulation of instruction addresses
US10578672B2 (en) * 2015-12-31 2020-03-03 Stmicroelectronics (Grenoble 2) Sas Method, device and article to test digital circuits
US11449404B1 (en) * 2021-07-09 2022-09-20 SambaNova Systems, Inc. Built-in self-test for processor unit with combined memory and logic

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4481627A (en) * 1981-10-30 1984-11-06 Honeywell Information Systems Inc. Embedded memory testing method and apparatus
US5237460A (en) * 1990-12-14 1993-08-17 Ceram, Inc. Storage of compressed data on random access storage devices
JP3552175B2 (ja) * 1995-05-17 2004-08-11 株式会社アドバンテスト フェイルメモリ装置
US5909572A (en) * 1996-12-02 1999-06-01 Compaq Computer Corp. System and method for conditionally moving an operand from a source register to a destination register
US6073264A (en) * 1998-04-02 2000-06-06 Intel Corporation Debug vector launch tool
US6061283A (en) * 1998-10-23 2000-05-09 Advantest Corp. Semiconductor integrated circuit evaluation system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772917B2 (en) 2013-10-08 2017-09-26 Samsung Electronics Co., Ltd. Method and apparatus for generating test bench for verification of processor decoder
US10055318B2 (en) 2013-10-08 2018-08-21 Samsung Electronics Co., Ltd. Method and apparatus for generating test bench for verification of processor decoder

Also Published As

Publication number Publication date
DE19952262A1 (de) 2000-05-04
KR20000029365A (ko) 2000-05-25
TW539857B (en) 2003-07-01
US6249892B1 (en) 2001-06-19

Similar Documents

Publication Publication Date Title
JP2000137061A (ja) システムオンチップにおける埋込コアの試験方法及び構成
US5825785A (en) Serial input shift register built-in self test circuit for embedded circuits
JP2000163279A (ja) マイクロプロセサをテストするための回路構成とテスト方法
Chen et al. DEFUSE: A deterministic functional self-test methodology for processors
Li et al. Test set embedding for deterministic BIST using a reconfigurable interconnection network
US9689924B2 (en) Circuit for testing integrated circuits
EP1647828B1 (en) Automatic fault-testing of logic blocks using internal at-speed logic-BIST
JP2004012420A (ja) 集積回路の診断装置および診断方法並びに集積回路
JP6072437B2 (ja) 半導体集積回路及びその設計方法
US20160109514A1 (en) Structural testing of integrated circuits
Keller et al. Efficient testing of hierarchical core-based SOCs
Wohl et al. Increasing scan compression by using X-chains
Chandra et al. Multimode Illinois scan architecture for test application time and test data volume reduction
Vannal et al. Design and testing of combinational Logic circuits using built in self test scheme for FPGAs
Chen et al. Automatic Test Program Generation for Transition Delay Faults in Pipelined Processors
Chen et al. Configurable two-dimensional linear feedback shifter registers for parallel and serial built-in self-test
JPH06201782A (ja) 半導体集積回路
Lu et al. Speeding up emulation-based diagnosis techniques for logic cores
US20060069974A1 (en) One-hot encoded instruction register for boundary scan test compliant devices
JP5043500B2 (ja) 状態回復を有する回路エミュレーション
Gopikrishna et al. Test Coverage Analysis of DFT with EDT and without EDT Architecture
Puranik et al. Improved and evolutionary software based scheduling technique for embedded cores
US8645779B2 (en) Scan testing of integrated circuits and on-chip modules
BHARGAVI et al. IMPLEMENTATION OF MEMORY BUILT-IN SELF-TEST ENABLED RAM WITH USING BIT SWAPPING COMPLETE FEEDBACK SHIFT REGISTER
Ali et al. Enhancement in IEEE 1500 Standard for at-speed Test and Debug

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050217

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070105