(57)【要約】【課題】本発明は、容量セル導入済みの半導体集積回路のレイアウト制約を生成する。【解決手段】レイアウト設計装置１は、半導体集積回路の設計に必要なセル情報を含むセルライブラリ、設計対象の半導体集積回路の回路情報及び半導体集積回路に関する消費電力情報を情報取得部６で取得する。制御プロセッサ２は、取得したセルライブラリで抽出される回路情報に含まれる各回路セルにおける消費電力を、消費電力情報から取得して、該回路セルを該消費電力に基づいて所定順に選定する。制御プロセッサ２は、選定結果に基づいて、回路セルに対する容量セルの配置有無と配置位置を決定し、該決定に基づいて容量セルを導入した半導体集積回路の回路情報を生成するとともに、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報を生成する。【選択図】          図１
2017097528.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の設計に必要なセル情報を含むセルライブラリを取得するセルライブラリ取得手段と、
設計対象の半導体集積回路の回路情報を取得する回路情報取得手段と、
前記半導体集積回路に関する消費電力情報を取得する消費電力情報取得手段と、
前記セルライブラリで抽出される前記回路情報に含まれる各回路セルにおける消費電力を、前記消費電力情報から取得して、該回路セルを該消費電力に基づいて所定順に選定する選定手段と、
前記選定結果に基づいて前記回路セルに対する容量セルの配置有無と配置位置を決定する容量セル配置決定手段と、
前記容量セル配置決定手段による決定に基づいて前記容量セルを挿入した前記半導体集積回路の回路情報を生成するとともに、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報を生成する情報生成手段と、
を備えていることを特徴とする半導体集積回路のレイアウト設計支援装置。
【請求項２】
前記選定手段は、
前記回路セルと前記回路情報との一致度を判定し、該一致度が所定の設定一致度を超えているときにのみ、前記消費電力に基づく前記回路セルの選定を行うことを特徴とする請求項１記載の半導体集積回路のレイアウト設計支援装置。
【請求項３】
前記情報生成手段は、
前記配置制約情報として、前記容量セルが対応する前記回路セルに対する該容量セルの配置位置に対する制約情報を前記消費電力に基づいて生成することを特徴とする請求項１または請求項２記載の半導体集積回路のレイアウト設計支援装置。
【請求項４】
前記レイアウト設計支援装置は、
前記容量セルの配置条件を取得する配置条件取得手段を、
さらに備え、
前記容量セル配置決定手段は、
前記選定結果及び前記配置条件に基づいて前記容量セルの配置有無と配置位置を決定することを特徴とする請求項１から請求項３のいずれかに記載の半導体集積回路のレイアウト設計支援装置。
【請求項５】
前記配置条件取得手段は、
前記容量セルの配置条件として、前記回路セルの所属するモジュール、個別の回路セルのうち少なくともいずれかを含む配置条件を取得することを特徴とする請求項４記載の半導体集積回路のレイアウト設計支援装置。
【請求項６】
前記レイアウト設計支援装置は、
配置する前記容量セルの種別を規制する容量セル種別規制条件を取得する容量セル種別規制条件取得手段を、
さらに備え、
前記容量セル配置決定手段は、
前記選定結果及び前記容量セル種別規制条件に基づいて前記容量セルの配置有無と配置する容量セルの種別を決定することを特徴とする請求項１から請求項５のいずれかに記載の半導体集積回路のレイアウト設計支援装置。
【請求項７】
前記容量セル種別規制条件取得手段は、
前記容量セル種別規制条件として、配置する前記容量セルの種別と該容量セル種別を決定する対応する前記回路セルの種別決定消費電力を取得することを特徴とする請求項６記載の半導体集積回路のレイアウト設計支援装置。
【請求項８】
半導体集積回路の設計に必要なセル情報を含むセルライブラリを取得するセルライブラリ取得処理ステップと、
設計対象の半導体集積回路の回路情報を取得する回路情報取得処理ステップと、
前記半導体集積回路に関する消費電力情報を取得する消費電力情報取得処理ステップと、
前記セルライブラリで抽出される前記回路情報に含まれる各回路セルにおける消費電力を、前記消費電力情報から取得して、該回路セルを該消費電力に基づいて所定順に選定する選定処理ステップと、
前記選定結果に基づいて前記回路セルに対する容量セルの配置有無と配置位置を決定する容量セル配置決定処理ステップと、
前記容量セル配置決定処理ステップによる決定に基づいて前記容量セルを挿入した前記半導体集積回路の回路情報を生成するとともに、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報を生成する情報生成処理ステップと、
を有していることを特徴とする半導体集積回路のレイアウト設計支援方法。
【請求項９】
制御プロセッサに、
半導体集積回路の設計に必要なセル情報を含むセルライブラリを取得するセルライブラリ取得処理と、
設計対象の半導体集積回路の回路情報を取得する回路情報取得処理と、
前記半導体集積回路に関する消費電力情報を取得する消費電力情報取得処理と、
前記セルライブラリで抽出される前記回路情報に含まれる各回路セルにおける消費電力を、前記消費電力情報から取得して、該回路セルを該消費電力に基づいて所定順に選定する選定処理と、
前記選定結果に基づいて前記回路セルに対する容量セルの配置有無と配置位置を決定する容量セル配置決定処理と、
前記容量セル配置決定処理による決定に基づいて前記容量セルを挿入した前記半導体集積回路の回路情報を生成するとともに、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報を生成する情報生成処理と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト設計支援装置、レイアウト設計支援方法及びプログラムに関し、詳細には、ＩＲドロップを考慮した半導体集積回路のレイアウト設計支援装置、レイアウト設計支援方法及びプログラムに関する。
【背景技術】
【０００２】
半導体集積回路は、配線回路、回路セル等の微細化が進み、トランジスタ等の回路のゲート酸化膜厚が薄くなるに従って、回路の駆動に必要な電源電圧が低下してきている。半導体集積回路は、この電源電圧の低下にともなって、回路の作用電極と対極間に流れる電流が作る電圧降下（ＩＲドロップ、Ｉは電流、Ｒは抵抗）が発生する。したがって、半導体集積回路のレイアウト設計においては、ＩＲドロップを考慮して、回路の遅延バラツキや動作タイミングのタイミング制約の合わせ込みを行う必要がある。その結果、半導体集積回路の製造においては、レイアウト設計の配置配線工程とＩＲドロップ許容量確認の検証工程とを繰り返し行う必要があり、タイミング収束を適切に行うことは、容易ではない。また、ＩＲドロップによる半導体集積回路全体の電圧降下幅が大きすぎると、動作不良を起すという問題もある。
【０００３】
この電圧降下に対する対策として容量セルを挿入するが、容量セルの配置場所を特定する必要がある。そして、従来、レイアウト設計実施後のデータに対して、容量セルの配置場所を特定しており、場合によっては、容量セルを挿入することができなかったり、必要な配置場所に挿入するために既に配置されている容量セルを移動する必要があった。その結果、配線性やタイミング収束性を悪化させる事態が発生し、修復工数がかかったり、修復しきれない事態が発生して、品質が劣化するという問題があった。
【０００４】
そして、従来、局所毎の電圧降下を示すＩＲドロップ情報を算出するステップと、前記ＩＲドロップ情報に基づいて、配置する回路セルの情報を格納する仮想配置ライブラリを回路モジュール別に作成するステップと、ネットリストに含まれる前記回路セルを前記仮想配置ライブラリに登録される仮想配置セルに変換して仮想配置ネットリストを生成するステップと、前記仮想配置ネットリストに基づいて前記回路モジュールを自動配置するステップと、自動配置された前記回路モジュールに含まれる前記仮想配置セルを前記ネットリストに含まれる前記回路セルに置き換え戻すステップとを具備する半導体集積回路のレイアウト設計方法が提案されている（特許文献１参照）。
【０００５】
この従来技術は、局所毎に算出したＩＲドロップ情報に基づいて、配置する回路セルの情報を格納する仮想配置ライブラリを回路モジュール別に作成し、ネットリストに含まれる回路セルを仮想配置ライブラリに登録される仮想配置セルに変換して仮想配置ネットリストを生成する。この仮想配置ネットリストに基づいて回路モジュールを自動配置し、自動配置した回路モジュールに含まれる仮想配置セルを、ネットリストに含まれる回路セルに置き換え戻すことで、ＩＲドロップ量を所定の許容範囲内に抑制しようとしている。すなわち、基準箇所の電圧に対してレイアウト上の任意の箇所でＩＲドロップする電圧量に基づいて容量セルを配置することで、ＩＲドロップ量を所定の許容範囲内に抑制しようとしている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記公報記載の従来技術にあっては、基準箇所の電圧に対してレイアウト上の任意の箇所でＩＲドロップする電圧量に基づいて容量セルを配置しているため、なお、場合によっては、容量セルを挿入することができなかったり、必要な配置場所に挿入するために既に配置されている容量セルを移動する必要があった。その結果、配線性やタイミング収束性を悪化させる事態が発生し、修復工数がかかったり、修復しきれない事態が発生して、品質が劣化するという問題が解消されていなかった。
【０００７】
そこで、本発明は、容量セル挿入済みの半導体集積回路のレイアウトを生成することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１記載のレイアウト設計支援装置は、半導体集積回路の設計に必要なセル情報を含むセルライブラリを取得するセルライブラリ取得手段と、設計対象の半導体集積回路の回路情報を取得する回路情報取得手段と、前記半導体集積回路に関する消費電力情報を取得する消費電力情報取得手段と、前記セルライブラリで抽出される前記回路情報に含まれる各回路セルにおける消費電力を、前記消費電力情報から取得して、該回路セルを該消費電力に基づいて所定順に選定する選定手段と、前記選定結果に基づいて前記回路セルに対する容量セルの配置有無と配置位置を決定する容量セル配置決定手段と、前記容量セル配置決定手段による決定に基づいて前記容量セルを挿入した前記半導体集積回路の回路情報を生成するとともに、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報を生成する情報生成手段と、を備えていることを特徴としている。
【発明の効果】
【０００９】
本発明によれば、容量セル挿入済みの半導体集積回路のレイアウトを生成することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施例を適用した半導体集積回路のレイアウト設計支援装置の概略構成図。
【図２】レイアウト設計支援装置の機能ブロック図。
【図３】レイアウト設計処理を示すフローチャート。
【図４】回路情報の一例を示す図。
【図５】消費電力情報の一例を示す図。
【図６】消費電力情報の他の例を示す図。
【図７】不一致を許容する例外設定情報の一例を示す図。
【図８】消費電力値の大きい順に並べた順位付けの一例を示す図。
【図９】容量セル挿入済み回路情報の一例を示す図。
【図１０】配置制約情報の一例を示す図。
【図１１】第２実施例のレイアウト設計支援装置の機能ブロック図。
【図１２】挿入箇所指定ファイルの一例を示す図。
【図１３】挿入箇所指定ファイルの他の例を示す図。
【図１４】挿入モジュールの指定を行う挿入箇所指定ファイルの一例を示す図。
【図１５】第３実施例のレイアウト設計支援装置の機能ブロック図。
【図１６】挿入セル指定ファイルの一例を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１２】
図１〜図１０は、本発明の半導体集積回路のレイアウト設計支援装置、レイアウト設計支援方法及びプログラムの第１実施例を示す図であり、図１は、本発明の半導体集積回路のレイアウト設計支援装置、レイアウト設計支援方法及びプログラムの第１実施例を適用したレイアウト設計支援装置１の概略構成図である。
【００１３】
図１において、レイアウト設計支援装置１は、制御プロセッサ２、メモリ３、入力デバイス４、出力デバイス５及び情報取得部６等を備えており、半導体集積回路のレイアウト設計支援を行う。
【００１４】
制御プロセッサ２は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）等で構成されている。制御プロセッサ２は、ＲＯＭ内に、レイアウト設計支援装置１としての基本プログラム、本発明の半導体集積回路のレイアウト設計方法を実行するプログラム及び必要なデータを格納している。制御プロセッサ２は、メモリ３、入力デバイス４、出力デバイス５及び情報取得部６等と接続されており、これら各部とデータの授受を行う。制御プロセッサ２は、ＣＰＵが、ＲＯＭ内のプログラムに基づいて、レイアウト設計支援装置１の各部を制御して、レイアウト設計支援装置１としての基本動作及び本発明のレイアウト設計方法を実行する。
【００１５】
メモリ３は、ＲＡＭ（Random Access Memory）等で構成されており、制御プロセッサ２の制御下で、各種データ、特に、本発明のレイアウト設計方法で使用するデータやレイアウト設計方法で生成されたデータを記憶し、また、読み出される。
【００１６】
入力デバイス４は、キーボード４ａ、マウス４ｂ等を備えており、ユーザによって、各種情報や命令が入力操作される。
【００１７】
出力デバイス５は、図１では、ディスプレイが示されており、各種情報を表示出力する。出力デバイス５は、図１では、ディスプレイが示されているが、ディスプレイのみに限るものではなく、プリンタ等の情報を記憶出力するデバイスも含んでいてもよい。
【００１８】
情報取得部６は、ハードディスク等の大容量不揮発性メモリに接続されるメモリインターフェイス、または、ネットワークインターフェイス等で構成されている。なお、図１では、情報取得部６は、詳細には図示しないが、大容量不揮発性メモリとメモリインターフェイス等を備えた状態が示されているが、ネットワークインターフェイスであってもよい。情報取得部６は、大容量不揮発性メモリを備えているときには、該大容量不揮発性メモリに、各種情報（データ）を記憶している。例えば、大横領不揮発性メモリは、半導体集積回路の設計に必要なセル情報を含むセルライブラリ、設計対象の半導体集積回路の回路情報及び半導体集積回路の設計における消費電力解析に用いる消費電力情報を記憶している。
【００１９】
情報取得部６は、大容量不揮発性メモリを備えているときには、該大容量不揮発性メモリから上記セルライブラリ、上記回路情報、上記消費電力情報等を取得する。情報取得部６は、ネットワークインターフェイスであるときには、ネットワークインターフェイスに接続されているネットワーク上のサーバ等の大容量不揮発性メモリを備えた情報提供装置に接続されている。情報提供装置は、セル情報を含むセルライブラリを蓄積しており、ネットワークインターフェイスである情報取得部６は、該情報提供装置からセル情報を含むセルライブラリを取得する。情報取得部６は、取得したセルライブラリを制御プロセッサ２へ渡す。
【００２０】
制御プロセッサ２は、後述するように、情報取得部６の取得した上記セルライブラリ、上記回路情報、上記消費電力情報に基づいて、容量セルの挿入配置を行った半導体集積回路の回路情報とレイアウト設計におけるセル配置の配置制約情報を生成する。
【００２１】
そして、レイアウト設計支援装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＵＳＢ（Universal Serial Bus）メモリ、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明の半導体集積回路のレイアウト設計方法を実行するプログラムを読み込んで制御プロセッサ２のＲＯＭ等に挿入することで、後述する容量セル挿入済みの半導体集積回路のレイアウトを生成するレイアウト設計方法を実行するレイアウト設計支援装置として構築されている。このプログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００２２】
レイアウト設計支援装置１は、上記レイアウト設計方法を実行するプログラムが挿入されることで、図２に示す機能ブロックが構築される。すなわち、レイアウト設計支援装置１は、レイアウト設計方法のプログラムが挿入されることで、図２に示すように、セルライブラリ取得部１１、回路情報取得部１２、消費電力情報取得部１３、選定部１４、容量セル配置決定部１５及び情報生成部１６が構築される。
【００２３】
セルライブラリ取得部１１は、情報取得部６により構築されており、半導体集積回路の設計に必要なセル情報を含むセルライブラリＳＬを取得する。したがって、セルライブラリ取得部１１は、セルライブラリ取得手段として機能している。レイアウト設計支援装置１は、このセルライブラリＳＬを回路情報及び回路セルによる消費電力を認識するのに用いる。
【００２４】
回路情報取得部１２は、情報取得部６により構築されており、設計対象の半導体集積回路の回路情報ＫＪを取得する。したがって、回路情報取得部１２は、回路情報取得手段として機能している。この回路情報ＫＪは、例えば、ＲＴＬ（Register transfer level）やネットリスト等の半導体集積回路の回路情報を表すデータである。
【００２５】
なお、セルライブラリ取得部１１及び回路情報取得部１２は、論理合成、消費電力解析、ＳＴＡ（static timing analysis）で生成されたデータベースから回路情報を直接読み込むものであってもよい。
【００２６】
消費電力情報取得部１３は、情報取得部６により構築されており、半導体集積回路の設計における消費電力解析に用いる消費電力情報ＤＪを取得する。したがって、消費電力情報取得部１３は、消費電力情報取得手段として機能している。ここで、消費電力情報ＤＪは、論理シミュレータから出力されるＴＣＦ、SAIF（SIDPERS Assignment Instruction File）、ＶＣＤ形式のファイルやタイミング制約として用いられるＳＤＣ（Synopsys Design Constraints）等の消費電力結果や消費電力解析が可能な情報である。
【００２７】
選定部１４は、制御プロセッサ２により構築されており、セルライブラリＳＬで抽出される回路情報ＫＪに含まれる回路セルにおける消費電力を、消費電力情報ＤＪから取得する。なお、選定部１４は、消費電力情報ＤＪが解析手法を提供するものである場合には、回路情報ＫＪから回路セルにおける消費電力を解析してもよい。選定部１４は、回路セルの消費電力を取得すると、該回路セルを所定順、例えば、消費電力の高い順に選定する。したがって、選定部１４は、選定手段として機能している。
【００２８】
容量セル配置決定部１５は、制御プロセッサ２により構築されており、前記選定結果に基づいて回路セルに対する容量セルの配置有無と配置位置を決定する。したがって、容量セル配置決定部１５は、容量セル配置決定手段として機能している。
【００２９】
情報生成部１６は、制御プロセッサ２により構築されており、容量セルを挿入した半導体集積回路の回路情報ＳＫＪを生成するとともに、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報ＳＪを生成する。したがって、情報生成部１６は、情報生成手段として機能している。なお、回路情報ＳＫＪを、以下、適宜、挿入済み回路情報ＳＫＪという。
【００３０】
次に、本実施例の作用を説明する。本実施例の半導体集積回路のレイアウト設計支援装置１は、容量セル挿入済みの半導体集積回路のレイアウトを生成する。
【００３１】
レイアウト設計支援装置１は、セルライブラリ取得部１１、回路情報取得部１２及び消費電力情報取得部１３の取得したセルライブラリＳＬ、回路情報ＫＪ及び消費電力情報ＤＪに基づいて、図３に示すように、容量セル挿入済み半導体集積回路のレイアウトを生成する。
【００３２】
レイアウト設計支援装置１は、セルライブラリ取得部１１が、セルライブラリＳＬを取得し、回路情報取得部１２が、回路情報ＫＪを取得する。また、レイアウト設計支援装置１は、消費電力情報取得部１３が、消費電力情報ＤＪを取得する。
【００３３】
いま、回路情報ＫＪは、図４に示すような回路情報であったとし、モジュールＭ１とモジュールＭ２を有したものとする。図４において、モジュールＭ１は、フリップフロップＦＦ１、ＦＦ２とオアゲートＯＲ１を有し、モジュールＭ２は、フリップフロップＦＦ３、バッファゲートＢＦ１及びアンドゲートＡＤ１を有している。また、消費電力情報ＤＪは、図５に示すような消費電力情報ＤＪ１または図６に示すような消費電力情報ＤＪ２であったものとする。また、消費電力情報ＤＪは、図５及び図６に示すように、回路セルのインスタンス名と消費電力値が記載された情報であり、各回路セルの消費電力を示す情報であるものとする。図５の消費電力情報ＤＪ１において、ＦＦ１〜ＦＦ２は、フリップフロップ、ＯＲ１は、オアゲート、ＢＦ１は、バッファゲート、ＡＤ１は、アンドゲートを示している。また、図６の消費電力情報ＤＪ２において、ＦＦ４〜ＦＦ６は、フリップフロップ、ＯＲ２は、オアゲート、ＢＦ１は、図５と同じバッファゲート、ＡＤ１は、図５と同じアンドゲートを示している。
【００３４】
そして、選定部１４は、取得されたセルライブラリＳＬと回路情報ＫＪから回路セルを抽出して、回路セルと消費電力情報ＤＪを比較し（ステップＳ１０１）、予め設定されている設定一致度以上で一致しているかチェックする（ステップＳ１０２）。
【００３５】
具体的には、選定部１４は、図４に示した回路情報ＫＪの回路セルＦＦ１〜ＦＦ３、ＯＲ１、ＢＦ１、ＡＤ１と、図５に示した消費電力情報ＤＪ１や図６に示した消費電力情報ＤＪ２の回路セルのインスタンス名ＦＦ１〜ＦＦ６、ＯＲ１、ＯＲ２、ＢＦ１、ＡＤ１を比較する。図４と図５の場合、回路情報ＫＪの回路セルと消費電力情報ＤＪ１の回路セルのインスタンス名が全て一致している。
【００３６】
ところが、消費電力情報取得部１３の取得した消費電力情報ＤＪが、例えば、図６に示すような消費電力情報ＤＪ２であると、不一致が発生している。すなわち、図６の消費電力情報ＤＪ２の場合、回路情報ＫＪのフリップフロップＦＦ１〜ＦＦ３と消費電力情報ＤＪ２のフリップフロップＦＦ４〜ＦＦ６及び回路情報ＫＪのオアゲートＯＲ１と消費電力情報ＤＪ２のオアゲートＯＲ２において不一致が発生している。そして、図６の消費電力情報ＤＪ２の場合、６つの回路セルのうち、４つの回路セルにおいて不一致が発生している。
【００３７】
ステップＳ１０２で、設定一致度が５０％に設定されていると、図６の消費電力情報ＤＪ２では、一致度が設定一致度未満であり、ＮＧであるので、選定部１４は、例外設定処理を行う（ステップＳ１０３）。この例外設定処理は、例えば、図７に示すような回路セルのインスタンス名と例外設定が記載された例外情報に基づいて例外設定を行う処理である。図７の例外情報では、不一致を許容する例外設定が、回路セルを特定して設けられた情報となっている。図７では、フリップフロップＦＦ４〜ＦＦ６とオアゲートＯＲ２において不一致を許容する例外設定（exclude）が行われている。例外設定の対象とならない箇所は、極端に消費電力値が高い箇所、トグル率が高い箇所で不一致になる場合などであるが、例外設定の可否は、ユーザが設定した判断条件に基づいて行ってもよい。
【００３８】
選定部１４は、不一致を許容する例外設定処理を行った後に、該例外設定処理を行った後の一致度が設定一致度を満たしているかの例外判断を行う（ステップＳ１０４）。
【００３９】
ステップＳ１０４で、例外判断の結果において、一致度が設定一致度を満たしていないと（ステップＳ１０４で、ＮＧのとき）、選定部１４は、レイアウト設計処理を終了する。
【００４０】
ステップＳ１０４で、例外判断の結果において、一致が設定一致度を満たすと（ステップＳ１０４で、ＯＫのとき）、選定部１４は、ステップＳ１０１に戻って、情報比較確認から上記同様に処理する（ステップＳ１０１〜Ｓ１０４）。
【００４１】
ステップＳ１０２で、設定一致度以上で一致していると（ステップＳ１０２で、一致のとき）、選定部１４は、各回路セルにおける消費電力の簡易見積りを行い（ステップＳ１０５）、消費電力に基づいて各回路セルを順位付けする（ステップＳ１０６）。ステップＳ１０２で、設定一致度以上で一致している場合としては、例えば、図４の回路情報ＫＪと図５の消費電力情報ＤＪ１の場合であり、回路情報ＫＪの回路セルと消費電力情報ＤＪ１の回路セルのインスタンス名が全て一致している。この場合、選定部１４は、各回路セルについての消費電力を、消費電力情報ＤＪから読み取ることで、簡易見積りを行うが、具体的な消費電力の簡易見積りの方法は、既存の技術を用いることができる。そして、選定部１４は、簡易見積りした回路セル毎の消費電力に基づいて、各回路セル（例えば、図５の消費電力情報ＤＪ２の回路セル）を、図８に示すように、消費電力の高い順に並べる順位付けする選定を行う。
【００４２】
次に、レイアウト設計支援装置１は、容量セル配置決定部１５が、選定された回路セルに対して、予め設定されている設定基準またはユーザの指定する設定基準に基づいて、容量セルの挿入要否の判断と挿入する場合の挿入箇所（配置）の判断を行う（ステップＳ１０７）。設定基準は、例えば、１０００［ｎＷ］等の消費電力値が設定されている。容量セル配置決定部１５は、設定基準が、例えば、１０００［ｎＷ］以上であると、図８の場合、消費電力が１５００［ｎＷ］のインスタンス名TOP/Module1/FF2の回路セルと消費電力が１０００［ｎＷ］のインスタンス名TOP/Module1/FF1の回路セルを容量セル挿入対象とする。
【００４３】
レイアウト設計支援装置１は、ステップＳ１０７で、容量セルを挿入する箇所がないと（ステップＳ１０７で、ＮＧのとき）、容量セルを挿入する必要がないため、レイアウト設計処理を終了する。
【００４４】
レイアウト設計支援装置１は、ステップＳ１０７で、容量セルを挿入する箇所があると（ステップＳ１０７で、ＯＫのとき）、情報生成部１６が、容量セルを挿入した半導体集積回路の回路情報（容量セル挿入済み回路情報）ＳＫＪを生成する。また、情報生成部１６は、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報ＳＪを生成して、レイアウト設計処理を終了する（ステップＳ１０８）。
【００４５】
容量セル挿入済み回路情報ＳＫＪは、例えば、図９に示すような回路情報であり、図９は、ＣＡＰ１とＣＡＰ２が挿入された容量セルである。ＣＡＰ１は、TOP/Module1/FF2の回路セルに対して挿入された容量セルTOP/Module1/CAP1であり、ＣＡＰ２は、TOP/Module1/FF1の回路セルに対して挿入された容量セルTOP/Module1/CAP2である。図９では、回路セルＦＦ１と回路セルＦＦ２に対してのみ容量セルＣＡＰ１、ＣＡＰ２を挿入するため、モジュールＭ１にのみ容量セルＣＡＰ１、ＣＡＰ２を挿入し、モジュールＭ２には、容量セルを挿入していない容量セル挿入済み回路情報ＳＫＪとなっている。
【００４６】
配置制約情報ＳＪは、上述のように、容量セル挿入対象の回路セルの近傍に配置することを示す情報であり、図９の場合、図１０に示すような情報となる。図１０の配置制約情報ＳＪは、グループ、インスタンス名、容量セル名及び配置の項目からなり、グループは、近傍配置する回路セルと容量セルのグループである。インスタンス名は、容量セルを挿入する対象の回路セル名、容量セル名は、挿入する容量セル名、配置は、「MUST」、「WANT」等の配置に対する制約情報である。ここで、「MUST」は、挿入対象の回路セルに必ず近接配置させる制約情報、「WANT」は、挿入対象の回路セルのなるべく近くに配置する制約情報を意味している。
【００４７】
なお、レイアウト設計支援装置１は、生成した容量セル挿入済み回路情報ＳＫＪ及び配置制約情報ＳＪを、ＲＡＭ３にファイル等の形式で格納したり、出力デバイス５により外部へ出力する。
【００４８】
このように、本実施例のレイアウト設計支援装置１は、半導体集積回路の設計に必要なセル情報を含むセルライブラリＳＬを取得するセルライブラリ取得部（セルライブラリ取得手段）１１と、設計対象の半導体集積回路の回路情報ＫＪを取得する回路情報取得部（回路情報取得手段）１２と、前記半導体集積回路に関する消費電力情報ＤＪを取得する消費電力情報取得部（消費電力情報取得手段）１３と、前記セルライブラリＳＬで抽出される前記回路情報ＫＪに含まれる各回路セルにおける消費電力を、前記消費電力情報ＤＪから取得して、該回路セルを該消費電力に基づいて所定順に選定する選定部（選定手段）１４と、前記選定結果に基づいて前記回路セルに対する容量セルの配置有無と配置位置を決定する容量セル配置決定部（容量セル配置決定手段）１５と、前記容量セル配置決定部１５による決定に基づいて前記容量セルを挿入した前記半導体集積回路の回路情報ＳＫＪを生成するとともに、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報ＳＪを生成する情報生成部（情報生成手段）１６と、を備えている。
【００４９】
したがって、半導体集積回路のレイアウト設計において、セル配置を制約する配置制約情報ＳＪとともに、ＩＲドロップに応じた容量セル挿入済みの半導体集積回路ＳＫＪのレイアウトを生成することができる。その結果、配線性やタイミング収束性を悪化させる修復工数をなくし、品質を向上させることができる。
【００５０】
また、本実施例のレイアウト設計支援装置１は、半導体集積回路の設計に必要なセル情報を含むセルライブラリＳＬを取得するセルライブラリ取得処理ステップと、設計対象の半導体集積回路の回路情報ＫＪを取得する回路情報取得処理ステップと、前記半導体集積回路に関する消費電力情報ＤＪを取得する消費電力情報取得処理ステップと、前記セルライブラリＳＬで抽出される前記回路情報ＫＪに含まれる各回路セルにおける消費電力を、前記消費電力情報ＤＪから取得して、該回路セルを該消費電力に基づいて所定順に選定する選定処理ステップと、前記選定結果に基づいて前記回路セルに対する容量セルの配置有無と配置位置を決定する容量セル配置決定処理ステップと、前記容量セル配置決定処理ステップによる決定に基づいて前記容量セルを挿入した前記半導体集積回路の回路情報ＳＫＪを生成するとともに、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報ＳＪを生成する情報生成処理ステップと、を有する半導体集積回路のレイアウト設計方法を実行する。
【００５１】
したがって、半導体集積回路のレイアウト設計において、セル配置を制約する配置制約情報ＳＪとともに、ＩＲドロップに応じた容量セル挿入済みの半導体集積回路ＳＫＪのレイアウトを生成することができる。その結果、配線性やタイミング収束性を悪化させる修復工数をなくし、品質を向上させることができる。
【００５２】
さらに、本実施例のレイアウト設計支援装置１は、制御プロセッサ２に、半導体集積回路の設計に必要なセル情報を含むセルライブラリＳＬを取得するセルライブラリ取得処理と、設計対象の半導体集積回路の回路情報ＫＪを取得する回路情報取得処理と、前記半導体集積回路に関する消費電力情報ＤＪを取得する消費電力情報取得処理と、前記セルライブラリで抽出される前記回路情報ＫＪに含まれる各回路セルにおける消費電力を、前記消費電力情報ＤＪから取得して、該回路セルを該消費電力に基づいて所定順に選定する選定処理と、前記選定結果に基づいて前記回路セルに対する容量セルの配置有無と配置位置を決定する容量セル配置決定処理と、前記容量セル配置決定処理による決定に基づいて前記容量セルを挿入した前記半導体集積回路の回路情報ＳＫＪを生成するとともに、該半導体集積回路のレイアウト設計におけるセル配置を制約する配置制約情報ＳＪを生成する情報生成処理と、を実行させるプログラムを搭載している。
【００５３】
したがって、半導体集積回路のレイアウト設計において、セル配置を制約する配置制約情報ＳＪとともに、ＩＲドロップに応じた容量セル挿入済みの半導体集積回路ＳＫＪのレイアウトを生成することができる。その結果、配線性やタイミング収束性を悪化させる修復工数をなくし、品質を向上させることができる。
【００５４】
また、本実施例のレイアウト設計支援装置１は、前記選定部１４が、前記回路セルと前記回路情報ＫＪとの一致度を判定し、該一致度が所定の設定一致度を超えているときにのみ、前記消費電力に基づく前記回路セルの選定を行う。
【００５５】
したがって、半導体集積回路のレイアウト設計において、セル配置を制約する配置制約情報ＳＪとともに、ＩＲドロップにより一層応じた容量セル挿入済みの半導体集積回路ＳＫＪのレイアウトを生成することができる。
【００５６】
さらに、本実施例のレイアウト設計支援装置１は、前記情報生成部１６が、前記配置制約情報ＳＪとして、前記容量セルが対応する前記回路セルに対する該容量セルの配置位置に対する制約情報を前記消費電力に基づいて生成する。
【００５７】
したがって、容量セルの回路セルに対する配置位置をより一層消費電力に応じた位置に制約することができ、ＩＲドロップにより一層応じた容量セル挿入済みの半導体集積回路ＳＫＪのレイアウトを生成することができる。
【実施例２】
【００５８】
図１１〜図１４は、本発明の半導体集積回路のレイアウト設計支援装置、レイアウト設計方法及びプログラムの第２実施例を示す図であり、図１１は、本発明の半導体集積回路のレイアウト設計支援装置、レイアウト設計方法及びプログラムの第２実施例を適用したレイアウト設計支援装置の機能ブロック図である。
【００５９】
なお、本実施例は、上記第１実施例のレイアウト設計支援装置１と同様のレイアウト設計支援装置に適用したものである。本実施例の説明においては、第１実施例のレイアウト設計支援装置１と同様の構成部分については、第１実施例で用いた符号をそのまま用い、説明を省略または簡略化する。
【００６０】
図１１において、レイアウト設計支援装置１は、本実施例の半導体集積回路のレイアウト設計方法を実行するプログラムが制御プロセッサ２のＲＯＭ等に挿入されることで、構築される。本実施例のレイアウト設計支援装置１は、第１実施例と同様のセルライブラリ取得部１１、回路情報取得部１２、消費電力情報取得部１３、選定部１４、容量セル配置決定部１５、情報生成部１６が構築されるとともに、挿入箇所指定情報取得部２１が構築される。
【００６１】
挿入箇所指定情報取得部２１は、情報取得部６により構築されており、配置する容量セルの配置条件としての挿入箇所指定ファイルＳＦを取得する。したがって、挿入箇所指定情報取得部２１は、配置条件取得手段として機能している。また、挿入箇所指定情報取得部２１は、前記容量セルの配置条件として、回路セルの所属するモジュール、個別の回路セルのうち少なくともいずれかを含む挿入箇所指定ファイル（配置条件）ＳＦを取得してもよい。この挿入箇所指定ファイルＳＦは、例えば、図１２に示すように、インスタンス名（「＃インスタンス名」）と例外設定が対になって登録されたファイルである。図１２では、インスタンス名が、TOP/Module1/FF4、TOP/Module1/FF5、TOP/Module1/FF6の回路セルを、容量セルの挿入対象（target）の回路セルとして、容量セルを挿入することが記載されている。また、挿入箇所指定ファイルＳＦは、例えば、図１３に示すように、インスタンス名TOP/Module1/FF1、TOP/Module1/FF2、TOP/Module1/OR1の回路セルを、容量セルの挿入対象（target）の回路セルとして、容量セルを挿入することが記載されていてもよい。さらに、挿入箇所指定ファイルＳＦは、例えば、図１４に示すように、容量セルを挿入する回路セルを個別に指定するものに限るものではなく、挿入するモジュールを（図１４では、Ｍ１）を指定していてもよい。図１４では、インスタンス名に、TOP/Module1が登録され、例外設定に、targetが登録されている。したがって、図１４の挿入箇所指定ファイルＳＦは、モジュールＭ１のみへの容量セルの挿入を規制している。
【００６２】
挿入箇所指定情報取得部２１は、取得した容量セルの配置条件を、容量セル配置決定部１５に出力する。
【００６３】
そして、容量セル配置決定部１５は、上記選定結果と挿入箇所指定情報取得部２１の取得する容量セルの配置条件に基づいて、容量セルの配置有無と配置位置を決定する。
【００６４】
すなわち、図１２の場合、上述のように、フリップフロップＦＦ４〜ＦＦ６のみを対象として、容量セルの挿入を行うことが配置条件となっている。したがって、容量セル配置決定部１５は、回路情報ＫＪが図４に示した回路情報ＫＪであると、フリップフロップＦＦ４〜ＦＦ６が存在しないため、容量セルの配置を行わない。ところが、容量セル配置決定部１５は、挿入箇所指定ファイルＳＦが図１３に示した挿入箇所指定ファイルＳＦであると、図４に示した回路情報ＫＪに、挿入箇所指定ファイルＳＦで指定されている回路セルが存在する。したがって、容量セル配置決定部１５は、消費電力情報と挿入箇所指定ファイルＳＦの双方の条件を満たす回路セルを対象として、容量セルを挿入する。図１３の挿入箇所指定ファイルＳＦでは、TOP/Module1/FF1、TOP/Module1/FF2の回路セルは、消費電力条件を満たすが、TOP/Module1/OR1の回路セルは、消費電力条件を満たしていない。したがって、容量セル配置決定部１５は、TOP/Module1/FF1、TOP/Module1/FF2の回路セルに対してのみ、容量セルを挿入することを決定する。なお、挿入箇所指定ファイルＳＦの挿入条件を、絶対条件とすると、消費電力の条件を満たしていなくても、容量セル配置決定部１５は、TOP/Module1/FF1、TOP/Module1/FF2の回路セルに対してだけでなく、TOP/Module1/OR1の回路セルに対しても容量セルを挿入すると決定してもよい。また、容量セル配置決定部１５は、挿入箇所指定ファイルＳＦが、図１４に示すものであり、回路情報ＫＪが図４に示したものであると、モジュールＭ１の回路セルであって、消費電力条件を満たした回路セルに対して容量セルを挿入する。この場合も、容量セル配置決定部１５は、挿入箇所指定ファイルＳＦの挿入条件が絶対条件であると、消費電力にかかわらず、モジュールＭ１の全ての回路セルに容量セルを挿入すると決定する。
【００６５】
このように、本実施例のレイアウト設計支援装置１は、容量セルの配置条件を取得する挿入箇所指定情報取得部（配置条件取得手段）２１を、さらに備え、容量セル配置決定部１５は、選定結果及び配置条件に基づいて容量セルの配置有無と配置位置を決定する。
【００６６】
したがって、半導体集積回路のレイアウト設計において、意図する配置条件に応じた位置に容量セルを配置した容量セル挿入済み回路情報ＳＫＪと配置制約情報ＳＪを生成することができる。
【００６７】
また、本実施例のレイアウト設計支援装置１は、挿入箇所指定情報取得部２１が、容量セルの配置条件として、回路セルの所属するモジュール、個別の回路セルのうち少なくともいずれかを含む配置条件を取得する。
【００６８】
したがって、容量セルの意図する配置位置を、より容易かつ適切に設定することができ、意図する位置に容量セルを配置した半導体集積回路のレイアウトをより容易かつ適切に生成することができる。
【実施例３】
【００６９】
図１５及び図１６は、本発明の半導体集積回路のレイアウト設計支援装置、レイアウト設計方法及びプログラムの第３実施例を示す図であり、図１５は、本発明の半導体集積回路のレイアウト設計支援装置、レイアウト設計方法及びプログラムの第３実施例を適用したレイアウト設計支援装置の機能ブロック図である。
【００７０】
なお、本実施例は、上記第１実施例のレイアウト設計支援装置１及び第２実施例のレイアウト設計支援装置１と同様のレイアウト設計支援装置に適用したものである。本実施例の説明においては、第１実施例のレイアウト設計支援装置１及び第２実施例のレイアウト設計支援装置１と同様の構成部分については、第１実施例及び第２実施例で用いた符号をそのまま用い、説明を省略または簡略化する。
【００７１】
図１５において、レイアウト設計支援装置１は、本実施例の半導体集積回路のレイアウト設計方法を実行するプログラムが制御プロセッサ２のＲＯＭ等に挿入されることで、構築される。本実施例のレイアウト設計支援装置１は、第１実施例及び第２実施例と同様のセルライブラリ取得部１１、回路情報取得部１２、消費電力情報取得部１３、選定部１４、容量セル配置決定部１５、情報生成部１６、挿入箇所指定情報取得部２１が構築されるとともに、容量セル種別規制条件取得部３１が構築される。
【００７２】
容量セル種別規制条件取得部３１は、情報取得部６により構築されており、配置する容量セルの種別を規制する容量セル種別規制条件としての挿入セル指定ファイルＳＳＦを取得する。したがって、容量セル種別規制条件取得部３１は、容量セル種別規制条件取得手段として機能している。また、容量セル種別規制条件取得部３１は、容量セル種別規制条件として、配置する容量セルの種別と配置有無を選定する配置基準消費電力を取得してもよい。この容量セル種別規制条件としての挿入セル指定ファイルＳＳＦは、配置基準消費電力も含む場合、例えば、図１６に示すようなファイルとなっている。すなわち、挿入セル指定ファイルＳＳＦは、図１６の場合、＃マスターセルとして、容量セル名（ＤＥＣＡＰ１、ＤＥＣＡＰ２）が、基準消費電力値として、容量セル名に対応させて、１０００［ｎＷ］、１４００［ｎＷ］が登録されている。図１６の挿入セル指定ファイルＳＳＦは、容量セルを挿入する対象の回路セルの消費電力が、１０００［ｎＷ］以上であれば、容量セルとして、ＤＥＣＡＰ１を挿入し、１４００［ｎＷ］以上であれば、容量セルとして、ＤＥＣＡＰ２を挿入することを示している。なお、消費電力が１４００［ｎＷ］以上では設定が競合するが、消費電力が１４００［ｎＷ］よりも大きい場合には、１４００［ｎＷ］以上と規定されている方を優先させるものとする。この場合、図１６の挿入セル指定ファイルＳＳＦは、消費電力が、１０００［ｎＷ］以上１４００［ｎＷ］未満であると、ＤＥＣＡＰ１を、１４００［ｎＷ］以上であると、ＤＥＣＡＰ２を、容量セルとして挿入することを規定するファイルであることになる。なお、挿入セル指定ファイルＳＳＦは、図１６の場合、容量セル種別規制条件として、配置する容量セルの種別と配置有無を選定する配置基準消費電力を規定するものとなっているが、配置する容量セルの種別を規制するだけの内容であってもよい。
【００７３】
容量セル種別規制条件取得部３１は、取得した挿入セル指定ファイルＳＳＦを、容量セル配置決定部１５へ出力する。
【００７４】
容量セル配置決定部１５は、上記選定結果及び容量セル種別規制条件取得部３１の取得した容量セル種別規制条件としての挿入セル指定ファイルＳＳＦに基づいて容量セルの配置有無と配置する容量セルの種類を決定する。
【００７５】
すなわち、容量セル配置決定部１５は、図４に示した回路情報ＫＪに対して、図９に示したように容量セルとして、ＣＡＰ１、ＣＡＰ２を挿入する場合、ＣＡＰ１は、TOP/Module1/FF2の回路セルに対して挿入された容量セルTOP/Module1/CAP1、ＣＡＰ２は、TOP/Module1/FF1の回路セルに対して挿入された容量セルTOP/Module1/CAP2である。そして、ＦＦ２は、消費電力が１５００［ｎW］、ＦＦ１は、消費電力が、１０００［ｎW］であるので、容量セルTOP/Module1/CAP1は、ＤＥＣＡＰ２となり、容量セルTOP/Module1/CAP2は、ＤＥＣＡＰ１となる。
【００７６】
このように、本実施例のレイアウト設計支援装置１は、配置する容量セルの種別を規制する容量セル種別規制条件である挿入セル指定ファイルＳＳＦを取得する容量セル種別規制条件取得部（容量セル種別規制条件取得手段）３１を、さらに備え、容量セル配置決定部１５は、選定結果及び容量セル種別規制条件に基づいて容量セルの配置有無と配置する容量セルの種別を決定する。
【００７７】
したがって、半導体集積回路のレイアウト設計において、意図する種別の容量セルを配置条件に応じた位置に配置した容量セル挿入済み回路情報ＳＫＪと配置制約情報ＳＪを生成することができる。
【００７８】
また、本実施例のレイアウト設計支援装置１は、容量セル種別規制条件取得部３１が、容量セル種別規制条件として、配置する容量セルの種別と該容量セル種別を決定する対応する回路セルの種別決定消費電力を取得する。
【００７９】
したがって、半導体集積回路のレイアウト設計において、意図する種別の容量セルを、該容量セルの対応する回路セルの消費電力が種別決定消費電力を満たす配置位置に配置した容量セル挿入済み回路情報ＳＫＪと配置制約情報ＳＪを生成することができる。
【００８０】
なお、上記各実施例において、各情報の取得処理、選定部１４による回路セルの消費電力に基づく選定処理、容量セル配置決定部１５による容量セルの配置有無と配置位置の決定処理及び情報生成部１６による回路情報と配置制約情報の生成を、並行処理してもよい。
【００８１】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【００８２】
１  レイアウト設計支援装置
２  制御プロセッサ
３  メモリ
４  入力デバイス
４ａ  キーボード
４ｂ  マウス
５  出力デバイス
６  情報取得部
１１  セルライブラリ取得部
１２  回路情報取得部
１３  消費電力情報取得部
１４  選定部
１５  容量セル配置決定部
１６  情報生成部
ＳＬ  セルライブラリ
ＫＪ  回路情報
ＤＪ、ＤＪ１、ＤＪ２  消費電力情報
ＳＫＪ  挿入済み回路情報
ＳＪ  配置制約情報
Ｍ１、Ｍ２  モジュール
ＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４、ＦＦ５、ＦＦ６  フリップフロップ
ＯＲ１、ＯＲ２  オアゲート
ＢＦ１  バッファゲート
ＡＤ１  アンドゲート
ＣＡＰ１、ＣＡＰ２  容量セル
２１  挿入箇所指定情報取得部
ＳＦ  挿入箇所指定ファイル
３１  容量セル種別規制条件取得部
ＳＳＦ  挿入セル指定ファイル
ＤＥＣＡＰ１、ＤＥＣＡＰ２  容量セル
【先行技術文献】
【特許文献】
【００８３】
【特許文献１】特開２０１０−０６６８７１号公報
【図１】
2017097528.tif 000003
【図２】
2017097528.tif 000004
【図３】
2017097528.tif 000005
【図４】
2017097528.tif 000006
【図５】
2017097528.tif 000007
【図６】
2017097528.tif 000008
【図７】
2017097528.tif 000009
【図８】
2017097528.tif 000010
【図９】
2017097528.tif 000011
【図１０】
2017097528.tif 000012
【図１１】
2017097528.tif 000013
【図１２】
2017097528.tif 000014
【図１３】
2017097528.tif 000015
【図１４】
2017097528.tif 000016
【図１５】
2017097528.tif 000017
【図１６】
2017097528.tif 000018