(57)【要約】【課題】半導体集積回路の歩留まりを向上させることが困難となっていた。【解決手段】半導体集積回路の設計方法では、複数の機能マクロを有する複数の半導体チップを形成して下地ウェハを作成し、複数の半導体チップの複数の機能マクロをテストしてマクロテスト情報を生成し、マクロテスト情報及びユーザ回路のネットリストに基づいて、複数の機能マクロから使用禁止とするマクロを選出する。下地ウェハ状態でテストを行うことにより、半導体集積回路製造時の歩留まりを向上させることが可能となる。【選択図】  図７
2009130125.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能マクロを有する複数の半導体チップを形成して下地ウェハを作成し、
前記複数の半導体チップの前記複数の機能マクロをテストしてマクロテスト情報を生成し、
前記マクロテスト情報及びユーザ回路のネットリストに基づいて、前記複数の機能マクロから使用禁止とするマクロを選出する半導体集積回路の設計方法。
【請求項２】
前記マクロテスト情報は、各機能マクロの良品率を示す良品率マップを含む請求項１に記載の半導体集積回路の設計方法。
【請求項３】
前記マクロテスト情報は、各機能マクロの特性を示す特性マップを含む請求項１あるいは２に記載の半導体集積回路の設計方法。
【請求項４】
前記使用禁止とする機能マクロの選出は、
前記ユーザ回路のネットリストに基づいて、当該ユーザ回路が使用する機能マクロ数を算出し、
前記ユーザ回路が使用する機能マクロ数および前記良品率マップに基づいて、良品率が１００％の機能マクロを用いて前記ユーザ回路を構成し、
前記良品率が１００％の機能マクロを用いて前記ユーザ回路を構成することが不可能な場合は前記良品率が１００％未満の機能マクロを用いて前記ユーザ回路を構成することを特徴とする請求項２あるいは３に記載の半導体集積回路の設計方法。
【請求項５】
前記良品率が１００％未満の機能マクロを用いてユーザ回路を構成する場合は、１００％から所定量減じた１００−α％の良品率の機能マクロでユーザ回路を構成し、
前記１００−α％の良品率の機能マクロでユーザ回路を構成することが不可能な場合は前記良品率が１００−α％未満の機能マクロを用いて前記ユーザ回路を構成することを特徴とする請求項２あるいは３に記載の半導体集積回路の設計方法。
【請求項６】
前記ユーザ回路の要求する特性および前記マクロテスト情報に基づいて、前記複数の機能マクロから使用禁止とするマクロを選出する請求項１乃至５のいずれか１項に記載の半導体集積回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計方法に関し、特に予め機能マクロや機能セルを複数埋めこんだ半導体装置に対する配線層を設計することによって種々の機能を有する半導体装置を設計するストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）の設計方法に関する。
【背景技術】
【０００２】
半導体装置において、開発期間が短く、再プログラムが可能な装置としてＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が知られている。また、大規模回路で設計が困難であっても、大量に生産する場合の特定用途向けのＩＣとしてＡＳＩＣが知られている。近年、これらのＦＰＧＡやＡＳＩＣの中間的な半導体装置としてストラクチャードＡＳＩＣと呼ばれる装置が広まってきている。
【０００３】
このストラクチャードＡＳＩＣとは、例えばＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）などの機能マクロや、インバータ、フリップフロップなどの機能セルを複数の配線層を利用して作りこんだウェハを用意しておき、この用意されたウェハに対して比較的少ない数の上層配線をカスタマイズすることで、所望の回路を設計する技術である。
【０００４】
このストラクチャードＡＳＩＣを用いれば、機能マクロ、機能セルが形成されたウェハを予め用意しておけば、上層数層の配線層の形成のみで半導体装置を製造することが出来るためＡＳＩＣよりも開発期間の短縮し、ＦＰＧＡなどよりも複雑な回路の設計が可能となる。
【０００５】
一方で、半導体装置を製造する製造工程においては、その製造装置による精度のばらつきや、製造工程における異物混入などを避けることは不可能である。この機種ばらつきや異物混入の結果として、半導体装置のチップ内に不良部を有するチップがウェハ上に点在することとなる。そこで、半導体装置の良品、不良品のデータを管理する方法としては特許文献１に記載の技術が知られている。特許文献１に記載の技術では、テスト工程ごとにテスト結果を集計し、その後、全工程のテスト結果を集計している。
【０００６】
また、半導体装置に不良品が出た場合の歩留まり向上技術として、例えばメモリセルにおける冗長セルの技術なども知られている。メモリ装置などでは、予め冗長セルを用意しておき、本来のメモリセルに不良が生じた場合にそのメモリセルを冗長セルに置き換えることなどで、メモリ装置の歩留まりを向上させている。
【特許文献１】特公平６−１０１５１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に示す技術は、単にテスト結果を集計する技術であり、上記したようなストラクチャードＡＳＩＣに対する歩留まり向上については、なんら考慮されていない。また、歩留まりを向上させる為に冗長セルを用意するような方法では、予め半導体装置に余分な冗長セルなどを形成しなければならず、回路面積が増大してしまう。上記したようなストラクチャードＡＳＩＣでは、種々の機能マクロに相当する回路が作りこまれてしまっているので、冗長セルのように、不良が発生した場合に置き換える為の回路を予め設けることは回路面積が無駄に大きくなってしまう場合がある。そこで、ストラクチャードＡＳＩＣのような半導体装置であっても歩留まりを向上させることが可能な設計手法が望まれていた。
【課題を解決するための手段】
【０００８】
本発明の１態様による半導体集積回路の設計方法では、複数の機能マクロを有する複数の半導体チップを形成して下地ウェハを作成し、複数の半導体チップの複数の機能マクロをテストしてマクロテスト情報を生成し、マクロテスト情報及びユーザ回路のネットリストに基づいて、複数の機能マクロから使用禁止とするマクロを選出する。
【０００９】
このように下地ウェハの段階でテストを行ってマクロテスト情報を作成することにより、半導体集積回路、特にストラクチャードＡＳＩＣの製造時の歩留まりを向上させることが可能である。
【発明の効果】
【００１０】
半導体集積回路を形成する時の歩留まりを向上させることが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。図１乃至図４は、実施の形態1を説明する為の概略図及びフローチャートなどを示すものである。以下の説明では、図１乃至図４を適宜用いて本発明の実施の形態について説明する。
【００１２】
本実施の形態では、まずストラクチャードＡＳＩＣによる半導体装置が完成する前の状態のウェハ（以後、下地ウェハと称す）１が複数作成される。この下地ウェハ１とは半導体基板上に形成された様々な素子、論理ゲートなどを半導体基板上に形成された複数層の配線で接続し、いくつかの機能マクロ（以下、マクロとも称す）や機能セルが形成されたウェハである。ここで機能マクロとは、例えばＰＬＬや、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）、ＳＲＡＭなどを示している。つまり、下地ウェハ１は、この機能マクロとクロックツリー配線、電源配線などが形成された状態のウェハである。図１（ａ）は、下地ウェハ１を示し、図１（ｂ）は下地ウェハ１が形成された状態でのチップ２を示す概要図である。
【００１３】
図２は、下地ウェハに対して行うテストを示すフローチャートである。図２に示すように本実施の形態では、図１（ａ）に示した下地ウェハ１が形成された時点で、下地ウェハに対して各種のテストを行う（図２、Ｓ２０１参照）。ここで行われるテストは、下地ウェハに形成された各機能マクロ（ＰＬＬやＳＲＡＭ）が各機能を正しく実施することが可能かどうかの機能テストや、各機能マクロの電圧マージン、動作周波数に対するマージンの回路としての特性を評価する特性テストなどである。これらのテスト結果は機能マクロの良品、不良品の測定結果、特性の測定結果としてチップ毎の識別情報と関連付けされ、マクロテスト情報ＭＴが出力される。
【００１４】
このマクロテスト情報について、図１（ａ）、（ｂ）を用いて示した下地ウェハ１、チップ２を用いて説明する。マクロテスト情報ＭＴは、下地ウェハ１におけるチップの情報とマクロテストの結果を関連付けて持っている。例えば、図１（ａ）に示す下地ウェハ１においてＡに示す位置のチップでは、図１（ｂ）に示すＰＬＬ１、ＳＲＡＭ４が動作不良を起こし、図１（ａ）でＢに示す位置のチップは図１（ｂ）のＤＬＬ１、ＳＲＡＭ３が動作不良を起こしているというような情報である。
【００１５】
マクロテスト情報ＭＴは、例えば図２に示したようにテーブルのようなデータで出力することが可能である。図２では、各マクロの機能動作の可否を示すテーブルを示しているが、このテーブルは１つである必要はなく、電圧マージンや動作周波数など下地ウェハ１の段階で行われたテストごとに設けることが可能である。
【００１６】
下地ウェハ１のテストにより得られたマクロテスト情報ＭＴは、その後、下地ウェハ１毎の識別情報と、上記のマクロテスト情報ＭＴのデータが関連付けられる。そして、図３に示したフローに基づいて、マクロテスト情報ＭＴを利用して下地ウェハ毎にチップの良品率マップＭＡＰＮＧ、特性マップＭＡＰＣＨＡが作成される。図１に示した下地ウェハ１が、例えばウェハ１ａ、ウェハ１ｂ、ウェハ１ｃの様に複数用意された場合を例に、本実施の形態の良品率マップＭＡＰＮＧ、特性マップＭＡＰＣＨＡについて説明する。なお、説明を簡素化するために１つの下地ウェハ１には、１０枚のチップが形成されるものとして説明する。
【００１７】
仮に、１枚目の下地ウェハ１ａにおいて得られたマクロテスト情報ＭＴの機能テストに関する結果が図４のようになったとする。図４のような結果であれば、図４の最下段に示すようにウェハ１ａにおける各機能マクロの良品率を求めることが可能となる。これをウェハ毎に集計すれば、図５のようなウェハごとの良品率マップＭＡＰＮＧを作成することが可能となる。
【００１８】
特性マップＭＡＰＣＨＡは、例えば、以下のように作成することが出来る。図４に示したマクロテスト情報ＭＴと同じようなテーブルとして、チップごとの最低動作電圧のテーブルや、最低動作周波数のテーブルなどを下地ウェハ１の段階でテストした項目に合わせて作成する。このマクロテスト情報を模式的に図６に示す。そして、例えばＳＲＡＭ１の最低動作電圧であれば、下地ウェハ１ａの複数チップのＳＲＡＭ１の中で最も高い最低動作電圧を低電圧マージンの値として用いる。チップ３枚で比べた場合に、ＳＲＡＭ１の最低動作電圧がチップＡでａａ（Ｖ）、チップＢでｂｂ（Ｖ）、チップＣでｃｃ（Ｖ）であり、ａａ＜ｂｂ＜ｃｃであれば、最低動作電圧としては最も悪い特性のｃｃ（Ｖ）が低電圧動作マージンとして設定される。図４と同じ下地ウェハ１ａを用いたとして、ウェハ１ａの各機能マクロの最低動作電圧は、図６最下段に示す。
【００１９】
図６は、低電圧マージンの例として最低動作電圧を示したが、様々な特性に関して同様のテーブルを作成することが可能である。そして、図５と同様にウェハ毎にこの特性を示すマップを作成すれば、特性マップＭＡＰＣＨＡを作成することが可能である。
【００２０】
本実施の形態では、下地ウェハ１が作成された後に、マクロテスト情報ＭＴ、良品マップＭＡＰＮＧ、特性マップＭＡＰＣＨＡが作成された状態としておく。その後、図７に示すフローの段階に移行する。
【００２１】
図７に示すステップＳ７０１でユーザ回路（トランスファードＡＳＩＣとして完成した回路）の回路接続情報に関するネットリストＮＥＴが取り込まれる。そして、Ｓ７０１ではユーザ回路のネットリスト情報から、ユーザ回路が用いるマクロの抽出が行われる。ここで抽出したマクロは、抽出マクロ情報ＭＡＣＵＳＥとして出力される。ここで、抽出マクロ情報ＭＡＣＵＳＥとは、例えば、「ユーザ回路使用マクロ数：ＰＬＬ＝２、ＳＲＡＭ＝４」と言うような情報である。この抽出マクロ情報ＭＡＣＵＳＥは、例えば設計装置の一時記憶装置などに保持される。
【００２２】
その後、ステップＳ７０２において、図５に示した良品率マップＭＡＰＮＧからチップ上の、どの位置のマクロが使用可能かを検索する。ここで、Ｓ７０２を最初に実行する場合の使用可能な位置を特定するための初期値は、良品率が１００％の位置にあるマクロとする。例えば、ユーザ回路がＰＬＬを用いるのであれば、図５に示した良品率マップでは、ウェハ１ａ、１ｃでは、ＰＬＬ２、ＰＬＬ３、ＰＬＬ４、ウェハ１ｂであれば、ＰＬＬ１、ＰＬＬ２、ＰＬＬ４の良品率が１００％である。そのため、この良品率１００％のＰＬＬを使用するように設定し、一時記憶装置などに保持される。同様に、他の機能のマクロについても良品率１００％のマクロを使用可能なマクロとするように設定し、使用可能マクロ情報ＭＡＣＧＯＯＤとして一時記憶装置などに保持する。図５をもとにした場合、使用可能なマクロは図８のようになる。
【００２３】
ステップＳ７０３において、Ｓ７０２で使用可能な設定としたマクロの数が、ユーザ回路が使用するマクロ数の条件を満たしているかどうかが判断される。上記したようにユーザ回路がＰＬＬ２個、ＳＲＡＭを４個必要とする場合、図５に示した良品率マップのウェハ１ａ、１ｂでは、使用可能なＳＲＡＭが４個存在しなくなってしまう。そこで、ステップＳ７０３では、ユーザ回路の使用する個数だけ使用可能なマクロを有するウェハ１ｃをユーザ回路作成のための下地ウェハとして指定し、ステップＳ７０６へと進む。
【００２４】
ここで、図５に示したウェハ１ｃがなかった場合、つまり、作成された状態の下地ウェハが１ａ、１ｂしかなかった場合について説明する。下地ウェハが１ａ、１ｂしかない場合、ユーザ回路が使用する個数だけ使用可能とされたマクロが存在しなくなる。そのため、以下のステップＳ７０４へと進む。
【００２５】
ステップＳ７０４では、初期値で設定した良品率＝１００％の引き下げが行われる。この良品率の引き下げは、可能な限り小さな値（例えば１％）が好ましいが、ここでは説明の簡略化のため、良品率を１０％下げ、良品率＝９０％としたものとして説明する。Ｓ７０４において、良品率の引き下げが行われた後は、ステップＳ７０５の判定の後、再びステップＳ７０２へと戻り、今度は良品率＝９０％のマクロを使用可能なマクロとして設定する。この良品率を９０％に引き下げた場合、図８に示したウェハ１ａ、１ｂに関する使用可能なマクロのマップは図９のように変化する。その後、再びＳ７０３へと進み、必要なマクロの個数との比較が行われる。図９に示す場合であれば、ウェハ１ａが下地ウェハとして使用可能であると選択される。
【００２６】
以降、この良品率の引き下げと、使用可能なマクロの設定が繰り返され、ステップＳ７０４で設定した良品率が０％になった場合は、現在用意されている下地ウェハ１のチップでは、ユーザ回路が使用するマクロを全て動作させることが不可能ということになるので、設計工程は終了する。この判定は図７に示すステップＳ７０５で行われる。良品率が０％でも、使用可能な下地ウェハがない場合はユーザ回路の回路変更、あるいは下地ウェハ自体の変更等を行う必要がある。
【００２７】
ステップＳ７０３で、下地ウェハがユーザ回路の使用する機能マクロの必要数をみたした場合、使用するウェハが設定される。ステップＳ７０６では、上記Ｓ７０２で作成した使用可能なマクロの情報（使用可能マクロ情報）ＭＡＣＧＯＯＤ及び予め設定されているチップ内での配線配置の条件情報ＷＩＮＦＯを元に、使用禁止とするマクロを決定する。ここで、使用禁止と設定されたマクロの情報は使用禁止マクロ情報ＭＡＣＮＧとして出力される。
【００２８】
図１０は、ユーザ回路（半導体集積回路）の設計に関する工程を示す図である。ユーザ回路の設計ではユーザネットリストと呼ばれる回路の接続状態を表現したデータに基づいて、使用する機能マクロの位置を特定する。本実施の形態では、この時に図７に説明したフローに基づいて作成された使用禁止マクロ情報ＭＡＣＮＧが利用される。
【００２９】
ステップＳ１０１において、ユーザネットリストＮＥＴ、配置禁止マクロ情報ＭＡＣＮＧを元に、機能マクロとして使用可能な位置の機能マクロのみを用いて、ユーザ回路を配置する。その後、ステップＳ１０２において機能マクロ間、機能セル間の配線が決定される。
【００３０】
ステップＳ１０３において、決定した配置配線から配線のレイアウト情報を作成する。ステップＳ１０４では、作成されたレイアウト情報からレチクルを作成する。その後、このレチクルを元に下地ウェハ１上に配線を形成し、ユーザ回路を実現する半導体集積回路とされる。
【００３１】
なお、図７乃至１０を用いて説明したフローでは、良品率にのみ基づいて配置禁止マクロを決定するフローを示したが、図６に示したようにマクロ情報ＭＴには特性マップＭＡＰＣＨＡも含まれている。そこで、この特性も考慮して配置禁止マップを作成するフローを図１１に示す。図１１において、図７に示したフローと同一のフローに関しては同じ符号を付し、その説明を省略する。
【００３２】
図１１に示したフローにおいて、図７と異なるのは、ステップＳ７０２において使用する下地ウェハが設定され、マクロの配置禁止位置を検出するステップＳ７０６において、ユーザ回路が要求する回路特性と特性マップから、要求する特性を満たさないマクロに関しても配置禁止マクロと設定する点である。その後、ステップＳ７０７において、特性も含めて配置化のうとされたマクロがユーザ回路が必要とする数あるかが判定される。ここで、ユーザ回路が必要とする個数のマクロが存在しない場合は処理を終了する。ユーザ回路が必要とする個数のマクロが存在する場合は、特性も考慮したうえでの配置禁止マクロ情報が生成される。その後、ユーザ回路を実現する半導体集積回路が形成される点は図１０に示したフローと同一となる。
【００３３】
以上、詳細に説明したように本実施の形態では下地ウェハが形成された段階で、各チップのテストを行い、良品率マップ、特性マップなどのマクロテスト情報として保持する。そして、ユーザ回路が必要とする機能マクロと、マクロテスト情報からユーザ回路の要求する動作を実行することが可能なチップを選び、動作しない機能マクロや特性を満たさない機能マクロを使用せずにユーザ回路として作成する。
【００３４】
このように、半導体集積回路を形成することで、機能マクロの単位で動作不良を起こすチップであっても、その機能マクロを除いた部分でユーザ回路を構成することが可能となる。また、機能マクロの単位で動作不良を起こすチップであっても、ユーザ回路によっては使用可能とすることができる為、半導体集積回路を形成する上での歩留まりが向上する。また、歩留まりが向上することによってユーザ回路を作成する工数も削減され、ストラクチャードＡＳＩＣの目的のひとつである開発工数の削減を確実に行うことが可能となる。
【００３５】
以上、本発明の実施の形態に基づいて詳細に説明したが、本発明は上記した実施の形態に限らず、種々の変形が可能である。例えば、良品率に基づいたマクロ配置位置の検出後に特性に基づいてマクロの配置位置を設定し、必要数が確保できるまで繰り返すようなフローとしてもよい。また下地ウェハ自体が複数種類存在するような場合は、図７に示したステップＳ７０２において、使用する下地ウェハの種類を特定し、その種類のウェハ全体で必要数が確保できるかというステップＳ７０３のような処理を行うことも可能である。このように本発明は、本発明の主旨を逸脱しない限り、当業者に置いて適宜変形することが可能である。
【図面の簡単な説明】
【００３６】
【図１】下地ウェハ及び下地ウェハに形成されたチップを示す。
【図２】下地ウェハに対して行うテスト、テストによって作成されるマクロテスト情報を示す。
【図３】テストによって作成されるマップを示す。
【図４】テストによって作成される良品・不良品の選別結果を示す。
【図５】テストによって作成される良品率マップを示す。
【図６】テストによって作成される特性マップを示す。
【図７】配置禁止とするマクロを決定するフローを示す。
【図８】良品率１００％での良品率マップを示す。
【図９】良品率９０％での良品率マップを示す。
【図１０】ユーザ回路の設計フローを示す。
【図１１】特性も考慮した場合の配置禁止とするマクロを決定するフローを示す。
【符号の説明】
【００３７】
１    下地ウェハ
２    チップ
ＭＡＣＮＧ    使用禁止マクロ情報
ＭＡＣＵＳＥ    抽出マクロ情報
ＭＡＰＣＨＡ    特性マップ
ＭＡＰＮＧ    良品率マップ
ＭＴ    マクロテスト情報
ＮＥＴ    ユーザネットリスト
ＷＩＮＦＯ    条件情報
【図１】
2009130125.tif 000003
【図２】
2009130125.tif 000004
【図３】
2009130125.tif 000005
【図４】
2009130125.tif 000006
【図５】
2009130125.tif 000007
【図６】
2009130125.tif 000008
【図７】
2009130125.tif 000009
【図８】
2009130125.tif 000010
【図９】
2009130125.tif 000011
【図１０】
2009130125.tif 000012
【図１１】
2009130125.tif 000013