JP2008090456A - 自動配置配線装置、自動配置配線方法、自動配置配線プログラム、半導体集積回路 - Google Patents

自動配置配線装置、自動配置配線方法、自動配置配線プログラム、半導体集積回路 Download PDF

Info

Publication number
JP2008090456A
JP2008090456A JP2006268607A JP2006268607A JP2008090456A JP 2008090456 A JP2008090456 A JP 2008090456A JP 2006268607 A JP2006268607 A JP 2006268607A JP 2006268607 A JP2006268607 A JP 2006268607A JP 2008090456 A JP2008090456 A JP 2008090456A
Authority
JP
Japan
Prior art keywords
terminal density
wiring
functional
automatic placement
cell
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
JP2006268607A
Other languages
English (en)
Inventor
Hidetaka Minami
英孝 南
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006268607A priority Critical patent/JP2008090456A/ja
Publication of JP2008090456A publication Critical patent/JP2008090456A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】半導体集積回路のチップサイズの大型化を抑制し、配線収束性を高めると共に歩留まりを高めることが可能な自動配置配線装置、自動配置配線方法、自動配置配線プログラム及び半導体集積回路を提供することを目的とする。
【解決手段】半導体集積回路の設計において機能セルの自動配置配線を行う際に、所定領域設定部により機能セルの有する端子が集中しそうな部分に所定領域を設定し、端子密度設定部によりこの所定領域における端子密度を設定する。そして本発明では、この所定領域内の端子密度が、設定された端子密度以下となるように、機能セルの配置を行う。
【選択図】図4

Description

本発明は、半導体基板上において機能セルの配置配線を行う自動配置配線装置、自動配置配線方法、自動配置配線プログラム及び、これにより設計された半導体集積回路に関する。
近年のLSI(Large Scale Integration)設計では、プロセスの微細化によりセルサイズが非常に小さくなり、それに伴いチップサイズの小型化が進んでいる。さらに、チップの動作周波数は高速化しつつある、近年のLSIでは、これらの要因からチップ内にセルが密集して配置される傾向にあり、このような場合にはセル間の信号線の配線が困難となることがある。
特に端子数の多い複合セルが密集して配置された場合には、全ての信号線を配線することが不可能となる配線未収束と呼ばれる現象が発生することが多い。このような現象は、チップ内で局所的に起こる場合が多い。図1は、局所的に配線未収束となる例を説明する図である。
多層構造のLSIにおいて、通常セルの端子は下位層で作成されており、この端子と信号線を結線する場合には、信号線を上位層からビアを経由させて下位層まで到達させる必要がある。このため、例えばセルを跨るような配線では上位層から下位層までの経路の途中で配線がブロックされてしまい配線未収束となる。
このような現象を回避する技術として、例えば特開2001−127160号公報(特許文献1)には、機能セルを配置するときに、セルサイズを擬似的に大きく見せかけて配置し、実際のセルサイズと、擬似的に大きく見せかけたセルサイズとの差分領域を、機能セル間の配線専用領域として配線された半導体集積回路及びそのレイアウト設計手法が記載されている。特許文献1記載の発明によれば、一定の幅の信号線配線領域を確保することが可能となる。
特開2001−127160号公報
しかしながら、チップ全面に特許文献1記載の手法を用いた場合、信号線配線領域が必要となる局所的な配線未収束箇所以外の箇所にも信号線配線領域が設定されるため、この方法により設計された半導体集積回路ではチップサイズが必要以上に大きくなる。また、特許文献1記載の発明では、同一の機能セルに対し、実際のセルサイズの機能セルと、擬似的に大きく見せかけた機能セルと、2種類の機能セルを用意する必要がある。さらに、特許文献1記載の発明では、擬似的に大きく見せかけた機能セルを決定するために、最低1回の自動配置配線処理を実行し、配線未収束となる部分を認識する必要がある。
本発明は上記事情を鑑みて、これらを解決すべく成されたものであり、信号配線を行う際に、半導体集積回路のチップサイズの大型化を抑制し、配線収束性を高めると共に歩留まりを高めることが可能な自動配置配線装置、自動配置配線方法、自動配置配線プログラム及び半導体集積回路を提供することを目的とするものである。
本発明は、上記目的を達成するために、以下の如き構成を採用した。
本発明の自動配置配線装置は、機能セルに係る情報が格納された機能セル格納手段と、前記機能セルの配置及び配線に関する設計規定に係る情報が格納された設計規定格納手段と、機能セルの接続情報を読み込む読込手段とを有し、前記読込手段により読み込まれた前記接続情報と、前記設計規定に係る情報とに基づき、前記機能セル格納手段に格納された前記機能セルの配置及び配線を行う自動配置配線装置において、隣接した前記機能セルの境界を含む所定領域を設定する領域設定手段と、前記所定領域内の端子密度を設定する端子密度設定手段と、前記機能セルを配置する配置手段とを有し、前記配置手段は、前記領域設定手段により設定された前記所定領域における端子密度が、前記端子密度設定手段により設定された端子密度以下となるように前記機能セルを配置する構成とすることができる。
係る構成によれば、信号配線を行う際に、半導体集積回路のチップサイズの大型化を抑制し、配線収束性を高めると共に歩留まりを高めることが可能となる。
また、本発明の自動配置配線装置は、前記所定領域の前記端子密度を検出する端子密度検出手段を有し、前記配置手段は、前記端子密度検出手段の検出結果に基づき、前記機能セルを移動させて配置する構成としても良い。
係る構成によれば、前記所定領域の前記端子密度が、前記端子密度設定手段により設定された端子密度よりも高いときにのみ、前記機能セルを移動させて配線領域を設けることができる。このため、半導体集積回路のチップサイズの大型化を抑制できる。
また、前記配置手段は、前記端子密度検出手段の検出結果に基づき、前記機能セルを、Y軸を対称軸として反転させて配置する構成としても良い。
係る構成によれば、前記所定領域の前記端子密度が、前記端子密度設定手段により設定された端子密度よりも高いときにのみ、前記機能セルを反転させて端子密度を下げることができる。
また、前記機能セル格納手段には、前記機能セルとX軸に関して対称な関係にある機能セルが格納されており、前記配置手段は、前記端子密度検出手段の検出結果に基づき、前記機能セルと、前記X軸に関して対称な関係にある機能セルのうち、いずれか一方を配置する構成としても良い。
係る構成によれば、例えば前記機能セルの上下に予め決まった配線が形成されている場合でも、前記機能セルを、X軸を対称軸として反転させた状態となるように配置することができる。
また、前記所定領域設定手段は、前記読込手段に読み込まれた前記接続情報より、前記所定領域を設定する構成とすることができる。
係る構成によれば、例えば前記接続情報から端子密度が高くなる部分を把握し、その部分を所定領域として設定することができる。
また、本発明の自動配置配線装置は、当該自動配置配線装置による配線処理において、配線の未収束部分を検出する未収束部検出手段を有し、前記所定領域設定手段は、前記未収束部検出手段により検出された未収束部分を含む領域を、前記所定領域に設定する構成としても良い。
係る構成によれば、前記配線未収束となる部分のみを所定領域とすることが可能となる。
また、前記所定領域は、その幅が、配置された機能セルと信号線とを接続する接続面のX軸方向の幅の略4倍である構成としても良い。
本発明の自動配置配線方法は、機能セルに係る情報が格納された機能セル格納手段と、前記機能セルの配置及び配線に関する設計規定に係る情報が格納された設計規定格納手段とを有し、前記設計規定に係る情報を用いて前記機能セルの自動配置配線を行う自動配置配線装置における自動配置配線方法において、機能セルの接続情報を読み込む読込手順と、隣接した前記機能セルの境界を含む所定領域を設定する領域設定手順と、前記所定領域内の端子密度を設定する端子密度設定手順と、前記接続情報と前記設計規定とに基づき前記機能セルを配置する配置手順とを有し、前記配置手順は、前記領域設定手順により設定された前記所定領域における端子密度が、前記端子密度設定手順により設定された端子密度以下となるように前記機能セルを配置する方法とすることができる。
係る方法によれば、信号配線を行う際に、半導体集積回路のチップサイズの大型化を抑制し、配線収束性を高めると共に歩留まりを高めることが可能となる。
本発明の自動配置配線プログラムは、機能セルが格納された機能セル格納手段と、前記機能セルの配置及び配線に係る設計規定が格納された設計規定格納手段とを有し、前記設計規定に係る情報を用いて前記機能セルの自動配置配線を行う自動配置配線装置における自動配置配線プログラムにおいて、コンピュータに、機能セルの接続情報を読み込む読込手順と、隣接した前記機能セルの境界を含む所定領域を設定する領域設定手順と、前記所定領域内の端子密度を設定する端子密度設定手順と、前記接続情報と前記設計規定とに基づき前記機能セルを配置する配置手順とを実行させ、前記配置手順は、前記領域設定手順により設定された前記所定領域における端子密度が、前記端子密度設定手順により設定された端子密度以下となるように前記機能セルを配置するプログラムとすることができる。
係るプログラムによれば、信号配線を行う際に、半導体集積回路のチップサイズの大型化を抑制し、配線収束性を高めると共に歩留まりを高めることが可能となる。
また、本発明の半導体集積回路は、上記の自動配置配線方法により自動配置配線された機能セルを有することを特徴とする半導体集積回路である。
係る半導体集積回路では、チップサイズの大型化が抑制され、歩留まりが高められるので、製造コストを低減することができる。
本発明によれば、半導体集積回路のチップサイズの大型化を抑制し、配線収束性を高めると共に歩留まりを高めることができる。
本発明によれば、半導体集積回路の設計において機能セルの自動配置配線を行う際に、所定領域設定部により機能セルの有する端子が集中しそうな部分に所定領域を設定し、端子密度設定部によりこの所定領域における端子密度を設定する。そして本発明では、この所定領域内の端子密度が、設定された端子密度以下となるように、機能セルの配置を行う。
(第一の実施形態)
以下に図面を参照して本発明の第一の実施形態について説明する。
図2は、複数の機能セルが配置されてなる半導体集積回路200を説明する図である。半導体集積回路200は、機能セルが複数組み合わされて、配置配線されることにより構成されている。通常、半導体集積回路200において、複数の機能セルは、図2に示すように格子状になるように配置される。そして、この機能セルの上下には例えば電源線(電源、グランド)やその他機能セル間の配線が施される配線領域が設けられる。
半導体集積回路200のように、複数の機能セルを配置配線して半導体集積回路を設計する場合、この機能セルの配置配線を自動的に行う自動配置配線装置が用いられる。以下に図面を参照して本発明の自動配置配線装置について説明する。
図3は、本発明の第一の実施形態の自動配置配線装置300の機能構成を示す機能ブロック図である。
本発明の自動配置配線装置300は、本体部310、表示部312、入力部314とから構成されており、例えば一般のパーソナルコンピュータ(以下、PC)などによりその機能を実現することができる。この場合、表示部312は例えば液晶ディスプレイなどであり、入力部314は例えばキーボードや、マウスなどのポインティングデバイスなどである。また、表示部312と入力部314は、それぞれが適切な方法で本体部310の外部に接続されていても良いし、本体部310と一体化されていても良い。
本体部310は、機能セルが格納された機能セルライブラリ320、機能セルの自動配置配線における設定規定であるデザインルールが格納されたデザインルール格納部330、機能セルの接続情報であるネットリストを読み込むネットリスト読込部340、領域設定部350、端子密度設定部360、端子密度検出部370、配置部380とを有する。
自動配置配線装置300において、配置部380は、ネットリスト読込部340により読み込まれたネットリストと、デザインルールに基づき機能セルを配置する。またこのとき配置部380は、領域設定部350により設定された所定領域内の端子密度が、端子密度設定部360により設定された端子密度以下となるように、機能セルを配置する。
以下に自動配置配線装置300の各構成要素について説明する。
機能セルライブラリ320は、各種の機能セルが格納された機能セル格納部である。機能セルとは、例えば内部のレイアウト設計が済んでいるマクロセルなどであり、機能セルライブラリ320は、例えばこのマクロセルの集合であってもよい。機能セルライブラリ320に格納されている機能セルとしては、例えばNAND回路やフリップフロップ回路などの基本的なマクロセルであっても良く、RAM(Random Access Memory)やROM(Read Only Memory)などのメガセルであっても良い。
本実施形態において機能セルライブラリ320に格納されている機能セルは、例えば機能セル群1と機能セル群2とに分類することができる。機能セル群1と機能セル群2では、そのレイアウトがX軸に対称な関係となっている。すなわち、機能セル群1を、X軸を対称軸として反転させたレイアウトが機能セル群2のレイアウトとなっている。このとき機能セル群1に分類される各機能セルと、それに対応する機能セル群2に分類される各機能セルとは同一の機能を有する。
デザインルール格納部330には、半導体集積回路の製造プロセスにおいて認可されている半導体素子寸法や、配線金属の幅や間隔などを規定した設計規定であるデザインルールが格納されている。
ネットリスト読込部340は、ネットリストを読み込む。ネットリストとは、回路の接続状態を表現したデータであり、論理回路設計の結果である。ネットリストは、自動配置配線装置300の外部より入力されるデータであっても良く、例えばネットリスト読込部340は記録媒体読込部であり、ネットリストは記録媒体に記録されていても良い。
領域設定部350は、例えば入力部314などにより入力された所定領域に係る情報に基づき、基板上に所定領域を設定する。この所定領域は、例えば表示部312に表示された半導体集積回路の配置図上で、入力部314であるマウスなどを用いて自動配置配線装置300の利用者により予め指定されても良い。または所定領域は、基板上において所定領域とされる場所を示す座標情報がキーボードなどにより入力されて設定されても良い。
端子密度設定部360は、入力部312により入力される端子密度に係る情報に基づき、領域設定部350により設定された所定領域における端子密度を設定する。本実施形態では、所定領域に配置可能な端子の本数を設定することにより端子密度を設定したものとする。この場合、端子の本数は入力部314であるキーボードなどにより、自動配置配線装置300の利用者により予め入力されても良い。
端子密度検出部370は、所定領域内の端子密度を検出する。配置部380は、端子密度検出部370の検出結果に基づき機能セルを配置する。配置部380における機能セルの配置についての詳細は後述する。
次に、図4を参照して自動配置配線装置300における処理を説明する。図4は、第一の実施形態の自動配置配線装置300における処理を説明するフローチャートの一例である。
自動配置配線装置300は、まず機能セルライブラリ320とデザインルール格納部330より必要となる機能セルやデザインルールを読み込む(S401)。
ここで本実施形態では、自動配置配線装置300の本体部310内に機能セルライブラリやデザインルールが予め格納されているものとしたが、機能セルライブラリやデザインルールは、例えば自動配置配線装置300が配置配線処理を開始する時に、外部から取得されるものであっても良い。この場合は、機能セルライブラリとデザインルールは、例えば記録媒体に記録されており、自動配置配線装置300において図示しない記録媒体読込部により読み込まれても良い。また、機能セルライブラリとデザインルールは、例えば自動配置配線装置300の有する図示しない通信手段により、インターネット回線などを介して取得されても良い。
次に自動配置配線装置300は、ネットリスト読込部340によりネットリストを読み込み、このネットリストに基づきタイミング制約を読み込む。さらに、自動配置配線装置300は、領域設定部350により設定された所定領域と、端子密度設定部360により設定された端子密度を読み込む(S402)。
次に、配置部380は、S401、S402において読み込まれた各種条件に基づき、機能セルライブラリ320に格納された機能セルを用いて概略的な配置処理であるフロアプランを実施する(S403)。そして自動配置配線装置300は、半導体集積回路のチップサイズ、I/O(以下、入出力)端子の配置位置、機能セルの配置位置を決定する。
次に自動配置配線装置300は、本処理において設計される半導体集積回路の許容範囲内の電圧降下値を設定し、読み込んだネットリストを解析して電源配線を決定する(S404)。尚ここでの電源配線は、例えば図2に示す半導体集積回路200のように、格子状に配置された機能セルの上下に設けられても良い。
配置部380は、電源配線が決定されると、S402において読み込んだ所定領域と端子密度とに基づく機能セルの配置を実施する(S405)。すなわち配置部380は、端子密度検出部370により所定領域内の端子密度を検出し、検出した端子密度と端子密度設定部370により設定された端子密度とを比較する。そして、検出された端子密度が設定された端子密度よりも高かった場合には、所定領域内における端子密度が設定された端子密度以下となるように機能セルの配置をしなおす。S405の処理の詳細は後述する。
次に自動配置配線装置300は、CTS(Clock Tree Synthesis)処理、タイミング最適化処理を実施する(S406)。そして、自動配置配線装置300は、各機能セル間の信号配線を実施して自動配置配線処理を完了する(S407)。
ここで、機能セルの配置変更による配線未収束の回避について説明する。
図5は、自動配置配線における配線未収束を回避する方法の第一の参考例を示す図である。図5に示す方法では、端子の集中により端子密度があがり配線が混雑する場合に、隣接する二つの機能セルの間に間隔を空けている。
図6は、自動配置配線における配線未収束を回避する方法の第二の参考例を示す図である。図6に示す方法では、配線混雑が発生した場合に、隣接する二つの機能セルのうちの一方を、Y軸を対称軸として反転(ミラーリング)させる。
このように、端子の位置を考慮して機能セルを配置することにより、配線混雑を解消することができ、配線の収束性を高めることができる。またこれらの方法では、個々の機能セルに対して配線のための配線専用領域を設ける必要がなく、必要最小限の配線領域で配線を収束させることができる。
本実施形態では上記の方法を実現させるために、各機能セルに対し、端子密度を制限する領域である端子密度制限領域を設定する。この端子密度制限領域が、上述した所定領域であり、領域設定部350により設定される領域となる。そして、この端子密度制限領域内に配置可能な端子の本数を設定することで、端子密度を制限する。図7は、本実施形態において機能セルに設定される領域を説明する図の例である。
図7に示す網かけ部分が本実施形態における端子密度制限領域Kである。本実施形態では、各機能セルにおいて、機能セルが配置されたときに他の機能セルと隣接する隣接部分を含む領域を端子密度制限領域Kとした。
ここで、端子密度制限領域の設定について具体例を挙げて説明する。図8は、端子密度制限領域の設定の具体例を示す図である。
本実施形態において、端子密度制限領域は、例えば各機能セル毎に設定されても良い。図8に示す例では、機能セルAにおいて設定された端子密度制限領域をKaとし、機能セルBにおいて設定された端子密度制限領域をKbとした。このように、各機能セル毎に端子密度制限領域を設定しておけば、例えば機能セルAと機能セルBが隣接して配置された場合には、端子密度制限領域Kaと端子密度制限領域Kbとを合わせた領域を端子密度制限領域Kとすることができる。
また、各機能セル毎に設定される端子密度制限領域は、自動配置配線装置300の利用者によりポインティングデバイスなどにより指定され、領域設定部350がこの指定に基づき領域設定を行ってもよい。
さらに、この端子密度制限領域が設定された機能セルは、機能セルライブラリ320へ格納されても良い。これによれば、自動配置配線装置300において自動配置配線処理を行う度に端子密度制限領域の設定を行う必要がなく、機能セルを配置した時点で自動的に端子密度制限領域Kが設定されるため、操作性が向上する。
また、本実施形態では、端子密度制限領域K内に配置可能に端子の本数を4本とした。この端子の本数は、上述したように、例えばキーボードやテンキーなどにより入力されて設定されても良い。
次に、図4に示すS405における処理について説明する。
S405において、端子密度検出部370により端子密度制限領域Kの端子密度が検出される。ここで、本実施形態において端子密度検出部370が検出するのは、端子密度制限領域K内に配置された端子の数である。端子密度検出部370は、例えば設定された端子密度制限領域Kの座標情報と、端子の配置された位置を示す座標情報とに基づき端子密度を検出することができる。本実施形態では、配置部380は、検出された端子の数が4本以上であったとき、図5、図6に示す方法により端子密度制限領域K内の端子密度を下げる配置を行う。
図9は、本実施形態における配線未収束を回避する方法を説明する第一の図である。図9に示す方法は、図5に示す参考例を自動配置配線装置300において実施した場合を示している。
図9に示す例では、機能セル81、82、83、84のそれぞれの隣接部分が端子密度制限領域Kに配置されている。端子密度制限領域Kにおいて、機能セル81と機能セル82は、それぞれ2本の端子を有し、機能セル83と機能セル84は、それぞれ1本の端子を有する。よって、図9に示す例では、端子密度制限領域Kに6本の端子が配置されることとなる。そこで配置部380は、端子密度制限領域Kの端子数が4本以下とすべく、機能セル82が端子密度制限領域Kの外へでるように機能セル82を移動させて配置する。このことにより、端子密度制限領域Kにおける端子密度を下げることができる。また、端子密度制限領域Kには、機能セル82を移動させた分の領域を配線領域Lとすることができるので、配線未収束を回避することができる。
ここで、図10を参照して配線領域Lについて説明する。図10は、配線領域Lを説明する図である。
配置部380が機能セル82を移動させる場合に、配置部380は機能セル82が端子密度制限領域Kの外へ出ることを前提とした上で、機能セル82の移動量、すなわち配線領域Lにおける領域幅Wを決定する必要がある。そして、配線領域Lは、端子密度制限領域Kに配置されたすべての端子が配線されるように設けられることが好ましい。そこで、配置部380は、領域幅Wを、例えば端子Tの幅Twの2倍となるようにしても良い。係る構成とすれば、端子密度制限領域Kにおいて、配置されたすべての端子に必要な配線を施すことができる。なお、この領域幅Wは端子の幅Twに基づき決定されるのではなく、例えばデザインルールによって定められた配線の太さに基づき決定されても良い。すなわち配置部380は、例えば領域幅Wをデザインルールで定められた配線の太さの3倍程度とし、その分だけ機能セル82を移動させても良い。このように配線領域Lをとることにより、各端子間においても適度な領域を設けられるため、各端子と信号線の接続方法をマルチビアとすることが可能となる。よって、各端子と信号線とがより確実に結線されるため、半導体集積回路の製造における歩留まりを高めることができる。
尚、図9に示す例では機能セル82を移動させたが、移動させる機能セルはこれに限定されるものではなく、例えば機能セル81を端子密度制限領域Kの外へ移動させても良い。また同様に、例えば機能セル83と機能セル84とを端子密度制限領域Kの外へ移動させても良い。
図11は、本実施形態における配線未収束を回避する方法を説明する第二の図である。図11に示す方法は、図6に示す参考例を自動配置配線装置300において実施した場合を示している。
図11に示す例では、配置部380は、まず始めに機能セル82をY軸が対称軸となるように反転させる。すると、図11に示すように、端子密度制限領域Kにおいて機能セル82の有する端子の数は2本から1本となり、端子密度制限領域Kに配置された端子の数は全部で6本から5本となる。
配置部380は、さらに端子密度制限領域Kの端子数を減らすために、次に機能セル84を、X軸を対称軸として反転させる処理を行う。以下に機能セル84のX軸に対する反転について説明する。
複数の機能セルが配置された半導体集積回路では、格子状に配置された機能セルの上下に、各機能セルに電源を提供する電源線などが予め形成されている(図2参照)。このような場合、各機能セルはこの電源線を共有できるようにレイアウトされている。よって、例えば機能セル84をX軸に対して反転させた状態で基板上に配置し、機能セル84の上下に形成された電源線と接続すると、機能セル84内の回路がショートするなどの不具合が発生する。
そこで本発明の自動配置配線装置300では、機能セルライブラリ320において機能セル群1と、機能セル群1をX軸を対称軸として反転させたレイアウトの機能セル群2を有する構成としている。配置部380は、機能セルをX軸を対称軸として反転させたい場合には、機能セル群2から対応する機能セルを選択して配置する。このようにすれば機能セルをX軸に対して反転させて配置したときに発生する機能セル内の回路に不具合を回避できる。
図11に示す例では、配置部380は、機能セル84をX軸を対称軸として反転させたい場合であるから、機能セル84を反転させたレイアウトの機能セル84Aを配置しなおす。こうすれば、端子密度制限領域Kにおいて機能セル84Aの有する端子は存在しなくなるため、端子密度制限領域Kに配置される合計の端子数を4本とすることができる。
図11に示す例では、図9に示した配線領域Lを設けることなく端子密度制限領域Kに配置される端子の本数を4本にすることができる。よって、チップサイズを変更することなく端子密度制限領域Kにおける端子密度をさげることができ、配線未収束を回避することができる。
このような配置部380による機能セルの配置では、ネットリストと、デザインルールとに基づき、半導体集積回路における配線領域Lが必要最小限となるように機能セルを移動及び/又は反転させることが好ましい。これによれば、自動配置配線装置300により設計される半導体集積回路において、必要以上の配線領域が設けられことがなく、チップサイズの大型化を抑制でき、半導体集積回路の製造コストの削減に貢献することができる。
さらに本発明の自動配置配線装置300では、端子密度制限領域として、上で説明した機能セルの隣接部分だけではなく、さらに多くの機能セルを含む領域を設定することもできる。
以下に図12を参照して複数の機能セルを含む端子密度制限領域について説明する。図12(A)は、半導体集積回路200Aにおける端子密度制限領域Hの設定を説明する図であり、図12(B)は、端子密度制限領域Hにおける回路構成を説明する図である。
本実施形態の自動配置配線装置300では、例えば半導体集積回路200Aにおいて、端子密度が高くなることが想定される場所を、予め端子密度制限領域に設定することができる。この設定は、自動配置配線装置300の利用者によりなされるものである。利用者は、例えば表示部312に表示された半導体集積回路200Aから、端子密度が高くなると思われる領域を指定する。領域設定部350は、この指定を受けて、指定された領域を端子密度制限領域Hとして読み込み設定する。端子密度が高くなる場所として想定されるのは、例えば図12(B)に示すようなエンコーダ回路を構成する機能セルが配置されている部分などである。
また、このようにして端子密度制限領域Hを設定した場合における端子数の設定では、例えば端子密度制限領域Hに配置される合計の端子数が設定されても良い。配置部380は、この領域設定と端子密度設定に基づき、端子密度制限領域Hにおける各機能セルの配置を行う。
係る構成によれば、利用者の所望の箇所において配線未収束を回避することが可能となり、半導体集積回路の製造時における歩留まりを向上させることができる。また、利用者の所望の箇所において任意に端子密度を設定することができる。よって利用者は、例えば所望の領域の端子密度を通常よりも低く設定し、後に新たにこの領域に追加回路を設けることが可能な状態としておくこともできる。
(第二の実施形態)
以下に図面を参照して本発明の第二の実施形態について説明する。図13は、本発明の第二の実施形態の自動配置配線装置300Aの機能構成を示す機能ブロック図である。
本実施形態の自動配置配線装置300Aは、第一の実施形態の自動配置配線装置300と比較して、本体部310Aに端子数検出部390を有する点が相違する。よって、以下の説明では、本実施形態と第一の実施形態における相違点についてのみ説明し、自動配置配線装置300Aにおいて第一の実施形態の自動配置配線装置300と同様の機能構成を有するものには第一の実施形態で用いた符号と同様の符号を付与し、説明を省略する。
本実施形態の自動配置配線装置300Aは、端子数検出部390を有する。端子数検出部390は、ネットリストに基づき各機能セルにおける端子数を検出する。
以下に図14を参照して自動配置配線装置300Aにおける処理を説明する。図14は、第二の実施形態の自動配置配線装置300Aにおける処理を説明するフローチャートの一例である。
自動配置配線装置300Aは、まず機能セルライブラリ320とデザインルール格納部330より必要となる機能セルやデザインルールを読み込む(S1401)。そして自動配置配線装置300Aは、ネットリスト読込部340によりネットリストを読み込み、このネットリストに基づきタイミング制約を読み込む。また、自動配置配線装置300Aは、端子密度設定部360により設定された端子密度設定を読み込む(S1402)。
次に自動配置配線装置300Aは、読み込まれたネットリストに基づき基板上に配置される機能セルを選択し、各機能セルの隣接部分において、端子密度制限領域を設定する(S1403)。ここでの端子密度制限領域の設定の詳細は後述する。
次に自動配置配線装置300Aでは、端子数検出部390がネットリストに基づき各機能セルの端子数を検出する。そして端子密度検出部370は、ここで検出された端子数と、S1403で設定された各端子密度制限領域における端子密度を検出する(S1404)。
S1405、S1406における処理は、図4のS403、S404と同様であるから説明を省略する。
次に自動配置配線装置300Aは、S1402において読み込まれた端子密度設定と、S1404において検出された各端子密度制限領域における端子密度とに基づき機能セルの配置を実施する(S1407)。すなわち配置部380は、S1402において読み込まれた端子密度設定と、S1404において検出された各端子密度制限領域における端子密度とを比較していき、端子密度制限領域の端子密度が、設定された端子密度以上である端子密度制限領域を検出する。そして配置部380は、検出された端子密度制限領域において、その端子密度が、端子密度設定により設定さたれ値以下となるように機能セルを配置しなおす。尚、端子密度を下げるための機能セルの配置については、第一の実施形態で説明した通りである。
S1408、S1409における処理は、図4のS406、S407と同様であるから説明を省略する。このようにして、本実施形態の自動配置配線装置300Aは自動配置配線処理を完了する。
ここで、以下にS1403における端子密度制限領域の設定について説明する。図15は、第二の実施形態の自動配置配線装置300Aにおける端子密度制限領域Iの設定を説明する図である。
自動配置配線装置300Aでは、端子密度制限領域Iの設定を自動で行う。例えばS1402において選択された機能セルを機能セル151、152としたとき、自動配置配線装置300Aは、これらの機能セルが配置されたときの隣接部分を含む領域を端子密度制限領域Iに設定する。
ここで、機能セル151の構成は、端子T1の幅をWt1とし、機能セル151と機能セル152との隣接面をSとしたとき、端子T1から隣接面Sまでの距離が幅Wt1と略同一となっている。機能セル152の構成においても同様に、端子T2の幅をWt2としたとき、端子T2から隣接面Sのまでの距離はWt2である。
尚本実施形態の自動配置配線装置300Aは、このような各機能セルの構成を例えばデザインルールなどから読み取ることが可能であるものとした。
本実施形態の自動配置配線装置300Aは、このような各機能セルの構成に基づき、例えば図15に示すように、端子密度制限領域Iの領域幅Wiを、(2*Wt1+2*Wt2)となるように設定しても良い。なお、この領域幅Wiはこれに限定されるものではなく、例えば自動配置配線装置300Aは、各機能セルにおいて最も隣接面Sに近い位置にある端子を含むように端子密度制限領域を設定しても良い。そして自動配置配線装置300Aは、端子密度制限領域Iの高さHiは、例えば機能セル151、152の高さに加え、機能セル151、152の上下に形成された図示しない電源線を含むことのできる高さとしても良い。このように、本実施形によれば、端子密度制限領域の設定が自動的に行われるので、その操作を簡略化することができる。
(第三の実施形態)
以下に図面を参照して本発明の第三の実施形態について説明する。図16は、本発明の第三の実施形態の自動配置配線装置300Bの機能構成を示す機能ブロック図である。
本実施形態の自動配置配線装置300Bは、第一の実施形態の自動配置配線装置300と比較して、本体部310Bに未収束部検出部395を有する点で相違する。よって、以下の説明では、本実施形態と第一の実施形態における相違点についてのみ説明し、自動配置配線装置300Bにおいて第一の実施形態の自動配置配線装置300と同様の機能構成を有するものには第一の実施形態で用いた符号と同様の符号を付与し、説明を省略する。
本実施形態の自動配置配線装置300Bは、未収束部検出部395を有する。未収束部検出部395は、配置された機能セルにおいて信号線の配線を行った際に、配線未収束となった部分を検出する。
以下に図17を参照して自動配置配線装置300Bにおける処理を説明する。図17は、第三の実施形態の自動配置配線装置300Bにおける処理を説明するフローチャートの一例である。
自動配置配線装置300Bは、S1701からS1706において、配線未収束を考慮せずに機能セルの自動配置配線処理を行う。自動配置配線装置300Bは、機能セルライブラリ320とデザインルール格納部330より必要となる機能セルやデザインルールを読み込む(S1701)。
次に自動配置配線装置300Bは、ネットリスト読込部340によりネットリストを読み込み、このネットリストに基づきタイミング制約を読み込む(S1702)。
次に、配置部380は、S1701、S1702において読み込まれた各種条件に基づき、機能セルライブラリ320に格納された機能セルを用いて概略的な配置処理であるフロアプランを実施する(S1703)。次に自動配置配線装置300Bは、本処理において設計される半導体集積回路の許容範囲内の電圧降下値を設定し、読み込んだネットリストを解析して電源配線を決定する(S1704)。次に自動配置配線装置300Bは、CTS(Clock Tree Synthesis)処理、タイミング最適化処理を実施する(S1705)。そして、自動配置配線装置300Bは、各機能セル間の信号配線を実施する(S1706)。
次に自動配置配線装置300Bでは、未収束部検出部395により、S1706における自動配線処理の処理結果に基づき配線未収束となった部分があるか否かを検出する(S1707)。自動配置配線装置300Bは、S1707において配線未収束部分が検出されなかった場合、自動配置配線処理を完了する。
自動配置配線装置300Bは、S1707において配線未収束部分が検出された場合、配線未収束部分において端子密度制限領域と端子密度を設定する(S1708)。
自動配置配線装置300Bにおける端子密度制限領域の設定については、第二の実施形態で説明した方法と同様に行う。また自動配置配線装置300Bは、S1706における処理結果に基づき、端子密度制限領域における適正な端子密度を算出して設定する。尚ここでいう適正な端子密度とは、配線未収束を回避できる端子密度を意味する。ここで自動配置配線装置300Bは、例えばS1706の処理において配線が収束している機能セルの端子数を読み取り、この端子数に基づき適正な端子密度を設定しても良い。
次に、自動配置配線装置300Bは、端子密度制限領域と端子密度とに基づく機能セルの配置を実施する(S1709)。S1709における処理は、図4のS405と同様であるので説明を省略する。自動配置配線装置300Bは、S1709の処理を実行した後、S1705へ戻り、S1707において配線未収束部が検出されなくなるまでS1705からS1709までの処理を繰り返す。
本実施形態によれば、配線未収束部が検出された場合のみ、端子密度制限領域を設定するので、必要以上に自動配置配線処理を繰り返すことがなく、処理時間を短縮することができる。また、本実施形態によれば、端子密度の設定と端子密度制限領域の設定も自動的に行われるため、その操作を簡略化できる。
次に、図18を参照して上記各実施形態で説明した各機能を実現させる自動配置配線プログラムが記録された記録媒体を説明する。記録媒体410に記録された自動配置配線プログラム400が、コンピュータ500に読み込まれて実行されることにより、本実施形態で説明した各機能を実現することができる。
例えばコンピュータ500は、CPU510、ハードディスク520、メモリ530、表示部540、入力部550、通信部560、記録媒体読み込み部570を備えている。CPU510は演算処理装置であって、コンピュータ500において実行される演算や処理を実行する。ハードディスク520は、データを格納する記憶手段であって、コンピュータ500上で動作するアプリケーションや、このアプリケーションにより作成されたデータなどが格納されている。メモリ530には、コンピュータ500に係る各種の設定値や、CPU510での演算結果などが格納される。
表示部540はディスプレイなどであり、コンピュータ500において作成されたデータなどをユーザに閲覧可能に表示する。入力部550は例えばキーボードやマウスであって、ユーザの操作により各種データが入力される。通信部560は例えばネットワークコントロールユニットなどであり、コンピュータ500が外部の装置と通信を行うためのものである。記録媒体読み込み部570は、各種記録媒体に記録されたデータやプログラムなどを読み込むものであり、例えばフロッピー(登録商標)ディスクドライバなどである。
記録媒体410は、本実施形態の各機能を実現させる自動配置配線プログラム400が記録されている。この自動配置配線プログラム400は、記録媒体読み込み部570により読み込まれてCPU510において実行される。記録媒体410は、例えばフロッピー(登録商標)ディスクやCD−ROM(Compact Disk Read Only Memory)等であっても良く、コンピュータ70において読み取り可能なに媒体であれば良い。また、自動配置配線プログラム400はネットワークを介して通信部560により受信されて、ハードディスク520等に格納されても良い。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態にあげた構成、その他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
本発明は、機能セルが配置されて構成される半導体集積回路の自動配置配線に応用可能である。
局所的に配線未収束となる例を説明する図である。 複数の機能セルが配置されてなる半導体集積回路200を説明する図である。 本発明の第一の実施形態の自動配置配線装置300の機能構成を示す機能ブロック図である。 、第一の実施形態の自動配置配線装置300における処理を説明するフローチャートである。 自動配置配線における配線未収束を回避する方法の第一の参考例を示す図である。 自動配置配線における配線未収束を回避する方法の第二の参考例を示す図である。 本実施形態において機能セルに設定される領域を説明する図である。 端子密度制限領域の設定の具体例を示す図である。 本実施形態における配線未収束を回避する方法を説明する第一の図である。 配線領域Lを説明する図である。 本実施形態における配線未収束を回避する方法を説明する第二の図である。 複数の機能セルを含む端子密度制限領域について説明する図である。 本発明の第二の実施形態の自動配置配線装置300Aの機能構成を示す機能ブロック図である。 第二の実施形態の自動配置配線装置300Aにおける処理を説明するフローチャートである。 第二の実施形態の自動配置配線装置300Aにおける端子密度制限領域Iの設定を説明する図である。 本発明の第三の実施形態の自動配置配線装置300Bの機能構成を示す機能ブロック図である 第三の実施形態の自動配置配線装置300Bにおける処理を説明するフローチャートである。 各実施形態で説明した各機能を実現させる自動配置配線プログラムが記録された記録媒体を説明する図である。
符号の説明
200、200A 半導体集積回路
300、300A、300B 自動配置配線装置
312 表示部
314 入力部
320 機能セルライブラリ
330 デザインルール格納部
340 ネットリスト格納部
350 領域設定部
360 端子密度設定部
370 端子密度検出部
380 配置部
400 自動配置配線プログラム
410 記録媒体

Claims (10)

  1. 機能セルに係る情報が格納された機能セル格納手段と、前記機能セルの配置及び配線に関する設計規定に係る情報が格納された設計規定格納手段と、機能セルの接続情報を読み込む読込手段とを有し、
    前記読込手段により読み込まれた前記接続情報と、前記設計規定に係る情報とに基づき、前記機能セル格納手段に格納された前記機能セルの配置及び配線を行う自動配置配線装置において、
    隣接した前記機能セルの境界を含む所定領域を設定する領域設定手段と、
    前記所定領域内の端子密度を設定する端子密度設定手段と、
    前記機能セルを配置する配置手段とを有し、
    前記配置手段は、前記領域設定手段により設定された前記所定領域における端子密度が、前記端子密度設定手段により設定された端子密度以下となるように前記機能セルを配置することを特徴とする自動配置配線装置。
  2. 前記所定領域の前記端子密度を検出する端子密度検出手段を有し、
    前記配置手段は、前記端子密度検出手段の検出結果に基づき、前記機能セルを移動させて配置することを特徴とする請求項1に記載の自動配置配線装置。
  3. 前記配置手段は、前記端子密度検出手段の検出結果に基づき、前記機能セルを、Y軸を対称軸として反転させて配置することを特徴とする請求項1又は2に記載の自動配置配線装置。
  4. 前記機能セル格納手段には、前記機能セルとX軸に関して対称な関係にある機能セルが格納されており、
    前記配置手段は、前記端子密度検出手段の検出結果に基づき、前記機能セルと、前記X軸に関して対称な関係にある機能セルのうち、いずれか一方を配置することを特徴とする請求項1ないし3のいずれか一項に記載の自動配置配線装置。
  5. 前記所定領域設定手段は、前記読込手段に読み込まれた前記接続情報より、前記所定領域を設定することを特徴とする請求項1ないし4のいずれか一項に記載の自動配置配線装置。
  6. 当該自動配置配線装置による配線処理において、配線の未収束部分を検出する未収束部検出手段を有し、
    前記所定領域設定手段は、前記未収束部検出手段により検出された未収束部分を含む領域を、前記所定領域に設定することを特徴とする請求項1ないし5のいずれか一項に記載の自動配置配線装置。
  7. 前記所定領域は、その幅が、配置された機能セルと信号線とを接続する接続面のX軸方向の幅の略4倍あることを特徴とする請求項1ないし6のいずれか一項に記載の自動配置配線装置。
  8. 機能セルに係る情報が格納された機能セル格納手段と、前記機能セルの配置及び配線に関する設計規定に係る情報が格納された設計規定格納手段とを有し、前記設計規定に係る情報を用いて前記機能セルの自動配置配線を行う自動配置配線装置における自動配置配線方法において、
    機能セルの接続情報を読み込む読込手順と、
    隣接した前記機能セルの境界を含む所定領域を設定する領域設定手順と、
    前記所定領域内の端子密度を設定する端子密度設定手順と、
    前記接続情報と前記設計規定とに基づき前記機能セルを配置する配置手順とを有し、
    前記配置手順は、前記領域設定手順により設定された前記所定領域における端子密度が、前記端子密度設定手順により設定された端子密度以下となるように前記機能セルを配置することを特徴とする自動配置配線方法。
  9. 機能セルに係る情報が格納された機能セル格納手段と、前記機能セルの配置及び配線に関する設計規定に係る情報が格納された設計規定格納手段とを有し、前記設計規定に係る情報を用いて前記機能セルの自動配置配線を行う自動配置配線装置における自動配置配線プログラムにおいて、
    コンピュータに、
    機能セルの接続情報を読み込む読込手順と、
    隣接した前記機能セルの境界を含む所定領域を設定する領域設定手順と、
    前記所定領域内の端子密度を設定する端子密度設定手順と、
    前記接続情報と前記設計規定とに基づき前記機能セルを配置する配置手順とを実行させ、
    前記配置手順は、前記領域設定手順により設定された前記所定領域における端子密度が、前記端子密度設定手順により設定された端子密度以下となるように前記機能セルを配置することを特徴とする自動配置配線プログラム。
  10. 請求項8記載の方法により自動配置配線された機能セルを有することを特徴とする半導体集積回路。
JP2006268607A 2006-09-29 2006-09-29 自動配置配線装置、自動配置配線方法、自動配置配線プログラム、半導体集積回路 Pending JP2008090456A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006268607A JP2008090456A (ja) 2006-09-29 2006-09-29 自動配置配線装置、自動配置配線方法、自動配置配線プログラム、半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006268607A JP2008090456A (ja) 2006-09-29 2006-09-29 自動配置配線装置、自動配置配線方法、自動配置配線プログラム、半導体集積回路

Publications (1)

Publication Number Publication Date
JP2008090456A true JP2008090456A (ja) 2008-04-17

Family

ID=39374560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006268607A Pending JP2008090456A (ja) 2006-09-29 2006-09-29 自動配置配線装置、自動配置配線方法、自動配置配線プログラム、半導体集積回路

Country Status (1)

Country Link
JP (1) JP2008090456A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1050844A (ja) * 1996-07-30 1998-02-20 Nec Ic Microcomput Syst Ltd 半導体集積回路のレイアウト方法
JP2003044536A (ja) * 2001-07-27 2003-02-14 Fujitsu Ltd タイミング優先でセル配置するlsiのレイアウト方法及びその装置
JP2003099492A (ja) * 2001-09-25 2003-04-04 Nec Microsystems Ltd 半導体集積回路のレイアウト方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1050844A (ja) * 1996-07-30 1998-02-20 Nec Ic Microcomput Syst Ltd 半導体集積回路のレイアウト方法
JP2003044536A (ja) * 2001-07-27 2003-02-14 Fujitsu Ltd タイミング優先でセル配置するlsiのレイアウト方法及びその装置
JP2003099492A (ja) * 2001-09-25 2003-04-04 Nec Microsystems Ltd 半導体集積回路のレイアウト方法

Similar Documents

Publication Publication Date Title
KR102593720B1 (ko) 집적회로 설계 및/또는 제조
US10867100B2 (en) Integrated circuit designing system
US8941150B2 (en) Power routing in standard cells
US8132142B2 (en) Various methods and apparatuses to route multiple power rails to a cell
US7800409B2 (en) Logic block, a multi-track standard cell library, a method of designing a logic block and an asic employing the logic block
US20090138840A1 (en) Cell, standard cell, standard cell library, a placement method using standard cell, and a semiconductor integrated circuit
JP2006196627A (ja) 半導体装置、及び半導体装置の設計プログラム
JP4986114B2 (ja) 半導体集積回路及び半導体集積回路の設計方法
US20210183768A1 (en) Integrated circuits including via array and methods of manufacturing the same
US20020105049A1 (en) Integrated circuit having tap cells and a method for positioning tap cells in an integrated circuit
US8473891B1 (en) System and method for integrated circuit layout editing using reference frames
JP4141322B2 (ja) 半導体集積回路の自動配線方法及び半導体集積回路の設計のプログラム
US7958467B2 (en) Deterministic system and method for generating wiring layouts for integrated circuits
US20230274065A1 (en) Using machine learning to produce routes
JPWO2006137119A1 (ja) フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US20230282635A1 (en) Integrated circuit with non-preferred direction curvilinear wiring
JP4610313B2 (ja) 半導体集積回路の設計方法
KR20170094744A (ko) 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법
JP2008090456A (ja) 自動配置配線装置、自動配置配線方法、自動配置配線プログラム、半導体集積回路
US8555232B2 (en) Wire routing using virtual landing pads
JP2006202923A (ja) 半導体装置の設計方法、半導体装置の設計プログラム
WO2014195806A2 (en) Methods and systems for insertion of spare wiring structures for improved engineering change orders
JP5456093B2 (ja) 半導体集積回路及び半導体集積回路の設計方法
JP2005217314A (ja) 半導体集積回路
JP4947120B2 (ja) 半導体集積回路の設計方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110705