(57)【要約】【課題】半導体装置を小面積化する。【解決手段】コンピュータ１が、バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも１つのバンプパッド８ａ，８ｂ，８ｅ，８ｆ，８ｈ，８ｋ，８ｌ、または、バンプが付加され、信号の入出力または電源の接続に使用されないバンプパッド８ｇが、角部に配置されたマクロ５ａ〜５ｋを基板４に配置し、基板４の角に機能ブロックの角部と少なくとも一部が重なるバンプ配置抑制領域９ａ〜９ｄを設定し、バンプ配置抑制領域９ａと重なる角部のバンプパッド８ｆを削除する。【選択図】図１
2016046358.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも１つの第１の端子または、前記バンプが付加され、信号の入出力または前記電源の接続に使用されない第２の端子が、角部に配置された第１の機能ブロックを基板に配置し、
前記基板の角に、前記第１の機能ブロックの前記角部と少なくとも一部が重なるバンプ配置抑制領域を設定し、
前記バンプ配置抑制領域と重なる前記角部の前記第１の端子または前記第２の端子を少なくとも１つ削除する、
ことを特徴とする半導体装置の設計方法。
【請求項２】
前記コンピュータは、前記基板の複数の前記角にそれぞれ前記バンプ配置抑制領域を配置し、複数の前記バンプ配置抑制領域を１つずつ選択して、選択した前記バンプ配置抑制領域に重なる前記角部を有する前記第１の機能ブロックの有無を検証し、前記第１の機能ブロックがあるときには、当該角部に配置された前記第１の端子または前記第２の端子を少なくとも１つ削除する、ことを特徴とする請求項１に記載の半導体装置の設計方法。
【請求項３】
前記コンピュータは、前記第１の機能ブロックを前記基板に配置するたびに、前記バンプ配置抑制領域と重なるか否かを検証し、前記機能ブロックが、前記バンプ配置抑制領域と重なる前記角部をもつ前記第１の機能のブロックであるときには、当該角部に配置された前記第１の端子または前記第２の端子を少なくとも１つ削除する、ことを特徴とする請求項１に記載の半導体装置の設計方法。
【請求項４】
基板に配置された第１の機能ブロックと、第２の機能ブロックとを有し、
前記基板の４隅の何れかの隅に配置された前記第１の機能ブロックは、前記隅に対応する第１の角部以外の第２の角部に、第１のバンプが付加され、同一種類の電源に接続される複数の第１の端子のうち少なくとも１つ、または、前記第１のバンプが付加され、第１の信号の入出力または前記電源の接続に使用されない第２の端子が配置されており、
前記４隅以外に配置された第２の機能ブロックには、各角部に、第２のバンプが付加され、同一種類の前記電源に接続される複数の第３の端子のうち少なくとも１つ、または、前記第２のバンプが付加され、第２の信号の入出力または前記電源の接続に使用されない第４の端子が配置されている、
ことを特徴とする半導体装置。
【請求項５】
バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも１つの第１の端子、または、前記バンプが付加され、信号の入出力または前記電源の接続に使用されない第２の端子が、角部に配置された機能ブロックを複数、基板に配置し、
前記基板の角に、前記機能ブロックの前記角部と少なくとも一部が重なるバンプ配置抑制領域を設定し、
前記バンプ配置抑制領域と重なる前記角部の前記第１の端子または前記第２の端子を少なくとも１つ削除する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計方法、半導体装置及びプログラムに関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integrated circuit）チップには、各種の機能を行う回路ブロックである機能ブロック（以下マクロという）が複数搭載されている。
近年、高速ＩＯ（Input Output）インタフェース、ＵＳＢ（Universal Serial Bus）インタフェースなどの機能を有するマクロは、容量などを最適化するために端子にバンプが付加された状態を考慮して設計が行われる。なお、以下ではこのようなバンプが付加される端子をバンプパッドと呼ぶ。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１２４６３３号公報
【特許文献２】特開２００３−１５２０８１号公報
【特許文献３】特開平１０−５６０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなバンプパッドを有するマクロを、半導体装置の設計時に基板上に配置する際、バンプの配置ルールにより、マクロは、基板のコーナ部分から離れるように配置されることになる。基板のコーナ部分へバンプパッドを配置すると、基板とそれに張り合わせる回路基板との熱膨張率差によって、基板のコーナ部分に顕著に加わる応力により、バンプやバンプパッドに接続される配線に剥がれなどの異常が生じる可能性があるためである。しかし、コーナ部分からマクロを離すことによって、無駄なスペースが生じ、半導体装置の面積が大きくなってしまう。
【課題を解決するための手段】
【０００５】
発明の一観点によれば、コンピュータが、バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも１つの第１の端子または、前記バンプが付加され、信号の入出力または前記電源の接続に使用されない第２の端子が、角部に配置された第１の機能ブロックを基板に配置し、前記基板の角に、前記第１の機能ブロックの前記角部と少なくとも一部が重なるバンプ配置抑制領域を設定し、前記バンプ配置抑制領域と重なる前記角部の前記第１の端子または前記第２の端子を少なくとも１つ削除する、半導体装置の設計方法が提供される。
【０００６】
また、発明の一観点によれば、基板に配置された第１の機能ブロックと、第２の機能ブロックとを有し、前記基板の４隅の何れかの隅に配置された前記第１の機能ブロックは、前記隅に対応する第１の角部以外の第２の角部に、第１のバンプが付加され、同一種類の電源に接続される複数の第１の端子のうち少なくとも１つ、または、前記第１のバンプが付加され、第１の信号の入出力または前記電源の接続に使用されない第２の端子が配置されており、前記４隅以外に配置された第２の機能ブロックには、各角部に、第２のバンプが付加され、同一種類の前記電源に接続される複数の第３の端子のうち少なくとも１つ、または、前記第２のバンプが付加され、第２の信号の入出力または前記電源の接続に使用されない第４の端子が配置されている、半導体装置が提供される。
【０００７】
また、発明の一観点によれば、バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも１つの第１の端子、または、前記バンプが付加され、信号の入出力または前記電源の接続に使用されない第２の端子が、角部に配置された機能ブロックを複数、基板に配置し、前記基板の角に、前記機能ブロックの前記角部と少なくとも一部が重なるバンプ配置抑制領域を設定し、前記バンプ配置抑制領域と重なる前記角部の前記第１の端子または前記第２の端子を少なくとも１つ削除する、処理をコンピュータに実行させるプログラムが提供される。
【発明の効果】
【０００８】
開示の半導体装置の設計方法、半導体装置及びプログラムによれば、半導体装置を小面積化できる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施の形態の半導体装置の設計方法の一例を示す図である。
【図２】コンピュータのハードウェア例を示す図である。
【図３】第２の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。
【図４】バンプの配置例を示す図である。
【図５】マクロの配置例及びバンプ配置抑制領域の設定例を示す図である。
【図６】バンプパッドの削除例を示す図である。
【図７】半導体装置の一例を示す図である。
【図８】比較例の半導体装置を示す図である。
【図９】第３の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。
【図１０】基板に配置されたマクロなどの一例を示す図である。
【図１１】バンプパッドの削除例を示す図である。
【図１２】第４の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。
【図１３】バンプ配置抑制領域の設定例を示す図である。
【図１４】バンプの配置例を示す図である。
【図１５】マクロの配置処理におけるあるタイミングでの配置状態の例を示す図である。
【図１６】マクロの配置処理における別のタイミングでの配置状態の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の半導体装置の設計方法の一例を示す図である。
【００１１】
半導体装置の設計方法は、コンピュータ１によって実行される。
コンピュータ１は、プロセッサ２と記憶部３を有している。プロセッサ２は、記憶部３に記憶されているデータ及びプログラムに基づき、以下のような設計方法を実行する。
【００１２】
記憶部３は、プロセッサ２が実行するプログラムや各種データを記憶する。
まず、プロセッサ２は、マクロ５ａ，５ｂ，５ｃ，５ｄ，５ｅ，５ｆ，５ｇ，５ｈ，５ｉ，５ｊ，５ｋを基板４に配置する（ステップＳ１）。またこのとき、プロセッサ２は、例えば、コーナーセル６や、または信号の入出力などのためのＩＯセル７も基板４に配置する。
【００１３】
マクロ５ａ〜５ｋは、バンプパッドを有している。バンプパッドは、バンプが付加される端子として、例えば、設計データで定義されている。また、設計データでは、バンプパッドがどのような電源に接続されるか、または、信号の入出力に使用されること、などが定義されている。
【００１４】
例えば、マクロ５ａは、図１に示すように、６つのバンプパッド８ａ，８ｂ，８ｃ，８ｄ，８ｅ，８ｆを有している。バンプパッド８ａ，８ｃは、電源（ＶＤ）に接続される端子であり、バンプパッド８ｂ，８ｅ，８ｆは、基準電源（ＶＳ）に接続される端子であり、バンプパッド８ｄは、信号（Ｓｉｇ）が入出力される端子である。
【００１５】
本実施の形態において、マクロ５ａ〜５ｋでは、同一種類の電源（ＶＤまたはＶＳＳ）に接続される複数のバンプバッドのうち少なくとも１つのバンプパッドが角部に配置されているか、ダミーのバンプパッドが角部に配置されている。ダミーのバンプパッドは、信号の入出力または電源の接続に使用されないバンプパッドであり、例えば、レイアウトの均等化のために設けられている。つまり、１つ削除してもマクロ５ａ〜５ｋの機能に影響を与えず、削除可能なバンプパッド（以下、冗長なバンプパッドと呼ぶ場合もある）が、角部に配置されている。
【００１６】
図１に示すマクロ５ａの例では、基準電源に接続されるバンプパッド８ａ，８ｂ，８ｅ，８ｆが各角部に配置されている。
また、図１の例ではマクロ５ｃも、バンプパッド８ｇ，８ｈ，８ｉ，８ｊ，８ｋ，８ｌを有している。バンプパッド８ｉは、電源に接続されるバンプパッドであり、バンプパッド８ｈ，８ｋ，８ｌは、基準電源に接続されるバンプパッドであり、バンプパッド８ｊは、信号が入出力されるバンプパッドである。また、バンプパッド８ｇは、ダミーのバンプパッドである。マクロ５ｃでは、基準電源に接続されるバンプパッド８ｈ，８ｋ，８ｌと、ダミーのバンプパッド８ｇが角部に配置されている。
【００１７】
このようなマクロ５ａ〜５ｋを設計する工程については、ステップＳ１の処理の前に予め行われているものとする。
ステップＳ１の処理では、前述のバンプの配置ルールにかかわらず、マクロ５ａ〜５ｋの基板４の隅への配置が許容される。
【００１８】
次に、プロセッサ２は、基板４の角にバンプ配置抑制領域を設定する（ステップＳ２）。以下では、基板４の４隅にバンプ配置抑制領域９ａ，９ｂ，９ｃ，９ｄを設定する例について説明する。バンプ配置抑制領域９ａ，９ｂ，９ｃ，９ｄは、バンプの配置ルールにしたがって、大きさが設定される。
【００１９】
その後、プロセッサ２は、バンプ配置抑制領域９ａ，９ｂ，９ｃ，９ｄと重なる角部をもつマクロにおいて、当該角部のバンプパッドを少なくとも１つ削除する（ステップＳ３）。この処理は、バンプ配置抑制領域９ａ，９ｂ，９ｃ，９ｄ内のそれぞれにおいて、バンプを少なくとも１つ削除するというバンプの配置ルールを満たすために行われる。なお、このバンプの配置ルールは、前述したように、基板のコーナ部分での応力による、バンプの剥がれなどの異常の発生を抑制するために決められているものである。
【００２０】
図１の例では、基板４の右下に設定されたバンプ配置抑制領域９ａと、マクロ５ａの右下の角部が重なる。そのため、マクロ５ａの右下の角部のバンプパッド８ｆが１つ削除される。
【００２１】
ここで、マクロ５ａは、バンプパッド８ｆが削除されても、他のバンプパッド８ｂ，８ｅで基準電源と接続できるため、マクロ５ａの機能に影響を与えない。
なお、マクロ５ａの１つの角部に同一種類の複数の冗長なバンプパッドが配置されている場合で、他にもその種類のバンプパッドが存在する場合は、上記のステップＳ３の処理において、２以上の冗長なバンプパッドが削除されるようにしてもよい。
【００２２】
また、図１に示すマクロ５ｃのように、バンプ配置抑制領域と重なる角部をもたないマクロは、その角部に配置されたバンプパッド８ｇ，８ｈ，８ｋ，８ｌが削除されない。
また、ステップＳ２の処理において、基板４の一部の角にバンプ配置抑制領域を設定し、その後のステップＳ３の処理を行ってもよい。例えば、基板４の右下の角のみにバンプ配置抑制領域９ａを設定し、その後のステップＳ３の処理を行ってもよい。
【００２３】
なお、各ステップの処理の順序は、上記に限定されるものではない。例えば、ステップＳ１の処理とステップＳ２の処理は、どちらを先に実行してもよい。
また、基板４に配置されるマクロの数は、上記に限定されない。例えば、基板４に配置されるマクロは１つであってもよい。
【００２４】
以上のように、本実施の形態の半導体装置の設計方法では、削除可能なバンプパッドを角部に配置したマクロ５ａ〜５ｋが基板４に配置される。そして、基板４の角部のバンプ配置抑制領域９ａと重なる角部を持つマクロ５ａから、その角部のバンプパッド８ｆを削除し、バンプの配置ルールを満たすようにしているため、バンプパッドを有するマクロ５ａを、基板４の隅に寄せることができるようになる。バンプの配置ルールを満たす別の方法として、基板４の角部にダミーバンプを配置し、そのダミーバンプを削除することが考えられるが、本実施の形態の半導体装置の設計方法では、そのようなダミーバンプの配置が不要となる。そのため、マクロ５ａを基板４の隅に寄せられることから、無駄な領域を減らせることができ、半導体装置を小面積化できる。
【００２５】
また、本実施の形態の設計方法では、予め削除可能なバンプパッドが角部に配置されたマクロを用いるため、ステップＳ３の処理の際、削除可能なバンプパッドであるか否かなどの判定処理をしなくてもよい。
【００２６】
（第２の実施の形態）
第２の実施の形態の半導体装置の設計方法は、例えば、以下に示すようなコンピュータによって実行される。
【００２７】
図２は、コンピュータのハードウェア例を示す図である。
図２は、本実施の形態に用いるコンピュータのハードウェアの一例を示す図である。コンピュータ２０は、プロセッサ２１によって装置全体が制御されている。プロセッサ２１には、バス２９を介してＲＡＭ（Random Access Memory）２２と複数の周辺機器が接続されている。プロセッサ２１は、マルチプロセッサであってもよい。プロセッサ２１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ２１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２８】
ＲＡＭ２２は、コンピュータ２０の主記憶装置として使用される。ＲＡＭ２２には、プロセッサ２１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２２には、プロセッサ２１による処理に必要な各種データが格納される。
【００２９】
バス２９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）２３、グラフィック処理装置２４、入力インタフェース２５、光学ドライブ装置２６、機器接続インタフェース２７及びネットワークインタフェース２８がある。
【００３０】
ＨＤＤ２３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ２３は、コンピュータ２０の補助記憶装置として使用される。ＨＤＤ２３には、ＯＳのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００３１】
グラフィック処理装置２４には、モニタ２４ａが接続されている。グラフィック処理装置２４は、プロセッサ２１からの命令にしたがって、画像をモニタ２４ａの画面に表示させる。モニタ２４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３２】
入力インタフェース２５には、キーボード２５ａとマウス２５ｂとが接続されている。入力インタフェース２５は、キーボード２５ａやマウス２５ｂから送られてくる信号をプロセッサ２１に送信する。なお、マウス２５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３３】
光学ドライブ装置２６は、レーザ光などを利用して、光ディスク２６ａに記録されたデータの読み取りを行う。光ディスク２６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３４】
機器接続インタフェース２７は、コンピュータ２０に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース２７には、メモリ装置２７ａやメモリリーダライタ２７ｂを接続することができる。メモリ装置２７ａは、機器接続インタフェース２７との通信機能を搭載した記録媒体である。メモリリーダライタ２７ｂは、メモリカード２７ｃへのデータの書き込み、またはメモリカード２７ｃからのデータの読み出しを行う装置である。メモリカード２７ｃは、カード型の記録媒体である。
【００３５】
ネットワークインタフェース２８は、ネットワーク２８ａに接続されている。ネットワークインタフェース２８は、ネットワーク２８ａを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００３６】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示したコンピュータ１も、図２に示したコンピュータ２０と同様のハードウェアにより実現することができる。
【００３７】
コンピュータ２０は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。コンピュータ２０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ２０に実行させるプログラムをＨＤＤ２３に格納しておくことができる。プロセッサ２１は、ＨＤＤ２３内のプログラムの少なくとも一部をＲＡＭ２２にロードし、プログラムを実行する。またコンピュータ２０に実行させるプログラムを、光ディスク２６ａ、メモリ装置２７ａ、メモリカード２７ｃなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ２１からの制御により、ＨＤＤ２３にインストールされた後、実行可能となる。またプロセッサ２１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３８】
（設計方法の一例）
図３は、第２の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。
【００３９】
以下の処理は、図２に示したコンピュータ２０において、プロセッサ２１の制御のもと行われる。
設計データＤ１は、例えば、フロアプラン情報やネットリストを含むデータである。
【００４０】
設計データＤ２は、例えば、ＩＯセルやマクロの形状などの物理的な特徴を示す情報を含むデータである。
設計データＤ３は、例えば、バンプ配置抑制領域の大きさなどを示す設定情報などを含むデータであり、また、バンプ配置抑制領域の設定情報は、バンプの配置ルールにしたがって設定される。
【００４１】
まず、プロセッサ２１は、例えば、ＨＤＤ２３に予め格納されている設計データＤ１に含まれるフロアプラン情報やネットリストを読み出し、ＩＯセル、マクロなどの配置情報を作成する（ステップＳ１０）。
【００４２】
ＩＯセル、マクロなどの配置情報とは、例えば、ＩＯセルやマクロの基板内における座標、マクロのバンプパッドの情報、ＩＯセルとバンプの接続情報などである。
プロセッサ２１は、フロアプラン情報やネットリストなどに基づき、例えばＩＯセルやマクロ間の配線遅延や配線本数などを考慮して、上記のＩＯセル、マクロなどの配置情報を作成する。
【００４３】
次に、プロセッサ２１は、ステップＳ１０の処理により作成されたＩＯセル、マクロ配置情報に基づいて、基板３０にバンプを配置する（ステップＳ１１）。
図４は、バンプの配置例を示す図である。
【００４４】
図４に示すように、基板３０に、例えば、バンプ３１が配置される。
なお、マクロのバンプの配置については、後述するステップＳ１２の処理によりマクロが基板３０に配置されたときに定まる。
【００４５】
その後、プロセッサ２１は、例えば、ＨＤＤ２３に予め格納されている設計データＤ２に含まれるＩＯセルやマクロの形状などの物理的な特徴を示すデータを読み出し、ＩＯセル、マクロなどを基板３０に配置する（ステップＳ１２）。
【００４６】
ここで、本実施の形態のマクロは、第１の実施の形態と同様に、バンプパッドを有し、冗長なバンプパッドが角部に配置されている。
このようなマクロを設計する工程については、ステップＳ１０の処理の前に予め行われているものとする。
【００４７】
なお、ステップＳ１２の処理では、前述のバンプの配置ルールにかかわらず、マクロの基板３０の隅への配置が許容される。
さらに、プロセッサ２１は、例えば、ＨＤＤ２３に予め格納されている設計データＤ３に含まれるバンプ配置抑制領域の設定データを読み出し、基板３０の角にバンプ配置抑制領域を設定する（ステップＳ１３）。以下では、基板３０の４隅にバンプ配置抑制領域３２ａ，３２ｂ，３２ｃ，３２ｄを設定する例について説明する。バンプ配置抑制領域の設定情報には、例えば、バンプ配置抑制領域の大きさ（例えば、２００μｍ×２００μｍ）などが含まれる。
【００４８】
図５は、マクロの配置例及びバンプ配置抑制領域の設定例を示す図である。なお、図５において、基板３０の内側に配置される回路などは図示を省略している。以下に示す図６，７，８についても同様である。
【００４９】
図５に示すように、バンプ配置抑制領域３２ａ，３２ｂ，３２ｃ，３２ｄが基板３０の４隅に設定される。また、上記のステップＳ１０〜Ｓ１２の処理により、基板３０には、例えば、バンプ３１、マクロｍ１ａ，ｍ１ｂ，ｍ２ａ，ｍ２ｂ，ｍ３，ｍ４，ｍ５ａ，ｍ５ｂ，ｍ６，ｍ７ａ，ｍ７ｂ、コーナーセル３３、ＩＯセル３４が配置されている。
【００５０】
例えば、マクロｍ１ａは、図５に示すように、１２個のバンプパッドｐ１，ｐ２，ｐ３，ｐ４，ｐ５，ｐ６，ｐ７，ｐ８，ｐ９，ｐ１０，ｐ１１，ｐ１２を有している。バンプパッドｐ１，ｐ３，ｐ１０，ｐ１２は、基準電源（ＶＳ）に接続される端子であり、バンプパッドｐ２，ｐ４，ｐ７は電源（ＶＤ）に接続される端子であり、バンプパッドｐ５，ｐ６，ｐ８，ｐ９，ｐ１１は、信号（Ｓｉｇ）が入出力される端子である。
【００５１】
図５に示すマクロｍ１ａの例では、基準電源に接続されるバンプパッドｐ１，ｐ３，ｐ１０，ｐ１２が、マクロｍ１ａの４隅（４つの角部）に配置されている。
また、図７の例ではマクロｍ１ｂも、１２個のバンプパッドｐ１３，ｐ１４，ｐ１５，ｐ１６，ｐ１７，ｐ１８，ｐ１９，ｐ２０，ｐ２１，ｐ２２，ｐ２３，ｐ２４を有している。バンプパッドｐ１３，ｐ１５，ｐ２２，ｐ２４は、基準電源に接続される端子であり、バンプパッドｐ１４，ｐ１６，ｐ１９は、電源に接続される端子であり、バンプパッドｐ１７，ｐ１８，ｐ２０，ｐ２１，ｐ２３は、信号が入出力される端子である。マクロｍ１ｂのバンプパッドｐ１３〜ｐ２４の配置は、マクロｍ１ａのバンプパッドｐ１〜ｐ１２と同様の配置になっている。
【００５２】
なお、他のマクロについても、マクロの角部に配置されている冗長なバンプパッドと同一種類のバンプパッドが、そのマクロの他の位置に配置されている。例えば、マクロの角部に基準電源に接続されるバンプパッドが配置されている場合には、そのマクロの他の位置にも基準電源に接続されるバンプパッドが配置されている。
【００５３】
上記のように、バンプの配置ルールにかかわらず、マクロの基板３０の隅への配置が許容されているため、例えばマクロｍ１ａのように、基板３０の隅にマクロを寄せることができる。
【００５４】
なお、図５では、１つのマクロｍ１ａが基板３０の右隅に寄せられている例が示されているが、プロセッサ２１は、他のマクロについても基板３０の他の隅に寄せて配置するようにしてもよい。例えば、プロセッサ２１は、基板３０の右上のコーナーセル３３を配置せず、マクロｍ５ｂを右上の隅に寄せるように配置するようにしてもよい。
【００５５】
また、ステップＳ１３の処理において、プロセッサ２１は、バンプ配置抑制領域の定義を行う。例えば、図５おいて、プロセッサ２１は、バンプ配置抑制領域３２ａは基板３０の右下に、バンプ配置抑制領域３２ｂは基板３０の左下に、それぞれ設定されるバンプ配置抑制領域であると定義する。さらに、プロセッサ２１は、バンプ配置抑制領域３２ｃは基板３０の左上に、バンプ配置抑制領域３２ｄは基板３０の右上に、それぞれ設定されるバンプ配置抑制領域であると定義する。
【００５６】
次に、プロセッサ２１は、基板３０内のマクロから、マクロを１つ選択する（ステップＳ１４）。
プロセッサ２１は、設定したバンプ配置抑制領域と、ステップＳ１４の処理で選択したマクロの角部が重なるか否か判定する（ステップＳ１５）。バンプ配置抑制領域とマクロの角部が重なるときには、ステップＳ１６の処理が行われ、重ならないときには、ステップＳ１７の処理が行われる。例えば、ステップＳ１４の処理で、図５に示すマクロｍ１ａが選択された場合には、マクロｍ１ａの角部は、バンプ配置抑制領域３２ａと重なるため、ステップＳ１６の処理が行われる。
【００５７】
ステップＳ１６の処理では、プロセッサ２１は、検証対象のマクロについて、検証対象のマクロの角部と重なるバンプ配置抑制領域の定義に基づき、角部のバンプパッドを少なくとも１つ削除する。この処理は、バンプ配置抑制領域３２ａ，３２ｂ，３２ｃ，３２ｄ内のバンプを少なくとも１つ削除するというバンプの配置ルールを満たすために行われる。
【００５８】
例えば、マクロｍ１ａの角部と重なるバンプ配置抑制領域３２ａは、ステップＳ１３の処理により、基板３０の右下に設定されるバンプ配置抑制領域であると定義されている。そのため、マクロｍ１ａについては、バンプ配置抑制領域３２ａで定義される右下の角部のバンプパッドｐ１２が削除される。
【００５９】
図６は、バンプパッドの削除例を示す図である。
ステップＳ１６の処理により、バンプ配置抑制領域３２ａに含まれる、マクロｍ１ａの右下の角部のバンプパッドｐ１２が１つ削除される。
【００６０】
バンプパッドｐ１２は、基準電源と接続されるものであるが、マクロｍ１ａには、他にも基準電源と接続されるバンプパッドｐ１，ｐ３，ｐ１０があるため、バンプパッドｐ１２が削除されても、マクロｍ１ａの機能には影響を及ぼさない。
【００６１】
なお、マクロの角部に同一種類の２以上の冗長なバンプパッドが配置されている場合で、他にもその種類のバンプパッドが存在する場合には、上記のステップＳ１６の処理において、２以上のバンプパッドが削除されるようにしてもよい。
【００６２】
ステップＳ１７の処理では、プロセッサ２１は、すべてのマクロに関してステップＳ１５の処理（検証）が済んでいるか否か判定する。プロセッサ２１は、マクロｍ１ａ〜ｍ７ｂまですべてのマクロに関して、ステップＳ１５に示した検証が済んでいればステップＳ１８の処理を行い、済んでいなければ、ステップＳ１４からの処理を繰り返す。
【００６３】
ステップＳ１８の処理では、配線処理が行われ、バンプとＩＯセルなどが配線により接続される。
上記の処理によって、例えば、以下のような半導体装置（ＬＳＩチップ）が得られる。
【００６４】
図７は、半導体装置の一例を示す図である。
なお、配線などは図示を省略している。
半導体装置４０において、マクロｍ１ａでは、バンプ配置抑制領域３２ａと重なる角部のバンプパッドｐ１２が削除されている。一方、マクロｍ１ｂでは、どのバンプ配置抑制領域３２ａ，３２ｂ，３２ｃ，３２ｄとも重なる角部を有さないため、バンプパッドｐ１３〜ｐ２４は削除されていない。
【００６５】
また、ステップＳ１３の処理において、基板３０の一部の角にバンプ配置抑制領域を設定し、その後のステップＳ１４〜Ｓ１７の処理を行ってもよい。例えば、基板３０の右下の角のみにバンプ配置抑制領域３２ａを設定し、その後のステップＳ１４〜Ｓ１７の処理を行ってもよい。
【００６６】
なお、各ステップの処理の順序は、上記に限定されるものではない。例えば、ステップＳ１０〜Ｓ１３の処理は、いずれを先に実行してもよい。
また、基板３０に配置されるマクロの数は、上記に限定されない。例えば、基板３０に配置されるマクロは１つであってもよい。
【００６７】
以下、本実施の形態の半導体装置の設計方法及び半導体装置の効果を説明するにあたって、比較例を説明する。
（比較例）
図８は、比較例の半導体装置を示す図である。
【００６８】
半導体装置５０において、基板５１には、例えば、バンプ５２、マクロＭ１ａ，Ｍ１ｂ，Ｍ２ａ，Ｍ２ｂ，Ｍ３，Ｍ４，Ｍ５ａ，Ｍ５ｂ，Ｍ６，Ｍ７ａ，Ｍ７ｂ、コーナーセル５３、ＩＯセル５４が配置されている。
【００６９】
比較例の半導体装置５０では、本実施の形態の半導体装置４０のように、冗長なバンプパッドが角部に配置されたマクロが用いられない。
そのため、信号が入出力されるバンプパッドがマクロの角部に配置されている可能性がある。例えば、図８のマクロＭ１ａの右下のバンプパッド５５がそのようなバンプパッドである場合、マクロＭ１ａを基板５１の右下の隅に近づけると、バンプの配置ルールを満たすために、バンプパッド５５が削除されてしまい、マクロＭ１ａの機能に影響を与えてしまう可能性がある。
【００７０】
そのため、マクロＭ１ａ〜Ｍ７ｂは、基板５１の隅に寄せることができない。これにより無駄なスペースが生じ、半導体装置の面積が大きくなってしまう。
これに対し、本実施の形態の半導体装置の設計方法及び半導体装置に用いられるマクロは、角部に削除してもマクロの機能に影響を与えない冗長なバンプパッドが配置されている。そのため、マクロがバンプ配置抑制領域と重なりバンプの配置ルールによりそのマクロのバンプパッドが削除されても、マクロの機能に影響を与えない。これにより、マクロをバンプの配置ルールを満たしつつ基板の隅に寄せられることから、上記のような無駄なスペースを減らせることができ、半導体装置を小面積化できる。
【００７１】
また、予め冗長なバンプパッドが角部に配置されたマクロを用いることにより、ステップＳ１６の処理によるバンプ削除の際、削除可能なバンプであるか否か判定しなくてもよい。
【００７２】
（第３の実施の形態）
以下、第３の実施の形態について説明する。なお、以下に説明する処理についても、図２に示したコンピュータ２０で実行されるものとして説明する。
【００７３】
図９は、第３の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。
ステップＳ２０，Ｓ２１，Ｓ２２，Ｓ２３の処理までは、図３に示したステップＳ１０〜Ｓ１３までの処理と同一であるため説明を省略する。
【００７４】
また、本実施の形態のマクロも、第１，２の実施の形態と同様に、バンプパッドを有し、また、冗長なバンプパッドが角部に配置されている。
図１０は、基板に配置されたマクロなどの一例を示す図である。なお、図１０において、基板３０の内側に配置される回路などは図示を省略している。またこれは、下記の図１１についても同様である。
【００７５】
上記のステップＳ２０〜Ｓ２２の処理により、基板３０には、例えば、バンプ３１、マクロｍ１ａ，ｍ１ｂ，ｍ２ａ，ｍ２ｂ，ｍ３，ｍ４，ｍ５ａ，ｍ５ｂ，ｍ６，ｍ７ａ，ｍ７ｂ、コーナーセル３３、ＩＯセル３４が配置されている。また、上記のステップＳ２３の処理により、バンプ配置抑制領域３２ａ，３２ｂ，３２ｃ，３２ｄが基板３０の４隅に設定されている。本実施の形態でも、例えばマクロｍ１ａのように、基板３０の隅にマクロを寄せることができる。
【００７６】
プロセッサ２１は、バンプ配置抑制領域を１つ選択する（ステップＳ２４）。
次に、プロセッサ２１は、選択した検証対象のバンプ配置抑制領域とマクロの角部が重なるか否か判定する（ステップＳ２５）。バンプ配置抑制領域とマクロの角部が重なるときには、ステップＳ２６の処理が行われ、重ならないときには、ステップＳ２７の処理が行われる。例えば、ステップＳ２４の処理で、図１０に示すバンプ配置抑制領域３２ａが選択された場合には、バンプ配置抑制領域３２ａは、マクロｍ１ａの角部と重なるため、ステップＳ２６の処理が行われる。
【００７７】
ステップＳ２６の処理では、プロセッサ２１は、バンプ配置抑制領域と重なる角部をもつマクロについて、バンプ配置抑制領域の定義（どの隅のバンプ配置抑制領域かの定義）に基づき、対応する角部のバンプパッドを少なくとも１つ削除する。
【００７８】
例えば、バンプ配置抑制領域３２ａは、ステップＳ２３の処理により、基板３０の右下に設定されるバンプ配置抑制領域であると定義されている。そのため、マクロｍ１ａについては、右下の角部のバンプパッドｐ１２が削除される。
【００７９】
図１１は、バンプパッドの削除例を示す図である。
ステップＳ２６の処理により、図１１に示すように、マクロｍ１ａの右下の角部のバンプパッドｐ１２が１つ削除される。
【００８０】
本実施の形態でも、マクロｍ１ａ〜ｍ７ｂは、冗長なバンプパッドが角部に配置されている。そのため、ステップＳ２６の処理により角部のバンプパッドが削除されても、マクロの機能に影響を与えない。
【００８１】
プロセッサ２１は、すべてのバンプ配置抑制領域３２ａ〜３２ｄで上記ステップＳ２５の処理（検証）が済んでいるか否か判定する（ステップＳ２７）。プロセッサ２１は、すべてのバンプ配置抑制領域３２ａ〜３２ｄで、ステップＳ２５に示した検証が済んでいればステップＳ２８の処理を行い、済んでいなければ、ステップＳ２４からの処理を繰り返す。
【００８２】
ステップＳ２８の処理では、配線処理が行われ、バンプとＩＯセルなどが配線により接続される。
また、ステップＳ２３の処理において、基板３０の一部の角にバンプ配置抑制領域を設定し、その後のステップＳ２４〜Ｓ２７を行ってもよい。例えば、基板３０の右下の角のみにバンプ配置抑制領域３２ａを設定し、その後のステップＳ２４〜Ｓ２７の処理を行ってもよい。
【００８３】
なお、各ステップの処理の順序は、上記に限定されるものではない。例えば、ステップＳ２１〜Ｓ２３の処理は、いずれを先に実行してもよい。
また、基板３０に配置されるマクロの数は、上記に限定されない。例えば、基板３０に配置されるマクロは１つであってもよい。
【００８４】
第３の実施の形態の半導体装置の設計方法でも、第１，２の実施の形態と同様の効果を得ることができる。
さらに、第３の実施の形態の半導体装置の設計方法では、プロセッサ２１は、４つのバンプ配置抑制領域を選択して、マクロの角部と重なるか否かを検証する。そのため、第２の実施の形態のように、プロセッサ２１が、マクロを１つ１つ選択して、バンプ配置抑制領域と重なるか否か検証するよりも、処理時間を減らせる。これにより、より迅速に半導体装置を設計することができる。
【００８５】
（第４の実施の形態）
以下、第４の実施の形態について説明する。なお、以下に説明する処理についても、図２に示したコンピュータ２０で実行されるものとして説明する。
【００８６】
図１２は、第４の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。なお、図１２に示す設計データＤ１〜Ｄ３は、図３に示すものと同一である。
【００８７】
まず、プロセッサ２１は、図３に示したステップＳ１０，Ｓ１３の処理と同様にして、ステップＳ３０，Ｓ３１の処理を行う。
図１３は、バンプ配置抑制領域の設定例を示す図である。
【００８８】
図１３に示されているように、バンプ配置抑制領域３２ａ，３２ｂ，３２ｃ，３２ｄが基板３０の４隅に設定されている。
次に、プロセッサ２１は、図３に示すステップＳ１１の処理と同様にして、基板３０にバンプを配置する（ステップＳ３２）。
【００８９】
図１４は、バンプの配置例を示す図である。
図１４に示すように、バンプ３１が配置される。
次に、プロセッサ２１は、マクロを１つずつ基板に配置する（ステップＳ３３）。またこの際、プロセッサ２１は、ＩＯセルなども基板に配置する。
【００９０】
図１５は、マクロの配置処理におけるあるタイミングでの配置状態の例を示す図である。
図１５の例では、基板３０の左下隅から右下隅の方向に向かって、基板３０の可変に沿って、マクロやＩＯセルなどの配置が行われており、１つ目のマクロｍ２ｂが基板３０に配置された状態が示されている。
【００９１】
１つのマクロが配置されると、プロセッサ２１は、バンプ配置抑制領域３２ａ〜３２ｄと、ステップＳ３３の処理により配置したマクロの角部が重なるか否か判定する（ステップＳ３４）。バンプ配置抑制領域３２ａ〜３２ｄの何れかとマクロの角部が重なるときには、ステップＳ３５の処理が行われ、重ならないときには、ステップＳ３６の処理が行われる。例えば、図１５に示すように配置されたマクロｍ２ｂの角部は、バンプ配置抑制領域３２ａ，３２ｂ，３２ｃ，３２ｄと重ならない。そのため、プロセッサ２１は、ステップＳ３６の処理を行う。
【００９２】
ステップＳ３５の処理では、プロセッサ２１は、ステップＳ３３の処理により配置させたマクロについて、角部のバンプパッドを少なくとも１つ削除する。
図１６は、マクロの配置処理における別のタイミングでの配置状態の例を示す図である。
【００９３】
マクロｍ１ａの角部は、バンプ配置抑制領域３２ａと重なる。そのため、プロセッサ２１は、ステップＳ３５の処理を行う。バンプ配置抑制領域３２ａは、ステップＳ３１の処理により、基板３０の右下に設定されるバンプ配置抑制領域であると定義されている。そのため、マクロｍ１ａについては、右下の角部のバンプパッドｐ１２が削除される。
【００９４】
本実施の形態でも、マクロｍ１ａ〜ｍ７ｂは、冗長なバンプパッドが角部に配置されている。そのため、ステップＳ３５の処理により角部のバンプパッドが削除されても、マクロの機能に影響を与えない。
【００９５】
プロセッサ２１は、すべてのマクロｍ１ａ〜ｍ７ｂが配置済か否か判定する（ステップＳ３６）。プロセッサ２１は、すべてのマクロｍ１ａ〜ｍ７ｂが配置済の場合には、ステップＳ３７の処理を行い、済んでいなければ、ステップＳ３３からの処理を繰り返す。
【００９６】
ステップＳ３７の処理では、配線処理が行われ、バンプとＩＯセルなどが配線により接続される。これによって、半導体装置が設計される。
また、ステップＳ３１の処理において、基板３０の一部の角にバンプ配置抑制領域を設定し、その後のステップＳ３２〜Ｓ３６の処理を行ってもよい。例えば、基板３０の右下の角のみにバンプ配置抑制領域３２ａを設定し、その後のステップＳ３２〜Ｓ３６の処理を行ってもよい。
【００９７】
なお、上記のステップＳ３１の処理とステップＳ３２の処理は、どちらを先に実行してもよい。
また、基板３０に配置されるマクロの数は、上記に限定されない。例えば、基板３０に配置されるマクロは１つであってもよい。
【００９８】
第４の実施の形態の半導体装置の設計方法でも、第１，２の実施の形態と同様の効果を得ることができる。
さらに、本実施の形態では、プロセッサ２１は、マクロｍ１ａ〜ｍ７ｂを配置し終わってから、別の工程として、バンプ配置抑制領域３２ａ〜３２ｄとの重なりの有無を検証するのでなく、マクロｍ１ａ〜ｍ７ｂを基板３０へ配置させながら検証している。そのため、検証の工程を別に行わなくて済み、より迅速に半導体装置を設計することができる。
【００９９】
以上、実施の形態に基づき、本発明の半導体装置の設計方法、半導体装置及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【０１００】
１  コンピュータ
２  プロセッサ
３  記憶部
４  基板
５ａ〜５ｋ  マクロ
６  コーナーセル
７  ＩＯセル
８ａ〜８ｌ  バンプパッド
９ａ〜９ｄ  バンプ配置抑制領域
【図１】
2016046358.tif 000003
【図２】
2016046358.tif 000004
【図３】
2016046358.tif 000005
【図４】
2016046358.tif 000006
【図５】
2016046358.tif 000007
【図６】
2016046358.tif 000008
【図７】
2016046358.tif 000009
【図８】
2016046358.tif 000010
【図９】
2016046358.tif 000011
【図１０】
2016046358.tif 000012
【図１１】
2016046358.tif 000013
【図１２】
2016046358.tif 000014
【図１３】
2016046358.tif 000015
【図１４】
2016046358.tif 000016
【図１５】
2016046358.tif 000017
【図１６】
2016046358.tif 000018