JP2009302132A - レイアウト設計方法及び記録媒体 - Google Patents
レイアウト設計方法及び記録媒体 Download PDFInfo
- Publication number
- JP2009302132A JP2009302132A JP2008151827A JP2008151827A JP2009302132A JP 2009302132 A JP2009302132 A JP 2009302132A JP 2008151827 A JP2008151827 A JP 2008151827A JP 2008151827 A JP2008151827 A JP 2008151827A JP 2009302132 A JP2009302132 A JP 2009302132A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- signals
- complementary
- layout design
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】信号線間のカップリング容量を低減する。
【解決手段】レイアウト設計方法は、複数の回路ブロックBLK間に跨る複数の信号のうち、相補信号からなる複数のペアを抽出する工程と、上記ペアの各々をツイストさせて配線する工程とを含む。
【選択図】 図4
【解決手段】レイアウト設計方法は、複数の回路ブロックBLK間に跨る複数の信号のうち、相補信号からなる複数のペアを抽出する工程と、上記ペアの各々をツイストさせて配線する工程とを含む。
【選択図】 図4
Description
本発明は、レイアウト設計方法及びこれを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体に係り、例えばツイスト配線を有する半導体集積回路のレイアウト設計方法に関する。
複数の回路ブロックを同一基板上に搭載した半導体集積回路では、回路ブロック間を接続する複数の信号線が配設される。この信号線が長い距離並走した場合、各信号線の寄生容量が大きくなり、よって信号線間のカップリング容量が大きくなる。信号線間のカップリング容量が大きくなると、同一周波数で動作する隣接信号線からのカップリングによって信号変化速度が遅くなる場合が生じる。例えば、第1の信号線がハイレベルからローレベルに遷移する信号を伝送するとき、それと隣接する第2の信号線がローレベルからハイレベルに遷移すると、第1の信号線によって伝送される信号が極端に遅くなってしまう。従って、信号変化速度に対して動作周波数を高くすると誤動作が生じ、一方、信号変化速度に適合させると動作周波数が低くなってしまうという問題が生じる。
信号線間のカップリング容量を低減する方法としては、(1)信号線を電源線によってシールドする、(2)信号線の間隔を十分に離す、などが考えられる。これらの方法は、カップリング容量を低減する対策としては十分な効果を発揮するが、ペナルティとして面積増加がある。今後益々、半導体集積回路の集積度を上げていく必要がある中で、この面積増加は容認し難いものがある。
また、この種の関連技術として、伝送回路において、隣接する信号線の線間容量を介して生じるカップリングノイズを低減する技術が開示されている(特許文献1参照)。
特開2001−167572号公報
本発明は、信号線間のカップリング容量を低減することが可能なレイアウト設計方法を提供する。また、本発明は、上記レイアウト設計方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
本発明の一視点に係るレイアウト設計方法は、複数の回路ブロック間に跨る複数の信号のうち、相補信号からなる複数のペアを抽出する工程と、前記ペアの各々をツイストさせて配線する工程とを具備する。
本発明の一視点に係るコンピュータ読み取り可能な記録媒体は、コンピュータに、複数の回路ブロック間に跨る複数の信号のうち、相補信号からなる複数のペアを抽出する工程と、前記ペアの各々をツイストさせて配線する工程とを実行させるためのプログラムを記録する。
本発明によれば、信号線間のカップリング容量を低減することが可能なレイアウト設計方法を提供することができる。また、本発明によれば、上記レイアウト設計方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することができる。
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
[第1の実施形態]
本実施形態は、システムオンチップ(SoC:system-on-a-chip)に使用される信号線のツイスト構造に関するものである。さらに、本実施形態は、ツイスト構造を有する信号線のレイアウト設計に関するものである。なお、SoCとは、同一基板上に複数の回路ブロックが搭載された半導体集積回路である。まず、本実施形態のツイスト構造の原理について説明する。
本実施形態は、システムオンチップ(SoC:system-on-a-chip)に使用される信号線のツイスト構造に関するものである。さらに、本実施形態は、ツイスト構造を有する信号線のレイアウト設計に関するものである。なお、SoCとは、同一基板上に複数の回路ブロックが搭載された半導体集積回路である。まず、本実施形態のツイスト構造の原理について説明する。
[1.ツイスト構造の原理]
図1は、本発明の第1の実施形態に係るツイスト構造からなる信号線を有する半導体集積回路の主要部を示すレイアウト図である。半導体集積回路は、2つのブロック(回路ブロック)BLK1、BLK2を備えている。各ブロックBLKは、所定の機能を果たす回路からなり、例えば、各種のロジック回路、演算回路、及びメモリ等から構成されている。
図1は、本発明の第1の実施形態に係るツイスト構造からなる信号線を有する半導体集積回路の主要部を示すレイアウト図である。半導体集積回路は、2つのブロック(回路ブロック)BLK1、BLK2を備えている。各ブロックBLKは、所定の機能を果たす回路からなり、例えば、各種のロジック回路、演算回路、及びメモリ等から構成されている。
ブロックBLK1及びBLK2間は、6本の信号線A〜Fで接続されている。信号線A及びB、信号線C及びD、信号線E及びFをそれぞれペアとすると、これらのペアは以下の関係を満たしている。
A=/B
C=/D
E=/F
なお、“/”は、反転信号を表している。すなわち、信号線A及びB、信号線C及びD、信号線E及びFはそれぞれ相補信号である。
A=/B
C=/D
E=/F
なお、“/”は、反転信号を表している。すなわち、信号線A及びB、信号線C及びD、信号線E及びFはそれぞれ相補信号である。
図1中の3本の破線は、信号線を4等分した場合の位置を示している。ツイスト構造を生成するために、信号線を4つのセグメントに分ける。そして、図1に示すように、相補信号からなるペアをツイストさせてツイスト構造を生成する。ツイストする位置は、信号線を4等分した位置を使用する。さらに、隣接するペアでツイストする位置をずらすことで、カップリング容量が最も低減できるツイスト構造を生成することができる。
図1の例では、信号線Aは、ブロックBLK1のピンP1と、ブロックBLK2のピンP2とに接続されている。信号線Bは、ブロックBLK1のピンP2と、ブロックBLK2のピンP1とに接続されている。信号線Cは、ブロックBLK1のピンP3と、ブロックBLK2のピンP3とに接続されている。信号線Dは、ブロックBLK1のピンP4と、ブロックBLK2のピンP4とに接続されている。信号線Eは、ブロックBLK1のピンP5と、ブロックBLK2のピンP6とに接続されている。信号線Fは、ブロックBLK1のピンP6と、ブロックBLK2のピンP5とに接続されている。
以下に、カップリング容量の低減効果について図2を用いて説明する。図2は、図1の6本の信号線A〜Fを抽出して示している。図1の数字(1)〜(4)はそれぞれ、信号線の1/4セグメントを示している。例えば、信号線Aの(1)部分に対応するセグメントをA@(1)と表記する。信号Aがローレベル(信号Bがハイレベル)、信号Cがハイレベル(信号Dがローレベル)、信号Eがハイレベル(信号Fがローレベル)にそれぞれ遷移するものとし、この様子を図2の矢印にて示している。上方向の矢印はハイレベル、下方向の矢印はローレベルに遷移する様子を表している。
信号線Cを例に取ると、信号線Cのカップリング容量に影響を与える信号線はA、B、E、Fである。セグメントC@(1)及びC@(4)はそれぞれ、セグメントB@(1)及びA@(4)からカップリング容量の影響を受ける。ここで、セグメントB@(1)はハイレベル、セグメントA@(4)はローレベルなので、セグメントC@(1)及びC@(4)のカップリング容量による影響は相殺される。
セグメントC@(2)及びC@(3)はそれぞれ、セグメントE@(2)及びF@(3)からカップリング容量の影響を受ける。ここで、セグメントE@(2)はハイレベル、セグメントF@(3)はローレベルなので、セグメントC@(2)及びC@(3)のカップリング容量による影響は相殺される。図1の例は、6本の信号線A〜Fが同一長であり、カップリング容量の低減効果が最大に発揮される例である。
次に、長さが異なる信号線を有する半導体集積回路の例について説明する。図3は、半導体集積回路の他の例の主要部を示すレイアウト図である。
ブロックBLK1及びBLK2間は、6本の信号線A〜Fで接続されている。信号線A及びB、信号線C及びD、信号線E及びFをそれぞれペアとすると、これらの信号線は以下の関係を満たしている。
A=/B
C=/D
E=/F
信号線A及びBは、他の信号線C〜Fに比べてその長さが短くなっている。このような構成の場合、図3の3本の破線で示すように、短い信号線A及びBを4等分した位置をツイストする位置に設定する。そして、隣接するペアでツイストする位置をずらすことで、カップリング容量が最も低減できるツイスト構造を作ることができる。
A=/B
C=/D
E=/F
信号線A及びBは、他の信号線C〜Fに比べてその長さが短くなっている。このような構成の場合、図3の3本の破線で示すように、短い信号線A及びBを4等分した位置をツイストする位置に設定する。そして、隣接するペアでツイストする位置をずらすことで、カップリング容量が最も低減できるツイスト構造を作ることができる。
信号線A〜FとブロックのピンPとの接続関係は、図1と同じである。なお、図3の構成では、信号線A及びBが短いため、セグメントB@(1)及びA@(4)に隣接する信号線Cに対するカップリング容量低減の効果は小さくなる。
[2.半導体集積回路のレイアウト設計]
次に、ツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計について説明する。図4は、ツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計方法を示すフローチャートである。図5は、ツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計を行う設計装置10の構成を示すブロック図である。
次に、ツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計について説明する。図4は、ツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計方法を示すフローチャートである。図5は、ツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計を行う設計装置10の構成を示すブロック図である。
設計装置10は、入力部11、表示部12、出力部13、入出力制御部14、データ記憶部15、プログラム記憶部16、及び中央処理装置(CPU:central processing unit)17を備えている。
入力部11は、ユーザがデータを入力するために使用され、例えばキーボードにより構成される。表示部12は、CPU17による処理結果をユーザに伝えるために使用され、例えばディスプレイにより構成される。出力部13は、CPU17による処理結果をデータとして出力、或いはCPU17による処理結果を紙媒体として出力するものであり、例えばプリンタにより構成される。入出力制御部14は、入力部11、表示部12及び出力部13と、CPU17との間のインターフェース処理を実行する。
プログラム記憶部16は、本実施形態のレイアウト設計を実現するためのプログラムが格納された記憶媒体であり、CPU17がプログラム記憶部16に格納されたプログラムに基づいて演算処理を実行することで、所望のレイアウト設計を行うことができる。データ記憶部15は、レイアウト設計時に生成されたデータを格納したり、ユーザが入力したデータを格納したりする。
CPU17は、相補信号抽出部17A、相補信号グループ化部17B、ブロック配置部17C、ピン設定部17D、配線部17E、及びツイスト構造生成部17Fを備えている。CPU17に含まれる各部の動作については後述する。
以下に、図面を参照しながらツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計方法について説明する。
まず、ステップS101において、相補信号抽出部17Aは、跨るブロックBLKが同じ信号の中から相補信号からなるペアを抽出する。すなわち、相補信号抽出部17Aは、2個のブロックBLK間を跨る信号のすべての組み合わせに対して、相補を確認するためのアサーションを生成する。相補信号抽出部17Aは、このアサーション生成処理を、2個のブロックBLKのすべての組み合わせに対して実行する。続いて、相補信号抽出部17Aは、生成されたアサーションに対してアサーションチェックを実行し、相補信号からなるペアを抽出する。
この相補信号の抽出処理を、図6を用いて説明する。図6では、3個のブロックBLK1〜BLK3が配置されている。ブロックBLK1及びBLK2間に跨る信号として、信号S1、S2、S3及びS4が存在する。また、ブロックBLK1及びBLK3間に跨る信号として、信号S5、S6及びS7が存在する。さらに、ブロックBLK2及びBLK3間に跨る信号として、信号S8及びS9が存在する。
ブロックBLK1及びBLK2間に跨る信号のすべての組み合わせは、(S1,S2)、(S1,S3)、(S1,S4)、(S2,S3)、(S2,S4)、及び(S3,S4)の6通りである。
ブロックBLK1及びBLK3間に跨る信号のすべての組み合わせは、(S5,S6)、(S5,S7)、及び(S6,S7)の3通りである。
ブロックBLK2及びBLK3間に跨る信号のすべての組み合わせは、(S8,S9)の1通りである。
相補信号抽出部17Aは、これら合計10通りの組み合わせに対して、相補であることを確認するためのアサーションを生成する。生成されたアサーションに対して、アサーションチェックを実行することによって相補信号が抽出される。
次に、ステップS102において、相補信号グループ化部17Bは、接続される(跨る)ブロックBLKが同じ相補信号を同じグループに属するようにグループ化する。このグループ化処理を、図7及び図8を用いて説明する。
図7に示すように、(S1,S2)、(S3,S4)、及び(S6,S7)のペアがそれぞれ相補信号であるものとする。これら3個のペアのうち、(S1,S2)及び(S3,S4)は、接続されるブロックBLKが同じなので1個のグループとしてグループ化される。すなわち、図8に示すように、相補信号グループ化部17Bは、(S1,S2)及び(S3,S4)をグループ信号GS1としてグループ化する。また、(S6,S7)をグループ信号GS2としてグループ化する。
次に、ステップS103において、所定のアルゴリズムに基づいてブロックBLKを配置する。例えば、ブロック配置部17Cは、チップの面積が極力小さくなるようにして、さらに、ブロック間に跨る信号線の長さが極力短くなるようにして、ブロックBLKを配置する。
次に、ステップS104において、ピン設定部17Dは、各ブロックBLKのピンを定義する。このとき、グループ化された相補信号については、これら相補信号に対応する全てのピンを代表する仮想的な1個のピンを定義する。グループを代表する仮想的なピンの大きさは、そのグループに属する信号数のピンを実現可能な大きさを持つものとする。
図9は、仮想的なピンPの配置例を示す図である。ここで、グループ信号GS1は4個の信号を、グループ信号G2は2個の信号をグループ化したものとする。信号S1は、グループ化されなかった信号である。図9に示すブロックBLKには、ピン設定部17Dによって3個のピンP1〜P3が配置される。グループ信号GS1はピンP1、信号S1はピンP2、グループ信号GS2はピンP3に接続される。グループ信号GS1のピンP1は4個の信号を、グループ信号GS2のピンP3は2個の信号を引き出せるだけの大きさを有する。
次に、ステップS105において、配線部17Eは、ステップS102でグループ化された相補信号(グループ信号)について、1個のグループを1個の信号とみなして概略配線(仮配線)する。ただし、グループ信号の配線に必要な配線リソースは、グループ内の信号数分必要なものとして概略配線する。なお、「概略配線」とは、大まかな配線経路を求める処理である。具体的には、チップ(或いは、配線領域)を大きな格子に分割し、この格子のレベルでの配線経路(各配線がどの格子を通過するか)を決定する処理である。
図10は、概略配線の結果の例を示す図である。チップ(基板)には、ブロックBLK1〜BLK9が配置されており、さらに、グループ化された相補信号(グループ信号GS1〜GS9)が概略配線されている。ブロックBLK1及びBLK2間には、グループ信号GS1が配線されている。ブロックBLK2及びBLK3間には、グループ信号GS4が配線されている。ブロックBLK2及びBLK4間には、グループ信号GS2が配線されている。ブロックBLK3及びBLK5間には、グループ信号GS3が配線されている。ブロックBLK4及びBLK8間には、グループ信号GS5が配線されている。ブロックBLK5及びBLK8間には、グループ信号GS6が配線されている。ブロックBLK6及びBLK8間には、グループ信号GS7が配線されている。ブロックBLK8及びBLK7間には、グループ信号GS8が配線されている。ブロックBLK6及びBLK9間には、グループ信号GS9が配線されている。
次に、ステップS106において、相補信号グループ化部17Bは、ステップS105で得られた概略配線の結果に対して、信号の概略配線を包含する最小矩形が重なるグループ信号GSをさらにグループ化する。
図11は、図10の概略配線の結果に対して、各グループ信号GSの概略配線を包含する最小矩形(以下、BBOX(banding box)と表記する)を示す図である。破線で囲まれた矩形が各グループ信号のBBOXである。図11の例では、グループ信号GS2及びGS3、GS8及びGS9のBBOXがそれぞれ重なっているので、それらが相補信号グループ化部17Bによって更にグループ化される。
次に、ステップS107において、配線部17Eは、ステップS106で再グループ化された相補信号(グループ信号)について、1個のグループを1個の信号とみなして再度概略配線する。ここでも、ステップS105と同様に、グループ信号の配線に必要な配線リソースは、グループ内の信号数分必要なものとして概略配線する。
図12は、ステップS106で再グループ化されたグループ信号を概略配線した結果を示す図である。グループ信号GS2及びGS3が1個のグループ信号GS2_3として、グループ信号GS8及びGS9が1個のグループ信号GS8_9として概略配線されている。なお、図12には図示を省略するが、この2回目の概略配線工程において、グループ化されなかった(相補信号でない)信号Sも概略配線する。
次に、ステップS108において、グループ化された相補信号を隣接するツイスト構造として詳細配線(実配線)する。また、ステップS108において、グループ化されなかった信号Sを詳細配線する。なお、「詳細配線」とは、配線チャネル単位に信号の最終的な配線をする処理であり、例えば、概略配線時の格子をさらに細分化した格子を用いて配線経路を求める。この詳細配線処理は、配線部17E及びツイスト構造生成部17Fによって実行される。
グループ信号GS2_3をツイスト構造として実現した例を図13に、グループ信号GS8_9をツイスト構造として実現した例を図14にそれぞれ示す。ここでは、グループ信号GS2を2組の相補信号をもつグループとして、グループ信号GS3、GS8及びGS9を1組の相補信号を持つグループとしている。図10の段階では離れた位置にあったグループ信号GS2及びGS3や、グループ信号GS8及びGS9が、ステップS106及びS107を経ることによって、隣接した位置に配線されることになる。
以上詳述したように本実施形態では、複数の回路ブロック間に跨る複数の信号のうち、接続されるブロックが同じ相補信号からなる複数のペアを抽出する。そして、抽出された複数のペアのうち接続されるブロックBLKが同じ相補信号を1個のグループ信号としてグループ化した後に概略配線する。さらに、相補信号を隣接して配置し、相補信号からなる複数のペアの各々をツイストさせて詳細配線するようにしている。
従って本実施形態によれば、より多くの相補信号を隣接して配置させることができ、さらにこれらの相補信号をツイスト構造として配線することができる。これにより、信号線間のカップリング容量を低減することができ、ひいては、カップリングノイズを低減することが可能となる。また、カップリング容量を低減させることで、回路の高速動作が可能となる。
また、本実施形態を利用することにより、特に高速動作を行う回路のノイズマージンを削減できるため、信号のタイミング設計が容易になり、特性歩留まり(parametric yield)を向上させることが可能となる。
[第2の実施形態]
第2の実施形態は、ブロック間にバッファを挿入し、このバッファを介してブロック間を信号線で接続するようにしている。さらに、ブロック及びバッファ間の相補信号をツイスト構造にして配線するようにしている。
第2の実施形態は、ブロック間にバッファを挿入し、このバッファを介してブロック間を信号線で接続するようにしている。さらに、ブロック及びバッファ間の相補信号をツイスト構造にして配線するようにしている。
図15は、本発明の第2の実施形態に係るツイスト構造からなる信号線を有する半導体集積回路の主要部を示すレイアウト図である。ブロックBLK1及びBLK2間は、6本の信号線A〜Fで接続されている。信号線A及びB、信号線C及びD、信号線E及びFをそれぞれペアとすると、これらのペアは以下の関係を満たしている。
A=/B
C=/D
E=/F
信号線Aの第1のセグメントは、ブロックBLK1のピンP1とバッファBFの入力とに接続されている。信号線Aの第2のセグメントは、バッファBFの出力とブロックBLK2のピンP1とに接続されている。同様に、信号線B〜Fの第1のセグメントはそれぞれ、ブロックBLK1のピンP2〜P6とバッファBFの入力とに接続されている。信号線B〜Fの第2のセグメントはそれぞれ、バッファBFの出力とブロックBLK2のピンP2〜P6とに接続されている。
A=/B
C=/D
E=/F
信号線Aの第1のセグメントは、ブロックBLK1のピンP1とバッファBFの入力とに接続されている。信号線Aの第2のセグメントは、バッファBFの出力とブロックBLK2のピンP1とに接続されている。同様に、信号線B〜Fの第1のセグメントはそれぞれ、ブロックBLK1のピンP2〜P6とバッファBFの入力とに接続されている。信号線B〜Fの第2のセグメントはそれぞれ、バッファBFの出力とブロックBLK2のピンP2〜P6とに接続されている。
また、各信号線の第1及び第2のセグメントはそれぞれ、図1と同様のツイスト構造を有している。これにより、信号線が長くなった場合でも、カップリング容量を低減することが可能となる。
図15の構成は、バッファBFが一段(すなわち、セグメントが2段)の例であり、この場合は、ピン配置と信号線との関係は、ブロックBLK1とBLK2とで同じになる。勿論、信号線に挿入するバッファの数に制限はなく、複数のバッファを挿入するようにしてもよい。バッファが偶数段(セグメントは奇数段)になると、図1のようなピン配置になる。一方、バッファが奇数段(セグメントは偶数段)になると、図15のようなピン配置になる。
次に、ツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計について説明する。図16は、ツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計方法を示すフローチャートである。図17は、ツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計を行う設計装置10の構成を示すブロック図である。
CPU17は、図5の構成に加えて、新たにバッファ挿入部17Gを備えている。バッファ挿入部17Gの動作については後述する。
以下に、図面を参照しながらツイスト構造からなる信号線を有する半導体集積回路のレイアウト設計方法について説明する。なお、図16において、ステップS101〜S107までの動作は、第1の実施形態と同じである。
次に、ステップS201において、バッファ挿入部17Gは、信号線が所定長さを超えるか否かを判定する。そして、信号線が所定長さを超えた場合、その信号線の途中にバッファBFを挿入する。挿入するバッファBFの数は、信号線が所定長さの1倍〜2倍の範囲では1個、信号線が所定長さの2倍〜3倍の範囲では2個、というように信号線の長さが長くなるにつれて増加する。
次に、ステップS108において、グループ化された相補信号を隣接するツイスト構造として詳細配線する。また、ステップS108において、グループ化されなかった信号Sを詳細配線する。これにより、図15に示すように、ブロックBLK及びバッファBF間を跨る信号線をツイスト構造にすることができる。
以上詳述したように本実施形態によれば、信号線の長さに応じて信号線の途中にバッファBFを挿入することが可能となる。さらに、ブロックBLK及びバッファBF間を跨る信号線をツイスト構造にすることができる。これにより、信号線のカップリング容量を低減することができる。
また、信号線の途中にバッファBFを挿入することで、これらの信号線の配線遅延を低減することが可能となる。その他の効果は第1の実施形態と同じである。
[第3の実施形態]
第1の実施形態では、図4のステップS101に示した相補信号抽出工程は、2個のブロックBLKごとに信号の組み合わせに対してアサーションを生成していたが、第3の実施形態では、跨るブロックが同じ信号に加えて、跨るブロックが異なるブロック信号のすべての組み合わせに対してもアサーションを生成するようにしている。
第1の実施形態では、図4のステップS101に示した相補信号抽出工程は、2個のブロックBLKごとに信号の組み合わせに対してアサーションを生成していたが、第3の実施形態では、跨るブロックが同じ信号に加えて、跨るブロックが異なるブロック信号のすべての組み合わせに対してもアサーションを生成するようにしている。
図18は、本発明の第3の実施形態に係る半導体集積回路のレイアウト設計方法を示すフローチャートである。ステップS101において、相補信号抽出部17Aは、跨るブロックBLKが同じ信号と、跨るブロックBLKが異なる信号との中から相補信号からなるペアを抽出する。すなわち、相補信号抽出部17Aは、全てのブロックBLK間を跨る信号のすべての組み合わせに対して、相補を確認するためのアサーションを生成する。
図6の信号S1〜S9の例で説明すると、相補信号抽出部17Aは、(S1,S2)〜(S8,S9)の36通りの信号の組み合わせに対して、相補であることを確認するためのアサーションを生成する。このように、第1の実施形態では、10個のアサーションが生成されるが、本実施形態では、36個のアサーションが生成されることになる。
続いて、生成されたアサーションに対して、アサーションチェックを実行することによって相補信号が抽出される。このようにして、ステップS101での相補信号抽出工程が行われる。その後の工程は、第1の実施形態と同じである。
生成されるアサーションの数が増加すると、アサーションチェックの処理時間が増加するが、抽出可能な相補信号の数も増加し、第1の実施形態よりも多くの相補信号に対してノイズ低減効果を得ることができる。なお、本実施形態は、第2の実施形態に適用可能であることは勿論である。
[第4の実施形態]
第1の実施形態では、図4のステップS104に示したピン設定工程は、グループを代表する仮想的なピンがそのグループに属する信号数のピンを実現可能な大きさを持つものとしていたが、第4の実施形態では、同工程において、そのグループに属する信号数の1.5倍のピンを実現可能な大きさにするようにしている。
第1の実施形態では、図4のステップS104に示したピン設定工程は、グループを代表する仮想的なピンがそのグループに属する信号数のピンを実現可能な大きさを持つものとしていたが、第4の実施形態では、同工程において、そのグループに属する信号数の1.5倍のピンを実現可能な大きさにするようにしている。
以下に、図面を参照しながらステップS104のピン設定工程について説明する。なお、他の工程については、第1の実施形態と同じである。
図19は、2個の信号A及びBに対して1.5倍の大きさを持つピンPの構成を示す図である。例えば、ブロックBLKに接続されるグループ信号GSが信号A及びBの相補信号からなるものとする。ピン設定部17Dは、ブロックBLKのピンPとして、グループ信号GSに属する2個の信号A及びBの1.5倍のピンを実現可能な大きさを持つピンを定義する。図19に示すように、2個の信号A及びBを接続するために定義されたピンPは、3個の信号が接続可能な大きさを有している。
図20は、実際に配置されるピンPの数を説明する図である。2個の信号A及びB用のピンとして、信号Aに接続可能なピンP1(A)及びP3(A)、信号Bに接続可能なピンP2(B)の合計3個のピンが配置される。なお、信号Aに接続可能なピンの数を1個、信号Bに接続可能なピンの数を2個に設定してもよい。
このようにピンを配置することで、図21(a)に示すように、2個の信号A及びBをそれぞれピンP1(A)及びピンP2(B)に接続することも可能であるし、図21(b)に示すように、2個の信号A及びBをそれぞれピンP3(A)及びピンP2(B)に接続することも可能である。
以上詳述したように本実施形態によれば、ツイスト構造を実現する際の信号の順番に柔軟に対応することが可能となる。これにより、隣接する多くの相補信号にツイスト構造を適用した場合でも、これらの相補信号を確実にかつ無理なくブロックに接続することが可能である。
さらに、相補信号の途中にバッファBFを挿入することで、信号の順番が入れ替わった場合でも、信号線をそれ用のピンに接続することが可能である。
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
BLK…ブロック、A〜F…信号線、P…ピン、BF…バッファ、S…信号、GS…グループ信号、10…設計装置、11…入力部、12…表示部、13…出力部、14…入出力制御部、15…データ記憶部、16…プログラム記憶部、17…CPU、17A…相補信号抽出部、17B…相補信号グループ化部、17C…ブロック配置部、17D…ピン設定部、17E…配線部、17F…ツイスト構造生成部、17G…バッファ挿入部。
Claims (5)
- 複数の回路ブロック間に跨る複数の信号のうち、相補信号からなる複数のペアを抽出する工程と、
前記ペアの各々をツイストさせて配線する工程と、
を具備することを特徴とするレイアウト設計方法。 - 前記複数のペアは、跨るブロックが同じ相補信号からなることを特徴とする請求項1に記載のレイアウト設計方法。
- 前記複数のペアは、跨るブロックが同じ相補信号からなる複数の第1のペアと、跨るブロックが異なる相補信号からなる複数の第2のペアとを含むことを特徴とする請求項1に記載のレイアウト設計方法。
- 前記相補信号内にバッファを挿入する工程をさらに具備し、
前記配線する工程は、各ブロック及び前記バッファ間のペアをツイストさせて配線することを特徴とする請求項1又は2に記載のレイアウト設計方法。 - コンピュータに、
複数の回路ブロック間に跨る複数の信号のうち、相補信号からなる複数のペアを抽出する工程と、
前記ペアの各々をツイストさせて配線する工程と、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008151827A JP2009302132A (ja) | 2008-06-10 | 2008-06-10 | レイアウト設計方法及び記録媒体 |
US12/482,348 US20090307647A1 (en) | 2008-06-10 | 2009-06-10 | Layout design method and computer-readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008151827A JP2009302132A (ja) | 2008-06-10 | 2008-06-10 | レイアウト設計方法及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009302132A true JP2009302132A (ja) | 2009-12-24 |
Family
ID=41401461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008151827A Withdrawn JP2009302132A (ja) | 2008-06-10 | 2008-06-10 | レイアウト設計方法及び記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090307647A1 (ja) |
JP (1) | JP2009302132A (ja) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0697735B1 (en) * | 1994-08-15 | 2002-03-27 | International Business Machines Corporation | Single twist layout and method for paired line conductors of integrated circuits |
JPH10107208A (ja) * | 1996-09-30 | 1998-04-24 | Toshiba Corp | 半導体集積回路装置 |
US6327170B1 (en) * | 1999-09-28 | 2001-12-04 | Infineon Technologies Ag | Reducing impact of coupling noise in multi-level bitline architecture |
US6504246B2 (en) * | 1999-10-12 | 2003-01-07 | Motorola, Inc. | Integrated circuit having a balanced twist for differential signal lines |
US6515508B1 (en) * | 2000-06-05 | 2003-02-04 | Altera Corporation | Differential interconnection circuits in programmable logic devices |
WO2001097391A2 (en) * | 2000-06-14 | 2001-12-20 | Rambus, Inc. | Method and apparatus for transmitting data with reduced coupling noise |
US7199471B2 (en) * | 2000-12-21 | 2007-04-03 | Texas Instruments Incorporated | Method and apparatus for reducing capacitive coupling between lines in an integrated circuit |
US7039892B2 (en) * | 2001-07-24 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Systems and methods for ensuring correct connectivity between circuit designs |
US6848093B2 (en) * | 2001-12-28 | 2005-01-25 | Intel Corporation | Interconnect swizzling for capacitive and inductive noise cancellation |
US20040025131A1 (en) * | 2002-08-05 | 2004-02-05 | Sun Microsystems, Inc., A Delware Corporation | Method and apparatus for placing repeater banks in integrated circuit design |
US6951978B1 (en) * | 2002-12-30 | 2005-10-04 | Richard S. Norman | Conductive fabric with balanced mutual interference amongst conductors |
WO2005081085A2 (en) * | 2004-02-13 | 2005-09-01 | The Regents Of The University Of California | Logic system for dpa and/or side channel attack resistance |
US7139993B2 (en) * | 2004-03-26 | 2006-11-21 | Sun Microsystems, Inc. | Method and apparatus for routing differential signals across a semiconductor chip |
US7793249B1 (en) * | 2006-07-25 | 2010-09-07 | Cadence Design Systems, Inc. | Method and system for adaptive bundling of connections in user-guided autorouting |
US7830221B2 (en) * | 2008-01-25 | 2010-11-09 | Micron Technology, Inc. | Coupling cancellation scheme |
-
2008
- 2008-06-10 JP JP2008151827A patent/JP2009302132A/ja not_active Withdrawn
-
2009
- 2009-06-10 US US12/482,348 patent/US20090307647A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20090307647A1 (en) | 2009-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010100871A1 (ja) | 遅延ライブラリ生成システム | |
US6609241B2 (en) | Method of designing clock wiring | |
CN108074211A (zh) | 一种图像处理装置及方法 | |
CN114861578B (zh) | 保持时间违例修复方法、装置、设备及存储介质 | |
JP4536559B2 (ja) | 半導体集積回路のレイアウト方法、およびセル枠共通化プログラム。 | |
JP2009237972A (ja) | 半導体装置、その設計方法及び設計装置 | |
JP2006146601A (ja) | 半導体集積回路のレイアウト設計方法 | |
JP2006235705A (ja) | 半導体集積回路の自動配線方法と装置及びプログラムと半導体集積回路 | |
US20120221992A1 (en) | Method of supporting layout design of semiconductor integrated circuit | |
JP4967534B2 (ja) | 半導体装置のレイアウト方法およびレイアウトプログラム | |
JP2009302132A (ja) | レイアウト設計方法及び記録媒体 | |
JPH1197540A (ja) | 半導体回路におけるクロック供給装置およびその設計方法 | |
US7187573B2 (en) | Memory circuit and method of generating the same | |
JP2005136286A (ja) | 半導体集積回路の設計方法、及びその装置 | |
JP5402356B2 (ja) | 電源ノイズ解析方法及び電源ノイズ解析プログラム | |
JP4668974B2 (ja) | 半導体装置の設計方法、半導体装置設計システム及びコンピュータプログラム | |
JP4248925B2 (ja) | 自動フロアプラン決定方法 | |
JP2012137890A (ja) | 集積回路のレイアウト設計方法、レイアウト設計装置、及び設計プログラム | |
JP2013038366A (ja) | 半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラム | |
JP2005276970A (ja) | オンチップデカップリングキャパシタ挿入方法及び集積回路装置 | |
JP3644413B2 (ja) | 素子及び配線の配置決定方法 | |
US20080141197A1 (en) | Semiconductor device design method, semiconductor device design system, and computer program | |
JP2912300B2 (ja) | Asicのレイアウト方法 | |
JP2011180715A (ja) | 多電源集積回路設計装置およびその方法、ならびに、多電源集積回路製造方法 | |
JP2009253756A (ja) | クロック分配回路のレイアウト生成方法、および半導体集積回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110906 |