(57)【要約】【課題】実際の動作速度でのＦＭＢ取得が可能な集積回路および試験方法の実現。【解決手段】メモリ18と、メモリを試験するメモリ試験回路20,22-24,41と、入出力ポート11E,11Fと、を備え、メモリ試験回路の収集したメモリの出力を入出力ポートを介して出力する集積回路であって、メモリ試験回路は、メモリの出力をラッチするラッチ回路20を備え、第１クロックPLLに応じて全アドレスをアクセスするように変化させた時のメモリの出力を、第１クロックの整数倍の周期を有するラッチ信号に応じてラッチするスキャン・ラッチ動作を行い、ラッチ信号の１周期中にラッチしたデータを入出力ポートを介して出力する転送動作を行い、ラッチ回路がラッチするメモリセルのアドレス位置を変化させて、スキャン・ラッチ動作および転送動作を繰り返し、全メモリセルの出力を外部に出力する。【選択図】図４
2010040085.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリを試験するメモリ試験回路と、
入出力ポートと
を備え、
前記メモリ試験回路は、
前記メモリの出力をラッチするラッチ回路を備え、
アクセスする前記メモリのアドレスを、第１クロックに応じて全アドレスをアクセスするように変化させた時の前記メモリの出力を、前記第１クロックの整数倍の周期を有するラッチ信号に応じてラッチするように前記ラッチ回路を動作させるスキャン・ラッチ動作を行い、
前記ラッチ信号の１周期中に、前記ラッチ回路のラッチしたデータを、前記入出力ポートを介して出力する転送動作を行い、
前記ラッチ回路がラッチする前記メモリの出力に対応するメモリセルのアドレス位置を変化させて、前記スキャン・ラッチ動作および前記転送動作を繰り返し、全メモリセルの出力を外部に出力することを特徴とする集積回路。
【請求項２】
前記集積回路は、前記入出力ポートを介して外部と通信すると共に前記メモリにアクセスする他の回路を備え、前記メモリは前記他の回路を介してのみアクセス可能であることを特徴とする請求項１に記載の集積回路。
【請求項３】
前記メモリ試験回路は、前記第１クロックから前記ラッチ信号を発生するカウンタを備えることを特徴とする請求項１または２に記載の集積回路。
【請求項４】
前記カウンタは、リニアフィードバックシフトレジスタであることを特徴とする請求項３に記載の集積回路。
【請求項５】
前記メモリ試験回路は、前記第１クロックより低速のテストクロックから前記第１クロックを発生するＰＬＬ回路をさらに備えることを特徴とする請求項１または２に記載の集積回路。
【請求項６】
外部から直接アクセスできないメモリを有する集積回路の前記メモリを試験する試験方法であって、
アクセスする前記メモリのアドレスを第１クロックに応じて全アドレスをアクセスするように変化させ、
アクセスした前記メモリの出力を、前記第１クロックの整数倍の周期を有するラッチ信号に応じてラッチするスキャン・ラッチ動作を行い、
前記ラッチ信号の１周期中に、前記ラッチしたデータを、入出力ポートを介して出力する転送動作を行い、
ラッチする前記メモリの出力に対応するメモリセルのアドレス位置を変化させて、前記スキャン・ラッチ動作および前記転送動作を繰り返し、全メモリセルの出力を外部に出力することを特徴とする試験方法。
【請求項７】
前記集積回路は、前記メモリのほかに、前記入出力ポートを介して外部と通信すると共に前記メモリにアクセスする他の回路を備え、前記メモリは前記他の回路を介してのみアクセス可能であることを特徴とする請求項６に記載の試験方法。
【請求項８】
前記ラッチ信号は、前記第１クロックを分周して発生することを特徴とする請求項６または７に記載の試験方法。
【請求項９】
前記第１クロックより低速のテストクロックが外部から供給され、前記テストクロックから前記第１クロックを発生することを特徴とする請求項６または７に記載の試験方法。
【請求項１０】
前記メモリに書き込んだ書込データと、前記書込データに対応する前記メモリの出力を比較することを特徴とする請求項６乃至９のいずれか１項に記載の試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路およびその試験方法に関し、特にＳｏｃ(System on Chip)のような内部に組み込まれ外部からは直接アクセスできないメモリを有する集積回路およびそのメモリを試験する試験方法に関する。
【背景技術】
【０００２】
近年、集積回路は微細化・高集積化しており、コンピュータシステムの機能を１個のチップに搭載することが可能となっている。このような集積回路は、一般にＳｏＣ(System on Chip)と呼ばれる。ＳｏＣには、プロセッサ、ＤＳＰなどと共に、かならずメモリ素子（ＳＲＡＭ，ＤＲＡＭなど）が組み込まれる。ＳｏＣの高機能化に伴って、組込メモリの容量が増大しており、組込メモリの良否がＳｏＣの歩留まりを支配するようになってきた。そのため、組込メモリの試験が重要になってきており、ＳｏＣ内に組み込みメモリの試験を自動で行う試験回路を組み込むことが行われている。
【０００３】
図１は、ＳｏＣ１０の構成例を示す図である。図１に示すようにウエハ１上に複数のＳｏＣ１０がチップとして形成される。各ＳｏＣ１０は、Ｉ／Ｏポート１１Ａ−１１Ｄと、ＣＰＵ１２と、論理回路（Ｌｏｇｉｃ）１３と、ＤＳＰ１４と、ＲＯＭ１５と、ＳＲＡＭ１６と、メモリ１７と、を有する。メモリ１７は、ＣＰＵ１２、論理回路１３またはＤＳＰ１４からアクセスされ、外部からは直接アクセスできない。図示の例では、メモリ１７はＳＲＡＭであるが、これに限定されるものではない。以下の説明では、メモリ１７はＳＲＡＭを有する場合を例として説明する。
【０００４】
メモリ１７は、ＳＲＡＭ１８を含むＳＲＡＭユニット２１と、ＳＲＡＭ１８の試験を行うためのＲＡＭ−ＢＩＳＴ(RAM Built-In Self Test)回路と、を有する。ＳＲＡＭユニット２１は、試験時のＲＡＭ−ＢＩＳＴ回路からのＳＲＡＭ１８へのアクセスと、通常時におけるＳｏＣ１０内のＲＡＭ−ＢＩＳＴ回路以外の部分（ＣＰＵ１２、論理回路１３またはＤＳＰ１４）からのアクセスを切り替えるマルチプレクサＭｕｘ１９と、試験時にＳＲＡＭ１８の出力をラッチして保持するフリップフロップよりなるラッチ回路（ＦＦ）２０と、を有する。ＦＦ２０は、２個のフリップフロップを有する。２個のフリップフロップの一方は”０”にリセットされた後、”１”が書き込まれると、”０”が書き込まれても”１”を維持する。言い換えれば、一度”１”が書き込まれると、リセットしない限り”０”には戻らない。２個のフリップフロップの他方は”１”にリセットされた後、”０”が書き込まれると、”１”が書き込まれても”０”を維持する。言い換えれば、一度”０”が書き込まれると、リセットしない限り”１”には戻らない。なお、書き込んだデータを記憶しておき、読み出したデータと比較した結果を記憶する場合には、１個のフリップフロップを設ければよい。
【０００５】
ＲＡＭ−ＢＩＳＴ回路は、試験時のメモリ１７に供給されるテストクロックから通常動作時のクロックに近い高速の第１クロックを発生するＰＬＬ回路２２と、メモリテストコントローラ（ＭＴＣ）２３と、テストパターン発生回路（ＴＰＧ）２４と、を有する。なお、ＰＬＬ回路２２を設けずに、テストクロックとして高速の第１クロックを供給する場合もある。
【０００６】
図２は、ＳＲＡＭ１８の構成と、ＳＲＡＭセルの不良セルの発生例を示す図である。図２に示すように、ＳＲＡＭ１８は、セルアレイ３１と、ロウデコーダ３２と、コラムデコーダ３３と、センスアンプ３４と、クロックジェネレータ３５と、を有する。ＳＲＡＭの構成については広く知られているので説明は省略する。
【０００７】
組込メモリの試験には、不良チップを選別するための良否判定試験と、不良原因を特定するための診断を行う試験と、がある。良否判定試験は、ＳｏＣが正常に動作するかを試験し、メモリ１７についてはデータの書き込みおよび読み出しが正常に行えるかを試験する。代表的な試験パターンがマーチパターンであり、以下マーチパターンを例として説明を行うが、開示の技術はこれに限定されるものではない。マーチパターンによる試験は、具体的は、図３の（Ａ）に示すように、ＦＦ２０の２個のフリップフロップをリセットした後、アドレスを順に変化させながらメモリに”０”を書き込む第１ステップを行う。次にアドレスを順に変化させながらメモリから記憶しているデータを読み出して２個のフリップフロップの一方に記憶すると共に”１”を書き込む第２ステップを行う。次に、アドレスを順方向または逆方向に変化させながらメモリから記憶しているデータを読み出して２個のフリップフロップの他方に記憶すると共に”０”を書き込む第３ステップを行う。最後にＦＦ２０の２個のフリップフロップに記憶されたデータを読み出すスキャンアウト動作を行う。不良セルが無ければ、ＦＦ２０の２個のフリップフロップの一方から”０”が読み出され、他方から”１”が読み出される。もし、２個のフリップフロップの一方から”１”が読み出されるか、または他方から”０”が読み出された場合には、ＳＲＡＭ１８に何らかの不良セルがあることになる。しかし、良否判定試験では、どのアドレスのセルが不良であるかは分からない。
【０００８】
スキャンアウト動作は、ＦＦ２０に保持されたデータをＳｏＣ１０の外部に出力する動作であり、外部テスタとのインターフェース信号のため、ＳｏＣ１０の内部でＳＲＡＭ１８をアクセスする速度より遅く、長い時間が必要である。例えば、ＳＲＡＭ１８の出力がＮビットの場合、Ｉ／ＯポートにＮビット分の端子を設けると端子数が多くなるので、Ｎビットのデータをシリアルデータに変換して１個の端子から出力する。この場合、ＦＦ２０の出力サイクルがＳＲＡＭの動作サイクルと同じであっても、スキャンアウト動作はＳＲＡＭの動作サイクルのＮ倍以上の長さが必要である。もし、ＦＦ２０の出力周期がＳＲＡＭの動作周期のＫ倍であれば、スキャンアウト動作はＳＲＡＭの動作サイクルのＫＮ倍以上の長さとなる。２組のフリップフロップのデータを出力する場合には、さらにこの２倍の長さになる。
【０００９】
なお、ＳＲＡＭでは複数行または複数列分の冗長セルを設け、不良セルを含む行または列を置き換えることが行われる。この場合も、行または列毎に上記のようなラッチ回路を設けて、不良セルを有する行または列を検出する試験が行われる。しかし、検出された行または列に何個の不良セルがあるか、さらに不良セルのアドレスは検出できない。
【００１０】
これに対して、不良原因を特定するための診断を行う試験では、メモリの不良箇所を特定するために、フェール・ビット・マップ(Fail Bit Map：ＦＢＭ)取得試験が行われる。ＦＢＭ取得試験では、不良セルのアドレスをマップ形式で取得する。図２の下側に、ＦＢＭの例を示す。×印が不良セルを示す。
【００１１】
ＦＢＭ取得試験は、良否判定試験のためにＳｏＣに組み込まれたＲＡＭ−ＢＩＳＴ回路を使用して行う。ＦＦ２０は、１個のセルの出力を保持するだけなので、図３の（Ｂ）に示すように、第２および第３ステップで、ＳＲＡＭ１８の各セルにアクセスするたびに、ＦＦ２０から出力を読み出すスキャンアウト動作を行う。上記のように、スキャンアウト動作はＳＲＡＭ１８のアクセス動作に比べて長い時間を必要とするので、読み出し、書き込みおよびスキャンアウトを含む１個のセルへのアクセス動作は、長時間を要する。
【００１２】
近年、良否判定試験では、試験時間の短縮のため、および実動作状態でのシステム動作保証のために、実際の動作速度で試験を行う実時間動作試験が行われるようになってきた。実際の動作速度での動作をat-speed動作と呼ぶ。また、テクノロジーの進歩に伴い、タイミング的に厳しい設計が行われ、動作速度も高速化しているために、プロセスマージンが少なくなっている。上記のようなＳＲＡＭ１８の良否判定試験は、最後にスキャンアウト動作を行うだけなので、第１から第３ステップは、実際の動作速度と同じ高速で行える。これに対して、ＦＢＭ取得試験は、低速で行うため、良否判定試験とＦＢＭ取得試験の試験結果が異なる場合が生じるという問題が発生した。これは、ＦＢＭ取得試験は１セルごとにスキャンアウト動作を行うため、読み出しと書き込みの動作は、実際の動作に比べて低速の動作であり、セル間での書き込みと読み出しが連続して高速に行われた時に発生するが、低速時には発生しない不良を検出できないためである。
【００１３】
【特許文献１】特開２００２−２９８５９８号公報
【特許文献２】特開２０００−２２２８９９号公報
【特許文献３】特開２００３−１３２６９６号公報
【特許文献４】特開平１０−２０７６９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
実施形態の集積回路および試験方法は、実際の動作速度での動作、すなわちat-speed動作でのＦＢＭ(Fail Bit Map)取得を行えるようにする。
【課題を解決するための手段】
【００１５】
実施形態の集積回路は、メモリと、前記メモリを試験するメモリ試験回路と、入出力ポートと、を備え、前記メモリ試験回路の収集した前記メモリの出力を前記入出力ポートを介して出力する集積回路であって、前記メモリ試験回路は、前記メモリの出力をラッチするラッチ回路を備え、アクセスする前記メモリのアドレスを第１クロックに応じて全アドレスをアクセスするように変化させた時の前記メモリの出力を、前記第１クロックの整数倍の周期を有するラッチ信号に応じてラッチするように前記ラッチ回路を動作させるスキャン・ラッチ動作を行い、前記ラッチ信号の１周期中に、前記ラッチ回路のラッチしたデータを、前記入出力ポートを介して出力する転送動作を行い、前記ラッチ回路がラッチする前記メモリの出力に対応するメモリセルのアドレス位置を変化させて、前記スキャン・ラッチ動作および前記転送動作を繰り返し、全メモリセルの出力を外部に出力する。
【００１６】
また、実施形態の試験方法は、外部から直接アクセスできないメモリを有する集積回路の前記メモリを試験する試験方法であって、アクセスする前記メモリのアドレスを第１クロックに応じて全アドレスをアクセスするように変化させ、アクセスした前記メモリの出力を、前記第１クロックの整数倍の周期を有するラッチ信号に応じてラッチするスキャン・ラッチ動作を行い、前記ラッチ信号の１周期中に、前記ラッチしたデータを、入出力ポートを介して出力する転送動作を行い、ラッチする前記メモリの出力に対応するメモリセルのアドレス位置を変化させて、前記スキャン・ラッチ動作および前記転送動作を繰り返し、全メモリセルの出力を外部に出力する。
【発明の効果】
【００１７】
実施形態の集積回路および試験方法は、実際の動作速度で動作した時の、すなわちat-speed動作した時の不良セルのアドレスを示すＦＢＭ(Fail Bit Map)を取得できる。しかも、実施形態の集積回路および試験方法は、従来例の低速動作時のＦＢＭ取得に要する時間とほぼ同じ時間で、通常動作時のＦＢＭを取得できる。
【発明を実施するための最良の形態】
【００１８】
図４は、第１実施形態の集積回路１０の構成および、集積回路１０のＦＢＭ(Fail Bit Map)取得試験を行うテスタ５１を集積回路１０に接続した試験システムの構成を示す図である。図示のように、集積回路１０は、コンピュータシステムを搭載したＳｏＣであり、メモリ１７と、Ｉ／Ｏポート１１Ｅおよび１１Ｆと、を有する。メモリ１７は、ＳＲＡＭ１８を含むＳＲＡＭユニット２１と、ＳＲＡＭ１８の試験を行うためのＲＡＭ−ＢＩＳＴ(RAM Built-In Self Test)回路と、を有する。Ｉ／Ｏポート１１Ｅは、テスタ５１からメモリ１７へ入力するテスタクロックを外部から受けるＩ／Ｏポートである。Ｉ／Ｏポート１１Ｆは、メモリ１７のテスト出力を受けて外部に出力するＩ／Ｏポートである。外部に出力されたテスト出力は、Scan Out信号としてテスタ５１に入力される。なお、ここでは、ＳＲＡＭ１８はＮビット出力で、ＦＦ２０でラッチしたＮビットのデータをシリアルデータに変換してＩ／Ｏポート１１Ｆから出力するものとする。図１と同様に、実施形態のＳｏＣ１０は、ＣＰＵ、論理回路、ＤＳＰなどを有するが、図示を省略している。メモリ１７、すなわちＳＲＡＭ１８は、図示していないＣＰＵ、論理回路またはＤＳＰからアクセスされ、外部からは直接アクセスできない。
【００１９】
メモリ１７は、ＳＲＡＭ１８を含むＳＲＡＭユニット２１と、ＳＲＡＭ１８の試験を行うためのＲＡＭ−ＢＩＳＴ(RAM Built-In Self Test)回路と、を有する。ＳＲＡＭユニット２１は、ＳＲＡＭ１８と、試験時のＲＡＭ−ＢＩＳＴ回路からのＳＲＡＭ１８へのアクセスと、通常時におけるＳｏＣ１０内のＲＡＭ−ＢＩＳＴ回路以外の部分（ＣＰＵ、論理回路またはＤＳＰなど）からのアクセスを切り替えるマルチプレクサＭｕｘ１９と、試験時にＳＲＡＭ１８の出力をラッチして保持するフリップフロップよりなるラッチ回路（ＦＦ）２０と、を有する。図示の例では、メモリ１７は、ＳＲＡＭ１８を有するが、これに限定されるものではなく、ＤＲＡＭなどでもよい。以下の説明では、メモリ１７がＳＲＡＭ１８を有する場合を例として説明する。
【００２０】
ＦＦ２０は、ＳＲＡＭ１８の各出力ビットに対して２個ずつのフリップフロップを有する。上記のように、ＳＲＡＭ１８はＮビット出力であるから、ＦＦ２０は、合計で２Ｎ個のフリップフロップを有する。各組のＮ個のフリップフロップのデータはシリアル変換されて出力される。２組のフリップフロップの一方は”０”にリセットされた後、”１”が書き込まれると、”０”が書き込まれても”１”を維持する。言い換えれば、一度”１”が書き込まれると、リセットしない限り”０”には戻らない。２組のフリップフロップの他方は”１”にリセットされた後、”０”が書き込まれると、”１”が書き込まれても”０”を維持する。言い換えれば、一度”０”が書き込まれると、リセットしない限り”１”には戻らない。このようなＦＦ２０を使用することにより、前述の良否判定試験が行える。ここでは、２組のフリップフロップの一方に保持されたデータをＲ０で、他方に保持されたデータをＲ１で表す。Ｒ０とＲ１のデータはそれぞれＮビットであるが、シリアル変換されて出力される。また、Ｒ０とＲ１のデータを同時に読み出す必要はないので、Ｉ／Ｏポート１１Ｆの端子は１個でよい。いずれにしろ、ここでは、良否判定試験に使用するＦＦ２０を利用する。
【００２１】
ＲＡＭ−ＢＩＳＴ回路は、試験時のメモリ１７に供給されるテストクロックから通常動作時のクロックに近い高速の第１クロックを発生するＰＬＬ回路２２と、メモリテストコントローラ（ＭＴＣ）２３と、テストパターン発生回路（ＴＰＧ）２４と、ラッチ制御回路４１と、を有する。ここでは、テストクロックの周期はＰＬＬクロックの周期の４倍であるとする。
【００２２】
ラッチ制御回路４１は、ＳＲＡＭ１８に対して図３（Ａ）に示すような良否判定試験と同様の書き込みおよび読み出し処理を行っている時に、ＦＦ２０がＳＲＡＭ１８の出力をラッチするタイミングを示すラッチ信号と、ＦＦ２０がラッチしたデータを読み出すためにシフトさせるＦＦクロックと、を発生する。図示のように、ラッチ制御回路４１は、ＭＴＣ２３の制御の下でＰＬＬクロックをカウントしてカウント値に応じた信号を発生するカウンタ４２と、ＴＰＧ２４の信号からラッチのための制御信号を発生する制御回路４３と、カウンタ４２および制御回路４３からの信号に応じてＦＦクロックを発生するＭａｓｋ回路４４と、を有する。ラッチ信号は、カウンタ４２が発生する。
【００２３】
テスタ５１は、試験のためにＳｏＣ１０に供給するテスタクロックのパターンを記憶した入力パターンメモリ５２と、入力パターンメモリ５２からの指示に応じてテスタクロックを発生するクロック発生回路５３と、ＳｏＣ１０の動作に応じてＳＲＡＭ１８が出力すると期待されるデータを記憶した出力期待値レジスタ５４と、ＳｏＣ１０から出力されるScan Out信号と出力期待値レジスタ５４から出力される期待値を比較する出力比較回路５５と、を有する。Scan Out信号と出力期待値が一致すれば正常セルであり、不一致であれば不良セルであると判定される。なお、テスタ５１は、入力パターンメモリ５２にＳｏＣ１０における試験シーケンスを記憶しており、入力されるScan Out信号がどのセルの出力であるかを認識できるようになっている。
【００２４】
図５は、第１実施形態におけるＦＢＭ取得試験シーケンスを説明するタイムチャートである。上記のように、テスタクロックの周期はＰＬＬクロックの周期の４倍であり、ＦＦ２０からのデータの読み出しはテスタクロックに同期して行われる。ＰＬＬ回路２２は、テスタクロックの１／４周期のＰＬＬクロックを発生し、ＳＲＡＭユニット２１、すなわちＳＲＡＭ１８に印加する。これにより、ＳＲＡＭ１８はＰＬＬクロックで動作し、図３（Ａ）に示した動作を行う。すなわち、第１ステップでは”０”を書き込み、第２ステップでは書き込んだデータを読み出すと共に”１”を書き込む。第３ステップでは、書き込んだデータを読み出すと共に”０”を書き込む。スキャンアウト動作は行わない。これで第１サイクルが終了する。以下第２および第３ステップを実行するサイクルを、後述する回数だけ繰り返す。第２および第３ステップでは、２ＰＬＬクロックで、１アドレス、すなわち１セルに対して読み出しと書き込みが行われる。
【００２５】
カウンタ４２は、テスタクロックの１／２周期でカウント値を変化させ、０からＭ−１までの値をカウントする動作を繰り返す。
【００２６】
図５では、ＳＲＡＭ１８の読み出しおよび書き込みは、ＰＬＬクロックが立ち下りに同期して行われる。
【００２７】
第１サイクルの第２ステップでは、ＭＴＣ２３は、カウンタ４２のカウンタ値を、ＳＲＡＭ１８の開始アドレスAddress0のセルからデータが読み出された時に０で、データが読み出された後１／２ＰＬＬクロックで、すなわちＰＬＬクロックの立ち上がりに同期してカウント値が１に変化するように設定する。カウント値が１に変化した後、カウンタ４２は、ＰＬＬクロックが立ち下りに同期してラッチ信号を発生する。ラッチ信号に応じて、ＳＲＡＭ１８から読み出されているＮビットのデータがＦＦ２０にラッチされる。
【００２８】
Ｍａｓｋ回路４４は、ラッチ信号が発生された後、ＦＦクロックを出力する。ＦＦクロックは、テスタクロックに同期した信号で、Ｎパルス発生される。ＦＦ２０は、Ｒ０のデータのフリップフロップを使用して、ＦＦクロックの立ち上がりに同期してラッチしたＮビットのデータをシフトしてＩ／Ｏポート１１Ｆに出力する。これに応じて、テスタ５１の出力比較回路５５は、出力されたScan Outをストローブして出力期待値と比較する。具体的には、ＦＦ２０はカウント値が１，３，５の時にシフトし、出力比較回路５５はカウント値が１，３，５の時にストローブする。したがって、カウンタ４２の最大カウント値Ｍ−１は、２Ｎ＋１以上であることが必要である。
【００２９】
Ｍａｓｋ回路４４は、カウント値がＭ−１から０に変化する時にＦＦ２０をリセットする。
【００３０】
以下、上記の動作を、第２ステップの間繰り返す。これにより、アドレスAddress0のセルからアドレスをＭずつ増加させたアドレスAddress0+M, Address0+2M,…のセルから、第１ステップで書き込んだ０に対応するデータが読み出される。データが０であれば正常であり、１であれば不良である。テスタ５１は、読み出されたデータのアドレスを認識しているので、そのアドレスのセルが正常か不良かを判定して記憶する。
【００３１】
第２ステップが終了し、最終アドレスのセルのデータの読み出しおよび１の書き込みが終了すると、第３ステップを開始する。この時、カウント値がＭ−１から０になり、ＦＦ２０がリセットされる。ＭＴＣ２３は、カウンタ４２のカウンタ値を、ＳＲＡＭ１８の最終アドレスのセルからデータが読み出された時に０で、データが読み出された後１／２ＰＬＬクロックで、すなわちＰＬＬクロックの立ち上がりに同期してカウント値が１に変化するように設定する。なお、第３ステップでは、ＦＦ２０のＲ１に対応するフリップフロップが使用される。
【００３２】
以下、アドレスの値を逆に変化しながら、第２ステップと同じ動作を行う。これにより、最大アドレスのセルからアドレスをＭずつ減少させたアドレスのセルから、第２ステップで書き込んだ１に対応するデータが読み出される。データが１であれば正常であり、０であれば不良である。テスタ５１は、読み出されたデータのアドレスを認識しているので、そのアドレスのセルが正常か不良かを判定して記憶する。
【００３３】
第３ステップが終了し、開始アドレスのセルのデータの読み出しおよび０の書き込みが終了すると、第１サイクルが終了し、第２サイクルを開始する。第２サイクルでは、再び第２ステップを開始する。この時、カウント値がＭ−１から０になり、ラッチ２０がリセットされる。ＭＴＣ２３は、カウンタ４２のカウンタ値を、ＳＲＡＭ１８の開始アドレスの次のアドレスAddress1のセルからデータが読み出された時に０で、データが読み出された後１／２ＰＬＬクロックで、すなわちＰＬＬクロックの立ち上がりに同期してカウント値が１に変化するように設定する。以下同様に第２ステップを行う。そして、第２ステップが終了すると、第３ステップを開始する。この時、ＭＴＣ２３は、カウンタ４２のカウンタ値を、ＳＲＡＭ１８の最終アドレスより１少ないアドレスのセルからデータが読み出された時に０で、データが読み出された後１／２ＰＬＬクロックで、すなわちＰＬＬクロックの立ち上がりに同期してカウント値が１に変化するように設定する。以下同様に第３ステップを行う。
【００３４】
以上のサイクルを、第２ステップでは、最初にＦＦ２０がラッチするセルのアドレスが１ずつ増加し、第３ステップでは、最初にＦＦ２０がラッチするセルのアドレスが１ずつ減少するように設定して、全体でＭサイクル繰り返す。これにより、ＳＲＡＭ１８をＰＬＬクロック、すなわち通常使用時と同じ高速のクロックで動作させた時の全セルの試験結果が取得できる。
【００３５】
図６は、第１実施形態の集積回路１０のメモリ１７のラッチ制御回路４１の具体的な回路例を示す図である。また、図７は、図６の回路の動作を示すタイムチャートである。ここでは、ＳＲＡＭ１８の出力は４ビット（Ｎ＝４）であり、テストクロックの周期はＰＬＬクロックの周期の２倍であり、カウンタ４２の最大カウント値（Ｍ−１）は１７とする。
【００３６】
図６に示すように、ラッチ制御回路４１は、０から１７のカウントを繰り返すカウンタ４２と、ＮＡＮＤゲート６１と、セレクタ６２と、フリップフロップ（ｆｆ）６３と、インバータ６４と、４入力ＯＲゲート６５と、インバータ６６、６７と、を有する。
【００３７】
カウンタ４２は、ＭＴＣ２３の制御信号Ｉｎｉｔにより、あるタイミングでカウンタの値が設定される。カウンタ４２は、ＰＬＬクロックの立ち上がりに同期してカウント値を変化させ、カウント値の下位２ビットがｂｉｔ０およびｂｉｔ１である。また、カウンタ４２は、カウント値に基づいて制御信号ｃｎｔ０およびｃｎｔ１を出力する。ｃｎｔ０はカウント値が０の時のみ１になりそれ以外で０になり、ｃｎｔ１はカウント値が１の時のみ１になりそれ以外で０になる。セレクタ６２は、ＴＰＧ２４からの読み取り信号ｒｅａｄとｃｎｔ０の両方が１の時に、ｃｎｔ０を選択してｆｆ６２を１に設定する。それ以後は、ｆｆ６３の出力を選択し、次にカウント値が０になるまでｆｆ６３の出力が１である状態を維持する。ｆｆ６３の出力は、１アドレスのセルに対して読み出しおよび書き込みを行い、読み出したデータを外部に出力する期間を示す。
【００３８】
ＯＲゲート６４は、ｆｆ６３の出力が１である期間中に、反転したｂｉｔ０、およびｂｉｔ１とＰＬＬクロックがすべて０の時に０になり、それ以外の時には１になるＦＦクロックを発生する。ＦＦクロックはカウンタ値が０，４，８…の時に０になるパルスである。ラッチ信号はｃｎｔ１の反転信号である。
【００３９】
ＦＦ２０は、ラッチ信号の立ち下がりに応じて、その時にＦＦ１８から出力されているセルのデータをラッチする。この４ビットデータは、ＦＦクロックの立ち上がりに応じてシフトされてScan Outとして外部に出力される。テスタは、出力されたScan Outをストローブする。
【００４０】
図８は、第１実施形態において、マーチパターンでＦＢＭ取得試験を行う場合の動作を説明する図である。ここでは、説明を簡単にするため、ＳＲＡＭ１８はAddress0からAddress7の８セルを有するとして説明する。
【００４１】
第１ステップですべてのセルに０を書き込む。
【００４２】
第１サイクルの第２ステップでは、Address0からAddress7の順にセルにアクセスしてデータを読み出すと共に１を書き込む。この間に、Address0とAddress4のセルから読み出したデータを外部にScan Outとして出力する。この時、Address0のセルから読み出したデータはAddress4のデータの読み出しを開始するまでに、Address4のセルから読み出したデータは第３ステップでAddress7のデータの読み出しを開始するまでに外部に出力する。第１サイクルの第３ステップでは、Address7からAddress0の順にセルにアクセスしてデータを読み出すと共に０を書き込む。この間に、Address7とAddress3のセルから読み出したデータを外部にScan Outとして出力する。この時、Address7のセルから読み出したデータをAddress3のデータの読み出しを開始するまでに、Address3のセルから読み出したデータを第２サイクルの第２ステップでAddress1のデータの読み出しを開始するまでに外部に出力する。
【００４３】
第２サイクルから第４サイクルでは、外部に読み出すセルのアドレスをずらして、ダイ１サイクルと同様の動作を行う。具体的には、第２サイクルの第２ステップでは、Address1とAddress5のセルのデータを、第２サイクルの第３ステップでは、Address6とAddress2のセルのデータを、第３サイクルの第２ステップでは、Address2とAddress6のセルのデータを、第３サイクルの第３ステップでは、Address5とAddress1のセルのデータを、第４サイクルの第２ステップでは、Address3とAddress7のセルのデータを、第４サイクルの第３ステップでは、Address4とAddress0のセルのデータを、外部に読み出す。
【００４４】
以上のように、４サイクルを行うことにより、全セルからの読み出しデータを取得できる。なお、ここでは、各サイクルを連続して行ったが、各サイクルの間に第１ステップ、すなわちすべてのセルに０を書き込むステップを設けてもよい。
【００４５】
図９は、第２実施形態の集積回路内の設けられるメモリ１７の構成を示す図である。第２実施形態の集積回路は、コンピュータシステムを搭載したＳｏＣである。第１実施形態の集積回路と同様に、メモリ１７は、ＳｏＣ内のＣＰＵ、論理回路またはＤＳＰからアクセスされ、外部からは直接アクセスできない。
【００４６】
図９に示すように、第２実施形態の集積回路は、メモリ１７のＲＡＭ−ＢＩＳＴ回路にＰＬＬ回路が設けられていないことが第１実施形態と異なる。すなわち、第２実施形態の集積回路は、メモリ１７は、ＳＲＡＭ１８を含むＳＲＡＭユニット２１と、ＳＲＡＭ１８の試験を行うためのＲＡＭ−ＢＩＳＴ回路と、を有する。ＳＲＡＭユニット２１は、ＳＲＡＭ１８と、マルチプレクサＭｕｘ１９と、ラッチ回路（ＦＦ）２０と、を有する。ＲＡＭ−ＢＩＳＴ回路は、メモリテストコントローラ（ＭＴＣ）２３と、テストパターン発生回路（ＴＰＧ）２４と、ラッチ制御回路４１と、を有する。ラッチ制御回路４１の構成も、第１実施形態と同じである。
【００４７】
第２実施形態では、外部から高速のテスタクロックが供給され、テスタクロックがそのままＳＲＡＭユニット２１、ＭＴＣ２３、ＴＰＧ２４などに供給される。従って、ＳＲＡＭ１８は、テスタクロックに同期して動作する。言い換えれば、第１実施形態ではＰＬＬクロックで動作していたのに対して、第２実施形態ではテスタクロックで動作することが異なる。
【００４８】
図１０は、図９の回路の動作を示すタイムチャートである。図７と比較して明らかなように、図１０では、図７のＰＬＬクロックの代わりにテスタクロックが使用されていることが異なる。ほかの部分は同じである。
【００４９】
図１１は、第３実施形態の集積回路内の設けられるメモリ１７の構成を示す図である。第３実施形態の集積回路は、コンピュータシステムを搭載したＳｏＣである。第２実施形態の集積回路と同様に、メモリ１７は、ＳｏＣ内のＣＰＵ、論理回路またはＤＳＰからアクセスされ、外部からは直接アクセスできない。
【００５０】
図１１に示すように、第３実施形態の集積回路は、ＲＡＭ−ＢＩＳＴ回路のラッチ制御回路のカウンタが、リニアフィードバックシフトレジスタ（ＬＦＳＲ）７０であることが第２実施形態と異なり、ほかの部分は第２実施例と同じである。
【００５１】
リニアフィードバックシフトレジスタは、比較的長周期の乱数列を発生する回路で、例えば特許文献４などに記載されている。
【００５２】
第３実施形態は、リニアフィードバックシフトレジスタを使用する以外が第２実施形態と同じなので説明は省略する。
【００５３】
以上実施形態を説明したが、開示した実施形態は説明のために例示したに過ぎず、開示の技術はこれに限定されるものではない。
【００５４】
例えば、マーチパターンを使用してＦＢＭ取得試験を行う例を説明したが、ほかのパターンを使用することも可能である。
【００５５】
また、良否判定試験で使用するＲ０とＲ１のデータ保持するＦＦを利用する例を説明したが、前述のように、良否判定試験は１個のフリップフロップを有するＦＦで行なうことも可能であり、ＦＢＭ取得試験でも、ＦＦ２０は通常のフリップフロップを１個有するだけでもよい。
【００５６】
また、開示の技術は、ＳＲＡＭを使用する例を説明したが、ほかの書き換え可能なメモリを有する集積回路に適用できる。
【００５７】
また、ここではＳｏＣを例として説明したが、外部から直接アクセスできないメモリを有する集積回路であれば、開示の技術を適用できる。
【図面の簡単な説明】
【００５８】
【図１】図１は、外部から直接アクセスできないメモリおよびメモリの組み込み試験（ＢＩＳＴ）回路を有する集積回路（ＳｏＣ）の構成例を示す図である。
【図２】図２は、ＳＲＡＭの構成と、不良セルの発生例を示す図である。
【図３】図３は、ＢＩＳＴ回路を使用した従来の良否判定試験とＦＢＭ取得試験を説明する図である。
【図４】図４は、第１実施形態の集積回路の構成と、試験システムの構成を示す図である。
【図５】図５は、第１実施形態におけるＦＢＭ取得試験シーケンスを説明するタイムチャートである。
【図６】図６は、第１実施形態のメモリのＢＩＳＴ回路の具体的構成を示す図である。
【図７】図７は、図６のＢＩＳＴ回路の動作を示すタイムチャートである。
【図８】図８は、第１実施形態におけるＦＢＭ取得試験シーケンスを説明する図である。
【図９】図９は、第２実施形態のＢＩＳＴ回路を有するメモリの構成を示す図である。
【図１０】図１０は、図９のＢＩＳＴ回路の動作を示すタイムチャートである。
【図１１】図１１は、第３実施形態のＢＩＳＴ回路を有するメモリの構成を示す図である。
【符号の説明】
【００５９】
１０    集積回路（ＳｏＣ）
１１Ｅ，１１Ｆ    Ｉ／Ｏポート
１７    ＢＩＳＴ回路を有するメモリ
１８    ＳＲＡＭ
２０    フリップフロップ（ＦＦ）
２２    ＰＬＬ回路
２３    メモリテストコントローラ（ＭＴＣ）
２４    テストパターン発生回路（ＴＰＧ）
４１    ラッチ制御回路
【図１】
2010040085.tif 000003
【図２】
2010040085.tif 000004
【図３】
2010040085.tif 000005
【図４】
2010040085.tif 000006
【図５】
2010040085.tif 000007
【図６】
2010040085.tif 000008
【図７】
2010040085.tif 000009
【図８】
2010040085.tif 000010
【図９】
2010040085.tif 000011
【図１０】
2010040085.tif 000012
【図１１】
2010040085.tif 000013