(57)【要約】【課題】回路変更後の配線パターンを考慮しつつ回路変更時の改版層数を減らし、回路変更のコストを削減するようにした半導体集積回路の設計方法及び設計装置を提供することを目的とする。【解決手段】上記課題は、半導体集積回路の設計を行う設計装置による設計方法であって、前記設計装置が、ネットリストから複数の配線層にまたがって接続されるセル間の接続情報を抽出する抽出手順と、前記セルの配置データと前記セル間の配線の形状を示す配線形状データとを含む物理データを読み込む読込手順と、前記複数の配線層のうち、最下層の配線層の前記接続情報と前記物理データとに基づき追加セルの配置位置を決定する決定手順と、を実行する設計方法により達成される。【選択図】図６
2010061514.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の設計を行う設計装置による設計方法であって、
前記設計装置が、
ネットリストから複数の配線層にまたがって接続されるセル間の接続情報を抽出する抽出手順と、
前記セルの配置データと前記セル間の配線の形状を示す配線形状データとを含む物理データを読み込む読込手順と、
前記複数の配線層のうち、最下層の配線層の前記接続情報と前記物理データとに基づき追加セルの配置位置を決定する決定手順と、
を実行することを特徴とする半導体集積回路の設計方法。
【請求項２】
前記決定手順は、
前記複数の配線層のうち、前記最下層の配線層から順に、上層へ向かう各配線層毎の前記接続情報と前記物理データとに基づき前記追加セルの配置位置を決定することを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項３】
前記接続情報と前記物理データとに基づき前記追加セルを配置可能な領域を特定する特定手順と、
前記特定手順により特定された前記領域内の配線の混雑度を算出する混雑度算出手順と、を実行し、
前記決定手順は、算出された前記混雑度に基づき前記追加セルの配置位置を決定することを特徴とする請求項１又は２記載の半導体集積回路の設計方法。
【請求項４】
前記最下層の配線層は、前記半導体集積回路の有するバルク層から最も近い配線層であることを特徴とする請求項１乃至３の何れか一項に記載の半導体集積回路の設計方法。
【請求項５】
半導体集積回路の設計を行う設計装置であって、
ネットリストから複数の配線層にまたがって接続されるセル間の接続情報を抽出する抽出手段と、
前記セルの配置データと前記セル間の配線の形状を示す配線形状データとを含む物理データを読み込む読込手段と、
前記複数の配線層のうち、最下層の配線層の前記接続情報と前記物理データとに基づき追加セルの配置位置を決定する決定手段と、
を有することを特徴とする半導体集積回路の設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計を行う半導体集積回路の設計方法及び設計装置に関する。
【背景技術】
【０００２】
半導体集積回路の配線や動作等に不具合が生じた場合、回路の変更を行うことがある。近年の半導体集積回路では、回路変更を容易にするために、半導体集積回路の配線層のみで論理を作ることができるように追加セルが配置されている。回路の変更を行う際には、この追加セルに対して配線接続を行って回路のレイアウトを変更することで、配線層のマスクのみで回路を変更できるようになった。
【０００３】
また、回路修正時のマスク修正層数を減らし、回路修正のコストを削減することができるレイアウト設計方法がある。さらに、ネットリストにおいて、接続が変更されたネットや追加されたセルの存在により出力されるネットエラーの配線が存在するマスク層を改版対象層に設定し、少ないマスクの改版で回路の修正を行う等が提案されている。
【特許文献１】特開２００３−６００３８号公報
【特許文献２】特開２００７−２７２６８６号公報
【特許文献３】特開２００２−２９７６８３号公報
【特許文献４】特開２００４−１５３０１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したような従来の技術では、回路変更後の配線パターンが考慮されないまま追加セルの配置位置が決定される。
【０００５】
このため追加セルが必要以上に離れたところに配置され、追加セルと配線パターンとを接続するための配線が長くなり、配線エラー等が発生する場合がある。また追加セルが配線パターンの混雑度が高い位置に配置され、配線エラー等が発生する場合がある。
【０００６】
よって本発明の目的は、回路変更後の配線パターンを考慮しつつ回路変更時の改版層数を減らし、回路変更のコストを削減するようにした半導体集積回路の設計方法及び設計装置を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、半導体集積回路の設計方法は、半導体集積回路の設計を行う設計装置による設計方法であって、前記設計装置が、ネットリストから複数の配線層にまたがって接続されるセル間の接続情報を抽出する抽出手順と、前記セルの配置データと前記セル間の配線の形状を示す配線形状データとを含む物理データを読み込む読込手順と、前記複数の配線層のうち、最下層の配線層の前記接続情報と前記物理データとに基づき追加セルの配置位置を決定する決定手順と、を実行する構成とする。
【０００８】
上記手順を機能としてコンピュータに実行させるためのプログラム、そのプログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【０００９】
追加セルによる回路変更後の配線パターンを考慮しつつ回路変更時の改版層数を減らし、且つ回路変更のコストを削減することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態を図面に基づいて説明する。
【００１１】
本実施形態では、予め設けられた追加セルを用いて回路変更を行う際に、ネットリストからセル間の接続情報を取得し、この接続情報と、接続情報に対応した物理データから複数の配線層のうち最下層の配線層の接続情報と物理データとに基づき追加セルの配置位置を決定する。
【００１２】
図１は、本実施形態に係る設計装置の機能構成例を示す図である。図１において、設計装置１００は、配線制御部１１１と、ネットリスト読込部１１２と、改版層決定部１１３と、削除対象特定部１１４と、配線距離算出部１１５と、配置領域特定部１１６と、混雑度取得部１１７と、配置位置決定部１１８と、配線部１１９と、配線データベース１３０と、変更データベース１５０と、を有する。
【００１３】
始めに、配線データベース１３０と変更データベース１５０について説明する。
【００１４】
配線データベース１３０には、既に設計済みの半導体集積回路のネットリスト１３１と、物理データ１３２とが記憶されている。
【００１５】
ネットリスト１３１は、半導体集積回路の有する電子回路の端子間の接続情報のデータである。物理データ１３２は、レイアウトデータ１３３と、配線形状データ１３４とを含むデータである。
【００１６】
レイアウトデータ１３３は、配置されている全てのセル名と、セルの配置を示す位置データとを含む。セルとは、単純なＡＮＤ回路といったものから、複雑なマイクロプロセッサユニットなどのコアセルまでを含む。
【００１７】
配線形状データ１３４は、セル間を接続する配線の形状等を示すデータである。配線形状データ１３４は、例えば何層目の配線であるかを示す層データ、配線の太さ、長さ等の配線の特性を示すデータ等が含まれる。
【００１８】
変更データベース１５０には、変更済ネットリスト１５１と、改版層設定データ１５２と、が記憶されている。変更済ネットリスト１５１は、設計済みの半導体集積回路の有する電子回路が変更された際の変更後のネットリストであり、ネットリスト１３１に変更が加えられたものである。本実施形態の変更済ネットリスト１５１は、回路変更に伴い設計装置１００により作成されて変更データベース１５０へ記憶されても良い。また本実施形態の変更済ネットリスト１５１は、本実施形態の設計装置１００以外の装置で予め作成されたものであっても良い。
【００１９】
改版層設定データ１５２は、改版層の設定値を示すデータである。改版層とは、半導体集積回路の有する複数の配線層において、配線が変更される層を示す。本実施形態の改版層設定データ１５２は、設計装置１００のユーザにより設定された値であっても良いし、設計装置１００に予め設定された値であっても良い。本実施形態の改版層設定データ１５２は、複数の配線層のうち最下層を示す設定値であることが好ましい。配線層の最下層とは、例えば半導体集積回路の有するバルク層に最も近い配線層である。
【００２０】
次に本実施形態の設計装置１００の有する各部について説明する。
【００２１】
配線制御部１１１は、設計装置１００による自動配線の実行を制御する。ネットリスト読込部１１２は、配線データベース１３０に記憶されたネットリスト１３１、変更データベース１５０に記憶された変更済ネットリスト１５１を読み込む。またネットリスト読込部１１２は、配線データベース１３０に記憶された物理データ１３２を読み込む。
【００２２】
改版層決定部１１３は、変更データベース１５０に記憶された改版層設定データ１５２に基づき、半導体集積回路の有する複数の配線層から改版層を決定する。
【００２３】
削除対象特定部１１４は、ネットリスト読込部１１２により読み込まれた物理データ１３２と、変更済ネットリスト１５１とに基づき、改版層に追加セルを配置する際に削除される物理データ１３２ａを特定する。物理データ１３２ａは、物理データ１３２に含まれるデータである。物理データ１３２ａの詳細は後述する。
【００２４】
削除対象特定部１１４は、変更ネット抽出部１１４ａ、変更物理データ抽出部１１４ｂ、削除物理データ抽出部１１４ｃを有する。変更ネット抽出部１１４ａは、ネットリスト読込部１１２により読み込まれた物理データ１３２と、変更済ネットリスト１５１とに基づき、変更されたネット（以下、変更ネット）を抽出する。ネットとは、各端子間を結んだ信号線や端子間の接続情報を示す。
【００２５】
変更物理データ抽出部１１４ｂは、変更ネット抽出部１１４ａにより抽出された変更ネットに対応する物理データ１３２Ａを物理データ１３２から抽出する。物理データ１３２Ａの詳細は後述する。削除物理データ抽出部１１４ｃは、変更物理データ抽出部１１４ｂにより抽出された物理データ１３２Ａから、削除対象となる物理データ１３２ａを抽出する。本実施形態の削除対象特定部１１４では、以上のようにして追加セルを配置する際に削除対象となる物理データ１３２ａを特定する。
【００２６】
配線距離算出部１１５は、変更ネット抽出部１１４ａから抽出された変更ネットに許される最大遅延時間に基づき、変更ネットを既存の配線パターンに接続する際の最長の配線距離を算出する。変更ネットの最大遅延時間を示す情報は、変更ネットを特定した際に特定されても良い。
【００２７】
配置領域特定部１１６は、配線距離算出部１１５により算出された配線距離に基づき、追加セルを配置可能な領域を特定する。混雑度取得部１１７は、配線データベース１３０に記憶された既存回路のネットリスト１３１と物理データ１３２とに基づき、配置領域特定部１１６により特定された領域内の混雑度を算出して取得する。
【００２８】
配置位置決定部１１８は、混雑度取得部１１７により取得された混雑度に基づき、追加セルの配置位置を決定する。配置位置決定部１１８は、混雑度が小さい領域に追加セルが配置されるように配置位置に決定する。
【００２９】
配線部１１９は、配置位置決定部１１８により追加セルの配置位置が決定されると、追加セルの配置位置に合わせて改版層の配線を行う。配線部１１９により改版層の配線が行われると、追加セル配置後のネットリスト１３１ｓと、物理データ１３２ｓとが生成される。配線完了後に、配線データベース１３０のネットリスト１３１と物理データ１３２とは、ネットリスト１３２ｓと物理データ１３２ｓとを含むネットリストと物理データと書き換えられても良い。
【００３０】
図２は、設計装置のハードウェア構成を示す図である。図２において、設計装置１００は、中央処理装置（以下、ＣＰＵ）２１０と、メモリ２２０と、記憶装置２３０と、表示装置２４０と、入力装置２５０と、ドライブ装置２６０と、がバスＢを介して接続されて構成される。
【００３１】
ＣＰＵ２１０は、メモリ２２０を利用してプログラムを実行し、半導体集積回路の設計処理を実行する。メモリ２２０には、各種処理を提供するために必要なプログラムとデータが格納される。メモリ２２０は、通常、キャッシュメモリ、システムメモリ及びディスプレイメモリを含む。
【００３２】
表示装置２４０は、レイアウト表示、パラメータ入力画面等の表示に用いられる。表示装置２４０は、例えばＣＲＴ（Cathode Ray Tube）ディスプレイ、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）等により実現される。入力装置２５０は、ユーザからの要求や指示、パラメータの入力等に用いられる。入力装置２５０は、例えばキーボードやマウス等により実現される。
【００３３】
記憶装置２３０は、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含む。本実施形態の記憶装置２３０には、配線データベース１３０と変更データベース１５０とが設けられている。
【００３４】
ＣＰＵ２１０は、入力装置２５０等による指示に応答してプログラム、データをメモリ２２０へ転送し、ＣＰＵ２１０はそれを実行する。ＣＰＵ２１０が実行するプログラムデータは、記憶媒体２７０にて提供される。ドライブ装置２６０は、記憶媒体２７０を駆動してその記憶内容にアクセスする。ＣＰＵ２１０は、ドライブ装置２６０を介して記憶媒体２７０からプログラムデータを読み出し、それを記憶装置２３０へインストールする。
【００３５】
記憶媒体２７０として、磁気テープ、メモリカード、フレキシブルディスク、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）、光磁気ディスク（ＭＯ、ＭＤ等）等、任意のコンピュータ読み取り可能な記憶媒体を使用することができる。また記憶媒体２７０として、半導体メモリや外部接続されるハードディスク装置等が用いられても良い。この記憶媒体２７０に、上述するプログラムデータを格納しておき、必要に応じてメモリ２２０にロードして使用することもできる。
【００３６】
記憶媒体２７０は、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記憶した媒体、ディスク装置、通信媒体を介して設計装置１００が接続されるサーバ装置等の記憶装置を含む。更に記憶媒体２７０は、コンピュータにより直接実行可能なプログラムを記憶した記憶媒体だけでなく、一度他の記憶媒体（ハードディスク等）にインストールされることによって実行可能となるようなプログラムを記憶した記憶媒体や、暗号化されたり、圧縮されたりしたプログラムを記憶した記憶媒体も含む。
【００３７】
次に、記憶装置２３０に記憶されるプログラム及びデータについて説明する。本実施形態の記憶装置２３０には、プログラムが記憶されたプログラム記憶部３００と、各種データが記憶されたデータ記憶部４００とが設けられている。
【００３８】
図３は、記憶装置内のプログラム記憶部を説明する図である。プログラム記憶部３００には、配線制御部１１１として機能する配線制御プログラム３１１、ネットリスト読込部１１２として機能するネットリスト読込プログラム３１２、改版層決定部１１３として機能する改版層決定プログラム３１３、削除対象特定部１１４として機能する削除対象特定プログラム３１４、配線距離算出部１１５として機能する配線距離算出プログラム３１５、配置領域特定部１１６として機能する配置領域特定プログラム３１６、混雑度取得部１１７として機能する混雑度取得プログラム３１７、配置位置決定部１１８として機能する配置位置決定プログラム３１８、配線部１１９として機能する配線プログラム３１９が記憶されている。
【００３９】
削除対象特定プログラム３１４には、変更ネット抽出部１１４ａとして機能する変更ネット抽出プログラム３１４ａ、変更物理データ抽出部１１４ｂとして機能する変更物理データ抽出プログラム３１４ｂ、削除物理データ抽出部１１４ｃとして機能する削除物理データ抽出プログラム３１４ｃが含まれる。
【００４０】
図４は、記憶装置内のデータ記憶部を説明する図である。記憶装置内のデータ記憶部４００には、配線データベース１３０、変更データベース１５０が設けられている。またデータ記憶部４００には、作業領域４１０が設けられている。作業領域４１０には、プログラム記憶部３００に記憶された各種プログラムを実行した際の演算結果等が一時的に記憶される。
【００４１】
作業領域４１０には、変更ネット抽出部１１４ａにより抽出された変更ネットを示す変更ネットデータ４１１、変更物理データ抽出部１１４ｂにより抽出された変更対象物理データ４１２、削除物理データ抽出部１１４ｃにより抽出された削除対象物理データ４１３が一時的に記憶される。
【００４２】
また作業領域４１０には、配線距離算出部１１５により算出された配線距離データ４１４、配置領域特定部１１６により特定された追加セルを配置可能な領域を示す配置可能領域データ４１５、混雑度取得部１１７により取得された混雑度データ４１６が、一時的に記憶される。
【００４３】
図５は、配線制御部の制御により実行される処理フローについて説明するための図である。
【００４４】
図５において、配線制御部１１１は、ネットリスト読込部１１２により、変更データベース１５０に記憶された変更済ネットリスト１５１を読み込む（ステップＳ５０）。配線制御部１１１は、改版層決定部１１３により、変更データベース１５０に記憶された改版層設定データ１５２を参照し、改版層となる配線層を決定する（ステップＳ５１）。複数の配線層のうち、改版層に決定された配線層以外の配線層の配線は、変更できないようする。
【００４５】
次に配線制御部１１１は、削除対象特定部１１４により、追加セルを配置する際に削除対象となる物理データ１３２ａを特定する（ステップＳ５２）。
【００４６】
ここで図６を参照してステップＳ５２の処理の詳細を説明する。図６は、削除対象特定部の処理フローを説明するための図である。
【００４７】
削除対象特定部１１４は、変更ネット抽出部１１４ａにより、配線データベース１３０に記憶されたネットリスト１３１と、ステップＳ５０で読み込まれた変更済ネットリスト１５１との差分から論理的な変更内容を確認し、修正が必要となる変更ネットを抽出する（ステップＳ５２１）。抽出された変更ネットは、変更ネットデータ４１１として作業領域４１０へ一時的に記憶される。
【００４８】
削除対象特定部１１４は、変更物理データ抽出部１１４ｂにより、ステップＳ５２１で抽出された変更ネットに対応した物理データ１３２Ａを配線データベース１３０の物理データ１３２から抽出する（ステップＳ５２２）。物理データ１３２Ａは、変更対象物理データ４１２として、記憶領域４１０に一時的に記憶される。
【００４９】
削除対象特定部１１４は、削除物理データ抽出部１１４ｃにより、ステップＳ５２２で抽出された物理データ１３２Ａから削除対象となる物理データ１３２ａを抽出する（ステップＳ５２３）。削除対象となる物理データ１３２ａとは、ステップＳ５１において決定された改版層の配線を示す物理データである。物理データ１３２ａは、削除対象物理データ４１３として、作業領域４１０へ一時的に記憶される。
【００５０】
以上のようにして削除対象の物理データ１３２ａが抽出されると、図５に戻ってステップＳ５３へ進む。
【００５１】
配線制御部１１１は、配線距離算出部１１５により、追加セルを配置した際にスルーエラーによるタイミングエラーが発生しない最長配線距離を算出する（ステップＳ５３）。配線距離算部１１５は、作業領域４１０に記憶された変更ネットデータ４１１と、変更ネットデータ４１１に対応した変更対象物理データ４１２と、に基づき特定される変更ネットの最大遅延時間から最長配線距離を算出する。算出された最長配線距離は、配線距離データ４１４として作業領域４１０へ一時的に記憶される。
【００５２】
配線制御部１１１は、配置領域特定部１１６により、配線データベース１３０の物理データ１３２と、作業領域４１０に記憶された配線距離データ４１４とに基づき追加セルの配置可能領域を特定する（ステップＳ５４）。追加セルの配置可能領域は、スルーエラーによるタイミングエラーが発生しない範囲に特定される。特定された追加セルの配置可能領域は、配置可能領域データ４１５として作業領域４１０へ一時的に記憶される。
【００５３】
配線制御部１１１は、混雑度取得部１１７により、配置可能領域データ４１５における配線の混雑度を算出して取得する（ステップＳ５５）。混雑度取得部１１７は、ネットリスト１３１と物理データ１３２とに基づき、配置可能領域データ４１５内の配線の混雑度を算出して取得する。取得された混雑度は、混雑度データ４１６として作業領域４１０に一時的に記憶される。
【００５４】
配線制御部１１１は、配置位置決定部１１８により、混雑度データ４１６に基づき、配置可能領域データ４１５が示す領域内で混雑度が低い位置を追加セルの配置位置に決定する（ステップＳ５６）。
【００５５】
配線制御部１１１は、追加セルの配置位置が決定されると、配線部１１９により、改版層のみの配線パターンの変更を行う（ステップＳ５７）。配線部１１９は、ステップＳ５２で特定された削除対象の物理データ１３２ａを削除し、追加セルを既存の配線パターンに接続するための物理データ１３２ｓを生成する。物理データ１３２ｓは、改版層のレイアウトデータ、配線形状データを含むデータである。そして配線部１１９は、物理データ１３２内の物理データ１３２ａを物理データ１３２ｓに上書きすることにより、追加セルを用いた回路の変更を行う。
【００５６】
配線制御部１１１は、配線部１１９による配線にエラーがないか否かを判定する（ステップＳ５８）。配線制御部１１１は、例えば、ステップＳ５７で生成された物理データ１３２ｓに含まれるレイアウトデータにショートエラーやオープンエラー等が無いか否かを判定する。
【００５７】
ステップＳ５８において配線にエラーがない場合、配線制御部１１１は処理を終了する。
【００５８】
ステップＳ５８において配線にエラーがある場合、配線制御部１１１は、改版層決定部１１３により、改版層を追加する設定を行う（ステップＳ５９）。改版層決定部１１３は、ステップＳ５１で決定された改版層に下層から順に一層追加した二層を改版層として決定する。例えばステップＳ５１で決定された改版層が最下層である一層目の配線層であった場合、ステップＳ５９において、一層目の配線層と二層目の配線層とが改版層に決定される。
【００５９】
配線制御部１１１は、ステップＳ５９において改版層が追加された結果の改版層数が、半導体集積回路の有する全配線層数に達したか否かを判定する（ステップＳ６０）。ステップＳ６０で改版層数が全配線層数以下である場合、配線制御部１１１は、ステップＳ５２以降の処理を実行する。
【００６０】
改版層数が全配線層数に達していた場合、配線制御部１１１は、配線部１１９により、改版層の数等を考慮せずに、従来と同様の配線を行う（ステップＳ６１）。配線制御部１１１は、ステップＳ６１における配線で、配線エラーが発生したか否かを判定する（ステップＳ６２）。配線エラーが発生した場合、配線制御部１１１は、ステップＳ６１に戻って、配線部１１９により再度別の配線を行う。配線エラーが発生していない場合、配線制御部１１１は処理を終了する。
【００６１】
全配線層数とは、設計装置１００により設計される半導体集積回路の有する物理的な配線層の数である。例えば半導体集積回路の有する物理的な配線層が八層であった場合には、ステップＳ５１で改版層が一層から七層に決定された後に、ステップＳ５９で改版層が追加され、ステップＳ６０で改版層数が八層になると、ステップＳ６１へ進む。
【００６２】
本実施形態の改版層決定部１１３は、改版層設定データ１５２を参照して改版層を決定するものとしたが、ユーザにより指定された配線層を改版層としても良い。例えばユーザにより改版層が一層目から六層目までの六層に設定されていた場合には、改版層設定部１１３は最初にステップＳ５１の処理を実行する際に改版層を一層目から六層目に設定する。
【００６３】
半導体集積回路の有する物理的な配線層が八層であり、ユーザにより設定された改版層数が六層である場合に、ステップＳ５８で配線エラーになると、ステップＳ５９で改版層が追加されて改版層数が七層となり、ステップＳ５２からの処理を繰り返す。ステップＳ５８で再度配線エラーになった場合には、ステップＳ５９で改版層が追加されて改版層数が八層となる。配線制御部１１１は、ステップＳ６０において、改版層数が全配線層数に達したと判断し、ステップＳ６１へ進む。
【００６４】
また本実施形態の配置領域特定部１１６は、物理データ１３２と配線距離データ４１４とに基づいて配置可能領域を特定するものとしたが、ユーザにより指定された範囲を追加セル配置可能領域として特定しても良い。
【００６５】
図７は、ユーザによる入力画面の一例を説明するための図である。本実施形態の設計装置１００は、表示装置２４０に図７に示す入力画面７０を表示させても良い。配線制御部１１１は、表示装置２４０に入力画面７０が表示されて、入力装置２５０により改版層の層数と配置領域範囲が入力された後に、図５及び図６に示す処理を実行しても良い。また入力画面７０は、例えば図５に示すステップＳ５１及びステップＳ５４の処理を実行する毎に表示装置２４０に表示されても良い。
【００６６】
以下に、図８ないし図１１を参照して、図５及び図６で説明した処理を説明する。
【００６７】
図８は、変更ネットの一例を説明するための図である。図８（Ａ）は追加セルを配置する前の変更前回路を示す図であり、図８（Ｂ）は追加セルを配置した後の変更済回路を示す図である。
【００６８】
図８（Ａ）に示す変更前回路１０では、セルＡとセルＢとがネットＡにより接続されている。図８（Ｂ）に示す変更済回路１０Ａでは、セルＡとセルＢとの間に追加セルの一つであるセルＣが追加されている。セルＡとセルＣとはネットＢにより接続され、セルＣとセルＢとはネットＣにより接続されている。よって、変更前回路１０から変更済回路１０Ａに変更される際には、ネットＡが変更されることがわかる。
【００６９】
以下に、図９ないし図１１を参照して、図５、図６の処理により変更前回路１０を変更済回路１０Ａへ変更する処理を説明する。
【００７０】
図９は、配線制御部による第一の処理例を説明する図である。図９（Ａ）は、図６のステップＳ５２１、ステップＳ５２２を説明するため図であり、図９（Ｂ）は、図６のステップＳ５２３を説明するための図である。
【００７１】
図９（Ａ）では、変更済回路１０Ａのネットリスト、すなわち変更済ネットリスト１５１が読み込まれた状態である。図９（Ａ）の状態は、変更済ネットリスト１５１では、セルＡとセルＢとの間にセルＣが接続されていることが示されているが、セルＣの配置位置は決定されていない。したがって変更ネット抽出部１１４ａは、変更前のネットリスト１３１においてセルＡとセルＢとを接続していたネットＡを変更ネットとして抽出する。ネットＡが抽出されると、このネットＡに対応した物理データ１３２Ａが抽出される。
【００７２】
図９（Ａ）の例では、物理データ１３２Ａは、例えばセルＡとセルＢのレイアウトデータ１３３Ａと、ネットＡの形状を示す配線形状データ１３４Ａとを含む。レイアウトデータ１３３Ａには、セルＡとセルＢの名称、セルＡとセルＢが配置された位置を示す座標データ等が含まれる。配線形状データ１３４Ａには、ネットＡが一層目から四層目までに跨って配線されていることを示すデータ、ネットＡの各層における配線パターンの長さ、太さ等を示すデータ等が含まれる。
【００７３】
図９（Ｂ）は、ネットＡのうち改版層にある配線パターン、すなわち削除対象となる配線パターンが特定された状態を示している。図９（Ｂ）の例では、最下層である一層と、二層とが改版層に決定されている。よってネットＡのうち、一層に形成された配線パターンと二層に形成された配線パターンとが、削除対象の配線パターンとして特定される。図９（Ｂ）の例では、削除対象の配線パターンとして、改版層である一層と二層に形成された配線パターンａ１と配線パターンａ２とが特定される。図に示される配線パターンｂは、改版層以外の層である三層と四層に形成されており、配線パターンａ１と配線パターンａ２とを接続する配線パターンである。
【００７４】
配線パターンａ１、ａ２が特定されると、ネットＡの中の配線パターンａ１、ａ２を示す物理データ１３２ａが、ネットＡと対応した物理データ１３２Ａから抽出される。
【００７５】
図１０は、配線制御部による第二の処理例を説明する図である。図１０（Ａ）は、図５のステップＳ５３、ステップＳ５４を説明するための図であり、図１０（Ｂ）は、図５のステップＳ５５、ステップＳ５６を説明するための図である。
【００７６】
図１０（Ａ）は、セルＣの配置可能領域として、配線可能領域Ｈ１〜Ｈ４が特定された状態を示している。配線可能領域Ｈ１〜Ｈ４は、ネットＡの最大配線長と、既存の配線パターンｂの配線長とに基づき特定される。
【００７７】
図１０（Ｂ）は、配置可能領域Ｈ１にセルＣが配置された状態を示している。配置可能領域Ｈ１〜Ｈ４において。混雑度が低い領域は、配置可能領域Ｈ１、Ｈ２である。本実施形態では、この２つの領域のうち、セルＣを配線パターンｂと近い位置に配置できる領域が選択される。よって図１０（Ｂ）の例では、配線パターンｂに近い位置にセルＣを近づけることができる配置可能領域Ｈ１がセルＣの配置領域とされる。セルＣは、配置可能領域Ｈ１において、配線エラーにならない範囲内で配線パターンｂの最も近くに配置される。
【００７８】
図１１は、配線制御部による第三の処理例を説明する図である。図１１は、セルＣがセルＡとセルＢとに接続された状態を示している。セルＡとセルＣとは、ネットＢにより接続されており、セルＢとセルＣとはネットＣにより接続されている。
【００７９】
セルＣを接続する際には、削除対象の配線パターンａ１、ａ２のうち、配置可能領域Ｈ１に形成された配線パターンが削除される。すなわち配線パターンａ１、ａ２のうち、配線パターンｂと、セルＢとを接続している配線パターンａ２が削除される。配線パターンａ２が削除されると、改版層である一層と二層には、セルＢとセルＣとを接続する配線パターンｃが形成されることになる。よってセルＢとセルＣとの接続情報を示すネットＣ（図８参照）は、配線パターンｃに対応する。
【００８０】
また改版層である一層と二層では、セルＣと配線パターンｂとを接続する配線パターンｄが形成されることになる。よってセルＡとセルＣとの接続情報を示すネットＢ（図８参照）は、配線パターンｄ、配線パターンｄとセルＡとを接続する配線パターンｂ、配線パターンｂとセルＡとを接続する配線パターンａ１に対応する。
【００８１】
よって変更ネットであるネットＡは、セルＣの追加により、ネットＢとネットＣとに変更される。ネットＢとネットＣに対応する物理データ１３２ｓは、セルＣの配置位置が決定して配線される際に生成される。
【００８２】
以上に説明したように、本実施形態では、２つのセル間に追加セルを配置する際に、２つのセル間の接続情報に基づき、配線層のうち最下層から順に、各層に形成された配線パターンの物理データを参照して追加セルの配置位置を決定する。よって本実施形態では、回路変更後の配線パターンを考慮しつつ回路変更時の改版層数を減らし、回路変更のコストを削減すことができる。
【００８３】
また本実施形態では、追加セルの配置可能領域を特定した後に、特定された配置可能領域内の混雑度データを取得し、混雑度の低い領域へ追加セルを配置するため、配線エラーとなる確率を低くすることができ、回路変更のための作業工数を削減することができる。
【００８４】
図１２は、本実施形態の効果を説明するための図である。図１２（Ａ）は、本実施形態の効果を説明するための一例を示す図であり、図１２（Ｂ）は、本実施形態の効果を説明するための他の例を示す図である。
【００８５】
本実施形態では、図１２（Ａ）に示すように、追加させるセルＣが変更ネットであるネットＡから離れて配置されることにより生じる不具合の発生を防止する。セルＣがネットＡから離れた位置に配置された場合、ネットＡとセルＣとを接続する配線パターンが長くなり、タイミングエラーや配線エラーが発生する可能性が高くなる。本実施形態では、この不具合を回避することができる。
【００８６】
また本実施形態では、図１２（Ｂ）に示すように、混雑度が高い位置へセルＣが配置されることにより生じる配線エラーを回避し、セルＣが配置可能な領域内で混雑度が低い位置をセルＣの配置位置とすることができる。
【００８７】
以上に説明したように、本実施形態によれば、回路変更後の配線パターンを考慮しつつ回路変更時の改版層数を減らし、且つ回路変更のコストを削減することができる。
【００８８】
本発明の実施形態は、以下に記載する付記のような構成が考えられる。
（付記１）
半導体集積回路の設計を行う設計装置による設計方法であって、
前記設計装置が、
ネットリストから複数の配線層にまたがって接続されるセル間の接続情報を抽出する抽出手順と、
前記セルの配置データと、前記セル間の配線の形状を示す配線形状データと、を含む物理データを読み込む読込手順と、
前記複数の配線層のうち、最下層の配線層の前記接続情報と前記物理データとに基づき追加セルの配置位置を決定する決定手順と、
を実行することを特徴とする半導体集積回路の設計方法。
（付記２）
前記決定手順は、
前記複数の配線層のうち、前記最下層の配線層から順に、上層へ向かう各配線層毎の前記接続情報と前記物理データとに基づき前記追加セルの配置位置を決定することを特徴とする付記１記載の半導体集積回路の設計方法。
（付記３）
前記接続情報と、前記物理データと、に基づき前記追加セルを配置可能な領域を特定する特定手順と、
前記特定手順により特定された前記領域内の配線の混雑度を算出する混雑度算出手順と、を実行し、
前記決定手順は、算出された前記混雑度に基づき前記追加セルの配置位置を決定することを特徴とする付記１又は２記載の半導体集積回路の設計方法。
（付記４）
前記最下層の配線層は、前記半導体集積回路の有するバルク層から最も近い配線層であることを特徴とする付記１乃至３の何れか一項に記載の半導体集積回路の設計方法。
（付記５）
前記接続情報と、前記物理データと、に基づき前記追加セルを配置する際の最大配線長を算出する手順を有し、
前記決定手順は、前記最大配線長に基づき前記追加セルの配置位置を決定することを特徴とする付記１乃至４記載の半導体集積回路の設計方法。
（付記６）
半導体集積回路の設計を行う設計装置であって、
ネットリストから複数の配線層にまたがって接続されるセル間の接続情報を抽出する抽出手段と、
前記セルの配置データと、前記セル間の配線の形状を示す配線形状データと、を含む物理データを読み込む読込手段と、
前記複数の配線層のうち、最下層の配線層の前記接続情報と前記物理データとに基づき追加セルの配置位置を決定する決定手段と、を有することを特徴とする半導体集積回路の設計装置。
【００８９】
本発明の実施形態は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００９０】
【図１】本実施形態に係る設計装置の機能構成例を示す図である。
【図２】設計装置のハードウェア構成を示す図である。
【図３】記憶装置内のプログラム記憶部を説明する図である。
【図４】記憶装置内のデータ記憶部を説明する図である。
【図５】配線制御部の制御により実行される処理フローについて説明するための図である。
【図６】削除対象特定部の処理フローを説明するための図である。
【図７】ユーザによる入力画面の一例を説明するための図である。
【図８】変更ネットの一例を説明するための図である。
【図９】配線制御部による第一の処理例を説明する図である。
【図１０】配線制御部による第二の処理例を説明する図である。
【図１１】配線制御部による第三の処理例を説明する図である。
【図１２】本実施形態の効果を説明するための図である。
【符号の説明】
【００９１】
１００  設計装置
１１１  配線制御部
１１２  ネットリスト読込部
１１３  改版層決定部
１１４  削除対象特定部
１１５  配線距離算出部
１１６  配置領域特定部
１１７  混雑度取得部
１１８  配置位置決定部
１１９  配線部
１３０  配線データベース
１３１  ネットリスト
１３２  物理データ
１５０  変更データベース
１５１  変更済ネットリスト
１５２  改版層設定データ
２３０  記憶装置
３００  プログラム記憶部
４００  データ記憶部
【図１】
2010061514.tif 000003
【図２】
2010061514.tif 000004
【図３】
2010061514.tif 000005
【図４】
2010061514.tif 000006
【図５】
2010061514.tif 000007
【図６】
2010061514.tif 000008
【図７】
2010061514.tif 000009
【図８】
2010061514.tif 000010
【図９】
2010061514.tif 000011
【図１０】
2010061514.tif 000012
【図１１】
2010061514.tif 000013
【図１２】
2010061514.tif 000014