(57)【要約】【課題】本発明は、半導体装置のロジック領域に冗長救済を行う構成を提供することを目的とする。【解決手段】本発明の１つの実施の形態は、ロジック領域２を有する半導体装置１である。そして、当該半導体装置１は、ロジック領域２内に設けられる同一の構成を有する複数の基本セル２１と、複数の基本セル２１と同一の構成を有する冗長セル２２と、複数の基本セル２１及び冗長セル２２のそれぞれに入力される信号を切り替える入力セレクタ２３と、基本セル２１及び冗長セル２２のそれぞれから出力される信号を切り替える出力セレクタ２４とを備えている。さらに、当該半導体装置１は、入力セレクタ２３及び出力セレクタ２４のうち少なくとも一方を切り替えて、冗長セル２２を機能させ複数の基本セル２１のうち故障したセルを救済する。【選択図】図１
2010041705.tif 000002
【特許請求の範囲】
【請求項１】
ロジック領域を有する半導体装置であって、
前記ロジック領域内に設けられる同一の構成を有する複数の基本セルと、
前記複数の基本セルと同一の構成を有する冗長セルと、
前記複数の基本セル及び前記冗長セルのそれぞれに入力される信号を切り替える入力セレクタと、
前記基本セル及び前記冗長セルのそれぞれから出力される信号を切り替える出力セレクタとを備え、
前記入力セレクタ及び出力セレクタのうち少なくとも一方を切り替えて、前記冗長セルを機能させ前記複数の基本セルのうち故障したセルを救済することを特徴とする半導体装置。
【請求項２】
請求項１に記載の半導体装置であって、
前記入力セレクタ及び出力セレクタは、前記複数の基本セルのうち故障したセルと、前記冗長セルとを直接切り替えて救済することを特徴とする半導体装置。
【請求項３】
請求項１に記載の半導体装置であって、
前記入力セレクタ及び出力セレクタは、前記複数の基本セルのうち故障したセルを隣接するセルに切り替え、且つ切り替えたセルを隣接する前記複数の基本セル又は前記冗長セルに順次切り替えて救済することを特徴とする半導体装置。
【請求項４】
請求項１乃至請求項３のいずれか１つに記載の半導体装置であって、
前記複数の基本セルのうちの１つのセルと、当該セルに接続された前記入力セレクタ及び出力セレクタのうち少なくとも一方とを１つのハードマクロ化することを特徴とする半導体装置。
【請求項５】
請求項４に記載の半導体装置であって、
データ入力とスキャン入力とを切り換えるための切換セレクタをさらに備え、
前記切換セレクタも１つのハードマクロ化することを特徴とする半導体装置。
【請求項６】
請求項１乃至請求項５のいずれか１つに記載の半導体装置であって、
同一の構成を有する前記複数の基本セル及び前記冗長セルをアレイ化し、当該アレイ近傍に前記入力セレクタ及び出力セレクタを配置することを特徴とする半導体装置。
【請求項７】
請求項６に記載の半導体装置であって、
前記アレイを多重化し、前記入力セレクタ及び出力セレクタへの配線を共通化することを特徴とする半導体装置。
【請求項８】
請求項１乃至請求項７のいずれか１つに記載の半導体装置であって、
前記複数の基本セル及び前記冗長セルの少なくとも一方と電源との間にそれぞれスイッチをさらに備え、
前記複数の基本セルのうち故障したセル及び救済に必要ない前記冗長セルの少なくとも一方の前記スイッチを切り、電源を遮断することを特徴とする半導体装置。
【請求項９】
請求項１乃至請求項８のいずれか１つに記載の半導体装置であって、
前記複数の基本セル及び前記冗長セルは、マクロセル、演算器、ロジックコーン、マクロブロックであることを特徴とする半導体装置。
【請求項１０】
請求項１乃至請求項９のいずれか１つに記載の半導体装置であって、
前記入力セレクタは、複数の基本セル及び前記冗長セルのそれぞれに同じ信号を供給する構成を含むことを特徴とする半導体装置。
【請求項１１】
請求項１乃至請求項１０のいずれか１つに記載の半導体装置であって、
前記冗長セル又は、前記冗長セルの救済対象となる前記複数の基本セルに適用されるデザインルールを、前記ロジック領域内の他の部分に適用されるデザインルールに比べて緩和されることを特徴とする半導体装置。
【請求項１２】
請求項１乃至請求項１１のいずれか１つに記載の半導体装置であって、
前記冗長セルは、前記冗長セルの救済対象となる前記複数の基本セルの近傍に配置されることを特徴とする半導体装置。
【請求項１３】
請求項１乃至請求項１２のいずれか１つに記載の半導体装置であって、
前記複数の基本セルのうち所定のタイミング条件以外の基本セルについてのみ前記冗長セルの救済対象とすることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に係る発明であって、特に、ロジック領域を有する半導体装置に関するものである。
【背景技術】
【０００２】
半導体装置では、歩留まり改善するために冗長救済を行っている。例えば、特許文献１では、電源により分離された２つの回路Ａ及び回路Ｂにおいて、回路Ａに半ショート・半オープンの異常があった場合、ヒューズを用いて回路Ａの電流供給源を断ち、回路Ｂに置換する冗長救済方法を行っている。また、特許文献２では、冗長ロジック回路（同一機能とは限らない）の一方をヒューズもしくはスイッチ（トランジスタ）によりメモリから切り離して、他方をメモリに接続することにより冗長救済方法を行っている。さらに、特許文献３では、不良ブロックを切断するパッケージングにより、複数の演算ブロックを有する演算処理装置の不良ブロックでのリーク電流を防止する構成が開示されている。
【０００３】
【特許文献１】特開２００７−２０１１６６号公報
【特許文献２】特開２００４−０４８６１８号公報
【特許文献３】特開２００６−３１０６６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来の冗長救済は、ＳＲＡＭやフラッシュ等メモリに関するものであり、半導体装置においてメモリを冗長救済して歩留まりを向上させる努力が行われてきた。そのため、ロジック領域を含む半導体装置では、当該ロジック領域内において冗長救済が行われることがなかったため、メモリ領域には全く欠陥がない半導体装置でもロジック領域に欠陥が存在すれば不良判定され、歩留まりが低下する問題があった。
【０００５】
そこで、本発明は、半導体装置のロジック領域に冗長救済を行う構成を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の１つの実施の形態に係る解決手段は、ロジック領域を有する半導体装置である。そして、当該半導体装置は、ロジック領域内に設けられる同一の構成を有する複数の基本セルと、複数の基本セルと同一の構成を有する冗長セルと、複数の基本セル及び冗長セルのそれぞれに入力される信号を切り替える入力セレクタと、基本セル及び冗長セルのそれぞれから出力される信号を切り替える出力セレクタとを備えている。さらに、当該半導体装置は、入力セレクタ及び出力セレクタのうち少なくとも一方を切り替えて、冗長セルを機能させ複数の基本セルのうち故障したセルを救済する。
【発明の効果】
【０００７】
本発明の１つの実施の形態に記載の半導体装置は、入力セレクタ及び出力セレクタのうち少なくとも一方を切り替えて、冗長セルを機能させ複数の基本セルのうち故障したセルを救済するので、ロジック領域における故障に対して冗長救済を行うことができるので歩留まりを向上させることができる。
【発明を実施するための最良の形態】
【０００８】
（実施の形態１）
図１に、本実施の形態に係る半導体装置の概略図を示す。図１に示す半導体装置１は、ＳＯＣ（System On a Chip）であり、ロジック領域２、メモリ領域３及びアナログ領域４を備えている。さらに、図１に示す半導体装置１は、ロジック領域２、メモリ領域３及びアナログ領域４と外部機器とを接続するためにＩＯ領域５を備えている。そして、本実施の形態に係る半導体装置では、ロジック領域２にロジック欠陥を救済するための構成を採用することで、半導体装置１全体の歩留まりを向上させる。
【０００９】
図１には、ロジック欠陥を救済するための構成の概略図が図示されており、同一の構成を有する複数の基本セル２１と、当該基本セル２１と同一の構成を有する冗長セル２２と、基本セル２１及び冗長セル２２のそれぞれに入力される信号を切り替える入力セレクタ２３と、基本セル２１及び冗長セル２３のそれぞれから出力される信号を切り替える出力セレクタ２４とを備える。なお、同一の構成を有する複数の基本セル２１と、当該基本セル２１と同一の構成を有する冗長セル２２とをまとめて救済対象グループ２５とする。そして、同じ救済対象グループ２５内にある基本セル２１においてロジック欠陥がある場合、当該基本セル２１が故障セル２６となる。この故障セル２６に代えて同じ救済対象グループ２５内にある冗長セル２２を利用できるように入力セレクタ２３及び出力セレクタ２４を切り替える。
【００１０】
故障判定は、出荷テスト時に不合格となったチップを故障解析することで特定する。なお、故障セル２６が救済対象グループ２５に含まれる基本セル２１でなく、冗長セル２２を有していない場合は冗長救済の対象にならない。また、故障セル２６を冗長セル２２で置き換えるために、入力経路及び出力経路を入力セレクタ２３及び出力セレクタ２４で切り替える必要があるが、これらセレクタの制御端子にはレジスタあるいはヒューズが採用され論理固定される。この論理固定する情報は、半導体装置１内のフラッシュメモリ等に冗長救済を行うプログラムとして書き込まれ、救済時に当該情報をフラッシュメモリ等から読み出す。
【００１１】
さらに、本実施の形態に係る冗長救済の構成を具体的に説明する。図２に、本実施の形態に係るロジック領域２内に形成された１つの冗長救済の構成の回路図を示す。図２では、フリップフロップＵ０〜Ｕ２を基本セル２１とし、救済対象グループ２５中の基本セル数を３としている。このフリップフロップＵ０〜Ｕ２を救済するために用意された冗長セル２２がフリップフロップＵ３であるとし、フリップフロップＵ０〜Ｕ３を１つの救済対象グループ２５としている。この救済対象グループ２５の入力経路を切り替えるための入力セレクタ２３としてセレクタＵ４を設けている。また、フリップフロップＵ０の出力経路を切り替えるための出力セレクタ２４としてセレクタＵ５、フリップフロップＵ１の出力経路を切り替えるための出力セレクタ２４としてセレクタＵ６、フリップフロップＵ２の出力経路を切り替えるための出力セレクタ２４としてセレクタＵ７をそれぞれ設けている。
【００１２】
出荷テスト及び故障解析の結果により、フリップフロップＵ０内に故障があることが判明した場合、フリップフロップＵ０（故障セル２６）をフリップフロップＵ３（冗長セル２２）で置換する。そのためには、本来のフリップフロップＵ０への伝搬信号ＤＡ０がフリップフロップＵ３（冗長セル２２）へ流れるように、入力経路を切り替えるためにセレクタＵ４の制御ピンを設定する。つまり、セレクタＵ４は、端子Ｄ０からの信号が端子Ｙの出力になるように制御ピンの論理となっている。なお、故障セル２６がフリップフロップＵ１の場合は端子Ｄ１からの信号が端子Ｙの出力に、故障セル２６がフリップフロップＵ２の場合は端子Ｄ２からの信号が端子Ｙの出力にそれぞれなる。
【００１３】
さらに、冗長セル２２のフリップフロップＵ３で行った演算結果を伝搬させるために出力経路を切り替える必要があり、出力セレクタ２４であるセレクタＵ５，Ｕ６，Ｕ７のうち、セレクタＵ５の制御ピンを切り替える。つまり、セレクタＵ５の入力ピンを‘０’から‘１’に変更し、他のセレクタＵ６，Ｕ７の入力ピンは‘０’のままとなるように制御ピンの論理（ＳＥＬ）‘１，０，０’となっている。なお、故障セル２６がフリップフロップＵ１の場合は制御ピンの論理（ＳＥＬ）‘０，１，０’と、故障セル２６がフリップフロップＵ２の場合は制御ピンの論理（ＳＥＬ）‘０，０，１’とそれぞれなる。
【００１４】
フリップフロップＵ０，Ｕ１，Ｕ２には、伝搬信号ＤＡ０〜ＤＡ２以外に、クロック信号ＣＬＫ、リセット信号ＲＳＴがそれぞれ供給される。また、セレクタＵ５，Ｕ６，Ｕ７のそれぞれの出力先は組合論理である。図３に、故障セル２６を冗長セル２２に切り替えた後の経路を図示している。図３では、切り替え後の経路を太線、切り替え前の経路を破線で示している。
【００１５】
また、入出力経路を固定するために、入力セレクタ２３の制御ピンを固定した概念図を図４に示す。図４では、フラッシュメモリ３１上に、特定された故障セル２６の入出力経路を固定するための入力セレクタ２３の設定値がストアされている。そして、この設定値を用いる入力セレクタ２３は、８つの端子Ｄ０〜Ｄ７からの信号を１つ選択して端子Ｙから出力させる８ｔｏ１のセレクタである。電源投入時、フラッシュメモリ３１上にストアされた設定値に基づいて、入力セレクタ２３のセレクトピンに接続されている各レジスタに設定値がロードされ、制御ピンが固定される。出力経路についても同様であり、出力セレクタ２４は、２つの端子からの信号を１つ選択して出力させる２ｔｏ１のセレクタが８個設けられており、フラッシュメモリ３１上にストアされた設定値に基づいて、２ｔｏ１のセレクタの制御ピンが固定される。なお、図４では、入力セレクタ２３及び出力セレクタ２４の固定方法をレジスタとしたため、電源Ｏｎごとに上記作業が発生する。このような作業を不要としたい場合には、入力セレクタ２３及び出力セレクタ２４を、レジスタを用いずに、ヒューズを採用して制御ピンを固定しても良い。
【００１６】
以上のように、本実施の形態に係る半導体装置では、フリップフロップＵ０に欠陥（例えば、０縮退故障）があって、以降に論理を伝搬できず不良品として扱われる場合であっても、冗長セル２２で救済することができ、歩留まりを向上させることができる。
【００１７】
（実施の形態２）
実施の形態１では、基本セル２１をフリップフロップであるとして説明したが、本発明はこれに限られず、他の構成であっても良い。具体的に、図５に示す回路図では、基本セル２１をインバータである場合を示している。そのため、図５の場合、冗長セル２２もインバータとなる。基本セル２１以外の構成及び動作は、図２に示す構成と同じであるため、同一の構成要素には同一符号を付して詳細な説明は省略する。
【００１８】
また、図６に示す回路図では、基本セル２１を論理回路であるＮＡＮＤ回路である場合を示している。そのため、図６の場合、冗長セル２２もＮＡＮＤ回路となる。基本セル２１以外の構成及び動作は、図２に示す構成と同じであるため、同一の構成要素には同一符号を付して詳細な説明は省略する。ただし、ＮＡＮＤ回路の場合は、入力される伝搬信号が２つ（ＤＡ０１，ＤＡ０２等）となるので、入力セレクタ２３もセレクタＵ４Ａ，Ｕ４Ｂの２つで構成されることになる。
【００１９】
さらに、図７に示す回路図では、基本セル２１をスキャンレジスタである場合を示している。そのため、図７の場合、冗長セル２２もスキャンレジスタとなる。基本セル２１以外の構成及び動作は、図２に示す構成と同じであるため、同一の構成要素には同一符号を付して詳細な説明は省略する。ただし、スキャンレジスタの場合も、入力される伝搬信号が２つ（ＤＡ０１，ＤＡ０２等）となるので、入力セレクタ２３はセレクタＵ４Ｄ，Ｕ４ＳＩの２つで構成されることになる。
【００２０】
以上のように、本実施の形態に係る半導体装置のように、基本セル２１がインバータやＮＡＮＤ，スキャンＦＦ等のマクロセルであっても、冗長セル２２で救済することができるので、歩留まりを向上させることができる。
【００２１】
（実施の形態３）
実施の形態１，２では、基本セル２１をフリップフロップ等のマクロセルであるとして説明したが、本発明はこれに限られず、他の構成であっても良い。具体的に、図８に示す回路図では、基本セル２１を演算器である場合を示している。そのため、図８の場合、冗長セル２２も演算器となる。
【００２２】
図８に示す回路図では、基本セル２１としての８ビットの信号が２つ入力（ＤＡ０１，ＤＡ０２等）される演算器Ｕ０〜Ｕ２と、冗長セル２２の演算器Ｕ３とを１つの救済対象グループ２５としている。この救済対象グループ２５の入力経路を切り替えるために、８ビットの信号を切り替えられる入力セレクタ２３としてセレクタＵ４Ａ［７：０］，Ｕ４Ｂ［７：０］を備えている。また、８ビットの演算結果を出力する演算器Ｕ０が故障した場合に、演算器Ｕ３からの出力経路へ切り替えるために、８ビットの信号を切り替えられる出力セレクタ２４としてセレクタＵ５［７：０］を備えている。同様に、８ビットの演算結果を出力する演算器Ｕ１が故障した場合に、演算器Ｕ３からの出力経路へ切り替えるための出力セレクタ２４としてセレクタＵ６［７：０］、８ビットの演算結果を出力する演算器Ｕ２が故障した場合に、演算器Ｕ３からの出力経路へ切り替えるための出力セレクタ２４としてセレクタＵ７［７：０］をそれぞれ設けている。
【００２３】
そして、出荷テスト及び故障解析の結果により、演算器Ｕ０内に故障があることが判明した場合、演算器Ｕ０（故障セル２６）を演算器Ｕ３（冗長セル２２）で置換する。そのためには、本来の演算器Ｕ０への伝搬信号ＤＡ０１，ＤＡ０２が演算器Ｕ３（冗長セル２２）へ流れるように、入力経路を切り替えるためにセレクタＵ４Ａ［７：０］とＵＢ［７：０］の制御ピンを設定する。つまり、セレクタＵ４ＡＢ［７：０］は、それぞれ端子Ｄ０からの信号が端子Ｙの出力になるように制御ピンの論理となっている。
【００２４】
さらに、冗長セル２２の演算器Ｕ３で行った演算結果を伝搬させるために出力経路を切り替える必要があり、出力セレクタ２４であるセレクタＵ５［７：０］，Ｕ６［７：０］，Ｕ７［７：０］のうち、セレクタＵ５［７：０］の制御ピンを切り替える。つまり、セレクタＵ５［７：０］の入力ピンを‘００００００００’から‘１１１１１１１１’に変更し、他のセレクタＵ６［７：０］，Ｕ７［７：０］の入力ピンは‘００００００００’のままとなる。
【００２５】
以上のように、本実施の形態に係る半導体装置のように、基本セル２１が演算器であっても、冗長セル２２で救済することができるので、歩留まりを向上させることができる。なお、基本セル２１が演算器で処理する信号は８ビットに限られない。
【００２６】
（実施の形態４）
実施の形態１，２では、基本セル２１をフリップフロップ等のマクロセルあるいは演算器であるとして説明したが、本発明はこれに限られず、他の構成であっても良い。具体的に、図９に示す回路図では、基本セル２１をロジックコーンである場合を示している。そのため、図９の場合、冗長セル２２もロジックコーンとなる。なお、ロジックコーンとは、入力がフリップフロップの出力端子かプライマリ入力で、出力がフリップフロップのデータ端子かプライマリ出力で構成される多入力１出力の組み合わせ論理のこという。
【００２７】
図９に示す回路図では、基本セル２１としてのロジックコーンＬＣ０と、冗長セル２２のロジックコーンＬＣ１とを１つの救済対象グループ２５としている。この冗長セル２２のロジックコーンＬＣ１は、基本セル２１のロジックコーンＬＣ０と全く同じ入力信号が入力されるクローン回路である。そして、本実施の形態に係る冗長救済の構成では、入力セレクタが全ての入力経路に同一論理を供給しているので、冗長セル２２に同一論理が直接接続されている。さらに、救済対象の故障セル２６であるロジックコーンＬＣ０に変えて、冗長セル２２のロジックコーンＬＣ１からの経路を出力経路として選択する出力セレクタ２４のセレクタＵ０を備えている。なお、その他の構成及び動作は、図２に示す構成と同じであるため、詳細な説明は省略する。
【００２８】
以上のように、本実施の形態に係る半導体装置のように、基本セル２１がロジックコーンであっても、冗長セル２２で救済することができるので、歩留まりを向上させることができる。
【００２９】
（実施の形態５）
実施の形態１，２では、基本セル２１をフリップフロップ等のマクロセルであるとして説明したが、本発明はこれに限られず、他の構成であっても良い。具体的に、図１０に示す回路図では、基本セル２１をマクロブロックである場合を示している。そのため、図１０の場合、冗長セル２２もマクロブロックとなる。なお、マクロブロックとは、機能レベルの論理集合体のことで、ロジックコーンとの差異は、内部に記憶素子を含んでもよいことと、多出力でも構わない点である。
【００３０】
図１０に示す回路図では、基本セル２１としてのマクロブロックＭＢ０と、冗長セル２２のマクロブロックＭＢ１とを１つの救済対象グループ２５としている。この冗長セル２２のマクロブロックＭＢ１は、基本セル２１のマクロブロックＭＢ０と全く同じ入力信号が入力されるクローン回路である。そして、本実施の形態に係る冗長救済の構成では、入力セレクタが全ての入力経路に同一論理を供給しているので、冗長セル２２に同一論理が直接接続されている。さらに、救済対象の故障セル２６であるマクロブロックＭＢ０に変えて、冗長セル２２のマクロブロックＭＢ１からの経路を出力経路として選択する出力セレクタ２４のセレクタＵ０［＊，０］（複数ビット対応：＊＝任意の整数）を備えている。なお、その他の構成及び動作は、図２に示す構成と同じであるため、詳細な説明は省略する。
【００３１】
以上のように、本実施の形態に係る半導体装置のように、基本セル２１がマクロブロックであっても、冗長セル２２で救済することができるので、歩留まりを向上させることができる。
【００３２】
（実施の形態６）
本実施の形態に係る半導体装置では、救済対象グループ２５をアレイ化した例を示す。図１１に示す半導体装置が本実施の形態に係る半導体装置の一例である。図１１に示す半導体装置では、基本セル２１をフリップフロップとし、救済対象グループ２５を含まれる基本セル２１を８個、冗長セル２２を１個としている。また、救済対象グループ２５のアレイ化に伴い、入出力経路を切り替えるための入力セレクタ２３及び出力セレクタ２４も救済対象グループ２５の近傍に最適配置される。さらに、図１１に示す半導体装置では、同一の救済対象グループ２５を８個並列に並べることで、さらに集積度を向上させている。
【００３３】
そして、各救済対象グループ２５における故障セル２６を特定し、当該故障セル２６の代わりに冗長セル２２を用いるために、入力セレクタ２３及び出力セレクタ２４が入出力経路を切り替える。なお、入出力経路の切り替える動作は、実施の形態１で説明した動作と同じであるため、詳細な説明は省略する。
【００３４】
以上のように、本実施の形態に係る半導体装置では、救済対象グループ２５をアレイ化し、複数の基本セル２１及び冗長セル２２同士を近傍に配置するので、リソースの共有や配置の最適化により小面積化できるだけでなく、等長配線等でスキューを減らすことが可能となり、冗長救済後のタイミングへの影響を最小限に抑えることができる。さらに、本実施の形態では、救済対象グループ２５を並列に並べることで、リソースシェアリング等により集積度を高め、面積ペナルティの影響を小さくすることができる。
【００３５】
（実施の形態７）
実施の形態６では、救済対象グループ２５をアレイ化し、且つ同一の救済対象グループ２５を並列配置している。本実施の形態に係る半導体装置では、入力経路や出力経路を制御するためのリソース（レジスタ）を減らすことで、面積ペナルティを抑制する構成である。図１２に、本実施の形態に係る半導体装置の一例を示す。
【００３６】
図１１に示す半導体装置では、８個の救済対象グループ２５のそれぞれに対応する８つの入力セレクタ２３を用いて入力経路を制御していた。この入力セレクタ２３は、８ｔｏ１のセレクタであり、１つの８ｔｏ１のセレクタに対して制御信号（各３ビット）の値を固定するために３レジスタを費やす必要があった。そのため、図１１に示す半導体装置では、８個の救済対象グループ２５を設けているので、８＊３＝２４個のレジスタが必要であった。
【００３７】
しかし、本実施の形態に係る半導体装置では、図１２に示すように８つの入力セレクタ２３において各セレクタの制御信号の値を固定するレジスタを共有させ（３個のレジスタ）、各救済対象グループ２５が同一トポロジのみ救済する構成にしている。すなわち、図１２に示すように、ある救済対象グループ２５の基本セル２１が故障セル２６となった場合、当該故障セル２６を冗長セル２２に変更するとともに、故障セル２６と同一行に位置する他の救済対象グループ２５の基本セル２１も冗長セル２２変更する。各救済対象グループ２５の救済自由度を犠牲にすることで、入力経路の制御に必要なレジスタの数を２４から３に削減している。
【００３８】
同様に、出力経路を設定するための出力セレクタ２４についても制御信号（各１ビット）を共有させることで、出力経路を制御するためのレジスタを８個に削減している。つまり、図１１では６４個必要であった出力経路を制御するためのレジスタを、図１２では８個としている。
【００３９】
以上のように、本実施の形態に係る半導体装置では、アレイを多重化し、入力セレクタ２３及び出力セレクタ２４への配線を共通化することで、同一トポロジ（行）を除く２つ以上の故障を救出できないという自由度を犠牲にするかわりに、入出力経路を制御するためのリソースを削減し、且つ冗長救済のための面積ペナルティを削減することができる。
【００４０】
（実施の形態８）
上述した実施の形態に係る半導体装置では、冗長セル２２を使用するしないにかかわらず、電源が供給される構成であった。しかし、本実施の形態に係る半導体装置では、救済する必要のない救済対象グループ２５中の冗長セル２２に対して電源供給を絶つスイッチを設ける構成である。図１３は、基本セルをインバータと仮定した場合の冗長セル２２で、電源からの経路及びグランドへ至る経路にスイッチＳＷを設けている。
【００４１】
図１３に示す冗長セル２２では、救済対象グループ２５内に故障セル２６がなく、使用する必要がない場合、スイッチＳＷをＯｆｆにすることで、電源の供給経路及びグランドへの経路を断ち切ることができる。
【００４２】
以上のように、本実施の形態に係る半導体装置では、冗長セル２２に電源供給及びグランドへの経路を断ち切るスイッチＳＷを設けることで、余計なリーク電流を防止したり、他ロジックへの干渉等の悪影響を阻止したりすることができる。
【００４３】
（実施の形態９）
実施の形態８では、冗長セル２２のそれぞれに電源からの経路及びグランドへ至る経路を切断できるスイッチＳＷを設けていた。しかし、冗長セル２２で救済した故障セル２６は、機能しない状態であるが通電されたままである。そのため、実施の形態８では、故障セル２６において余計なリーク電流が生じる場合があった。
【００４４】
そこで、本実施の形態に係る半導体装置では、図１３に示した冗長セル２２と同様に基本セル２１にも電源からの経路及びグランドへ至る経路を切断できるスイッチＳＷを設ける。つまり、本実施の形態では、救済対象グループ２５内の全ての基本セル２１に対してもスイッチＳＷを適用する。そのため、本実施の形態では、故障した基本セル２１（故障セル２６）にもスイッチＳＷが設けられているので、当該基本セル２１のスイッチＳＷをＯｆｆにすることで、故障セル２６に対する電源の供給経路及びグランドへの経路を断ち切ることができる。
【００４５】
以上のように、本実施の形態に係る半導体装置では、基本セル２１に電源供給及びグランドへの経路を断ち切るスイッチＳＷを設けることで、故障セル２６の電源供給及びグランドへの経路を断ち切ることができ、余計なリーク電流を防止したり、他ロジックへの干渉等の悪影響を阻止したりすることができる。
【００４６】
（実施の形態１０）
実施の形態１では、救済対象グループ２５内の全ての基本セル２１を冗長セル２２が救済する冗長救済の構成を説明した。しかし、本発明に係る半導体装置の冗長救済の構成はこれに限られず、各基本セル２１が隣接する基本セル２１及び冗長セル２２により救済される冗長救済の構成でも良い。当該冗長救済の構成を採用することで、タイミングオーバーヘッドを削減できる。図１４に、本実施の形態に係る半導体装置の回路構成を示す。なお、図１４に示す半導体装置では、フリップフロップを基本セル２１とし、救済対象グループ２５中の基本セル２１の数を３とした場合を示している。
【００４７】
まず、図１４に示す半導体装置では、基本セル２１であるフリップフロップＵ０，Ｕ１，Ｕ２以外に冗長セル２２であるフリップフロップＵ３が設けられ、フリップフロップＵ０〜Ｕ３を１つの救済対象グループ２５としている。この救済対象グループ２５の入力経路を切り替えるため入力セレクタ２３を設けているが、図２で示したセレクタＵ４と異なり、セレクタＳ１，Ｓ２を設けている。ここで、セレクタＳ１は、フリップフロップＵ１に入力される伝搬信号ＤＡ０と伝搬信号ＤＡ１とを切り替える。セレクタＳ２は、フリップフロップＵ２に入力される伝搬信号ＤＡ１と伝搬信号ＤＡ２とを切り替える。また、図１４に示す冗長セル２２では、伝搬信号ＤＡ２のみが入力させる構成である。
【００４８】
そのため、図１４に示す半導体装置では、冗長セル２２で故障した基本セル２１（故障セル２６）を置き換えるのではなく、隣接する基本セル２１又は冗長セル２２で置き換える構成である。例えば、フリップフロップＵ０に故障があることが判明した場合、セレクタＳ１を用いて伝搬信号ＤＡ０をフリップフロップＵ１に供給するように切り替えることで、フリップフロップＵ０の機能をフリップフロップＵ１で行う。同様に、セレクタＳ２を用いて伝搬信号ＤＡ１をフリップフロップＵ２に供給するように切り替えることで、フリップフロップＵ１の機能をフリップフロップＵ２で行う。さらに、フリップフロップＵ２の機能を冗長セル２２であるフリップフロップＵ３で行う。これにより、故障セル２６であるフリップフロップＵ０を冗長救済する。図１５に、故障セル２６であるフリップフロップＵ０を冗長救済した場合の経路を図示している。図１５では、切り替え後の経路を太線、切り替え前の経路を破線で示している。
【００４９】
なお、入力セレクタ２３であるセレクタＳ１，Ｓ２の論理は、フリップフロップＵ０が故障セル２６の場合、上述したようにＳ１，Ｓ２＝０，０となり、フリップフロップＵ１が故障セル２６の場合Ｓ１，Ｓ２＝−，０となり、フリップフロップＵ２が故障セル２６の場合Ｓ１，Ｓ２＝１，−となる。ここで、‘−’はセレクタＳ１，Ｓ２の論理が不問であることを示している。また、図１４に示す出力経路を制御する出力セレクタ２４は、図２に示す出力セレクタ２４と同じであるため、詳細な説明は省略する。
【００５０】
以上のように、本実施の形態に係る半導体装置では、故障セル２６を隣接する基本セル２１に切り替え、且つ切り替えた基本セル２１を隣接する基本セル２１又は冗長セル２２に順次切り替えて救済するので、実施の形態１で述べた効果に加えて、冗長セル２２のファンアウトを分散し、且つ冗長救済時に必要な配線を削除して、タイミングへの影響を最低限に抑えることができる。
【００５１】
（実施の形態１１）
上述した実施の形態に係る半導体装置では、冗長救済の構成として基本セル２１と、冗長セル２２と、それらを切り替えるセレクタとをセットで保有する特徴を有している。そこで、本実施の形態に係る半導体装置では、当該構成の特徴を利用して、冗長救済の構成をハードマクロ化することについて説明する。図１６に示す回路図は、図１４に示す半導体装置と同じ構成である。この図１６に示す回路図には、フリップフロップＵ０とセレクタＵ５とのセットをハードマクロ化したセルＨＭ１と、フリップフロップＵ２とセレクタＳ２，Ｕ５とのセットをハードマクロ化したセルＨＭ２とが図示されている。
【００５２】
セルＨＭ１に示す単位でハードマクロ化した場合は、図２で示した冗長セル２２が全ての基本セル２１に対して救済する共有救済方式であっても、図１４で示した近接する基本セル２１又は冗長セル２２で救済する隣接救済方式のいずれに対しても適用できる。一方、セルＨＭ２に示す単位でハードマクロ化した場合は、隣接救済方式のみに適用できる。
【００５３】
ハードマクロ化したセルＨＭ１は、セレクト信号Ｓが’０’の時は通常のフリップフロップとして機能し、セレクト信号Ｓが’１’の時はクロック信号ＣＬＫに同期せずに入力された信号ＱＩをそのまま出力する組み合わせ論理である。
【００５４】
一方、ハードマクロ化したセルＨＭ２は、セレクト信号Ｓが２ビットで構成されており、セレクト信号Ｓ［１］が入力セレクト、セレクト信号Ｓ［０］が出力セレクトにそれぞれ対応している。そのため、セルＨＭ２は、セレクト信号Ｓ［０］が’０’の時は通常のマルチプレクサフリップフロップとして機能し、セレクト信号Ｓ［０］が’１’の時はクロック信号ＣＬＫに同期せずに入力された信号ＱＩをそのまま出力する組み合わせ論理である。なお、セルＨＭ２は、セレクト信号Ｓ［１］が’０’の時は伝搬信号ＤＡ０が供給され、セレクト信号Ｓ［１］が’１’の時は伝搬信号Ｄ１が供給される。
【００５５】
また、図１６に示すセルＨＭ２は、実際のセレクト信号Ｓ［１：０］が００となることがあり得ない。つまり、図１６に示すセルＨＭ２は、救済無しの時には必ずセレクト信号Ｓ［１：０］が１０となり、救済有りの時には必ずセレクト信号Ｓ［１：０］が０１となる。そこで、上記の関係を利用してセルＨＭ２は、図１７に示すように構成できる。つまり、図１７に示すセルＨＭ２は、セレクタＳ１を制御する信号ＳＤをインバータ１７０で反転し、信号ＳＱとしてセレクタＳ２に供給することで当該セレクタＳ２を制御している。そのため、図１７に示すセルＨＭ２は、図１６に示すセルＨＭ２に比べて構成をコンパクト化できる。なお、図１７に示す太線の経路が、セルＨＭ２における救済無し時のデータ経路（信号ＳＤ＝１，信号ＳＱ＝０，Ｑ’の出力＝Ｄ，Ｑの出力＝Ｄ）で、破線の経路がフリップフロップＵ０故障時の救済有りのデータ経路（信号ＳＤ＝０，信号ＳＱ＝１，Ｑ’の出力＝Ｄ’，Ｑの出力＝ＱＩ）である。
【００５６】
以上のように本実施の形態に係る半導体装置では、冗長救済に必須な構成をハードマクロ化することにより、集積度を高めて小エリアできることに加え、タイミングへの影響を最低限に抑えることができる。
【００５７】
（実施の形態１２）
本実施の形態に係る半導体装置では、回路のテストを容易化するために使用されるスキャンフリップフロップと、当該スキャンフリップフロップの前段にデータ入力とスキャン入力とを切り換えるためのセレクタと、救済対象のスキャンセルを冗長セルに切り替えるためのセレクタとを保有する特徴を利用して、これらをハードマクロ化している。つまり、本実施の形態に係る半導体装置では、入出力切り替え機能付き冗長スキャンセルをコンパクトにハードマクロ化したハードマクロセルを備えている。
【００５８】
図１８に、本実施の形態に係る半導体装置の回路構成を示す。図１８に示す回路では、図１４に示す回路構成のうち入力セレクタ２３に替えてフリップフロップへの入力を切り換えるセレクタ２３１と、データ入力とスキャン入力とを切り換えるセレクタ２３２とを備えている。セレクタ２３２には、データ入力の伝搬信号ＤＡ０とスキャン入力の信号ｓｃ０とを切り換えるセレクタＳ０１と、データ入力の伝搬信号ＤＡ１とスキャン入力の信号ｓｃ１とを切り換えるセレクタＳ０２と、データ入力の伝搬信号ＤＡ２とスキャン入力の信号ｓｃ２とを切り換えるセレクタＳ０３とがある。一方、セレクタ２３１には、外部信号とセレクタＳ０１の出力信号とを切り換えるセレクタＳ１１と、セレクタＳ０１の出力信号とセレクタＳ０２の出力信号とを切り換えるセレクタＳ１２と、セレクタＳ０２の出力信号とセレクタＳ０３の出力信号とを切り換えるセレクタＳ１３と、セレクタＳ０３の出力信号と外部信号とを切り換えるセレクタＳ１４とがある。
【００５９】
さらに、図１８に示す回路では、セレクタＳ０２と、セレクタＳ１２と、フリップフロップＵ１と、セレクタＵ６とを隣接救済方式に適用できるハードマクロセルＨＭ３としてハードマクロ化している。そして、このハードマクロセルＨＭ３は、以下のように動作する。まず、フリップフロップに故障がなく、セレクタＳ０１〜Ｓ０３がデータ入力を選択するノーマルモード（信号ＳＭ＝０）の時は、図１８に示す太線の経路がデータフローとなる。つまり、伝搬信号ＤＡ１をＤピンで受けてフリップフロップＵ１に取り込み、Ｑピンを介して、次段の組合回路へ出力する経路が伝搬信号ＤＡ１のデータフローである。この時、ＳＭピンに入力される信号（信号ＳＭ）は０、ＳＤピンに入力される信号（信号ＳＤ）は１、ＳＱピンに入力される信号（信号ＳＱ）は０とすることでクロック信号がｒｉｓｅの場合にフリップフロップＵ１が伝搬信号ＤＡ１を取り込みＱピン及びＱ’ピンから出力される信号がＤピンに入力され信号（伝搬信号ＤＡ１）となる。
【００６０】
一方、フリップフロップＵ０が故障し、セレクタＳ０１〜Ｓ０３がデータ入力を選択するノーマルモード（信号ＳＭ＝０）の時は、図１８に示す破線の経路が救済データフローとなる。つまり、伝搬信号ＤＡ０をＤ’ピンで受けてフリップフロップＵ１に取り込み、Ｑ’ピンを介して、次段の組合回路へ出力する経路が伝搬信号ＤＡ０の救済データフローである。この時、ＳＭピンに入力される信号（信号ＳＭ）は０、ＳＤピンに入力される信号（信号ＳＤ）は０、ＳＱピンに入力される信号（信号ＳＱ）は１とすることでクロック信号がｒｉｓｅの場合にフリップフロップＵ１が伝搬信号ＤＡ０を取り込みＱ’ピンから出力される信号がＤ’ピンに入力され信号（伝搬信号ＤＡ０）となる。なお、この時、Ｑピンから出力される信号はＱＩピンに入力され信号（信号ＱＩ）となる。
【００６１】
次に、セレクタＳ０１〜Ｓ０３がスキャン入力を選択するスキャンモード（信号ＳＭ＝１）の時の動作について、図１９を用いて説明する。まず、フリップフロップに故障がなく、セレクタＳ０１〜Ｓ０３がデータ入力を選択するスキャンモード（信号ＳＭ＝１）の時は、図１９に示す太線の経路がスキャンフローとなる。つまり、ＳＩピンで前段のスキャンアウトｓｃ１の信号（信号ＳＩ）を受けてフリップフロップＵ１に取り込み、Ｑピンを介してスキャンアウトｓｃ２から次段へ出力する経路がスキャンフローである。この時、ＳＭピンに入力される信号（信号ＳＭ）は１、ＳＤピンに入力される信号（信号ＳＤ）は１、ＳＱピンに入力される信号（信号ＳＱ）は０とすることでクロック信号がｒｉｓｅの場合にフリップフロップＵ１が信号ＳＩを取り込みＱピン及びＱ’ピンから出力される信号が信号ＳＩとなる。
【００６２】
一方、フリップフロップＵ０が故障し、セレクタＳ０１〜Ｓ０３がデータ入力を選択するスキャンモード（信号ＳＭ＝１）の時は、図１９に示す破線の経路が救済スキャンフローとなる。つまり、Ｄ’ピンで前段のスキャンアウトｓｃ０の信号（信号Ｄ’）を受けてフリップフロップＵ１に取り込み、Ｑ’ピンを介してスキャンアウトｓｃ１から次段へ出力する経路が救済スキャンフローである。この時、ＳＭピンに入力される信号（信号ＳＭ）は１、ＳＤピンに入力される信号（信号ＳＤ）は０、ＳＱピンに入力される信号（信号ＳＱ）は１とすることでクロック信号がｒｉｓｅの場合にフリップフロップＵ１が信号Ｄ’を取り込みＱ’ピンから出力される信号が信号Ｄ’となる。なお、この時、Ｑピンから出力される信号はＱＩピンに入力され信号（信号ＱＩ）となる。
【００６３】
以上のように、本実施の形態に係る半導体装置では、冗長セル２５に切り換えるためのセレクタ２３１，２４とスキャン動作に切り換えるためのセレクタ２３２とを融合してハードマクロ化することで小面積化し、エリアペナルティを低減させることができ、製造コストを抑えることができる。
【００６４】
なお、本発明に係る半導体装置においてハードマクロ化する回路構成は、図１８や図１９に示す回路構成に限られず、他の実施の形態で説明した回路構成についても適用できる。
【００６５】
（実施の形態１３）
本実施の形態に係る半導体装置に用いられるハードマクロ化した冗長救済の基本回路を図２０（ａ）に、その真理値表を図２０（ｂ）にそれぞれ示す。図２０（ａ）に示すハードマクロ化した冗長救済の基本回路には、フリップフロップＵＲを隣接救済方式で救済するためにセレクタＵＳＭ．ＵＳＤ，ＵＳＱを備えている。セレクタＵＳＭは、ＳＭピンに入力される信号（信号ＳＭ）に基づき、Ｄピンから入力される信号（信号Ｄ）と、ＳＩピンから入力される信号（信号ＳＩ）とを切り換える。また、セレクタＵＳＤは、ＳＤピンに入力される信号（信号ＳＤ）に基づき、セレクタＵＳＭの出力信号（信号Ｄ又は信号ＳＩ）と、隣接回路のセレクタＵＳＭから出力される信号（信号ＲＤＩ）とを切り換える。なお、セレクタＵＳＭの出力信号（信号Ｄ又は信号ＳＩ）は、隣接回路のセレクタＵＳＤに対する信号ＲＤＯとしても出力される。
【００６６】
さらに、セレクタＵＳＭの出力信号（信号Ｄ，信号ＳＩ又は信号ＲＤＩ）フリップフロップＵＲで処理され、セレクタＵＳＱに出力される。なお、フリップフロップＵＲの出力信号は、隣接回路のセレクタＵＳＱに対する信号ＲＱＯとしても出力される。また、セレクタＵＳＱは、ＳＱピンに入力される信号（信号ＳＱ）に基づき、フリップフロップＵＲの出力信号と、隣接回路のフリップフロップＵＲから出力される信号（信号ＲＱＩ）とを切り換え、Ｑピンから信号Ｑとして出力される。
【００６７】
次に、図２０（ａ）に示す回路の動作を、図２０（ｂ）に示す真理値を用いて具体的に説明する。まず、信号ＳＭ＝０のノーマルモードの場合、信号ＳＩ＝０及び信号ＳＱ＝０とすると信号Ｑ＝信号ＲＤＩとなり、信号ＳＩ＝０及び信号ＳＱ＝１とすると信号Ｑ＝信号ＲＱＩとなり、信号ＳＩ＝１及び信号ＳＱ＝０とすると信号Ｑ＝信号Ｄとなり、信号ＳＩ＝１及び信号ＳＱ＝１とすると信号Ｑ＝信号ＲＱＩとなる。一方、信号ＳＭ＝１のスキャンモードの場合、信号ＳＩ＝０及び信号ＳＱ＝０とすると信号Ｑ＝信号ＲＤＩとなり、信号ＳＩ＝０及び信号ＳＱ＝１とすると信号Ｑ＝信号ＲＱＩとなり、信号ＳＩ＝１及び信号ＳＱ＝０とすると信号Ｑ＝信号ＳＩとなり、信号ＳＩ＝１及び信号ＳＱ＝１とすると信号Ｑ＝信号ＲＱＩとなる。なお、信号ＳＭがいずれのモードであっても、フリップフロップＵＲに入力されるクロック信号はｒｉｓｅであるものとする。このように、図２０（ａ）に示す回路では、信号ＳＩ及び信号ＳＱを制御することで、自身の回路に入力された信号（信号Ｄ，信号ＳＩ）と隣接回路からの信号（信号ＲＤＩ，信号ＲＱＩ）とを切り換えるＱピンから出力できるように経路を選択できる。なお、図２０（ａ）に示す回路では、セレクタＵＳＭ．ＵＳＤ，ＵＳＱの一部をスキャンモード時と共用することで、冗長救済に要する回路の重複を軽減している。
【００６８】
次に、図２０（ａ）に示したハードマクロ化した回路を複数用いて構成される、本実施の形態に係る半導体装置の回路を図２１に示す。図２１に示す回路では、図２０（ａ）に示したハードマクロ化した回路ＨＭを３つ有し、救済対象となる基本セル２１のフリップフロップＵ０，Ｕ１，Ｕ２と同一の構成を有する冗長セル２２のフリップフロップＵ３とをまとめて救済対象グループ２５としている。なお、図２０（ａ）に示すセレクタＵＳＭが、図２１でのセレクタ２３２に対応し、データ入力の伝搬信号ＤＡ０とスキャン入力の信号ｓｃ０とを切り換えるセレクタＳ０１と、データ入力の伝搬信号ＤＡ１とスキャン入力の信号ｓｃ１とを切り換えるセレクタＳ０２と、データ入力の伝搬信号ＤＡ２とスキャン入力の信号ｓｃ２とを切り換えるセレクタＳ０３とがある。
【００６９】
また、図２０（ａ）に示すセレクタＵＳＤが、図２１でのセレクタ２３１に対応し、外部信号ＲＤＩとセレクタＳ０１の出力信号とを切り換えるセレクタＳ１１と、外部信号ＲＤＩとセレクタＳ０２の出力信号とを切り換えるセレクタＳ１２と、外部信号ＲＤＩとセレクタＳ０３の出力信号とを切り換えるセレクタＳ１３とがある。ここで、外部信号ＲＤＩは、ハードマクロ化した回路ＨＭを３が隣接する場合には隣接する回路ＨＭの信号ＲＤＯであり、存在しない場合には任意の信号が当該回路外から入力された信号である。
【００７０】
さらに、図２０（ａ）に示すセレクタＵＳＱが、図２１でのセレクタ２４に対応し、外部信号ＲＱＩとフリップフロップＵ０の出力信号とを切り換えるセレクタＵ５と、外部信号ＲＱＩとフリップフロップＵ１の出力信号とを切り換えるセレクタＵ６と、外部信号ＲＱＩとフリップフロップＵ２の出力信号とを切り換えるセレクタＵ７とがある。ここで、外部信号ＲＱＩは、隣接する回路ＨＭの信号ＲＱＯ又はフリップフロップの出力信号である。
【００７１】
次に、図２１に示す回路の動作について説明する。まず、フリップフロップＵ０〜Ｕ２に故障がなく、セレクタＳ０１〜Ｓ０３がデータ入力を選択するノーマルモード（信号ＳＭ＝０）の時、伝搬信号ＤＡ１の経路が図２１に示す太線の経路（データフロー）となる。つまり、伝搬信号ＤＡ１をＤピンで受けてフリップフロップＵ１に取り込み、Ｑピンを介して、次段の組合回路へ出力する経路が伝搬信号ＤＡ１のデータフローである。この時、ＳＭピンに入力される信号（信号ＳＭ）は０、ＳＤピンに入力される信号（信号ＳＤ）は１、ＳＱピンに入力される信号（信号ＳＱ）は０とすることでクロック信号がｒｉｓｅの場合にフリップフロップＵ１が伝搬信号ＤＡ１を取り込みＱピンから出力される信号がＤピンに入力され信号（伝搬信号ＤＡ１）となる。
【００７２】
一方、フリップフロップＵ０が故障し、セレクタＳ０１〜Ｓ０３がデータ入力を選択するノーマルモード（信号ＳＭ＝０）の時は、伝搬信号ＤＡ０の経路が図２１に示す破線の経路（救済データフロー）となる。つまり、セレクタＳ１２を切り換えて伝搬信号ＤＡ０を信号ＲＤＩとしてフリップフロップＵ１に取り込み、セレクタＵ５を介して、次段の組合回路へ出力する経路が伝搬信号ＤＡ０の救済データフローである。この時、ＳＭピンに入力される信号（信号ＳＭ）は０、ＳＤピンに入力される信号（信号ＳＤ）は０、ＳＱピンに入力される信号（信号ＳＱ）は１とすることでクロック信号がｒｉｓｅの場合にフリップフロップＵ１が伝搬信号ＤＡ０を取り込みセレクタＵ５から出力される信号がセレクタＳ０１に入力され信号（伝搬信号ＤＡ０）となる。なお、この時、セレクタＵ６から出力される信号がフリップフロップＵ２の出力信号、セレクタＵ７から出力される信号がフリップフロップＵ３の出力信号となり、故障しているフリップフロップＵ０を経由する信号は存在しない。
【００７３】
次に、セレクタＳ０１〜Ｓ０３がスキャン入力を選択するスキャンモード（信号ＳＭ＝１）の時の動作について、図２２を用いて説明する。まず、フリップフロップＵ０〜Ｕ２に故障がなく、セレクタＳ０１〜Ｓ０３がデータ入力を選択するスキャンモード（信号ＳＭ＝１）の時、前段のスキャンアウトｓｃ１の信号の経路が図２２に示す太線の経路（スキャンフロー）となる。つまり、ＳＩピンで前段のスキャンアウトｓｃ１の信号（信号ＳＩ）を受けてフリップフロップＵ１に取り込み、Ｑピンを介してスキャンアウトｓｃ２から次段へ出力する経路がスキャンフローである。この時、ＳＭピンに入力される信号（信号ＳＭ）は１、ＳＤピンに入力される信号（信号ＳＤ）は１、ＳＱピンに入力される信号（信号ＳＱ）は０とすることでクロック信号がｒｉｓｅの場合にフリップフロップＵ１が信号ＳＩを取り込みＱピンから出力する信号が次段の信号ＳＩとなる。
【００７４】
一方、フリップフロップＵ０が故障し、セレクタＳ０１〜Ｓ０３がデータ入力を選択するスキャンモード（信号ＳＭ＝１）の時、前段のスキャンアウトｓｃ０の信号の経路が図２２に示す破線の経路（救済スキャンフロー）となる。つまり、セレクタＳ０１で受けた前段のスキャンアウトｓｃ０の信号をフリップフロップＵ１に取り込み、セレクタＵ５を介してスキャンアウトｓｃ１から次段へ出力する経路が救済スキャンフローである。この時、ＳＭピンに入力される信号（信号ＳＭ）は１、ＳＤピンに入力される信号（信号ＳＤ）は０、ＳＱピンに入力される信号（信号ＳＱ）は１とすることでクロック信号がｒｉｓｅの場合にフリップフロップＵ１がセレクタＳ０１の出力信号を取り込みセレクタＵ５から出力される信号が前段のスキャンアウトｓｃ０の信号となる。なお、この時、セレクタＵ６から出力される信号がフリップフロップＵ２の出力信号、セレクタＵ７から出力される信号がフリップフロップＵ３の出力信号となり、故障しているフリップフロップＵ０を経由する信号は存在しない。
【００７５】
以上のように、本実施の形態に係る半導体装置では、セレクタの一部をスキャンモード時と共用することで、エリアペナルティを低減させることができ、製造コストを抑えることができる。
【００７６】
（実施の形態１４）
本実施の形態に係る半導体装置では、救済対象グループ２５又は冗長セル２２のデザインルールを他の部分のデザインルールより緩和（集積度を高めるようにデザインルールを変更）することで、回路全体の面積を圧縮し、結果的にロジック冗長救済による面積の増加を低減する。救済対象グループ２５又は冗長セル２２を図２１のハードマクロであると仮定した場合、ハードマクロ内のフリップフロップに対するデザインルールを他の部分のデザインルールより緩和させて集積度をより高めることで、回路全体の面積を圧縮することができる。
【００７７】
具体的に、救済対象グループ２５又は冗長セル２２に適用するデザインルールを説明する。図２３に、デザインルールの緩和例を示す。図２３に示すレイアウトでは、他の部分のデザインルールより緩和したデザインルールを適用することで、回路面積を圧縮している。通常、デザインルールには、リソグラフィやＯＰＣ（Optical Proximity Correction）を考慮したマージンが課せられているが、本実施の形態に係る救済対象グループ２５又は冗長セル２２に適用するデザインルールは、欠陥密度が増加することを許容したり、セルレイアウトに一部制約を課したりすることで、マージンが課せられている箇所を減らし例えばＳＲＡＭ並みのデザインルールまで緩和する（以下、Ｐｕｓｈルールと示す）ことで集積度を高めている。
【００７８】
Ｐｕｓｈルールとして、図２３の矢印Ａに示すコンタクトホールＣＯ間あるいはビアＶ間の突き合わせ距離、矢印Ｂに示す金属配線Ｍ１，Ｍ２間のスペース量、矢印Ｃに示すポリシリコン配線Ｐ間のスペース量を詰めることで、セル幅を小さくする。本実施の形態に係る救済対象グループ２５又は冗長セル２２に適用するデザインルールでは、当該箇所のルールを他の部分のデザインルールに比べ１０％程度低減する。また、半導体装置において、回路占有面積に影響を与えるのは基本的にセルの行方向（隣にセルが並べられる方向）である。従って、図２３の矢印Ｄに示すＰＭＯＳとＮＭＯＳとの間のスペース量や、矢印Ｅに示すＰ型拡散層ＰＤからのポリシリコン配線Ｐの突き出し量や、矢印Ｅと同様にＮ型拡散層ＮＤからのポリシリコン配線Ｐの突き出し量も考えられるが、これらのルールはセル高に影響を与える部分なので、直接チップ面積低減には反映されない。
【００７９】
以上のように。本実施の形態に係る救済対象グループ２５又は冗長セル２２では、適用するデザインルールを他の部分に適用するデザインルールよりも緩和（例えば、フリップフロップに対するデザインルールをＳＲＡＭ並みのデザインルールにして集積度を高める）して、回路の占有面積を低減させることができ、ウェハあたりのロジック冗長救済機構を含むチップ数を増加させることができる。しかも、本実施の形態のように緩和したデザインルールで設計したロジック回路は、単一不良であれば欠陥密度が増加したとしても本救済機構により救済できるため、本実施の形態に係る半導体装置は不良チップが増加することは無く、良品チップの増加につながり、ウェハ製造コストを低減することができる。なお、本実施の形態に係る救済対象グループ２５又は冗長セル２２に適用するデザインルールの緩和は、同様に他の実施の形態の構成にも適用できる。
【００８０】
（実施の形態１５）
本実施の形態では、実施の形態１乃至１３で述べた半導体装置に用いる設計フローについて説明する。図２４に、本実施の形態に係る設計フローを示す。なお、図２４に示す設計フローでは、ロジック領域中のフリップフロップを救済対象にする場合を仮定する。
【００８１】
まず、ステップＳ１では、救済対象のフリップフロップを含むロジック領域の論理合成を行う。一般的な論理合成では、フリップフロップがスキャンフリップフロップに変換されることを想定し、その置換分の遅延差をあらかじめ考慮して合成が行われる。そのため、本実施の形態のようにフリップフロップを救済対象とする場合、スキャンフリップフロップの代わりに図２１等で示した冗長セル２２のフリップフロップを使用することが考えられるため、ステップＳ１の論理合成では当該置換分の遅延差をあらかじめ考慮して論理合成を行う必要がある。
【００８２】
次に、ステップＳ２では、論理合成後のネットリストに対して、ロジック領域に含まれるフリップフロップに対して冗長救済用のフリップフロップを設けて救済対象グループを形成する。なお、フリップフロップには、スキャンフリップフロップも含む。
【００８３】
次に、ステップＳ３では、冗長救済時にタイミング不整合が発生しないように救済対象グループがなるべく近くに配置されるように配置・配線処理を行う。ステップＳ３では、冗長救済目的のために新たに発生した配線長も最小限に抑える。
【００８４】
次に、ステップＳ４では、ロジック回路に対して通常行われているスキャンテストを行う。当該テストで、故障したセルに対してステップＳ５で故障解析を行う。ステップＳ５での行った故障解析により、故障したセルの種類と場所を特定する。
【００８５】
ステップＳ６では、ステップＳ５で特定した故障セルの種類に基づき、当該故障セルがフリップフロップであるか否かを判定する。すわなち、ステップＳ６では、故障セルが救済対象であるフリップフロップでなければ、救済不可能であるため不良チップと判断し、故障セルが救済対象グループに含まれるフリップフロップであれば救済のためにステップＳ７に進む。
【００８６】
ステップＳ７では、故障セルの場所を救済プログラムとしてフラッシュメモリに書き込むか、故障セルの場所に対応するヒューズを切断することによって、セレクタの制御信号に接続されているレジスタを固定する。ステップＳ７で固定化されたレジスタに基づき、セレクタを制御することで、フリップフロップを冗長救済する（ステップＳ８）。ステップＳ８における具体的な救済方法は、実施の形態１乃至１３に述べた方法を用いて行う。
【００８７】
以上のように、本実施の形態に係る設計フローを用いることにより、ロジック領域に含まれるフリップフロップを確実に救済できるため、良品数あたりのウェハ製造コストを低く抑えることができる。また、本実施の形態に係る設計フローは、非常にシンプルであるため、設計のＴＡＴ（Turn Around Time）へのオーバーヘッドもほとんどない。
【００８８】
（実施の形態１６）
実施の形態１５のステップＳ１では、スキャンフリップフロップを冗長フリップフロップに置換するため、その置換分の遅延差をあらかじめ考慮して論理合成を行うことを説明した。このように、置換分の遅延差をあらかじめ考慮して論理合成した場合、ロジック回路の速度性能は、僅かではあるが劣化する。
【００８９】
そこで、本実施の形態の設計フローにおけるステップＳ１では、スキャンフリップフロップを冗長救済のフリップフロップに置換する際、置換分の遅延差にタイミングマージンのないスキャンフリップフロップについては冗長救済のフリップフロップに置換しないことで、ロジック回路の速度性能を劣化させずにウェハあたりの良品数を増加させることができる。
【００９０】
例えば、スキャンフリップフロップを冗長救済のフリップフロップに置換する際に生じる置換分の遅延差が２ｎｓ以上となるスキャンフリップフロップや、あるデザインのスキャンフリップフロップのタイミングスラック分布が図２５に示されているような場合において２ｎｓのタイミングスラックを持たないスキャンフリップフロップは、冗長救済のフリップフロップに置換しない。図２５に示されているタイミングスラック分布において、２ｎｓのタイミングスラックを持たないスキャンフリップフロップは、０．００６％であり、このスキャンフリップフロップ以外のスキャンフリップフロップについては冗長救済のフリップフロップに置換する。
【００９１】
なお、本実施の形態に係る設計フローは、ステップＳ１以外は、実施の形態１５と同じであるので、詳細な説明は省略する。
【００９２】
以上のように、本実施の形態に係る設計フローでは、所定の置換分の遅延差を有するスキャンフリップフロップや、所定のタイミングスラックを持たないスキャンフリップフロップのようなタイミングクリティカルなスキャンフリップフロップ（所定のタイミング条件を有しないスキャンフリップフロップ）を冗長救済の対象としないことで、製品性能を劣化させることなく、ウェハあたりの良品数を増加させることができる。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施の形態１に係る半導体装置の概略図である。
【図２】本発明の実施の形態１に係る半導体装置の冗長救済の構成を示す回路図である。
【図３】本発明の実施の形態１に係る半導体装置の冗長救済の経路を示す図である。
【図４】本発明の実施の形態１に係る半導体装置のセレクタを説明するための図である。
【図５】本発明の実施の形態２に係る半導体装置の冗長救済の構成を示す回路図である。
【図６】本発明の実施の形態２に係る別の半導体装置の冗長救済の構成を示す回路図である。
【図７】本発明の実施の形態２に係る別の半導体装置の冗長救済の構成を示す回路図である。
【図８】本発明の実施の形態３に係る半導体装置の冗長救済の構成を示す回路図である。
【図９】本発明の実施の形態４に係る半導体装置の冗長救済の構成を示す回路図である。
【図１０】本発明の実施の形態５に係る半導体装置の冗長救済の構成を示す回路図である。
【図１１】本発明の実施の形態６に係る半導体装置の冗長救済の構成を示す概略図である。
【図１２】本発明の実施の形態７に係る半導体装置の冗長救済の構成を示す概略図である。
【図１３】本発明の実施の形態８に係る半導体装置の冗長セルを示す回路図である。
【図１４】本発明の実施の形態１０に係る半導体装置の冗長救済の構成を示す回路図である。
【図１５】本発明の実施の形態１０に係る半導体装置の冗長救済の経路を示す図である。
【図１６】本発明の実施の形態１１に係る半導体装置の冗長救済の構成を示す回路図である。
【図１７】本発明の実施の形態１１に係る別の半導体装置の冗長救済の構成を示す回路図である。
【図１８】本発明の実施の形態１２に係る半導体装置の冗長救済の構成を示す回路図である。
【図１９】本発明の実施の形態１２に係る半導体装置の冗長救済の構成を示す回路図である。
【図２０】本発明の実施の形態１３に係る半導体装置の冗長救済の構成を示すハードマクロ化した回路図である。
【図２１】本発明の実施の形態１３に係る半導体装置の冗長救済の構成を示す回路図である。
【図２２】本発明の実施の形態１３に係る半導体装置の冗長救済の構成を示す回路図である。
【図２３】本発明の実施の形態１４に係る半導体装置の冗長救済の構成を示す回路のレイアウト図である。
【図２４】本発明の実施の形態１５に係る半導体装置の設計フロー図である。
【図２５】本発明の実施の形態１６に係る半導体装置を構成するフリップフロップのタイミングスラック分布を示す図である。
【符号の説明】
【００９４】
１  半導体装置、２  ロジック領域、３  メモリ領域、４  アナログ領域、５  ＩＯ領域、２１  基本セル、２２  冗長セル、２３  入力セレクタ、２４  出力セレクタ、２５  救済対象グループ、２６  故障セル。
【図１】
2010041705.tif 000003
【図２】
2010041705.tif 000004
【図３】
2010041705.tif 000005
【図４】
2010041705.tif 000006
【図５】
2010041705.tif 000007
【図６】
2010041705.tif 000008
【図７】
2010041705.tif 000009
【図８】
2010041705.tif 000010
【図９】
2010041705.tif 000011
【図１０】
2010041705.tif 000012
【図１１】
2010041705.tif 000013
【図１２】
2010041705.tif 000014
【図１３】
2010041705.tif 000015
【図１４】
2010041705.tif 000016
【図１５】
2010041705.tif 000017
【図１６】
2010041705.tif 000018
【図１７】
2010041705.tif 000019
【図１８】
2010041705.tif 000020
【図１９】
2010041705.tif 000021
【図２０】
2010041705.tif 000022
【図２１】
2010041705.tif 000023
【図２２】
2010041705.tif 000024
【図２３】
2010041705.tif 000025
【図２４】
2010041705.tif 000026
【図２５】
2010041705.tif 000027