この発明は、半導体集積回路の設計を支援する設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法に関する。
近年、半導体集積回路の微細化にともない、プロセスのばらつき、電源電圧の低下、クロストークなどの影響が大きくなってきており、回路遅延の変動が増大している。半導体集積回路の回路遅延を見積もる遅延解析において、これら回路遅延の変動はマージンとして余分に確保されているが、マージンの増大化のためタイミング設計が困難となってきている。
この回路遅延の変動の原因として、製造時の露光工程においてシリコンウェハ上にパターンを転写する際に、微細なパターンの形状を適切に転写することができないことによる転写パターンの形状ばらつきがある。特に、露光波長と同等以下の寸法のパターンを転写する際には、光の近接効果により、転写パターンが細くなってしまい、最悪の場合には途切れてしまうなどの問題が発生している。
そこで、光の近接効果を考慮して、シリコンウェハ上に転写されるパターンを補正する手法が開示されている。たとえば、パターンの輪郭部分など、転写後に実際の寸法よりも細くなる部分を予め太くしておく「ハンマーヘッド・パターン」や、パターンの線幅変動を補正する「バイアス」などの手法がある。
また、入力信号のタイミングエラーが発生したセルブロック内部の特定のセル構成要素の寸法を変更することにより、レイアウト設計後のタイミング調整をおこなう手法が開示されている(たとえば、下記特許文献1参照。)。これによれば、タイミングエラー発生時に、設計TATに影響を与える再度の回路設計、およびレイアウト修正をおこなうことなく、自動的に短TATなタイミング調整をおこなうことができる。
しかしながら、上述した従来技術によれば、設計対象回路のレイアウト設計において、レイアウト上の各セルに対してどのような配置パターンで他のセルが配置されたとしても外部出力が安定するように、隣接セルが存在しないことを前提とする最悪条件でのセルのキャラクタライズがおこなわれていた。
その結果、遅延のマージンが過剰なものとなってしまい、悲観的でかつ不正確な遅延解析がおこなわれていた。このため、回路設計の手戻り作業が多発してしまい、検証作業の長期化、ひいては設計期間の長期化を招くという問題があった。
また、リーク電流についても、最悪条件でのセルのキャラクタライズがおこなわれていたため、消費電力のマージンが過剰なものとなってしまっていた。このため、必要以上の電源配線リソースや電源が要求され、回路設計が非常に困難なものとなり、検証作業の長期化、ひいては設計期間の長期化を招くという問題があった。
この発明は、上述した従来技術による問題点を解消するため、セルのキャラクタライズに依存する不要なマージンを削減することにより、タイミング設計の最適化を実現し、設計者の負担軽減および設計期間の短縮化を図ることができる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法は、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出し、抽出されたセルに隣接する他のセルを検出し、検出された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定することを特徴とする。
この発明によれば、設計対象回路のレイアウト上に配置された任意のセルの遅延値を、該セルに隣接する他のセルの配置パターンに応じて設定することができる。
また、上記発明において、前記任意のセルが検出された結果、前記他のセルが検出されなかった前記レイアウト上の空き領域に、デザインルールに従ってダミートランジスタを配置することとしてもよい。
この発明によれば、任意のセルに隣接する他のセルが配置されていないレイアウト上の空き領域にダミートランジスタを配置することができる。
また、上記発明において、前記任意のセルが検出された結果、前記セル内のトランジスタと当該トランジスタに対向配置された前記他のセル内のトランジスタとが前記デザインルールに従って配置されているか否かを判定し、前記デザインルールに従っていないと判定された場合、前記レイアウト上の前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更することとしてもよい。
また、上記発明において、前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも狭いと判定された場合、前記セルと前記他のセルとを離間することとしてもよい。
また、上記発明において、前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも広いと判定された場合、前記セルと前記他のセルとを離間して、前記セル内と前記他のセルとの間にダミートランジスタを配置することとしてもよい。
これらの発明によれば、任意のセル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとをデザインルールに従って配置することができる。
また、上記発明において、前記セルに対する前記他のセルの配置位置を変更させることによる配線長の伸張にともなう遅延値の増加分と、前記デザインルールに従ってトランジスタを配置させることによる遅延値の減少分と、を比較し、比較された結果、前記遅延値の減少分が前記遅延値の増加分よりも大きい場合に、前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更することとしてもよい。
この発明によれば、配線長の伸張にともなう遅延値の増加分と、デザインルール違反を解消することによる遅延値の減少分とのトレードオフを考慮して、他のセルの配置位置を変更することができる。
また、上記発明において、前記ダミートランジスタの配置位置に配線が存在するか否かを判断し、前記配線が存在しないと判断された場合、前記他のセルが検出されなかった前記レイアウト上の空き領域に前記ダミートランジスタを配置することとしてもよい。
また、上記発明において、前記ダミートランジスタの配置位置に配線が存在するか否かを判断し、前記配線が存在しないと判断された場合、前記セル内のトランジスタと前記他のセル内のトランジスタとの間に前記ダミートランジスタを配置することとしてもよい。
これらの発明によれば、隣接する他のセルが存在しない空き領域のうち、配線が存在しない空き領域にだけダミートランジスタを配置することができる。
また、上記発明において、前記レイアウトの境界領域に前記ダミートランジスタを配置することとしてもよい。
この発明によれば、レイアウトの境界領域に隣接するセルの境界領域側でのデザインルールを確保することができる。
また、上記発明において、前記ダミートランジスタが配置された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定することとしてもよい。
この発明によれば、任意のセルの遅延値を、ダミートランジスタの配置にともなって変化する他のセルの配置パターンに応じて設定することができる。
また、この発明にかかる記録媒体は、トランジスタからなるセルに隣接する空き領域にダミートランジスタが配置された設計対象回路に関する設計データを記録したことを特徴とする。
また、この発明にかかる半導体集積回路は、トランジスタからなるセルに隣接する領域にダミートランジスタが配置されていることを特徴とする。
これの発明によれば、半導体集積回路の歩留まりを向上させることができる。
本発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法によれば、セルのキャラクタライズに依存する不要なマージンを削減することにより、タイミング設計の最適化を実現し、設計者の負担軽減および設計期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法の好適な実施の形態を詳細に説明する。
(本発明の概要)
まず、本発明の概要について説明する。図1は、セルのキャラクタライズをおこなう際の最悪条件および最良条件を示す説明図である。図1において、複数のトランジスタからなるセルのキャラクタライズをおこなう際の最悪条件および最良条件が示されている。
最悪条件とは、あるセルに対して、隣接する他のセルがプリファードルールに従って配置されていない状況をあらわす。ここで、プリファードルールとは、トランジスタ間の間隔を規定するデザインルールである。最良条件とは、あるセルに対して、隣接するセルがプリファードルールに従って配置されている状況をあらわす。
通常、設計対象回路のレイアウト設計において、レイアウト上に配置・配線をおこなう際に、プリファードルールに従ってトランジスタを規則的に並べることにより、マスク設計において、シリコンウェハ上により鮮明(正確)にマスクパターン(転写パターン)を転写することができる。
なぜなら、プリファードルールに定められた間隔でトランジスタを配置することにより、フォトマスクを透過した光が互いに干渉して強めあい、シリコンウェハ上にマスクパターンの微細な形状(特に、輪郭部分)をより正確に転写することができるからである。これにより、マスクパターンの形状ばらつきを抑え、遅延および消費電力の不要なマージンを削減することができる。
本実施の形態では、レイアウト上のセルに隣接する他のセルの配置パターンに応じて、該セルのキャラクタライズをおこなうことにより、遅延および消費電力の不要なマージンを削減する。さらに、プリファードルールに従って、よりよい配置パターンを意図的に作り出すことにより、最良条件でのキャラクタライズを実現し、より効果的なマージンの削減を図る。
(設計支援装置200のハードウェア構成)
つぎに、この発明の実施の形態にかかる設計支援装置200のハードウェア構成について説明する。図2は、この発明の実施の形態にかかる設計支援装置200のハードウェア構成を示す説明図である。
図2において、設計支援装置200は、コンピュータ本体210と、入力装置220と、出力装置230と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク240に接続可能である。
コンピュータ本体210は、CPU,メモリ,インターフェースを有する。CPUは、設計支援装置200の全体の制御を司る。メモリは、ROM,RAM,HD,光ディスク211,フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク211はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク211およびフラッシュメモリはコンピュータ本体210に対し着脱自在である。インターフェースは、入力装置220からの入力、出力装置230への出力、ネットワーク240に対する送受信の制御をおこなう。
また、入力装置220としては、キーボード221、マウス222、スキャナ223などがある。キーボード221は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス222は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ223は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体210内のメモリに格納される。なお、スキャナ223にOCR機能を持たせてもよい。
また、出力装置230としては、ディスプレイ231、スピーカ232、プリンタ233などがある。ディスプレイ231は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ232は、効果音や読み上げ音などの音声を出力する。また、プリンタ233は、画像データや文書データを印刷する。
(他のセルの配置パターン)
つぎに、他のセルの配置パターンについて説明する。図3は、他のセルの配置パターンを示す説明図である。図3において、セルに隣接する他のセルの配置状況に基づく4つの配置パターンを示す。なお、本実施の形態では、あるセルに対して、左右両側に他のセルを配置可能な空き領域が存在することとする。
配置パターンAは、セルに対して、左右両側の空き領域に他のセルが配置されていないパターンである。配置パターンBは、セルに対して、右側の空き領域にプリファードルールに従って他のセルが配置されたパターンである。配置パターンDは、セルに対して、左側の空き領域にプリファードルールに従って他のセルが配置されたパターンである。配置パターンEは、セルに対して、左右両側の空き領域にプリファードルールに従って他のセルが配置されたパターンである。
このように、設計対象回路のレイアウト上に配置されている各セルに隣接する他のセルの配置パターンを、他のセルの配置状況に基づいて、配置パターンA,B,DおよびEの4つのパターンに分類する。
(セルライブラリ400の記憶内容)
つぎに、セルライブラリ400について説明する。図4は、セルライブラリ400の記憶内容を示す説明図である。図4において、セルライブラリ400は、セルC1〜Cnごとに、遅延情報400−1〜400−nを保持している。具体的には、遅延情報400−1〜400−nは、セル名、セルタイプおよび図3に示した配置パターンA,B、DおよびEに応じた複数の遅延値[min(最小遅延値),max(最大遅延値)]を有している。
セル名は、セルの名称である。セルタイプは、セルの性能特性をあらわす情報であり、たとえば、インバータ、フリップフロップ、バッファなどの機能(種別)をあらわす。遅延値[mix,max]は、設計対象回路の回路遅延を見積もる遅延解析において実際に扱う各セルの遅延時間をあらわす値である。
ここで、セルCiを例に挙げると、セルタイプはバッファであり、遅延値として、配置パターンAに応じた遅延値[ai,Ai]、配置パターンBに応じた遅延値[bi,Bi]、配置パターンDに応じた遅延値[di,Di]、および配置パターンEに応じた遅延値[ei,Ei]を有している。
なお、セルライブラリ400に保持される各セルの遅延値は、たとえば、隣接する他のセルの配置パターンに応じた条件を用いて、公知技術であるSSTA(Statistical Static Timing Analyzer)手法により算出することができる。
(設計支援装置200の機能的構成)
つぎに、この発明の実施の形態にかかる設計支援装置200の機能的構成について説明する。図5は、この発明の実施の形態にかかる設計支援装置200の機能的構成を示すブロック図である。図5において、設計支援装置200は、セルライブラリ400と、抽出部501と、検出部502と、設定部503と、配置部504と、判定部505と、変更部506と、比較部507と、判断部508と、から構成されている。
これら各機能501〜508は、記憶領域に格納された当該機能に関するプログラムをCPUに実行させることにより、当該機能を実現することができる。また、各機能501〜508からの出力データは記憶領域に保持される。また、図5中矢印で示した接続先の機能的構成は、接続元の機能からの出力データを記憶領域から読み込んで、当該機能に関するプログラムをCPUに実行させる。
まず、抽出部501は、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する機能を有する。具体的には、設計対象回路のレイアウト情報の中から任意のセルに関する配置情報を抽出する。レイアウト情報とは、設計対象回路内のトランジスタやセルの接続関係を示す情報(たとえば、ネットリスト)である。より具体的には、セルと該セルに隣接する他のセルとの配置関係を示す配置情報が含まれている。
レイアウト情報は、設計支援装置200に直接入力することとしてもよく、また、ネットワーク240を介して外部のコンピュータ装置から取得することとしてもよい。なお、入力あるいは取得されたこのレイアウト情報(配置情報)は、ROMやRAMなどの記憶領域に記憶される。
ここで、配置情報について説明する。図6は、配置情報の一例を示す説明図である。図6において、配置情報テーブル600には、設計対象回路のレイアウト上に配置されたセル(セルインスタンス)ごとに、該セルに隣接する他のセルとの配置関係を示す配置情報600−1〜600−nが示されている。この配置情報テーブル600は、ROMやRAMなどの記憶領域に記憶されている。
具体的には、配置情報600−1〜600−nは、インスタンス名、配置パターン、挿入済みフラグおよびプリファードルール違反に関する情報を有している。インスタンス名は、レイアウト上に配置されたセルの名称である。このインスタンス名からレイアウト上に配置された各セルのセル名やセルタイプなどを特定することができる。
配置パターンは、各セルに隣接する他のセルの配置状況を示す。挿入済みフラグは、後述するダミートランジスタが配置された配置位置(右側:R、左側:L)を示す。プリファードルール違反は、プリファードルール違反となっているトランジスタの配置位置(右側:R、左側:L)を示す。
ここで、配置情報600−1を例に挙げると、インスタンス名「aaa1」のセルについて、該セルに隣接する他のセルの配置パターンは配置パターンA(図3参照)であり、ダミートランジスタは左右両側とも配置されていないことを示している。
また、配置情報600−4を例に挙げると、インスタンス名「ccd4」のセルについて、該セルに隣接する他のセルの配置パターンは配置パターンD(図3参照)であり、ダミートランジスタは左右両側とも配置されておらず、左側に配置されているトランジスタとの間隔がプリファードルールに従っていないことを示している。
ここで、図5の説明に戻り、検出部502は、抽出部501によって抽出されたセルに隣接する他のセルを検出する機能を有する。具体的には、任意のセルに関する配置情報を参照することにより、該セルに隣接する他のセルの配置パターンを検出することとしてもよい。たとえば、図6に示した配置情報600−4が抽出されたとすると、その配置情報600−4を参照して配置パターンDを検出する。
設定部503は、検出部502によって検出された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値を設定する機能を有する。具体的には、検出部502によって検出された配置パターンに応じて、任意のセルの遅延値をセルライブラリ400(図4参照)から抽出して、該セルの遅延値として設定する(後述する実施例1参照)。
たとえば、配置情報600−4を参照して配置パターンDが検出されたとすると、インスタンス名「ccd4」から特定されるセル名、セルタイプおよび配置パターンDを用いて、セルライブラリ400の中から対応する遅延値を抽出して、その遅延値をセルの遅延値として設定する。
これにより、設計対象回路のレイアウト上に配置された任意のセルの遅延値を、該セルに隣接する他のセルの配置パターンA,B,DおよびEに応じて設定することができる。この結果、セルごとに、配置パターンA,B,DおよびEに応じた条件でのキャラクタライズを実現し、遅延および消費電力の不要なマージンを削減することができる。
配置部504は、検出部502によって検出された結果、他のセルが検出されなかったレイアウト上の空き領域に、デザインルールに従ってダミートランジスタを配置する機能を有する。具体的には、トランジスタ間の間隔を規定するプリファードルールに従って、セルに隣接する空き領域にダミートランジスタを配置する(後述する実施例2参照)。
これにより、設計対象回路のレイアウト上に配置された任意のセルについて、該セルに隣接する他のセルが配置されていない空き領域にプリファードルールに従ってダミートランジスタを配置することができる。すなわち、ダミートランジスタを配置することにより、よりよい条件でのセルのキャラクタライズを実現する配置パターンを意図的に作り出すことができる。
判定部505は、検出部502によって検出された結果、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがデザインルールに従って配置されているか否かを判定する機能を有する。すなわち、隣接する他のセルが配置されている状況下において、セル内のトランジスタと他のセル内のトランジスタとの間隔がプリファードルールに従っているか否かを判定する。
変更部506は、判定部505によってデザインルールに従っていないと判定された場合、レイアウト上のセルに対する他のセルの配置位置をデザインルールに従って変更する機能を有する。具体的には、セル内のトランジスタと他のセル内のトランジスタとの間隔がデザインルールで定められた間隔よりも狭いと判定された場合、セルと他のセルとを離間することとしてもよい(後述する実施例3参照)。
また、セル内のトランジスタと他のセル内のトランジスタとの間隔がデザインルールで定められた間隔よりも広いと判定された場合、セルと他のセル内とを離間させて、該セルと該他のセルとの間にダミートランジスタを配置することとしてもよい(後述する実施例4参照)。
これにより、設計対象回路のレイアウト上に配置された任意のセルについて、該セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されていない場合、他のセルの配置位置をプリファードルールに従って変更することができる。
比較部507は、セルに対する他のセルの配置位置を変更させることによる配線長の伸張にともなう遅延値の増加分と、デザインルールに従ってトランジスタを配置させることによる遅延値の減少分と、を比較する機能を有する。具体的には、たとえば、配線長の伸張にともなう遅延値の増加分と、セルと他のセルとを離間して該セルと該他のセルとの間にダミートランジスタを配置したことによる遅延値の減少分と、を比較する。
この比較処理は、変更前後の回路遅延を見積もる遅延解析を実行し、それぞれの解析結果を利用して、遅延値の増加分と遅延値の減少分との比較をおこなうこととしてもよい。また、変更箇所だけに注目して、伸張した配線の長さに応じた遅延値(増加分)と、配置パターンが変化することによって改善された遅延値(減少分)とを比較することとしてもよい。
変更部506は、比較部507によって比較された結果、遅延値の減少分が遅延値の増加分よりも大きい場合に、セルに対する他のセルの配置位置をデザインルールに従って変更することとしてもよい(後述する実施例5参照)。つまり、変更前後の遅延値の増加分と減少分とのトレードオフを考慮して、変更部506による変更処理を実行するか否かを判断する。
判断部508は、ダミートランジスタの配置位置に配線が存在するか否かを判断する機能を有する。具体的には、たとえば、設計対象回路のネットリストから、レイアウト上の配線の位置を判断し、ダミートランジスタの配置位置に配線が存在するか否かを判断する(後述する実施例6参照)。
配置部504は、判断部508によって配線が存在しないと判断された場合、他のセルが検出されなかったレイアウト上の空き領域にダミートランジスタを配置することとしてもよい。また、変更部506は、判断部508によって配線が存在しないと判断された場合、セル内のトランジスタと他のセル内のトランジスタとの間にダミートランジスタを配置することとしてもよい。
これにより、ダミートランジスタを配置する際に、該ダミートランジスタの配置位置に配線が存在する場合には、該配線をダミートランジスタとして扱うことにより、配線率の低下を防ぐとともに、不要なダミートランジスタの配置にかかる処理を削減することができる。
なお、上記配置部504による配置処理および上記変更部506による変更処理がおこなわれた場合、そのセルに関する配置情報(たとえば、図6に示した配置情報600−1〜600−n)の内容が更新される。具体的には、セルに隣接してダミートランジスタが配置されると、該ダミートランジスタの配置位置を示す内容が更新される。
さらに、ダミートランジスタが配置されて隣接する他のセルの配置パターンが変化した場合には、他のセルの配置状況を示す内容が更新される。また、プリファードルール違反が解消されると、プリファードルール違反の配置位置を示す内容が更新される。
ここで、図6に示した配置情報600−4を例に挙げると、インスタンス名「ccd4」のセルの右側の空き領域にダミートランジスタが配置された場合、挿入済みフラグの欄に「R」が付与され、さらに、配置パターンが配置パターンDから配置パターンEに変更される。また、左側のプリファードルール違反が解消された場合、プリファードルール違反の欄から「L」が削除される。
また、配置部504は、レイアウトの境界領域にダミートランジスタを配置する機能を有する。すなわち、レイアウトの境界領域に予めダミートランジスタを配置することにより、レイアウトの外周に沿って配置されるセルの左側あるいは右側のプリファードルールを確保する(後述する実施例7参照)。これにより、レイアウトの境界領域に隣接するセルについて、よりよい条件でのキャラクタライズを実現することができる。
設定部503は、配置部504によってダミートランジスタが配置された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値を設定する機能を有する。具体的には、配置部504によってダミートランジスタが配置されたあとの配置パターンに応じて、任意のセルの遅延値をセルライブラリ400(図4参照)から抽出して、該セルの遅延値として設定する。
また、設定部503は、変更部506によってダミートランジスタが配置された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値を設定する機能を有する。変更部506によってダミートランジスタが配置されたあとの配置パターンに応じて、任意のセルの遅延値をセルライブラリ400(図4参照)から抽出して、該セルの遅延値として設定する。
これにより、設計対象回路のレイアウト上に配置された任意のセルの遅延値を、ダミートランジスタの配置にともなって変化する他のセルの配置パターンA,B,DおよびEに応じて設定することができる。この結果、よりよい条件でのセルのキャラクタライズを実現し、遅延および消費電力の不要なマージンを削減することができる。
(設計支援装置200の設計支援処理手順)
つぎに、この発明の実施の形態にかかる設計支援装置200の設計支援処理手順について説明する。図7は、この発明の実施の形態にかかる設計支援装置200の設計支援処理手順を示すフローチャートである。
図7のフローチャートにおいて、まず、抽出部501により、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する(ステップS701)。このあと、検出部502により、抽出部501によって抽出されたセルに隣接する他のセルを検出する(ステップS702)。
つぎに、配置部504により、検出部502によって検出された結果、他のセルが検出されなかったレイアウト上の空き領域にダミートランジスタを配置する配置処理を実行する(ステップS703)。さらに、変更部506により、レイアウト上のセルに対する他のセルの配置位置をデザインルールに従って変更する変更処理を実行する(ステップS704)。
最後に、設定部503により、セルに隣接する他のセルの配置パターンに応じてセルの遅延値を設定して(ステップS705)、本フローチャートによる一連の処理を終了する。なお、ステップS703およびステップS704における処理は、実行順序が逆であってもよく、また、同時並行して実行することとしてもよい。
以上説明した、この発明の実施の形態によれば、設計対象回路のレイアウト上に配置された任意のセルの遅延値を、該セルに隣接する他のセルの配置パターンA,B,DおよびEに応じて設定することができる。これにより、各配置パターンA,B,DおよびEに応じた条件でのセルのキャラクタライズを実現し、遅延および消費電力の不要なマージンを削減することができる。
また、設計対象回路のレイアウト上に配置された任意のセルについて、該セルに隣接する他のセルが配置されていない空き領域にプリファードルールに従ってダミートランジスタを配置することができる。さらに、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されていない場合、他のセルの配置位置をプリファードルールに従って変更することができる。
このように、プリファードルールに従ってダミートランジスタを配置することにより、よりよい条件でのセルのキャラクタライズを実現する配置パターンを意図的に作り出すことができる。さらに、セルの遅延値を、意図的に作り出した配置パターンA,B,DおよびEに応じて設定することにより、よりよい条件でのセルのキャラクタライズを実現し、遅延および消費電力の不要なマージンを削減することができる。
また、配置パターンの変更前後の遅延値の増加分と減少分とを比較して、該配置パターンを変更するか否かを判断することができる。これにより、遅延値の増加分と減少分とのトレードオフを考慮した、よりよい条件下でのセルのキャラクタライズを実現することができる。
また、ダミートランジスタを配置する際に、該ダミートランジスタの配置位置に配線が存在する場合には、該配線をダミートランジスタとして扱うことにより、配線率の低下を防ぐとともに不要なダミートランジスタの配置にかかる処理を削減することができる。
つぎに、上述した実施の形態の実施例1について説明する。図8は、設計対象回路のレイアウト800を示す説明図である。図8において、設計対象回路のレイアウト800には、トランジスタからなる複数のセルが配置されている。また、各セルには、隣接する他のセルの配置状況に基づく配置パターンA,B,DおよびEが表記されている。
実施例1では、設計対象回路の回路遅延を見積もる際に、遅延解析に用いる各セルの遅延値を、該各セルに隣接する他のセルの配置パターンA,B,DおよびEに応じて使い分ける。以下、実施例1における設計支援処理手順について説明する。
図9は、実施例1における設計支援処理手順を示すフローチャートである。図9のフローチャートにおいて、まず、抽出部501により、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出して(ステップS901)、検出部502により、該セルに隣接する他のセルを検出する(ステップS902)。
このあと、設定部503により、検出部502によって検出された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値をセルライブラリ400から抽出し、その遅延値をステップS901において抽出されたセルの遅延値に設定する(ステップS903)。
つぎに、レイアウト700内のセル群のうち未抽出のセルの存否を判断して(ステップS904)、未抽出のセルが存在する場合(ステップS904:Yes)、ステップS901に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合(ステップS904:No)、本フローチャートによる一連の処理を終了する。
具体的には、たとえば、図6に示した配置情報600−1〜600−nを順に抽出し、未抽出の配置情報600−1〜600−nがなくなるまで、上記ステップS901〜ステップS904を繰り返し実行する。
実施例1によれば、レイアウト800内の各セルの遅延値を、隣接する他のセルの配置パターンA,B,DおよびEに応じて設定することができる。このため、設計対象回路の回路遅延を見積もる際に、各セルの条件(最悪条件や最良条件など)に対応する適切な遅延値を用いて遅延解析を実行することができ、不要な遅延のマージンを削減することができる。
つぎに、上述した実施の形態の実施例2について説明する。実施例2では、セルに隣接する他のセルが配置されていないレイアウト上の空き領域にダミートランジスタを配置することにより、よりよい条件下でのセルのキャラクタライズを実現する。図10は、設計対象回路のレイアウト1000を示す説明図である。
図10において、レイアウト1000には、各セルに隣接する他のセルが配置されていない空き領域に、プリファードルールに従ってダミートランジスタDTが配置されている。これにより、図8に示したレイアウト800内のセル群のうち一部のセルについて、該セルに隣接する他のセルの配置パターンが変化している。
たとえば、セルCpについて、右側の空き領域にダミートランジスタDTが配置されたことにより、配置パターンが配置パターンAから配置パターンBに変化している。また、セルCqについて、左側の空き領域にダミートランジスタDTが配置されたことにより、配置パターンが配置パターンBから配置パターンEに変化している。以下、実施例2における設計支援処理手順について説明する。
図11は、実施例2における設計支援処理手順を示すフローチャートである。図11のフローチャートにおいて、まず、抽出部501により、トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出して(ステップS1101)、検出部502により、該セルに隣接する他のセルを検出する(ステップS1102)。
このあと、他のセルが検出されたか否かを判断して(ステップS1103)、検出されなかった場合(ステップS1103:No)、配置部504により、他のセルが検出されなかったレイアウト上の空き領域にダミートランジスタDTを配置する(ステップS1104)。
つぎに、ダミートランジスタDTを配置した配置位置に基づいて配置情報を更新し(ステップS1105)、設定部503により、配置部504によってダミートランジスタDTが配置された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値をセルライブラリ400から抽出して、その遅延値をステップS1101において抽出されたセルの遅延値に設定する(ステップS1106)。
このあと、レイアウト内のセル群のうち未抽出のセルの存否を判断して(ステップS1107)、未抽出のセルが存在する場合(ステップS1107:Yes)、ステップS1101に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合(ステップS1107:No)、本フローチャートによる一連の処理を終了する。また、ステップS1103において他のセルが検出された場合(ステップS1103:Yes)、ステップS1106に移行する。
実施例2によれば、セルに隣接する他のセルが配置されていないレイアウト上の空き領域にダミートランジスタDTを配置することができる。これにより、よりよい条件下でのセルのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減することができる。
つぎに、上述した実施の形態の実施例3について説明する。実施例3では、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがデザインルールに従って配置されていない場合に、他のセルの配置位置を変更することにより、よりよい条件下でのセルのキャラクタライズを実現する。
図12は、変更部506による変更処理の概要を示す説明図(その1)である。図12において、セルCsに隣接して他のセルCtが配置されている。しかし、セルCs内のトランジスタTsとセルCt内のトランジスタTtとの間隔がプリファードルールに従っていない。このため、プリファードルールに従って、セルCsとセルCtとを離間することにより、トランジスタTtの配置位置を変更する。以下、実施例3における設計支援処理手順について説明する。
図13は、実施例3における設計支援処理手順を示すフローチャートである。図13のフローチャートにおいて、まず、抽出部501により、設計対象回路のレイアウトの中から任意のセルを抽出して(ステップS1301)、検出部502により、該セルに隣接する他のセルを検出する(ステップS1302)。
このあと、他のセルが検出されたか否かを判断して(ステップS1303)、検出された場合(ステップS1303:Yes)、判定部505により、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されているか否かを判定する(ステップS1304)。
ここで、セル内のトランジスタと他のセル内のトランジスタとの間隔がプリファードルールで定められた間隔よりも狭いと判定された場合(ステップS1304:No)、変更部506により、プリファードルールに従ってセルと他のセルとを離間して、レイアウト上のセルに対する他のセルの配置位置を変更する(ステップS1305)。
このあと、他のセルの配置位置に基づいて配置情報を更新し(ステップS1306)、設定部503により、変更部506によって他のセルの配置位置が変更された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値をセルライブラリ400から抽出して、その遅延値をステップS1301において抽出されたセルの遅延値に設定する(ステップS1307)。
このあと、レイアウト内のセル群のうち未抽出のセルの存否を判断して(ステップS1308)、未抽出のセルが存在する場合(ステップS1308:Yes)、ステップS1301に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合(ステップS1308:No)、本フローチャートによる一連の処理を終了する。
また、ステップS1303において、他のセルが検出されなかった場合(ステップS1303:No)、ステップS1308に移行する。また、ステップS1304において、プリファードルールに従っていると判定された場合(ステップS1304:Yes)、ステップS1307に移行する。
実施例3によれば、セルに隣接して他のセルが配置されている場合であっても、プリファードルールに違反(トランジスタ間の間隔が狭い)している場合は、セルと他のセルとを離間することができる。これにより、トランジスタ間の間隔がプリファードルールに定められた間隔に補正され、よりよい条件下でのセルのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減させることができる。
つぎに、上述した実施の形態の実施例4について説明する。実施例4では、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されていない場合に、他のセルの配置位置を変更して、さらに、該セルと該他のセルとの間にダミートランジスタDTを配置することにより、よりよい条件下でのセルのキャラクタライズを実現する。
図14は、変更部506による変更処理の概要を示す説明図(その2)である。図14において、セルCxに隣接して他のセルCyが配置されている。しかし、セルCx内のトランジスタTxと他のセルCy内のトランジスタTyとの間隔が広がりすぎていて、プリファードルールに従っていない。
このため、まず、セルCxとセルCyとを離間して、該セルCxと該セルCyとの間に空き領域を形成する。つぎに、その空き領域に、プリファードルールに従ってダミートランジスタDTを配置する。以下、実施例4における設計支援処理手順について説明する。
図15は、実施例4における設計支援処理手順を示すフローチャートである。図15のフローチャートにおいて、まず、抽出部501により、設計対象回路のレイアウトの中から任意のセルを抽出して(ステップS1501)、検出部502により、該セルに隣接する他のセルを検出する(ステップS1502)。
このあと、他のセルが検出されたか否かを判断して(ステップS1503)、検出された場合(ステップS1503:Yes)、判定部505により、セル内のトランジスタと当該トランジスタに対向配置された他のセル内のトランジスタとがプリファードルールに従って配置されているか否かを判定する(ステップS1504)。
ここで、セル内のトランジスタと他のセル内のトランジスタとの間隔がプリファードルールで定められた間隔よりも広いと判定された場合(ステップS1504:No)、変更部506により、プリファードルールに従ってセルと他のセルとを離間して、レイアウト上のセルに対する他のセルの配置位置を変更し(ステップS1505)、セル内のトランジスタと他のセル内のトランジスタとの間にダミートランジスタDTを配置する(ステップS1506)。
つぎに、他のセルおよびダミートランジスタDTの配置位置に基づいて配置情報を更新し(ステップS1507)、設定部503により、変更部506によってダミートランジスタDTが配置された結果、セルに隣接する他のセルの配置パターンに応じて該セルの遅延値をセルライブラリ400から抽出し、その遅延値をステップS1501において抽出されたセルの遅延値に設定する(ステップS1508)。
このあと、レイアウト内のセル群のうち未抽出のセルの存否を判断して(ステップS1509)、未抽出のセルが存在する場合(ステップS1509:Yes)、ステップS1501に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合(ステップS1509:No)、本フローチャートによる一連の処理を終了する。
また、ステップS1503において、他のセルが検出されなかった場合(ステップS1503:No)、ステップS1509に移行する。また、ステップS1504において、プリファードルールに従っていると判定された場合(ステップS1504:Yes)、ステップS1509に移行する。
実施例4によれば、セルに隣接して他のセルが配置されている場合であっても、プリファードルールに違反(トランジスタ間の間隔が広い)している場合は、セルと他のセルとを離間して、該セルと該他のセルとの間の空き領域にダミートランジスタDTを配置することができる。
これにより、トランジスタ間の間隔がプリファードルールに定められた間隔に補正され、よりよい条件下でのセルのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減させることができる。
つぎに、上述した実施の形態の実施例5について説明する。実施例5では、上述した実施例3または実施例4に示した他のセルの配置位置を変更する際に、セルと他のセルとを離間させることによる遅延値の増加分と、プリファードルール違反を解消することによる遅延値の減少分とのトレードオフを考慮して、よりよい条件下でのセルのキャラクタライズを実現する。
図16は、配置位置の変更にともなう配線長の伸張を示す説明図である。図16において、プリファードルール違反により、セルCxと他のセルCyとを離間させて、セルCx内のトランジスタTxと他のセルCy内のトランジスタTyとの間にダミートランジスタDTが配置されている。これにより、各セルのキャラクタライズに依存する遅延を減少させることができる。
一方で、この変更にともなって、配線の長さが、他のセルCyを離間させた距離L分だけ伸張する。この結果、配線長Lの配線に依存する遅延が増加することとなる。このため、変更部506による変更処理を実行する際に、キャラクタライズに依存する遅延値の減少分と配線の伸張による遅延値の増加分とのトレードオフを考慮する。
具体的には、変更部506による変更前後のセルCxおよび他のセルCyを含むパスに関する遅延解析の解析結果を比較することとしてもよい。また、セルCxおよび他のセルCyのキャラクタライズに依存する遅延値の減少分と、配線長Lの配線の遅延値とを比較することとしてもよい。この結果、遅延値の減少分が大きい場合にのみ、変更部506による変更処理を実行する。
実施例5によれば、配線長の伸張にともなう遅延値の増加分と、プリファードルール違反を解消することによる遅延値の減少分とのトレードオフを考慮して、変更部506による変更処理を実行することができる。これにより、遅延値の増加分と減少分とのトレードオフを考慮した、よりよい条件下でのセルのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減させることができる。
つぎに、上述した実施の形態の実施例6について説明する。実施例6では、プリファードルールに従ってダミートランジスタDTを配置する際に、その配置位置に配線が存在する場合には、該配線をダミートランジスタDTとして扱うことにより、配線率の低下を防ぐとともに不要なダミートランジスタDTを配置するための処理を削減する。
図17は、配線の存否に応じてダミートランジスタを配置する処理の概要を示す説明図である。図17において、設計対象回路のレイアウト上のセルCxとセルCyとの間に、プリファードルールに従ってダミートランジスタDTが配置されている。このあと、レイアウト上に配線をおこなう際に、そのダミートランジスタDTの配置位置を記憶して、該ダミートランジスタDTをレイアウト上から削除する。
つぎに、ダミートランジスタDTの配置されていた位置に配線パターンが存在するか否かを判断する。このとき、配線パターンが存在する場合、再度、ダミートランジスタDTを配置し、配線パターンが存在しない場合、ダミートランジスタDTを配置しない。
ここで、ダミートランジスタDTの配置位置を記憶する配置位置テーブルについて説明する。図18は、配置位置テーブルのデータ構造を示す説明図である。図18において、配置位置テーブル1800には、ダミートランジスタDTごとに、レイアウト上の配置位置をあらわすダミートランジスタ情報1800−1〜1800−nが記憶されている。
具体的には、ダミートランジスタ情報1800−1〜1800−nは、各ダミートランジスタDTを識別するダミートランジスタID、および各ダミートランジスタDTの配置位置を示す座標(x、y)を有している。この座標(x、y)は、レイアウトを表現する座標平面上における各ダミートランジスタDT(矩形)の頂点の対角位置をあらわしている。
たとえば、ダミートランジスタ情報1800−1は、ダミートランジスタID「1」から識別されるダミートランジスタDTの配置位置をあらわす座標(x11,y11)−(x12,y12)を有している。なお、配置位置テーブル1800は、ROMやRAMなどの記憶領域に保持されている。
以下、実施例6における設計支援処理手順について説明する。なお、ダミートランジスタDTを配置するまでの処理は図示および説明を省略する。図19は、実施例6における設計支援処理手順を示すフローチャートである。図19のフローチャートにおいて、まず、レイアウト上に配置されているダミートランジスタDTの配置位置を配置位置テーブル1800に記憶する(ステップS1901)。
つぎに、レイアウト上に配置されているダミートランジスタDTを削除する(ステップS1902)。このあと、設計対象回路のネットリストに基づいて、レイアウト上に配線パターンを作成する(ステップS1903)。このあと、判断部508により、配置位置テーブル1800を記憶領域から読み出して、その配置位置テーブル1800を参照することにより、ダミートランジスタDTの配置位置に配線パターンが存在するか否かを判断する(ステップS1904)。
ここで、配線パターンが存在しない場合(ステップS1904:No)、その配置位置にダミートランジスタDTを配置して(ステップS1905)、本フローチャートによる一連の処理を終了する。一方、ステップS1904において配線パターンが存在する場合(ステップS1904:Yes)、本フローチャートによる一連の処理を終了する。
実施例6によれば、プリファードルールに従ってダミートランジスタDTを配置する際に、該配置位置における配線の存否に応じてダミートランジスタDTを配置することにより、配線率の低下を防ぐとともに不要なダミートランジスタDTを配置するための処理を削減することができる。
つぎに、上述した実施の形態の実施例7について説明する。実施例7では、設計対象回路のレイアウトの境界領域にプリファードルールに従ってダミートランジスタDTを配置することにより、レイアウトの外周に沿って配置されるセルの左側あるいは右側のプリファードルールを確保して、よりよい条件でのセルのキャラクタライズを実現する。
図20は、設計対象回路のレイアウト2000を示す説明図である。図20において、レイアウト2000の境界領域2010には、ダミートランジスタDTが配置されている。これにより、たとえば、セルCpについて、該セルCpの左側のプリファードルールが確保されることとなり、よりよい条件でのセルCpのキャラクタライズをおこなうことができる。
また、セルCrについて、該セルCrの右側のプリファードルールが確保されることとなり、よりよい条件でのセルCrのキャラクタライズをおこなうことができる。なお、境界領域へのダミートランジスタDTの配置は、レイアウト上の配置・配線をおこなう前におこなうこととしてもよく、また、レイアウト上の配置・配線がおこなわれた後におこなうこととしてもよい。
さらに、レイアウト上の配置・配線がおこなわれた後にダミートランジスタDTを配置する場合、レイアウトの外周に沿って配置されたセルに隣接する境界領域にだけダミートランジスタDTを配置することとしてもよい。以下、実施例7における設計支援処理手順について説明する。なお、後述するステップS2104における配置処理は、実施例2で説明した処理手順と同様のため詳細な説明を省略する。
図21は、実施例7における設計支援処理手順を示すフローチャートである。図21のフローチャートにおいて、まず、配置部504により、設計対象回路のレイアウトの境界領域にダミートランジスタDTを配置する(ステップS2101)。このあと、抽出部501により、設計対象回路のレイアウトの中から任意のセルを抽出する(ステップS2102)。
つぎに、検出部502により、抽出部501によって抽出されたセルに隣接する他のセルを検出する(ステップS2103)。このあと、配置部504により、他のセルが検出されなかったレイアウト上の空き領域にダミートランジスタDTを配置する配置処理を実行する(ステップS2104)。
そして、設定部503により、セルに隣接する他のセルの配置パターン(すべて配置パターンEとなる)に応じて該セルの遅延値をセルライブラリ400から抽出して、その遅延値をステップS2102において抽出されたセルの遅延値に設定する(ステップS2105)。
このあと、レイアウト内のセル群のうち未抽出のセルの存否を判断して(ステップS2106)、未抽出のセルが存在する場合(ステップS2106:Yes)、ステップS2102に戻り、一連の処理を繰り返す。一方、未抽出のセルが存在しない場合(ステップS2106:No)、本フローチャートによる一連の処理を終了する。
実施例7によれば、レイアウトの境界領域にダミートランジスタDTを配置することにより、レイアウトの外周に沿って配置されるセルの左側あるいは右側のプリファードルールを確保することができる。また、セルに隣接する他のセルが存在しない空き領域にダミートランジスタDTを配置することができる。
この結果、レイアウト上に配置されているすべてのセルに隣接する他のセルの配置パターンを図3に示した配置パターンEに変更することができる。図22は、設計対象回路のレイアウト2200を示す説明図である。図22において、レイアウト2200上のすべてのセルに隣接する他のセルの配置パターンが配置パターンEとなっている。
これにより、レイアウト上のすべてのセルについて、最良条件でのキャラクタライズを実現し、設計対象回路の回路遅延を見積もる際の不要な遅延のマージンを削減することができる。また、図20で示したレイアウト上の境界領域に予めダミートランジスタDTが配置されたアーキテクチャを用いて半導体集積回路を製造することにより、不要な遅延のマージンを削減し歩留まりを向上させることができる。
以上説明したように、本発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法によれば、セルのキャラクタライズに依存する不要なマージンを削減することにより、タイミング設計の最適化を実現し、設計者の負担軽減および設計期間の短縮化を図ることができる。
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
また、本実施の形態で説明したトランジスタからなるセルに隣接する空き領域にデザインルールに従ってダミートランジスタが配置された設計対象回路に関する設計データは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって利用される。
また、本実施の形態で説明した設計支援装置200は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した設計支援装置200の機能的構成501〜508をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、設計支援装置200を製造することができる。
(付記1)トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出させる抽出工程と、
前記抽出工程によって抽出されたセルに隣接する他のセルを検出させる検出工程と、
前記検出工程によって検出された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定させる設定工程と、
をコンピュータに実行させることを特徴とする設計支援プログラム。
(付記2)前記検出工程によって検出された結果、前記他のセルが検出されなかった前記レイアウト上の空き領域に、デザインルールに従ってダミートランジスタを配置させる配置工程を前記コンピュータに実行させることを特徴とする付記1に記載の設計支援プログラム。
(付記3)前記検出工程によって検出された結果、前記セル内のトランジスタと当該トランジスタに対向配置された前記他のセル内のトランジスタとが前記デザインルールに従って配置されているか否かを判定させる判定工程と、
前記判定工程によって前記デザインルールに従っていないと判定された場合、前記レイアウト上の前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更させる変更工程と、
を前記コンピュータに実行させることを特徴とする付記1または2に記載の設計支援プログラム。
(付記4)前記変更工程は、
前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも狭いと判定された場合、前記セルと前記他のセルとを離間させることを特徴とする付記3に記載の設計支援プログラム。
(付記5)前記変更工程は、
前記セル内のトランジスタと前記他のセル内のトランジスタとの間隔が前記デザインルールで定められた間隔よりも広いと判定された場合、前記セルと前記他のセルとを離間させて、前記セル内と前記他のセルとの間にダミートランジスタを配置させることを特徴とする付記3に記載の設計支援プログラム。
(付記6)前記セルに対する前記他のセルの配置位置を変更させることによる配線長の伸張にともなう遅延値の増加分と、前記デザインルールに従ってトランジスタを配置させることによる遅延値の減少分と、を比較させる比較工程を前記コンピュータに実行させ、
前記変更工程は、
前記比較工程によって比較された結果、前記遅延値の減少分が前記遅延値の増加分よりも大きい場合に、前記セルに対する前記他のセルの配置位置を前記デザインルールに従って変更させることを特徴とする付記5に記載の設計支援プログラム。
(付記7)前記ダミートランジスタの配置位置に配線が存在するか否かを判断させる判断工程を前記コンピュータに実行させ、
前記配置工程は、
前記判断工程によって前記配線が存在しないと判断された場合、前記他のセルが検出されなかった前記レイアウト上の空き領域に前記ダミートランジスタを配置させることを特徴とする付記2〜6のいずれか一つに記載の設計支援プログラム。
(付記8)前記ダミートランジスタの配置位置に配線が存在するか否かを判断させる判断工程を前記コンピュータに実行させ、
前記変更工程は、
前記判断工程によって前記配線が存在しないと判断された場合、前記セル内のトランジスタと前記他のセル内のトランジスタとの間に前記ダミートランジスタを配置させることを特徴とする付記5または6に記載の設計支援プログラム。
(付記9)前記配置工程は、
前記レイアウトの境界領域に前記ダミートランジスタを配置させることを特徴とする付記2〜8のいずれか一つに記載の設計支援プログラム。
(付記10)前記設定工程は、
前記配置工程によって前記ダミートランジスタが配置された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定させることを特徴とする付記2〜9のいずれか一つに記載の設計支援プログラム。
(付記11)前記設定工程は、
前記変更工程によって前記ダミートランジスタが配置された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定させることを特徴とする付記3〜9のいずれか一つに記載の設計支援プログラム。
(付記12)付記1〜11のいずれか一つに記載の設計支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
(付記13)トランジスタからなるセルに隣接する空き領域にダミートランジスタが配置された設計対象回路に関する設計データを記録したコンピュータに読み取り可能な記録媒体。
(付記14)トランジスタからなるセルに隣接する領域にダミートランジスタが配置されていることを特徴とする半導体集積回路。
(付記15)トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する抽出手段と、
前記抽出手段によって抽出されたセルに隣接する他のセルを検出する検出手段と、
前記検出手段によって検出された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定する設定手段と、
を備えることを特徴とする設計支援装置。
(付記16)トランジスタからなるセルが配置された設計対象回路のレイアウトの中から任意のセルを抽出する抽出工程と、
前記抽出工程によって抽出されたセルに隣接する他のセルを検出する検出工程と、
前記検出工程によって検出された結果、前記セルに隣接する他のセルの配置パターンに応じて前記セルの遅延値を設定する設定工程と、
を含んだことを特徴とする設計支援方法。
以上のように、本発明にかかる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法は、LSIの設計に有用である。
セルのキャラクタライズをおこなう際の最悪条件および最良条件を示す説明図である。
この発明の実施の形態にかかる設計支援装置のハードウェア構成を示す説明図である。
他のセルの配置パターンを示す説明図である。
セルライブラリの記憶内容を示す説明図である。
この発明の実施の形態にかかる設計支援装置の機能的構成を示すブロック図である。
配置情報の一例を示す説明図である。
この発明の実施の形態にかかる設計支援装置の設計支援処理手順を示すフローチャートである。
設計対象回路のレイアウトを示す説明図(その1)である。
実施例1における設計支援処理手順を示すフローチャートである。
設計対象回路のレイアウトを示す説明図(その2)である。
実施例2における設計支援処理手順を示すフローチャートである。
変更部による変更処理の概要を示す説明図(その1)である。
実施例3における設計支援処理手順を示すフローチャートである。
変更部による変更処理の概要を示す説明図(その2)である。
実施例4における設計支援処理手順を示すフローチャートである。
配置位置の変更にともなう配線長の伸張を示す説明図である。
配線の存否に応じてダミートランジスタを配置する処理の概要を示す説明図である。
配置位置テーブルのデータ構造を示す説明図である。
実施例6における設計支援処理手順を示すフローチャートである。
設計対象回路のレイアウトを示す説明図(その3)である。
実施例7における設計支援処理手順を示すフローチャートである。
設計対象回路のレイアウトを示す説明図(その4)である。
符号の説明
200 設計支援装置
400 セルライブラリ
400−1〜400−n 遅延情報
501 抽出部
502 検出部
503 設定部
504 配置部
505 判定部
506 変更部
507 比較部
600 配置情報テーブル
600−1〜600−n 配置情報
800,1000,2000,2200 レイアウト
1800 配置位置テーブル
1800−1〜1800−n ダミートランジスタ情報