JP2011109025A - 半導体集積回路のセル自動配置方法、装置、及びプログラム - Google Patents
半導体集積回路のセル自動配置方法、装置、及びプログラム Download PDFInfo
- Publication number
- JP2011109025A JP2011109025A JP2009265355A JP2009265355A JP2011109025A JP 2011109025 A JP2011109025 A JP 2011109025A JP 2009265355 A JP2009265355 A JP 2009265355A JP 2009265355 A JP2009265355 A JP 2009265355A JP 2011109025 A JP2011109025 A JP 2011109025A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- cells
- outer shape
- type
- automatic
- 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.)
- Withdrawn
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】製造工程の異なるセルを混在して配置する場合に、面積を大きくせずに配置する半導体集積回路のセル自動配置方法、自動配置装置、及びそれらのプログラムを提供する。
【解決手段】複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形を設定し、上記その他の種類のセルには、第1の外形が設定されるセルを含めセルの種類に係わらずセルを隣接配置することが可能なより大きい外形を設定するセル外形設定工程と、セル外形設定工程で設定した外形を有するセルを用いて複数種類のセルを自動配置するセル自動配置工程と、を備える。
【選択図】図1
【解決手段】複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形を設定し、上記その他の種類のセルには、第1の外形が設定されるセルを含めセルの種類に係わらずセルを隣接配置することが可能なより大きい外形を設定するセル外形設定工程と、セル外形設定工程で設定した外形を有するセルを用いて複数種類のセルを自動配置するセル自動配置工程と、を備える。
【選択図】図1
Description
本発明は、半導体集積回路のセル自動配置方法、装置、及びプログラムに関する。特に、製造工程の異なるセルを自動的に配置する方法、装置及びプログラムに関する。
半導体集積回路のマスクパターンのレイアウト設計においては、レイアウト対象とする回路の構成、接続に関する情報が記載された接続情報を基に、セル内部の構造のレイアウトがあらかじめ準備されたスタンダードセルを使用し、自動配置配線ツールによって回路の配置配線を行うことが一般に行われている。
この自動配置配線ツールでは、スタンダートセル内の詳細な内部配置の情報は不要であり、各スタンダートセルの外形と端子位置の情報があれば、自動配置配線を行うことができる。一般には、セルの外形を用いて外形が重ならないように、又は、外形同士を一定の距離を離してレイアウトすることにより、セル内部の構造を参照することなく、設計基準の範囲内でセルを自動配置することができる。そのため、セルの外形は、自動配置配線ツールによって自動的に配置を行った場合に、セルの内部構造間の距離等の設計基準を守るような大きさの外形があらかじめ定められている。
また、大規模な半導体集積回路の設計においては、プリミティブセル内部の設計の段階、プリミティブセルを用いたマクロの設計の段階、マクロを用いたシステム設計の段階というように下位階層と上位階層に分けて階層設計が行われる。レイアウトを下位階層から上位階層へと階層毎にレイアウト設計を行う場合、例えば、マクロのレイアウト設計の階層では、プリミティブセル内部の詳細な構造のデータを参照しなくともマクロのレイアウト設計を行うことができるようにすることにより、大規模で困難な集積回路のレイアウト設計も容易化できる。
一方、特許文献1には、セル内部の拡散層のレイアウトデータを付加したライブラリを元に、拡散層間の距離を一定にして応力を均一にする半導体集積回路の自動レイアウト装置が記載されているが、この様にセル内部の配置情報まで参照してレイアウトすることは、上記階層設計の考え方とは異なり、大規模な集積回路のレイアウト設計が困難になるので、一般には行われない。
以下の分析は本発明により与えられる。本発明者の検討によれば、複数種類のセルについて混在して配置しようとする場合、隣接配置するセルが同一種類のセルであるか異なる種類のセルであるかによって隣接配置するセルとの距離が異なる場合がある。この様な場合、異なる種類のセルを隣接配置できるようにセルの外形を大きく定めると、同一種類のセルを隣接配置する場合にセル間の距離がオーバーマージンとなる。また、同一種類のセルを隣接配置する場合に必要な最小間隔に合わせてセルの外形を定めると、異なる種類のセルをそのままでは隣接配置することができない。
本発明の1つの側面による半導体集積回路の自動配置方法は、複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形を設定し、前記一種類以外の種類のセルには、前記第1の外形が設定されるセルを含めセルの種類に係わらずセルを隣接配置することが可能な大きさの第2の外形を設定するセル外形設定工程と、前記セル外形設定工程で設定した外形を有するセルを用いて前記複数種類のセルを自動配置するセル自動配置工程と、を備える。
また、本発明の他の側面による半導体集積回路の自動配置装置は、複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形を設定し、前記一種類以外の種類のセルには、前記第1の外形が設定されるセルを含め隣接配置されるセルの種類に係わらず隣接配置することが可能な大きさの第2の外形を設定するセル外形設定部と、前記外形設定部が外形を設定したセルをライブラリとして記憶するセルライブラリ記憶部と、自動配置の対象とする回路の接続情報とセルの種類が格納された接続情報記憶部と、前記セルライブラリ記憶部に記憶されたセルライブラリのセルを前記接続情報記憶部に記憶された回路の接続情報とセルの種類に基づいて自動配置を行うセル自動配置部と、を備える。
さらに他の側面による半導体集積回路のセル自動配置プログラムは、コンピュータに上記セル自動配置方法を実行させる。又は、コンピュータを上記セル自動配置装置として機能させる。
本発明によれば、隣接するセルの種類によって最小セル間隔が異なる複数種類のセルを混在して自動配置することができる。特に、複数種類のセルの中で、一種類のセルの数が多い場合に、隣接配置されるセルの種類を考慮せずに複数の種類のセルを混在して配置を行っても全体の面積を小さく自動配置することができる。
本発明において、複数種類のセルの内、一種類のセルには、同一種類のセルが隣接配置可能な大きさの第1の外形を設定すると共に、他の種類のセルには、第1の外形が設定されたセルも含めてセルの種類に係わらずセルを隣接配置可能な大きさの第2の外形を定める。上記方法によれば、第2の外形を設定するセルは、第1の外形を有するセルが隣接配置されてもよいように外形を設定するので、セルの外形は大きくなる可能性があるが、第1の外形が小さくできるので、全体としてレイアウト面積が縮小できる。特に、複数種類のセルの内、一種類のセルの数が多い場合、その一種類のセルに第1の外形を設定することによりレイアウト面積を縮小することができる。また、別な種類の第2の外形を有するセル同士が隣接配置されても問題は生じない。
以下、実施例について、図面を参照して詳しく説明する。
まず、最初に本発明の対象とするセルについて、図3を参照して説明する。図3(a)〜(c)は、自動配置の対象とする全体回路に含まれるセルの回路図であり、図3(d)〜(f)は、それぞれ、図3(a)〜(c)のセルに対するセルレイアウト図である。また、図3(d)〜(f)において、メタル配線を白抜き、ゲート配線を交差する平行斜線、P型拡散層を左肩上がり平行斜線、N型拡散層を右肩上がり平行斜線で表している。後で説明する図4〜図6においても同一である。図3(a)はインバータ回路、図3(b)は、遅延回路、図3(c)はラッチ回路で、図3(d)〜(f)は、それぞれの回路のCMOSレイアウトセルである。
図4は、これらのセルを用いてレイアウトした例を示す。図4(a)はレイアウト対象とする回路の回路図、図4(b)はレイアウト図、図4(c)は不純物注入領域を示す。
図4(a)において、入力信号A及びBは、それぞれNAND回路401のゲートに接続され、NAND回路401の出力信号はインバータ402のゲートに接続され、インバータ402の出力信号はインバータ403のゲートに接続され、インバータ403の出力信号はOUT1信号として外部へ出力される。
図4(a)において、入力信号A及びBは、それぞれNAND回路401のゲートに接続され、NAND回路401の出力信号はインバータ402のゲートに接続され、インバータ402の出力信号はインバータ403のゲートに接続され、インバータ403の出力信号はOUT1信号として外部へ出力される。
セルの自動配置において、レイアウト対象とする図4(a)のような回路は、接続情報として与えられ、その接続情報の中で、NAND回路401、インバータ402、403のセルレイアウトに用いるセルの機能、種類があらかじめ決まっているとする。図4(a)の回路シンボルの上に記載されているA2MA、I1MA、I2MAはレイアウトに用いるセルの名称で、それぞれ、A2MAはトランジスタモデルAによる2入力NANDゲートセル、I1MAはトランジスタモデルAによるインバータセル、I2MAはトランジスタモデルAによるバッファーインバータセルを意味している。
ここで、レイアウトに用いるセルは、すべてトランジスタモデルAのセルであり、トランジスタモデルが一致しているので、各セルの製造工程も一致している。たとえば、不純物注入の条件は同一であるので、不純物注入工程については、セル毎にマスクを分ける必要がない。したがって、図4(c)に不純物注入領域421として示すように各セルの不純物注入領域が重なっており、全体として一つの領域になってしまっても構わない。従って、各セルの少なくとも不純物注入のマスクに関しては、隣接するセルとの間隔を設計基準どおりの間隔を空ける必要がなく、たとえば、不純物注入より決められる隣接するセルとの間隔より拡散層間の距離で決まる隣接するセルとの間隔の方が狭ければ、不純物注入により決まるセル間の間隔を無視して拡散間の距離で決まる大きさに各レイアウトセルの外形を定めても構わない。
図4(b)では、そのような前提に立って、不純物注入により決まる設計基準を無視してセル間を近接して配置できるように、各セルの外形を定めている。また、図4(b)では、各セルの外形が重複しなければ、隣接するセルとの距離が0でも設計基準には、反しない大きさにセルの外形が定められており、セルの自動配置においては、セルの外形間の最小間隔を0にして自動配置を行っている。なお、セルの外形は、自動配置用のセルライブラリが自動配置処理等のために用いるデータ処理用のデータ層のデータであって、自動配置の際にセル配置の間隔を決める等に用いた後は、実際のマスクパターンに直接反映されることはなく、削除されるデータであってもよい。
実際には、図4(b)のように、不純物注入領域の基準に反してセルの外形を決めるのは例外的な方法であり、一般的には、このようにしてセルの外形を決めることは行われず、この後説明する図5のようにセルの外形の大きさを決めるのが一般的である。
図4に対して、図5には、セルの製造条件、トランジスタモデルが異なるセルを隣接して配置する場合の例を示す。図5では、隣接配置するセルはそれぞれ、不純物注入の条件が異なり、不純物注入マスクの間隔が隣接するセルとの最小間隔を決めているとする。不純物注入は例えばMOSトランジスタの閾値を決める工程でイオン(不純物)注入が使用され、高速に動作するときのみ使用するセルと低電力で常時動作させる必要のあるセル等でイオン注入の条件を変える場合がある。
図5(a)はセルレイアウトの対象とする回路である。図5(a)の図4(a)との違いは、各セルのトランジスタモデルが異なることである。NAND回路401は図4(a)と同じA2MAすなわちトランジスタモデルAによる2入力NANDゲートセルを用いるが、インバータ502はトランジスタモデルBによるインバータセルI1MB、インバータ503はトランジスタモデルCによるバッファーインバータセルI2MCを用いるように接続情報により指定をされている。このトランジスタモデルA、B、Cの違いによりトランジスタの閾値がそれぞれ違うとする。このような場合、トランジスタモデルの違いによって、トランジスタモデル毎に異なる種類のセルを用い、セルの種類毎にイオン注入等の不純物注入の条件を変更する。したがって、そのような場合、トランジスタモデル毎にセルの種類が異なり、不純物注入の製造条件、製造工程が異なる。
図5(c)の不純物注入領域521、522、523に示すようにセル毎に別々の条件で別々の製造工程で不純物注入が行えるように、イオン領域が隣接するセルと重ならないように、セルの外形が決められる。この場合は、拡散層間の間隔より不純物注入マスクの間隔がセル間の間隔を決めることになるので、間隔0で自動配置を行っても不純物注入マスクの設計基準を犯さないように、セルの外形の大きさが決められている。図5(b)には、そのようにして外形が決められたセルが外形同士を接してレイアウトされた様子を示す。セルの外形の大きさの決め方としては、図5(b)のように製造工程が異なるセルが隣接配置されても良いようにセル外形を決める決め方が一般的であり、図4のように一部の設計基準(不純物注入の設計基準)を無視してセルの外形の大きさを決める決め方は一般的ではない。
図6に、図5のように製造条件が異なるセルが隣接配置されてよいように全て設計基準を満たす外形を有するセルのみを用いてレイアウトする場合と、発明者のアイデアによる一部のセルに図4のような製造条件が同じセルのみ隣接配置できる外形を有するセルを交えてレイアウトする場合の比較を示す。
図6(a)は、セル種Aのセルの外形を701で示す。ここでセル種とは、不純物注入条件が違うセル等製造工程が異なるセルをセル種で区別するものとする。従って、トランジスタモデルもセル種によって異なったモデルとなる。また、外形2とは、セル種の異なるセルを隣接配置することが可能な大きさを有する外形である。図5(b)と同じ考え方で決められた外形の大きさを有するセルである。これに対して、外形1は、セル種が同一であるセルしか隣接配置できない大きさを有するセルの外形である。図4(b)と同じ考え方で決められた外形の大きさを有するセルである。図6(a)には、比較のため、仮想的な外形1の大きさを破線702で示す。外形1は外形2より小さくすることができる。
図6(b)は、セル種Bのセルの外形を711で示す。外形711の外形の大きさは外形2で、異なるセル種のセルが隣接配置可能な大きさを持っている。このセルの仮想的な外形1の大きさを破線712で示す。
図6(c)に図6(a)の外形2を有するセル種Aのセルと図6(b)の外形2を有するセル種Bのセルとを混在して自動配置した場合のレイアウトを示す。このレイアウトは、一般的な自動レイアウトツールで配置した場合に相当し、特にセル種が混在してレイアウトされることを意識する必要はない。
これに対して図6(d)に示すセル種Aの外形731は外形1であり、同一セル種のセルのみが隣接配置できる大きさの外形を備えている。セル種Aの外形2の大きさを仮想的に破線732で示す。
図6(e)に示すセル種Bの外形741は隣接配置されるセルが異なるセル種の外形1を有するセルであっても設計基準を満たすように外形の大きさが決められている。特に隣接配置されるセルが外形1を有するセル種Aのセルである場合にも設計基準を満たすように外形の大きさが決められるので、図6(b)に示す外形711より外形を大きくしなければならない場合もあり得る。セルの外形を大きくしなければならないか否かは、拡散層間の距離等他の基準にも依存する。したがって、外形741の大きさと外形711の大きさはかならずしも同一の大きさとはならない場合もある。ここでは、外形741の大きさは外形711と同一であるとする。また、外形1の大きさを仮想的に破線712で示す。
この図6(d)のセルと図6(e)のセルを混在して配置したレイアウトを図6(f)に示す。セル種Aのセルとセル種Bのセルの並ぶ順番は図6(c)と同一である。ここでは、外形711と外形741の大きさが同一であるとしたので、図6(f)のレイアウトでは、単純に外形701(外形732の大きさに等しい)と外形731との大きさの違いだけ図6(c)のレイアウトより図6(f)のレイアウトの方がレイアウト面積が縮小している。図6(c)、図6(f)では、いずれもセル種Aを6セル配置しているので、図6(f)のレイアウト面積は、701と732の面積の6倍だけ、図6(c)のレイアウト面積より小さくする。しかし、図6(e)に示すセル種Bの外形741の大きさは、隣接した配置されるセルが図6(d)の外形732を有するセル種Aのセルであろうと、図6(e)のセル種Bのセルであろうとどちらが自動配置されても設計基準を満たすような大きさの外形が定められているので、自動配置において、隣接した配置されるセルの種類を意識せずに自動的に配置を行うことができる。
上記図6では、セルの種類の数はセル種Aとセル種Bの2つである場合に説明したが、セルの種類の数が3以上に増えた場合も考え方は同一である。図6(d)〜図6(f)において、3種類以上のセル種の中から1種類のセル種を選んで、そのセル種には、図6(d)のように「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの外形」を第1の外形として設定する。上記選択した1種類以外の残りの種類のセルには、図6(e)のように「上記第1の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第2の外形」を設定する。
例えば、セル種A、セル種B以外にセル種C、セル種Dが存在する場合に、図6(d)と同様にセル種Aに第1の外形(同一種類のセルのみ隣接配置可能)を設定する場合には、セル種B〜セル種Dについて第2の外形(任意のセルが隣接配置可能な大きさの外形)を設定する。その場合、セル種Aには、第1の外形を有するセル種Aと第2の外形を有するセル種B〜Dとのいずれかが隣接して配置されることになるが、どのセル種のセルが隣接配置されても設計基準は満たす事になる。また、セル種B〜Dについても、第1の外形を有するセル種Aか、第2の外形を有するセル種B〜Dが配置されることになり、いずれの場合も設計基準を満たす。
次に、実施例1の半導体集積回路のセル自動配置装置10の構成について、図1を参照して説明する。接続情報記憶部24は、自動配置の対象とする回路の素子間の接続情報が記憶されている。接続情報には各素子についてどの種類(セル種、トランジスタモデル、製造工程または製造条件)のどの機能のセルを用いるかについて、直接又は間接に指定する情報が含まれているとする。この接続情報記憶部24が記憶する接続情報は従来の自動配置ツールが用いる接続情報から何ら変更する必要はない。従来の自動配置ツールが用いる接続情報をそのまま用いることができる。
優先配置セル種指定部12は、図5(a)のように複数の種類のセルを混在してレイアウトしなければならない場合に、どの種類のセルについて、同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形(例えば、図4(b)の411、412、413、図6(d)の731参照)を使用してレイアウトするか決定する。第1の外形を選択するセルの種類は1種類であるとする。ここでは、「優先配置セル種」としているが、「優先配置セル種」の「優先配置」には、優先して小さな外形のセルを用いること以上の意味はない。
また、優先配置セル種指定部12は、接続情報記憶部24に記憶する自動配置の対象となるセルの数をセルの種類毎に計数し、最も数の多いセルを優先配置セル種に指定してもよい。第1の外形を用いるセルの数が多いほど全体のレイアウト面積が小さくなるからである。また、セルの種類毎に第1の外形を用いる場合と第2の外形のセルを用いる場合の面積の差を求め、面積の差をさらに考慮して第1の外形を用いるセルの種類を決定してもよい。また、第1の外形を用いればよいセルの種類があらかじめ自明なこととしてわかっている場合には、オペレータが直接第1の外形を用いるセルの種類を直接指定できるようにしてもよい。
セル基本情報記憶部21は、自動配置の用いる各機能のセルの情報を格納する。このセル基本情報記憶部に記憶する情報には、セルの外形の大きさを決めるために必要なセル内部のレイアウト情報を含む。たとえば、拡散層の位置や不純物注入マスクの位置に関する情報を含む。なお、このセル基本情報記憶部21が記憶するセル基本情報には、仮の外形の情報が含まれていてもよい。
外形設定ルール記憶部22には、セルの外形の大きさを決定するために必要な設計基準に関するデータが格納されている。このデータには、隣接するセルとの拡散層間の距離や不純物注入マスク間の距離が含まれる。この拡散層間の距離や不純物注入マスク間の距離のデータには、隣接配置されるセルが同一種類のセルであるか異なる種類のセルであるかによって基準が違う場合は、隣接配置されるセルの種類によって異なる距離のデータを格納する。例えば、図4(c)と図5(c)で説明したように、隣接配置されるセルの種類が同一であるか異なる種類のセルであるかによって、不純物注入マスクの基準が異なる場合がある。
セル外形設定部11は、優先配置セル種指定部12が指定する同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの外形を設定する一種類のセルと、セル基本情報記憶部21が記憶するセル内部のレイアウト情報、外形設定ルール目記憶部22が記憶する設計基準に関する情報を元に少なくとも自動配置で用いるセルについて、セル外形の設定を行う。セル外形設定部11が設定する外形の大きさは、優先配置セル種指定部12が指定した1種類のセルについては、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形」を設定し、その他の種類のセルには、「上記第1の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第2の外形」を設定する。なお、「セルの種類に係わらずセルを隣接配置することが可能な大きさ」の外形とは、あくまで後で説明するセル自動配置部13がそのまま配置対象とするセルのことを述べており、セル自動配置部13が直接自動配置の対象としないセルは対象外である。
セルの原点の位置がセルの中心ではなく、セルの外形の設定により、セルの原点の位置が移動する場合は、セル内の拡散層や不純物注入マスク等のセル内の位置に関する情報は、セルの原点の移動に伴って、移動させる。または、オフセットデータを別に持たせる。このセル内の拡散層や不純物注入マスクの位置等に関する情報は、自動配置配線の後、レイアウトデータに基づいて、LSI製造に用いるマスクを製造するときに必要となる。
セル外形設定部11が設定した外形を含むセルのレイアウトに関する情報はセルライブラリ記憶部23に記憶する。セルライブラリ記憶部23には、少なくとも接続情報記憶部24に記憶する自動配置の対象となる回路のレイアウトに必要な全てのセルに関するレイアウト情報が含まれる。セルライブラリ記憶部23が記憶するセルのレイアウトの情報には、優先配置セル種指定部12が設定した一種類のセルには、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形」が設定され、それ以外のセルには、「上記第1の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第2の外形」が設定されている。
セル自動配置部13は、接続情報記憶部24に記憶された自動配置の対象となる回路の接続情報とセルライブラリ記憶部23のセルのレイアウトに関する情報を基にセルの自動配置を行う。このセル自動配置部13の機能は、従来の自動配置配線ツールの自動配置機能をそのまま使用することができる。セルライブラリ記憶部23が記憶するセルのレイアウト情報には、一種類のセルには、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形」が設定され、それ以外のセルには、「上記第1の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第2の外形」が設定されているからである。従って、セル自動配置部13は、セルの種類、外形の大きさの違いを考慮することなく自動配置することができる。セル自動配置部13が配置したレイアウトデータは、レイアウトデータ記憶部25に記憶される。レイアウトデータ記憶部25は一時的なバッファであってもよい。最終的に、レイアウトデータ記憶部25の自動配置済みデータに基づいて、半導体集積回路の製造工程に必要なマスク(又は直接露光データ)が作成される。
図2は、実施例1による半導体集積回路のセル自動配置方法の処理手順を示すフロー図である。図2の方法は、図1の半導体集積回路の自動配置装置10を用いて行うことができる。図2において、優先配置セル種指定工程ステップS1では、複数種類のセルの内、後で説明する自動配置工程ステップS3において用いる第1の外形を有するセルの種類を指定する。第1の外形とは、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの」外形を言う。
次に、セル外形設定工程ステップS2では、優先配置セル種指定工程S1で第1の外形を用いると指定された種類のセルには、第1の外形を設定し、それ以外の種類のセルには、第1の外形が設定されるセルを含めセルの種類に係わらずセルを隣接配置することが可能な大きさの第2の外形を設定する。
さらに、セル自動配置工程ステップS3では、セル外形設定工程ステップS2で外形が設定されたセルを用いてレイアウト対象とする回路について自動配置を行う。
なお、この後の工程については、図示を省略しているが、自動配置したセルの間で自動配線が行われ、半導体集積回路の自動配置配線が完了する。さらに、自動配置配線したデータの階層構造が取り払われフラットなデータにされて、そのデータに基づいてLSI製造に必要な各層のマスクが製造される。さらに、LSIのウェハー段階の製造工程では、各層のマスクに基づいて、半導体基板の上に素子や配線が形成され、半導体集積回路として完成する。
図7は、実施例2による半導体集積回路の自動配置装置10aの構成を示すブロック図である。図1に示す実施例1による自動配置装置10と構成機能がおおよそ同一である部分については、同一の符号を付し、重複する説明は省略する。図1の自動配置装置10では、セル外形設定部11は、優先配置セル種指定部12の指定に基づき、優先セル種指定部12が指定した種類のセルについて第1の外形(同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの外形)を設定し、それ以外のセルについて第2の外形(上記第1の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの外形)を設定していた。これに対し実施例2のセル外形設定部11Aは、優先配置セル種指定部12の指定なしに複数種類のセルのうち、あらかじめ第1の外形の使用が想定されるセルの種類について、セルの外形を設定し、セルライブラリ記憶部23a等に外形が設定されたセルのライブラリを記憶させておく。複数の種類のセルのうち、第1の外形の使用が想定されるセルの種類が複数ある場合には、第1の外形を設定するセルの種類毎にその種類のセルに第1の外形を設定し、他の種類のセルに第2の外形を設定する。このセルライブラリを第1の外形の使用が想定される種類の数だけセルライブラリを設定する。
図7では、セルライブラリ記憶部を23a〜23dの4つ設けている。4つ設けるのは、セルの種類が4つ以上存在し、そのうち、第1の外形に選択される可能性のあるセルの種類が4種類あり、その4種類のセルをそれぞれ第1の外形、他の種類のセルを第2の外形とするセルライブラリを4種類設定することを意味する。そして、各セルライブラリ記憶部毎に、第1の外形を設定するセルと第2の外形を設定するセルのレイアウトに必要な情報を格納する。
また、図1の自動配置装置10では、接続情報記憶部24に含まれる回路に用いられるセルについてのみセルライブラリ記憶部23に記憶させても良かったが、図7のセルライブラリ記憶部23a〜23dでは、自動配置の対象となる回路が特定される前であってもセルライブラリ記憶部23a〜23dに自動配置用のセルライブラリが準備できるように自動配置の対象となることが考えられるセルはすべてライブラリとしてセルライブラリ記憶部23a〜23dに記憶させる。
セル自動配置部13では、優先配置セル種指定部12によって、第1の外形を用いると指定されたセルの種類によって、複数のセルライブラリ記憶部23a〜23dから該当するセルライブラリ記憶部に記憶されたセルライブラリを用いてセル自動配置を行う。セル自動配置部13の動作としては、複数のセルライブラリ記憶部から優先配置セル種指定部12の指定によりセル自動配置部13で用いるセルライブラリ記憶部(図7では23a〜23dのいすれか1つ)を選択することが異なるだけであり、後の動作、機能は、図1のセル自動配置部13の機能と同一である。上記以外は、実施例2の自動配置装置10aの構成は、実施例1の自動配置装置10と機能、動作は同一である。
図8は、実施例2による半導体集積回路の自動配置方法の処理手順を示すフロー図である。図8の自動配置方法は、図7の自動配置装置10aを用いて実施することができる。図8の実施例2による自動配置方法では、図2に示す実施例1による自動配置方法と優先配置セル種指定工程S1の前にセル外形設定工程S2Aを実行できる点が異なっている。図8において、優先配置セル種指定工程S1では、実施例1で説明したように第1の外形を使用するセルの種類を指定するが、これは、一般的には自動配置の対象とする回路が確定しないと決まらない。回路が確定しないとどのようなセルを用いてレイアウトする必要があるかも決まらないからである。そこで、実施例2の自動配置方法では、どの種類のセルが第1の外形を設定することになってもよいように、複数の種類のセルのうち、第1の外形の指定が考えられるセルの種類毎に全ての種類のセルについてそれぞれ、第1の外形、第2の外形を備えたセルライブラリを準備しておく。セル自動配置工程ステップS3では、優先配置セル種指定工程ステップS1で指定されたセルについて第1の外形が設定されたセルライブラリを用いて自動配置を行う。実施例2では、自動配置の対象となる回路が決定する前であってもセル外形設定工程ステップS2Aを実行し、あらかじめセルライブラリを準備しておくので、自動配置の対象となる回路が確定し、第1の外形を用いるセルの種類が決まれば、すぐセル自動配置工程ステップS3を実行できる点で、自動配置の対象となる回路が確定してから後の工程の短縮を行うことができる。また、セル外形設定工程ステップS2Aで準備したセルライブラリは、レイアウト対象とする回路に限定されずに汎用性があるので、異なる回路の自動配置にも使用できるというメリットがある。
なお、実施例2では、優先配置セル種指定工程ステップS1とセル外形設定工程ステップS2はどちらを先に行ってもかまわない。セル自動配置工程ステップS3の前に優先配置セル種指定工程ステップS1とセル外形設定工程ステップS2が完了していればよい。
図9は、実施例3による半導体集積回路の自動配置装置10bの構成を示すブロック図である。図9の自動配置装置10bは、図7の実施例2の自動配置装置10aのセル基本情報記憶部21が標準セルライブラリ記憶部21Aに代わり、セル外形設定部11Aがセル外形変更部11Bに代わっている。その他の構成は、図7に示す実施例2と同一である。
実施例1、実施例2のセル基本情報記憶部21は、まだ、セルの外形が設定されていないセルの情報を記憶しているものとして説明した。それに対し、実施例3の標準セルライブラリ記憶部21Aは、すでにセルの外形が設定された自動レイアウト用の標準的なセルライブラリである。実施例3では、この様なすでにセルの外形が設定された標準的なセルライブラリがある場合にその外形の大きさを変更することによって、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形」が設定されたセルと、「上記第1の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第2の外形」が設定されたセルとを含むセルライブラリを設定し、セルライブラリ記憶部23a〜23dに記憶させている。
セルライブラリ記憶部23a〜23dに記憶するライブラリの内容は、実施例2と同一である。すなわち、実施例2では、外形が設定されていないセルの情報を元に新たにセルの外形を設定していたが、実施例3では、すでに外形が設定されているセルの外形の大きさを変更することによって、セルライブラリ記憶部23a〜23dに記憶するセルライブラリを設定している。それ以外は、実施例2と動作についても同一である。
なお、基準セルライブラリ記憶部21Aに記憶するセルの外形は、図5(b)の示す隣接配置するセル種に依存しない大きさの外形を有するセルであってもよいし、図4(b)に示す同一種類のセルしか隣接配置することができない大きさの外形を有するセルであってもよい。
図10に、実施例3による半導体集積回路の自動配置方法の処理手順を示すフロー図を示す。図8のセル外形設定工程ステップS2Aが図10ではセル外形変更工程ステップS2Bに代わっており、実施例2の図8では外形が設定されていないセルの基本情報から新たにセルの外形を設定していたのに対して、すでに設定されているセルの外形の大きさを変更して新たにセルライブラリを設定している点が異なっているが、他はすべて実施例2の処理手順と同じである。
また、実施例3の図9、図10では、実施例2における図7、図8のセル外形設定部11A、セル外形工程ステップS2Aをそれぞれ、セル外形変更部11B、セル外形変更工程ステッブS2Bとしたが、図1、図2におけるセル外形設定部11、セル外形設定工程ステップS2において、外形設定済みの基準セルライブラリを変更してセルライブラリ記憶部23に記憶するセルライブラリを設定することも可能であることはいうまでもない。
実施例3によれば、すでに存在する自動配置用のセルライブラリの外形を一部変更することにより面積が小さく、かつ、隣接配置するセルの種類を考慮しなくとも、自動配置することができる。
実施例4は、実施例1乃至3の自動配置装置、自動配置方法を、コンピュータを用いて実行する実施例である。実施例1乃至3の自動配置装置、自動配置方法は、EWS(エンジニアリングワークステーション)やPC(パーソナルコンピュータ)等の汎用コンピュータを用いても実現することができる。例えば、図1において、接続情報記憶部24、外形設定ルール記憶部22、セル基本情報記憶部21、セルライブラリ記憶部23、レイアウトデータ記憶部25をいずれもコンピュータのメモリやハードディスク等の外部記憶装置に設定し、コンピュータプログラムによりコンピュータのCPUや演算装置をセル外形設定部11、優先配置セル種指定部12、セル自動配置部13として機能させることができる。また、図2等に記載する自動配置方法もコンピュータにコンピュータプログラムを実行させることにより、実行することができる。図7〜図10に示す実施例2、実施例3においても同様に、コンピュータプログラムによりコンピュータを実施例2、実施例3の自動配置装置10a、10bとして機能させ、コンピュータに図8、図10の自動配置方法を実行させることができる。また、上記コンピュータプログラムは、CD、DVD、ハードディスク、フラッシュメモリなどの記憶媒体に格納してコンピュータにインストールすることができる。
以上、実施例について説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明は、半導体集積回路の設計に汎用的に用いることができる。本発明により、隣接するセルとセルの種類が異なるか否か、製造工程が異なるか否かを考慮することなく、小さな面積でセルを自動配置することができるので、本発明を用いることにより、半導体装置の製造コストを下げ、チップ面積が小さくなることから品質を向上させることもできる。
10、10a、10b:(半導体集積回路の)自動配置装置
11、11A:セル外形設定部
11B:セル外形変更部(セル外形設定部)
12:優先配置セル種指定部
13:セル自動配置部
21:セル基本情報記憶部
21A:基準セルライブラリ記憶部(セル基本情報記憶部)
22:外形設定ルール記憶部
23、23a、23b、23c、23d:セルライブラリ記憶部
24:接続情報記憶部
25:レイアウトデータ記憶部
401:トランジスタモデルAによる2入力NANDゲートA2MA
402:トランジスタモデルAによるインバータI1MA
403:トランジスタモデルAによるバッファーインバータI2MA
411、412、413、511、512、513:セル
421、521、522、523:不純物注入領域
502:トランジスタモデルBによるインバータI1MB
503:トランジスタモデルCによるバッファーインバータI2MB
701:セル種Aの外形(任意のセルが隣接配置可能な外形)
702:セル種Aの仮想的な外形(同一種類のセルのみ隣接配置可能な外形)
711:セル種Bの外形(任意のセルが隣接配置可能な外形)
712:セル種Bの仮想的な外形(同一種類のセルのみ隣接配置可能な外形)
731:セル種Aの外形(同一種類のセルのみ隣接配置可能な外形)
732:セル種Aの仮想的な外形(任意のセルが隣接配置可能な外形)
741:セル種Bの外形(任意のセルが隣接配置可能な外形)
S1:優先配置セル種指定工程
S2、S2A:セル外形設定工程
S2B:セル外形変更工程
S3:セル自動配置工程
11、11A:セル外形設定部
11B:セル外形変更部(セル外形設定部)
12:優先配置セル種指定部
13:セル自動配置部
21:セル基本情報記憶部
21A:基準セルライブラリ記憶部(セル基本情報記憶部)
22:外形設定ルール記憶部
23、23a、23b、23c、23d:セルライブラリ記憶部
24:接続情報記憶部
25:レイアウトデータ記憶部
401:トランジスタモデルAによる2入力NANDゲートA2MA
402:トランジスタモデルAによるインバータI1MA
403:トランジスタモデルAによるバッファーインバータI2MA
411、412、413、511、512、513:セル
421、521、522、523:不純物注入領域
502:トランジスタモデルBによるインバータI1MB
503:トランジスタモデルCによるバッファーインバータI2MB
701:セル種Aの外形(任意のセルが隣接配置可能な外形)
702:セル種Aの仮想的な外形(同一種類のセルのみ隣接配置可能な外形)
711:セル種Bの外形(任意のセルが隣接配置可能な外形)
712:セル種Bの仮想的な外形(同一種類のセルのみ隣接配置可能な外形)
731:セル種Aの外形(同一種類のセルのみ隣接配置可能な外形)
732:セル種Aの仮想的な外形(任意のセルが隣接配置可能な外形)
741:セル種Bの外形(任意のセルが隣接配置可能な外形)
S1:優先配置セル種指定工程
S2、S2A:セル外形設定工程
S2B:セル外形変更工程
S3:セル自動配置工程
Claims (12)
- 複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形を設定し、前記一種類以外の種類のセルには、前記第1の外形が設定されるセルを含めセルの種類に係わらずセルを隣接配置することが可能な大きさの第2の外形を設定するセル外形設定工程と、
前記セル外形設定工程で設定した外形を有するセルを用いて前記複数種類のセルを自動配置するセル自動配置工程と、
を備えることを特徴とする半導体集積回路のセル自動配置方法。 - 前記複数種類のセルは、種類の違いによって少なくとも一工程の製造条件が異なるセルであることを特徴とする請求項1記載の半導体集積回路のセル自動配置方法。
- 前記複数種類のセルは、種類の違いによってトランジスタモデルが異なるセルであることを特徴とする請求項1又は2記載の半導体集積回路のセル自動配置方法。
- 前記複数種類のセルの内、前記自動配置工程において用いる第1の外形を有するセルの種類を指定する優先配置セル種指定工程を、さらに備えることを特徴とする請求項1乃至3いずれか1項記載の半導体集積回路のセル自動配置方法。
- 前記優先配置セル種指定工程において、自動配置の対象となるセルを前記種類毎に計数し、その計数値に基づいて、前記自動配置工程において用いる第1の外形を有するセルの種類を指定することを特徴とする請求項4記載の半導体集積回路のセル自動配置方法。
- 前記優先配置セル種指定工程において、第1の外形を用いるセルの種類を決定し、その決定に基づいて、前記セル外形設定工程において、セルの外形を設定することを特徴とする請求項4又は5記載の半導体集積回路のセル自動配置方法。
- 前記セル外形設定工程において、あらかじめ第1の外形を用いるセルの種類毎に前記の複数種類のセルについて外形を設定した複数のセルライブラリを設定し、
前記優先配置セル種指定工程では、前記複数のセルライブラリのうち、前記自動配置皇帝で用いるセルライブラリを指定することを特徴とする請求項4又は5記載の半導体集積回路のセル自動配置方法。 - 複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第1の外形を設定し、前記一種類以外の種類のセルには、前記第1の外形が設定されるセルを含め隣接配置されるセルの種類に係わらず隣接配置することが可能な大きさの第2の外形を設定するセル外形設定部と、
前記外形設定部が外形を設定したセルをライブラリとして記憶するセルライブラリ記憶部と、
自動配置の対象とする回路の接続情報とセルの種類が格納された接続情報記憶部と、
前記セルライブラリ記憶部に記憶されたセルライブラリのセルを前記接続情報記憶部に記憶された回路の接続情報とセルの種類に基づいて自動配置を行うセル自動配置部と、
を備えることを特徴とする半導体集積回路の自動配置装置。 - 前記接続情報記憶部に格納された自動配置の対象となるセルをセルの種類毎に計数し、その計数値に基づいて、前記自動配置部において用いる第1の外形を有するセルの種類を指定する優先配置セル種指定部をさらに備えることを特徴とする請求項8記載の半導体集積回路のセル自動配置装置。
- 前記セル外形設定部は、あらかじめ第1の外形を用いるセルの種類毎に前記の複数種類のセルについて外形を設定した複数のセルライブラリを前記セルライブラリ記憶部に記憶させ、
前記セル自動配置部は、前記優先配置セル種指定部が指定する第1の外形を有するセルの種類によって、前記複数のセルライブラリから前記自動配置に用いるセルライブラリを選択して、当該セルライブラリのセルを前記自動配置に用いることを特徴とする請求項9記載の半導体集積回路のセル自動配置装置。 - コンピュータに請求項1乃至7いずれか1項記載の半導体集積回路のセル自動配置方法を実行させるためのプログラム。
- コンピュータを請求項8乃至10いずれか1項記載のセル自動配置装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009265355A JP2011109025A (ja) | 2009-11-20 | 2009-11-20 | 半導体集積回路のセル自動配置方法、装置、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009265355A JP2011109025A (ja) | 2009-11-20 | 2009-11-20 | 半導体集積回路のセル自動配置方法、装置、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011109025A true JP2011109025A (ja) | 2011-06-02 |
Family
ID=44232161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009265355A Withdrawn JP2011109025A (ja) | 2009-11-20 | 2009-11-20 | 半導体集積回路のセル自動配置方法、装置、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011109025A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014142044A1 (ja) * | 2013-03-13 | 2014-09-18 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US10067825B2 (en) | 2015-09-14 | 2018-09-04 | Samsung Electronics Co., Ltd. | Memory device and method of controlling ECC operation in the same |
-
2009
- 2009-11-20 JP JP2009265355A patent/JP2011109025A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014142044A1 (ja) * | 2013-03-13 | 2014-09-18 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US10067825B2 (en) | 2015-09-14 | 2018-09-04 | Samsung Electronics Co., Ltd. | Memory device and method of controlling ECC operation in the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8219965B2 (en) | Layout design method of semiconductor integrated circuit including regenerating a cell layout to set first and second distances and generating library data | |
US20190155984A1 (en) | Integrated circuit and layout method for standard cell structures | |
US9098670B2 (en) | Double patterning layout design method | |
US10553574B2 (en) | Standard cell for removing routing interference between adjacent pins and device including the same | |
US20170033101A1 (en) | Integrated circuit and standard cell library | |
USRE49780E1 (en) | Methods of designing a layout of a semiconductor device including field effect transistor and methods of manufacturing a semiconductor device using the same | |
US8881083B1 (en) | Methods for improving double patterning route efficiency | |
JP2007128512A (ja) | 半導体デバイスの製造適合性を向上させるための方法、システム及びプログラム | |
US20210173999A1 (en) | Electrical circuit design using cells with metal lines | |
JP2008078508A (ja) | 半導体集積回路及び半導体集積回路の製造方法 | |
US20070246827A1 (en) | Semiconductor integrated circuit and method of designing semiconductor integrated circuit | |
JP2006301961A (ja) | 半導体集積回路の自動フロアプラン手法 | |
US20240037309A1 (en) | Multiplexer | |
US8187924B2 (en) | Method, design program and design support device for semiconductor integrated circuit, and semiconductor integrated circuit | |
US9965579B2 (en) | Method for designing and manufacturing an integrated circuit, system for carrying out the method, and system for verifying an integrated circuit | |
CN117436398B (zh) | 躲避宏单元的电源开关单元自动插入方法、系统、终端及介质 | |
US11392743B2 (en) | Multiplexer | |
JP2001306641A (ja) | 半導体集積回路の自動配置配線方法 | |
JP2011109025A (ja) | 半導体集積回路のセル自動配置方法、装置、及びプログラム | |
US9892226B2 (en) | Methods for providing macro placement of IC | |
US20100138803A1 (en) | Apparatus and method of supporting design of semiconductor integrated circuit | |
JP2005209685A (ja) | マスクパターンデータ自動補正方法及びそのプログラム | |
JP2007257293A (ja) | 集積回路の階層設計方法および装置 | |
KR102257381B1 (ko) | 집적회로 레이아웃의 설계 방법 및 그것을 수행하는 컴퓨터 시스템 | |
JP2013239073A (ja) | レイアウト方法及び設計支援プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130205 |