(57)【要約】【課題】チップサイズを大きくすることなく、半導体集積回路をより好ましく設計することが可能な半導体集積回路の設計方法及び設計装置を提供することである。【解決手段】上記課題は、複数のセルが組み合わされた半導体集積回路の設計装置による設計方法であって、前記設計装置が、前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データを算出する算出手順と、レイアウトデータに前記特性データをフィードバックさせるフィードバック手順と、前記特性データがフィードバックされた後のレイアウトデータを用いてタイミング検証を行う検証手順と、を実行する設計方法により達成される。【選択図】図５
2010086007.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルが組み合わされた半導体集積回路の設計方法であって、
設計装置が、
前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データを算出する算出手順と、
レイアウトデータに前記特性データをフィードバックさせるフィードバック手順と、
前記特性データがフィードバックされた後のレイアウトデータを用いてタイミング検証を行う検証手順と
を実行することを特徴とする半導体集積回路の設計方法。
【請求項２】
前記レイアウトデータから前記半導体集積回路の配線密度を示す配線密度データを抽出する抽出手順を有し、
前記算出手順は、
前記セルの配線密度と寄生抵抗と寄生容量との関係を示したテーブルと、前記抽出手順により抽出された前記配線密度データと、に基づき前記特性データを算出することを特徴とする請求項１記載の半導体集積回路の設計方法
【請求項３】
前記検証手順によるタイミング検証においてエラーとなったとき、
前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データを前記セルが組み合わされる前のセルの寄生抵抗及び寄生容量を示す特性データに近づけるように、前記セルのレイアウトを変更するレイアウト変更手順を有することを特徴とする請求項１又は２に記載の半導体集積回路の設計方法。
【請求項４】
前記レイアウトデータに基づき前記レイアウトデータが配線規則を満たしているか否かを判断する判断手順を有することを特徴とする請求項１乃至３のいずれか一項に記載の半導体集積回路の設計方法。
【請求項５】
複数のセルが組み合わされた半導体集積回路の設計装置あって、
前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データを算出する算出手段と、
レイアウトデータに前記特性データをフィードバックさせるフィードバック手段と、
前記特性データがフィードバックされた後のレイアウトデータを用いてタイミング検証を行う検証手段と
を有することを特徴とする半導体集積回路の設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計を行う半導体集積回路の設計方法及び設計装置に関する。
【背景技術】
【０００２】
従来の半導体集積回路は、特定の機能を持つマクロセルが組み合わせされて設計される。マクロセルは、マクロセル毎にタイミング検証が行われ、マクロセル毎の寄生抵抗や寄生容量等の特性がマクロセル毎に設けられた仕様を満たすように設計されている。
【０００３】
このようなマクロセルを組み合わせる際、半導体集積回路の設計工程では半導体集積回路の仕様を満たすように設計すべく、マクロセル同士の整合を取るためにマクロセル同士を組み合わせた状態でタイミング検証が行われる。
【０００４】
上記タイミング検証においてタイミングエラーが生じた場合、マクロセルの内部回路や特性を変更せずに、マクロセルの外部にバッファ等を挿入してタイミングを調整していた。レイアウトデータを用いたタイミング検証では、例えば半導体集積回路の設計工程において、半導体集積回路の所定パラメータの最適化を短時間で行う方法等が考案されていた。
【特許文献１】特開２００６−２４４３５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したような従来の技術では、外部に回路部品を挿入してタイミングを調整するため、チップサイズが大きくなる。また、外部に回路部品を挿入することで冗長な回路が存在するようになり好ましい設計とは言えなくなる。
【０００６】
そしてマクロセルが組み合わされて半導体集積回路が設計された後では、マクロセル毎にレイアウト状態（配線密度）が違っていることにより、ターゲットとしていた配線抵抗値が変わり、マクロセル単体設計時でのマクロセルの有する特性が変動する。マクロセルは、ターゲットの配線抵抗値で最適化されているため、半導体集積回路では最適化された状態にない懸念があり、上記タイミング検証方法では、このことが考慮されていない。
【０００７】
よって本発明の目的は、チップサイズを大きくすることなく、半導体集積回路をより好ましく設計することが可能な半導体集積回路の設計方法及び設計装置を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、複数のセルが組み合わされた半導体集積回路の設計装置による設計方法であって、前記設計装置が、前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データを算出する算出手順と、レイアウトデータに前記特性データをフィードバックさせるフィードバック手順と、前記特性データがフィードバックされた後のレイアウトデータを用いてタイミング検証を行う検証手順と、を実行する構成とする。
【０００９】
上記手順を機能としてコンピュータに実行させるためのプログラム、そのプログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【００１０】
チップサイズを大きくすることなく、半導体集積回路をより好ましく設計することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態を図面に基づいて説明する。
【００１２】
本実施形態では、マクロセルを組み合わせて半導体集積回路（以下、チップ）を設計した後のマクロセルの特性をレイアウトデータにフィードバックさせ、フィードバック後のレイアウトデータを用いてタイミング検証を行う。
【００１３】
（第一の実施形態）
以下に図面を参照して本発明の第一の実施形態について説明する。図１は、第一の実施形態に係る設計装置の機能構成例を示す図である。図１において、設計装置１００は、設計制御部１１０と、チップ設計部１２０と、レイアウトデータ読込部１３０と、チップ情報抽出部１４０と、特性変動算出部１５０と、フィードバック部１６０と、レイアウト変更部１７０と、タイミング検証部１８０と、データベース２００と、を有する。
【００１４】
始めに、データベース２００について説明する。データベース２００には、マクロデータ２１０、レイアウトデータ２２０、プロセスデータ２３０、変更後レイアウトデータ２４０が記憶されている。
【００１５】
マクロデータ２１０は、マクロセルの接続情報、配線情報、寄生抵抗及び寄生容量の情報等を含む。マクロセルの寄生抵抗及び寄生容量を示す情報を以下の説明ではマクロ特性データと呼ぶ。マクロデータ２１０に含まれるマクロ特性データは、マクロセルがチップに組み込まれる前のマクロセルの寄生抵抗及び寄生容量を示すデータである。このデータを以下の説明では設計前マクロ特性データと呼ぶ。マクロセルとは、単位機能ブロックであり、特定の機能を実現する回路である。マクロセルは、単純なＡＮＤ回路といったものから、複雑なマイクロプロセッサユニットなどのコアセルまでを含む。本実施形態のマクロデータ２１０には、複数のマクロセルのマクロデータが含まれる。
【００１６】
レイアウトデータ２２０は、半導体集積回路の配線情報等を含むデータであり、設計において配置されている全てのマクロセル名と、セルの配置を示す位置データとを含む。
【００１７】
プロセスデータ２３０は、プロセスのモニタでの単位面積又は単位長さ当たりのシート抵抗や寄生容量、配線密度等を含むプロセスデータである。プロセスデータ２３０には、寄生抵抗と寄生容量との間にある相関関係を示す相関テーブル２３１が含まれる。
【００１８】
変更後レイアウトデータ２４０は、レイアウト変更部１７０によりマクロセルのレイアウトが変更された後に生成されるレイアウトデータである。
【００１９】
次に本実施形態の設計装置１００の有する各部について説明する。
【００２０】
設計制御部１１０は、設計装置１００による半導体集積回路の設計処理の制御を行う。チップ設計部１２０は、マクロセルを組み合わせてチップを設計し、チップのレイアウトデータ２２０を出力する。出力されたレイアウトデータ２２０は、データベース２００へ記憶される。
【００２１】
レイアウトデータ読込部１３０は、データベース２００に記憶されたレイアウトデータ２２０を読み込む。チップ情報抽出部１４０は、レイアウトデータ２２０からチップの配線に関するデータ等を抽出する。本実施形態のチップ情報抽出部１４０は、チップの配線密度を示す配線密度データを抽出する。
【００２２】
特性変動算出部１５０は、チップ情報抽出部１４０により抽出された配線密度データとプロセスデータ２３０の相関テーブル２３１とに基づき、マクロセルが組み合わされてチップとされた後のマクロセル毎のマクロ特性データを算出する。以下の説明では、チップが設計された後のマクロセル毎の特性データを設計後マクロ特性データと呼ぶ。
【００２３】
フィードバック部１６０は、チップ設計後に、特性変動算出部１５０により算出されたマクロセル毎の設計後マクロ特性データをマクロセル毎の設計前マクロ特性データにフィードバックする。すなわちフィードバック部１６０は、レイアウトデータ２２０に含まれるマクロセル毎の設計前マクロ特性データをマクロセル毎の設計後マクロ特性データに書き換える。
【００２４】
レイアウト変更部１７０は、フィードバック部１６０によるフィードバックが反映されたレイアウトとなるようにレイアウトを変更する。すなわちレイアウト変更部１７０は、設定後マクロ特性データを設定前マクロ特性データに近づけるように、マクロセル内の配線の太さや形状等を変更する。
【００２５】
タイミング検証部１８０は、フィードバック部１６０によるフィードバックが反映されたレイアウトデータを用いてタイミング検証を行う。
【００２６】
図２は、設計装置のハードウェア構成を示す図である。図２において、設計装置１００は、それぞれバスＢで相互に接続されている入力装置１１、出力装置１２、ドライブ装置１３、補助記憶装置１４、メモリ装置１５、演算処理装置１６およびインターフェース装置１７で構成される。
【００２７】
入力装置１１はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置１２はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置１７は、モデム、ＬＡＮカードなどで構成されており、ネットワークに接続する為に用いられる。
【００２８】
本発明の設計プログラムは、設計装置１００を制御する各種プログラムの少なくとも一部である。設計プログラムは例えば記録媒体１８の配布やネットワークからのダウンロードなどによって提供される。設計プログラムを記録した記録媒体１８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２９】
また、設計プログラムを記録した記録媒体１８がドライブ装置１３にセットされると、設計プログラムは記録媒体１８からドライブ装置１３を介して補助記憶装置１４にインストールされる。ネットワークからダウンロードされた設計プログラムは、インターフェース装置１７を介して補助記憶装置１４にインストールされる。
【００３０】
補助記憶装置１４は、インストールされた設計プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置１５は、コンピュータの起動時に補助記憶装置１４から設計プログラムを読み出して格納する。そして、演算処理装置１６はメモリ装置１５に格納された設計プログラムに従って、後述するような各種処理を実現している。
【００３１】
次に、補助記憶装置１４に記憶されるプログラム及びデータについて説明する。本実施形態の補助記憶装置１４には、各種データが記憶されたデータ記憶部と、プログラムが記憶されたプログラム記憶部とが設けられている。本実施形態では、データベース２００を補助記憶装置１４に設けられたデータ記憶部とした。
【００３２】
図３は、補助記憶装置内のデータベースを説明する図である。補助記憶装置１４内に設けられたデータベース２００には、マクロデータ２１０、レイアウトデータ２２０、プロセスデータ２３０が記憶されている。
【００３３】
マクロデータ２１０は、マクロセルを設計した際に作成されるデータである。本実施形態では、マクロセルは予め設計されており、マクロデータ２１０は予めデータベース２００に記憶されている。本実施形態のマクロデータ２１０には、複数のマクロセルのマクロデータが含まれる。例えばマクロデータ２１０には、マクロセルＡのマクロデータ２１０Ａ、マクロセルＢのマクロデータ２１０Ｂ、マクロセルＣのマクロデータ２１０Ｃ等が含まれる。
【００３４】
レイアウトデータ２２０は、複数のマクロセルを組み合わせてチップを設計した際に作成されるデータである。レイアウトデータ２２０はデータベース２００に予め記憶されていても良い。またレイアウトデータ２２０は、マクロセルの組み合わせ時に作成されてデータベース２００へ記憶されても良い。
【００３５】
プロセスデータ２３０は、プロセスデータと相関テーブル２３１が含まれる。
【００３６】
またデータベース２００には、作業領域２５０が設けられている。作業領域２５０には、プログラム記憶部に記憶された各種プログラムを実行した際の演算結果等が一時的に記憶される。
【００３７】
作業領域２５０には、配線密度データ２５１、設計前マクロ特性データ２５２、設計後マクロ特性データ２５３、変更後マクロデータ２５４、変更後レイアウトデータ２４０等が記憶される。
【００３８】
配線密度データ２５１は、チップ情報抽出部１４０により作業領域２５０へ記憶されるデータである。設計前マクロ特性データ２５２は、チップ設計部１２０により記憶されるデータである。設計前マクロ特性データ２５２には、マクロセル毎の設計前マクロ特性データが含まれる。
【００３９】
設計後マクロ特性データ２５３は、特性変動算出部１５０により記憶されるデータである。設計後マクロ特性データ２５３には、マクロセル毎の設計後マクロ特性データが含まれる。
【００４０】
変更後マクロデータ２５４は、フィードバック部１６０又はレイアウト変更部１７０により記憶されるデータである。変更後マクロデータ２５４には、マクロセル毎の変更後マクロデータが含まれる。変更後レイアウトデータ２４０は、チップ設計部１２０により記憶されるデータである。
【００４１】
図４は、補助記憶装置内のプログラム記憶部を説明する図である。補助記憶装置１４内には、各種プログラムが記憶されたプログラム記憶部３００が設けられている。
【００４２】
プログラム記憶部３００には、設計制御部１１０として機能する設計制御プログラム３１０、チップ設計部１２０として機能するチップ設計プログラム３２０、レイアウトデータ読込部１３０として機能するレイアウトデータ読込プログラム３３０、チップ情報抽出部１４０として機能するチップ情報抽出プログラム３４０、特性変動算出部１５０として機能する特性変動算出プログラム３５０、フィードバック部１６０として機能するフィードバックプログラム３６０、レイアウト変更部１７０として機能するレイアウト変更プログラム３７０、タイミング検証部１８０として機能するタイミング検証プログラム３８０が記憶されている。
【００４３】
以下に、図５を参照して本実施形態の設計装置１００の動作を説明する。図５は、第一の実施形態の設計制御部の制御により実行される処理フローについて説明するための図である。
【００４４】
本実施形態の設計装置１００において、設計制御部１１０は、チップ設計部１２０により半導体集積回路（以下、チップ）の設計を行う（ステップＳ５０１）。
【００４５】
図６ないし図８を参照してチップ設計部１２０によるチップ設計について説明する。図６は、マクロデータを説明するための図である。
【００４６】
本実施形態のマクロデータ２１０には、予め設計されたマクロセル毎のマクロデータが含まれる。例えばマクロセルＡを示すマクロデータ２１０Ａ、マクロセルＢを示すマクロデータ２１０Ｂ、マクロセルＣを示すマクロデータ２１０Ｃが含まれる。その他のマクロセルが存在する場合も同様である。
【００４７】
図７は、マクロセルの寄生抵抗及び寄生容量について説明するための図である。図７では、マクロセルＡを例にしてマクロセルＡの寄生抵抗及び寄生容量について説明する。
【００４８】
図７（Ａ）は、マクロセルＡの基本となる回路の例を示す図である。図７（Ａ）の例では、マクロセルＡ内の回路は、単機能を実現する基本回路２０を組み合わせた回路２１である。図７（Ｂ）は回路２１がレイアウトされた状態を示す図である。回路２１は、図７（Ｂ）に示すように配線３１により接続されたレイアウトとなる。図７（Ｃ）は、配線３１等により発生した寄生抵抗及び寄生容量等を含む等価回路の例を示す図である。回路２１が図７（Ｂ）に示すようにレイアウトされると、図７（Ｃ）に示すような寄生抵抗Ｒ１〜Ｒ３、寄生容量Ｃ１〜Ｃ３を含む設計前マクロ特性データ２５２が抽出される。抽出された設計前マクロ特性データ２５２は、例えばデータベース２００の作業領域２５０に記憶される。
【００４９】
マクロセルＡの設計時には、抽出された設計前マクロ特性データ２５２に基づきタイミング検証が行われ、マクロセルＡが仕様を満たすか否かの確認が行われる。このとき寄生抵抗Ｒ１〜Ｒ３、寄生容量Ｃ１〜Ｃ３の値は、プロセスデータ２３０から基準と設定された基準抵抗値Ｒｔに基づき算出される。
【００５０】
以上のようにしてマクロセルＡは設計される。その他のマクロセルも同様に設計される。
【００５１】
図８は、マクロセルが組み合わされてチップが構成された例を示す図である。設計制御部１１０は、チップ設計部１２０により、データベース２００に記憶されたマクロデータ２１０を用いて複数のマクロセルを組み合わせ、チップ５０を設計する。チップ設計部１２０は、チップ５０を設計した後にチップ５０のレイアウトデータ２２０を出力し、データベース２００へ記憶する。
【００５２】
図５に戻って、レイアウトデータ２２０が出力されると設計制御部１１０は、レイアウトデータ読込部１３０によりデータベース２００からレイアウトデータ２２０を読み込む（ステップＳ５０２）。レイアウトデータ２２０が読み込まれると、チップ情報抽出部１４０は、レイアウトデータ２２０に含まれるチップ５０の配線密度データ２５１を抽出する（ステップＳ５０３）。抽出された配線密度データ２５１は、データベース２００の作業領域２５０へ一時的に記憶される。
【００５３】
チップ５０の配線密度データ２５１が抽出されると、特性変動算出部１５０は、配線密度データに基づき、設計後マクロ特性データ２５３を算出する。
【００５４】
以下に図９を参照して特性変動算出部１５０の処理を説明する。図９は、特性変動算出部の処理を説明するための図であり、図９（Ａ）はプロセスデータを説明するための図、図９（Ｂ）は相関テーブルを説明するための図である。図９では、マクロセルＡを例にして説明する。
【００５５】
プロセスデータ２３０は、プロセスのモニタでの単位面積又は単位長さ当たりのシート抵抗や寄生容量、配線密度等を含むプロセスデータである。プロセスデータ２３０に含まれる配線密度、シート抵抗、寄生容量には、図９（Ａ）に示す傾向があることがわかっている。配線密度とシート抵抗との間には、配線密度が高くなる程シート抵抗小さくなるという相関関係がある。シート抵抗と寄生容量との間には、シート抵抗が高くなる程寄生容量が小さくなるという相関関係がある。この相関関係をテーブル化したものが図９（Ｂ）に示す相関テーブル２３１である。寄生抵抗値は、図９（Ａ）上のシート抵抗から、寄生抵抗値＝シート抵抗×配線幅／配線長さにより算出される。
【００５６】
マクロセルＡが設計される際の基準値抵抗値がＲｔとした場合、マクロセルＡは、設計前マクロ特性データ２５２Ａが寄生抵抗値Ｒｔ、寄生容量値Ｃｔとなるように設計される。このマクロセルＡがチップに組み込まれると、その影響によりマクロセルＡの配線密度が変化し、寄生抵抗及び寄生容量も変化する。例えばマクロセルＡの配線密度が図９（Ａ）に示すように高くなった場合、寄生抵抗は小さくなり、寄生容量は大きくなる。よって設計後マクロ特性データ２５３Ａでは、寄生抵抗は抵抗値Ｒｔから抵抗値Ｒｌへ変化し、寄生容量は容量値Ｃｔから容量値Ｃｈに変化する。
【００５７】
特性変動算出部１５０は、チップ情報抽出部１４０が抽出した配線密度データ２５１と、プロセスデータ２３０の傾向に着目した相関テーブル２３１とに基づき、設計後マクロ特性データ２５３Ａを算出している。
【００５８】
特性変動算出部１５０は、例えば配線密度データ２５１により、チップ５０の配線密度がチップ５０の仕様で定められた配線密度と比べて高いと判断されたとき、相関テーブル２３１の配線密度状態ｈｉｇｈと対応する寄生抵抗値Ｒｌと寄生容量値Ｃｈとを設計後マクロ特性データ２５３Ａとしても良い。また特性変動算出部１５０は、チップ５０の配線密度がチップ５０の仕様で定められた配線密度と比べて低いと判断されたとき、相関テーブル２３１の配線密度状態ｌｏｗと対応する寄生抵抗値Ｒｈと寄生容量値Ｃｌとを設計後マクロ特性データ２５３Ａとしても良い。
【００５９】
以上、図９ではマクロセルＡについて説明したが、その他のマクロセルもマクロセルＡと同様である。特性変動算出部１５０は、チップ５０に含まれるマクロセル毎に設計後マクロ特性データ２５３を算出する。算出された設計後マクロ特性データ２５３は、データベース２００の作業領域２５０へ記憶される。
【００６０】
図５に戻って、ステップＳ５０４で各マクロセルの設計後マクロ特性データ２５３が算出されると、フィードバック部１６０は、レイアウトデータ２２０に含まれるマクロセル毎の設計前マクロ特性データ２５２を設計後マクロ特性データ２５３に書き換える（ステップＳ５０５）。
【００６１】
データの書き換えが行われると、タイミング検証部１８０は、設計後マクロ特性データ２５３を用いてタイミング検証を行う（ステップＳ５０６）。タイミング検証においてタイミングエラーが発生しない場合（ステップＳ５０７）、レイアウトデータが完成したものとして（ステップＳ５０８）、処理を終了する。
【００６２】
ステップＳ５０７においてタイミングエラーとなった場合、レイアウト変更部１７０は、マクロセルのレイアウトを変更する（ステップＳ５０９）。
【００６３】
以下にレイアウト変更部１７０の処理を説明する。
【００６４】
レイアウト変更部１７０は、設計後マクロ特性データ２５３を、設計前マクロ特性データ２５２に近づくように、マクロセル内の配線の太さや形状を変更する。図１０乃至図１３を参照してレイアウト変更について説明する。
【００６５】
図１０は、設計後マクロ特性データを設計前マクロ特性データに近づける処理を説明する図である。図１０では、マクロセルＡを例として説明する。図１０は、図７（Ｃ）に示すマクロセルＡの寄生抵抗と寄生容量を変化させた状態を示している。
【００６６】
図７（Ｃ）に示すマクロセルＡのマクロ特性データは、プロセスデータ２３０において基準と設定された基準抵抗値Ｒｔに基づき算出された、設計前マクロ特性データ２５２Ａ（寄生抵抗値Ｒｔ、寄生容量値Ｃｔ）である。このマクロセルＡをチップ５０に組み込むと、マクロセルＡのマクロ特性データは、例えば設計後マクロ特性データ２５３Ａ（寄生抵抗値Ｒｌ、寄生容量値Ｃｈ）となる。
【００６７】
本実施形態では、マクロセルＡの設計後マクロ特性データ２５３ＡをマクロセルＡの設計時に算出された設計前マクロ特性データ２５２Ａに近ければ、チップ５０に組み込まれた後もマクロセルＡが単体で設計されたときと同様の動作を行うことができる点に着目した。
【００６８】
そこで本実施形態のレイアウト変更部１７０は、マクロセルＡの設計後マクロ特性データ２５３Ａを設計前マクロ特性データ２５２Ａに近づくように、マクロセルＡのレイアウトを変更して配線の寄生抵抗及び寄生容量を変化させる。
【００６９】
図１０の例では、レイアウト変更部１７０は、マクロセルＡの寄生抵抗Ｒ１〜Ｒ３を寄生抵抗Ｒｌ１〜Ｒｌ３へ、寄生容量Ｃ１〜Ｃ３を寄生容量Ｃｈ１〜Ｃｈ３へ変更させている。
【００７０】
以下にレイアウト変更部１７０により寄生抵抗及び寄生容量を変更する方法について説明する。本実施形態では、配線の太さを変更する、配線にスリットを発生させる、配線間隔を変更する、等の方法により寄生抵抗及び寄生容量を変更する。すなわち本実施形態では、レイアウト変更部１７０は、マクロセルＡ内の回路の接続関係を変更せず、配線の状態のみを変更して設計後マクロ特性データ２５３Ａを設計前マクロ特性データ２５２Ａに近づける。
【００７１】
図１１は、配線の太さを変更する方法を説明する図である。
【００７２】
例えばチップ５０が配線密度状態Ｈｉｇｈだった場合、マクロセルＡの設計後マクロ特性データ２５３Ａを設計前マクロ特性データ２５２Ａに近づけるためには、寄生抵抗を高くすれば良い（図９（Ａ）参照）。よってレイアウト変更部１７０は、図１１に示すように、配線３１の太さを細くして寄生抵抗が高くなるように誘導する。配線３１の太さを変更する際は、マクロセルＡ内の全ての配線３１の太さを変更しても良いし、一部の配線３１の太さを変更しても良い。
【００７３】
図１２は、配線にスリットを発生させる方法を説明する図である。
【００７４】
レイアウト変更部１７０は、太さＷ１の配線３１にスリット４０を形成し、配線３１Ａとすることで、配線３１の太さＷ１を部分的にＷ１よりも細い太さＷ２とし、寄生抵抗が高くなるよう誘導する。
【００７５】
図１３は、配線間隔の変更する方法とビア被りを補正する方法を説明する図である。図１３（Ａ）は、配線間隔の変更を説明する図であり、図１３（Ｂ）はビア被りの補正を説明する図である。
【００７６】
図１３（Ａ）では、レイアウト変更部１７０は、配線３１同士の間隔Ｓ１をより狭い間隔Ｓ２に変更することで寄生抵抗及び寄生容量を変更する。図１３（Ｂ）では、レイアウト変更部１７０は、配線とビアとが重なる位置を変更することで、寄生抵抗及び寄生容量を変更する。例えばビア７０と配線３１の端部との距離Ｌ１が、距離Ｌ１よりも長い距離Ｌ２となるようにビア７０の位置を補正することで寄生抵抗及び寄生容量を変更できる。
【００７７】
また本実施形態のレイアウト変更部１７０は、図１１乃至図１３で説明した方法以外にも、例えばマクロセル内のトランジスタをトランジスタ特性が違うトランジスタへ交換することで、マクロセルの最適化を行うことができるので、寄生抵抗及び寄生容量の変更と同じ効果が得られる。
【００７８】
本実施形態ではレイアウト変更部１７０は、主に図１１に示す配線の太さを変更する方法により、設計後マクロ特性データ２５３Ａを設計前マクロ特性データ２５２Ａに近づけるようにした。尚レイアウト変更部１７０は、配線の太さを変更する方法以外の図１２乃至図１３で説明した方法により、寄生抵抗及び寄生容量を変更することもできる。寄生容量及び寄生抵抗を変更する方法は、例えば予め設計装置１００に設定されていても良い。
【００７９】
また本実施形態のレイアウト変更部１７０は、ステップＳ５０９において、チップ５０に含まれる全てのマクロセルに対してレイアウトの変更を行っても良いし、チップ５０に含まれる一部のマクロセルに対してレイアウトの変更を行っても良い。またレイアウト変更部１７０は、例えば設計前マクロ特性データ２５２と設計後マクロ特性データ２５３との差分が大きいマクロセルから順に、レイアウト変更対象マクロセルを選択しても良い。
【００８０】
図５に戻って、ステップＳ５０９でレイアウト変更部１７０によりマクロセル毎のレイアウトが変更されると、レイアウトの変更が反映されたマクロデータ２１０が変更後マクロデータ２５４として作業領域に一時的に記憶される。
【００８１】
変更後マクロデータ２５４が記憶されると、チップ設計部１２０は変更後マクロデータ２５４を用いてステップＳ５０１のチップ設計を行う。チップ設計部１２０は、複数の変更後マクロデータ２５４を組み合わせてチップ５０Ａを設計し、チップ５０Ａのレイアウトデータを変更後レイアウトデータ２４０として出力する。
【００８２】
設計制御部１１０は、変更後レイアウトデータ２４０が出力されると、ステップＳ５０２以降の処理をステップＳ５０７でタイミングエラーができなくなるまで繰り返す。
【００８３】
以上に説明したように、本実施形態によれば、チップ設計後の影響によるマクロセルのマクロ特性データの変動をフィードバックしたレイアウトデータを用いて、チップ設計後のタイミング検証を行うことができる。よって実際に製造されるチップにより近い状態でタイミング検証を行うことができる。
【００８４】
また本実施形態では、チップ設計の際の影響によりタイミングエラーが発生した場合、マクロセル内の回路の接続を変更せずに配線のレイアウトのみを変更してマクロセルのマクロ特性データを変更する。したがって本実施形態では、マクロセルの外部に別の回路を設ける必要がなく、チップサイズが大きくなることを抑制できる。さらにチップ設計後のマクロ特性データをマクロセルがマクロセル単体で設計された際のマクロ特性データに近づけるため、マクロセル毎の動作がマクロセル単体で設計された際の動作に近くなる。よって冗長な回路が存在しない好ましい設計とすることができる。
【００８５】
（第二の実施形態）
以下に図面を参照して本発明の第二の実施形態について説明する。本発明の第二の実施形態は、それぞれ異なる工場等で設計されたマクロセルを組み合わせてチップを設計することが可能な点で第一の実施形態と相違する。以下の第二の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号を付与し、その説明を省略する。
【００８６】
図１５は、第二の実施形態に係る設計装置の機能構成例を示す図である。第二の実施形態の設計装置１００Ａは、第一の実施形態の設計装置１００の有する各部に加え、製造可否判断部１９０を有する。
【００８７】
製造可否判断部１９０は、チップ設計部１２０により出力されたレイアウトデータ２２０に基づきチップの製造が可能か否かを判断する。
【００８８】
例えばチップ設計部１２０によりマクロセルＡ、Ｂ、Ｄを組み合わせてチップが設計される際に、マクロセルＤのみがマクロセルＡ、Ｂと異なる工場で設計されたものである場合、マクロセルＡ、Ｂの仕様とマクロセルＤの仕様とが異なることがある。マクロセル毎の仕様が異なると、チップ設計の際に設計規則（デザインルール）に違反する場合があり、製造が不可能となることがある。
【００８９】
例えばマクロセルＡ、Ｂは配線の太さを３ミクロン以内とする仕様で設計されており、マクロセルＤは配線の太さを１０ミクロン以内とする仕様で設計されていた場合、配線の太さを３ミクロン以内とする仕様のチップを製造する工場では、マクロセルＡ、ＢとマクロセルＤとを組み合わせてチップを製造することは不可能である。
【００９０】
本実施形態の製造可否判断部１９０は、チップ設計が行われた段階でレイアウトデータ２２０が設計規則を満たしているか否かを判断する。設計装置１００Ａのハードウェア構成は第一の実施形態の設計装置１００と同様である。設計装置１００Ａの補助記憶装置１４に設けられたプログラム記憶部３００には、製造可否判断部１９０として機能する製造可否判断プログラム（図示せず）が記憶されている。
【００９１】
以下に、図１６を参照して本実施形態の設計装置１００Ａの動作を説明する。図１６は、第二の実施形態の設計制御部の制御により実行される処理フローについて説明するための図である。
【００９２】
本実施形態の設計装置１００Ａにおいて、設計制御部１１０は、チップ設計部１２０によりチップの設計を行う（ステップＳ１６０１）。本実施形態のチップ設計で組み合わされる複数のマクロセルには、それぞれ異なる工場で設計されたマクロセルが含まれる。図１６の例では、マクロセルＡ、Ｂは工場Ａで設計されたものであり、マクロセルＤは工場Ｂで設計されたものであり、それぞれ異なる仕様で設計されているものとした。
【００９３】
チップ設計部１２０によりマクロセルＡ、Ｂ、Ｄが組み合わされてチップが設計されると、レイアウトデータ２２０が出力されてデータベース２００へ記憶される。
【００９４】
レイアウトデータ２２０が記憶されると、レイアウトデータ読込部１３０は、データベース２００からレイアウトデータ２２０を読み込む（ステップＳ１６０２）。レイアウトデータ２２０が読み込まれると、製造可否判断部１９０は、レイアウトデータ２２０が設計規則を満たしているか否かを判断する（ステップＳ１６０３）。設計規則は、予めデータベース２００に記憶されていても良い。
【００９５】
レイアウトデータ２２０が設計規則を満たしている場合（ステップＳ１６０４）、チップ情報抽出部１４０は、レイアウトデータ２２０に基づきチップの配線密度データ２５１を抽出する（ステップＳ１６０５）。ステップＳ１６０５からステップＳ１６１１までの処理は、図５のステップＳ５０３からステップＳ５０９までの処理と同様であるから説明を省略する。
【００９６】
ステップＳ１６０４において、レイアウトデータ２２０が設計規則に違反している場合、レイアウト変更部１７０は、マクロセル内の配線等を変更する（ステップＳ１６１２）。本実施形態のレイアウト変更部１７０は、レイアウトデータ２２０が設計規則に違反している場合には、マクロセル内の配線にスリットを発生させる、配線間隔を変更する、ビア被りを補正する、ダミーデータを挿入する等の方法により（図１２乃至図１４参照）、マクロセルを組み合わせた後のレイアウトデータ２２０が設計規則を満たすようにマクロデータ２１０を変更する。
【００９７】
図１４は、ダミーデータを挿入する方法を説明する図である。図１４（Ａ）は、通常のダミーデータを挿入する場合を説明する図であり、図１４（Ｂ）は、特殊ダミーデータを挿入する場合を説明する図である。
【００９８】
図１４（Ａ）では、レイアウト変更部１７０は、配線３１の周囲にダミーデータ６０を挿入し、図１４（Ｂ）では、レイアウト変更部１７０は、配線３０の周囲に形状や間隔が変更可能な特殊ダミーデータ６１を挿入する。レイアウト変更部１７０は、特殊ダミーデータの形状や間隔を変更することができる。
【００９９】
本実施形態のレイアウト変更部１７０は、例えばチップに含まれる全てのマクロセルのマクロデータ２１０を変更しても良いし、一部のマクロセルのマクロデータ２１０を変更しても良い。
【０１００】
以上に説明したように、本実施形態によれば、設計規則に違反するレイアウトデータを修正することができる。
【０１０１】
本発明の実施形態は、以下に記載する付記のような構成が考えられる。
（付記１）
複数のセルが組み合わされた半導体集積回路の設計方法であって、
設計装置が、
前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データを算出する算出手順と、
レイアウトデータに前記特性データをフィードバックさせるフィードバック手順と、
前記特性データがフィードバックされた後のレイアウトデータを用いてタイミング検証を行う検証手順と
を実行することを特徴とする半導体集積回路の設計方法。
（付記２）
前記レイアウトデータから前記半導体集積回路の配線密度を示す配線密度データを抽出する抽出手順を有し、
前記算出手順は、
前記セルの配線密度と寄生抵抗と寄生容量との関係を示したテーブルと、前記抽出手順により抽出された前記配線密度データと、に基づき前記特性データを算出することを特徴とする付記１記載の半導体集積回路の設計方法。
（付記３）
前記フィードバック手順は、
前記レイアウトデータに含まれる前記セルが組み合わされる前の前記セルの寄生抵抗及び寄生容量を示す特性データを、前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データに書き換えることを特徴とする付記１又は２記載の半導体集積回路の設計方法。
（付記４）
前記検証手順によるタイミング検証においてエラーとなったとき、
前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データを前記セルが組み合わされる前のセルの寄生抵抗及び寄生容量を示す特性データに近づけるように、前記セルのレイアウトを変更するレイアウト変更手順を有することを特徴とする付記１乃至３のいずれか一項に記載の半導体集積回路の設計方法。
（付記５）
前記レイアウトデータに基づき前記レイアウトデータが配線規則を満たしているか否かを判断する判断手順を有することを特徴とする付記１乃至４のいずれか一項に記載の半導体集積回路の設計方法。
（付記６）
前記レイアウト変更手順は、
前記判断手順において前記レイアウトデータが前記配線規則を満たしていないと判断されたとき、前記レイアウトデータが前記配線規則を満たすように前記セルのレイアウトを変更することを特徴とする付記５記載の半導体集積回路の設計方法。
（付記７）
前記レイアウト変更手順は、
前記セルの配線の太さ又は前記セルの配線の形状を変更させて前記セルのレイアウトを変更することを特徴とする付記４乃至６の何れか一項に記載の半導体集積回路の設計方法。
（付記８）
複数のセルが組み合わされた半導体集積回路の設計装置あって、
前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データを算出する算出手段と、
レイアウトデータに前記特性データをフィードバックさせるフィードバック手段と、
前記特性データがフィードバックされた後のレイアウトデータを用いてタイミング検証を行う検証手段と、を有することを特徴とする設計装置。
（付記９）
複数のセルが組み合わされた半導体集積回路の設計装置において実行される設計プログラムであって、
前記設計装置が、
前記セルが組み合わされた後の前記セルの寄生抵抗及び寄生容量を示す特性データを算出する算出ステップと、
レイアウトデータに前記特性データをフィードバックさせるフィードバックステップと、
前記特性データがフィードバックされた後のレイアウトデータを用いてタイミング検証を行う検証ステップと、を実行することを特徴とする設計プログラム。
【０１０２】
本発明の実施形態は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【０１０３】
【図１】第一の実施形態に係る設計装置の機能構成例を示す図である。
【図２】設計装置のハードウェア構成を示す図である。
【図３】補助記憶装置内のデータベースを説明する図である。
【図４】補助記憶装置内のプログラム記憶部を説明する図である。
【図５】第一の実施形態の設計制御部の制御により実行される処理フローについて説明するための図である。
【図６】マクロデータを説明するための図である。
【図７】マクロセルの寄生抵抗及び寄生容量について説明するための図である。
【図８】マクロセルが組み合わされてチップが構成された例を示す図である。
【図９】特性変動算出部の処理を説明するための図である。
【図１０】設計後マクロ特性データを設計前マクロ特性データに近づける処理を説明する図である。
【図１１】配線の太さを変更する方法を説明する図である。
【図１２】配線にスリットを発生させる方法を説明する図である。
【図１３】配線間隔の変更する方法とビア被りを補正する方法を説明する図である。
【図１４】ダミーデータを挿入する方法を説明する図である。
【図１５】第二の実施形態に係る設計装置の機能構成例を示す図である。
【図１６】第二の実施形態の設計制御部の制御により実行される処理フローについて説明するための図である。
【符号の説明】
【０１０４】
１００、１００Ａ  設計装置
１１０  設計制御部
１２０  チップ設計部
１３０  レイアウトデータ読込部
１４０  チップ情報抽出部
１５０  特性変動算出部
１６０  フィードバック部
１７０  レイアウト変更部
１８０  タイミング検証部
１９０  製造可否判断部
２００  データベース
２１０  マクロデータ
２２０  レイアウトデータ
２３０  プロセスデータ
２３１  相関テーブル
２５０  作業領域
３００  プログラム記憶部
【図１】
2010086007.tif 000003
【図２】
2010086007.tif 000004
【図３】
2010086007.tif 000005
【図４】
2010086007.tif 000006
【図５】
2010086007.tif 000007
【図６】
2010086007.tif 000008
【図７】
2010086007.tif 000009
【図８】
2010086007.tif 000010
【図９】
2010086007.tif 000011
【図１０】
2010086007.tif 000012
【図１１】
2010086007.tif 000013
【図１２】
2010086007.tif 000014
【図１３】
2010086007.tif 000015
【図１４】
2010086007.tif 000016
【図１５】
2010086007.tif 000017
【図１６】
2010086007.tif 000018