(57)【要約】  論理回路と、メモリ回路と、メモリ回路にデータを書き込む際に当該データを保持するレジスタ回路と、レジスタ回路からの出力とメモリ回路からの出力とのうちのいずれかを選択して論理回路に出力するセレクタ回路とよりなり、セレクタ回路で前記レジスタ回路からの出力を選択して論理回路に出力することで論理回路の動作試験を行う構成である。
2009037769.tif 000002
【特許請求の範囲】
【請求項１】
論理回路と、
前記論理回路によってデータが書き込まれ或いは読み出されるメモリ回路と、
前記論理回路が前記メモリ回路にデータを書き込む際に当該データを保持するレジスタ回路と、
前記レジスタ回路からの出力と、前記メモリ回路からの出力とのうちのいずれかを選択して論理回路に出力するセレクタ回路とを備え、
前記論理回路の動作試験時に、前記セレクタ回路で前記レジスタ回路からの出力を選択して論理回路に出力することを特徴とする半導体集積回路装置。
【請求項２】
前記動作試験用のデータは、スキャンシフト動作により前記レジスタ回路に設定される請求項１に記載の半導体集積回路装置。
【請求項３】
前記半導体集積回路は更に、前記セレクタ回路でメモリ回路からの出力を選択し、レジスタ回路に保持された動作試験用のデータをメモリ回路に書き込み、当該動作試験用のデータを用いて論理回路の動作試験を行う請求項１に記載の半導体集積回路装置。
【請求項４】
前記メモリ回路は、キャッシュメモリを構成するメモリ回路とされてなる請求項１に記載の半導体集積回路装置。
【請求項５】
論理回路と、前記論理回路によってデータが書き込まれ或いは読み出されるメモリ回路と、前記論理回路が前記メモリ回路にデータを書き込む際に当該データを保持するレジスタ回路とを備える半導体集積回路装置の試験方法であって、
動作試験用のデータを前記レジスタ回路に保持させるデータ保持段階と、
データ保持段階で前記レジスタ回路に保持された動作試験用のデータを、前記論理回路に入力するデータ入力段階と、
前期データ入力段階で入力された動作試験用のデータを用いて、論理回路の動作試験を行う試験段階とを有する半導体集積回路装置の試験方法。
【請求項６】
前記動作試験用のデータは、スキャンシフト動作により前記レジスタ回路に設定される構成とされてなる請求項５に記載の半導体集積回路装置の試験方法。
【請求項７】
更に、
データ保持段階でレジスタ回路に保持された動作試験用のデータをメモリ回路に書き込む書き込み段階と、
書き込み段階でメモリ回路に書き込まれた動作試験用のデータをメモリ回路から読み出す読み出し段階と、
読み出し段階でメモリ回路から読み出された動作試験用のデータを用いて論理回路の動作試験を行う第二の試験段階とを有する構成とされてなる請求項５に記載の半導体集積回路装置の試験方法。
【請求項８】
前記メモリ回路はキャッシュメモリを構成するメモリ回路とされてなる請求項５に記載の半導体集積回路装置の試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路装置および半導体集積回路装置の試験方法に係り、特にその機能についての試験を効率的に実施可能な構成を有する半導体集積回路装置およびその試験方法に関する。
【背景技術】
【０００２】
図１は従来の半導体集積回路装置の構成例を示すブロック図である。【０００３】
図１の半導体修正機回路装置１００は、論理演算機能を提供する論理回路ブロック１１２および論理回路ブロック１１２が論理演算処理等に際して適宜利用するキャッシュメモリ１０１とよりなる。【０００４】
またキャッシュメモリ１０１は、メモリアレイ１１６，メモリアレイ１１６に対するデータの読み出し・書き込み動作を行うリード／ライト制御回路１１３，論理回路ブロック１１２からの入力データを一旦保持するラッチ機能を有する入力レジスタ１０２，論理回路ブロック１１２から指示される、メモリアレイ１１６のアドレスを保持するアドレスレジスタ１１９並びにリード／ライト制御回路１１３、入力レジスタ１０２およびアドレスレジスタ１１９の動作タイミングを制御するタイミング信号を生成するタイミング生成回路１１５を含む。【０００５】
このような構成の半導体集積回路装置１００の機能試験を行う場合であって特に論理回路ブロック１１２の機能を検証する試験を行う際には、キャッシュメモリ１０１の出力を"1"または"0"に固定するか、或いはキャッシュメモリ１０１に対する読み出し動作を行うことで、キャッシュメモリ１０１から読み出されたデータに応じてなされる論理回路ブロック１１２の動作の結果を記録し、その動作結果を期待値と比較することにより論理回路ブロック１１２の機能が検証される。【０００６】
このように半導体集積回路装置１００の論理回路ブロック１１２に対する機能試験を行う際、予めキャッシュメモリ１０１に対して任意の試験用データを書き込んでおく必要があるが、この試験用データの書き込みには一定の時間を要する。【０００７】
またこのような試験方法では、仮にキャッシュメモリ１０１自体が故障しているような場合であっても、試験結果を見ただけでは故障が論理回路ブロック１１２にあるのか或いはキャッシュメモリ１０１にあるのかを特定することができなかった。【０００８】
また、上記の如くキャッシュメモリの出力を"1"または"0"に固定する条件で論理回路ブロック１１２の機能試験を行う場合には、特定のパターンに対する論理回路ブロック１１２の機能評価しかできないため、論理回路ブロック１１２の障害検出率を上げることが困難である。
【特許文献１】特開平１１−３２４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は上記問題点に鑑みてなされたものであり、半導体集積回路装置が有する論理回路の動作試験を効率的に実施可能な構成を有する半導体集積回路装置およびその試験方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では論理回路と、前記論理回路によってデータが書き込まれ或いは読み出されるメモリ回路と、前記論理回路が前記メモリ回路にデータを書き込む際に当該データを保持するレジスタ回路と、前記レジスタ回路からの出力と前記メモリ回路からの出力とのうちのいずれかを選択するセレクタ回路とよりなる半導体集積回路装置において、前記セレクタ回路で前記レジスタ回路からの出力を選択してこれを論理回路に出力するようにすることにより、動作試験用のデータを前記レジスタ回路に保持させた後、当該レジスタ回路に保持された動作試験用のデータを用いて論理回路の動作試験を行うようにした。【００１１】
本発明ではこのように動作試験用のデータをレジスタ回路に保持させた後、当該レジスタ回路に保持された動作試験用のデータを用いて論理回路の動作試験を行う。すなわちレジスタ回路に保持された試験用のデータはメモリ回路を経由せずに直接論理回路に与えられる。そして当該試験用のデータが入力されることで同試験用データにしたがってなされる論理回路の動作結果を得ることで論理回路の動作の検証がなされ、論理回路の動作試験がなされる。【００１２】
したがってこの構成によれば、従来必要とされたｉ）レジスタ回路に保持された試験用のデータをメモリ回路に書き込む処理およびｉｉ）このようにしてメモリ回路に書き込まれた試験用のデータを読み出して論理回路に与える処理に代え、レジスタ回路に保持された試験用のデータを直接論理回路に与え、当該試験用のデータを用いた論理回路の動作試験を行う。【００１３】
その結果、試験用のデータを論理回路に与える際の処理が簡略化されるため半導体集積回路装置の試験に要する時間を効果的に短縮できるとともに、メモリ回路を介さず試験用のデータをレジスタ回路から直接論理回路に与えるため、メモリ回路自体に障害が存在するような場合でも、論理回路の動作試験を適切に行うことが出来る。
【発明の効果】
【００１４】
本発明によれば半導体集積回路装置の動作試験を効率的に実施可能な構成を有する半導体集積回路装置およびその試験方法を提供することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】従来の半導体集積回路装置の構成例を説明するためのブロック図である。
【図２】本発明の一実施例による半導体集積回路装置の構成を説明するためのブロック図（その１）である。
【図３】半導体集積回路装置の試験においてメモリセルアレイを使用して論理回路ブロックを試験する場合とメモリセルアレイをバイパスして論理回路ブロックを試験する場合とを比較して示す図である。
【図４】本発明の一実施例による半導体集積回路装置の構成を説明するためのブロック図（その２）である。
【図５】半導体集積回路装置の試験においてメモリセルアレイを使用して論理回路ブロックを試験する場合の試験タイムチャートを示す図である。
【図６】半導体集積回路装置の試験においてメモリセルアレイをバイパスして論理回路ブロックを試験する場合の試験タイムチャートを示す図である。
【符号の説明】
【００１６】
１０  半導体集積回路装置
１  キャッシュメモリ
２  入力レジスタ
６  出力セレクタ
９  アドレスレジスタ
１１  ＲＡＭコア
１２  論理回路ブロック
１３  リード／ライト制御回路
１４  デコーダ
１５  タイミング生成回路
１６  メモリセルアレイ
１７  レジスタブロック
【発明を実施するための最良の形態】
【００１７】
以下に本発明の実施例について説明する。【００１８】
図２は本発明の一実施例による半導体集積回路装置の構成を示すブロック図（その１）である。【００１９】
図２に記載の各矢印の内容につき以下に説明する。【００２０】
当該半導体集積回路装置の通常の運用時、「書き込みデータ」は論理回路ブロック１２から入力レジスタ２を経由してリードライト制御部１３に供給され、デコーダ１４から供給されるメモリセルアレイ１６のアドレスに書き込まれる。【００２１】
その際のメモリセルアレイ１６のアドレスは論理回路ブロック１２から「アドレス」として供給され一旦アドレスレジスタ９に設定された後、デコーダ１４を介してメモリセルアレイ１６に供給される。【００２２】
このようにメモリセルアレイ１６に書き込まれたデータは、論理回路ブロック１２から「アドレス」として供給され一旦アドレスレジスタ９に設定された後、デコーダ１４を介して供給されるメモリセルアレイ１６のアドレスから読み出され、リードライト制御部１３を介し、出力セレクタ６を通過され「読み出しデータ」として論理回路ブロック１２に供給される。【００２３】
又出力セレクタ６およびタイミング生成部１５は論理回路ブロック１２から供給される「制御信号」によりその動作が制御される。【００２４】
又タイミング生成部１５は入力レジスタ２，アドレスレジスタ９およびリード／ライト制御部１３にクロック信号を供給し、それらの動作タイミングを制御する。【００２５】
他方半導体集積回路装置の動作試験時、「スキャン入力信号」が論理回路ブロック１２から入力レジスタ２に供給されると、後述するスキャンシフト動作により入力レジスタ２内および引き続きアドレスレジスタ９内を順次シフトされた後、最終的に「スキャン出力信号」として論理回路ブロック１２に供給される。【００２６】
又このようにしてスキャンシフト動作により入力レジスタ２に設定されたテストデータは、その後リード／ライト制御部１３およびメモリセルアレイ１６を経由することなく、直接出力セレクタ６を通過され「読み出しデータ」として論理回路ブロック１２に供給される。【００２７】
図２の半導体集積回路装置１０は、論理演算機能を提供する論理回路ブロック１２および論理回路ブロック１２が論理演算動作を行う際に適宜利用するキャッシュメモリ１とを備える。【００２８】
また、キャッシュメモリ１はレジスタブロック１７とＲＡＭコア１１とを備える。【００２９】
ＲＡＭコア１１は、メモリセルアレイ１６，メモリセルアレイ１６に対するデータの読み出し・書き込み動作を行うリード／ライト制御回路１３，リード／ライト制御回路１３、入力レジスタ２およびアドレスレジスタ９の動作タイミングを制御するタイミング信号を生成するタイミング生成回路１５、並びにアドレスレジスタ９から提供されるアドレスデータをデコードしてメモリセルアレイ１６に与えることで、メモリセルアレイ１６における該当するアドレスに対するデータの書き込み／読み出しを可能にするデコーダ１４を含む。【００３０】
また、レジスタブロック１７は、論理回路ブロック１２からの入力データを一旦保持するラッチ機能を提供する入力レジスタ２、および論理回路ブロック１２から指示されるメモリアセルレイ１６のアドレスを保持するアドレスレジスタ９を有する。またレジスタブロック１７は更に、出力セレクタ６を有する。【００３１】
このような構成を有する半導体集積回路装置１０がシステムに組み込まれて運用される際、論理回路ブロック１２は論理演算を行う際にキャッシュメモリ１を利用する。【００３２】
その際、論理回路ブロック１２は外部の記憶装置等からデータを得て一旦入力レジスタ２に保持した後、キャッシュメモリ１のリード／ライト制御回路１３を介しメモリセルアレイ１６にデータを書き込んでおく。その場合、論理回路ブロック１２はデータを書き込むべきメモリセルアレイ１６内のアドレスをアドレスレジスタ９に供給し、アドレスレジスタ９は供給されたアドレスを内部に保持しておく。そして、アドレスレジスタ９に保持されたアドレスが、入力レジスタに保持された書き込みデータとともに、タイミング生成回路１５から供給されるタイミング信号のタイミングにしたがってＲＡＭコア１１に与えられる。その結果、アドレスレジスタ９から出力されデコーダ１４でデコードされたメモリセルアレイ１６のアドレスに対し、入力レジスタ２から供給されたデータがリードライト制御部１３を介して書き込まれる。このような動作をライト動作と称する。【００３３】
その後必要に応じ、メモリセルアレイ１６に書き込まれたデータが読み出されて、論理回路ブロック１２により適宜演算処理がなされる。【００３４】
その際、読み出すべきデータが書き込まれたメモリセルアレイ１６のアドレスが論理回路ブロック１２からアドレスレジスタ９に供給され、供給されたアドレスをアドレスレジスタ９に保持する。アドレスレジスタ９に保持されたアドレスが、タイミング生成回路１５から供給されるタイミング信号のタイミングにしたがって出力され、デコーダ１４でデコードされてメモリセルアレイ１６に与えられる。その結果、当該アドレスに該当するデータがリードライト制御部１３を介してメモリセルアレイ１６から読み出されて、出力セレクタ６を介して論理回路ブロック１２に与えられる。このような動作をリード動作と称する。【００３５】
出力セレクタ６は、論理回路ブロック１２に対して供給するデータを、入力レジスタ２の保持データとするか、或いはメモリセルアレイ１６からリード／ライト制御回路１３を介して読み出されたデータとするかを選択するためのものである。【００３６】
本発明の実施例による半導体集積回路装置１０では、その試験の効率化のため、キャッシュメモリ１の入力レジスタ２に保持されたテストデータ（即ちテストベクタ或いはテストパターン以下同様）をメモリセルアレイ１６に書き込むことなく、直接論理回路ブロック１２に供給出来る。【００３７】
すなわち本発明の実施例による半導体集積回路装置１０は、そのデータ転送方法に特徴を有する。【００３８】
図１に示した例では、入力レジスタ２に保持された保持データは本来一旦メモリセルアレイ１６に書き込まれ、その後リード／ライト制御回路１３によりメモリセルアレイ１６から読み出されて、論理回路ブロック１２に供給されていた。しかし、本発明の実施例によれば、出力セレクタ６の機能により、入力レジスタ２の保持データがリード／ライト制御回路１３およびメモリセルアレイ１６を経由せず、出力セレクタ６を介して直接論理回路ブロック１２に対して供給される。すなわち入力レジスタ２の保持データを、メモリセルアレイ１６からデータを読み出す動作を経ることなく、メモリセルアレイ１６からの読み出しデータとして直接論理回路ブロック１２に供給する。【００３９】
すなわち、リード／ライト制御回路１３およびメモリセルアレイ１６を経由してメモリセルアレイ１６の読み出しデータとして論理回路ブロック１２に供給されるデータが、出力セレクタ６の機能によりリード／ライト制御回路１３およびメモリセルアレイ１６をバイパスして直接論理回路ブロック１２に供給される。その結果、論理回路ブロック１２では、実際には出力セレクタ６の機能により直接入力レジスタ２から出力されたデータを、キャッシュメモリ１の本来の動作手順にしたがってリード／ライト制御回路１３を経由してメモリセルアレイ１６から読み出された読み出しデータとして扱い、処理する。その結果、キャッシュメモリ１の本来の動作手順に対する論理回路ブロック１２の動作試験を行うことが出来る。【００４０】
したがって、本発明の実施例による半導体集積回路装置１０では、論理回路ブロック１２の動作を検証する試験を、出力セレクタ６の機能によりリード／ライト制御回路１３およびメモリセルアレイ１６をバイパスして直接入力レジスタ２から出力されたデータにより実施することが可能となる。【００４１】
その結果、任意のテストデータを論理回路ブロック１２に設定して論理回路ブロック１２の動作試験を行う場合、キャッシュメモリ１のＲＡＭコア１１内のリード／ライト制御回路１３，メモリセルアレイ１６およびデコーダ１４を動作させることなく、直接入力レジスタ２から試験用のデータを論理回路ブロック１２に設定して論理回路ブロック１２の動作試験を行うことが可能となる。したがって論理回路ブロック１２の動作試験を効率的に行うことが可能となる。【００４２】
図３は、上記リード／ライト制御回路１３およびメモリセルアレイ１６を使用する場合の試験方法（ステップＳ１―Ｓ６）と、リード／ライト制御回路１３およびメモリセルアレイ１６をバイパスする場合の試験方法（ステップＳ１１−Ｓ１４）の試験手順とを比較して示す図である。【００４３】
なお、本発明の実施例による半導体集積回路装置１０は、その論理回路ブロック１２の動作試験を行う際、周知のスキャンテストを行うための構成を有する。【００４４】
リード／ライト制御回路１３およびメモリセルアレイ１６を使用する場合の試験方法（ステップＳ１−Ｓ６）では、周知のスキャンシフト動作により、入力レジスタ２に対し、メモリセルアレイ１６に対する書き込みデータとして、論理回路ブロック１２の動作試験用のテストデータを設定するとともに、論理回路ブロック１２からアドレスレジスタ９に対し書き込みデータに対応するアドレスを設定する（ステップＳ１）。【００４５】
次に、ライト動作を実施することにより、ステップＳ１にて入力レジスタ２に設定されたテストデータを、リード／ライト制御回路１３を介し、ステップＳ１にてアドレスレジスタ９に設定されたメモリセルアレイ１６のアドレスに対して書き込む（ステップＳ２）。【００４６】
次に、ステップＳ１と同様のスキャンシフト動作により、入力レジスタ２に対してダミーデータを設定するとともに、アドレスレジスタ９に対し、上述の如くステップＳ２にてメモリセルアレイ１６に書き込まれた上記書き込みデータに対応するアドレスを設定する（ステップＳ３）。【００４７】
ここで、入力レジスタ２に対してダミーデータを設定する理由は以下の通りである。【００４８】
スキャンシフト動作とは周知の如く、直列接続された複数のレジスタにデータを設定する際、最初のレジスタにデータが入力すると、順次データが押し出されてレジスタ内でシフトされながら順次各レジスタに転送される動作をいう。図２の回路構成の場合、スキャンシフト動作により設定されるべきデータ（図中、「スキャン入力信号」）はまず入力レジスタ２に入力し、入力レジスタ２内で直列接続された複数のレジスタに対し、入力したデータが順次押し出されて転送され入力レジスタ２から押し出されたデータが、今度はアドレスレジスタ９に入力する。【００４９】
したがって、アドレスレジスタ９にアドレスを設定するには、設定すべきアドレスをまず入力レジスタ２に入力し、これを押し出してアドレスレジスタ９に転送するため、押し出し用のデータを入力レジスタ２に入力する必要がある。この押し出し用のデータが上記ダミーデータである。【００５０】
次にリード動作を実施する。すなわち、ステップＳ３にてアドレスレジスタ９に設定されたアドレスがデコーダ１４でデコードされてメモリセルアレイ１６に与えられ、ステップＳ２のライト動作によりメモリセルアレイに書き込まれたテストデータがメモリセルアレイから読み出されて、論理回路ブロック１２に与えられる（ステップＳ４）。【００５１】
論理回路ブロック１２では、このようにして与えられたテストデータにしたがった動作を行う（ステップＳ５）。ここで、動作結果は図示せぬ論理回路ブロック１２の内部レジスタに保持される。【００５２】
最後にスキャンシフト動作により、論理回路ブロック１２の内部レジスタに保持された動作結果を取り出し、動作結果を期待値と比較することで、論理回路ブロック１２の動作が正常になされたかどうかの検証を行う（ステップＳ６）。【００５３】
他方、リード／ライト制御回路１３およびメモリセルアレイ１６をバイパスする場合の試験では、まずステップＳ１と同様にして、入力レジスタ２に対し、スキャンシフト動作により論理回路ブロック１２の動作試験用のテストデータを設定する（ステップＳ１１）。【００５４】
次に、ステップＳ１１にて入力レジスタ２に設定された論理回路ブロック１２の動作試験用のテストデータを、出力セレクタ６を介し論理回路ブロック１２に直接供給する（ステップＳ１２）。【００５５】
論理回路ブロック１２では、出力セレクタ６から与えられたテストデータにしたがった動作を行う（ステップＳ１３）。ここで、動作結果は図示せぬ論理回路ブロック１２の内部レジスタに保持される。【００５６】
最後にスキャンシフト動作により、論理回路ブロック１２の内部レジスタに保持された動作結果を取り出し、動作結果を期待値と比較することで、論理回路ブロック１２の動作が正常になされたかどうかの検証を行う（ステップＳ１４）。【００５７】
本発明の実施例ではこのような構成により、入力レジスタ２に一旦保持されたテストデータはメモリセルアレイ１６を経由することなく、論理回路ブロック１２に対し直接設定される。すなわち、ここではテストデータをメモリセルアレイ１６に一旦書き込みその後読み出すという動作を省略することが可能である。その結果、半導体集積回路装置の試験の効率化が図れる。【００５８】
また、例えばキャッシュメモリ１のＲＡＭコア１１の内部に故障が生じたような場合、論理回路ブロック１２はＲＡＭコア１１経由でテストデータを受け取ることが出来ず、テストデータに応じた動作を行うことが出来ない。このような場合、論理回路ブロック１２がテストデータに応じた動作を行わない要因が論理回路ブロック１２自体にあるのか、或いはテストデータが論理回路ブロック１２に至る経路上のキャッシュメモリ１内にあるのかを特定することが出来ない。【００５９】
これに対し、出力セレクタ６を介して入力レジスタに保持されたデータを直接論理回路ブロックに供給して論理回路ブロック１２の試験を行うことにより、半導体集積回路装置１０中のキャッシュメモリ１のリード／ライト制御回路１３およびメモリセルアレイ１６を除いた論理回路ブロック１２等の機能を検証することが可能となる。したがって、リード／ライト制御回路１３およびメモリセルアレイ１６がバイパスされた状態で論理回路ブロック１２の試験を行った結果論理回路ブロック１２が正常に動作し、テストデータのメモリセルアレイ１６への書き込み・読み出し後に論理回路ブロック１２の試験を行った結果論理回路ブロック１２が正常に動作しなかった場合、その要因がキャッシュメモリ１の側にあると判断出来る。【００６０】
このように、本発明の実施例による半導体集積回路装置１０によれば、半導体集積回路装置１０の論理回路ブロック１２の動作試験を効率的に行えるとともに、半導体集積回路装置１０が障害を有する場合、その障害が論理回路ブロック１２の側にあるのか或いはキャッシュメモリ１の側にあるのかを特定することが可能になる。【００６１】
以下、本発明の実施例による半導体集積回路装置１０の更に詳細な説明を行う。【００６２】
図４は、本発明の実施例による半導体集積回路装置１０の構成を示すブロック図（その２）である。【００６３】
図４図示の半導体集積回路装置１０は、データを処理する論理回路ブロック１２と、論理回路ブロック１２の制御によってデータの記憶を行うキャッシュメモリ１とを有する。【００６４】
また、論理回路ブロック１２は複数の論理回路で構成されている。図４では、複数の論理回路をまとめて論理回路ブロック１２−１として示している。また論理回路ブロック１２には、キャッシュメモリ１からのデータを直接入力しそのデータを処理する機能を有する論理回路ブロック１２−２が含まれる。また論理回路ブロック１２―１は、キャッシュメモリ１の動作を制御して外部の記憶装置等から得られたデータをキャッシュメモリ１へ書き込み、あるいはデータをキャッシュメモリ１から読み出して論理回路ブロック１２―２に供給し、或いは論理回路ブロック１２―２の処理結果を外部に出力しキャッシュメモリ１に書き込む機能を有する。【００６５】
半導体集積回路装置１０の動作試験時は、図４に示されるごとくＬＳＩテスタ２０が論理回路ブロック１２―１に直接接続される。そしてＬＳＩテスタ２０からテストデータが供給されると、論理回路ブロック１２―１がこれをスキャンシフト動作により入力レジスタ２およびアドレスレジスタ９に設定する。入力レジスタに設定されたテストデータをリード／ライト制御回路１３およびメモリセルアレイ１６を経由させて論理回路ブロック１２―２に供給するか、或いは入力レジスタから直接論理回路ブロック１２―２に供給して論理回路ブロック１２―２を動作させる。そして、論理回路ブロックの動作結果を図示せぬ内部レジスタに保持し、内部レジスタに保持された動作結果をスキャンシフト動作によりＬＳＩテスタ２０に供給する。【００６６】
キャッシュメモリ１は、当該キャッシュメモリ１に対する書き込みデータを一時的に保持する機能を有するレジスタブロック１７と、データの記憶及びライト動作／リード動作の制御を行うＲＡＭコア１１とを含む。【００６７】
レジスタブロック１７は、出力データを選択する出力セレクタ６と、書き込みデータを保持する入力レジスタ２と、データに対応するアドレスを保持するアドレスレジスタ９とを有する。【００６８】
入力レジスタ２とアドレスレジスタ９とは、スキャンテストを可能にするためにチェイン状に接続されている。その結果、タイミング生成回路１５からのタイミング信号のタイミングにより、論理回路ブロック１２からのシリアルデータがスキャン入力信号によるスキャンシフト動作によって各レジスタ２，９に転送されて設定される。【００６９】
ＲＡＭコア１１は、アドレスレジスタ９からのアドレスデータからメモリセルアレイ１６中のセルを選択する機能を有するデコーダ１４、選択されたセルに対するデータの書込み或いは読み出しを行うリード／ライト制御回路１３、メモリセルアレイ１６に対するデータの書き込み或いは読み出しのタイミングを制御するタイミング信号を生成するタイミング生成回路（制御回路）１５を有する。【００７０】
また半導体集積回路装置１０にはＬＳＩテスタ２０が接続され、ＬＳＩテスタ２０の機能により半導体回路装置１０に対しテストデータによる周知のバウンダリスキャン試験を行うことが可能な構成とされている。【００７１】
また入力レジスタ２および出力セレクタ６は、図４に示されるごとく、複数ユニット設けられている。すなわち、同様の回路構成を有する入力レジスタ２および出力セレクタ６のユニット（ａ）が複数直列に接続されている。また同様にアドレスレスタ９も、同様の回路構成を有するアドレスレジスタ（ｂ）が複数ユニット直列に接続された構成とされている。そしてこのように互いに直列に接続された複数の入力レジスタ２および出力セレクタ６のユニット（ａ）と、互いに直列に接続された複数のアドレスレジスタ９のユニット（ｂ）との間が更に直列に接続されている。その結果、論理回路ブロック１２からのスキャン入力信号（すなわち図４中、信号ｓｏ（１））によって供給されるテストデータは、ユニット（ａ）の入力レジスタ２に、端子ｓｉから入力して端子ｓｏから出力され、次段のユニット（ａ）の入力レジスタ２に端子ｓｉから入力して端子ｓｏから出力される、という動作が順次繰り返される。このようにして、テストデータが複数の入力レジスタ２および出力セレクタ６のユニット（ａ）の入力レジスタ２間を順次転送される。【００７２】
そして、順次転送されて最後のユニット（ａ）の入力レジスタ２に端子ｓｉから入力されて端子ｓｏから出力されたテストデータは、次に最初のアドレスレジスタのユニット（ｂ）に端子ｓｉから入力する。その後、テストデータが当該アドレスレジスタの端子ｓｏから出力され、次のアドレスレジスタユニット（ｂ）に端子ｓｉから入力されて端子ｓｏから出力される、という動作が順次繰り返される。このようにしてテストデータが複数のアドレスレジスタ９間を順次転送される。【００７３】
このようにしてスキャンシフト動作が行われ、論理回路ブロック１２から出力されたテストデータが全ての入力レジスタ２およびアドレスレジスタ９に設定される。【００７４】
また各入力レジスタ２は、テストデータが入出力される端子ｓｉ、ｓｏとは別に、通常の運用時に論理回路ブロック１２―１からデータが入力する端子ｄｉおよび、当該入力レジスタに保持されたデータをリード／ライト制御回路１３または同じユニット（ａ）の出力セレクタ６に出力するための端子ｏｕｔを有する。【００７５】
各入力レジスタ２に対する入力として、端子ｓｉからの入力を選択するか或いは端子ｄｉからの入力を選択するか、あるいは当該入力レジスタに保持されたデータをスキャンシフト動作により次の入力レジスタ２に供給するか否かは、図示の各フリップフロップの制御信号ｃｌｋ、ａｃｌｋ、ｂｃｌｋによって制御される。【００７６】
すなわち、制御信号ｃｌｋが活性化されると各入力レジスタ２の該当するフリップフロップは論理回路ブロック１２−１から端子ｄｉに供給されるデータを通過させるため、当該データは端子ｏｕｔからリード／ライト制御部１３に転送される。【００７７】
他方制御信号ａｃｌｋが活性化されると各入力レジスタ２の該当するフリップフロップは論理回路ブロック１２−１から端子ｓｉに供給されるスキャン入力信号を通過させる。又制御信号ｂｃｌｋが活性化されると各入力レジスタの該当するフリップフロップが当該スキャン入力信号を更に通過させるため、当該信号は端子ｓｏから隣接する入力レジスタ２に転送される。【００７８】
また各出力セレクタ６は、同じユニット（ａ）の入力レジスタ２からの出力データを入力する端子ｉｎ＿２およびメモリセルアレイ１６からリード／ライト制御回路１３を介して読み出されたデータを入力する端子ｉｎ＿１、並びにこれらのいずれかのデータを論理回路ブロック１２―２に供給する端子ｄｏを有する。【００７９】
各出力セレクタ６は論理回路ブロック１２―１からの制御信号ｓｅｌ（３）により制御され、同じユニット（ａ）の入力レジスタ２からの出力データ或いはメモリセルアレイ１６からリード／ライト制御回路１３を介して読み出されたデータのいずれかを選択し、論理回路ブロック１２―２に供給する。具体的には各出力セレクタ６に設けられた図示のＮＡＮＤゲートのそれぞれが、端子ｓｅｌ＿１，ｓｅｌ＿２から入力する制御信号ｓｅｌ（３）およびその反転信号により互いに逆方向に開閉制御されることで上記選択が実施される。【００８０】
その結果、リード／ライト制御回路１３およびメモリセルアレイ１６を使用する場合（すなわち出力セレクタ６がメモリセルアレイ１６からリード／ライト制御回路１３を介して読み出されたデータの方を選択する状態とされた場合）には、スキャンシフト動作により各入力レジスタ２に設定されたテストデータは、一旦リード／ライト制御回路１３によりメモリセルアレイ１６に書き込まれ、その後メモリセルアレイから読み出されて同じユニット（ａ）の出力セレクタ６を経由して論理回路ブロック１２―２に供給される。一方、リード／ライト制御回路１３およびメモリセルアレイ１６をバイパスする場合（すなわち出力セレクタ６が同じユニットの入力レジスタ２の出力データの方を選択する状態とされた場合）には、スキャンシフト動作により各入力レジスタ２に設定されたテストデータは、リード／ライト制御回路１３によりメモリセルアレイ１６に書き込まれることなく、同じユニット（ａ）の出力セレクタ６を経由して直接論理回路ブロック１２―２に供給される。【００８１】
また、各アドレスレジスタ９のユニット（ｂ）は、テストデータが入出力される端子ｓｉ，ｓｏとは別に、通常の運用時に論理回路ブロック１２からアドレスデータが入力される端子ｄｉおよび、当該アドレスレジスタ２のユニット（ｂ）に保持されたアドレスデータがデコーダ１４に出力されるための端子ｏｕｔを有する。【００８２】
各アドレスレジスタ９のユニット（ｂ）に対する入力として端子ｓｉからの入力を選択するか或いは端子ｄｉからの入力を選択するか、あるいは当該アドレスレジスタ９のユニット（ｂ）に保持されたデータをスキャンシフト動作により次のアドレスレジスタ９のユニット（ｂ）に供給するか否かは、図示の各フリップフロップの制御信号ｃｌｋ、ａｃｌｋ、ｂｃｌｋによって制御される。【００８３】
この半導体回路装置１０の動作を検証する試験として、リード／ライト制御回路１３およびメモリセルアレイ１６を介した論理回路ブロック１２の試験方法(図５とともに後述)と、リード／ライト制御回路１３およびメモリセルアレイ１６をバイパスした論理回路ブロック１２の試験方法(図６とともに後述)とが可能である。【００８４】
図４および図５とともに、リード／ライト制御回路１３およびメモリセルアレイ１６を介した論理回路ブロック１２の試験方法について説明する。図５におけるステップ名Ｓ１〜Ｓ６は、それぞれ図３のステップＳ１〜Ｓ６の動作に対応する動作を示す。【００８５】
ＬＳＩテスタ２０には、予め半導体集積回路装置１０を試験するためのテストデータをロードしておく。そして、メモリセルアレイ１６から読み出されたデータが論理回路ブロック１２に出力されるように、出力セレクタ６を設定(すなわち信号ｓｅｌ（３）のレベルをローに設定)する。そのために、ＬＳＩテスタ２０は制御信号ＣＴＲＬ（２０）によって、半導体集積回路装置１０の論理回路ブロック１２―１を制御する。【００８６】
続いて、その状態で書き込み用のスキャンシフト動作（図５中、ステップＳ１）を行う。【００８７】
書き込み用のスキャンシフト動作では、ＬＳＩテスタ２０からの出力信号ＴＤＯ（２１）と制御信号ＣＴＲＬ（２０）とにより論理回路ブロック１２―１が制御され、論理回路ブロック１２−２をテストするための連続した書き込み用のテストデータがキャッシュメモリ１に対して出力される。【００８８】
すなわち、論理回路ブロック１２―１が制御信号ｃｔｒｌ（１２）をタイミング生成回路１５に送信してタイミング生成回路を制御すると、タイミング生成回路１５から制御信号ｒ＿ｃｔｒｌ（１１）が出力され、制御信号ｒ＿ｃｔｒｌ（１１）により各入力レジスタ２およびアドレスレジスタ９の動作が制御される。この制御信号ｒ＿ｃｔｒｌ（１１）は、上記制御信号ｃｌｋ，ａｃｌｋ、ｂｃｌｋを含む。【００８９】
ここでは、書き込み用のテストデータがスキャン入力信号ｓｏ（１）として入力レジスタ２へ転送され、スキャンシフト動作により当該書き込み用のテストデータが各入力レジスタ２およびアドレスレジスタ９に設定される。この書き込み用のテストデータは信号ｒ＿ｓｐａｔｈ（７）によりアドレスレジスタ９に転送され、さらに、信号ｓｉ（６）により論理回路ブロック１２−１にスキャン出力信号として転送される。【００９０】
書き込み用のテストデータのスキャンシフト動作によるレジスタ設定（図５中、ステップＳ１）が完了した後、ライト動作（図５中、ステップＳ２）を行う。【００９１】
このライト動作では、ＬＳＩテスタ２０からの制御信号ＣＴＲＬ（２０）により半導体集積回路装置１０の論理回路ブロック１２―１が制御され、キャッシュメモリ１のタイミング生成回路１５が制御信号ｃｔｒｌ（１２）により制御されると、タイミング生成回路１５から制御信号ｒ＿ｃｔｒｌ（１１）が出力され、これにより各入力レジスタ２およびアドレスレジスタ９の動作が制御される。この制御信号ｒ＿ｃｔｒｌ（１１）は上記制御信号ｃｌｋ，ａｃｌｋ、ｂｃｌｋを含む。【００９２】
ここで、キャッシュメモリ１は論理回路ブロック１２―１に制御され、タイミング生成回路１５がライト動作のためのタイミング信号を生成する。そしてタイミング生成回路の制御信号ｒｗｃｔｒｌ（１５）によってデコーダ１４が制御され、アドレスレジスタ９に保持された、書き込み用のテストデータに含まれるアドレスデータｒ＿ａｄ（１０）がデコードされる。そして、リード/ライト制御回路１３によって入力レジスタ２に設定されたテストデータが、デコーダ１４によるデコードの結果選択されるメモリセルアレイ１６のセルに対して書き込まれる。【００９３】
そして、ライト動作（図５中、ステップＳ２）の完了後、ステップＳ１における書き込み用のテストデータのスキャンシフト動作と同様に、読み出し用のテストデータのスキャンシフト動作（図５中、ステップＳ３）が行われる。【００９４】
その後、キャッシュメモリ１に対するリード動作（図５中、ステップＳ４）が行われる。リード動作では、ライト動作（ステップＳ２）と同様、スキャンシフト動作（ステップＳ３）により読み出し用のテストデータとしてアドレスレジスタ９に設定されたアドレスデータがデコーダ１４でデコードされ、それによりライト動作でデータが書き込まれたメモリセルアレイ１６のセルが指定されることで、当該セルからデータが読み出される。【００９５】
その結果、論理回路ブロック１２−２に対し、メモリセルアレイ１６にステップＳ２にて書き込まれたテストデータが転送され、これを受けて論理回路ブロック１２―２が動作することにより、論理回路ブロック１２−２の動作試験が行われる（図５中、ステップＳ５）。【００９６】
最後に、書き込み用のスキャンシフト動作（ステップＳ１）と同様のスキャンシフト動作を行うことにより、論理回路ブロック１２―２の動作結果であって論理回路ブロック１２―１の内部レジスタに保持されたデータが信号ＴＤＩ（２２）として読み出され、ＬＳＩテスタ２０に転送される（図５中、ステップＳ６）。ＬＳＩテスタ２０では、転送されたデータを期待値と比較することで、論理回路ブロック１２に対する検証が行われる。【００９７】
ここで、論理回路ブロック１２−２の機能を複数のテストデータについて検証する場合、まず、キャッシュメモリ１内のリード/ライト制御回路１３からの出力を論理回路ブロック１２−２に出力するように出力セレクタ６を設定する。図４の回路では上記信号ｓｅｌ（３）のレベルをローの状態にする。【００９８】
そして、論理回路ブロック１２―１が制御され書き込み用のスキャンシフト動作がなされ、次の書き込み用のテストデータが半導体集積回路装置１０の各レジスタ２，９に設定さる（ステップＳ１）。更に論理回路ブロック１２―１が制御され、キャッシュメモリ１へのテストデータのライト動作が行われる（ステップＳ２）。【００９９】
その後、読み出し用のスキャンシフト動作で読み出し用のテストデータが各レジスタ２，９に設定され（ステップＳ３）、キャッシュメモリ１のリード動作が行われる（ステップＳ４）。【０１００】
このリード動作により論理回路ブロック１２−２にテストデータが転送され、論理回路ブロック１２―２はテストデータに応じた処理を実行する（ステップＳ５）。【０１０１】
最後に論理回路ブロックによる処理結果がスキャンシフト動作によって論理回路ブロック１２―１の内部レジスタから読み出されて、ＬＳＩテスタ２０に転送され（ステップＳ６）、ＬＳＩテスタ２０で、転送されたデータと期待値とを比較して、論理回路ブロックの検証が行われる。このとき、同時に次の書き込み用のテストデータの設定（ステップＳ１）がなされる。【０１０２】
これらの処理(書き込み用および試験結果転送用のスキャンシフト動作Ｓ１／Ｓ６、ライト動作Ｓ２、読み出し用のスキャンシフト動作Ｓ３、リード動作および試験動作Ｓ４／Ｓ５)を、複数回繰り返すことで、複数のテストデータについての論理回路ブロック１２の動作検証が実現される。【０１０３】
次に、図４，図６とともに、リード／ライト制御回路１３およびメモリセルアレイ１６をバイパスした論理回路ブロック１２の試験方法について説明する。図６におけるステップ名Ｓ１１〜Ｓ１４は、それぞれ図３のステップＳ１１〜Ｓ１４の動作に対応する動作を示す。【０１０４】
この場合もＬＳＩテスタ２０には、予め半導体集積回路装置１０を試験するためのテストデータがロードされている。【０１０５】
そして、テストデータがリード／ライト制御回路１３およびメモリセルアレイ１６をバイパスして供給されるように出力セレクタ６が設定される。すなわち、論理回路ブロック１２―１が出力する信号ｓｅｌ（３）のレベルがローとなるように、制御信号ＣＴＲＬ（２０）で論理回路ブロック１２―１が制御される。【０１０６】
その状態でテストデータがスキャンシフト動作によって入力レジスタ２に設定される(図６中、ステップＳ１１)。ここでは論理回路ブロック１２―１からの信号ｓｏ（１）によって供給されるテストデータが、スキャンシフト動作によってキャッシュメモリ１内の各入力レジスタ２に転送されて保持される。そして、各入力レジスタ２が出力したテストデータが、出力セレクタ６を介して論理回路ブロック１２−２へと転送される(図６中、ステップＳ１２)。なおこの動作は、入力レジスタ２の保持データの、出力セレクタ６を介した論理回路ブロック１２―２へのライト動作と見ることが出来る。論理回路ブロック１２―２がこのテストデータを受けてこれに応じた動作を行うことで、論理回路ブロックの動作が検証される（ステップＳ１３）。その動作結果は、論理回路ブロック１２―２から出力されて論理回路ブロック１２―１の内部レジスタに保持される。【０１０７】
最後に、その動作結果を論理回路ブロック１２―１の内部レジスタから読み出しめ、次のテストデータを入力レジスタ２に設定するためのスキャンシフト動作を行う（図６中、ステップＳ１４／Ｓ１１）。このようにして次のテストデータの設定と試験結果の読み出しとを同時に行う。【０１０８】
論理回路ブロック１２―１の内部レジスタから読み出された動作結果は、ＬＳＩテスタ２０に信号ＴＤＩ（２２）として転送され、ＬＳＩテスタ２０で転送されたデータと期待値とを比較して検証が行われる。【０１０９】
そして論理回路ブロック１２−２の機能を、複数のパターンについて検証する場合、次のテストデータ設定用および論理回路ブロック動作結果読み出し用のスキャンシフト動作Ｓ１１／Ｓ１４並びに試験動作およびテストデータの論理回路ブロック１２―２に対するライト動作Ｓ１２／Ｓ１３を複数回繰り返せばよい。【０１１０】
また上述の動作に限られず、論理回路ブロック１２−２の試験用のテストデータをリード／ライト制御回路１３およびメモリセルアレイ１６をバイパスして直接論理回路ブロック１２−２に供給する際、同時に同じテストデータをリード／ライト制御回路１３を介してメモリセルアレイ１６に書き込むような制御を行うことも可能である。【０１１１】
この場合、リード／ライト制御回路１３およびメモリセルアレイ１６をバイパスされて直接論理回路ブロック１２−２に供給されたテストデータにより論理回路ブロック１２−２が動作を行うことで論理回路ブロック１２−２の動作試験がなされた後、上記の如くリード／ライト制御回路１３を介してメモリセルアレイ１６に書き込まれた同じテストデータがリード／ライト制御回路１３を介してメモリセルアレイ１６から読み出されて論理回路ブロック１２−２に供給される。そしてこのようにしてリード／ライト制御回路１３およびメモリセルアレイ１６を経由して論理回路ブロック１２−２に供給されたテストデータにより論理回路ブロック１２−２が動作を行うことで再び論理回路ブロック１２−２の動作試験がなされる。【０１１２】
このような構成を行うことにより、リード／ライト制御回路１３およびメモリセルアレイ１６をバイパスすることによりキャッシュメモリ１の書き込み動作および読み出し動作と無関係に論理回路ブロック１２−２の動作検証を行うこと、並びにリード／ライト制御回路１３およびメモリセルアレイ１６を使用することによりキャッシュメモリ１の書き込み動作および読み出し動作を含めて論理回路ブロック１２−２の動作検証を行うことの両方を、短時間に実施することが可能となる。その結果試験時間の短縮が可能となる。【０１１３】
また、リード／ライト制御回路１３およびメモリセルアレイ１６を介する場合およびこれらをバイパスする場合の両方の場合から得られた試験結果を比較することにより、リード／ライト制御回路１３およびメモリセルアレイ１６を介した場合にのみで不良現象が発生した場合には、その不良要因がキャッシュメモリ１のライト動作またはリード動作に係る部分にあると判断できる。【０１１４】
なお上記スキャンテストはＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）が提案した標準的なテスト容易化設計手法であり、１９９０年にＩＥＥＥ１１４９．１としてテスト容易化手法として標準化されている。当初プリント基板などのボードのテスト用に提案されたものだが，ボードのみならず大規模化するLSIテストにも用いられている。
【図１】
2009037769.tif 000003
【図２】
2009037769.tif 000004
【図３】
2009037769.tif 000005
【図４】
2009037769.tif 000006
【図５】
2009037769.tif 000007
【図６】
2009037769.tif 000008
【国際調査報告】
2009037769.tif 000009
2009037769.tif 000010
2009037769.tif 000011