JP2016046358A - 半導体装置の設計方法、半導体装置及びプログラム - Google Patents

半導体装置の設計方法、半導体装置及びプログラム Download PDF

Info

Publication number
JP2016046358A
JP2016046358A JP2014169041A JP2014169041A JP2016046358A JP 2016046358 A JP2016046358 A JP 2016046358A JP 2014169041 A JP2014169041 A JP 2014169041A JP 2014169041 A JP2014169041 A JP 2014169041A JP 2016046358 A JP2016046358 A JP 2016046358A
Authority
JP
Japan
Prior art keywords
bump
corner
substrate
macro
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014169041A
Other languages
English (en)
Inventor
齋藤 則章
Noriaki Saito
則章 齋藤
豊治 澤田
Toyoji Sawada
豊治 澤田
章雄 原
Akio Hara
章雄 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Socionext Inc
Original Assignee
Socionext Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Socionext Inc filed Critical Socionext Inc
Priority to JP2014169041A priority Critical patent/JP2016046358A/ja
Publication of JP2016046358A publication Critical patent/JP2016046358A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】半導体装置を小面積化する。【解決手段】コンピュータ1が、バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも1つのバンプパッド8a,8b,8e,8f,8h,8k,8l、または、バンプが付加され、信号の入出力または電源の接続に使用されないバンプパッド8gが、角部に配置されたマクロ5a〜5kを基板4に配置し、基板4の角に機能ブロックの角部と少なくとも一部が重なるバンプ配置抑制領域9a〜9dを設定し、バンプ配置抑制領域9aと重なる角部のバンプパッド8fを削除する。【選択図】図1

Description

本発明は、半導体装置の設計方法、半導体装置及びプログラムに関する。
LSI(Large Scale Integrated circuit)チップには、各種の機能を行う回路ブロックである機能ブロック(以下マクロという)が複数搭載されている。
近年、高速IO(Input Output)インタフェース、USB(Universal Serial Bus)インタフェースなどの機能を有するマクロは、容量などを最適化するために端子にバンプが付加された状態を考慮して設計が行われる。なお、以下ではこのようなバンプが付加される端子をバンプパッドと呼ぶ。
特開2002−124633号公報 特開2003−152081号公報 特開平10−56093号公報
このようなバンプパッドを有するマクロを、半導体装置の設計時に基板上に配置する際、バンプの配置ルールにより、マクロは、基板のコーナ部分から離れるように配置されることになる。基板のコーナ部分へバンプパッドを配置すると、基板とそれに張り合わせる回路基板との熱膨張率差によって、基板のコーナ部分に顕著に加わる応力により、バンプやバンプパッドに接続される配線に剥がれなどの異常が生じる可能性があるためである。しかし、コーナ部分からマクロを離すことによって、無駄なスペースが生じ、半導体装置の面積が大きくなってしまう。
発明の一観点によれば、コンピュータが、バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも1つの第1の端子または、前記バンプが付加され、信号の入出力または前記電源の接続に使用されない第2の端子が、角部に配置された第1の機能ブロックを基板に配置し、前記基板の角に、前記第1の機能ブロックの前記角部と少なくとも一部が重なるバンプ配置抑制領域を設定し、前記バンプ配置抑制領域と重なる前記角部の前記第1の端子または前記第2の端子を少なくとも1つ削除する、半導体装置の設計方法が提供される。
また、発明の一観点によれば、基板に配置された第1の機能ブロックと、第2の機能ブロックとを有し、前記基板の4隅の何れかの隅に配置された前記第1の機能ブロックは、前記隅に対応する第1の角部以外の第2の角部に、第1のバンプが付加され、同一種類の電源に接続される複数の第1の端子のうち少なくとも1つ、または、前記第1のバンプが付加され、第1の信号の入出力または前記電源の接続に使用されない第2の端子が配置されており、前記4隅以外に配置された第2の機能ブロックには、各角部に、第2のバンプが付加され、同一種類の前記電源に接続される複数の第3の端子のうち少なくとも1つ、または、前記第2のバンプが付加され、第2の信号の入出力または前記電源の接続に使用されない第4の端子が配置されている、半導体装置が提供される。
また、発明の一観点によれば、バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも1つの第1の端子、または、前記バンプが付加され、信号の入出力または前記電源の接続に使用されない第2の端子が、角部に配置された機能ブロックを複数、基板に配置し、前記基板の角に、前記機能ブロックの前記角部と少なくとも一部が重なるバンプ配置抑制領域を設定し、前記バンプ配置抑制領域と重なる前記角部の前記第1の端子または前記第2の端子を少なくとも1つ削除する、処理をコンピュータに実行させるプログラムが提供される。
開示の半導体装置の設計方法、半導体装置及びプログラムによれば、半導体装置を小面積化できる。
第1の実施の形態の半導体装置の設計方法の一例を示す図である。 コンピュータのハードウェア例を示す図である。 第2の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。 バンプの配置例を示す図である。 マクロの配置例及びバンプ配置抑制領域の設定例を示す図である。 バンプパッドの削除例を示す図である。 半導体装置の一例を示す図である。 比較例の半導体装置を示す図である。 第3の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。 基板に配置されたマクロなどの一例を示す図である。 バンプパッドの削除例を示す図である。 第4の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。 バンプ配置抑制領域の設定例を示す図である。 バンプの配置例を示す図である。 マクロの配置処理におけるあるタイミングでの配置状態の例を示す図である。 マクロの配置処理における別のタイミングでの配置状態の例を示す図である。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の半導体装置の設計方法の一例を示す図である。
半導体装置の設計方法は、コンピュータ1によって実行される。
コンピュータ1は、プロセッサ2と記憶部3を有している。プロセッサ2は、記憶部3に記憶されているデータ及びプログラムに基づき、以下のような設計方法を実行する。
記憶部3は、プロセッサ2が実行するプログラムや各種データを記憶する。
まず、プロセッサ2は、マクロ5a,5b,5c,5d,5e,5f,5g,5h,5i,5j,5kを基板4に配置する(ステップS1)。またこのとき、プロセッサ2は、例えば、コーナーセル6や、または信号の入出力などのためのIOセル7も基板4に配置する。
マクロ5a〜5kは、バンプパッドを有している。バンプパッドは、バンプが付加される端子として、例えば、設計データで定義されている。また、設計データでは、バンプパッドがどのような電源に接続されるか、または、信号の入出力に使用されること、などが定義されている。
例えば、マクロ5aは、図1に示すように、6つのバンプパッド8a,8b,8c,8d,8e,8fを有している。バンプパッド8a,8cは、電源(VD)に接続される端子であり、バンプパッド8b,8e,8fは、基準電源(VS)に接続される端子であり、バンプパッド8dは、信号(Sig)が入出力される端子である。
本実施の形態において、マクロ5a〜5kでは、同一種類の電源(VDまたはVSS)に接続される複数のバンプバッドのうち少なくとも1つのバンプパッドが角部に配置されているか、ダミーのバンプパッドが角部に配置されている。ダミーのバンプパッドは、信号の入出力または電源の接続に使用されないバンプパッドであり、例えば、レイアウトの均等化のために設けられている。つまり、1つ削除してもマクロ5a〜5kの機能に影響を与えず、削除可能なバンプパッド(以下、冗長なバンプパッドと呼ぶ場合もある)が、角部に配置されている。
図1に示すマクロ5aの例では、基準電源に接続されるバンプパッド8a,8b,8e,8fが各角部に配置されている。
また、図1の例ではマクロ5cも、バンプパッド8g,8h,8i,8j,8k,8lを有している。バンプパッド8iは、電源に接続されるバンプパッドであり、バンプパッド8h,8k,8lは、基準電源に接続されるバンプパッドであり、バンプパッド8jは、信号が入出力されるバンプパッドである。また、バンプパッド8gは、ダミーのバンプパッドである。マクロ5cでは、基準電源に接続されるバンプパッド8h,8k,8lと、ダミーのバンプパッド8gが角部に配置されている。
このようなマクロ5a〜5kを設計する工程については、ステップS1の処理の前に予め行われているものとする。
ステップS1の処理では、前述のバンプの配置ルールにかかわらず、マクロ5a〜5kの基板4の隅への配置が許容される。
次に、プロセッサ2は、基板4の角にバンプ配置抑制領域を設定する(ステップS2)。以下では、基板4の4隅にバンプ配置抑制領域9a,9b,9c,9dを設定する例について説明する。バンプ配置抑制領域9a,9b,9c,9dは、バンプの配置ルールにしたがって、大きさが設定される。
その後、プロセッサ2は、バンプ配置抑制領域9a,9b,9c,9dと重なる角部をもつマクロにおいて、当該角部のバンプパッドを少なくとも1つ削除する(ステップS3)。この処理は、バンプ配置抑制領域9a,9b,9c,9d内のそれぞれにおいて、バンプを少なくとも1つ削除するというバンプの配置ルールを満たすために行われる。なお、このバンプの配置ルールは、前述したように、基板のコーナ部分での応力による、バンプの剥がれなどの異常の発生を抑制するために決められているものである。
図1の例では、基板4の右下に設定されたバンプ配置抑制領域9aと、マクロ5aの右下の角部が重なる。そのため、マクロ5aの右下の角部のバンプパッド8fが1つ削除される。
ここで、マクロ5aは、バンプパッド8fが削除されても、他のバンプパッド8b,8eで基準電源と接続できるため、マクロ5aの機能に影響を与えない。
なお、マクロ5aの1つの角部に同一種類の複数の冗長なバンプパッドが配置されている場合で、他にもその種類のバンプパッドが存在する場合は、上記のステップS3の処理において、2以上の冗長なバンプパッドが削除されるようにしてもよい。
また、図1に示すマクロ5cのように、バンプ配置抑制領域と重なる角部をもたないマクロは、その角部に配置されたバンプパッド8g,8h,8k,8lが削除されない。
また、ステップS2の処理において、基板4の一部の角にバンプ配置抑制領域を設定し、その後のステップS3の処理を行ってもよい。例えば、基板4の右下の角のみにバンプ配置抑制領域9aを設定し、その後のステップS3の処理を行ってもよい。
なお、各ステップの処理の順序は、上記に限定されるものではない。例えば、ステップS1の処理とステップS2の処理は、どちらを先に実行してもよい。
また、基板4に配置されるマクロの数は、上記に限定されない。例えば、基板4に配置されるマクロは1つであってもよい。
以上のように、本実施の形態の半導体装置の設計方法では、削除可能なバンプパッドを角部に配置したマクロ5a〜5kが基板4に配置される。そして、基板4の角部のバンプ配置抑制領域9aと重なる角部を持つマクロ5aから、その角部のバンプパッド8fを削除し、バンプの配置ルールを満たすようにしているため、バンプパッドを有するマクロ5aを、基板4の隅に寄せることができるようになる。バンプの配置ルールを満たす別の方法として、基板4の角部にダミーバンプを配置し、そのダミーバンプを削除することが考えられるが、本実施の形態の半導体装置の設計方法では、そのようなダミーバンプの配置が不要となる。そのため、マクロ5aを基板4の隅に寄せられることから、無駄な領域を減らせることができ、半導体装置を小面積化できる。
また、本実施の形態の設計方法では、予め削除可能なバンプパッドが角部に配置されたマクロを用いるため、ステップS3の処理の際、削除可能なバンプパッドであるか否かなどの判定処理をしなくてもよい。
(第2の実施の形態)
第2の実施の形態の半導体装置の設計方法は、例えば、以下に示すようなコンピュータによって実行される。
図2は、コンピュータのハードウェア例を示す図である。
図2は、本実施の形態に用いるコンピュータのハードウェアの一例を示す図である。コンピュータ20は、プロセッサ21によって装置全体が制御されている。プロセッサ21には、バス29を介してRAM(Random Access Memory)22と複数の周辺機器が接続されている。プロセッサ21は、マルチプロセッサであってもよい。プロセッサ21は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ21は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM22は、コンピュータ20の主記憶装置として使用される。RAM22には、プロセッサ21に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM22には、プロセッサ21による処理に必要な各種データが格納される。
バス29に接続されている周辺機器としては、HDD(Hard Disk Drive)23、グラフィック処理装置24、入力インタフェース25、光学ドライブ装置26、機器接続インタフェース27及びネットワークインタフェース28がある。
HDD23は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD23は、コンピュータ20の補助記憶装置として使用される。HDD23には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置24には、モニタ24aが接続されている。グラフィック処理装置24は、プロセッサ21からの命令にしたがって、画像をモニタ24aの画面に表示させる。モニタ24aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース25には、キーボード25aとマウス25bとが接続されている。入力インタフェース25は、キーボード25aやマウス25bから送られてくる信号をプロセッサ21に送信する。なお、マウス25bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置26は、レーザ光などを利用して、光ディスク26aに記録されたデータの読み取りを行う。光ディスク26aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク26aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース27は、コンピュータ20に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース27には、メモリ装置27aやメモリリーダライタ27bを接続することができる。メモリ装置27aは、機器接続インタフェース27との通信機能を搭載した記録媒体である。メモリリーダライタ27bは、メモリカード27cへのデータの書き込み、またはメモリカード27cからのデータの読み出しを行う装置である。メモリカード27cは、カード型の記録媒体である。
ネットワークインタフェース28は、ネットワーク28aに接続されている。ネットワークインタフェース28は、ネットワーク28aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示したコンピュータ1も、図2に示したコンピュータ20と同様のハードウェアにより実現することができる。
コンピュータ20は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ20に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ20に実行させるプログラムをHDD23に格納しておくことができる。プロセッサ21は、HDD23内のプログラムの少なくとも一部をRAM22にロードし、プログラムを実行する。またコンピュータ20に実行させるプログラムを、光ディスク26a、メモリ装置27a、メモリカード27cなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ21からの制御により、HDD23にインストールされた後、実行可能となる。またプロセッサ21が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
(設計方法の一例)
図3は、第2の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。
以下の処理は、図2に示したコンピュータ20において、プロセッサ21の制御のもと行われる。
設計データD1は、例えば、フロアプラン情報やネットリストを含むデータである。
設計データD2は、例えば、IOセルやマクロの形状などの物理的な特徴を示す情報を含むデータである。
設計データD3は、例えば、バンプ配置抑制領域の大きさなどを示す設定情報などを含むデータであり、また、バンプ配置抑制領域の設定情報は、バンプの配置ルールにしたがって設定される。
まず、プロセッサ21は、例えば、HDD23に予め格納されている設計データD1に含まれるフロアプラン情報やネットリストを読み出し、IOセル、マクロなどの配置情報を作成する(ステップS10)。
IOセル、マクロなどの配置情報とは、例えば、IOセルやマクロの基板内における座標、マクロのバンプパッドの情報、IOセルとバンプの接続情報などである。
プロセッサ21は、フロアプラン情報やネットリストなどに基づき、例えばIOセルやマクロ間の配線遅延や配線本数などを考慮して、上記のIOセル、マクロなどの配置情報を作成する。
次に、プロセッサ21は、ステップS10の処理により作成されたIOセル、マクロ配置情報に基づいて、基板30にバンプを配置する(ステップS11)。
図4は、バンプの配置例を示す図である。
図4に示すように、基板30に、例えば、バンプ31が配置される。
なお、マクロのバンプの配置については、後述するステップS12の処理によりマクロが基板30に配置されたときに定まる。
その後、プロセッサ21は、例えば、HDD23に予め格納されている設計データD2に含まれるIOセルやマクロの形状などの物理的な特徴を示すデータを読み出し、IOセル、マクロなどを基板30に配置する(ステップS12)。
ここで、本実施の形態のマクロは、第1の実施の形態と同様に、バンプパッドを有し、冗長なバンプパッドが角部に配置されている。
このようなマクロを設計する工程については、ステップS10の処理の前に予め行われているものとする。
なお、ステップS12の処理では、前述のバンプの配置ルールにかかわらず、マクロの基板30の隅への配置が許容される。
さらに、プロセッサ21は、例えば、HDD23に予め格納されている設計データD3に含まれるバンプ配置抑制領域の設定データを読み出し、基板30の角にバンプ配置抑制領域を設定する(ステップS13)。以下では、基板30の4隅にバンプ配置抑制領域32a,32b,32c,32dを設定する例について説明する。バンプ配置抑制領域の設定情報には、例えば、バンプ配置抑制領域の大きさ(例えば、200μm×200μm)などが含まれる。
図5は、マクロの配置例及びバンプ配置抑制領域の設定例を示す図である。なお、図5において、基板30の内側に配置される回路などは図示を省略している。以下に示す図6,7,8についても同様である。
図5に示すように、バンプ配置抑制領域32a,32b,32c,32dが基板30の4隅に設定される。また、上記のステップS10〜S12の処理により、基板30には、例えば、バンプ31、マクロm1a,m1b,m2a,m2b,m3,m4,m5a,m5b,m6,m7a,m7b、コーナーセル33、IOセル34が配置されている。
例えば、マクロm1aは、図5に示すように、12個のバンプパッドp1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12を有している。バンプパッドp1,p3,p10,p12は、基準電源(VS)に接続される端子であり、バンプパッドp2,p4,p7は電源(VD)に接続される端子であり、バンプパッドp5,p6,p8,p9,p11は、信号(Sig)が入出力される端子である。
図5に示すマクロm1aの例では、基準電源に接続されるバンプパッドp1,p3,p10,p12が、マクロm1aの4隅(4つの角部)に配置されている。
また、図7の例ではマクロm1bも、12個のバンプパッドp13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24を有している。バンプパッドp13,p15,p22,p24は、基準電源に接続される端子であり、バンプパッドp14,p16,p19は、電源に接続される端子であり、バンプパッドp17,p18,p20,p21,p23は、信号が入出力される端子である。マクロm1bのバンプパッドp13〜p24の配置は、マクロm1aのバンプパッドp1〜p12と同様の配置になっている。
なお、他のマクロについても、マクロの角部に配置されている冗長なバンプパッドと同一種類のバンプパッドが、そのマクロの他の位置に配置されている。例えば、マクロの角部に基準電源に接続されるバンプパッドが配置されている場合には、そのマクロの他の位置にも基準電源に接続されるバンプパッドが配置されている。
上記のように、バンプの配置ルールにかかわらず、マクロの基板30の隅への配置が許容されているため、例えばマクロm1aのように、基板30の隅にマクロを寄せることができる。
なお、図5では、1つのマクロm1aが基板30の右隅に寄せられている例が示されているが、プロセッサ21は、他のマクロについても基板30の他の隅に寄せて配置するようにしてもよい。例えば、プロセッサ21は、基板30の右上のコーナーセル33を配置せず、マクロm5bを右上の隅に寄せるように配置するようにしてもよい。
また、ステップS13の処理において、プロセッサ21は、バンプ配置抑制領域の定義を行う。例えば、図5おいて、プロセッサ21は、バンプ配置抑制領域32aは基板30の右下に、バンプ配置抑制領域32bは基板30の左下に、それぞれ設定されるバンプ配置抑制領域であると定義する。さらに、プロセッサ21は、バンプ配置抑制領域32cは基板30の左上に、バンプ配置抑制領域32dは基板30の右上に、それぞれ設定されるバンプ配置抑制領域であると定義する。
次に、プロセッサ21は、基板30内のマクロから、マクロを1つ選択する(ステップS14)。
プロセッサ21は、設定したバンプ配置抑制領域と、ステップS14の処理で選択したマクロの角部が重なるか否か判定する(ステップS15)。バンプ配置抑制領域とマクロの角部が重なるときには、ステップS16の処理が行われ、重ならないときには、ステップS17の処理が行われる。例えば、ステップS14の処理で、図5に示すマクロm1aが選択された場合には、マクロm1aの角部は、バンプ配置抑制領域32aと重なるため、ステップS16の処理が行われる。
ステップS16の処理では、プロセッサ21は、検証対象のマクロについて、検証対象のマクロの角部と重なるバンプ配置抑制領域の定義に基づき、角部のバンプパッドを少なくとも1つ削除する。この処理は、バンプ配置抑制領域32a,32b,32c,32d内のバンプを少なくとも1つ削除するというバンプの配置ルールを満たすために行われる。
例えば、マクロm1aの角部と重なるバンプ配置抑制領域32aは、ステップS13の処理により、基板30の右下に設定されるバンプ配置抑制領域であると定義されている。そのため、マクロm1aについては、バンプ配置抑制領域32aで定義される右下の角部のバンプパッドp12が削除される。
図6は、バンプパッドの削除例を示す図である。
ステップS16の処理により、バンプ配置抑制領域32aに含まれる、マクロm1aの右下の角部のバンプパッドp12が1つ削除される。
バンプパッドp12は、基準電源と接続されるものであるが、マクロm1aには、他にも基準電源と接続されるバンプパッドp1,p3,p10があるため、バンプパッドp12が削除されても、マクロm1aの機能には影響を及ぼさない。
なお、マクロの角部に同一種類の2以上の冗長なバンプパッドが配置されている場合で、他にもその種類のバンプパッドが存在する場合には、上記のステップS16の処理において、2以上のバンプパッドが削除されるようにしてもよい。
ステップS17の処理では、プロセッサ21は、すべてのマクロに関してステップS15の処理(検証)が済んでいるか否か判定する。プロセッサ21は、マクロm1a〜m7bまですべてのマクロに関して、ステップS15に示した検証が済んでいればステップS18の処理を行い、済んでいなければ、ステップS14からの処理を繰り返す。
ステップS18の処理では、配線処理が行われ、バンプとIOセルなどが配線により接続される。
上記の処理によって、例えば、以下のような半導体装置(LSIチップ)が得られる。
図7は、半導体装置の一例を示す図である。
なお、配線などは図示を省略している。
半導体装置40において、マクロm1aでは、バンプ配置抑制領域32aと重なる角部のバンプパッドp12が削除されている。一方、マクロm1bでは、どのバンプ配置抑制領域32a,32b,32c,32dとも重なる角部を有さないため、バンプパッドp13〜p24は削除されていない。
また、ステップS13の処理において、基板30の一部の角にバンプ配置抑制領域を設定し、その後のステップS14〜S17の処理を行ってもよい。例えば、基板30の右下の角のみにバンプ配置抑制領域32aを設定し、その後のステップS14〜S17の処理を行ってもよい。
なお、各ステップの処理の順序は、上記に限定されるものではない。例えば、ステップS10〜S13の処理は、いずれを先に実行してもよい。
また、基板30に配置されるマクロの数は、上記に限定されない。例えば、基板30に配置されるマクロは1つであってもよい。
以下、本実施の形態の半導体装置の設計方法及び半導体装置の効果を説明するにあたって、比較例を説明する。
(比較例)
図8は、比較例の半導体装置を示す図である。
半導体装置50において、基板51には、例えば、バンプ52、マクロM1a,M1b,M2a,M2b,M3,M4,M5a,M5b,M6,M7a,M7b、コーナーセル53、IOセル54が配置されている。
比較例の半導体装置50では、本実施の形態の半導体装置40のように、冗長なバンプパッドが角部に配置されたマクロが用いられない。
そのため、信号が入出力されるバンプパッドがマクロの角部に配置されている可能性がある。例えば、図8のマクロM1aの右下のバンプパッド55がそのようなバンプパッドである場合、マクロM1aを基板51の右下の隅に近づけると、バンプの配置ルールを満たすために、バンプパッド55が削除されてしまい、マクロM1aの機能に影響を与えてしまう可能性がある。
そのため、マクロM1a〜M7bは、基板51の隅に寄せることができない。これにより無駄なスペースが生じ、半導体装置の面積が大きくなってしまう。
これに対し、本実施の形態の半導体装置の設計方法及び半導体装置に用いられるマクロは、角部に削除してもマクロの機能に影響を与えない冗長なバンプパッドが配置されている。そのため、マクロがバンプ配置抑制領域と重なりバンプの配置ルールによりそのマクロのバンプパッドが削除されても、マクロの機能に影響を与えない。これにより、マクロをバンプの配置ルールを満たしつつ基板の隅に寄せられることから、上記のような無駄なスペースを減らせることができ、半導体装置を小面積化できる。
また、予め冗長なバンプパッドが角部に配置されたマクロを用いることにより、ステップS16の処理によるバンプ削除の際、削除可能なバンプであるか否か判定しなくてもよい。
(第3の実施の形態)
以下、第3の実施の形態について説明する。なお、以下に説明する処理についても、図2に示したコンピュータ20で実行されるものとして説明する。
図9は、第3の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。
ステップS20,S21,S22,S23の処理までは、図3に示したステップS10〜S13までの処理と同一であるため説明を省略する。
また、本実施の形態のマクロも、第1,2の実施の形態と同様に、バンプパッドを有し、また、冗長なバンプパッドが角部に配置されている。
図10は、基板に配置されたマクロなどの一例を示す図である。なお、図10において、基板30の内側に配置される回路などは図示を省略している。またこれは、下記の図11についても同様である。
上記のステップS20〜S22の処理により、基板30には、例えば、バンプ31、マクロm1a,m1b,m2a,m2b,m3,m4,m5a,m5b,m6,m7a,m7b、コーナーセル33、IOセル34が配置されている。また、上記のステップS23の処理により、バンプ配置抑制領域32a,32b,32c,32dが基板30の4隅に設定されている。本実施の形態でも、例えばマクロm1aのように、基板30の隅にマクロを寄せることができる。
プロセッサ21は、バンプ配置抑制領域を1つ選択する(ステップS24)。
次に、プロセッサ21は、選択した検証対象のバンプ配置抑制領域とマクロの角部が重なるか否か判定する(ステップS25)。バンプ配置抑制領域とマクロの角部が重なるときには、ステップS26の処理が行われ、重ならないときには、ステップS27の処理が行われる。例えば、ステップS24の処理で、図10に示すバンプ配置抑制領域32aが選択された場合には、バンプ配置抑制領域32aは、マクロm1aの角部と重なるため、ステップS26の処理が行われる。
ステップS26の処理では、プロセッサ21は、バンプ配置抑制領域と重なる角部をもつマクロについて、バンプ配置抑制領域の定義(どの隅のバンプ配置抑制領域かの定義)に基づき、対応する角部のバンプパッドを少なくとも1つ削除する。
例えば、バンプ配置抑制領域32aは、ステップS23の処理により、基板30の右下に設定されるバンプ配置抑制領域であると定義されている。そのため、マクロm1aについては、右下の角部のバンプパッドp12が削除される。
図11は、バンプパッドの削除例を示す図である。
ステップS26の処理により、図11に示すように、マクロm1aの右下の角部のバンプパッドp12が1つ削除される。
本実施の形態でも、マクロm1a〜m7bは、冗長なバンプパッドが角部に配置されている。そのため、ステップS26の処理により角部のバンプパッドが削除されても、マクロの機能に影響を与えない。
プロセッサ21は、すべてのバンプ配置抑制領域32a〜32dで上記ステップS25の処理(検証)が済んでいるか否か判定する(ステップS27)。プロセッサ21は、すべてのバンプ配置抑制領域32a〜32dで、ステップS25に示した検証が済んでいればステップS28の処理を行い、済んでいなければ、ステップS24からの処理を繰り返す。
ステップS28の処理では、配線処理が行われ、バンプとIOセルなどが配線により接続される。
また、ステップS23の処理において、基板30の一部の角にバンプ配置抑制領域を設定し、その後のステップS24〜S27を行ってもよい。例えば、基板30の右下の角のみにバンプ配置抑制領域32aを設定し、その後のステップS24〜S27の処理を行ってもよい。
なお、各ステップの処理の順序は、上記に限定されるものではない。例えば、ステップS21〜S23の処理は、いずれを先に実行してもよい。
また、基板30に配置されるマクロの数は、上記に限定されない。例えば、基板30に配置されるマクロは1つであってもよい。
第3の実施の形態の半導体装置の設計方法でも、第1,2の実施の形態と同様の効果を得ることができる。
さらに、第3の実施の形態の半導体装置の設計方法では、プロセッサ21は、4つのバンプ配置抑制領域を選択して、マクロの角部と重なるか否かを検証する。そのため、第2の実施の形態のように、プロセッサ21が、マクロを1つ1つ選択して、バンプ配置抑制領域と重なるか否か検証するよりも、処理時間を減らせる。これにより、より迅速に半導体装置を設計することができる。
(第4の実施の形態)
以下、第4の実施の形態について説明する。なお、以下に説明する処理についても、図2に示したコンピュータ20で実行されるものとして説明する。
図12は、第4の実施の形態の半導体装置の設計方法の一例の流れを説明するフローチャートである。なお、図12に示す設計データD1〜D3は、図3に示すものと同一である。
まず、プロセッサ21は、図3に示したステップS10,S13の処理と同様にして、ステップS30,S31の処理を行う。
図13は、バンプ配置抑制領域の設定例を示す図である。
図13に示されているように、バンプ配置抑制領域32a,32b,32c,32dが基板30の4隅に設定されている。
次に、プロセッサ21は、図3に示すステップS11の処理と同様にして、基板30にバンプを配置する(ステップS32)。
図14は、バンプの配置例を示す図である。
図14に示すように、バンプ31が配置される。
次に、プロセッサ21は、マクロを1つずつ基板に配置する(ステップS33)。またこの際、プロセッサ21は、IOセルなども基板に配置する。
図15は、マクロの配置処理におけるあるタイミングでの配置状態の例を示す図である。
図15の例では、基板30の左下隅から右下隅の方向に向かって、基板30の可変に沿って、マクロやIOセルなどの配置が行われており、1つ目のマクロm2bが基板30に配置された状態が示されている。
1つのマクロが配置されると、プロセッサ21は、バンプ配置抑制領域32a〜32dと、ステップS33の処理により配置したマクロの角部が重なるか否か判定する(ステップS34)。バンプ配置抑制領域32a〜32dの何れかとマクロの角部が重なるときには、ステップS35の処理が行われ、重ならないときには、ステップS36の処理が行われる。例えば、図15に示すように配置されたマクロm2bの角部は、バンプ配置抑制領域32a,32b,32c,32dと重ならない。そのため、プロセッサ21は、ステップS36の処理を行う。
ステップS35の処理では、プロセッサ21は、ステップS33の処理により配置させたマクロについて、角部のバンプパッドを少なくとも1つ削除する。
図16は、マクロの配置処理における別のタイミングでの配置状態の例を示す図である。
マクロm1aの角部は、バンプ配置抑制領域32aと重なる。そのため、プロセッサ21は、ステップS35の処理を行う。バンプ配置抑制領域32aは、ステップS31の処理により、基板30の右下に設定されるバンプ配置抑制領域であると定義されている。そのため、マクロm1aについては、右下の角部のバンプパッドp12が削除される。
本実施の形態でも、マクロm1a〜m7bは、冗長なバンプパッドが角部に配置されている。そのため、ステップS35の処理により角部のバンプパッドが削除されても、マクロの機能に影響を与えない。
プロセッサ21は、すべてのマクロm1a〜m7bが配置済か否か判定する(ステップS36)。プロセッサ21は、すべてのマクロm1a〜m7bが配置済の場合には、ステップS37の処理を行い、済んでいなければ、ステップS33からの処理を繰り返す。
ステップS37の処理では、配線処理が行われ、バンプとIOセルなどが配線により接続される。これによって、半導体装置が設計される。
また、ステップS31の処理において、基板30の一部の角にバンプ配置抑制領域を設定し、その後のステップS32〜S36の処理を行ってもよい。例えば、基板30の右下の角のみにバンプ配置抑制領域32aを設定し、その後のステップS32〜S36の処理を行ってもよい。
なお、上記のステップS31の処理とステップS32の処理は、どちらを先に実行してもよい。
また、基板30に配置されるマクロの数は、上記に限定されない。例えば、基板30に配置されるマクロは1つであってもよい。
第4の実施の形態の半導体装置の設計方法でも、第1,2の実施の形態と同様の効果を得ることができる。
さらに、本実施の形態では、プロセッサ21は、マクロm1a〜m7bを配置し終わってから、別の工程として、バンプ配置抑制領域32a〜32dとの重なりの有無を検証するのでなく、マクロm1a〜m7bを基板30へ配置させながら検証している。そのため、検証の工程を別に行わなくて済み、より迅速に半導体装置を設計することができる。
以上、実施の形態に基づき、本発明の半導体装置の設計方法、半導体装置及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
1 コンピュータ
2 プロセッサ
3 記憶部
4 基板
5a〜5k マクロ
6 コーナーセル
7 IOセル
8a〜8l バンプパッド
9a〜9d バンプ配置抑制領域

Claims (5)

  1. コンピュータが、
    バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも1つの第1の端子または、前記バンプが付加され、信号の入出力または前記電源の接続に使用されない第2の端子が、角部に配置された第1の機能ブロックを基板に配置し、
    前記基板の角に、前記第1の機能ブロックの前記角部と少なくとも一部が重なるバンプ配置抑制領域を設定し、
    前記バンプ配置抑制領域と重なる前記角部の前記第1の端子または前記第2の端子を少なくとも1つ削除する、
    ことを特徴とする半導体装置の設計方法。
  2. 前記コンピュータは、前記基板の複数の前記角にそれぞれ前記バンプ配置抑制領域を配置し、複数の前記バンプ配置抑制領域を1つずつ選択して、選択した前記バンプ配置抑制領域に重なる前記角部を有する前記第1の機能ブロックの有無を検証し、前記第1の機能ブロックがあるときには、当該角部に配置された前記第1の端子または前記第2の端子を少なくとも1つ削除する、ことを特徴とする請求項1に記載の半導体装置の設計方法。
  3. 前記コンピュータは、前記第1の機能ブロックを前記基板に配置するたびに、前記バンプ配置抑制領域と重なるか否かを検証し、前記機能ブロックが、前記バンプ配置抑制領域と重なる前記角部をもつ前記第1の機能のブロックであるときには、当該角部に配置された前記第1の端子または前記第2の端子を少なくとも1つ削除する、ことを特徴とする請求項1に記載の半導体装置の設計方法。
  4. 基板に配置された第1の機能ブロックと、第2の機能ブロックとを有し、
    前記基板の4隅の何れかの隅に配置された前記第1の機能ブロックは、前記隅に対応する第1の角部以外の第2の角部に、第1のバンプが付加され、同一種類の電源に接続される複数の第1の端子のうち少なくとも1つ、または、前記第1のバンプが付加され、第1の信号の入出力または前記電源の接続に使用されない第2の端子が配置されており、
    前記4隅以外に配置された第2の機能ブロックには、各角部に、第2のバンプが付加され、同一種類の前記電源に接続される複数の第3の端子のうち少なくとも1つ、または、前記第2のバンプが付加され、第2の信号の入出力または前記電源の接続に使用されない第4の端子が配置されている、
    ことを特徴とする半導体装置。
  5. バンプが付加され、同一種類の電源に接続される複数の端子のうち少なくとも1つの第1の端子、または、前記バンプが付加され、信号の入出力または前記電源の接続に使用されない第2の端子が、角部に配置された機能ブロックを複数、基板に配置し、
    前記基板の角に、前記機能ブロックの前記角部と少なくとも一部が重なるバンプ配置抑制領域を設定し、
    前記バンプ配置抑制領域と重なる前記角部の前記第1の端子または前記第2の端子を少なくとも1つ削除する、
    処理をコンピュータに実行させるプログラム。
JP2014169041A 2014-08-22 2014-08-22 半導体装置の設計方法、半導体装置及びプログラム Pending JP2016046358A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014169041A JP2016046358A (ja) 2014-08-22 2014-08-22 半導体装置の設計方法、半導体装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014169041A JP2016046358A (ja) 2014-08-22 2014-08-22 半導体装置の設計方法、半導体装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2016046358A true JP2016046358A (ja) 2016-04-04

Family

ID=55636662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014169041A Pending JP2016046358A (ja) 2014-08-22 2014-08-22 半導体装置の設計方法、半導体装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2016046358A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020065905A1 (ja) * 2018-09-28 2020-04-02 株式会社ソシオネクスト 半導体集積回路装置
JP7072136B1 (ja) * 2021-08-04 2022-05-20 株式会社Flosfia 設計支援装置、設計支援プログラムおよび設計支援方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020065905A1 (ja) * 2018-09-28 2020-04-02 株式会社ソシオネクスト 半導体集積回路装置
JPWO2020065905A1 (ja) * 2018-09-28 2021-08-30 株式会社ソシオネクスト 半導体集積回路装置
JP7152684B2 (ja) 2018-09-28 2022-10-13 株式会社ソシオネクスト 半導体集積回路装置
JP7072136B1 (ja) * 2021-08-04 2022-05-20 株式会社Flosfia 設計支援装置、設計支援プログラムおよび設計支援方法
WO2023013707A1 (ja) * 2021-08-04 2023-02-09 株式会社Flosfia 設計支援装置、設計支援プログラムおよび設計支援方法

Similar Documents

Publication Publication Date Title
US10943047B2 (en) Circuit design method and associated computer program product
US20160246293A1 (en) Computer-readable recording medium having recorded therein component arrangement program, method of arranging components, and information processing apparatus
JP2016046358A (ja) 半導体装置の設計方法、半導体装置及びプログラム
JP4619851B2 (ja) 設計支援装置および設計支援方法
US20160154920A1 (en) Design method and design apparatus
US8555232B2 (en) Wire routing using virtual landing pads
US7962877B2 (en) Port assignment in hierarchical designs by abstracting macro logic
US10319436B2 (en) System including programmable integrated circuit including first areas having same shape and second areas formed between first areas, and operation processing device and method for controlling the programmable integrated circuit
JP7306134B2 (ja) 回路設計方法、プログラム、及び情報処理装置
JP6599813B2 (ja) 半導体集積回路及び半導体集積回路の設計方法
US10885243B1 (en) Logic partition reporting for integrated circuit design
JP6318976B2 (ja) デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法
US20150347644A1 (en) Designing apparatus and designing method
JP2009237904A (ja) 半導体集積回路の設計データの作成方法
JP2010107230A (ja) 試験装置、プログラム、記憶媒体、および、試験方法
JP2009134439A (ja) ソフトマクロを用いたレイアウト設計方法、ソフトマクロのデータ構造及びソフトマクロライブラリの作成方法
US8402424B2 (en) Support apparatus, control method, and control program
JP2016126593A (ja) モデル作成プログラム、モデル作成方法、および情報処理装置
JP6015456B2 (ja) 半導体装置の設計方法及びプログラム
JP2015053001A (ja) 半導体集積回路のレイアウト方法、及び、半導体集積回路のレイアウトプログラム
JP2012227376A (ja) レイアウト設計方法、および、レイアウト設計プログラム
JP2016139203A (ja) 設計情報作成方法、設計情報作成装置及びプログラム
JP6645114B2 (ja) 設計支援プログラム、情報処理装置、および設計支援方法
US8904327B2 (en) Assisting in logic circuit design to place cells on an IC substrate and optimize wiring
JP6428207B2 (ja) 設計方法、設計装置及びプログラム