JP2012113453A - 回路設計支援装置、回路設計支援方法および半導体集積回路 - Google Patents

回路設計支援装置、回路設計支援方法および半導体集積回路 Download PDF

Info

Publication number
JP2012113453A
JP2012113453A JP2010260754A JP2010260754A JP2012113453A JP 2012113453 A JP2012113453 A JP 2012113453A JP 2010260754 A JP2010260754 A JP 2010260754A JP 2010260754 A JP2010260754 A JP 2010260754A JP 2012113453 A JP2012113453 A JP 2012113453A
Authority
JP
Japan
Prior art keywords
wiring
unit
clock
design support
circuit design
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010260754A
Other languages
English (en)
Inventor
Atsushi Tsuchiya
篤 土屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2010260754A priority Critical patent/JP2012113453A/ja
Publication of JP2012113453A publication Critical patent/JP2012113453A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】配線の遅延特性のばらつきを抑制すること。
【解決手段】回路設計支援装置1は、設定部1aと生成部1bとを有している。設定部1aは、半導体集積回路モデル2の層2a、2bそれぞれに、積層方向および面方向に隣接するユニット3の配線方向が互いに異なる方向に配線が生成される複数の矩形のユニット3を設定する。生成部1bは、ユニット3の境界で異なる層のユニット3に跨る配線を生成する。
【選択図】図1

Description

本発明は回路設計支援装置、回路設計支援方法および半導体集積回路に関する。
近年、半導体集積回路のプロセスの微細化が進んでいる。プロセスの微細化が進むと半導体集積回路の配線特性(配線容量、配線抵抗等)の遅延時間のばらつきが大きくなる。具体的には、配線の遅延特性は、配線抵抗Rと配線容量Cの積に比例する。ここで、配線抵抗Rは抵抗率に比例し、配線の幅・高さに反比例する。従って、プロセスの微細化に伴い配線の幅・高さが減少していくと、単位長あたりの配線抵抗Rは増加する。また、配線間の距離が狭まることにより、配線容量Cの値も増加する。配線抵抗Rと配線容量Cの値が増加すると、遅延時間のばらつきも大きくなる。このため、配線抵抗および配線容量のばらつきの変動の抑制を図る技術が知られている。
特開2007−288214号公報 特開2009−76709号公報
遅延時間のばらつきが大きくなると、半導体集積回路の設計仕様を満たす検証条件の組み合わせ(サインオフコーナ)が増加する。配線層や、サインオフコーナ毎に設計仕様を満たす検証条件は全く異なる。例えば、配線層の行列方向に配線が行われており、ある回路からクロック信号を複数の回路に送出する場合を例示する。クロック信号を受け取る回路に至るまでの配線の行方向の配線と列方向の配線の割合が異なると、各配線の遅延特性も変化する。このため、全てのサインオフコーナで、配線の遅延特性を合わせることは非常に困難である。例えば、クロック配線の遅延特性がばらつくと、クロックスキューが大きくなりタイミング収束性が悪化するという問題がある。
なお、クロック配線の遅延特性について説明したが、クロック信号以外の他の信号の配線についても同様の問題がある。
本発明はこのような点に鑑みてなされたものであり、配線の遅延特性のばらつきを抑制する回路設計支援装置、回路設計支援方法および半導体集積回路を提供することを目的とする。
上記目的を達成するために、開示の回路設計支援装置が提供される。この回路設計支援装置は、設定部と生成部とを有している。
設定部は、複数の層を有する半導体集積回路モデルの少なくとも2つの層それぞれに、積層方向および面方向に隣接するユニットの配線方向が互いに異なる方向に配線が生成される複数の矩形のユニットを設定する。
生成部は、ユニットの境界で異なる層のユニットに跨る配線を生成する。
また、上記目的を達成するために、開示の半導体集積回路が提供される。この半導体集積回路は、複数の層が積層された回路であって、信号を伝達する複数の信号伝達回路と、この信号伝達回路間を接続し、複数の層に跨りそれぞれが同じ配線長を有し、各層に位置する比率がそれぞれ等しい配線と、を有している。
配線の遅延特性のばらつきを抑制することができる。
第1の実施の形態の回路設計支援装置の概要を示す図である。 第2の実施の形態の回路設計支援装置のハードウェアの一構成例を示す図である。 回路設計支援装置の機能を示すブロック図である。 クロックバッファ回路の一例を示す図である。 配線用のトラックを説明する図である。 クロック信号用の配線層における電源配線の配置パターンを説明する図である。 クロック信号用の配線層におけるクロック配線の配置パターンを説明する図である。 クロック信号用の配線層における電源配線の配置パターンを説明する図である。 トラックにクロック配線を生成することにより実現できる配線例を示している。 クロック生成部が生成したクロックツリーを説明する図である。 回路設計支援装置の動作を説明するフローチャートである。 第2の実施の形態の配線層モデルの変形例を示す図である。
以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態の回路設計支援装置について説明し、その後、実施の形態をより具体的に説明する。
<第1の実施の形態>
図1は、第1の実施の形態の回路設計支援装置の概要を示す図である。
実施の形態の回路設計支援装置(コンピュータ)1は、設定部1aと生成部1bとを有している。
設定部1aは、回路設計対象の複数の層を有する半導体集積回路モデルの少なくとも2つの層の各層それぞれに、積層方向および面方向に隣接するユニットの配線方向が互いに異なる方向に配線が生成される複数の矩形のユニットを設定する。この半導体集積回路モデルは、例えば、ネットリスト格納部1cに格納されているネットリストを読み出すことにより、取得することができる。なお、図1ではネットリスト格納部1cは回路設計支援装置1内に設けられている例を示しているが、ネットリスト格納部1cは回路設計支援装置1の外部に設けられていてもよい。
図1では、半導体集積回路モデル2のクロック配線が生成される積層方向に重なる2つの層2a、2bを図示している。これら層2a、2bは、矩形のユニット3を有している。例えば層2aは、9つのユニット3を有している。ユニット3の各辺の長さは特に限定されないが、例えばクロック配線長が1μm〜2μmである場合、ユニット3は、クロック配線長を4で除算した250μm〜500μmとするのが好ましい。
各ユニット3には、配線の方向および位置を規定するトラック4が設定されている。このトラック4は、設定部1aが回路設計時に仮想的に層2a、2bに設定するものである。設定部1aは、隣接するユニット3の配線方向が互いに異なるようトラック4を設定する。図1に示すユニット3aには、紙面左右方向(横方向)に引かれた複数のトラック4が設定されている。そして、ユニット3aの右方向に配置されているユニット3bには、紙面上下方向(縦方向)に引かれた複数のトラック4が設定されている。また、ユニット3aの下方向に配置されているユニット3cには、縦方向に引かれた複数のトラック4が設定されている。また、ユニット3aの積層方向に配置されているユニット3dは、縦方向に引かれた複数のトラック4が設定されている。
生成部1bは、ユニット3の境界で異なる層のユニットに跨る配線を生成する。なお、生成部1bは、ユニットの境界以外にも異なる層のユニットに跨る配線を生成することができる。図1では、層2a、2bの各ユニット3に跨る3本のクロック配線を生成した例を示している。図1では、層2bのトラック4を実線で示し層2aのトラック4を点線で示している。また、図1では、生成したクロック配線を抜き出した図も示している。
1本目のクロック配線CL1は、層2bの点5aを開始点としている。生成部1bは、点5aからトラック4に沿ってクロック配線を生成し、ユニットの境界である点5bにて層2aのトラック4に乗り替えて層2aのトラック4に沿ってクロック配線を生成している。そして、点5cにて層2bのトラック4に乗り替えて層2bのトラック4に沿ってクロック配線を生成している。そして、点5dにて層2aのトラック4に乗り替えて層2aのトラック4に沿ってクロック配線を生成している。そして、点5eを終点としている。
2本目のクロック配線CL2は、層2bの点5fを開始点としている。生成部1bは、点5fからトラック4に沿って配線を生成し、点5gにて層2aのトラック4に乗り替えて層2aのトラック4に沿って配線を生成している。そして、点5hにて層2bのトラック4に乗り替えて層2bのトラック4に沿って配線を生成している。そして、点5iにて層2aのトラック4に乗り替えて層2aのトラック4に沿って配線を生成している。そして、点5jにて層2bのトラック4に乗り替えて層2bのトラック4に沿って配線を生成している。そして、点5kにて層2aのトラック4に乗り替えて層2aのトラック4に沿って配線を生成している。そして、点5mを終点としている。
3本目のクロック配線CL3は、層2bの点5nを開始点としている。生成部1bは、点5nからトラック4に沿って配線を生成し、点5pにて層2aのトラック4に乗り替えて層2aのトラック4に沿って配線を生成している。そして、点5qにて層2bのトラック4に乗り替えて層2bのトラック4に沿って配線を生成している。そして、点5rにて層2aのトラック4に乗り替えて層2aのトラック4に沿って配線を生成している。そして、点5sを終点としている。
図1に示すように、生成部1bは、各クロック配線CL1〜CL3それぞれの長さを等しく生成するのが好ましい。クロック配線の長さを等しくすることで、クロック配線の遅延特性のばらつきを抑制することができる。また、生成部1bは、各クロック配線CL1〜CL3の層2bに生成する配線と層2aに生成する配線の比率を等しくするのが好ましい。図1に示すクロック配線CL1〜CL3は、いずれも層2aに生成された配線と層2bに生成された配線の比率が1:1である。
この回路設計支援装置1によれば、縦方向の配線も横方向の配線も縦横両方向の配線も複数の層2a、2bの配線が混在する。これにより、1つの層のみに配線を生成した場合に比べ、配線の遅延特性のばらつきを抑制することができる。
なお、設定部1a、生成部1bは、回路設計支援装置1が有するCPU(Central Processing Unit)が備える機能により実現することができる。また、ネットリスト格納部1cは、回路設計支援装置1が有するRAM(Random Access Memory)やハードディスクドライブ(HDD:Hard Disk Drive)等が備えるデータ記憶領域により実現することができる。
以下、実施の形態をより具体的に説明する。
<第2の実施の形態>
実施の形態の回路設計支援装置10は、設計者の半導体集積回路の設計を支援する装置である。この回路設計支援装置10は、回路設計の対象となる半導体集積回路のモデル(半導体集積回路モデル)にクロック配線を生成する。クロック配線モデルの生成に際し、設計者は、クロック信号を伝達するクロックバッファ回路を決定する。また、クロック配線を生成する配線層を決定する。そして、回路設計支援装置10に決定した情報を入力することにより、回路設計支援装置10は、設計者が決定した配線層をモデル化した配線層モデルにクロック配線モデルやクロックバッファ回路をモデル化したクロックバッファ回路モデルを生成する。
図2は、第2の実施の形態の回路設計支援装置のハードウェアの一構成例を示す図である。
回路設計支援装置10は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。
RAM102は、回路設計支援装置10の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に使用する各種データが格納される。
バス108に接続されている周辺機器としては、ハードディスクドライブ103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
ハードディスクドライブ103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ハードディスクドライブ103は、回路設計支援装置10の二次記憶装置として使用される。ハードディスクドライブ103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた液晶表示装置等が挙げられる。
入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号をCPU101に送信する。なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等が挙げられる。
光学ドライブ装置106は、レーザ光等を利用して、光ディスク200に記録されたデータの読み取りを行う。光ディスク200は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク200には、Blu−ray(登録商標)、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。
通信インタフェース107は、ネットワーク50に接続されている。通信インタフェース107は、ネットワーク50を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成の回路設計支援装置10内には、以下のような機能が設けられる。
図3は、回路設計支援装置の機能を示すブロック図である。
回路設計支援装置10は、ネットリスト格納部11と、前処理部12と、フロアプラン決定部13と、セル配置部14と、クロック生成部15と、タイミング最適化部16と、配線実行部17とを有している。
ネットリスト格納部11は、設計対象の回路について生成されたネットリスト(回路接続情報)を格納している。なお、本実施の形態では、ネットリスト格納部11を回路設計支援装置10内に配置したが、これに限らず、ネットリスト格納部11は回路設計支援装置10の外部に配置されていてもよい。
前処理部12は、積層構造をなす半導体集積回路モデルの、クロック配線を生成する配線層に後述する正方形のユニットを形成する。ユニットを形成するに際し、前処理部12は、ユニットの一辺の長さ(ユニット長)を決定する。具体的には、前処理部12は、設計者が決定したクロックバッファ回路の入力を受け付ける。
図4は、クロックバッファ回路の一例を示す図である。
図4(a)は、クロックバッファ回路の機能ブロックを示す図であり、図4(b)は、クロックバッファ回路のより詳細な回路図である。生成されるクロックバッファ回路モデル21は、他のクロックバッファ回路モデル21等からクロック信号を受信するレシーバとしての機能と、必要に応じて他のクロックバッファ回路モデル21にクロック信号を送信するドライバとしての機能を有している。図4に示すクロックバッファ回路モデル21は、ファンアウト数が4の回路モデルである。クロックバッファ回路モデル21は、入力端子Aから入力されるクロック信号を反転して出力するインバータInv1と、インバータInv1の出力信号を入力信号とするインバータInv2、Inv3、Inv4、Inv5を有している。インバータInv2、Inv3、Inv4、Inv5の構成は互いに等しくなっている。互いに等しく回路を構成することでインバータInv2、Inv3、Inv4、Inv5の各出力端子Y1、Y2、Y3、Y4から出力される出力信号の遅延特性を同一にすることができる。
再び図3に戻って説明する。
前処理部12は、設計者が決定したクロック信号を伝達する配線層の入力を受け付ける。そして、前処理部12は、クロック配線長をパラメータとしてシミュレーションを実行し、ステージ遅延(クロック配線の遅延とクロックバッファ回路の遅延)を最小とするクロック配線長を決定する。この決定方法は、従来公知の方法を用いることができる。その後、前処理部12は、クロック配線長を偶数(本実施の形態では4)で除算する。そして得られた値をユニット長に決定する。例えば、クロック配線長が1μm〜2μm程度である場合、ユニット長は、250μm〜500μm程度となる。
前処理部12は、決定したユニット長に基づいて、配線用のトラック(track)を生成する。
図5は、配線用のトラックを説明する図である。
配線層モデル30が有する配線層モデル30a、30bは、積層構造をなす半導体集積回路モデルのうち、クロック配線を生成する2層を示している。すなわち、平面視で、配線層モデル30a、30bの4つの角は、同じ位置に位置するようになっている。これら配線層モデル30a、30bは、隣接する2層であり、完成した半導体集積回路では、配線層モデル30aにより具現化される配線層上に配線層モデル30bにより具現化される配線層が配置される。
配線層モデル30a、30bは、それぞれ複数のユニット31を有している。各ユニット31は、一辺が例えば200μm〜500μm程度の矩形をなしている。配線層モデル30aと配線層モデル30bは、ユニット31Aとユニット31aが積層方向に重なっている。ユニット31Bとユニット31bが積層方向に重なっている。ユニット31Cとユニット31cが積層方向に重なっている。
ユニット31には、クロック配線の方向および位置を規定するトラックT1が設定される。すなわち、これらトラックT1は、クロック配線の方向および位置を規定するものであり、クロック配線そのものではない。なお、図5では、トラックT1の間隔を誇張して表しているが、トラックの間隔は、例えば0.4μm〜1μm程度である。また、トラックT1は、ユニット31の全面に設定してもよいし、クロック配線以外の他の配線(後述する電源配線等)を配置するスペースを空けて設定してもよい。
これら各ユニット31に設定したトラックT1は、半導体集積回路モデルの積層方向(図5中紙面手前側から紙面奥側に向かう方向)および面方向(図5中上下左右方向)に隣接するユニット31の配線方向が互いに異なる方向に設定する。例えば、図5に示すユニット31Aは、紙面左右方向(横方向)に複数のトラックT1が設定されている。そして、ユニット31Aの右方向に配置されているユニット31Bは、紙面上下方向(縦方向)に複数のトラックT1が設定されている。また、ユニット31Aの下方向に配置されているユニット31Cは、縦方向に複数のトラックT1が設定されている。また、ユニット31Aの積層方向に配置されているユニット31aは、縦方向に複数のトラックT1が設定されている。
また、配線層モデル30a、30bの面方向に隣接する各ユニット31のトラックT1は、互いに直接接触しないように設定されている。例えば、ユニット31Aの各トラックT1は、ユニット31Bの各トラックT1とは互いに直接接触しないように設定されている。ユニット31AのトラックT1に沿って生成するクロック配線を、ユニット31BのトラックT1に沿って生成したクロック配線と接続したい場合は、例えば配線層モデル30bのユニット31aを経由することになる。
再び図3に戻って説明する。
フロアプラン決定部13は、半導体集積回路モデル20が有する各モジュールのおおよその配置を決定するフロアプランを行う。フロアプランでは、レイアウトを行うモジュール単位で階層を分割し、分割した各モジュールを、レイアウトするエリア内のどの辺りに配置するかを決定する。
フロアプラン決定部13は、半導体集積回路モデル20の各層に電源配線を生成する。電源配線生成時には、配線層モデル30a、30bに電源配線を生成することもできる。配線層モデル30a、30bに電源配線を生成するときは、ユニット31に設定されたトラックT1が規定する方向と同じ方向に電源配線を生成する。
図6は、クロック信号用の配線層における電源配線の配置パターンを説明する図である。なお、図6ではトラックT1の図示を省略している。
図6では、配線層モデル30a、30bが重なった状態を示している。
配線層モデル30a、30bが積層方向に重なることにより、配線層モデル30aの各ユニット31の矩形の辺の位置と、配線層モデル30bの各ユニット31の矩形の辺の位置が重なっている。図6では、配線層モデル30aに生成される電源配線を点線で示している。
フロアプラン決定部13は、トラックT1が配置された箇所以外に電源配線を生成する。配線層モデル30a、30bに生成された電源配線の間隔は、例えば50μm〜200μm程度である。各ユニット31の電源配線は、ユニット31の境界部分で配線層モデル30bの各ユニット31の対応する縦方向の電源配線に接続されている。例えば、配線層モデル30aのユニット31Bに生成された電源配線PL1は、ユニット31Bの境界部分で配線層モデル30bのユニット31dに生成された電源配線PL2に接続されている。
セル配置部14は、フロアプランに従って半導体集積回路モデルの各層に半導体セルを配置する。
クロック生成部15は、クロックツリーを生成する。クロック配線は、トラックT1に沿って生成する。これにより、積層方向および面方向に隣接するユニット31の配線方向が互いに異なるようにすることができる。このとき、生成するクロック配線の長さは、前処理部12が予め定めたクロック配線長とする。また、クロック生成部15は、各クロック配線の配線層モデル30a、30bそれぞれに位置するクロック配線の比率を等しくする。
そして、クロック生成部15は、生成したクロック配線間にクロックバッファ回路モデル21を配置する。
図7は、クロック信号用の配線層におけるクロック配線の配置パターンを説明する図である。図7では、配線層モデル30aに生成される電源配線およびクロック配線の部分を点線で示している。
図7に示す配線層モデル30では、1つながりのクロック配線CL10のうち、配線層モデル30bに生成されたクロック配線の一部を構成する部分配線CL11、配線層モデル30aに生成された部分配線CL12、配線層モデル30bに生成された部分配線CL13、および配線層モデル30aに生成された部分配線CL14が電気的に接続されている。
次に、図7の一点鎖線で囲った部分P1を用いて、配線層モデル30a、30bにおける配線の接続を説明する。
図8は、クロック信号用の配線層における電源配線の配置パターンを説明する図である。
例えば配線層モデル30aのユニット31Bに生成された電源配線PL1は、ユニット31Bとユニット31Dの境界部分でビア(via)V1を介して配線層モデル30bのユニット31dに生成された電源配線PL2に接続されている。
また、例えば配線層モデル30aのユニット31Bに生成された部分配線CL11は、ユニット31Bとユニット31Dの境界部分でビアV2を介して配線層モデル30bのユニット31dに生成された部分配線CL12に接続されている。部分配線CL12は、ユニット31d内で、ビアV3を介して配線層モデル30aのユニット31Dに生成された部分配線CL13に接続されている。部分配線CL13は、電源配線PL2、PL3の下部を通過し、ユニット31Dとユニット31Cの境界部分でビアV4を介して配線層モデル30bのユニット31cに生成された部分配線CL14に接続されている。このような配線を行うことで、電源配線とクロック配線の短絡を防止している。
次に、クロック生成部15が生成したクロック配線の配線長および比率について説明する。
図9は、トラックにクロック配線を生成することにより実現できる配線例を示している。なお、図9では、配線層モデル30aに生成される配線部分を点線で示している。
図9(a)〜図9(b)は、それぞれクロック生成部15が、配線層モデル30aの座標Aから配線層モデル30bの座標Bに6つのユニット31を跨いで生成したクロック配線CL21、CL22を示している。図9(a)は、直線形状のクロック配線CL21を示している。図9(b)は、屈曲部分を含むクロック配線CL22を示している。
また、図9(c)は、クロック生成部15が、配線層モデル30aの座標Aから配線層モデル30bの座標Bに7つのユニット31を跨いで生成したクロック配線CL23を示している。
図9(c)は、座標Aが存在するユニット31と同一のユニット31内の座標A1にて配線層モデル30bのユニット31の部分配線に接続され、座標Bが存在するユニット31と同一のユニット31内の座標B1にて配線層モデル30aのユニット31の部分配線に接続されている。
図9(a)〜図9(c)に示すクロック配線CL21〜CL23の各クロック配線長は、それぞれユニット31の一辺の6つ分の長さであり、互いに等しい長さである。また、図9(a)〜図9(c)に示すクロック配線CL21〜CL23の配線層モデル30a、30bそれぞれに位置する配線部分の比率は、いずれも等しく1:1である。このようにクロック配線長および配線層モデル30a、30bに位置する配線部分の比率が同一になるように設計することで、クロック配線の形状にかかわらず回路遅延特性のばらつきを抑制することができる。
図10は、クロック生成部が生成したクロックツリーを説明する図である。図10では、配線層モデル30aに生成されるクロック配線を点線で示し、配線層モデル30bに生成されるクロック配線を実線で示している。
各クロックバッファ回路モデル21の入力端子と出力端子は、それぞれ1対1に接続されている。すなわち、1つの出力端子は1つの入力端子に接続されている。
また、各クロックバッファ回路モデル21間のネットの長さ(配線長)は、いずれもユニット31の辺の長さ4つ分である。各クロックバッファ回路モデル21の特性は等しく、クロック配線の遅延特性も均一となる。このため、サインオフコーナのばらつきを抑制することができる。
また、各クロックバッファ回路モデル21の、他のクロックバッファ回路モデル21に接続しない出力端子は開放されている。このような構成にしても開放された出力端子以外の出力端子の遅延特性には影響を与えない。
タイミング最適化部16は、タイミング検証を行い、各配線層モデル30a、30bに生成されたクロック配線を伝達するクロック信号の遅延が予め定めたタイミング制約条件を満たすか否かを判断する。
配線実行部17は、半導体集積回路モデル20の各層にクロック配線、電源配線以外の配線を生成する。配線生成時には、クロック信号用の配線層モデル30a、30bに配線を生成することもできる。配線層モデル30a、30bに配線を生成するときは、クロック配線や電源配線の生成と同様に、ユニット31に従って生成する。
次に、回路設計支援装置10の動作を説明する。
図11は、回路設計支援装置の動作を説明するフローチャートである。
[ステップS1] 前処理部12は、クロック配線を接続するクロックバッファ回路の入力と、クロックで使用する配線層の入力を受け付けると、ネットリスト格納部11に格納されたネットリストに基づいてクロック配線長を決定する。そして、決定したクロック配線長に基づいて半導体集積回路モデル20のユニット長を決定する。そして、決定したユニット長に基づいて、トラックT1を生成する。その後、ステップS2に遷移する。
[ステップS2] フロアプラン決定部13は、半導体集積回路モデル20の各層に電源配線を生成する。このとき配線層モデル30a、30bについては、生成したトラックT1に従って、電源配線を生成する。配線の生成が終了すればステップS3に遷移する。
[ステップS3] セル配置部14は、半導体集積回路モデル20の各層に半導体セルを配置する。その後、ステップS4に遷移する。
[ステップS4] クロック生成部15は、クロックツリーを生成する。このときクロック配線は、トラックT1に従ってユニット31を乗り換える。また、ステップS1にて決定されたクロック配線長に基づきクロック配線を生成する。
[ステップS5] タイミング最適化部16は、クロックバッファ回路モデル21のファンアウト数等に応じて信号の遅延時間を見積もり、タイミング制約条件を満たすか否かを判断する。タイミング制約条件を満たさなければ、レイアウトを変更し、再度タイミング制約条件を満たすか否かを判断する。タイミング制約条件を満たせばステップS6に遷移する。
[ステップS6] 配線実行部17は、半導体集積回路モデル20の各層に信号配線を行う。このとき配線層モデル30a、30bについては、生成したトラックT1に従って、配線を生成する。配線の生成が終了すれば図11に示す処理を終了する。
以上で図11の説明を終了する。
次に、回路設計支援装置10が設計した半導体集積回路モデル20に従い製造された半導体集積回路を説明する。
半導体集積回路モデル20に従い製造された半導体集積回路の配線層モデル30a、30bに対応する配線層には、これら配線層に跨りそれぞれが同じ配線長を有するクロック配線が生成されている。また、半導体集積回路には、これらクロック信号を伝達するクロックバッファ回路が配置されている。配置されているクロックバッファ回路は、図10にて説明したように、クロックバッファ回路の入出力端子が1対1に接続されている。そして、生成されたクロック配線は、各配線層に位置する比率がそれぞれ等しくなっている。また、配線層には、クロック配線、電源配線が生成されている。
以上述べたように、回路設計支援装置10によれば、前処理部12がトラックT1を設定したユニット31を生成した。そして、クロック生成部15がトラックT1に沿って配線を生成した。これにより、全てのクロック配線が配線層モデル30a、30bを経由するクロック配線が生成される。これにより、配線層、配線方向および配線形状にかかわらず、クロック配線の遅延特性のばらつきを抑制することができる。
また、クロック生成部15が、前処理部12が決定した配線長に従いそれぞれの長さが等しいクロック配線を生成するようにしたのでクロック配線の遅延特性のばらつきをより抑制することができる。
また、クロック生成部15が生成する各クロック配線それぞれの配線層モデル30a、30bそれぞれに位置する比率を等しくしたので遅延特性のばらつきをさらに抑制することができる。
また、前処理部12がクロック配線の配線長に基づいてユニット31の一辺の長さを決定するようにしたので、クロック生成部15がそれぞれの長さが等しいクロック配線を生成することが容易になる。
<変形例>
次に、配線層モデル30の変形例を説明する。
図12は、第2の実施の形態の配線層モデルの変形例を示す図である。
図12に示す配線層モデル40は、トラックT1の配置方向が配線層モデル30と異なっている。
配線層モデル40a、40bの各ユニット31は、配線層モデル40aの外側の形状(辺)に対して所定角度(図12では45度)傾斜している。
この変形例の配線層モデル40を用いて半導体集積回路を製造しても、配線層モデル30を用いて半導体集積回路を製造した場合と同様の効果が得られる。
なお、回路設計支援装置10が行った処理が、複数の装置によって分散処理されるようにしてもよい。例えば、1つの装置が、配線層モデル30a、30bにトラックT1を設定しておき、他の装置が、設定されたトラックT1に沿ってクロック配線を生成するようにしてもよい。
以上、本発明の回路設計支援装置、回路設計支援方法および半導体集積回路を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、回路設計支援装置1、10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等が挙げられる。光磁気記録媒体には、MO(Magneto-Optical disk)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現することもできる。
以上の第1〜第2の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 複数の層を有する半導体集積回路モデルの少なくとも2つの前記層それぞれに、積層方向および面方向に隣接するユニットの配線方向が互いに異なる方向に配線が生成される複数の矩形のユニットを設定する設定部と、
前記ユニットの境界で異なる層の前記ユニットに跨る配線を生成する生成部と、
を有することを特徴とする回路設計支援装置。
(付記2) 前記設定部は、積層方向および面方向に隣接する前記ユニットの配線方向が互いに直交する方向に配線される前記ユニットを設定することを特徴とする付記1記載の回路設計支援装置。
(付記3) 前記設定部は、前記ユニットに配線方向を規定するトラックを設定し、前記生成部は、前記トラックに沿って配線を生成することを特徴とする付記1または2に記載の回路設計支援装置。
(付記4) 前記生成部は、前記配線それぞれの長さを等しく生成することを特徴とする付記1ないし3のいずれかに記載の回路設計支援装置。
(付記5) 前記生成部は、前記配線それぞれの各層に位置する比率を等しく生成することを特徴とする付記1ないし4のいずれかに記載の回路設計支援装置。
(付記6) 前記ユニットの一辺の長さは、前記配線の長さの1/n倍(nは偶数)であることを特徴とする付記1ないし5のいずれかに記載の回路設計支援装置。
(付記7) 前記ユニットには伝送する信号の種別の異なる配線が生成されることを特徴とする付記1ないし6のいずれかに記載の回路設計支援装置。
(付記8) 前記生成部は、生成した前記配線間をバッファ回路で接続することを特徴とする付記1ないし7のいずれかに記載の回路設計支援装置。
(付記9) 前記生成部は、前記バッファ回路の入出力端子を1対1に接続することを特徴とする付記8記載の回路設計支援装置。
(付記10) 生成する前記配線の長さに基づいて前記ユニットの一辺の長さを決定する決定部をさらに有することを特徴とする付記1ないし9のいずれかに記載の回路設計支援装置。
(付記11) コンピュータに、
複数の層を有する半導体集積回路モデルの少なくとも2つの前記層それぞれに、積層方向および面方向に隣接するユニットの配線方向が互いに異なる方向に配線が生成される複数の矩形のユニットを設定し、
前記ユニットの境界で異なる層の前記ユニットに跨る配線を生成する、
処理を実行させることを特徴とする回路設計支援方法。
(付記12) 複数の層が積層された半導体集積回路において、
信号を伝達する複数の信号伝達回路と、
前記信号伝達回路間を接続し、前記複数の層に跨りそれぞれが同じ配線長を有し、各層に位置する比率がそれぞれ等しい配線と、
を有することを特徴とする半導体集積回路。
(付記13) 前記層には伝送する信号の種別の異なる配線が生成されていることを特徴とする付記12記載の半導体集積回路。
(付記14) 複数の前記信号伝達回路の入出力端子は1対1に接続されていることを特徴とする付記12または13に記載の半導体集積回路。
1、10 回路設計支援装置
1a 設定部
1b 生成部
1c、11 ネットリスト格納部
2、20 半導体集積回路モデル
2a、2b 層
3、3a、3b、3c、3d、31、31A、31B、31C、31D、31a、31b、31c、31d ユニット
4、T1 トラック
5a〜5k、5m、5n、5p〜5s 点
12 前処理部
13 フロアプラン決定部
14 セル配置部
15 クロック生成部
16 タイミング最適化部
17 配線実行部
21 クロックバッファ回路モデル
30、30a、30b、40、40a、40b 配線層モデル
CL1〜CL3、CL10、CL21、CL22、CL23 クロック配線
CL11〜CL14 部分配線
PL1〜PL3 電源配線

Claims (10)

  1. 複数の層を有する半導体集積回路モデルの少なくとも2つの前記層それぞれに、積層方向および面方向に隣接するユニットの配線方向が互いに異なる方向に配線が生成される複数の矩形のユニットを設定する設定部と、
    前記ユニットの境界で異なる層の前記ユニットに跨る配線を生成する生成部と、
    を有することを特徴とする回路設計支援装置。
  2. 前記設定部は、積層方向および面方向に隣接する前記ユニットの配線方向が互いに直交する方向に配線される前記ユニットを設定することを特徴とする請求項1記載の回路設計支援装置。
  3. 前記設定部は、前記ユニットに配線方向を規定するトラックを設定し、前記生成部は、前記トラックに沿って配線を生成することを特徴とする請求項1または2に記載の回路設計支援装置。
  4. 前記生成部は、前記配線それぞれの長さを等しく生成することを特徴とする請求項1ないし3のいずれかに記載の回路設計支援装置。
  5. 前記生成部は、前記配線それぞれの各層に位置する比率を等しく生成することを特徴とする請求項1ないし4のいずれかに記載の回路設計支援装置。
  6. 前記ユニットの一辺の長さは、前記配線の長さの1/n倍(nは偶数)であることを特徴とする請求項1ないし5のいずれかに記載の回路設計支援装置。
  7. 前記ユニットには伝送する信号の種別の異なる配線が生成されることを特徴とする請求項1ないし6のいずれかに記載の回路設計支援装置。
  8. コンピュータに、
    複数の層を有する半導体集積回路モデルの少なくとも2つの前記層それぞれに、積層方向および面方向に隣接するユニットの配線方向が互いに異なる方向に配線が生成される複数の矩形のユニットを設定し、
    前記ユニットの境界で異なる層の前記ユニットに跨る配線を生成する、
    処理を実行させることを特徴とする回路設計支援方法。
  9. 複数の層が積層された半導体集積回路において、
    信号を伝達する複数の信号伝達回路と、
    前記信号伝達回路間を接続し、前記複数の層に跨りそれぞれが同じ配線長を有し、各層に位置する比率がそれぞれ等しい配線と、
    を有することを特徴とする半導体集積回路。
  10. 前記層には伝送する信号の種別の異なる配線が生成されていることを特徴とする請求項9記載の半導体集積回路。
JP2010260754A 2010-11-24 2010-11-24 回路設計支援装置、回路設計支援方法および半導体集積回路 Pending JP2012113453A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010260754A JP2012113453A (ja) 2010-11-24 2010-11-24 回路設計支援装置、回路設計支援方法および半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010260754A JP2012113453A (ja) 2010-11-24 2010-11-24 回路設計支援装置、回路設計支援方法および半導体集積回路

Publications (1)

Publication Number Publication Date
JP2012113453A true JP2012113453A (ja) 2012-06-14

Family

ID=46497616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010260754A Pending JP2012113453A (ja) 2010-11-24 2010-11-24 回路設計支援装置、回路設計支援方法および半導体集積回路

Country Status (1)

Country Link
JP (1) JP2012113453A (ja)

Similar Documents

Publication Publication Date Title
US8775998B2 (en) Support device of three-dimensional integrated circuit and method thereof
KR102224518B1 (ko) 더블 패터닝 레이아웃 설계 방법
US8935639B1 (en) Natively color-aware double patterning technology (DPT) compliant routing
JP2006196627A (ja) 半導体装置、及び半導体装置の設計プログラム
JP2010079737A (ja) タイミング解析支援装置
JP6044240B2 (ja) 半導体装置及び半導体装置の設計方法
US10031996B2 (en) Timing based net constraints tagging with zero wire load validation
JP5668443B2 (ja) 回路設計支援装置、回路設計支援方法および半導体集積回路
US8863062B2 (en) Methods and apparatus for floorplanning and routing co-design
TWI803481B (zh) 產生積體電路的電路模塊的佈局的方法,及其電腦程式產品、非暫時性儲存媒體,及積體電路
US20140298278A1 (en) Graphical method and product to assign physical attributes to entities in a high level descriptive language used for vlsi chip design
JP2010087244A (ja) 半導体集積回路、半導体集積回路のレイアウト方法、及び半導体集積回路のレイアウトプログラム
JP2012113453A (ja) 回路設計支援装置、回路設計支援方法および半導体集積回路
JP2016105446A (ja) 設計方法、設計装置及びプログラム
US20150347644A1 (en) Designing apparatus and designing method
JP2012243791A (ja) レイアウト設計方法、および、レイアウト設計プログラム
JP2014127165A (ja) 回路設計プログラム、回路設計装置及び回路設計方法
JP2012227376A (ja) レイアウト設計方法、および、レイアウト設計プログラム
JP6599813B2 (ja) 半導体集積回路及び半導体集積回路の設計方法
US10319436B2 (en) System including programmable integrated circuit including first areas having same shape and second areas formed between first areas, and operation processing device and method for controlling the programmable integrated circuit
JP2016046358A (ja) 半導体装置の設計方法、半導体装置及びプログラム
US11812560B2 (en) Computer-readable recording medium storing design program, design method, and printed wiring board
US11829698B2 (en) Guided power grid augmentation system and method
JP5625921B2 (ja) 回路設計支援プログラム、回路設計支援方法および回路設計支援装置
JP2009170515A (ja) 集積回路装置のレイアウト方法、集積回路装置のレイアウトプログラム、集積回路装置のレイアウトシステム、集積回路装置及び電子機器