(57)【要約】【課題】製造後であっても、同時にテストするメモリの数および組み合わせを変更することのできる半導体集積回路およびそのテスト方法を提供する。【解決手段】テストシーケンス制御部１が、外部からのテストシーケンス設定に従ってメモリＭＥＭ１〜ＭＥＭｎのテストシーケンスを制御し、メモリアクセス制御部２が、テストシーケンス制御部１からの指示に従ってチップイネーブル信号ＣＥ１〜ＣＥｎの有効／無効を切り替え、メモリＭＥＭ１〜ＭＥＭｎへのアクセスを制御する。【選択図】図１
2010250905.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリと、
外部からの設定に従って前記複数のメモリのテストシーケンスを制御するテストシーケンス制御手段と、
前記テストシーケンス制御手段からの指示に従って前記複数のメモリへのアクセスを制御するメモリアクセス制御手段と
を備えることを特徴とする半導体集積回路。
【請求項２】
前記テストシーケンス制御手段からの指示に従って前記複数のメモリへ供給するテストデータを生成するテストデータ生成手段を備える
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記複数のメモリがクロック同期式であるときに、
前記テストシーケンス制御手段による前記テストシーケンス実行中に前記複数のメモリへ入力するクロックの位相をそれぞれ異ならせるクロック位相調整手段を備える
ことを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
内蔵する複数のメモリのテストシーケンスを制御するテストシーケンス制御手段を有する半導体集積回路のテスト方法であって、
前記複数のメモリのそれぞれを単体でテストする単体テストデータを生成するステップと、
前記単体テストデータを用いて前記半導体集積回路のシミュレーションを実行するステップと、
前記シミュレーションの結果から、ぞれぞれの前記単体テストデータによるテスト実行時の前記半導体集積回路の消費電流を解析するステップと、
前記消費電流の解析結果にもとづいて、前記複数のメモリのテストシーケンスを生成するステップと、
前記テストシーケンスを前記テストシーケンス制御手段へ設定するステップと
を備えることを特徴とするテスト方法。
【請求項５】
さらに、前記半導体集積回路に内蔵されるテストデータ生成手段が前記単体テストデータを生成するステップを備える
ことを特徴とする請求項４に記載のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路およびそのテスト方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路の大規模化、高機能化に伴い、１つの半導体集積回路に多くのメモリが搭載されることがある。
【０００３】
そのような複数のメモリが搭載された半導体集積回路のテストを行う場合、ロジック部のテストとメモリのテストを分けて行うのが一般的である。これは、メモリには様々な不良モードがあるため、メモリ専用のテストパターンを作成した方が効率的にテストできるからである。
【０００４】
このようなメモリのテストを行う際、１つずつテストを行うと、テスト時間が長くなる。そこで、従来、複数のメモリを並行して行えるようにした半導体集積回路が提案されている（例えば、特許文献１参照。）。
【０００５】
この提案の半導体集積回路では、メモリへのアクセスを制御する制御回路を設けて、複数のメモリを並行にテストできるようにしている。複数のメモリを並行にテストすることにより、メモリテストの時間を短縮することができる。
【０００６】
しかし、クロック同期のメモリの場合、複数のメモリを同時に動作させると、クロックのエッジで複数のメモリに一斉に電流が流れ、半導体集積回路の電源配線に、いわゆるＩＲドロップによる電源電圧の低下が生じる。このＩＲドロップによる電源電圧の低下が大きい場合、テスト中のメモリの誤動作を避けるため、クロックの周波数を下げる必要が生じる。その結果、メモリを実動作スピードでテストすることが困難になる、という問題が発生する。
【０００７】
その場合、同時にテストするメモリの数を少なくすれば、ＩＲドロップによる問題を回避することができる。ところが、上述の提案の半導体集積回路のように、複数のメモリを並列に動作させる制御回路が組み込まれている場合、半導体集積回路の製造後にＩＲドロップによる問題が発生することが判明しても、同時にテストするメモリの数を少なくすることができない、という問題があった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−２７３８００号公報  （第４ページ、図２）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
そこで、本発明の目的は、製造後であっても、同時にテストするメモリの数および組み合わせを変更することのできる半導体集積回路およびそのテスト方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様によれば、複数のメモリと、外部からの設定に従って前記複数のメモリのテストシーケンスを制御するテストシーケンス制御手段と、前記テストシーケンス制御手段からの指示に従って前記複数のメモリへのアクセスを制御するメモリアクセス制御手段とを備えることを特徴とする半導体集積回路が提供される。
【００１１】
また、本発明の別の一態様によれば、内蔵する複数のメモリのテストシーケンスを制御するテストシーケンス制御手段を有する半導体集積回路のテスト方法であって、前記複数のメモリのそれぞれを単体でテストする単体テストデータを生成するステップと、前記単体テストデータを用いて前記半導体集積回路のシミュレーションを実行するステップと、前記シミュレーションの結果から、ぞれぞれの前記単体テストデータによるテスト実行時の前記半導体集積回路の消費電流を解析するステップと、前記消費電流の解析結果にもとづいて、前記複数のメモリのテストシーケンスを生成するステップと、前記テストシーケンスを前記テストシーケンス制御手段へ設定するステップとを備えることを特徴とするテスト方法が提供される。
【発明の効果】
【００１２】
本発明によれば、製造後であっても、ＩＲドロップの影響を考慮して、同時にテストするメモリの数および組み合わせを変更することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１に係る半導体集積回路の構成の例を示すブロック図。
【図２】本発明の実施例の半導体集積回路に含まれるメモリのテストシーケンス生成フローの例を示すフロー図。
【図３】テストシーケンスの生成例を示す図。
【図４】本発明の実施例の半導体集積回路に含まれるメモリの構成の例を示す図。
【図５】図４に示す構成のメモリのテストシーケンスの例を示す図。
【図６】本発明の実施例２に係る半導体集積回路の構成の例を示すブロック図。
【図７】本発明の実施例３に係る半導体集積回路の構成の例を示すブロック図。
【図８】実施例３の半導体集積回路のクロック位相調整部の動作の例を示す波形図。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【実施例１】
【００１５】
図１は、本発明の実施例１に係る半導体集積回路の構成の例を示すブロック図である。
【００１６】
本実施例の半導体集積回路は、ｎ個のメモリＭＥＭ１〜ＭＥＭｎと、外部からのテストシーケンス設定に従ってメモリＭＥＭ１〜ＭＥＭｎのテストシーケンスを制御するテストシーケンス制御部１と、テストシーケンス制御部１からの指示に従ってメモリＭＥＭ１〜ＭＥＭｎへのアクセスを制御するメモリアクセス制御部２と、を備える。
【００１７】
メモリＭＥＭ１〜ＭＥＭｎは、ＲＡＭやＲＯＭなどであり、それぞれチップイネーブル端子ＣＥを有する。チップイネーブル端子ＣＥへ入力される信号が有効であるときに、メモリＭＥＭ１〜ＭＥＭｎは動作する。テスト時には、それぞれのメモリに対するテストデータによりアドレスが指定され、ＲＡＭであれば、テストパターンの書き込みおよび読み出し動作がテストされ、ＲＯＭであれば、読み出し動作がテストされる。
【００１８】
テストシーケンス制御部１は、例えば、外部からのテストシーケンス設定に従って書き換えられるファームウェアを内蔵しており、メモリＭＥＭ１〜ＭＥＭｎをテストする順番や同時にテストするメモリの個数を制御する。
【００１９】
メモリアクセス制御部２は、テストシーケンス制御部１から指定されたタイミングで、メモリＭＥＭ１〜ＭＥＭｎへ入力するチップイネーブル信号ＣＥ１〜ＣＥｎの有効／無効を切り替える。
【００２０】
メモリＭＥＭ１〜ＭＥＭｎをテストするとき、同時に多くのメモリをテストできればテスト時間を短縮できる。しかし、多くのメモリを同時にテストするほど、半導体集積回路の消費電流が増大し、その値がある値を超えると、ＩＲドロップによる誤動作が発生する。
【００２１】
そこで、本実施例では、ＩＲドロップを許容できる消費電流の上限値を定め、その上限値の範囲内で、できるだけ多くのメモリを同時にテストできるよう、メモリテストのテストシーケンスをプログラムする。
【００２２】
このテストシーケンスのプログラムは、テストシーケンス制御部１へ外部端子を使って書き込めるため、半導体集積回路の製造後であっても、テストシーケンスの組み換えを自由に行うことができる。
【００２３】
図２は、上述のテストシーケンスを生成するフローの例を示すフロー図である。
【００２４】
本フローでは、まず、メモリＭＥＭ１〜ＭＥＭｎのそれぞれを単体でテストする単体テストデータを生成する（ステップＳ０１）。
【００２５】
次に、その単体テストデータを用いて半導体集積回路のシミュレーションを実行する（ステップＳ０２）。
【００２６】
続いて、そのシミュレーションの結果から、ぞれぞれの単体テストデータによるテスト実行時の半導体集積回路の消費電流を解析し、それぞれのメモリの消費電流を算出する（ステップＳ０３）。
【００２７】
次に、その消費電流の解析結果にもとづいて、その上限値の範囲内で、できるだけ多くのメモリを同時にテストできるよう、同時にテストするメモリの組み合わせやテストする順番を制御するテストシーケンスを生成する（ステップＳ０４）。
【００２８】
最後に、そのテストシーケンスを、例えば、ファームウェアのプログラムにして、テストシーケンス制御部１へ設定する（ステップＳ０５）。
【００２９】
図３に、上述のフローにより生成されたテストシーケンスの例を示す。
【００３０】
例えば、半導体集積回路に、同じメモリ容量の８個のメモリＭＥＭ１〜ＭＥＭ８が内蔵されていたときに、それぞれのメモリをテストする単体テストパターンを作成すると、それぞれのメモリのテスト時間は同じ長さとなる。したがって、ＭＥＭ１〜ＭＥＭ８の総てを同時にテストできれば、メモリのテスト時間は最短となる。
【００３１】
そこで、それぞれのメモリのテスト時の消費電流を算出して、８個同時のテストが可能かどうか検証する。その結果、図３（ａ）に示すように、５個以上のメモリを同時にテストすると、その合計の消費電流が、ＩＲドロップを許容できる上限値を超えることが判明したとする。
【００３２】
これより、８個同時のテストは不可と判定し、この場合、同時に４個のメモリをテストするよう、テストシーケンスを組み立てる。すなわち、まず、ＭＥＭ１〜ＭＥＭ４を同時にテストし、その後ＭＥＭ５〜ＭＥＭ８を同時にテストするようにした、テストシーケンスを生成する。
【００３３】
図４は、別のメモリの組み合わせの例である。この場合、メモリＭＥＭ１とメモリＭＥＭ２は同じ大きさのアドレス空間を有し、メモリＭＥＭ３はメモリＭＥＭ１の２倍のアドレス空間を有しているものとする。したがって、この場合、単体のメモリテストを行うと、メモリＭＥＭ３のテスト時間は、メモリＭＥＭ１のテスト時間の２倍掛かる。一方、メモリＭＥＭ２のテスト時間は、メモリＭＥＭ１のテスト時間と同じ長さである。
【００３４】
この場合も、まず、３個のメモリの同時テストが可能かどうか検証する。その結果、図５（ａ）に示すように、その消費電流の合計が、２個同時までは上限値を超えないが、３個同時にテストすると、上限値を超えることが判明したとする。
【００３５】
そこで、この場合、２個同時にテストするよう、テストシーケンスを組み立てる。その場合、テスト時間の違いに考慮して、同時にテストするメモリの組み合わせを決定する。
【００３６】
すなわち、図５（ｂ）に示すように、まず、メモリＭＥＭ３とメモリＭＥＭ１を同時にテストし、メモリＭＥＭ１のテスト終了後、メモリＭＥＭ３のテストを継続しながらメモリＭＥＭ２のテストを同時に行うよう、テストシーケンスを生成する。
【００３７】
このような本実施例によれば、テストシーケンスを外部から設定できるため、半導体集積回路の製造後であっても、メモリテストのテストシーケンスの組み換えを自由に行うことができる。
【００３８】
また、テスト時のメモリの消費電流の合計がＩＲドロップを許容できる上限値を超えないよう、同時にテストするメモリの個数を決定するため、ＩＲドロップによる誤動作防止のための動作速度の緩和を行う必要がなく、実動作スピードでのメモリテストを行うことができる。
【００３９】
また、テスト時間の長さの違いを考慮して、同時にテストするメモリの組み合わせを決定するため、メモリテストに要する時間を短縮することができる。
【実施例２】
【００４０】
図６は、本発明の実施例２に係る半導体集積回路の構成の例を示すブロック図である。
【００４１】
本実施例の半導体集積回路は、実施例１の半導体集積回路に、テストデータ生成部３を追加したものである。
【００４２】
テストデータ生成部３は、メモリＢＩＳＴ（Built  In  Self  Test）回路を備えており、メモリＭＥＭ１〜ＭＥＭｎへ供給するテストデータを、テストシーケンス制御部１からの指示に従って生成し、テスト対象のメモリへ供給する。
【００４３】
このような本実施例によれば、テストシーケンスに応じて、テスト対象のメモリへ供給するテストデータが半導体集積回路の内部で自動的に生成されるので、テストデータ作成に要する時間を削減することができる。
【実施例３】
【００４４】
図７は、本発明の実施例３に係る半導体集積回路の構成の例を示すブロック図である。
【００４５】
本実施例の半導体集積回路は、メモリＭＥＭ１〜ＭＥＭｎがクロック同期式であるとき、テストシーケンス制御部１によるテストシーケンス実行中にそれぞれのメモリへ供給するクロックの位相を調整する位相調整部４を設けたものである。
【００４６】
クロック位相調整部４は、入力クロックＣＫからの位相をそれぞれ異ならせて、メモリＭＥＭ１〜ＭＥＭｎへ供給するクロックＣＫ１〜ＣＫｎを生成する。
【００４７】
クロック同期式のメモリの場合、クロックの動作エッジに瞬間的に多量の電流が流れる。したがって、テストシーケンス制御部１によるテストシーケンスに実行時に、複数のメモリを同時にテストする場合、それぞれのメモリのクロックが同位相であると、消費電流のピークが重なって、ＩＲドロップが大きくなる。
【００４８】
そこで、本実施例では、メモリＭＥＭ１〜ＭＥＭｎへ供給するクロックＣＫ１〜ＣＫｎの位相を少しずつずらし、メモリテスト時に複数のメモリを同時にテストしても、消費電流のピークが重ならないようにする。
【００４９】
図８に、クロック位相調整部４の動作の例を波形図で示す。
【００５０】
クロック位相調整部４から出力されるクロックＣＫ１〜ＣＫｎの位相は、少しずつずれており、これにより、メモリＭＥＭ１〜ＭＥＭｎの消費電流のピークも少しずつずれる。これにより、複数のメモリを同時にテストしても、消費電流のピークが重なることがなく、ＩＲドロップの大きさを低減させることができる。
【００５１】
このような本実施例によれば、複数のメモリを同時にテストしたときのＩＲドロップの大きさを低減させることができるので、メモリテスト時の動作マージンを大きくすることができる。
【００５２】
また、消費電流のピークが重ならないので、より多くのメモリを同時にテストすることができ、テスト時間を短縮することができる。
【００５３】
なお、図７では、実施例２のメモリＭＥＭ１〜ＭＥＭｎがクロック同期式の場合の例を示したが、実施例１のメモリＭＥＭ１〜ＭＥＭｎがクロック同期式の場合も、本実施例と同様、位相調整部４を設けることにより、それぞれのメモリへ供給するクロックの位相を調整することができる。
【符号の説明】
【００５４】
１  テストシーケンス制御部
２  メモリアクセス制御部
３  テストデータ生成部
４  クロック位相調整部
ＭＥＭ１〜ＭＥＭｎ  メモリ
【図１】
2010250905.tif 000003
【図２】
2010250905.tif 000004
【図３】
2010250905.tif 000005
【図４】
2010250905.tif 000006
【図５】
2010250905.tif 000007
【図６】
2010250905.tif 000008
【図７】
2010250905.tif 000009
【図８】
2010250905.tif 000010