(57)【要約】【課題】  配線間容量に起因するクロストークノイズ等を抑制し、動作性能を向上させる。【解決手段】  実施形態の集積回路は、１つの回路と、複数の回路ブロックと、前記１つの回路と前記複数の回路ブロックとを接続し、前記１つの回路から前記複数の回路ブロックへ向けて並走する並走部分を有する複数の配線とを備え、前記並走部分における隣り合う配線同士はいずれも異なる回路ブロックに接続されている。【選択図】図１Ａ
2020046877.tif 000002
【特許請求の範囲】
【請求項１】
１つの回路と、
複数の回路ブロックと、
前記１つの回路と前記複数の回路ブロックとを接続し、前記１つの回路から前記複数の回路ブロックへ向けて並走する並走部分を有する複数の配線と
を備え、
前記並走部分における隣り合う配線同士はいずれも異なる回路ブロックに接続されている、
集積回路。
【請求項２】
前記１つの回路から同じ回路ブロックに接続されている配線同士は、前記並走部分において隣り合わないように離れて配置されている、
請求項１に記載の集積回路。
【請求項３】
前記複数の回路ブロックは、前記１つの回路から複数の配線が並走する方向に沿って配列されている、
請求項１又は２に記載の集積回路。
【請求項４】
各回路ブロックにおける配線接続のための複数の端子は、前記１つの回路から複数の配線が並走する方向に沿って配列されている、
請求項１乃至３のいずれか１項に記載の集積回路。
【請求項５】
前記１つの回路はロジック領域に相当する回路であり、
前記複数の回路ブロックはそれぞれマクロに相当する回路である、
請求項１乃至４のいずれか１項に記載の集積回路。
【請求項６】
１つの回路と、複数の回路ブロックと、前記１つの回路と前記複数の回路ブロックとを接続し前記１つの回路から前記複数の回路ブロックへ向けて並走する並走部分を有する複数の配線と、を含む集積回路のレイアウト設計方法において、
前記並走部分における隣り合う配線同士がいずれも異なる回路ブロックに接続されるように、前記１つの回路から並走する各配線の接続先となる回路ブロックをそれぞれ決定し、
各配線がそれぞれ決定された接続先の回路ブロックに接続されるように各配線の配置を決定する、
ことを含む、レイアウト設計方法。
【請求項７】
前記１つの回路から同じ回路ブロックに接続されている配線同士が、前記並走部分において隣り合わないように、各配線の配置を決定する、
請求項６に記載のレイアウト設計方法。
【請求項８】
前記１つの回路から並走する各配線と前記複数の回路ブロックとの接続関係を複数通り求め、
求めた複数通りの接続関係の中から、最大線間容量が最も小さいものを選択する、
ことを含む、請求項６又は７に記載のレイアウト設計方法。
【請求項９】
前記１つの回路から並走する各配線と前記複数の回路ブロックとの接続関係を複数通り求め、
求めた複数通りの接続関係の中から、最大線間容量が最も大きいものを候補から除外する、
ことを含む、請求項６又は７に記載のレイアウト設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、集積回路およびレイアウト設計方法に関する。
【背景技術】
【０００２】
集積回路において、ある回路（例えばロジック領域に相当する回路）と複数の回路ブロック（例えばメモリなどのマクロに相当する回路）とが複数の配線で接続されるものがある。
【０００３】
そのような集積回路のレイアウト設計においては、一般に、配線集中対策のため、初期配置の段階でガイドバッファを挿入するなどして、配線経路を分散させ、配線混雑を解消させている。
【０００４】
配線混雑は解消されるが、一般的なレイアウトでは多くの配線が並走するために大きな配線間容量が存在し、当該配線間容量の大きさに応じたクロストークノイズや信号伝達遅延が発生する。大きなクロストークノイズや信号伝達遅延は、集積回路の動作性能の低下の原因になり得る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３１１９１９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
配線間容量に起因するクロストークノイズ等を抑制し、動作性能を向上させる。
【課題を解決するための手段】
【０００７】
実施形態の集積回路は、１つの回路と、複数の回路ブロックと、前記１つの回路と前記複数の回路ブロックとを接続し、前記１つの回路から前記複数の回路ブロックへ向けて並走する並走部分を有する複数の配線とを備え、前記並走部分における隣り合う配線同士はいずれも異なる回路ブロックに接続されている。
【図面の簡単な説明】
【０００８】
【図１Ａ】一実施形態に係る集積回路において１つの回路（例えばロジック領域を有するロジック部に相当する回路）と複数の回路ブロック（例えばメモリなどのマクロに相当する回路）とを複数の配線で接続する配線レイアウトの例を示す図。
【図１Ｂ】一般的な技術による配線レイアウトの例を示す図。
【図２Ａ】同実施形態においてマクロの段数を２とした場合の配線レイアウトの具体例を示す図。
【図２Ｂ】一般的な技術においてマクロの段数を２とした場合の配線レイアウトの具体例を示す図。
【図２Ｃ】同実施形態における２種類の配線方式の例を示す表。
【図３Ａ】同実施形態においてマクロの段数を３とした場合の配線レイアウトの具体例を示す図。
【図３Ｂ】同実施形態においてマクロの段数を３とした場合の別の具体例を示す図。
【図３Ｃ】一般的な技術においてマクロの段数を３とした場合の配線レイアウトの具体例を示す図。
【図３Ｄ】同実施形態における６種類の配線方式の例を示す表。
【図４Ａ】同実施形態においてマクロの段数を４とした場合の配線レイアウトの具体例を示す図。
【図４Ｂ】一般的な技術においてマクロの段数を４とした場合の配線レイアウトの具体例を示す図。
【図５】同実施形態に係る集積回路の配線レイアウトを設計するレイアウト設計方法の一例を示すフローチャート。
【図６】クロストークノイズの計算方法を説明するためのモデルおよび計算式の例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照して実施の形態について説明する。
【００１０】
（基本構成）
最初に、図１Ａおよび図１Ｂを参照して、本実施形態による基本的な配線レイアウトの概要を一般的な技術と対比させながら説明する。なお、より具体的な例については後で述べる。
【００１１】
図１Ａは、本実施形態に係る集積回路において１つの回路（例えばロジック領域を有するロジック部に相当する回路）と複数の回路ブロック（例えばメモリなどのマクロに相当する回路）とを複数の配線で接続する配線レイアウトの例を示す図である。一方、図１Ｂは、一般的な技術による配線レイアウトの例を示す図である。
【００１２】
ここでは、１つのロジック部１０と複数のマクロＭ１，Ｍ２，Ｍ１１，Ｍ１２とを複数の８本の配線で接続する場合の例を挙げる。
【００１３】
図１Ａおよび図１Ｂに示されるように、それぞれの集積回路には、ロジック部１０と、複数のマクロＭ１，Ｍ２，Ｍ１１，Ｍ１２とが設けられる。複数のマクロＭ１，Ｍ２，Ｍ１１，Ｍ１２は、互いに離間して設けられ、ロジック部１０からも離れて設けられる。また、複数のマクロＭ１，Ｍ２，Ｍ１１，Ｍ１２は、Ｘ方向に複数段を成すと共に、Ｙ方向に複数列を成している。
【００１４】
ロジック部１０とマクロＭ１，Ｍ２，Ｍ１１，Ｍ１２とを接続する８本の配線は、ロジック部１０の端子１〜４，１１〜１４からＸ方向へ延出し、マクロＭ１，Ｍ２，Ｍ１１，Ｍ１２へ向けて並走する並走部分を有する。各マクロの端部に設けられる配線接続のための複数の端子は、ロジック部１０から個々の配線が並走する方向に沿って直線状に配列されている。ロジック部１０側からＸ方向に延出する８本の配線は、それぞれマクロＭ１上など又はＭ１１上などを並走し、途中でそれぞれ対応するマクロの端子が存在する位置に向かうようＹ方向（もしくはその逆方向）に向きを変え、対応するマクロの端子へと接続されている。
【００１５】
特に、図１Ａの例では、上記並走部分における隣り合う配線同士はいずれも異なる回路ブロックに接続されている。一方、図１Ｂの例では、そのような配線レイアウトにはなっていない。
【００１６】
より具体的には、図１Ａの例では、ロジック部１０の端子１１，１２から延出する２本の配線Ｌ１１，Ｌ１２は、それぞれ異なるマクロＭ１２，Ｍ１１に接続されている。また、ロジック部１０の端子１２，１３から延出する２本の配線Ｌ１２，Ｌ１３は、それぞれ異なるマクロＭ１１，Ｍ１２に接続されている。また、ロジック部１０の端子１３，１４から延出する２本の配線Ｌ１３，Ｌ１４は、それぞれ異なるマクロＭ１２，Ｍ１１に接続されている。端子１〜４から延出する複数の配線も同様のレイアウトとなっている。
【００１７】
これに対し、図１Ｂの例では、ロジック部１０の端子１１，１２から延出する２本の配線Ｌ１１，Ｌ１２は、同じマクロＭ１２に接続されている。また、ロジック部１０の端子１３，１４から延出する２本の配線Ｌ１３，Ｌ１４は、同じマクロＭ１１に接続されている。ロジック部１０の端子１２，１３から延出する２本の配線Ｌ１２，Ｌ１３だけが、それぞれ異なるマクロＭ１２，Ｍ１１に接続されている。ロジック部１０の端子１〜４から延出する複数の配線も同様のレイアウトとなっている。
【００１８】
別の見方をすれば、図１Ａの例では、ロジック部１０から同じ回路ブロックに接続されている配線同士は、上記並走部分において隣り合わないように離れて配置されているといえる。一方、図１Ｂの例では、そのような配線レイアウトにはなっていない。
【００１９】
より具体的には、図１Ａの例では、同じマクロＭ１２に接続されている配線Ｌ１１，Ｌ１３は、それぞれロジック部１０の端子１１，１３から延出する配線であり、上記並走部分において隣り合わないように離れて配置されている。また、同じマクロＭ１１に接続されている配線Ｌ１２，Ｌ１４は、それぞれロジック部１０の端子１２，１４から延出する配線であり、上記並走部分において隣り合わないように離れて配置されている。
【００２０】
これに対し、図１Ｂの例では、同じマクロＭ１２に接続されている配線Ｌ１１，Ｌ１２は、それぞれロジック部１０の端子１１，１２から延出する配線であり、上記並走部分において隣り合う配置となっている。また、同じマクロＭ１１に接続されている配線Ｌ１３，Ｌ１４は、それぞれロジック部１０の端子１３，１４から延出する配線であり、上記並走部分において隣り合う配置となっている。
【００２１】
（基本構成による作用効果）
このような構成において、隣り合う配線同士の配線間容量に着目する。配線間の幅が同じであれば、並走する距離が短い配線同士よりも、並走する距離が長い配線同士の方が、配線間容量は大きい。複数存在している隣り合う配線同士の中で、並走する距離が最も長い配線同士は、最も大きい配線間容量を有する。以下、この配線間容量を、「最大線間容量Ｃｘ」と称す。
【００２２】
この最大線間容量Ｃｘを有する配線部分は、特に大きなクロストークノイズや信号伝達遅延を生じさせる部分であり、タイミング収束の処理（タイミング制約を満たすための処理）などを困難にし、集積回路の動作性能に大きく影響すると考えられる。
【００２３】
図１Ａの例では、複数存在している隣り合う配線同士の中で、並走する距離が最も長いのは、配線Ｌ１１，Ｌ１２（および配線Ｌ３，Ｌ４）であり、その配線間容量が、最大線間容量Ｃｘに相当する。
【００２４】
これに対し、図１Ｂの例では、複数存在している隣り合う配線同士の中で、並走する距離が最も長いのは、配線Ｌ１１，Ｌ１２（および配線Ｌ３，Ｌ４）であり、その配線間容量が、最大線間容量Ｃｘに相当する。
【００２５】
なお、図１Ａの例では、並走する距離が長い配線Ｌ１１，Ｌ１３が見受けられるが、配線Ｌ１１，Ｌ１３はロジック部１０から延出する並走部分において隣り合わないように離れて配置されたものであり、その配線間の幅は、配線Ｌ１１，Ｌ１２間の幅の２倍となることから、その配線間容量Ｃｘ10は、図１Ｂの例における配線Ｌ１１，Ｌ１２の配線間容量Ｃｘと比べるとかなり小さくなる。
【００２６】
図１Ａの例は、図１Ｂの例に比べ、隣り合う配線Ｌ１１，Ｌ１２（および配線Ｌ３，Ｌ４）のロジック部１０から並走する距離が短いため、最大線間容量Ｃｘが小さく、そのクロストークノイズや信号伝達遅延が小さくなる。従って、図１Ａの例のように配線レイアウトを設計することにより、集積回路の動作性能を向上させることが可能となる。
【００２７】
以下、いくつかの具体的な例を挙げて詳細に説明する。
【００２８】
（具体例１の構成）
図２Ａ、図２Ｂ、および図２Ｃを参照して、マクロの段数が２の場合の配線レイアウトの具体例を説明する。本例では、配線数が６（各マクロにつき、配線数が３）である場合を例示する。
【００２９】
図２Ａは、本実施形態においてマクロの段数を２とした場合の配線レイアウトの具体例を示す図である。一方、図２Ｂは、一般的な技術においてマクロの段数を２とした場合の配線レイアウトの具体例を示す図である。
【００３０】
図２Ａおよび図２Ｂに示されるように、それぞれの集積回路には、ロジック部１０と、複数のマクロＭ１，Ｍ２とが設けられる。
【００３１】
ロジック部１０とマクロＭ１，Ｍ２とを接続する６本の配線は、ロジック部１０の端子１〜６から延出してマクロＭ１，Ｍ２へ向けて並走する並走部分を有する。各マクロの端部に設けられる配線接続のための複数の端子は、ロジック部１０から個々の配線が並走する方向に沿って直線状に配列されている。ロジック部１０側から延出する６本の配線は、それぞれマクロＭ１上などを並走し、途中でそれぞれ対応するマクロの端子が存在する位置に向かうように向きを変え、対応するマクロの端子へと接続されている。
【００３２】
図２Ａの例では、上記並走部分における隣り合う配線同士はいずれも異なる回路ブロックに接続されている。一方、図２Ｂの例では、そのような配線レイアウトにはなっていない。別の見方をすれば、図２Ａの例では、ロジック部１０から同じ回路ブロックに接続されている配線同士は、上記並走部分において隣り合わないように離れて配置されているといえる。一方、図２Ｂの例では、そのような配線レイアウトにはなっていない。
【００３３】
（具体例１の配線方式）
マクロの段数が２、配線数が６（各マクロにつき、配線数が３）である場合、図２Ａの例に限らず、図２Ａの例を含めて２種類の配線方式の例が挙げられる。２種類の配線方式の例を図２Ｃの表に示す。
【００３４】
ここでは、ロジック部１０の端子１，２，３，４，５，６の順に、個々の配線を順番に敷設していく場合を考える。この場合、各マクロの３つの端子に対しては、例えばロジック部１０に近い側の端子から順に配線を接続していくものとする。
【００３５】
・配線方式Ｎｏ．１
配線方式Ｎｏ．１は、ロジック部１０の端子１，２，３，４，５，６の接続先を、それぞれ、マクロＭ１，Ｍ２／Ｍ１，Ｍ２／Ｍ１，Ｍ２とする例である。なお、「／」は、「Ｍ１，Ｍ２」が３連続していることを理解しやすくするために区切りとして記したものである。以下に示す「／」についても同様である。
【００３６】
・配線方式Ｎｏ．２
配線方式Ｎｏ．２は、ロジック部１０の端子１，２，３，４，５，６の接続先を、それぞれ、マクロＭ２，Ｍ１／Ｍ２，Ｍ１／Ｍ２，Ｍ１とする例である。この配線方式Ｎｏ．２は、図２Ａの例に相当するものである。
【００３７】
すなわち、図２Ｃに示される各種の配線方式には、「Ｍ１，Ｍ１」や「Ｍ１／Ｍ１」のようにＭ１が連続する部分が無く、かつ、「Ｍ２，Ｍ２」や「Ｍ２／Ｍ２」のようにＭ２が連続する部分が無いものとなっている。これにより、上記並走部分における隣り合う配線同士は、いずれも異なる回路ブロックに接続されることになる。また、ロジック部１０から同じ回路ブロックに接続されている配線同士は、上記並走部分において隣り合わないように離れて配置されることになる。
【００３８】
図２Ｃに示される各種の配線方式のいずれを採用してもよいが、集積回路の動作性能をより一層高めるため、各種の配線方式の中から、最大線間容量Ｃｘが最も大きいものを候補から除外したり、各種の配線方式のうちの、最大線間容量Ｃｘが最も小さいものを採用したりしてもよい。
【００３９】
（具体例１による作用効果）
図２Ａの例では、複数存在している隣り合う配線同士の中で、並走する距離が最も長いのは、ロジック部１０の端子５，６から延出する配線または端子４，５から延出する配線であり、その配線間容量が、最大線間容量Ｃｘに相当する。
【００４０】
これに対し、図２Ｂの例では、複数存在している隣り合う配線同士の中で、並走する距離が最も長いのは、ロジック部１０の端子５，６から延出する配線であり、その配線間容量が、最大線間容量Ｃｘに相当する。
【００４１】
図２Ａの例では、ロジック部１０の端子５，６から延出する２本の配線が概ね「１マクロ分」を並走する一方で、図２Ｂの例では、ロジック部１０の端子５，６から延出する２本の配線が概ね「２マクロ分」を並走すると見積もることができる。
【００４２】
図２Ａの例は、図２Ｂの例に比べ、最大線間容量Ｃｘが約２分の１になるため、その分、クロストークノイズや信号伝達遅延が小さくなる。従って、マクロの段数が２、配線数が６（各マクロにつき、配線数が３）である場合、図２Ａの例のように配線レイアウトを設計することにより、集積回路の動作性能を向上させることが可能となる。このことは、図１Ａの例に限らず、図２Ｃで挙げた各種の方式にほぼ共通していえることである。
【００４３】
（具体例２の構成）
図３Ａ、図３Ｂ、図３、および図３Ｄを参照して、マクロの段数が３の場合の配線レイアウトの具体例を説明する。本例では、配線数が９（各マクロにつき、配線数が３）である場合を例示する。
【００４４】
図３Ａは、本実施形態においてマクロの段数を３とした場合の配線レイアウトの具体例を示す図である。図３Ｂは、本実施形態においてマクロの段数を３とした場合の別の具体例を示す図である。一方、図３Ｃは、一般的な技術においてマクロの段数を３とした場合の配線レイアウトの具体例を示す図である。
【００４５】
図３Ａ、図３Ｂ、および図３Ｃに示されるように、それぞれの集積回路には、ロジック部１０と、複数のマクロＭ１，Ｍ２，Ｍ３とが設けられる。
【００４６】
ロジック部１０とマクロＭ１，Ｍ２，Ｍ３とを接続する９本の配線は、ロジック部１０の端子１〜９から延出してマクロＭ１，Ｍ２，Ｍ３へ向けて並走する並走部分を有する。各マクロの端部に設けられる配線接続のための複数の端子は、ロジック部１０から個々の配線が並走する方向に沿って直線状に配列されている。ロジック部１０側から延出する９本の配線は、それぞれマクロＭ１上などを並走し、途中でそれぞれ対応するマクロの端子が存在する位置に向かうように向きを変え、対応するマクロの端子へと接続されている。
【００４７】
図３Ａおよび図３Ｂの例では、上記並走部分における隣り合う配線同士はいずれも異なる回路ブロックに接続されている。一方、図３Ｃの例では、そのような配線レイアウトにはなっていない。別の見方をすれば、図３Ａおよび図３Ｂの例では、ロジック部１０から同じ回路ブロックに接続されている配線同士は、上記並走部分において隣り合わないように離れて配置されているといえる。一方、図３Ｃの例では、そのような配線レイアウトにはなっていない。
【００４８】
（具体例２の配線方式）
マクロの段数が３、配線数が９（各マクロにつき、配線数が３）である場合、図３Ａおよび図３Ｂの例に限らず、これらの例を含めて６（＝３の階乗）種類の配線方式の例が挙げられる。６種類の配線方式の例を図３Ｄの表に示す。
【００４９】
ここでは、ロジック部１０の端子１，２，３，４，５，６，７，８，９の順に、個々の配線を順番に敷設していく場合を考える。この場合、各マクロの３つの端子に対しては、例えばロジック部１０に近い側の端子から順に配線を接続していくものとする。
【００５０】
・配線方式Ｎｏ．１
配線方式Ｎｏ．１は、ロジック部１０の端子１，２，３，４，５，６，７，８，９の接続先を、それぞれ、マクロＭ１，Ｍ２，Ｍ３／Ｍ１，Ｍ２，Ｍ３／Ｍ１，Ｍ２，Ｍ３とする例である。なお、「／」は、「Ｍ１，Ｍ２」が３連続していることを理解しやすくするために区切りとして記したものである。以下に示す「／」についても同様である。この配線方式Ｎｏ．１は、図３Ａの例に相当するものである。
【００５１】
・配線方式Ｎｏ．２
配線方式Ｎｏ．２は、ロジック部１０の端子１，２，３，４，５，６，７，８，９の接続先を、それぞれ、マクロＭ１，Ｍ３，Ｍ２／Ｍ１，Ｍ３，Ｍ２／Ｍ１，Ｍ３，Ｍ２とする例である。
【００５２】
・配線方式Ｎｏ．３
配線方式Ｎｏ．３は、ロジック部１０の端子１，２，３，４，５，６，７，８，９の接続先を、それぞれ、マクロＭ２，Ｍ１，Ｍ３／Ｍ２，Ｍ１，Ｍ３／Ｍ２，Ｍ１，Ｍ３とする例である。この配線方式Ｎｏ．３は、図３Ｂの例に相当するものである。
【００５３】
・配線方式Ｎｏ．４
配線方式Ｎｏ．４は、ロジック部１０の端子１，２，３，４，５，６，７，８，９の接続先を、それぞれ、マクロＭ２，Ｍ３，Ｍ１／Ｍ２，Ｍ３，Ｍ１／Ｍ２，Ｍ３，Ｍ１とする例である。
【００５４】
・配線方式Ｎｏ．５
配線方式Ｎｏ．５は、ロジック部１０の端子１，２，３，４，５，６，７，８，９の接続先を、それぞれ、マクロＭ３，Ｍ１，Ｍ２／Ｍ３，Ｍ１，Ｍ２／Ｍ３，Ｍ１，Ｍ２とする例である。
【００５５】
・配線方式Ｎｏ．６
配線方式Ｎｏ．６は、ロジック部１０の端子１，２，３，４，５，６，７，８，９の接続先を、それぞれ、マクロＭ３，Ｍ２，Ｍ１／Ｍ３，Ｍ２，Ｍ１／Ｍ３，Ｍ２，Ｍ１とする例である。
【００５６】
すなわち、図３Ｄに示される各種の配線方式には、「Ｍ１，Ｍ１」や「Ｍ１／Ｍ１」のようにＭ１が連続する部分が無く、「Ｍ２，Ｍ２」や「Ｍ２／Ｍ２」のようにＭ２が連続する部分が無く、かつ、「Ｍ３，Ｍ３」や「Ｍ３／Ｍ３」のようにＭ３が連続する部分が無いものとなっている。これにより、上記並走部分における隣り合う配線同士は、いずれも異なる回路ブロックに接続されることになる。また、ロジック部１０から同じ回路ブロックに接続されている配線同士は、上記並走部分において隣り合わないように離れて配置されることになる。
【００５７】
図３Ｄに示される各種の配線方式のいずれを採用してもよいが、集積回路の動作性能をより一層高めるため、各種の配線方式の中から、最大線間容量Ｃｘが最も大きいものを候補から除外したり、各種の配線方式のうちの、最大線間容量Ｃｘが最も小さいものを採用したりしてもよい。
【００５８】
（具体例２による作用効果）
図３Ａの例では、複数存在している隣り合う配線同士の中で、並走する距離が最も長いのは、ロジック部１０の端子８，９から延出する配線であり、その配線間容量が、最大線間容量Ｃｘに相当する。また、図３Ｂの例では、複数存在している隣り合う配線同士の中で、並走する距離が最も長いのは、ロジック部１０の端子６，７から延出する配線であり、その配線間容量が、最大線間容量Ｃｘに相当する。
【００５９】
これに対し、図３Ｃの例では、複数存在している隣り合う配線同士の中で、並走する距離が最も長いのは、ロジック部１０の端子８，９から延出する配線であり、その配線間容量が、最大線間容量Ｃｘに相当する。
【００６０】
図３Ａの例では、ロジック部１０の端子８，９から延出する２本の配線が概ね「２マクロ分」を並走し、また、図３Ｂの例では、ロジック部１０の端子６，７から延出する２本の配線が概ね「２マクロ分」を並走する一方で、図３Ｃの例では、ロジック部１０の端子８，９から延出する２本の配線が概ね「３マクロ分」を並走すると見積もることができる。
【００６１】
図３Ａおよび図３Ｂの例は、図３Ｃの例に比べ、最大線間容量Ｃｘが約３分の２になるため、その分、クロストークノイズや信号伝達遅延が小さくなる。従って、マクロの段数が３、配線数が９（各マクロにつき、配線数が３）である場合、図３Ａや図３Ｂの例のように配線レイアウトを設計することにより、集積回路の動作性能を向上させることが可能となる。このことは、図３Ａや図３Ｂの例に限らず、図３Ｄで挙げた各種の方式にほぼ共通していえることである。
【００６２】
（具体例３の構成）
図４Ａおよび図４Ｂを参照して、マクロの段数が４の場合の配線レイアウトの具体例を説明する。本例では、配線数が１２（各マクロにつき、配線数が３）である場合を例示する。
【００６３】
図４Ａは、本実施形態においてマクロの段数を４とした場合の配線レイアウトの具体例を示す図である。一方、図４Ｂは、一般的な技術においてマクロの段数を４とした場合の配線レイアウトの具体例を示す図である。
【００６４】
図４Ａおよび図４Ｂに示されるように、それぞれの集積回路には、ロジック部１０と、複数のマクロＭ１，Ｍ２，Ｍ３，Ｍ４とが設けられる。
【００６５】
ロジック部１０とマクロＭ１，Ｍ２，Ｍ３，Ｍ４とを接続する９本の配線は、ロジック部１０の端子１〜１２から延出してマクロＭ１，Ｍ２，Ｍ３，Ｍ４へ向けて並走する並走部分を有する。各マクロの端部に設けられる配線接続のための複数の端子は、ロジック部１０から個々の配線が並走する方向に沿って直線状に配列されている。ロジック部１０側から延出する１２本の配線は、それぞれマクロＭ１上などを並走し、途中でそれぞれ対応するマクロの端子が存在する位置に向かうように向きを変え、対応するマクロの端子へと接続されている。
【００６６】
図４Ａの例では、上記並走部分における隣り合う配線同士はいずれも異なる回路ブロックに接続されている。一方、図４Ｂの例では、そのような配線レイアウトにはなっていない。別の見方をすれば、図４Ａの例では、ロジック部１０から同じ回路ブロックに接続されている配線同士は、上記並走部分において隣り合わないように離れて配置されているといえる。一方、図４Ｂの例では、そのような配線レイアウトにはなっていない。
【００６７】
（具体例３の配線方式）
マクロの段数が４、配線数が１２（各マクロにつき、配線数が３）である場合、図４Ａの例に限らず、これらの例を含めて２４（＝４の階乗）種類の配線方式の例が挙げられる。なお、本例では、表の図示を省略する。
【００６８】
ここでは、ロジック部１０の端子１，２，３，４，５，６，７，８，９，１０，１１，１２の順に、個々の配線を順番に敷設していく場合を考える。この場合、各マクロの３つの端子に対しては、例えばロジック部１０に近い側の端子から順に配線を接続していくものとする。
【００６９】
２４種類の配線方式としては、ロジック部１０の端子１，２，３，４，・・・の接続先を、それぞれ、「Ｍ１，Ｍ２，Ｍ３，Ｍ４／・・・」とする例、「Ｍ１，Ｍ２，Ｍ４，Ｍ３／・・・」とする例、「Ｍ１，Ｍ３，Ｍ２，Ｍ４／・・・」とする例、「Ｍ１，Ｍ３，Ｍ４，Ｍ２／・・・」とする例、「Ｍ１，Ｍ４，Ｍ２，Ｍ３／・・・」とする例、「Ｍ１，Ｍ４，Ｍ３，Ｍ２／・・・」とする例、「Ｍ２，Ｍ１，Ｍ３，Ｍ４／・・・」とする例、「Ｍ２，Ｍ１，Ｍ４，Ｍ３／・・・」とする例、「Ｍ２，Ｍ３，Ｍ１，Ｍ４／・・・」とする例、「Ｍ２，Ｍ３，Ｍ４，Ｍ１／・・・」とする例、「Ｍ２，Ｍ４，Ｍ１，Ｍ３／・・・」とする例、「Ｍ２，Ｍ４，Ｍ３，Ｍ１／・・・」とする例、「Ｍ３，Ｍ１，Ｍ２，Ｍ３／・・・」とする例、「Ｍ３，Ｍ１，Ｍ３，Ｍ２／・・・」とする例、「Ｍ３，Ｍ２，Ｍ１，Ｍ４／・・・」とする例、「Ｍ３，Ｍ２，Ｍ４，Ｍ１／・・・」とする例、「Ｍ３，Ｍ４，Ｍ１，Ｍ２／・・・」とする例、「Ｍ３，Ｍ４，Ｍ２，Ｍ１／・・・」とする例、Ｍ４，Ｍ１，Ｍ２，Ｍ３／・・・」とする例、Ｍ４，Ｍ１，Ｍ３，Ｍ２／・・・」とする例、Ｍ４，Ｍ２，Ｍ１，Ｍ３／・・・」とする例、Ｍ４，Ｍ２，Ｍ３，Ｍ１／・・・」とする例、Ｍ４，Ｍ３，Ｍ１，Ｍ２／・・・」とする例、Ｍ４，Ｍ３，Ｍ２，Ｍ１／・・・」とする例、が挙げられる。
【００７０】
これら２４種類の配線方式のうち、「Ｍ２，Ｍ３，Ｍ１，Ｍ４／・・・」とする例は、図４Ａの例に相当するものである。
【００７１】
本例による各種の配線方式には、「Ｍ１，Ｍ１」や「Ｍ１／Ｍ１」のようにＭ１が連続する部分が無く、「Ｍ２，Ｍ２」や「Ｍ２／Ｍ２」のようにＭ２が連続する部分が無く、「Ｍ３，Ｍ３」や「Ｍ３／Ｍ３」のようにＭ３が連続する部分が無く、かつ、「Ｍ４，Ｍ４」や「Ｍ４／Ｍ４」のようにＭ４が連続する部分が無い。これにより、上記並走部分における隣り合う配線同士は、いずれも異なる回路ブロックに接続されることになる。また、ロジック部１０から同じ回路ブロックに接続されている配線同士は、上記並走部分において隣り合わないように離れて配置されることになる。
【００７２】
本例による各種の配線方式のいずれを採用してもよいが、集積回路の動作性能をより一層高めるため、各種の配線方式の中から、最大線間容量Ｃｘが最も大きいものを候補から除外したり、各種の配線方式のうちの、最大線間容量Ｃｘが最も小さいものを採用したりしてもよい。
【００７３】
（具体例３による作用効果）
図４Ａの例では、複数存在している隣り合う配線同士の中で、並走する距離が最も長いのは、ロジック部１０の端子９，１０から延出する配線または端子８，９から延出する配線であり、その配線間容量が、最大線間容量Ｃｘに相当する。
【００７４】
これに対し、図４Ｂの例では、複数存在している隣り合う配線同士の中で、並走する距離が最も長いのは、ロジック部１０の端子１１，１２から延出する配線であり、その配線間容量が、最大線間容量Ｃｘに相当する。
【００７５】
図４Ａの例では、ロジック部１０の端子９，１０から延出する２本の配線が概ね「２マクロ分」を並走する一方で、図４Ｂの例では、ロジック部１０の端子１１，１２から延出する２本の配線が概ね「４マクロ分」を並走すると見積もることができる。
【００７６】
図４Ａの例は、図４Ｂの例に比べ、最大線間容量Ｃｘが約２分の１になるため、その分、クロストークノイズや信号伝達遅延が小さくなる。従って、マクロの段数が４、配線数が１２（各マクロにつき、配線数が３）である場合、図４Ａの例のように配線レイアウトを設計することにより、集積回路の動作性能を向上させることが可能となる。このことは、図４Ａの例に限らず、上述した２４種類の各種の方式にほぼ共通していえることである。
【００７７】
（レイアウト設計方法）
次に、図５を参照して、本実施形態に係る集積回路の配線レイアウトを設計するレイアウト設計方法の一例について説明する。
【００７８】
ここで説明する配線レイアウトの設計は、コンピュータにより実施することができ、それぞれの手順は、コンピュータに実行させるためのプログラムとして実現することができる。
【００７９】
最初に、集積回路に配置されるマクロＭ１，・・・の段数、列数、全配線数、マクロ毎の配線数などの情報がコンピュータに入力される（ステップＳ１）。
【００８０】
なお、ここでは説明の簡単化のため、マクロＭ１，・・・の列の数は１であるものとする。
【００８１】
次に、入力した情報をもとに、ロジック部１０の端子１，２，３，・・・の接続先の順決めが行われる（ステップＳ２）。
【００８２】
例えば、マクロＭ１，・・・の段数が３、全配線数が９、マクロ毎の配線数が３であるような場合は、前述の図３Ｃに示したような６通りの配線方式の接続順序が候補として決定され、さらに、それぞれの接続順序に基づく配線のレイアウトが決定される。
【００８３】
ここでは上述した並走部分における隣り合う配線同士がいずれも異なる回路ブロックに接続されるように、ロジック部１０から並走する各配線の接続先となる回路ブロックがそれぞれ決定され、さらに、各配線がそれぞれ決定された接続先の回路ブロックに接続されるように各配線のレイアウトが決定される。
【００８４】
これらの決定された情報は所定の記憶領域に記憶される。
【００８５】
次に、配線方式毎に、最大線間容量Ｃｘ（及びそのクロストークノイズ）の計算、記憶を行う処理が実施される（ステップＳ３〜Ｓ６）。
【００８６】
例えば、配線方式の番号を表すカウント値ｉをカウンタに保持し、最初は初期値としてｉ＝０とし（ステップＳ３）、順次１を加算することで、配線方式毎の最大線間容量Ｃｘを計算し、必要であれば更にクロストークノイズを計算し、計算結果を所定の記憶領域に記憶させ（ステップＳ４，Ｓ５）、同処理をカウント値ｉがｉ＝ｎになるまで繰り返す（ステップＳ６）。
【００８７】
配線方式毎に、最大線間容量Ｃｘなどが計算された後、それぞれの計算結果が比較され（ステップＳ７）、各種の配線方式のうち、最大線間容量Ｃｘもしくはそのクロストークノイズが最も小さいもの（ベストなもの）が採用される（ステップＳ８）。もしくは、最大線間容量Ｃｘもしくはそのクロストークノイズが最も大きいもの（ワーストなもの）は候補から除外される。
【００８８】
このようにして、適切な配線方式の接続順序および配線レイアウトが決定される。
【００８９】
（クロストークノイズの計算方法）
次に、図６を参照して、クロストークノイズの計算方法の一例について説明する。
【００９０】
図６（ａ）は、クロストークノイズの計算に使用される各種パラメータを含むモデルの一例を示す図である。図６（ｂ）は、図６（ａ）に示されるモデルに基づいてクロストークノイズを求める計算式の一例を示す図である。なお、ここでは最大線間容量Ｃｘを「線間容量Ｃｘ」と称して説明する。
【００９１】
図６（ａ）に示されるモデルにおいて、隣り合う２本の配線Ｌａ，Ｌｗのうち、配線Ｌａは、クロストークの影響を与える側のアグレッサ（Aggressor）に相当し、配線Ｌｗは、クロストークの影響を受ける側のビクティム（Victim）に相当するものとする。
【００９２】
配線Ｌａ，Ｌｗの線間容量はＣｘである。ここで、配線Ｌａ側のドライバＤａの等価抵抗をＲａとし、配線Ｌｗ側のドライバＤｖの等価抵抗をＲｖとする。また、配線Ｌａと別の配線等との間の線間容量をＣａとし、配線Ｌｗと別の配線等との間の線間容量をＣｖとする。
【００９３】
このようなモデルにおいて、アグレッサである配線ＬａのドライバＤａに対し、０ｖからＶｄｄへ変わるステップ入力が印加されるものとする。この場合、ビクティムである配線Ｌｗに現れるクロストークノイズＮは、図６（ｂ）に示される式で得られる。
【００９４】
（クロストークノイズの低減効果）
図６で説明したモデルおよび数式を用いて、本実施形態によるクロストークノイズの低減効果について説明する。
【００９５】
ここでは、前述した構成の例（例えば、図２Ａの例や図４Ａの例など）により、アグレッサである配線Ｌａとビクティムである配線Ｌｗとの最大線間容量Ｃｘが、一般的な技術の場合に比べて約２分の１になった場合の、クロストークノイズの低減量について検証する。
【００９６】
そこで、一般的な技術による線間容量Ｃｘが「ｃ」、本実施形態による線間容量Ｃｘが「0.5ｃ」であるものとして、それぞれのクロストークノイズを求める。
【００９７】
線間容量Ｃｘが「ｃ」である場合のクロストークノイズをＮ１とし、線間容量Ｃｘが「0.5ｃ」である場合のクロストークノイズをＮ２とする。
【００９８】
クロストークノイズＮ１およびＮ２の演算には、前述の図６（ｂ）に示したクロストークノイズＮの式を用いるが、演算の簡単化のため、ここでは以下のように定義する。
【００９９】
Ｒａ／Ｒｖ＝Ｒ
Ｃａ＝Ｃｖ＝ｃ
このように定義すると、クロストークノイズをＮ１，Ｎ２は、それぞれ次のように求められる。
【０１００】
Ｎ１＝Ｖｄｄ・ｃ／（2ｃ＋Ｒ・2ｃ）＝Ｖｄｄ／（2＋2Ｒ）
Ｎ２＝Ｖｄｄ・0.5ｃ／（1.5ｃ＋Ｒ・1.5）＝Ｖｄｄ／（3＋3Ｒ）
これにより、クロストークノイズＮ２は、クロストークノイズＮ１の「３分の２」（約0.67倍）となり、大きなクロストークノイズ低減効果があることが確認できた。
【０１０１】
なお、ここでは信号伝達遅延の抑制効果については詳述しないが、線間容量Ｃｘが例えば２分の１になれば、その分、信号伝達遅延が小さくなることは明らかである。
【０１０２】
このように本実施形態によれば、少なくとも最大線間容量を一般的な技術に比べてより小さくすることができ、そのクロストークノイズや信号伝達遅延を小さくすることができる。これにより、集積回路の動作性能を向上させることができる。
【０１０３】
なお、前述した実施形態では、いずれの例においても各マクロの端子数が同じである場合を示したが、マクロの端子数が異なるマクロが含まれていてもよい。その場合も、各マクロの端子数が同じ場合と同様、前述した構成上の条件を満たす配線レイアウトにすればよい。もし、当該条件を満たすようにすることができず、例えば同じマクロに接続されている配線同士が並走部分において隣り合う部分の出現が避けられないような場合は、その隣り合う配線同士の最大線間容量が最も小さくなる配線レイアウトにすることが望ましい。
【０１０４】
以上詳述したように実施形態によれば、配線間容量に起因するクロストークノイズ等を抑制し、動作性能を向上させることが可能になる。
【０１０５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０６】
１０…ロジック部、Ｍ１，Ｍ２，Ｍ３，Ｍ４，Ｍ１１，Ｍ１２…マクロ。
【図１Ａ】
2020046877.tif 000003
【図１Ｂ】
2020046877.tif 000004
【図２Ａ】
2020046877.tif 000005
【図２Ｂ】
2020046877.tif 000006
【図２Ｃ】
2020046877.tif 000007
【図３Ａ】
2020046877.tif 000008
【図３Ｂ】
2020046877.tif 000009
【図３Ｃ】
2020046877.tif 000010
【図３Ｄ】
2020046877.tif 000011
【図４Ａ】
2020046877.tif 000012
【図４Ｂ】
2020046877.tif 000013
【図５】
2020046877.tif 000014
【図６】
2020046877.tif 000015