(57)【要約】【課題】半導体装置に内蔵された半導体検査装置のクリティカルパスを通る信号がテスト動作中に変動するときにも、当該半導体検査装置の動作速度をその半導体検査装置によって検査することが可能な半導体装置を提供する。【解決手段】半導体装置１Ａは、ＡＬＰＧ１０Ａと、スキャンレジスタ２０ａ，２０ｂ，２０ｃと、被測定デバイス３０とを備える。ＡＬＰＧ１０Ａは、パターン発生器１４の後段にフリップフロップ回路１５−１，１５−２，１５−３を設けている。これにより、パターン発生器１４におけるアドレス信号ＡＤＤの演算とデータスクランブル回路１６におけるデータスクランブル演算とは別サイクルになる。【選択図】        図１
2004333370.tif 000002
【特許請求の範囲】
【請求項１】
検査機能を有する半導体装置であって、
被検査装置と、
前記被検査装置の検査および自己の検査を行なう半導体検査装置と、
前記半導体検査装置による検査結果をスキャンアウト前に一時的に保持するスキャンレジスタとを備え、
前記半導体検査装置は、
所定の複数データを発生するデータ発生回路と、
前記複数のデータを処理するデータ処理回路と、
前記データ発生回路と前記データ処理回路との間に設けられたフリップフロップ回路と、
前記フリップフロップ回路の動作タイミングを制御するクロック発生回路とを含む、半導体装置。
【請求項２】
検査機能を有する半導体装置であって、
被検査装置と、
前記被検査装置の検査および自己の検査を行なう半導体検査装置と、
前記半導体検査装置の動作中に前記半導体検査装置を検査し、その検査結果を蓄え、スキャンアウトする自己診断回路とを備える、半導体装置。
【請求項３】
前記自己診断回路は、
排他的論理和回路と、
前記排他的論理和回路から出力される信号を受けて、自己診断動作時に該信号を出力する選択回路と、
前記選択回路の出力を受けて最後段からスキャンアウト信号を出力する、直列接続された複数のフリップフロップ回路とを含み、
前記排他的論理和回路は、前記半導体検査装置から出力される信号および前記複数のフリップフロップ回路の最後段から出力される信号を受ける、請求項２に記載の半導体装置。
【請求項４】
前記自己診断回路は、
前記半導体検査装置から出力される信号を受けて、自己診断動作時に該信号を出力する選択回路と、
前記選択回路の出力を受けて、前記半導体検査装置から出力される信号の遷移回数を計測し、その結果をスキャンアウト信号として出力するカウンタ回路とを含む、請求項２に記載の半導体装置。
【請求項５】
前記自己診断回路は、
前記半導体検査装置から出力される信号が一方のレベルのときに該信号を出力する信号発生回路と、
前記信号発生回路から出力される信号を受けて、自己診断動作時に該信号を出力する選択回路と、
前記選択回路の出力を受けて、前記半導体検査装置から出力される信号が一方のレベルの区間におけるクロック信号の遷移回数を計測し、その結果をスキャンアウト信号として出力するカウンタ回路とを含む、請求項２に記載の半導体装置。
【請求項６】
前記自己診断回路は、
前記半導体検査装置から出力される信号を受けて、自己診断動作時に該信号を出力する選択回路と、
前記選択回路の出力を受けて、前記半導体検査装置から出力される信号の遷移回数を計測し、その結果をスキャンアウト信号として出力するカウンタ回路とを含む第１の自己診断回路と、
前記半導体検査装置から出力される信号が一方のレベルのときに該信号を出力する信号発生回路と、
前記信号発生回路から出力される信号を受けて、自己診断動作時に該信号を出力する選択回路と、
前記選択回路の出力を受けて、前記半導体検査装置から出力される信号が一方のレベルの区間におけるクロック信号の遷移回数を計測し、その結果をスキャンアウト信号として出力するカウンタ回路とを含む第２の自己診断回路とが直列または並列に接続されている、請求項２に記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体装置に関し、より特定的には、検査機能を有する半導体装置に関する。
【０００２】
【従来の技術】
システムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）のような論理ＬＳＩにおけるテスト容易化設計手法としては、内部論理回路を構成するフリップフロップ回路を直列に接続し、テストデータを入力して当該内部論理回路の論理状態を検査するスキャンパス方式がよく用いられる。スキャンパス方式以外には、たとえば、ランダムパターン発生器とシグネチャ圧縮器とをテスト回路として半導体チップに搭載し検査するＢＩＳＴ（Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）方式がある。
【０００３】
特許文献１に記載された従来の半導体集積回路装置は、自己構成型のメモリを半導体チップ内に設け、テスタＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）によりその自己構成型のメモリまたは通常のメモリにテスト回路を構成して、半導体チップ内の他のメモリやロジック回路をテストする。
【０００４】
【特許文献１】
特開２００１−３２５８００号公報
【０００５】
【発明が解決しようとする課題】
特許文献１に記載された従来の半導体集積回路装置は、テスト回路のクリティカルパスを通る信号がテスト動作中に変動するとき、当該テスト回路の動作速度をそのテスト回路によって検査できないという問題点があった。
【０００６】
それゆえに、この発明の目的は、半導体装置に内蔵された半導体検査装置のクリティカルパスを通る信号がテスト動作中に変動するときにも、当該半導体検査装置の動作速度をその半導体検査装置によって検査することが可能な半導体装置を提供することである。
【０００７】
【課題を解決するための手段】
この発明は、検査機能を有する半導体装置であって、被検査装置と、被検査装置の検査および自己の検査を行なう半導体検査装置と、半導体検査装置による検査結果をスキャンアウト前に一時的に保持するスキャンレジスタとを備える。半導体検査装置は、所定の複数データを発生するデータ発生回路と、複数のデータを処理するデータ処理回路と、データ発生回路とデータ処理回路との間に設けられたフリップフロップ回路と、フリップフロップ回路の動作タイミングを制御するクロック発生回路とを含む。
【０００８】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【０００９】
［実施の形態１］
図１は、この発明の実施の形態１による半導体装置１Ａの概略的な構成を示したブロック図である。
【００１０】
図１に示す実施の形態１の半導体装置１Ａは、ＡＬＰＧ（Ａｌｇｏｒｉｔｈｍｉｃ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）１０Ａと、スキャンレジスタ２０ａ，２０ｂ，２０ｃと、被測定デバイス３０とを備える。
【００１１】
ＡＬＰＧ１０Ａは、半導体装置１Ａに内蔵された半導体検査装置の１ブロックであって、被測定デバイス３０の検査だけでなく、ＡＬＰＧ１０Ａ自身の検査（以下、「ＡＬＰＧ自己診断」と呼ぶ）を行なうこともできる。スキャンレジスタ２０ａ，２０ｂ，２０ｃは、いずれもポジティブエッジトリガのフリップフロップ回路である。被測定デバイス３０は、一般に、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ），ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような記憶装置である。
【００１２】
ＡＬＰＧ１０Ａは、クロック発生器１１と、プログラムカウンタ１２と、情報保持回路１３と、パターン発生器１４と、フリップフロップ回路（ＦＦ）１５−１，１５−２，１５−３と、データスクランブル回路１６と、Ｌスルーラッチ回路１７とを含む。情報保持回路１３は、レジスタ，ＳＲＡＭ，フラッシュメモリ，ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記憶装置によって構成される。また、フリップフロップ回路１５−１，１５−２，１５−３は、いずれもポジティブエッジトリガのフリップフロップ回路である。
【００１３】
クロック発生器１１は、半導体装置１Ａ内の各回路に対してクロック信号を供給する。プログラムカウンタ１２は、情報保持回路１３にプログラムカウンタ値信号ＰＣを出力する。プログラムカウンタ値信号ＰＣは、情報保持回路１３に保持されたインストラクションのうち、どのインストラクションを出力するかを決定する信号である。情報保持回路１３は、プログラムカウンタ値信号ＰＣによって指定されたインストラクションをインストラクション信号ＩＮＳとしてパターン発生器１４に出力する。
【００１４】
パターン発生器１４は、インストラクション信号ＩＮＳに従って動作し、被測定デバイス制御信号ＤＵＴ、アドレス信号ＡＤＤ、スクランブル制御信号ＳＣＲ、および前データ信号ＰｒｅＤＡＴを出力する。
【００１５】
フリップフロップ回路１５−１は、被測定デバイス制御信号ＤＵＴをいったん取り込んだ後、それをスキャンレジスタ２０ａに出力する。フリップフロップ回路１５−２は、アドレス信号ＡＤＤをいったん取り込んだ後、それをスキャンレジスタ２０ｂおよびデータスクランブル回路１６に出力する。フリップフロップ回路１５−３は、スクランブル制御信号ＳＣＲおよび前データ信号ＰｒｅＤＡＴをいったん取り込んだ後、それらをデータスクランブル回路１６に出力する。
【００１６】
データスクランブル回路１６は、アドレス信号ＡＤＤ、スクランブル制御信号ＳＣＲ、および前データ信号ＰｒｅＤＡＴを受けて、データ信号ＤＡＴを出力する。Ｌスルーラッチ回路１７は、データ信号ＤＡＴをいったん取り込んだ後、それをスキャンレジスタ２０ｃに出力する。
【００１７】
スキャンレジスタ２０ａは、被測定デバイス制御信号ＤＵＴをいったん取り込んだ後、それを被測定デバイス３０に出力する。スキャンレジスタ２０ｂは、アドレス信号ＡＤＤをいったん取り込んだ後、それを被測定デバイス３０に出力する。スキャンレジスタ２０ｃは、データ信号ＤＡＴをいったん取り込んだ後、それを被測定デバイス３０に出力する。
【００１８】
ＡＬＰＧ自己診断動作時には、プログラムカウンタ１２は、情報保持回路１３に所定のプログラムカウンタ値信号を出力し、情報保持回路１３を介してＡＬＰＧ自己診断動作のインストラクションを指定する。また、クロック発生器１１は、ＡＬＰＧ１０Ａ内の各回路に対して所定のクロック信号を供給する。
【００１９】
ＡＬＰＧ自己診断は、ＡＬＰＧ１０Ａの走行後スキャンレジスタ２０ａ，２０ｂ，２０ｃにそれぞれ保持された信号を、外部のＬＳＩテスタへスキャンアウトすることによって実施される。ＡＬＰＧ自己診断結果が正常であれば、スキャンアウトされた信号はＡＬＰＧ自己診断期待値と一致する。ＡＬＰＧ自己診断期待値は、論理シミュレーションなどによって生成可能である。
【００２０】
ＡＬＰＧ１０Ａの回路動作において、データスクランブル回路１６から出力されるデータ信号ＤＡＴは、パターン発生器１４から出力されるアドレス信号ＡＤＤに連動して変化する。そのため、実施の形態１の半導体装置１Ａのように、ＡＬＰＧ１０Ａ走行後のスキャンアウトによってＡＬＰＧ自己診断を行なう場合、ＡＬＰＧ１０Ａ走行中にデータ信号ＤＡＴが正しく出力されているかどうかを観察することができない。
【００２１】
さらに、パターン発生器１４のアドレス信号演算は他の信号演算よりも複雑な動作を必要とするため、アドレス信号ＡＤＤを受けるデータスクランブル回路１６を含む経路は、ＡＬＰＧ１０Ａのクリティカルパスになることが考えられる。データスクランブル回路１６を含む経路がクリティカルパスであった場合、ＡＬＰＧ自己診断動作時においてＡＬＰＧ１０Ａの動作速度を検証することができない。なお、クリティカルパスとは、回路等の最大動作速度を規定する際のボトルネックとなる経路のことである。
【００２２】
データスクランブル回路１６から出力されるデータ信号ＤＡＴがアドレス信号ＡＤＤに連動して変動し、そのデータスクランブル回路１６を含む経路がＡＬＰＧ１０Ａのクリティカルパスとなる場合、半導体装置１Ａの動作速度をＡＬＰＧ自己診断によって検査するには２つの手段が考えられる。
【００２３】
１つは、ＡＬＰＧ１０Ａ動作中にＡＬＰＧ自己診断を実施することによって、データ信号ＤＡＴがアドレス信号ＡＤＤに連動して変動する影響を受けないようにする手段である。もう１つは、データスクランブル回路１６を含む経路がＡＬＰＧ１０Ａのクリティカルパスとならないようにする手段である。実施の形態１では、後者の手段について以下に説明する。なお、前者の手段は、実施の形態２〜５において説明する。
【００２４】
実施の形態１のＡＬＰＧ１０Ａは、パターン発生器１４の後段にフリップフロップ回路１５−１，１５−２，１５−３を設けている。フリップフロップ回路１５−１，１５−２，１５−３は、クロック発生器１１からのクロック信号に同期してパターン発生器１４からの出力信号を一時的に保持し、次のサイクルにその保持した信号を出力する。そのため、パターン発生器１４におけるアドレス信号演算とデータスクランブル回路におけるデータスクランブル演算とは別サイクルになり、データスクランブル回路１６を含む経路がＡＬＰＧ１０Ａのクリティカルパスとなるのを回避することができる。
【００２５】
したがって、実施の形態１の半導体装置１Ａは、ＡＬＰＧ自己診断動作時において、データスクランブル回路１６を含む部分のＡＬＰＧ１０Ａの動作速度を検証することが可能となる。
【００２６】
以上のように、実施の形態１によれば、パターン発生器１４の後段にフリップフロップ回路１５−１，１５−２を設けることによって、ＡＬＰＧ自己診断動作時に、データスクランブル回路１６の部分を含むＡＬＰＧ１０Ａの動作速度を検証することが可能となる。なお、フリップフロップ回路１５−３は、スキャンレジスタ２０ａ，２０ｂ，２０ｃに入力される各信号が同期するように設けられたものである。
【００２７】
［実施の形態２］
実施の形態１の半導体装置１Ａは、パターン発生器１４の後段にフリップフロップ回路１５−１，１５−２，１５−３を設けるため、ＡＬＰＧ１０Ａの占有面積が増大する。また、ＡＬＰＧ自己診断の際に、テストベクターが増大し、さらに、外部のＬＳＩテスタの動作速度と半導体装置１Ａの動作速度とが同程度の必要があった。これらの問題を解決するための実施の形態を、以下の実施の形態２〜５において説明する。
【００２８】
図２は、この発明の実施の形態２による半導体装置１Ｂの概略的な構成を示したブロック図である。
【００２９】
図２に示す実施の形態２の半導体装置１Ｂは、実施の形態１のＡＬＰＧ１０ＡがＡＬＰＧ１０Ｂに置き換わり、自己診断回路４０−１，４０−２，４０−３が新たに追加された構成となっている。ＡＬＰＧ１０Ｂは、フリップフロップ回路１５−１，１５−２，１５−３が取り除かれた点においてのみ実施の形態１のＡＬＰＧ１０Ａと異なる。そのため、実施の形態１と重複する部分の説明はここでは繰り返さない。
【００３０】
自己診断回路４０−１は、ＡＬＰＧ１０Ｂからデータ信号ＤＡＴを受けてデータ信号ＤＡＴの検査を行ない、その結果を外部のＬＳＩテスタへスキャンアウトする。同様に、自己診断回路４０−２，４０−３は、ＡＬＰＧ１０Ｂから被測定デバイス制御信号ＤＵＴ，アドレス信号ＡＤＤのような信号を受けて各々で検査を行ない、その結果を外部のＬＳＩテスタへスキャンアウトする。
【００３１】
データ信号ＤＡＴは、実施の形態１と同じくスキャンレジスタ２０ｃへも出力されるが、実施の形態２では、自己診断回路４０−１においてデータ信号ＤＡＴの処理が行なわれるため、データ信号ＤＡＴは必ずしもスキャンレジスタ２０ｃへ出力される必要はない。以下に、自己診断回路４０−１の実施の形態２における回路構成を示す。
【００３２】
図３は、この発明の実施の形態２による自己診断回路４０−１Ａの回路構成を示した回路図である。なお、図３では、データ信号ＤＡＴの流れを明らかにするため、ＡＬＰＧ１０Ｂについても図示している。
【００３３】
図３に示すように、ＡＬＰＧ１０Ｂのデータスクランブル回路１６から出力されるデータ信号ＤＡＴは、自己診断回路４０−１Ａに入力される。なお、図３において、ＡＬＰＢ１０Ｂ内の回路はデータスクランブル回路１６のみを図示しており、Ｌスルーラッチ回路１７他の回路の図示は省略している。
【００３４】
図３に示す実施の形態２の自己診断回路４０−１Ａは、ＸＯＲゲート５１と、スキャンモードセレクタ５２，５４と、フリップフロップ回路５３ａ，５３ｂ，５３ｃとを含む。フリップフロップ回路５３ａ，５３ｂ，５３ｃは、いずれもポジティブエッジトリガのフリップフロップ回路である。
【００３５】
ＸＯＲゲート５１は、データ信号ＤＡＴおよびフリップフロップ回路５３ｃから出力されるスキャンアウト信号ＳＯＵＴを受けて排他的論理和演算を行ない、その結果をスキャンモードセレクタ５２に出力する。スキャンモードセレクタ５２は、ＸＯＲゲート５１からの出力およびスキャンイン信号ＳＩＮのいずれか一方を選択して、それをフリップフロップ回路５３ａのデータ端子に出力する。
【００３６】
フリップフロップ回路５３ａは、スキャンモードセレクタ５２の出力をいったん取り込んだ後、それをフリップフロップ回路５３ｂのデータ端子に出力する。フリップフロップ回路５３ｂは、フリップフロップ回路５３ａの出力をいったん取り込んだ後、それをフリップフロップ回路５３ｃのデータ端子に出力する。フリップフロップ回路５３ｃは、フリップフロップ回路５３ｂの出力をいったん取り込んだ後、それをスキャンアウト信号ＳＯＵＴとして出力する。
【００３７】
スキャンモードセレクタ５４は、スキャン用クロック信号ＳＣＬＫおよび通常クロック信号ＣＬＫのいずれか一方を選択して、それをフリップフロップ回路５３ａ，５３ｂ，５３ｃのクロック端子にそれぞれ出力する。フリップフロップ回路５３ａ，５３ｂ，５３ｃは、スキャン用クロック信号ＳＣＬＫまたは通常クロック信号ＣＬＫに同期して動作する。なお、図３の自己診断回路４０−１Ａでは、フリップフロップ回路５３ａ，５３ｂ，５３ｃのように３つのフリップフロップ回路が連結された例を図示しているが、これは一例に過ぎず、一般にｎ個（ｎは自然数）のフリップフロップ回路が連結される。
【００３８】
次に、自己診断回路４０−１ＡのＡＬＰＧ自己診断動作およびスキャンアウト動作について説明する。
【００３９】
ＡＬＰＧ自己診断動作時において、スキャンモードセレクタ５２はＸＯＲゲート５１からの出力を選択し、スキャンモードセレクタ５４は通常クロック信号ＣＬＫを選択する。
【００４０】
ＸＯＲゲート５１、スキャンモードセレクタ５２、およびフリップフロップ回路５３ａ，５３ｂ，５３ｃはフィードバックループを形成しているため、データ信号ＤＡＴが正常時と異なる状態になった場合、それがＸＯＲゲート５１において検知され、フィードバックループにより蓄積される。
【００４１】
スキャンアウト動作時において、スキャンモードセレクタ５２はスキャンイン信号ＳＩＮを選択し、スキャンモードセレクタ５４はスキャン用クロック信号ＳＣＬＫを選択する。
【００４２】
これにより、ＡＬＰＧ自己診断動作時においてフリップフロップ回路５３ｃからＸＯＲゲート５１にフィードバックされていた信号は、スキャンアウト信号ＳＯＵＴとしてスキャンアウトされる。ＡＬＰＧ自己診断動作時にデータ信号ＤＡＴが正常時と異なる状態になったのかどうかは、スキャンアウト信号ＳＯＵＴが実施の形態１において説明したＡＬＰＧ自己診断期待値と一致するかどうかによって判断することができる。
【００４３】
このように、実施の形態２の半導体装置１Ｂは、ＡＬＰＧ１０Ｂ走行中に自己診断回路４０−１によってＡＬＰＧ自己診断を行なった後、その結果をスキャンアウトするため、ＡＬＰＧ１０Ｂ走行中にデータ信号ＤＡＴが正しく出力されているかどうかを観察することが可能となる。
【００４４】
以上のように、実施の形態２によれば、自己診断回路４０−１を新たに設けることによって、ＡＬＰＧ自己診断動作時にデータスクランブル回路１６を含む部分の自己診断を実施することができる。また、ＡＬＰＧ自己診断動作時において、データスクランブル回路１６の部分を含むＡＬＰＧ１０Ｂの動作速度を検証することが可能となる。
【００４５】
さらに、半導体装置１Ｂの内部にＡＬＰＧ自己診断結果を保持することにより、ＡＬＰＧ自己診断が高速であっても、低速の外部ＬＳＩテスタに自己診断結果をスキャンアウトすることが可能となる。
【００４６】
［実施の形態３］
この発明の実施の形態３による半導体装置１Ｂは、図２の実施の形態２による半導体装置１Ｂと同様なので、ここでは図示および説明を繰り返さない。以下に、自己診断回路４０−１の実施の形態３における回路構成を示す。
【００４７】
図４は、この発明の実施の形態３による自己診断回路４０−１Ｂの回路構成を示した回路図である。なお、図４では、データ信号ＤＡＴの流れを明らかにするため、ＡＬＰＧ１０Ｂについても図示している。
【００４８】
図４に示すように、ＡＬＰＧ１０Ｂのデータスクランブル回路１６から出力されるデータ信号ＤＡＴは、自己診断回路４０−１Ｂに入力される。なお、図４において、ＡＬＰＢ１０Ｂ内の回路はデータスクランブル回路１６のみを図示しており、Ｌスルーラッチ回路１７他の回路の図示は省略している。
【００４９】
図４に示す実施の形態３の自己診断回路４０−１Ｂは、スキャンモードセレクタ６１ａ〜６１ｄ，６２ａ〜６２ｄと、フリップフロップ回路６３ａ〜６３ｄと、インバータ６４ａ〜６４ｄとを含む。フリップフロップ回路６３ａ〜６３ｄは、いずれもポジティブエッジトリガのフリップフロップ回路である。
【００５０】
スキャンモードセレクタ６１ａは、データ信号ＤＡＴおよびスキャン用クロック信号ＳＣＬＫのいずれか一方を選択して、それをフリップフロップ回路６３ａのクロック端子に出力する。スキャンモードセレクタ６２ａは、インバータ６４ａからの出力およびスキャンイン信号ＳＩＮのいずれか一方を選択して、それをフリップフロップ回路６３ａのデータ端子に出力する。フリップフロップ回路６３ａは、スキャンモードセレクタ６２ａの出力をいったん取り込んだ後、それをスキャンモードセレクタ６２ｂに出力すると同時に、インバータ６４ａにも出力する。インバータ６４ａは、フリップフロップ回路６３ａからの出力を反転してスキャンモードセレクタ６２ａに出力する。
【００５１】
スキャンモードセレクタ６１ｂは、フリップフロップ回路６３ａからの出力およびスキャン用クロック信号ＳＣＬＫのいずれか一方を選択して、それをフリップフロップ回路６３ｂのクロック端子に出力する。スキャンモードセレクタ６２ｂは、インバータ６４ｂからの出力およびフリップフロップ回路６３ａからの出力のいずれか一方を選択して、それをフリップフロップ回路６３ｂのデータ端子に出力する。フリップフロップ回路６３ｂは、スキャンモードセレクタ６２ａの出力をいったん取り込んだ後、それをスキャンモードセレクタ６２ｃに出力するのと同時に、インバータ６４ｂにも出力する。インバータ６４ｂは、フリップフロップ回路６３ｂからの出力を反転してスキャンモードセレクタ６２ｂに出力する。
【００５２】
スキャンモードセレクタ６１ｃ，６２ｃ、フリップフロップ回路６３ｃ、およびインバータ６４ｃの説明は、スキャンモードセレクタ６１ｂ，６２ｂ、フリップフロップ回路６３ｂ、およびインバータ６４ｂの説明とそれぞれ対応するので、ここでは説明を繰り返さない。
【００５３】
スキャンモードセレクタ６１ｄ，６２ｄ、およびインバータ６４ｄの説明は、スキャンモードセレクタ６１ｂ，６２ｂ、およびインバータ６４ｂの説明とそれぞれ対応するので、ここでは説明を繰り返さない。フリップフロップ回路６３ｄは、スキャンモードセレクタ６２ｃの出力をいったん取り込んだ後、それをインバータ６４ｄへ出力するのと同時に、スキャンアウト信号ＳＯＵＴとして出力する。
【００５４】
次に、自己診断回路４０−１ＢのＡＬＰＧ自己診断動作およびスキャンアウト動作について説明する。
【００５５】
ＡＬＰＧ自己診断動作時において、スキャンモードセレクタ６１ａはデータ信号ＤＡＴを選択し、スキャンモードセレクタ６１ｂ〜６１ｄはフリップフロップ回路６３ａ〜６３ｃからの出力をそれぞれ選択する。また、スキャンモードセレクタ６２ａ〜６２ｄは、インバータ６４ａ〜６４ｄからの出力をそれぞれ選択する。
【００５６】
上記の選択により、フリップフロップ回路６３ａ〜６３ｄは、カウンタとして機能する。なお、図４の自己診断回路４０−１Ｂでは、フリップフロップ回路６３ａ〜６３ｄのように４つのフリップフロップ回路が連結された例を図示しているが、これは一例に過ぎず、一般にｎ個（ｎは自然数）のフリップフロップ回路が連結されることにより、ｎビットカウンタとして機能する。
【００５７】
図５は、この発明の実施の形態３による自己診断回路４０−１ＢのＡＬＰＧ自己診断動作を説明するための動作波形図である。
【００５８】
図５に示すように、時刻ｔ１，ｔ２，ｔ３においてデータ信号ＤＡＴが立ち上がるたびに、図４のフリップフロップ回路６３ａ〜６３ｄがデータ信号ＤＡＴの立上がり回数をカウントする。
【００５９】
図４に戻って、スキャンアウト動作時には、スキャンモードセレクタ６１ａ〜６１ｄは、スキャン用クロック信号ＳＣＬＫを選択する。また、スキャンモードセレクタ６２ａはスキャンイン信号ＳＩＮを選択し、スキャンモードセレクタ６２ｂ〜６２ｄはフリップフロップ回路６３ａ〜６３ｃからの出力をそれぞれ選択する。
【００６０】
上記の選択により、ＡＬＰＧ自己診断動作時においてフリップフロップ回路６３ｄからインバータ６４ｄへ出力されていた信号は、スキャンアウト信号ＳＯＵＴとしてスキャンアウトされる。ＡＬＰＧ自己診断動作時にフリップフロップ回路６３ａ〜６３ｄでカウントされたデータ信号ＤＡＴの立上がり回数は、スキャンアウト信号ＳＯＵＴによって知ることができる。
【００６１】
このように、実施の形態３の半導体装置１Ｂは、ＡＬＰＧ１０Ｂ走行中に自己診断回路４０−１によってＡＬＰＧ自己診断を行なった後、その結果をスキャンアウトするため、ＡＬＰＧ１０Ｂ走行中にデータ信号ＤＡＴが正しく出力されているかどうかを観察することが可能となる。
【００６２】
以上のように、実施の形態３によれば、自己診断回路４０−１を新たに設けることによって、ＡＬＰＧ自己診断動作時にデータスクランブル回路１６を含む部分の自己診断を実施することができる。また、ＡＬＰＧ自己診断動作時において、データスクランブル回路１６の部分を含むＡＬＰＧ１０Ｂの動作速度を検証することが可能となる。
【００６３】
さらに、半導体装置１Ｂの内部にＡＬＰＧ自己診断結果を保持することにより、ＡＬＰＧ自己診断が高速であっても、低速の外部ＬＳＩテスタに自己診断結果をスキャンアウトすることが可能となる。
【００６４】
［実施の形態４］
この発明の実施の形態４による半導体装置１Ｂは、図２の実施の形態２による半導体装置１Ｂと同様なので、ここでは図示および説明を繰り返さない。以下に、自己診断回路４０−１の実施の形態４における回路構成を示す。
【００６５】
図６は、この発明の実施の形態４による自己診断回路４０−１Ｃの回路構成を示した回路図である。なお、図６では、データ信号ＤＡＴの流れを明らかにするため、ＡＬＰＧ１０Ｂについても図示している。
【００６６】
図６に示すように、ＡＬＰＧ１０Ｂのデータスクランブル回路１６から出力されるデータ信号ＤＡＴは、自己診断回路４０−１Ｃに入力される。なお、図６において、ＡＬＰＢ１０Ｂ内の回路はデータスクランブル回路１６のみを図示しており、Ｌスルーラッチ回路１７他の回路の図示は省略している。
【００６７】
図６に示す実施の形態４の自己診断回路４０−１Ｃは、実施の形態３の自己診断回路４０−１Ｂにゲーテッドクロック発生器７１が付加された構成となっている。そのため、実施の形態３と重複する部分の説明はここでは繰り返さない。
【００６８】
ゲーテッドクロック発生器７１は、データ信号ＤＡＴおよび通常クロック信号ＣＬＫを受け、データ信号ＤＡＴがＨレベルのときには通常クロック信号ＣＬＫを出力し、データ信号ＤＡＴがＬレベルのときにはＬレベルの信号を出力する。スキャンモードセレクタ６１ａは、ゲーテッドクロック発生器７１からの出力およびスキャン用クロック信号ＳＣＬＫのいずれか一方を選択して、それをフリップフロップ回路６３ａのクロック端子に出力する。
【００６９】
次に、自己診断回路４０−１ＣのＡＬＰＧ自己診断動作およびスキャンアウト動作について説明する。
【００７０】
ＡＬＰＧ自己診断動作時において、スキャンモードセレクタ６１ａはゲーテッドクロック発生器７１からの出力を選択し、スキャンモードセレクタ６１ｂ〜６１ｄはフリップフロップ回路６３ａ〜６３ｃからの出力をそれぞれ選択する。また、スキャンモードセレクタ６２ａ〜６２ｄは、インバータ６４ａ〜６４ｄからの出力をそれぞれ選択する。
【００７１】
上記の選択により、フリップフロップ回路６３ａ〜６３ｄはカウンタとして機能する。なお、図６の自己診断回路４０−１Ｃでは、フリップフロップ回路６３ａ〜６３ｄのように４つのフリップフロップ回路が連結された例を図示しているが、これは一例に過ぎず、一般にｎ個（ｎは自然数）のフリップフロップ回路が連結されることにより、ｎビットカウンタとして機能する。
【００７２】
図７は、この発明の実施の形態４による自己診断回路４０−１ＣのＡＬＰＧ自己診断動作を説明するための動作波形図である。
【００７３】
図７に示すように、時刻ｔ１，ｔ２，…，ｔ１１において通常クロック信号ＣＬＫが立ち上がるたびに、図６のフリップフロップ回路６３ａ〜６３ｄが通常クロック信号ＣＬＫの立上がり回数をカウントする。すなわち、フリップフロップ回路６３ａ〜６３ｄは、データ信号ＤＡＴがＨレベルの期間における通常クロック信号ＣＬＫの立上がり回数をカウントする。
【００７４】
図６に戻って、スキャンアウト動作時には、スキャンモードセレクタ６１ａ〜６１ｄは、スキャン用クロック信号ＳＣＬＫを選択する。また、スキャンモードセレクタ６２ａはスキャンイン信号ＳＩＮを選択し、スキャンモードセレクタ６２ｂ〜６２ｄはフリップフロップ回路６３ａ〜６３ｃからの出力をそれぞれ選択する。
【００７５】
上記の選択により、ＡＬＰＧ自己診断動作時においてフリップフロップ回路６３ｄからインバータ６４ｄへ出力されていた信号は、スキャンアウト信号ＳＯＵＴとしてスキャンアウトされる。ＡＬＰＧ自己診断動作時にフリップフロップ回路６３ａ〜６３ｄでカウントされた、データ信号ＤＡＴがＨレベルの期間における通常クロック信号ＣＬＫの立上がり回数は、スキャンアウト信号ＳＯＵＴによって知ることができる。
【００７６】
このように、実施の形態４の半導体装置１Ｂは、ＡＬＰＧ１０Ｂ走行中に自己診断回路４０−１によってＡＬＰＧ自己診断を行なった後、その結果をスキャンアウトするため、ＡＬＰＧ１０Ｂ走行中にデータ信号ＤＡＴが正しく出力されているかどうかを観察することが可能となる。
【００７７】
なお、ゲーテッドクロック発生器７１は、セレクタ回路に置き換えることも可能である。この場合、当該セレクタ回路は、データ信号ＤＡＴがＨレベルのときには通常クロック信号ＣＬＫを選択し、データ信号ＤＡＴがＬレベルのときにはＬレベルまたはＨレベルに固定された出力ピンを選択する。
【００７８】
以上のように、実施の形態４によれば、自己診断回路４０−１を新たに設けることによって、ＡＬＰＧ自己診断動作時にデータスクランブル回路１６を含む部分の自己診断を実施することができる。また、ＡＬＰＧ自己診断動作時において、データスクランブル回路１６の部分を含むＡＬＰＧ１０Ｂの動作速度を検証することが可能となる。
【００７９】
さらに、半導体装置１Ｂの内部にＡＬＰＧ自己診断結果を保持することにより、ＡＬＰＧ自己診断が高速であっても、低速の外部ＬＳＩテスタに自己診断結果をスキャンアウトすることが可能となる。
【００８０】
［実施の形態５］
この発明の実施の形態５による半導体装置１Ｂは、図２の実施の形態２による半導体装置１Ｂと同様なので、ここでは図示および説明を繰り返さない。以下に、自己診断回路４０−１の実施の形態５における構成を示す。
【００８１】
図８は、この発明の実施の形態５による自己診断回路４０−１Ｄａ，４０−１Ｄｂの構成を示したブロック図である。
【００８２】
図８（ａ）の自己診断回路４０−１Ｄａは、実施の形態３の自己診断回路４０−１Ｂと実施の形態４の自己診断回路４０−１Ｃとを直列接続することによって構成される。この場合、自己診断回路４０−１Ｂのスキャンアウト信号ＳＯＵＴの端子を自己診断回路４０−１Ｃのスキャンイン信号ＳＩＮの端子に接続するか、自己診断回路４０−１Ｃのスキャンアウト信号ＳＯＵＴの端子を自己診断回路４０−１Ｂのスキャンイン信号ＳＩＮの端子に接続する。
【００８３】
図８（ｂ）の自己診断回路４０−１Ｄｂは、実施の形態３の自己診断回路４０−１Ｂと実施の形態４の自己診断回路４０−１Ｃとを並列接続することによって構成される。
【００８４】
このように、実施の形態５の自己診断回路４０−１Ｄａ，４０−１Ｄｂは、自己診断回路４０−１Ｂと自己診断回路４０−１Ｃとを直列または並列に接続することにより、自己診断回路４０−１Ｂによる自己診断結果と自己診断回路４０−１Ｃによる自己診断結果とを一度の検査で共に利用することができる。
【００８５】
以上のように、実施の形態５によれば、実施の形態３の自己診断回路４０−１Ｂと実施の形態４の自己診断回路４０−１Ｃとを直列または並列に接続して自己診断回路を構成することにより、実施の形態３，４による半導体装置１Ｃ，１Ｄをそれぞれ単独で使用するよりも、ＡＬＰＧ自己診断の検査効率を向上させることができる。
【００８６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００８７】
【発明の効果】
以上のように、この発明によれば、半導体装置に内蔵された半導体検査装置のクリティカルパスを通る信号がテスト動作中に変動するときにも、当該半導体検査装置の動作速度をその半導体検査装置によって検査することが可能となる。
【図面の簡単な説明】
【図１】この発明の実施の形態１による半導体装置１Ａの概略的な構成を示したブロック図である。
【図２】この発明の実施の形態２による半導体装置１Ｂの概略的な構成を示したブロック図である。
【図３】この発明の実施の形態２による自己診断回路４０−１Ａの回路構成を示した回路図である。
【図４】この発明の実施の形態３による自己診断回路４０−１Ｂの回路構成を示した回路図である。
【図５】この発明の実施の形態３による自己診断回路４０−１ＢのＡＬＰＧ自己診断動作を説明するための動作波形図である。
【図６】この発明の実施の形態４による自己診断回路４０−１Ｃの回路構成を示した回路図である。
【図７】この発明の実施の形態４による自己診断回路４０−１ＣのＡＬＰＧ自己診断動作を説明するための動作波形図である。
【図８】この発明の実施の形態５による自己診断回路４０−１Ｄａ，４０−１Ｄｂの構成を示したブロック図である。
【符号の説明】
１Ａ，１Ｂ  半導体装置、１０Ａ，１０Ｂ  ＡＬＰＧ、１１  クロック発生器、１２  プログラムカウンタ、１３  情報保持回路、１４  パターン発生器、１５−１，１５−２，１５−３  フリップフロップ回路、１６  データスクランブル回路、１７  Ｌスルーラッチ回路、２０ａ，２０ｂ，２０ｃ  スキャンレジスタ、３０  被測定デバイス、４０−１，４０−１Ａ，４０−１Ｂ，４０−１Ｃ，４０−１Ｄａ，４０−１Ｄｂ，４０−２，４０−３  自己診断回路、５１  ＸＯＲゲート、５２，５４  スキャンモードセレクタ、５３ａ，５３ｂ，５３ｃ  フリップフロップ回路、６１ａ〜６１ｄ，６２ａ〜６２ｄ  スキャンモードセレクタ、６３ａ〜６３ｄ  フリップフロップ回路、６４ａ〜６４ｄ  インバータ、７１  ゲーテッドクロック発生器。
【図１】
2004333370.tif 000003
【図２】
2004333370.tif 000004
【図３】
2004333370.tif 000005
【図４】
2004333370.tif 000006
【図５】
2004333370.tif 000007
【図６】
2004333370.tif 000008
【図７】
2004333370.tif 000009
【図８】
2004333370.tif 000010