(57)【要約】【課題】トップネットリストが不十分な場合であっても、モジュール間接続を考慮した配線混雑見積りを行い、設計の早期段階でのチップサイズ見積りの精度向上を図る。【解決手段】半導体集積回路のレイアウト方法において、該半導体集積回路の接続情報であるネットリストを読み込む工程（Ｓ１０１）と、読み込んだネットリストに基づいて未接続ポートを認識する工程（Ｓ１０２）と、該未接続ポートに任意の物理セルを接続する工程（Ｓ１０３）と、該物理セルを接続した状態で配置配線する工程（Ｓ１０４）と、配線混雑を見積る工程（Ｓ１０５）と、を有する。【選択図】図１
2015052995.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のレイアウト方法において、
該半導体集積回路の接続情報であるネットリストを読み込む工程と、
読み込んだネットリストに基づいて未接続ポートを認識する工程と、
該未接続ポートに任意の物理セルを接続する工程と、
該物理セルを接続した状態で配置配線する工程と、
配線混雑を見積る工程と、
を有することを特徴とする半導体集積回路のレイアウト方法。
【請求項２】
前記物理セルを接続する工程では、
前記物理セルの配置座標、配置領域、または、該物理セルを接続する近傍のカスタムセル、のいずれかを指定可能であって、指定された情報に基づいて、前記物理セルの配置、接続を行うことを特徴とする請求項１に記載の半導体集積回路のレイアウト方法。
【請求項３】
半導体集積回路の接続情報であるネットリストを読み込むネットリスト読込手段と、
読み込んだネットリストに基づいて未接続ポートを認識する未接続ポート認識手段と、
該未接続ポートに任意の物理セルを接続する任意セル接続手段と、
該物理セルを接続した状態で配置配線する配置配線手段と、
配線混雑を見積る配線混雑見積り手段と、
を備えることを特徴とする半導体集積回路のレイアウト装置。
【請求項４】
コンピュータに、
半導体集積回路の接続情報であるネットリストを読み込む処理と、
読み込んだネットリストに基づいて未接続ポートを認識する処理と、
該未接続ポートに任意の物理セルを接続する処理と、
該物理セルを接続した状態で配置配線する処理と、
配線混雑を見積る処理と、
を実行させることを特徴とする半導体集積回路のレイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト方法、半導体集積回路のレイアウト装置、および半導体集積回路のレイアウトプログラムに関する。さらに詳述すると、自動配置配線（自動レイアウトツール（automatic  placer  and  router））を用いた半導体集積回路のレイアウトに関するものである。
【背景技術】
【０００２】
半導体集積回路のレイアウト方法として、入力されるマクロセルの接続情報（ネットリスト（論理回路設計結果））に基づいて、チップ上にマクロセルを自動的に配置し、その間を自動的に配線する自動配置配線技術が知られている。
【０００３】
関連技術として、例えば、特許文献１には、ハードマクロセルおよび標準セルを含む集積回路の配線解析を行う方法であって、
（ａ）集積回路のネットリストからハードマクロセルを削除し、削除後のネットリストでの、標準セルの配置される領域がその外周においてハードマクロセルと接続していた部分を外部接続ピンに置き換える工程と、
（ｂ）工程（ａ）後のネットリストに対して、集積回路におけるハードマクロセルの配置される領域を除き標準セルの配置される領域の配線解析を行う工程と、を備える集積回路の配線解析方法が開示されている。
【０００４】
また、例えば、特許文献２には、半導体集積回路のセルの配置位置及び配線経路の処理を行い、処理を行った半導体集積回路内の不具合箇所の近傍の領域を選択し、領域の境界と配線との交点を仮想端子として設定し、領域内のセルの配置位置及び配線経路の情報をクリアし、仮想端子から領域内のセル配置の最適化を行い、最適化されたセル配置から領域内に必要な配線を施す半導体集積回路の自動再レイアウト方法が開示されている。
【０００５】
また、例えば、特許文献３には、詳細配線結果を用いて行われた遅延解析結果を含む論理設計およびレイアウト設計に必要な各種の情報を入力する情報入力手順と、入力された情報に基づいて設計対象の半導体集積回路内の設計違反箇所を表示する設計違反箇所表示手順と、表示された設計違反箇所が参照されて設計者によって行われる指定に基づいて部分回路抽出領域を設定する部分回路抽出領域設定手順と、設定された部分回路抽出領域内の論理接続情報を「部分回路の論理接続情報」として抽出する部分回路抽出手順と、抽出された部分回路の論理接続情報を入力して面積優先／遅延優先で論理最適化を行う部分回路論理最適化手順と、論理最適化がなされた部分回路を既存の配置結果を利用しながら元の部分回路と入れ替えて部分回路の再レイアウトを行う部分回路再レイアウト手順と、再レイアウトの結果を反映させた当該半導体集積回路のレイアウト結果の出力を行うレイアウト結果出力手順とを有する論理回路改善方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術は、矩形の標準セル領域の見積りを基本とし、階層ブロック毎に配線混雑度を見積り、とある階層のその下階層の寄与分は係数化して考慮するようにしている。また、ハードマクロが存在する場合は、ハードマクロを一旦削除し、マクロとの接続を外部端子化する事により配線見積りを実施するようにしているが、外部端子化のためには元々のネットリストにハードマクロとの接続関係をあらわすネットが必要となる。また、不備を含むネットリストに対し、そのブロックを仮想セルとして扱う配線見積りフローが提案されているものの、不備を含む階層は全て配線禁止領域として扱われるため、トップ階層に不備がある場合は、標準セル配置領域全面が配線禁止となってしまうという課題があった。
【０００７】
また、特許文献２の技術は、自動配置配線において配線不可の箇所の修正に関するものであるが、配線ショート箇所の近傍領域のみを切り出す工程を有しているため、切り出される境界上に存在する配線は仮想端子として設定されることとなる。したがって、この仮想端子が設定される配線については、元のネットリストにネットとして存在する必要があるという課題がある。
【０００８】
また、特許文献３の技術は、自動配置配線においてタイミング違反もしくは配線不可の箇所の修正に関するものであるが、部分回路を抽出して、面積優先もしくは遅延優先で最適化を実行後に自動配置配線を実施するようにしている。このため、部分回路抽出のために物理情報の領域も設定されるが、あくまでトポロジー（既存ネットリスト）にのみ着目し、設定された領域内に含まれている関係の無い配線（着目されたパス以外のネット）は無視しているという課題がある。
【０００９】
半導体集積回路の設計では、複数のブロックに分割し、遅延制約、面積制約、消費電力制約等の様々な制約を満たしながら、ブロックの形状を決定し、ブロックを適切に配置するフロアプラン設計がなされる。
【００１０】
このようなフロアプラン設計において、Ａｎａｌｏｇ（アナログ）マクロのような、カスタムブロックを多く含む場合は、標準セル配置領域（以下、Ｌｏｇｉｃ領域ともいう）を正方領域で確保することは難しく、ＩＯセルやカスタムセル配置を主体に、フロアプランが決定されることが多い。
【００１１】
また、チップトップ（Ｔｏｐ）フロアプランの検討の際には、開発初期段階では、トップ（Ｔｏｐ）ネットリストは、モジュール間接続が不十分である場合や、カスタムセルの端子が定まっていない場合等、不十分な状態であることが多い。
【００１２】
トップネットリストが不十分な場合であっても、標準セル配置領域に関しては、ゲート規模に基づいて面積を見積もることは可能であるものの、配線混雑見積もりに関しては、モジュール間接続は考慮されないこととなってしまう。
【００１３】
そこで本発明は、トップネットリストが不十分な場合であっても、モジュール間接続を考慮した配線混雑見積りを行い、設計の早期段階でのチップサイズ見積りの精度向上を図ることができる半導体集積回路のレイアウト方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
かかる目的を達成するため、本発明に係る半導体集積回路のレイアウト方法は、半導体集積回路のレイアウト方法において、該半導体集積回路の接続情報であるネットリストを読み込む工程と、読み込んだネットリストに基づいて未接続ポートを認識する工程と、該未接続ポートに任意の物理セルを接続する工程と、該物理セルを接続した状態で配置配線する工程と、配線混雑を見積る工程と、を有するものである。
【発明の効果】
【００１５】
本発明によれば、トップネットリストが不十分な場合であっても、モジュール間接続を考慮した配線混雑見積りを行い、設計の早期段階でのチップサイズ見積りの精度向上を図ることができる。
【図面の簡単な説明】
【００１６】
【図１】半導体集積回路のレイアウト方法を示すフローチャートである。
【図２】半導体集積回路のレイアウト装置の一例を示す機能ブロック図である。
【図３】第１の実施形態に係る半導体集積回路のレイアウト方法の説明図である。
【図４】第２の実施形態に係る半導体集積回路のレイアウト方法の説明図である。
【発明を実施するための形態】
【００１７】
以下、本発明に係る構成を図１から図４に示す実施の形態に基づいて詳細に説明する。
【００１８】
［第１の実施形態］
図１は、半導体集積回路のレイアウト方法を示すフローチャートである。また、図２は半導体集積回路のレイアウト装置の一例を示す機能ブロック図である。
【００１９】
図１に示すように、半導体集積回路のレイアウト方法は、先ず、当該半導体集積回路の接続情報であるネットリストを読み込む処理を行い（Ｓ１０１）、読み込んだネットリストに基づいて未接続ポートを認識する処理を行い（Ｓ１０２）、該未接続ポートに任意の物理セル（追加セルともいう）を接続する処理を行って（Ｓ１０３）、追加セルが追加された状態で配置配線処理（Ｓ１０４）および配線混雑見積り処理（Ｓ１０５）を行うものである。
【００２０】
また、図２に示す半導体集積回路のレイアウト装置１００は、上記処理を実行する。なお、半導体集積回路のレイアウト装置１００は、装置全体の動作を制御するＣＰＵ、ＣＰＵの駆動に用いられる各プログラムを記憶したＲＯＭ、ＣＰＵのワークエリアとして使用されるＲＡＭ、プログラム等の各種データを記憶するＨＤＤ、通信ネットワークを利用してデータの送受信をするためのＩ／Ｆ等が、バスラインで電気的に接続されることで構成されている。また、キーボード、マウスなどの入力装置、ディスプレイなどの表示装置を備えている。
【００２１】
図２に半導体集積回路のレイアウト装置１００の機能ブロック図を示す。半導体集積回路のレイアウト装置１００は、ネットリスト１１０を読み出すネットリスト読込手段１０１と、読み込んだネットリスト１１０に基づいて未接続ポートを認識する未接続ポート認識手段１０２と、該未接続ポートに任意のセル（追加セル）を接続する任意セル接続手段１０３と、追加セルが追加された配置配線を行う配置配線手段１０４と、配線混雑を見積もる配線混雑見積り手段１０５と、を備えている。なお、ネットリスト１１０は、予めＨＤＤ等の記憶手段に記憶されているものであっても、外部から読み込むものであっても良い。
【００２２】
以下、半導体集積回路のレイアウト方法の詳細を説明する。図３は、第１の実施形態に係る半導体集積回路のレイアウト方法の説明図である。図３は、チップトップ階層においてＢｌｏｃｋモジュール（ｍｏｄｕｌｅ“Ｂｌｏｃｋ”）が配置されているネットリストのケースについて説明する。図３（Ａ）はモジュール“Ｂｌｏｃｋ”と各ポート（ｐｏｒｔ＿ｎ（ｎ＝１，２，・・・，ｎ））の模式図、およびネットリストの模式図、図３（Ｂ）はモジュール“Ｂｌｏｃｋ”に追加セル（ｐｏｒｔｃｅｌｌ）等を追加した状態を示す模式図、およびネットリストの模式図である。
【００２３】
先ず、ネットリストを読み込んだ後（Ｓ１０１）、配線見積りに対して不完全な状態であるモジュール（ｍｏｄｕｌｅ）として“Ｂｌｏｃｋ”を指定し、この“Ｂｌｏｃｋ”のモジュール定義、およびトップ（Ｔｏｐ）でのインスタンス定義情報から、Ｂｌｏｃｋ”の端子（ポート）として未接続なポートを特定する（Ｓ１０２）。なお、図３の例では、図３（Ａ）に示すように全てのポートが未接続となっている。
【００２４】
次いで、本実施形態では、１個の端子を持つ物理セルを追加セルとして準備するものである（Ｓ１０３）。ここで、追加セルは専用に用意してもよいし、または、既存標準セルで入力端子を１個だけ有するようなセル（例えば、ＢＵＦやＩＮＶ等）の出力端子側を浮いた状態で使用するものとする。図３の例では、ｐｏｒｔｃｅｌｌと呼ばれるセルを追加セルとしている。
【００２５】
このように、“Ｂｌｏｃｋ”の未接続なポートに対して、図３（Ｂ）に示すようなネット（ｎｅｔ＿＜ｐｏｒｔ名＞）とインスタンス（Ｕ＿＜ｐｏｒｔ名＞）を、既存ネットリストに追加修正することにより、未接続ポートに対しての物理セルの追加を実現している。
【００２６】
本実施形態では、このように配置配線（Ｓ１０４）した後に、配線混雑を見積るものである（Ｓ１０５）。なお、未接続ポートに追加セルを接続する工程（Ｓ１０３）以外の各工程については、公知の半導体集積回路のレイアウト方法のものを適用すれば良く、特に限られるものではない。
【００２７】
以上説明した本実施形態に係る半導体集積回路のレイアウト方法によれば、未接続ポートを持つモジュールに対して、物理セルを追加、接続させることにより、配線情報としてのネットも追加し、元のネットリストでは見積ることができなかったモジュール間接続に関する配線混雑見積りを可能とすることができる。
【００２８】
［第２の実施形態］
以下、本発明に係る半導体集積回路のレイアウト方法の他の実施形態について説明する。なお、上記実施形態と同様の点についての説明は適宜省略する。
【００２９】
上記第１の実施形態において追加された物理セル（追加セル）の配置、接続に関し、仮に既存の自動配置方法に従うとすると、物理セルとの接続情報はあくまで片側のモジュール（“Ｂｌｏｃｋ”）のみであるため、モジュール（“Ｂｌｏｃｋ”）近辺に配置される可能性が高い。
【００３０】
そこで、本実施形態では、未接続ポートに接続される追加セルについて、以下の（１）〜（３）のいずれかの指定内容に従って配置をすることを可能としたものである。
（１）追加セルの配置座標を指定
（２）追加セルの配置領域を指定
（３）追加セルを接続する近傍のカスタムセルを指定
【００３１】
なお、上記（１）〜（３）のいずれの方法によるかは、表示装置にＧＵＩ表示させてユーザによる設定に従うものであっても、もしくは予め用意された設定ファイルに基づいてバッチ処理により実行されるものであっても良い。
【００３２】
図４は、第２の実施形態に係る半導体集積回路のレイアウト方法の説明図である。ここで、（１）の配置座標の指定は、図４における追加セル２１の配置座標を指定するものであり、接続先の端子並びが決定されている場合に使用することができる。
【００３３】
また、（２）の配置領域の指定は、図４における追加セル配置領域２０を指定するものであり、端子並びは未定だが、端子配置されるセルの辺が決まっている場合に使用することができる。
【００３４】
（３）の近傍のカスタムセルの指定は、図４におけるカスタムセル３０のインスタンス名を指定するものであり、接続先のセルのみが決定している場合に使用することができる。
【００３５】
以上説明したように、第２の実施形態に係る半導体集積回路のレイアウト方法によれば、さらに、フロアプランを意識した接続先の対象の指定を実現することができる。すなわち、ネットリストに追加された物理セルの配置指定に関して複数の方式を有することにより、チップフロアプラン検討の自由度が向上し、最適なチップサイズ見積りの作業効率改善が可能となる。
【００３６】
以上説明した半導体集積回路のレイアウト方法の各工程は、プログラム（半導体集積回路のレイアウトプログラム）で実行することもできる。当該プログラムは、例えば、インターネット上からのダウンロードによって提供し、パーソナルコンピュータなどの情報処理装置にインストールすることも好ましい。また、当該プログラムを情報処理装置で実行可能に記録した記録媒体の態様にも適用される。
【００３７】
尚、上述の実施形態は本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。
【符号の説明】
【００３８】
１０  標準セル配置領域（Ｌｏｇｉｃ領域）
１１  モジュール１
１２  モジュール２
１３  ＳＴＤセル
２０  追加セル配置領域
２１  追加セル
３０  カスタムセル
１００  半導体集積回路のレイアウト装置
１０１  ネットリスト読込手段
１０２  未接続ポート認識手段
１０３  任意セル接続手段
１０４  配置配線手段
１０５  配線混雑見積り手段
１１０  ネットリスト
【先行技術文献】
【特許文献】
【００３９】
【特許文献１】特許第４７６２３２６号公報
【特許文献２】特許第３５２９５６３号公報
【特許文献３】特許第３１０７２０７号公報
【図１】
2015052995.tif 000003
【図２】
2015052995.tif 000004
【図３】
2015052995.tif 000005
【図４】
2015052995.tif 000006