(57)【要約】【課題】シフトクロックにＰＬＬ回路からのクロックを用いることでクロックラインを単一にしてタイミング調整を容易にする。【解決手段】半導体集積回路１は、複数のフリップフロップに供給するクロックの元となるＰＬＬクロックを出力するＰＬＬ回路１１と、複数のフリップフロップのテストのためのシフトクロックのエッジを検出するエッジ検出回路１２とを有する。また、半導体集積回路１は、エッジ検出回路１２の検出タイミングに基づいて、ＰＬＬクロックを複数のフリップフロップに供給させるためのパルス制御信号を生成するクロック制御回路１３と、複数のフリップフロップのテストモード時には、パルス制御信号に基づいてＰＬＬクロックを複数のフリップフロップに供給するクロックゲーティング回路１４とを有する。【選択図】図１
2009210544.tif 000002
【特許請求の範囲】
【請求項１】
複数のフリップフロップに供給するクロックの元となる発振出力を出力する発振器と、
前記複数のフリップフロップのテストのためのテスト用クロックが与えられて前記テスト用クロックのエッジを検出するエッジ検出部と、
前記エッジ検出部の検出タイミングに基づいて、前記発振出力を前記複数のフリップフロップに供給させるための制御信号を生成するクロック制御部と、
前記複数のフリップフロップのテストモード時には、前記制御信号に基づいて前記発振出力を前記複数のフリップフロップに供給するクロック供給部と、
を有することを特徴とする半導体集積回路。
【請求項２】
前記クロック供給部は、前記発振出力のパルス幅の整数倍のパルス幅を有するクロックを生成して出力するクロック生成回路により構成されることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記クロック供給部は、前記発振出力のパルスを取り込んで出力するクロックゲーティング回路により構成されることを特徴とする請求項１に記載の半導体集積回路。
【請求項４】
前記クロック供給部を複数有し、
複数の前記クロック供給部のそれぞれは、複数に分割されたフリップフロップ群に対し、独立したタイミングで前記発振出力を供給することを特徴とする請求項１から請求項３の何れか１項に記載の半導体集積回路。
【請求項５】
前記発振器は、リファレンスクロックとして前記テスト用クロックを用いて、前記発振出力を発生することを特徴とする請求項１から請求項４の何れか１項に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に、テスト用クロックを検出し、発振出力を制御する半導体集積回路に関する。
【背景技術】
【０００２】
従来、順序回路を備えた大規模集積回路（ＬＳＩ）においては、多数のフリップフロップ（以下、ＦＦという）回路が構成されている。このようなＬＳＩの故障検出のために、スキャンテストが採用されることがある。スキャンテストは、回路内部のＦＦをチェイン状の経路を有するスキャンＦＦとして構成し、入出力を観測することで、故障の有無を判定するものである。
【０００３】
このようなスキャンテストを可能にした半導体集積回路としては、特許文献１に記載されたもの等、種々の回路が提案されている。
【０００４】
更に、近年、対象回路の高速化に伴い、遅延故障に対するテスト（以下、遅延故障テストという）も採用されるようになってきた。遅延故障テストは、スキャン設計された回路のＦＦ間の組み合わせ回路部を対象にして、所定の遅延時間内にデータが遷移可能であるか否かをテストするものである。
【０００５】
遅延故障テストにおいては、先ず、スキャンチェインを利用してＦＦに必要な値をセットする。次に、テストしたい周波数で高速にクロック信号を２つ以上印加する。そうすると、最初のクロックで前段のＦＦに発生した値の変化が、２番目以降のクロックで後段のＦＦに取り込まれる。ＦＦの出力を観測することで、前段のＦＦと後段のＦＦとの間のテスト周波数における遅延故障を検出することができる。なお、同一クロックの立ち上がりエッジのＦＦと立ち下がりエッジのＦＦとの間では、1つのクロック信号だけで遅延故障を検出することもできる。
【０００６】
ところで、近年、ＬＳＩ内の各素子の駆動周波数は極めて高くなっており、例えば、周波数が１ＧＨｚの高速クロックが用いられることがある。この場合には、ＦＦは１ｎｓ以内に高速に動作する必要があり、遅延故障テストにおいても、このような高速動作に対応するために高速クロックを用いた遅延故障テストが必要である。この場合に、テスト用のクロックをＬＳＩの外部のテスタから供給しようとすると、波形歪みによって遅延故障テストの計測が困難である。そこで、ＬＳＩ内に構成されたＰＬＬ回路の出力を用いて、テストクロックを発生させることが考えられる。即ち、テストクロックは、ＰＬＬ回路の出力クロックを、テストパターンに応じたタイミングで選択することで、発生させるのである。
【０００７】
一方、スキャンテストでは、スキャンチェインを利用してＦＦに必要な値をセットする際に、テスタからのシフトクロックに同期して必要な値がセットされる。即ち、テスタはスキャンチェインに入力するデータを準備できたところで、シフトクロックのパルスを発生し、スキャンチェインに必要な値をセットする。
【０００８】
通常、スキャンテストで用いるＦＦは、遅延故障テスト時のパルスを含むシステム動作時のクロックと、スキャンテスト時のシフトクロックとを共用している。そのため、ＬＳＩ内部でシステム動作時のクロックとスキャンテスト時のシフトクロックを切り換える回路が必要である。
【０００９】
このようにクロックラインでは、高速で動作するＰＬＬ回路からのクロックと、テスタなどの外部から供給される低速なシフトクロックとの両方を考慮する必要があり、タイミング調整が困難になっている。また、これらのクロックを切り換えるための切り換え回路自体がクロックラインの遅延及びバラツキを増加させるため、タイミング調整が更に困難になるという問題がある。
【特許文献１】特開２００７−３２７８３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、シフトクロックにＰＬＬ回路からのクロックを用いることでクロックラインを単一にしてタイミング調整を容易にすることができる半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様によれば、複数のフリップフロップに供給するクロックの元となる発振出力を出力する発振器と、前記複数のフリップフロップのテストのためのテスト用クロックが与えられて前記テスト用クロックのエッジを検出するエッジ検出部と、前記エッジ検出部の検出タイミングに基づいて、前記発振出力を前記複数のフリップフロップに供給させるための制御信号を生成するクロック制御部と、前記複数のフリップフロップのテストモード時には、前記制御信号に基づいて前記発振出力を前記複数のフリップフロップに供給するクロック供給部とを有することを特徴とする半導体集積回路を提供することができる。
【発明の効果】
【００１２】
本発明の半導体集積回路によれば、シフトクロックにＰＬＬ回路からのクロックを用いることでクロックラインを単一にしてタイミング調整を容易にすることができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施の形態について詳細に説明する。  
（第１の実施の形態）  
まず、図１〜図３に基づき、本発明の第１の実施の形態に係る半導体集積回路の構成について説明する。図１は、第１の実施の形態に係る半導体集積回路の構成を示すブロック図である。図１に示すように、本実施の形態の半導体集積回路１は、発振器としてのＰＬＬ回路１１と、エッジ検出回路１２と、クロック制御回路１３と、クロックゲーティング回路１４とを有して構成されている。
【００１４】
ＰＬＬ回路１１には、リファレンスクロックが供給されている。ＰＬＬ回路１１は、このリファレンスクロックに基づいて、所定の周波数のクロックを生成し、生成したクロックをエッジ検出回路１２、クロック制御回路１３及びクロックゲーティング回路１４に供給する。以下、ＰＬＬ回路１１により生成されたクロックをＰＬＬクロックという。
【００１５】
エッジ検出回路１２には、テスト用クロックであるシフトクロックが供給されている。このシフトクロックは、スキャンシフト時にスキャンチェインを動作させる、即ち、スキャンシフトさせるために外部のテスタ等から与えられるクロックである。エッジ検出回路１２は、このシフトクロックの発生、即ち、シフトクロックの立ち上がりエッジを検出し、検出タイミングをエッジ検出信号としてクロック制御回路１３に出力する。なお、エッジ検出回路１２の構成については、後述する図２の用いて詳細に説明する。
【００１６】
クロック制御回路１３には、エッジ検出信号、シフトイネーブル及びテストモード信号が入力されている。シフトイネーブルは、スキャンシフトを実行中か否かを示す信号である。シフトイネーブルが有効の場合、即ち、スキャンシフトが実行中の場合、シフトイネーブルの論理値は「１」となり、シフトイネーブルが無効の場合、即ち、スキャンテストが実行中でない場合、シフトイネーブルの論理値は「０」となる。テストモード信号は、システム動作中かテスト実行中かを示す信号である。システム動作中の場合、テストモード信号の論理値は「０」となり、テスト実行中の場合、テストモード信号の論理値は「１」となる。なお、テスト実行中とは、スキャンテスト実行中又は遅延故障テスト実行中のことを示す。
【００１７】
クロック制御回路１３は、テストモード信号が「１」かつシフトイネーブルが「１」の場合、即ち、スキャンシフトが実行されている場合、エッジ検出回路１２により検出されたエッジ検出信号をパルス制御信号としてクロックゲーティング回路１４に出力する。また、クロック制御回路１３は、テストモード信号が「１」かつシフトイネーブルが「０」の場合、即ち、スキャンシフトが実行されていない場合、そのテストモード適したパルスを発生させるためのパルス制御信号をクロックゲーティング回路１４に出力する。また、クロック制御回路１３は、テストモード信号が「０」の場合、即ち、システム動作時の場合、常に論理値「１」のパルス制御信号をクロックゲーティング回路１４に出力する。
【００１８】
クロックゲーティング回路１４は、クロック制御回路１３からのパルス制御信号に基づいて、ＰＬＬクロックのパルスを制御して制御パルス信号として出力する。このように、クロックゲーティング回路１４は、ＰＬＬクロックのパルスを制御して制御パルス信号として出力するクロック供給部を構成する。この制御パルス信号は、後段の図示しない複数のＦＦに対して供給されることになる。なお、クロックゲーティング回路１４の構成については、後述する図３の用いて詳細に説明する。
【００１９】
図２は、エッジ検出回路の構成の例を示すブロック図である。図２に示すように、エッジ検出回路１２は、ＦＦ１５、ＦＦ１６及びＡＮＤ回路１７を有して構成されている。
【００２０】
ＦＦ１５は、ＰＬＬクロックの立ち上がりエッジおいてシフトクロックの値を取り込み、ＦＦ１６及びＡＮＤ回路１７に出力する。ＦＦ１６は、ＰＬＬクロックの立ち上がりエッジにおいてＦＦ１５の出力を取り込み、ＡＮＤ回路１７に出力する。このＦＦ１６の出力は、反転されＡＮＤ回路１７に入力される。ＡＮＤ回路１７は、ＦＦ１５の出力と、反転されたＦＦ１６の出力とのＡＮＤ演算を施し、演算結果をエッジ検出信号として出力する。
【００２１】
なお、本実施の形態のエッジ検出回路１２では、ＦＦを２段直列に接続してシフトクロックの変化を検出しているが、ステートマシンなどを用いてシフトクロックの変化を検出してもよい。また、本実施の形態では、シフトクロックの立ち上がりエッジを検出しているが、立ち下がりエッジを検出するようにしてもよい。
【００２２】
図３は、クロックゲーティング回路の構成の例を示すブロック図である。図３に示すように、クロックゲーティング回路１４は、ラッチ回路１８及びＡＮＤ回路１９を有して構成されている。
【００２３】
ラッチ回路１８は、ＰＬＬクロックの論理値が「１」の場合、パルス制御信号をゲートし、ＰＬＬクロックの論理値が「０」の場合、パルス制御信号をスルーする。ＡＮＤ回路１９は、ラッチ回路１８の出力とＰＬＬクロックとのＡＮＤ演算を施し、制御パルス信号として出力する。即ち、ＡＮＤ回路１９では、ラッチ回路１８の出力が「１」の場合、ＰＬＬクロックをスルーし、ラッチ回路１８の出力が「０」の場合、ＰＬＬクロックの論理値「１」の状態をゲートする。
【００２４】
なお、ラッチ回路１８の代わりに立ち下がりエッジにおいて動作するＦＦを用いるなど他のクロックゲーティング回路を用いてもよい。また、本実施の形態では、ＰＬＬクロックの論理値「１」の状態をゲートしているが、論理値「０」の状態をゲートするようにしてもよい。
【００２５】
次に、このように構成された実施の形態の動作について説明する。  
図４は、第１の実施の形態の動作について説明するためのタイミングチャートである。まず、スキャンシフト実行時の動作について説明する。スキャンシフト実行時は、テストモード信号が「１」かつシフトイネーブルが「１」の場合であり、シフトサイクルＡ、Ｂ及びＤの期間である。
【００２６】
矢印２１に示すテストモード信号が論理値「１」かつ矢印２２に示すシフトイネーブルが論理値「１」の期間は、スキャンシフトを実行中であることを示している。即ち、シフトイネーブルが論理値「１」の期間は、外部のテスタ等から矢印２３に示すシフトクロックが供給される。ＰＬＬ回路１１では、リファレンスクロックに基づいて、矢印２４に示すＰＬＬクロックが生成される。エッジ検出回路１２では、ＰＬＬクロックの立ち上がりエッジに基づいて、シフトクロックの立ち上がりエッジが検出され、その立ち上がり変化は矢印２５に示すエッジ検出信号として出力される。なお、本実施の形態では、シフトクロックの周波数に対してＰＬＬクロックの周波数は十分に高速とし、シフトクロックのエッジ検出の抜けは発生しないものとする。
【００２７】
クロック制御回路１３では、シフトイネーブルが論理値「１」の期間は、エッジ検出信号によりシフトクロックのパルス発生を認識すると矢印２６に示すパルス制御信号が出力される。クロックゲーティング回路１４では、パルス制御信号に基づいて、ＰＬＬクロックから１パルス分が抜き出され、矢印２７に示す制御パルス信号が出力される。この抜き出されたパルスがテスタからのシフトクロックの代わりにＬＳＩのスキャンチェインにシフトクロックとして与えられる。即ち、１つのシフトクロックに対し１つのＰＬＬクロックが生成され、生成された１つのＰＬＬクロックがシフトクロックとして代用される。
【００２８】
次に、スキャンテストでのスキャンシフト実行時以外の動作について説明する。なお、本実施の形態では、適用するスキャンモードとして遅延故障テストを例として説明する。遅延故障テストは、テストモード信号が「１」かつシフトイネーブルが「０」の場合のシフトサイクルＣの期間に実速度のクロック信号を複数与えるものである。
【００２９】
シフトイネーブルが論理値「０」の期間はスキャンシフトが完了しており、スキャンチェインではなく通常動作時のパスが有効となっている。クロック制御回路１３では、適用するテストモードに対応するパルス制御信号が生成される。クロックゲーティング回路１４では、パルス制御信号に基づいて、テストモードに適したパルスを生成し、制御パルス信号として出力される。例えば、遅延故障テストではＰＬＬクロックから連続した２つのパルスを取り出して、１つ目のパルスで信号変化を起こし、２つ目のパルスでその信号変化を取り込む。即ち、クロック制御回路１３では、ＰＬＬクロックから連続した２つのパルスを取り出すためのパルス制御信号が生成され、クロックゲーティング回路１４に出力される。なお、テストモードの例としては、遅延故障テストの場合で説明しているが、他のテストモードの例としては、例えば、縮退故障テスト、メモリＢＩＳＴ又はロジックＢＩＳＴ等でもよい。
【００３０】
クロックゲーティング回路１４では、このパルス制御信号に基づいて、ＰＬＬクロックから連続した２つのクロックを取り出している。図４において、シフトサイクルＣは、遅延故障テストを実行するための連続した２つのクロックを発生している例である。本実施の形態では、遅延故障テストの期間のパルス発生についてもクロックゲーティング回路１４を用いるが、各種テスト手法に特化したパルス発生方法については指定しない。
【００３１】
次に、システム動作時について説明する。システム動作時は、テストモード信号が「０」かつシフトイネーブルが「０」の場合であり、シフトサイクルＥの期間である。
【００３２】
システム動作時には、テストモード信号の論理値が「０」としてクロック制御回路１３に入力される。クロック制御回路１３では、システム動作を示すテストモード信号が入力されると、パルス制御信号の論理値が常に「１」に固定され、クロックゲーティング回路１４に出力される。クロックゲーティング回路１４では、このパルス制御信号に基づいて、ＰＬＬクロックがスルーされ、制御パルス信号として出力される。
【００３３】
以上のように、エッジ検出回路１２は、シフトクロックの発生を検出し、エッジ検出信号をクロック制御回路１３に出力する。クロック制御回路１３は、エッジ検出信号に基づいて、パルス制御信号を生成し、パルス制御信号をクロックゲーティング回路１４に出力する。クロックゲーティング回路１４は、パルス制御信号に基づいて、ＰＬＬクロックを制御し、制御パルス信号を出力する。この結果、従来技術で問題となっていたシステム動作時のクロックとスキャンテスト時のテスタからのシフトクロックを切り換える回路を不要とし、テストモードに関わらずに単一のクロックゲーティング回路を起点としてタイミング調整をすることが可能となる。
【００３４】
よって、本実施の形態の半導体集積回路によれば、シフトクロックにＰＬＬ回路からのクロックを用いることでクロックラインを単一にしてタイミング調整を容易にすることができる。
【００３５】
（第２の実施の形態）
次に、第２の実施の形態について説明する。第１の実施の形態では、ＰＬＬクロックの周期と制御パルス信号の周期とが同一の場合について説明したが、第２の実施の形態では、制御パルス信号の周期がＰＬＬクロックの周期の整数倍を出力する場合について説明する。
【００３６】
図５は、第２の実施の形態に係る半導体集積回路の構成を示すブロック図である。なお、図５において図１と同様の構成については、同一の符号を付して説明を省略する。
【００３７】
図５に示すように、本実施の形態の半導体集積回路１ａは、図１のクロックゲーティング回路１４に代わり、クロック生成回路３１を用いて構成されている。クロック生成回路３１には、ＰＬＬ回路１１からのＰＬＬクロック及びクロック制御回路１３からのパルス制御信号が入力されると共に、テストモード信号が入力される。
【００３８】
クロック生成回路３１は、システム動作時、即ち、テストモード信号が「０」の場合、ＰＬＬクロックの２倍の周期、即ち、ＰＬＬクロックの２倍のパルス幅のクロック信号を生成し、生成したクロック信号を制御パルス信号として出力する。これは２分周クロックを生成することに該当する。また、クロック生成回路３１は、スキャンテスト又は遅延故障テスト時、即ち、テストモード信号が「１」の場合、クロック制御回路１３からのパルス制御信号に基づいて、ＰＬＬクロックの２倍のパルス幅のクロック信号を生成し、制御パルス信号として出力する。このように、クロック生成回路３１は、ＰＬＬクロックの２倍のパルス幅のクロック信号を生成するクロック供給部を構成する。
【００３９】
クロック生成回路３１は、スキャンテスト時のスキャンシフト実行時には、クロック制御回路１３からのパルス制御信号に基づいて、１パルス分のシフトクロックを制御パルス信号として出力する。また、クロック生成回路３１は、遅延故障テスト時には、クロック制御回路１３からのパルス制御信号に基づいて、例えば２パルス分のシフトクロックを制御パルス信号として出力する。
【００４０】
図６は、クロック生成回路の構成の例を示すブロック図である。図６に示すように、クロック生成回路３１は、セレクタ３２及びＦＦ３３を有して構成されている。
【００４１】
セレクタ３２には、ＦＦ３３の出力が反転された信号、パルス制御信号及びテストモード信号が入力されている。セレクタ３２は、テストモード信号に基づいて、ＦＦ３３の出力が反転された信号又はパルス制御信号のいずれか一方を選択して、ＦＦ３３に出力する。セレクタ３２は、テストモード信号が「０」の場合、ＦＦ３３の出力が反転された信号を選択し、テストモード信号が「１」の場合、パルス制御信号を選択し、選択信号をＦＦ３３に出力する。
【００４２】
ＦＦ３３は、ＰＬＬクロックの立ち上がりにおいてセレクタ３２の出力を取り込み、制御パルス信号として出力する。このようにＦＦ３３は、ＰＬＬクロックの立ち上がりにおいてセレクタ３２の出力を取り込むことにより、ＰＬＬクロックの２倍の周期の制御パルス信号を生成する。なお、クロック生成回路３１は、ＰＬＬクロックの２倍の周期の制御パルス信号を生成するが、ＰＬＬクロックの３以上の整数倍の周期の制御パルス信号を生成する構成にしてもよい。また、クロック生成回路３１により生成されるＰＬＬクロックの周期の倍数を可変にしてもよい。
【００４３】
図７は、第２の実施の形態の動作について説明するためのタイミングチャートである。  
スキャンテスト時又は遅延故障テスト時には、クロック制御回路１３により制御されたパルス制御信号がクロック生成回路３１のセレクタ３２に入力される。セレクタ３２では、スキャンテスト時又は遅延故障テスト時、即ち、テストモード信号が「１」の場合、このパルス制御信号が選択され、ＦＦ３３に供給される。ＦＦ３３では、ＰＬＬクロックの立ち上がりにおいて、パルス制御信号を取り込み、取り込まれた値が制御パルス信号として出力される。
【００４４】
システム動作時、即ち、テストモード信号が「０」の場合、セレクタ３２では、ＦＦ３３の出力が反転された値が選択され、ＦＦ３３に供給される。ＦＦ３３では、ＰＬＬクロックの立ち上がりにおいて、この反転された値を取り込み、取り込まれた値が制御パルス信号として出力される。このようにＦＦ３３では、ＰＬＬクロックの立ち上がりにおいて、順次反転された値が取り込まれるため、ＰＬＬクロックの２倍の周期の制御パルス信号が生成される。
【００４５】
以上のように、半導体集積回路１ａは、クロック生成回路３１によりＰＬＬクロックを分周したクロックを生成するようにした。この結果、ＰＬＬクロックを分周したクロックにより動作するＦＦに対し、動作条件に適したクロックを供給することができる。
【００４６】
なお、第１の実施の形態と第２の実施の形態とを同時に組み合わせて使用してもよい。ＬＳＩにおいてＰＬＬクロックとＰＬＬクロックを分周したクロックの両方を用いている場合、ＰＬＬクロックに直接接続されるＦＦに対しては第１の実施の形態のクロックゲーティング回路１４により制御された制御パルス信号を適用する。一方、分周したクロックに接続されるＦＦに対しては第２の実施の形態のクロック生成回路３１により制御された制御パルス信号を適用する。この結果、第１の実施の形態と同様の効果を得ると共に、ＰＬＬクロックとＰＬＬクロックを分周したクロックとにより動作するＦＦが混在している場合にも、そのＦＦに対応したクロック信号を供給することができるという効果を得ることができる。
【００４７】
（第３の実施の形態）
次に、第３の実施の形態について説明する。図８は、第３の実施の形態に係る半導体集積回路の構成を示すブロック図である。なお、図８において図１と同様の構成については、同一の符号を付して説明を省略する。
【００４８】
図８に示すように、本実施の形態の半導体集積回路１ｂは、図１の半導体集積回路１に対しＡＮＤ回路４１が追加され構成されている。また、本実施の形態では、ＰＬＬ回路１１が用いるリファレンスクロックをシフトクロックと共通化している。即ち、ＰＬＬ回路１１は、入力されるシフトクロックに基づいて、ＰＬＬクロックを生成する。そのため、シフトクロックは、スキャンテストのスキャンシフトを実行していない場合にもパルスを発生させる必要がある。
【００４９】
ＡＮＤ回路４１は、シフトクロックとシフトイネーブルとのＡＮＤ演算を施し、エッジ検出回路１２に出力する。その他の構成は、第１の実施の形態と同様のため説明を省略する。
【００５０】
図９は、第３の実施の形態の動作について説明するためのタイミングチャートである。ＰＬＬ回路１１では、シフトクロックに基づいてＰＬＬクロックが生成される。そのため、矢印２３に示すように、シフトクロックは常にパルスを発生している。
【００５１】
ＡＮＤ回路４１では、シフトクロックとシフトイネーブルとのＡＮＤ演算が施され、演算結果がエッジ検出回路１２に出力される。この結果、スキャンシフトが行われない場合、即ち、スキャンイネーブルが「０」の場合、矢印２８に示すように、ＡＮＤ回路４１の出力は「０」に固定される。そのため、エッジ検出回路１２では、スキャンシフトが行われる場合のみシフトクロックのエッジを検出することができる。その他の動作は、第１の実施の形態と同様のため説明を省略する。
【００５２】
以上のように、半導体集積回路１ｂは、ＰＬＬ回路１１のリファレンスクロックとしてシフトクロックを用いるようにした。また、シフトクロックとシフトイネーブルのＡＮＤ演算を施し、ＡＮＤ演算結果をシフトクロックとしてエッジ検出回路１２に入力するようにした。この結果、シフトクロックとＰＬＬ回路１１へのリファレンスクロックを共通化することができる。
【００５３】
よって、本実施の形態の半導体集積回路によれば、第１の実施の形態と同様に、シフトクロックにＰＬＬ回路からのクロックを用いることでクロックラインを単一にしてタイミング調整を容易にすることができると共に、リファレンスクロックのポートを削減できるという効果を得ることができる。
【００５４】
なお、第２の実施の形態においても、ＰＬＬ回路１１のリファレンスクロックとしてシフトクロックを用いるようにしてもよい。
【００５５】
（第４の実施の形態）
次に、第４の実施の形態について説明する。
【００５６】
ＬＳＩでは全体の消費電力を削減するため、通常動作時には使用しないモジュールのＦＦへのクロックの供給を停止するなどの制御を行う。しかし、スキャンテスト時には基本的にＬＳＩ全体のスキャンチェイン上のＦＦに対してシフトクロックが供給される。システム動作時の周波数に対してスキャンシフトの周波数は低いため平均的な消費電力の問題は少ない。しかし、ＬＳＩ全体のＦＦがシフトクロックの同一パルスで動作するため、ＩＲドロップ、即ち、電圧降下などの問題が発生する。
【００５７】
これに対して、従来では、スキャンチェイン上のＦＦを複数のグループに分割し、複数のグループに分割されたＦＦに与えるシフトクロックを別々にした上で、分割したＦＦに与えるシフトクロックの位相を少しずつずらすなどの対応があった。しかし、分割したグループの分だけシフトクロックの入力ポートを用意しなければならないという問題があった。本実施の形態では、外部入力ポートを増加させることなくＩＲドロップの発生を低減することができる半導体集積回路を提供する。
【００５８】
図１０は、第４の実施の形態に係る半導体集積回路の構成を示すブロック図である。なお、図１０において図１と同様の構成については、同一の符号を付して説明を省略する。図１０に示すように、半導体集積回路１ｃは、３つのクロックゲーティング回路１４ａ、１４ｂ及び１４ｃを有し、図１のクロック制御回路１３に代わりクロック制御回路１３ａを用いて構成されている。また、スキャン入力からスキャン出力に至るスキャンチェインには、複数のＦＦが接続されており、これらの複数のＦＦは３つのスキャンドメイン５１ａ、５１ｂ及び５１ｃに分割されている。なお、半導体集積回路１ｃは、３つのクロックゲーティング回路１４ａ、１４ｂ及び１４ｃを有しているが、２つ或いは４つ以上のクロックゲーティング回路を有していてもよい。また、クロックゲーティング回路に代わり、第２の実施の形態のクロック生成回路３１を用いるようにしてもよい。また、スキャンドメイン５１ａ、５１ｂ及び５１ｃは、１つのスキャンチェインにより構成されているが、スキャンドメイン毎に独立したスキャンチェインを構成してもよい。また、ＰＬＬ回路１１のリファレンスクロックとしてシフトクロックを用いるようにしてもよい。
【００５９】
これらのスキャンドメイン５１ａ、５１ｂ及び５１ｃは、接続されるクロックがそれぞれ異なり、スキャンドメイン５１ａには、クロックゲーティング回路１４ａから出力される制御パルス信号が入力され、スキャンドメイン５１ｂには、クロックゲーティング回路１４ｂから出力される制御パルス信号が入力され、スキャンドメイン５１ｃには、クロックゲーティング回路１４ｃから出力される制御パルス信号が入力される。
【００６０】
クロック制御回路１３ａは、シフトクロックのパルス発生を確認すると、即ち、エッジ検出回路１２からエッジ検出信号が入力されると、クロックゲーティング回路１４ｃにパルス制御信号Ｃを出力する。また、クロック制御回路１３ａは、クロックゲーティング回路１４ｃにパルス制御信号Ｃを出力した次以降のサイクルにおいて、クロックゲーティング回路１４ｂにパルス制御信号Ｂを出力する。更に、クロック制御回路１３ａは、クロックゲーティング回路１４ｂにパルス制御信号Ｂを出力した次以降のサイクルにおいて、クロックゲーティング回路１４ａにパルス制御信号Ａを出力する。
【００６１】
クロックゲーティング回路１４ａは、パルス制御信号Ａに基づいて、ＰＬＬクロックの制御を行い、制御パルス信号Ａをスキャンドメイン５１ａに出力する。同様に、クロックゲーティング回路１４ｂは、パルス制御信号Ｂに基づいて、ＰＬＬクロックの制御を行い、制御パルス信号Ｂをスキャンドメイン５１ｂに出力し、クロックゲーティング回路１４ｃは、パルス制御信号Ｃに基づいて、ＰＬＬクロックの制御を行い、制御パルス信号Ｃをスキャンドメイン５１ｃに出力する。
【００６２】
図１１は、第４の実施の形態の動作について説明するためのタイミングチャートである。
【００６３】
クロック制御回路１３ａでは、シフトクロックのパルス発生を認識すると、異なる位相のパルス制御信号Ａ、Ｂ及びＣが生成される。このように生成された矢印２６ａに示すパルス制御信号Ａは、クロックゲーティング回路１４ａに入力され、矢印２６ｂに示すパルス制御信号Ｂは、クロックゲーティング回路１４ｂに入力され、矢印２６ｃに示すパルス制御信号Ｃは、クロックゲーティング回路１４ｃに入力される。
【００６４】
クロックゲーティング回路１４ａでは、パルス制御信号Ａに基づいて、矢印２７ａに示す制御パルス信号Ａが生成され、スキャンドメイン５１ａに出力される。クロックゲーティング回路１４ｂでは、パルス制御信号Ｂに基づいて、矢印２７ｂに示す制御パルス信号Ｂが生成され、スキャンドメイン５１ｂに出力される。クロックゲーティング回路１４ｃでは、パルス制御信号Ｃに基づいて、矢印２７ｃに示す制御パルス信号Ｃが生成され、スキャンドメイン５１ｃに出力される。このようにスキャンドメイン５１ａ、５１ｂ及び５１ｃのそれぞれには、位相の異なる制御パルス信号Ａ、Ｂ及びＣが入力されることになる。
【００６５】
以上のように、クロック制御回路１３ａは、シフトクロックのパルス発生を検出すると、異なる位相のパルス制御信号Ａ、Ｂ及びＣを生成する。クロックゲーティング回路１４ａ、１４ｂ及び１４ｃのそれぞれは、パルス制御信号Ａ、Ｂ及びＣに基づいて、異なる位相の制御パルス信号Ａ、Ｂ及びＣを生成する。この結果、スキャンシフト時のシフトクロックで同時に変化するスキャンチェイン上のＦＦを分散させ、外部入力ポートを増加させることなくＩＲドロップの発生を低減することができる。
【００６６】
よって、本実施の形態の半導体集積回路によれば、第１の実施の形態と同様の効果を得ると共に、スキャンテスト時のシフトクロックによるＩＲドロップの発生を低減するという効果を得ることができる。
【００６７】
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【００６８】
【図１】第１の実施の形態に係る半導体集積回路の構成を示すブロック図である。
【図２】エッジ検出回路の構成の例を示すブロック図である。
【図３】クロックゲーティング回路の構成の例を示すブロック図である。
【図４】第１の実施の形態の動作について説明するためのタイミングチャートである。
【図５】第２の実施の形態に係る半導体集積回路の構成を示すブロック図である。
【図６】クロック生成回路の構成の例を示すブロック図である。
【図７】第２の実施の形態の動作について説明するためのタイミングチャートである。
【図８】第３の実施の形態に係る半導体集積回路の構成を示すブロック図である。
【図９】第３の実施の形態の動作について説明するためのタイミングチャートである。
【図１０】第４の実施の形態に係る半導体集積回路の構成を示すブロック図である。
【図１１】第４の実施の形態の動作について説明するためのタイミングチャートである。
【符号の説明】
【００６９】
１，１ａ，１ｂ，１ｃ…半導体集積回路、１１…ＰＬＬ回路、１２…エッジ検出回路、１３，１３ａ…クロック制御回路、１４，１４ａ，１４ｂ，１４ｃ…クロックゲーティング回路、１５，１６…ＦＦ、１７…ＡＮＤ回路、１８…ラッチ回路、１９…ＡＮＤ回路、３１…クロック生成回路、３２…セレクタ、３３…ＦＦ、４１…ＡＮＤ回路、５１ａ〜５１ｃ…スキャンドメイン。
【図１】
2009210544.tif 000003
【図２】
2009210544.tif 000004
【図３】
2009210544.tif 000005
【図４】
2009210544.tif 000006
【図５】
2009210544.tif 000007
【図６】
2009210544.tif 000008
【図７】
2009210544.tif 000009
【図８】
2009210544.tif 000010
【図９】
2009210544.tif 000011
【図１０】
2009210544.tif 000012
【図１１】
2009210544.tif 000013