(57)【特許請求の範囲】
【請求項１】
トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する第１の抽出工程と、
前記第１の抽出工程によって抽出されたセルを中心とするそれぞれ異なる方向ごとに、前記セルに隣接する他のセルを検出する検出工程と、
前記方向ごとの前記セルに隣接する他のセルの有無の組み合わせごとに前記セルの遅延値を記憶する記憶部の中から、前記検出工程によって検出された前記方向ごとの検出結果の組み合わせに対応する遅延値を抽出する第２の抽出工程と、
前記第２の抽出工程によって抽出された遅延値を前記セルに設定する設定工程と、
をコンピュータに実行させることを特徴とする設計支援プログラム。
【請求項２】
前記検出工程によって検出された結果、前記他のセルが検出されなかった前記レイアウト上の空き領域に、デザインルールに従ってダミートランジスタを配置する配置工程を前記コンピュータに実行させることを特徴とする請求項１に記載の設計支援プログラム。
【請求項３】
前記検出工程によって検出された結果、前記セル内のトランジスタと当該トランジスタに対向配置された前記他のセル内のトランジスタとが前記デザインルールに従って配置されているか否かを判定する判定工程と、
前記判定工程によって前記デザインルールに従っていないと判定された場合、前記レイアウト上の前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更する変更工程と、
を前記コンピュータに実行させることを特徴とする請求項１または２に記載の設計支援プログラム。
【請求項４】
前記変更工程は、
前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも狭いと判定された場合、前記セルと前記他のセルとを離間させることを特徴とする請求項３に記載の設計支援プログラム。
【請求項５】
前記変更工程は、
前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも広いと判定された場合、前記セルと前記他のセルとを離間させて、前記セルと前記他のセルとの間にダミートランジスタを配置することを特徴とする請求項３に記載の設計支援プログラム。
【請求項６】
前記セルに対する前記他のセルの配置位置を変更することによる配線長の伸張にともなう遅延値の増加分と、前記デザインルールに従ってトランジスタを配置することによる遅延値の減少分と、を比較する比較工程を前記コンピュータに実行させ、
前記変更工程は、
前記比較工程によって比較された結果、前記遅延値の減少分が前記遅延値の増加分よりも大きい場合に、前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更することを特徴とする付記４または５に記載の設計支援プログラム。
【請求項７】
請求項１〜６のいずれか一つに記載の設計支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項８】
トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する第１の抽出手段と、
前記第１の抽出手段によって抽出されたセルを中心とするそれぞれ異なる方向ごとに、前記セルに隣接する他のセルを検出する検出手段と、
前記方向ごとの前記セルに隣接する他のセルの有無の組み合わせごとに前記セルの遅延値を記憶する記憶部の中から、前記検出手段によって検出された前記方向ごとの検出結果の組み合わせに対応する遅延値を抽出する第２の抽出手段と、
前記第２の抽出手段によって抽出された遅延値を前記セルに設定する設定手段と、
を備えることを特徴とする設計支援装置。
【請求項９】
トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する第１の抽出工程と、
前記第１の抽出工程によって抽出されたセルを中心とするそれぞれ異なる方向ごとに、前記セルに隣接する他のセルを検出する検出工程と、
前記方向ごとの前記セルに隣接する他のセルの有無の組み合わせごとに前記セルの遅延値を記憶する記憶部の中から、前記検出工程によって検出された前記方向ごとの検出結果の組み合わせに対応する遅延値を抽出する第２の抽出工程と、
前記第２の抽出工程によって抽出された遅延値を前記セルに設定する設定工程と、
を含んだことを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路の設計を支援する設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路の微細化にともない、プロセスのばらつき、電源電圧の低下、クロストークなどの影響が大きくなってきており、回路遅延の変動が増大している。半導体集積回路の回路遅延を見積もる遅延解析において、これら回路遅延の変動はマージンとして余分に確保されているが、マージンの増大化のためタイミング設計が困難となってきている。
【０００３】
この回路遅延の変動の原因として、製造時の露光工程においてシリコンウェハ上にパターンを転写する際に、微細なパターンの形状を適切に転写することができないことによる転写パターンの形状ばらつきがある。特に、露光波長と同等以下の寸法のパターンを転写する際には、光の近接効果により、転写パターンが細くなってしまい、最悪の場合には途切れてしまうなどの問題が発生している。
【０００４】
そこで、光の近接効果を考慮して、シリコンウェハ上に転写されるパターンを補正する手法が開示されている。たとえば、パターンの輪郭部分など、転写後に実際の寸法よりも細くなる部分を予め太くしておく「ハンマーヘッド・パターン」や、パターンの線幅変動を補正する「バイアス」などの手法がある。
【０００５】
また、入力信号のタイミングエラーが発生したセルブロック内部の特定のセル構成要素の寸法を変更することにより、レイアウト設計後のタイミング調整をおこなう手法が開示されている（たとえば、下記特許文献１参照。）。これによれば、タイミングエラー発生時に、設計ＴＡＴに影響を与える再度の回路設計、およびレイアウト修正をおこなうことなく、自動的に短ＴＡＴなタイミング調整をおこなうことができる。
【０００６】
【特許文献１】特開２０００−３３２１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術によれば、設計対象回路のレイアウト設計において、レイアウト上の各セルに対してどのような配置パターンで他のセルが配置されたとしても外部出力が安定するように、隣接セルが存在しないことを前提とする最悪条件でのセルのキャラクタライズがおこなわれていた。
【０００８】
その結果、遅延のマージンが過剰なものとなってしまい、悲観的でかつ不正確な遅延解析がおこなわれていた。このため、回路設計の手戻り作業が多発してしまい、検証作業の長期化、ひいては設計期間の長期化を招くという問題があった。
【０００９】
また、リーク電流についても、最悪条件でのセルのキャラクタライズがおこなわれていたため、消費電力のマージンが過剰なものとなってしまっていた。このため、必要以上の電源配線リソースや電源が要求され、回路設計が非常に困難なものとなり、検証作業の長期化、ひいては設計期間の長期化を招くという問題があった。
【００１０】
この発明は、上述した従来技術による問題点を解消するため、セルのキャラクタライズに依存する不要なマージンを削減することにより、タイミング設計の最適化を実現し、設計者の負担軽減および設計期間の短縮化を図ることができる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、この発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法は、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出し、抽出されたセルに隣接する他のセルを検出し、検出された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定することを特徴とする。
【００１２】
この発明によれば、設計対象回路のレイアウト上に配置された任意のセルの遅延値を、該セルに隣接する他のセルの配置パターンに応じて設定することができる。
【００１３】
また、上記発明において、前記任意のセルが検出された結果、前記他のセルが検出されなかった前記レイアウト上の空き領域に、デザインルールに従ってダミートランジスタを配置することとしてもよい。
【００１４】
この発明によれば、任意のセルに隣接する他のセルが配置されていないレイアウト上の空き領域にダミートランジスタを配置することができる。
【００１５】
また、上記発明において、前記任意のセルが検出された結果、前記セル内のトランジスタと当該トランジスタに対向配置された前記他のセル内のトランジスタとが前記デザインルールに従って配置されているか否かを判定し、前記デザインルールに従っていないと判定された場合、前記レイアウト上の前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更することとしてもよい。
【００１６】
また、上記発明において、前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも狭いと判定された場合、前記セルと前記他のセルとを離間することとしてもよい。
【００１７】
また、上記発明において、前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも広いと判定された場合、前記セルと前記他のセルとを離間して、前記セル内と前記他のセルとの間にダミートランジスタを配置することとしてもよい。
【００１８】
これらの発明によれば、任意のセル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとをデザインルールに従って配置することができる。
【００１９】
また、上記発明において、前記セルに対する前記他のセルの配置位置を変更させることによる配線長の伸張にともなう遅延値の増加分と、前記デザインルールに従ってトランジスタを配置させることによる遅延値の減少分と、を比較し、比較された結果、前記遅延値の減少分が前記遅延値の増加分よりも大きい場合に、前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更することとしてもよい。
【００２０】
この発明によれば、配線長の伸張にともなう遅延値の増加分と、デザインルール違反を解消することによる遅延値の減少分とのトレードオフを考慮して、他のセルの配置位置を変更することができる。
【００２１】
また、上記発明において、前記ダミートランジスタの配置位置に配線が存在するか否かを判断し、前記配線が存在しないと判断された場合、前記他のセルが検出されなかった前記レイアウト上の空き領域に前記ダミートランジスタを配置することとしてもよい。
【００２２】
また、上記発明において、前記ダミートランジスタの配置位置に配線が存在するか否かを判断し、前記配線が存在しないと判断された場合、前記セル内のトランジスタと前記他のセル内のトランジスタとの間に前記ダミートランジスタを配置することとしてもよい。
【００２３】
これらの発明によれば、隣接する他のセルが存在しない空き領域のうち、配線が存在しない空き領域にだけダミートランジスタを配置することができる。
【００２４】
また、上記発明において、前記レイアウトの境界領域に前記ダミートランジスタを配置することとしてもよい。
【００２５】
この発明によれば、レイアウトの境界領域に隣接するセルの境界領域側でのデザインルールを確保することができる。
【００２６】
また、上記発明において、前記ダミートランジスタが配置された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定することとしてもよい。
【００２７】
この発明によれば、任意のセルの遅延値を、ダミートランジスタの配置にともなって変化する他のセルの配置パターンに応じて設定することができる。
【００２８】
また、この発明にかかる記録媒体は、トランジスタからなるセルに隣接する空き領域にダミートランジスタが配置された設計対象回路に関する設計データを記録したことを特徴とする。
【００２９】
また、この発明にかかる半導体集積回路は、トランジスタからなるセルに隣接する領域にダミートランジスタが配置されていることを特徴とする。
【００３０】
これの発明によれば、半導体集積回路の歩留まりを向上させることができる。
【発明の効果】
【００３１】
本発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法によれば、セルのキャラクタライズに依存する不要なマージンを削減することにより、タイミング設計の最適化を実現し、設計者の負担軽減および設計期間の短縮化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３２】
以下に添付図面を参照して、この発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法の好適な実施の形態を詳細に説明する。
【００３３】
（本発明の概要）
まず、本発明の概要について説明する。図１は、セルのキャラクタライズをおこなう際の最悪条件および最良条件を示す説明図である。図１において、複数のトランジスタからなるセルのキャラクタライズをおこなう際の最悪条件および最良条件が示されている。
【００３４】
最悪条件とは、あるセルに対して、隣接する他のセルがプリファードルールに従って配置されていない状況をあらわす。ここで、プリファードルールとは、トランジスタ間の間隔を規定するデザインルールである。最良条件とは、あるセルに対して、隣接するセルがプリファードルールに従って配置されている状況をあらわす。
【００３５】
通常、設計対象回路のレイアウト設計において、レイアウト上に配置・配線をおこなう際に、プリファードルールに従ってトランジスタを規則的に並べることにより、マスク設計において、シリコンウェハ上により鮮明（正確）にマスクパターン（転写パターン）を転写することができる。
【００３６】
なぜなら、プリファードルールに定められた間隔でトランジスタを配置することにより、フォトマスクを透過した光が互いに干渉して強めあい、シリコンウェハ上にマスクパターンの微細な形状（特に、輪郭部分）をより正確に転写することができるからである。これにより、マスクパターンの形状ばらつきを抑え、遅延および消費電力の不要なマージンを削減することができる。
【００３７】
本実施の形態では、レイアウト上のセルに隣接する他のセルの配置パターンに応じて、該セルのキャラクタライズをおこなうことにより、遅延および消費電力の不要なマージンを削減する。さらに、プリファードルールに従って、よりよい配置パターンを意図的に作り出すことにより、最良条件でのキャラクタライズを実現し、より効果的なマージンの削減を図る。
【００３８】
（設計支援装置２００のハードウェア構成）
つぎに、この発明の実施の形態にかかる設計支援装置２００のハードウェア構成について説明する。図２は、この発明の実施の形態にかかる設計支援装置２００のハードウェア構成を示す説明図である。
【００３９】
図２において、設計支援装置２００は、コンピュータ本体２１０と、入力装置２２０と、出力装置２３０と、から構成されており、不図示のルータやモデムを介してＬＡＮ，ＷＡＮやインターネットなどのネットワーク２４０に接続可能である。
【００４０】
コンピュータ本体２１０は、ＣＰＵ，メモリ，インターフェースを有する。ＣＰＵは、設計支援装置２００の全体の制御を司る。メモリは、ＲＯＭ，ＲＡＭ，ＨＤ，光ディスク２１１，フラッシュメモリから構成される。メモリはＣＰＵのワークエリアとして使用される。
【００４１】
また、メモリには各種プログラムが格納されており、ＣＰＵからの命令に応じてロードされる。ＨＤおよび光ディスク２１１はディスクドライブによりデータのリード／ライトが制御される。また、光ディスク２１１およびフラッシュメモリはコンピュータ本体２１０に対し着脱自在である。インターフェースは、入力装置２２０からの入力、出力装置２３０への出力、ネットワーク２４０に対する送受信の制御をおこなう。
【００４２】
また、入力装置２２０としては、キーボード２２１、マウス２２２、スキャナ２２３などがある。キーボード２２１は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス２２２は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ２２３は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体２１０内のメモリに格納される。なお、スキャナ２２３にＯＣＲ機能を持たせてもよい。
【００４３】
また、出力装置２３０としては、ディスプレイ２３１、スピーカ２３２、プリンタ２３３などがある。ディスプレイ２３１は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ２３２は、効果音や読み上げ音などの音声を出力する。また、プリンタ２３３は、画像データや文書データを印刷する。
【００４４】
（他のセルの配置パターン）
つぎに、他のセルの配置パターンについて説明する。図３は、他のセルの配置パターンを示す説明図である。図３において、セルに隣接する他のセルの配置状況に基づく４つの配置パターンを示す。なお、本実施の形態では、あるセルに対して、左右両側に他のセルを配置可能な空き領域が存在することとする。
【００４５】
配置パターンＡは、セルに対して、左右両側の空き領域に他のセルが配置されていないパターンである。配置パターンＢは、セルに対して、右側の空き領域にプリファードルールに従って他のセルが配置されたパターンである。配置パターンＤは、セルに対して、左側の空き領域にプリファードルールに従って他のセルが配置されたパターンである。配置パターンＥは、セルに対して、左右両側の空き領域にプリファードルールに従って他のセルが配置されたパターンである。
【００４６】
このように、設計対象回路のレイアウト上に配置されている各セルに隣接する他のセルの配置パターンを、他のセルの配置状況に基づいて、配置パターンＡ，Ｂ，ＤおよびＥの４つのパターンに分類する。
【００４７】
（セルライブラリ４００の記憶内容）
つぎに、セルライブラリ４００について説明する。図４は、セルライブラリ４００の記憶内容を示す説明図である。図４において、セルライブラリ４００は、セルＣ１〜Ｃｎごとに、遅延情報４００−１〜４００−ｎを保持している。具体的には、遅延情報４００−１〜４００−ｎは、セル名、セルタイプおよび図３に示した配置パターンＡ，Ｂ、ＤおよびＥに応じた複数の遅延値［ｍｉｎ（最小遅延値），ｍａｘ（最大遅延値）］を有している。
【００４８】
セル名は、セルの名称である。セルタイプは、セルの性能特性をあらわす情報であり、たとえば、インバータ、フリップフロップ、バッファなどの機能（種別）をあらわす。遅延値［ｍｉｘ，ｍａｘ］は、設計対象回路の回路遅延を見積もる遅延解析において実際に扱う各セルの遅延時間をあらわす値である。
【００４９】
ここで、セルＣｉを例に挙げると、セルタイプはバッファであり、遅延値として、配置パターンＡに応じた遅延値［ａｉ，Ａｉ］、配置パターンＢに応じた遅延値［ｂｉ，Ｂｉ］、配置パターンＤに応じた遅延値［ｄｉ，Ｄｉ］、および配置パターンＥに応じた遅延値［ｅｉ，Ｅｉ］を有している。
【００５０】
なお、セルライブラリ４００に保持される各セルの遅延値は、たとえば、隣接する他のセルの配置パターンに応じた条件を用いて、公知技術であるＳＳＴＡ（Ｓｔａｔｉｓｔｉｃａｌ  Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｚｅｒ）手法により算出することができる。
【００５１】
（設計支援装置２００の機能的構成）
つぎに、この発明の実施の形態にかかる設計支援装置２００の機能的構成について説明する。図５は、この発明の実施の形態にかかる設計支援装置２００の機能的構成を示すブロック図である。図５において、設計支援装置２００は、セルライブラリ４００と、抽出部５０１と、検出部５０２と、設定部５０３と、配置部５０４と、判定部５０５と、変更部５０６と、比較部５０７と、判断部５０８と、から構成されている。
【００５２】
これら各機能５０１〜５０８は、記憶領域に格納された当該機能に関するプログラムをＣＰＵに実行させることにより、当該機能を実現することができる。また、各機能５０１〜５０８からの出力データは記憶領域に保持される。また、図５中矢印で示した接続先の機能的構成は、接続元の機能からの出力データを記憶領域から読み込んで、当該機能に関するプログラムをＣＰＵに実行させる。
【００５３】
まず、抽出部５０１は、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する機能を有する。具体的には、設計対象回路のレイアウト情報の中から任意のセルに関する配置情報を抽出する。レイアウト情報とは、設計対象回路内のトランジスタやセルの接続関係を示す情報（たとえば、ネットリスト）である。より具体的には、セルと該セルに隣接する他のセルとの配置関係を示す配置情報が含まれている。
【００５４】
レイアウト情報は、設計支援装置２００に直接入力することとしてもよく、また、ネットワーク２４０を介して外部のコンピュータ装置から取得することとしてもよい。なお、入力あるいは取得されたこのレイアウト情報（配置情報）は、ＲＯＭやＲＡＭなどの記憶領域に記憶される。
【００５５】
ここで、配置情報について説明する。図６は、配置情報の一例を示す説明図である。図６において、配置情報テーブル６００には、設計対象回路のレイアウト上に配置されたセル（セルインスタンス）ごとに、該セルに隣接する他のセルとの配置関係を示す配置情報６００−１〜６００−ｎが示されている。この配置情報テーブル６００は、ＲＯＭやＲＡＭなどの記憶領域に記憶されている。
【００５６】
具体的には、配置情報６００−１〜６００−ｎは、インスタンス名、配置パターン、挿入済みフラグおよびプリファードルール違反に関する情報を有している。インスタンス名は、レイアウト上に配置されたセルの名称である。このインスタンス名からレイアウト上に配置された各セルのセル名やセルタイプなどを特定することができる。
【００５７】
配置パターンは、各セルに隣接する他のセルの配置状況を示す。挿入済みフラグは、後述するダミートランジスタが配置された配置位置（右側：Ｒ、左側：Ｌ）を示す。プリファードルール違反は、プリファードルール違反となっているトランジスタの配置位置（右側：Ｒ、左側：Ｌ）を示す。
【００５８】
ここで、配置情報６００−１を例に挙げると、インスタンス名「ａａａ１」のセルについて、該セルに隣接する他のセルの配置パターンは配置パターンＡ（図３参照）であり、ダミートランジスタは左右両側とも配置されていないことを示している。
【００５９】
また、配置情報６００−４を例に挙げると、インスタンス名「ｃｃｄ４」のセルについて、該セルに隣接する他のセルの配置パターンは配置パターンＤ（図３参照）であり、ダミートランジスタは左右両側とも配置されておらず、左側に配置されているトランジスタとの間隔がプリファードルールに従っていないことを示している。
【００６０】
ここで、図５の説明に戻り、検出部５０２は、抽出部５０１によって抽出されたセルに隣接する他のセルを検出する機能を有する。具体的には、任意のセルに関する配置情報を参照することにより、該セルに隣接する他のセルの配置パターンを検出することとしてもよい。たとえば、図６に示した配置情報６００−４が抽出されたとすると、その配置情報６００−４を参照して配置パターンＤを検出する。
【００６１】
設定部５０３は、検出部５０２によって検出された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値を設定する機能を有する。具体的には、検出部５０２によって検出された配置パターンに応じて、任意のセルの遅延値をセルライブラリ４００（図４参照）から抽出して、該セルの遅延値として設定する（後述する実施例１参照）。
【００６２】
たとえば、配置情報６００−４を参照して配置パターンＤが検出されたとすると、インスタンス名「ｃｃｄ４」から特定されるセル名、セルタイプおよび配置パターンＤを用いて、セルライブラリ４００の中から対応する遅延値を抽出して、その遅延値をセルの遅延値として設定する。
【００６３】
これにより、設計対象回路のレイアウト上に配置された任意のセルの遅延値を、該セルに隣接する他のセルの配置パターンＡ，Ｂ，ＤおよびＥに応じて設定することができる。この結果、セルごとに、配置パターンＡ，Ｂ，ＤおよびＥに応じた条件でのキャラクタライズを実現し、遅延および消費電力の不要なマージンを削減することができる。
【００６４】
配置部５０４は、検出部５０２によって検出された結果、他のセルが検出されなかったレイアウト上の空き領域に、デザインルールに従ってダミートランジスタを配置する機能を有する。具体的には、トランジスタ間の間隔を規定するプリファードルールに従って、セルに隣接する空き領域にダミートランジスタを配置する（後述する実施例２参照）。
【００６５】
これにより、設計対象回路のレイアウト上に配置された任意のセルについて、該セルに隣接する他のセルが配置されていない空き領域にプリファードルールに従ってダミートランジスタを配置することができる。すなわち、ダミートランジスタを配置することにより、よりよい条件でのセルのキャラクタライズを実現する配置パターンを意図的に作り出すことができる。
【００６６】
判定部５０５は、検出部５０２によって検出された結果、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがデザインルールに従って配置されているか否かを判定する機能を有する。すなわち、隣接する他のセルが配置されている状況下において、セル内のトランジスタと他のセル内のトランジスタとの間隔がプリファードルールに従っているか否かを判定する。
【００６７】
変更部５０６は、判定部５０５によってデザインルールに従っていないと判定された場合、レイアウト上のセルに対する他のセルの配置位置をデザインルールに従って変更する機能を有する。具体的には、セル内のトランジスタと他のセル内のトランジスタとの間隔がデザインルールで定められた間隔よりも狭いと判定された場合、セルと他のセルとを離間することとしてもよい（後述する実施例３参照）。
【００６８】
また、セル内のトランジスタと他のセル内のトランジスタとの間隔がデザインルールで定められた間隔よりも広いと判定された場合、セルと他のセル内とを離間させて、該セルと該他のセルとの間にダミートランジスタを配置することとしてもよい（後述する実施例４参照）。
【００６９】
これにより、設計対象回路のレイアウト上に配置された任意のセルについて、該セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されていない場合、他のセルの配置位置をプリファードルールに従って変更することができる。
【００７０】
比較部５０７は、セルに対する他のセルの配置位置を変更させることによる配線長の伸張にともなう遅延値の増加分と、デザインルールに従ってトランジスタを配置させることによる遅延値の減少分と、を比較する機能を有する。具体的には、たとえば、配線長の伸張にともなう遅延値の増加分と、セルと他のセルとを離間して該セルと該他のセルとの間にダミートランジスタを配置したことによる遅延値の減少分と、を比較する。
【００７１】
この比較処理は、変更前後の回路遅延を見積もる遅延解析を実行し、それぞれの解析結果を利用して、遅延値の増加分と遅延値の減少分との比較をおこなうこととしてもよい。また、変更箇所だけに注目して、伸張した配線の長さに応じた遅延値（増加分）と、配置パターンが変化することによって改善された遅延値（減少分）とを比較することとしてもよい。
【００７２】
変更部５０６は、比較部５０７によって比較された結果、遅延値の減少分が遅延値の増加分よりも大きい場合に、セルに対する他のセルの配置位置をデザインルールに従って変更することとしてもよい（後述する実施例５参照）。つまり、変更前後の遅延値の増加分と減少分とのトレードオフを考慮して、変更部５０６による変更処理を実行するか否かを判断する。
【００７３】
判断部５０８は、ダミートランジスタの配置位置に配線が存在するか否かを判断する機能を有する。具体的には、たとえば、設計対象回路のネットリストから、レイアウト上の配線の位置を判断し、ダミートランジスタの配置位置に配線が存在するか否かを判断する（後述する実施例６参照）。
【００７４】
配置部５０４は、判断部５０８によって配線が存在しないと判断された場合、他のセルが検出されなかったレイアウト上の空き領域にダミートランジスタを配置することとしてもよい。また、変更部５０６は、判断部５０８によって配線が存在しないと判断された場合、セル内のトランジスタと他のセル内のトランジスタとの間にダミートランジスタを配置することとしてもよい。
【００７５】
これにより、ダミートランジスタを配置する際に、該ダミートランジスタの配置位置に配線が存在する場合には、該配線をダミートランジスタとして扱うことにより、配線率の低下を防ぐとともに、不要なダミートランジスタの配置にかかる処理を削減することができる。
【００７６】
なお、上記配置部５０４による配置処理および上記変更部５０６による変更処理がおこなわれた場合、そのセルに関する配置情報（たとえば、図６に示した配置情報６００−１〜６００−ｎ）の内容が更新される。具体的には、セルに隣接してダミートランジスタが配置されると、該ダミートランジスタの配置位置を示す内容が更新される。
【００７７】
さらに、ダミートランジスタが配置されて隣接する他のセルの配置パターンが変化した場合には、他のセルの配置状況を示す内容が更新される。また、プリファードルール違反が解消されると、プリファードルール違反の配置位置を示す内容が更新される。
【００７８】
ここで、図６に示した配置情報６００−４を例に挙げると、インスタンス名「ｃｃｄ４」のセルの右側の空き領域にダミートランジスタが配置された場合、挿入済みフラグの欄に「Ｒ」が付与され、さらに、配置パターンが配置パターンＤから配置パターンＥに変更される。また、左側のプリファードルール違反が解消された場合、プリファードルール違反の欄から「Ｌ」が削除される。
【００７９】
また、配置部５０４は、レイアウトの境界領域にダミートランジスタを配置する機能を有する。すなわち、レイアウトの境界領域に予めダミートランジスタを配置することにより、レイアウトの外周に沿って配置されるセルの左側あるいは右側のプリファードルールを確保する（後述する実施例７参照）。これにより、レイアウトの境界領域に隣接するセルについて、よりよい条件でのキャラクタライズを実現することができる。
【００８０】
設定部５０３は、配置部５０４によってダミートランジスタが配置された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値を設定する機能を有する。具体的には、配置部５０４によってダミートランジスタが配置されたあとの配置パターンに応じて、任意のセルの遅延値をセルライブラリ４００（図４参照）から抽出して、該セルの遅延値として設定する。
【００８１】
また、設定部５０３は、変更部５０６によってダミートランジスタが配置された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値を設定する機能を有する。変更部５０６によってダミートランジスタが配置されたあとの配置パターンに応じて、任意のセルの遅延値をセルライブラリ４００（図４参照）から抽出して、該セルの遅延値として設定する。
【００８２】
これにより、設計対象回路のレイアウト上に配置された任意のセルの遅延値を、ダミートランジスタの配置にともなって変化する他のセルの配置パターンＡ，Ｂ，ＤおよびＥに応じて設定することができる。この結果、よりよい条件でのセルのキャラクタライズを実現し、遅延および消費電力の不要なマージンを削減することができる。
【００８３】
（設計支援装置２００の設計支援処理手順）
つぎに、この発明の実施の形態にかかる設計支援装置２００の設計支援処理手順について説明する。図７は、この発明の実施の形態にかかる設計支援装置２００の設計支援処理手順を示すフローチャートである。
【００８４】
図７のフローチャートにおいて、まず、抽出部５０１により、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する（ステップＳ７０１）。このあと、検出部５０２により、抽出部５０１によって抽出されたセルに隣接する他のセルを検出する（ステップＳ７０２）。
【００８５】
つぎに、配置部５０４により、検出部５０２によって検出された結果、他のセルが検出されなかったレイアウト上の空き領域にダミートランジスタを配置する配置処理を実行する（ステップＳ７０３）。さらに、変更部５０６により、レイアウト上のセルに対する他のセルの配置位置をデザインルールに従って変更する変更処理を実行する（ステップＳ７０４）。
【００８６】
最後に、設定部５０３により、セルに隣接する他のセルの配置パターンに応じてセルの遅延値を設定して（ステップＳ７０５）、本フローチャートによる一連の処理を終了する。なお、ステップＳ７０３およびステップＳ７０４における処理は、実行順序が逆であってもよく、また、同時並行して実行することとしてもよい。
【００８７】
以上説明した、この発明の実施の形態によれば、設計対象回路のレイアウト上に配置された任意のセルの遅延値を、該セルに隣接する他のセルの配置パターンＡ，Ｂ，ＤおよびＥに応じて設定することができる。これにより、各配置パターンＡ，Ｂ，ＤおよびＥに応じた条件でのセルのキャラクタライズを実現し、遅延および消費電力の不要なマージンを削減することができる。
【００８８】
また、設計対象回路のレイアウト上に配置された任意のセルについて、該セルに隣接する他のセルが配置されていない空き領域にプリファードルールに従ってダミートランジスタを配置することができる。さらに、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されていない場合、他のセルの配置位置をプリファードルールに従って変更することができる。
【００８９】
このように、プリファードルールに従ってダミートランジスタを配置することにより、よりよい条件でのセルのキャラクタライズを実現する配置パターンを意図的に作り出すことができる。さらに、セルの遅延値を、意図的に作り出した配置パターンＡ，Ｂ，ＤおよびＥに応じて設定することにより、よりよい条件でのセルのキャラクタライズを実現し、遅延および消費電力の不要なマージンを削減することができる。
【００９０】
また、配置パターンの変更前後の遅延値の増加分と減少分とを比較して、該配置パターンを変更するか否かを判断することができる。これにより、遅延値の増加分と減少分とのトレードオフを考慮した、よりよい条件下でのセルのキャラクタライズを実現することができる。
【００９１】
また、ダミートランジスタを配置する際に、該ダミートランジスタの配置位置に配線が存在する場合には、該配線をダミートランジスタとして扱うことにより、配線率の低下を防ぐとともに不要なダミートランジスタの配置にかかる処理を削減することができる。
【実施例１】
【００９２】
つぎに、上述した実施の形態の実施例１について説明する。図８は、設計対象回路のレイアウト８００を示す説明図である。図８において、設計対象回路のレイアウト８００には、トランジスタからなる複数のセルが配置されている。また、各セルには、隣接する他のセルの配置状況に基づく配置パターンＡ，Ｂ，ＤおよびＥが表記されている。
【００９３】
実施例１では、設計対象回路の回路遅延を見積もる際に、遅延解析に用いる各セルの遅延値を、該各セルに隣接する他のセルの配置パターンＡ，Ｂ，ＤおよびＥに応じて使い分ける。以下、実施例１における設計支援処理手順について説明する。
【００９４】
図９は、実施例１における設計支援処理手順を示すフローチャートである。図９のフローチャートにおいて、まず、抽出部５０１により、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出して（ステップＳ９０１）、検出部５０２により、該セルに隣接する他のセルを検出する（ステップＳ９０２）。
【００９５】
このあと、設定部５０３により、検出部５０２によって検出された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値をセルライブラリ４００から抽出し、その遅延値をステップＳ９０１において抽出されたセルの遅延値に設定する（ステップＳ９０３）。
【００９６】
つぎに、レイアウト７００内のセル群のうち未抽出のセルの存否を判断して（ステップＳ９０４）、未抽出のセルが存在する場合（ステップＳ９０４：Ｙｅｓ）、ステップＳ９０１に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合（ステップＳ９０４：Ｎｏ）、本フローチャートによる一連の処理を終了する。
【００９７】
具体的には、たとえば、図６に示した配置情報６００−１〜６００−ｎを順に抽出し、未抽出の配置情報６００−１〜６００−ｎがなくなるまで、上記ステップＳ９０１〜ステップＳ９０４を繰り返し実行する。
【００９８】
実施例１によれば、レイアウト８００内の各セルの遅延値を、隣接する他のセルの配置パターンＡ，Ｂ，ＤおよびＥに応じて設定することができる。このため、設計対象回路の回路遅延を見積もる際に、各セルの条件（最悪条件や最良条件など）に対応する適切な遅延値を用いて遅延解析を実行することができ、不要な遅延のマージンを削減することができる。
【実施例２】
【００９９】
つぎに、上述した実施の形態の実施例２について説明する。実施例２では、セルに隣接する他のセルが配置されていないレイアウト上の空き領域にダミートランジスタを配置することにより、よりよい条件下でのセルのキャラクタライズを実現する。図１０は、設計対象回路のレイアウト１０００を示す説明図である。
【０１００】
図１０において、レイアウト１０００には、各セルに隣接する他のセルが配置されていない空き領域に、プリファードルールに従ってダミートランジスタＤＴが配置されている。これにより、図８に示したレイアウト８００内のセル群のうち一部のセルについて、該セルに隣接する他のセルの配置パターンが変化している。
【０１０１】
たとえば、セルＣｐについて、右側の空き領域にダミートランジスタＤＴが配置されたことにより、配置パターンが配置パターンＡから配置パターンＢに変化している。また、セルＣｑについて、左側の空き領域にダミートランジスタＤＴが配置されたことにより、配置パターンが配置パターンＢから配置パターンＥに変化している。以下、実施例２における設計支援処理手順について説明する。
【０１０２】
図１１は、実施例２における設計支援処理手順を示すフローチャートである。図１１のフローチャートにおいて、まず、抽出部５０１により、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出して（ステップＳ１１０１）、検出部５０２により、該セルに隣接する他のセルを検出する（ステップＳ１１０２）。
【０１０３】
このあと、他のセルが検出されたか否かを判断して（ステップＳ１１０３）、検出されなかった場合（ステップＳ１１０３：Ｎｏ）、配置部５０４により、他のセルが検出されなかったレイアウト上の空き領域にダミートランジスタＤＴを配置する（ステップＳ１１０４）。
【０１０４】
つぎに、ダミートランジスタＤＴを配置した配置位置に基づいて配置情報を更新し（ステップＳ１１０５）、設定部５０３により、配置部５０４によってダミートランジスタＤＴが配置された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値をセルライブラリ４００から抽出して、その遅延値をステップＳ１１０１において抽出されたセルの遅延値に設定する（ステップＳ１１０６）。
【０１０５】
このあと、レイアウト内のセル群のうち未抽出のセルの存否を判断して（ステップＳ１１０７）、未抽出のセルが存在する場合（ステップＳ１１０７：Ｙｅｓ）、ステップＳ１１０１に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合（ステップＳ１１０７：Ｎｏ）、本フローチャートによる一連の処理を終了する。また、ステップＳ１１０３において他のセルが検出された場合（ステップＳ１１０３：Ｙｅｓ）、ステップＳ１１０６に移行する。
【０１０６】
実施例２によれば、セルに隣接する他のセルが配置されていないレイアウト上の空き領域にダミートランジスタＤＴを配置することができる。これにより、よりよい条件下でのセルのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減することができる。
【実施例３】
【０１０７】
つぎに、上述した実施の形態の実施例３について説明する。実施例３では、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがデザインルールに従って配置されていない場合に、他のセルの配置位置を変更することにより、よりよい条件下でのセルのキャラクタライズを実現する。
【０１０８】
図１２は、変更部５０６による変更処理の概要を示す説明図（その１）である。図１２において、セルＣｓに隣接して他のセルＣｔが配置されている。しかし、セルＣｓ内のトランジスタＴｓとセルＣｔ内のトランジスタＴｔとの間隔がプリファードルールに従っていない。このため、プリファードルールに従って、セルＣｓとセルＣｔとを離間することにより、トランジスタＴｔの配置位置を変更する。以下、実施例３における設計支援処理手順について説明する。
【０１０９】
図１３は、実施例３における設計支援処理手順を示すフローチャートである。図１３のフローチャートにおいて、まず、抽出部５０１により、設計対象回路のレイアウトの中から任意のセルを抽出して（ステップＳ１３０１）、検出部５０２により、該セルに隣接する他のセルを検出する（ステップＳ１３０２）。
【０１１０】
このあと、他のセルが検出されたか否かを判断して（ステップＳ１３０３）、検出された場合（ステップＳ１３０３：Ｙｅｓ）、判定部５０５により、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されているか否かを判定する（ステップＳ１３０４）。
【０１１１】
ここで、セル内のトランジスタと他のセル内のトランジスタとの間隔がプリファードルールで定められた間隔よりも狭いと判定された場合（ステップＳ１３０４：Ｎｏ）、変更部５０６により、プリファードルールに従ってセルと他のセルとを離間して、レイアウト上のセルに対する他のセルの配置位置を変更する（ステップＳ１３０５）。
【０１１２】
このあと、他のセルの配置位置に基づいて配置情報を更新し（ステップＳ１３０６）、設定部５０３により、変更部５０６によって他のセルの配置位置が変更された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値をセルライブラリ４００から抽出して、その遅延値をステップＳ１３０１において抽出されたセルの遅延値に設定する（ステップＳ１３０７）。
【０１１３】
このあと、レイアウト内のセル群のうち未抽出のセルの存否を判断して（ステップＳ１３０８）、未抽出のセルが存在する場合（ステップＳ１３０８：Ｙｅｓ）、ステップＳ１３０１に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合（ステップＳ１３０８：Ｎｏ）、本フローチャートによる一連の処理を終了する。
【０１１４】
また、ステップＳ１３０３において、他のセルが検出されなかった場合（ステップＳ１３０３：Ｎｏ）、ステップＳ１３０８に移行する。また、ステップＳ１３０４において、プリファードルールに従っていると判定された場合（ステップＳ１３０４：Ｙｅｓ）、ステップＳ１３０７に移行する。
【０１１５】
実施例３によれば、セルに隣接して他のセルが配置されている場合であっても、プリファードルールに違反（トランジスタ間の間隔が狭い）している場合は、セルと他のセルとを離間することができる。これにより、トランジスタ間の間隔がプリファードルールに定められた間隔に補正され、よりよい条件下でのセルのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減させることができる。
【実施例４】
【０１１６】
つぎに、上述した実施の形態の実施例４について説明する。実施例４では、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されていない場合に、他のセルの配置位置を変更して、さらに、該セルと該他のセルとの間にダミートランジスタＤＴを配置することにより、よりよい条件下でのセルのキャラクタライズを実現する。
【０１１７】
図１４は、変更部５０６による変更処理の概要を示す説明図（その２）である。図１４において、セルＣｘに隣接して他のセルＣｙが配置されている。しかし、セルＣｘ内のトランジスタＴｘと他のセルＣｙ内のトランジスタＴｙとの間隔が広がりすぎていて、プリファードルールに従っていない。
【０１１８】
このため、まず、セルＣｘとセルＣｙとを離間して、該セルＣｘと該セルＣｙとの間に空き領域を形成する。つぎに、その空き領域に、プリファードルールに従ってダミートランジスタＤＴを配置する。以下、実施例４における設計支援処理手順について説明する。
【０１１９】
図１５は、実施例４における設計支援処理手順を示すフローチャートである。図１５のフローチャートにおいて、まず、抽出部５０１により、設計対象回路のレイアウトの中から任意のセルを抽出して（ステップＳ１５０１）、検出部５０２により、該セルに隣接する他のセルを検出する（ステップＳ１５０２）。
【０１２０】
このあと、他のセルが検出されたか否かを判断して（ステップＳ１５０３）、検出された場合（ステップＳ１５０３：Ｙｅｓ）、判定部５０５により、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されているか否かを判定する（ステップＳ１５０４）。
【０１２１】
ここで、セル内のトランジスタと他のセル内のトランジスタとの間隔がプリファードルールで定められた間隔よりも広いと判定された場合（ステップＳ１５０４：Ｎｏ）、変更部５０６により、プリファードルールに従ってセルと他のセルとを離間して、レイアウト上のセルに対する他のセルの配置位置を変更し（ステップＳ１５０５）、セル内のトランジスタと他のセル内のトランジスタとの間にダミートランジスタＤＴを配置する（ステップＳ１５０６）。
【０１２２】
つぎに、他のセルおよびダミートランジスタＤＴの配置位置に基づいて配置情報を更新し（ステップＳ１５０７）、設定部５０３により、変更部５０６によってダミートランジスタＤＴが配置された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値をセルライブラリ４００から抽出し、その遅延値をステップＳ１５０１において抽出されたセルの遅延値に設定する（ステップＳ１５０８）。
【０１２３】
このあと、レイアウト内のセル群のうち未抽出のセルの存否を判断して（ステップＳ１５０９）、未抽出のセルが存在する場合（ステップＳ１５０９：Ｙｅｓ）、ステップＳ１５０１に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合（ステップＳ１５０９：Ｎｏ）、本フローチャートによる一連の処理を終了する。
【０１２４】
また、ステップＳ１５０３において、他のセルが検出されなかった場合（ステップＳ１５０３：Ｎｏ）、ステップＳ１５０９に移行する。また、ステップＳ１５０４において、プリファードルールに従っていると判定された場合（ステップＳ１５０４：Ｙｅｓ）、ステップＳ１５０９に移行する。
【０１２５】
実施例４によれば、セルに隣接して他のセルが配置されている場合であっても、プリファードルールに違反（トランジスタ間の間隔が広い）している場合は、セルと他のセルとを離間して、該セルと該他のセルとの間の空き領域にダミートランジスタＤＴを配置することができる。
【０１２６】
これにより、トランジスタ間の間隔がプリファードルールに定められた間隔に補正され、よりよい条件下でのセルのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減させることができる。
【実施例５】
【０１２７】
つぎに、上述した実施の形態の実施例５について説明する。実施例５では、上述した実施例３または実施例４に示した他のセルの配置位置を変更する際に、セルと他のセルとを離間させることによる遅延値の増加分と、プリファードルール違反を解消することによる遅延値の減少分とのトレードオフを考慮して、よりよい条件下でのセルのキャラクタライズを実現する。
【０１２８】
図１６は、配置位置の変更にともなう配線長の伸張を示す説明図である。図１６において、プリファードルール違反により、セルＣｘと他のセルＣｙとを離間させて、セルＣｘ内のトランジスタＴｘと他のセルＣｙ内のトランジスタＴｙとの間にダミートランジスタＤＴが配置されている。これにより、各セルのキャラクタライズに依存する遅延を減少させることができる。
【０１２９】
一方で、この変更にともなって、配線の長さが、他のセルＣｙを離間させた距離Ｌ分だけ伸張する。この結果、配線長Ｌの配線に依存する遅延が増加することとなる。このため、変更部５０６による変更処理を実行する際に、キャラクタライズに依存する遅延値の減少分と配線の伸張による遅延値の増加分とのトレードオフを考慮する。
【０１３０】
具体的には、変更部５０６による変更前後のセルＣｘおよび他のセルＣｙを含むパスに関する遅延解析の解析結果を比較することとしてもよい。また、セルＣｘおよび他のセルＣｙのキャラクタライズに依存する遅延値の減少分と、配線長Ｌの配線の遅延値とを比較することとしてもよい。この結果、遅延値の減少分が大きい場合にのみ、変更部５０６による変更処理を実行する。
【０１３１】
実施例５によれば、配線長の伸張にともなう遅延値の増加分と、プリファードルール違反を解消することによる遅延値の減少分とのトレードオフを考慮して、変更部５０６による変更処理を実行することができる。これにより、遅延値の増加分と減少分とのトレードオフを考慮した、よりよい条件下でのセルのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減させることができる。
【実施例６】
【０１３２】
つぎに、上述した実施の形態の実施例６について説明する。実施例６では、プリファードルールに従ってダミートランジスタＤＴを配置する際に、その配置位置に配線が存在する場合には、該配線をダミートランジスタＤＴとして扱うことにより、配線率の低下を防ぐとともに不要なダミートランジスタＤＴを配置するための処理を削減する。
【０１３３】
図１７は、配線の存否に応じてダミートランジスタを配置する処理の概要を示す説明図である。図１７において、設計対象回路のレイアウト上のセルＣｘとセルＣｙとの間に、プリファードルールに従ってダミートランジスタＤＴが配置されている。このあと、レイアウト上に配線をおこなう際に、そのダミートランジスタＤＴの配置位置を記憶して、該ダミートランジスタＤＴをレイアウト上から削除する。
【０１３４】
つぎに、ダミートランジスタＤＴの配置されていた位置に配線パターンが存在するか否かを判断する。このとき、配線パターンが存在する場合、再度、ダミートランジスタＤＴを配置し、配線パターンが存在しない場合、ダミートランジスタＤＴを配置しない。
【０１３５】
ここで、ダミートランジスタＤＴの配置位置を記憶する配置位置テーブルについて説明する。図１８は、配置位置テーブルのデータ構造を示す説明図である。図１８において、配置位置テーブル１８００には、ダミートランジスタＤＴごとに、レイアウト上の配置位置をあらわすダミートランジスタ情報１８００−１〜１８００−ｎが記憶されている。
【０１３６】
具体的には、ダミートランジスタ情報１８００−１〜１８００−ｎは、各ダミートランジスタＤＴを識別するダミートランジスタＩＤ、および各ダミートランジスタＤＴの配置位置を示す座標（ｘ、ｙ）を有している。この座標（ｘ、ｙ）は、レイアウトを表現する座標平面上における各ダミートランジスタＤＴ（矩形）の頂点の対角位置をあらわしている。
【０１３７】
たとえば、ダミートランジスタ情報１８００−１は、ダミートランジスタＩＤ「１」から識別されるダミートランジスタＤＴの配置位置をあらわす座標（ｘ１１，ｙ１１）−（ｘ１２，ｙ１２）を有している。なお、配置位置テーブル１８００は、ＲＯＭやＲＡＭなどの記憶領域に保持されている。
【０１３８】
以下、実施例６における設計支援処理手順について説明する。なお、ダミートランジスタＤＴを配置するまでの処理は図示および説明を省略する。図１９は、実施例６における設計支援処理手順を示すフローチャートである。図１９のフローチャートにおいて、まず、レイアウト上に配置されているダミートランジスタＤＴの配置位置を配置位置テーブル１８００に記憶する（ステップＳ１９０１）。
【０１３９】
つぎに、レイアウト上に配置されているダミートランジスタＤＴを削除する（ステップＳ１９０２）。このあと、設計対象回路のネットリストに基づいて、レイアウト上に配線パターンを作成する（ステップＳ１９０３）。このあと、判断部５０８により、配置位置テーブル１８００を記憶領域から読み出して、その配置位置テーブル１８００を参照することにより、ダミートランジスタＤＴの配置位置に配線パターンが存在するか否かを判断する（ステップＳ１９０４）。
【０１４０】
ここで、配線パターンが存在しない場合（ステップＳ１９０４：Ｎｏ）、その配置位置にダミートランジスタＤＴを配置して（ステップＳ１９０５）、本フローチャートによる一連の処理を終了する。一方、ステップＳ１９０４において配線パターンが存在する場合（ステップＳ１９０４：Ｙｅｓ）、本フローチャートによる一連の処理を終了する。
【０１４１】
実施例６によれば、プリファードルールに従ってダミートランジスタＤＴを配置する際に、該配置位置における配線の存否に応じてダミートランジスタＤＴを配置することにより、配線率の低下を防ぐとともに不要なダミートランジスタＤＴを配置するための処理を削減することができる。
【実施例７】
【０１４２】
つぎに、上述した実施の形態の実施例７について説明する。実施例７では、設計対象回路のレイアウトの境界領域にプリファードルールに従ってダミートランジスタＤＴを配置することにより、レイアウトの外周に沿って配置されるセルの左側あるいは右側のプリファードルールを確保して、よりよい条件でのセルのキャラクタライズを実現する。
【０１４３】
図２０は、設計対象回路のレイアウト２０００を示す説明図である。図２０において、レイアウト２０００の境界領域２０１０には、ダミートランジスタＤＴが配置されている。これにより、たとえば、セルＣｐについて、該セルＣｐの左側のプリファードルールが確保されることとなり、よりよい条件でのセルＣｐのキャラクタライズをおこなうことができる。
【０１４４】
また、セルＣｒについて、該セルＣｒの右側のプリファードルールが確保されることとなり、よりよい条件でのセルＣｒのキャラクタライズをおこなうことができる。なお、境界領域へのダミートランジスタＤＴの配置は、レイアウト上の配置・配線をおこなう前におこなうこととしてもよく、また、レイアウト上の配置・配線がおこなわれた後におこなうこととしてもよい。
【０１４５】
さらに、レイアウト上の配置・配線がおこなわれた後にダミートランジスタＤＴを配置する場合、レイアウトの外周に沿って配置されたセルに隣接する境界領域にだけダミートランジスタＤＴを配置することとしてもよい。以下、実施例７における設計支援処理手順について説明する。なお、後述するステップＳ２１０４における配置処理は、実施例２で説明した処理手順と同様のため詳細な説明を省略する。
【０１４６】
図２１は、実施例７における設計支援処理手順を示すフローチャートである。図２１のフローチャートにおいて、まず、配置部５０４により、設計対象回路のレイアウトの境界領域にダミートランジスタＤＴを配置する（ステップＳ２１０１）。このあと、抽出部５０１により、設計対象回路のレイアウトの中から任意のセルを抽出する（ステップＳ２１０２）。
【０１４７】
つぎに、検出部５０２により、抽出部５０１によって抽出されたセルに隣接する他のセルを検出する（ステップＳ２１０３）。このあと、配置部５０４により、他のセルが検出されなかったレイアウト上の空き領域にダミートランジスタＤＴを配置する配置処理を実行する（ステップＳ２１０４）。
【０１４８】
そして、設定部５０３により、セルに隣接する他のセルの配置パターン（すべて配置パターンＥとなる）に応じて該セルの遅延値をセルライブラリ４００から抽出して、その遅延値をステップＳ２１０２において抽出されたセルの遅延値に設定する（ステップＳ２１０５）。
【０１４９】
このあと、レイアウト内のセル群のうち未抽出のセルの存否を判断して（ステップＳ２１０６）、未抽出のセルが存在する場合（ステップＳ２１０６：Ｙｅｓ）、ステップＳ２１０２に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合（ステップＳ２１０６：Ｎｏ）、本フローチャートによる一連の処理を終了する。
【０１５０】
実施例７によれば、レイアウトの境界領域にダミートランジスタＤＴを配置することにより、レイアウトの外周に沿って配置されるセルの左側あるいは右側のプリファードルールを確保することができる。また、セルに隣接する他のセルが存在しない空き領域にダミートランジスタＤＴを配置することができる。
【０１５１】
この結果、レイアウト上に配置されているすべてのセルに隣接する他のセルの配置パターンを図３に示した配置パターンＥに変更することができる。図２２は、設計対象回路のレイアウト２２００を示す説明図である。図２２において、レイアウト２２００上のすべてのセルに隣接する他のセルの配置パターンが配置パターンＥとなっている。
【０１５２】
これにより、レイアウト上のすべてのセルについて、最良条件でのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減することができる。また、図２０で示したレイアウト上の境界領域に予めダミートランジスタＤＴが配置されたアーキテクチャを用いて半導体集積回路を製造することにより、不要な遅延のマージンを削減し歩留まりを向上させることができる。
【０１５３】
以上説明したように、本発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法によれば、セルのキャラクタライズに依存する不要なマージンを削減することにより、タイミング設計の最適化を実現し、設計者の負担軽減および設計期間の短縮化を図ることができる。
【０１５４】
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１５５】
また、本実施の形態で説明したトランジスタからなるセルに隣接する空き領域にデザインルールに従ってダミートランジスタが配置された設計対象回路に関する設計データは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって利用される。
【０１５６】
また、本実施の形態で説明した設計支援装置２００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した設計支援装置２００の機能的構成５０１〜５０８をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、設計支援装置２００を製造することができる。
【０１５７】
（付記１）トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出させる抽出工程と、
前記抽出工程によって抽出されたセルに隣接する他のセルを検出させる検出工程と、
前記検出工程によって検出された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定させる設定工程と、
をコンピュータに実行させることを特徴とする設計支援プログラム。
【０１５８】
（付記２）前記検出工程によって検出された結果、前記他のセルが検出されなかった前記レイアウト上の空き領域に、デザインルールに従ってダミートランジスタを配置させる配置工程を前記コンピュータに実行させることを特徴とする付記１に記載の設計支援プログラム。
【０１５９】
（付記３）前記検出工程によって検出された結果、前記セル内のトランジスタと当該トランジスタに対向配置された前記他のセル内のトランジスタとが前記デザインルールに従って配置されているか否かを判定させる判定工程と、
前記判定工程によって前記デザインルールに従っていないと判定された場合、前記レイアウト上の前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更させる変更工程と、
を前記コンピュータに実行させることを特徴とする付記１または２に記載の設計支援プログラム。
【０１６０】
（付記４）前記変更工程は、
前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも狭いと判定された場合、前記セルと前記他のセルとを離間させることを特徴とする付記３に記載の設計支援プログラム。
【０１６１】
（付記５）前記変更工程は、
前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも広いと判定された場合、前記セルと前記他のセルとを離間させて、前記セル内と前記他のセルとの間にダミートランジスタを配置させることを特徴とする付記３に記載の設計支援プログラム。
【０１６２】
（付記６）前記セルに対する前記他のセルの配置位置を変更させることによる配線長の伸張にともなう遅延値の増加分と、前記デザインルールに従ってトランジスタを配置させることによる遅延値の減少分と、を比較させる比較工程を前記コンピュータに実行させ、
前記変更工程は、
前記比較工程によって比較された結果、前記遅延値の減少分が前記遅延値の増加分よりも大きい場合に、前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更させることを特徴とする付記５に記載の設計支援プログラム。
【０１６３】
（付記７）前記ダミートランジスタの配置位置に配線が存在するか否かを判断させる判断工程を前記コンピュータに実行させ、
前記配置工程は、
前記判断工程によって前記配線が存在しないと判断された場合、前記他のセルが検出されなかった前記レイアウト上の空き領域に前記ダミートランジスタを配置させることを特徴とする付記２〜６のいずれか一つに記載の設計支援プログラム。
【０１６４】
（付記８）前記ダミートランジスタの配置位置に配線が存在するか否かを判断させる判断工程を前記コンピュータに実行させ、
前記変更工程は、
前記判断工程によって前記配線が存在しないと判断された場合、前記セル内のトランジスタと前記他のセル内のトランジスタとの間に前記ダミートランジスタを配置させることを特徴とする付記５または６に記載の設計支援プログラム。
【０１６５】
（付記９）前記配置工程は、
前記レイアウトの境界領域に前記ダミートランジスタを配置させることを特徴とする付記２〜８のいずれか一つに記載の設計支援プログラム。
【０１６６】
（付記１０）前記設定工程は、
前記配置工程によって前記ダミートランジスタが配置された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定させることを特徴とする付記２〜９のいずれか一つに記載の設計支援プログラム。
【０１６７】
（付記１１）前記設定工程は、
前記変更工程によって前記ダミートランジスタが配置された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定させることを特徴とする付記３〜９のいずれか一つに記載の設計支援プログラム。
【０１６８】
（付記１２）付記１〜１１のいずれか一つに記載の設計支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０１６９】
（付記１３）トランジスタからなるセルに隣接する空き領域にダミートランジスタが配置された設計対象回路に関する設計データを記録したコンピュータに読み取り可能な記録媒体。
【０１７０】
（付記１４）トランジスタからなるセルに隣接する領域にダミートランジスタが配置されていることを特徴とする半導体集積回路。
【０１７１】
（付記１５）トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する抽出手段と、
前記抽出手段によって抽出されたセルに隣接する他のセルを検出する検出手段と、
前記検出手段によって検出された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定する設定手段と、
を備えることを特徴とする設計支援装置。
【０１７２】
（付記１６）トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する抽出工程と、
前記抽出工程によって抽出されたセルに隣接する他のセルを検出する検出工程と、
前記検出工程によって検出された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定する設定工程と、
を含んだことを特徴とする設計支援方法。
【産業上の利用可能性】
【０１７３】
以上のように、本発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法は、ＬＳＩの設計に有用である。
【図面の簡単な説明】
【０１７４】
【図１】セルのキャラクタライズをおこなう際の最悪条件および最良条件を示す説明図である。
【図２】この発明の実施の形態にかかる設計支援装置のハードウェア構成を示す説明図である。
【図３】他のセルの配置パターンを示す説明図である。
【図４】セルライブラリの記憶内容を示す説明図である。
【図５】この発明の実施の形態にかかる設計支援装置の機能的構成を示すブロック図である。
【図６】配置情報の一例を示す説明図である。
【図７】この発明の実施の形態にかかる設計支援装置の設計支援処理手順を示すフローチャートである。
【図８】設計対象回路のレイアウトを示す説明図（その１）である。
【図９】実施例１における設計支援処理手順を示すフローチャートである。
【図１０】設計対象回路のレイアウトを示す説明図（その２）である。
【図１１】実施例２における設計支援処理手順を示すフローチャートである。
【図１２】変更部による変更処理の概要を示す説明図（その１）である。
【図１３】実施例３における設計支援処理手順を示すフローチャートである。
【図１４】変更部による変更処理の概要を示す説明図（その２）である。
【図１５】実施例４における設計支援処理手順を示すフローチャートである。
【図１６】配置位置の変更にともなう配線長の伸張を示す説明図である。
【図１７】配線の存否に応じてダミートランジスタを配置する処理の概要を示す説明図である。
【図１８】配置位置テーブルのデータ構造を示す説明図である。
【図１９】実施例６における設計支援処理手順を示すフローチャートである。
【図２０】設計対象回路のレイアウトを示す説明図（その３）である。
【図２１】実施例７における設計支援処理手順を示すフローチャートである。
【図２２】設計対象回路のレイアウトを示す説明図（その４）である。
【符号の説明】
【０１７５】
２００  設計支援装置
４００  セルライブラリ
４００−１〜４００−ｎ  遅延情報
５０１  抽出部
５０２  検出部
５０３  設定部
５０４  配置部
５０５  判定部
５０６  変更部
５０７  比較部
６００  配置情報テーブル
６００−１〜６００−ｎ  配置情報
８００，１０００，２０００，２２００  レイアウト
１８００  配置位置テーブル
１８００−１〜１８００−ｎ  ダミートランジスタ情報
【図１】
0004946655.tif 000002
【図２】
0004946655.tif 000003
【図３】
0004946655.tif 000004
【図４】
0004946655.tif 000005
【図５】
0004946655.tif 000006
【図６】
0004946655.tif 000007
【図７】
0004946655.tif 000008
【図８】
0004946655.tif 000009
【図９】
0004946655.tif 000010
【図１０】
0004946655.tif 000011
【図１１】
0004946655.tif 000012
【図１２】
0004946655.tif 000013
【図１３】
0004946655.tif 000014
【図１４】
0004946655.tif 000015
【図１５】
0004946655.tif 000016
【図１６】
0004946655.tif 000017
【図１７】
0004946655.tif 000018
【図１８】
0004946655.tif 000019
【図１９】
0004946655.tif 000020
【図２０】
0004946655.tif 000021
【図２１】
0004946655.tif 000022
【図２２】
0004946655.tif 000023