(57)【要約】【課題】半導体集積回路の設計において、配線混雑が予想されるセルを使用禁止にして配線混雑を回避する方法では、レイアウトの総配線数と総セル面積が必要以上に増えてしまう。【解決手段】レイアウトに使用するネットリストを作成する論理合成の工程において、配線混雑が予想されるセルの使用禁止制約を設定せずに作成したネットリストをグループ化する工程Ｓ３と、グループ毎に配線混雑の有無を判定する工程Ｓ６と、配線混雑の判定で配線混雑すると判断されたグループ毎に配線混雑の原因となるセルを推定し、原因となるセルを使用禁止にして再度ネットリストを作成することによりレイアウト上の配線混雑を回避する工程Ｓ７または原因となるセルの周囲をパディングすることによりレイアウト上の配線混雑を回避する工程Ｓ７ａとを含む。【選択図】図１
2007115159.tif 000002
【特許請求の範囲】
【請求項１】
レイアウトに使用するネットリストを作成する論理合成の工程において、配線混雑が予想されるセルの使用禁止制約を設定せずに作成した前記ネットリストをグループ化する第１の工程と、
前記グループ毎に配線混雑の有無を判定する第２の工程と、
前記配線混雑の判定で配線混雑すると判断されたグループ毎に配線混雑の原因となるセルを推定し、前記原因となるセルを使用禁止にして再度ネットリストを作成することによりレイアウト上の配線混雑を回避する第３の工程とを含む半導体集積回路の設計方法。
【請求項２】
レイアウトに使用するネットリストを作成する論理合成の工程において、配線混雑が予想されるセルの使用禁止制約を設定せずに作成した前記ネットリストをグループ化する第１の工程と、
前記グループ毎に配線混雑の有無を判定する第２の工程と、
前記配線混雑の判定で配線混雑すると判断されたグループ毎に配線混雑の原因となるセルを推定し、前記原因となるセルの周囲をパディングすることによりレイアウト上の配線混雑を回避する第３の工程とを含む半導体集積回路の設計方法。
【請求項３】
前記ネットリストをグループ化する第１の工程は、前記ネットリストをフリップフロップバス毎にロジックコーンを後方探索し、その結果、所定以上の規模となる回路をグループ化する請求項１または請求項２に記載の半導体集積回路の設計方法。
【請求項４】
前記グループ毎に配線混雑の有無を判定する第２の工程は、前記レイアウトに使用するセルの形状を基準に配線混雑予想テーブルを設定し、その後、前記グループ毎の単位面積当たりの総配線混雑予想ポイントを基準に前記グループ毎の配線混雑有無を判定する請求項１から請求項３までのいずれかに記載の半導体集積回路の設計方法。
【請求項５】
前記グループ毎に配線混雑の有無を判定する第２の工程は、前記レイアウトに使用するセルの種類を基準に配線混雑予想テーブルを設定し、その後、前記グループ毎の単位面積当たりの総配線混雑予想ポイントを基準に前記グループ毎の配線混雑有無を判定する請求項１から請求項３までのいずれかに記載の半導体集積回路の設計方法。
【請求項６】
前記グループ毎に配線混雑の有無を判定する第２の工程は、前記レイアウトに使用するセルのピン数を基準に配線混雑予想テーブルを設定し、その後、前記グループ毎の単位面積当たりの総配線混雑予想ポイントを基準に前記グループ毎の配線混雑有無を判定する請求項１から請求項３までのいずれかに記載の半導体集積回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の多層配線で発生する配線混雑部を見積もり、レイアウト上の配線混雑を低減させる半導体集積回路の設計方法に関するものである。
【背景技術】
【０００２】
半導体集積回路は、その高集積化、大規模化、高速化が進むにつれて、配線混雑の対策が益々重要になってきている。
【０００３】
配線混雑について説明する。図６は、ある縦配線のレイヤにピン１２が横並びで出ているセル１１を示している。１３はワイヤトラックである。このセル１１が図７のように密集すると、このレイヤの縦配線は通りにくくなり、大きな配線の迂回を必要とするため、配線は混雑しやすくなる。
【０００４】
配線混雑を回避する設計方法として、レイアウトに使うネットリストを作成する論理合成の工程で、図６のような配線混雑が予想されるレイアウトセルを全回路一律に使用禁止にする方法が主流である。図８で従来の設計方法を説明する。
【０００５】
まず、予め配線混雑が予想されるセルを一律使用禁止に設定した上で、ステップＳ２１で論理合成を行い、ネットリストを作成する。ここで、セルの使用禁止制約により、配線混雑が予想されるセルを使わずに他のセルを用いてネットリストを作成する。
【０００６】
ここで、セルの使用禁止について説明する。図９は、３ｔｏ１ＭＵＸ回路セルの使用禁止について説明したものである。３ｔｏ１ＭＵＸ回路とは３入力１出力のセレクタ回路で、図９（ａ）のように表せる。３ｔｏ１ＭＵＸ回路セルを使用禁止にすると、図９（ｂ）のように、このセル１つにつき２入力ＯＲ回路のセル３つと３入力ＮＡＮＤ回路のセル１つとそれらを結ぶ配線１４とに置き換わり、配線領域が確保される。したがって、配線混雑は緩和される。
【０００７】
次に、ステップＳ２２でネットリストがタイミング条件を満たしているかを確認し、タイミング条件を満たしていなければ設定を変更して再度、論理合成を行う。
【０００８】
続いて、ステップＳ２３でレイアウト上のセル配置を行い、ステップＳ２４で配線混雑とタイミングを算出し、条件を満たすように配置を最適化する。
【０００９】
続いて、ステップＳ２５でレイアウト上の配線を行い、ステップＳ２６で配線混雑とタイミングを算出し、条件を満たすように配線を最適化する。
【００１０】
ステップＳ２６で配線が収束した後、終了となるが、ステップＳ２６で配線が収束しない場合は、ステップＳ２３の配置段階まで戻って再度配置工程からやり直す場合もある。
【特許文献１】特開２００４−６２６９４号公報（第４−５頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
図８に示した従来の設計方法では、配線混雑が予想されるセルを一律で使用禁止にすることで論理合成時にタイミング収束性が悪化する問題と、レイアウトの総配線数と総セル面積が増える問題がある。
【００１２】
タイミング収束性が悪化する問題とは、セルの形状から配線混雑が予想されるセルを使用禁止にすると、駆動能力の高いセルが使用禁止になることがあり、高速性が求められる回路でタイミング条件を満たせなくなることである。
【００１３】
また、総配線数と総セル面積が増える問題とは、全回路一律で配線混雑が予想されるセルを使用禁止にした場合、配線が混雑していない部分でも図９（ｂ）のように複合セルが小さなセルの集合とそれらを結ぶ配線に置き換わるため、必要以上にセルの総面積と配線数が増えることである。
【００１４】
本発明は上記従来の問題点を解決し、レイアウト工程で配線混雑を回避しながら配線数とセルの総面積の増加を抑えることができる半導体集積回路設計を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明による半導体集積回路の設計方法は、
レイアウトに使用するネットリストを作成する論理合成の工程において、配線混雑が予想されるセルの使用禁止制約を設定せずに作成した前記ネットリストをグループ化する第１の工程と、
前記グループ毎に配線混雑の有無を判定する第２の工程と、
前記配線混雑の判定で配線混雑すると判断されたグループ毎に配線混雑の原因となるセルを推定し、前記原因となるセルを使用禁止にして再度ネットリストを作成することによりレイアウト上の配線混雑を回避する第３の工程とを含むことを特徴とする。
【００１６】
これによれば、レイアウト工程の負荷を少なく、論理合成工程で配線混雑を回避しながら配線数とセルの総面積の増加を抑えることができる。
【００１７】
また、本発明による半導体集積回路の設計方法は、
レイアウトに使用するネットリストを作成する論理合成の工程において、配線混雑が予想されるセルの使用禁止制約を設定せずに作成した前記ネットリストをグループ化する第１の工程と、
前記グループ毎に配線混雑の有無を判定する第２の工程と、
前記配線混雑の判定で配線混雑すると判断されたグループ毎に配線混雑の原因となるセルを推定し、前記原因となるセルの周囲をパディングすることによりレイアウト上の配線混雑を回避する第３の工程とを含むことを特徴とする。パディングとは、配線混雑しているセルの周囲にセルの配置されない領域を設け、配線領域を確保することである。
【００１８】
これによれば、論理合成工程の後戻り少なく、レイアウト工程で配線混雑を回避しながら配線数とセルの総面積の増加を抑えることができる。
【００１９】
上記において、前記ネットリストをグループ化する第１の工程は、前記ネットリストをフリップフロップバス毎にロジックコーンを後方探索し、その結果、所定以上の規模となる回路をグループ化するという態様がある。これによれば、配線混雑が予想されるフリップフロップバスの回路をグループとして特化し、グループ毎で配線混雑の検証や配線混雑対策を実施することが可能となる。
【００２０】
また、上記において、前記グループ毎に配線混雑の有無を判定する第２の工程は、前記レイアウトに使用するセルの形状を基準に配線混雑予想テーブルを設定し、その後、前記グループ毎の単位面積当たりの総配線混雑予想ポイントを基準に前記グループ毎の配線混雑有無を判定するという態様がある。これによれば、使用するセルの形状を考慮してグループ毎に配線混雑有無を検証し、配線混雑が予想されるグループ単位で配線混雑原因となるセルを判断することが可能となる。
【００２１】
また、上記において、前記グループ毎に配線混雑の有無を判定する第２の工程は、前記レイアウトに使用するセルの種類を基準に配線混雑予想テーブルを設定し、その後、前記グループ毎の単位面積当たりの総配線混雑予想ポイントを基準に前記グループ毎の配線混雑有無を判定するという態様がある。これによれば、クロストーク対策としてクロック配線に多くの配線領域を必要とするフリップフロップを考慮してグループ毎に配線混雑有無を検証し、配線混雑が予想されるグループ単位で配線混雑原因となるセルを判断することが可能となる。
【００２２】
また、上記において、前記グループ毎に配線混雑の有無を判定する第２の工程は、前記レイアウトに使用するセルのピン数を基準に配線混雑予想テーブルを設定し、その後、前記グループ毎の単位面積当たりの総配線混雑予想ポイントを基準に前記グループ毎の配線混雑有無を判定するという態様がある。これによれば、主観的な判断なく、セルのピン数で容易にグループ毎の配線混雑有無を検証し、配線混雑が予想されるグループ単位で配線混雑原因となるセルを判断することが可能となる。
【発明の効果】
【００２３】
本発明によれば、レイアウト工程の負荷を少なく、論理合成工程で配線混雑を回避しながら配線数とセルの総面積の増加を抑えることができる。
【００２４】
また、論理合成工程の後戻り少なく、レイアウト工程で配線混雑を回避しながら配線数とセルの総面積の増加を抑えることができる。
【００２５】
結果として、レイアウト上の敷き詰め率も向上する。また、ネットリスト作成工程で配線混雑対策を考慮することにより、レイアウトツールの負荷を削減し、開発期間の短縮も期待できる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明にかかわる半導体集積回路の設計方法の実施の形態を図面に基づいて詳細に説明する。
【００２７】
（実施の形態１）
本発明の実施の形態１における半導体集積回路の設計方法を図１に示すフローチャートを用いて説明する。
【００２８】
まずステップＳ１において、論理合成にてネットリストを作成する。このとき、従来行われていた配線混雑が予想されるセルの使用禁止制約は与えずにおく。
【００２９】
次にステップＳ２において、ネットリストの回路がタイミング条件を満たしているかをチェックし、タイミング条件を満たしていなければタイミングを満たすように条件を変えて再度、論理合成をする。
【００３０】
続いてステップＳ３において、ネットリスト内の回路をグループ化する。図２を用いて回路のグループ化について説明する。図２は１６ビットのフリップフロップバス信号１のロジックコーン２を後方検索し、それらの回路をグループ化したものである。グループ化は、フリップフロップバス単位でロジックコーン２を調べ、特定規模以上のロジックコーンを持つ回路をグループとして定義する。３はフリップフロップである。これにより、配線混雑が予想されるフリップフロップバス信号のロジックコーン単位で配線混雑検証を行うことができる。
【００３１】
続いてステップＳ４において、各グループの総セル面積、総ピン数およびセル毎の使用数を抽出する。
【００３２】
続いてステップＳ５において、配線混雑予想テーブルＴｂを用いて各グループの配線混雑予想ポイントを算出する。配線混雑予想テーブルＴｂとは、図３（ａ）に示すようにセル毎に配線混雑が予想される度合いに合わせてポイントを設定したものである。ここで、配線混雑予想テーブルＴｂの作成方法として、セルの形状を基準にする方法と、セルの種類を基準に作成する方法と、セルのピン数を基準に作成する方法とがある。
【００３３】
セルの形状を基準にする方法の場合、セルの面積やピンの形状によりセル毎のポイントを設定し、図３（ａ）のような配線混雑予想テーブルＴｂを作成する。このとき、図６のような配線が通りにくいセルはポイントが高めに評価される。これにより、セルの形状から配線混雑を検証することができる。
【００３４】
セルの種類を基準にする方法の場合、セルの種類によりセル毎のポイントを設定し、同様の配線混雑予想テーブルを作成する。このとき、フリップフロップは、クロック配線が微細化に伴うクロストーク対策のために通常配線より多くの配線領域を必要であり、ポイントが高く評価される。これにより、フリップフロップを考慮した配線混雑を検討することができる。
【００３５】
セルのピン数を基準にする方法の場合、セルのピン数によりセル毎のポイントを設定し、同様の配線混雑予想テーブルを作成する。これにより、セルのピン数から主観的な判断なく、容易に配線混雑を検討することができる。
【００３６】
その後、図３（ｂ）のように各グループの配線混雑予想ポイントを算出する。図３（ｂ）は３ｔｏ１ＭＵＸ回路、２ＯＲ回路、３ＮＡＮＤ回路、Ｄフリップフロップ回路からなるグループで、配線混雑予想ポイントの合計は“２７６０”である。
【００３７】
続いてステップＳ６において、算出した配線混雑予想ポイントを基準として、この値が指定した閾値より高いグループを配線混雑予想回路と判断する。図３（ｂ）では、配線混雑予想ポイント合計を総セル面積で割った値（２７６０÷１００＝２７．６）が配線混雑閾値（“２０”）より高いので、このグループは配線混雑する回路と判断される。
【００３８】
続いてステップＳ７において、グループ毎に配線混雑の原因となるセルを推定する。図３（ｂ）の場合、各セルの総配線混雑予想ポイントの最も大きい３ｔｏ１ＭＵＸ回路が配線混雑原因と推定される。その後、配線混雑原因となる３ｔｏ１ＭＵＸ回路セルについて、図９で説明したように、この回路を使用禁止に設定して、再度ネットリストを論理合成にて作成する。
【００３９】
ステップＳ６において配線混雑回路がなくなるまでステップＳ１からステップＳ７の工程を繰り返し、続くステップＳ８とステップＳ９において配置とタイミング制約に基づく配置の最適化を行い、ステップＳ１０とステップＳ１１で配線とタイミング条件に基づく配線の最適化を行い、終了となる。
【００４０】
以上の方法により、レイアウト工程の負荷を少なく、論理合成の工程で配線混雑を回避しながら、必要以上のセル面積と配線数の増加を抑えることができる。
【００４１】
（実施の形態２）
次に、本発明の実施の形態２における半導体集積回路の設計方法を図４に示すフローチャートを用いて説明する。
【００４２】
まずステップＳ１において、セルの使用禁止制約を与えずに論理合成によってネットリストを作成し、次にステップＳ２において、ネットリストの回路がタイミング条件を満たしているかチェックし、タイミング条件を満たしていなければ条件を変えて再度、論理合成をしてネットリストを作成する。続いてステップＳ３において、ネットリストをグループ化し、その後、ステップＳ４において、各グループの総セル面積、総ピン数およびセル毎の使用数を抽出する。続いてステップＳ５において、図３のような配線混雑予想テーブルＴｂを用いて各グループの配線混雑予想ポイントを算出する。続いてステップＳ６において、各グループの混雑を判定する。ここまでは図１のフローと同じである。
【００４３】
続いてステップＳ７ａにおいて、グループ毎に混雑原因となるセルを判断する。そして、グループ毎に混雑の原因となるセルに対して図５のようにレイアウト上でパディングする。
すなわち、例えば、図５（ａ）のように配線混雑しているセル４の周囲にセルの配置されない領域を設け、図５（ｂ）のように配線領域５を確保する。
【００４４】
ステップＳ７ａに次いで、ここでは、ステップＳ１に戻らずに、ステップＳ８に進む。そして、ステップＳ８において、配置を行う。ここで、ステップＳ７ａにてパディング設定が導出されていれば、そのパディング設定により配線混雑が予想されるグループの配線混雑が緩和される。その後、ステップＳ９で回路のタイミングをチェックして配置を最適化する。続いてステップＳ１０で配線を行い、その後、ステップＳ１１で回路のタイミングをチェックして配線を最適化し、終了となる。
【００４５】
以上の方法により、論理合成の工程の後戻りを少なく、レイアウトの工程で配線混雑を回避しながら、必要以上のセル面積と配線数の増加を抑えることができる。
【産業上の利用可能性】
【００４６】
本発明の半導体集積回路の設計方法は、配線混雑が予想される回路部分の各原因となるセルを使用禁止およびパディングする配線混雑対策を行うことで、配線混雑を回避しながらセル面積と配線数の増加を最小限に抑える効果を有する。特に、高集積化、大規模化、高速化が進む中で、小面積化が要求される半導体集積回路の開発には有用で、利用の可能性は大きく期待できる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態１における半導体集積回路の設計方法の処理工程を示すフローチャート
【図２】本発明の実施の形態における半導体集積回路の設計方法でのネットリストのグループ化の説明図
【図３】本発明の実施の形態における半導体集積回路の設計方法での配線混雑予想ポイント算出の説明図
【図４】本発明の実施の形態２における半導体集積回路の設計方法の処理工程を示すフローチャート
【図５】本発明の実施の形態２における半導体集積回路の設計方法において、レイアウトでのセルのパディングについての説明図
【図６】配線混雑が予想されるセルの説明図
【図７】配線混雑が予想されるセルによる配線混雑の説明図
【図８】従来の技術における半導体集積回路の設計方法の処理工程を示すフローチャート
【図９】３ｔｏ１ＭＵＸ回路のセルの使用禁止についての説明図
【符号の説明】
【００４８】
１  フリップフロップの１６ビットバス信号
２  ロジックコーン
３  フリップフロップ
１１  配線混雑が予想されるセル
１２  セルのピン
１３  ワイヤトラック
１４  セル間の配線
Ｓ１  論理合成のステップ
Ｓ３  回路のグループ化のステップ
Ｓ６  配線混雑の判定のステップ
Ｓ７  混在原因セルの推定、使用禁止制約作成のステップ
Ｓ７ａ  混在原因セルの推定、セルパディング設定のステップ
【図１】
2007115159.tif 000003
【図２】
2007115159.tif 000004
【図３】
2007115159.tif 000005
【図４】
2007115159.tif 000006
【図５】
2007115159.tif 000007
【図６】
2007115159.tif 000008
【図７】
2007115159.tif 000009
【図８】
2007115159.tif 000010
【図９】
2007115159.tif 000011