(57)【要約】【課題】  タイミングの調整やレイアウト設計の最適化などを容易化する。【解決手段】  置き換えセルＣＥＬＬ１は、クロックバッファＣＢ１及びクロック信号の立ち下がり時にデータをラッチするフリップフロップＦＦ１から構成され、クロックツリーを構成する縦続接続されたクロックバッファとスキャン回路の間のスキャン回路側に隣接する最終段クロックバッファを置き換え、タイミングの調整やレイアウト設計の最適化などを容易化する。【選択図】  図１
2006343151.tif 000002
【特許請求の範囲】
【請求項１】
クロック制御回路から出力されたクロック信号をドライブするクロックバッファが縦続接続され、クロックツリーを構成するクロックバッファ部と、
前記クロックバッファ部に接続され、スキャン制御回路から出力されたスキャンシフトイネーブル信号、及び前記クロックバッファから出力された前記クロック信号を入力し、前記クロック信号に同期化された前記スキャンシフトイネーブル信号、及び前記クロック信号を出力し、前記クロックバッファ部の最終段の前記クロックバッファを置き換える置き換えセルと、
前記置き換えセルから出力された前記クロック信号に同期化された前記スキャンシフトイネーブル信号、前記クロック信号、及びスキャン入力信号を入力し、スキャンテストを行うための信号を出力するスキャン回路と、
を具備することを特徴とするスキャンテスト回路。
【請求項２】
前記置き換えセルは、前記クロック信号を入力し、前記クロック信号をドライブして前記スキャン回路に出力するクロックバッファと、前記スキャンシフトイネーブル信号をデータ信号として入力し、前記クロック信号の立ち下り時、前記スキャンシフトイネーブル信号をラッチし、記憶・更新された前記スキャンシフトイネーブル信号を前記スキャン回路に出力するフリップフロップ又はラッチ回路とから構成されていることを特徴とする請求項１に記載のスキャンテスト回路。
【請求項３】
前記置き換えセルは、前記クロック信号を入力し、前記クロック信号をドライブして前記スキャン回路に出力するクロックバッファと、前記スキャンシフトイネーブル信号をデータ信号として入力し、前記クロック信号の立ち上り時、前記スキャンシフトイネーブル信号をラッチし、記憶・更新された前記スキャンシフトイネーブル信号を前記スキャン回路に出力するフリップフロップとから構成されていることを特徴とする請求項１に記載のスキャンテスト回路。
【請求項４】
クロック制御回路から出力されたクロック信号をドライブするクロックバッファが縦続接続され、クロックツリーを構成するクロックバッファ部と、
前記クロックバッファ部に接続され、スキャン制御回路から出力されたスキャンシフトイネーブル信号、及び前記クロックバッファから出力された前記クロック信号を入力し、前記クロック信号に同期化された前記スキャンシフトイネーブル信号、及び前記クロック信号を出力し、前記クロックバッファ部の最終段の第１のクロックバッファを置き換える第１の置き換えセルと、
前記クロックバッファ部に接続され、前記スキャン制御回路から出力されたスキャンシフトイネーブル信号、及び前記クロックバッファから出力された前記クロック信号を入力し、前記クロック信号に同期化された前記スキャンシフトイネーブル信号、及び前記クロック信号を出力し、前記クロックバッファ部の最終段の第２のクロックバッファを置き換える第２の置き換えセルと、
前記第１の置き換えセルから出力された、前記クロック信号に同期化された前記スキャンシフトイネーブル信号、前記クロック信号、及びスキャン入力信号を入力し、スキャンテストを行うための信号を出力する第１のスキャン回路と、
前記第１のスキャン回路から出力された前記スキャン入力信号を入力し、前記スキャン入力信号にもとづいてスキャンテストを行う被試験回路としての論理回路部と、
前記第２の置き換えセルから出力された、前記クロック信号に同期化された前記スキャンシフトイネーブル信号、前記クロック信号、及び前記論理回路部から出力されたスキャンテスト情報を入力し、前記スキャンテスト情報を出力する第２のスキャン回路と、
を具備することを特徴とするスキャンテスト回路。
【請求項５】
クロック制御回路から出力されたクロック信号をドライブするクロックバッファが縦続接続され、クロックツリーを構成するクロックバッファ部を配置配線するステップと、
前記クロックバッファ部に接続され、スキャン制御回路から出力されたスキャンシフトイネーブル信号、及び前記クロックバッファから出力された前記クロック信号を入力し、前記クロック信号に同期化された前記スキャンシフトイネーブル信号、及び前記クロック信号を出力する置き換えセルに前記クロックバッファ部の最終段の前記クロックバッファを置き換えるステップと、
前記クロックツリーを構成する前記クロックバッファ部と前記置き換えセル間、及び前記置き換えセルとスキャン回路間を配置配線するステップと、
を具備することを特徴とするスキャンテスト回路の配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のテスト容易化設計に係り、特にスキャンテスト法に用いられるスキャンテスト回路及びその配置方法に関する。
【背景技術】
【０００２】
近年、情報機器等の高機能化、多機能化の進展に伴い、携帯情報機器やパーソナルコンピュータなどに、多数のシステム機能を同一チップ上に集積したシステムＬＳＩや、メモリ、論理回路、及びアナログ回路を同一チップに搭載したＳｏＣ（System  on  a  Chip）などが多用されている。大規模で、且つ高速化したシステムＬＳＩやＳｏＣでは、テストコスト等を抑制するために、スキャンテスト法やＢＩＳＴ（Built  in  Self  Test）法などのテスト容易化設計（Design  for  Testability  ＤＦＴと呼称される）と呼ぶ技術が用いられている。スキャンテスト法では、フリップフロップをスキャンフリップフロップに置き換える。スキャンフリップフロップを用いると、外部から値を設定し、外部入出力端子から、値を読み出すことが可能となり、ＡＴＰＧ（Automatic  Test  Pattern  Generator）を用いたテストパターンの作成が容易になるなどの特徴を有する（例えば、特許文献１参照。）。
【０００３】
スキャンテスト法で用いられるスキャン制御信号であるスキャンシフトイネーブル（Scan  Shift  Enable）信号をパイプライン化する場合、スキャンシフトイネーブルを負荷分散し、同期化するために適宜フリップフロップなどを挿入していた。ところが、このような配置方法では、タイミングの調整やレイアウト設計が煩雑になるので設計時間がかかり、且つ最適化が困難になるという問題点がある。
【特許文献１】特開２００２−３２９７８４号公報（頁５、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、タイミングの調整やレイアウト設計の最適化などが容易化できるスキャンテスト回路及びその配置方法を提供する。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の一態様のスキャンテスト回路は、クロック制御回路から出力されたクロック信号をドライブするクロックバッファが縦続接続され、クロックツリーを構成するクロックバッファ部と、前記クロックバッファ部に接続され、スキャン制御回路から出力されたスキャンシフトイネーブル信号、及び前記クロックバッファから出力された前記クロック信号を入力し、前記クロック信号に同期化された前記スキャンシフトイネーブル信号、及び前記クロック信号を出力し、前記クロックバッファ部の最終段の前記クロックバッファを置き換える置き換えセルと、前記置き換えセルから出力された前記クロック信号に同期化された前記スキャンシフトイネーブル信号、前記クロック信号、及びスキャン入力信号を入力し、スキャンテストを行うための信号を出力するスキャン回路とを具備することを特徴とする。
【０００６】
更に、上記目的を達成するために、本発明の一態様のスキャンテスト回路の配置方法は、クロック制御回路から出力されたクロック信号をドライブするクロックバッファが縦続接続され、クロックツリーを構成するクロックバッファ部を配置配線するステップと、前記クロックバッファ部に接続され、スキャン制御回路から出力されたスキャンシフトイネーブル信号、及び前記クロックバッファから出力された前記クロック信号を入力し、前記クロック信号に同期化された前記スキャンシフトイネーブル信号、及び前記クロック信号を出力する置き換えセルに前記クロックバッファ部の最終段の前記クロックバッファを置き換えるステップと、前記クロックツリーを構成する前記クロックバッファ部と前記置き換えセル間、及び前記置き換えセルとスキャン回路間を配置配線するステップとを具備することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、タイミングの調整やレイアウト設計の最適化などが容易化できるスキャンテスト回路及びその配置方法を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下本発明の実施例について図面を参照しながら説明する。
【実施例１】
【０００９】
まず、本発明の実施例１に係るスキャンテスト回路及びその配置方法について、図面を参照して説明する。図１は、タイミングの調整やレイアウト設計の最適化などを容易化するために設けられる置き換えセルを示すブロック図である。本実施例では、置き換えセルから出力された信号を入力するスキャン回路にマルチプレクスドスキャンフリップフロップを用いている。なお、マルチプレクスドスキャンフリップフロップは、マルチプレクスド走査フリップフロップとも呼称される。
【００１０】
図１に示すように、置き換えセルＣＥＬＬ１は、クロックバッファＣＢ１及びフリップフロップＦＦ１から構成され、クロックツリーを構成する縦続接続されたクロックバッファ（クロックバッファ部）とスキャン回路の間のスキャン回路側に隣接する最終段クロックバッファを置き換えるために設けられたものである。なお、クロックバッファの配置とスキャン回路の配置及び構成については後に詳述する。
【００１１】
クロックバッファＣＢ１は、置き換える前の最終段クロックバッファと同一構造を有し、クロック信号ＣＬＫを入力（ＣＬＫＩ）し、クロック信号ＣＬＫをドライブしてスキャン回路、例えば、スキャンフリップフロップなどに出力（ＣＬＫＯ）する。フリップフロップＦＦ１は、スキャンテスト法で用いられるスキャン制御信号であるスキャンシフトイネーブル（Scan  Shift  Enable）信号ＳＳＥをデータ信号としてＤポートに入力（ＳＳＥＩ）し、クロック信号ＣＬＫの立ち下り時にスキャンシフトイネーブル信号ＳＳＥをラッチし、最新のスキャンシフトイネーブル信号ＳＳＥに記憶・更新されたスキャンシフトイネーブル信号ＳＳＥをＱポートから出力（ＳＳＥＯ）する。このため、出力されるクロック信号ＣＬＫ及びスキャンシフトイネーブル信号ＳＳＥは、同期化されることになる。
【００１２】
次に、半導体集積回路の設計方法について図２及び図３を参照して説明する。図２は、ＥＤＡ（Electronic  Design  Automation）ツールを利用したシステムＬＳＩとしての半導体集積回路の設計方法を示すフローチャート、図３は置き換えセルの配置方法を示すフローチャートである。なお、半導体集積回路は、種々の方法を用いて設計され、図２に示すフローチャート以外の設計方法を用いて設計でき、本実施例は図２に示すフローチャートに限定されるものではない。
【００１３】
図２に示すように、まず、システム設計された情報にもとづいて、ソフトウエアプログラムに近い動作記述から、ＨＤＬ（Hardware  Description  Language）を用いたＲＴＬ（Register  Transfer  Level）記述を合成する（ステップＳ１）。次に、ＲＴＬ記述を詳細化してゲートレベルの論理回路を合成する（ステップＳ２）。続いて、論理シミュレータなどを用いて論理機能が正しいかどうかの等価性検証を行う（ステップＳ３）。そして、論理回路を構成するマクロセルの接続関係データ（ネットリスト）のチェックを行う（ステップＳ４）。
【００１４】
次に、ＬＳＩの規模の見積もり、消費電力の見積もり、チップ面積の見積もり、及びパッケージの見積もり等（フロアプラン）を行う（ステップＳ５）。続いて、各マクロセルなどをＬＳＩチップ内にタイミングの最適化を計りながら配置配線する（ステップＳ６）。
【００１５】
そして、ＣＴＳ（Clock  Tree  Synthesis）の試行及び見積を行う（ステップＳ７）。具体的には、図３に示すように、まず、クロックツリーを論理的に生成してから、クロックバッファを配置配線する（ステップＳ７１）。次に、縦続接続されたクロックバッファとスキャンフリップフロップの間のスキャンフリップフロップ側に隣接するクロックバッファ（最終段のクロックバッファ）を上述した図１の置き換えセル（ＣＥＬＬ１）に置き換える（ステップＳ７２）。続いて、クロックバッファと置き換えセル間の配置配線を行う（ステップＳ７３）。そして、置き換えセルとスキャンフリップフロップ間の配置配線を行う（ステップＳ７３）。
【００１６】
次に、各マクロセル、クロックツリーを構成するクロックバッファ、スキャンフリップフロップ、及び置き換えセル等を接続する配線の妥当性を確認する（ステップＳ８）。続いて、スタティック・タイミング・アナライザなどを用いて、タイミングが所定の範囲内に設定されているかの解析を行う。もし、タイミングが所定の範囲外の場合には、フロアプランから作業をやり直す（ステップＳ９）。
【００１７】
続いて、論理シミュレータを用いて論理機能が正しいかどうかの等価性検証を行う（ステップＳ１０）。そして、例えば、ＤＲＣ（Design  Rule  Checker）、ＬＶＳ（Layout  Versus  Schematic）、Ａｎｔ等のレイアウト検証ツールを用いてレイアウトデータの検証を行う（ステップＳ１１）。次に、設計されたデータをＧＤＳ（Graphic  Data  System）II形式のＣＡＤレイアウトデータに置換する（ステップＳ１２）。
【００１８】
次に、設計されたシステムＬＳＩとしての半導体集積回路について図４を参照して説明する。図４は置き換えセルを配置した半導体集積回路の概略を示すブロック図、図５はスキャンフリップフロップを示すブロック図である。なお、半導体集積回路を構成する入出力回路部及びメモリ部についての図示及び説明は省略する。
【００１９】
図４に示すように、半導体集積回路１には、スキャン制御回路２、クロック制御回路３、論理回路部４、バッファＢ１、クロックバッファＣＢ１ａ乃至ＣＢ１ｄ、置き換えセルＣＥＬＬ１ａ、置き換えセルＣＥＬＬ１ｂ、及びスキャンフリップフロップＳＦＦ１乃至ＳＦＦ４が設けられている。
【００２０】
スキャン制御回路２は、スキャン制御信号であるスキャンシフトイネーブル信号ＳＳＥを生成し、その信号をバッファＢ１に出力する。クロック制御回路３は、クロック信号ＣＬＫを生成し、その信号をクロックバッファＣＢ１ａ及びクロックバッファＣＢ１ｂに出力する。
【００２１】
バッファＢ１は、スキャン制御回路２と置き換えセルＣＥＬＬ１ａ及び置き換えセルＣＥＬＬ１ｂの間に設けられ、スキャン制御回路２から出力されたスキャンシフトイネーブル信号ＳＳＥをドライブし、その信号を置き換えセルＣＥＬＬ１ａ及び置き換えセルＣＥＬＬ１ｂに出力する。ここで、スキャン制御回路２と置き換えセルＣＥＬＬ１ａ及び置き換えセルＣＥＬＬ１ｂの間にバッファを１個設けているが、複数段設けたり、或いは省略したりしてもよい。
【００２２】
クロックバッファＣＢ１ａ乃至ＣＢ１ｄ（クロックバッファ部を構成）は、クロック制御回路３と置き換えセルＣＥＬＬ１ａ及び置き換えセルＣＥＬＬ１ｂの間に設けられ、クロックツリー５を構成している。１段目のクロックバッファＣＢ１ａ及びＣＢ１ｂは、クロック制御回路３から出力されたクロック信号ＣＬＫを入力し、その信号をドライブする。２段目のクロックバッファＣＢ１ｃ及びＣＢ１ｄは、クロックバッファＣＢ１ｂから出力されたクロック信号ＣＬＫを入力し、その信号をドライブして置き換えセルＣＥＬＬ１ａ及び置き換えセルＣＥＬＬ１ｂに出力する。ここで、クロックツリーは２段構成であるが、半導体集積回路１の要求される特性に応じて適宜変更されるので、例えば、３段構成以上になる場合がある。
【００２３】
置き換えセルＣＥＬＬ１ａは、バッファＢ１及びクロックツリー５とスキャンフリップフロップＳＦＦ１乃至ＳＦＦ３の間に設けられ、スキャンシフトイネーブル信号ＳＳＥをＳＳＥＩポート、クロック信号ＣＬＫをＣＬＫＩポートにそれぞれ入力し、クロック信号ＣＬＫをＣＬＫＯポート、クロック信号ＣＬＫに同期化されたスキャンシフトイネーブル信号ＳＳＥをＳＳＥＯポートからそれぞれ出力する。
【００２４】
置き換えセルＣＥＬＬ１ｂは、バッファＢ１及びクロックツリー５とスキャンフリップフロップＳＦＦ４の間に設けられ、スキャンシフトイネーブル信号ＳＳＥをＳＳＥＩポート、クロック信号ＣＬＫをＣＬＫＩポートにそれぞれ入力し、クロック信号ＣＬＫをＣＬＫＯポート、クロック信号ＣＬＫに同期化されたスキャンシフトイネーブル信号ＳＳＥをＳＳＥＯポートからそれぞれ出力する。
【００２５】
スキャンフリップフロップＳＦＦ１乃至ＳＦＦ３は、置き換えセルＣＥＬＬ１ａと論理回路部４の間に設けられ、置き換えセルＣＥＬＬ１ａから出力されたクロック信号ＣＬＫ、及びポートＳＳＥａにクロック信号ＣＬＫに同期化されたスキャンシフトイネーブル信号ＳＳＥをそれぞれ入力し、信号処理された出力信号をＱポート或いはＳＯポートから出力する。
【００２６】
論理回路部４は、スキャンフリップフロップＳＦＦ１乃至ＳＦＦ３とスキャンフリップフロップＳＦＦ４の間に設けられ、システムＬＳＩに必要な各種論理回路、プロセッサなどの各種コア、及びスキャンレジスタ等を備え、スキャンフリップフロップＳＦＦ１乃至ＳＦＦ３のＱポートから出力された出力信号等を入力し、通常動作時にシステム動作のための各種論理動作し、スキャンテスト時にスキャン動作する。そして、各種論理動作信号及びスキャン動作信号を出力する。ここで、論理回路部４の回路規模が大規模でスキャンテスト法だけではデータ量が増え、ＬＳＩのテスターのメモリ容量を超える場合、論理ＢＩＳＴを設けるのが好ましい。
【００２７】
スキャンフリップフロップＳＦＦ４は、論理回路部４から出力された信号をＤポート、置き換えセルＣＥＬＬ１ｂから出力されたクロック信号ＣＬＫ、及びポートＳＳＥａにクロック信号ＣＬＫに同期化されたスキャンシフトイネーブル信号ＳＳＥをそれぞれ入力し、信号処理された出力信号をＱポート或いはＳＯポートから出力する。
【００２８】
ここで、スキャンシフトイネーブルを負荷分散するために、適宜フリップフロップを挿入して同期化する方法と比較し、クロックツリーの最終段部に置き換えセルを配置した場合にはクロックツリーの配置された位置及び形状に依存せずに適切に負荷分散することができる。
【００２９】
図５に示すように、スキャン回路であるスキャンフリップフロップＳＦＦ１乃至ＳＦＦ４の内部構成は、マルチプレクサＭＵＸ１及びフリップフロップＦＦ２から構成され、マルチプレクサで制御されるマルチプレクスドスキャンフリップフロップである。
【００３０】
マルチプレクサＭＵＸ１は、データ信号（Ｄ）としてのファンクショナル入力信号Ｆｕｎｃｔｉｏｎａｌ  Ｉｎｐｕｔ及びスキャン信号であるスキャン入力信号Ｓｃａｎ  Ｉｎｐｕｔ（ＳＩ）を入力して、スキャンシフトイネーブル信号ＳＳＥの信号レベルにより、ファンクショナル入力信号Ｆｕｎｃｔｉｏｎａｌ  Ｉｎｐｕｔ或いはスキャン入力信号Ｓｃａｎ  Ｉｎｐｕｔを選択してその信号をフリップフロップＦＦ２に出力する。
【００３１】
フリップフロップＦＦ２は、マルチプレクサＭＵＸ１から出力された信号をＤポートに入力し、クロック信号ＣＬＫの立ち上がり時にマルチプレクサＭＵＸ１から出力された信号をラッチして、最新の信号に記憶・更新してその信号を出力信号Ｏｕｔとして出力する。
【００３２】
このため、マルチプレクサＭＵＸ１でファンクショナル入力信号Ｆｕｎｃｔｉｏｎａｌ  Ｉｎｐｕｔが選択された場合、スキャンフリップフロップから記憶・更新されたデータ信号としてのファンクショナル信号が出力信号Ｏｕｔとして出力され、マルチプレクサＭＵＸ１でスキャン入力信号Ｓｃａｎ  Ｉｎｐｕｔが選択された場合、スキャンフリップフロップから記憶・更新されたスキャン信号が出力信号Ｏｕｔとして出力される。
【００３３】
次に、スキャン動作について図６を参照して説明する。図６は、スキャン動作を示すタイミングチャートである。ここで、ランチフリップフロップ（Launch  Flip  Flop）としてスキャンフリップフロップＳＦＦ１、キャプチャーフリップフロップ（Capture  Flip  Flop）としてスキャンフリップフロップＳＦＦ４がそれぞれ選択され場合で、論理回路部の遅延故障（Delay  Fault）検出のスキャンテストを行った場合のタイミングチャートである。
【００３４】
図６に示すように、置き換えセルＣＥＬＬ１ａのＳＳＥＩポートに入力されるスキャンシフトイネーブル信号ＳＳＥ（ＳＳＥＩで表示）は、クロック信号ＣＬＫのラストシフトランチクロック（Last  Shift  Launch  Clock）の１つ手前のサイクルで“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに遷移する。置き換えセルＣＥＬＬ１ａのＳＳＥＯポートから出力されるスキャンシフトイネーブル信号ＳＳＥは、ラストシフトランチクロック（Last  Shift  Launch  Clock）が立ち下るまで“Ｈｉｇｈ”レベルを維持する。このとき、置き換えセルＣＥＬＬ１ａのＳＳＥＯポートから出力されるスキャンシフトイネーブル信号ＳＳＥ（ＳＳＥＯで表示）が入力されるスキャンフリップフロップＳＦＦ１及びスキャンフリップフロップＳＦＦ４のＳＳＥａポートは、“Ｈｉｇｈ”レベルであるスキャンシフト状態にある。
【００３５】
ラストシフトランチクロック（Last  Shift  Launch  Clock）が入力されると、置き換えセルＣＥＬＬ１ａのＳＳＥＯポートから出力されるスキャンシフトイネーブル信号ＳＳＥ（ＳＳＥＯで表示）は、ラストシフトランチクロック（Last  Shift  Launch  Clock）が立ち下るときに“Ｌｏｗ”レベルに遷移する。このとき、置き換えセルＣＥＬＬ１ａのＳＳＥＯポートから出力されるスキャンシフトイネーブル信号ＳＳＥ（ＳＳＥＯで表示）が入力されるスキャンフリップフロップＳFＦ１及びスキャンフリップフロップＳＦＦ４のＳＳＥａポートは、“Ｌｏｗ”レベルとなる。
【００３６】
論理回路部４の遅延故障検出のスキャンテストの動作は、まず、スキャンフリップフロップＳＦＦ１に、ラストシフトランチクロック（Last  Shift  Launch  Clock）が入力され、置き換えセルＣＥＬＬ１ａのＳＳＥＯポートから出力されるスキャンシフトイネーブル信号ＳＳＥ（ＳＳＥＯで表示）が“Ｈｉｇｈ”レベルのときに、スキャンフリップフロップＳＦＦ１はＳＩポートから入力されるラストシフトデータ（Last  Shift  Data）をランチデータ（Launch  Data）としてQポートから出力する。ここで、ランチデータは、スキャンテストに用いられるスキャンインデータ（Scan  in  Data）である。
【００３７】
次に、論理回路部４は、スキャンフリップフロップＳＦＦ１から出力されたラストシフトランチデータ（Last  Shift   Launch  Data）を入力し、この信号にもとづいて内蔵されたスキャンレジスタによりスキャンテストが行われる。続いて、スキャンフリップフロップＳＦＦ４は、キャプチャークロック（Capture  Clock）が到達する前に“Ｌｏｗ”レベルに遷移している置き換えセルＣＥＬＬ１ｂのＳＳＥＯポートから出力されるスキャンシフトイネーブル信号ＳＳＥ（ＳＳＥＯで表示）により選択され、論理回路部４から出力された論理回路部４のスキャンテスト情報であるキャプチャーデータ（Capture  Data）を入力し、ＳＯポートからこの信号を出力する。
【００３８】
上述したように、本実施例の半導体集積回路のスキャンテスト回路及びその配置方法では、クロックツリー５を構成する縦続接続されたクロックバッファと、クロックツリー５とスキャン回路の間のスキャン回路側に隣接する最終段クロックバッファを置き換える置き換えセルＣＥＬＬ１ａ及び置き換えセルＣＥＬＬ１ｂが設けられている。そして、クロックバッファＣＢ１から出力されるクロック信号ＣＬＫとフリップフロップＦＦ１から出力されるスキャンシフトイネーブル信号ＳＳＥは、同期化されている。
【００３９】
このため、スキャンシフトイネーブル信号ＳＳＥをパイプライン化する場合、スキャンシフトイネーブルを負荷分散するために、従来の同期化するために適宜フリップフロップを挿入したりする方法と比較して、煩雑な作業を行う必要がないのでレイアウト設計の自由度が向上し、タイミング調整やレイアウト設計の最適化を容易にすることができる。特に、高速動作し、回路規模が大きなシステムＬＳＩやＳｏＣでは最適なタイミング調整を図ることができる。
【００４０】
なお、本実施例では、クロック制御回路３から出力されたロック信号を用いてスキャンテストしているが、クロック信号よりも高速な、例えば、半導体集積回路１内の高速ＰＬＬ（Phase  Locked  Loop）回路で生成され、半導体集積回路１の制御用の高速なシステムクロック信号を用い、スキャンフリップフロップなどのスキャン回路のデータ書き込みや読み出し時にはクロック信号を使用し、遅延故障テスト時には高速なシステムクロック信号を使用してもよい。この場合、クロック信号と高速なシステムクロック信号はセレクタなどを用いて信号選択する。
【実施例２】
【００４１】
次に、本発明の実施例２に係るスキャンテスト回路について、図面を参照して説明する。図７は、置き換えセル示すブロック図である。本実施例では、置き換えセルを構成するフリップフロップをラッチ回路に変更している。
【００４２】
以下、実施例１と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００４３】
図７に示すように、置き換えセルＣＥＬＬ２は、クロックバッファＣＢ１及びラッチ回路ＬＡＴＣＨ１から構成され、クロックツリーを構成する縦続接続されたクロックバッファとスキャン回路の間のスキャン回路側に隣接する最終段クロックバッファを置き換えるために設けられたものである。
【００４４】
ラッチ回路ＬＡＴＣＨ１は、例えば、マスタースレーブ方式のフリップフロップよりも簡素な構成で、スキャンテスト法で用いられるスキャン制御信号であるスキャンシフトイネーブル（Scan  Shift  Enable）信号ＳＳＥをデータ信号としてＤポートに入力（ＳＳＥＩ）し、クロック信号ＣＬＫの立ち下り時にスキャンシフトイネーブル信号ＳＳＥをラッチし、最新のスキャンシフトイネーブル信号ＳＳＥに記憶・更新されたスキャンシフトイネーブル信号ＳＳＥをスキャン回路にＱポートから出力（ＳＳＥＯ）する。このため、出力されるクロック信号ＣＬＫと出力されるスキャンシフトイネーブル信号ＳＳＥは、同期化されることになる。
【００４５】
上述したように、本実施例のスキャンテスト回路では、クロックツリー５を構成する縦続接続されたクロックバッファと、クロックツリー５とスキャン回路の間のスキャン回路側に隣接する最終段クロックバッファを置き換えるラッチ回路ＬＡＴＣＨ１及びクロックバッファＣＢ１から構成される置き換えセルＣＥＬＬ２が設けられている。そして、クロックバッファＣＢ１から出力されるクロック信号ＣＬＫとラッチ回路ＬＡＴＣＨ１から出力されるスキャンシフトイネーブル信号ＳＳＥは、同期化されている。
【００４６】
このため、スキャンシフトイネーブル信号ＳＳＥをパイプライン化する場合、スキャンシフトイネーブルを負荷分散するために、従来の同期化するために適宜フリップフロップを挿入したりする方法と比較して、煩雑な作業を行う必要がないのでレイアウト設計の自由度が向上し、タイミング調整やレイアウト設計の最適化を容易にすることができる。また、実施例１よりも置き換えセルの構成が簡略化されているので半導体集積回路の回路規模を抑制することができる。
【実施例３】
【００４７】
次に、本発明の実施例３に係るスキャンテスト回路について、図面を参照して説明する。図８は、置き換えセル示すブロック図である。本実施例では、置き換えセルを構成するフリップフロップの動作に変更している。
【００４８】
以下、実施例１と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００４９】
図８に示すように、置き換えセルＣＥＬＬ３は、クロックバッファＣＢ１及びフリップフロップＦＦ３から構成され、クロックツリーを構成する縦続接続されたクロックバッファとスキャン回路の間のスキャン回路側に隣接する最終段クロックバッファを置き換えるために設けられたものである。
【００５０】
フリップフロップＦＦ３は、スキャンテスト法で用いられるスキャン制御信号であるスキャンシフトイネーブル（Scan  Shift  Enable）信号ＳＳＥをデータ信号としてＤポートに入力（ＳＳＥＩ）し、クロック信号ＣＬＫの立ち上り時にスキャンシフトイネーブル信号ＳＳＥをラッチし、最新のスキャンシフトイネーブル信号ＳＳＥに記憶・更新されたスキャンシフトイネーブル信号ＳＳＥをスキャン回路にＱポートから出力（ＳＳＥＯ）する。このため、出力されるクロック信号ＣＬＫと出力されるスキャンシフトイネーブル信号ＳＳＥは、同期化されることになる。
【００５１】
上述したように、本実施例のスキャンテスト回路では、クロックツリー５を構成する縦続接続されたクロックバッファと、クロックツリー５とスキャン回路の間のスキャン回路側に隣接する最終段クロックバッファを置き換える、クロック信号の立ち上がり時にデータ信号をラッチするフリップフロップＦＦ３及びクロックバッファＣＢ１から構成される置き換えセルＣＥＬＬ３が設けられている。そして、クロックバッファＣＢ１から出力されるクロック信号ＣＬＫとフリップフロップＦＦ３から出力されるスキャンシフトイネーブル信号ＳＳＥは、同期化されている。
【００５２】
このため、スキャンシフトイネーブル信号ＳＳＥをパイプライン化する場合、スキャンシフトイネーブルを負荷分散するために、従来の同期化するために適宜フリップフロップを挿入したりする方法と比較して、煩雑な作業を行う必要がないのでレイアウト設計の自由度が向上し、タイミング調整やレイアウト設計の最適化を容易にすることができる。
【００５３】
本発明は、上記実施例に限定されるものではなく、発明の趣旨を逸脱しない範囲で、種々、変更してもよい。
【００５４】
例えば、実施例では、システムＬＳＩに置き換えセルを適用したがメモリ、論理回路、アナログ回路などを同一チップに搭載したＳｏＣ（System  on  a  Chip）に適用してもよい。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施例１に係る置き換えセルを示すブロック図。
【図２】本発明の実施例１に係るシステムＬＳＩとしての半導体集積回路の設計方法を示すフローチャート。
【図３】本発明の実施例１に係る置き換えセルの配置方法を示すフローチャート。
【図４】本発明の実施例１に係る置き換えセルを配置した半導体集積回路の概略を示すブロック図。
【図５】本発明の実施例１に係るスキャンフリップフロップを示すブロック図。
【図６】本発明の実施例１に係るスキャン動作を示すタイミングチャート。
【図７】本発明の実施例２に係る置き換えセルを示すブロック図。
【図８】本発明の実施例３に係る置き換えセルを示すブロック図。
【符号の説明】
【００５６】
１  半導体集積回路
２  スキャン制御回路
３  クロック制御回路
４  論理回路部
５  クロックツリー
ＣＢ１、ＣＢ１ａ〜ｄ  クロックバッファ
ＣＥＬＬ１、ＣＥＬＬ１ａ、ＣＥＬＬ１ｂ、ＣＥＬＬ２、ＣＥＬＬ３  置き換えセル
ＣＬＫ  クロック信号
ＦＦ１、ＦＦ２、ＦＦ３  フリップフロップ
Ｆｕｎｃｔｉｏｎａｌ  Ｉｎｐｕｔ  ファンクショナル入力信号
ＬＡＴＣＨ１  ラッチ回路
ＭＵＸ１  マルチプレクサ
Ｏｕｔ  出力信号
Ｓｃａｎ  Ｉｎｐｕｔ  スキャン入力信号
ＳＳＥ  スキャンシフトイネーブル信号
ＳＦＦ１〜４  スキャンフリップフロップ
【図１】
2006343151.tif 000003
【図２】
2006343151.tif 000004
【図３】
2006343151.tif 000005
【図４】
2006343151.tif 000006
【図５】
2006343151.tif 000007
【図６】
2006343151.tif 000008
【図７】
2006343151.tif 000009
【図８】
2006343151.tif 000010