(57)【特許請求の範囲】
【請求項１】
共働する複数の回路部分を備えている集積回路において、
前記の複数の回路部分のうちの２つの回路部分（１，２）が、スキャンレジスタチェーンを構成するインタフェースユニット（３１，４１）をそれぞれ有する２つのインタフェースを介して互いに接続されており、
第１の回路部分（２）から第２の回路部分（１）への第１の接続路（３）に、複数のインタフェースユニット（３１）を有する第１のインタフェースが設けられており、かつ第２の回路部分（１）から第１の回路部分（２）への第２の接続路（４）に、複数のインタフェースユニット（４１）を有する第２のインタフェースが設けられており、
前記スキャンレジスタチェーンは、該スキャンレジスタチェーンへのデータの入力が選択的に、複数の回路部分のうち１つの回路部分の出力端子を介して、または集積回路の入力端子および／または出力端子を介して行われるように構成されており、
スキャンレジスタチェーンからのデータの送出が選択的に、複数の回路部分のうち１つの回路部分の入力端子へ、または集積回路の入力端子および／または出力端子へ行われるように構成されており、
前記の２つのインタフェースにあるスキャンレジスタチェーンの素子は選択的に、
１つの回路部分の出力端子から送出されたデータによって書き込まれ、該データをスキャンレジスタチェーンを介して集積回路から送出するか、または、
集積回路外部からスキャンレジスタへ供給されたデータによって書き込まれ、該データを１つの回路部分の入力端子に送出することを特徴とする集積回路。
【請求項２】
インタフェースユニット（３１，４１）はそれぞれ１つのレジスタ（Ｒ）を有しており、すべてのインタフェースユニットにおけるレジスタが結線されて、少なくとも１つのスキャンレジスタチェーンが形成されている、請求項１記載の集積回路。
【請求項３】
第１の回路部分および／または第２の回路部分の入力端子に前置接続されたインタフェースユニットはマルチプレクサを有しており、該マルチプレクサによって選択的に、通常動作中に集積回路へ供給される信号または別の信号が、対応づけられた入力端子へ通されるよう切り替えられる、請求項１または２記載の集積回路。
【請求項４】
前記別の信号は、該当するインタフェースユニット（３１，４１）のレジスタ（Ｒ）の出力信号である、請求項３記載の集積回路。
【請求項５】
前記別の信号は、集積回路の入力端子および／または出力端子を介して入力される信号である、請求項３または４記載の集積回路。
【請求項６】
前記の少なくとも１つのスキャンレジスタチェーンは、パラレルに入力されるデータのシーケンスがシグネチャ解析を受けるように設計されている、請求項１から５のいずれか１項記載の集積回路。
【発明の詳細な説明】
【０００１】
本発明は、請求項１の上位概念に記載の装置すなわち２つまたはそれ以上の共働回路部分を備えた集積回路に関する。
【０００２】
この種の集積回路はたとえば、当業者の間で "core based systems" または "systems on silicon" または "circuits with embedded macros" と呼ばれる集積回路の代表である。この種の集積回路の場合、第１の回路部分（core または embedded macro）は第２の回路部分に埋め込まれている。
【０００３】
図３にはこのように構成された集積回路が描かれており、この場合、第１の回路部分には参照符号１０１が、第２の回路部分には参照符号１０２が、さらに第１の回路部分１０１と第２の回路部分１０２の間の接続ラインには参照符号１０３が付されている。
【０００４】
ここで第１の回路部分は、すでに存在している機能ブロックであることが多く、これは新たな周囲（第２の回路部分）だけに埋め込まれている。すでに存在しているテスト済のコンポーネントを使用することにより、該当する集積回路の設計が容易になり、したがってそのようにして構築された集積回路は比較的迅速かつ簡単に設計することができる。
【０００５】
とはいうものの、この種の集積回路のテストにあたりときとして困難が生じることがあり、これは殊に、第１の回路部分と第２の回路部分を互いに無関係に別個にテストすべきときに生じる。
【０００６】
第１の回路部分の別個のテストが困難であるのは、その入出力端子がかなり多くの事例において少なくとも部分的に、周囲を取り巻く第２の回路部分を介してしかアクセスできないからである。また、第２の回路部分の別個のテストが困難であるのは、その機能がその中に埋め込まれた第１の回路部分（第１の回路部分から第２の回路部分へ送出されるデータや信号）によって（いっしょに）影響を受けるからである。
【０００７】
したがって本発明の課題は、請求項１の上位概念に記載の集積回路において、その回路部分を僅かなコストでどのような場合でも互いに無関係に別個にテストできるように構成することにある。
【０００８】
本発明によればこの課題は、請求項１の特徴部分に記載の構成により解決される。
【０００９】
これによれば、複数の回路部分のうちの２つの回路部分が、スキャンレジスタチェーンを構成するインタフェースユニットをそれぞれ有する２つのインタフェースを介して互いに接続されており、第１の回路部分から第２の回路部分への第１の接続路に、複数のインタフェースユニットを有する第１のインタフェースが設けられており、かつ第２の回路部分から第１の回路部分への第２の接続路に、複数のインタフェースユニットを有する第２のインタフェースが設けられており、前記スキャンレジスタチェーンは、該スキャンレジスタチェーンへのデータの入力が選択的に、複数の回路部分のうち１つの回路部分の出力端子を介して、または集積回路の入力端子および／または出力端子を介して行われるように構成されており、および／または、スキャンレジスタチェーンからのデータの送出が選択的に、複数の回路部分のうち１つの回路部分の入力端子へ、または集積回路の入力端子および／または出力端子へ行われるように構成されている。
【００１０】
１つまたは複数のスキャンレジスタチェーンを各回路部分間のインタフェースに設けることによって、個々の回路部分における入力端子および／または出力端子へのダイレクトかつ完全なアクセスが可能となる。個々の回路部分の入力端子に対し、集積回路外部からスキャンレジスタチェーンへロードされるデータを加えることができ、個々の回路部分の出力端子から送出されるデータをスキャンレジスタチェーンに書き込み、そこを介して集積回路から送出させることができる。
【００１１】
個々の回路部分の入力端子および／または出力端子へのこのようなアクセスによって、共働する回路部分を完全に分離（互いに隔離）することができる。回路部分に入力すべきまたはそこから送出させるべき信号またはデータを、別の回路部分を介して導く必要はもはやなくなる。
【００１２】
少なくとも１つのスキャンレジスタチェーンは、スキャンレジスタチェーンへのデータの入力が選択的に、複数の回路部分のうち１つの回路部分の出力端子を介して、または集積回路の入力端子および／または出力端子を介して行うことができるように設計されていることにより、および／またはスキャンレジスタチェーンからのデータの送出が選択的に、複数の回路部分のうち１つの回路部分の入力端子へ、または集積回路の入力端子および／または出力端子へ行うことができるように設計されていることによって、個々の回路部分への入力端子および／または出力端子へのアクセスに必要とされるスキャンレジスタチェーンの個数を、最小限に抑えることができる。つまり少なくとも１つのスキャンレジスタチェーンは、二重の機能をもっている。これには、
−１つの回路部分の出力端子から送出されるデータを書き込むことができ、それらのデータを集積回路から送出されることができるし、あるいは、
−集積回路外部からデータを書き込むことができ、それらのデータを１つの回路部分の入力端子へ送出させることができる。
【００１３】
したがって、僅かな手間ないしはコストでどのような場合でも互いに無関係に別個にテストすることのできる回路部分を備えた集積回路が得られる。
【００１４】
従属請求項、以下の説明ならびに図面には、本発明の有利な実施形態が示されている。
【００１５】
次に、図面を参照しながら実施例に基づき本発明について詳しく説明する。
【００１６】
図１は、あとで詳しく説明する集積回路の構造を示す図である。
【００１７】
図２は、図１による集積回路のインタフェースユニットの構造を示す図である。
【００１８】
図３は、複数の集積回路部分を備えた慣用の集積回路の構成を示す図である。
【００１９】
あとで詳しく説明する集積回路は、 "core based systems" または "systems on silicon" または "circuits with embedded macros" と呼ばれる集積回路である。本発明はこのような集積回路において格別有用に使用できるけれども、それに限定されるものではなく、集積回路は基本的に任意の形式のものとすることができる。
【００２０】
集積回路は本実施例では２つの回路部分から成るが、このことにも限定されるわけではなく、任意にもっと多くの個数の集積回路を設けることもできる。
【００２１】
この場合、２つの回路部分のうち第１の回路部分は、少なくとも機能的には第２の回路部分に埋め込まれている。とはいえこのことにも限定されず、既存の回路部分間の共働についてこれとは異なっている場合においても、本発明を有用に適用することができる。
【００２２】
本実施例の場合、回路部分のうちの１つは、「コア (core)」または「マクロブロック (macro block)」と呼ばれる既存のテスト済の機能ブロックである。なお、本発明はこのような事例において格別有用に使用することができるけれども、やはりこのことに限定されるものではなく、回路部分は基本的に任意の形式のものであってよい。
【００２３】
図１には、以下で詳しく説明する集積回路の基本構造が描かれている。
【００２４】
図１に示されている集積回路は、第１の回路部分１と第２の回路部分２から成り、その際、第１の回路部分は第２の回路部分に埋め込まれている。第１の回路部分１はすでに説明したマクロブロックであり、第２の回路部分２は複数のロジックコンポーネントから成る（ロジック）回路である。
【００２５】
第１の回路部分１と第２の回路部分２は通常動作中、接続路３および４を介して相互に接続されており、この場合、接続路３は、信号および／またはデータを第２の回路部分２から第１の回路部分１へ転送するために用いられ、接続路４は、信号および／またはデータを第１の回路部分１から第２の回路部分２へ転送するために用いられる。
【００２６】
接続路３はインタフェースユニット３１を有しており、接続路４はインタフェースユニット４１を有している。あとで詳しく説明するこれらのインタフェースユニットはそれら全体として、第１の回路部分１および第２の回路部分２を分離することのできるインタフェースを成している。あとになってもっとよくわかるようになるとおり、これらの分離によって第１の回路部分と第２の回路部分を別個にテストできるようになる。
【００２７】
インタフェースユニット３１と４１は、集積回路の入力端子群および／または出力端子群ＳＳＩＯＩ，ＳＳＩＯ２と接続されている。どのような信号および／またはデータが、入力端子群および／または出力端子群を介して入力および／または出力されるかについては、インタフェースユニット３１，４１の構造、機能ならびに作用に関する以下の説明によって明らかにする。
【００２８】
図２には、インタフェースユニット３１ないしは４１の構造が描かれている。
【００２９】
図２に示されているように、インタフェースユニット３１，４１の各々はマルチプレクサＭＵＸおよび（たとえばフリップフロップから成る）レジスタＲを有しており、これらは図面の通りに結線されている。
【００３０】
（制御信号Ｃによって）制御されるマルチプレクサＭＵＸは、インタフェースユニット３１の場合であれば、第２の回路部分２から受け取った第２の回路部分の出力信号またはレジスタＲ内に格納されている信号またはデータを選択的に通すように切り替え、インタフェースユニット４１の場合であれば、第１の回路部分１から受け取った第１の回路部分の出力信号またはレジスタＲ内に格納されている信号またはデータを選択的に通すように切り替える。切り替えられた信号またはデータは、インタフェースユニット３１の場合であれば第１の回路部分１のための入力信号として用いられ、インタフェースユニット４１の場合であれば第２の回路部分２に対する入力信号として用いられる。
【００３１】
第１の回路部分または第２の回路部分からインタフェースユニット３１または４１へ入力される信号またはデータはインタフェースユニット内部において、参照符号ＳＳＩの付されたラインを介して導かれる。インタフェースユニット３１または４１から第１または第２の回路部分へ送出される信号またはデータはインタフェースユニット内部において、参照符号ＳＳＯの付されたラインを介して導かれる。
【００３２】
集積回路の通常動作中、マルチプレクサＭＵＸは、それぞれ一方の回路部分から送出された信号またはデータがそれぞれ他方の回路部分に通されるように制御され、そのようにして各回路部分は規定どおりに共働することができる。
【００３３】
マルチプレクサは、第１の回路部分または第２の回路部分をテストすべきときにだけ、レジスタＲ内に格納されている信号またはデータを通すように制御される。
【００３４】
回路部分のテストは本実施例の場合、
−テストすべき回路部分に対し所定の入力信号を入力する
−その入力信号に応答してテストすべき回路部分から送出された出力信号を捕捉し、その信号と既知の目標信号との一致について調べる
というようにして行われる。
【００３５】
所定の入力信号の入力ならびにその結果として生じた出力信号の捕捉は本実施例の場合、１つまたは複数のスキャンレジスタチェーン（Scan-Register-Ketten）を用いて行われる。このスキャンレジスタチェーンはここでは、インタフェースユニット３１のレジスタＲおよび／またはインタフェースユニット４１のレジスタＲの適切な結線によって形成される。この場合、レジスタＲと１つまたは複数のスキャンレジスタチェーンの結線は、参照符号ＲＩＯ１およびＲＩＯ３の付された図２中のラインを用いることで行われる。
【００３６】
スキャンレジスタチェーンは、集積回路の特定の入力端子および／または出力端子（入力端子群および／または出力端子群ＳＳＩＯ１，ＳＳＩＯ２）への接続を有している。これらの入力端子および／または出力端子を介してたとえば、データをスキャンレジスタチェーンへシリアルに書き込むことができ、スキャンレジスタチェーンに格納されているデータをシリアルに読み出すことができる。
【００３７】
スキャンレジスタチェーンはかなり以前から知られているので、それについてはこれ以上説明しなくてもよい。
【００３８】
ただし、本実施例で用いられるスキャンレジスタチェーンは以下の点において特別である。すなわちこのスキャンレジスタチェーンは、スキャンレジスタチェーンへのデータの入力を複数の回路部分のうちの１つの出力端子を介して、または集積回路の入力端子および／または出力端子を介して、選択的に行うことができるように構成されており、および／またはスキャンレジスタチェーンからのデータの出力を、複数の回路部分のうちの１つの入力端子へ、または集積回路の入力端子および／または出力端子へ、選択的に行うことができるように構成されている。
【００３９】
このような構成は、信号経路の可変の設定および／または個々のレジスタの結線の変更によって、問題なく実現することができる。
【００４０】
あとの説明から明らかにされるように、これによってスキャンレジスタチェーンを種々の目的に合わせてそのつど用いることができる。
【００４１】
第１の回路部分１をテストするため、以下のステップを実行する：
１．１）インタフェースユニット３１のレジスタＲを有するスキャンレジスタチェーンに対し集積回路外部からシリアルに、第１の回路部分へ入力すべきデータをロードする。
【００４２】
１．２）ロード過程終了後、スキャンレジスタチェーンの各レジスタＲに格納されているデータを、マルチプレクサＭＵＸを介してパラレルに第１の回路部分の入力端子に接続する。
【００４３】
１．３）それに応答して第１の回路部分から第２の回路部分に送出されたデータを、ラインＲＩＯ２を介してインタフェースユニット４１の各レジスタＲにパラレルに書き込む。
【００４４】
１．４）インタフェースユニット４１のレジスタＲを有するスキャンレジスタチェーンを、集積回路外部からシリアルに読み出す。
【００４５】
１．５）読み出されたデータを目標出力データと比較する。一致がみられれば、第１の回路部分は問題なく動作したことになる。一致していなければ、エラーが発生したことになる。
【００４６】
第２の回路部分２をテストするため、以下のステップを実行する：
２．１）インタフェースユニット４１のレジスタＲに含まれているスキャンレジスタチェーンに対し集積回路外部からシリアルに、第２の回路部分に入力すべきデータをロードする。
【００４７】
２．２）ロード過程修了後、スキャンレジスタチェーンのレジスタＲに格納されているデータを、マルチプレクサＭＵＸを介してパラレルに第２の回路部分の入力端子に接続する。
【００４８】
２．３）それに応答して第２の回路部分から第１の回路部分に送出されたデータを、ラインＲＩＯ２を介してインタフェースユニット３１の各レジスタＲにパラレルに書き込む。
【００４９】
２．４）インタフェースユニット３１のレジスタＲを有するスキャンレジスタチェーンを、集積回路外部からシリアルに読み出す。
【００５０】
２．５）読み出されたデータを目標値と比較する。一致がみられれば、第２の回路部分は問題なく動作したことになる。一致していなければ、エラーが発生したことになる。
【００５１】
上述のようにして行われる第１の回路部分および第２の回路部分のテストが有利であると判明した理由は、以下の通りである：
−テストすべき回路部分の入力端子および／または出力端子へダイレクトに、つまりテストすべきでない回路部分を介することなくアクセスすることができる。
【００５２】
−テストすべきでない回路部分は、テストすべき回路部分への相応の接続がないためにテスト中、テストすべき回路部分への影響を及ぼすおそれはない。
【００５３】
また、回路部分をこのようにテストするのに必要とする措置のために僅かなコストしかかけなくてよく、その理由は以下の通りである：
−インタフェースユニット３１のレジスタを有するスキャンレジスタチェーンを、まえもって定められたデータを第１の回路部分へ入力するためにも（上述のステップ１．１および１．２）、第２の回路部分から読み出されたデータを受け取って転送するためにも（上述のステップ２．３および２．４）利用することができる。
【００５４】
−インタフェースユニット４１のレジスタを有するスキャンレジスタチェーンを、まえもって定められたデータを第２の回路部分へ入力するためにも（上述のステップ２．１および２．２）、第１の回路部分から読み出されたデータを受け取って転送するためにも（上述のステップ１．３および１．４）利用することができる。
【００５５】
さらに、インタフェースユニット３１，４１の各レジスタをいわゆるＭＩＳＲ（multiple input signature register）として構成したり、あるいはシグネチャ解析のために設計されたスキャンレジスタチェーンを利用すれば、もっと簡単にテストを実行することができ、その結果、個々の回路部分から送出されたデータに対しシグネチャ解析を受けさせることができるようになる。シグネチャ解析によって、パラレルデータシーケンスを圧縮することができる。この場合、結果として、対応づけられた回路部分から送出されたデータ列が目標データ列と一致しているか否かを識別可能であるようなシグネチャが得られる。その際、たしかに最終的には、通常のスキャンレジスタチェーンを適用した場合と同じ結果になるけれども、そのためにかかる手間ないしはコストが著しく抑えられる。つまり、シグネチャ解析に適したスキャンレジスタチェーンは、対応づけられた回路部分の個々のデータ送出のたびごとに読み出す必要はなく、程度の差こそあれ多数のデータ送出サイクル後にはじめて読み出せばよい。
【００５６】
基本的に個々の回路部分の別個のテストは、スキャンレジスタチェーンを用いなくても可能である。そのためには、個々の回路部分の入出力端子を集積回路の入力端子および／または出力端子とだけ接続すればよいが、集積回路の外部から供給される入力信号は、個々の回路部分の入力端子にダイレクトに加わるのではなく、それらの入力端子に前置接続されたマルチプレクサに加えられる。ただし回路部分のこのようなテストは、集積回路がテストすべき回路部分と少なくとも同じ個数の入力端子および／または出力端子を有しているときにしか実行できない。
【００５７】
なお、ここで説明したテストのやり方を自由に組み合わせて使用することもできる。最も有利であるのは、テストすべき回路部分へのデータの入力を、（スキャンレジスタチェーンを介在接続することなく）集積回路の入力端子および／または出力端子を介してダイレクトに行い、かつ該当する回路部分から送出された信号および／またはデータを、シグネチャ解析実行用に設計されたスキャンレジスタチェーンを介して外部へ導き出すことである。これにより、該当する回路部分を最小の手間ないしはコストで最も広範囲にわたり（リアルタイムで）テストすることができる。
【００５８】
集積回路の入力端子および／または出力端子もそのために十分でないのならば、テストすべき回路部分へのデータの入力もスキャンレジスタチェーンを介して行うことができる。このような（すでに詳しく説明した）テストは、各集積回路ごとに確実に実行することができ、任意の集積回路の任意の回路部分を僅かな手間ないしはコストでどのような場合にも互いに無関係に別個にテストすることができる。
【００５９】
各回路部分間の既述のインタフェースを１つの回路部分における固定的な構成部分とすれば、そのような回路部分を与えられた状況にそのつど整合させることなく任意の集積回路において使用することができる。そのような回路部分は完全な「コア (core)」または「マクロブロック (macro block)」である。
【図面の簡単な説明】
【図１】  集積回路の構造を示す図である。
【図２】  図１による集積回路のインタフェースユニットの構造を示す図である。
【図３】  複数の集積回路部分を備えた慣用の集積回路の構成を示す図である。
【図１】
0003654629.tif 000002
【図２】
0003654629.tif 000003
【図３】
0003654629.tif 000004