(57)【要約】【課題】  従来の遅延計算方法では、マクロの入力端子容量のみを考慮していたために、実際のＬＳＩの遅延時間と遅延シミュレーションの計算値との誤差が大きくなってしまう問題があった。【解決手段】  本発明にかかる設計方法は、設計回路から生成される第１のネットリスト１０２から自動レイアウトを行う設計方法であって、第１のネットリスト１０２に基づいて、設計回路の複数の機能ブロックをレイアウト配置し、機能ブロック間の配線の配線抵抗及び配線容量の情報が第１のネットリスト１０２に追加された第２のネットリスト１０４を生成し、機能ブロックの端子に機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報を第２のネットリスト１０４に追加して第３のネットリスト１０７を生成し、第３のネットリスト１０７の情報から遅延時間を予測するものである。【選択図】図１
2006301837.tif 000002
【特許請求の範囲】
【請求項１】
設計回路から生成される第１のネットリストから自動レイアウトを行う設計方法であって、
前記第１のネットリストに基づいて、前記設計回路の複数の機能ブロックをレイアウト配置し、
前記機能ブロック間の配線の配線抵抗及び配線容量の情報が前記第１のネットリストに追加された第２のネットリストを生成し、
前記機能ブロックの端子に該機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報を前記第２のネットリストに追加して第３のネットリストを生成し、
前記第３のネットリストの情報から遅延時間を予測する設計方法。
【請求項２】
前記第２のネットリストへの前記機能ブロックの端子に該機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報の追加は、マクロ内端子配線記述ファイルを用意し、前記第２のネットリストに記述される前記機能ブロックの端子に対応する前記マクロ内端子配線記述ファイルの情報を追加することを特徴とする請求項１に記載の設計方法。
【請求項３】
前記マクロ内端子配線記述ファイルは、前記第２のネットリストに記述されている前記機能ブロックに対応しており、前記機能ブロックの端子に対応した端子に機能ブロックの配線抵抗及び配線容量をモデル化した回路のネットリストが記述されていることを特徴とする請求項２に記載の設計方法。
【請求項４】
前記第２のネットリストは前記機能ブロック間の配線の配線抵抗及び配線容量をモデル化した第１の回路を有していることを特徴とする請求項１乃至３のいずれか１項に記載の設計方法。
【請求項５】
前記マクロ内端子配線記述ファイルは、前記機能ブロックの端子から最初に接続される該機能ブロックの内部素子までの配線の配線抵抗及び配線容量をモデル化した第２の回路を有していることを特徴とする請求項１乃至４のいずれか１項に記載の遅延計算方法
【請求項６】
前記第３のネットリストは、前記第１の回路と前記機能ブロックの端子との間に前記第２の回路が挿入された第３の回路を有していることを特徴とする請求項１乃至５のいずれか１項に記載の設計方法。
【請求項７】
設計回路における信号の遅延時間の予測計算をコンピュータに実行させるためのプログラムであって、
第１のネットリストに基づいて、前記設計回路の機能ブロックをレイアウト配置し、
前記機能ブロック間の配線の配線抵抗及び配線容量の情報が前記第１のネットリストに追加された第２のネットリストを生成し、
前記機能ブロックの端子に該機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報を前記第２のネットリストに追加して第３のネットリストを生成し、
前記第３のネットリストの情報から前記遅延時間の予測計算をコンピュータに実行させるプログラム。
【請求項８】
設計回路における信号の遅延時間の計算に用いるネットリストの生成をコンピュータに実行させるためのプログラムであって、
設計回路から生成される第１のネットリストに基づいてされたレイアウト配置から生成された前記設計回路の機能ブロック及び該機能ブロックに接続される配線の配線抵抗及び配線容量の情報が記述された第２のネットリストが入力され、該機能ブロックの端子名を記憶する第１の記憶部と、
前記機能ブロックの端子に該機能ブロックの内部から接続される配線の配線抵抗及び配線容量の情報が記述されたマクロ内端子配線記述ファイルの端子名を記憶する第２の記憶部と、
前記第１の記憶部によって記憶された端子名と前記第２の記憶部によって記憶された端子名を比較する比較部と、
前記比較部によって端子名が一致した前記第２のネットリストの端子に対して、前記マクロ内端子配線記述ファイルの一致した端子名に対応する端子の配線抵抗及び配線容量の情報を追加する追加部とを有する前記ネットリストの生成をコンピュータに実行させるプログラム。
【請求項９】
前記マクロ内端子配線記述ファイルは、回路設計段階で用意されるファイルであることを特徴とする請求項８に記載のネットリスト加工プログラム。
【請求項１０】
出発点から到達点までの信号経路中に初段ゲートから出力段ゲートまでの信号遅延時間が予め計算された機能ブロックを含む電子回路の遅延時間計算をコンピュータに実行させるためのプログラムであって、
前記機能ブロックの初段ゲートから出力段ゲートまでの信号伝播遅延時間と、前記機能ブロックの入力端から前記初段ゲートまでの配線抵抗・配線容量と、前記出力段ゲートから機能ブロックの出力端までの配線抵抗・配線容量と、を予め記憶させた機能ブロック遅延ライブラリと、前記出発点から前記入力端までの回路接続情報と、前記出力端から到達点までの回路接続情報とを用い、
前記出発点から前記入力端までの回路接続情報に前記入力端から初段ゲートまでの配線抵抗・配線容量を付加し、前記出発点から初段ゲートまでの信号伝播遅延時間を計算する第１のステップと、
前記出力端から到達点までの回路接続情報に前記出力段ゲートから出力端までの配線抵抗・配線容量を付加し、前記出力段ゲートから到達点までの信号伝播遅延時間を求める第２のステップと、
前記機能ブロック遅延ライブラリに含まれる初段ゲートから出力段ゲートまでの信号伝播遅延時間に、前記第１のステップ及び第２のステップで求めた信号伝播遅延時間を加算し、出発点から到達点までの信号伝播遅延時間を計算する第３のステップと、をコンピュータに実行させる遅延時間計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法及びそのネットリストの作成プログラムに関し、特にマクロ内端子配線の容量成分及び抵抗成分を考慮したネットリストによって信号の遅延時間を予測する設計方法及びそのネットリストの作成プログラムに関する。
【背景技術】
【０００２】
近年、半導体集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の規模が大きくなってきており、ＬＳＩに組み込まれ、所定の機能を実現するマクロの機能も複雑化してきている。また、集積回路の構造は微細化されてきており、内部配線の線幅も微細化が進んでいる。このことから、内部配線の抵抗成分が信号の遅延に及ぼす影響が大きくなってきている。
【０００３】
従来の遅延計算方法について特許文献１に開示されている。従来の一般的な設計方法のフローチャートを図６に示す。図６に示すフローチャートについて詳細な説明をする。
【０００４】
まず、予め設計したそれぞれのマクロを結線する回路設計工程６０１を行う。次に、回路設計工程６０１にて設計が完了した回路から、回路の接続情報を有するネットリストａ６０２を生成する。続いて、生成されたネットリストａ６０２に基づいて自動レイアウトツール等を用いて、自動レイアウト工程６０３にてレイアウトを行う。続いて、完成したレイアウトからマクロに接続される配線の配線抵抗、配線容量、マクロの入力端子容量の情報を含むネットリストＡ６０４を生成する。生成されたネットリストＡ６０４を用いて遅延シミュレーション６０５を行う。遅延シミュレーションの結果、その遅延量が仕様の範囲内であれば設計を終了する。遅延量が仕様の範囲外であれば、自動レイアウト工程６０３又は回路設計工程６０１に戻り、再度設計を行う。
【０００５】
ここで、ネットリストＡ６０４において用いられるマクロ及びマクロに接続される配線の配線抵抗、配線容量、マクロの入力容量の回路図を図７に示す。マクロ７０１に接続される抵抗成分及び容量成分について図７を参照して説明する。
【０００６】
図７において、マクロ７０１の入力端子ＩＮ１には、ＮＥＴ１を介してＩＮＳＴ１が接続されている。ＩＮＳＴ１は、例えば入力端子ＩＮ１に接続される他のマクロ、入力バッファ、ＬＳＩのパッドなどである。また、ＮＥＴ１はマクロ７０１とＩＮＳＴ１との間の配線の配線抵抗と配線容量をモデル化した回路である。さらに、入力端子ＩＮ１のマクロ内部側には、入力端子容量をモデル化したものが接続されている。入力端子容量は、例えば、入力バッファのゲート容量と入力端子ＩＮ１からマクロ内で最初に接続される素子までの配線容量の和である。マクロの入力端子、例えば、入力端子ＩＮ２も同様に抵抗成分と容量成分がモデル化されている。
【０００７】
出力端子ＯＵＴ１はマクロ７０１内部に何も接続されていない。出力端子ＯＵＴ１には、ＮＥＴ３を介してＩＮＳＴ３が接続されている。ＩＮＳＴ３は、例えば、出力端子ＯＵＴ１に接続される他のマクロ、出力バッファ、ＬＳＩのパッドなどである。また、ＮＥＴ３はマクロ７０１とＩＮＳＴ３との間の配線の配線抵抗と配線容量をモデル化した回路である。
【０００８】
マクロ７０１とこれに接続される配線とを上記回路によってモデル化することで、マクロ周辺の配線で発生する信号遅延を含めた全体の信号遅延を遅延シミュレーションで検証する。
【０００９】
しかしながら、従来の設計方法によれば、マクロ内の配線遅延成分は入力端子容量のみを考慮していたために、実際に作成されるＬＳＩの遅延時間と遅延シミュレーションの計算値との間の誤差が大きく、実際のＬＳＩが動作しない問題がある。この場合、回路設計を再度行わなければならず、設計期間が増大する問題がある。また、この不具合を防ぐためには、マクロの入力端子及び出力端子から最初に接続される素子までの配線をできるだけ短くする制約をレイアウト時に行う必要があり、設計時間が増大する問題があった。
【特許文献１】特開平１１−２５９５５５号
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来の設計方法では、マクロの入力端子容量のみを考慮していたために、実際のＬＳＩの遅延時間と遅延シミュレーションの計算値との誤差が大きくなってしまう問題があった。
【課題を解決するための手段】
【００１１】
本発明にかかる設計方法は、設計回路から生成される第１のネットリストから自動レイアウトを行う設計方法であって、前記第１のネットリストに基づいて、前記設計回路の複数の機能ブロックをレイアウト配置し、前記機能ブロック間の配線の配線抵抗及び配線容量の情報が前記第１のネットリストに追加された第２のネットリストを生成し、前記機能ブロックの端子に該機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報を前記第２のネットリストに追加して第３のネットリストを生成し、前記第３のネットリストの情報から遅延時間を予測するものである。
【００１２】
本発明によれば、設計回路の機能ブロック間の配線抵抗及び配線容量に加え、機能ブロックの端子に機能ブロック内部から接続される配線の端子配線の配線抵抗及び配線容量を考慮する。これによって、機能ブロックの端子から機能ブロックの内部素子までの配線で生じる信号の遅延時間を予測することが可能である。つまり、信号の遅延時間の予測精度の向上が可能になり、設計段階で実際のＬＳＩの動作の予測精度が向上することで設計段階でのＬＳＩの完成度の向上が可能である。このことから、実際のＬＳＩの再設計を削減し、設計時間の削減が可能である。
【発明の効果】
【００１３】
本発明によれば、マクロ内の配線抵抗と配線容量とをモデル化して遅延計算するために、実際のＬＳＩの遅延時間と遅延シミュレーションの遅延時間との誤差を小さくし、設計における後戻り工程を削減することが可能である。
【発明を実施するための最良の形態】
【００１４】
実施の形態１
【００１５】
実施の形態１にかかる設計方法のフローチャートを図１に示す。実施の形態１にかかる設計方法を図１を参照して説明する。まず、複数の機能ブロック（例えば、マクロ、入出力バッファ、入出力パッドなど）を有するＬＳＩ全体の設計を回路設計工程１０１で行う。続いて、回路設計工程１０１で設計された回路の第１のネットリストであるネットリストａ１０２を作成する。作成されたネットリストａ１０２に基づいて、機能ブロックの自動配置配線を行う自動レイアウト工程１０３にてＬＳＩのレイアウトを作成する。続いて、作成されたレイアウトから機能ブロックを接続している配線の配線抵抗及び配線容量とマクロの入力端子容量とを抽出して、抽出された配線抵抗及び配線容量とマクロの入力端子容量の情報を含む第２のネットリストであるネットリストＡ１０４を生成する。続いて、ネットリストＡ１０４に予め準備されたマクロ内端子配線記述ファイル１０５の情報を付加する加工をネットリスト加工プログラム１０６にて行う。ネットリスト加工プログラム１０６は、ネットリストＡ１０４とマクロ内端子配線記述ファイルの情報を含む第３のネットリストであるネットリストＡ'１０７を生成する。マクロ内端子配線記述ファイルは、マクロの端子にマクロ内部から接続される配線の配線抵抗と配線容量との情報を有している。続いて、ネットリストＡ'１０７を用いて遅延シミュレータにて信号遅延時間を計算する遅延シミュレーション１０８を行う。
【００１６】
遅延シミュレーション１０８にて計算された遅延時間が仕様の範囲内であれば設計を終了し、使用の範囲外であった場合は、再度自動レイアウト工程１０３又は回路設計工程１０１に戻り、遅延時間が仕様の範囲内に収まるまでこのフローを繰り返す。
【００１７】
自動レイアウト工程１０３で生成されるレイアウトに基づき生成されるネットリストＡ１０４について説明する。ネットリストＡ１０４に記述されるマクロに接続される配線抵抗及び配線容量の回路図を図２に示す。図２に示す回路は、マクロ２０１、マクロ２０１に接続されるインスタンスＩＮＳＴ１から４、各ＩＮＳＴとマクロの端子との間に接続される第１の回路（例えば、Ｇ−ＮＥＴ１から４のそれぞれの回路）を有している。
【００１８】
インスタンスＩＮＳＴ１から４は、例えば、マクロ２０１に接続される他のマクロ、入出力バッファ、ＬＳＩのパッドなどである。以降、インスタンスＩＮＳＴ１から４は、特に記載した場合を除きＩＮＳＴと称す。また、Ｇ−ＮＥＴ１から４は、マクロ２０１の端子とそれに対応するＩＮＳＴとの間の配線抵抗と配線容量がモデル化された回路である。例えば、インスタンス側の配線に一方の端子が接続され、他方の端子が接地電位に接続された第１のコンデンサと、マクロの端子側の配線に一方の端子が接続され、他方の端子が接地電位に接続された第２のコンデンサと、インスタンス側の配線に一方の端子が接続され、他方の端子がマクロの端子側の配線に接続される抵抗とを有している。Ｇ−ＮＥＴ１から４の抵抗、第１及び第２のコンデンサの値は、それぞれレイアウトから求まる値である。以降、Ｇ−ＮＥＴ１から４は、特に記載した場合を除きＧ−ＮＥＴと称す。
【００１９】
また、マクロ２０１の入力端子と接地電位との間にはマクロの入力端子容量が接続されている。この入力端子容量は、例えば、入力端子から入力端子に接続される初段のマクロ内素子までの配線容量と、初段のマクロ内素子のゲート容量との和である。
【００２０】
上記のマクロ及びマクロに接続される配線の抵抗成分及び容量成分を含んだ回路でＬＳＩ全体のネットリストを作成したものがネットリストＡとなる。
【００２１】
また、予め準備されたマクロ内端子配線記述ファイルに記述されるマクロの回路図を図３に示す。マクロ内端子配線記述ファイルに記述されるマクロの回路について図３を参照して説明する。マクロ内端子配線回路はマクロ３０１の入力端子ＩＮ１に接続されるＩ−ＮＥＴａ、入力端子ＩＮ１からＩ−ＮＥＴａを介して接続される初段のインスタンスＩＮＳＴａ、ＯＵＴ２端子に接続されるＩ−ＮＥＴｂ、Ｉ−ＮＥＴｂを介してＯＵＴ２端子に接続されるインスタンスＩＮＳＴｄを有している。また、入力端子ＩＮ２にはインスタンスＩＮＳＴｂが接続され、出力端子ＯＵＴ１にはインスタンスＩＮＳＴｃが接続される。インスタンスＩＮＳＴａ、ｂは、例えば、入力バッファである。また、インスタンスＩＮＳＴｃ、ｄは、例えば出力バッファである。
【００２２】
Ｉ−ＮＥＴａ及びｄは、それぞれ第２の回路であって、マクロ２０１の端子と端子に対応するインスタンスとの間の配線抵抗と配線容量がモデル化された回路である。例えば、インスタンス側の配線に一方の端子が接続され、他方の端子が接地電位に接続された第３のコンデンサと、マクロの端子側の配線に一方の端子が接続され、他方の端子が接地電位に接続された第４のコンデンサと、インスタンス側の配線に一方の端子が接続され、他方の端子がマクロの端子側の配線に接続される抵抗とを有している。Ｉ−ＮＥＴａ及びｄの抵抗、第３及び第４のコンデンサの値は、それぞれレイアウトから求まる値である。以降、Ｉ−ＮＥＴａ及びｄは、特に記載した場合を除きＩ−ＮＥＴと称す。
【００２３】
また、入力端子ＩＮ２及び出力端子ＯＵＴ１には、Ｉ−ＮＥＴａ，ｄに相当する回路は付加されていないが、これは端子からインスタンスまでの距離が短く、その配線抵抗及び配線容量が十分無視できる大きさであるため、特に記載されていない。
【００２４】
上記説明のネットリストＡ１０４及びマクロ内端子配線記述ファイル１０５を入力ファイルとしてネットリスト加工プログラムは、２つのファイルを足し合わせた新しいネットリストＡ'１０７を生成する。ネットリスト加工プログラムがネットリストＡ'１０７を生成するフローチャートを図５に示す。
【００２５】
例えば、ネットリストＡ１０４がｍ個のマクロを有しており、そのマクロがそれぞれｎ個の端子を有している場合について、ネットリスト加工プログラムの動作を図５を参照して詳細に説明する。ネットリスト加工プログラムは、まず、ネットリストＡ１０４からネットリストＡ１０４内のＭ番目のマクロＭを読み込む（ステップ５０１）。例えば、Ｍは初期値が１である場合、１番目のマクロであるマクロ１を読み込む。読み込んだマクロＭをメモリに格納する（ステップ５０２）。
【００２６】
次に、マクロＭのＮ番目の端子名を読み込む（ステップ５０３）。例えば、Ｎの初期値が１である場合、マクロ１の１番目の端子の端子名を読み込む。読み込んだ端子名をメモリＭＡＣ［Ｍ］［Ｎ］のＭＡＣ［１］［１］に格納する（ステップ５０４）。
【００２７】
また、マクロＭに対応したマクロ内端子配線記述ファイル１０５を読み込む（ステップ５０５）。例えば、マクロ１に対応したマクロ内端子配線記述ファイルＭＦ［１］を読み込む。読み込んだＭＦ［１］をメモリに格納する（ステップ５０６）。続いて、ＭＦ［１］内のＬ番目の端子名を読み込む（ステップ５０７）。例えば、Ｌの初期値が１である場合、１番目の端子名を読み込む。読み込んだ端子名をメモリＴＰ［Ｍ］［Ｌ］のＴＰ［１］［１］に格納する（ステップ５０８）。
【００２８】
ステップ５０４でＭＡＣ［Ｍ］［Ｎ］に記憶したマクロＭの端子名とステップ５０８でＴＰ［Ｍ］［Ｌ］に記憶したＭＦ［Ｍ］の端子名を比較する（ステップ５０９）。比較の結果、記憶した端子名が一致していた場合、ネットリストＡのマクロＭのＮ番目の端子とその端子に接続されるＧ−ＮＥＴとの間にマクロ内端子配線記述ファイルＭＦ［Ｍ］のＬ番目の端子に接続されるＩ−ＮＥＴを挿入する（ステップ５１０）。
【００２９】
ステップ５０９で比較した結果、端子名が不一致の場合は、ファイルＭＦ［Ｍ］の端子番号Ｌを１つ増やし、これを端子番号Ｌが端子数ｎとなるまで繰り返す（ステップ５１１）。例えば、ファイルＭＦ［１］の１番目の端子名ＴＰ［１］［１］と端子名ＭＡＣ［１］［１］が不一致であった場合、ステップ５０７に戻り２番目の端子名ＴＰ［１］［２］を読み込む。この処理は端子名が一致するか、又は、端子番号Ｌが端子数ｎと同じになるまで繰り返す。ファイルＭＦ［Ｍ］の１番目の端子からｎ番目の端子までを検索し、端子名が一致しなかった場合は、次のステップに進む。
【００３０】
ステップ５１０、又は、ステップ５１１が完了した場合、マクロＭの端子番号Ｎを１つ増加させる。これを端子番号ＮとマクロＭの端子数ｎとが同じになるまで繰り返す（ステップ５１２）。例えば、マクロ１の１番目の端子のステップ５１０、又は、ステップ５１１の処理が完了した場合、マクロ１の２番目の端子名をステップ５０３に戻り読み込む。その後再びステップ５０７からステップ５１１の処理を繰り返す。ステップ５０７からステップ５１１までの処理が完了した場合、再びステップ５０３に戻りマクロＭの次の端子名を読み込む。この処理をマクロＭのすべての端子の読み込みが完了するまで繰り返す。マクロＭの端子番号Ｎが端子数ｎと同じになった場合、次のステップに進む。
【００３１】
ステップ５１２が完了した場合、ネットリストＡの次のマクロ番号Ｍを１つ増加させる。これをマクロ番号Ｍとマクロ数ｍとが同じになるまで繰り返す（ステップ５１３）。例えば、１番目のマクロであるマクロ１に対してステップ５０１からステップ５１２の処理が完了した場合、ステップ５０１に戻り、２番目のマクロであるマクロ２を読み込む。続いて、ステップ５０２から５１２の処理を行う。これをすべてのマクロについて行い、マクロ番号Ｍとマクロ数ｍが同じになった場合、処理を終了する。
【００３２】
ステップ５０１からステップ５１３によって、すべてのマクロのすべての端子にＩ−ＮＥＴの情報を付加することで、新しいネットリストＡ'１０７が生成される。このネットリストＡ'１０７に記述されるマクロ及びマクロに接続される配線抵抗及び配線容量の回路図を図４に示す。ネットリストＡ'１０７に記述される回路について図４を参照して詳細な説明をする。図４に示す回路はネットリストＡ１０４に記述されるマクロ２０１、ネットリストＡ１０４に記述されるＧ−ＮＥＴ、ネットリストＡ１０４に記述されるＩＮＳＴ、マクロ内端子配線記述ファイル１０５に記述されるＩ−ＮＥＴを有している。Ｇ−ＮＥＴとＩ−ＮＥＴを組み合わせたものが第３の回路となる。
【００３３】
マクロ２０１は、マクロ内部に入力端子ＩＮ１と接地電位との間に入力端子容量が接続されている。また、入力端子ＩＮ１には、Ｇ−ＮＥＴ１及びＩ−ＮＥＴａを介してＩＮＳＴ１が接続されている。ここで、Ｇ−ＮＥＴ１はネットリストＡ１０４に記述されているものであって、Ｉ−ＮＥＴａはマクロ内端子配線記述ファイル１０５に記述されたものである。Ｉ−ＮＥＴａはネットリスト加工プログラムによって、入力端子ＩＮ１とＧ−ＮＥＴ１との間に挿入されたものである。なお、入力端子ＩＮ１と接地電位との間に接続される入力端子容量については、マクロ内端子配線記述ファイル１０５に含めることも可能である。この場合、ネットリストＡ１０４からこの入力端子容量の情報は削除される。
【００３４】
マクロ内端子配線記述ファイル１０５の入力端子ＩＮ２にはＩ−ＮＥＴについての記述がないため、ネットリストＡ'１０７のマクロ２０１の入力端子ＩＮ２はネットリストＡ１０４と同じ記述となっている。
【００３５】
また、マクロ内端子配線記述ファイル１０５の出力端子ＯＵＴ１にはＩ−ＮＥＴについての記述がないため、ネットリストＡ'１０７のマクロ２０１の出力端子ＯＵＴ１はネットリストＡ１０４と同じ記述となっている。
【００３６】
マクロの出力端子ＯＵＴ２には、Ｇ−ＮＥＴ４及びＩ−ＮＥＴｄを介してＩＮＳＴ４が接続されている。ここで、Ｇ−ＮＥＴ４はネットリストＡ１０４に記述されているものであって、Ｉ−ＮＥＴｄはマクロ内端子配線記述ファイル１０５に記述されたものである。Ｉ−ＮＥＴｄはネットリスト加工プログラムによって、出力端子ＯＵＴ２とＧ−ＮＥＴ４との間に挿入されたものである。
【００３７】
本発明によれば、自動レイアウト工程のレイアウトに基づいて生成されるネットリストＡ１０４に対して、マクロの端子にマクロ内部から接続される配線の配線抵抗及び配線容量の情報をネットリスト加工プログラムによって付加することで、新しいネットリストＡ'１０７を生成する。このネットリストＡ'１０７を用いて遅延シミュレーションを行うことで、マクロの端子に外部から接続される配線に起因する信号遅延のみならず、マクロの端子に内部から接続される配線に起因する信号遅延を考慮した遅延シミュレーションが可能になる。つまり、より精度の高い遅延シミュレーションを行うことで、設計段階でのＬＳＩの完成度を向上させ、半導体設計工程における後戻りを低減し、半導体設計工程にかかる時間を削減することが可能である。
【００３８】
また、マクロの端子に内部から接続される配線の配線抵抗及び配線遅延を遅延シミュレーションに反映させられることから、マクロ内のレイアウトの自由度が高くなる。例えば、マクロの入力端子から初段の入力バッファまでの距離が長くなる場合、従来ではマクロ内の配線抵抗及び配線容量が考慮されていなかったために、遅延シミュレーションの結果と実際の半導体装置の信号遅延が大きく異なっていたのに対し、本発明によればマクロ内の配線抵抗及び配線容量を考慮することが可能であるため、遅延シミュレーションの結果と実際の半導体装置の信号遅延との差を小さくすることが可能である。このことより、本発明によればレイアウトの制約の少ないレイアウトが可能になり、設計の容易化が可能である。
【００３９】
本発明は、上記実施の形態に限ったものではなく適宜変更が可能である。例えば、ネットリスト加工プログラムはネットリストＡ１０４にマクロ内端子配線記述ファイル１０５の情報を付加したネットリストＡ'１０７を生成できればよく、上記実施の形態のフローチャートに限ったものではない。
さらに、マクロ２０１の内部がすでにレイアウト済みのマクロであって、自動レイアウト工程１０３は、このレイアウト済みのマクロを配置し、マクロの入出力端子をマクロ外の外の素子に接続するだけの場合には、本発明によれば、簡易、かつ、高精度に遅延シミュレーションを行うことができる。
すなわち、マクロ２０１内部の信号伝播遅延時間を予め計算してライブラリ化し、遅延シミュレーション１０８では、マクロ内部の遅延に関して遅延シュミュレーションを省略し、予めライブラリ化したこの信号伝播遅延時間を用いて全体の信号伝播遅延時間を高精度に求めることができる。
具体的には、マクロ３０１において、ＩＮ１から入力された信号が、マクロ３０１内部を伝播してＯＵＴ１及びＯＵＴ２から出力される場合、ＩＮＳＴａからＩＮＳＴｃ、及びＩＮＳＴａからＩＮＳＴｄの信号伝版遅延時間を予め遅延シミュレーション、遅延計算で求めておき、ライブラリとしてマクロ端子配線記述ファイル１０５に格納しておく。遅延シミュレーション１０８では、ＩＮＳＴａからＩＮＳＴｃ、ＩＮＳＴａからＩＮＳＴｄのマクロ内部の遅延について、ライブラリに格納された遅延時間を用いれば、実際に遅延シュミュレーションを行わずとも、信号伝播遅延時間を求めることができる。すなわち、出発点ＩＮＳＴ１からＩＮ１、ＩＮＳＴａ、ＩＮＳＴｄ、ＯＵＴ２を通過して到達点ＩＮＳＴ４に至る信号伝播経路を考えたとき、信号が出発点ＩＮＳＴ１から到達点ＩＮＳＴ４に到達するまでの信号伝播遅延時間は、ＩＮＳＴ１からＩＮＳＴａまでの信号伝播時間に、ＩＮＳＴａからＩＮＳＴｄまでの信号伝播遅延時間と、ＩＮＳＴｄからＩＮＳＴ４までの信号伝播遅延時間とを加算することにより求められる。ＩＮＳＴ１からＩＮＳＴａまで、及びＩＮＳＴｄからＩＮＳＴ４までの信号伝播遅延時間は、遅延シミュレーションを行って求めるとしても、ＩＮＳＴａからＩＮＳＴｄまでの信号伝播遅延時間は、予めマクロ端子配線記述ファイル１０５に格納された信号伝播遅延時間を用いることができる。
このように処理することにより、ＩＮＳＴａからＩＮＳＴｄまでの遅延シミュレーションが省略できるから簡易に遅延シミュレーションを行うことができ、かつ、マクロの入力端から初段ゲート、出力段ゲートから出力端までの配線抵抗、配線容量を考慮して遅延シミュレーションを行うことができるので、高精度な遅延シミュレーションを行うことができる。
なお、マクロ内部の信号伝播遅延時間は、電源電圧や温度、また、入力波形のなまりなどによって影響を受けるので、これらのばらつきも予めライブラリ化することによりさらに高精度のシミュレーションを行うことができる。
【図面の簡単な説明】
【００４０】
【図１】本発明にかかる設計方法のフローチャートを示す図である。
【図２】本発明にかかるネットリストＡに記述されるマクロの回路図である。
【図３】本発明にかかるマクロ内端子配線記述ファイルに記述されるマクロの回路図である。
【図４】本発明にかかるネットリストＡ'に記述されるマクロの回路図である。
【図５】本発明にかかるネットリスト加工プログラムのフローチャートを示す図である。
【図６】従来の設計方法のフローチャートを示す図である。
【図７】従来のネットリストＡに記述されるマクロの回路図である。
【符号の説明】
【００４１】
１０１    回路設計工程
１０２    ネットリストａ
１０３    自動レイアウト工程
１０４    ネットリストＡ
１０５    マクロ内端子配線記述ファイル
１０６    ネットリスト加工プログラムによるネットリスト加工工程
１０７    ネットリストＡ'
１０８    遅延シミュレーション
２０１    マクロ
３０１    マクロ
６０１    回路設計工程
６０２    ネットリストａ
６０３    自動レイアウト工程
６０４    ネットリストＡ
６０５    遅延シミュレーション
７０１    マクロ
【図１】
2006301837.tif 000003
【図２】
2006301837.tif 000004
【図３】
2006301837.tif 000005
【図４】
2006301837.tif 000006
【図５】
2006301837.tif 000007
【図６】
2006301837.tif 000008
【図７】
2006301837.tif 000009