(57)【特許請求の範囲】
【請求項１】
複数のコアを具え、各コアがこれらの各コアをテストモードに制御するためのそれぞれのコアテスト制御ブロック（ＴＣＢ）に関連づけられ、各コアＴＣＢがテスト制御データを保持するためのコアシフトレジスタを具え、前記コアＴＣＢがチェーン内に直列にリンクされ、前記各コアＴＣＢが前記テスト制御データを前記チェーンに沿ってシフトする第１モードと、前記テスト制御データを関連するコアに供給する第２モードとを有するようにした集積回路において、
前記チェーンにシステムＴＣＢを設け、該システムＴＣＢの出力端子を前記各コアＴＣＢに接続して、前記システムＴＣＢが或る特定のテスト制御データセットを受取ったら、前記コアＴＣＢにシステムテストホールド信号を供給して、前記コアＴＣＢを前記第１モードか、第２モードのいずれかに切り換えるようにしたことを特徴とする集積回路。
【請求項２】
前記システムＴＣＢを前記チェーンの終端部に位置させ、且つシステムシフトレジスタを具えている前記システムＴＣＢを前記チェーンの一部とし、前記システムシフトレジスタの出力が前記システムＴＣＢの出力を供給し、前記集積回路が、前記コアシフトレジスタ及び前記システムシフトレジスタを初期状態にリセットするリセット回路も具えていることを特徴とする請求の範囲１に記載の集積回路。
【請求項３】
各コアシフトレジスタを記憶素子の直列接続で構成した請求の範囲１に記載の集積回路において、各記憶素子の入力端子にそれぞれのマルチプレクサを設け、該マルチプレクサの第１入力によりテスト制御データを前記チェーンに沿ってシフト可能とし、前記マルチプレクサの第２入力を前記記憶素子の出力端子に接続し、前記マルチプレクサの状態が前記システムテストホールド信号の制御下にあるようにしたことを特徴とする集積回路。
【請求項４】
前記各コアＴＣＢのコアシフトレジスタを、関連するイネーブリング回路を介して各コアＴＣＢに関連するコアに接続し、前記イネーブリング回路の出力が、該イネーブリング回路の第１状態では予定した信号を搬送し、且つ第２状態では前記コアシフトレジスタの内容を搬送し、前記イネーブリング回路の状態が前記システムテストホールド信号の制御下にあるようにしたことを特徴とする請求の範囲３に記載の集積回路。
【発明の詳細な説明】
本発明は、複数のコアを具え、各コアがこれらの各コアをテストモードに制御するためのそれぞれのコアテスト制御ブロック（ＴＣＢ）に関連づけられ、各コアＴＣＢがテスト制御データを保持するためのコアシフトレジスタを具え、前記コアＴＣＢがチェーン内に直列にリンクされ、前記各コアＴＣＢが前記テスト制御データを前記チェーンに沿ってシフトする第１モードと、前記テスト制御データを関連するコアに供給する第２モードとを有するようにした集積回路に関するものである。
ＩＣ設計における現在の傾向は、大形モジュールの予じめ開発した（パラメータ化した）もの、所謂コアを再利用することにより設計時間をスピードアップすることにある。このようなコアは多くの首尾良い（再）利用によって良好なものを設計し得ることは立証できるも、シリコンで実現するものは常に生産不良を生じるのでテストしなければならない。これまでは、チップの設計者にとって有効なコアに、そのコアに適合するそれ相当のテストスキームを付随させることがよくある。コアだけでなく、コアに対応するテストスキームも再利用するのが好適である。コアそのもののテスト以外に、コアどうし間の相互接続についてもテストしなければならない。
上記双方の種類のテストはチップレベルで系統づける必要があり、場合によってはこれらのテストをチップピンを介して行ない、且つ制御しなければならない。チップ設計者のタスクはそのための回路を設計することにある。チップ上のコアの数及びこれらコアの複雑さが増すにつれて、このタスクは増々複雑になりつつある。さらに、利用できるチップピンの数及び利用できる面積が抑えられているため、チップ設計者は斯かるタスクを実行するための手段をますます少なくしなければならない。特に、テスト中にコアを制御するためのテスト制御データを如何にしてコアに供給すべきかと言うことが問題である。
この問題に対する簡単な方法が米国特許第5,491,666号に開示されている。既知の集積回路は冒頭にて述べたようなものとする。各コアには、本来、ＩＥＥＥの標準規格１１４９．１によって規定されているような、周知の境界走査テスト標準規格に従うテストアクセスポート（ＴＡＰ）コントローラとするコアＴＣＢを設ける。ＴＡＰコントローラはテスト制御データをシフトレジスタに直列的にシフトインさせるために直列のチェーンにリンクされる。ＴＡＰコントローラの仕様は、これが内部シフトレジスタを介してコントローラの入力ノードと出力ノードとの間の経路を規定し、且つ状態マシーンがテスト制御データのシフトイン及び関連するコアへのそのテスト制御データの付与を制御するように構成する。斯種のコアＴＣＢの問題は、状態マシーンが複雑となり、このために比較的大面積の集積回路を必要とすると言うことにある。さらに、集積回路にはこのようなコアＴＣＢが多数必要である。
本発明の目的は、コアへのテスト制御データの供給の仕方に関わる問題をもっと有効に解決することにある。このために、本発明による回路は、前記チェーンにシステムＴＣＢを設け、該システムＴＣＢの出力端子を前記各コアＴＣＢに接続して、前記システムＴＣＢが或る特定のテスト制御データセットを受取ったら、前記コアＴＣＢにシステムテストホールド信号を供給して、前記コアＴＣＢを前記第１モードか、第２モードのいずれかに切り換えるようにしたことを特徴とする。このようなアーキテクチャは、コアＴＣＢにテスト制御データを供給するための、境界走査テスト標準規格に従うコアＴＣＢの複雑な状態マシーンを必要としない。テスト制御データのシフトイン及び付与は、本来チェーン当り僅か１つのコピー品であるＴＣＢを集積化するだけで済む極めて簡単なシステムＴＣＢによって制御される。他の利点は、様々なＴＣＢとシステムＴＣＢとの間の相互接続部の数がごく少なくて済むことにある。
本発明は特に単一基板の集積回路におけるコアに適用するが、これのみに限定されるものではない。本発明の着想は或るシステムにおける任意種類のロジックデバイスにまで広げることができる。さらに、コアＴＣＢは、機能テスト、ビルト−イン自己テスト（ＢＩＳＴ）、走査テスト、零入力電流（ＩＤＤＱ）テスト等のような、相互接続テスト及びコアテストの双方を制御するのに用いることができる。
請求項２に記載したような手段による利点は、システムテストホールド信号を極めて有効に発生させることができると言うことにある。先ず、チェーンに沿っているシフトレジスタは初期値、例えば全て０にリセットされる。次いで、テスト制御データ列がチェーンにシフトされ、このデータ列の第１ビットは初期値とは異なる値、例えば１とする。このビットがシステムＴＣＢに到達すると直ぐに、全てのシフトレジスタが新規のテスト制御データを包含するので、システムＴＣＢはそのビットに反応することができる。システムシフトレジスタの出力は、システムテストホールド信号を供給するのに用いるのが有利である。
請求項３に記載した手段の利点は、本発明に適合するＴＣＢを極めて簡単な構造のものとすることにある。コアＴＣＢ及びシステムＴＣＢは共に請求項３に記載したような構成とするのが好適である。
次に、本発明を添付図面を参照して実施例につき説明する。
図１は本発明による集積回路を示し、
図２は本発明によるコアＴＣＢを示し、
図３はコアＴＣＢに供給する信号のタイミング図を示し、
図４は本発明によるコアＴＣＢのスライスを示す。
図１は本発明による集積回路を示す。回路１００は、それぞれコアのテスト制御ブロック（ＴＣＢ）１１２及びＴＣＢ１２２を伴なうコア１１０及びコア１２０を具えている。コアＴＣＢ１１２，１２２は互いに直列に接続されてチェーン１４０を成し、このチェーンの一端にシステムＴＣＢ１３０が設けられている。コアＴＣＢ１１２，１２２の第１モードでは、チップピン１５０を経てテスト制御データをシフトインさせることができる。或る特定のテスト制御データセットを受取った後に、システムＴＣＢ１３０はコアＴＣＢ１１２，１２２を第２モードにし、この第２モードにてテスト制御データがそれぞれのコア１１０，１２０に供給されるようにする。このモード切換えは接続線１４２によって搬送されるシステムテストホールド信号ＴＨＬＤによって達成される。信号発生回路１６０は、リセット信号及び／又はクロック信号のような追加の信号を発生させるためのものである。
なお、チェーン１４０はテストデータ及びテスト制御データの双方をコアに供給するのに用いることができる。しかし、大抵の種類のテストでのテストデータのボリュームは極めて大きいので、テストデータを別個のテストデータ経路を経てコアに供給し、且つこれらのコアからテストデータを抽出するのが有利なことがよくある。この場合のテストデータ経路は、テスト時間を短縮する高帯域幅用の任意構成の並列線路で（部分的）に作ることができる。
コアＴＣＢ１１２，１２２は例えば、テスト制御データによって、内部テスト又は相互接続テストのような、関連するコア１１０，１２０の或る特定のテストを選択する。テスト制御データは、上述したようなテストの期間中テスト信号を発生するのにも用いられる。さらに、コアＴＣＢ１１２，１２２は、適当なテスト制御データがこれらのコアＴＣＢに関連するコア１１０，１２０のトライステートドライバ出力をいずれもトライステートにするように構成配置することができる。コアＴＣＢ１１０，１２０は、テスト制御データの制御のもとでテストデータ流を制御し、例えばコア１１０，１２０をバイパスモードにし、別のテストデータレールにテストデータを流して、コアをバイパスするのにも用いることができる。
さらに、集積回路１００におけるチェーン数は必ずしも１つ限定する必要もない。種々のコアセットを別々のチェーンに配置し、各チェーンが、それに含まれるコアＴＣＢを制御するチェーン固有のシステムＴＣＢを具えるようにすることができる。さらに、単一のチェーンに異なるＩＣにおけるコアＴＣＢを含めることさえもできる。
図２は図１のシステムに用いるコアＴＣＢを示す。コアＴＣＢ２１０はクロック信号ＴＣＫの制御のもとで作動する多数のフリップフロップから成るコアシフトレジスタ２２０を具えている。種々のコアＴＣＢのコアシフトレジスタ及びシステムＴＣＢ１３０は、入力ＴＣＤＩ及び出力ＴＣＤＯを介して相互接続されて、チェーン１４０を形成する。６ビットのコアシフトレジスタ２２０は単なる一例に過ぎない。コアシフトレジスタのビット列の長さは関連するコアのテストアーキテクチャの複雑さに適合させることができる。
ＡＮＤポート２３０から成るイネーブリング回路は、コアシフトレジスタの出力を使用可能状態にして、関連するコア２００を駆動させる。ＴＨＬＤが低レベルにある限り、ＡＮＤポート２３０の出力は低レベルにある。このイネーブリング回路は、テスト制御データのシフトインの期間中、テスト制御データエレメントがコアに作用しないようにする。この機能はＡＮＤポート２３０以外の論理素子を用いて行なうこともできることは勿論である。イネーブリング回路は、第１モードの期間中にコア２００に常に前記テスト制御データが与えられるように用立てることもできる。
リセット信号ＴＲＳＴによってコアシフトレジスタ２２０を非同期的にリセットした後に、フリップフロップの内容は０となる。ＴＨＬＤが低レベルにある間は、テスト制御データがＴＣＤＩを経てシフトインされるように、コアＴＣＢ２１０を第１モードにする。これと同時に、ＴＨＬＤがＡＮＤポート２３０を低出力に駆動させるため、テスト制御データをシフトインさせている間はコアは何等影響を受けることはない。テスト制御データがシフトインされた後に、ＴＨＬＤを高レベルにする。これによりコアテスト制御ブロックを第２モードにして、信号ＴＣＫに無関係にシフティング処理を終らせる。さらに、この場合にはＡＮＤポート２３０がコアシフトレジスタ２２０に関連するコア２００を駆動させることができる。図３はコアＴＣＢに供給される信号のタイミング図を示す。
論理回路２４０は一般的なテスト制御データをコア２００に適合する信号に変換する。信号ＴＭＳはコア２００をテストモードと正規モードとの間で切換えるのに用いる。なお、信号ＴＲＳＴ及びＴＣＫは信号発生回路１６０により広域的に発生され、且つ種々のコアＴＣＢに並列に供給されるものとする。
負縁トリガフリップフロップ２５０をコアシフトレジスタ２２０の最終フリップフロップの後に設けて、クロック信号ＴＣＫの到着時間の差によるスキュー問題をなくすようにする。これはコアＴＣＢのレイアウトにバラツキがあるので、必要とされることがよくある。本発明のこの実施例では、フリップフロップ２５０をリセット信号ＴＲＳＴによりシフトレジスタ２２０と一緒にリセットさせる。
コアＴＣＢのアーキテクチャを図２に従うものとするだけでなく、システムＴＣＢのアーキテクチャも同様なものとするのが好適である。この場合のシフトレジスタ２２０はシステムシフトレジスタであり、システムＴＣＢはチェーンの終りにあるので、出力ＴＣＤＯ及び負縁トリガフリップフロップ２５０は必要でない。システムシフトレジスタの最終フリップフロップの出力はＴＨＬＤ信号供給用に用いることができる。この場合、ＴＨＬＤ信号はシステムシフトレジスタを信号ＴＲＳＴによりリセットすることにより初期値に設定される。その後、テスト制御データのシフトインにより、ＴＨＬＤ信号を異なる値にすることができる。システムＴＣＢは、例えばＩＣを境界走査テスト標準規格に適えさせるために、異なる構成のものとすることができる。
チップ設計者が、その設計スキームに適合しないコアＴＣＢを既に有しているか、又はコアＴＣＢが全くないコアを組合せなければならない場合に、設計者は既存のコアＴＣＢの存在に無関係に図２に従うコアＴＣＢをコアに付加することにより対処することができる。既存のコアＴＣＢは追加したコアＴＣＢによって制御されることになる。
図４は本発明によるＴＣＢのスライスを示す。図２から明らかなように、コアＴＣＢは極めて規則的な構造をしており、これはかなり似ているビルディングブロック、所謂スライスから成るものである。このような各スライス４００はクロック信号ＴＣＫの制御下にあるフリップフロップ４１０、マルチプレクサ４２０、ＡＮＤポート４３０及び或る種のグルーロジック（glue logic）４４０を具えている。信号ＴＨＬＤはマルチプレクサ４２０を制御して、チェーン１４０に沿って流れるデータをシフトし得るようにしたり、フリップフロップ４１０にデータをホールドし得るようにする。信号ＴＨＬＤはＡＮＤポート４３０にも供給する。信号ＴＲＳＴの制御下でフリップフロップ４１０を初期状態、例えば０を記憶する状態にすることができる。信号ＴＭＳは関連するコアをテストモードにしたり、正規モードにしたりする選択をする。
スライス４００とは、必要とされるサイズのコアＴＣＢを、単に複数のスライスを付加するだけで構成し得るライブラリの一部のこととすることができる。前述したように、システムＴＣＢはコアＴＣＢとほぼ同じ構成とすることができる。システムＴＣＢの第１スライスはＴＨＬＤ発生用に用いることができる。他のスライスは他のグローバルなテスト信号を制御するために加えることができる。コアＴＣＢ及びシステムＴＣＢのこの階層構成の利点は、グローバルなテスト制御データをシステムＴＣＢだけで扱うことができ、且つ或るコアに特有のテスト制御データをそのコア専用の関連するＴＣＢによって扱うことができると言うことにある。
さらに、チップ設計者にこのようなコアＴＣＢを有しているコアが供給される場合に、チップ設計者は対応するテスト制御データセットを有するブラックボックスとして各コアを扱うことができる。チップ設計者は、コアがテスト可能であるか、否かを検証する必要はない。チップ設計者はこのスキームには従わないコアにコアＴＣＢを加えることもでき、このコアＴＣＢは或る既存設計の特定のＴＣＢを制御する。この場合、設計者はその特定コアのテストに関する細目を調べなければならない。
なお、本発明による集積回路をコアとしてそれ単独で取扱わなければならない場合には、テストの役目に関する限りのシステムＴＣＢ、或いは信号ＴＲＳＴ、ＴＣＫ及びＴＭＳを発生する専用のハードウェアを除くことによりコアとして扱うことができる。これにより、低レベルのコアＴＣＢのストリングから成る新たな高レベルのコアＴＣＢとなる。
【図１】
0003987585.tif 000002
【図２】
0003987585.tif 000003
【図３】
0003987585.tif 000004
【図４】
0003987585.tif 000005