(57)【要約】【課題】集積回路に供給するクロック信号を分配するためのクロックツリーの構成に関し、最適なクロックツリーを容易に構成し得るクロック分配方法を提供することを目的とする。また、ＢＩＳＴ回路を内蔵した評価用のＬＳＩのテストを、短時間で実行できるようにしたクロックツリーのクロック分配方法を提供することを目的とする。【解決手段】複数のセルに試験パターンを入力するステップと、第１のセルから第２のセルへデータ信号を転送させるステップと、第１のセル及び第2のセルへクロック信号を分配させ、データ信号の転送方向と同方向にクロック信号を転送させるステップと、転送されたクロック信号に基づき、試験パターンを複数のセルに入力し、複数のセルから出力される試験パターンの結果から、複数のセルの故障を検出させるステップとを有する情報処理装置のテスト方法。【選択図】  図１
2008197057.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルに、試験パターンを入力する試験パターン入力手段と、
前記複数のセルにクロック信号を分配するクロック分配手段と、
前記クロック分配手段により分配された前記クロック信号を受信する前記複数のセル中の第１のセルと、
前記第１のセルが該クロック信号を受信した後に、該クロック信号を受信する前記複数のセル中の第２のセルと、
前記第１のセルから前記第２のセルへデータ信号を転送するデータ転送手段と、
前記第１のセル及び前記第２のセルへ該クロック信号を分配し、かつ前記データ信号の転送方向と同方向に該クロック信号を転送するクロック転送手段と、
前記クロック転送手段により転送される該クロック信号に基づき、前記試験パターン入力手段により前記試験パターンを前記複数のセルに入力し、前記複数のセルから出力される前記試験パターンの結果から、前記複数のセルの故障を検出する故障検出手段と
を有することを特徴とする集積回路。
【請求項２】
請求項１記載の集積回路において、
前記データ転送手段は、前記第１のセルと前記第２のセルに続く前記複数のセルに対して、前記データ信号を順に転送し、
前記クロック転送手段は、前記データ信号の転送方向と同方向に該クロック信号を順に転送することを特徴とする集積回路。
【請求項３】
複数のセルに、試験パターンを入力する試験パターン入力手段と、
前記複数のセルにクロック信号を分配するクロック分配手段と、
前記クロック分配手段により分配された前記クロック信号を受信する前記複数のセル中の第１のセルと、
前記第１のセルが該クロック信号を受信した後に、該クロック信号を受信する前記複数のセル中の第２のセルと、
前記第１のセルから前記第２のセルへデータ信号を転送するデータ転送手段と、
前記第１のセル及び前記第２のセルへ該クロック信号を分配し、かつ前記データ信号の転送方向と同方向に該クロック信号を転送するクロック転送手段と、
前記クロック転送手段により転送される該クロック信号に基づき、前記試験パターン入力手段により前記試験パターンを前記複数のセルに入力し、前記複数のセルから出力される前記試験パターンの結果から、前記複数のセルの故障を検出する故障検出手段と
を有する集積回路を備えることを特徴とする情報処理装置。
【請求項４】
請求項３記載の情報処理装置において、
前記データ転送手段は、前記第１のセルと前記第２のセルに続く前記複数のセルに対して、前記データ信号を順に転送し、
前記クロック転送手段は、前記データ信号の転送方向と同方向に該クロック信号を順に転送することを特徴とする情報処理装置。
【請求項５】
複数のセルと、
クロック信号を受信する前記複数のセル中の第１のセルと、
前記第１のセルが該クロック信号を受信した後に、該クロック信号を受信する
前記複数のセル中の第２のセルとを有し、前記複数のセルに対して試験パターンを入力する情報処理装置のテスト方法において、
前記複数のセルに試験パターンを入力するステップと、
前記第１のセルから前記第２のセルへデータ信号を転送させるステップと、
前記第１のセル及び前記第2のセルへ該クロック信号を分配させ、前記データ信号の転送方向と同方向に該クロック信号を転送させるステップと、
転送された前記クロック信号に基づき、前記試験パターンを前記複数のセルに入力し、前記複数のセルから出力される前記試験パターンの結果から、前記複数のセルの故障を検出させるステップと
を有することを特徴とする情報処理装置のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップ上に多数のセルを配置してなる半導体集積回路の製造不良を検出するための試験装置及び試験方法において、クロック端子を有するセルにクロック信号を分配するクロック信号分配回路に関し、特に、大規模集積回路（以下、ＬＳＩと略記する）等の半導体集積回路に供給するクロック信号を分配するためのクロックツリーの構成に関するものである。
【背景技術】
【０００２】
近年のＬＳＩ等の半導体集積回路におけるメモリ搭載数増加やメモリ自身の大規模化に伴って、テストパターンが膨大になり、メモリのテスト時間が増大し、テストコストが上昇している。
【０００３】
例えば、ＬＳＩ等の半導体集積回路の製造不良の検出は、テスタを用いてＬＳＩの入力ピンに適当な信号値を印加し、その出力ピンに現れる信号値を期待される結果と比較することで行われる。
【０００４】
入力ピンに印加される信号値と出力ピンに現れるべき期待値とを合わせてテストパターン(試験パターン)と呼ぶ。
【０００５】
ＬＳＩの製造不良によりＬＳＩの内部に生じる欠陥は故障と呼ばれ、ＬＳＩ内部で起こりうる全ての故障について検証を行なうためには、多くのテストパターンが必要となる。
【０００６】
このため、テストパターンをＬＳＩのチップ内部で生成するビルト・イン・セルフテスト（ＢＩＳＴ）と呼ばれるテスト方式が、ランダム・アクセス・メモリ（ＲＡＭ）をはじめとするメモリのテストに使用されることが多い。ＢＩＳＴでは、疑似ランダムパターン発生器で発生されたパターンがＬＳＩの内部回路に印加され、その内部回路からの出力結果が出力検証器で検証・格納される。このようにＢＩＳＴでは、疑似ランダムパターン発生器がＬＳＩ内部に搭載されているため、極めて多数のテストデータを短時間で発生することができる。
【０００７】
一般に、半導体集積回路、例えばＬＳＩにおいては、１つのクロック信号あるいは位相の異なる複数のクロック信号に同期してＬＳＩ全体を動作させる。このような場合、外部から供給されたクロック信号をＬＳＩ内の各部のブロックに分配することにより、デコードやメモリのリード／ライト、各種演算等の動作を行なう。しかし、クロックの分配元から供給先までの配線長が異なっていると、クロック信号の到達タイミングにずれ（クロックスキュー）が発生する。クロックスキューが生じると、各ブロックでは誤った信号を取り込んだり、論理ゲートでは出力に不所望のひげ状パルスが発生したりして、回路が誤動作するおそれがある。従って、クロックスキューの大小がＬＳＩの性能（動作速度）を決定する要因となる。
【０００８】
従来、ＬＳＩ等の半導体集積回路では、Ｈツリー型のクロック分配回路が用いられている。この従来技術のＨツリー型のクロック分配回路を、以下従来のＬＳＩの第１例として図６に示す。この図６では、チップ６０（本原稿ではチップを１つのＬＳＩを複数の領域に分けた１領域の意味として使用する）上において、複数段（図６では４段）のブロックＶ１〜Ｖ１６を備える。バッファ６１〜６７は各ブロックＶ１〜Ｖ１６に対し、Ｈ型のクロック配線６８、６９によりツリー状に接続している。
【０００９】
より詳細に説明すると、外部からバッファ６１に対して供給されたクロック信号は、バッファ６２、６３・・・と順に分配されていく。バッファ６３からバッファ６４の間にあるクロック配線上で、チップ６０の中央に配置する拠点をＡ点とする。拠点Ａまで供給されたクロック信号は、拠点Ａを中心とするＨ型のクロック配線６８により、クロック配線６８上のバッファ６４、６５を介して、４個のバッファ６６に入力される。これらのバッファ６６は、Ｈ型のクロック配線６８の４個の先端位置にそれぞれ配置されており、拠点Ａから４個のバッファ６６までの配線長は等しくなっている。
【００１０】
各バッファ６６の出力は、このバッファ６６を中心とするＨ型のクロック配線６９により、さらに４個のバッファ６７に入力される。これらのバッファ６７は、Ｈ型のクロック配線６９の４個の先端位置にそれぞれ配置されており、バッファ６６から４個のバッファ６７までの配線長は等しくなっている。
【００１１】
このようにバッファ６４〜６７をクロック配線６８、６９により接続することで、クロック信号は、チップ６０のセル配置領域内に均一な密度で配置された１６個のバッファ６７へ分配される。バッファ６７に分配されたクロック信号は、バッファ６７から各ブロックＶ１〜Ｖ１６へ供給される。このとき、拠点Ａからバッファ６７までの配線長は等しくなり、バッファ６７でのクロックスキューを均一化することができる。
【００１２】
図７は、各ブロックに同位相のクロック信号が与えられた場合のクロックと入力データの関係を示すディレイチャート図である。ここで、クロック信号が与えられ、該クロック信号によってデータの保持動作が行われる。前述の図６に示すように、クロック信号は数段階のバッファ６１〜６７を経て分配される。図７からわかるように、パイプラッチ（Ｐｉｐｅ＿Ｌａｔｃｈ）Ｘ１、Ｙ１のクロック位相７１、７２及び各ブロックＶ１乃至Ｖ１６のクロック位相７３、７４、７５、７６・・・が、データ１と一致して流れていることがわかる。
【００１３】
しかし、現在のＬＳＩにおいてはその大規模化、高集積化が進展してきており、クロック信号の分配先である順序回路の数が非常に多くなっているのが現状である。
【００１４】
そのため、図６に示されるような従来技術のＨツリー型のクロック分配回路を用いた場合、順序回路の数の増大に伴い、クロックスキューが小さいクロックツリーを作成することが非常に困難であるという問題点が発生する。
【００１５】
そこで、クロックスキューの低減を図りつつ、なおかつ、このようなＬＳＩの設計、生産を容易に行い得るための従来技術として、特開平９−６３２９２号公報に開示された「クロック分配方法」がある。この特開平９−６３２９２号公報において開示された従来技術を、以下従来のＬＳＩの第２例として、図８に示す。
【００１６】
この従来のＬＳＩの第２例について、ＬＳＩ８０上でクロックツリーを構成する際には、データの流れの上流か下流かだけではなく特定のレジスタがどの流れに属しているかを考慮し、データの流れごとにある程度独立したクロックツリーを構成する必要性を示している。
【００１７】
本技術は、高速試験のためのＢＩＳＴ回路を内蔵した評価用のＬＳＩに関するものである。従って、製品としてのＬＳＩを製造する前に、ＬＳＩに搭載する回路の機能・性能の確認や問題点の洗い出しのために評価用のＬＳＩを作成している。
【００１８】
しかし、特許文献１に開示された従来技術のように、一般的なＬＳＩ８０は、独立した機能ブロックの集団であり、その結果、図８に矢印ｂで示すような複数のデータの流れを持っている。特許文献1では、互いに異なるデータの流れの間には関連が少ないので、それらを一箇所に集めて配置せず、データの流れごとに分離してデータを配置している。
【００１９】
従って、従来技術は、データの流れごとに独立したクロックツリーを構成するため、クロックツリーの種類が複数となり、クロック設計の工数が増えて、ＬＳＩの論理回路に用いる最適なクロックツリーを短時間で構成することが難しいという問題点がある。
【００２０】
それに対して、本発明ではＢＩＳＴを採用することで、複数のデータの流れを持たせないようにしている。即ち、本発明は、評価用のＬＳＩ内に一方方向にのみ流れるテストパターンを入力するようにしている。
【００２１】
よって、本発明のクロック分配回路の設計は、従来技術より容易にクロックツリーを構成し得るものである。
【特許文献１】特開平９−６３２９２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
クロック分配回路の設計時には、クロックスキューをより確実に最適化する必要がある。そのためには、バッファの挿入や配置状態、またブロックの段数をレイアウト設計時に、配線状態とともに調整することが好ましい。
【００２３】
また、一般に、クロック伝播遅延時間を最適化するには、所定位置に配置されたブロックを見て、クロックネットのバランスを考慮しながらクロックツリーを作成することが望ましい。ここで、クロック伝播遅延時間とは、クロック信号が１つのブロックから各ブロックまで到達するのに要する時間であり、クロック伝播遅延時間の最適化とは、その遅延時間を最小化（最短化）することである。
【００２４】
しかし、従来技術として図６に、ブロックの配置が対象性のある４×４の例を示したが、実際にはフロアプランの制約等から５×３のように対象性が崩れることがある。よって、最適なＨツリー状のクロック配線を構成することが非常に困難な状況になってきている。この結果、Ｈツリー状のクロックツリーの構造が不適切となり、クロックスキューとクロック伝播遅延時間とを同時かつ確実に最適化するようなクロック分配回路の設計が難しいという問題点があった。
【００２５】
特許文献１は、回路解析ステップにおいて論理回路を解析して求めたレジスタの段数及び各レジスタ間の最小遅延時間に基づいて、クロックツリー決定ステップで論理回路を形成している。特許文献１は、クロックツリー決定ステップが複数のレジスタにクロック信号を供給するクロックツリーの構造を決定することにより、最適なクロックツリーを構成し得るクロック分配方法を開示している。
【００２６】
つまり、特許文献１の技術が開示しているのは、製品としてのＬＳＩに対して、クロックツリーの構造が不適切となることにより、品質が低下する問題を解決するために、最適なクロックツリーを容易に構成し得るクロック分配方法を提案しようとするものである。
【００２７】
しかしながら、現実のＬＳＩでは、複数のデータの流れを持ち、互いに異なるデータの流れごとに独立したクロックツリーを構成する必要がある。この結果、クロックツリーの種類が複数となり、クロック設計の工数が増えて、ＬＳＩの論理回路に用いる最適なクロックツリーを短時間で構成することが難しいという問題点があった。
【００２８】
本発明は以上の課題に鑑み創案されたもので、最適なクロックツリーを容易に構成し得るクロック分配方法を提供することを目的とする。
【００２９】
また、ＢＩＳＴ回路を内蔵した評価用のＬＳＩのテストを、短時間で実行できるようにしたクロックツリーのクロック分配方法を提供することを目的とする。
【課題を解決するための手段】
【００３０】
上記目的を達成するために本発明は、集積回路において、複数のセルに試験パターンを入力する試験パターン入力手段と、複数のセルにクロック信号を分配するクロック分配手段と、クロック分配手段により分配されたクロック信号を受信する複数のセル中の第１のセルと、第１のセルがクロック信号を受信した後に、クロック信号を受信する複数のセル中の第２のセルと、第１のセルから第２のセルへデータ信号を転送するデータ転送手段と、第１のセル及び第２のセルへクロック信号を分配し、かつデータ信号の転送方向と同方向にクロック信号を転送するクロック転送手段と、クロック転送手段により転送されるクロック信号に基づき、試験パターン入力手段により試験パターンを複数のセルに入力し、複数のセルから出力される試験パターンの結果から、複数のセルの故障を検出する故障検出手段とを有することを特徴とする。
【００３１】
さらに、本発明のデータ転送手段は、第１のセルと第２のセルに続く複数のセルに対してデータ信号を順に転送し、クロック転送手段は、データ信号の転送方向と同方向にクロック信号を順に転送することを特徴とする。
【００３２】
さらに、本発明は、集積回路を備える情報処理装置において、複数のセルに試験パターンを入力する試験パターン入力手段と、複数のセルにクロック信号を分配するクロック分配手段と、クロック分配手段により分配されたクロック信号を受信する複数のセル中の第１のセルと、第１のセルがクロック信号を受信した後に、クロック信号を受信する第２のセルと、第１のセルから第２のセルへデータ信号を転送するデータ転送手段と、第１のセル及び第２のセルへクロック信号を分配し、かつデータ信号の転送方向と同方向にクロック信号を転送するクロック転送手段と、クロック転送手段により転送されるクロック信号に基づき、試験パターン入力手段により試験パターンを複数のセルに入力し、複数のセルから出力される試験パターンの結果から、複数のセルの故障を検出する故障検出手段とを有することを特徴とする。
【００３３】
さらに、本発明のデータ転送手段は、第１のセルと第２のセルに続く複数のセルに対して、データ信号を順に転送し、クロック転送手段は、データ信号の転送方向と同方向にクロック信号を順に転送することを特徴とする。
【００３４】
さらに、本発明は、複数のセルと、クロック信号を受信する複数のセル中の第１のセルと、第１のセルがクロック信号を受信した後に、クロック信号を受信する複数のセル中の第２のセルとを有し、複数のセルに対して試験パターンを入力する情報処理装置のテスト方法において、複数のセルに試験パターンを入力するステップと、第１のセルから第２のセルへデータ信号を転送させるステップと、第１のセル及び第2のセルへクロック信号を分配させ、データ信号の転送方向と同方向にクロック信号を転送させるステップと、転送されたクロック信号に基づき、試験パターンを複数のセルに入力し、複数のセルから出力される試験パターンの結果から、複数のセルの故障を検出させるステップとを有することを特徴とする。
【発明の効果】
【００３５】
本発明のクロック分配方法によれば、以下のような効果ないし利点を得ることができる。
【００３６】
クロック分配回路の設計に際して、設置したブロックへ向け、配線状態とバッファの挿入・配置状態との両方を調節しながら配線経路が決定されるので、回路全体におけるクロック伝播遅延時間とクロックスキューとが同時にかつ確実に最適化され、最適なクロックツリーを短時間でかつ容易に構成することができる。
【００３７】
また、データの流れにそった最適なクロック分配回路を使用することで、ＢＩＳＴ回路を内蔵した評価用のＬＳＩのテストを、短時間で実行することができる。
【発明を実施するための最良の形態】
【００３８】
以下、図面を参照しながら本発明の実施の形態について説明する。
図１は本実施形態を説明するクロック分配回路の原理構成図であり、クロック信号の分配例を示す。なお、図１中のブロックＶ１〜Ｖ１６のうち、上半分にあるブロックＶ１〜Ｖ８と、下半分にあるＶ９〜Ｖ１６は、異なるクロック信号の分配例を示している。
〔１〕第１実施形態の説明
図１は本発明のクロック分配回路の原理構成図について示している。なお、第１実施形態は、ブロックＶ１〜Ｖ８を示す。
第１の実施形態では、複数段(図１では２段)のブロックＶ１〜Ｖ８を備え、これらのブロックＶ１〜Ｖ８に信号を送るバッファ１１〜１７を備えている。バッファ１１〜１７間は、クロック配線により接続している。
より詳細に説明すると、ＬＳＩ等の半導体集積回路のチップ１０は、外部から高速データとクロック信号を受ける。外部からバッファ１１に対して供給されたクロック信号は、バッファ１２、１３・・・(？１００)と順に分配されていく。拠点Ａまで供給されたクロック信号は、拠点Ａを中心とするクロック配線により、クロック配線上のバッファ１３を介して、バッファ１４に入力される（？１０１、１０２）。バッファ１４に分配されたクロック信号は、バッファ１４からブロックＶ１及びＶ５へ供給される。このとき、拠点Ａからバッファ１４までの配線長は等しくなり、バッファ１４でのクロックスキューを均一化することができる。
拠点Ａからクロック配線上のバッファ１３及び拠点Ｂを介する（？１０３）クロック信号は、バッファ１４及び１５に入力される（？１０４、１０５）。バッファ１５に分配されたクロック信号は、バッファ１５からブロックＶ２及びＶ６へ供給される。このとき、拠点Ｂからバッファ１５までの配線長は等しくなり、バッファ１５でのクロックスキューを均一化することができる。
【００３９】
拠点Ｂからクロック配線上のバッファ１４及び拠点Ｃを介する（？１０６）クロック信号は、バッファ１５及び１６に入力される（？１０７、１０８）。バッファ１６に分配されたクロック信号は、バッファ１６からブロックＶ３及びＶ７へ供給される。このとき、拠点Ｃからバッファ１６までの配線長は等しくなり、バッファ１６でのクロックスキューを均一化することができる。
拠点Ｃからクロック配線上のバッファ１５及び拠点Ｄを介する（？１０９）クロック信号は、バッファ１６及び１７に入力される（？１１０、１１１）。バッファ１７に分配されたクロック信号は、バッファ１７からブロックＶ４及びＶ８へ供給される。このとき、拠点Ｄからバッファ１７までの配線長は等しくなり、バッファ１７でのクロックスキューを均一化することができる。
上述と同様の方法で、クロック配線上（？１１２）のクロック信号は、各ブロックに供給されていく。
このように、高速試験のためのＢＩＳＴ回路を内蔵した評価用のＬＳＩにおいては、外部から入力された高速データと同じ方向にクロック信号の分配を行っている。即ち、評価用のＬＳＩは高速データを一方方向にのみ転送し、また高速データの転送は、隣り合うブロック間のみである。また、クロック信号の位相は、ブロックＶ１とＶ５、ブロックＶ２とブロックＶ６、ブロックＶ３とブロックＶ７、ブロックＶ４とＶ８は同位相になっている。
本発明は、データの転送に沿って、各ブロックのクロック信号の位相が段々とずれるようになる。つまり、ブロックＶ１とＶ４のクロック信号の位相は大きいが、ブロックＶ１とブロックＶ４間での高速データの転送はない。よって、本発明は、ブロックＶ１とＶ２のように、高速データの転送がある隣り合うブロック間のみのクロック信号の位相を考えて、クロックツリーを構成している。
以上から、本発明はクロック分配回路の設計に際して、設置したブロックへ向け、配線状態とバッファの挿入・配置状態との両方を調節しながら配線経路を決定している。また、クロックスキューの悪影響を最小限にするようクロックツリーを決定している。これにより、評価用のＬＳＩに用いる最適なクロックツリーを短時間でかつ容易に構成することができる。
また、最適なクロック分配回路を使用することで、ＢＩＳＴ回路を内蔵した評価用のＬＳＩのテストを、短時間で実行することができる。
〔２〕第２実施形態の説明
第２実施形態は、図１中のブロックＶ９〜Ｖ１６を示す。
第２実施形態では、複数段（図１では２段）のブロックＶ９〜Ｖ１６を備え、これらのブロックＶ９〜Ｖ１６に信号を送るバッファ１１〜１７を備えている。バッファ１１〜１７間は、クロック配線により接続している。
より詳細に説明すると、ＬＳＩ等の半導体集積回路のチップ１０は、外部から高速データとクロック信号を受ける。外部からバッファ１１に対して供給されたクロック信号は、バッファ１２、１３・・・と順に分配されていく。拠点Ｅまで供給されたクロック信号は、クロック配線上のバッファ１２及び１３を介して（？１１３）、ブロックＶ９へ供給される。拠点Ｅからクロック配線上のバッファ１２及び拠点Ｆを介する（？１１４）クロック信号は、バッファ１３を介して、バッファ１４に入力される（？１１５）。バッファ１４に分配されたクロック信号は、バッファ１４からブロックＶ１０へ供給される。
拠点Ｆからクロック配線上のバッファ１３及び拠点Ｇを介する（？１１６）クロック信号は、バッファ１４を介して、バッファ１５に入力される（？１１７）。バッファ１５に分配されたクロック信号は、バッファ１５からブロックＶ１１へ供給される。
拠点Ｇからクロック配線上のバッファ１４及び拠点Ｈを介する（？１１８）クロック信号は、バッファ１５を介して、バッファ１６に入力される（？１１９）。バッファ１６に分配されたクロック信号は、バッファ１６からブロックＶ１２へ供給される。
上述と同様の方法で、クロック配線上（？１２０）のクロック信号は、次のブロックに供給されていく。
また、拠点Ｅまで供給されたクロック信号は、クロック配線上のバッファ１２、拠点Ｉ及びバッファ１３を介して（？１２１）、バッファ１４に入力される。バッファ１４に分配されたクロック信号は、バッファ１４からブロックＶ１３へ供給される。
拠点Ｉからクロック配線上のバッファ１３及び拠点Ｊを介する（？１２２）クロック信号は、バッファ１４を介して、バッファ１５に入力される（？１２３）。バッファ１５に分配されたクロック信号は、バッファ１５からブロックＶ１４へ供給される。
【００４０】
拠点Ｊからクロック配線上のバッファ１４及び拠点Ｋを介する（？１２４）クロック信号は、バッファ１５を介して、バッファ１６に入力される（？１２５）。バッファ１６に分配されたクロック信号は、バッファ１６からブロックＶ１５へ供給される。
【００４１】
拠点Ｋからクロック配線上のバッファ１５及び拠点Ｌを介する（？１２６）クロック信号は、バッファ１６を介して、バッファ１７に入力される（？１２７）。バッファ１７に分配されたクロック信号が、バッファ１７からブロックＶ１６へ供給される。
上述と同様の方法で、クロック配線上（？１２８）のクロック信号は、次のブロックに供給されていく。
第２実施形態において、クロック信号は、ブロックＶ９〜Ｖ１２とブロックＶ１３〜Ｖ１６とは独立して供給されている。
このように、高速試験のためのＢＩＳＴ回路を内蔵した評価用のＬＳＩにおいては、外部から入力された高速データと同じ方向にクロック信号の分配を行っている。即ち、評価用のＬＳＩは高速データを一方方向にのみ転送し、また高速データの転送は、隣り合うブロック間のみである。
本発明は、データの転送に沿って、各ブロックのクロック信号の位相が段々とずれるようになる。つまり、ブロックＶ９とＶ１２のクロック信号の位相は大きいが、ブロックＶ９とブロックＶ１２間での高速データの転送はない。よって、本発明は、ブロックＶ９とＶ１０のように、高速データの転送が隣り合うブロック間のみのクロック信号の位相を考えて、クロックツリーを構成している。
以上から、本発明はクロック分配回路の設計に際して、設置したブロックへ向け、配線状態とバッファの挿入・配置状態との両方を調節しながら配線経路を決定している。また、クロックスキューの悪影響を最小限にするようクロックツリーを決定している。これにより、評価用のＬＳＩに用いる最適なクロックツリーを短時間でかつ容易に構成することができる。
また、最適なクロック分配回路を使用することで、ＢＩＳＴ回路を内蔵した評価用のＬＳＩのテストを、短時間で実行することができる。
図２は、本発明の原理構成を示す概略ブロック図である。なお、図２は、ブロック２７及び２７Ａと２個のブロックを含むチップ１０の例を示している。図２に示すように、本発明の基本構造は、ＢＩＳＴのパターン生成回路２１、ラッチ（図中ではＰｉｐｅ  Ｌａｔｃｈとよぶ）２２、２２Ａ、２３及び２３Ａ、被試験回路２４及び２４Ａ、パイプ段数調整ラッチ２５及び２５Ａ、データレシーバ２６及び２６Ａ、ブロック２７及び２７Ａで構成している。図中のブロック２７及び２７Ａは、図１におけるブロックＶ１〜Ｖ１６を示している。
ＢＩＳＴのパターン生成回路２１は、被試験回路をテストするためのテストパターンと、ビット毎に出力する期待値を自動生成する。本発明では、ＢＩＳＴのパターン生成回路２１は、被試験回路２４をテストするためのテストパターンとして、試験データと被試験回路制御信号を生成している。
ラッチ２２、２２Ａ、２３及び２３Ａは、クロック信号が入力されると同時に、入力されたデータをラッチ内部に保持し、このデータを出力する。
被試験回路２４は、ＢＩＳＴのパターン生成回路で生成された試験データと被試験回路制御信号を入力する。被試験回路２４は、試験結果を被試験回路出力値Ｂとして出力する。
パイプ段数調整ラッチ２５は、被試験回路２４とラッチ段数が等しくなるように調整している。ＢＩＳＴのパターン生成回路２１で生成された期待値は、パイプ段数調整ラッチ２５で調整され、パイプ段数調整ラッチ２５は、調整した期待値Ａを出力する。なお、図中における比較動作ｅｎａｂｌｅＣと、低速転送データＤについては、図４で後述する。
以下、図２の回路動作について説明する。
ＢＩＳＴのパターン生成回路２１は、テストデータパターンを自動生成し、ビット毎に出力する期待値とともに、ブロック２７及び２７Ａ内の被試験回路２４及び２４Ａとパイプ段数調整ラッチ２５及び２５Ａに入力する。ブロック２７及び２７Ａ内のデータレシーバ２６及び２６Ａは、期待値Ａと被試験回路制御出力値Ｂの比較を行う。
図３は、本発明のブロックの動作の概要を示す説明図である。同図では、前述の図２で示したブロック２７及び２７Ａをさらに詳細に説明する。パターン生成回路３０は、テストデータパターンとして試験データと被試験回路制御信号を生成する。生成された試験データと被試験回路制御信号は、ブロック２７内の被試験回路３４に入力する。同時に、パターン生成回路３０は期待値を生成し、パイプラッチ３１に入力する。パイプラッチ３１から出力された期待値は、ブロック２７内のパイプ段数調整ラッチ３２に入力する。
ラッチ（ＬＡＴＣＨ）３３、３３Ａ、３５、３５Ａ、３７は、クロック信号が入力されると同時に、入力されたデータをラッチ内部に保持し、このデータを出力する。
【００４２】
パイプ段数調整ラッチ３２から出力した期待値Ａは、データレシーバ３８に入力される。さらに、被試験回路３４内の試験対象回路から出力した被試験回路出力値Ｂも、データレシーバ３８に入力される。
【００４３】
本発明において、データレシーバ３８は期待値Ａと被試験回路出力値Ｂとの比較を高速に行う。データレシーバ３８は、高速に行われた試験の比較結果をスキャン機構Ｄにより低速で読み出している。よって、本発明によるＬＳＩ等の半導体集積回路のチップ１０は、故障の有無を判定可能としている。
【００４４】
データレシーバ３８の詳細な動作については、図４で後述する。なお、データレシーバ３８は、図４で示す１ビット分の回路３９、３９Ａ、３９Ｂが複数個集まった構成となっている。
図４は、本発明のデータレシーバの動作の概要を示す説明図である。図４に示すように、データレシーバ３９はＸＯＲ演算回路４１、ＯＲ演算回路４２、ラッチ４３からなる。
ＸＯＲ（Ｅｘｃｌｕｓｉｖｅ  ＯＲ）演算回路４１は、排他的論理和演算回路とよび、入力のうち真（あるいは１）の数が奇数個ならば出力が真（あるいは１）になり、偶数個の場合は出力が偽（あるいは０）になるような演算を行う。本発明のように、入力が出力期待値Ａと被試験回路出力値Ｂの２入力の場合、どちらか一方の入力のみ真（あるいは１）のときに出力が真（あるいは１）となり、両方真（あるいは１）または両方偽（あるいは０）の場合に出力が偽（あるいは０）となる。
ＯＲ演算回路４２は、論理和演算回路とよび、１つ以上の入力が真（あるいは１）の場合に出力が真（あるいは１）になり、すべての入力が偽（あるいは０）の場合だけ出力が偽（あるいは０）になるような演算を行う。本発明において、ＯＲ演算回路４２には、ラッチ４３の出力とＸＯＲ演算回路４１の出力が入力される。
ラッチ４３のＤ入力端子には、ＯＲ演算回路４２の出力が入力され、ＥＮ入力端子にはＢＩＳＴ回路からの比較動作を可能する信号Ｃが入力される。スキャン読み出し信号Ｄは、ラッチ４３のＳＩ（Ｓｃａｎ−Ｉｎ）端子に入力（前段のデータレシーバがあればその出力）が供給され、ＳＯ（Ｓｃａｎ−Ｏｕｔ）端子から出力される（後段のデータレシーバがあればその入力に供給される）。ラッチ４３は、クロック端子（ＣＬＫ）に入力される信号に応じて制御される。すなわち、クロック端子（ＣＬＫ）に信号が入力されると、ＯＮ状態となったラッチ４３は、入力端子（Ｄ）のデータを取り込み、取り込んだデータは出力端子（Ｑ）に出力される。クロック端子（ＣＬＫ）に信号が入力されないと、ラッチ４３はＯＦＦ状態となり、入力端子（Ｄ）にデータは取れ込まれず、以前のデータ出力を保持する。従って、ラッチ（本発明はＤ−ＬＡＴＣＨを使用している）のデータの出力は、クロック信号が入力された時にしか変化しない。
【００４５】
以下、データレシーバ３９の動作について説明する。
【００４６】
ＸＯＲ（Ｅｘｃｌｕｓｉｖｅ  ＯＲ）演算回路４１は、パイプ段数調整ラッチ３１から出力された出力期待値Ａと、被試験回路３４から出力された被試験回路出力値Ｂを入力する。出力期待値Ａと被試験回路出力値Ｂの両方が１あるいは０で同じ場合には、比較結果が良いとみなし、出力は０となる。一方、出力期待値Ａと被試験回路出力値Ｂのどちらか一方の入力のみ１の場合には、比較結果が悪いとみなされ、出力は１となる。
出力期待値Ａと被試験回路出力値Ｂの両方が同じ場合、ＸＯＲ演算回路４１は
演算結果を０とし、これをＯＲ演算回路４２に入力する。ＥＮ入力端子にＢＩＳＴ回路からの比較動作を可能する信号Ｃが入力されると、クロック端子（ＣＬＫ）に信号が入力されるタイミングで、ラッチ４３はデータの取り込みを行う。ＯＲ演算回路４２からラッチ４３の入力端子（Ｄ）に０が入力されると、出力端子（Ｑ）から０が出力される。０に出力されたデータは、ＯＲ演算回路４２に入力される。次に、ＯＲ演算回路４２は、ラッチから出力された０と、ＸＯＲ演算回路４１から出力されたデータと２入力の演算を行う。
出力期待値Ａと被試験回路出力値Ｂの両方が同じ場合、ＯＲ演算回路４２は、ラッチから出力された０と、ＸＯＲ演算回路４１から出力された０と２入力の演算を行う。すべての入力が０となるため、ＯＲ演算回路４２の出力は０となる。
しかし、出力期待値Ａと被試験回路出力値Ｂが異なる場合、ＯＲ演算回路４２は、ラッチから出力された０と、ＸＯＲ演算回路４１から出力された１と２入力の演算を行うため、１が出力される。クロック端子（ＣＬＫ）に信号が入力されるタイミングで、ＯＲ演算回路４２からラッチ４３の入力端子（Ｄ）に１が入力されると、出力端子（Ｑ）から１が出力される。１に出力されたデータは、ＯＲ演算回路４２に入力される。ＯＲ演算回路４２は、１つ以上の入力が１の場合に出力が１になる。
以上から、出力期待値Ａ被試験回路出力値Ｂが、一度でも異なった場合、クロック端子（ＣＬＫ）に信号が入力されるタイミングで、入力端子（Ｄ）に１が入力され、出力端子（Ｑ）から１が出力される。スキャン読み出し信号Ｄは、ラッチ４３のＳＩ端子からＳＯ端子をスキャンすることで、出力期待値Ａ被試験回路出力値Ｂが異なるという１のデータを読み出す。
よって、本発明によるＬＳＩ等の半導体集積回路のチップ１０は、故障の有無をデータレシーバ３９により判定可能としている。
【００４７】
図５は、クロック分配回路のディレイチャート図である。図７で示した従来例のように、従来は各ブロックのクロックが同位相になっている。しかし、図５に示すように本発明は、各ブロックのクロック位相５１〜５６が、データの流れに沿って、段々とずれていることがわかる。前述の図１に示すように、クロック信号は数段階のバッファ１１〜１７を経て、チップ１０内の各ブロックＶ１〜Ｖ８或いは、各ブロックＶ９〜Ｖ１６に分配される。図５からわかるように、パイプラッチ（Ｐｉｐｅ＿Ｌａｔｃｈ）Ｘ１、Ｙ１のクロック位相５１、５２及び各ブロックＶ１〜Ｖ８（Ｖ９〜Ｖ１６）のクロック位相５３、５４、５５、５６・・・が、データ１と一致して流れていることがわかる。
本発明のような評価用のＬＳＩでは、高速データを一方方向にのみ転送し、また高速データの転送は、隣り合うブロック間のみである。また、ブロックＶ１とＶ４のクロック信号の位相は大きいが、ブロックＶ１とブロックＶ４間での高速データの転送はない。よって、クロック位相の差は、ブロックＶ１とＶ２のように隣り合うブロックのクロック信号の位相のみを考えればよい。よって、従来例のように、各ブロックの位相は完全に同位相にする必要がなくなる。
以上から、本発明はクロック分配回路の設計に際して、設置したブロックへ向け、配線状態とバッファの挿入・配置状態との両方を調節しながら配線経路を決定している。また、クロックスキューの悪影響を最小限にするようなクロックツリーを決定し、さらにクロックツリー設計の自由度が向上していることが分かる。これにより、評価用のＬＳＩに用いる最適なクロックツリーを短時間でかつ容易に構成することができる。
また、最適なクロック分配回路を使用することで、ＢＩＳＴ回路を内蔵した評価用のＬＳＩのテストを、短時間で実行することができる。
【図面の簡単な説明】
【００４８】
【図１】本発明によるクロック分配回路の原理構成図
【図２】原理構成を示す概略ブロック図
【図３】ブロックの動作の概要を示す説明図
【図４】データレシーバの動作の概要を示す説明図
【図５】クロック分配回路のディレイチャート図
【図６】Ｈツリー状のクロック分配回路の構成図
【図７】従来のクロック分配回路のディレイチャート図
【図８】従来のＬＳＩチップのレイアウトの説明に供する接続図
【符号の説明】
【００４９】
１０        集積回路のチップ
１１〜１７  バッファ
２１        パターン生成回路
２２、２３  パイプラッチ
２４        被試験回路
２５        パイプ段数調整ラッチ
２６        データレシーバ
２７        ブロック
【図１】
2008197057.tif 000003
【図２】
2008197057.tif 000004
【図３】
2008197057.tif 000005
【図４】
2008197057.tif 000006
【図５】
2008197057.tif 000007
【図６】
2008197057.tif 000008
【図７】
2008197057.tif 000009
【図８】
2008197057.tif 000010