(57)【要約】【課題】半導体集積回路内にタイミングマージン用クロックを生成するための複雑な回路を用いることなく、簡単なプログラムを用いて搭載されているメモリのタイミングマージンテストを行うことができる半導体集積回路を得ること。【解決手段】インストラクション記憶部１１２に記憶されているプログラムのインストラクションがテスト用クロック生成命令である場合、コマンド発生部１１４は、テスト用発生信号を出力し、タイミングテスト用クロック生成部１１６はマスタークロックと位相の異なるタイミングマージン用クロックおよびテスト用クロック発生信号に基づいてテスト用クロックを生成し、タイミングテスト制御回路１２１は、マスタークロックおよびテスト用クロックに基づいてメモリ１２０のタイミングを制御する信号を生成してメモリ１２０のテストを行う。【選択図】      図１
2004158144.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路内部のメモリをテストするためのプログラムを有し、外部から入力されるマスタークロックで動作する半導体集積回路において、
前記プログラムのインストラクションがテスト用クロック生成命令である場合、テスト用クロック発生信号を出力するコマンド発生部と、
外部より入力される前記マスタークロックと位相の異なるタイミングマージン用クロックおよび前記テスト用クロック発生信号に基づいてテスト用クロックを生成するタイミングテスト用クロック生成部と、
前記マスタークロックおよび前記テスト用クロックに基づいて前記メモリのタイミングを制御するタイミングテスト制御回路と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記コマンド発生部は、
前記マスタークロックのｎ（ｎは自然数）周期分のテスト用クロック発生信号を出力し、
前記タイミングテスト用クロック生成部は、
前記テスト用クロック発生信号が出力されたときのみ、前記タイミングマージン用クロックをテスト用クロックとして出力すること、
を特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記コマンド発生部は、
前記マスタークロックのｎ（ｎは自然数）周期分のテスト用クロック発生信号を出力し、
前記タイミングテスト用クロック生成部は、
前記テスト用クロック発生信号が出力されている期間内に前記タイミングマージン用クロックのｍ（ｍは自然数）周期分のテスト用クロックを出力すること、
を特徴とする請求項１に記載の半導体集積回路。
【請求項４】
前記マスタークロックの位相と前記テスト用クロックの位相とを比較し、前記マスタークロックと前記テスト用クロックの位相差を検出する位相比較回路、
をさらに備えたことを特徴とする請求項１〜３の何れか一つに記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリを搭載した半導体集積回路に関するものであり、特に、搭載されたメモリのタイミングマージンをＢＩＳＴ（Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ−Ｔｅｓｔ）回路を用いてテストする半導体集積回路に関するものである。
【０００２】
【従来の技術】
近年、半導体製造の多層配線技術や微細化技術の向上により、半導体集積回路の１チップの搭載ゲート規模も大きくなった。そのため、製造後の半導体集積回路のテストが問題となっている。
【０００３】
テストの問題の１つに、ＬＳＩテスタ（ＡＴＥ：Ａｕｔｏｍａｔｅｄ  Ｔｅｓｔ  Ｅｑｕｉｐｍｅｎｔ）の能力の限界がある。この問題は、半導体集積回路の設計時にスキャン設計を行う、ＢＩＳＴ回路を搭載するなどで対処している。これらの方法は、ランダムロジックの回路について有効である。
【０００４】
しかし、半導体集積回路内部にメモリを搭載しているエンベデットメモリデバイスの場合、半導体集積回路内部のメモリのタイミングマージンをテストする必要がある。メモリのタイミングマージンテストは、テスト用マスタークロックの他にタイミングマージン用クロックを用いて、これら２つのクロックの位相差を利用して行う。これら２つのクロックをＢＩＳＴ回路で生成するのは困難であるため、ＡＴＥのプログラムを用いて、テスト用マスタークロックに対してタイミングマージンテストに適切な位相差で、かつ、必要なテスト周期にのみ発生するタイミングマージン用クロックを生成し、半導体集積回路に印加する。そのため、ＢＩＳＴ回路のテストプログラムと、ＡＴＥにおいてタイミングマージン用クロックを生成するプログラムが必要となり、テストプログラム生成が複雑になるという問題があった。
【０００５】
また、タイミングマージン用クロックがテスト用マスタークロックに対してタイミングマージンテストに適切な位相差で必要なテスト周期で発生しているかの妥当性のデバッグをＢＩＳＴ回路のテストプログラムとあわせて行わなければならず、テストプログラムのデバッグの効率が低下するという問題があった。
【０００６】
このような問題を改善するために、従来技術では、半導体集積回路内にＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路を搭載してテスト用マスタークロックを逓倍し、分周回路を用いて逓倍したクロックから多相クロックを生成することでタイミングマージン用クロックを生成している（たとえば、特許文献１参照）。
【０００７】
【特許文献１】
特開平８−３１５５９８号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、従来技術では、ＡＴＥおよびＢＩＳＴ回路のテストプログラムの簡素化を図れるが、半導体集積回路内にＰＬＬ回路および分周回路を搭載しなければならない。そのため、半導体集積回路の回路規模が増大するという問題があった。
【０００９】
また、ＰＬＬ回路および分周器の動作をテストする必要があるため、ＢＩＳＴ回路の自己診断が複雑になってしまうという問題があった。
【００１０】
この発明は上記に鑑みてなされたもので、半導体集積回路内にタイミングマージン用クロックを生成するための複雑な回路を用いることなく、簡単なプログラムを用いて搭載されているメモリのタイミングマージンテストを行うことができる半導体集積回路を得ることを目的としている。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかる半導体集積回路は、半導体集積回路内部のメモリをテストするためのプログラムを有し、外部から入力されるマスタークロックで動作する半導体集積回路において、前記プログラムのインストラクションがテスト用クロック生成命令である場合、テスト用クロック発生信号を出力するコマンド発生部と、外部より入力される前記マスタークロックと位相の異なるタイミングマージン用クロックおよび前記テスト用クロック発生信号に基づいてテスト用クロックを生成するタイミングテスト用クロック生成部と、前記マスタークロックおよび前記テスト用クロックに基づいて前記メモリのタイミングを制御するタイミングテスト制御回路とを備えることを特徴とする。
【００１２】
この発明によれば、半導体集積回路は、内蔵されているメモリをテストするためのプログラムのインストラクションにタイミングテスト用クロックを発生させるためのインストラクションを準備しておき、そのインストラクションによりタイミングマージンのテストに必要なクロックを発生するタイミングを決定する。そして、決定したタイミングの時のみ、マスタークロックに対して所定の位相差を有する同一周期の同一波形のタイミングマージン用クロックをテスト用クロックとし、このテスト用クロックとマスタークロックに基づいてメモリのタイミングを制御してタイミングマージンのテストを行うようにしている。
【００１３】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる半導体集積回路の好適な実施の形態を詳細に説明する。
【００１４】
実施の形態１．
図１および図２を用いて本発明の実施の形態１を説明する。図１は、この発明における実施の形態１の半導体集積回路１００の構成を示すブロック図である。半導体集積回路１００は、ＢＩＳＴ回路１１０と、メモリ１２０と、ランダムロジック回路やＣＰＵコアなどのマクロセル（図示せず）とで構成される。半導体集積回路１００は、テストを行う際には、ＬＳＩテスタであるＡＴＥ２００で生成されるマスタークロックＴＳＴ＿ＣＬＫにより動作する。
【００１５】
ＢＩＳＴ回路１１０は、半導体集積回路１００内の回路（この場合は、メモリ１２０）のテストを実施し、期待値とテスト結果とを比較して、その比較結果を出力する機能を有し、インストラクション記憶部１１２と、プログラムカウンタ１１１と、インストラクションデコード部１１３と、コマンド発生部１１４と、アドレス・データ発生部１１５と、タイミングテスト用クロック生成部１１６と、期待値判定部１１７とを備えている。
【００１６】
プログラムカウンタ１１１は、マスタークロックＴＳＴ＿ＣＬＫをカウントしてインストラクション記憶部１１２のアドレスを生成してそのアドレスをインストラクション記憶部１１２に出力する。
【００１７】
インストラクション記憶部１１２は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成され、メモリ１２０のテストを行うためのプログラムであるインストラクションを記憶しており、プログラムカウンタ１１１から指定されたアドレスに記憶しているインストラクションをインストラクションデコード部１１３に出力する。
【００１８】
インストラクションデコード部１１３は、インストラクションをデコードして、インストラクションに対応した制御信号をプログラムカウンタ１１１、コマンド発生部１１４およびアドレス・データ発生部１１５に出力する。具体的には、たとえば、インストラクションがジャンプ命令の場合、インストラクションデコード部１１３は、プログラムカウンタ１１１の値をジャンプ先アドレス値に変更する制御信号をプログラムカウンタ１１１に出力する。また、インストラクションがタイミングマージン用クロック生成命令の場合、インストラクションデコード部１１３は、テスト用クロック発生信号ＴＳＴ＿ＧＥＮを生成するためのクロック発生制御信号をコマンド発生部１１４に出力する。インストラクションがアドレス指定命令の場合、インストラクションデコード部１１３は、アドレスおよび／またはデータを生成するためのアドレス・データ制御信号をアドレス・データ発生部１１５に出力する。
【００１９】
コマンド発生部１１４は、クロック発生制御信号に基づいてテスト用クロック発生信号ＴＳＴ＿ＧＥＮを生成し、生成したテスト用クロック発生信号ＴＳＴ＿ＧＥＮをタイミングテスト用クロック生成部１１６に出力する。また、コマンド発生部１１４は、コマンド信号をメモリ１２０に出力する。
【００２０】
アドレス・データ発生部１１５は、アドレス・データ制御信号に基づいてアドレスおよび書き込みデータをメモリ１２０に出力するとともに、書き込みデータを期待値判定部１１７に出力する。
【００２１】
タイミングテスト用クロック生成部１１６は、半導体集積回路１００の外部端子から入力されるＡＴＥ２００で生成されたタイミングマージン用クロックＴＳＴ＿ＰＴＸとコマンド発生部１１４から入力されるテスト用クロック発生信号ＴＳＴ＿ＧＥＮに基づいてテスト用クロックＴＳＴ＿ＰＴＸ１を出力する。具体的には、タイミングテスト用クロック生成部１１６はアンドゲートであるＡＮＤ１１８で構成される。
【００２２】
期待値判定部１１７は、アドレス・データ発生部１１５から入力されたデータを期待値とし、メモリ１２０から読み出されたデータと期待値とを比較してその結果をＡＴＥ２００に出力する。
【００２３】
メモリ１２０は、ＲＡＭまたはＲＯＭで構成されるとともに半導体集積回路の外部端子から入力されるＡＴＥ２００で生成されたマスタークロックＴＳＴ＿ＣＬＫとタイミングテスト用クロック生成部１１６で生成されたテスト用クロックＴＳＴ＿ＰＴＸ１に基づいてチップセレクト信号、ライトイネーブル信号、リードイネーブル信号などを生成するタイミングテスト制御回路１２１を備えている。
【００２４】
つぎに、この実施の形態１の半導体集積回路１００の動作を説明する。ＢＩＳＴ回路１１０およびメモリ１２０は、ＡＴＥ２００で生成されるマスタークロックＴＳＴ＿ＣＬＫに同期して動作する。
【００２５】
プログラムカウンタ１１１は、マスタークロックＴＳＴ＿ＣＬＫを所定の値から順にカウントし、カウント値をインストラクション記憶部１１２に出力する。インストラクション記憶部１１２は、プログラムカウンタ１１１で指定されたアドレスに記憶されているインストラクションを読み出し、インストラクションデコード部１１３に読み出したインストラクションを出力する。
【００２６】
インストラクションデコード部１１３は、インストラクションをデコードしてインストラクションに対応した制御信号を出力する。ここで、インストラクションが、タイミングマージン用クロック生成命令であったとする。インストラクションデコード部１１３は、テスト用クロック発生信号ＴＳＴ＿ＧＥＮを生成するためのクロック発生制御信号をコマンド発生部１１４に出力する。
【００２７】
コマンド発生部１１４は、クロック発生制御信号に基づいてテスト用クロック発生信号ＴＳＴ＿ＧＥＮを生成し、生成したテスト用クロック発生信号ＴＳＴ＿ＧＥＮをタイミングテスト用クロック生成部１１６に出力する。
【００２８】
タイミングテスト用クロック生成部１１６は、半導体集積回路１００の外部端子から入力されるＡＴＥ２００で生成されたタイミングマージン用クロックＴＳＴ＿ＰＴＸとコマンド発生部１１４から入力されるテスト用クロック発生信号ＴＳＴ＿ＧＥＮに基づいてテスト用クロックＴＳＴ＿ＰＴＸ１を出力する。
【００２９】
図２のタイムチャートを参照して、タイミングテスト用クロック生成部１１６の動作を詳細に説明する。ＢＩＳＴ回路はＡＴＥ２００で生成されるマスタークロックＴＳＴ＿ＣＬＫに同期して動作しているため、コマンド発生部１１４から入力されるテスト用クロック発生信号ＴＳＴ＿ＧＥＮは、マスタークロックＴＳＴ＿ＣＬＫに同期してマスタークロックＴＳＴ＿ＣＬＫ１周期分の時間アサート状態となる。図２の場合、テスト用クロック発生信号ＴＳＴ＿ＧＥＮは、マスタークロックＴＳＴ＿ＣＬＫの立ち上がりに同期して、マスタークロックＴＳＴ＿ＣＫ１周期分“Ｌ”となる。
【００３０】
半導体集積回路１００の外部端子から入力されるＡＴＥ２００で生成されたタイミングマージン用クロックＴＳＴ＿ＰＴＸは、マスタークロックＴＳＴ＿ＣＬＫと同一周期、同一波形のクロックであり、マスタークロックＴＳＴ＿ＣＬＫに対して位相差ａを有する。位相差ａは、マスタークロックＴＳＴ＿ＣＬＫの立ち上がりを基準として、０からマスタークロックＴＳＴ＿ＣＬＫの周期の半分までとする。すなわち、タイミングマージン用クロックＴＳＴ＿ＰＴＸは、ＡＴＥ２００のプログラムにおいてマスタークロックＴＳＴ＿ＣＬＫを基準として遅延させるタイミングを制御することで容易に生成することができる。
【００３１】
タイミングテスト用クロック生成部１１６は、ＡＮＤ１１８で構成されている。ＡＮＤ１１８には、タイミングマージン用クロックＴＳＴ＿ＰＴＸとテスト用クロック発生信号ＴＳＴ＿ＧＥＮの極性を反転させた信号が入力される。ＡＮＤ１１８は、テスト用クロック発生信号ＴＳＴ＿ＧＥＮが“Ｌ”であるｔ１〜ｔ２の期間だけタイミングマージン用クロックＴＳＴ＿ＰＴＸをスルーにしてテスト用クロックＴＳＴ＿ＰＴＸ１を出力する。そして、ＡＮＤ１１８は、テスト用クロック発生信号ＴＳＴ＿ＧＥＮが“Ｈ”であるｔ２〜ｔ３の期間は、タイミングマージン用クロックＴＳＴ＿ＰＴＸの変化に無関係に出力を“Ｌ”にする。すなわち、テスト用クロック発生信号ＴＳＴ＿ＧＥＮが“Ｈ”の期間はテスト用クロックＴＳＴ＿ＰＴＸ１を“Ｌ”にする。
【００３２】
ＡＴＥ２００においてタイミングマージン用クロックＴＳＴ＿ＰＴＸの位相差を最も小さくした場合、すなわち、タイミングマージン用クロックＴＳＴ＿ＰＴＸの立ち上がりとマスタークロックＴＳＴ＿ＣＬＫの立ち上がりを同じにした場合、テスト用クロックＴＳＴ＿ＰＴＸ１は、マスタークロックＴＳＴ＿ＣＬＫの立ち上がりと一致して立ち上がるクロックとなる。
【００３３】
また、ＡＴＥ２００においてタイミングマージン用クロックＴＳＴ＿ＰＴＸの位相を最も大きくした場合、すなわち、タイミングマージン用クロックＴＳＴ＿ＰＴＸの立ち下がりとマスタークロックＴＳＴ＿ＣＬＫの立ち上がりを同じにした場合、テスト用クロックＴＳＴ＿ＰＴＸ１は、マスタークロックＴＳＴ＿ＣＬＫの立ち下がりと一致して立ち上がるクロックとなる。
【００３４】
このようにしてタイミングテスト用クロック生成部１１６は、タイミングマージンのテストに必要な周期でテスト用クロックＴＳＴ＿ＰＴＸ１を発生する。図２の場合は、マスタークロックＴＳＴ＿ＣＬＫ３周期毎にテスト用クロックＴＳＴ＿ＰＴＸ１を出力する。
【００３５】
タイミングテスト制御回路１２１は、マスタークロックＴＳＴ＿ＣＬＫとテスト用クロックＴＳＴ＿ＰＴＸ１に基づいてチップセレクト信号、ライトイネーブル信号、リードイネーブル信号などを生成し、メモリ１２０を動作させる。
【００３６】
たとえば、タイミングテスト制御回路１２１によりアドレス・データ発生部１１５により指定されたアドレスのデータを読み出したとする。この場合、期待値判定部１１７は、アドレス・データ発生部１１５により指定されたアドレスのデータと期待値とを比較してその結果をＡＴＥ２００に出力する。
【００３７】
このようにこの実施の形態１では、ＢＩＳＴ回路のプログラムのインストラクションにタイミングテスト用クロックを発生させるためのインストラクションを準備しておき、そのインストラクションによりタイミングマージンのテストに必要なクロックを発生するタイミングを決定する。そして、決定したタイミングの時のみ、ＡＴＥで生成されるマスタークロックに対して所定の位相差を有する同一周期の同一波形のタイミングマージン用クロックをテスト用クロックとして出力するようにしている。これにより、テスト用クロックのタイミング制御、すなわち、マスタークロックに対するタイミングマージン用クロックのタイミング制御は、ＡＴＥのプログラムにおいて容易に制御可能となる。
【００３８】
また、タイミングマージン用クロックを発生させるタイミング制御は、インストラクションにより決定しているので、容易にプログラムのデバッグができる。
【００３９】
さらに、ＢＩＳＴ回路内に特別な回路を持つ必要がないため、半導体集積回路の回路規模を抑え、ＢＩＳＴ回路の自己診断を単純にすることができる。
【００４０】
実施の形態２．
図３および図４を用いて本発明の実施の形態２を説明する。図３は、この発明における実施の形態１の半導体集積回路１００の構成を示すブロック図である。実施の形態１と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【００４１】
この実施の形態２のタイミングテスト用クロック生成部１１６は、セット付ネガティブエッジフリップフロップであるＦＦ１１９で構成される。ＦＦ１１９のセット端子Ｓには、コマンド発生部１１４で生成されるテスト用クロック発生信号ＴＳＴ＿ＧＥＮが入力される。ＦＦ１１９のクロック端子ＣＫには、ＡＴＥで生成されるタイミングマージン用クロックＴＳＴ＿ＰＴＸが入力される。ＦＦ１１９のデータ端子Ｄには、ＦＦ１１９の出力端子ＱＣが入力される。ＦＦ１１９の出力端子Ｑがタイミングテスト用クロック生成部１１６の出力であるテスト用クロックＴＳＴ＿ＰＴＸ１であり、タイミングテスト制御回路１２１にテスト用クロックＴＳＴ＿ＰＴＸ１を出力する。
【００４２】
つぎに、この実施の形態２の半導体集積回路１００の動作を説明する。なお、実施の形態１と同様の動作については詳細な説明を省略する。
【００４３】
インストラクション記憶部１１２は、プログラムカウンタ１１１で指定されたアドレスのインストラクションをインストラクションデコード部１１３に出力する。インストラクションがタイミングマージン用クロック生成命令の場合、インストラクションデコード部１１３は、テスト用クロック発生信号ＴＳＴ＿ＧＥＮを生成するためのクロック発生制御信号をコマンド発生部１１４に出力する。コマンド発生部１１４は、クロック発生信号に基づいてテスト用クロック発生信号ＴＳＴ＿ＧＥＮを生成し、生成したテスト用クロック発生信号ＴＳＴ＿ＧＥＮをタイミングテスト用クロック生成部１１６に出力する。タイミングテスト用クロック生成部１１６は、タイミングマージン用クロックＴＳＴ＿ＰＴＸとテスト用クロック発生信号ＴＳＴ＿ＧＥＮに基づいてテスト用クロックＴＳＴ＿ＰＴＸ１を出力する。
【００４４】
図４のタイムチャートを参照して、タイミングテスト用クロック生成部１１６の動作を詳細に説明する。コマンド発生部１１４から入力されるテスト用クロック発生信号ＴＳＴ＿ＧＥＮは、マスタークロックＴＳＴ＿ＣＬＫに同期してマスタークロックＴＳＴ＿ＣＬＫ１周期分の時間アサート状態となる。図４の場合、テスト用クロック発生信号ＴＳＴ＿ＧＥＮは、マスタークロックＴＳＴ＿ＣＬＫの立ち上がりに同期して、マスタークロックＴＳＴ＿ＣＬＫ２周期分“Ｌ”となる。
【００４５】
半導体集積回路１００の外部端子から入力されるＡＴＥ２００で生成されたタイミングマージン用クロックＴＳＴ＿ＰＴＸは、マスタークロックＴＳＴ＿ＣＬＫと同一周期、同一波形のクロックであり、マスタークロックＴＳＴ＿ＣＬＫに対して位相差ａを有する。位相差ａは、マスタークロックＴＳＴ＿ＣＬＫの立ち上がりを基準として前後にマスタークロックＴＳＴ＿ＣＬＫの半周期分変化可能である。すなわち、マスタークロックＴＳＴ＿ＣＬＫの立ち下がりから１周期の間にタイミングマージン用クロックＴＳＴ＿ＰＴＸが立ち上がる。
【００４６】
タイミングテスト用クロック生成部１１６は、ＦＦ１１９で構成されている。テスト用クロック発生信号ＴＳＴ＿ＧＥＮは、ＦＦ１１９のセット端子Ｓに入力されている。したがって、テスト用クロック発生信号ＴＳＴ＿ＧＥＮが“Ｈ”の期間、セット機能によりＦＦ１１９は出力端子Ｑを“Ｈ”に、出力端子ＱＣを“Ｌ”にする。したがって、テスト用クロックＴＳＴ＿ＰＴＸ１は、“Ｈ”固定となる。
【００４７】
テスト用クロック発生信号ＴＳＴ＿ＧＥＮが“Ｌ”になると、ＦＦ１１９はタイミングテスト用クロックＴＳＴ＿ＰＴＸの立ち下がりで入力端子Ｄのデータをラッチする。すなわち、ＦＦ１１９は、出力端子Ｑを“Ｌ”に、出力端子ＱＣを“Ｈ”にする。したがって、テスト用クロックＴＳＴ＿ＰＴＸ１は、“Ｌ”になる。つぎのタイミングテスト用クロックＴＳＴ＿ＰＴＸの立ち下がりでＦＦ１１９は、出力端子Ｑを“Ｈ”に、出力端子ＱＣを“Ｌ”にする。したがって、テスト用クロックＴＳＴ＿ＰＴＸ１は、“Ｈ”になる。さらにつぎのタイミングテスト用クロックＴＳＴ＿ＰＴＸの立ち下がりでは、テスト用クロック発生信号ＴＳＴ＿ＧＥＮが“Ｈ”になっているため、セット機能によりＦＦ１１９の出力端子Ｑを“Ｈ”に、出力端子ＱＣを“Ｌ”にする。したがって、テスト用クロックＴＳＴ＿ＰＴＸ１は“Ｈ”固定となる。
【００４８】
ＡＴＥ２００においてタイミングマージン用クロックＴＳＴ＿ＰＴＸの位相差を最も小さくした場合、テスト用クロックＴＳＴ＿ＰＴＸ１は、テスト用クロック発生信号ＴＳＴ＿ＧＥＮが“Ｌ”になった直後からマスタークロックＴＳＴ＿ＣＬＫ１周期の期間“Ｌ”になる。
【００４９】
ＡＴＥ２００においてタイミングマージン用クロックＴＳＴ＿ＰＴＸの位相差を最も大きくした場合、テスト用クロックＴＳＴ＿ＰＴＸ１は、テスト用クロック発生信号ＴＳＴ＿ＧＥＮが“Ｈ”になる直前までのマスタークロックＴＳＴ＿ＣＬＫ１周期の期間“Ｌ”になる。
【００５０】
このようにしてタイミングテスト用クロック生成部１１６は、テスト用クロック発生信号ＴＳＴ＿ＧＥＮがネゲートであるマスタークロックＴＳＴ＿ＣＬＫ２周期分の期間にマスタークロックＴＳＴ＿ＣＬＫ１周期分のテスト用クロックＴＳＴ＿ＰＴＸ１を出力する。
【００５１】
タイミングテスト制御回路１２１は、マスタークロックＴＳＴ＿ＣＬＫとテスト用クロックＴＳＴ＿ＰＴＸ１に基づいてチップセレクト信号、ライトイネーブル信号、リードイネーブル信号などを生成し、メモリ１２０を動作させる。
【００５２】
たとえば、タイミングテスト制御回路１２１によりアドレス・データ発生部１１５により指定されたアドレスのデータを読み出したとする。この場合、期待値判定部１１７は、アドレス・データ発生部１１５により指定されたアドレスのデータと期待値とを比較してその結果をＡＴＥ２００に出力する。
【００５３】
このようにこの実施の形態２では、ＢＩＳＴ回路のプログラムのインストラクションにタイミングテスト用クロックを発生させるためのインストラクションを準備しておき、そのインストラクションによりタイミングマージンのテストに必要なクロックを発生するタイミングを決定する。そして、決定したタイミングの時のみ、ＡＴＥで生成されるマスタークロックに対して所定の位相差を有する同一周期の同一波形のタイミングマージン用クロックをテスト用クロックとして出力するようにしている。これにより、テスト用クロックのタイミング制御、すなわち、マスタークロックに対するタイミングマージン用クロックのタイミング制御は、ＡＴＥのプログラムにおいて容易に制御可能となる。
【００５４】
なお、図５に示すように、ＢＩＳＴ回路１１０に位相比較回路１３０をさらに備え、マスタークロックＴＳＴ＿ＣＬＫとテスト用クロックＴＳＴ＿ＰＴＸ１の位相を比較するようにしてもよい。そして、位相比較回路１３０は、比較の結果マスタークロックに対してタイミングテスト用クロック生成部１１６で生成したテスト用クロックＴＳＴ＿ＰＴＸ１の位相のずれを示す位相比較結果信号をＡＴＥ２００に出力する。これにより、ＡＴＥ２００においてタイミングマージン用クロックＴＳＴ＿ＰＴＸを生成するタイミングを可変にすることでマスタークロックＴＳＴ＿ＣＬＫとテスト用クロックＴＳＴ＿ＰＴＸ１の位相差のオフセットを検出することができる。
【００５５】
【発明の効果】
以上説明したように、この発明にかかる半導体集積回路によれば、内蔵されているメモリをテストするためのプログラムのインストラクションにタイミングテスト用クロックを発生させるためのインストラクションを準備しておき、そのインストラクションによりタイミングマージンのテストに必要なクロックを発生するタイミングを決定する。そして、決定したタイミングの時のみ、マスタークロックに対して所定の位相差を有する同一周期の同一波形のタイミングマージン用クロックをテスト用クロックとし、このテスト用クロックとマスタークロックに基づいてメモリのタイミングを制御してタイミングマージンのテストを行うようにしている。これにより、必要な周期毎に特別な回路を用いることなくメモリのタイミングマージンのテストに必要なクロックを生成することができる。
【図面の簡単な説明】
【図１】この発明における実施の形態１の半導体集積回路の構成を示す図である。
【図２】実施の形態１の半導体集積回路のタイミングテスト用クロック生成部の動作を説明するためのタイムチャートである。
【図３】この発明における実施の形態２の半導体集積回路の構成を示す図である。
【図４】実施の形態２の半導体集積回路のタイミングテスト用クロック生成部の動作を説明するためのタイムチャートである。
【図５】この発明における実施の形態２の半導体集積回路の構成を示す図である。
【符号の説明】
１００  半導体集積回路、１１０  ＢＩＳＴ回路、１１１  プログラムカウンタ、１１２  インストラクション記憶部、１１３  インストラクションデコード部、１１４  コマンド発生部、１１５  アドレス・データ発生部、１１６  タイミングテスト用クロック生成部、１１７  期待値判定部、１１８  ＡＮＤ、１１９  ＦＦ、１２０  メモリ、１２１  タイミングテスト制御回路、１３０  位相比較回路、２００  ＡＴＥ。
【図１】
2004158144.tif 000003
【図２】
2004158144.tif 000004
【図３】
2004158144.tif 000005
【図４】
2004158144.tif 000006
【図５】
2004158144.tif 000007