集積回路設計方法、集積回路設計装置、集積回路及び電子機器
【課題】処理負荷の増大を抑えながら、これまで配線が混雑していた領域でも確実にセルや配線を配置できる集積回路設計方法等を提供する。
【解決手段】集積回路設計方法は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更ステップと、前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含む。
【解決手段】集積回路設計方法は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更ステップと、前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集積回路設計方法、集積回路設計装置、この集積回路設計方法又は集積回路設計装置により設計された集積回路及び電子機器に関する。
【背景技術】
【0002】
近年、半導体集積回路(広義には集積回路)の高機能化や高性能化に対する市場の要求が高い。そのため、配線の多層化や製造プロセス技術の進歩によって半導体集積回路の高集積化が急速に進む一方で、半導体集積回路は、アナログ回路等の特殊なマクロブロックの搭載や回路規模の大幅な増大により、セルや配線の配置が一層困難になっている。これに伴い、半導体集積回路の設計期間が長くなり、設計期間の短縮が大きな課題の1つとなっている。
【0003】
このような半導体集積回路を短期間でユーザに提供するため、ゲートアレイ、エンベデッドアレイやスタンダードセルで構成される半導体集積回路の設計手法が整備されている。例えばスタンダードセルで構成される半導体集積回路では、ユーザが必要とする機能が、最適設計された内部ロジックセルと、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)やアナログ回路等のマクロブロックとが配線により接続されて1チップ化される。その際、マクロブロックの配置位置等をフロアプランとして決定した後、自動配置配線ツールにより、チップ上のレイアウト可能領域内において定義された配線グリッド上にセルの端子が配置され、ネットリストに従って配線が配置される。
【0004】
ところが、自動配置配線ツールを用いても、所定の領域では配線が混雑して、配線できないことが多い。そこで、例えば特許文献1には、概略配線の結果に基づいて、配線グリッド数の余裕度に応じた配線ピッチに基づいて配線グリッドを再生成する技術が開示されている。この特許文献1によれば、カップリング容量によるクロストークを防止することができる。
【0005】
【特許文献1】特開2004−133638号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、自動配置配線ツールでは、格子状に定義された配線グリッドの格子点上に端子が配置され、配線グリッド上に配線が配置されるようにセルが配置される。しかしながら、特許文献1では、配線グリッド数の余裕度に応じた配線ピッチに基づいて、単純に配線グリッドを再生成するに過ぎず、再生成後の配線グリッドに配置可能なセルの種類が限定されてしまう。そのため、配線グリッドを用いない特殊な配線処理を行う必要が生じ、処理負荷が重くなってしまうという問題がある。
【0007】
このように、特許文献1に開示された技術を用いても、任意の配線ピッチの配線グリッドを再生成できるわけではなく、実質的に、元のセルが配置できるような配線ピッチの配線グリッドを再生成せざるを得ない。従って、特許文献1に開示された技術では、特殊な配線処理による処理負荷が重くなるか、集積回路の高集積化の効果が十分に得られない。
【0008】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的の1つは、処理負荷の増大を抑えながら、これまで配線が混雑していた領域でも確実にセルや配線を配置できる集積回路設計方法、集積回路設計装置、集積回路及び電子機器を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために本発明は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更ステップと、前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含む集積回路設計方法に関係する。
【0010】
本発明によれば、局所的に配線グリッド間隔を小さくすると共に、小さくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、これまで配線の混雑度が高かった領域内でも、複雑な配線処理を行うことなく、確実にセルや配線の配置が可能となり、集積回路の高集積化を実現できるようになる。
【0011】
また本発明に係る集積回路設計方法では、前記配線グリッド変更領域として設定される領域が、マクロブロックのコーナー部を含む領域であってもよい。
【0012】
また本発明に係る集積回路設計方法では、前記マクロブロックのコーナー部を含む領域が、前記コーナー部を中心とし、該コーナー部において交差する前記マクロブロックの境界線の二辺のうち短辺の長さを一辺の長さとする正方形の領域であってもよい。
【0013】
上記のいずれかの発明によれば、上記の効果に加えて、マクロブロックのコーナー部を迂回する配線によって混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0014】
また本発明に係る集積回路設計方法では、前記配線グリッド変更領域として設定される領域が、互いに交差する第1及び第2の方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域であってもよい。
【0015】
本発明によれば、上記の効果に加えて、I/Oセル領域に配置されるI/Oセルに接続される配線と、各マクロブロックに接続される配線とにより混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0016】
また本発明に係る集積回路設計方法では、前記配線グリッド変更領域として設定される領域が、第1及び第2のマクロブロックに挟まれた領域であってもよい。
【0017】
本発明によれば、上記の効果に加えて、第1のマクロブロックに接続される配線と、第2のマクロブロックに接続される配線とにより混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0018】
また本発明に係る集積回路設計方法では、当該領域内の第1の方向に延びる前記配線グリッド変更ステップにおける変更前の配線グリッド数をx、前記当該領域内において前記第1の方向と交差する第2の方向に延びて所与の配線と接続される前記第1のマクロブロックの端子数をy1、前記当該領域内において前記第2の方向と反対方向に延びて所与の配線と接続される前記第2のマクロブロックの端子数をy2とすると、前記第1及び第2のマクロブロックに挟まれた領域が、x<y1+y2となる領域であってもよい。
【0019】
本発明によれば、上記の効果に加えて、第1のマクロブロックの端子と接続可能な配線が配置される配線グリッド数と第2のマクロブロックの端子と接続可能な配線が配置される配線グリッドとの総和が、変更前の配線グリッド数より大きいときに、配線の混雑度が高くなる可能性が大きい領域に対し、配線グリッド変更領域として設定することで、できるだけ少ない配線グリッド変更領域を設定しながら、配線の混雑度を低下させて、より一層の高集積化に寄与することができるようになる。
【0020】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0021】
また本発明に係る集積回路設計方法では、前記第1の方向は、スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であってもよい。
【0022】
上記のいずれかの発明によれば、少なくとも1つの方向に延びる配線グリッドの間隔を変更することで、これまで配線の混雑度が高かった領域内でも、複雑な配線処理を行うことなく、確実にセルや配線の配置が可能となり、集積回路の高集積化を実現できるようになる。
【0023】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、所与のデザインルールにおけるビアセル間の最小ピッチより小さく、且つ前記デザインルールにおけるビアセルと配線との間の最小ピッチ以上となるように、前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更することができる。
【0024】
本発明によれば、上記の効果に加えて、デザインルールの範囲内で配線グリッド間隔をより小さく変更できるようになる。
【0025】
また本発明は、配線グリッド上に配線及びセルを配置する集積回路設計装置であって、 同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、前記配線グリッド変更領域設定部によって前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部と、前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部とを含み、前記配置配線処理部が、前記セル情報記憶部に記憶されたセルの情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置する集積回路設計装置に関係する。
【0026】
本発明によれば、局所的に配線グリッド間隔を小さくすると共に、小さくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、これまで配線の混雑度が高かった領域内でも、複雑な配線処理を行うことなく、確実にセルや配線の配置が可能となり、集積回路の高集積化を実現できるようになる。
【0027】
また本発明に係る集積回路設計装置では、前記配線グリッド変更領域として設定される領域が、マクロブロックのコーナー部を中心とし、該コーナー部において交差する前記マクロブロックの境界線の二辺のうち短辺の長さを一辺の長さとする正方形の領域であってもよい。
【0028】
本発明によれば、上記の効果に加えて、マクロブロックのコーナー部を迂回する配線によって混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0029】
また本発明に係る集積回路設計装置では、前記配線グリッド変更領域として設定される領域が、互いに交差する第1及び第2の方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域であってもよい。
【0030】
本発明によれば、上記の効果に加えて、I/Oセル領域に配置されるI/Oセルに接続される配線と、各マクロブロックに接続される配線とにより混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0031】
また本発明に係る集積回路設計装置では、当該領域内の第1の方向に延びる前記配線グリッド変更ステップにおける変更前の配線グリッド数をx、前記当該領域内において前記第1の方向と交差する第2の方向に延びて所与の配線と接続される前記第1のマクロブロックの端子数をy1、前記当該領域内において前記第2の方向と反対方向に延びて所与の配線と接続される前記第2のマクロブロックの端子数をy2とすると、前記配線グリッド変更領域として設定される領域が、x<y1+y2となる前記第1及び第2のマクロブロックに挟まれた領域であってもよい。
【0032】
本発明によれば、上記の効果に加えて、第1のマクロブロックの端子と接続可能な配線が配置される配線グリッド数と第2のマクロブロックの端子と接続可能な配線が配置される配線グリッドとの総和が、変更前の配線グリッド数より大きいときに、配線の混雑度が高くなる可能性が大きい領域に対し、配線グリッド変更領域として設定することで、できるだけ少ない配線グリッド変更領域を設定しながら、配線の混雑度を低下させて、より一層の高集積化に寄与することができるようになる。
【0033】
また本発明は、同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、前記配線グリッド変更領域設定部によって前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部と、前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部としてコンピュータを機能させ、前記配置配線処理部が、前記セル情報記憶部に記憶されたセルの配置情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置するプログラムに関係する。
【0034】
本発明によれば、局所的に配線グリッド間隔を小さくすると共に、小さくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、これまで配線の混雑度が高かった領域内でも、複雑な配線処理を行うことなく、確実にセルや配線の配置が可能となり、集積回路の高集積化を実現できるプログラムを提供できるようになる。
【0035】
また本発明は、第1の配線グリッド間隔の配線グリッド上に配置された配線及びセルと、配線グリッド変更領域として設定された領域内の配線グリッドの間隔を前記第1の配線グリッド間隔より小さくした第2の配線グリッド間隔の配線グリッド上に配置された配線と、前記配線グリッド変更領域として設定された領域内において、前記第2の配線グリッド間隔に対応したセルグリッド間隔でその構成が指定され前記第2の配線グリッド間隔の配線グリッド上に配置されたセルとを含み、前記配線グリッド変更領域として設定された領域が、マクロブロックのコーナー部を含む領域、マクロブロックとI/Oセル領域とに挟まれた領域、及び第1及び第2のマクロブロックに挟まれた領域の少なくとも1つである集積回路に関係する。
【0036】
本発明によれば、処理負荷の増大を抑えながら、これまで配線が混雑していた領域でも確実にセルや配線が配置され、高集積化された集積回路を低コストで提供できるようになる。
【0037】
また本発明は、上記記載の集積回路を含む電子機器に関係する。
【0038】
本発明によれば、処理負荷の増大を抑えながら、これまで配線が混雑していた領域でも確実にセルや配線が配置され、高集積化された集積回路を搭載した電子機器を低コストで提供できるようになる。
【発明を実施するための最良の形態】
【0039】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
【0040】
以下の実施形態では、本発明に係る実施形態における集積回路が、スタンダードセルとマクロブロックとで構成されるものとして説明するが、本発明はこれに限定されるものではなく、ゲートアレイやエンベデッドアレイで構成されていてもよい。
【0041】
〔本実施形態の概要〕
図1(A)、図1(B)に、本発明の実施形態における集積回路設計装置の処理の概要を模式的に示す。図1(A)は、本実施形態の比較例における集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図1(B)は、本実施形態の集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図1(A)、図1(B)において、同一部分には同一符号を付し、適宜説明を省略する。
【0042】
本実施形態又はその比較例における集積回路設計装置は、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロックとの間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。その結果、図1(A)、図1(B)において、集積回路100には、マクロブロック102と、論理回路のセルと、これらを接続する配線とが配線グリッド上に配置される。
【0043】
図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は、配線グリッドの格子点上に配置される。
【0044】
図1(A)では、水平方向に延びる配線グリッドの間隔と、垂直方向に延びる配線グリッドの間隔とが同じであるものとして説明したが、両方向の配線グリッドの間隔が異なっていてもよい。
【0045】
ところで、本実施形態の比較例における集積回路設計装置では、図1(A)に示すように、同じ方向に延びる隣接する配線グリッド同士の配線グリッド間隔GD1が同じである。そのため、マクロブロック102のコーナー部付近等の所定の領域では、配線の混雑度が高く、一部のセルや配線を配置できなくなることが多い。
【0046】
このような領域内の配線の混雑度を低下させるために、例えば全体の配線グリッド間隔を変更することで配線の自由度を高めることが考えられる。ところが、配線処理を簡素化するためには、セルの端子を配線グリッドの格子点上に配置することが望ましく、単純に配線グリッド間隔を変更しただけでは、セルの端子が配置できなかったり、変更後の配線グリッド上に存在しないセルの端子と変更後の配線グリッド上の配線とを接続する配線処理が複雑化したりする。
【0047】
そこで、本実施形態では、局所的に配線グリッド間隔を小さくすると共に、小さくした配線グリッドに対応したセルグリッドで規定されたセルを配置することで、当該領域内のセルや配線の配置を容易にすることができる。より具体的には、本実施形態では、図1(B)に示すように、配線の混雑度が高くなる領域を配線グリッド変更領域CAとして設定し、配線グリッド変更領域CA内の配線グリッド間隔がGD2x、GD2y(GD2x<GD1、GD2y<GD1)となるように配線グリッド間隔を小さく変更すると共に、配線グリッド変更領域CA内で、配線グリッド間隔GD2x、GD2yに対応したセルグリッドで規定されたセルを配置する。このとき、ビアセルVC間の最小ピッチm1より小さく、ビアセルVCのエッジと第1層配線ML1との最小ピッチm2以上で、且つビアセルVCのエッジと第2層配線ML2との最小ピッチm3以上となるように、各方向の配線グリッド間隔が規定されることが望ましい。
【0048】
こうすることで、図1(A)では配線の混雑度が高かった領域内で、セルや配線の配置が可能となり、複雑な配線処理を行うことなく、集積回路100の高集積化を実現できるようになる。
【0049】
以下では、このような処理を実現する集積回路設計装置の構成及び動作について説明する。
【0050】
〔集積回路設計装置〕
図2に、本実施形態における集積回路設計システムの構成例のブロック図を示す。
【0051】
本実施形態における集積回路設計システム10は、集積回路設計装置20と、表示装置40とを含む。集積回路設計装置20は、所与の自動配置配線アルゴリズムにより、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロックとの間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。集積回路設計装置20によるセルや配線の配置処理の結果は、表示装置40に表示される。集積回路設計装置20の機能は、パーソナルコンピュータ、ネットワーク端末(サーバに接続されたクライアント端末)等により実現され、表示装置40は、CRT(Cathode Ray Tube)装置や液晶表示装置等によって実現される。
【0052】
集積回路設計装置20は、ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、配置配線処理部30を含む。ネットリスト記憶部22は、ネットリストを記憶する。集積回路設計装置20は、このネットリストに基づいて、セルや配線を配置する処理を行う。
【0053】
配線グリッド変更領域設定部24は、レイアウト可能領域内の所与の領域を配線グリッド変更領域として設定する。配線グリッド変更領域では、領域内のセル配置の優先度が他の領域のセル配置の優先度より低く設定されることが望ましい。この配線グリッド変更領域は、配線の混雑度が高い領域に設定されることが望ましい。
【0054】
配線グリッド変更処理部26は、格子状に設けられた配線グリッドの間隔を変更する処理を行う。即ち、配線グリッド変更処理部26は、配線グリッド変更領域として設定される配線グリッド変更領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更する。このとき、配線グリッド変更処理部26は、配線グリッド変更領域内の配線グリッドの間隔をより小さく変更する。即ち、配線グリッド変更処理部26による変更処理前の第1の配線グリッド間隔GD1が、変更処理により第2の配線グリッド間隔GD2(GD2<GD1)となる。
【0055】
セル情報記憶部28は、複数のセル情報を記憶する。ここでセル情報は、セル毎に、セルの形状、端子数、端子位置等のセルや配線の配置に必要な情報を有する。各セルは、各セル内で定義されるセルグリッドを基準に、セル内のレイアウトの形状が指定される。セル情報記憶部28は、同一機能を有する複数のセルの構成それぞれについて、複数種類のセルグリッド間隔のそれぞれのセル情報を記憶する。例えば、インバータ回路に対応するセルについて、セル情報記憶部28には、第1のセルグリッド間隔で規定されたセルのセル情報と、第2のセルグリッド間隔で規定されたセルのセル情報とが記憶される。第1のセルグリッド間隔は第1の配線グリッド間隔(変更処理前の配線グリッド間隔)に対応するセルグリッド間隔であり、第2のセルグリッド間隔(変更処理後の配線グリッド間隔)は第2の配線グリッド間隔に対応するセルグリッド間隔である。
【0056】
配置配線処理部30は、ネットリスト記憶部22に記憶されたネットリストに基づいて、配線グリッドの格子点上にその端子が配置されるようにセルを配置すると共に、配線グリッド上に配線を配置する。
【0057】
図3に、図2の配線グリッド変更処理部26の動作説明図を示す。図3では、集積回路100がスタンダードセルにより構成されるものとし、各セルのP型(例えば第1導電型)アクティブ領域PA及びN型(例えば第2導電型)アクティブ領域NAのみを模式的に表している。
【0058】
配線グリッド変更領域設定部24により設定される配線グリッド変更領域内では、配線グリッド変更処理部26は、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0059】
図3に示すように各セルには、P型アクティブ領域PA及びN型アクティブ領域NAが配置されている。集積回路100では、セルC10〜C13のように、所与の方向の全セルの同一導電型のアクティブ領域が隣接して配置される。この全セルの同一導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向をX方向とする。このX方向と交差するY方向には、セルC10、C20のように、P型アクティブ領域PA及びN型アクティブ領域NAが交互に並ぶ場合や、セルC13、C24のように、ミラー配置によってP型アクティブ領域PA及びN型アクティブ領域NAの一方が隣接して並ぶ場合がある。
【0060】
このように、配線グリッド変更処理部26は、配線グリッド変更領域内において、図3のように定義されるX方向及びY方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。これにより、より小さく変更した配線グリッド間隔に対応したセルグリッド間隔で定義されるセルの生成が簡単になり、配線グリッド変更領域における配線処理も簡素化される。
【0061】
図4に、図2の配置配線処理部30の動作説明図を模式的に示す。
【0062】
図4では、配線グリッド間隔yd1でX方向(第1の方向)に延びる配線グリッドと、配線グリッド間隔xd1でY方向(第2の方向)に延びる配線グリッドとが、格子状に設けられている。即ち、X方向に延びる配線グリッドと、X方向と交差するY方向に延びる配線グリッドとが設けられている。
【0063】
配置配線処理部30は、所与の形状を有するセルCLの端子XC1を、配線グリッドの所与の格子点上に配置する。また、配置配線処理部30は、所与の配線グリッド上に配線CN1を配置する。
【0064】
従って、配線グリッド変更領域外では、変更処理前の配線グリッドの格子点上にその端子が配置されるようにセルが配置されると共に、変更処理前の配線グリッド上に配線が配置される。そして、配線グリッド変更領域内では、配線グリッド変更処理部26によりその間隔が変更された配線グリッドの格子点上にその端子が配置されると共に、変更処理後の配線グリッド上に配線が配置される。このとき、配線グリッド変更処理部26により変更された配線グリッドの間隔(第2の配線グリッド間隔)に対応したセルグリッドを基準にその構成が指定されたセル(第2のセルグリッド間隔で指定されたセル)が、変更処理後の配線グリッドの格子点上に配置される。
【0065】
図5に、図2のセル情報記憶部28が記憶するセル情報の概要を示す。
【0066】
セル情報記憶部28は、同一機能のセルに対し、互いに異なるセルグリッド間隔で規定された複数種類のセル情報を記憶する。例えば、同じ機能を有するインバータ回路に対し、2種類のセルグリッド間隔で規定されたインバータ回路INV−1、INV−2のセル情報が、セル情報記憶部28に記憶される。インバータ回路INV−1のセルは、例えば第1の配線グリッド間隔GD1に対応する第1のセルグリッド間隔cg1で規定されたセルである。インバータ回路INV−2のセルは、例えば第2の配線グリッド間隔GD2に対応する第2のセルグリッド間隔cg2(cg2<cg1)で規定されたセルである。
【0067】
図2の配線グリッド変更処理部26が、X方向及びY方向に設けられる配線グリッドの(図4参照)うちX方向の配線グリッド間隔のみを小さくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してX方向のみ小さくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からX方向のみセルグリッド間隔を小さくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0068】
図6(A)、図6(B)に、X方向の配線グリッド間隔のみを小さく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図6(A)は、インバータ回路INV−1のセル情報の説明図を表す。図6(B)は、インバータ回路INV−2のセル情報の説明図を表す。図6(B)では、図6(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0069】
インバータ回路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が設けられる。
【0070】
インバータ回路INV−1のセル情報は、上記の図6(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0071】
これに対して、インバータ回路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が配置される。
【0072】
インバータ回路INV−2のセル情報は、上記の図6(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0073】
これにより、配線の混雑度が高かった領域内で、配線グリッド間隔を小さくできるようになるので、より多くのセルや配線の配置が可能となる。しかも、小さくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行うことなく、集積回路100の高集積化を実現できるようになる。
【0074】
また、図2の配線グリッド変更処理部26が、X方向及びY方向に設けられる配線グリッドのうちY方向の配線グリッド間隔のみを小さくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してY方向のみ小さくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からY方向のみセルグリッド間隔を小さくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0075】
図7(A)、図7(B)に、Y方向の配線グリッド間隔のみを小さく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図7(A)は、インバータ回路INV−1のセル情報の説明図を表す。図7(B)は、インバータ回路INV−2のセル情報の説明図を表す。図7(A)では、図6(A)と同一部分には同一符号を付し、適宜説明を省略する。図7(B)では、図7(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0076】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッドを基準に、そのレイアウト形状が規定されている。図7(A)に示すインバータ回路INV−1は、図6(A)に示すインバータ回路INV−1と同一形状を有している。インバータ回路INV−1のセル情報は、上記の図7(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0077】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg3で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg1で設けられるセルグリッドCGを基準に、そのレイアウト形状が規定されている。即ち、インバータ回路INV−2は、X方向の長さはインバータ回路INV−1と同じで、Y方向の長さが短くなっている。そのため、インバータ回路INV−2は、インバータ回路INV−1に比べて、Y方向に長さd2だけ短い形状を有する。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより小さく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0078】
インバータ回路INV−2のセル情報は、上記の図7(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0079】
これにより、配線の混雑度が高かった領域内で、配線グリッド間隔を小さくできるようになるので、より多くのセルや配線の配置が可能となる。しかも、小さくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行うことなく、集積回路100の高集積化を実現できるようになる。
【0080】
また、図2の配線グリッド変更処理部26が、X方向の配線グリッド間隔及びY方向の配線グリッド間隔を小さくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してX方向及びY方向に小さくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からX方向及びY方向にセルグリッド間隔を小さくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0081】
図8(A)、図8(B)に、X方向及びY方向に配線グリッド間隔を小さく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図8(A)は、インバータ回路INV−1のセル情報の説明図を表す。図8(B)は、インバータ回路INV−2のセル情報の説明図を表す。図8(A)では、図6(A)と同一部分には同一符号を付し、適宜説明を省略する。図8(B)では、図8(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0082】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッドを基準に、そのレイアウト形状が規定されている。図8(A)に示すインバータ回路INV−1は、図6(A)に示すインバータ回路INV−1と同一形状を有している。インバータ回路INV−1のセル情報は、上記の図8(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0083】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg3で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg2で設けられるセルグリッドCGを基準に、そのレイアウト形状が規定されている。即ち、インバータ回路INV−2は、インバータ回路INV−1に比べて、X方向に長さd1、Y方向に長さd2だけ短い形状を有する。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより小さく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0084】
インバータ回路INV−2のセル情報は、上記の図8(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0085】
これにより、配線の混雑度が高かった領域内で、配線グリッド間隔を小さくできるようになるので、より多くのセルや配線の配置が可能となる。しかも、小さくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行うことなく、集積回路100の高集積化を実現できるようになる。
【0086】
以上のように、本実施形態における集積回路設計装置20は、同一機能を有するセルの構成を互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部28と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部24と、配線グリッド変更領域設定部24によって配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部26と、配線グリッド変更領域として設定された領域内において、配線グリッド変更処理部26によりその間隔が変更された配線グリッドに所与の配線とセルとを配置する配置配線処理部30とを含む。そして、配置配線処理部30が、セル情報記憶部28に記憶されたセルの配置情報に基づいて、配線グリッド変更処理部26により変更された配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、配線グリッド変更処理部26によりその間隔が変更された配線グリッドに配置することができる。
【0087】
〔配線グリッド変更領域〕
ところで、本実施形態では、レイアウト可能領域内で、局所的に1又は複数の配線グリッド変更領域を設定することが望ましく、例えば以下のような複数の領域のうち少なくとも1つに本実施形態の配線グリッド変更領域を設定することが望ましい。
【0088】
図9に、本実施形態における配線グリッド変更領域の例を示す。図9は、本実施形態の集積回路設計装置20において自動配置配線によりセル及び配線が配置される集積回路100のフロアプランの一例を模式的に表す。
【0089】
集積回路100は、矩形状のレイアウト可能領域LAの各辺に隣接して、一定の幅のI/Oセル領域IA1〜IA4が設けられる。各I/Oセル領域には、チップの縁部に沿って、パッドと該パッドに対応するI/Oセルとが配置される。このパッドが、ICパッケージの端子とボンディングワイヤを介して電気的に接続される。
【0090】
集積回路設計装置20によるセル及び配線の自動配置配線は、レイアウト可能領域LAにおいて行われる。図9では、レイアウト可能領域LAに、マクロブロックMB1〜MB3が配置されているものとする。
【0091】
本実施形態では、図9に示すように、マクロブロックのコーナー部を含む領域を、配線グリッド変更領域として設定することが望ましい。図9では、マクロブロックMB1〜MB3の各マクロブロックのコーナー部を含む領域MC1〜MC10が、配線グリッド変更領域として設定される。
【0092】
図10に、マクロブロックのコーナー部を含む領域に設定される配線グリッド変更領域の説明図を示す。図10は、領域MC4の説明図を表す。図10において、図9と同一部分には同一符号を付し、適宜説明を省略する。
【0093】
ここで、マクロブロックMB1が、短辺の長さがD1、長辺の長さがD2である矩形の形状を有しているものとする。このとき、配線グリッド変更領域としての領域MC4は、マクロブロックMB1のコーナー部CNRを中心とし、該コーナー部CNRにおいて交差するマクロブロックMBの境界線の二辺E1、E2のうち短辺E1の長さD1を一辺の長さとする正方形の領域とすることが望ましい。従って、図10の配線グリッド変更領域としての領域MC4では、セルの配置の優先順位が下げられると共に、他の領域と比較して配線グリッド間隔が小さくなるように変更される。
【0094】
これにより、マクロブロックのコーナー部を迂回する配線によって混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路100の高集積化に寄与できるようになる。
【0095】
図10では、マクロブロックMB1の4つのコーナー部のうち1つのコーナー部について説明したが、他のコーナー部についても同様に配線グリッド変更領域を設定することができる。
【0096】
また本実施形態では、図9に示すように、マクロブロックとI/Oセル領域とに挟まれた領域を、配線グリッド変更領域として設定することが望ましい。図9では、マクロブロックMB1とI/Oセル領域IA1とに挟まれた領域MD1、マクロブロックMB1とI/Oセル領域IA4とに挟まれた領域MD2、マクロブロックMB2とI/Oセル領域IA1とに挟まれた領域MD3、マクロブロックMB2とI/Oセル領域IA2とに挟まれた領域MD4、マクロブロックMB3とI/Oセル領域IA2とに挟まれた領域MD5、及びマクロブロックMB3とI/Oセル領域IA3とに挟まれた領域MD6が、配線グリッド変更領域として設定される。
【0097】
図11に、マクロブロックとI/Oセル領域とに挟まれる領域に設定される配線グリッド変更領域の説明図を示す。図11は、領域MD4の説明図を表す。図11において、図9と同一部分には同一符号を付し、適宜説明を省略する。
【0098】
この領域MD4は、互いに交差するX方向及びY方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域である。従って、図11の配線グリッド変更領域としての領域MD4では、セルの配置の優先順位が下げられると共に、他の領域と比較して配線グリッド間隔が小さくなるように変更される。
【0099】
これにより、I/Oセル領域に配置されるI/Oセルに接続される配線と、各マクロブロックに接続される配線とにより混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路100の高集積化に寄与できるようになる。
【0100】
ここで、領域MD4内の第1の方向(図11ではY方向)に延びる配線グリッド変更処理前の配線グリッド数をy(yは自然数)、領域MD4内において第1の方向と交差する第2の方向(図11ではX方向)に延びて所与の配線と接続されるI/Oセル領域IA2の端子数をx1(x1は自然数)、領域MD4内において第2の方向と反対方向に延びて所与の配線と接続されるマクロブロックMB2の端子数をx2(x2は自然数)とする。このとき、y<x1+x2となる領域を、配線グリッド変更領域として設定する。
【0101】
I/Oセル領域IA2の端子と接続可能な配線が配置される配線グリッド数とマクロブロックMB2の端子と接続可能な配線が配置される配線グリッドとの総和が、変更前の配線グリッド数より大きいときに、配線の混雑度が高くなる可能性が大きい。従って、このケースの領域を配線グリッド変更領域として設定することで、できるだけ少ない配線グリッド変更領域を設定しながら、配線の混雑度を低下させて、より一層の高集積化に寄与することができるようになる。
【0102】
更にまた、本実施形態では、図9に示すように、第1及び第2のマクロブロックに挟まれた領域を、配線グリッド変更領域として設定することが望ましい。図9では、マクロブロックMB2、MB3に挟まれた領域MF1が、配線グリッド変更領域として設定される。
【0103】
図12に、第1及び第2のマクロブロックに挟まれる領域に設定される配線グリッド変更領域の説明図を示す。図12は、領域MF1の説明図を表す。図12において、図9と同一部分には同一符号を付し、適宜説明を省略する。
【0104】
この領域MF1は、互いに交差するX方向及びY方向のいずれかの方向において、第1及び第2のマクロブロックに挟まれた領域である。図12では、第1のマクロブロックはマクロブロックMB2であり、第2のマクロブロックはマクロブロックMB3である。従って、図12の配線グリッド変更領域としての領域MF1では、セルの配置の優先順位が下げられると共に、他の領域と比較して配線グリッド間隔が小さくなるように変更される。
【0105】
これにより、各マクロブロックに接続される配線により混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路100の高集積化に寄与できるようになる。
【0106】
ここで、領域MF1内の第1の方向(図12ではX方向)に延びる配線グリッド変更処理前の配線グリッド数をx(xは自然数)、領域MF1内において第1の方向と交差する第2の方向(図12ではY方向)に延びて所与の配線と接続されるマクロブロックMB2の端子数をy1(y1は自然数)、領域MF1内において第2の方向と反対方向に延びて所与の配線と接続されるマクロブロックMB3の端子数をy2(y2は自然数)とする。このとき、x<y1+y2となる領域を、配線グリッド変更領域として設定する。
【0107】
マクロブロックMB2の端子と接続可能な配線が配置される配線グリッド数とマクロブロックMB3の端子と接続可能な配線が配置される配線グリッドとの総和が、変更前の配線グリッド数より大きいときに、配線の混雑度が高くなる可能性が大きい。従って、このケースの領域を配線グリッド変更領域として設定することで、できるだけ少ない配線グリッド変更領域を設定しながら、配線の混雑度を低下させて、より一層の高集積化に寄与することができるようになる。
【0108】
〔配線グリッド間隔の変更処理〕
本実施形態では、図2の配線グリッド変更処理部26が行う配線グリッド間隔の変更処理は、製造プロセスに依存するデザインルールの範囲内で行われる必要がある。そこで、配線グリッド変更処理部26は、以下のように配線グリッド間隔を小さく変更することで、デザインルールの範囲内での変更処理を実現することができる。
【0109】
図13に、図2の配線グリッド変更処理部26が行う配線グリッド間隔の変更処理の説明図を示す。図13は、集積回路100のレイアウトの概要を模式的に表したものである。
【0110】
図13では、格子状に設けられた配線グリッドGR上に、第1層配線ML1、第1層配線ML1より上層の第2層配線ML2、第1層配線ML1及び第2層配線ML2を電気的に接続するビアセルVCが配置される。このとき、配線グリッド変更処理部26は、所与のデザインルール上、ビアセルVC間の最小ピッチm1より小さく、且つビアセルVCと配線ML1、ML2との間の最小ピッチm10以上となるように、配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより小さく変更する。
【0111】
即ち、セル及び配線の配置後にデザインルールチェックを行う場合、配線グリッド変更処理部26は、ビアセルVC間のピッチに対しデザインルールエラーが発生し、且つビアセルVCと配線ML1、ML2との間のピッチに対しデザインルールエラーが発生しないように配線グリッド間隔をより小さく変更する。
【0112】
一方、配線グリッド変更処理部26による配線グリッドの変更処理前の配線グリッド間隔は、ビアセルVC間のピッチやビアセルVCと配線ML1、ML2との間のピッチに対して、デザインルールエラーが発生しない間隔とする。
【0113】
これにより、図1(A)に示すケースと比較しても、デザインルールの範囲内で配線グリッド間隔をより小さく変更できるようになる。
【0114】
〔集積回路設計装置の動作〕
以上のような集積回路設計装置20の機能は、ハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。以下では、集積回路設計装置20の機能が、ソフトウェア処理により実現されるものとする。
【0115】
図14に、図2の集積回路設計装置20のハードウェア構成例のブロック図を示す。
【0116】
集積回路設計装置20は、CPU50、I/F回路52、読み出し専用メモリ(Read Only Memory:ROM)54、ランダムアクセスメモリ(Random Access Memory:RAM)56、バス58を有し、バス58を介して、CPU50、I/F回路52、ROM54、RAM56は電気的に接続されている。
【0117】
例えばROM54又はRAM56には、集積回路設計装置20の機能を実現するプログラムが記憶される。CPU50は、ROM54又はRAM56に記憶されたプログラムを読み出し、該プログラムに対応した処理を実行することで、上述の集積回路設計装置20の機能をソフトウェア処理で実現できる。即ち、ROM54又はRAM56に記憶されたプログラムを読み込んで該プログラムに対応した処理を行うCPU50により、図2の集積回路設計装置20の各部の機能が実現される。
【0118】
なお、RAM56は、CPU50による処理の作業領域として用いられたり、I/F回路52やROM54のバッファ領域として用いられたりする。I/F回路52は、図2の表示装置40への出力インタフェース処理(表示処理、表示駆動処理)や、図示しない入力インタフェースからの配線グリッド変更領域を指定する信号の入力インタフェース処理等を行う。
【0119】
図15に、図2の集積回路設計装置20の処理例のフロー図を示す。例えば図14のROM54又はRAM56には、図15に示す処理を実現するためのプログラムが格納されており、CPU50がROM54又はRAM56に格納されたプログラムを読み出して該プログラムに対応した処理を実行することで、図15に示す処理をソフトウェア処理により実現できる。
【0120】
まず、集積回路設計装置20は、予め生成されたフロアプラン設定情報を読み込んだり、或いは外部からの指定されたフロアプラン設定情報を取り込んだりして、集積回路100のレイアウト可能領域内にマクロブロックを配置する処理を行う(ステップS10)。
【0121】
次に、集積回路設計装置20は、配線グリッド変更領域ステップとして、配線グリッド変更領域設定部24の機能により、例えば外部から指定された配線グリッド変更領域を、上記のマクロブロックが配置された集積回路100のレイアウト可能領域に設定する処理を行う(ステップS12)。ステップS12で設定される配線グリッド変更領域は、例えば図9及び図10で説明したマクロブロックのコーナー部を含む領域や、例えば図9及び図11で説明したI/Oセル領域とマクロブロックとに挟まれた領域や、例えば図9及び図12で説明した2つのマクロブロックに挟まれた領域である。
【0122】
ここで、集積回路設計装置20は、一旦、配置配線処理部30の機能により、セル及び配線の配置処理を行う(ステップS14)。即ち、ステップS14では、配線の混雑度を確認するために、ステップS12で設定された配線グリッド変更領域内の配線グリッド間隔が変更されない状態でセル及び配線の配置処理が行われる。
【0123】
ステップS14において、一度、セル及び配線の配置処理が行われた後、集積回路設計装置20は、配線の混雑度をチェックする(ステップS16)。このとき、例えば、配線グリッド変更領域でセルや配線の配置ができなかったとき、その旨を表示装置40により通知したり、配線の配置ができなかった配線グリッド変更領域以外の領域を表示装置40により通知したりする。
【0124】
ステップS16において、配線の混雑度をチェックした結果、所与の閾値以下の混雑度のとき(ステップS16:Y)、集積回路設計装置20は、一連の処理を終了する(エンド)。
【0125】
ステップS16において、配線の混雑度をチェックした結果、混雑度が所与の閾値を超えているとき(ステップS16:N)、集積回路設計装置20は、配線グリッド変更ステップとして、配線グリッド変更処理部26の機能により、例えば図13で説明したように、配線グリッド変更領域内の配線グリッド間隔を小さくする変更処理を行う(ステップS18)。
【0126】
続いて、集積回路設計装置20は、配置配線処理部30の機能により、配線グリッド変更領域内のセルを、ステップS18で変更した配線グリッド間隔に対応するセルグリッド間隔で定義された同一機能のセルに置き換え(ステップS20)、再びステップS14に戻って配置配線処理を行う。即ち、ステップS20とこれに続いて行われるステップS14が、配線グリッド変更領域内において、配置配線ステップとして、配線グリッド変更ステップにおいて配線グリッド間隔が変更された配線グリッドに所与の配線を配置すると共に、配線グリッド変更ステップにおいて変更された配線グリッドの間隔に対応したセルグリッドを基準にその構成が指定されたセルを、配線グリッド変更ステップにおいて配線グリッド間隔が変更された配線グリッドに配置する。
【0127】
また、ステップS20とこれに続いて行われるステップS14では、配線グリッド変更領域以外の領域では、変更処理前の配線グリッド間隔で、所与の配線が配置されると共に、変更処理前の配線グリッド間隔に対応したセルグリッドを基準にその構成が指定されたセルが、変更処理前の配線グリッド間隔の配線グリッドに配置される。
【0128】
セル情報記憶部28に、複数種類のセルグリッド間隔に対応したセル情報を記憶させておけば、ステップS16で配線混雑度が所与の閾値以下となるまで、配線グリッド変更領域内の配線グリッドを小さく変更すると共に、変更した配線グリッド間隔に対応するセルグリッド間隔で定義された同一機能のセルの置き換えを繰り返すことができる。
【0129】
なお、図15では、ステップS20に続いて、ステップS14においてセル及び配線の配置配線処理が行われるものとして説明したが、本発明はこれに限定されるものではない。例えば、ステップS16における混雑度のチェックの結果、配線の配置ができなかった配線グリッド変更領域以外の領域が特定されたとき、ステップS20に続いてステップS12に戻って、新たに配線グリッド変更領域を追加して設定してから、ステップS14においてセル及び配線の配置配線処理が行われるようにしてもよい。
【0130】
以上のように、本実施形態では、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、配線グリッド変更領域設定ステップにおいて配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更ステップと、配線グリッド変更領域として設定された領域内において、配線グリッド変更ステップにおいてその間隔が変更された配線グリッドに所与の配線を配置すると共に、配線グリッド変更ステップにおいて変更された配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、配線グリッド変更ステップにおいてその間隔が変更された配線グリッドに配置する配置配線ステップとを含むことができる。
【0131】
このような本実施形態によれば、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、配線グリッド変更領域内の混雑度を低下させ、集積回路100の高集積化を実現できるようになる。
【0132】
〔変形例〕
本実施形態における集積回路設計装置20では、同一機能のセルが複数種類のセルグリッド間隔で定義された複数のセル情報がセル情報記憶部28に記憶されているものとして説明したが、本発明はこれに限定されるものではない。例えば、配線グリッド間隔をより小さく変更したとき、この変更後の配線グリッド間隔に対応したセルグリッド間隔で定義されるセル情報を新たに生成するようにしてもよい。
【0133】
図16に、本実施形態の変形例における集積回路設計装置の構成例のブロック図を示す。図16において、図2と同一部分には同一符号を付し、適宜説明を省略する。
【0134】
本実施形態の変形例における集積回路設計装置80は、ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、配置配線処理部30、セル情報生成部90を含む。
【0135】
ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、及び配置配線処理部30の各部の構成及び機能は、本実施形態と同様であるため説明を省略する。
【0136】
セル情報生成部90は、配線グリッド変更処理部26による変更後の配線グリッド間隔に対応したセルグリッド間隔でそのレイアウト形状が定義されたセルの情報を新たに生成する。このため、配線グリッド変更処理部26により配線グリッド間隔をより小さくする変更処理が行われたとき、セル情報生成部90は、セル情記憶部28に記憶されたセルのうち、配線グリッド変更領域内に配置されるセルの情報を読み出す。そして、セル情報生成部90は、配線グリッド変更処理部26による変更後の配線グリッド間隔に対応したセルグリッド間隔となるように、読み出したセルの情報のセルグリッド間隔をより小さく変更し、これに対応したセルの形状を指定する情報を生成する。このとき、セル情報生成部90は、セルグリッド間隔を小さくした場合でも、変更後のセルグリッドの格子点上に端子が配置されるようにセルの形状を指定する情報を生成する。
【0137】
配置配線処理部30は、配線グリッド変更領域内において、セル情報生成部90により生成されたセルの情報に基づいて、配線グリッド間隔が変更された配線グリッド上に、セル及び配線を配置する処理を行う。
【0138】
なお、セル情報生成部90は、配線グリッド変更処理部26により配線グリッド間隔が変更される毎に、セル情報を生成するようにしてもよいし、予め配線グリッド変更処理部26による変更後の複数の配線グリッド間隔が判明している場合には、それぞれの配線グリッド間隔に対応したセルグリッド間隔のセル情報を、配線グリッド変更処理部26による変更処理に先立って生成するようにしてもよい。
【0139】
本変形例によれば、配線グリッド変更処理部26が任意の配線グリッド間隔に変更できるようになるので、集積回路100の高集積化をより一層促進させることができるようになる。
【0140】
〔集積回路〕
以上説明した本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80により、レイアウト設計が行われる集積回路100は、配線グリッド変更領域内の配線の混雑度が低下し、これまで以上に高集積化される。
【0141】
図17に、本実施形態又はその変形例における集積回路設計装置により設計される集積回路100の機能ブロック図の一例を示す。図17では、集積回路100がマイクロコンピュータであるものとして説明するが、本発明はこれに限定されるものではない。
【0142】
本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80によりレイアウト設計される集積回路100は、CPU110、ROM112、RAM114、第1及び第2の周辺回路116、118、I/O(Input/Output)ポート120、表示メモリ122、LCD(Liquid Crystal Display)駆動回路124、電源回路126、及びバス130を含む。これらの回路ブロックは、半導体基板(広義には基板、チップ)に形成される。CPU110、ROM112、RAM114、第1及び第2の周辺回路116、118、I/Oポート120、表示メモリ122、LCD駆動回路124、及び電源回路126は、バス130を介し電気的に接続される。
【0143】
この集積回路100は、外部端子群P1、P2を有する。外部端子群P1、P2は、それぞれ複数の端子により構成される。外部端子群P1、P2を構成する各端子は、当該端子に対応して設けられたI/O(Input/Output)回路と電気的に接続され半導体基板(チップ)上に形成されたパッドを有する。各パッドとこれに対応するIC(Integrated Circuit)パッケージのピンとがボンディングワイヤを介して電気的に接続される。
【0144】
CPU110は、ROM112又はRAM114に記憶されたプログラムをバス130を介して読み出し、該プログラムに対応した処理を実行することで、集積回路100の全体の制御を司る。
【0145】
ROM112には、CPU110のプログラム又は各種の制御データが予め記憶されており、CPU110又は他の回路がバス130を介してROM112からプログラム又は制御データを読み出す。
【0146】
RAM114には、CPU110、第1及び第2の周辺回路116、118、及びI/Oポート120のワーク領域として、データが一時的に格納されたり、表示メモリ122に格納される表示データが一時的に格納されたりする。
【0147】
第1の周辺回路116は、例えば割り込みコントローラ、タイマ回路やウオッチドッグタイマにより構成され、バス130を介してCPU110により設定された条件で動作し、その動作結果をCPU110に通知することができるようになっている。
【0148】
第2の周辺回路118は、例えばプログラマブルタイマやシリアルインターフェス回路により構成され、バス130を介してCPU110により設定された条件で動作し、I/Oポート120を経由して、外部端子群P2を介して信号が入力又は出力されるようになっている。
【0149】
I/Oポート120は、汎用ポートとして機能し、外部端子群P2を構成する端子のいずれかを介して信号の入力や出力が行われる。
【0150】
表示メモリ122には、CPU110により生成された図示しない液晶表示パネル(広義には、液晶表示装置)の1画面分の表示データが記憶される。表示メモリ122に記憶された表示データは、LCD駆動回路124に送られる。外部端子群P1には、液晶表示パネルのコモン電極やセグメント電極が電気的に接続される。LCD駆動回路124は、CPU110により設定された表示駆動条件で、外部端子群P1を介して液晶表示パネルを駆動する制御を行う。
【0151】
電源回路126は、集積回路100を構成する各回路ブロックの電源を生成する。この電源回路126は、バス130を介してCPU110により設定された条件で、各回路ブロックの電源電圧を生成する。
【0152】
このような集積回路100は、ROM112又はRAM114から読み出されたプログラムに従って生成した1画面の画像データを生成し、該画像データを表示メモリ122に格納する。そして、LCD動回路124は、表示メモリ122に格納された画像データを読み出し、該画像データ(画像信号)に対応した駆動信号を用いて、液晶表示パネルを駆動する制御を行う。
【0153】
図18に、本実施形態又はその変形例における集積回路設計装置により設計される図17の集積回路100のフロアプランの一例を模式的に示す。図18において、図17と同一部分には同一符号を付し、適宜説明を省略する。図18では、集積回路100が、スタンダードセルとマクロブロックとで構成されるものとする。
【0154】
集積回路100が形成される矩形状の半導体基板の縁部に沿ってI/Oセル領域が設けられており、I/Oセル領域に周囲が囲まれたレイアウト可能領域に、図17の各ブロックがハードマクロ又はスタンダードセルとして配置されている。例えば、図18において、ROM112、RAM114、及び電源回路126等のアナログ回路がマクロブロックとして配置され、図17のその他の回路の機能がスタンダードセルにより構成されるものとする。
【0155】
図18の集積回路100では、本実施形態における集積回路設計装置20によって、例えば、ROM112、RAM114、及び電源回路126の各ハードマクロのコーナー部を含む領域には、配線グリッド変更領域が設定される。そのため、集積回路100は、この配線グリッド変更領域内で配線グリッド間隔が小さくされた上に、小さくなった配線グリッド間隔に対応するセルグリッド間隔でその形状が指定されたスタンダードセルに置き換えられて配置される。従って、集積回路100は、ROM112、RAM114、及び電源回路126の各ハードマクロのコーナー部を含む領域には、その他のスタンダードセルに比べて、同一機能のセルであったとしてもX方向及びY方向の少なくとも1つの方向に幅が小さくなったスタンダードセルが配置される(図18のAR1)。
【0156】
また、図18の集積回路100では、本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80によって、例えば、I/Oセル領域と、ROM112、RAM114、及び電源回路126の各ハードマクロとに挟まれた領域には、配線グリッド変更領域が設定される。そのため、集積回路100は、この配線グリッド変更領域内で配線グリッド間隔が小さくされた上に、小さくなった配線グリッド間隔に対応するセルグリッド間隔でその形状が指定されたスタンダードセルに置き換えられて配置される。従って、集積回路100は、I/Oセル領域と、ROM112、RAM114、及び電源回路126の各ハードマクロとに挟まれた領域には、その他のスタンダードセルに比べて、同一機能のセルであったとしてもX方向及びY方向の少なくとも1つの方向に幅が小さくなったスタンダードセルが配置される(図18のAR2)。
【0157】
更に、図18の集積回路100では、本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80によって、例えば、ROM112とRAM114とに挟まれた領域には、配線グリッド変更領域が設定される。そのため、集積回路100は、この配線グリッド変更領域内で配線グリッド間隔が小さくされた上に、小さくなった配線グリッド間隔に対応するセルグリッド間隔でその形状が指定されたスタンダードセルに置き換えられて配置される。従って、集積回路100は、ROM112とRAM114とに挟まれた領域には、その他のスタンダードセルに比べて、同一機能のセルであったとしてもX方向及びY方向の少なくとも1つの方向に幅が小さくなったスタンダードセルが配置される(図18のAR3)。
【0158】
以上のように、本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80によりレイアウト設計された集積回路100は、配線グリッド間隔の変更処理前の第1の配線グリッド間隔の配線グリッド上に配置された配線及びセルと、配線グリッド変更領域として設定された領域内の配線グリッドの間隔を第1の配線グリッド間隔より小さくした第2の配線グリッド間隔の配線グリッド上に配置された配線と、配線グリッド変更領域として設定された領域内において、第2の配線グリッド間隔の配線グリッド上に配置され、第2の配線グリッド間隔に対応したセルグリッドを基準にその構成が指定されたセルとを含む。ここで、配線グリッド変更領域は、マクロブロックのコーナー部を含む領域、マクロブロックとI/Oセル領域とに挟まれた領域、及び第1及び第2のマクロブロックに挟まれた領域の少なくとも1つである。
【0159】
このような集積回路100は、配線グリッド変更領域として設定された領域内の混雑度を低下させて、セル及び配線を行うことができるので、これまでより小さい面積で集積化され、低コスト化を図ることができる。また、複雑な配線処理を行う必要がないので、開発期間を短縮できるようになる。
【0160】
〔電子機器〕
図17及び図18で説明した集積回路100は、時計や携帯電話機等に代表される携帯型の電子機器に搭載することができる。
【0161】
図19に、本実施形態における電子機器の構成例のブロック図を示す。図19は、図17及び図18の集積回路100が搭載される電子機器のブロック図を表す。
【0162】
電子機器500は、上記の実施形態における集積回路100と、液晶表示パネル510とを含む。液晶表示パネル510は、例えばドットマトリクス型の液晶表示パネルであり、集積回路100によって駆動される。この構成を有する電子機器500は、集積回路100のチップサイズの縮小化によって、低コスト化及び小型化を図ることができる。
【0163】
なお、図19の液晶表示パネル510は、セグメント電極とコモン電極との間の電位差で光変調率が制御されるパッシブ型の液晶表示パネルであってもよいし、画素毎にアクティブ素子が設けられたアクティブ型の液晶表示パネルであってもよい。
【0164】
以上、本発明に係る集積回路設計装置、集積回路設計方法、集積回路及び電子機器を上記の実施形態又はその変形例に基づいて説明したが、本発明は上記の実施形態又はその変形例に限定されるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0165】
(1)上記の実施形態又はその変形例では、配線グリッド変更領域として、マクロブロックのコーナー部を含む領域、マクロブロックとI/Oセル領域とに挟まれた領域、及び2つのマクロブロックに挟まれた領域の少なくとも1つを採用するものとして説明したが、本発明はこれに限定されるものではない。レイアウト可能領域内において、配線グリッド変更領域として、配線グリッド間隔をより小さく変更する領域を局所的に設定できればよい。
【0166】
(2)上記の実施形態又はその変形例では、主として、レイアウト設計対象の集積回路がスタンダードセルにより構成されるものとして説明したが、本発明はこれに限定されるものではない。例えば、ゲートアレイやエンベデッドアレイにより構成される集積回路を、レイアウト設計対象としてもよい。
【0167】
(3)上記の実施形態又はその変形例では、半導体基板に形成される集積回路のレイアウト設計に適用される例を説明したが、本発明はこれに限定されるものではない。例えば、半導体基板でない基板に回路が形成された集積回路のレイアウト設計にも適用できる。
【0168】
(4)上記の実施形態又はその変形例では、P型を第1導電型、N型を第2導電型として説明したが、N型を第1導電型、P型を第2導電型としてもよい。
【0169】
(5)上記の実施形態又はその変形例において、本発明を、集積回路設計装置、集積回路設計方法、集積回路及び電子機器として説明したが、本発明はこれに限定されるものではない。例えば、本発明を実現するための集積回路設計方法の処理手順が記述されたプログラムや、該プログラムが記録された記録媒体であってもよい。
【図面の簡単な説明】
【0170】
【図1】図1(A)、図1(B)は本発明の実施形態における集積回路設計装置の処理の概要を模式的に示す図。
【図2】本実施形態における集積回路設計システムの構成例のブロック図。
【図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】本実施形態における配線グリッド変更領域の例を示す図。
【図10】マクロブロックのコーナー部を含む領域に設定される配線グリッド変更領域の説明図。
【図11】マクロブロックとI/Oセル領域とに挟まれる領域に設定される配線グリッド変更領域の説明図。
【図12】第1及び第2のマクロブロックに挟まれる領域に設定される配線グリッド変更領域の説明図。
【図13】図2の配線グリッド変更処理部が行う配線グリッド間隔の変更処理の説明図。
【図14】図2の集積回路設計装置のハードウェア構成例のブロック図。
【図15】図2の集積回路設計装置の処理例のフロー図。
【図16】本実施形態の変形例における集積回路設計装置の構成例のブロック図。
【図17】本実施形態又はその変形例における集積回路設計装置により設計される集積回路の機能ブロック図の一例を示す図。
【図18】本実施形態又はその変形例における集積回路設計装置により設計される図17の集積回路のフロアプランの一例を模式的に示す図。
【図19】本実施形態における電子機器の構成例のブロック図。
【符号の説明】
【0171】
10…集積回路設計システム、 20,80…集積回路設計装置、
22…ネットリスト記憶部、 24…配線グリッド変更領域設定部、
26…配線グリッド変更処理部、 28…セル情報記憶部、 30…配置配線処理部、
40…表示装置、 50,110…CPU、 52…I/F回路、
54,112…ROM、 56,114…RAM、 58,130…バス、
90…セル情報生成部、 100…集積回路、
102,MB1〜MB3…マクロブロック、 116…第1の周辺回路、
118…第2の周辺回路、 120…I/Oポート、 122…表示メモリ、
124…LCD駆動回路、 126…電源回路、 500…電子機器、
510…液晶表示パネル、 C10〜C13,C20,C24,CL…セル、
CA…配線グリッド変更領域、 CG…セルグリッド、 CN1…配線、
CNR…コーナー部、
GD1,GD2x,GD2y,xd1,yd1…配線グリッド間隔、
GR…配線グリッド、 IA1〜IA4…I/Oセル領域、
INV−1,INV−2…インバータ回路、 LA…レイアウト可能領域、
M1〜M3…配線層、 MC1〜MC10,MD1〜MD6,MF1…領域、
ML1…第1層配線、 ML2…第2層配線、 NA…N型アクティブ領域、
PA…P型アクティブ領域、 PL…ポリシリコン層、
VC,VC1〜VC4…ビアセル、 XC1…端子、
cg1,cg2,cg3…セルグリッド間隔、 m1,m2,m3…最小ピッチ
【技術分野】
【0001】
本発明は、集積回路設計方法、集積回路設計装置、この集積回路設計方法又は集積回路設計装置により設計された集積回路及び電子機器に関する。
【背景技術】
【0002】
近年、半導体集積回路(広義には集積回路)の高機能化や高性能化に対する市場の要求が高い。そのため、配線の多層化や製造プロセス技術の進歩によって半導体集積回路の高集積化が急速に進む一方で、半導体集積回路は、アナログ回路等の特殊なマクロブロックの搭載や回路規模の大幅な増大により、セルや配線の配置が一層困難になっている。これに伴い、半導体集積回路の設計期間が長くなり、設計期間の短縮が大きな課題の1つとなっている。
【0003】
このような半導体集積回路を短期間でユーザに提供するため、ゲートアレイ、エンベデッドアレイやスタンダードセルで構成される半導体集積回路の設計手法が整備されている。例えばスタンダードセルで構成される半導体集積回路では、ユーザが必要とする機能が、最適設計された内部ロジックセルと、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)やアナログ回路等のマクロブロックとが配線により接続されて1チップ化される。その際、マクロブロックの配置位置等をフロアプランとして決定した後、自動配置配線ツールにより、チップ上のレイアウト可能領域内において定義された配線グリッド上にセルの端子が配置され、ネットリストに従って配線が配置される。
【0004】
ところが、自動配置配線ツールを用いても、所定の領域では配線が混雑して、配線できないことが多い。そこで、例えば特許文献1には、概略配線の結果に基づいて、配線グリッド数の余裕度に応じた配線ピッチに基づいて配線グリッドを再生成する技術が開示されている。この特許文献1によれば、カップリング容量によるクロストークを防止することができる。
【0005】
【特許文献1】特開2004−133638号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、自動配置配線ツールでは、格子状に定義された配線グリッドの格子点上に端子が配置され、配線グリッド上に配線が配置されるようにセルが配置される。しかしながら、特許文献1では、配線グリッド数の余裕度に応じた配線ピッチに基づいて、単純に配線グリッドを再生成するに過ぎず、再生成後の配線グリッドに配置可能なセルの種類が限定されてしまう。そのため、配線グリッドを用いない特殊な配線処理を行う必要が生じ、処理負荷が重くなってしまうという問題がある。
【0007】
このように、特許文献1に開示された技術を用いても、任意の配線ピッチの配線グリッドを再生成できるわけではなく、実質的に、元のセルが配置できるような配線ピッチの配線グリッドを再生成せざるを得ない。従って、特許文献1に開示された技術では、特殊な配線処理による処理負荷が重くなるか、集積回路の高集積化の効果が十分に得られない。
【0008】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的の1つは、処理負荷の増大を抑えながら、これまで配線が混雑していた領域でも確実にセルや配線を配置できる集積回路設計方法、集積回路設計装置、集積回路及び電子機器を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために本発明は、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更ステップと、前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含む集積回路設計方法に関係する。
【0010】
本発明によれば、局所的に配線グリッド間隔を小さくすると共に、小さくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、これまで配線の混雑度が高かった領域内でも、複雑な配線処理を行うことなく、確実にセルや配線の配置が可能となり、集積回路の高集積化を実現できるようになる。
【0011】
また本発明に係る集積回路設計方法では、前記配線グリッド変更領域として設定される領域が、マクロブロックのコーナー部を含む領域であってもよい。
【0012】
また本発明に係る集積回路設計方法では、前記マクロブロックのコーナー部を含む領域が、前記コーナー部を中心とし、該コーナー部において交差する前記マクロブロックの境界線の二辺のうち短辺の長さを一辺の長さとする正方形の領域であってもよい。
【0013】
上記のいずれかの発明によれば、上記の効果に加えて、マクロブロックのコーナー部を迂回する配線によって混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0014】
また本発明に係る集積回路設計方法では、前記配線グリッド変更領域として設定される領域が、互いに交差する第1及び第2の方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域であってもよい。
【0015】
本発明によれば、上記の効果に加えて、I/Oセル領域に配置されるI/Oセルに接続される配線と、各マクロブロックに接続される配線とにより混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0016】
また本発明に係る集積回路設計方法では、前記配線グリッド変更領域として設定される領域が、第1及び第2のマクロブロックに挟まれた領域であってもよい。
【0017】
本発明によれば、上記の効果に加えて、第1のマクロブロックに接続される配線と、第2のマクロブロックに接続される配線とにより混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0018】
また本発明に係る集積回路設計方法では、当該領域内の第1の方向に延びる前記配線グリッド変更ステップにおける変更前の配線グリッド数をx、前記当該領域内において前記第1の方向と交差する第2の方向に延びて所与の配線と接続される前記第1のマクロブロックの端子数をy1、前記当該領域内において前記第2の方向と反対方向に延びて所与の配線と接続される前記第2のマクロブロックの端子数をy2とすると、前記第1及び第2のマクロブロックに挟まれた領域が、x<y1+y2となる領域であってもよい。
【0019】
本発明によれば、上記の効果に加えて、第1のマクロブロックの端子と接続可能な配線が配置される配線グリッド数と第2のマクロブロックの端子と接続可能な配線が配置される配線グリッドとの総和が、変更前の配線グリッド数より大きいときに、配線の混雑度が高くなる可能性が大きい領域に対し、配線グリッド変更領域として設定することで、できるだけ少ない配線グリッド変更領域を設定しながら、配線の混雑度を低下させて、より一層の高集積化に寄与することができるようになる。
【0020】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0021】
また本発明に係る集積回路設計方法では、前記第1の方向は、スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であってもよい。
【0022】
上記のいずれかの発明によれば、少なくとも1つの方向に延びる配線グリッドの間隔を変更することで、これまで配線の混雑度が高かった領域内でも、複雑な配線処理を行うことなく、確実にセルや配線の配置が可能となり、集積回路の高集積化を実現できるようになる。
【0023】
また本発明に係る集積回路設計方法では、前記配線グリッド変更ステップが、所与のデザインルールにおけるビアセル間の最小ピッチより小さく、且つ前記デザインルールにおけるビアセルと配線との間の最小ピッチ以上となるように、前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更することができる。
【0024】
本発明によれば、上記の効果に加えて、デザインルールの範囲内で配線グリッド間隔をより小さく変更できるようになる。
【0025】
また本発明は、配線グリッド上に配線及びセルを配置する集積回路設計装置であって、 同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、前記配線グリッド変更領域設定部によって前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部と、前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部とを含み、前記配置配線処理部が、前記セル情報記憶部に記憶されたセルの情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置する集積回路設計装置に関係する。
【0026】
本発明によれば、局所的に配線グリッド間隔を小さくすると共に、小さくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、これまで配線の混雑度が高かった領域内でも、複雑な配線処理を行うことなく、確実にセルや配線の配置が可能となり、集積回路の高集積化を実現できるようになる。
【0027】
また本発明に係る集積回路設計装置では、前記配線グリッド変更領域として設定される領域が、マクロブロックのコーナー部を中心とし、該コーナー部において交差する前記マクロブロックの境界線の二辺のうち短辺の長さを一辺の長さとする正方形の領域であってもよい。
【0028】
本発明によれば、上記の効果に加えて、マクロブロックのコーナー部を迂回する配線によって混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0029】
また本発明に係る集積回路設計装置では、前記配線グリッド変更領域として設定される領域が、互いに交差する第1及び第2の方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域であってもよい。
【0030】
本発明によれば、上記の効果に加えて、I/Oセル領域に配置されるI/Oセルに接続される配線と、各マクロブロックに接続される配線とにより混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路の高集積化に寄与できるようになる。
【0031】
また本発明に係る集積回路設計装置では、当該領域内の第1の方向に延びる前記配線グリッド変更ステップにおける変更前の配線グリッド数をx、前記当該領域内において前記第1の方向と交差する第2の方向に延びて所与の配線と接続される前記第1のマクロブロックの端子数をy1、前記当該領域内において前記第2の方向と反対方向に延びて所与の配線と接続される前記第2のマクロブロックの端子数をy2とすると、前記配線グリッド変更領域として設定される領域が、x<y1+y2となる前記第1及び第2のマクロブロックに挟まれた領域であってもよい。
【0032】
本発明によれば、上記の効果に加えて、第1のマクロブロックの端子と接続可能な配線が配置される配線グリッド数と第2のマクロブロックの端子と接続可能な配線が配置される配線グリッドとの総和が、変更前の配線グリッド数より大きいときに、配線の混雑度が高くなる可能性が大きい領域に対し、配線グリッド変更領域として設定することで、できるだけ少ない配線グリッド変更領域を設定しながら、配線の混雑度を低下させて、より一層の高集積化に寄与することができるようになる。
【0033】
また本発明は、同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、前記配線グリッド変更領域設定部によって前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部と、前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部としてコンピュータを機能させ、前記配置配線処理部が、前記セル情報記憶部に記憶されたセルの配置情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置するプログラムに関係する。
【0034】
本発明によれば、局所的に配線グリッド間隔を小さくすると共に、小さくした配線グリッドに対応したセルグリッドで規定されたセルを配置するようにしたので、これまで配線の混雑度が高かった領域内でも、複雑な配線処理を行うことなく、確実にセルや配線の配置が可能となり、集積回路の高集積化を実現できるプログラムを提供できるようになる。
【0035】
また本発明は、第1の配線グリッド間隔の配線グリッド上に配置された配線及びセルと、配線グリッド変更領域として設定された領域内の配線グリッドの間隔を前記第1の配線グリッド間隔より小さくした第2の配線グリッド間隔の配線グリッド上に配置された配線と、前記配線グリッド変更領域として設定された領域内において、前記第2の配線グリッド間隔に対応したセルグリッド間隔でその構成が指定され前記第2の配線グリッド間隔の配線グリッド上に配置されたセルとを含み、前記配線グリッド変更領域として設定された領域が、マクロブロックのコーナー部を含む領域、マクロブロックとI/Oセル領域とに挟まれた領域、及び第1及び第2のマクロブロックに挟まれた領域の少なくとも1つである集積回路に関係する。
【0036】
本発明によれば、処理負荷の増大を抑えながら、これまで配線が混雑していた領域でも確実にセルや配線が配置され、高集積化された集積回路を低コストで提供できるようになる。
【0037】
また本発明は、上記記載の集積回路を含む電子機器に関係する。
【0038】
本発明によれば、処理負荷の増大を抑えながら、これまで配線が混雑していた領域でも確実にセルや配線が配置され、高集積化された集積回路を搭載した電子機器を低コストで提供できるようになる。
【発明を実施するための最良の形態】
【0039】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
【0040】
以下の実施形態では、本発明に係る実施形態における集積回路が、スタンダードセルとマクロブロックとで構成されるものとして説明するが、本発明はこれに限定されるものではなく、ゲートアレイやエンベデッドアレイで構成されていてもよい。
【0041】
〔本実施形態の概要〕
図1(A)、図1(B)に、本発明の実施形態における集積回路設計装置の処理の概要を模式的に示す。図1(A)は、本実施形態の比較例における集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図1(B)は、本実施形態の集積回路設計装置を用いた集積回路のレイアウトの概要を模式的に表したものである。図1(A)、図1(B)において、同一部分には同一符号を付し、適宜説明を省略する。
【0042】
本実施形態又はその比較例における集積回路設計装置は、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロックとの間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。その結果、図1(A)、図1(B)において、集積回路100には、マクロブロック102と、論理回路のセルと、これらを接続する配線とが配線グリッド上に配置される。
【0043】
図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は、配線グリッドの格子点上に配置される。
【0044】
図1(A)では、水平方向に延びる配線グリッドの間隔と、垂直方向に延びる配線グリッドの間隔とが同じであるものとして説明したが、両方向の配線グリッドの間隔が異なっていてもよい。
【0045】
ところで、本実施形態の比較例における集積回路設計装置では、図1(A)に示すように、同じ方向に延びる隣接する配線グリッド同士の配線グリッド間隔GD1が同じである。そのため、マクロブロック102のコーナー部付近等の所定の領域では、配線の混雑度が高く、一部のセルや配線を配置できなくなることが多い。
【0046】
このような領域内の配線の混雑度を低下させるために、例えば全体の配線グリッド間隔を変更することで配線の自由度を高めることが考えられる。ところが、配線処理を簡素化するためには、セルの端子を配線グリッドの格子点上に配置することが望ましく、単純に配線グリッド間隔を変更しただけでは、セルの端子が配置できなかったり、変更後の配線グリッド上に存在しないセルの端子と変更後の配線グリッド上の配線とを接続する配線処理が複雑化したりする。
【0047】
そこで、本実施形態では、局所的に配線グリッド間隔を小さくすると共に、小さくした配線グリッドに対応したセルグリッドで規定されたセルを配置することで、当該領域内のセルや配線の配置を容易にすることができる。より具体的には、本実施形態では、図1(B)に示すように、配線の混雑度が高くなる領域を配線グリッド変更領域CAとして設定し、配線グリッド変更領域CA内の配線グリッド間隔がGD2x、GD2y(GD2x<GD1、GD2y<GD1)となるように配線グリッド間隔を小さく変更すると共に、配線グリッド変更領域CA内で、配線グリッド間隔GD2x、GD2yに対応したセルグリッドで規定されたセルを配置する。このとき、ビアセルVC間の最小ピッチm1より小さく、ビアセルVCのエッジと第1層配線ML1との最小ピッチm2以上で、且つビアセルVCのエッジと第2層配線ML2との最小ピッチm3以上となるように、各方向の配線グリッド間隔が規定されることが望ましい。
【0048】
こうすることで、図1(A)では配線の混雑度が高かった領域内で、セルや配線の配置が可能となり、複雑な配線処理を行うことなく、集積回路100の高集積化を実現できるようになる。
【0049】
以下では、このような処理を実現する集積回路設計装置の構成及び動作について説明する。
【0050】
〔集積回路設計装置〕
図2に、本実施形態における集積回路設計システムの構成例のブロック図を示す。
【0051】
本実施形態における集積回路設計システム10は、集積回路設計装置20と、表示装置40とを含む。集積回路設計装置20は、所与の自動配置配線アルゴリズムにより、レイアウト可能領域内に定義される格子状の配線グリッド上に、セルやマクロブロックとの間の接続情報を有するネットリストに従って、セルや配線を配置する処理を行う。集積回路設計装置20によるセルや配線の配置処理の結果は、表示装置40に表示される。集積回路設計装置20の機能は、パーソナルコンピュータ、ネットワーク端末(サーバに接続されたクライアント端末)等により実現され、表示装置40は、CRT(Cathode Ray Tube)装置や液晶表示装置等によって実現される。
【0052】
集積回路設計装置20は、ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、配置配線処理部30を含む。ネットリスト記憶部22は、ネットリストを記憶する。集積回路設計装置20は、このネットリストに基づいて、セルや配線を配置する処理を行う。
【0053】
配線グリッド変更領域設定部24は、レイアウト可能領域内の所与の領域を配線グリッド変更領域として設定する。配線グリッド変更領域では、領域内のセル配置の優先度が他の領域のセル配置の優先度より低く設定されることが望ましい。この配線グリッド変更領域は、配線の混雑度が高い領域に設定されることが望ましい。
【0054】
配線グリッド変更処理部26は、格子状に設けられた配線グリッドの間隔を変更する処理を行う。即ち、配線グリッド変更処理部26は、配線グリッド変更領域として設定される配線グリッド変更領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更する。このとき、配線グリッド変更処理部26は、配線グリッド変更領域内の配線グリッドの間隔をより小さく変更する。即ち、配線グリッド変更処理部26による変更処理前の第1の配線グリッド間隔GD1が、変更処理により第2の配線グリッド間隔GD2(GD2<GD1)となる。
【0055】
セル情報記憶部28は、複数のセル情報を記憶する。ここでセル情報は、セル毎に、セルの形状、端子数、端子位置等のセルや配線の配置に必要な情報を有する。各セルは、各セル内で定義されるセルグリッドを基準に、セル内のレイアウトの形状が指定される。セル情報記憶部28は、同一機能を有する複数のセルの構成それぞれについて、複数種類のセルグリッド間隔のそれぞれのセル情報を記憶する。例えば、インバータ回路に対応するセルについて、セル情報記憶部28には、第1のセルグリッド間隔で規定されたセルのセル情報と、第2のセルグリッド間隔で規定されたセルのセル情報とが記憶される。第1のセルグリッド間隔は第1の配線グリッド間隔(変更処理前の配線グリッド間隔)に対応するセルグリッド間隔であり、第2のセルグリッド間隔(変更処理後の配線グリッド間隔)は第2の配線グリッド間隔に対応するセルグリッド間隔である。
【0056】
配置配線処理部30は、ネットリスト記憶部22に記憶されたネットリストに基づいて、配線グリッドの格子点上にその端子が配置されるようにセルを配置すると共に、配線グリッド上に配線を配置する。
【0057】
図3に、図2の配線グリッド変更処理部26の動作説明図を示す。図3では、集積回路100がスタンダードセルにより構成されるものとし、各セルのP型(例えば第1導電型)アクティブ領域PA及びN型(例えば第2導電型)アクティブ領域NAのみを模式的に表している。
【0058】
配線グリッド変更領域設定部24により設定される配線グリッド変更領域内では、配線グリッド変更処理部26は、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。
【0059】
図3に示すように各セルには、P型アクティブ領域PA及びN型アクティブ領域NAが配置されている。集積回路100では、セルC10〜C13のように、所与の方向の全セルの同一導電型のアクティブ領域が隣接して配置される。この全セルの同一導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向をX方向とする。このX方向と交差するY方向には、セルC10、C20のように、P型アクティブ領域PA及びN型アクティブ領域NAが交互に並ぶ場合や、セルC13、C24のように、ミラー配置によってP型アクティブ領域PA及びN型アクティブ領域NAの一方が隣接して並ぶ場合がある。
【0060】
このように、配線グリッド変更処理部26は、配線グリッド変更領域内において、図3のように定義されるX方向及びY方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することができる。これにより、より小さく変更した配線グリッド間隔に対応したセルグリッド間隔で定義されるセルの生成が簡単になり、配線グリッド変更領域における配線処理も簡素化される。
【0061】
図4に、図2の配置配線処理部30の動作説明図を模式的に示す。
【0062】
図4では、配線グリッド間隔yd1でX方向(第1の方向)に延びる配線グリッドと、配線グリッド間隔xd1でY方向(第2の方向)に延びる配線グリッドとが、格子状に設けられている。即ち、X方向に延びる配線グリッドと、X方向と交差するY方向に延びる配線グリッドとが設けられている。
【0063】
配置配線処理部30は、所与の形状を有するセルCLの端子XC1を、配線グリッドの所与の格子点上に配置する。また、配置配線処理部30は、所与の配線グリッド上に配線CN1を配置する。
【0064】
従って、配線グリッド変更領域外では、変更処理前の配線グリッドの格子点上にその端子が配置されるようにセルが配置されると共に、変更処理前の配線グリッド上に配線が配置される。そして、配線グリッド変更領域内では、配線グリッド変更処理部26によりその間隔が変更された配線グリッドの格子点上にその端子が配置されると共に、変更処理後の配線グリッド上に配線が配置される。このとき、配線グリッド変更処理部26により変更された配線グリッドの間隔(第2の配線グリッド間隔)に対応したセルグリッドを基準にその構成が指定されたセル(第2のセルグリッド間隔で指定されたセル)が、変更処理後の配線グリッドの格子点上に配置される。
【0065】
図5に、図2のセル情報記憶部28が記憶するセル情報の概要を示す。
【0066】
セル情報記憶部28は、同一機能のセルに対し、互いに異なるセルグリッド間隔で規定された複数種類のセル情報を記憶する。例えば、同じ機能を有するインバータ回路に対し、2種類のセルグリッド間隔で規定されたインバータ回路INV−1、INV−2のセル情報が、セル情報記憶部28に記憶される。インバータ回路INV−1のセルは、例えば第1の配線グリッド間隔GD1に対応する第1のセルグリッド間隔cg1で規定されたセルである。インバータ回路INV−2のセルは、例えば第2の配線グリッド間隔GD2に対応する第2のセルグリッド間隔cg2(cg2<cg1)で規定されたセルである。
【0067】
図2の配線グリッド変更処理部26が、X方向及びY方向に設けられる配線グリッドの(図4参照)うちX方向の配線グリッド間隔のみを小さくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してX方向のみ小さくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からX方向のみセルグリッド間隔を小さくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0068】
図6(A)、図6(B)に、X方向の配線グリッド間隔のみを小さく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図6(A)は、インバータ回路INV−1のセル情報の説明図を表す。図6(B)は、インバータ回路INV−2のセル情報の説明図を表す。図6(B)では、図6(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0069】
インバータ回路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が設けられる。
【0070】
インバータ回路INV−1のセル情報は、上記の図6(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0071】
これに対して、インバータ回路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が配置される。
【0072】
インバータ回路INV−2のセル情報は、上記の図6(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0073】
これにより、配線の混雑度が高かった領域内で、配線グリッド間隔を小さくできるようになるので、より多くのセルや配線の配置が可能となる。しかも、小さくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行うことなく、集積回路100の高集積化を実現できるようになる。
【0074】
また、図2の配線グリッド変更処理部26が、X方向及びY方向に設けられる配線グリッドのうちY方向の配線グリッド間隔のみを小さくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してY方向のみ小さくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からY方向のみセルグリッド間隔を小さくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0075】
図7(A)、図7(B)に、Y方向の配線グリッド間隔のみを小さく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図7(A)は、インバータ回路INV−1のセル情報の説明図を表す。図7(B)は、インバータ回路INV−2のセル情報の説明図を表す。図7(A)では、図6(A)と同一部分には同一符号を付し、適宜説明を省略する。図7(B)では、図7(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0076】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッドを基準に、そのレイアウト形状が規定されている。図7(A)に示すインバータ回路INV−1は、図6(A)に示すインバータ回路INV−1と同一形状を有している。インバータ回路INV−1のセル情報は、上記の図7(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0077】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg3で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg1で設けられるセルグリッドCGを基準に、そのレイアウト形状が規定されている。即ち、インバータ回路INV−2は、X方向の長さはインバータ回路INV−1と同じで、Y方向の長さが短くなっている。そのため、インバータ回路INV−2は、インバータ回路INV−1に比べて、Y方向に長さd2だけ短い形状を有する。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより小さく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0078】
インバータ回路INV−2のセル情報は、上記の図7(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0079】
これにより、配線の混雑度が高かった領域内で、配線グリッド間隔を小さくできるようになるので、より多くのセルや配線の配置が可能となる。しかも、小さくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行うことなく、集積回路100の高集積化を実現できるようになる。
【0080】
また、図2の配線グリッド変更処理部26が、X方向の配線グリッド間隔及びY方向の配線グリッド間隔を小さくする変更を行う場合、セル情報記憶部28には、元のセルグリッド間隔で規定されたセルのセル情報と、元のセルグリッド間隔に対してX方向及びY方向に小さくしたセルグリッド間隔で規定されたセルのセル情報とが記憶される。そして、配置配線処理部30は、セル情報記憶部28からX方向及びY方向にセルグリッド間隔を小さくしたセルのセル情報を読み出し、該セルを配線グリッド変更領域内の配線グリッド上に配置し、該配線グリッド上に配置された配線と接続する処理を行う。
【0081】
図8(A)、図8(B)に、X方向及びY方向に配線グリッド間隔を小さく変更した場合のセル情報記憶部28が記憶するセル情報の説明図を示す。図8(A)は、インバータ回路INV−1のセル情報の説明図を表す。図8(B)は、インバータ回路INV−2のセル情報の説明図を表す。図8(A)では、図6(A)と同一部分には同一符号を付し、適宜説明を省略する。図8(B)では、図8(A)と同様の部分には同様の部分には同一符号を付し、適宜説明を省略する。
【0082】
インバータ回路INV−1は、X方向及びY方向に延び、セルグリッド間隔cg1で格子状に設けられるセルグリッドを基準に、そのレイアウト形状が規定されている。図8(A)に示すインバータ回路INV−1は、図6(A)に示すインバータ回路INV−1と同一形状を有している。インバータ回路INV−1のセル情報は、上記の図8(A)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0083】
これに対して、インバータ回路INV−2は、X方向に延びセルグリッド間隔cg3で設けられるセルグリッドCGを基準に、又はY方向に延びセルグリッド間隔cg2で設けられるセルグリッドCGを基準に、そのレイアウト形状が規定されている。即ち、インバータ回路INV−2は、インバータ回路INV−1に比べて、X方向に長さd1、Y方向に長さd2だけ短い形状を有する。その一方で、インバータ回路INV−2では、配線グリッド変更処理部26がより小さく変更する配線グリッド間隔に対応したセルグリッドの格子点上に、入力端子A及び出力端子Xが配置される。
【0084】
インバータ回路INV−2のセル情報は、上記の図8(B)に示す形状が、セルグリッド間隔、セルグリッド座標系の座標位置等により指定される情報である。
【0085】
これにより、配線の混雑度が高かった領域内で、配線グリッド間隔を小さくできるようになるので、より多くのセルや配線の配置が可能となる。しかも、小さくした配線グリッド間隔に対応したセルグリッド間隔で定義されたセルを、この領域内で配置できるようになるため、複雑な配線処理を行うことなく、集積回路100の高集積化を実現できるようになる。
【0086】
以上のように、本実施形態における集積回路設計装置20は、同一機能を有するセルの構成を互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部28と、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部24と、配線グリッド変更領域設定部24によって配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部26と、配線グリッド変更領域として設定された領域内において、配線グリッド変更処理部26によりその間隔が変更された配線グリッドに所与の配線とセルとを配置する配置配線処理部30とを含む。そして、配置配線処理部30が、セル情報記憶部28に記憶されたセルの配置情報に基づいて、配線グリッド変更処理部26により変更された配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、配線グリッド変更処理部26によりその間隔が変更された配線グリッドに配置することができる。
【0087】
〔配線グリッド変更領域〕
ところで、本実施形態では、レイアウト可能領域内で、局所的に1又は複数の配線グリッド変更領域を設定することが望ましく、例えば以下のような複数の領域のうち少なくとも1つに本実施形態の配線グリッド変更領域を設定することが望ましい。
【0088】
図9に、本実施形態における配線グリッド変更領域の例を示す。図9は、本実施形態の集積回路設計装置20において自動配置配線によりセル及び配線が配置される集積回路100のフロアプランの一例を模式的に表す。
【0089】
集積回路100は、矩形状のレイアウト可能領域LAの各辺に隣接して、一定の幅のI/Oセル領域IA1〜IA4が設けられる。各I/Oセル領域には、チップの縁部に沿って、パッドと該パッドに対応するI/Oセルとが配置される。このパッドが、ICパッケージの端子とボンディングワイヤを介して電気的に接続される。
【0090】
集積回路設計装置20によるセル及び配線の自動配置配線は、レイアウト可能領域LAにおいて行われる。図9では、レイアウト可能領域LAに、マクロブロックMB1〜MB3が配置されているものとする。
【0091】
本実施形態では、図9に示すように、マクロブロックのコーナー部を含む領域を、配線グリッド変更領域として設定することが望ましい。図9では、マクロブロックMB1〜MB3の各マクロブロックのコーナー部を含む領域MC1〜MC10が、配線グリッド変更領域として設定される。
【0092】
図10に、マクロブロックのコーナー部を含む領域に設定される配線グリッド変更領域の説明図を示す。図10は、領域MC4の説明図を表す。図10において、図9と同一部分には同一符号を付し、適宜説明を省略する。
【0093】
ここで、マクロブロックMB1が、短辺の長さがD1、長辺の長さがD2である矩形の形状を有しているものとする。このとき、配線グリッド変更領域としての領域MC4は、マクロブロックMB1のコーナー部CNRを中心とし、該コーナー部CNRにおいて交差するマクロブロックMBの境界線の二辺E1、E2のうち短辺E1の長さD1を一辺の長さとする正方形の領域とすることが望ましい。従って、図10の配線グリッド変更領域としての領域MC4では、セルの配置の優先順位が下げられると共に、他の領域と比較して配線グリッド間隔が小さくなるように変更される。
【0094】
これにより、マクロブロックのコーナー部を迂回する配線によって混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路100の高集積化に寄与できるようになる。
【0095】
図10では、マクロブロックMB1の4つのコーナー部のうち1つのコーナー部について説明したが、他のコーナー部についても同様に配線グリッド変更領域を設定することができる。
【0096】
また本実施形態では、図9に示すように、マクロブロックとI/Oセル領域とに挟まれた領域を、配線グリッド変更領域として設定することが望ましい。図9では、マクロブロックMB1とI/Oセル領域IA1とに挟まれた領域MD1、マクロブロックMB1とI/Oセル領域IA4とに挟まれた領域MD2、マクロブロックMB2とI/Oセル領域IA1とに挟まれた領域MD3、マクロブロックMB2とI/Oセル領域IA2とに挟まれた領域MD4、マクロブロックMB3とI/Oセル領域IA2とに挟まれた領域MD5、及びマクロブロックMB3とI/Oセル領域IA3とに挟まれた領域MD6が、配線グリッド変更領域として設定される。
【0097】
図11に、マクロブロックとI/Oセル領域とに挟まれる領域に設定される配線グリッド変更領域の説明図を示す。図11は、領域MD4の説明図を表す。図11において、図9と同一部分には同一符号を付し、適宜説明を省略する。
【0098】
この領域MD4は、互いに交差するX方向及びY方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域である。従って、図11の配線グリッド変更領域としての領域MD4では、セルの配置の優先順位が下げられると共に、他の領域と比較して配線グリッド間隔が小さくなるように変更される。
【0099】
これにより、I/Oセル領域に配置されるI/Oセルに接続される配線と、各マクロブロックに接続される配線とにより混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路100の高集積化に寄与できるようになる。
【0100】
ここで、領域MD4内の第1の方向(図11ではY方向)に延びる配線グリッド変更処理前の配線グリッド数をy(yは自然数)、領域MD4内において第1の方向と交差する第2の方向(図11ではX方向)に延びて所与の配線と接続されるI/Oセル領域IA2の端子数をx1(x1は自然数)、領域MD4内において第2の方向と反対方向に延びて所与の配線と接続されるマクロブロックMB2の端子数をx2(x2は自然数)とする。このとき、y<x1+x2となる領域を、配線グリッド変更領域として設定する。
【0101】
I/Oセル領域IA2の端子と接続可能な配線が配置される配線グリッド数とマクロブロックMB2の端子と接続可能な配線が配置される配線グリッドとの総和が、変更前の配線グリッド数より大きいときに、配線の混雑度が高くなる可能性が大きい。従って、このケースの領域を配線グリッド変更領域として設定することで、できるだけ少ない配線グリッド変更領域を設定しながら、配線の混雑度を低下させて、より一層の高集積化に寄与することができるようになる。
【0102】
更にまた、本実施形態では、図9に示すように、第1及び第2のマクロブロックに挟まれた領域を、配線グリッド変更領域として設定することが望ましい。図9では、マクロブロックMB2、MB3に挟まれた領域MF1が、配線グリッド変更領域として設定される。
【0103】
図12に、第1及び第2のマクロブロックに挟まれる領域に設定される配線グリッド変更領域の説明図を示す。図12は、領域MF1の説明図を表す。図12において、図9と同一部分には同一符号を付し、適宜説明を省略する。
【0104】
この領域MF1は、互いに交差するX方向及びY方向のいずれかの方向において、第1及び第2のマクロブロックに挟まれた領域である。図12では、第1のマクロブロックはマクロブロックMB2であり、第2のマクロブロックはマクロブロックMB3である。従って、図12の配線グリッド変更領域としての領域MF1では、セルの配置の優先順位が下げられると共に、他の領域と比較して配線グリッド間隔が小さくなるように変更される。
【0105】
これにより、各マクロブロックに接続される配線により混雑度が高くなる領域において、配線可能な配線グリッド数を増加させることができるので、混雑度を低下させ、集積回路100の高集積化に寄与できるようになる。
【0106】
ここで、領域MF1内の第1の方向(図12ではX方向)に延びる配線グリッド変更処理前の配線グリッド数をx(xは自然数)、領域MF1内において第1の方向と交差する第2の方向(図12ではY方向)に延びて所与の配線と接続されるマクロブロックMB2の端子数をy1(y1は自然数)、領域MF1内において第2の方向と反対方向に延びて所与の配線と接続されるマクロブロックMB3の端子数をy2(y2は自然数)とする。このとき、x<y1+y2となる領域を、配線グリッド変更領域として設定する。
【0107】
マクロブロックMB2の端子と接続可能な配線が配置される配線グリッド数とマクロブロックMB3の端子と接続可能な配線が配置される配線グリッドとの総和が、変更前の配線グリッド数より大きいときに、配線の混雑度が高くなる可能性が大きい。従って、このケースの領域を配線グリッド変更領域として設定することで、できるだけ少ない配線グリッド変更領域を設定しながら、配線の混雑度を低下させて、より一層の高集積化に寄与することができるようになる。
【0108】
〔配線グリッド間隔の変更処理〕
本実施形態では、図2の配線グリッド変更処理部26が行う配線グリッド間隔の変更処理は、製造プロセスに依存するデザインルールの範囲内で行われる必要がある。そこで、配線グリッド変更処理部26は、以下のように配線グリッド間隔を小さく変更することで、デザインルールの範囲内での変更処理を実現することができる。
【0109】
図13に、図2の配線グリッド変更処理部26が行う配線グリッド間隔の変更処理の説明図を示す。図13は、集積回路100のレイアウトの概要を模式的に表したものである。
【0110】
図13では、格子状に設けられた配線グリッドGR上に、第1層配線ML1、第1層配線ML1より上層の第2層配線ML2、第1層配線ML1及び第2層配線ML2を電気的に接続するビアセルVCが配置される。このとき、配線グリッド変更処理部26は、所与のデザインルール上、ビアセルVC間の最小ピッチm1より小さく、且つビアセルVCと配線ML1、ML2との間の最小ピッチm10以上となるように、配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより小さく変更する。
【0111】
即ち、セル及び配線の配置後にデザインルールチェックを行う場合、配線グリッド変更処理部26は、ビアセルVC間のピッチに対しデザインルールエラーが発生し、且つビアセルVCと配線ML1、ML2との間のピッチに対しデザインルールエラーが発生しないように配線グリッド間隔をより小さく変更する。
【0112】
一方、配線グリッド変更処理部26による配線グリッドの変更処理前の配線グリッド間隔は、ビアセルVC間のピッチやビアセルVCと配線ML1、ML2との間のピッチに対して、デザインルールエラーが発生しない間隔とする。
【0113】
これにより、図1(A)に示すケースと比較しても、デザインルールの範囲内で配線グリッド間隔をより小さく変更できるようになる。
【0114】
〔集積回路設計装置の動作〕
以上のような集積回路設計装置20の機能は、ハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。以下では、集積回路設計装置20の機能が、ソフトウェア処理により実現されるものとする。
【0115】
図14に、図2の集積回路設計装置20のハードウェア構成例のブロック図を示す。
【0116】
集積回路設計装置20は、CPU50、I/F回路52、読み出し専用メモリ(Read Only Memory:ROM)54、ランダムアクセスメモリ(Random Access Memory:RAM)56、バス58を有し、バス58を介して、CPU50、I/F回路52、ROM54、RAM56は電気的に接続されている。
【0117】
例えばROM54又はRAM56には、集積回路設計装置20の機能を実現するプログラムが記憶される。CPU50は、ROM54又はRAM56に記憶されたプログラムを読み出し、該プログラムに対応した処理を実行することで、上述の集積回路設計装置20の機能をソフトウェア処理で実現できる。即ち、ROM54又はRAM56に記憶されたプログラムを読み込んで該プログラムに対応した処理を行うCPU50により、図2の集積回路設計装置20の各部の機能が実現される。
【0118】
なお、RAM56は、CPU50による処理の作業領域として用いられたり、I/F回路52やROM54のバッファ領域として用いられたりする。I/F回路52は、図2の表示装置40への出力インタフェース処理(表示処理、表示駆動処理)や、図示しない入力インタフェースからの配線グリッド変更領域を指定する信号の入力インタフェース処理等を行う。
【0119】
図15に、図2の集積回路設計装置20の処理例のフロー図を示す。例えば図14のROM54又はRAM56には、図15に示す処理を実現するためのプログラムが格納されており、CPU50がROM54又はRAM56に格納されたプログラムを読み出して該プログラムに対応した処理を実行することで、図15に示す処理をソフトウェア処理により実現できる。
【0120】
まず、集積回路設計装置20は、予め生成されたフロアプラン設定情報を読み込んだり、或いは外部からの指定されたフロアプラン設定情報を取り込んだりして、集積回路100のレイアウト可能領域内にマクロブロックを配置する処理を行う(ステップS10)。
【0121】
次に、集積回路設計装置20は、配線グリッド変更領域ステップとして、配線グリッド変更領域設定部24の機能により、例えば外部から指定された配線グリッド変更領域を、上記のマクロブロックが配置された集積回路100のレイアウト可能領域に設定する処理を行う(ステップS12)。ステップS12で設定される配線グリッド変更領域は、例えば図9及び図10で説明したマクロブロックのコーナー部を含む領域や、例えば図9及び図11で説明したI/Oセル領域とマクロブロックとに挟まれた領域や、例えば図9及び図12で説明した2つのマクロブロックに挟まれた領域である。
【0122】
ここで、集積回路設計装置20は、一旦、配置配線処理部30の機能により、セル及び配線の配置処理を行う(ステップS14)。即ち、ステップS14では、配線の混雑度を確認するために、ステップS12で設定された配線グリッド変更領域内の配線グリッド間隔が変更されない状態でセル及び配線の配置処理が行われる。
【0123】
ステップS14において、一度、セル及び配線の配置処理が行われた後、集積回路設計装置20は、配線の混雑度をチェックする(ステップS16)。このとき、例えば、配線グリッド変更領域でセルや配線の配置ができなかったとき、その旨を表示装置40により通知したり、配線の配置ができなかった配線グリッド変更領域以外の領域を表示装置40により通知したりする。
【0124】
ステップS16において、配線の混雑度をチェックした結果、所与の閾値以下の混雑度のとき(ステップS16:Y)、集積回路設計装置20は、一連の処理を終了する(エンド)。
【0125】
ステップS16において、配線の混雑度をチェックした結果、混雑度が所与の閾値を超えているとき(ステップS16:N)、集積回路設計装置20は、配線グリッド変更ステップとして、配線グリッド変更処理部26の機能により、例えば図13で説明したように、配線グリッド変更領域内の配線グリッド間隔を小さくする変更処理を行う(ステップS18)。
【0126】
続いて、集積回路設計装置20は、配置配線処理部30の機能により、配線グリッド変更領域内のセルを、ステップS18で変更した配線グリッド間隔に対応するセルグリッド間隔で定義された同一機能のセルに置き換え(ステップS20)、再びステップS14に戻って配置配線処理を行う。即ち、ステップS20とこれに続いて行われるステップS14が、配線グリッド変更領域内において、配置配線ステップとして、配線グリッド変更ステップにおいて配線グリッド間隔が変更された配線グリッドに所与の配線を配置すると共に、配線グリッド変更ステップにおいて変更された配線グリッドの間隔に対応したセルグリッドを基準にその構成が指定されたセルを、配線グリッド変更ステップにおいて配線グリッド間隔が変更された配線グリッドに配置する。
【0127】
また、ステップS20とこれに続いて行われるステップS14では、配線グリッド変更領域以外の領域では、変更処理前の配線グリッド間隔で、所与の配線が配置されると共に、変更処理前の配線グリッド間隔に対応したセルグリッドを基準にその構成が指定されたセルが、変更処理前の配線グリッド間隔の配線グリッドに配置される。
【0128】
セル情報記憶部28に、複数種類のセルグリッド間隔に対応したセル情報を記憶させておけば、ステップS16で配線混雑度が所与の閾値以下となるまで、配線グリッド変更領域内の配線グリッドを小さく変更すると共に、変更した配線グリッド間隔に対応するセルグリッド間隔で定義された同一機能のセルの置き換えを繰り返すことができる。
【0129】
なお、図15では、ステップS20に続いて、ステップS14においてセル及び配線の配置配線処理が行われるものとして説明したが、本発明はこれに限定されるものではない。例えば、ステップS16における混雑度のチェックの結果、配線の配置ができなかった配線グリッド変更領域以外の領域が特定されたとき、ステップS20に続いてステップS12に戻って、新たに配線グリッド変更領域を追加して設定してから、ステップS14においてセル及び配線の配置配線処理が行われるようにしてもよい。
【0130】
以上のように、本実施形態では、所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、配線グリッド変更領域設定ステップにおいて配線グリッド変更領域として設定された領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更ステップと、配線グリッド変更領域として設定された領域内において、配線グリッド変更ステップにおいてその間隔が変更された配線グリッドに所与の配線を配置すると共に、配線グリッド変更ステップにおいて変更された配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、配線グリッド変更ステップにおいてその間隔が変更された配線グリッドに配置する配置配線ステップとを含むことができる。
【0131】
このような本実施形態によれば、特殊な配線処理を行うことなく、処理負荷の増大を抑えながら、配線グリッド変更領域内の混雑度を低下させ、集積回路100の高集積化を実現できるようになる。
【0132】
〔変形例〕
本実施形態における集積回路設計装置20では、同一機能のセルが複数種類のセルグリッド間隔で定義された複数のセル情報がセル情報記憶部28に記憶されているものとして説明したが、本発明はこれに限定されるものではない。例えば、配線グリッド間隔をより小さく変更したとき、この変更後の配線グリッド間隔に対応したセルグリッド間隔で定義されるセル情報を新たに生成するようにしてもよい。
【0133】
図16に、本実施形態の変形例における集積回路設計装置の構成例のブロック図を示す。図16において、図2と同一部分には同一符号を付し、適宜説明を省略する。
【0134】
本実施形態の変形例における集積回路設計装置80は、ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、配置配線処理部30、セル情報生成部90を含む。
【0135】
ネットリスト記憶部22、配線グリッド変更領域設定部24、配線グリッド変更処理部26、セル情報記憶部28、及び配置配線処理部30の各部の構成及び機能は、本実施形態と同様であるため説明を省略する。
【0136】
セル情報生成部90は、配線グリッド変更処理部26による変更後の配線グリッド間隔に対応したセルグリッド間隔でそのレイアウト形状が定義されたセルの情報を新たに生成する。このため、配線グリッド変更処理部26により配線グリッド間隔をより小さくする変更処理が行われたとき、セル情報生成部90は、セル情記憶部28に記憶されたセルのうち、配線グリッド変更領域内に配置されるセルの情報を読み出す。そして、セル情報生成部90は、配線グリッド変更処理部26による変更後の配線グリッド間隔に対応したセルグリッド間隔となるように、読み出したセルの情報のセルグリッド間隔をより小さく変更し、これに対応したセルの形状を指定する情報を生成する。このとき、セル情報生成部90は、セルグリッド間隔を小さくした場合でも、変更後のセルグリッドの格子点上に端子が配置されるようにセルの形状を指定する情報を生成する。
【0137】
配置配線処理部30は、配線グリッド変更領域内において、セル情報生成部90により生成されたセルの情報に基づいて、配線グリッド間隔が変更された配線グリッド上に、セル及び配線を配置する処理を行う。
【0138】
なお、セル情報生成部90は、配線グリッド変更処理部26により配線グリッド間隔が変更される毎に、セル情報を生成するようにしてもよいし、予め配線グリッド変更処理部26による変更後の複数の配線グリッド間隔が判明している場合には、それぞれの配線グリッド間隔に対応したセルグリッド間隔のセル情報を、配線グリッド変更処理部26による変更処理に先立って生成するようにしてもよい。
【0139】
本変形例によれば、配線グリッド変更処理部26が任意の配線グリッド間隔に変更できるようになるので、集積回路100の高集積化をより一層促進させることができるようになる。
【0140】
〔集積回路〕
以上説明した本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80により、レイアウト設計が行われる集積回路100は、配線グリッド変更領域内の配線の混雑度が低下し、これまで以上に高集積化される。
【0141】
図17に、本実施形態又はその変形例における集積回路設計装置により設計される集積回路100の機能ブロック図の一例を示す。図17では、集積回路100がマイクロコンピュータであるものとして説明するが、本発明はこれに限定されるものではない。
【0142】
本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80によりレイアウト設計される集積回路100は、CPU110、ROM112、RAM114、第1及び第2の周辺回路116、118、I/O(Input/Output)ポート120、表示メモリ122、LCD(Liquid Crystal Display)駆動回路124、電源回路126、及びバス130を含む。これらの回路ブロックは、半導体基板(広義には基板、チップ)に形成される。CPU110、ROM112、RAM114、第1及び第2の周辺回路116、118、I/Oポート120、表示メモリ122、LCD駆動回路124、及び電源回路126は、バス130を介し電気的に接続される。
【0143】
この集積回路100は、外部端子群P1、P2を有する。外部端子群P1、P2は、それぞれ複数の端子により構成される。外部端子群P1、P2を構成する各端子は、当該端子に対応して設けられたI/O(Input/Output)回路と電気的に接続され半導体基板(チップ)上に形成されたパッドを有する。各パッドとこれに対応するIC(Integrated Circuit)パッケージのピンとがボンディングワイヤを介して電気的に接続される。
【0144】
CPU110は、ROM112又はRAM114に記憶されたプログラムをバス130を介して読み出し、該プログラムに対応した処理を実行することで、集積回路100の全体の制御を司る。
【0145】
ROM112には、CPU110のプログラム又は各種の制御データが予め記憶されており、CPU110又は他の回路がバス130を介してROM112からプログラム又は制御データを読み出す。
【0146】
RAM114には、CPU110、第1及び第2の周辺回路116、118、及びI/Oポート120のワーク領域として、データが一時的に格納されたり、表示メモリ122に格納される表示データが一時的に格納されたりする。
【0147】
第1の周辺回路116は、例えば割り込みコントローラ、タイマ回路やウオッチドッグタイマにより構成され、バス130を介してCPU110により設定された条件で動作し、その動作結果をCPU110に通知することができるようになっている。
【0148】
第2の周辺回路118は、例えばプログラマブルタイマやシリアルインターフェス回路により構成され、バス130を介してCPU110により設定された条件で動作し、I/Oポート120を経由して、外部端子群P2を介して信号が入力又は出力されるようになっている。
【0149】
I/Oポート120は、汎用ポートとして機能し、外部端子群P2を構成する端子のいずれかを介して信号の入力や出力が行われる。
【0150】
表示メモリ122には、CPU110により生成された図示しない液晶表示パネル(広義には、液晶表示装置)の1画面分の表示データが記憶される。表示メモリ122に記憶された表示データは、LCD駆動回路124に送られる。外部端子群P1には、液晶表示パネルのコモン電極やセグメント電極が電気的に接続される。LCD駆動回路124は、CPU110により設定された表示駆動条件で、外部端子群P1を介して液晶表示パネルを駆動する制御を行う。
【0151】
電源回路126は、集積回路100を構成する各回路ブロックの電源を生成する。この電源回路126は、バス130を介してCPU110により設定された条件で、各回路ブロックの電源電圧を生成する。
【0152】
このような集積回路100は、ROM112又はRAM114から読み出されたプログラムに従って生成した1画面の画像データを生成し、該画像データを表示メモリ122に格納する。そして、LCD動回路124は、表示メモリ122に格納された画像データを読み出し、該画像データ(画像信号)に対応した駆動信号を用いて、液晶表示パネルを駆動する制御を行う。
【0153】
図18に、本実施形態又はその変形例における集積回路設計装置により設計される図17の集積回路100のフロアプランの一例を模式的に示す。図18において、図17と同一部分には同一符号を付し、適宜説明を省略する。図18では、集積回路100が、スタンダードセルとマクロブロックとで構成されるものとする。
【0154】
集積回路100が形成される矩形状の半導体基板の縁部に沿ってI/Oセル領域が設けられており、I/Oセル領域に周囲が囲まれたレイアウト可能領域に、図17の各ブロックがハードマクロ又はスタンダードセルとして配置されている。例えば、図18において、ROM112、RAM114、及び電源回路126等のアナログ回路がマクロブロックとして配置され、図17のその他の回路の機能がスタンダードセルにより構成されるものとする。
【0155】
図18の集積回路100では、本実施形態における集積回路設計装置20によって、例えば、ROM112、RAM114、及び電源回路126の各ハードマクロのコーナー部を含む領域には、配線グリッド変更領域が設定される。そのため、集積回路100は、この配線グリッド変更領域内で配線グリッド間隔が小さくされた上に、小さくなった配線グリッド間隔に対応するセルグリッド間隔でその形状が指定されたスタンダードセルに置き換えられて配置される。従って、集積回路100は、ROM112、RAM114、及び電源回路126の各ハードマクロのコーナー部を含む領域には、その他のスタンダードセルに比べて、同一機能のセルであったとしてもX方向及びY方向の少なくとも1つの方向に幅が小さくなったスタンダードセルが配置される(図18のAR1)。
【0156】
また、図18の集積回路100では、本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80によって、例えば、I/Oセル領域と、ROM112、RAM114、及び電源回路126の各ハードマクロとに挟まれた領域には、配線グリッド変更領域が設定される。そのため、集積回路100は、この配線グリッド変更領域内で配線グリッド間隔が小さくされた上に、小さくなった配線グリッド間隔に対応するセルグリッド間隔でその形状が指定されたスタンダードセルに置き換えられて配置される。従って、集積回路100は、I/Oセル領域と、ROM112、RAM114、及び電源回路126の各ハードマクロとに挟まれた領域には、その他のスタンダードセルに比べて、同一機能のセルであったとしてもX方向及びY方向の少なくとも1つの方向に幅が小さくなったスタンダードセルが配置される(図18のAR2)。
【0157】
更に、図18の集積回路100では、本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80によって、例えば、ROM112とRAM114とに挟まれた領域には、配線グリッド変更領域が設定される。そのため、集積回路100は、この配線グリッド変更領域内で配線グリッド間隔が小さくされた上に、小さくなった配線グリッド間隔に対応するセルグリッド間隔でその形状が指定されたスタンダードセルに置き換えられて配置される。従って、集積回路100は、ROM112とRAM114とに挟まれた領域には、その他のスタンダードセルに比べて、同一機能のセルであったとしてもX方向及びY方向の少なくとも1つの方向に幅が小さくなったスタンダードセルが配置される(図18のAR3)。
【0158】
以上のように、本実施形態における集積回路設計装置20又は本変形例における集積回路設計装置80によりレイアウト設計された集積回路100は、配線グリッド間隔の変更処理前の第1の配線グリッド間隔の配線グリッド上に配置された配線及びセルと、配線グリッド変更領域として設定された領域内の配線グリッドの間隔を第1の配線グリッド間隔より小さくした第2の配線グリッド間隔の配線グリッド上に配置された配線と、配線グリッド変更領域として設定された領域内において、第2の配線グリッド間隔の配線グリッド上に配置され、第2の配線グリッド間隔に対応したセルグリッドを基準にその構成が指定されたセルとを含む。ここで、配線グリッド変更領域は、マクロブロックのコーナー部を含む領域、マクロブロックとI/Oセル領域とに挟まれた領域、及び第1及び第2のマクロブロックに挟まれた領域の少なくとも1つである。
【0159】
このような集積回路100は、配線グリッド変更領域として設定された領域内の混雑度を低下させて、セル及び配線を行うことができるので、これまでより小さい面積で集積化され、低コスト化を図ることができる。また、複雑な配線処理を行う必要がないので、開発期間を短縮できるようになる。
【0160】
〔電子機器〕
図17及び図18で説明した集積回路100は、時計や携帯電話機等に代表される携帯型の電子機器に搭載することができる。
【0161】
図19に、本実施形態における電子機器の構成例のブロック図を示す。図19は、図17及び図18の集積回路100が搭載される電子機器のブロック図を表す。
【0162】
電子機器500は、上記の実施形態における集積回路100と、液晶表示パネル510とを含む。液晶表示パネル510は、例えばドットマトリクス型の液晶表示パネルであり、集積回路100によって駆動される。この構成を有する電子機器500は、集積回路100のチップサイズの縮小化によって、低コスト化及び小型化を図ることができる。
【0163】
なお、図19の液晶表示パネル510は、セグメント電極とコモン電極との間の電位差で光変調率が制御されるパッシブ型の液晶表示パネルであってもよいし、画素毎にアクティブ素子が設けられたアクティブ型の液晶表示パネルであってもよい。
【0164】
以上、本発明に係る集積回路設計装置、集積回路設計方法、集積回路及び電子機器を上記の実施形態又はその変形例に基づいて説明したが、本発明は上記の実施形態又はその変形例に限定されるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0165】
(1)上記の実施形態又はその変形例では、配線グリッド変更領域として、マクロブロックのコーナー部を含む領域、マクロブロックとI/Oセル領域とに挟まれた領域、及び2つのマクロブロックに挟まれた領域の少なくとも1つを採用するものとして説明したが、本発明はこれに限定されるものではない。レイアウト可能領域内において、配線グリッド変更領域として、配線グリッド間隔をより小さく変更する領域を局所的に設定できればよい。
【0166】
(2)上記の実施形態又はその変形例では、主として、レイアウト設計対象の集積回路がスタンダードセルにより構成されるものとして説明したが、本発明はこれに限定されるものではない。例えば、ゲートアレイやエンベデッドアレイにより構成される集積回路を、レイアウト設計対象としてもよい。
【0167】
(3)上記の実施形態又はその変形例では、半導体基板に形成される集積回路のレイアウト設計に適用される例を説明したが、本発明はこれに限定されるものではない。例えば、半導体基板でない基板に回路が形成された集積回路のレイアウト設計にも適用できる。
【0168】
(4)上記の実施形態又はその変形例では、P型を第1導電型、N型を第2導電型として説明したが、N型を第1導電型、P型を第2導電型としてもよい。
【0169】
(5)上記の実施形態又はその変形例において、本発明を、集積回路設計装置、集積回路設計方法、集積回路及び電子機器として説明したが、本発明はこれに限定されるものではない。例えば、本発明を実現するための集積回路設計方法の処理手順が記述されたプログラムや、該プログラムが記録された記録媒体であってもよい。
【図面の簡単な説明】
【0170】
【図1】図1(A)、図1(B)は本発明の実施形態における集積回路設計装置の処理の概要を模式的に示す図。
【図2】本実施形態における集積回路設計システムの構成例のブロック図。
【図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】本実施形態における配線グリッド変更領域の例を示す図。
【図10】マクロブロックのコーナー部を含む領域に設定される配線グリッド変更領域の説明図。
【図11】マクロブロックとI/Oセル領域とに挟まれる領域に設定される配線グリッド変更領域の説明図。
【図12】第1及び第2のマクロブロックに挟まれる領域に設定される配線グリッド変更領域の説明図。
【図13】図2の配線グリッド変更処理部が行う配線グリッド間隔の変更処理の説明図。
【図14】図2の集積回路設計装置のハードウェア構成例のブロック図。
【図15】図2の集積回路設計装置の処理例のフロー図。
【図16】本実施形態の変形例における集積回路設計装置の構成例のブロック図。
【図17】本実施形態又はその変形例における集積回路設計装置により設計される集積回路の機能ブロック図の一例を示す図。
【図18】本実施形態又はその変形例における集積回路設計装置により設計される図17の集積回路のフロアプランの一例を模式的に示す図。
【図19】本実施形態における電子機器の構成例のブロック図。
【符号の説明】
【0171】
10…集積回路設計システム、 20,80…集積回路設計装置、
22…ネットリスト記憶部、 24…配線グリッド変更領域設定部、
26…配線グリッド変更処理部、 28…セル情報記憶部、 30…配置配線処理部、
40…表示装置、 50,110…CPU、 52…I/F回路、
54,112…ROM、 56,114…RAM、 58,130…バス、
90…セル情報生成部、 100…集積回路、
102,MB1〜MB3…マクロブロック、 116…第1の周辺回路、
118…第2の周辺回路、 120…I/Oポート、 122…表示メモリ、
124…LCD駆動回路、 126…電源回路、 500…電子機器、
510…液晶表示パネル、 C10〜C13,C20,C24,CL…セル、
CA…配線グリッド変更領域、 CG…セルグリッド、 CN1…配線、
CNR…コーナー部、
GD1,GD2x,GD2y,xd1,yd1…配線グリッド間隔、
GR…配線グリッド、 IA1〜IA4…I/Oセル領域、
INV−1,INV−2…インバータ回路、 LA…レイアウト可能領域、
M1〜M3…配線層、 MC1〜MC10,MD1〜MD6,MF1…領域、
ML1…第1層配線、 ML2…第2層配線、 NA…N型アクティブ領域、
PA…P型アクティブ領域、 PL…ポリシリコン層、
VC,VC1〜VC4…ビアセル、 XC1…端子、
cg1,cg2,cg3…セルグリッド間隔、 m1,m2,m3…最小ピッチ
【特許請求の範囲】
【請求項1】
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、
前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更ステップと、
前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含むことを特徴とする集積回路設計方法。
【請求項2】
請求項1において、
前記配線グリッド変更領域として設定される領域が、
マクロブロックのコーナー部を含む領域であることを特徴とする集積回路設計方法。
【請求項3】
請求項2において、
前記マクロブロックのコーナー部を含む領域が、
前記コーナー部を中心とし、該コーナー部において交差する前記マクロブロックの境界線の二辺のうち短辺の長さを一辺の長さとする正方形の領域であることを特徴とする集積回路設計方法。
【請求項4】
請求項1において、
前記配線グリッド変更領域として設定される領域が、
互いに交差する第1及び第2の方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域であることを特徴とする集積回路設計方法。
【請求項5】
請求項1において、
前記配線グリッド変更領域として設定される領域が、
第1及び第2のマクロブロックに挟まれた領域であることを特徴とする集積回路設計方法。
【請求項6】
請求項5において、
当該領域内の第1の方向に延びる前記配線グリッド変更ステップにおける変更前の配線グリッド数をx、前記当該領域内において前記第1の方向と交差する第2の方向に延びて所与の配線と接続される前記第1のマクロブロックの端子数をy1、前記当該領域内において前記第2の方向と反対方向に延びて所与の配線と接続される前記第2のマクロブロックの端子数をy2とすると、
前記第1及び第2のマクロブロックに挟まれた領域が、
x<y1+y2となる領域であることを特徴とする集積回路設計方法。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記配線グリッド変更ステップが、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することを特徴とする集積回路設計方法。
【請求項8】
請求項7において、
前記第1の方向は、
スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であることを特徴とする集積回路設計方法。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記配線グリッド変更ステップが、
所与のデザインルールにおけるビアセル間の最小ピッチより小さく、且つ前記デザインルールにおけるビアセルと配線との間の最小ピッチ以上となるように、前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更することを特徴とする集積回路設計方法。
【請求項10】
配線グリッド上に配線及びセルを配置する集積回路設計装置であって、
同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、
前記配線グリッド変更領域設定部によって前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部と、
前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部とを含み、
前記配置配線処理部が、
前記セル情報記憶部に記憶されたセルの情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置することを特徴とする集積回路設計装置。
【請求項11】
請求項10において、
前記配線グリッド変更領域として設定される領域が、
マクロブロックのコーナー部を中心とし、該コーナー部において交差する前記マクロブロックの境界線の二辺のうち短辺の長さを一辺の長さとする正方形の領域であることを特徴とする集積回路設計装置。
【請求項12】
請求項10において、
前記配線グリッド変更領域として設定される領域が、
互いに交差する第1及び第2の方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域であることを特徴とする集積回路設計装置。
【請求項13】
請求項10において、
当該領域内の第1の方向に延びる前記配線グリッド変更ステップにおける変更前の配線グリッド数をx、前記当該領域内において前記第1の方向と交差する第2の方向に延びて所与の配線と接続される前記第1のマクロブロックの端子数をy1、前記当該領域内において前記第2の方向と反対方向に延びて所与の配線と接続される前記第2のマクロブロックの端子数をy2とすると、
前記配線グリッド変更領域として設定される領域が、
x<y1+y2となる前記第1及び第2のマクロブロックに挟まれた領域であることを特徴とする集積回路設計装置。
【請求項14】
同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、
前記配線グリッド変更領域設定部によって前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部と、
前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部としてコンピュータを機能させ、
前記配置配線処理部が、
前記セル情報記憶部に記憶されたセルの配置情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置することを特徴とするプログラム。
【請求項15】
第1の配線グリッド間隔の配線グリッド上に配置された配線及びセルと、
配線グリッド変更領域として設定された領域内の配線グリッドの間隔を前記第1の配線グリッド間隔より小さくした第2の配線グリッド間隔の配線グリッド上に配置された配線と、
前記配線グリッド変更領域として設定された領域内において、前記第2の配線グリッド間隔に対応したセルグリッド間隔でその構成が指定され前記第2の配線グリッド間隔の配線グリッド上に配置されたセルとを含み、
前記配線グリッド変更領域として設定された領域が、
マクロブロックのコーナー部を含む領域、マクロブロックとI/Oセル領域とに挟まれた領域、及び第1及び第2のマクロブロックに挟まれた領域の少なくとも1つであることを特徴とする集積回路。
【請求項16】
請求項15記載の集積回路を含むことを特徴とする電子機器。
【請求項1】
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定ステップと、
前記配線グリッド変更領域設定ステップにおいて前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更ステップと、
前記領域内において、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに所与の配線を配置すると共に、前記配線グリッド変更ステップにおいて変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更ステップにおいて前記間隔が変更された配線グリッドに配置する配置配線ステップとを含むことを特徴とする集積回路設計方法。
【請求項2】
請求項1において、
前記配線グリッド変更領域として設定される領域が、
マクロブロックのコーナー部を含む領域であることを特徴とする集積回路設計方法。
【請求項3】
請求項2において、
前記マクロブロックのコーナー部を含む領域が、
前記コーナー部を中心とし、該コーナー部において交差する前記マクロブロックの境界線の二辺のうち短辺の長さを一辺の長さとする正方形の領域であることを特徴とする集積回路設計方法。
【請求項4】
請求項1において、
前記配線グリッド変更領域として設定される領域が、
互いに交差する第1及び第2の方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域であることを特徴とする集積回路設計方法。
【請求項5】
請求項1において、
前記配線グリッド変更領域として設定される領域が、
第1及び第2のマクロブロックに挟まれた領域であることを特徴とする集積回路設計方法。
【請求項6】
請求項5において、
当該領域内の第1の方向に延びる前記配線グリッド変更ステップにおける変更前の配線グリッド数をx、前記当該領域内において前記第1の方向と交差する第2の方向に延びて所与の配線と接続される前記第1のマクロブロックの端子数をy1、前記当該領域内において前記第2の方向と反対方向に延びて所与の配線と接続される前記第2のマクロブロックの端子数をy2とすると、
前記第1及び第2のマクロブロックに挟まれた領域が、
x<y1+y2となる領域であることを特徴とする集積回路設計方法。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記配線グリッド変更ステップが、
前記配線グリッド変更領域として設定される領域内において、互いに交差する第1及び第2の方向の少なくとも1つの方向に延びる配線グリッドの間隔を変更することを特徴とする集積回路設計方法。
【請求項8】
請求項7において、
前記第1の方向は、
スタンダードセルを構成するセルのうち、全セルの第1導電型のアクティブ領域が隣接して配置されるアクティブ領域連続配置方向であることを特徴とする集積回路設計方法。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記配線グリッド変更ステップが、
所与のデザインルールにおけるビアセル間の最小ピッチより小さく、且つ前記デザインルールにおけるビアセルと配線との間の最小ピッチ以上となるように、前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更することを特徴とする集積回路設計方法。
【請求項10】
配線グリッド上に配線及びセルを配置する集積回路設計装置であって、
同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、
前記配線グリッド変更領域設定部によって前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部と、
前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部とを含み、
前記配置配線処理部が、
前記セル情報記憶部に記憶されたセルの情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置することを特徴とする集積回路設計装置。
【請求項11】
請求項10において、
前記配線グリッド変更領域として設定される領域が、
マクロブロックのコーナー部を中心とし、該コーナー部において交差する前記マクロブロックの境界線の二辺のうち短辺の長さを一辺の長さとする正方形の領域であることを特徴とする集積回路設計装置。
【請求項12】
請求項10において、
前記配線グリッド変更領域として設定される領域が、
互いに交差する第1及び第2の方向のいずれかの方向において、マクロブロックとI/Oセル領域とに挟まれた領域であることを特徴とする集積回路設計装置。
【請求項13】
請求項10において、
当該領域内の第1の方向に延びる前記配線グリッド変更ステップにおける変更前の配線グリッド数をx、前記当該領域内において前記第1の方向と交差する第2の方向に延びて所与の配線と接続される前記第1のマクロブロックの端子数をy1、前記当該領域内において前記第2の方向と反対方向に延びて所与の配線と接続される前記第2のマクロブロックの端子数をy2とすると、
前記配線グリッド変更領域として設定される領域が、
x<y1+y2となる前記第1及び第2のマクロブロックに挟まれた領域であることを特徴とする集積回路設計装置。
【請求項14】
同一機能を有する複数のセルの構成をそれぞれ互いに異なるセルグリッド間隔で指定する複数のセルの情報を記憶するセル情報記憶部と、
所与の領域を配線グリッド変更領域として設定する配線グリッド変更領域設定部と、
前記配線グリッド変更領域設定部によって前記配線グリッド変更領域として設定された前記領域内の配線グリッドの間隔をより小さく変更する配線グリッド変更処理部と、
前記領域内において、前記配線グリッド変更処理部により前記間隔が変更された前記配線グリッドに所与の配線とセルとを配置する配置配線処理部としてコンピュータを機能させ、
前記配置配線処理部が、
前記セル情報記憶部に記憶されたセルの配置情報に基づいて、前記配線グリッド変更処理部により変更された前記配線グリッドの間隔に対応したセルグリッド間隔でその構成が指定されたセルを、前記配線グリッド変更処理部によりその間隔が変更された前記配線グリッドに配置することを特徴とするプログラム。
【請求項15】
第1の配線グリッド間隔の配線グリッド上に配置された配線及びセルと、
配線グリッド変更領域として設定された領域内の配線グリッドの間隔を前記第1の配線グリッド間隔より小さくした第2の配線グリッド間隔の配線グリッド上に配置された配線と、
前記配線グリッド変更領域として設定された領域内において、前記第2の配線グリッド間隔に対応したセルグリッド間隔でその構成が指定され前記第2の配線グリッド間隔の配線グリッド上に配置されたセルとを含み、
前記配線グリッド変更領域として設定された領域が、
マクロブロックのコーナー部を含む領域、マクロブロックとI/Oセル領域とに挟まれた領域、及び第1及び第2のマクロブロックに挟まれた領域の少なくとも1つであることを特徴とする集積回路。
【請求項16】
請求項15記載の集積回路を含むことを特徴とする電子機器。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2010−20587(P2010−20587A)
【公開日】平成22年1月28日(2010.1.28)
【国際特許分類】
【出願番号】特願2008−181092(P2008−181092)
【出願日】平成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 ]