(57)【特許請求の範囲】
【請求項１】
集積回路の試験方法において、
試験すべき集積回路の少なくとも一部を、複数の機能ユニットに区分化するステップと、
前記複数の機能ユニットのそれぞれに、試験パターンを共通に、かつ並列に供給して試験を実行するステップと、
前記試験パターンが供給された各機能ユニットにおいて出力されるデータを該それぞれの機能ユニットに設けられたメモリに記録するステップと、
前記複数の機能ユニットのそれぞれのメモリからデータを、試験完了後にすべて読み取るとともにそのデータを正しいデータと比較して、前記集積回路の良否を判定するステップと
からなる集積回路の試験方法。
【請求項２】
前記複数の機能ユニットにそれぞれ設けられるメモリはシフトレジスタであり、そのそれぞれのシフトレジスタは相互に直列に接続されて、該直列接続されたシフトレジスタに記録されたすべてのデータが、試験完了後に順次読み出されることを特徴とする請求項１記載の方法。
【請求項３】
試験の前に、前記直列接続されたシフトレジスタに「ゼロ」のデータをシフトインさせて、前記複数の機能ユニットのそれぞれのシフトレジスタを初期化することを特徴とする請求項２に記載の方法。
【請求項４】
前記試験パターンは疑似ランダムパターンであることを特徴とする請求項１に記載の方法。
【請求項５】
複数の機能ユニットのそれぞれに設けられるシグネチャ・レジスタと、
試験パターンを発生する第１の装置を用いることにより
前記試験パターンを発生する第１の装置から受け取る所定の試験パターンを前記各機能ユニットに共通に、かつ並列に供給するバスと、
前記試験パターンに応答して出力される各機能ユニットからのデータをそれぞれのシグネチャ・レジスタに記録する第２の装置と、
前記試験パターンが前記各機能ユニットに供給される試験の完了後に、前記機能ユニットのそれぞれのシグネチャ・レジスタに記録されたデータをすべて読み取るとともに正しいデータと比較して前記各機能ユニットの出力データの良否を判定する第３の装置に当該すべてのシグネチャ・レジスタに記録されたデータを出力するための出力線と
を備える集積回路。
【請求項６】
前記バスは、前記集積回路を平常使用したときに、前記複数の機能ユニット間における信号およびデータの転送媒体として使用されることを特徴とする請求項５に記載の集積回路。
【請求項７】
前記各機能ユニットのシグネチャ・レジスタはそれぞれシフトレジスタにより構成され、そのそれぞれのシグネチャ・レジスタを順次直列に接続するとともに、その直列接続されたシグネチャ・レジスタに格納されたデータを、試験完了後に順次読み出すよう構成された請求項５に記載の集積回路。
【請求項８】
前記直列接続されたシグネチャ・レジスタに「ゼロ」のデータをシフトインさせて、前記複数の機能ユニットのそれぞれのシフトレジスタを初期化することを特徴とする請求項７に記載の集積回路。
【請求項９】
各シグネチャ・レジスタがリニア・フィードバックを含む請求項５に記載の集積回路。
【請求項１０】
前記試験パターンが疑似ランダムパターンである請求項５に記載の集積回路。
【請求項１１】
バス・ユニットを有するバスと、
前記バスにそれぞれ接続された複数の機能ユニットと、
前記複数の機能ユニットのそれぞれに設けられるメモリと、
平常動作時には前記バスが前記バス・ユニットおよび前記複数の機能ユニット間で「データ」および「制御信号」を送受できるよう動作させるとともに、試験時には前記バスが前記バスユニットを介して入力される試験パターンを前記各機能ユニットに並列に供給できるよう動作させるバス機能変更手段と、
前記供給された試験パターンに応答して出力される各機能ユニットのデータをそれぞれのメモリに記録する記録手段と、
試験完了後に、前記各機能ユニットのメモリに記録されたデータをすべて出力するための出力線であって、この出力線を介して出力される前記各機能ユニットのデータを正しいデータと比較して前記各機能ユニットの応答の良否を判定するために使用される出力線と
を備える集積回路。
【発明の詳細な説明】
発明の背景
１．発明の分野
本発明は集積回路試験の分野に関する。
２．従来の技術
集積回路の製造時点およびより大きなアセンブリに組み込む前の集積回路の試験は非常に大切である。たとえばマイクロプロセッサは、高くつくコンピュータの修理を避けるためだけでなく、コンピュータ搭載後のマイクロプロセッサの試験はより困難になるため、コンピュータに組み込む前に入念に試験する必要がある。
Ｖａｎ  Ｎｏｓｔｒａｎｄ  Ｒｅｉｎｈｏｌｄ出版のＷａｙｎｅ  ＮｅｅｄｈａｍによるＴｅｓｔａｂｌｅ  ＡＳＩＣ  Ｄｅｖｉｃｅｓの第４章および第５章に、いくつかの集積回路試験技法が概説されている。また、米国特許第３６４３１５６号、第３９２７３７１号、および第４６３５２１８号も参照されたい。
マイクロプロセッサおよびその他の集積回路のほとんどは、格納応答検査装置で試験される。これらの検査装置には、マイクロプロセッサの入力値として使用される１とゼロのパターンが、マイクロプロセッサから出力されることが期待される正しい出力値のパターンと共に格納された大容量メモリが組み込まれている。パターンは、通常使用する入力端末または特別なスキャンイン、スキャンアウトポートを介して被験素子（ＤＵＴ）に供給することができる。この試験のために、マイクロプロセッサの設計の検証に使用される試験ベクトルのサブセットが選択されることが多い。たとえば、１億のベクトルを使用して集積回路の設計を検証する場合、製造時の各マイクロプロセッサの試験に１千万のベクトルを使用する。
３００万程度のトランジスタを備えたマイクロプロセッサは、一般に、製造後、数百万ドルの費用がかかる格納応答検査装置によって１５〜２５秒間試験される。（この試験の一部は、マイクロプロセッサをパッケージ化した後、ウエハと部品をプローブすることによって行われる。）したがって大規模集積回路には多くの検査装置が必要であり、超大規模集積回路は製造に要する総資本費用のかなりの部分を検査装置の費用が占める場合がある。
集積回路のトランジスタの数が増えるに従って、必要な試験時間も増える。たとえば、６００万ないし７００万個のトランジスタを備えるマイクロプロセッサの場合、やはり数百万ドルの費用がかかる格納検査装置上で推定３０〜４５秒を要する。実際に、現行の検査方法を使用すると、１千万個のトランジスタを備えるマイクロプロセッサを試験する費用はダイ（パッケージングを除く）の製造コスト以上になると見積もられる。
以下でわかるように、本発明は試験費用を大幅に低減する。
発明の概要
本発明では、集積回路の試験容易性は回路の設計当初からの考慮事項である。集積回路を機能ユニットまたはブロックに区分化し、各ユニットを同じ１組の疑似ランダム・パターンによって試験するように設計する。このパターンは、回路の設計の初期ステップとして選択され、設計全体を通じて設計を検証するために使用される。このパターン（またはサブセット）は、後で製造中の試験に使用される。集積回路には、試験モードが組み込まれ、各ユニットが試験パターンを並列で受け取ることができるようになっている。各ユニットは、多重入力シグネチャ・レジスタ（ＭＩＳＲ）を備える。試験中、各入力パターンに対する各ユニットの応答がそのシグネチャ・レジスタにハッシュされる。試験シーケンスの完了後、すべてのシフト・レジスタの内容が標準ＩＥＥＥＰ１１４４９．１配列で順次に読み出され、正しいレジスタ・パターンと比較される。
重要なのは、試験中に試験パターンが順次に供給されるときに被験素子（ＤＵＴ）の出力を監視しないことである。このため、試験ベクトルを多くのＤＵＴに同時に適用することができる。したがって、各集積回路内のユニットを並列で試験できるだけでなく、多くの集積回路自体を同時に試験する。試験パターンの供給後、試験結果の検査は比較的高速な処理である。たとえば、各ＤＵＴから４００ビットがシフト・アウトされ、同時に１００個のＤＵＴが試験される場合、すべてのシグネチャ・レジスタの内容の検査に数秒しかかからない。
【図面の簡単な説明】
第１図は、本発明の試験方法を高水準で示すフロー・チャートである。
第２図は、従来技術のマイクロプロセッサを示すブロック図である。
第３図は、本発明の改良を加えた第２図のマイクロプロセッサを示すブロック図である。第３図のマイクロプロセッサの各ユニット間の相互接続は、マイクロプロセッサの平常（非試験）動作用の接続である。
第４図は、本発明の改良を加えた第２図のマイクロプロセッサを示すブロック図である。ただし、この図では、マイクロプロセッサの機能ユニット間の接続は試験用の接続である。
第５図は、同時に複数のマイクロプロセッサを試験する本発明による試験を示す図である。
第６図は、シグネチャ・レジスタを含む本発明の改良を加えた第２図のマイクロプロセッサの１つの機能ユニットを含む図である。
第７図は、本発明の試験方法を集積回路の初期設計に組み込む様子を示すための電気配線略図である。
第８図は、本発明の試験方法を組み込むための、第７図に示す手法の代替手法を示す電気配線図である。
本発明の詳細な説明
超大規模集積回路にとって特に有用な集積回路の試験方法および装置について説明する。以下の説明では、本発明を十分に理解することができるように、いくつかの特定ユニットを有するマイクロプロセッサなど特定の詳細を記載する。しかし、当業者には、これらの特定な詳細がなくても本発明を実施することができることが明らかであろう。他の場合には、本発明が不要に不明瞭にならないように、周知の試験実施形態および周知の回路に関する特定の詳細は記載していない。
本発明の方法
第１図を参照すると、同じレベルに２つのステップが示され、並列で行うことができることが図示されている。以下で説明するステップ１２は、疑似ランダム試験パターンを設定するステップを含む。他方の並列ステップ（ステップ１０）は、集積回路を、並列で試験する機能ユニットに区分化するステップである。この区分化は、多くの集積回路の設計においてある程度まで通常行われている。たとえば、マイクロプロセッサは、命令デコーダ、算術論理演算回路、浮動小数点ユニット、アドレス変換ユニットなど複数の機能ユニットを含むと考えられる。これらのユニットは、本発明によって実現されるように並列で試験するのに適している。
しかし、特定の集積回路内のある種の機能ユニットは、本発明によって実現される試験に適していない。たとえば、プログラマブル論理アレイ（ＰＬＡ）は、疑似ランダム・パターンでは有効に実施することができず、したがって集積回路のこのユニットは他の試験を必要とする。ＲＡＭの場合は、周知の組込み自己テスト（ＢＩＳＴ）を使用するか、ＲＡＭまたは疑似ランダム・パターンでは試験できないその他のユニットを試験するための特殊な試験パターンが必要である。
本発明を実施する最初のステップは、集積回路の設計の検証と、製造中に行われる試験の両方に使用する１組の疑似ランダム試験パターンを設定することである。複雑なマイクロプロセッサの場合、たとえば４０億の試験パターンを使用する。１の割合が高いグループ、ゼロの割合が高いグループ、遷移の多いグループ、特定のフィールドにのみ遷移があるグループ、シフトまたはウォーク・パターンを有するグループなどいくつかのグループの試験パターンを選択する。パターンの各グループはアルゴリズムを使用して生成することができるため、パターンを記憶する必要はない。重要なのは、疑似ランダム・パターンのシーケンスが再現可能であることである。第１図のステップ１２に、これらの試験パターンの選択と生成が示されている。
集積回路の各ユニットを集積回路内でその機能を実行するように設計するとき、同時にステップ１２で選択されたパターンによって試験されるように設計する。これに必要なのは、パターンによって励振されたときに各ユニットが決定論的に機能することであり、さらに各ユニットがパターンによって完全に励振されることである。パターンによる試験可能性を確実にするため、たとえば、状態機械における不正状態の後で発生する可能性があるブロッキングを防止するように追加する回路素子について、第７図および第８図と関連して説明する。
各ユニットを設計するとき、ステップ１４で示すようにその設計を試験パターンを使用して検証する。これには一般に、設計がパターンによって確実に検証可能かつ試験可能となるようにするために、線１５で示すように各ユニットの一部を再設計することが必要になる。
各ユニットの設計にシグネチャ・レジスタを組み込んで、後述するようにユニットの出力を組み合わせて記憶することができるようにする。
検証と試験は各ユニットが単独で、すなわち他のユニットからの入力なしで行われることを銘記されたい。これは、機能集積回路に他のユニットからの入力が必要な、ユニットの平常動作とは異なる。したがって、検証および試験時には、後述するようにそのために集積回路内で追加のパターンの生成を必要とする場合であっても、ユニットのすべての入力単にパターンを供給する。
集積回路の設計と製作が完了した後、ステップ１６で示すようにパターンを使用して集積回路内の機能ユニットを並列で試験する。典型的には、設計検証に使用されるパターンの組全体を製造後の試験に使用するのではなく、そのサブセットを使用する（たとえば４０億のうちの１０億のパターンを試験に使用する）。
マイクロプロセッサへの本発明の組込み
次に第２図を参照すると、算術論理演算ユニット（ＡＬＵ）２０、アドレス変換ユニット（ＡＴＵ）２２、浮動小数点ユニット（ＦＰＵ）２５、命令デコード・ユニット２４、およびバス・ユニット２３を有する従来技術の集積回路マイクロプロセッサが図示されている。バス・ユニット２３は、バス２６を介してＡＬＵ、ＡＴＵ、ＦＰＵ、およびデコード・ユニットと交信する。バス２６は典型的には複数の線を含み、バス・ユニットからの出力を受け取る線とバス・ユニットに入力を送る線がある。さらに、たとえばバス・ユニットからデコード・ユニット２４に直接命令を伝えることができるバス２７や、デコードされた命令を表す信号をそれぞれＦＰＵ２５およびＡＬＵ２０に搬送することができるバス２８および２９などのユニット間の他の結合も図示されている。ＡＬＵ２０とＡＴＵ２２の間にバス２１を含むほかの経路が図示されており、たとえば仮想アドレスおよび制御信号を送信することができる。バス・ユニット２３は、アドレス線、入出力データ線３０、および制御線３１などの外部線への結合を行う。
第２図のマイクロプロセッサは、第１図のステップ１２で示すように機能ユニットに区分化されている。機能ユニットへの区分化は、第２図に示す以外のものも使用することができる。たとえば、デコード・ユニット２４がＰＬＡを含む場合、ＰＬＡは別個のユニットとみなすことができ、前述のように、ＢＩＳＴを使用して別に試験することができる。さらに、第２図のマイクロプロセッサは、本発明の説明を助けるために図示されている。マイクロプロセッサは、キャッシュ・メモリなど他のユニットや、図示されている以外の多くの接続を有することができる。他の集積回路も、本発明を実施するために同様に機能ユニットに分割されることになる。
次に第３図を参照すると、再び第２図のマイクロプロセッサが図示されているが、この場合は本発明の改良が加えられている。第２図の各ユニットが第３図にも図示されている。第２図のＡＬＵ２０は第３図ではＡＬＵ２００として図示されている。ＡＬＵ２００は、本発明に従って設計されると、前述のように疑似ランダム・パターンによる検証と試験を可能にする特定の論理回路が追加されるため、典型的には第２図のＡＬＵ２０と同じではない。同じことは第３図の他のユニットにも適用される。
本発明によって、試験する各ユニットに多重入力シグネチャ・レジスタ（ＭＩＳＲ）を結合する。したがって、第３図に示すようにＡＬＵ２００はＭＩＳＲ２０１に結合され、ＡＴＵ２２０はＭＩＳＲ２２１に、ＦＰＵ２５０はＭＩＳＲ２５１に、命令デコード・ユニット２４１はＭＩＳＲ２４０に結合されている。各ＭＩＳＲは、当技術分野で周知のように、データを直列にシフト入力およびシフト出力することができるシフト・レジスタを備える。ＭＩＳＲはマイクロプロセッサのテスト・アクセス端子３２および３４に直列に接続されている。現在のところ好ましい実施形態ではこれらのポートは、ＩＥＥＥ  Ｐ−１１４９．１で指定されている標準テスト・アクセス・ポートである。
シフト・レジスタにおけるシフトを起動する信号が線３３に結合され、シフトの同期をとるためのクロック信号が線３５に結合される。第３図に示す配置構成では、試験の開始時に線３２からすべてゼロなどの所定のパターンをＭＩＳＲにシフト入力することができる。試験が完了した後、ＭＩＳＲに残っているパターンが線３４で（直列に）シフト出力され、各ＭＩＳＲの内容を検査することができる。
以下でわかるように各ＭＩＳＲは、並列入力を受け取るポートを有する。各ＭＩＳＲは一般に異なる数の入力を有する。入力の数は、そのそれぞれのユニットからの出力の数に対応する。たとえば、ＡＴＵ２２０が平常動作でバス２６０に３０の出力を送る場合、ＭＩＳＲ２２１は３０の入力を有することになる。
場合によっては、特定のユニットがきわめて多くの出力を有することがある。ある出力を他の出力と組み合わせてＭＩＳＲにおいて必要な段数を減らすことができる。たとえば、１つのユニットからの２つの出力の排他的論理和をとって、必要な段数を１つ減らすことができる。
バス・ユニット２３０にはＭＩＳＲが結合されていない。試験中にバス３０および３１からのすべての試験パターンがこのユニットを介して他のユニットに結合されるため、このユニットは機能的に試験される。さらに、バス・ユニットまたは他の入出力ユニットなどの特定の装置に特別なパターンまたは他の試験を使用することができる。
第３図に示すユニット間の相互接続は、第２図と同じである。この相互接続は、マイクロプロセッサがその平常（非試験）動作に使用するものである。したがって、命令がバス・ユニット２３０からバス２７０を介して命令デコード・ユニット２４０に結合され、デコードされた信号がバス２８０および２９０を介してユニット２５０および２００に送られる。平常動作中は、このマイクロプロセッサは第２図のマイクロプロセッサと同じように動作する。前述のように、追加の回路がある場合があるが、それらの回路はユニットの全体的機能を変えない。第２図と第３図のユニットのもう一つの相違は、各ユニット（ユニット２３０を除く）からの出力が他のユニットに結合されるほかに、ＭＳＩＲにも結合される点である。たとえば、平常動作中にＡＬＵ２００からの出力はバス２１０でＡＴＵ２２０に接続されると共にＭＩＳＲ２０１にも結合される。平常動作、ＭＩＳＲへの入力は使用されない。
第４図に、本発明による試験時の第３図のマイクロプロセッサを図示する。試験モード信号（３３上の信号とは異なる信号）が供給されると、第３図に示すユニット間の結合は第４図に示す構成に変わる。第４図では、ＡＬＵ２００、ＡＴＵ２２０、ＦＰＵ２５０、およびデコード・ユニット２４０がバス・ユニット２３０に結合され、バス３０および線３１に供給された試験パターンを各ユニットが並列に受け取る。
ＦＰＵ２５０は平常動作中、バス３０のすべての線と制御線３１のうちの２本の線とに結合され、それらの線から入力を受け取る。試験中は、第４図に示すようにＦＰＵ２５０は、バス・ユニットからＦＰＵ２５０が平常動作時に結合されるバス３０内のすべての線と、制御線３１のうちの２本の線から試験パターンが適用された入力を受け取る。また、ＡＴＵ２２０は、平常動作時にバス３０内のすべての線と線３１の制御線のうちの３本から入力を受け取ると仮定すると、試験時には第４図に示すように、これらの線に加えられた試験パターン入力を受け取ることになる。以下で第６図に関連して詳述するように、たとえば通常はＦＰＵ２５０が第３図のバス２８０を介してユニット２４０から受け取る入力が、試験パターンから直接、または試験パターン信号と組み合わせて供給され、追加の信号が供給される。
本発明で行われる試験の概要は、第４図から容易にわかる。まず、マイクロプロセッサに試験モード信号を供給して、試験モードにし、第４図に示す接続を設定する。線３３および３５にそれぞれＭＩＳＲ試験信号とクロック信号を供給することにより、すべてのシグネチャ・レジスタへの入力が順次にＭＩＳＲ２０１、２０２、２２１、２５１、および２４１にクロック入力される。これによって、シフト・レジスタが所定の状態、たとえばすべてゼロになる。一般には、ここで所定のパターンを供給して、すべての非組合せ回路（たとえば状態機械、レジスタ）を周知の状態にする。次に試験パターンをマイクロプロセッサが使用するクロック信号とともにバス３０および線３１に供給する。試験パターン入力は、ユニット２００、２２０、２４０、および２５０に同時に供給される。各入力について、各ユニットが出力を生成し、それがそれぞれのシグネチャ・レジスタに結合される。シグネチャ・レジスタに結合された信号は、後述するようにリニア・フィードバックと共にハッシュされて多重誤りのマスキングを防ぐ。すべての試験パターンがこれらのユニットと結合された後、シグネチャ・レジスタの内容がクロック出力され、検査される。これらのパターンが既知の正しいパターンと比較され、マイクロプロセッサが無欠陥であるか否かが判断される。（設計工程中に、典型的には各ユニットがシミュレーションされる。このシュミレーションは試験パターンを使用して誘導される。これを行うと、各ユニットからの出力がわかり、それぞれのシグネチャ・レジスタの内容もわかる。）
ＡＬＵとそのシグネチャ・レジスタ
第６図に、第３図および第４図のＡＬＵ２００が、それに関連するシグネチャ・レジスタ２０１および本発明と共に使用するその他の回路と共に図示されている。平常動作中は、第３図に示すように、ＡＬＵはバス２６０から入力を受け取り、バス２６０に出力を送る。これは第２図で入力線６１および出力線６２として示されている。また、第３図に示すようにＡＬＵ２００はバス２９０から入力を受け取る。バス２９０は、第６図に示すようにディマルチプレクサ（ＤＭＵＸ）６０に結合されている。ＤＭＵＸの出力が結合されて、ＡＬＵ２００に入力を供給する。やはり第６図に、ＡＬＵ２００をＡＴＵ２２０に結合するバス２１０が示されている。
まず、第６図で、ＡＬＵ２００からのすべての出力、特に線６２およびバス２１０がシグネチャ・レジスタ２０１に結合されていることに留意されたい。線６２は、第３図のバス２６０に出力を供給するほかに、レジスタ２０１に入力を供給する。これらの入力はレジスタ２０１のＸＯＲゲートに結合されているのが図示されている。同様に、バス２１０は、ＡＴＵ２１０に結合されているほかに、レジスタ２０１に入力を供給する。バス２１０の各線がやはりシグネチャ・レジスタのＸＯＲゲートに結合されている。したがって、図の実施形態の場合、ＡＬＵ２００のすべての出力についてシグネチャ・レジスタ２０１への入力が１つずつある。
ＡＬＵ２００の平常動作中は、バス２９０からの信号は単にＤＭＵＸ６０を介してＡＬＵに渡されるに過ぎない。試験が開始されると、ＤＭＵＸ６０に試験モード信号が供給されて、バス２９０が切り離され、バス・ユニット２３０からの入力がＡＬＵ２００に結合される。同様に、バス２１０をＡＴＵ２２０およびその他のＤＭＵＸから切り離して、第４図の結合を実現する。
平常動作中は、バス２９０からＡＬＵ２００への入力は、バス・ユニットからの入力ではないことに留意されたい。このため、試験中は、試験パターンに直接関係のある他の入力を使用しなければならない。場合によっては、線２６０ａから２６０ｎのように、バス・ユニットを通過した後の入力パターンが直接ＤＭＵＸ６０に結合される。試験中のＡＬＵ２００への他の入力は、ゲート６４によって線２６０ａ上の信号と２６０ｎ上の信号との排他的論理和をとることによって得られる。試験中のＡＬＵへのさらに他の入力は、ゲート６３による線２６０ｂ上の信号と線２６０ｎ上の信号との論理積である。バス２６０上の信号はバス３０および線３１に供給される試験パターンであるため、試験中にＤＭＵＸ６０を介してＡＬＵ２００に供給される入力は、常に、集積回路に供給される特定の試験パターンの直接作用である。
多重入力シグネチャ・レジスタ２０１は、状態６５および６６など、それぞれが排他的論理和ゲートによって区切られた複数の段を含む。レジスタへの入力（ＡＬＵ２００の出力）はそれぞれ１つのゲートに結合される。各ゲートへの他の入力は、直前の段に格納されている１またはゼロである。ゲートによっては第３の入力である、レジスタの最後の状態に格納されたビットを有するものがある。各ゲートの出力は、それぞれの段に格納される。たとえば、ゲート６７の出力は段６６に（ＳＲＩ）に格納される。
排他的論理和ゲートの中には、線６８を介するゲート６７で図示されているようにフィードバックを受け取るものと、ゲート６９で図示されているようにフィードバックを受け取らないものがある。この選択的フィードバックを使用して、従来の技術で周知の多項式を実現する。これによって、１つの誤りが他の誤りをマスクする確率が減り、実際にはその見かけの正しさが多重誤りによるものである場合にシグネチャ・レジスタの内容が正しく見える確率が少なくなる。誤りカバーレッジの確率とＭＩＳＲのその他の特性に関する説明は、ＥｄｉｒｉｓｏｏｎｙａおよびＲｏｂｉｎｓｏｎによる”Ａｌｉａｓｉｎｇ  Ｐｒｏｐｅｒｔｉｅｓ  ｏｆ  Ｃｉｒｃｕｌａｒ  ＭＩＳＲｓ”（Ｊｏｕｒｎａｌ  ｏｆ  Ｅｌｅｃｔｒｏｎｉｃ  Ｔｅｓｔｉｎｇ  Ｔｈｅｏｒｙ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎ（ＪＥＴＴＡ），Ｖｏｌ．４，  Ｎｏ．２，  Ｍａｙ  １９９３，  Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ，ｐｐ．１５１−１５７）に記載されている。
第６図には図示されていないが、前述のようにレジスタの内容を読み取るために、レジスタの各段の内容は直列にシフト出力することができる。また、レジスタを初期設定するためにデータをシフト入力することができる。
テスト可能性の組込み
前述のように、集積回路で使用する回路を設計するときは、疑似ランダム・パターンによって設計を検証し、回路を試験することができるように設計する必要がある。第７図および第８図にこれを行う様子を示す。４個のフリップフロップ（１６通りの可能な状態）を有する状態機械を考えてみる。状態のうちの７通りの状態は不正である。疑似ランダム・パターンによって、状態機械に不正状態をとらせ、それによって状態機械によって制御される回路の試験をブロックする。
第７図に、３個のＤフリップフロップ７１、７２、および７３が図示されている。フリップフロップ７１のＱ出力がＯＲゲート７４を介してフリップフロップの７２のＤ出力と結合される。フリップフロップ７２のＱ出力もＯＲゲートの入力に結合される。フリップフロップ７２の
0003749541.tif 000002
出力は、ＮＡＮＤゲート７５に結合される。このゲートには入力”Ａ”も結合される。フリップフロップ７１のＤ端子に”Ｂ”入力信号が結合される。”Ｃ”信号（フリップフロップ７３のＱ端子）がマイクロプロセッサ内の他の回路を駆動する。
ゲート７４からのハイ出力によってフリップフロップ７２のＱ出力がハイになる。これが起こると、フリップフロップ７２は常にそのＱ端子をハイにする。次に７５のＱ端子がローになり、このロー信号がＮＡＮＤゲート７５の１つの入力に供給される。これらの条件のもとでは、Ａ入力がどのような状態であってもＮＡＮＤゲート７５の出力は常にハイになる。これによってＣ信号が一定の状態を維持し、Ｃ信号によって駆動されるどの回路も動作しない。疑似ランダム・パターンでは、このブロックは恐らく最初のわずかの試験パターンについて起こった後でブロックが起こり、それによってＣ信号により駆動される回路の動作が阻止される。
このブロックは、試験中にフリップフロップを周期的にリセットするだけで簡単に回避することができる。たとえば、回路によってフリップフロップを、たとえば５０試験パターンごとにリセットし、それによってＣ信号を保証することができる。
これは、疑似ランダム・パターンによって検証と試験を行うことができるようにする集積回路のユニットの設計の一例に過ぎない。その他の例も当業者には明白である。
第８図は、第７図に図示したブロックを阻止する他の手法である。第８図には、再び第７図のフリップフロップ７２とＯＲゲート７４が示されている。しかし、今度はＯＲゲート７４の出力はＡＮＤゲート８０を介してフリップフロップ７２のＤ端子に結合されている。ＡＮＤゲート８０への他方の入力である線８１はハイに維持され、それによって平常動作中にＡＮＤゲート７４の出力がフリップフロップ７２まで通過することができる。しかし試験中は、線８１を周期的にローにして、フリップフロップ７２をそれ自体の出力から解放することができる。この場合も、たとえば１０番目の入力パターンごとにこれを行うことができる。
ＩＣの同時試験
本発明によって集積回路を製作した後は、その集積回路を他の同様の集積回路と共に、第５図に示すように同時に試験することができる。第５図には、パターン発生器５０から試験パターンを受け取るように結合されたマイクロプロセッサ５１、５２、および５３などの、同じであると推定される複数のマイクロプロセッサが図示されている。図示されていないが、パターン発生器または他の手段を使用して、被験マイクロプロセッサに電力を供給することができ、クロック信号、試験モード信号、マイクロプロセッサ及びＭＩＳＲを所定の状態に初期設定する特別なパターン、および、たとえばＰＬＡを試験するのに必要な特別な試験パターンを供給することができる。この初期設定と予備試験の後、マイクロプロセッサを疑似ランダム試験パターンのシーケンスを同時に受け取る。マイクロプロセッサに試験パターンが供給された後、各マイクロプロセッサからシグネチャ・レジスタに格納されたデータがアナライザ５４によって正しい試験パターンと比較される。欠陥のあるマイクロプロセッサはそのシグネチャ・レジスタに正しいデータ・パターンが格納されないため、この試験過程によって、試験に合格しなかったマイクロプロセッサを迅速に識別することができる。
したがって、以上、超大規模集積回路にとって特に有利な試験方法を開示した。
【図１】
0003749541.tif 000003
【図２】
0003749541.tif 000004
【図３】
0003749541.tif 000005
【図４】
0003749541.tif 000006
【図５】
0003749541.tif 000007
【図６】
0003749541.tif 000008
【図７】
0003749541.tif 000009
【図８】
0003749541.tif 000010