(57)【特許請求の範囲】
【請求項１】
データを出力する出力端子を、複数の機能ブロックの中からテストすべき機能ブロックを選択する為のテストデータを入力する入力端子として使用する集積回路のテスト回路において、
前記出力端子から前記データを出力させる第１ゲート手段と、
前記出力端子から前記テストデータを前記集積回路内部に入力させる第２ゲート手段と、
電源の投入からリセット解除の指示を受けるまでの間、前記第１ゲート手段の動作を停止させると共に前記第２ゲート手段を動作させて前記テストデータを出力可能とし、且つ、前記リセット解除の指示を受けた後、前記第１ゲート手段を動作させて前記データを出力可能とすると共に前記第２ゲート手段の動作を停止させるゲート制御信号を発生するゲート制御信号発生手段と、
前記リセット解除の指示を受けた時、ラッチ信号を発生するラッチ信号発生手段と、
前記第２ゲート手段の出力を前記ラッチ信号の発生タイミングでラッチするラッチ手段と、
前記ラッチ手段の出力を解読し、前記複数の機能ブロックの中から何れか１つの機能ブロックを選択する為の解読信号を発生するデコード手段と、を備え、
前記ゲート制御信号発生手段が前記電源の投入から前記リセット解除の指示を受けるまでの間、前記出力端子を前記複数の機能ブロックの中からテストすべき機能ブロックを選択する為のデータ入力として使用し、前記ゲート制御信号発生手段が前記リセット解除の指示を受けた後、前記出力端子をテストモード又は通常モードにおけるデータ出力として使用する様にしたことにより、テスト状態にする専用入力端子が要らないことを特徴とする集積回路のテスト回路。
【請求項２】
前記ゲート制御信号発生手段が前記電源の投入から前記リセット解除の指示を受けるまでの間において、前記デコード手段は、前記出力端子に前記テストデータが印加されない時、前記集積回路を通常モードとする為の指示信号を発生し、前記出力端子に前記テストデータが印加された時に前記集積回路をテストモードとする為の指示信号を発生することを特徴とする請求項１記載の集積回路のテスト回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、集積回路のテスト回路に関し、特に、集積回路に設けた出力端子をテストモードにおいて有効に使用できる集積回路のテスト回路に関する。
【０００２】
【従来の技術】
一般に、集積回路を製造する場合、該集積回路をウエハ上に作り込んだ後、該集積回路の有する各種機能が正常に動作するか否かをウエハの状態でテストする様にしている。
特に、回路規模が大きく、多くの機能を内蔵する集積回路の場合には、全ての機能をまとめてテストすることが不可能である。そこで、集積回路の内部構成を細かな機能ブロックに分け、そして、各機能ブロックの何れか１つを選択することによってテスト動作を実行している。
【０００３】
さて、上記した様な集積回路において、複数の機能ブロックの中からテストすべき機能ブロックを選択する場合、該機能ブロックを選択する為のテストデータを集積回路に印加し、該集積回路内部で前記テストデータを解読する必要がある。そこで、従来は、前記テストデータを集積回路に印加する方法として、通常の入出力端子の他に新たにテスト用の専用入力端子を設け、前記テストデータを前記テスト用の専用入力端子に印加することにより、機能ブロックの選択を実現していた。また、前記テストデータを集積回路に印加する他の方法として、通常の入出力端子の一部をテスト用の入力端子に兼用し、前記テストデータを兼用される入出力端子に印加することにより、機能ブロックの選択を実現したりもしていた。
【０００４】
そして、前記テストデータに応じてテストすべき機能ブロックが選択された後、前記テストデータを印加した専用入力端子又は兼用入力端子を除く通常の入出力端子を用いて、具体的には、テストすべき前記機能ブロックに応じた入力信号を通常の入力端子に印加し、該入力信号に応じて前記機能ブロックから得られた出力信号を通常の出力端子から出力させ、この出力内容を基に前記機能ブロックの動作の良否を判定していた。
【０００５】
【発明が解決しようとする課題】
しかしながら、テスト用の専用入力端子を集積回路に新たに設ける前者の場合、機能ブロックの数に応じて前記専用入力端子の数が非常に多くなり、つまり、集積回路上のパッド面積が増加してチップサイズが大きくなってしまう問題があった。更に、通常モードにおいては、前記専用入力端子は全く使用しない端子となってしまうが、それが災いして、通常モードで使用する入出力端子とテスト用の専用入力端子を誤接続してしまうと、集積回路が誤動作してしまう問題があった。
【０００６】
また、通常の入出力端子をテスト用の入力端子に兼用する後者の場合、テストすべき機能ブロックを選択した後であっても、兼用端子を通常の入出力端子として使用できない。その為、選択された機能ブロックをテストする為の入力信号を印加したり、該入力信号に応じて前記機能ブロックから得られた出力信号を出力したりする端子には、前記兼用端子を除く残りの入出力端子を使用するしかなく、これより機能ブロックをテストする際の入出力端子の数が不足してしまう問題があった。
【０００７】
そこで、本発明は、集積回路内部の各機能ブロックをテストする際に入出力端子を有効に使用することのできる集積回路のテスト回路を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、前記問題点を解決する為に成されたものであり、その特徴とするところは、データを出力する出力端子を、複数の機能ブロックの中からテストすべき機能ブロックを選択する為のテストデータを入力する入力端子として使用する集積回路のテスト回路において、前記出力端子から前記データを出力させる第１ゲート手段と、前記出力端子から前記テストデータを前記集積回路内部に入力させる第２ゲート手段と、電源の投入からリセット解除の指示を受けるまでの間、前記第１ゲート手段の動作を停止させると共に前記第２ゲート手段を動作させて前記テストデータを出力可能とし、且つ、前記リセット解除の指示を受けた後、前記第１ゲート手段を動作させて前記データを出力可能とすると共に前記第２ゲート手段の動作を停止させるゲート制御信号を発生するゲート制御信号発生手段と、前記リセット解除の指示を受けた時、ラッチ信号を発生するラッチ信号発生手段と、前記第２ゲート手段の出力を前記ラッチ信号の発生タイミングでラッチするラッチ手段と、前記ラッチ手段の出力を解読し、前記複数の機能ブロックの中から何れか１つの機能ブロックを選択する為の解読信号を発生するデコード手段と、を備えた点である。
【０００９】
【作用】
本発明によれば、ゲート制御信号発生手段が集積回路の為の電源の投入からリセット解除の指示を受けるまでの間、出力端子を複数の機能ブロックの中からテストすべき機能ブロックを選択する為のデータ入力として使用し、前記ゲート制御信号発生手段が前記リセット解除の指示を受けた後、前記出力端子をテストモード及び通常モードにおけるデータ出力として使用する様にした。これにより、選択された機能ブロックをテストする時、前記出力端子を有効に使用できる。
【００１０】
【実施例】
本発明の詳細を図面に従って具体的に説明する。
図１は本発明の集積回路のテスト回路を示す図である。
図１において、（１−０）〜（１−ｎ）は（ｎ＋１）個の出力端子であり、集積回路内部で生じた（ｎ＋１）ビットの出力データＯ0〜Ｏnを出力するものである。尚、出力端子（１−０）〜（１−ｎ）は、集積回路内部の複数の機能ブロックの中からテストすべき機能ブロックを選択する際、該機能ブロックを選択する為のテストデータ入力としても使用される。（２−０）〜（２−ｎ）は（ｎ＋１）個のバッファ（第１ゲート手段）であり、前記出力データＯ0〜Ｏnが印加された後、前記出力データＯ0〜Ｏnを抵抗（３−０）〜（３−ｎ）を介して出力端子（１−０）〜（１−ｎ）から出力させるものである。尚、抵抗（３−１）〜（３−ｎ）は、出力端子（１−０）〜（１−ｎ）をデータ出力として使用している時、該出力端子（１−０）〜（１−ｎ）に前記テストデータを誤って印加した場合に、集積回路の内部回路を構成するトランジスタが破壊されるのを防止する役目を果たすものである（例えば１００Ω程度）。（４−０）〜（４−ｎ）はＮＭＯＳトランジスタであり、ドレインソース路が各出力端子（１−０）〜（１−ｎ）と接地との間に接続されたものである。該ＮＭＯＳトランジスタ（４−０）〜（４−ｎ）は、オンした時に数ＫΩの抵抗値を有するプルダウン抵抗として機能する。（５−０）〜（５−ｎ）はＡＮＤゲート（第２ゲート手段）であり、各々の一方の入力端子はバッファ（２−０）〜（２−ｎ）の制御端子及びＮＭＯＳトランジスタ（４−０）〜（４−ｎ）のゲートと接続され、各々の他方の入力端子はＮＭＯＳトランジスタ（４−０）〜（４−ｎ）のドレインと接続されている。
【００１１】
また、（６）はＤフリップフロップ（ラッチ信号発生手段）であり、Ｃ（クロック）端子にはクロックＣＫが印加され、Ｄ（データ）端子にはリセット信号ＲＳＴ（リセット時にローレベル）が印加され、Ｒ（リセット）端子には前記リセット信号が反転印加される。そして、Ｄフリップフロップ（６）のＱ端子からはラッチ信号ａが出力される様になっている。同様に、（７）はＤフリップフロップ（ゲート制御信号発生手段）であり、Ｃ端子には前記クロックＣＫが印加され、Ｄ端子には前段のＤフリップフロップ（６）のＱ端子出力即ちラッチ信号ａが印加され、Ｒ端子には前記リセット信号ＲＳＴが反転印加される。そして、Ｄフリップフロップ（７）のＱ端子からは集積回路の内部回路をリセットする為の内部リセット信号ＩＲＳＴが出力され、＊Ｑ端子からはゲート制御信号ｂが出力される。
【００１２】
ここで、ゲート制御信号ｂは、バッファ（２−０）〜（２−ｎ）の制御端子、ＮＭＯＳトランジスタ（４−０）〜（４−ｎ）のゲート、及びＡＮＤゲート（５−０）〜（５−ｎ）の一方の入力端子に共通に印加されている。つまり、ゲート制御信号ｂがハイレベルになると、バッファ（２−０）〜（２−ｎ）は動作を停止して出力データＯ0〜Ｏnが出力端子（１−０）〜（１−ｎ）から出力されるのを禁止し、且つ、ＮＭＯＳトランジスタ（４−０）〜（４−ｎ）がオンすると共にＡＮＤゲート（５−０）〜（５−ｎ）がゲートを開き、該ＡＮＤゲート（５−０）〜（５−ｎ）は出力端子（１−０）〜（１−ｎ）に印加された（ｎ＋１）ビットのテストデータを出力可能となる。また反対に、ゲート制御信号ｂがローレベルになると、バッファ（２−０）〜（２−ｎ）が動作して出力データＯ0〜Ｏnを出力端子（１−０）〜（１−ｎ）から出力可能となり、且つ、ＮＭＯＳトランジスタ（４−０）〜（４−ｎ）がオフすると共にＡＮＤゲート（５−０）〜（５−ｎ）がゲートを閉じ、該ＡＮＤゲート（５−０）〜（５−ｎ）のテストデータ出力は禁止される。
【００１３】
（８）はデータ保持回路（ラッチ手段）であり、例えばＤフリップフロップを並列に（ｎ＋１）個設けたものである。該データ保持回路（８）において、Ｃ端子にはラッチ信号ａが印加され、Ｒ端子にはリセット信号ＲＳＴが反転印加され、Ｔ0〜Ｔn（データ入力）端子には各々ＡＮＤゲート（５−０）〜（５−ｎ）の出力が印加され、Ｓ0〜Ｓn（データ出力）端子からは保持データを出力する様になっている。（９）はデコーダ（デコード手段）であり、データ保持回路（８）から出力された（ｎ＋１）ビットのテストデータを取り込み、該テストデータを解読した結果、複数の機能ブロックの中からテストすべき１つの機能ブロックを選択する為の解読信号Ｙ1〜Ｙmを出力するものである。（１０−１）〜（１０−ｍ）は集積回路内部に構成されたｍ個の機能ブロックである。デコーダ（９）の出力Ｙ1〜Ｙmは各々機能ブロック（１０−１）〜（１０−ｍ）と接続されており、出力Ｙ1〜Ｙmの中の１つだけがデコーダ（９）の解読処理を受けてハイレベルとなる。即ち、デコーダ（９）の出力Ｙ1〜Ｙmの中でハイレベルとなった１出力と接続された１つの機能ブロックのみがテストモードとなる。ここで、ｍとｎとの関係は、ｍ＝２(n+1)−１で表され、即ち、最大で２(n+1)−１個の機能ブロックを設けることができる。尚、デコーダ（９）には、機能ブロック（１０−１）〜（１０−ｍ）と接続される出力Ｙ1〜Ｙmの他に、出力Ｙ0を設けている。この出力Ｙ0は、集積回路内部を通常動作状態とする時にハイレベルとなり、通常動作指示信号ＮＯＲＭＡＬとして集積回路内部に供給され、また、集積回路内部をテスト動作状態とする時にローレベルとなり、インバータ（１１）を介してハイレベルのテスト指示信号ＴＥＳＴとして集積回路内部に供給される。具体的には、ゲート制御信号ｂがハイレベルとなっている間において、機能ブロック（１０−１）〜（１０−ｍ）の何れか１つを選択する（ｎ＋１）ビットのテストデータが出力端子（１−０）〜（１−ｎ）に印加されない場合、ＡＮＤゲート（５−０）〜（５−ｎ）の他方の入力端子はＮＭＯＳトランジスタ（４−０）〜（４−ｎ）のオンによってプルダウンされたままとなる為、ＡＮＤゲート（５−０）〜（５−ｎ）の出力は全てローレベルになる。この場合、デコーダ（９）の入力Ｄ0〜Ｄnは全てローレベルになり、この時出力Ｙ0のみがハイレベルとなる様にデコーダ（９）を構成しておく。これにより、内部リセット信号ＩＲＳＴがハイレベルとなり集積回路がリセット解除された後、該集積回路は通常動作指示信号ＮＯＲＭＡＬに基づいて通常動作を行うことになる。一方、ゲート制御信号ｂがハイレベルになっている間において、機能ブロック（１０−１）〜（１０−ｍ）の何れか１つを選択する（ｎ＋１）ビットのテストデータ（テストデータは全ビットがローレベルとならないデータ）が出力端子（１−０）〜（１−ｎ）に印加された場合、ＡＮＤゲート（５−０）〜（５−ｎ）からはテストデータのレベルがそのまま出力される。この場合、デコーダ（９）の入力Ｄ0〜Ｄnが全てローレベルではなくなる為、出力Ｙ0はローレベルとなる。従って、内部リセット信号ＩＲＳＴがハイレベルとなり集積回路がリセット解除された後、該集積回路はハイレベルのテス���指示信号ＴＥＳＴに基づいて選択された機能ブロックのテスト動作を行う状態となる。（１２）は切換回路であり、テスト指示信号ＴＥＳＴがハイレベルの時、テストを行う何れか１つの機能ブロックと通常使用される入出力端子（１３）とを接続し、テスト用の入力信号を入出力端子（１３）から機能ブロックに供給したり、該機能ブロックの内部処理で得られた出力信号を入出力端子（１３）から出力させたりするものである。
【００１４】
以下、図１の動作を図２の波形図を用いて説明する。
初めに、集積回路の電源Ｖddが投入されて立上ると、発振クロックを基に集積回路の為の各種クロックを生成するクロックジェネレータ（図示せず）から、クロックＣＫが発生する。ここで、リセット信号ＲＳＴは最初はローレベルであり、Ｄフリップフロップ（６）（７）及びデータ保持回路（８）はリセットされた状態にある。つまり、Ｄフリップフロップ（６）のＱ端子出力であるラッチ信号ａがローレベルとなり、データ保持回路（８）はＡＮＤゲート（５−０）〜（５−ｎ）の出力の保持を禁止された状態となる。また、Ｄフリップフロップ（７）の＊Ｑ端子出力であるゲート制御信号ｂが電源Ｖddの立上りを受けてハイレベルとなる為、バッファ（２−０）〜（２−ｎ）が出力動作を禁止され、ＮＭＯＳトランジスタ（４−０）〜（４−ｎ）がオンしてプルダウン抵抗として機能し、更に、ＡＮＤゲート（５−０）〜（５−ｎ）がゲートを開く。即ち、出力端子（１−０）〜（１−ｎ）をテストデータを印加する入力端子として使用できる状態となる。そして、ゲート制御信号ｂがハイレベルとなっている期間に、機能ブロック（１０−１）〜（１０−ｍ）の中からテストすべき何れか１つの機能ブロックを選択する為の（ｎ＋１）ビットのテストデータが出力端子（１−０）〜（１−ｎ）に印加されると、前記テストデータはＡＮＤゲート（５−０）〜（５−ｎ）から出力された状態となる。
【００１５】
その後、集積回路をリセット解除する為に、リセット信号ＲＳＴがハイレベルに立上ると、Ｄフリップフロップ（６）（７）及びデータ保持回路（８）はリセット解除され、また、クロックＣＫの立上りに同期してラッチ信号ａがハイレベルとなる。従って、ＡＮＤゲート（５−０）〜（５−ｎ）から出力されているテストデータはラッチ信号ａの立上りに同期してデータ保持回路（８）に保持されると共に該データ保持回路（８）から出力される。データ保持回路（８）の出力Ｓ0〜Ｓn（テストデータ）はデコーダ（９）で解読され、出力Ｙ1〜Ｙmの中の何れか１出力のみがハイレベルとなり、このハイレベルとなったデコーダ（９）の１出力と接続された機能ブロックのみがテストを実行できる状態となる。尚、デコーダ（９）の出力Ｙ0はローレベルとなり、即ちテスト指示信号ＴＥＳＴがハイレベルとなり、前記機能ブロックのテスト動作に応じて集積回路が動作することになる。
【００１６】
その後、クロックＣＫが再び立上ると、ゲート制御信号ｂがローレベルとなり、バッファ（２−０）〜（２−ｎ）が動作し、ＮＭＯＳトランジスタ（４−０）〜（４−ｎ）がオフし、更に、ＡＮＤゲート（５−０）〜（５−ｎ）がゲートを閉じる。即ち、出力端子（１−０）〜（１−ｎ）は、出力データＯ0〜Ｏnを出力できる状態となる。詳しくは、リセット解除された後の状態が、機能ブロックのテストを指示しない（ＡＮＤゲート（５−０）〜（５−ｎ）の出力が全てローレベル）通常モードであっても、機能ブロックのテストを行うテストモードであっても、出力端子（１−０）〜（１−ｎ）は、集積回路内部で得られた出力データＯ0〜Ｏnを出力できる状態となる。また、ゲート制御信号ｂが立上ると共にＤフリップフロップ（７）のＱ端子出力である内部リセット信号ＩＲＳＴがハイレベルとなって集積回路がリセット解除され、この時点から選択された機能ブロックのテスト動作を開始できることになる。
【００１７】
以上より、複数の機能ブロック（１０−１）〜（１０−ｎ）の中からテストすべき１つの機能ブロックを選択する為のテストデータが印加される出力端子（１−０）〜（１−ｎ）を、機能ブロックの選択が終了した後、少なくとも該機能ブロックの内部処理データを出力する端子として使用できる為、集積回路の端子を有効に使用できることになる。従って、従来生じていた、チップサイズが大きくなったり、入出力端子の数が不足したりする問題を解決できる。
【００１８】
【発明の効果】
本発明によれば、複数の機能ブロックの中からテストすべき１つの機能ブロックを選択する為のテストデータが印加される出力端子を、テストすべき機能ブロックの選択が終了した後、少なくとも該機能ブロックの内部処理データを出力する端子として使用できる為、集積回路の端子を有効に使用できる利点が得られる。従って、チップサイズを小さくでき、入出力端子の数の不足を解消できることになる。
【図面の簡単な説明】
【図１】本発明の集積回路のテスト回路を示す図である。
【図２】図１の動作を示す波形図である。
【符号の説明】
（１−０）〜（１−ｎ）  出力端子
（２−０）〜（２−ｎ）  バッファ
（５−０）〜（５−ｎ）  ＡＮＤゲート
（６）（７）  Ｄフリップフロップ
（８）  データ保持回路
（９）  デコーダ
（１０−１）〜（１０−ｎ）  機能ブロック
【図１】
0003540359.tif 000002
【図２】
0003540359.tif 000003