(57)【要約】本発明の集積回路装置は、通常動作時において、制御パルスに応答して入力アドレスをラッチし、入力アドレスに対応するデータ出力を生成するメモリマクロと、テスト時において、メモリマクロの特性試験を行うテスト制御回路（２２）とを有する。そして、テスト時において、入力パルスに応答してテスト用制御パルスを生成するパルス発生回路とメモリマクロとを有するメモリマクロユニット（ＲＭＵ１，２，３）を１以上の所定段数接続してリングオシレータを構成し、テスト制御回路がリングオシレータの発振周波数または周期を測定する。メモリマクロのデータ出力を後段のパルス発生回路に供給して制御パルスを発生させることで、メモリマクロからなるリングオシレータが発振動作する。この発振周期を所定段数で除算し、パルス発生回路の遅延時間を除去することで、メモリマクロのアクセスタイムを高精度に測定することができる。
2005008677.tif 000002
【特許請求の範囲】
【請求項１】
メモリマクロを内蔵する集積回路装置において、
供給される制御パルスに応答してデータ出力信号を出力するメモリマクロと、
前記メモリマクロの特性を測定するテスト回路とを有し、
前記テスト回路は、テスト時において、
入力パルスに応答してテスト用制御パルスを生成するパルス発生回路と、当該テスト用制御パルスに応答して第１及び第２のデータ出力信号を交互に出力する前記メモリマクロとでメモリマクロユニットを構成し、
少なくとも１以上の所定数段の前記メモリマクロユニットを縦列に接続し、且つ最終段のメモリマクロユニットの出力を初段のメモリマクロユニットの入力にフィードバックしてリングオシレータを構成し、当該リングオシレータの発振周波数または周期を測定することを特徴とする集積回路装置。
【請求項２】
請求の範囲第１項において、
前記メモリマクロユニット内の前記メモリマクロは、第１のアドレスに第１のデータが記憶され、第２のアドレスに第１のデータと逆極性の第２のデータが記憶され、前記データ出力信号が当該メモリマクロの入力アドレスとしてフィードバックされ、前記第１のデータのフィードバックにより前記入力アドレスが第２のアドレスになり、前記第２のデータのフィードバックにより前記入力アドレスが前記第１のアドレスになることを特徴とする集積回路装置。
【請求項３】
請求の範囲第１項において、
前記テスト回路は、前記パルス発生回路への前記入力パルスの供給から前記テスト用制御パルスの発生までの遅延時間を測定する手段を有し、前記リングオシレータの発振周波数または周期から、当該制御パルス発生回路の遅延時間を除去することを特徴とする集積回路装置。
【請求項４】
請求の範囲第１項において、
前記パルス発生回路は、前記入力パルスのフォワードエッジとバックエッジそれぞれに応答して前記テスト用制御パルスを生成することを特徴とする集積回路装置。
【請求項５】
請求の範囲第１項において、
前記テスト回路は、前記テスト用制御パルスのパルス幅を制御するパルス幅制御信号を生成し、
前記パルス発生回路は、前記パルス幅制御信号に応じて前記テスト用制御パルスのパルス幅を変更して出力し、
前記テスト回路は、前記リングオシレータの発振の有無を検出することを特徴とする集積回路装置。
【請求項６】
請求の範囲第１項において、
前記テスト回路は、少なくとも第１、第２、第３のメモリマクロユニットを縦列に接続してリングオシレータを構成し、
前記第１のメモリマクロユニット内のメモリマクロのアドレス端子に、前記第２のメモリマクロユニットのメモリマクロのデータ出力信号を可変遅延回路を介して供給し、
前記テスト回路は、前記可変遅延回路の遅延時間を可変制御し、当該可変制御に応じて前記リングオシレータの発振の有無を検出することを特徴とする集積回路装置。
【請求項７】
請求の範囲第１項において、
前記テスト回路は、少なくとも第１、第２、第３のメモリマクロユニットを縦列に接続してリングオシレータを構成し、
前記第１のメモリマクロユニット内のメモリマクロのアドレス端子に、前記第３のメモリマクロユニットのＲＡＭマクロのデータ出力信号を可変遅延回路を介して供給し、
前記テスト回路は、前記可変遅延回路の遅延時間を可変制御し、当該可変制御に応じて前記リングオシレータの発振の有無を検出することを特徴とする集積回路装置。
【請求項８】
請求の範囲第１項において、
前記テスト回路は、少なくとも第１、第２、第３のメモリマクロユニットを縦列に接続してリングオシレータを構成し、
前記第１のメモリマクロユニット内のメモリマクロのアドレス端子に、前記第２のメモリマクロユニットのメモリマクロのデータ出力信号を第１の可変遅延回路を介して、前記第３のメモリマクロユニットのメモリマクロのデータ出力信号を第２の可変遅延回路を介してそれぞれ供給し、
前記テスト回路は、前記第１または第２の可変遅延回路の遅延時間を可変制御し、当該可変制御に応じて前記リングオシレータの発振の有無を検出することを特徴とする集積回路装置。
【請求項９】
請求の範囲第１項において、
前記テスト回路は、少なくとも第１、第２のメモリマクロユニットを縦列に接続してリングオシレータを構成し、
前記第１のメモリマクロユニット内のメモリマクロのアドレス端子に、前記第２のメモリマクロユニットのメモリマクロのデータ出力信号を可変遅延回路を介して供給し、
前記テスト回路は、前記可変遅延回路の遅延時間を可変制御し、当該可変制御に応じて前記リングオシレータの発振の有無を検出することを特徴とする集積回路装置。
【請求項１０】
請求の範囲第１項において、
前記テスト回路は、第１のメモリマクロユニットの出力を入力に接続してリングオシレータを構成し、
前記第１のメモリマクロユニット内のメモリマクロのアドレス端子に、前記第１のメモリマクロユニットのメモリマクロのデータ出力信号を可変遅延回路を介して供給し、
前記テスト回路は、前記可変遅延回路の遅延時間を可変制御し、当該可変制御に応じて前記リングオシレータの発振の有無を検出することを特徴とする集積回路装置。
【請求項１１】
メモリマクロを内蔵する集積回路装置において、
通常動作時において、制御パルスに応答して入力アドレスをラッチし、入力アドレスに対応するデータ出力を生成するメモリマクロと、
テスト時において、前記メモリマクロの特性試験を行うテスト制御回路とを有し、
テスト時において、入力パルスに応答してテスト用制御パルスを生成するパルス発生回路と前記メモリマクロとを有するメモリマクロユニットを１以上の所定段数接続してリングオシレータを構成し、前記テスト制御回路が当該リングオシレータの発振周波数または周期を測定することを特徴とする集積回路装置。
【請求項１２】
請求の範囲第１１項において、
前記テスト制御回路は、前記パルス発生回路のパルス幅を可変制御し、前記リングオシレータの発振の有無を監視することを特徴とする集積回路装置。
【請求項１３】
請求の範囲第１１項において、
更に、前記リングオシレータにより発振するクロックパルスを遅延させていずれかのメモリマクロユニットのテスト用アドレスとして供給する可変遅延回路を有し、
前記テスト制御回路は、前記可変遅延回路の遅延量を可変制御しながら、前記リングオシレータの発振の有無を監視することを特徴とする集積回路装置。
【発明の詳細な説明】
【技術分野】  本発明は、内蔵されるメモリマクロのＡＣ特性を測定するテスト回路を有する集積回路装置に関し、特に、ＲＡＭマクロのアクセス時間の測定精度を上げ、更に、制御クロックのクロック幅、制御クロックに対するセットアップタイム及びホールドタイムの特性値を測定することができるテスト回路を有する集積回路装置に関する。
【背景技術】  論理回路に加えてＲＡＭなどのメモリマクロを内蔵するＡＳＩＣ品のような集積回路装置は、内蔵されるＲＡＭマクロのアクセスタイムなどのＡＣ特性を精度良くテストすることが求められる。この測定を外部テスタ装置により行うために、ＲＡＭマクロの入力段と出力段にフリップフロップを配置し、第１のクロックに応答して入力段フリップフロップからＲＡＭマクロに制御クロックを入力し、第２のクロックで出力段フリップフロップにＲＡＭマクロの出力を取り込むことが提案されている。
図１は、かかる従来のＲＡＭマクロの測定方法を示す図である。集積回路装置１０に内蔵されるＲＡＭマクロ１４の入力段に第１のフリップフロップ１２を、出力段に第２のフリップフロップ１６をそれぞれ設け、第１のフリップフロップ１２に外部テスタ装置１８からの入力信号Ｓ１２を第１のクロックＳ１のタイミングで取り込みＲＡＭマクロ１４への制御クロックＣＬＫｔを入力する。更に、第２のフリップフロップ１６に第２のクロックＳ２のタイミングでＲＡＭマクロのデータ出力Ｄｏｕｔを取り込み外部テスタ装置１８に供給する。第１のクロックＳ１を基準にして第２のクロックＳ２のタイミングを変更しながらどのタイミングで正しいデータ出力Ｄｏｕｔを得ることができるかにより、ＲＡＭマクロ１４のアクセスタイムを測定する。
ＲＡＭマクロは、制御クロックＣＬＫｔに同期して読み出し動作を開始し、所定のアクセスタイム後に読み出しデータ出力Ｄｏｕｔを出力する。読み出しデータがＨレベルからＬレベルに、またはＬレベルからＨレベルに変化するようにアドレスＡｄｄを選択することにより、データ出力Ｄｏｕｔの出力タイミングを検出することができる。
更に、例えば、特開２００１−２０８８０４号公報には、集積回路装置内に上記第１のクロックＳ１と第２のクロックＳ２とを生成する回路を内蔵し、内蔵する遅延可変制御回路により第２のクロックＳ２のタイミングを変更しながら、同様の測定を行うことが提案されている。
しかしながら、ＲＡＭマクロの前後に設けたフリップフロップ間の遅延時間を測定する方法では、テスタ装置の制御クロックＳ１，Ｓ２を生成する精度や、その制御クロックＳ１，Ｓ２の対応するフリップフロップまでの遅延時間の差、更に、フリップフロップそのものの動作精度などの要因により、測定値に数１００ｐｓｅｃオーダの誤差が生じている。ＳＲＡＭなどの高速ＲＡＭのアクセス時間は例えば１ｎｓｅｃ程度であり、上記の測定誤差は無視することができないオーダである。
そこで、本発明の目的は、内蔵されるＲＡＭマクロのＡＣ特性を高精度に測定を行うことができる内部テスタ回路を有する集積回路装置を提供することにある。
更に、本発明の別の目的は、内蔵されるＲＡＭもクロックのアクセスタイムを高精度に測定し、制御パルス（または制御クロック）のパルス幅、制御パルス（または制御クロック）に対するセットアップタイム及びホールドタイムの特性値を高精度に測定することができる内部テスタ回路を有する集積回路装置を提供することにある。
【発明の開示】
本発明の第１の側面は、集積回路装置において、通常動作時において、制御パルスに応答して入力アドレスをラッチし、入力アドレスに対応するデータ出力を生成するメモリマクロと、テスト時において、メモリマクロの特性試験を行うテスト制御回路とを有する。そして、テスト時において、入力パルスに応答してテスト用制御パルスを生成するパルス発生回路とメモリマクロとを有するメモリマクロユニットを１以上の所定段数接続してリングオシレータを構成し、テスト制御回路がリングオシレータの発振周波数または周期を測定する。
第１の側面によれば、メモリマクロのデータ出力を後段のパルス発生回路に供給して制御パルスを発生させることで、メモリマクロからなるリングオシレータが発振動作する。この発振周期を所定段数で除算し、パルス発生回路の遅延時間を除去することで、メモリマクロのアクセスタイムを高精度に測定することができる。
上記本発明の第１の側面の好ましい実施例では、上記パルス発生回路のパルス幅を可変制御可能にし、制御パルス幅を可変制御しながら、リングオシレータの発振状態を監視する。これにより、制御パルスのパルス幅の限界値を測定することができる。
更に、本発明の第１の側面の好ましい実施例では、リングオシレータ内の発振パルスの所定時間遅延する可変遅延回路を介してメモリマクロのテスト用アドレスとして供給する。この可変遅延回路の遅延時間を可変制御することで、メモリマクロのセットアップタイムやホールドタイムの限界値を測定することができる。
【図面の簡単な説明】  図１は、従来のＲＡＭマクロの測定方法を示す図である。
図２は、本実施の形態のテスト回路を内蔵する集積回路装置の構成図である。
図３は、ＲＡＭマクロを有するＲＡＭマクロユニットＲＭＵの構成図である。
図４は、パルス発生回路３２の構成と動作波形とを示す図である。
図５は、本実施の形態におけるテスト時のリングオシレータの動作を示す動作波形図である。
図６は、パルス発生回路３２における遅延時間を説明する図である。
図７は、制御クロックのパルス幅を可変制御できるパルス発生回路を示す図である。
図８は、本実施の形態におけるセットアップタイムの限界値を測定するテスト回路を示す図である。
図９は、セットアップタイムを測定するテスト動作を示す波形図である。
図１０は、本実施の形態におけるホールドタイムの限界値を測定するテスト回路を示す図である。
図１１は、ホールドタイムを測定するテスト動作を示す波形図である。
図１２は、２段でリングオシレータを構成したテスト回路を示す図である。
図１３は、１段でリングオシレータを構成したテスト回路を示す図である。
【発明を実施するための最良の形態】  以下、図面に従って本発明の実施の形態例を説明する。
図２は、本実施の形態のテスト回路を内蔵する集積回路装置の構成図である。この集積回路装置は、内部ロジック回路３０に加えてメモリマクロ、例えばＲＡＭマクロ（図示せず）が設けられている。そして、ＲＡＭマクロを内部に有するＲＡＭマクロユニットＲＭＵ１，２，３の出力ＯＵＴ１，２，３が後段のＲＡＭマクロユニットの入力ＩＮ２，３，１に接続されて縦列に接続され、最終段のＲＡＭマクロユニットＲＭＵ３の出力ＯＵＴ３が初段のＲＡＭマクロユニットＲＭＵ１の入力ＩＮ１にＮＡＮＤゲート２６とインバータ２８を介してフィードバックされ、リングオシレータが構成されている。
図３は、ＲＡＭマクロを有するＲＡＭマクロユニットＲＭＵの構成図である。ＲＡＭマクロ１４は、制御パルスである制御クロックＣＬＫに応答して、アドレスＡＤＤとデータ入力ＤｉｎとライトイネーブルＷＥとを入力する入力ラッチ回路１４１と、デコーダとメモリセルアレイと出力回路とを少なくとを有するメモリコア１４２とを有し、読み出しデータＤｏｕｔを出力する。ＲＡＭマクロユニットＲＭＵは、ＲＡＭマクロ１４に加えて、テスト用制御パルスＣＬＫｔを生成するパルス発生回路３２を有する。このパルス発生回路３２は、入力パルスＩＮのフォワードエッジとバックエッジの両方に応答してテスト用制御パルスＣＬＫｔを生成する。
また、ＲＡＭマクロ１４内には、入力側スイッチ回路ＳＷｉｎと出力側スイッチ回路ＳＷｏｕｔとが設けられている。これらのスイッチ回路は、通常動作時は、アドレス信号ＡｄｄとシステムクロックＳＣＬＫとを入力ラッチ回路１４１にアドレス信号ＡＤＤ及び制御クロックＣＬＫとして供給し、データ出力Ｄｏｕｔを出力する。一方、テスト時には、スイッチ回路ＳＷｉｎは、パルス発生回路３２が生成するテスト制御パルスＣＬＫｔを制御クロックＣＬＫとして入力し、スイッチ回路ＳＷｏｕｔは、読み出しデータ出力ＤｏｕｔをＲＡＭマクロユニットのデータ出力パルスＯＵＴとして出力する。また、データ出力パルスＯＵＴは、アドレス信号ＡＤＤの一部を構成するテスト用アドレスビットＴＡｄｄとして、入力側スイッチ回路ＳＷｉｎを介して入力ラッチ回路１４１に供給される。上記のスイッチ回路ＳＷｉｎ、ＳＷｏｕｔは、テスト切換信号ＴＳＷにより、上記の通常動作時とテスト時とに切り換えられる。
更に、メモリコア１４２には、第１のアドレス（ＴＡｄｄ＝Ｌレベル）に対応してＨレベルのデータが書き込まれ、第２のアドレス（ＴＡｄｄ＝Ｈレベル）に対応してＬレベルのデータが書き込まれている。従って、テスト時において、データ出力Ｄｏｕｔがテスト用アドレスＴＡｄｄとしてフィードバックされることにより、テスト用制御クロックＣＬＫｔが供給されるたびに、出力されるデータ出力Ｄｏｕｔは、ＨレベルとＬレベルとを交互に繰り返す。つまり、データ出力Ｄｏｕｔ＝ＴＡｄｄ＝Ｌレベルの状態で、テスト用制御パルスＣＬＫｔが供給されると、それに対応する第１アドレスのデータ出力Ｄｏｕｔ＝Ｈレベルが出力される。次に、テスト用制御パルスＣＬＫｔが供給されると、第２アドレスに対応するデータ出力Ｄｏｕｔ＝Ｌレベルが出力される。
図４は、パルス発生回路３２の構成と動作波形とを示す図である。パルス発生回路３２は、ＮＡＮＤゲート３２１，３２２，３２３と、インバータ３２４，３２６及び偶数段のインバータ列３２５とで構成される。インバータ３２４とインバータ列３２５及びＮＡＮＤゲート３２１により、入力パルスＩＮのフォワードエッジに応答してパルス信号が生成され、インバータ列３２５とインバータ３２６及びＮＡＮＤゲート３２２により、入力パルスＩＮのバックエッジ（つまりインバータ３２４の出力のフォワードエッジ）に応答してパルス信号が生成される。
入力ＩＮがＬレベルの状態では、偶数段インバータ列３２５の出力はＨレベルであり、入力パルスの立ち上がりエッジにより入力ＩＮがＨレベルになると、その瞬間にＮＡＮＤゲート３２１の出力がＬレベルになる。そして、インバータ３２４とインバータ列３２５の遅延時間後にインバータ列３２５の出力はＬレベルに変わり、ＮＡＮＤゲート３２１の出力がＨレベルに戻る。つまり、ＮＡＮＤゲート３２３の出力には、入力パルスＩＮのフォワードエッジに応答して、負のパルスが生成される。この時、ＮＡＮＤゲート３２２の出力はＨレベルに固定されているので、ＮＡＮＤゲート３２３の負のパルスがＮＡＮＤゲート３２３を反転して通過し、テスト用制御パルスＣＬＫｔが生成される。
入力パルスＩＮのバックエッジでは、上記と逆に、インバータ列３２５とインバータ３２６及びＮＡＮＤゲート３２２により、ＮＡＮＤゲート３２２の出力に負のパルスが生成され、その負のパルスがＮＡＮＤゲート３２３を反転して通過し、テスト用制御パルスＣＬＫｔが生成される。その結果、図４に示されるとおり、入力パルスＩＮのフォワードエッジとバックエッジとに応答してテスト用制御パルスＣＬＫｔが生成される。
図２に戻り、ＲＡＭマクロユニットＲＭＵ１，２，３内のメモリコアには、前述のとおり、第１のアドレス（ＴＡｄｄ＝Ｌレベル）に対応してＨレベルのデータが書き込まれ、第２のアドレス（ＴＡｄｄ＝Ｈレベル）に対応してＬレベルのデータが書き込まれている。また、入力パルスＩＮのフォワードエッジとバックエッジそれぞれに応答して内蔵するＲＡＭマクロを制御する制御パルスＣＬＫｔが生成され、データ出力Ｄｏｕｔが出力される。従って、テスト時において、ＲＡＭマクロユニットＲＭＵ１，２，３は、それぞれ、入力パルスＩＮの両エッジに応答してＲＡＭマクロへの読み出し動作を開始し、出力ＯＵＴ１，２，３をＨレベルとＬレベルに交互に変化させる。そのため、３つのＲＡＭマクロユニットＲＭＵ１，２，３を縦列に接続し、最終段ユニットＲＭＵ３の出力ＯＵＴ３を初段にフィードバックするように接続することにより、ＲＡＭマクロユニットによるリングオシレータが構成される。
［ＲＡＭマクロのアクセスタイム］
図５は、本実施の形態におけるテスト時のリングオシレータの動作を示す動作波形図である。図２に示したテスト回路２２では、テストを行う前に、各ＲＡＭマクロにおいて、所定のアドレスにＨレベルとＬレベルを書き込む。この所定アドレスと書込データとの関係は、前述のとおり、第１アドレス（ＴＡｄｄ＝Ｌレベル）に対応してＨレベルのデータ、第２のアドレス（ＴＡｄｄ＝Ｈレベル）に対応してＬレベルのデータとなる。そして、ＲＡＭマクロユニットＲＭＵ１，ＲＭＵ２，ＲＭＵ３に対するアドレスをそれぞれ第１、第２、第１アドレスに設定した状態でシステムクロックＳＣＬＫを１パルス供給すると、それぞれのＲＡＭマクロユニットからデータ出力ＯＵＴ１＝Ｈ、ＯＵＴ２＝Ｌ、ＯＵＴ３＝Ｈが出力される。以上が初期化動作である。
その後、テスト制御回路２２が、外部からのテスト信号ＴＥＳＴに応答してテスト切換信号ＴＳＷをＨレベルにし、３個のＲＡＭマクロユニットによるリングオシレータを構成にする。この状態で、テストセット信号ＴＳＥＴはＬレベルであり、それによりセット回路２４はＮＡＮＤゲート２６の入力にＨレベルを供給している。そこで、テスト制御回路２２によりテストセット信号ＴＳＥＴがＨレベルに切り換えられると、ＮＡＮＤゲート２６の２入力は共にＨレベルになり、出力がＨレベルからＬレベルに切り替わり、インバータ２８により初段のＲＡＭマクロユニットＲＭＵ１の入力ＩＮ１がＬレベルからＨレベルに立ち上がる。
この入力ＩＮ１の変化に応答して、初段のＲＡＭマクロユニットＲＭＵ１内のパルス発生回路３２が、制御パルスＣＬＫｔ１を生成する。この制御パルスＣＬＫｔ１をトリガにして初段のＲＡＭマクロユニット内のＲＡＭマクロ１４はアドレスＡｄｄ，ＴＡｄｄ１（＝ＡＤＤ）を取り込み、リード動作を開始する。リード動作により所定のアクセス時間後にデータ出力ＯＵＴ１はＨレベルからＬレベルに切り換えられる。
この初段ユニットのデータ出力ＯＵＴ１の切り替わりが、２段目のＲＡＭマクロユニットＲＭＵ２の入力ＩＮ２として供給され、このＲＡＭマクロユニット内のパルス発生回路３２が制御パルスＣＬＫｔ２を生成する。この制御パルスＣＬＫｔ２をトリガにして、２段目のＲＡＭマクロ１４は、ＬレベルのアドレスＴＡｄｄ２を他のアドレスＡｄｄと共に取り込み、リード動作を行い、データ出力ＯＵＴ２をＨレベルに切り換える。３段目のＲＡＭマクロユニットＲＭＵ３も同様の動作を行って、データ出力ＯＵＴ３をＬレベルに切り換える。
最終段のＲＡＭマクロユニットＲＭＵ３のデータ出力ＯＵＴ３の変化は、ＮＡＮＤゲート２６とインバータ２８を介して、初段のユニットＲＭＵ１の入力ＩＮ１に供給され、その入力ＩＮ１の変化に応答して制御パルスＣＬＫｔ１が生成され、リード動作が行われ、データ出力ＯＵＴ１がＨレベルに切り替わる。これに続いて、２段目、３段目も同様のリード動作を行ってデータ出力ＯＵＴ２，ＯＵＴ３も順次切り替わる。
以上の動作により、３段のＲＡＭマクロユニットにより構成されるリングオシレータは発振動作を行うことになる。そこで、テスト制御回路２２は、例えば３段目のＲＡＭマクロユニットＲＭＵ３のデータ出力ＯＵＴ３を抽出し、その発振周波数または周期を測定する。
但し、リングオシレータには、３個のＲＡＭマクロ１４に加えて、パルス発生回路３２とＮＡＮＤゲート２６及びインバータ２８が含まれている。従って、これらの遅延時間を上記測定した周期から除去することが必要になる。また、ＲＡＭマクロ１４内の入出力段のスイッチＳＷｉｎ、ＳＷｏｕｔは、例えばＣＭＯＳトランスファーゲートなどで構成することにより殆ど遅延なしで切換えることができる。
図６は、パルス発生回路３２における遅延時間を説明する図である。パルス発生回路３２は、既に説明したとおり、入力ＩＮがＬレベルからＨレベルに立ち上がる時に、（Ａ）に示すＮＡＮＤゲート３２１、３２３の経路で制御パルスＣＬＫｔが生成され、入力ＩＮがＨレベルからＬレベルに立ち下がる時に、（Ｂ）に示すインバータ３２４、ＮＡＮＤゲート３２２、３２３の経路で制御パルスＣＬＫｔが生成される。従って、図２に示した３段のマクロユニットからなるリングオシレータでは、３つのＲＡＭマクロに加えて、７個のＮＡＮＤゲートと２または３個のインバータの遅延時間が発振周期に含まれる。
テスト制御回路２２は、インバータやＮＡＮＤゲートによるリングオシレータを内蔵して、それらの周期から遅延時間を求めても良いし、或いはあらかじめそれらの遅延時間データが与えられていても良い。いずれにしても、ＲＡＭマクロユニットによるリングオシレータの周期から、上記の遅延時間を除いた時間が、ＲＡＭマクロのアクセスタイムになる。
テスト制御回路２２は、上記のＲＡＭマクロのアクセスタイムを測定することに加えて、制御クロックパルスＣＬＫｔのパルス幅を可変制御してリングオシレータの発振動作が停止する限界を測定する。または、テスト制御回路２２は、アドレスＴＡｄｄの供給タイミングを可変制御して、ＲＡＭマクロの制御クロックパルスＣＬＫｔの立ち上がりエッジに対するセットアップタイムやホールドタイムを可変制御し、リングオシレータの発振動作が停止する限界を測定する。
上記のリングオシレータ動作の初期化動作では、３段のＲＡＭマクロユニットのデータ出力ＯＵＴ１，２，３をＨ、Ｌ、Ｈレベルになるように設定した。しかしながら、このデータ出力ＯＵＴ１，２，３は、全てＨレベルまたは全てＬレベルであってもよい。或いは、任意の組合せでも良い。各ＲＡＭマクロユニットに内蔵されるパルス発生回路は、入力ＩＮのフォワードエッジとバックエッジのいずれにも応答して制御パルスＣＬＫｔを生成するので、データ出力がアクセスされるたびにレベルの切り替わりが発生すれば良く、切り替わりの方向はいずれでも良い。
［制御クロックのパルス幅］
図７は、制御クロックのパルス幅を可変制御できるパルス発生回路を示す図である。図４に示したパルス発生回路のインバータ列３２５が可変遅延ユニット３２７に置き換えられている。そして、可変遅延ユニット３２７に対して遅延制御信号３２９を供給する遅延制御回路３２８が設けられている。遅延制御回路３２８は、制御信号ＣＮＴに応答して所定の遅延制御信号３２９を出力することにより、可変遅延ユニット３２７の遅延量を可変制御する。それ以外は、図４の回路と同じである。
このインバータ列の遅延時間は、制御パルスＣＬＫｔのパルス幅に対応する。従って、可変制御ユニット３２７の遅延量を長くすると、制御パルスＣＬＫｔのパルス幅が長くなり、可変制御ユニット３２７の遅延量を短くすると、制御パルスＣＬＫｔのパルス幅が短くなる。
そこで、本実施の形態では、図２の３段のＲＡＭマクロユニットのうち、初段のＲＡＭマクロユニットＲＭＵ１内のパルス発生回路を図７の回路にし、テスト制御回路２２からパルス幅を制御するパルス幅制御信号ＣＮＴを出力する。このパルス幅制御信号ＣＮＴは、外部からのテスト制御信号Ｔｃｎｔにより制御可能となっている。テスト時において、図５で示したようにリングオシレータを発振させた状態で、パルス幅制御信号ＣＮＴにより初段のＲＡＭマクロユニットＲＭＵ１内の制御パルスＣＬＫｔ１のパルス幅を可変制御する。即ち、図５に示すように、制御パルスＣＬＫｔ１のパルス幅ｄ１を徐々に短くしたり、徐々に長くしながらリングオシレータの発振動作が維持されるか否かが、テスト制御回路２２により監視される。
ＲＡＭマクロの仕様上この制御パルスの最小パルス幅が規定されているが、上記のパルス幅を可変制御することにより、どのパルス幅ｄ１の範囲であれば初段のＲＡＭマクロが正常に動作するか否かを、リングオシレータの発振動作が維持されるか否かによりチェックすることができる。
［セットアップタイム］
図８は、本実施の形態におけるセットアップタイムの限界値を測定するテスト回路を示す図である。図３に示したＲＡＭマクロ１４は、制御クロックＣＬＫの立ち上がりエッジに同期してアドレスＡＤＤを取り込み、ラッチする。従って、制御クロックＣＬＫに対するアドレスＡＤＤのセットアップタイムとホールドタイムの限界がどの程度であるかを測定することが求められる。図８に示したテスト回路では、初段のＲＡＭマクロユニットＲＭＵ１のテスト用アドレスＴＡｄｄ１に、初段のデータ出力ＯＵＴ１ではなく、２段目のデータ出力ＯＵＴ２を遅延させた信号を与えている。更に、２段目のデータ出力ＯＵＴ２が初段のデータ出力ＯＵＴ１の反転信号であるので、２段目のデータ出力ＯＵＴ２の反転信号が初段のテスト用アドレスＴＡｄｄ１に与えられる。そして、可変遅延回路３４の遅延量を制御するセットアップタイム制御信号ＴＳＡがテスト制御回路２２から可変遅延回路３４に供給される。それ以外は、図２と同じである。
図９は、セットアップタイムを測定するテスト動作を示す波形図である。初段のＲＡＭマクロへの制御パルスＣＬＫｔ１の立ち上がりエッジと、初段のデータ出力ＯＵＴ１の切り替わりタイミングとの間は、３段目のＲＡＭマクロユニットによる遅延時間に対応する時間差がある。従って、図２のように、初段のデータ出力ＯＵＴ１をテスト用アドレスＴＡｄｄ１に採用すると、セットアップタイムが長すぎる。そこで、本実施の形態では、２段目のＲＡＭマクロユニットのデータ出力ＯＵＴ２を遅延させ更に反転して初段のテスト用アドレスＴＡｄｄ１に供給する。
図９に示されるとおり、２段目のデータ出力ＯＵＴ２を可変遅延回路３４により遅延時間ｄ２遅らせることで、初段のテスト用アドレスＴＡｄｄ１が生成される。遅延時間ｄ２を可変制御することで、テスト用アドレスＴＡｄｄ１の切り替わりタイミングと制御クロックＣＬＫｔ１の立ち上がりエッジとの時間差であるセットアップタイムｔｓａを可変制御することができる。しかも、２段目のデータ出力ＯＵＴ２の切り替わりタイミングは、制御パルスＣＬＫｔ１の立ち上がりエッジに比較的近いので、可変遅延回路３４の遅延量をそれほど大きくする必要はない。但し、初段や３段目のデータ出力ＯＵＴ１，ＯＵＴ３を遅延させて初段のテスト用アドレスＴＡｄｄ１にすることも可能であるが、その場合は、可変遅延回路の遅延量を比較的大きくする必要があり、回路規模が大きくなる。
テスト制御回路２２が、セットアップタイム制御信号ＴＳＡにより可変遅延回路３４の遅延量ｄ２を可変制御して、初段ＲＡＭマクロユニット内のＲＡＭマクロ１４のセットアップタイムｔｓａを可変制御し、どのセットアップタイムの時にリングオシレータの発振が停止するかを監視することで、セットアップタイムの限界値を測定することができる。従って、このセットアップタイム制御信号ＴＳＡは、外部のテスタ装置からの制御信号Ｔｃｎｔにより設定可能にし、また、テスト制御回路２２のテスト結果信号Ｔｏｕｔはリングオシレータの発振動作の有無を外部のテスタ装置に出力可能にする。或いは、テスト制御回路２２が、遅延量ｄ２を自動変更し、その都度、発振動作の有無を記録し、最後のその記録結果を出力することでも良い。
［ホールドタイム］
図１０は、本実施の形態におけるホールドタイムの限界値を測定するテスト回路を示す図である。図２と異なるところは、初段のＲＡＭマクロユニットＲＭＵ１へのテスト用アドレスＴＡｄｄ１に、その前段である３段目のデータ出力ＯＵＴ３を遅延させて供給し、可変遅延回路３６の遅延量がホールドタイム制御信号ＴＨＡによって可変制御可能になっている点である。また、３段目のデータ出力ＯＵＴ３は初段のデータ出力ＯＵＴ１に比較して１周期近く遅れているので、可変遅延回路３６によりデータ出力ＯＵＴ３は反転されテスト用アドレスＴＡｄｄ１として供給される。それ以外は、図２と同じである。
図１１は、ホールドタイムを測定するテスト動作を示す波形図である。可変遅延回路３６は、３段目のデータ出力ＯＵＴ３を所定遅延時間ｄ３遅延させ且つ反転して、テスト用アドレス信号ＴＡｄｄ１を供給する。３段目のデータ出力ＯＵＴ３の変化に応答して、初段の制御パルスＣＬＫｔ１が生成されているので、３段目のデータ出力ＯＵＴ３を遅延時間ｄ３遅延させることで、制御パルスＣＬＫｔ１の立ち上がりエッジからホールドタイムｔｈａ後にテスト用アドレス信号ＴＡｄｄ１を変化させることができる。この遅延時間ｄ３を可変制御することにより、初段の制御パルスＣＬＫｔ１に対するホールドタイムｔｈａを可変制御することができる。
従って、テスト制御回路２２は、リングオシレータを発振している状態で、ホールドタイムｔｈａを徐々に短くして、発振動作が停止する限界値を検出することができる。
図１１から理解されるとおり、初段のテスト用アドレスＴＡｄｄ１を、２段目のデータ出力ＯＵＴ２を遅延することによって与えても、ホールドタイムを可変制御することができる。但し、遅延量をより大きくする必要がある。この場合も２段目のデータ出力ＯＵＴ２を反転する必要がある。
以上のとおり、リング発振回路内のいずれかの発振クロック（または発振パルス）を所定時間遅延することで、初段のＲＡＭマクロユニットのテスト用アドレスＴＡｄｄ１を生成することができ、その遅延時間を可変制御することにより、セットアップタイムの限界値やホールドタイムの限界値を検出することができる。前述した図８，１０の例では、可変遅延回路の遅延量を比較的小さくするために、２段目のデータ出力ＯＵＴ２を遅延したテスト用アドレスＴＡｄｄ１によりセットアップタイムの限界値を、３段目のデータ出力ＯＵＴ３を遅延したテスト用アドレスＴＡｄｄ１によりホールドタイムの限界値をそれぞれ測定している。また、図８、図１０の可変遅延回路３４，３６を両方設けて、スイッチ手段によりその遅延信号を切り換えることで、共通のテスト回路でセットアップタイムとホールドタイムの限界値を測定することができる。
上記の実施の形態では、リングオシレータを３段のＲＡＭマクロユニットで構成したが、２段または１段でのリングオシレータを構成することは可能である。各ＲＡＭマクロがテスト用アドレスに対してそのアドレスの反転信号をデータ出力として出力するように書込が行われていれば、ＲＡＭマクロユニットへの入力ＩＮが変化するたびに、後段のＲＡＭマクロユニットのデータ出力も変化して、リングオシレータを発振させることができる。
図１２は、２段でリングオシレータを構成したテスト回路を示す図である。初段のＲＡＭマクロユニットＲＭＵ１と２段目のＲＡＭマクロユニットＲＭＵ２と、ＮＡＮＤゲート２６及びインバータ２８によりリングオシレータが構成されている。リングオシレータの発振動作は、図５と同様である。但し、発振周期は２段のＲＡＭマクロユニットＲＭＵ１，２とＮＡＮＤゲート２６及びインバータ２８の遅延時間の合計であり、図２の発振回路の３段目のユニットがないので、その分発振周期は短くなる。
また、図１２の例では、制御クロックのパルス幅を可変制御するために、テスト制御回路２２は、パルス幅制御信号ＣＮＴを初段のＲＡＭマクロユニットＲＭＵ１に供給する。更に、セットアップタイムとホールドタイムの限界値を測定するために、初段のデータ出力ＯＵＴ１を遅延させる第１の可変遅延回路３８と、２段目のデータ出力ＯＵＴ２を遅延させる第２の可変遅延回路４０とが設けられている。そして、テスト制御回路２２は、これらの可変遅延回路３８，４０に対して、セットアップタイム制御信号ＴＳＡとホールドタイム制御信号ＴＨＡを供給し、遅延時間を可変制御し、それぞれの限界値を検出する。
図１３は、１段でリングオシレータを構成したテスト回路を示す図である。この例では、ＲＡＭマクロユニットＲＭＵ１のデータ出力ＯＵＴ１をＮＡＮＤゲート２６とインバータ２８とを介して、入力ＩＮ１にフィードバックしている。その発振動作は、図５と同様である。これによりリングオシレータの発振周期は、ＲＡＭマクロユニットＲＭＵ１とＮＡＮＤゲート２６とインバータ２８の遅延時間の合計になる。また、ＲＡＭマクロユニットＲＭＵ１内のパルス発生回路のパルス幅は、テスト制御回路２２からのパルス幅制御信号ＣＮＴにより制御される。更に、セットアップタイムとホールドタイムの限界値を測定するために、第１の可変遅延回路３８と第２の可変遅延回路４０とが設けられ、それぞれの遅延量がテスト制御回路２２からの制御信号ＴＳＡ，ＴＨＡにより制御される。
以上説明したとおり、本実施の形態によれば、ＲＡＭマクロを接続してリングオシレータ構成にすることで、外部からのクロックパルスを供給することなくＲＡＭマクロのアクセスタイムを高精度に測定することができる。更に、ＲＡＭマクロが正常動作する限りはリングオシレータが発振動作を行うことを利用して、制御クロックのパルス幅の限界値、セットアップタイムやホールドタイムの限界値を簡単に測定することができる。
【産業上の利用可能性】  本発明によれば、集積回路装置内にＲＡＭマクロのＡＣ特性を高精度に測定可能なテスト回路を設けることで、内部に設けられたＲＡＭマクロのＡＣ特性試験を集積回路自身で行うことができ、半導体産業などにおいて利用可能性が高い。
【図１】
2005008677.tif 000003
【図２】
2005008677.tif 000004
【図３】
2005008677.tif 000005
【図４】
2005008677.tif 000006
【図５】
2005008677.tif 000007
【図６】
2005008677.tif 000008
【図７】
2005008677.tif 000009
【図８】
2005008677.tif 000010
【図９】
2005008677.tif 000011
【図１０】
2005008677.tif 000012
【図１１】
2005008677.tif 000013
【図１２】
2005008677.tif 000014
【図１３】
2005008677.tif 000015
【国際調査報告】
2005008677.tif 000016
2005008677.tif 000017
2005008677.tif 000018
2005008677.tif 000019