(57)【特許請求の範囲】
【請求項１】
半導体装置内の信号配線の状態を観測する機能ブロックを有する半導体装置であって、
前記機能ブロックは、入力される前記信号配線の状態を伝達して出力する信号伝達部と、
前記信号伝達部の入力端子と前記信号伝達部の出力端子とのいずれか一方と入力端子が接続され、出力端子が前記信号伝達部の出力端子と独立して設けられ、前記入力端子が接続された端子の状態を記憶する観測用フリップフロップとを有する半導体装置。
【請求項２】
前記機能ブロックは、１つの配置単位として半導体装置内に配置されることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記信号伝達部は、バッファ回路又は反転回路を有していることを特徴とする請求項１に記載の半導体装置。
【請求項４】
前記観測用フリップフロップは、前記信号伝達部の入力端子又は出力端子と接続される第１の入力端子と、他の観測用フリップフロップの出力と接続される第２の入力端子とを有し、第１のモードでは、前記第１の入力端子に入力される状態を記憶し、第２のモードでは、前記第２の入力端子の状態を記憶することを特徴とする請求項１に記載の半導体装置。
【請求項５】
半導体装置内の信号配線の状態を観測する観測用フリップフロップの配置方法であって、
前記観測用フリップフロップは、
入力される前記信号配線の状態を伝達して出力する信号伝達部と、
前記信号伝達部の入力端子と前記信号伝達部の出力端子とのいずれか一方と入力端子が接続され、出力端子が前記信号伝達部の出力端子と独立して設けられ、前記入力端子が接続された端子の状態を記憶する観測用フリップフロップとを有する機能ブロックとして配置され、
前記信号伝達部を介して前記信号配線を結線する観測用フリップフロップの配置方法。
【請求項６】
前記機能ブロックは、１つの配置単位として半導体装置内に配置されることを特徴とする請求項５に記載の観測用フリップフロップの配置方法。
【請求項７】
前記信号伝達部は、バッファ回路又は反転回路を有していることを特徴とする請求項５に記載の観測用フリップフロップの配置方法。
【請求項８】
前記機能ブロックは、予め配置された信号の遅延時間を調整する信号遅延調整素子の置換によって配置されることを特徴とする請求項５又は６に記載の観測用フリップフロップの配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置及び観測用フリップフロップの配置方法に関し、特に観測用フリップフロップの追加による配線容量の増加を抑制する半導体装置及び観測用フリップフロップの配置方法に関する。
【背景技術】
【０００２】
近年、半導体装置の回路規模が増大している。また、半導体装置では、一般的に半導体装置内の信号配線の短絡試験が行われる。しかしながら、回路規模が増大したことで、内部回路の信号配線の結線も複雑になり、半導体装置の外部端子から内部回路の信号配線の状態がわからない問題が発生する。そこで、近年の半導体装置では、出荷検査時に信号配線の状態を把握するためのテスト回路として観測用フリップフロップを直列に接続したスキャンチェーン回路が用いられる。このスキャンチェーン回路を用いた技術が特許文献１（従来例）に開示されている。
【０００３】
従来例で開示されている半導体装置１００の回路図を図７に示す。図７に示すように、半導体装置１００は、入出力端子１０１Ａ、１０１Ｂ、組み合わせ回路１０２、観測用フリップフロップ１０３１〜１０３ｍ＋ｎ、セレクタ１０４〜１０９を有している。半導体装置１００は、組み合わせ回路１０２内の信号配線の状態を観測用フリップフロップ１０３１〜１０３ｍ＋ｎによって取り込む。取り込んだデータは、入出力端子１０１Ａ、１０１Ｂから出力される。ここで、半導体装置１００では、スキャンチェーン回路を観測用フリップフロップ１０３１〜１０３ｍによって構成されるスキャンチェーン回路と、観測用フリップフロップ１０３ｍ＋１〜１０３ｍ＋ｎによって構成されるスキャンチェーン回路とに分割することで、１つのスキャンチェーン回路の長さを短くする。これによって、データの取り込みから出力までに必要なクロック数を削減する。また、データの取り込みから出力までに必要な時間を短くする。
【特許文献１】特開２００６−５８２７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、半導体装置において、観測用フリップフロップを配置する場合、一般的に観測用フリップフロップが配置される場所は、チップ内の空き領域である。そのため、観測用フリップフロップが状態を観測する信号配線とは離れた場所に配置されることがある。観測用フリップフロップと観測される信号配線とが長い配線で接続されると、その配線の寄生容量が観測される信号配線の寄生容量に加算される。つまり、観測用フリップフロップを配置することで、観測される信号配線に関する寄生容量が増大する。
【０００５】
近年の半導体装置は、低消費電力を実現するために、動作電源電圧が低下している。動作電源電圧が低下すると、一般的に内部回路を構成する素子の電流供給能力が低下する。この状態において、素子の出力に接続される容量が増大すると、出力される信号の遅延が増大する。つまり、半導体装置の信頼性を向上させるために追加される観測用フリップフロップによって、信号配線の寄生容量が増加するために、内部回路における信号遅延が増大し、半導体装置に誤動作が発生する問題がある。
【課題を解決するための手段】
【０００６】
本発明にかかる半導体装置は、信号配線の状態を観測する機能ブロックを有する半導体装置であって、前記機能ブロックは、入力される前記信号配線の状態を伝達して出力する信号伝達部と、前記信号伝達部の入力端子又は出力端子の状態を記憶する観測用フリップフロップとを有するものである。
【０００７】
本発明にかかる半導体装置によれば、信号配線の状態を記憶する観測用フリップフロップは、信号伝達部の入力端子又は出力端子の状態を記憶することで、信号配線の状態を観測する。観測用フリップフロップと信号伝達部とは同じ機能ブロック内にあるため、信号配線から観測用フリップフロップまでの配線長を短くすることが可能である。したがって、本発明の機能ブロックを観測用フリップフロップとして用いることで、信号配線から観測用フリップフロップまでの配線の寄生容量を従来よりも大幅に小さくすることができる。これによって、観測用フリップフロップの追加による信号遅延の増大を抑制することが可能であり、半導体装置の誤動作を防止することが可能である。
【０００８】
本発明にかかる機能ブロックの配置方法は、半導体装置内の信号配線の状態を観測する観測用フリップフロップの配置方法であって、前記観測用フリップフロップは、入力される前記信号配線の状態を伝達して出力する信号伝達部と、前記信号伝達部の入力端子又は出力端子の状態を記憶する観測用フリップフロップとを有する機能ブロックとして配置され、前記信号伝達部を介して前記信号配線を結線する方法である。
【０００９】
本発明にかかる観測用フリップフロップの配置方法によれば、信号配線の状態に応じた出力をする信号伝達部と観測用フリップフロップとを１つの機能ブロックとして配置する。また、信号配線の状態を、信号伝達部の入力端子又は出力端子の状態に基づき観測用フリップフロップで記憶する。これによって、観測用フリップフロップと信号配線との距離を短くし、観測用フリップフロップの追加に伴う信号配線の増加を抑制することが可能である。したがって、信号配線における寄生容量の増加を抑制することができるため、半導体装置内の信号遅延の増大を抑制し、半導体装置の誤動作を防止することが可能である。
【発明の効果】
【００１０】
本発明の半導体装置及び観測用フリップフロップの配置方法によれば、観測用フリップフロップの追加による配線容量の増加を防止することが可能である。
【発明を実施するための最良の形態】
【００１１】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。実施の形態１にかかる半導体装置１のブロック図を図１に示す。図１に示すように、半導体装置１は、論理回路１１、入出力バッファ１２、１３、機能ブロック１４１〜１４ｎを有している。
【００１２】
論理回路１は、半導体装置１の情報処理部であって、ユーザーが使用する機能回路が形成される。入出力バッファ１２は、出力バッファ１２ａと入力バッファ１２ｂを有し、入出力バッファ１３は、出力バッファ１３ａと入力バッファ１３ｂとを有している。入出力バッファ１２、１３は、入力モードと出力モードとを切り替え信号ＯＥＮに基づき切り替えることができるバッファ回路である。半導体装置１は、通常動作モードにおいて、これらブロックを使用し、外部とデータを送受信し、送受信したデータを論理回路１１で処理する。
【００１３】
機能ブロック１４１〜１４ｎは、本実施の形態において、半導体装置１の信号配線の状態を観測する観測用フリップフロップとして用いられる。また、機能ブロック１４１〜１４ｎは、信号配線の状態を記憶することなく入力端子ＤＩＮから出力端子ＤＯＵＴに伝達する機能を有する。機能ブロック１４１〜１４ｎの詳細について詳しくは後述する。
【００１４】
機能ブロック１４１は、論理回路１１から出力され、入出力バッファ１２に入力される切り替え信号ＯＥＮ１が伝達される信号配線に挿入されている。機能ブロック１４３〜１４ｎ―１は、論理回路１１の内部の信号配線に挿入されている。機能ブロック１４ｎは、論理回路１１から出力され、入出力バッファ１３に入力される切り替え信号ＯＥＮ２が伝達される信号配線に挿入される。機能ブロック１４１〜１４ｎが信号配線に挿入される場合、機能ブロックのデータ入力端子ＤＩＮが、その信号配線に対して信号を送信する送信回路側と接続され、データ出力端子ＤＯＵＴが、その信号配線に伝達される信号を受信する受信回路側と接続される。
【００１５】
また、機能ブロック１４１〜１４ｎは、それぞれ直列に接続されている。例えば、初段に配置される機能ブロック１４１のシフト信号入力端子ＳＩＮは、テスト信号入力端子ＩＮと接続される。機能ブロック１４１の後段には、機能ブロック１４２〜１４ｎが順に接続される。機能ブロック１４２〜１４ｎのシフト信号入力端子ＳＩＮは、前段に接続される機能ブロックのシフト信号出力端子ＳＯＵＴに接続される。ここで、最終段に接続される機能ブロック１４ｎのシフト信号出力端子ＳＯＵＴは、テスト信号出力端子ＯＵＴに接続される。
【００１６】
さらに、機能ブロック１４１〜１４ｎは、テストクロックＣＬＫに基づき動作し、スキャンモード制御信号ＳＭＣに基づき、動作モードを変更する。例えば、スキャンモード制御信号ＳＭＣがハイレベルである場合（以下、第１のモード（例えば、キャプチャモード）と称す）は、データ入力端子ＤＩＮに接続される信号配線の状態を記憶する。また、スキャンモード制御信号ＳＭＣがロウレベルである場合（以下、第２のモード（例えば、シフトモード）と称す）は、記憶したデータをテストクロック信号ＣＬＫに基づき次段に接続される機能ブロックに伝達する。つまり、機能ブロックは、スキャンモードで信号配線の状態を記憶し、シフトモードで記憶した信号の状態を外部に出力する。
【００１７】
ここで、機能ブロック１４１〜１４ｎについて詳細に説明する。機能ブロック１４１〜１４ｎは、同じ構成であるため、以下では単に機能ブロック１４として説明する。機能ブロック１４の回路図を図２に示す。図２に示すように、機能ブロック１４は、観測用フリップフロップ１５と信号伝達部１６を有している。
【００１８】
観測用フリップフロップ１５は、第１の入力端子（例えば、観測値入力端子Ｄ）、第２の入力端子（例えば、シフト信号入力端子ＳＩＮ）、スキャンモード制御信号ＳＭＣが入力される入力端子、テストクロックＣＬＫが入力される入力端子、シフト信号出力端子ＳＯＵＴを有している。また、信号伝達部１６は、データ入力端子ＤＩＮ、データ出力端子ＤＯＵＴ、バッファ１６ａを有している。
【００１９】
観測用フリップフロップ１５の観測値入力端子Ｄは、信号伝達部１６のデータ入力端子ＤＩＮと接続されている。観測用フリップフロップ１５のシフト信号入力端子ＳＩＮは、他の機能ブロックのシフト信号出力端子ＳＯＵＴと接続されている。シフト信号出力端子ＳＯＵＴは、機能ブロック１４の出力端子であって、観測用フリップフロップ１５に記憶されたデータを出力する。バッファ１６ａは、信号伝達部１６のデータ入力端子ＤＩＮに入力が接続され、出力がデータ出力端子ＤＯＵＴに接続されている。また、バッファ１６ａは、データ入力端子ＤＩＮに入力された信号の状態をそのままデータ出力端子ＤＯＵＴに出力する。このときバッファ１６ａは、データ出力端子ＤＯＵＴ側に接続される配線及び素子を駆動する。
【００２０】
観測用フリップフロップ１５は、キャプチャモードでは、データ入力端子ＤＩＮの状態を記憶する。また、シフトモードでは、前段に接続される機能ブロックに記憶されたデータを受信し、そのデータを記憶する。これらの動作は、テストクロックＣＬＫに基づき行われる。
【００２１】
ところで、スキャンテストには、キャプチャモードやシフトモードの制御方法に応じて様々な種類がある。従って、機能ブロック１４の観測用フリップフロップは、上記実施の形態に限られたものではなく、スキャンテストの種類に応じて適宜選択されるものである。また、信号伝達部１６のバッファは、信号配線に伝達される信号の論理に応じて反転回路であってもよく、またレイアウト面積を削減するために所定の配線長を有する配線でデータ入力端子ＤＩＮとデータ出力配線ＤＯＵＴとを接続するだけでも良い。さらに、観測用フリップフロップの観測入力端子Ｄは、信号伝達部のデータ出力端子に接続されていても良い。
【００２２】
機能ブロック１４は、半導体装置に配置される場合、１つの配置単位（例えば、レイアウトセル）として配置される。そこで、機能ブロック１４のレイアウトセルの模式図を図３に示す。図３に示すように、機能ブロック１４のレイアウトセルは、観測用フリップフロップが配置される領域と信号伝達部が配置される領域とを有している。なお、レイアウトセル内の詳細な素子の配置は省略されている。機能ブロック１４のレイアウトセルは、機能ブロック１４が有する端子に応じたレイアウトセルにおける端子を有している。このレイアウトセル上の端子において、観測値入力端子Ｄとデータ入力端子ＤＩＮとは金属配線１７によって接続される。
【００２３】
図３に示す機能ブロック１４のレイアウトセルを用いて、図１の半導体装置１を形成した場合のレイアウトの模式図を図４に示す。なお、図４においては、図面の簡略化のために、テストクロックに関する配線と端子については図示していない。また、図４は、図１に示す半導体装置１のうち、入出力バッファ１３の近傍に関するものである。
【００２４】
図４に示すように、論理回路１１は、Ｄ型フリップフロップ２０１〜２０４を有している。機能ブロック１４ｎ−１は、Ｄ型フリップフロップ２０１とＤ型フリップフロップ２０２との間に挿入される。また、機能ブロック１４ｎは、Ｄ型フリップフロップ２０２と入出力バッファ１３の切り替え信号ＯＥＮの入力端子との間に挿入される。
【００２５】
上記説明より、本実施の形態の半導体装置は、機能ブロック１４をレイアウトセルとして配置することで、観測用フリップフロップを半導体装置内に配置することが可能である。また、機能ブロックは、１つのレイアウトセルとして配置される。そのため機能ブロック内の配線は、観測する信号配線に比べてはるかに短い。つまり、機能ブロックをレイアウトセルとして配置することで、観測用フリップフロップを追加することによる配線の増加は無視できる程度のものとなる。つまり、信号配線と観測用フリップフロップとの間の配線長が短いために、観測用フリップフロップを追加したことによる配線容量の増加を防止することが可能である。
【００２６】
また、本実施の形態の半導体装置は、機能ブロックの信号伝達部にバッファを有している。このバッファによって、信号配線に伝達される信号を中継することで、信号配線の距離が短くなるため、信号配線に信号を出力する送信回路にかかる負荷を軽減することが可能である。これによって、信号配線によって発生する信号遅延を従来よりも小さくすることが可能である。
【００２７】
ここで、機能ブロック１４を半導体装置に配置するフローについて説明する。半導体装置の設計フローの一例を図５にフローチャートで示す。図５に示すように、半導体装置の設計では、まずＲＴＬ（Register Transfer Level）設計が行われる（ステップＳ１）。ＲＴＬ設計とは、ハードウェア記述言語を用いて、回路をフリップフロップと組み合わせ回路とで表現する設計手法である。次に、ＲＴＬ設計で記述された回路に対して論理合成を行う（ステップＳ２）。論理合成では、ハードウェア記述言語に基づいて回路素子を接続したゲートレベルの回路が生成される。論理合成の結果に基づきゲートレベルネットリストＦ１が生成される。ネットリストとは、回路素子と回路素子の接続が記述されたファイルである。
【００２８】
続いて、ゲートレベルネットリストにＤＦＴ（Design For Test）回路が挿入される（ステップＳ３）。ＤＦＴ回路とは、観測すべき信号配線に挿入された上記の観測用フリップフロップを接続したスキャンチェーン回路である。つまり、ステップＳ３において上記の観測用フリップフロップが回路に適宜挿入される。また、ステップＳ３で挿入される観測用フリップフロップは、スキャン用フリップフロップライブラリＦ２等に登録されたレイアウトセルデータとして挿入される。ステップＳ３は、コンピュータ等の演算装置を用いて行われる。
【００２９】
ステップＳ３が完了すると、回路において予測される不良箇所のうち挿入したＤＦＴ回路によって検出できる不良箇所の個数を計算し、故障検出率を確認する（ステップＳ４）。このステップＳ４では、ＡＴＰＧ（Automatic Test Pattern Generation）ツール等を用いて、テスト信号を生成することで故障検出率を算出する。ステップＳ４において、所定の故障検出率を満たしていない場合、ステップＳ３でＤＦＴ回路の再設計を行う。一方、ステップＳ４において、所定の故障検出率を満たしている場合、ゲートレベルネットリストＦ１にＤＦＴ回路を追加したネットリストＦ３を出力する。このネットリストＦ３に基づき、回路の素子パターンのレイアウトを行う（ステップＳ５）。これによって、半導体装置を製造するためのマスクのデータとなるレイアウトデータＦ４が生成される。
【００３０】
上記説明より、本実施の形態の半導体装置の設計フローによれば、ＤＦＴ回路を挿入する工程において、レイアウトセルとして登録された機能ブロックをＤＦＴ回路の生成において使用する。これによって、通常の観測用フリップフロップに代えて機能ブロックを使用することが可能である。機能ブロックを使用したＤＦＴ回路では、観測用フリップフロップの追加による配線の増加を抑制することが可能である。
【００３１】
実施の形態２
実施の形態２にかかる半導体装置は、実施の形態１にかかる半導体装置と実質的に同じものである。しかしながら、実施の形態１と実施の形態２とでは、機能ブロックの挿入方法が異なる。実施の形態１では、ＤＦＴ回路の挿入工程において、機能ブロックを使用したスキャンチェーン回路を生成した。これに対して、実施の形態２では、予め設定された場所にのみ機能ブロックを使用する。
【００３２】
実施の形態２にかかる半導体装置の設計フローのフローチャートを図６に示す。図６に示すように、実施の形態２にかかる設計フローにおいても、まずＲＴＬ設計が行われる（ステップＳ１）。次に、ＲＴＬ設計の記述に基づき論理合成が行われる（ステップＳ２'）。実施の形態２では、ステップＳ２'において、設計段階の検証に基づき信号遅延の大きさが予め設定される規格値（例えば、タイミング制約）に対して余裕が少ない信号配線にダミーバッファが挿入される。このダミーバッファは、信号の遅延時間を調節する遅延調整素子であって、後述するＤＦＴ回路挿入工程で機能ブロックに置換される。論理合成が完了するとゲートレベルネットリストＦ１が生成される。
【００３３】
このゲートレベルネットリストＦ１に対してＤＦＴ回路が挿入される。本実施の形態では、ＤＦＴ回路は２つのステップを介して生成される。まず、ステップＳ３１として、ステップＳ２'において配置されたダミーバッファを機能ブロックに置換する。続いて、ステップＳ３２で、ダミーバッファが配置されておらず、観測を必要とする信号配線に観測用フリップフロップが配置される。その後、機能ブロックと観測用フリップフロップが接続されたスキャンチェーン回路が生成される。なお、本実施の形態においても、機能ブロック及び観測用フリップフロップは、スキャン用フリップフロップライブラリＦ２等に登録されたレイアウトセルを用いる。これ以降の工程は、実施の形態１と実質的に同じため説明を省略する。
【００３４】
上記説明より、実施の形態２にかかる半導体装置の設計フローによれば、機能ブロックは、タイミング制約に対して信号遅延の余裕がない信号配線にのみ挿入される。信号遅延に余裕がある配線に関しては、通常の観測用フリップフロップが配置される。機能ブロックは、信号伝達部と観測用フリップフロップとが１つのレイアウトセルとなったものであるため、レイアウト面積が観測用フリップフロップのみのレイアウトセルと比較すると大きくなる。つまり、実施の形態２にかかる半導体装置の設計フローによれば、信号配線の寄生容量を抑制したいところにのみ機能ブロックが配置されるため、チップ面積を実施の形態１に比べて小さくすることが可能である。
【００３５】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、設計フローにおいて、機能ブロック及び観測用フリップフロップを挿入する工程は、レイアウト完了後にタイミング確認を行った後でも良く、回路変更が可能な工程で適宜挿入すれば良い。
【図面の簡単な説明】
【００３６】
【図１】実施の形態１にかかる半導体装置のブロック図である。
【図２】実施の形態１にかかる機能ブロックの回路図である。
【図３】実施の形態１にかかる機能ブロックのレイアウトセルの概略図である。
【図４】実施の形態１にかかる半導体装置のレイアウトの一例を示す図である。
【図５】実施の形態１にかかる半導体装置の設計フローを示すフローチャートである。
【図６】実施の形態２にかかる半導体装置の設計フローを示すフローチャートである。
【図７】従来の半導体装置のブロック図である。
【符号の説明】
【００３７】
１    半導体装置
１１    論理回路
１２、１３    入出力バッファ
１４、１４１〜１４ｎ    機能ブロック
１５    観測用フリップフロップ
１６    信号伝達部
１６ａ    バッファ
２０１〜２０４    Ｄ型フリップフロップ
【図１】
0004684942.tif 000002
【図２】
0004684942.tif 000003
【図３】
0004684942.tif 000004
【図４】
0004684942.tif 000005
【図５】
0004684942.tif 000006
【図６】
0004684942.tif 000007
【図７】
0004684942.tif 000008