(57)【要約】【課題】内部回路の入力ピンをそれより少ない半導体集積回路の外部ピンにマッピングし、かつ製造後の個々のチップの動作を検証するための試験を実動作速度で行うことができるようにする。【解決手段】試験対象回路を動作させるクロックの供給・停止を制御するクロック制御部と、シリアル入力される試験パターンデータから試験対象回路に対してパラレルに供給する試験パターンを生成する信号発生部と、生成された試験パターンを蓄積する蓄積部とを有し、蓄積される試験パターンが所定のサイクル数分に達すると、クロック及び試験パターンを試験対象回路に供給するようにして、試験対象回路の入力ピンより少ない半導体集積回路の外部ピンを用いて、試験対象回路に試験パターンを供給し、試験対象回路を実動作速度で動作させ動作の検証を行えるようにする。【選択図】図２
2010054235.tif 000002
【特許請求の範囲】
【請求項１】
試験対象回路と、
前記試験対象回路を動作させるクロックの供給及び停止を制御するクロック制御部と、
シリアル入力される試験パターンデータに基づいて、前記試験対象回路に対してパラレルに供給する試験パターンを生成する信号発生部と、
前記信号発生部により生成された前記試験パターンを蓄積する蓄積部とを有し、
前記蓄積部に蓄積される前記試験パターンが所定のサイクル数分に達すると、前記クロック制御部が前記クロックを前記試験対象回路に供給するとともに、前記蓄積部が蓄積されている前記試験パターンを前記試験対象回路に順次供給することを特徴とする半導体集積回路。
【請求項２】
前記クロック及び前記試験パターンの前記試験対象回路への供給により、前記蓄積部に蓄積されている前記試験パターンが所定のサイクル数分より少なくなった場合に、前記試験対象回路への前記クロック及び前記試験パターンの供給を停止することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記蓄積部に蓄積されている前記試験パターンの量に応じて、前記クロックの供給及び停止を指示するイネーブル信号を生成して前記クロック制御部に出力する停止制御部を有することを特徴とする請求項１又は２記載の半導体集積回路。
【請求項４】
供給された前記試験パターンに対する前記試験対象回路の出力を縮退させ、任意のタイミングで外部に出力する出力信号制御部を有することを特徴とする請求項１〜３の何れか１項に記載の半導体集積回路。
【請求項５】
前記試験対象回路を複数有し、
前記蓄積部から出力された前記試験パターンを前記試験対象回路の何れか１つに供給する試験対象回路選択部を有することを特徴とする請求項１〜４の何れか１項に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に半導体集積回路のビルトイン試験回路技術に関する。
【背景技術】
【０００２】
近年、半導体集積回路は、動作速度が高速化するとともに、高集積化に伴って回路が複雑化してきている。また、従来、半導体集積回路においては、半導体集積回路製造後に回路が設計どおりに動作するか否かを検証するための試験が行われる。
【０００３】
半導体集積回路の動作を検証する試験方法としては、さまざまな方法が提案されている。例えば、試験対象の半導体集積回路に外部から試験パターンを与える試験方法や、ＢＩＳＴ（built in self test）回路を組み込む方法や、スキャンと自動パターン生成とを組み合わせた試験方法などがある。
【０００４】
しかし、試験対象の半導体集積回路に外部から試験パターンを与える試験方法では、回路が複雑化しすぎて少ない外部ピン（外部端子）から内部の回路を効率よく活性化できない場合があるとともに、試験結果を外部からプローブするためのピン（端子）数も限られる。また、試験における動作周波数が、テスタやＩ／Ｏピン（入出力端子）のＡＣ性能に依存するため、半導体集積回路が実際に動作する際の動作速度（実動作速度）で試験を行うことが困難である。
【０００５】
また、半導体集積回路にＢＩＳＴ回路を組み込む方法では、半導体集積回路の複雑化により組み込む試験パターン生成回路自体も複雑になり回路規模も大きくなる。したがって、ＢＩＳＴ回路を組み込む方法は、複雑化した半導体集積回路に対しては現実的ではない。
【０００６】
また、スキャンと自動パターン生成とを組み合わせた試験方法では、故障検出の効率が良いものの、実動作時の連続した信号変化や速度を反映していない検査であるため、信号伝播におけるＡＣタイミングに起因する不良を検出しきれない場合がある。この試験方法では、内部回路におけるフリップフロップ間については実動作速度での試験が可能であるが、連続した動作や実際の動作状況、動作率を考慮した（例えば、実動作時の電圧低下やクロストークの影響を考慮した）試験を行うことはできない。
【０００７】
【特許文献１】特開平１０−６２４９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、内部回路の入力ピンを当該入力ピンより少ない半導体集積回路の外部ピンにマッピングし、かつ製造後の個々のチップの動作を検証するための試験を実動作速度で行うことができる半導体集積回路を提供することである。
【課題を解決するための手段】
【０００９】
本発明の一観点によれば、試験対象回路を動作させるクロックの供給及び停止を制御するクロック制御部と、シリアル入力される試験パターンデータに基づいて、試験対象回路に対してパラレルに供給する試験パターンを生成する信号発生部と、信号発生部により生成された試験パターンを蓄積する蓄積部とを有する半導体集積回路が提供される。蓄積部に蓄積される試験パターンが所定のサイクル数分に達すると、クロックを試験対象回路に供給するとともに蓄積されている試験パターンを試験対象回路に順次供給する。
【発明の効果】
【００１０】
本発明によれば、シリアル入力される試験パターンデータに基づいて試験対象回路にパラレルに供給する試験パターンを生成するので、試験対象回路の入力ピンより少ない半導体集積回路の外部ピンを用いて、試験対象回路に試験パターンを供給することができる。したがって、半導体集積回路の外部ピンの数に制約されることなく、任意の試験対象回路に試験パターンを供給することができる。また、蓄積部に蓄積される試験パターンが所定のサイクル数分に達すると、クロック及び試験パターンを試験対象回路に供給して実動作速度で動作させることにより、実動作速度での動作検証に係る試験を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。
【００１２】
図１は、本発明の一実施形態に係る半導体集積回路の構成例を示すブロック図である。
図１において、１０はテスト制御・信号発生回路、２０は試験対象の内部回路（試験対象回路）、３０は出力信号制御回路、４０はＰＬＬ（Phase Locked Loop）回路、５０はクロック制御部である。
【００１３】
テスト制御・信号発生回路１０は、試験対象回路２０の動作を検証するための試験の実行を制御するとともに、前記試験に係る信号（試験パターン）を発生する。テスト制御・信号発生回路１０は、メインクロックＭＣＫの供給・停止を指示するメインクロックイネーブル信号ＭＣＫＥＮを生成してクロック制御部４０に出力し、発生した試験に係る信号（試験パターン）を試験対象回路２０に出力する。テスト制御・信号発生回路１０は、試験信号発生回路１１を有する。
【００１４】
試験信号発生回路１１は、半導体集積回路の外部ピンより入力された入力信号ＳＩＮが入力される。入力信号ＳＩＮには、例えば、試験パターンを構成する入力データを指定するコマンドや、当該入力データを入力する試験対象回路２０の入力ピンを指定する選択信号や、試験制御に係る制御信号などが含まれる。試験信号発生回路１１は、入力信号ＳＩＮ、詳細にはシリアル入力されるコマンド及び選択信号に基づいて、試験対象回路２０に対してパラレルに供給される試験パターンを生成して試験対象回路２０に出力する。
【００１５】
本実施形態では、入力信号ＳＩＮを入力するための半導体集積回路の外部ピンの数は、試験対象回路２０に試験パターンを入力するための入力ピンの数よりも少なく、試験パターンの１サイクル分のデータは分割されて入力信号ＳＩＮによって入力される。
【００１６】
出力信号制御回路３０は、入力された試験パターンに対する試験対象回路２０の出力に基づいて、試験の結果を出力信号ＳＯＵＴにより半導体集積回路の外部に出力する。出力信号制御回路３０は、例えばデータ要約部３１及び出力制御部３２を有する。
【００１７】
データ要約部３１は、試験パターンに対する試験対象回路２０の出力をハッシュ等の一方向要約関数で縮退させる。例えば、データ要約部３１は、試験対象回路２０の出力を複数ビット束ねてハッシュを取る。出力制御部３２は、あるタイミングでデータ要約部３１からハッシュ値を読み出して外部に出力する。読み出されたハッシュ値を照合することで、試験においてエラーが発生したか否かを検出することができる。制御信号ＯＣは、データ要約部３１からハッシュ値を出力させるための信号であり、データ要約部３１におけるハッシュ値をリセットする機能をも有するようにしても良い。
【００１８】
このように、試験パターンに対する試験対象回路２０の出力を一方向要約関数で縮退させることで、出力信号ＳＯＵＴを出力するための外部ピンの数を、試験パターンに対する試験対象回路２０の出力を出力するための出力ピンの数よりも少なくすることができる。また、実動作速度に対して十分遅い動作速度で、例えば入出力（Ｉ／Ｏ）系クロックを用いて試験対象回路２０の試験結果を取得し照合することができる。
【００１９】
ここで、テスト制御・信号発生回路１０及び試験信号発生回路１１において、その一部はメインクロックよりも一般に周波数が低い入出力（Ｉ／Ｏ）系クロックで動作し、他はメインクロックで動作する。また、出力信号制御回路３０において、出力制御部３２を含む一部はＩ／Ｏ系クロックで動作し、データ要約部３１を含む他の部分はメインクロックで動作する。
【００２０】
クロック制御部５０は、ＰＬＬ回路４０を介して入力されるクロック信号ＣＬＫに基づいて、メインクロックＭＣＫ及び試験用メインクロックＴＣＫを出力する。試験用メインクロックＴＣＫは、テスト制御・信号発生回路１０に供給され、テスト制御・信号発生回路１０内の試験制御等に係る試験用回路を動作させるためのクロックである。
【００２１】
また、メインクロックＭＣＫは、テスト制御・信号発生回路１０、試験対象回路２０、及び出力信号制御回路３０に供給され、それらの回路を実動作速度で動作させるためのクロックである。メインクロックＭＣＫに関しては、いわゆるゲーテドクロック技術を適用し、メインクロックイネーブル信号ＭＣＫＥＮに従ってメインクロックＭＣＫの供給・停止が制御される。
【００２２】
本実施形態に係る半導体集積回路の試験時の動作について説明する。
試験パターンの１サイクル分のデータが分割されることでシリアル化され、入力信号ＳＩＮとして半導体集積回路の外部ピンよりテスト制御・信号発生回路１０に入力される。テスト制御・信号発生回路１０は、入力された入力信号ＳＩＮに基づいて試験パターンを発生し蓄積する動作を繰り返し行う。
【００２３】
そして、蓄積されている試験パターンが所定のサイクル数分に達すると、テスト制御・信号発生回路１０は、メインクロックＭＣＫが供給されるようメインクロックイネーブル信号ＭＣＫＥＮを出力（アサート）する。これにより、一定期間連続して、メインクロックＭＣＫがテスト制御・信号発生回路１０、試験対象回路２０、及び出力信号制御回路３０に供給されるとともに、試験パターンが試験対象回路２０に供給される。なお、メインクロックイネーブル信号ＭＣＫＥＮが不活性化（ネゲート）されている期間は、メインクロックＭＣＫが停止され、試験対象回路２０に対して試験パターンも供給されない。
【００２４】
このようにして、試験パターン及びメインクロックＭＣＫが試験対象回路２０に供給されて、その試験パターンに対する試験対象回路２０の出力が出力信号制御回路３０に供給される。出力信号制御回路３０は、試験対象回路２０の出力を一方向要約関数で縮退させ、任意のタイミングで出力信号ＳＯＵＴとして外部に出力する。
【００２５】
なお、図１においては、データ要約部３１及び出力制御部３２を有する出力信号制御回路３０を一例として示しているが、これに限定されるものではない。例えば、出力信号制御回路３０に十分に大きな容量のメモリを設けて結果をすべて蓄積しておき、任意のタイミングで結果を読み出すようにしても良い。
【００２６】
図２は、本実施形態に係る半導体集積回路の詳細な構成例を示すブロック図である。この図２において、図１に示したブロック等と同一の機能を有するブロック等には同一の符号を付し、重複する説明は省略する。
【００２７】
テスト制御・信号発生回路１０は、入力制御部１０１、信号発生器１０２、ＦＩＦＯ１０３、クロックカウンタ（Ｔ）１０４、クロックカウンタ（Ｄ）１０５、比較部１０６、及び停止制御部１０７を有する。
【００２８】
入力制御部１０１は、選択信号ｐｉｎ−ｓｅｌ、コマンドｐｉｎ−ｃｏｍ、初期化信号ｉｎｉｔ、及びカウンタ更新信号ｐｉｎ−ｃｌｏｃｋが入力され、それらに基づいて信号発生器１０２、クロックカウンタ（Ｔ）、及び停止制御部１０７を制御する。選択信号ｐｉｎ−ｓｅｌ、コマンドｐｉｎ−ｃｏｍ、初期化信号ｉｎｉｔ、及びカウンタ更新信号ｐｉｎ−ｃｌｏｃｋは、図１に示した入力信号ＳＩＮに対応する。
【００２９】
選択信号ｐｉｎ−ｓｅｌは、コマンドｐｉｎ−ｃｏｍにより指定される入力データを入力する試験対象回路２０の入力ピン（ＦＩＦＯ１０３）を指定する信号である。また、コマンドｐｉｎ−ｃｏｍは、試験パターンを構成する入力データを指定する信号である。
【００３０】
本実施形態では、コマンドｐｉｎ−ｃｏｍは、例えば“Ｈ”、“Ｌ”、“ＰＰ”、“ＮＰ”の４種とする。“Ｈ”は、そのサイクル以降、入力データをハイレベルとするコマンドであり、“Ｌ”は、そのサイクル以降、入力データをローレベルとするコマンドである。また、“ＰＰ”は、そのサイクルは入力データをハイレベルとし、以降ローレベルとするコマンド（ポジティブパルスのコマンド）であり、“ＮＰ”は、そのサイクルは入力データをローレベルとし、以降ハイレベルとするコマンド（ネガティブパルスのコマンド）である。また、本実施形態では、“ＰＰ”を指定した次のサイクルで“Ｈ”を指定するなどしてコマンドが競合した場合には、後のコマンドが優先されるものとする。
【００３１】
なお、上述したコマンドｐｉｎ−ｃｏｍは、一例であり、“Ｈ”及び“Ｌ”の２種のコマンドだけでも実現可能であるし、後のコマンドを優先するようにした場合には、“ＰＰ”又は“ＮＰ”の何れか１種のコマンドだけでも実現可能である。また、数サイクルの間、入力データをハイレベル（ローレベル）とし、以降ローレベル（ハイレベル）とするような幅を有するパルス等のコマンドを設けても良い。
【００３２】
初期化信号ｉｎｉｔは、テスト制御・信号発生回路１０内の各部を初期化する信号である。カウンタ更新信号ｐｉｎ−ｃｌｏｃｋは、クロックカウンタ（Ｔ）１０４に係る制御信号であり、クロックカウンタ（Ｔ）１０４のカウンタ値を１更新させるイネーブル信号である。
【００３３】
入力制御部１０１は、選択信号ｐｉｎ−ｓｅｌにより指定される試験対象回路２０の入力ピン（ＦＩＦＯ１０３）に対応する信号発生器１０２に対して、コマンドｐｉｎ−ｃｏｍに応じた指示を出力する。また、入力制御部１０１は、カウンタ更新信号ｐｉｎ−ｃｌｏｃｋに基づき、クロックカウンタ（Ｔ）１０４に対してカウンタ値の更新を指示する。
【００３４】
信号発生器１０２は、コマンドｐｉｎ−ｃｏｍに応じた入力制御部１０１からの指示に基づいて、対応する試験対象回路２０の入力ピン（ＦＩＦＯ１０３）に入力する入力信号を生成する。すなわち、信号発生器１０２は、コマンドｐｉｎ−ｃｏｍをＦＩＦＯ１０３が受け付けるデータに変換する処理を行う。
【００３５】
ＦＩＦＯ１０３は、対応する試験対象回路２０の入力ピンに入力する入力信号を複数サイクル分保持する。つまり、ＦＩＦＯ１０３は、対応する信号発生器１０２の出力を複数サイクル分蓄積する。また、ＦＩＦＯ１０３は、保持している入力信号を所定のタイミングで所定のサイクル数分、試験対象回路２０に出力する。ＦＩＦＯ１０３への書き込み（入力）はＩ／Ｏ系クロックを用いて行われ、ＦＩＦＯ１０３からの読み出し（出力）はメインクロックＭＣＫを用いて行われる。本実施形態ではＦＩＦＯ１０３を用いているが、これに限定されるものではなく、シフトレジスタであっても良い。
【００３６】
なお、試験対象回路２０の入力ピンに入力する入力信号をランレングス圧縮して、対応するＦＩＦＯ１０３に保持するようにしても良い。この場合には、図３に示すように、ＦＩＦＯ１０３の入力側（前段）にランレングス圧縮処理を行う圧縮器１０８を設けるとともに、ＦＩＦＯ１０３の出力側（後段）に圧縮データを展開する展開器１０９を設ける。そして、一定期間同じ入力信号であれば、入力信号とサイクル数（入力信号×サイクル数）という形でデータをＦＩＦＯ１０３に保持させる。例えば、サイクル数の上限を１６とした場合には、“Ｈ”が１００サイクル続く状態であれば、「“Ｈ”×１６」というデータを６回分と「“Ｈ”×４」というデータをＦＩＦＯ１０３に格納する。
【００３７】
クロックカウンタ（Ｔ）１０４は、ＦＩＦＯ１０３に蓄積された入力信号（試験パターン）のサイクル数をカウントする。各ＦＩＦＯ１０３に対して１サイクル分の入力信号が格納される、すなわち１サイクル分のすべての入力信号が揃うと、カウンタ更新信号ｐｉｎ−ｃｌｏｃｋが入力され、これによりクロックカウンタ（Ｔ）１０４のカウンタ値が１だけ増加される。したがって、クロックカウンタ（Ｔ）１０４のカウンタ値は、試験パターンの先頭からのサイクル数を示す。
【００３８】
クロックカウンタ（Ｄ）１０５は、試験対象回路２０に供給された入力信号（試験パターン）のサイクル数をカウントする。クロックカウンタ（Ｄ）１０５は、試験対象回路２０に入力信号が入力できる場合、すなわちＦＩＦＯ１０３から入力信号が出力できる場合、カウンタ値を１だけ増加する。クロックカウンタ（Ｄ）１０５のカウンタ値は、試験パターンの先頭からのサイクル数を示す。
【００３９】
比較部１０６は、クロックカウンタ（Ｔ）１０４のカウンタ値とクロックカウンタ（Ｄ）１０５のカウンタ値とを比較し、比較結果を出力する。具体的には、比較部１０６は、クロックカウンタ（Ｔ）１０４のカウンタ値とクロックカウンタ（Ｄ）１０５のカウンタ値の差分を求めて出力する。
【００４０】
停止制御部１０７は、入力制御部１０１からの制御信号（初期化・期待値比較用停止指示）ＳＡ１及び位相指示信号ＳＡ２が入力される。また、停止制御部１０７は、比較部１０６からクロックカウンタ（Ｔ）１０４のカウンタ値とクロックカウンタ（Ｄ）１０５のカウンタ値との比較結果が入力される。停止制御部１０７は、制御信号ＳＡ１、位相指示信号ＳＡ２、及び比較部１０６からの比較結果に基づいて、メインクロックイネーブル信号ＭＣＫＥＮを出力することでメインクロックＭＣＫに係る停止制御を行う。
【００４１】
例えば、停止制御部１０７は、比較部１０６からの比較結果を基にＦＩＦＯ１０３に蓄積されているデータ量（入力信号の残量）を評価する。その結果、ＦＩＦＯ１０３に所定のサイクル数分のデータが蓄積されていない場合には、メインクロックＭＣＫを停止させるようメインクロックイネーブル信号ＭＣＫＥＮをネゲートする。一方、ＦＩＦＯ１０３に所定のサイクル数分のデータが蓄積されている場合には、メインクロックＭＣＫが一定期間連続して供給されるようメインクロックイネーブル信号ＭＣＫＥＮを一定期間アサートする。
【００４２】
図４は、試験対象回路２０に供給する試験パターンの蓄積及び出力に係る処理動作を示すフローチャートである。図４（Ａ）は、試験対象回路２０に供給する試験パターンの蓄積動作を示しており、図４（Ｂ）は、蓄積した試験パターンを試験対象回路２０に出力する動作を示している。なお、図４の説明においては、コマンドには、選択信号ｐｉｎ−ｓｅｌ、コマンドｐｉｎ−ｃｏｍ、及びカウンタ更新信号ｐｉｎ−ｃｌｏｃｋを含むものとする。
【００４３】
図４（Ａ）に示す試験パターンの蓄積動作では、まず初期化信号ｉｎｉｔによりテスト制御・信号発生回路１０内の各部が初期化される（Ｓ１１）。次に、半導体集積回路の外部ピンを介して入力制御部１０１にコマンドが入力される（Ｓ１２）。次に、入力制御部１０１は、ステップＳ１２において外部から入力されたコマンドを解釈する（Ｓ１３）。
【００４４】
その結果、データ入力のコマンド、すなわち選択信号ｐｉｎ−ｓｅｌ及びコマンドｐｉｎ−ｃｏｍが入力されたと判断した場合には、ステップＳ１４に進む。そして、入力制御部１０１は、選択信号ｐｉｎ−ｓｅｌにより指定される試験対象回路２０の入力ピン（ＦＩＦＯ１０３）に対応する信号発生器１０２に対して、コマンドｐｉｎ−ｃｏｍに応じた指示を出力する。これにより、選択信号ｐｉｎ−ｓｅｌにより指定されるＦＩＦＯ１０３に、コマンドｐｉｎ−ｃｏｍに応じたデータが書き込まれる（Ｓ１４）。そして、ステップＳ１２に戻る。
【００４５】
一方、サイクルを進めるコマンド、すなわちカウンタ更新信号ｐｉｎ−ｃｌｏｃｋが入力されたと判断した場合には、入力制御部１０１は、クロックカウンタ（Ｔ）１０４のカウンタ値を１インクリメントし（Ｓ１５）、ステップＳ１２に戻る。
【００４６】
図４（Ｂ）に示す試験パターンの出力動作では、まず初期化信号ｉｎｉｔによりテスト制御・信号発生回路１０内の各部が初期化される（Ｓ２１）。次に、クロックカウンタ（Ｔ）１０４のカウンタ値とクロックカウンタ（Ｄ）１０５のカウンタ値との差分に基づいて、ＦＩＦＯ１０３に蓄積されているデータ量を取得する（Ｓ２２）。次に、図示しない試験パターン出力制御部は、ステップＳ２２において取得したデータ量に基づいて、ＦＩＦＯ１０３に蓄積されているデータを試験対象回路２０に出力するか否かを判断する。例えば、蓄積されているデータ量が所定の量（所定のサイクル数分）以上である場合には、データを出力すると判断し、蓄積されているデータ量が所定の量（所定のサイクル数分）より少ない場合には、データを出力しないと判断する。
【００４７】
その結果、蓄積されているデータ量が所定の量以上でありデータを試験対象回路２０に出力すると判断した場合には、試験対象回路２０にメインクロックＭＣＫ及び１サイクル分の試験パターンを供給し、クロックカウンタ（Ｄ）のカウンタ値を１インクリメントする。そして、試験対象回路２０へのメインクロックＭＣＫ及び試験パターンの供給とクロックカウンタ（Ｄ）のカウンタ値の更新を、所定の期間（所定のサイクル数分）連続して行い、ステップＳ２２に戻る。
【００４８】
一方、蓄積されているデータ量が所定の量より少なくデータを試験対象回路２０に出力しないと判断した場合には、ステップＳ２２に戻る。
【００４９】
上述のようにして、ＦＩＦＯ１０３に所定の量（所定のサイクル数分）のデータが蓄積されるまでは、試験対象回路２０へのメインクロックＭＣＫ及び試験パターンの供給を停止して、試験パターンに係るデータをＦＩＦＯ１０３に蓄積する。そして、ＦＩＦＯ１０３に所定の量（所定のサイクル数分）のデータが蓄積されたら、試験対象回路２０にメインクロックＭＣＫ及び試験パターンを供給して試験対象回路２０での試験を実行する。なお、ＦＩＦＯ１０３に蓄積されるデータ（試験パターン）によっては、試験対象回路２０等に供給されるメインクロックＭＣＫを停止させることなく動作させることができる場合もある。例えば、データを圧縮してＦＩＦＯ１０３に蓄積する場合には、圧縮効率が非常に高い試験パターンであれば、試験対象回路２０等に供給されるメインクロックＭＣＫを停止させることなく動作させられるケースもある。
【００５０】
本実施形態における半導体集積回路の実動作速度での動作検証方法について、図５を参照して説明する。図５において、ＭＣＫはメインクロックであり、ＳＩＧＡ、ＳＩＧＢは試験対象回路２０の入力ピンＡ、Ｂに入力される信号である。
【００５１】
例えば、図５（Ｃ）に示す試験パターンでの半導体集積回路における実動作速度の動作の検証を行う場合について説明する。試験対象回路２０に対して試験パターンが実動作速度で供給できる範囲で実動作速度での動作検証は可能である。しかし、試験パターンを補充するためにＦＩＦＯ１０３に蓄積する必要がある場合には、メインクロックＭＣＫの供給を停止することにより試験の実行を中断し試験パターンを補充する。このように試験パターンの全体について中断することなく実動作速度での動作検証を行うことができない場合、本実施形態における半導体集積回路では以下のようにして試験を行う。
【００５２】
例えば、図５（Ａ）に示すように、第１の停止タイミングで試験対象回路２０へのメインクロックＭＣＫ及び試験パターン（信号ＳＩＧＡ、ＳＩＧＢ）の供給を停止する（時刻Ｔ１１）。このメインクロックＭＣＫが停止されている期間は、試験パターンの供給も含め試験対象回路２０での動作に係る回路動作は停止するので、試験対象回路２０としては時間が停止している状態と同じ状態となる。そして、試験対象回路２０に供給する試験パターン（信号ＳＩＧＡ、ＳＩＧＢ）が補充され、所定の量（所定のサイクル数分）より多くの試験パターンが蓄積されると、試験対象回路２０へのメインクロックＭＣＫ及び試験パターンの供給を開始する（時刻Ｔ１２）。これにより、図５（Ａ）に示す例では、時刻Ｔ１１〜時刻Ｔ１２の期間は、半導体集積回路は実動作速度で動作していないが、その他の期間は実動作速度で動作していることとなる。
【００５３】
また、図５（Ｂ）に示すように、第１の停止タイミングとは異なる第２の停止タイミングで試験対象回路２０へのメインクロックＭＣＫ及び試験パターン（信号ＳＩＧＡ、ＳＩＧＢ）の供給を停止する。そして、試験対象回路２０に供給する試験パターンが補充され、所定の量より多くの試験パターンが蓄積された後、試験対象回路２０へのメインクロックＭＣＫ及び試験パターンの供給を開始する（時刻Ｔ１３）。これにより、図５（Ｂ）に示す例では、時刻Ｔ１３以前の期間は、半導体集積回路は実動作速度で動作していないが、時刻Ｔ１３以降の期間は実動作速度で動作していることとなる。
【００５４】
このように、同じ試験パターンでの試験を、停止するタイミング（位相）をずらし、かつ一部状態が重なるようにして複数回行う。そして、それぞれの試験で得られた実動作速度で動作している部分の試験結果を合わせる。これにより、試験パターンの全サイクルにわたる半導体集積回路の実動作速度での試験（ＡＣタイミング系に係る不良検出）が実現される。
【００５５】
なお、メインクロックＭＣＫを停止するタイミング（位相）は、例えばクロックカウンタ（Ｄ）のカウンタ値に基づいて制御することで容易にずらすことが可能である。例えば、クロックカウンタ（Ｄ）のカウンタ値の下位ビットが“０００”の場合に停止する第１のパターンと、“１００”の場合に停止する第２のパターンで試験を行うことで、停止するタイミングをずらした試験が可能となる。また、外部ピンを介して外部から停止制御信号等を入力することにより、メインクロックＭＣＫを停止するタイミング（位相）をマニュアル制御するようにしても良い。
【００５６】
図６は、本実施形態に係る半導体集積回路の具体的な動作例を示すタイミングチャートである。図６には、試験対象回路２０に試験パターンが入力されるまでの動作を示している。なお、説明の便宜上、Ｉ／Ｏ系クロックとメインクロックの周期は同じとする。
【００５７】
まず、初期化信号ｉｎｉｔが入力され、各機能部が初期化され、例えばクロックカウンタ（Ｔ）１０４及びクロックカウンタ（Ｄ）１０５のカウンタ値が０にリセットされる。
【００５８】
次に、半導体集積回路の外部ピンを介して、選択信号ｐｉｎ−ｓｅｌ及びコマンドｐｉｎ−ｃｏｍがテスト制御・信号発生回路１０に入力される。ここでは、選択信号ｐｉｎ−ｓｅｌにより試験対象回路２０の入力ピンＡが指定され、コマンドｐｉｎ−ｃｏｍにより“Ｈ”が指定されている。これにより、試験対象回路２０の入力ピンＡに対応するＦＩＦＯ１０３の入力信号ＳＩＧＡがハイレベルとなる。
【００５９】
続いて、選択信号ｐｉｎ−ｓｅｌ及びコマンドｐｉｎ−ｃｏｍがテスト制御・信号発生回路１０に入力されるとともに、カウンタ更新信号ｐｉｎ−ｃｌｏｃｋがテスト制御・信号発生回路１０に入力される。ここでは、選択信号ｐｉｎ−ｓｅｌにより試験対象回路２０の入力ピンＢが指定され、コマンドｐｉｎ−ｃｏｍにより“ＰＰ”が指定されている。これにより、試験対象回路２０の入力ピンＢに対応するＦＩＦＯ１０３の入力信号ＳＩＧＢがハイレベルとなる。また、カウンタ更新信号ｐｉｎ−ｃｌｏｃｋが入力されたことにより、クロックカウンタ（Ｔ）１０４のカウンタ値が１に更新される。
【００６０】
上述した動作により、信号ＳＩＧＡがハイレベル、信号ＳＩＧＢがハイレベルの試験パターンが０サイクル目の試験パターンとしてＦＩＦＯ１０３に格納される。
【００６１】
次に、０サイクル目で試験対象回路２０の入力ピンＢに対して指定されたコマンドｐｉｎ−ｃｏｍが“ＰＰ”であるので、１サイクル目では、試験対象回路２０の入力ピンＢに対応するＦＩＦＯ１０３の入力信号ＳＩＧＢがローレベルとなる。ここで、コマンド入力のない入力ピンについては、前のサイクルの状態を維持するものとする。したがって、１サイクル目では、試験対象回路２０の入力ピンＡに対応するＦＩＦＯ１０３の入力信号ＳＩＧＡはハイレベルを維持する。
【００６２】
そして、カウンタ更新信号ｐｉｎ−ｃｌｏｃｋがテスト制御・信号発生回路１０に入力されることにより、クロックカウンタ（Ｔ）１０４のカウンタ値が２に更新される。したがって、上述した動作により、信号ＳＩＧＡがハイレベル、信号ＳＩＧＢがローレベルの試験パターンが１サイクル目の試験パターンとしてＦＩＦＯ１０３に格納される。
【００６３】
続いて、選択信号ｐｉｎ−ｓｅｌ及びコマンドｐｉｎ−ｃｏｍがテスト制御・信号発生回路１０に入力されるとともに、カウンタ更新信号ｐｉｎ−ｃｌｏｃｋがテスト制御・信号発生回路１０に入力される。ここでは、選択信号ｐｉｎ−ｓｅｌにより試験対象回路２０の入力ピンＢが指定され、コマンドｐｉｎ−ｃｏｍにより“ＰＰ”が指定されているので、試験対象回路２０の入力ピンＢに対応するＦＩＦＯ１０３の入力信号ＳＩＧＢがハイレベルとなる。また、カウンタ更新信号ｐｉｎ−ｃｌｏｃｋが入力されたことにより、クロックカウンタ（Ｔ）１０４のカウンタ値が３に更新される。したがって、信号ＳＩＧＡがハイレベル、信号ＳＩＧＢがハイレベルの試験パターンが２サイクル目の試験パターンとしてＦＩＦＯ１０３に格納される。
【００６４】
同様にして、信号ＳＩＧＡがハイレベル、信号ＳＩＧＢがローレベルの試験パターンが３サイクル目の試験パターンとして、信号ＳＩＧＡがローレベル、信号ＳＩＧＢがハイレベルの試験パターンが４サイクル目の試験パターンとしてＦＩＦＯ１０３に格納される。また、信号ＳＩＧＡがハイレベル、信号ＳＩＧＢがローレベルの試験パターンが５サイクル目の試験パターンとして、信号ＳＩＧＡがローレベル、信号ＳＩＧＢがローレベルの試験パターンが６サイクル目の試験パターンとしてＦＩＦＯ１０３に格納される。
【００６５】
以上のようにして、ＦＩＦＯ１０３に試験パターンが順次蓄積されるとともに、クロックカウンタ（Ｔ）１０４のカウンタ値が増加していく。クロックカウンタ（Ｔ）１０４のカウンタ値とクロックカウンタ（Ｄ）１０５のカウンタ値は、比較部１０６によって比較され、その差分（Ｔ−Ｄ）が停止制御部１０７に供給されている。
【００６６】
停止制御部１０７は、クロックカウンタ（Ｔ）１０４のカウンタ値とクロックカウンタ（Ｄ）１０５のカウンタ値の差分が４以上となると、一定期間メインクロックイネーブル信号ＭＣＫＥＮをアサートする。本実施形態では、４サイクルの期間連続してメインクロックイネーブル信号ＭＣＫＥＮをアサートする。
【００６７】
これにより、試験対象回路２０にメインクロックＭＣＫが供給されるとともに、０〜３サイクル目までの試験パターン（信号ＳＩＧＡ、ＳＩＧＢ）がＦＩＦＯ１０３から試験対象回路２０に順次供給される。
【００６８】
そして、メインクロックイネーブル信号ＭＣＫＥＮをアサートしてから４サイクル経過したとき、すなわち試験対象回路２０へのメインクロックＭＣＫ及び０〜３サイクル目までの試験パターンの供給の完了時に、停止制御部１０７は、カウンタ値の差分を確認する。その結果、本例では、クロックカウンタ（Ｔ）１０４のカウンタ値とクロックカウンタ（Ｄ）１０５のカウンタ値の差分が３であるので、停止制御部１０７は、メインクロックイネーブル信号ＭＣＫＥＮをネゲートする。これにより、試験対象回路２０へのメインクロックＭＣＫ及び試験パターンの供給が停止される。
【００６９】
停止制御部１０７は、クロックカウンタ（Ｔ）１０４のカウンタ値とクロックカウンタ（Ｄ）１０５のカウンタ値の差分が再び４以上となると、４サイクルの期間連続してメインクロックイネーブル信号ＭＣＫＥＮをアサートする。これにより、試験対象回路２０にメインクロックＭＣＫが供給されるとともに、４〜７サイクル目までの試験パターン（信号ＳＩＧＡ、ＳＩＧＢ）がＦＩＦＯ１０３から試験対象回路２０に順次供給される。
【００７０】
以降、同様にして試験パターンの蓄積、及び試験パターンとメインクロックＭＣＫの供給に係る動作を繰り返し行う。
【００７１】
なお、メインクロックイネーブル信号ＭＣＫＥＮをアサートしてから４サイクル経過したとき、カウンタ値の差分が４以上の場合には、引き続き４サイクルの期間、メインクロックイネーブル信号ＭＣＫＥＮがアサートされる。
【００７２】
なお、上述した実施形態では、試験対象回路２０は１つとしているが、試験を行いやすい粒度で試験対象回路２０を複数に分割しても良い。試験対象回路２０を複数に分割した場合には、図７に一例を示すように、テスト制御・信号発生回路１０と試験対象回路との間に試験対象回路選択回路６０を設け、試験対象回路と出力信号制御回路３０との間に試験対象信号選択回路７０を設ければ良い。
【００７３】
図７は、試験対象回路２０を試験対象回路２０Ａ、２０Ｂの２つに分割した場合の本実施形態に係る半導体集積回路の構成例を示す図である。この図７において、図１に示したブロック等と同一の機能を有するブロック等には同一の符号を付し、重複する説明は省略する。なお、図示していないが、試験対象回路２０ＢにもメインクロックＭＣＫは供給される。
【００７４】
試験対象回路選択回路６０は、テスト制御・信号発生回路１０からの入力を試験対象回路２０Ａ、２０Ｂの何れか１つに対して選択的に出力する。また、試験対象信号選択回路７０は、試験対象回路２０Ａ、２０Ｂの何れか１つから選択的に入力される試験対象回路の出力を出力信号制御回路３０に出力する。このように構成することで、試験対象回路を適当な回路規模に分割しての動作検証が可能となる。なお、図７においては、試験対象回路２０を２つに分割した場合を一例として示しているが、３つ以上に分割した場合も同様である。
【００７５】
本実施形態によれば、シリアル入力されるコマンドｐｉｎ−ｃｏｍ及び選択信号ｐｉｎ−ｓｅｌに基づいて、試験対象回路２０にパラレルに供給される試験パターンを生成する。これにより、試験対象回路２０の入力ピンより少ない半導体集積回路の外部ピンを用いて、試験対象回路２０に所望の試験パターンを供給し試験を行うことができる。したがって、半導体集積回路の外部ピンの数に制約されることなく、任意の試験対象回路２０に対して任意の試験パターンを供給することができる。また、一定期間連続してメインクロックＭＣＫと試験パターンを試験対象回路２０に供給するようにして、同じ試験パターンでの試験を、停止するタイミング（位相）をずらし、かつ一部状態が重なるようにして複数回行うことにより、実動作速度での動作検証に係る試験を行うことができる。
【００７６】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００７７】
（付記１）試験対象回路と、
前記試験対象回路を動作させるクロックの供給及び停止を制御するクロック制御部と、
シリアル入力される試験パターンデータに基づいて、前記試験対象回路に対してパラレルに供給する試験パターンを生成する信号発生部と、
前記信号発生部により生成された前記試験パターンを蓄積する蓄積部とを有し、
前記蓄積部に蓄積される前記試験パターンが所定のサイクル数分に達すると、前記クロック制御部が前記クロックを前記試験対象回路に供給するとともに、前記蓄積部が蓄積されている前記試験パターンを前記試験対象回路に順次供給することを特徴とする半導体集積回路。
（付記２）前記クロック及び前記試験パターンの前記試験対象回路への供給により、前記蓄積部に蓄積されている前記試験パターンが所定のサイクル数分より少なくなった場合に、前記試験対象回路への前記クロック及び前記試験パターンの供給を停止することを特徴とする付記１記載の半導体集積回路。
（付記３）前記蓄積部に蓄積されている前記試験パターンの量に応じて、前記クロックの供給及び停止を指示するイネーブル信号を生成して前記クロック制御部に出力する停止制御部を有することを特徴とする付記１又は２記載の半導体集積回路。
（付記４）前記蓄積部に蓄積された前記試験パターンのサイクル数をカウントする第１のカウンタと、
前記蓄積部から前記試験対象回路に供給された前記試験パターンのサイクル数をカウントする第２のカウンタとを有し、
前記第１のカウンタのカウンタ値と前記第２のカウンタのカウンタ値との差分に基づいて、前記蓄積部に蓄積される前記試験パターンが所定のサイクル数分に達したか否か判断することを特徴とする付記１〜３の何れか１項に記載の半導体集積回路。
（付記５）前記試験パターンデータは、前記試験対象回路に入力するデータを指定するコマンドと、前記コマンドにより指定されたデータを入力する前記試験対象回路の入力ピンを指定する選択信号とを含むことを特徴とする付記１〜４の何れか１項に記載の半導体集積回路。
（付記６）供給された前記試験パターンに対する前記試験対象回路の出力を縮退させ、任意のタイミングで外部に出力する出力信号制御部を有することを特徴とする付記１〜５の何れか１項に記載の半導体集積回路。
（付記７）前記出力信号制御部は、
供給された前記試験パターンに対する前記試験対象回路の出力を一方向要約関数で縮退させるデータ要約部と、
前記データ要約部により生成された値を任意のタイミングで読み出し外部に出力する出力制御部とを有することを特徴とする付記６記載の半導体集積回路。
（付記８）前記試験対象回路を複数有し、
前記蓄積部から出力された前記試験パターンを前記試験対象回路の何れか１つに供給する試験対象回路選択部を有することを特徴とする付記１〜７の何れか１項に記載の半導体集積回路。
（付記９）前記試験対象回路選択部により前記試験パターンが供給された前記試験対象回路の出力を選択して出力する試験対象信号選択部と、
前記試験対象信号選択部の出力を縮退させ、任意のタイミングで外部に出力する出力信号制御部を有することを特徴とする付記８記載の半導体集積回路。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施形態に係る半導体集積回路の構成例を示す図である。
【図２】本実施形態に係る半導体集積回路の詳細な構成例を示す図である。
【図３】本実施形態に係る半導体集積回路の詳細な構成例を示す図である。
【図４】試験対象回路に供給する試験パターンの蓄積及び出力に係る処理動作を示すフローチャートである。
【図５】本実施形態における半導体集積回路の実動作速度での動作検証方法を説明するための図である。
【図６】本実施形態に係る半導体集積回路の具体的な動作例を示すタイミングチャートである。
【図７】本発明の実施形態に係る半導体集積回路の他の構成例を示す図である。
【符号の説明】
【００７９】
１０  テスト制御・信号発生回路
１１  試験信号発生回路
２０  試験対象回路
３０  出力信号制御回路
３１  データ要約部
３２  出力制御部
４０  ＰＬＬ回路
５０  クロック制御部
６０  試験対象回路選択回路
７０  試験対象信号選択回路
１０１  入力制御部
１０２  信号発生器
１０３  ＦＩＦＯ
１０４  クロックカウンタ（Ｔ）
１０５  クロックカウンタ（Ｄ）
１０６  比較部
１０７  停止制御部
【図１】
2010054235.tif 000003
【図２】
2010054235.tif 000004
【図３】
2010054235.tif 000005
【図４】
2010054235.tif 000006
【図５】
2010054235.tif 000007
【図６】
2010054235.tif 000008
【図７】
2010054235.tif 000009