【解決手段】 本発明は、記憶装置を含む半導体集積回路であって、第1のクロックに従って、第1のデータ信号を第2のデータ信号として前記記憶装置に出力する第1の出力制御回路と、前記第1のクロックに対して逆相となる第2のクロックを前記記憶装置に出力するインバータ回路と、前記記憶装置から出力される、前記第2のデータ信号に対応する第3のデータ信号を前記第1のクロックに従って、第4のデータ信号として出力する第2の出力制御回路と、を備え、テストモードにおいて、前記記憶装置に前記インバータ回路から出力される前記第2のクロックが入力され、前記記憶装置は、該第2のクロックに従って、前記第3のデータ信号を前記第2の出力制御回路に出力する、半導体集積回路である。
前記テストモードにおいて、前記第2のクロックを前記記憶装置に出力し、非テストモードにおいて、前記第1のクロックを前記記憶装置に出力するように制御される第1の選択回路をさらに備える、
請求項1記載の半導体集積回路。
前記テストモードにおいて、前記記憶装置をイネーブル状態にするための第1のイネーブル信号を前記記憶装置に出力し、非テストモードにおいて、前記第1のイネーブル信号以外の第2のイネーブル信号を前記記憶装置に出力する第2の選択回路をさらに備える、
請求項1又は2記載の半導体集積回路。
前記記憶装置は、前記テストモードにおいて、前記第2のクロックが示す所定のタイミングで、前記第2のデータ信号が示すデータを記憶するとともに、前記記憶したデータに従う前記第3のデータ信号を前記第2の出力制御回路へ出力する、
請求項1記載の半導体集積回路。
前記記憶装置は、前記テストモードにおいて、前記第2のクロックが示す第1のタイミングで、前記第2のデータ信号が示すデータを記憶し、前記第2のクロックが示す第2のタイミングで、前記記憶したデータに従う前記第3のデータ信号を前記第2の出力制御回路へ出力する、
請求項1記載の半導体集積回路。
前記記憶装置は、前記テストモードにおいて、前記第2のクロックが示す所定のタイミングで、前記第2のデータ信号が示すデータを記憶するとともに、前記記憶したデータに従う前記第3のデータ信号を前記第2の出力制御回路へ出力する、
請求項6記載の試験システム。
前記記憶装置は、前記テストモードにおいて、前記第2のクロックが示す第1のタイミングで、前記第2のデータ信号が示すデータを記憶し、前記第2のクロックが示す第2のタイミングで、前記記憶したデータに従う前記第3のデータ信号を前記第2の出力制御回路へ出力する、
請求項6記載の試験システム。
前記半導体試験装置は、前記半導体集積回路に前記記憶装置が存在せず、前記第2のデータ信号は前記第3のデータ信号として前記第2の出力制御回路に出力されるように、前記第4のデータ信号の状態の期待値を決定する、
請求項11記載の試験システム。
前記半導体試験装置は、前記第2のデータ信号が前記第1のクロックが示す所定のタイミングで前記第3のデータ信号として前記第2の出力制御回路に出力されるように、前記第4のデータ信号の状態の期待値を決定する、
請求項11記載の試験システム。
前記第4のデータ信号の状態の期待値を設定することは、前記半導体集積回路に前記記憶装置が存在せず、前記第2のデータ信号は前記第3のデータ信号として前記第2の出力制御回路に出力されるように、前記第4のデータ信号の期待値を決定することを含む、
請求項15記載の試験方法。
前記第4のデータ信号の状態の期待値を設定することは、前記第2のデータ信号は、前記第1のクロックが示す所定のタイミングで、前記第3のデータ信号として、前記第2の出力制御回路に出力されるように、前記第4のデータ信号の期待値を決定することを含む、
請求項15記載の試験方法。
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1に開示されるような従来の半導体集積回路のテストシステムは、半導体集積回路の試験において、RAMに対してアドレス制御、読み出し制御及び書き込み制御などの種々の制御を行う必要があった。従って、斯かる半導体集積回路のテストシステムでは、半導体集積回路に対する制御が複雑となり、該制御の複雑化は、半導体集積回路に対する試験の容易性に悪影響をもたらしていた。
【0010】
また、非特許文献1に開示されるような従来の半導体集積回路は、記憶装置の入力信号線に接続されるバイパス信号線と、記憶装置から出力される出力信号線を選択的に切り替えて出力する選択回路とを備え、試験動作時には記憶装置のバイパス信号線を選択し出力することによって、記憶装置を制御することなく、半導体集積回路に対する試験を行うように構成されていた。しかしながら、斯かる半導体集積回路は、試験動作時にバイパス信号線を選択し出力することから、記憶装置に接続される各種の信号線の故障を検出することができず、それに伴って、半導体集積回路の故障検出率の低下を招いていた。
【0011】
そこで、本発明は、半導体集積回路に対する試験の容易性を確保しつつ、半導体集積回路の故障検出率を上昇させることができる半導体集積回路を提供することを目的とする。
【0012】
また、本発明は、短時間で半導体集積回路の試験を実施することができる半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題を解決するための本発明は、以下の技術的特徴乃至は発明特定事項を含んで構成される。
【0014】
即ち、ある観点に従う本発明は、記憶装置を含む半導体集積回路であって、第1のクロックに従って、第1のデータ信号を第2のデータ信号として前記記憶装置に出力する第1の出力制御回路と、前記第1のクロックに対して逆相となる第2のクロックを前記記憶装置に出力するインバータ回路と、前記記憶装置から出力される、前記第2のデータ信号に対応する第3のデータ信号を前記第1のクロックに従って、第4のデータ信号として出力する第2の出力制御回路と、を備え、テストモードにおいて、前記記憶装置に前記インバータ回路から出力される前記第2のクロックが入力され、前記記憶装置は、該第2のクロックに従って、前記第3のデータ信号を前記第2の出力制御回路に出力する、半導体集積回路である。
【0015】
ここで、前記半導体集積回路は、前記テストモードにおいて、前記第2のクロックを前記記憶装置に出力し、非テストモードにおいて、前記第1のクロックを前記記憶装置に出力するように制御される第1の選択回路をさらに備えても良い。
【0016】
さらに、前記半導体集積回路は、前記テストモードにおいて、前記記憶装置をイネーブル状態にするための第1のイネーブル信号を前記記憶装置に出力し、非テストモードにおいて、前記第1のイネーブル信号以外の第2のイネーブル信号を前記記憶装置に出力する第2の選択回路をさらに備えても良い。
【0017】
また、前記記憶装置は、前記テストモードにおいて、前記第2のクロックが示す所定のタイミングで、前記第2のデータ信号が示すデータを記憶するとともに、前記記憶したデータに従う前記第3のデータ信号を前記第2の出力制御回路へ出力しても良い。
【0018】
また、前記記憶装置は、前記テストモードにおいて、前記第2のクロックが示す第1のタイミングで、前記第2のデータ信号が示すデータを記憶し、前記第2のクロックが示す第2のタイミングで、前記記憶したデータに従う前記第3のデータ信号を前記第2の出力制御回路へ出力しても良い。
【0019】
さらに、別の観点に従う本発明は、記憶装置を含む半導体集積回路を半導体試験装置の制御の下で試験するための試験システムであって、前記半導体集積回路は、第1のクロックに従って、第1のデータ信号を第2のデータ信号として前記記憶装置に出力する第1の出力制御回路と、前記第1のクロックに対して逆相となる第2のクロックを前記記憶装置に出力するインバータ回路と、前記記憶装置から出力される、前記第2のデータ信号に対応する第3のデータ信号を前記第1のクロックに従って、第4のデータ信号として前記半導体試験装置に出力する第2の出力制御回路と、を備え、前記半導体集積回路は、前記半導体試験装置によってオン/オフが制御されるテストモードにおいて、前記記憶装置に前記インバータ回路から出力される前記第2のクロックが入力され、前記記憶装置は、該第2のクロックに従って、前記第3のデータ信号を前記第2の出力制御回路に出力し、前記半導体試験装置は、前記半導体集積回路が出力する前記第4のデータ信号の状態が前記第4のデータ信号の期待値と一致するか否かを判断し、前記第4のデータ信号の状態が前記期待値と一致すると判断する場合に、前記半導体集積回路は正常に動作していると判断し、前記第4のデータ信号の状態が前記期待値と一致しないと判断する場合に、前記半導体集積回路は正常に動作していないと判断する、試験システムである。
【0020】
ここで、前記半導体集積回路は、前記テストモードにおいて、前記第2のクロックを前記記憶装置に出力し、非テストモードにおいて、前記第1のクロックを前記記憶装置に出力するように制御される第1の選択回路をさらに備えても良い。
【0021】
さらに、前記半導体集積回路は、前記テストモードにおいて、前記記憶装置をイネーブル状態にするための第1のイネーブル信号を前記記憶装置に出力し、非テストモードにおいて、前記第1のイネーブル信号以外の第2のイネーブル信号を前記記憶装置に出力する第2の選択回路をさらに備えても良い。
【0022】
また、前記記憶装置は、前記テストモードにおいて、前記第2のクロックが示す所定のタイミングで、前記第2のデータ信号が示すデータを記憶するとともに、前記記憶したデータに従う前記第3のデータ信号を前記第2の出力制御回路へ出力しても良い。
【0023】
また、前記記憶装置は、前記テストモードにおいて、前記第2のクロックが示す第1のタイミングで、前記第2のデータ信号が示すデータを記憶し、前記第2のクロックが示す第2のタイミングで、前記記憶したデータに従う前記第3のデータ信号を前記第2の出力制御回路へ出力しても良い。
【0024】
また、前記期待値は、前記半導体集積回路が正常に動作すると仮定して設定された前記第4のデータ信号の状態を示す値であっても良い。
【0025】
さらに、前記半導体試験装置は、前記半導体集積回路に前記記憶装置が存在せず、前記第2のデータ信号は前記第3のデータ信号として前記第2の出力制御回路に出力されるように、前記第4のデータ信号の状態の期待値を決定しても良い。
【0026】
また、前記半導体試験装置は、前記第2のデータ信号が前記第1のクロックが示す所定のタイミングで前記第3のデータ信号として前記第2の出力制御回路に出力されるように、前記第4のデータ信号の状態の期待値を決定しても良い。
【0027】
さらに、別の観点に従う本発明は、記憶装置を備える半導体集積回路を半導体試験装置の制御の下で試験するための試験方法であって、第1のクロックに従って、第1のデータ信号を第2のデータ信号として前記記憶装置に出力することと、前記第1のクロックに対して逆相となる第2のクロックを前記記憶装置に出力することと、前記記憶装置をイネーブル状態に設定することと、前記記憶装置から出力される、前記第2のデータ信号に対応する第3のデータ信号を前記第1のクロックに従って、第4のデータ信号として出力することと、前記第4のデータ信号の状態を評価することと、を含み、前記第4のデータ信号として出力することは、前記第4のデータ信号の期待値を設定することを含み、前記第4のデータ信号の状態を評価することは、前記第4のデータ信号の状態が前記期待値と一致するか否かを判断することと、前記第4のデータ信号の状態が前記期待値と一致すると判断する場合に、前記半導体集積回路は正常に動作していると判断し、前記第4のデータ信号の状態が前記期待値と一致しないと判断する場合に、前記半導体集積回路は正常に動作していないと判断することと、を含む、試験方法である。
【0028】
ここで、前記期待値は、前記半導体集積回路が正常に動作すると仮定して設定された前記第4のデータ信号の状態を示す値であっても良い。
【0029】
さらに、前記第4のデータ信号の状態の期待値を設定することは、前記半導体集積回路に前記記憶装置が存在せず、前記第2のデータ信号は前記第3のデータ信号として前記第2の出力制御回路に出力されるように、前記第4のデータ信号の期待値を決定することを含んでも良い。
【0030】
また、前記第4のデータ信号の状態の期待値を設定することは、前記第2のデータ信号は、前記第1のクロックが示す所定のタイミングで、前記第3のデータ信号として、前記第2の出力制御回路に出力されるように、前記第4のデータ信号の期待値を決定することを含んでも良い。
【発明の効果】
【0031】
本発明によれば、半導体集積回路は、半導体集積回路の試験において、試験の容易性を確保しつつ、故障検出率を上昇させることができるようになる。
【0032】
また本発明によれば、半導体集積回路は、半導体集積回路の試験において、短時間で試験を実施することができるようになる。
【0033】
本発明の他の技術的特徴、目的、及び作用効果乃至は利点は、添付した図面を参照して説明される以下の実施形態により明らかにされる。
【発明を実施するための形態】
【0035】
次に、本発明の実施の形態について、図面を参照しつつ説明する。
【0036】
図1は、本発明の一実施形態に係る半導体集積回路の概略構成の一例を示す図である。同図に示すように、本実施形態に係る半導体集積回路1は、例えば、ドライバやIC(Integrated Circuit)、マイクロコントローラであり、典型的には、出力制御回路FF1と、論理否定回路26と、記憶装置28と、出力制御回路FF4とを含んで構成される。
【0037】
出力制御回路FF1は、例えば、D型フリップフロップである。出力制御回路FF1は、クロック端子CKに入力される半導体集積回路1の駆動クロックであるクロックCLKに基づいて、半導体集積回路1の他のコンポーネント(図示せず)からデータ端子Dに入力されるデータ信号DATA1をデータ入力信号IDATAとして出力端子Qから記憶装置28のデータ入力端子DINに出力する。
【0038】
論理否定回路26は、例えば、インバータ回路である。論理否定回路26は、クロックCLKに対して論理否定を行い、反転クロックCLK_INVとして該クロックを記憶装置28のクロック端子CKに出力する。
【0039】
記憶装置28は、例えば、書き込み動作及び読み出し動作を1回のクロックのタイミングで実行することができる揮発性メモリ(例えばSRAM等)や書き換え可能な不揮発性メモリ(例えばフラッシュメモリ等)である。記憶装置28は、1回のクロックのタイミングで、半導体集積回路1の各種の処理で必要となるデータを記憶(即ち書き込み動作)するとともに、該記憶したデータをそのまま出力(即ち読み出し動作)する。
【0040】
具体的には、記憶装置28は、クロック端子CKに入力されるクロックCLK_INVに基づいて、データ入力端子DINに入力されるデータ入力信号IDATAが示す対象データを半導体集積回路1の他のコンポーネント(図示せず)からアドレス端子ADに入力されるアドレス信号ADDが示すターゲット領域に記憶(即ち、書き込み)するとともに、該記憶した対象データをデータ出力信号ODATAとして、データ出力端子DOUTから出力制御回路FF4のデータ端子Dに出力(即ち、読み出し)する。また、記憶装置28は、半導体集積回路1の他のコンポーネント(図示せず)から制御端子CTに入力される制御信号CNT3に基づいて、特殊な処理(例えば、ビット線単位での書き込み動作/読み出し動作など)のオン/オフを切り替える。また、記憶装置28はリードライトイネーブル端子RWEを有し、該リードライトイネーブル端子RWEに入力される信号に基づいて、書き込み動作及び読み出し動作の制御、又は読み出し動作の制御のいずれかを選択する。本例においては、リードライトイネーブル端子RWEには、接地信号GNDが入力されるため、記憶装置28の状態は、書き込み動作及び読み出し動作が可能な状態(即ち、書き込み動作がイネーブルであり、かつ、書き込まれた対象データがデータ出力端子DOUTに出力される状態)となる。
【0041】
出力制御回路FF4は、例えば、D型フリップフロップである。出力制御回路FF4は、クロック端子CKで受けるクロックCLKに基づいて、記憶装置28のデータ出力端子DOUTからデータ端子Dに入力されるデータ出力信号ODATAをテスト出力信号OTESTとして出力端子Qから出力する。
【0042】
以上のように構成される半導体集積回路1は、テストモードにおいて、出力制御回路FF1及びFF4を駆動するクロックCLKと逆相のクロックであるクロックCLK_INVが記憶装置28のクロック端子CKに入力されることによって、出力制御回路FF1から出力されるデータ入力信号IDATAが示す対象データをクロックCLKの1クロックのタイミングで、データ出力信号ODATAとして出力制御回路FF4のデータ端子Dに入力することができる。これにより、半導体集積回路1は、その試験の制御内容(即ち、テストアルゴリズム)を決定するにあたって、記憶装置28がテスト出力信号OTESTの状態及び出力タイミングにもたらす影響を考慮する必要がない状態となるため、試験の容易性を確保することができる。また、半導体集積回路1は、データ信号DATA1の状態が記憶装置28を介して出力制御回路FF4に伝搬するため、記憶装置28のデータ出力端子DOUTに接続される信号線の故障を検出することができ、故障検出率を上昇させることができるようになる。
【0043】
図2は、本発明の一実施形態に係る半導体試験方法を実現する試験システムを示す図である。同図に示すように、本実施形態に係る半導体試験方法は、例えば、被試験対象である半導体集積回路2と、これを試験するための半導体試験装置3とを含む試験システムにより実現される。
【0044】
半導体集積回路2は、上述した実施形態に係る半導体集積回路1に対する他の構成例である。半導体集積回路2は、半導体集積回路1の構成に加えて、例えば、駆動回路21と、出力制御回路FF1乃至FF4と、論理回路22、23、24及び29と、選択回路25及び27と、論理否定回路26と、記憶装置28とを含んで構成される。半導体集積回路2は、半導体試験装置3に接続され、半導体試験装置3の制御の下でその試験が行われる。半導体集積回路2は、その一機能として、各コンポーネントの状態を所望の状態に設定するとともに、該設定に対応したテスト出力信号OTESTを生成し、該信号を半導体試験装置3に出力する。
【0045】
駆動回路21は、半導体集積回路2における各種の制御信号を生成及び出力し、半導体集積回路2における各コンポーネントを制御するとともに、半導体試験装置3から出力されるテスト制御信号TEST_CNTに基づいて、半導体集積回路2のテストモードのオン/オフを切り替える。具体的には、駆動回路21は、データ信号DATA1を生成し、該信号を出力制御回路FF1のデータ端子Dに出力する。また、駆動回路21は、クロックCLKを生成し、該信号を出力制御回路FF1乃至FF4のクロック端子CKと、論理否定回路26とに出力する。また、駆動回路21は、制御信号CNT1及びリードライトイネーブル信号RWE1を生成し、該2つの信号をそれぞれ出力制御回路FF2及びFF3のデータ端子Dに出力する。また、駆動回路21は、テスト信号TESTを生成し、該信号を選択回路25及び27の選択端子SLに出力する。また、駆動回路21は、半導体試験装置3から出力されるテスト制御信号TEST_CNTに基づいて、半導体集積回路2の試験を行うか否かを判断する。駆動回路21は、半導体集積回路2の試験を行うと判断する場合、テスト信号TESTの状態を“1”とする。一方、駆動回路21は、半導体集積回路2に対する試験を行わないと判断する場合、テスト信号TESTの状態を“0”とする。
【0046】
出力制御回路FF1は、例えば、D型フリップフロップである。出力制御回路FF1は、駆動回路21からクロック端子CKに出力されるクロックCLKに基づいて、駆動回路21からデータ端子Dに出力されるデータ信号DATA1をデータ信号DATA2として、出力端子Qから論理回路22に出力する。
【0047】
論理回路22は、例えば、半導体素子や抵抗、容量素子などから構成される組み合わせ回路である。論理回路22は、出力制御回路FF1から受けるデータ信号DATA2に対して所定の論理演算を行い、データ入力信号IDATAとして該信号を記憶装置28のデータ入力端子DINに出力する。
【0048】
出力制御回路FF2は、例えば、D型フリップフロップである。出力制御回路FF2は、駆動回路21からクロック端子CKに出力されるクロックCLKに基づいて、駆動回路21からデータ端子Dに出力される制御信号CNT1を制御信号CNT2として、出力端子Qから論理回路23に出力する。
【0049】
論理回路23は、例えば、半導体素子や抵抗、容量素子などから構成される組み合わせ回路である。論理回路23は、出力制御回路FF2から受ける制御信号CNT2に対して所定の論理演算を行い、制御信号CNT3及びアドレス信号ADDをそれぞれ生成し、制御信号CNT3を記憶装置28の制御端子CTに、アドレス信号ADDを記憶装置28のアドレス端子ADにそれぞれ出力する。
【0050】
出力制御回路FF3は、例えば、D型フリップフロップである。出力制御回路FF3は、駆動回路21からクロック端子CKに出力されるクロックCLKに基づいて、駆動回路21からデータ端子Dに出力されるリードライトイネーブル信号RWE1をリードライトイネーブル信号RWE2として、出力端子Qから論理回路24に出力する。
【0051】
論理回路24は、例えば、半導体素子や抵抗、容量素子などから構成される組み合わせ回路である。論理回路24は、出力制御回路FF3から受けるリードライトイネーブル信号RWE2に対して所定の論理演算を行い、リードライトイネーブル信号RWE3として該信号を選択回路25の入力端子A0に出力する。
【0052】
選択回路25は、例えば、マルチプレクサである。選択回路25は、駆動回路21から選択端子SLに出力されるテスト信号TESTに基づいて、論理回路24から入力端子A0に出力されるリードライトイネーブル信号RWE3と、入力端子A1に出力される接地信号GNDとのうち一方を選択し、該選択した信号をリードライトイネーブル信号RWE4として、出力端子Yから記憶装置28のリードライトイネーブル端子RWEに出力する。より具体的には、選択回路25は、選択端子SLに入力されるテスト信号TESTの状態を判断する。選択回路25は、テスト信号TESTの状態が例えば“0”であると判断する場合、論理回路24から入力端子A0に入力されるリードライトイネーブル信号RWE3を選択し、該選択した信号をリードライトイネーブル信号RWE4として、出力端子Yから記憶装置28のリードライトイネーブル端子RWEに出力する。一方、選択回路25は、テスト信号TESTの状態が例えば“1”であると判断する場合、入力端子A1に入力される接地信号GNDを選択し、該選択した信号をリードライトイネーブル信号RWE4として出力端子Yから記憶装置28のリードライトイネーブル端子RWEに出力する。選択回路25が接地信号GNDを選択することによって、記憶装置28は、テストモードにおいて、書き込み動作がイネーブルであり、かつ記憶された対象データがデータ出力端子DOUTに出力される状態に維持される。
【0053】
論理否定回路26は、例えば、インバータ回路である。論理否定回路26は、駆動回路21から出力されるクロックCLKに対して論理否定を行い、反転クロックCLK_INVとして選択回路27の入力端子A1に出力する。
【0054】
選択回路27は、例えば、マルチプレクサである。選択回路27は、選択端子SLに入力されるテスト信号TESTに基づいて、入力端子A0に入力されるクロックCLKと、論理否定回路26から入力される入力端子A1に入力される反転クロックCLK_INVとのうち一方を選択し、該選択したクロックをクロックCLK2として、出力端子Yから記憶装置28のクロック端子CKに出力する。より具体的には、選択回路27は、選択端子SLに入力されるテスト信号TESTの状態を判断する。選択回路27は、テスト信号TESTの状態が例えば“0”であると判断する場合、入力端子A0に入力されるクロックCLKを選択し、該選択したクロックをクロックCLK2として、出力端子Yから記憶装置28のクロック端子CKに出力する。一方、選択回路27は、テスト信号TESTの状態が例えば“1”であると判断する場合、論理否定回路26から入力端子A1に入力される反転クロックCLK_INVを選択し、該選択したクロックをクロックCLK2として、出力端子Yから記憶装置28のクロック端子CKに出力する。選択回路27が反転クロックCLK_INVを選択することによって、半導体集積回路2は、テストモードにおいて、論理回路22から出力されるデータ入力信号IDATAが示す対象データをクロックCLKの1クロックのタイミングで、データ出力信号ODATAとして出力制御回路FF4に出力するようになる。
【0055】
記憶装置28は、
図1に示したものと同じである。記憶装置28は、例えば、書き込み動作及び読み出し動作を1回のクロックのタイミングで実行することができる揮発性メモリ(例えばSRAM等)や書き換え可能な不揮発性メモリ(例えばフラッシュメモリ等)であり、半導体集積回路2の各種の処理で必要となるデータを記憶するとともに、該記憶したデータを出力する。本例において、記憶装置28は、選択回路27からクロック端子CKに出力されるクロックCLK2の例えば、立ち上がりのタイミングで、選択回路25からリードライトイネーブル端子RWEに出力されるリードライトイネーブル信号RWE4の状態に基づいて、書き込み動作がイネーブルであり、かつ記憶した対象データがデータ出力端子DOUTに出力される状態のオン/オフを切り替える。
【0056】
出力制御回路FF4は、例えば、D型フリップフロップである。出力制御回路FF4は、駆動回路21からクロック端子CKに出力されるクロックCLKに基づいて、記憶装置28のデータ出力端子DOUTからデータ端子Dに出力されるデータ出力信号ODATAをデータ信号DATA3として出力端子Qから論理回路29に出力する。
【0057】
論理回路29は、例えば、半導体素子や抵抗、容量素子、誘導素子などから構成される組み合わせ回路である。論理回路29は、出力制御回路FF4から受けるデータ信号DATA3に対して所定の論理演算を行い、テスト出力信号OTESTとして該信号を半導体試験装置3に出力する。
【0058】
半導体試験装置3は、例えば、制御装置31と、コンパレータ32と、記憶装置33とを含んで構成される。半導体試験装置3は、半導体集積回路2に対する試験動作の制御を行う。また、半導体試験装置3は、制御装置31の制御の下、半導体集積回路2からテスト出力信号OTESTを受け、該信号に基づいて半導体集積回路2が正常に動作しているか否かを判断する。
【0059】
制御装置31は、半導体集積回路2に対する制御内容(即ち、テストアルゴリズム)を決定し、該制御内容を示すテスト制御信号TEST_CNTを生成し、該テスト制御信号TEST_CNTを半導体集積回路2に出力することによって、半導体集積回路2の試験動作の制御を行う。また、制御装置31は、テスト出力信号OTESTの状態の期待値を決定し、該期待値を示す期待値信号VALUEを生成し該信号をコンパレータ32に出力するとともに、コンパレータ32から出力されるテスト結果信号RTESTを受け、該テスト結果信号RTESTに基づいて半導体集積回路2が正常に動作しているか否かを判断する。
【0060】
ここで、期待値は、半導体試験装置3が半導体集積回路2に対して試験動作の制御を行う場合に、半導体集積回路2が正常に動作すると仮定して、半導体集積回路2が半導体試験装置3に出力すると予想されるテスト出力信号OTESTの状態を示す値である。期待値は、典型的には、半導体試験装置3が半導体集積回路2に対して行う試験動作の制御内容と、半導体集積回路2の回路構成とによって定められる。
【0061】
コンパレータ32は、半導体集積回路2から出力されるテスト出力信号OTESTと、制御回路31から出力される期待値信号VALUEとを受け、該2つの信号の状態が一致しているか否かを判断する。コンパレータ32は、該2つの信号の状態が一致していると判断する場合、テスト出力信号OTESTの状態は所望の状態にある(即ち“PASS”)と判断する。一方、コンパレータ32は、該2つの信号の状態が一致していないと判断する場合、テスト出力信号OTESTの状態は所望の状態にない(即ち“FAIL”)と判断する。コンパレータ32は、上述した判断を行った後に、該判断結果に基づいてテスト結果信号RTESTを生成し、該信号を制御装置31に出力する。
【0062】
記憶装置33は、例えば、ストレージデバイス(例えばHDD:Hard disk drive等)や揮発性メモリ(例えばSRAM等)、書き換え可能な不揮発性メモリ(例えばフラッシュメモリ等)である。記憶装置33は、半導体集積回路2に対する試験動作に関する制御内容と、テスト出力信号OTESTの状態の期待値とをプログラムとして記憶するとともに、該記憶した制御内容及び期待値を制御回路31に出力する。斯かる制御内容及び期待値は、典型的には、外部の別の装置(例えば、汎用コンピュータなど)によって生成され、記憶装置33に記憶される。
【0063】
なお、制御装置31は、典型的には、記憶装置33に記憶される試験プログラムに従って本実施形態の半導体試験方法を実行するように構成されるが、これに限られるものではなく、例えば、制御装置31は、プログラムによって実現される処理内容をハードウェア/ファームウェアによって構成するものであっても良い。
【0064】
半導体試験方法を実行する試験システムは、半導体試験装置3の制御に基づいて、半導体集積回路2のテストモードのオン/オフを切り替える。さらに、該試験システムは、テストモードにおいて、記憶装置28のクロック端子CKに、出力制御回路FF1及びFF4を駆動するクロックCLKと逆相のクロックを入力することによって、出力制御回路FF1から論理回路22を介して出力されるデータ入力信号IDATAが示す対象データをクロックCLKの1クロックのタイミングで、データ出力信号ODATAとして出力制御回路FF4のデータ端子Dに入力する。
【0065】
次に、半導体集積回路2における駆動回路21が出力するデータ信号DATA1の状態の伝搬を
図2及び
図3を参照しつつ説明する。
図3は、本発明の一実施形態に係る半導体試験方法を実現する試験システムにおける各種の信号のタイミングチャートである。
【0066】
同図において、駆動回路21は、半導体試験装置3から出力されるテスト制御信号TEST_CNTに基づいて、データ信号DATA1の状態をα(0)として、出力制御回路FF1のデータ端子Dに出力すると仮定する。また、駆動回路21は、該テスト制御信号TEST_CNTに基づいて、テスト信号TESTの状態を“1”として選択回路25及び27に出力し続けると仮定する。なお、記憶装置28は、制御信号CNT3及びアドレス信号ADDを受けるが、本例において記憶装置28はデータの記憶及び出力さえできれば良いため、該2つの信号の状態はドントケアであって良い。
【0067】
時刻t0で、出力制御回路FF1はクロックCLKの立ち上がりエッジを検知し、駆動回路21から出力されるデータ信号DATA1をデータ信号DATA2として、論理回路22に出力する。データ信号DATA2の状態は、データ信号DATA1の状態と同じであるため、α(0)となる。次に、論理回路22は、出力制御回路FF1から出力されるデータ信号DATA2に基づいて、論理演算を行う。論理回路22は、時刻t1で、該論理演算を終え、該論理演算の結果をデータ入力信号IDATAとして、記憶装置28のデータ入力端子DINに出力する。データ入力信号IDATAの状態は、該論理演算によって、α(1)となる。
【0068】
時刻t2で、記憶装置28のリードライトイネーブル端子RWEに入力されるリードライトイネーブル信号RWE4の状態は、テスト信号TESTの状態の“1”に基づいて“0”を維持するため、記憶装置28は、書き込み動作がイネーブルであり、かつ、記憶した対象データがデータ出力端子DOUTに出力される状態を維持している。また、記憶装置28のクロック端子CKに入力されるクロックCLK2は、反転クロックCLK_INVの状態と同じ状態を維持している。従って、時刻t2で、記憶装置28は、クロックCLKの立ち下りエッジ(即ち、クロックCLK2の立ち上がりエッジ)を検知し、論理回路22から出力されるデータ入力信号IDATAが示す状態α(1)を記憶するとともに、該状態α(1)を示すデータ出力信号ODATAを生成し、該信号を出力制御回路FF4に出力する。
【0069】
時刻t3で、出力制御回路FF4はクロックCLKの立ち上がりエッジを検知し、記憶装置28のデータ出力端子DOUTから出力されるデータ出力信号ODATAをデータ信号DATA3として、論理回路29に出力する。データ信号DATA3の状態は、データ出力信号ODATAと同じであるため、α(1)となる。次に、論理回路29は、出力制御回路FF4から出力されるデータ信号DATA3に基づいて、論理演算を行う。論理回路29は、時刻t4で、該論理演算を終え、該論理演算の結果をテスト出力信号OTESTとして、該信号を半導体試験装置3に出力する。テスト出力信号OTESTの状態は、該論理演算によって、α(2)となる。
【0070】
時刻t4以降において、半導体試験装置3はテスト出力信号OTESTの状態α(2)が、該信号の状態の期待値と一致するか否かを判断する。半導体試験装置3は、該状態と該期待値とが一致すると判断する場合、半導体集積回路2は正常に動作していると判断し試験を終了する。一方、半導体試験装置3は、該状態と該期待値とが一致しないと判断する場合、半導体集積回路2は正常に動作していないと判断し試験を終了する。
【0071】
同図に示すように、出力制御回路FF1がデータ信号DATA2を出力して(時刻t0)から、出力制御回路FF4がデータ信号DATA3を出力する(時刻t3)までの期間は、クロックCLKの1周期となる。従って、本実施形態に係る半導体試験方法において、半導体試験装置3は、テスト出力信号OTESTの状態の期待値を決定するにあたって、記憶装置28がテスト出力信号OTESTの状態及び出力タイミングにもたらす影響を考慮することなく、該期待値を決定することができる。具体的には、半導体設計装置3は、半導体集積回路2には記憶装置28が存在せず、論理回路22が出力するデータ入力信号IDATAは出力制御回路FF4のデータ入力端子Dに出力されるものと仮定して、テスト出力信号OTESTの状態の期待値を決定することができる。
【0072】
次に、半導体集積回路2に対する試験を
図2及び
図4を参照しつつ説明する。
図4は、本発明の一実施形態に係る半導体試験方法において、半導体試験装置の動作を概略的に説明するためのフローチャートである。同図を参照して、まず、半導体試験装置3は、記憶装置28のクロック端子CKに、半導体集積回路2におけるクロックCLKに対して逆相となるクロックが入力されるように設定する。具体的には、半導体試験装置3は、テスト制御信号TEST_CNTを駆動回路21に出力することによって、駆動回路21にテスト信号TESTの状態を“H”に設定させ、駆動回路21に選択回路27がクロックCLKと反転クロックCLK_INVとのうち、反転クロックCLK_INVを選択し、該クロックを記憶装置28のクロック端子CKに出力するように制御させる(S401)。
【0073】
次に、半導体試験装置3は、記憶装置28を書き込み動作がイネーブルであり、かつ記憶した対象データがデータ出力端子DOUTに出力される状態に設定する。具体的には、半導体試験装置3は、テスト制御信号TEST_CNTを駆動回路21に出力することによって、駆動回路21にテスト信号TESTの状態を“H”に設定させ、駆動回路21に選択回路25がリードライトイネーブル信号RWE3と接地信号GNDとのうち、接地信号GNDを選択し、該信号を記憶装置28のリードライトイネーブル端子RWEに出力するように、選択回路25を制御させる(S402)。
【0074】
半導体試験装置3は、半導体集積回路2には記憶装置28が存在せず、論理回路22が出力するデータ入力信号IDATAが出力制御回路FF4のデータ入力端子Dに出力されるものとして、テスト出力信号OTESTの状態の期待値を決定する(S403)。半導体試験装置3は、テスト制御信号TEST_CNTを介して、半導体集積回路2が試験動作を行うように、半導体集積回路2の各種の制御信号の状態を制御する(S404)。
【0075】
半導体試験装置3は、テスト出力信号OTESTの状態が、ステップS403の処理において設定したテスト出力信号OTESTの状態の期待値と一致するか否かを判断する(S405)。半導体試験装置3は、テスト出力信号OTESTの状態が、該期待値と一致すると判断する場合(S405のYes)、半導体集積回路2は正常に動作していると判断し(S406)、半導体集積回路2に対する試験を終了する。一方、半導体試験装置3は、テスト出力信号OTESTの状態が、該期待値と一致しないと判断する場合(S405のNo)、半導体集積回路2は正常に動作していないと判断し(S407)、半導体集積回路2に対する試験を終了する。
【0076】
上述したように、本実施形態に係る半導体試験方法を実行する試験システムは、記憶装置28のクロック端子CKに出力制御回路FF1及びFF4を駆動するクロックCLKと逆相のクロックを入力することによって、半導体集積回路2の試験において、記憶装置28がテスト出力信号OTESTの状態及び出力タイミングにもたらす影響を考慮することなく、テスト出力信号OTESTの状態の期待値を決定することができる。また、本実施形態に係る試験システムは、駆動回路21が出力するデータ信号DATA1の状態が記憶装置28を介して半導体試験装置3に伝搬するため、記憶装置28に接続される信号線W_ODATAの故障を検出することができる。
【0077】
従って、本実施形態に係る半導体集積回路2及び半導体試験装置3を含む試験システムは、半導体集積回路2に対する試験において、試験の容易性を確保しつつ、故障検出率を上昇させることができるようになる。また、斯かる試験システムは、半導体集積回路2の試験において、短時間で半導体集積回路2の試験を実施することができるようになる。
【0078】
なお、本実施形態において、記憶装置28は、書き込み動作及び読み出し動作を1回のクロックのタイミングで実行することができる揮発性メモリ(例えばSRAM等)や書き換え可能な不揮発性メモリ(例えばフラッシュメモリ等)であるが、これに限られるものではなく、記憶装置28は書き込み動作及び読み出し動作の制御をそれぞれ別々に行い、さらに該書き込み動作及び読み出し動作を実行するために、それぞれ一回以上のクロックを必要とする揮発性メモリや書き換え可能な不揮発性メモリであっても良い。
【0079】
次に、本発明の一実施形態に係る半導体集積回路2及び半導体試験装置3を含む試験システムを斯かる記憶装置28に適用した半導体集積回路2Aの動作について説明する。
【0080】
図7は、本発明の一実施形態に係る半導体試験方法を実現する試験システムを示す図である。同図に示すように、本実施形態に係る半導体集積回路2Aは、半導体集積回路2から選択回路25を除去することによって構成される。
【0081】
同図に示すように、論理回路24は、出力制御回路FF3から受けるリードライトイネーブル信号RWE2に対して所定の論理演算を行い、リードライトイネーブル信号RWE4として該信号を記憶装置28のリードライトイネーブル端子RWEに出力する。
【0082】
また、本例においては、記憶装置28は、リードライトイネーブル端子RWEに入力されるリードライトイネーブル信号RWE4に基づいて、書き込み動作及び読み出し動作の制御のうちいずれか一方を選択するものと仮定する。また、本例においては、説明の簡単のため、記憶装置28は、書き込み動作及び読み出し動作の制御の実行に、それぞれ1回のクロックを必要とするものと仮定する。
【0083】
具体的には、記憶装置28の図示しないコントローラは、選択回路27からクロック端子CKに出力されるクロックCLK2に基づいて、論理回路24からリードライトイネーブル端子RWEに出力されるリードライトイネーブル信号RWE4の状態を判断する。コントローラは、リードライトイネーブル信号RWE4の状態が、例えば、“0”であると判断する場合、データ入力端子DINに入力されるデータ入力信号IDATAが示す対象データをアドレス端子ADに入力されるアドレス信号ADDが示すターゲット領域に記憶(即ち、書き込み)する。記憶装置28は、リードライトイネーブル信号RWE4の状態が、例えば、“1”であると判断する場合、記憶した対象データをデータ出力信号ODATAとして、データ出力端子DOUTから出力制御回路FF4のデータ端子Dに出力(即ち、読み出し)する。
【0084】
図5は、本発明の一実施形態に係る半導体試験方法における半導体集積回路の各種の信号のタイミングチャートである。同図において、半導体集積回路2Aにおける駆動回路21は、半導体試験装置3から出力されるテスト制御信号TEST_CNTに基づいて、データ信号DATA1の状態をα(0)として、出力制御回路FF1のデータ端子Dに出力すると仮定する。また、駆動回路21は、該テスト制御信号TEST_CNTに基づいて、テスト信号TESTの状態を“1”として選択回路27に出力し続けると仮定する。なお、記憶装置28は、制御信号CNT3及びアドレス信号ADDを受けるが、本例において記憶装置28はデータの記憶及び出力さえできれば良いため、制御信号CNT3及びアドレス信号ADDの状態はドントケアであって良い。
【0085】
時刻t0で、論理回路24は、リードライトイネーブル信号RWE4の状態を“0”として、該信号を記憶装置28のリードライトイネーブル端子RWEに出力する。記憶装置28は、リードライトイネーブル端子RWEに入力されるリードライトイネーブル信号RWE4の状態“0”に基づいて、書き込み動作及び読み出し動作の制御うち、書き込み動作の制御を選択する。また、時刻t0で、出力制御回路FF1は、クロックCLKの立ち上がりエッジを検知し、駆動回路21から出力されるデータ信号DATA1をデータ信号DATA2として、該信号を論理回路22に出力する。データ信号DATA2の状態は、データ信号DATA1の状態と同じであるため、α(0)となる。次に、論理回路22は、出力制御回路FF1から出力されるデータ信号DATA2に基づいて、論理演算を行う。論理回路22は、時刻t1で、該論理演算を終え、該論理演算の結果をデータ入力信号IDATAとして、該信号を記憶装置28のデータ入力端子DINに出力する。データ入力信号IDATAの状態は、該論理演算によって、α(1)となる。
【0086】
時刻t2(0)で、論理回路24は、リードライトイネーブル信号RWE4の状態を“0”に維持している。さらに、記憶装置28のクロック端子CKに入力されるクロックCLK2は、反転クロックCLK_INVの状態と同じ状態を維持している。従って、時刻t2(0)で、記憶装置28は、クロックCLKの立ち下りエッジ(即ち、クロックCLK2の立ち上がりエッジ)を検知し、論理回路22から出力されるデータ入力信号IDATAが示す状態α(1)を記憶する。
【0087】
時刻t2(1)で、論理回路24は、リードライトイネーブル信号RWE4の状態を“1”として、該信号を記憶装置28のリードライトイネーブル端子RWEに出力する。記憶装置28は、リードライトイネーブル端子RWEに入力されるリードライトイネーブル信号RWE4の状態“1”に基づいて、書き込み動作及び読み出し動作の制御のうち、読み出し動作の制御を選択する。
【0088】
時刻t2(2)で、論理回路24は、リードライトイネーブル信号RWE4の状態を“1”に維持している。さらに、記憶装置28のクロック端子CKに入力されるクロックCLK2は、反転クロックCLK_INVの状態と同じ状態を維持している。従って、時刻t2(2)で、記憶装置28は、クロックCLKの立ち下りエッジ(即ち、クロックCLK2の立ち上がりエッジ)を検知し、時刻t2(0)で記憶した状態α(1)をデータ出力信号ODATAとして、該信号を出力制御回路FF4のデータ端子Dに出力する。
【0089】
時刻t3以降における半導体集積回路2A及び半導体試験装置3の動作については、
図3に示したものと同じであるため、その説明を省略する。なお、時刻t0以前及び時刻t3以降において、リードライトイネーブル信号RWE4の状態はドントケアであって良い。
【0090】
図5に示すように、出力制御回路FF1がデータ信号DATA2を出力して(時刻t0)から出力制御回路FF4がデータ信号DATA3を出力する(時刻t3)までの期間は、クロックCLKの2周期となる。従って、半導体試験装置3は、記憶装置28がテスト出力信号OTESTの状態及び出力タイミングにもたらす影響に対して少ない考慮で、半導体集積回路2Aに対する試験を行うことができる。具体的には、半導体試験装置3は、半導体集積回路2Aの試験動作の制御において、記憶装置28に対するアドレス制御を行うことなく、半導体集積回路2Aに対する試験を行うことができる。また、半導体試験装置3は、論理回路22が出力するデータ入力信号IDATAの状態α(1)が、クロックCLKの1クロックのタイミングで、出力制御回路FF4に伝搬するものと仮定して、テスト出力信号OTESTの期待値を決定することができる。
【0091】
次に、半導体集積回路2Aに対する試験の動作を
図6及び
図7を参照しつつ説明する。
図6は、本発明の一変形例に係る半導体試験方法において、半導体試験装置の動作を概略的に説明するためのフローチャートである。
【0092】
同図を参照して、まず、半導体試験装置3は、記憶装置28のクロック端子CKに、半導体集積回路2AにおけるクロックCLKに対して逆相となるクロックが入力されるように設定する。具体的には、半導体試験装置3は、テスト制御信号TEST_CNTを駆動回路21に出力することによって、駆動回路21にテスト信号TESTの状態を“H”に設定させ、駆動回路21に選択回路27がクロックCLKと反転クロックCLK_INVとのうち、反転クロックCLK_INVを選択し、該クロックを記憶装置28のクロック端子CKに出力するように制御させる(S601)。
【0093】
半導体試験装置3は、論理回路22が出力するデータ入力信号IDATAの状態が、クロックCLKの1クロックのタイミングで、出力制御回路FF4に伝搬するものとして、テスト出力信号OTESTの期待値を決定する(S602)。なお、斯かる期待値は、上述したように、記憶装置33に記憶されたプログラムに基づいて決定されても良いし、制御回路31の回路構成に基づいて決定されても良い。半導体試験装置3は、テスト制御信号TEST_CNTを介して、半導体集積回路2Aが試験動作を行うように、半導体集積回路2Aの各種の制御信号の状態を制御する(S603)。
【0094】
半導体試験装置3は、テスト出力信号OTESTの状態が、ステップS602の処理において設定したテスト出力信号OTESTの状態の期待値と一致するか否かを判断する(S604)。半導体試験装置3は、テスト出力信号OTESTの状態が、該期待値と一致すると判断する場合(S604のYes)、半導体集積回路2Aは正常に動作していると判断し(S605)、半導体集積回路2Aに対する試験を終了する。一方、半導体試験装置3は、テスト出力信号OTESTの状態が、該期待値と一致しないと判断する場合(S604のNo)、半導体集積回路2Aは正常に動作していないと判断し(S606)、半導体集積回路2Aに対する試験を終了する。
【0095】
上述したように、本実施形態に係る試験システムは、書き込み動作及び読み出し動作にそれぞれ1回以上のクロックを必要とする記憶装置28を含む半導体集積回路2Aに対しても、記憶回路28のクロック端子CKに出力制御回路FF1及びFF4を駆動するクロックCLKと逆相のクロックを入力することによって、記憶装置28がテスト出力信号OTESTの状態及び出力タイミングにもたらす影響に対して少ない考慮で試験を行うことができる。また、本実施形態に係る試験システムは、駆動回路21が出力するデータ信号DATA1の状態が記憶装置28を介して半導体試験装置3に伝搬するため、記憶装置28に接続される信号線W_ODATAの故障を検出することができる。
【0096】
従って、本実施形態に係る半導体集積回路2A及び半導体試験装置3を含む試験システムは、書き込み動作及び読み出し動作にそれぞれ1回以上のクロックを必要とする記憶装置28を含む半導体集積回路2Aに対する試験において、試験の容易性を確保しつつ、故障検出率を上昇させることができるようになる。また、斯かる試験システムは、斯かる半導体集積回路2Aの試験において、短時間で半導体集積回路2Aの試験を実施することができるようになる。
【0097】
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。
【0098】
例えば、本明細書に開示される方法においては、その結果に矛盾が生じない限り、ステップ、動作又は機能を並行して又は異なる順に実施しても良い。説明されたステップ、動作及び機能は、単なる例として提供されており、ステップ、動作及び機能のうちのいくつかは、発明の要旨を逸脱しない範囲で、省略でき、また、互いに結合させることで一つのものとしてもよく、また、他のステップ、動作又は機能を追加してもよい。
【0099】
また、本明細書では、さまざまな実施形態が開示されているが、一の実施形態における特定のフィーチャ(技術的事項)を適宜改良しながら、他の実施形態に追加し、又は該他の実施形態における特定のフィーチャと置換することができ、そのような形態も本発明の要旨に含まれる。