集積回路設計方法及び集積回路設計装置
【課題】処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できる集積回路設計方法及び集積回路設計装置を提供する。
【解決手段】集積回路設計方法は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更ステップと、前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含む。
【解決手段】集積回路設計方法は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更ステップと、前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集積回路設計方法及び集積回路設計装置に関する。
【背景技術】
【0002】
近年、半導体集積回路(広義には集積回路)の高機能化や高性能化に対する市場の要求が高い。そのため、配線の多層化や製造プロセス技術の進歩によって半導体集積回路の高集積化が急速に進む一方で、半導体集積回路は、アナログ回路等の特殊なマクロブロックの搭載や回路規模の大幅な増大により、セルや配線の配置が一層困難になっている。これに伴い、半導体集積回路の設計期間が長くなり、設計期間の短縮が大きな課題の1つとなっている。
【0003】
このような半導体集積回路を短期間でユーザに提供するため、ゲートアレイ、エンベデッドアレイやスタンダードセルで構成される半導体集積回路の設計手法が整備されている。例えばスタンダードセルで構成される半導体集積回路では、ユーザが必要とする機能が、最適設計された内部ロジックセルとROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)やアナログ回路等のマクロブロックとが配線により接続されて1チップ化される。その際、マクロブロックの配置位置等をフロアプランとして決定した後、自動配置配線ツールにより、チップ上のレイアウト可能領域内において定義された配線グリッド上にセルの端子が配置され、ネットリストに従って配線が配置される。
【0004】
ところが、自動配置配線ツールを用いた場合でも、アナログマクロブロックの周辺では、デジタル信号の配線とアナログ信号の配線とが並走したり、交差したりすることがあり、クロストーク等に起因してアナログ信号への影響が大きくなることがある。例えば、アナログマクロブロックの周辺を、セル配置配線禁止領域に設定してセルや配線の配置が行われないようにしても、配線領域の余裕がない場合には、このセル配置配線禁止領域にも配線が配置されてしまう。この場合、配線グリッド間隔が同じであるため、デジタル信号の配線とアナログ信号の配線とが隣接して配置されることがある。
【0005】
例えば特許文献1には、カップリング容量によるクロストークを防止するために、概略配線の結果に基づいて、配線グリッド数の余裕度に応じた配線ピッチに基づいて配線グリッドを再生成する技術が開示されている。
【0006】
【特許文献1】特開2004−133638号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
ところで、自動配置配線ツールでは、格子状に定義された配線グリッド上に配線が配置され、配線グリッドの格子点上に端子が配置されるようにセルが配置される。しかしながら、特許文献1では、配線グリッド数の余裕度に応じた配線ピッチに基づいて、単純に配線グリッドを再生成するに過ぎず、再生成後の配線グリッドに配置可能なセルの種類が限定されてしまう。そのため、配線グリッドを用いない特殊な配線処理を行う必要が生じ、処理負荷が重くなってしまうという問題がある。
【0008】
このように、特許文献1に開示された技術を用いても、任意の配線ピッチの配線グリッドを再生成できるわけではなく、実質的に、元のセルが配置できるような配線ピッチの配線グリッドを再生成せざるを得ない。従って、特許文献1に開示された技術では、特殊な配線処理による処理負荷が重くなるか、集積回路の高集積化の効果が十分に得られない。
【0009】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的の1つは、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できる集積回路設計方法及び集積回路設計装置を提供することにある。
【課題を解決するための手段】
【0010】
上記課題を解決するために本発明は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更ステップと、前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含む集積回路設計方法に関係する。
【0011】
本発明によれば、局所的に配線グリッド間隔を大きくすると共に、大きくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、所定のマクロブロック周辺において、例えばアナログ信号を伝送する信号配線とデジタル信号を伝送する信号配線とのクロストークによる影響を低減できるようになる。
【0012】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0013】
本発明によれば、上記の効果に加えて、少なくとも1つの方向に延びる配線グリッドの間隔を変更することで、クロストークにより配線間の影響を与えていた領域内でも、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できるようになる。
【0014】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、前記領域の外側に配線グリッドを設定するように、前記配線グリッドの間隔を大きく変更することができる。
【0015】
本発明によれば、上記の効果に加えて、配線グリッド変更領域内では、その領域外に変更された配線グリッド上にセル及び配線が配置されることを確実に防止できるようになる。
【0016】
また本発明は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドを消滅させる配線グリッド変更ステップと、前記配線グリッド変更領域として設定された前記領域を除外して、前記配線グリッド変更ステップにおける処理後の配線グリッドにセル及び配線を配置する配置配線ステップとを含む集積回路設計方法に関係する。
【0017】
本発明によれば、これまで配線間にクロストークによる影響を及ぼしていた場合でも、配線グリッド変更領域には配線グリッドが消滅しているため、セルや配線が配置されず、この領域内の配線間のクロストークによる影響を確実に低減できるようになる。
【0018】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させることができる。
【0019】
本発明によれば、上記の効果に加えて、少なくとも1つの方向に延びる配線グリッドを消滅させることで、クロストークにより配線間の影響を与えていた領域内でも、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できるようになる。
【0020】
また本発明に係る集積回路設計方法では、前記第1の方向は、スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であってもよい。
【0021】
また本発明に係る集積回路設計方法では、前記配線グリッド変更領域として設定された前記領域が、アナログマクロブロックの周辺領域であってもよい。
【0022】
本発明によれば、配線グリッド変更領域に、例えばデジタル信号の配線が配置されたとしても、予めマクロブロックに入力又は出力されるアナログ信号の配線と離れて配置されるため、配線へのクロストークによる影響を低減できるようになる。
【0023】
また本発明に係る集積回路設計方法では、前記アナログマクロブロックの周辺領域が、前記アナログマクロブロックの周囲に所与の長さだけ外側に設けられる領域であってもよい。
【0024】
本発明によれば、アナログマクロブロックの周囲に所与の長さだけ外側に設けられる領域で、配線グリッドを消滅させるようになるので、例えばデジタル信号の配線が、該アナログマクロブロックに入力又は出力されるアナログ信号の配線に与えるクロストークによる影響を、確実に低減できるようになる。
【0025】
また本発明は、配線グリッド上に配線及びセルを配置する集積回路設計装置であって、同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、前記配線グリッド変更領域設定部により前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更処理部と、前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部とを含み、前記配置配線処理部が、前記セル情報記憶部に記憶されたセルの情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置する集積回路設計装置に関係する。
【0026】
本発明によれば、局所的に配線グリッド間隔を大きくすると共に、大きくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、所定のマクロブロック周辺において、例えばアナログ信号を伝送する信号配線とデジタル信号を伝送する信号配線とのクロストークによる影響を低減できるようになる。
【0027】
また本発明に係る集積回路設計装置では、前記配線グリッド変更処理部が、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0028】
本発明によれば、上記の効果に加えて、少なくとも1つの方向に延びる配線グリッドの間隔を変更することで、クロストークにより配線間の影響を与えていた領域内でも、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できるようになる。
【0029】
また本発明に係る集積回路設計装置では、前記配線グリッド変更処理部が、前記領域の外側に配線グリッドを設定するように、前記配線グリッドの間隔を大きく変更することができる。
【0030】
本発明によれば、上記の効果に加えて、配線グリッド変更領域内では、その領域外に変更された配線グリッド上にセル及び配線が配置されることを確実に防止できるようになる。
【0031】
また本発明は、配線グリッド上に配線及びセルを配置する集積回路設計装置であって、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、前記配線グリッド変更領域設定部により前記配線グリッド変更領域として設定された前記領域内の配線グリッドを消滅させる配線グリッド変更処理部と、前記配線グリッド変更領域として設定された前記領域を除外して、前記配線グリッド変更処理部による処理後の配線グリッドにセル及び配線を配置する配置配線処理部とを含む集積回路設計装置に関係する。
【0032】
本発明によれば、これまで配線間にクロストークによる影響を及ぼしていた場合でも、配線グリッド変更領域には配線グリッドが消滅しているため、セルや配線が配置されず、この領域内の配線間のクロストークによる影響を確実に低減できるようになる。
【0033】
また本発明に係る集積回路設計装置では、前記配線グリッド変更処理部が、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させることができる。
【0034】
本発明によれば、上記の効果に加えて、少なくとも1つの方向に延びる配線グリッドを消滅させることで、クロストークにより配線間の影響を与えていた領域内でも、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できるようになる。
【0035】
また本発明に係る集積回路設計装置では、前記第1の方向は、スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であってもよい。
【0036】
また本発明に係る集積回路設計装置では、前記配線グリッド変更領域として設定された前記領域が、アナログマクロブロックの周辺領域であってもよい。
【0037】
本発明によれば、配線グリッド変更領域に、例えばデジタル信号の配線が配置されたとしても、予めマクロブロックに入力又は出力されるアナログ信号の配線と離れて配置されるため、配線へのクロストークによる影響を低減できるようになる。
【発明を実施するための最良の形態】
【0038】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
【0039】
以下の実施形態では、本発明に係る実施形態における集積回路が、スタンダードセルとマクロブロックとで構成されるものとして説明するが、本発明はこれに限定されるものではなく、ゲートアレイやエンベデッドアレイで構成されていてもよい。
【0040】
〔実施形態1〕
図1(A)、図1(B)に、本発明の実施形態1における集積回路設計装置の処理の概要を模式的に示す。図1(A)は、実施形態1の比較例における集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図1(B)は、実施形態1の集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図1(A)、図1(B)において、同一部分には同一符号を付し、適宜説明を省略する。
【0041】
実施形態1又はその比較例における集積回路設計装置は、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロックとの間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。その結果、図1(A)、図1(B)において、集積回路100には、マクロブロック102と、論理回路のセルと、これらを接続する配線とが配線グリッド上に配置される。
【0042】
図1(A)では、格子状に設けられた配線グリッドGR上に、第1層配線ML1、第1層配線ML1より上層の第2層配線ML2、第1層配線ML1及び第2層配線ML2を電気的に接続するビアセルVCが配置される。隣接する配線グリッドGR同士の間隔である配線グリッド間隔GD1は、製造プロセスに依存したデザインルールにより規定される。例えば、隣接するビアセルVCのエッジ間の最小ピッチm1以上となるように配線グリッド間隔GD1が規定される。第1層配線ML1は例えば垂直方向に延びる配線グリッドGR上に配置されると共に、第2層配線ML2は例えば水平方向に延びる配線グリッドGR上に配置され、ビアセルVCは、配線グリッドの格子点上に配置される。
【0043】
図1(A)では、水平方向に延びる配線グリッドの間隔と、垂直方向に延びる配線グリッドの間隔とが同じであるものとして説明したが、両方向の配線グリッドの間隔が異なっていてもよい。
【0044】
ところで、実施形態1の比較例における集積回路設計装置では、図1(A)に示すように、同じ方向に延びる隣接する配線グリッド同士の配線グリッド間隔GD1が同じである。そのため、マクロブロック102の周辺領域では、配線同士が近くに配置される。例えば、マクロブロック102がアナログマクロブロックである場合には、アナログ信号の配線とデジタル信号の配線とが、配線グリッド間隔GD1を隔てて並走するように配置されたり、交差するように配置されたりしてしまい、アナログ信号にノイズを重畳させる可能性が高くなる。
【0045】
このような配線を防止するために、マクロブロックの周辺において、例えば全体の配線グリッド間隔を大きく変更することが考えられる。ところが、一般的な自動配置配線ツールでは、セル配置配線禁止領域であっても、配線の余裕度がなくなると、その領域内において、配線グリッド間隔が大きく変更された配線グリッド上に配線を配置することがある。ただ、配線処理を簡素化するためには、セルの端子を配線グリッドの格子点上に配置することが望ましく、単純に配線グリッド間隔を変更しただけでは、セルの端子が配置できなかったり、変更後の配線グリッド上に存在しないセルの端子と変更後の配線グリッド上の配線とを接続する配線処理が複雑化したりする。
【0046】
そこで、実施形態1では、局所的に配線グリッド間隔を大きくすると共に、大きくした配線グリッドに対応したセルグリッドで規定されたセルを配置することで、容易に、当該領域内の配線間のクロストークによる影響を低減させることができる。より具体的には、実施形態1では、図1(B)に示すように、配置される配線間のクロストークによる影響を低減したい領域を配線グリッド変更領域BAとして設定し、配線グリッド変更領域BA内の配線グリッド間隔GD2x、GD2y(GD2x>GD1、GD2y>GD1)となるように配線グリッド間隔を大きく変更すると共に、配線グリッド変更領域BA内で、配線グリッド間隔GD2x、GD2yに対応したセルグリッドで規定されたセルを配置する。
【0047】
こうすることで、図1(A)では、セル配置配線禁止領域として設定された領域に配置された配線間にクロストークによる影響を及ぼしていた場合でも、配線グリッド変更領域として、複雑な配線処理を行うことなく、この領域に配線される配線間のクロストークによる影響を確実に低減できるようになる。
【0048】
以下では、このような処理を実現する集積回路設計装置の構成及び動作について説明する。
【0049】
図2に、実施形態1における集積回路設計システムの構成例のブロック図を示す。
【0050】
実施形態1における集積回路設計システム10は、集積回路設計装置20と、表示装置40とを含む。集積回路設計装置20は、所与の自動配置配線アルゴリズムにより、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロック間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。集積回路設計装置20によるセルや配線の配置処理の結果は、表示装置40に表示される。集積回路設計装置20の機能は、パーソナルコンピュータやネットワーク端末(サーバに接続されるクライアント端末)等により実現され、表示装置40は、CRT(Cathode Ray Tube)装置や液晶表示装置等によって実現される。
【0051】
集積回路設計装置20は、ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、配置配線処理部30を含む。ネットリスト記憶部22は、ネットリストを記憶する。集積回路設計装置20は、このネットリストに基づいて、セルや配線を配置する処理を行う。
【0052】
配線グリッド変更領域設定部24は、レイアウト可能領域内の所与の領域を配線グリッド変更領域として設定する。配線グリッド変更領域では、領域内のセル配置の優先度が他の領域のセル配置の優先度より低く設定されることが望ましい。この配線グリッド変更領域は、配置される配線間のクロストークによる影響を低減したい領域に設定されることが望ましい。
【0053】
配線グリッド変更処理部26は、格子状に設けられた配線グリッドの間隔を変更する処理を行う。即ち、配線グリッド変更処理部26は、配線グリッド変更領域として設定される配線グリッド変更領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更する。このとき、配線グリッド変更処理部26は、配線グリッド変更領域内の配線グリッドの間隔をより大きく変更する。即ち、配線グリッド変更処理部26による変更処理前の第1の配線グリッド間隔GD1が、変更処理により第2の配線グリッド間隔GD2(GD2>GD1)となる。
【0054】
セル情報記憶部28は、複数のセル情報を記憶する。ここでセル情報は、セル毎に、セルの形状、端子数、端子位置等のセルや配線の配置に必要な情報を有する。各セルは、各セル内で定義されるセルグリッドを基準に、セル内のレイアウトの形状が指定される。セル情報記憶部28は、同一機能を有する複数のセルの構成それぞれについて、複数種類のセルグリッド間隔のそれぞれについて、セル情報を記憶する。例えば、インバータ回路に対応するセルについて、セル情報記憶部28には、第1のセルグリッド間隔で規定されたセルのセル情報と、第2のセルグリッド間隔で規定されたセルのセル情報とが記憶される。第1のセルグリッド間隔は第1の配線グリッド間隔(変更処理前の配線グリッド間隔)に対応するセルグリッド間隔であり、第2のセルグリッド間隔(変更処理後の配線グリッド間隔)は第2の配線グリッド間隔に対応するセルグリッド間隔である。
【0055】
配置配線処理部30は、ネットリスト記憶部22に記憶されたネットリストに基づいて、配線グリッドの格子点上にその端子が配置されるようにセルを配置すると共に、配線グリッド上に配線を配置する。
【0056】
図3に、図2の配線グリッド変更処理部26の動作説明図を示す。図3では、集積回路100がスタンダードセルにより構成されるものとし、各セルのP型(例えば第1導電型)アクティブ領域PA及びN型(例えば第2導電型)アクティブ領域NAのみを模式的に表している。
【0057】
配線グリッド変更領域設定部24により設定される配線グリッド変更領域内では、配線グリッド変更処理部26は、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0058】
図3に示すように各セルには、P型アクティブ領域PA及びN型アクティブ領域NAが配置されている。集積回路100では、セルC10〜C13のように、所与の方向の全セルの同一導電型のアクティブ領域が隣接して配置される。この全セルの同一導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向をX方向とする。このX方向と交差するY方向には、セルC10、C20のように、P型アクティブ領域PA及びN型アクティブ領域NAが交互に並ぶ場合や、セルC13、C24のように、ミラー配置によってP型アクティブ領域PA及びN型アクティブ領域NAの一方が隣接して並ぶ場合がある。
【0059】
このように、配線グリッド変更処理部26は、配線グリッド変更領域内において、図3のように定義されるX方向及びY方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。これにより、より大きく変更した配線グリッド間隔に対応したセルグリッド間隔で定義されるセルの生成が簡単になり、配線グリッド変更領域における配線処理も簡素化される。
【0060】
図4に、図2の配置配線処理部30の動作説明図を模式的に示す。
【0061】
図4では、配線グリッド間隔yd1でX方向(第1の方向)に延びる配線グリッドと、配線グリッド間隔xd1でY方向(第2の方向)に延びる配線グリッドとが、格子状に設けられている。即ち、X方向に延びる配線グリッドと、X方向と交差するY方向に延びる配線グリッドとが設けられている。
【0062】
配置配線処理部30は、所与の形状を有するセルCLの端子XC1を、配線グリッドの所与の格子点上に配置する。また、配置配線処理部30は、所与の配線グリッド上に配線CN1を配置する。
【0063】
従って、配線グリッド変更領域外では、変更処理前の配線グリッドの格子点上にその端子が配置されるようにセルが配置されると共に、変更処理前の配線グリッド上に配線が配置される。そして、配線グリッド変更領域内では、配線グリッド変更処理部26によりその間隔が変更された配線グリッドの格子点上にその端子が配置されると共に、変更処理後の配線グリッド上に配線が配置される。このとき、配線グリッド変更処理部26により変更された配線グリッドの間隔(第2の配線グリッド間隔)に対応したセルグリッドを基準にその構成が指定されたセル(第2のセルグリッド間隔で指定されたセル)が、変更処理後の配線グリッドの格子点上に配置される。
【0064】
図5に、図2のセル情報記憶部28が記憶するセル情報の概要を示す。
【0065】
セル情報記憶部28は、同一機能のセルに対し、互いに異なるセルグリッド間隔で規定された複数種類のセル情報を記憶する。例えば、同じ機能を有するインバータ回路に対し、2種類のセルグリッド間隔で規定されたインバータ回路INV−1、INV−2のセル情報が、セル情報記憶部28に記憶される。インバータ回路INV−1のセルは、例えば第1の配線グリッド間隔GD1に対応する第1のセルグリッド間隔cg1で規定されたセルである。インバータ回路INV−2のセルは、例えば第2の配線グリッド間隔DG2に対応する第2のセルグリッド間隔cg2(cg2>cg1)で規定されたセルである。
【0066】
図2の配線グリッド変更処理部26が、X方向及びY方向に設けられる配線グリッドの(図4参照)うちX方向の配線グリッド間隔のみを大きくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してX方向のみ大きくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からX方向のみセルグリッド間隔を大きくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0067】
図6(A)、図6(B)に、X方向の配線グリッド間隔のみを大きく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図6(A)は、インバータ回路INV−1のセル情報の説明図を表す。図6(B)は、インバータ回路INV−2のセル情報の説明図を表す。図6(B)では、図6(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0068】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッドを基準に、そのレイアウト形状が規定されている。即ち、インバータ回路INV−1には、高電位側電源電圧VDDが印加される配線層M1、低電位側電源電圧VSSが印加される配線層M2、P型のチャネル領域が形成されるP型アクティブ領域PA、N型のチャネル領域が形成されるN型アクティブ領域NAが設けられる。配線層M1とP型アクティブ領域PAとは、そのソース領域においてビアセルVC1により電気的に接続される。配線層M2とN型アクティブ領域NAとは、そのソース領域においてビアセルVC2により電気的に接続される。また、インバータ回路INV−1には、ポリシリコン層PLが、P型アクティブ領域PAとN型アクティブ領域NAとの上層に(絶縁膜を介して)設けられ、このポリシリコン層PLには、セルグリッドの格子点上に配置される入力端子Aが設けられる。P型アクティブ領域PAのうちドレイン領域となる領域とN型アクティブ領域NAのうちドレイン領域となる領域には、ビアセルVC3、VC4を介して配線層M3が設けられて電気的に接続される。この配線層M3には、セルグリッドの格子点上に配置される出力端子Xが設けられる。
【0069】
インバータ回路INV−1のセル情報は、上記の図6(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0070】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg1で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg2で設けられるセルグリッドCGを基準に、そのレイアウト形状が規定されている。即ち、インバータ回路INV−2は、Y方向の長さはインバータ回路INV−1と同じで、X方向の長さが長くなっている。そのため、インバータ回路INV−2は、インバータ回路INV−1に比べて、X方向に長さd1だけ長い形状を有する。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより大きく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0071】
インバータ回路INV−2のセル情報は、上記の図6(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0072】
これにより、隣接する配線間のクロストークによる影響を受けやすい領域内で、配線グリッド間隔を大きくできるようになるので、この領域内で、隣接する配線間のクロストークによる影響を低減できるようになる。しかも、大きくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行う必要がなくなる。
【0073】
また、図2の配線グリッド変更処理部26が、X方向及びY方向に設けられる配線グリッドのうちY方向の配線グリッド間隔のみを大きくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してY方向のみ大きくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からY方向のみセルグリッド間隔を小さくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0074】
図7(A)、図7(B)に、Y方向の配線グリッド間隔のみを大きく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図7(A)は、インバータ回路INV−1のセル情報の説明図を表す。図7(B)は、インバータ回路INV−2のセル情報の説明図を表す。図7(A)では、図6(A)と同一部分には同一符号を付し、適宜説明を省略する。図7(B)では、図7(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0075】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッドを基準に、そのレイアウト形状が指定されている。図7(A)に示すインバータ回路INV−1は、図6(A)に示すインバータ回路INV−1と同一形状を有している。インバータ回路INV−1のセル情報は、上記の図7(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0076】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg3で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg1で設けられるセルグリッドCGを基準に、そのレイアウト形状が指定されている。ここで、インバータ回路INV−2は、X方向の長さはインバータ回路INV−1と同じであるが、Y方向の長さをインバータ回路INV−1と同じにして、セルの配置処理を簡素化している。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより大きく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0077】
インバータ回路INV−2のセル情報は、上記の図7(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0078】
これにより、隣接する配線間のクロストークによる影響を受けやすい領域内で、配線グリッド間隔を大きくできるようになるので、この領域内で、隣接する配線間のクロストークによる影響を低減できるようになる。しかも、大きくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行う必要がなくなる。
【0079】
また、図2の配線グリッド変更処理部26が、X方向の配線グリッド間隔及びY方向の配線グリッド間隔を大きくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してX方向及びY方向に大きくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からX方向及びY方向にセルグリッド間隔を大きくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0080】
図8(A)、図8(B)に、X方向及びY方向に配線グリッド間隔を大きく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図8(A)は、インバータ回路INV−1のセル情報の説明図を表す。図8(B)は、インバータ回路INV−2のセル情報の説明図を表す。図8(A)では、図6(A)と同一部分には同一符号を付し、適宜説明を省略する。図8(B)では、図8(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0081】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッド上に、そのレイアウト形状が指定されている。図8(A)に示すインバータ回路INV−1は、図6(A)に示すインバータ回路INV−1と同一形状を有している。インバータ回路INV−1のセル情報は、上記の図8(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0082】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg3で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg2で設けられるセルグリッドCGを基準に、そのレイアウト形状が指定されている。ここで、インバータ回路INV−2は、インバータ回路INV−1に比べて、X方向に長さd1だけ長い形状を有し、Y方向の長さをインバータ回路INV−1と同じにして、セルの配置処理を簡素化している。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより大きく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0083】
インバータ回路INV−2のセル情報は、上記の図8(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0084】
これにより、隣接する配線間のクロストークによる影響を受けやすい領域内で、配線グリッド間隔を大きくできるようになるので、この領域内で、隣接する配線間のクロストークによる影響を低減できるようになる。しかも、大きくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行う必要がなくなる。
【0085】
以上のように、実施形態1における集積回路設計装置20は、同一機能を有するセルの構成を互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部28と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部24と、配線グリッド変更領域設定部24によって配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更処理部26と、配線グリッド変更領域として設定された領域内において、配線グリッド変更処理部26によりその間隔が変更された配線グリッドに所与の配線とセルとを配置する配置配線処理部30とを含む。そして、配置配線処理部30が、セル情報記憶部28に記憶されたセルの配置情報に基づいて、配線グリッド変更処理部26により変更された配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、配線グリッド変更処理部26によりその間隔が変更された配線グリッドに配置することができる。
【0086】
ところで、実施形態1では、レイアウト可能領域内で、局所的に1又は複数の配線グリッド変更領域を設定することが望ましく、例えば以下のような領域に実施形態1の配線グリッド変更領域を設定することが望ましい。
【0087】
図9に、実施形態1における配線グリッド変更領域の例を示す。図9は、実施形態1の集積回路設計装置20において自動配置配線によりセル及び配線が配置される集積回路100のフロアプランの一例を模式的に表す。
【0088】
集積回路100は、矩形状のレイアウト可能領域LAの各辺に隣接して、一定の幅のI/Oセル領域IA1〜IA4が設けられる。各I/Oセル領域には、チップの縁部に沿って、パッドと該パッドに対応するI/Oセルとが配置される。このパッドが、ICパッケージの端子とボンディングワイヤを介して電気的に接続される。
【0089】
集積回路設計装置20によるセル及び配線の自動配置配線は、レイアウト可能領域LAにおいて行われる。図9では、レイアウト可能領域LAに、マクロブロックMB1〜MB3が配置されているものとする。マクロブロックMB1〜MB3は、それぞれアナログ回路(例えば発振回路、電源回路、RAM、A/D変換器、D/A変換器等)を有するアナログマクロブロックであり、実施形態1における集積回路設計装置20によるセル及び配線の配置処理の前に、予めアナログマクロブロックに入力又は出力されるアナログ信号を伝送する信号線がフィジカルレイアウトで配置されている。
【0090】
実施形態1では、図9に示すように、アナログマクロブロックの周辺領域を、配線グリッド変更領域として設定することが望ましい。図9では、マクロブロックMB1〜MB3の各マクロブロックの周辺領域MC1〜MC3が、配線グリッド変更領域として設定される。
【0091】
図10に、アナログマクロブロックの周辺領域に設定される配線グリッド変更領域の説明図を示す。図10は、領域MC3の説明図を表す。図10において、図9と同一部分には同一符号を付し、適宜説明を省略する。
【0092】
ここで、マクロブロックMB3が、X方向の長さがD1、Y方向の長さがD2である矩形の形状を有しているものとする。このとき、配線グリッド変更領域としての領域MC3は、マクロブロックMB3の周囲に所与の長さだけ外側に設けられる領域である。より具体的には、マクロブロックMB3のエッジから長さW1だけ外側に均等に設けられる領域が、配線グリッド変更領域として設定される。従って、図10の配線グリッド変更領域としての領域MC3では、セルの配置の優先順位が下げられると共に、他の領域と比較して配線グリッド間隔が大きくなるように変更される。
【0093】
これにより、図9に示すように、配線グリッド変更領域MC3に、デジタル信号の配線CNDが配置されたとしても、予めマクロブロックMB3に入力又は出力されるアナログ信号の配線CNAと離れて配置されるため、配線CNAへのクロストークによる影響を低減できるようになる。
【0094】
以上のような集積回路設計装置20の機能は、ハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。以下では、集積回路設計装置20の機能が、ソフトウェア処理により実現されるものとする。
【0095】
図11に、図2の集積回路設計装置20のハードウェア構成例のブロック図を示す。
【0096】
集積回路設計装置20は、CPU50、I/F回路52、読み出し専用メモリ(Read Only Memory:ROM)54、ランダムアクセスメモリ(Random Access Memory:RAM)56、バス58を有し、バス58を介して、CPU50、I/F回路52、ROM54、RAM56は電気的に接続されている。
【0097】
例えばROM54又はRAM56には、集積回路設計装置20の機能を実現するプログラムが記憶される。CPU50は、ROM54又はRAM56に記憶されたプログラムを読み出し、該プログラムに対応した処理を実行することで、上述の集積回路設計装置20の機能をソフトウェア処理で実現できる。即ち、ROM54又はRAM56に記憶されたプログラムを読み込んで該プログラムに対応した処理を行うCPU50により、図2の集積回路設計装置20の各部の機能が実現される。
【0098】
なお、RAM56は、CPU50による処理の作業領域として用いられたり、I/F回路52やROM54のバッファ領域として用いられたりする。I/F回路52は、図2の表示装置40への出力インタフェース処理(表示処理、表示駆動処理)や、図示しない入力インタフェースからの配線グリッド変更領域を指定する信号の入力インタフェース処理等を行う。
【0099】
図12に、図2の集積回路設計装置20の処理例のフロー図を示す。例えば図11のROM54又はRAM56には、図12に示す処理を実現するためのプログラムが格納されており、CPU50がROM54又はRAM56に格納されたプログラムを読み出して該プログラムに対応した処理を実行することで、図12に示す処理をソフトウェア処理により実現できる。
【0100】
まず、集積回路設計装置20は、予め生成されたフロアプラン設定情報を読み込んだり、或いは外部からの指定されたフロアプラン設定情報を取り込んだりして、集積回路100のレイアウト可能領域内にアナログマクロブロックを配置する処理を行う(ステップS10)。
【0101】
次に、集積回路設計装置20は、配線グリッド変更領域ステップとして、配線グリッド変更領域設定部24の機能により、例えば外部から指定された配線グリッド変更領域を、上記のアナログマクロブロックが配置された集積回路100のレイアウト可能領域に設定する処理を行う(ステップS12)。ステップS12で設定される配線グリッド変更領域は、例えば図9で説明したアナログマクロブロックの周辺領域である。
【0102】
ここで、集積回路設計装置20は、一旦、配置配線処理部30の機能により、セル及び配線の配置処理を行う(ステップS14)。即ち、ステップS14では、配線グリッド変更領域内で配置される配線同士のクロストークによる影響を確認するために、ステップS12で設定された配線グリッド変更領域内の配線グリッド間隔が変更されない状態でセル及び配線の配置処理が行われる。
【0103】
ステップS14において、一度、セル及び配線の配置処理が行われた後、集積回路設計装置20は、アナログマクロブロックに入力又は出力される信号の配線のクロストークによる影響度をチェックする(ステップS16)。このとき、例えば、配線グリッド変更領域で、例えば、隣接する配線グリッド上に両配線が配置されるとき、又は両配線が交差するとき、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与えると判断されると判断し、その旨を表示装置40により通知したり、クロストークにより影響する恐れのある配線が配置される配線グリッド変更領域以外の領域を表示装置40により通知したりする。
【0104】
ステップS16において、両配線の影響度をチェックした結果、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与えないと判断されるとき(ステップS16:Y)、集積回路設計装置20は、一連の処理を終了する(エンド)。
【0105】
ステップS16において、両配線の影響度をチェックした結果、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与えると判断されるとき(ステップS16:N)、集積回路設計装置20は、配線グリッド変更ステップとして、配線グリッド変更処理部26の機能により、配線グリッド変更領域内の配線グリッド間隔を大きくする変更処理を行う(ステップS18)。
【0106】
続いて、集積回路設計装置20は、配置配線処理部30の機能により、配線グリッド変更領域内のセルを、ステップS18で変更した配線グリッド間隔に対応するセルグリッド間隔で定義された同一機能のセルに置き換え(ステップS20)、再びステップS14に戻って配置配線処理を行う。即ち、ステップS20とこれに続いて行われるステップS14が、配線グリッド変更領域内において、配置配線ステップとして、配線グリッド変更ステップにおいて配線グリッド間隔が変更された配線グリッドに所与の配線を配置すると共に、配線グリッド変更ステップにおいて変更された配線グリッドの間隔に対応したセルグリッドを基準にその構成が指定されたセルを、配線グリッド変更ステップにおいて配線グリッド間隔が変更された配線グリッドに配置する。
【0107】
また、ステップS20とこれに続いて行われるステップS14では、配線グリッド変更領域以外の領域では、変更処理前の配線グリッド間隔で、所与の配線が配置されると共に、変更処理前の配線グリッド間隔に対応したセルグリッドを基準にその構成が指定されたセルが、変更処理前の配線グリッド間隔の配線グリッドに配置される。
【0108】
セル情報記憶部28に、複数種類のセルグリッド間隔に対応したセル情報を記憶させておけば、ステップS16において、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与えないと判断されるまで、配線グリッド変更領域内の配線グリッドを大きく変更すると共に、変更した配線グリッド間隔に対応するセルグリッド間隔で定義された同一機能のセルの置き換えを繰り返すことができる。
【0109】
また、配線グリッド変更領域内の配線グリッドを大きく変更すると共に、上記の同一機能のセルの置き換えを繰り返すうちに、ステップS18で変更される配線グリッド間隔が大きくなって、ステップS12で設定した配線グリッド変更領域の外側に設定されるまで繰り返すことになる。
【0110】
なお、図12では、ステップS20に続いて、ステップS14においてセル及び配線の配置配線処理が行われるものとして説明したが、本発明はこれに限定されるものではない。例えば、ステップS16における両配線の影響度のチェックの結果、クロストークにより影響する恐れのある配線が配置される配線グリッド変更領域以外の領域が特定されたとき、ステップS20に続いてステップS12に戻って、新たに配線グリッド変更領域を追加して設定してから、ステップS14においてセル及び配線の配置配線処理が行われるようにしてもよい。
【0111】
また、ステップS18において、配線グリッド間隔を変更する際に、そのまま配線グリッド変更領域の外側に配線グリッドを設定するように、配線グリッドの間隔を大きく変更するようにしてもよい。こうすることで、配線グリッド変更領域内では、その領域外に変更された配線グリッド上には、セル及び配線の配置を確実に防止できるようになる。
【0112】
以上のように、実施形態1では、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、配線グリッド変更領域設定ステップにおいて配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更ステップと、配線グリッド変更領域として設定された領域内において、配線グリッド変更ステップにおいてその間隔が変更された配線グリッドに所与の配線を配置すると共に、配線グリッド変更ステップにおいて変更された配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、配線グリッド変更ステップにおいてその間隔が変更された配線グリッドに配置する配置配線ステップとを含むことができる。
【0113】
このような実施形態1によれば、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、所定のマクロブロック周辺において、例えばアナログ信号を伝送する信号配線とデジタル信号を伝送する信号配線とのクロストークによる影響を低減できるようになる。
【0114】
〔実施形態1の変形例〕
実施形態1における集積回路設計装置20では、同一機能のセルが複数種類のセルグリッド間隔で定義された複数のセル情報がセル情報記憶部28に記憶されているものとして説明したが、本発明はこれに限定されるものではない。例えば、配線グリッド間隔をより大きく変更したとき、この変更後の配線グリッド間隔に対応したセルグリッド間隔で定義されるセル情報を新たに生成するようにしてもよい。
【0115】
図13に、実施形態1の変形例における集積回路設計装置の構成例のブロック図を示す。図13において、図2と同一部分には同一符号を付し、適宜説明を省略する。
【0116】
実施形態1の変形例における集積回路設計装置80は、ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、配置配線処理部30、セル情報生成部90を含む。
【0117】
ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、及び配置配線処理部30の各部の構成及び機能は、実施形態1と同様であるため説明を省略する。
【0118】
セル情報生成部90は、配線グリッド変更処理部26による変更後の配線グリッド間隔に対応したセルグリッド間隔でそのレイアウト形状が定義されたセルの情報を新たに生成する。このため、配線グリッド変更処理部26により配線グリッド間隔をより大きくする変更処理が行われたとき、セル情報生成部90は、セル情記憶部28に記憶されたセルのうち、配線グリッド変更領域内に配置されるセルの情報を読み出す。そして、セル情報生成部90は、配線グリッド変更処理部26による変更後の配線グリッド間隔に対応したセルグリッド間隔となるように、読み出したセルの情報のセルグリッド間隔をより大きく変更し、これに対応したセルの形状を指定する情報を生成する。このとき、セル情報生成部90は、セルグリッド間隔を大きくした場合でも、変更後のセルグリッドの格子点上に端子が配置されるようにセルの形状を指定する情報を生成する。
【0119】
配置配線処理部30は、配線グリッド変更領域内において、セル情報生成部90により生成されたセルの情報に基づいて、配線グリッド間隔が変更された配線グリッド上に、セル及び配線を配置する処理を行う。
【0120】
なお、セル情報生成部90は、配線グリッド変更処理部26により配線グリッド間隔が変更される毎に、セル情報を生成するようにしてもよいし、予め配線グリッド変更処理部26による変更後の複数の配線グリッド間隔が判明している場合には、それぞれの配線グリッド間隔に対応したセルグリッド間隔のセル情報を、配線グリッド変更処理部26による変更処理に先立って生成するようにしてもよい。
【0121】
本変形例によれば、配線グリッド変更処理部26が任意の配線グリッド間隔に変更できるようになるので、集積回路100の高集積化をより一層促進させることができるようになる。
【0122】
〔実施形態2〕
実施形態1における集積回路設計装置20又は実施形態1の変形例における集積回路設計装置80は、配線グリッド変更領域内の配線グリッド間隔を大きくすることで、例えばアナログマクロブロックに入力又は出力されるアナログ信号の配線へのクロストークによる影響を低減するようにしていたが、本発明はこれに限定されるものではない。本発明に係る実施形態2では、配線グリッド変更領域内の配線グリッドを消滅させることで、上記のアナログ信号の配線へのクロストークによる影響を確実に低減させるようにする。
【0123】
図14(A)、図14(B)に、実施形態2における集積回路設計装置の処理の概要を模式的に示す。図14(A)は、実施形態2の比較例における集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図14(B)は、実施形態2の集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図14(A)、図14(B)において、同一部分には同一符号を付し、適宜説明を省略する。
【0124】
実施形態2又はその比較例における集積回路設計装置は、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロック間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。その結果、図14(A)、図14(B)において、集積回路100には、マクロブロック102と、論理回路のセルと、これらを接続する配線とが配線グリッド上に配置される。
【0125】
図14(A)では、格子状に設けられた配線グリッドGR上に、第1層配線ML1、第1層配線ML1より上層の第2層配線ML2、第1層配線ML1及び第2層配線ML2を電気的に接続するビアセルVCが配置される。隣接する配線グリッドGR同士の間隔である配線グリッド間隔GD1は、製造プロセスに依存したデザインルールにより規定される。例えば、隣接するビアセルVCのエッジ間の最小ピッチm1以上となるように配線グリッド間隔GD1が規定される。第1層配線ML1は例えば垂直方向に延びる配線グリッドGR上に配置されると共に、第2層配線ML2は例えば水平方向に延びる配線グリッドGR上に配置されるため、ビアセルVCは、配線グリッドの格子点上に配置される。
【0126】
図14(A)では、水平方向に延びる配線グリッドの間隔と、垂直方向に延びる配線グリッドの間隔とが同じであるものとして説明したが、両方向の配線グリッドの間隔が異なっていてもよい。
【0127】
ところで、実施形態2の比較例における集積回路設計装置おいても、マクロブロック102の周辺領域では、配線同士が近くに配置される。例えば、マクロブロック102がアナログマクロブロックである場合には、アナログ信号の配線とデジタル信号の配線とが、配線グリッド間隔GD1を隔てて並走や交差するように配置されてしまい、アナログ信号にノイズを重畳させる可能性が高くなる。
【0128】
このような配線を確実に防止するために、実施形態2では、局所的に配線グリッドを消滅させる処理を行う。より具体的には、実施形態2では、図14(B)に示すように、配置される配線間のクロストークによる影響を低減したい領域を配線グリッド変更領域BAとして設定し、配線グリッド変更領域BA内の配線グリッドを消滅させる。
【0129】
こうすることで、図14(A)では、セル配置配線禁止領域として設定された領域に配置された配線間にクロストークによる影響を及ぼしていた場合でも、配線グリッド変更領域には配線グリッドが消滅しているため、セルや配線が配置されず、この領域内の配線間のクロストークによる影響を確実に低減できるようになる。
【0130】
以下では、このような処理を実現する集積回路設計装置の構成及び動作について説明する。
【0131】
図15に、実施形態2における集積回路設計システムの構成例のブロック図を示す。なお、図15において、図2と同一部分には同一符号を付し、適宜説明を省略する。
【0132】
実施形態2における集積回路設計システム200は、集積回路設計装置210と、表示装置40とを含む。集積回路設計装置210は、図2の集積回路設計装置20と同様に、所与の自動配置配線アルゴリズムにより、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロック間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。集積回路設計装置210によるセルや配線の配置処理の結果は、表示装置40に表示される。集積回路設計装置210の機能は、パーソナルコンピュータやネットワーク端末(サーバに接続されるクライアント端末)等により実現される。
【0133】
集積回路設計装置210は、ネットリスト記憶部22、配線グリッド変更領域設定部212、配線グリッド変更処理部214、セル情報記憶部216、配置配線処理部30を含む。ネットリスト記憶部22は、ネットリストを記憶する。集積回路設計装置210は、このネットリストに基づいて、セルや配線を配置する処理を行う。
【0134】
配線グリッド変更領域設定部212は、レイアウト可能領域内の所与の領域を配線グリッド変更領域として設定する。配線グリッド変更領域では、後述するように、セル及び配線の配置が禁止される。この配線グリッド変更領域は、配置される配線間のクロストークによる影響を低減したい領域に設定されることが望ましい。
【0135】
配線グリッド変更処理部214は、格子状に設けられた配線グリッドの間隔を変更する処理を行う。即ち、配線グリッド変更処理部214は、配線グリッド変更領域として設定される配線グリッド変更領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させる処理を行う。ここで、第1の方向は図3のように定義されるX方向、第2の方向は図3のように定義されるY方向とすることができる。
【0136】
セル情報記憶部216は、複数のセル情報を記憶する。ここでセル情報は、セル毎に、セルの形状、端子数、端子位置等のセルや配線の配置に必要な情報を有する。各セルは、セルグリッドを基準に、セル内のレイアウトの形状が指定される。セル情報記憶部216は、実施形態1のセル情報記憶部28と異なり、1種類のセルグリッド間隔で規定されたセル情報を記憶する。
【0137】
配置配線処理部30は、ネットリスト記憶部22に記憶されたネットリストに基づいて、配線グリッドの格子点上にその端子が配置されるようにセルを配置すると共に、配線グリッド上に配線を配置する。配置配線処理部30は、図4で説明した実施形態1又はその変形例と同様の処理を行う。
【0138】
以上のように、実施形態2における集積回路設計装置210は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部212と、配線グリッド変更領域設定部212によって配線グリッド変更領域として設定された領域内の配線グリッドを消滅させる配線グリッド変更処理部214と、配線グリッド変更領域として設定された領域を除外して、配線グリッド変更処理部214による処理後の配線グリッドにセル及び配線を配置する配置配線処理部30とを含むことができる。
【0139】
このような実施形態2では、実施形態1又はその変形例と同様に、レイアウト可能領域内で、局所的に1又は複数の配線グリッド変更領域を設定することが望ましく、例えば図9に示す領域に実施形態2の配線グリッド変更領域を設定することが望ましい。即ち、実施形態2においても、アナログマクロブロックの周辺領域を、配線グリッド変更領域に設定することが望ましい。
【0140】
これにより、図9に示すように、配線グリッド変更領域MC3に、デジタル信号の配線CNDが配置されたとしても、予めマクロブロックMB3に入力又は出力されるアナログ信号の配線が配置されることなく、確実に、配線CNAへのクロストークによる影響を低減できるようになる。
【0141】
以上のような集積回路設計装置210の機能は、ハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。以下では、集積回路設計装置210の機能が、ソフトウェア処理により実現されるものとする。
【0142】
ここで、集積回路設計装置210のハードウェア構成例は、図11に示す実施形態1の集積回路設計装置20又は実施形態1の変形例における集積回路設計装置80と同様であるため、図示及び説明を省略する。実施形態2においても、例えばROM54又はRAM56には、集積回路設計装置210の機能を実現するプログラムが記憶される。CPU50は、ROM54又はRAM56に記憶されたプログラムを読み出し、該プログラムに対応した処理を実行することで、上述の集積回路設計装置210の機能をソフトウェア処理で実現できる。即ち、ROM54又はRAM56に記憶されたプログラムを読み込んで該プログラムに対応した処理を行うCPU50により、集積回路設計装置210の各部の機能が実現される。
【0143】
図16に、図15の集積回路設計装置210の処理例のフロー図を示す。例えば図11のROM54又はRAM56には、図16に示す処理を実現するためのプログラムが格納されており、CPU50がROM54又はRAM56に格納されたプログラムを読み出して該プログラムに対応した処理を実行することで、図16に示す処理をソフトウェア処理により実現できる。
【0144】
まず、集積回路設計装置210は、予め生成されたフロアプラン設定情報を読み込んだり、或いは外部からの指定されたフロアプラン設定情報を取り込んだりして、集積回路100のレイアウト可能領域内にアナログマクロブロックを配置する処理を行う(ステップS30)。
【0145】
次に、集積回路設計装置210は、配線グリッド変更領域ステップとして、配線グリッド変更領域設定部212の機能により、例えば外部から指定された配線グリッド変更領域を、上記のアナログマクロブロックが配置された集積回路100のレイアウト可能領域に設定する処理を行う(ステップS32)。ステップS32で設定される配線グリッド変更領域は、例えば図9で説明したアナログマクロブロックの周辺領域である。
【0146】
続いて、集積回路設計装置210は、配線グリッド変更ステップとして、配線グリッド変更処理部214の機能により、配線グリッド変更領域内の配線グリッドを消滅させる変更処理を行う(ステップS34)。
【0147】
続いて、集積回路設計装置210は、配置配線ステップとして、配置配線処理部30の機能により、配線グリッド変更領域として設定された領域を除外して、配線グリッド変更ステップにおける処理後の配線グリッドにセル及び配線を配置し(ステップS36)、一連の処理を終了する(エンド)。
【0148】
なお、ステップS36では、また、配線グリッド変更領域内でX方向の配線グリッドのみを消滅させた場合には、この領域内のY方向の配線グリッド上に、セル及び配線が配置され、配線グリッド変更領域外の格子状の配線グリッド上にセル及び配線が配置される。また、配線グリッド変更領域内でY方向の配線グリッドのみを消滅させた場合には、この領域内のX方向の配線グリッド上に、セル及び配線が配置され、配線グリッド変更領域外の格子状の配線グリッド上にセル及び配線が配置される。更に、配線グリッド変更領域内では、X方向及びY方向の配線グリッドを消滅させた場合には、この領域内にセル及び配線が配置されることがなく、配線グリッド変更領域外のみセル及び配線が配置される。
【0149】
以上のように、実施形態2では、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、配線グリッド変更領域設定ステップにおいて配線グリッド変更領域として設定された領域内の配線グリッドを消滅させる配線グリッド変更ステップと、配線グリッド変更領域として設定された領域を除外して、配線グリッド変更ステップにおける処理後の配線グリッドにセル及び配線を配置する配置配線ステップとを含むことができる。
【0150】
このような実施形態2によれば、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、所定のマクロブロック周辺において、例えばアナログ信号を伝送する信号配線とデジタル信号を伝送する信号配線とのクロストークによる影響を確実に低減できるようになる。
【0151】
以上、本発明に係る集積回路設計装置及び集積回路設計方法を上記の実施形態又はその変形例に基づいて説明したが、本発明は上記の実施形態又はその変形例に限定されるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0152】
(1)実施形態1又はその変形例では、配線グリッド変更領域として、アナログマクロブロックの周辺領域を採用するものとして説明したが、本発明はこれに限定されるものではない。レイアウト可能領域内において、配線グリッド変更領域として、配線グリッド間隔をより大きく変更する領域を局所的に設定できればよい。
【0153】
(2)実施形態2では、配線グリッド変更領域として、アナログマクロブロックの周辺領域を採用するものとして説明したが、本発明はこれに限定されるものではない。レイアウト可能領域内において、配線グリッド変更領域として、配線グリッドを消滅させる領域を局所的に設定できればよい。
【0154】
(3)上記の実施形態又はその変形例では、主として、レイアウト設計対象の集積回路がスタンダードセルにより構成されるものとして説明したが、本発明はこれに限定されるものではない。例えば、ゲートアレイやエンベデッドアレイにより構成される集積回路を、レイアウト設計対象としてもよい。
【0155】
(4)上記の実施形態又はその変形例では、半導体基板に形成される集積回路のレイアウト設計に適用される例を説明したが、本発明はこれに限定されるものではない。例えば、半導体基板でない基板に回路が形成された集積回路のレイアウト設計にも適用できる。
【0156】
(5)上記の実施形態又はその変形例では、P型を第1導電型、N型を第2導電型として説明したが、N型を第1導電型、P型を第2導電型としてもよい。
【0157】
(6)上記の実施形態又はその変形例では、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与える例について説明したが、本発明はこれに限定されるものではない。例えば、マクロブロックに入力又は出力されるクロック信号の配線に、別系統のクロック信号の配線が与えるクロストークによる影響を低減する場合にも適用できる。また、例えば単純に、別系統の2種類のクロック信号の配線が並走又は交差して、一方が他方に与えるクロストークによる影響を低減する場合にも適用できる。
【0158】
(7)上記の実施形態又はその変形例において、本発明を、集積回路設計装置及び集積回路設計方法として説明したが、本発明はこれに限定されるものではない。例えば、本発明を実現するための集積回路設計方法の処理手順が記述されたプログラムや、該プログラムが記録された記録媒体であってもよい。
【図面の簡単な説明】
【0159】
【図1】図1(A)、図1(B)は本発明の実施形態1における集積回路設計装置の処理の概要を模式的に示す図。
【図2】実施形態1における集積回路設計システムの構成例のブロック図。
【図3】図2の配線グリッド変更処理部の動作説明図。
【図4】図2の配置配線処理部の動作説明図。
【図5】図2のセル情報記憶部が記憶するセル情報の概要を示す図。
【図6】図6(A)、図6(B)はX方向の配線グリッド間隔のみを大きく変更した場合のセル情報記憶部が記憶するセル情報の説明図。
【図7】図7(A)、図7(B)はY方向の配線グリッド間隔のみを大きく変更した場合のセル情報記憶部が記憶するセル情報の説明図。
【図8】図8(A)、図8(B)はX方向及びY方向に配線グリッド間隔を大きく変更した場合のセル情報記憶部が記憶するセル情報の説明図。
【図9】実施形態1における配線グリッド変更領域の例を示す図。
【図10】アナログマクロブロックの周辺領域に設定される配線グリッド変更領域の説明図。
【図11】図2の集積回路設計装置のハードウェア構成例のブロック図。
【図12】図2の集積回路設計装置の処理例のフロー図。
【図13】実施形態1変形例における集積回路設計装置の構成例のブロック図。
【図14】図14(A)、図14(B)は本発明の実施形態2における集積回路設計装置の処理の概要を模式的に示す図。
【図15】実施形態2における集積回路設計システムの構成例のブロック図。
【図16】図15の集積回路設計装置の処理例のフロー図。
【符号の説明】
【0160】
10,200…集積回路設計システム、 20,80,210…集積回路設計装置、
22…ネットリスト記憶部、 24,212…配線グリッド変更領域設定部、
26,214…配線グリッド変更処理部、 28,216…セル情報記憶部、
30…配置配線処理部、 40…表示装置、 50…CPU、 52…I/F回路、
54…ROM、 56…RAM、 58…バス、 90…セル情報生成部、
100…集積回路、 102,MB1〜MB3…マクロブロック、
BA…配線グリッド変更領域、 C10〜C13,C20,C24,CL…セル、
CG…セルグリッド、 CN1…配線、 CNA…アナログ信号の配線、
CND…デジタル信号の配線、
GD1,GD2x,GD2y,xd1,yd1…配線グリッド間隔、
GR…配線グリッド、 IA1〜IA4…I/Oセル領域、
INV−1,INV−2…インバータ回路、 LA…レイアウト可能領域、
M1〜M3…配線層、 MC1〜MC3…領域、 ML1…第1層配線、
ML2…第2層配線、 NA…N型アクティブ領域、 PA…P型アクティブ領域、
PL…ポリシリコン層、 VC,VC1〜VC4…ビアセル、 XC1…端子、
cg1,cg2,cg3…セルグリッド間隔、 m1…最小ピッチ
【技術分野】
【0001】
本発明は、集積回路設計方法及び集積回路設計装置に関する。
【背景技術】
【0002】
近年、半導体集積回路(広義には集積回路)の高機能化や高性能化に対する市場の要求が高い。そのため、配線の多層化や製造プロセス技術の進歩によって半導体集積回路の高集積化が急速に進む一方で、半導体集積回路は、アナログ回路等の特殊なマクロブロックの搭載や回路規模の大幅な増大により、セルや配線の配置が一層困難になっている。これに伴い、半導体集積回路の設計期間が長くなり、設計期間の短縮が大きな課題の1つとなっている。
【0003】
このような半導体集積回路を短期間でユーザに提供するため、ゲートアレイ、エンベデッドアレイやスタンダードセルで構成される半導体集積回路の設計手法が整備されている。例えばスタンダードセルで構成される半導体集積回路では、ユーザが必要とする機能が、最適設計された内部ロジックセルとROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)やアナログ回路等のマクロブロックとが配線により接続されて1チップ化される。その際、マクロブロックの配置位置等をフロアプランとして決定した後、自動配置配線ツールにより、チップ上のレイアウト可能領域内において定義された配線グリッド上にセルの端子が配置され、ネットリストに従って配線が配置される。
【0004】
ところが、自動配置配線ツールを用いた場合でも、アナログマクロブロックの周辺では、デジタル信号の配線とアナログ信号の配線とが並走したり、交差したりすることがあり、クロストーク等に起因してアナログ信号への影響が大きくなることがある。例えば、アナログマクロブロックの周辺を、セル配置配線禁止領域に設定してセルや配線の配置が行われないようにしても、配線領域の余裕がない場合には、このセル配置配線禁止領域にも配線が配置されてしまう。この場合、配線グリッド間隔が同じであるため、デジタル信号の配線とアナログ信号の配線とが隣接して配置されることがある。
【0005】
例えば特許文献1には、カップリング容量によるクロストークを防止するために、概略配線の結果に基づいて、配線グリッド数の余裕度に応じた配線ピッチに基づいて配線グリッドを再生成する技術が開示されている。
【0006】
【特許文献1】特開2004−133638号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
ところで、自動配置配線ツールでは、格子状に定義された配線グリッド上に配線が配置され、配線グリッドの格子点上に端子が配置されるようにセルが配置される。しかしながら、特許文献1では、配線グリッド数の余裕度に応じた配線ピッチに基づいて、単純に配線グリッドを再生成するに過ぎず、再生成後の配線グリッドに配置可能なセルの種類が限定されてしまう。そのため、配線グリッドを用いない特殊な配線処理を行う必要が生じ、処理負荷が重くなってしまうという問題がある。
【0008】
このように、特許文献1に開示された技術を用いても、任意の配線ピッチの配線グリッドを再生成できるわけではなく、実質的に、元のセルが配置できるような配線ピッチの配線グリッドを再生成せざるを得ない。従って、特許文献1に開示された技術では、特殊な配線処理による処理負荷が重くなるか、集積回路の高集積化の効果が十分に得られない。
【0009】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的の1つは、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できる集積回路設計方法及び集積回路設計装置を提供することにある。
【課題を解決するための手段】
【0010】
上記課題を解決するために本発明は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更ステップと、前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含む集積回路設計方法に関係する。
【0011】
本発明によれば、局所的に配線グリッド間隔を大きくすると共に、大きくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、所定のマクロブロック周辺において、例えばアナログ信号を伝送する信号配線とデジタル信号を伝送する信号配線とのクロストークによる影響を低減できるようになる。
【0012】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0013】
本発明によれば、上記の効果に加えて、少なくとも1つの方向に延びる配線グリッドの間隔を変更することで、クロストークにより配線間の影響を与えていた領域内でも、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できるようになる。
【0014】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、前記領域の外側に配線グリッドを設定するように、前記配線グリッドの間隔を大きく変更することができる。
【0015】
本発明によれば、上記の効果に加えて、配線グリッド変更領域内では、その領域外に変更された配線グリッド上にセル及び配線が配置されることを確実に防止できるようになる。
【0016】
また本発明は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドを消滅させる配線グリッド変更ステップと、前記配線グリッド変更領域として設定された前記領域を除外して、前記配線グリッド変更ステップにおける処理後の配線グリッドにセル及び配線を配置する配置配線ステップとを含む集積回路設計方法に関係する。
【0017】
本発明によれば、これまで配線間にクロストークによる影響を及ぼしていた場合でも、配線グリッド変更領域には配線グリッドが消滅しているため、セルや配線が配置されず、この領域内の配線間のクロストークによる影響を確実に低減できるようになる。
【0018】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させることができる。
【0019】
本発明によれば、上記の効果に加えて、少なくとも1つの方向に延びる配線グリッドを消滅させることで、クロストークにより配線間の影響を与えていた領域内でも、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できるようになる。
【0020】
また本発明に係る集積回路設計方法では、前記第1の方向は、スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であってもよい。
【0021】
また本発明に係る集積回路設計方法では、前記配線グリッド変更領域として設定された前記領域が、アナログマクロブロックの周辺領域であってもよい。
【0022】
本発明によれば、配線グリッド変更領域に、例えばデジタル信号の配線が配置されたとしても、予めマクロブロックに入力又は出力されるアナログ信号の配線と離れて配置されるため、配線へのクロストークによる影響を低減できるようになる。
【0023】
また本発明に係る集積回路設計方法では、前記アナログマクロブロックの周辺領域が、前記アナログマクロブロックの周囲に所与の長さだけ外側に設けられる領域であってもよい。
【0024】
本発明によれば、アナログマクロブロックの周囲に所与の長さだけ外側に設けられる領域で、配線グリッドを消滅させるようになるので、例えばデジタル信号の配線が、該アナログマクロブロックに入力又は出力されるアナログ信号の配線に与えるクロストークによる影響を、確実に低減できるようになる。
【0025】
また本発明は、配線グリッド上に配線及びセルを配置する集積回路設計装置であって、同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、前記配線グリッド変更領域設定部により前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更処理部と、前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部とを含み、前記配置配線処理部が、前記セル情報記憶部に記憶されたセルの情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置する集積回路設計装置に関係する。
【0026】
本発明によれば、局所的に配線グリッド間隔を大きくすると共に、大きくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、所定のマクロブロック周辺において、例えばアナログ信号を伝送する信号配線とデジタル信号を伝送する信号配線とのクロストークによる影響を低減できるようになる。
【0027】
また本発明に係る集積回路設計装置では、前記配線グリッド変更処理部が、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0028】
本発明によれば、上記の効果に加えて、少なくとも1つの方向に延びる配線グリッドの間隔を変更することで、クロストークにより配線間の影響を与えていた領域内でも、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できるようになる。
【0029】
また本発明に係る集積回路設計装置では、前記配線グリッド変更処理部が、前記領域の外側に配線グリッドを設定するように、前記配線グリッドの間隔を大きく変更することができる。
【0030】
本発明によれば、上記の効果に加えて、配線グリッド変更領域内では、その領域外に変更された配線グリッド上にセル及び配線が配置されることを確実に防止できるようになる。
【0031】
また本発明は、配線グリッド上に配線及びセルを配置する集積回路設計装置であって、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、前記配線グリッド変更領域設定部により前記配線グリッド変更領域として設定された前記領域内の配線グリッドを消滅させる配線グリッド変更処理部と、前記配線グリッド変更領域として設定された前記領域を除外して、前記配線グリッド変更処理部による処理後の配線グリッドにセル及び配線を配置する配置配線処理部とを含む集積回路設計装置に関係する。
【0032】
本発明によれば、これまで配線間にクロストークによる影響を及ぼしていた場合でも、配線グリッド変更領域には配線グリッドが消滅しているため、セルや配線が配置されず、この領域内の配線間のクロストークによる影響を確実に低減できるようになる。
【0033】
また本発明に係る集積回路設計装置では、前記配線グリッド変更処理部が、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させることができる。
【0034】
本発明によれば、上記の効果に加えて、少なくとも1つの方向に延びる配線グリッドを消滅させることで、クロストークにより配線間の影響を与えていた領域内でも、処理負荷の増大を抑えながら、所定のマクロブロック周辺において複数の配線の影響を確実に低減できるようになる。
【0035】
また本発明に係る集積回路設計装置では、前記第1の方向は、スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であってもよい。
【0036】
また本発明に係る集積回路設計装置では、前記配線グリッド変更領域として設定された前記領域が、アナログマクロブロックの周辺領域であってもよい。
【0037】
本発明によれば、配線グリッド変更領域に、例えばデジタル信号の配線が配置されたとしても、予めマクロブロックに入力又は出力されるアナログ信号の配線と離れて配置されるため、配線へのクロストークによる影響を低減できるようになる。
【発明を実施するための最良の形態】
【0038】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
【0039】
以下の実施形態では、本発明に係る実施形態における集積回路が、スタンダードセルとマクロブロックとで構成されるものとして説明するが、本発明はこれに限定されるものではなく、ゲートアレイやエンベデッドアレイで構成されていてもよい。
【0040】
〔実施形態1〕
図1(A)、図1(B)に、本発明の実施形態1における集積回路設計装置の処理の概要を模式的に示す。図1(A)は、実施形態1の比較例における集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図1(B)は、実施形態1の集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図1(A)、図1(B)において、同一部分には同一符号を付し、適宜説明を省略する。
【0041】
実施形態1又はその比較例における集積回路設計装置は、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロックとの間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。その結果、図1(A)、図1(B)において、集積回路100には、マクロブロック102と、論理回路のセルと、これらを接続する配線とが配線グリッド上に配置される。
【0042】
図1(A)では、格子状に設けられた配線グリッドGR上に、第1層配線ML1、第1層配線ML1より上層の第2層配線ML2、第1層配線ML1及び第2層配線ML2を電気的に接続するビアセルVCが配置される。隣接する配線グリッドGR同士の間隔である配線グリッド間隔GD1は、製造プロセスに依存したデザインルールにより規定される。例えば、隣接するビアセルVCのエッジ間の最小ピッチm1以上となるように配線グリッド間隔GD1が規定される。第1層配線ML1は例えば垂直方向に延びる配線グリッドGR上に配置されると共に、第2層配線ML2は例えば水平方向に延びる配線グリッドGR上に配置され、ビアセルVCは、配線グリッドの格子点上に配置される。
【0043】
図1(A)では、水平方向に延びる配線グリッドの間隔と、垂直方向に延びる配線グリッドの間隔とが同じであるものとして説明したが、両方向の配線グリッドの間隔が異なっていてもよい。
【0044】
ところで、実施形態1の比較例における集積回路設計装置では、図1(A)に示すように、同じ方向に延びる隣接する配線グリッド同士の配線グリッド間隔GD1が同じである。そのため、マクロブロック102の周辺領域では、配線同士が近くに配置される。例えば、マクロブロック102がアナログマクロブロックである場合には、アナログ信号の配線とデジタル信号の配線とが、配線グリッド間隔GD1を隔てて並走するように配置されたり、交差するように配置されたりしてしまい、アナログ信号にノイズを重畳させる可能性が高くなる。
【0045】
このような配線を防止するために、マクロブロックの周辺において、例えば全体の配線グリッド間隔を大きく変更することが考えられる。ところが、一般的な自動配置配線ツールでは、セル配置配線禁止領域であっても、配線の余裕度がなくなると、その領域内において、配線グリッド間隔が大きく変更された配線グリッド上に配線を配置することがある。ただ、配線処理を簡素化するためには、セルの端子を配線グリッドの格子点上に配置することが望ましく、単純に配線グリッド間隔を変更しただけでは、セルの端子が配置できなかったり、変更後の配線グリッド上に存在しないセルの端子と変更後の配線グリッド上の配線とを接続する配線処理が複雑化したりする。
【0046】
そこで、実施形態1では、局所的に配線グリッド間隔を大きくすると共に、大きくした配線グリッドに対応したセルグリッドで規定されたセルを配置することで、容易に、当該領域内の配線間のクロストークによる影響を低減させることができる。より具体的には、実施形態1では、図1(B)に示すように、配置される配線間のクロストークによる影響を低減したい領域を配線グリッド変更領域BAとして設定し、配線グリッド変更領域BA内の配線グリッド間隔GD2x、GD2y(GD2x>GD1、GD2y>GD1)となるように配線グリッド間隔を大きく変更すると共に、配線グリッド変更領域BA内で、配線グリッド間隔GD2x、GD2yに対応したセルグリッドで規定されたセルを配置する。
【0047】
こうすることで、図1(A)では、セル配置配線禁止領域として設定された領域に配置された配線間にクロストークによる影響を及ぼしていた場合でも、配線グリッド変更領域として、複雑な配線処理を行うことなく、この領域に配線される配線間のクロストークによる影響を確実に低減できるようになる。
【0048】
以下では、このような処理を実現する集積回路設計装置の構成及び動作について説明する。
【0049】
図2に、実施形態1における集積回路設計システムの構成例のブロック図を示す。
【0050】
実施形態1における集積回路設計システム10は、集積回路設計装置20と、表示装置40とを含む。集積回路設計装置20は、所与の自動配置配線アルゴリズムにより、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロック間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。集積回路設計装置20によるセルや配線の配置処理の結果は、表示装置40に表示される。集積回路設計装置20の機能は、パーソナルコンピュータやネットワーク端末(サーバに接続されるクライアント端末)等により実現され、表示装置40は、CRT(Cathode Ray Tube)装置や液晶表示装置等によって実現される。
【0051】
集積回路設計装置20は、ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、配置配線処理部30を含む。ネットリスト記憶部22は、ネットリストを記憶する。集積回路設計装置20は、このネットリストに基づいて、セルや配線を配置する処理を行う。
【0052】
配線グリッド変更領域設定部24は、レイアウト可能領域内の所与の領域を配線グリッド変更領域として設定する。配線グリッド変更領域では、領域内のセル配置の優先度が他の領域のセル配置の優先度より低く設定されることが望ましい。この配線グリッド変更領域は、配置される配線間のクロストークによる影響を低減したい領域に設定されることが望ましい。
【0053】
配線グリッド変更処理部26は、格子状に設けられた配線グリッドの間隔を変更する処理を行う。即ち、配線グリッド変更処理部26は、配線グリッド変更領域として設定される配線グリッド変更領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更する。このとき、配線グリッド変更処理部26は、配線グリッド変更領域内の配線グリッドの間隔をより大きく変更する。即ち、配線グリッド変更処理部26による変更処理前の第1の配線グリッド間隔GD1が、変更処理により第2の配線グリッド間隔GD2(GD2>GD1)となる。
【0054】
セル情報記憶部28は、複数のセル情報を記憶する。ここでセル情報は、セル毎に、セルの形状、端子数、端子位置等のセルや配線の配置に必要な情報を有する。各セルは、各セル内で定義されるセルグリッドを基準に、セル内のレイアウトの形状が指定される。セル情報記憶部28は、同一機能を有する複数のセルの構成それぞれについて、複数種類のセルグリッド間隔のそれぞれについて、セル情報を記憶する。例えば、インバータ回路に対応するセルについて、セル情報記憶部28には、第1のセルグリッド間隔で規定されたセルのセル情報と、第2のセルグリッド間隔で規定されたセルのセル情報とが記憶される。第1のセルグリッド間隔は第1の配線グリッド間隔(変更処理前の配線グリッド間隔)に対応するセルグリッド間隔であり、第2のセルグリッド間隔(変更処理後の配線グリッド間隔)は第2の配線グリッド間隔に対応するセルグリッド間隔である。
【0055】
配置配線処理部30は、ネットリスト記憶部22に記憶されたネットリストに基づいて、配線グリッドの格子点上にその端子が配置されるようにセルを配置すると共に、配線グリッド上に配線を配置する。
【0056】
図3に、図2の配線グリッド変更処理部26の動作説明図を示す。図3では、集積回路100がスタンダードセルにより構成されるものとし、各セルのP型(例えば第1導電型)アクティブ領域PA及びN型(例えば第2導電型)アクティブ領域NAのみを模式的に表している。
【0057】
配線グリッド変更領域設定部24により設定される配線グリッド変更領域内では、配線グリッド変更処理部26は、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0058】
図3に示すように各セルには、P型アクティブ領域PA及びN型アクティブ領域NAが配置されている。集積回路100では、セルC10〜C13のように、所与の方向の全セルの同一導電型のアクティブ領域が隣接して配置される。この全セルの同一導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向をX方向とする。このX方向と交差するY方向には、セルC10、C20のように、P型アクティブ領域PA及びN型アクティブ領域NAが交互に並ぶ場合や、セルC13、C24のように、ミラー配置によってP型アクティブ領域PA及びN型アクティブ領域NAの一方が隣接して並ぶ場合がある。
【0059】
このように、配線グリッド変更処理部26は、配線グリッド変更領域内において、図3のように定義されるX方向及びY方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。これにより、より大きく変更した配線グリッド間隔に対応したセルグリッド間隔で定義されるセルの生成が簡単になり、配線グリッド変更領域における配線処理も簡素化される。
【0060】
図4に、図2の配置配線処理部30の動作説明図を模式的に示す。
【0061】
図4では、配線グリッド間隔yd1でX方向(第1の方向)に延びる配線グリッドと、配線グリッド間隔xd1でY方向(第2の方向)に延びる配線グリッドとが、格子状に設けられている。即ち、X方向に延びる配線グリッドと、X方向と交差するY方向に延びる配線グリッドとが設けられている。
【0062】
配置配線処理部30は、所与の形状を有するセルCLの端子XC1を、配線グリッドの所与の格子点上に配置する。また、配置配線処理部30は、所与の配線グリッド上に配線CN1を配置する。
【0063】
従って、配線グリッド変更領域外では、変更処理前の配線グリッドの格子点上にその端子が配置されるようにセルが配置されると共に、変更処理前の配線グリッド上に配線が配置される。そして、配線グリッド変更領域内では、配線グリッド変更処理部26によりその間隔が変更された配線グリッドの格子点上にその端子が配置されると共に、変更処理後の配線グリッド上に配線が配置される。このとき、配線グリッド変更処理部26により変更された配線グリッドの間隔(第2の配線グリッド間隔)に対応したセルグリッドを基準にその構成が指定されたセル(第2のセルグリッド間隔で指定されたセル)が、変更処理後の配線グリッドの格子点上に配置される。
【0064】
図5に、図2のセル情報記憶部28が記憶するセル情報の概要を示す。
【0065】
セル情報記憶部28は、同一機能のセルに対し、互いに異なるセルグリッド間隔で規定された複数種類のセル情報を記憶する。例えば、同じ機能を有するインバータ回路に対し、2種類のセルグリッド間隔で規定されたインバータ回路INV−1、INV−2のセル情報が、セル情報記憶部28に記憶される。インバータ回路INV−1のセルは、例えば第1の配線グリッド間隔GD1に対応する第1のセルグリッド間隔cg1で規定されたセルである。インバータ回路INV−2のセルは、例えば第2の配線グリッド間隔DG2に対応する第2のセルグリッド間隔cg2(cg2>cg1)で規定されたセルである。
【0066】
図2の配線グリッド変更処理部26が、X方向及びY方向に設けられる配線グリッドの(図4参照)うちX方向の配線グリッド間隔のみを大きくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してX方向のみ大きくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からX方向のみセルグリッド間隔を大きくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0067】
図6(A)、図6(B)に、X方向の配線グリッド間隔のみを大きく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図6(A)は、インバータ回路INV−1のセル情報の説明図を表す。図6(B)は、インバータ回路INV−2のセル情報の説明図を表す。図6(B)では、図6(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0068】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッドを基準に、そのレイアウト形状が規定されている。即ち、インバータ回路INV−1には、高電位側電源電圧VDDが印加される配線層M1、低電位側電源電圧VSSが印加される配線層M2、P型のチャネル領域が形成されるP型アクティブ領域PA、N型のチャネル領域が形成されるN型アクティブ領域NAが設けられる。配線層M1とP型アクティブ領域PAとは、そのソース領域においてビアセルVC1により電気的に接続される。配線層M2とN型アクティブ領域NAとは、そのソース領域においてビアセルVC2により電気的に接続される。また、インバータ回路INV−1には、ポリシリコン層PLが、P型アクティブ領域PAとN型アクティブ領域NAとの上層に(絶縁膜を介して)設けられ、このポリシリコン層PLには、セルグリッドの格子点上に配置される入力端子Aが設けられる。P型アクティブ領域PAのうちドレイン領域となる領域とN型アクティブ領域NAのうちドレイン領域となる領域には、ビアセルVC3、VC4を介して配線層M3が設けられて電気的に接続される。この配線層M3には、セルグリッドの格子点上に配置される出力端子Xが設けられる。
【0069】
インバータ回路INV−1のセル情報は、上記の図6(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0070】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg1で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg2で設けられるセルグリッドCGを基準に、そのレイアウト形状が規定されている。即ち、インバータ回路INV−2は、Y方向の長さはインバータ回路INV−1と同じで、X方向の長さが長くなっている。そのため、インバータ回路INV−2は、インバータ回路INV−1に比べて、X方向に長さd1だけ長い形状を有する。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより大きく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0071】
インバータ回路INV−2のセル情報は、上記の図6(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0072】
これにより、隣接する配線間のクロストークによる影響を受けやすい領域内で、配線グリッド間隔を大きくできるようになるので、この領域内で、隣接する配線間のクロストークによる影響を低減できるようになる。しかも、大きくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行う必要がなくなる。
【0073】
また、図2の配線グリッド変更処理部26が、X方向及びY方向に設けられる配線グリッドのうちY方向の配線グリッド間隔のみを大きくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してY方向のみ大きくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からY方向のみセルグリッド間隔を小さくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0074】
図7(A)、図7(B)に、Y方向の配線グリッド間隔のみを大きく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図7(A)は、インバータ回路INV−1のセル情報の説明図を表す。図7(B)は、インバータ回路INV−2のセル情報の説明図を表す。図7(A)では、図6(A)と同一部分には同一符号を付し、適宜説明を省略する。図7(B)では、図7(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0075】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッドを基準に、そのレイアウト形状が指定されている。図7(A)に示すインバータ回路INV−1は、図6(A)に示すインバータ回路INV−1と同一形状を有している。インバータ回路INV−1のセル情報は、上記の図7(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0076】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg3で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg1で設けられるセルグリッドCGを基準に、そのレイアウト形状が指定されている。ここで、インバータ回路INV−2は、X方向の長さはインバータ回路INV−1と同じであるが、Y方向の長さをインバータ回路INV−1と同じにして、セルの配置処理を簡素化している。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより大きく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0077】
インバータ回路INV−2のセル情報は、上記の図7(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0078】
これにより、隣接する配線間のクロストークによる影響を受けやすい領域内で、配線グリッド間隔を大きくできるようになるので、この領域内で、隣接する配線間のクロストークによる影響を低減できるようになる。しかも、大きくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行う必要がなくなる。
【0079】
また、図2の配線グリッド変更処理部26が、X方向の配線グリッド間隔及びY方向の配線グリッド間隔を大きくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してX方向及びY方向に大きくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からX方向及びY方向にセルグリッド間隔を大きくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0080】
図8(A)、図8(B)に、X方向及びY方向に配線グリッド間隔を大きく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図8(A)は、インバータ回路INV−1のセル情報の説明図を表す。図8(B)は、インバータ回路INV−2のセル情報の説明図を表す。図8(A)では、図6(A)と同一部分には同一符号を付し、適宜説明を省略する。図8(B)では、図8(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0081】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッド上に、そのレイアウト形状が指定されている。図8(A)に示すインバータ回路INV−1は、図6(A)に示すインバータ回路INV−1と同一形状を有している。インバータ回路INV−1のセル情報は、上記の図8(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0082】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg3で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg2で設けられるセルグリッドCGを基準に、そのレイアウト形状が指定されている。ここで、インバータ回路INV−2は、インバータ回路INV−1に比べて、X方向に長さd1だけ長い形状を有し、Y方向の長さをインバータ回路INV−1と同じにして、セルの配置処理を簡素化している。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより大きく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0083】
インバータ回路INV−2のセル情報は、上記の図8(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0084】
これにより、隣接する配線間のクロストークによる影響を受けやすい領域内で、配線グリッド間隔を大きくできるようになるので、この領域内で、隣接する配線間のクロストークによる影響を低減できるようになる。しかも、大きくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行う必要がなくなる。
【0085】
以上のように、実施形態1における集積回路設計装置20は、同一機能を有するセルの構成を互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部28と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部24と、配線グリッド変更領域設定部24によって配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更処理部26と、配線グリッド変更領域として設定された領域内において、配線グリッド変更処理部26によりその間隔が変更された配線グリッドに所与の配線とセルとを配置する配置配線処理部30とを含む。そして、配置配線処理部30が、セル情報記憶部28に記憶されたセルの配置情報に基づいて、配線グリッド変更処理部26により変更された配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、配線グリッド変更処理部26によりその間隔が変更された配線グリッドに配置することができる。
【0086】
ところで、実施形態1では、レイアウト可能領域内で、局所的に1又は複数の配線グリッド変更領域を設定することが望ましく、例えば以下のような領域に実施形態1の配線グリッド変更領域を設定することが望ましい。
【0087】
図9に、実施形態1における配線グリッド変更領域の例を示す。図9は、実施形態1の集積回路設計装置20において自動配置配線によりセル及び配線が配置される集積回路100のフロアプランの一例を模式的に表す。
【0088】
集積回路100は、矩形状のレイアウト可能領域LAの各辺に隣接して、一定の幅のI/Oセル領域IA1〜IA4が設けられる。各I/Oセル領域には、チップの縁部に沿って、パッドと該パッドに対応するI/Oセルとが配置される。このパッドが、ICパッケージの端子とボンディングワイヤを介して電気的に接続される。
【0089】
集積回路設計装置20によるセル及び配線の自動配置配線は、レイアウト可能領域LAにおいて行われる。図9では、レイアウト可能領域LAに、マクロブロックMB1〜MB3が配置されているものとする。マクロブロックMB1〜MB3は、それぞれアナログ回路(例えば発振回路、電源回路、RAM、A/D変換器、D/A変換器等)を有するアナログマクロブロックであり、実施形態1における集積回路設計装置20によるセル及び配線の配置処理の前に、予めアナログマクロブロックに入力又は出力されるアナログ信号を伝送する信号線がフィジカルレイアウトで配置されている。
【0090】
実施形態1では、図9に示すように、アナログマクロブロックの周辺領域を、配線グリッド変更領域として設定することが望ましい。図9では、マクロブロックMB1〜MB3の各マクロブロックの周辺領域MC1〜MC3が、配線グリッド変更領域として設定される。
【0091】
図10に、アナログマクロブロックの周辺領域に設定される配線グリッド変更領域の説明図を示す。図10は、領域MC3の説明図を表す。図10において、図9と同一部分には同一符号を付し、適宜説明を省略する。
【0092】
ここで、マクロブロックMB3が、X方向の長さがD1、Y方向の長さがD2である矩形の形状を有しているものとする。このとき、配線グリッド変更領域としての領域MC3は、マクロブロックMB3の周囲に所与の長さだけ外側に設けられる領域である。より具体的には、マクロブロックMB3のエッジから長さW1だけ外側に均等に設けられる領域が、配線グリッド変更領域として設定される。従って、図10の配線グリッド変更領域としての領域MC3では、セルの配置の優先順位が下げられると共に、他の領域と比較して配線グリッド間隔が大きくなるように変更される。
【0093】
これにより、図9に示すように、配線グリッド変更領域MC3に、デジタル信号の配線CNDが配置されたとしても、予めマクロブロックMB3に入力又は出力されるアナログ信号の配線CNAと離れて配置されるため、配線CNAへのクロストークによる影響を低減できるようになる。
【0094】
以上のような集積回路設計装置20の機能は、ハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。以下では、集積回路設計装置20の機能が、ソフトウェア処理により実現されるものとする。
【0095】
図11に、図2の集積回路設計装置20のハードウェア構成例のブロック図を示す。
【0096】
集積回路設計装置20は、CPU50、I/F回路52、読み出し専用メモリ(Read Only Memory:ROM)54、ランダムアクセスメモリ(Random Access Memory:RAM)56、バス58を有し、バス58を介して、CPU50、I/F回路52、ROM54、RAM56は電気的に接続されている。
【0097】
例えばROM54又はRAM56には、集積回路設計装置20の機能を実現するプログラムが記憶される。CPU50は、ROM54又はRAM56に記憶されたプログラムを読み出し、該プログラムに対応した処理を実行することで、上述の集積回路設計装置20の機能をソフトウェア処理で実現できる。即ち、ROM54又はRAM56に記憶されたプログラムを読み込んで該プログラムに対応した処理を行うCPU50により、図2の集積回路設計装置20の各部の機能が実現される。
【0098】
なお、RAM56は、CPU50による処理の作業領域として用いられたり、I/F回路52やROM54のバッファ領域として用いられたりする。I/F回路52は、図2の表示装置40への出力インタフェース処理(表示処理、表示駆動処理)や、図示しない入力インタフェースからの配線グリッド変更領域を指定する信号の入力インタフェース処理等を行う。
【0099】
図12に、図2の集積回路設計装置20の処理例のフロー図を示す。例えば図11のROM54又はRAM56には、図12に示す処理を実現するためのプログラムが格納されており、CPU50がROM54又はRAM56に格納されたプログラムを読み出して該プログラムに対応した処理を実行することで、図12に示す処理をソフトウェア処理により実現できる。
【0100】
まず、集積回路設計装置20は、予め生成されたフロアプラン設定情報を読み込んだり、或いは外部からの指定されたフロアプラン設定情報を取り込んだりして、集積回路100のレイアウト可能領域内にアナログマクロブロックを配置する処理を行う(ステップS10)。
【0101】
次に、集積回路設計装置20は、配線グリッド変更領域ステップとして、配線グリッド変更領域設定部24の機能により、例えば外部から指定された配線グリッド変更領域を、上記のアナログマクロブロックが配置された集積回路100のレイアウト可能領域に設定する処理を行う(ステップS12)。ステップS12で設定される配線グリッド変更領域は、例えば図9で説明したアナログマクロブロックの周辺領域である。
【0102】
ここで、集積回路設計装置20は、一旦、配置配線処理部30の機能により、セル及び配線の配置処理を行う(ステップS14)。即ち、ステップS14では、配線グリッド変更領域内で配置される配線同士のクロストークによる影響を確認するために、ステップS12で設定された配線グリッド変更領域内の配線グリッド間隔が変更されない状態でセル及び配線の配置処理が行われる。
【0103】
ステップS14において、一度、セル及び配線の配置処理が行われた後、集積回路設計装置20は、アナログマクロブロックに入力又は出力される信号の配線のクロストークによる影響度をチェックする(ステップS16)。このとき、例えば、配線グリッド変更領域で、例えば、隣接する配線グリッド上に両配線が配置されるとき、又は両配線が交差するとき、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与えると判断されると判断し、その旨を表示装置40により通知したり、クロストークにより影響する恐れのある配線が配置される配線グリッド変更領域以外の領域を表示装置40により通知したりする。
【0104】
ステップS16において、両配線の影響度をチェックした結果、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与えないと判断されるとき(ステップS16:Y)、集積回路設計装置20は、一連の処理を終了する(エンド)。
【0105】
ステップS16において、両配線の影響度をチェックした結果、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与えると判断されるとき(ステップS16:N)、集積回路設計装置20は、配線グリッド変更ステップとして、配線グリッド変更処理部26の機能により、配線グリッド変更領域内の配線グリッド間隔を大きくする変更処理を行う(ステップS18)。
【0106】
続いて、集積回路設計装置20は、配置配線処理部30の機能により、配線グリッド変更領域内のセルを、ステップS18で変更した配線グリッド間隔に対応するセルグリッド間隔で定義された同一機能のセルに置き換え(ステップS20)、再びステップS14に戻って配置配線処理を行う。即ち、ステップS20とこれに続いて行われるステップS14が、配線グリッド変更領域内において、配置配線ステップとして、配線グリッド変更ステップにおいて配線グリッド間隔が変更された配線グリッドに所与の配線を配置すると共に、配線グリッド変更ステップにおいて変更された配線グリッドの間隔に対応したセルグリッドを基準にその構成が指定されたセルを、配線グリッド変更ステップにおいて配線グリッド間隔が変更された配線グリッドに配置する。
【0107】
また、ステップS20とこれに続いて行われるステップS14では、配線グリッド変更領域以外の領域では、変更処理前の配線グリッド間隔で、所与の配線が配置されると共に、変更処理前の配線グリッド間隔に対応したセルグリッドを基準にその構成が指定されたセルが、変更処理前の配線グリッド間隔の配線グリッドに配置される。
【0108】
セル情報記憶部28に、複数種類のセルグリッド間隔に対応したセル情報を記憶させておけば、ステップS16において、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与えないと判断されるまで、配線グリッド変更領域内の配線グリッドを大きく変更すると共に、変更した配線グリッド間隔に対応するセルグリッド間隔で定義された同一機能のセルの置き換えを繰り返すことができる。
【0109】
また、配線グリッド変更領域内の配線グリッドを大きく変更すると共に、上記の同一機能のセルの置き換えを繰り返すうちに、ステップS18で変更される配線グリッド間隔が大きくなって、ステップS12で設定した配線グリッド変更領域の外側に設定されるまで繰り返すことになる。
【0110】
なお、図12では、ステップS20に続いて、ステップS14においてセル及び配線の配置配線処理が行われるものとして説明したが、本発明はこれに限定されるものではない。例えば、ステップS16における両配線の影響度のチェックの結果、クロストークにより影響する恐れのある配線が配置される配線グリッド変更領域以外の領域が特定されたとき、ステップS20に続いてステップS12に戻って、新たに配線グリッド変更領域を追加して設定してから、ステップS14においてセル及び配線の配置配線処理が行われるようにしてもよい。
【0111】
また、ステップS18において、配線グリッド間隔を変更する際に、そのまま配線グリッド変更領域の外側に配線グリッドを設定するように、配線グリッドの間隔を大きく変更するようにしてもよい。こうすることで、配線グリッド変更領域内では、その領域外に変更された配線グリッド上には、セル及び配線の配置を確実に防止できるようになる。
【0112】
以上のように、実施形態1では、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、配線グリッド変更領域設定ステップにおいて配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更ステップと、配線グリッド変更領域として設定された領域内において、配線グリッド変更ステップにおいてその間隔が変更された配線グリッドに所与の配線を配置すると共に、配線グリッド変更ステップにおいて変更された配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、配線グリッド変更ステップにおいてその間隔が変更された配線グリッドに配置する配置配線ステップとを含むことができる。
【0113】
このような実施形態1によれば、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、所定のマクロブロック周辺において、例えばアナログ信号を伝送する信号配線とデジタル信号を伝送する信号配線とのクロストークによる影響を低減できるようになる。
【0114】
〔実施形態1の変形例〕
実施形態1における集積回路設計装置20では、同一機能のセルが複数種類のセルグリッド間隔で定義された複数のセル情報がセル情報記憶部28に記憶されているものとして説明したが、本発明はこれに限定されるものではない。例えば、配線グリッド間隔をより大きく変更したとき、この変更後の配線グリッド間隔に対応したセルグリッド間隔で定義されるセル情報を新たに生成するようにしてもよい。
【0115】
図13に、実施形態1の変形例における集積回路設計装置の構成例のブロック図を示す。図13において、図2と同一部分には同一符号を付し、適宜説明を省略する。
【0116】
実施形態1の変形例における集積回路設計装置80は、ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、配置配線処理部30、セル情報生成部90を含む。
【0117】
ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、及び配置配線処理部30の各部の構成及び機能は、実施形態1と同様であるため説明を省略する。
【0118】
セル情報生成部90は、配線グリッド変更処理部26による変更後の配線グリッド間隔に対応したセルグリッド間隔でそのレイアウト形状が定義されたセルの情報を新たに生成する。このため、配線グリッド変更処理部26により配線グリッド間隔をより大きくする変更処理が行われたとき、セル情報生成部90は、セル情記憶部28に記憶されたセルのうち、配線グリッド変更領域内に配置されるセルの情報を読み出す。そして、セル情報生成部90は、配線グリッド変更処理部26による変更後の配線グリッド間隔に対応したセルグリッド間隔となるように、読み出したセルの情報のセルグリッド間隔をより大きく変更し、これに対応したセルの形状を指定する情報を生成する。このとき、セル情報生成部90は、セルグリッド間隔を大きくした場合でも、変更後のセルグリッドの格子点上に端子が配置されるようにセルの形状を指定する情報を生成する。
【0119】
配置配線処理部30は、配線グリッド変更領域内において、セル情報生成部90により生成されたセルの情報に基づいて、配線グリッド間隔が変更された配線グリッド上に、セル及び配線を配置する処理を行う。
【0120】
なお、セル情報生成部90は、配線グリッド変更処理部26により配線グリッド間隔が変更される毎に、セル情報を生成するようにしてもよいし、予め配線グリッド変更処理部26による変更後の複数の配線グリッド間隔が判明している場合には、それぞれの配線グリッド間隔に対応したセルグリッド間隔のセル情報を、配線グリッド変更処理部26による変更処理に先立って生成するようにしてもよい。
【0121】
本変形例によれば、配線グリッド変更処理部26が任意の配線グリッド間隔に変更できるようになるので、集積回路100の高集積化をより一層促進させることができるようになる。
【0122】
〔実施形態2〕
実施形態1における集積回路設計装置20又は実施形態1の変形例における集積回路設計装置80は、配線グリッド変更領域内の配線グリッド間隔を大きくすることで、例えばアナログマクロブロックに入力又は出力されるアナログ信号の配線へのクロストークによる影響を低減するようにしていたが、本発明はこれに限定されるものではない。本発明に係る実施形態2では、配線グリッド変更領域内の配線グリッドを消滅させることで、上記のアナログ信号の配線へのクロストークによる影響を確実に低減させるようにする。
【0123】
図14(A)、図14(B)に、実施形態2における集積回路設計装置の処理の概要を模式的に示す。図14(A)は、実施形態2の比較例における集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図14(B)は、実施形態2の集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図14(A)、図14(B)において、同一部分には同一符号を付し、適宜説明を省略する。
【0124】
実施形態2又はその比較例における集積回路設計装置は、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロック間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。その結果、図14(A)、図14(B)において、集積回路100には、マクロブロック102と、論理回路のセルと、これらを接続する配線とが配線グリッド上に配置される。
【0125】
図14(A)では、格子状に設けられた配線グリッドGR上に、第1層配線ML1、第1層配線ML1より上層の第2層配線ML2、第1層配線ML1及び第2層配線ML2を電気的に接続するビアセルVCが配置される。隣接する配線グリッドGR同士の間隔である配線グリッド間隔GD1は、製造プロセスに依存したデザインルールにより規定される。例えば、隣接するビアセルVCのエッジ間の最小ピッチm1以上となるように配線グリッド間隔GD1が規定される。第1層配線ML1は例えば垂直方向に延びる配線グリッドGR上に配置されると共に、第2層配線ML2は例えば水平方向に延びる配線グリッドGR上に配置されるため、ビアセルVCは、配線グリッドの格子点上に配置される。
【0126】
図14(A)では、水平方向に延びる配線グリッドの間隔と、垂直方向に延びる配線グリッドの間隔とが同じであるものとして説明したが、両方向の配線グリッドの間隔が異なっていてもよい。
【0127】
ところで、実施形態2の比較例における集積回路設計装置おいても、マクロブロック102の周辺領域では、配線同士が近くに配置される。例えば、マクロブロック102がアナログマクロブロックである場合には、アナログ信号の配線とデジタル信号の配線とが、配線グリッド間隔GD1を隔てて並走や交差するように配置されてしまい、アナログ信号にノイズを重畳させる可能性が高くなる。
【0128】
このような配線を確実に防止するために、実施形態2では、局所的に配線グリッドを消滅させる処理を行う。より具体的には、実施形態2では、図14(B)に示すように、配置される配線間のクロストークによる影響を低減したい領域を配線グリッド変更領域BAとして設定し、配線グリッド変更領域BA内の配線グリッドを消滅させる。
【0129】
こうすることで、図14(A)では、セル配置配線禁止領域として設定された領域に配置された配線間にクロストークによる影響を及ぼしていた場合でも、配線グリッド変更領域には配線グリッドが消滅しているため、セルや配線が配置されず、この領域内の配線間のクロストークによる影響を確実に低減できるようになる。
【0130】
以下では、このような処理を実現する集積回路設計装置の構成及び動作について説明する。
【0131】
図15に、実施形態2における集積回路設計システムの構成例のブロック図を示す。なお、図15において、図2と同一部分には同一符号を付し、適宜説明を省略する。
【0132】
実施形態2における集積回路設計システム200は、集積回路設計装置210と、表示装置40とを含む。集積回路設計装置210は、図2の集積回路設計装置20と同様に、所与の自動配置配線アルゴリズムにより、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロック間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。集積回路設計装置210によるセルや配線の配置処理の結果は、表示装置40に表示される。集積回路設計装置210の機能は、パーソナルコンピュータやネットワーク端末(サーバに接続されるクライアント端末)等により実現される。
【0133】
集積回路設計装置210は、ネットリスト記憶部22、配線グリッド変更領域設定部212、配線グリッド変更処理部214、セル情報記憶部216、配置配線処理部30を含む。ネットリスト記憶部22は、ネットリストを記憶する。集積回路設計装置210は、このネットリストに基づいて、セルや配線を配置する処理を行う。
【0134】
配線グリッド変更領域設定部212は、レイアウト可能領域内の所与の領域を配線グリッド変更領域として設定する。配線グリッド変更領域では、後述するように、セル及び配線の配置が禁止される。この配線グリッド変更領域は、配置される配線間のクロストークによる影響を低減したい領域に設定されることが望ましい。
【0135】
配線グリッド変更処理部214は、格子状に設けられた配線グリッドの間隔を変更する処理を行う。即ち、配線グリッド変更処理部214は、配線グリッド変更領域として設定される配線グリッド変更領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させる処理を行う。ここで、第1の方向は図3のように定義されるX方向、第2の方向は図3のように定義されるY方向とすることができる。
【0136】
セル情報記憶部216は、複数のセル情報を記憶する。ここでセル情報は、セル毎に、セルの形状、端子数、端子位置等のセルや配線の配置に必要な情報を有する。各セルは、セルグリッドを基準に、セル内のレイアウトの形状が指定される。セル情報記憶部216は、実施形態1のセル情報記憶部28と異なり、1種類のセルグリッド間隔で規定されたセル情報を記憶する。
【0137】
配置配線処理部30は、ネットリスト記憶部22に記憶されたネットリストに基づいて、配線グリッドの格子点上にその端子が配置されるようにセルを配置すると共に、配線グリッド上に配線を配置する。配置配線処理部30は、図4で説明した実施形態1又はその変形例と同様の処理を行う。
【0138】
以上のように、実施形態2における集積回路設計装置210は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部212と、配線グリッド変更領域設定部212によって配線グリッド変更領域として設定された領域内の配線グリッドを消滅させる配線グリッド変更処理部214と、配線グリッド変更領域として設定された領域を除外して、配線グリッド変更処理部214による処理後の配線グリッドにセル及び配線を配置する配置配線処理部30とを含むことができる。
【0139】
このような実施形態2では、実施形態1又はその変形例と同様に、レイアウト可能領域内で、局所的に1又は複数の配線グリッド変更領域を設定することが望ましく、例えば図9に示す領域に実施形態2の配線グリッド変更領域を設定することが望ましい。即ち、実施形態2においても、アナログマクロブロックの周辺領域を、配線グリッド変更領域に設定することが望ましい。
【0140】
これにより、図9に示すように、配線グリッド変更領域MC3に、デジタル信号の配線CNDが配置されたとしても、予めマクロブロックMB3に入力又は出力されるアナログ信号の配線が配置されることなく、確実に、配線CNAへのクロストークによる影響を低減できるようになる。
【0141】
以上のような集積回路設計装置210の機能は、ハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。以下では、集積回路設計装置210の機能が、ソフトウェア処理により実現されるものとする。
【0142】
ここで、集積回路設計装置210のハードウェア構成例は、図11に示す実施形態1の集積回路設計装置20又は実施形態1の変形例における集積回路設計装置80と同様であるため、図示及び説明を省略する。実施形態2においても、例えばROM54又はRAM56には、集積回路設計装置210の機能を実現するプログラムが記憶される。CPU50は、ROM54又はRAM56に記憶されたプログラムを読み出し、該プログラムに対応した処理を実行することで、上述の集積回路設計装置210の機能をソフトウェア処理で実現できる。即ち、ROM54又はRAM56に記憶されたプログラムを読み込んで該プログラムに対応した処理を行うCPU50により、集積回路設計装置210の各部の機能が実現される。
【0143】
図16に、図15の集積回路設計装置210の処理例のフロー図を示す。例えば図11のROM54又はRAM56には、図16に示す処理を実現するためのプログラムが格納されており、CPU50がROM54又はRAM56に格納されたプログラムを読み出して該プログラムに対応した処理を実行することで、図16に示す処理をソフトウェア処理により実現できる。
【0144】
まず、集積回路設計装置210は、予め生成されたフロアプラン設定情報を読み込んだり、或いは外部からの指定されたフロアプラン設定情報を取り込んだりして、集積回路100のレイアウト可能領域内にアナログマクロブロックを配置する処理を行う(ステップS30)。
【0145】
次に、集積回路設計装置210は、配線グリッド変更領域ステップとして、配線グリッド変更領域設定部212の機能により、例えば外部から指定された配線グリッド変更領域を、上記のアナログマクロブロックが配置された集積回路100のレイアウト可能領域に設定する処理を行う(ステップS32)。ステップS32で設定される配線グリッド変更領域は、例えば図9で説明したアナログマクロブロックの周辺領域である。
【0146】
続いて、集積回路設計装置210は、配線グリッド変更ステップとして、配線グリッド変更処理部214の機能により、配線グリッド変更領域内の配線グリッドを消滅させる変更処理を行う(ステップS34)。
【0147】
続いて、集積回路設計装置210は、配置配線ステップとして、配置配線処理部30の機能により、配線グリッド変更領域として設定された領域を除外して、配線グリッド変更ステップにおける処理後の配線グリッドにセル及び配線を配置し(ステップS36)、一連の処理を終了する(エンド)。
【0148】
なお、ステップS36では、また、配線グリッド変更領域内でX方向の配線グリッドのみを消滅させた場合には、この領域内のY方向の配線グリッド上に、セル及び配線が配置され、配線グリッド変更領域外の格子状の配線グリッド上にセル及び配線が配置される。また、配線グリッド変更領域内でY方向の配線グリッドのみを消滅させた場合には、この領域内のX方向の配線グリッド上に、セル及び配線が配置され、配線グリッド変更領域外の格子状の配線グリッド上にセル及び配線が配置される。更に、配線グリッド変更領域内では、X方向及びY方向の配線グリッドを消滅させた場合には、この領域内にセル及び配線が配置されることがなく、配線グリッド変更領域外のみセル及び配線が配置される。
【0149】
以上のように、実施形態2では、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、配線グリッド変更領域設定ステップにおいて配線グリッド変更領域として設定された領域内の配線グリッドを消滅させる配線グリッド変更ステップと、配線グリッド変更領域として設定された領域を除外して、配線グリッド変更ステップにおける処理後の配線グリッドにセル及び配線を配置する配置配線ステップとを含むことができる。
【0150】
このような実施形態2によれば、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、所定のマクロブロック周辺において、例えばアナログ信号を伝送する信号配線とデジタル信号を伝送する信号配線とのクロストークによる影響を確実に低減できるようになる。
【0151】
以上、本発明に係る集積回路設計装置及び集積回路設計方法を上記の実施形態又はその変形例に基づいて説明したが、本発明は上記の実施形態又はその変形例に限定されるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0152】
(1)実施形態1又はその変形例では、配線グリッド変更領域として、アナログマクロブロックの周辺領域を採用するものとして説明したが、本発明はこれに限定されるものではない。レイアウト可能領域内において、配線グリッド変更領域として、配線グリッド間隔をより大きく変更する領域を局所的に設定できればよい。
【0153】
(2)実施形態2では、配線グリッド変更領域として、アナログマクロブロックの周辺領域を採用するものとして説明したが、本発明はこれに限定されるものではない。レイアウト可能領域内において、配線グリッド変更領域として、配線グリッドを消滅させる領域を局所的に設定できればよい。
【0154】
(3)上記の実施形態又はその変形例では、主として、レイアウト設計対象の集積回路がスタンダードセルにより構成されるものとして説明したが、本発明はこれに限定されるものではない。例えば、ゲートアレイやエンベデッドアレイにより構成される集積回路を、レイアウト設計対象としてもよい。
【0155】
(4)上記の実施形態又はその変形例では、半導体基板に形成される集積回路のレイアウト設計に適用される例を説明したが、本発明はこれに限定されるものではない。例えば、半導体基板でない基板に回路が形成された集積回路のレイアウト設計にも適用できる。
【0156】
(5)上記の実施形態又はその変形例では、P型を第1導電型、N型を第2導電型として説明したが、N型を第1導電型、P型を第2導電型としてもよい。
【0157】
(6)上記の実施形態又はその変形例では、アナログマクロブロックに入力又は出力されるアナログ信号の配線に、デジタル信号の配線がクロストークによる影響を与える例について説明したが、本発明はこれに限定されるものではない。例えば、マクロブロックに入力又は出力されるクロック信号の配線に、別系統のクロック信号の配線が与えるクロストークによる影響を低減する場合にも適用できる。また、例えば単純に、別系統の2種類のクロック信号の配線が並走又は交差して、一方が他方に与えるクロストークによる影響を低減する場合にも適用できる。
【0158】
(7)上記の実施形態又はその変形例において、本発明を、集積回路設計装置及び集積回路設計方法として説明したが、本発明はこれに限定されるものではない。例えば、本発明を実現するための集積回路設計方法の処理手順が記述されたプログラムや、該プログラムが記録された記録媒体であってもよい。
【図面の簡単な説明】
【0159】
【図1】図1(A)、図1(B)は本発明の実施形態1における集積回路設計装置の処理の概要を模式的に示す図。
【図2】実施形態1における集積回路設計システムの構成例のブロック図。
【図3】図2の配線グリッド変更処理部の動作説明図。
【図4】図2の配置配線処理部の動作説明図。
【図5】図2のセル情報記憶部が記憶するセル情報の概要を示す図。
【図6】図6(A)、図6(B)はX方向の配線グリッド間隔のみを大きく変更した場合のセル情報記憶部が記憶するセル情報の説明図。
【図7】図7(A)、図7(B)はY方向の配線グリッド間隔のみを大きく変更した場合のセル情報記憶部が記憶するセル情報の説明図。
【図8】図8(A)、図8(B)はX方向及びY方向に配線グリッド間隔を大きく変更した場合のセル情報記憶部が記憶するセル情報の説明図。
【図9】実施形態1における配線グリッド変更領域の例を示す図。
【図10】アナログマクロブロックの周辺領域に設定される配線グリッド変更領域の説明図。
【図11】図2の集積回路設計装置のハードウェア構成例のブロック図。
【図12】図2の集積回路設計装置の処理例のフロー図。
【図13】実施形態1変形例における集積回路設計装置の構成例のブロック図。
【図14】図14(A)、図14(B)は本発明の実施形態2における集積回路設計装置の処理の概要を模式的に示す図。
【図15】実施形態2における集積回路設計システムの構成例のブロック図。
【図16】図15の集積回路設計装置の処理例のフロー図。
【符号の説明】
【0160】
10,200…集積回路設計システム、 20,80,210…集積回路設計装置、
22…ネットリスト記憶部、 24,212…配線グリッド変更領域設定部、
26,214…配線グリッド変更処理部、 28,216…セル情報記憶部、
30…配置配線処理部、 40…表示装置、 50…CPU、 52…I/F回路、
54…ROM、 56…RAM、 58…バス、 90…セル情報生成部、
100…集積回路、 102,MB1〜MB3…マクロブロック、
BA…配線グリッド変更領域、 C10〜C13,C20,C24,CL…セル、
CG…セルグリッド、 CN1…配線、 CNA…アナログ信号の配線、
CND…デジタル信号の配線、
GD1,GD2x,GD2y,xd1,yd1…配線グリッド間隔、
GR…配線グリッド、 IA1〜IA4…I/Oセル領域、
INV−1,INV−2…インバータ回路、 LA…レイアウト可能領域、
M1〜M3…配線層、 MC1〜MC3…領域、 ML1…第1層配線、
ML2…第2層配線、 NA…N型アクティブ領域、 PA…P型アクティブ領域、
PL…ポリシリコン層、 VC,VC1〜VC4…ビアセル、 XC1…端子、
cg1,cg2,cg3…セルグリッド間隔、 m1…最小ピッチ
【特許請求の範囲】
【請求項1】
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、
前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更ステップと、
前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含むことを特徴とする集積回路設計方法。
【請求項2】
請求項1において、
前記配線グリッド変更ステップが、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することを特徴とする集積回路設計方法。
【請求項3】
請求項1又は2において、
前記配線グリッド変更ステップが、
前記領域の外側に配線グリッドを設定するように、前記配線グリッドの間隔を大きく変更することを特徴とする集積回路設計方法。
【請求項4】
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、
前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドを消滅させる配線グリッド変更ステップと、
前記配線グリッド変更領域として設定された前記領域を除外して、前記配線グリッド変更ステップにおける処理後の配線グリッドにセル及び配線を配置する配置配線ステップとを含むことを特徴とする集積回路設計方法。
【請求項5】
請求項4において、
前記配線グリッド変更ステップが、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させることを特徴とする集積回路設計方法。
【請求項6】
請求項2又は5において、
前記第1の方向は、
スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であることを特徴とする集積回路設計方法。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記配線グリッド変更領域として設定された前記領域が、
アナログマクロブロックの周辺領域であることを特徴とする集積回路設計方法。
【請求項8】
請求項7において、
前記アナログマクロブロックの周辺領域が、
前記アナログマクロブロックの周囲に所与の長さだけ外側に設けられる領域であることを特徴とする集積回路設計方法。
【請求項9】
配線グリッド上に配線及びセルを配置する集積回路設計装置であって、
同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、
前記配線グリッド変更領域設定部により前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更処理部と、
前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部とを含み、
前記配置配線処理部が、
前記セル情報記憶部に記憶されたセルの情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置することを特徴とする集積回路設計装置。
【請求項10】
請求項9において、
前記配線グリッド変更処理部が、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することを特徴とする集積回路設計装置。
【請求項11】
請求項9又は10において、
前記配線グリッド変更処理部が、
前記領域の外側に配線グリッドを設定するように、前記配線グリッドの間隔を大きく変更することを特徴とする集積回路設計装置。
【請求項12】
配線グリッド上に配線及びセルを配置する集積回路設計装置であって、
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、
前記配線グリッド変更領域設定部により前記配線グリッド変更領域として設定された前記領域内の配線グリッドを消滅させる配線グリッド変更処理部と、
前記配線グリッド変更領域として設定された前記領域を除外して、前記配線グリッド変更処理部による処理後の配線グリッドにセル及び配線を配置する配置配線処理部とを含むことを特徴とする集積回路設計装置。
【請求項13】
請求項12において、
前記配線グリッド変更処理部が、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させることを特徴とする集積回路設計装置。
【請求項14】
請求項10又は13において、
前記第1の方向は、
スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であることを特徴とする集積回路設計装置。
【請求項15】
請求項9乃至14のいずれかにおいて、
前記配線グリッド変更領域として設定された前記領域が、
アナログマクロブロックの周辺領域であることを特徴とする集積回路設計装置。
【請求項1】
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、
前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更ステップと、
前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含むことを特徴とする集積回路設計方法。
【請求項2】
請求項1において、
前記配線グリッド変更ステップが、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することを特徴とする集積回路設計方法。
【請求項3】
請求項1又は2において、
前記配線グリッド変更ステップが、
前記領域の外側に配線グリッドを設定するように、前記配線グリッドの間隔を大きく変更することを特徴とする集積回路設計方法。
【請求項4】
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、
前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドを消滅させる配線グリッド変更ステップと、
前記配線グリッド変更領域として設定された前記領域を除外して、前記配線グリッド変更ステップにおける処理後の配線グリッドにセル及び配線を配置する配置配線ステップとを含むことを特徴とする集積回路設計方法。
【請求項5】
請求項4において、
前記配線グリッド変更ステップが、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させることを特徴とする集積回路設計方法。
【請求項6】
請求項2又は5において、
前記第1の方向は、
スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であることを特徴とする集積回路設計方法。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記配線グリッド変更領域として設定された前記領域が、
アナログマクロブロックの周辺領域であることを特徴とする集積回路設計方法。
【請求項8】
請求項7において、
前記アナログマクロブロックの周辺領域が、
前記アナログマクロブロックの周囲に所与の長さだけ外側に設けられる領域であることを特徴とする集積回路設計方法。
【請求項9】
配線グリッド上に配線及びセルを配置する集積回路設計装置であって、
同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、
前記配線グリッド変更領域設定部により前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより大きく変更する配線グリッド変更処理部と、
前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部とを含み、
前記配置配線処理部が、
前記セル情報記憶部に記憶されたセルの情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置することを特徴とする集積回路設計装置。
【請求項10】
請求項9において、
前記配線グリッド変更処理部が、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することを特徴とする集積回路設計装置。
【請求項11】
請求項9又は10において、
前記配線グリッド変更処理部が、
前記領域の外側に配線グリッドを設定するように、前記配線グリッドの間隔を大きく変更することを特徴とする集積回路設計装置。
【請求項12】
配線グリッド上に配線及びセルを配置する集積回路設計装置であって、
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、
前記配線グリッド変更領域設定部により前記配線グリッド変更領域として設定された前記領域内の配線グリッドを消滅させる配線グリッド変更処理部と、
前記配線グリッド変更領域として設定された前記領域を除外して、前記配線グリッド変更処理部による処理後の配線グリッドにセル及び配線を配置する配置配線処理部とを含むことを特徴とする集積回路設計装置。
【請求項13】
請求項12において、
前記配線グリッド変更処理部が、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドを消滅させることを特徴とする集積回路設計装置。
【請求項14】
請求項10又は13において、
前記第1の方向は、
スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であることを特徴とする集積回路設計装置。
【請求項15】
請求項9乃至14のいずれかにおいて、
前記配線グリッド変更領域として設定された前記領域が、
アナログマクロブロックの周辺領域であることを特徴とする集積回路設計装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2010−21393(P2010−21393A)
【公開日】平成22年1月28日(2010.1.28)
【国際特許分類】
【出願番号】特願2008−181093(P2008−181093)
【出願日】平成20年7月11日(2008.7.11)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年1月28日(2010.1.28)
【国際特許分類】
【出願日】平成20年7月11日(2008.7.11)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]