JP2006301837A - マクロ内配線を考慮したネットリストを用いて遅延計算を行う設計方法及びそのネットリストの作成プログラム - Google Patents
マクロ内配線を考慮したネットリストを用いて遅延計算を行う設計方法及びそのネットリストの作成プログラム Download PDFInfo
- Publication number
- JP2006301837A JP2006301837A JP2005120781A JP2005120781A JP2006301837A JP 2006301837 A JP2006301837 A JP 2006301837A JP 2005120781 A JP2005120781 A JP 2005120781A JP 2005120781 A JP2005120781 A JP 2005120781A JP 2006301837 A JP2006301837 A JP 2006301837A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- terminal
- netlist
- macro
- functional block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】
従来の遅延計算方法では、マクロの入力端子容量のみを考慮していたために、実際のLSIの遅延時間と遅延シミュレーションの計算値との誤差が大きくなってしまう問題があった。
【解決手段】
本発明にかかる設計方法は、設計回路から生成される第1のネットリスト102から自動レイアウトを行う設計方法であって、第1のネットリスト102に基づいて、設計回路の複数の機能ブロックをレイアウト配置し、機能ブロック間の配線の配線抵抗及び配線容量の情報が第1のネットリスト102に追加された第2のネットリスト104を生成し、機能ブロックの端子に機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報を第2のネットリスト104に追加して第3のネットリスト107を生成し、第3のネットリスト107の情報から遅延時間を予測するものである。
【選択図】図1
従来の遅延計算方法では、マクロの入力端子容量のみを考慮していたために、実際のLSIの遅延時間と遅延シミュレーションの計算値との誤差が大きくなってしまう問題があった。
【解決手段】
本発明にかかる設計方法は、設計回路から生成される第1のネットリスト102から自動レイアウトを行う設計方法であって、第1のネットリスト102に基づいて、設計回路の複数の機能ブロックをレイアウト配置し、機能ブロック間の配線の配線抵抗及び配線容量の情報が第1のネットリスト102に追加された第2のネットリスト104を生成し、機能ブロックの端子に機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報を第2のネットリスト104に追加して第3のネットリスト107を生成し、第3のネットリスト107の情報から遅延時間を予測するものである。
【選択図】図1
Description
本発明はマクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法及びそのネットリストの作成プログラムに関し、特にマクロ内端子配線の容量成分及び抵抗成分を考慮したネットリストによって信号の遅延時間を予測する設計方法及びそのネットリストの作成プログラムに関する。
近年、半導体集積回路(LSI:Large Scale Integration)の規模が大きくなってきており、LSIに組み込まれ、所定の機能を実現するマクロの機能も複雑化してきている。また、集積回路の構造は微細化されてきており、内部配線の線幅も微細化が進んでいる。このことから、内部配線の抵抗成分が信号の遅延に及ぼす影響が大きくなってきている。
従来の遅延計算方法について特許文献1に開示されている。従来の一般的な設計方法のフローチャートを図6に示す。図6に示すフローチャートについて詳細な説明をする。
まず、予め設計したそれぞれのマクロを結線する回路設計工程601を行う。次に、回路設計工程601にて設計が完了した回路から、回路の接続情報を有するネットリストa602を生成する。続いて、生成されたネットリストa602に基づいて自動レイアウトツール等を用いて、自動レイアウト工程603にてレイアウトを行う。続いて、完成したレイアウトからマクロに接続される配線の配線抵抗、配線容量、マクロの入力端子容量の情報を含むネットリストA604を生成する。生成されたネットリストA604を用いて遅延シミュレーション605を行う。遅延シミュレーションの結果、その遅延量が仕様の範囲内であれば設計を終了する。遅延量が仕様の範囲外であれば、自動レイアウト工程603又は回路設計工程601に戻り、再度設計を行う。
ここで、ネットリストA604において用いられるマクロ及びマクロに接続される配線の配線抵抗、配線容量、マクロの入力容量の回路図を図7に示す。マクロ701に接続される抵抗成分及び容量成分について図7を参照して説明する。
図7において、マクロ701の入力端子IN1には、NET1を介してINST1が接続されている。INST1は、例えば入力端子IN1に接続される他のマクロ、入力バッファ、LSIのパッドなどである。また、NET1はマクロ701とINST1との間の配線の配線抵抗と配線容量をモデル化した回路である。さらに、入力端子IN1のマクロ内部側には、入力端子容量をモデル化したものが接続されている。入力端子容量は、例えば、入力バッファのゲート容量と入力端子IN1からマクロ内で最初に接続される素子までの配線容量の和である。マクロの入力端子、例えば、入力端子IN2も同様に抵抗成分と容量成分がモデル化されている。
出力端子OUT1はマクロ701内部に何も接続されていない。出力端子OUT1には、NET3を介してINST3が接続されている。INST3は、例えば、出力端子OUT1に接続される他のマクロ、出力バッファ、LSIのパッドなどである。また、NET3はマクロ701とINST3との間の配線の配線抵抗と配線容量をモデル化した回路である。
マクロ701とこれに接続される配線とを上記回路によってモデル化することで、マクロ周辺の配線で発生する信号遅延を含めた全体の信号遅延を遅延シミュレーションで検証する。
しかしながら、従来の設計方法によれば、マクロ内の配線遅延成分は入力端子容量のみを考慮していたために、実際に作成されるLSIの遅延時間と遅延シミュレーションの計算値との間の誤差が大きく、実際のLSIが動作しない問題がある。この場合、回路設計を再度行わなければならず、設計期間が増大する問題がある。また、この不具合を防ぐためには、マクロの入力端子及び出力端子から最初に接続される素子までの配線をできるだけ短くする制約をレイアウト時に行う必要があり、設計時間が増大する問題があった。
特開平11−259555号
従来の設計方法では、マクロの入力端子容量のみを考慮していたために、実際のLSIの遅延時間と遅延シミュレーションの計算値との誤差が大きくなってしまう問題があった。
本発明にかかる設計方法は、設計回路から生成される第1のネットリストから自動レイアウトを行う設計方法であって、前記第1のネットリストに基づいて、前記設計回路の複数の機能ブロックをレイアウト配置し、前記機能ブロック間の配線の配線抵抗及び配線容量の情報が前記第1のネットリストに追加された第2のネットリストを生成し、前記機能ブロックの端子に該機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報を前記第2のネットリストに追加して第3のネットリストを生成し、前記第3のネットリストの情報から遅延時間を予測するものである。
本発明によれば、設計回路の機能ブロック間の配線抵抗及び配線容量に加え、機能ブロックの端子に機能ブロック内部から接続される配線の端子配線の配線抵抗及び配線容量を考慮する。これによって、機能ブロックの端子から機能ブロックの内部素子までの配線で生じる信号の遅延時間を予測することが可能である。つまり、信号の遅延時間の予測精度の向上が可能になり、設計段階で実際のLSIの動作の予測精度が向上することで設計段階でのLSIの完成度の向上が可能である。このことから、実際のLSIの再設計を削減し、設計時間の削減が可能である。
本発明によれば、マクロ内の配線抵抗と配線容量とをモデル化して遅延計算するために、実際のLSIの遅延時間と遅延シミュレーションの遅延時間との誤差を小さくし、設計における後戻り工程を削減することが可能である。
実施の形態1
実施の形態1にかかる設計方法のフローチャートを図1に示す。実施の形態1にかかる設計方法を図1を参照して説明する。まず、複数の機能ブロック(例えば、マクロ、入出力バッファ、入出力パッドなど)を有するLSI全体の設計を回路設計工程101で行う。続いて、回路設計工程101で設計された回路の第1のネットリストであるネットリストa102を作成する。作成されたネットリストa102に基づいて、機能ブロックの自動配置配線を行う自動レイアウト工程103にてLSIのレイアウトを作成する。続いて、作成されたレイアウトから機能ブロックを接続している配線の配線抵抗及び配線容量とマクロの入力端子容量とを抽出して、抽出された配線抵抗及び配線容量とマクロの入力端子容量の情報を含む第2のネットリストであるネットリストA104を生成する。続いて、ネットリストA104に予め準備されたマクロ内端子配線記述ファイル105の情報を付加する加工をネットリスト加工プログラム106にて行う。ネットリスト加工プログラム106は、ネットリストA104とマクロ内端子配線記述ファイルの情報を含む第3のネットリストであるネットリストA'107を生成する。マクロ内端子配線記述ファイルは、マクロの端子にマクロ内部から接続される配線の配線抵抗と配線容量との情報を有している。続いて、ネットリストA'107を用いて遅延シミュレータにて信号遅延時間を計算する遅延シミュレーション108を行う。
遅延シミュレーション108にて計算された遅延時間が仕様の範囲内であれば設計を終了し、使用の範囲外であった場合は、再度自動レイアウト工程103又は回路設計工程101に戻り、遅延時間が仕様の範囲内に収まるまでこのフローを繰り返す。
自動レイアウト工程103で生成されるレイアウトに基づき生成されるネットリストA104について説明する。ネットリストA104に記述されるマクロに接続される配線抵抗及び配線容量の回路図を図2に示す。図2に示す回路は、マクロ201、マクロ201に接続されるインスタンスINST1から4、各INSTとマクロの端子との間に接続される第1の回路(例えば、G−NET1から4のそれぞれの回路)を有している。
インスタンスINST1から4は、例えば、マクロ201に接続される他のマクロ、入出力バッファ、LSIのパッドなどである。以降、インスタンスINST1から4は、特に記載した場合を除きINSTと称す。また、G−NET1から4は、マクロ201の端子とそれに対応するINSTとの間の配線抵抗と配線容量がモデル化された回路である。例えば、インスタンス側の配線に一方の端子が接続され、他方の端子が接地電位に接続された第1のコンデンサと、マクロの端子側の配線に一方の端子が接続され、他方の端子が接地電位に接続された第2のコンデンサと、インスタンス側の配線に一方の端子が接続され、他方の端子がマクロの端子側の配線に接続される抵抗とを有している。G−NET1から4の抵抗、第1及び第2のコンデンサの値は、それぞれレイアウトから求まる値である。以降、G−NET1から4は、特に記載した場合を除きG−NETと称す。
また、マクロ201の入力端子と接地電位との間にはマクロの入力端子容量が接続されている。この入力端子容量は、例えば、入力端子から入力端子に接続される初段のマクロ内素子までの配線容量と、初段のマクロ内素子のゲート容量との和である。
上記のマクロ及びマクロに接続される配線の抵抗成分及び容量成分を含んだ回路でLSI全体のネットリストを作成したものがネットリストAとなる。
また、予め準備されたマクロ内端子配線記述ファイルに記述されるマクロの回路図を図3に示す。マクロ内端子配線記述ファイルに記述されるマクロの回路について図3を参照して説明する。マクロ内端子配線回路はマクロ301の入力端子IN1に接続されるI−NETa、入力端子IN1からI−NETaを介して接続される初段のインスタンスINSTa、OUT2端子に接続されるI−NETb、I−NETbを介してOUT2端子に接続されるインスタンスINSTdを有している。また、入力端子IN2にはインスタンスINSTbが接続され、出力端子OUT1にはインスタンスINSTcが接続される。インスタンスINSTa、bは、例えば、入力バッファである。また、インスタンスINSTc、dは、例えば出力バッファである。
I−NETa及びdは、それぞれ第2の回路であって、マクロ201の端子と端子に対応するインスタンスとの間の配線抵抗と配線容量がモデル化された回路である。例えば、インスタンス側の配線に一方の端子が接続され、他方の端子が接地電位に接続された第3のコンデンサと、マクロの端子側の配線に一方の端子が接続され、他方の端子が接地電位に接続された第4のコンデンサと、インスタンス側の配線に一方の端子が接続され、他方の端子がマクロの端子側の配線に接続される抵抗とを有している。I−NETa及びdの抵抗、第3及び第4のコンデンサの値は、それぞれレイアウトから求まる値である。以降、I−NETa及びdは、特に記載した場合を除きI−NETと称す。
また、入力端子IN2及び出力端子OUT1には、I−NETa,dに相当する回路は付加されていないが、これは端子からインスタンスまでの距離が短く、その配線抵抗及び配線容量が十分無視できる大きさであるため、特に記載されていない。
上記説明のネットリストA104及びマクロ内端子配線記述ファイル105を入力ファイルとしてネットリスト加工プログラムは、2つのファイルを足し合わせた新しいネットリストA'107を生成する。ネットリスト加工プログラムがネットリストA'107を生成するフローチャートを図5に示す。
例えば、ネットリストA104がm個のマクロを有しており、そのマクロがそれぞれn個の端子を有している場合について、ネットリスト加工プログラムの動作を図5を参照して詳細に説明する。ネットリスト加工プログラムは、まず、ネットリストA104からネットリストA104内のM番目のマクロMを読み込む(ステップ501)。例えば、Mは初期値が1である場合、1番目のマクロであるマクロ1を読み込む。読み込んだマクロMをメモリに格納する(ステップ502)。
次に、マクロMのN番目の端子名を読み込む(ステップ503)。例えば、Nの初期値が1である場合、マクロ1の1番目の端子の端子名を読み込む。読み込んだ端子名をメモリMAC[M][N]のMAC[1][1]に格納する(ステップ504)。
また、マクロMに対応したマクロ内端子配線記述ファイル105を読み込む(ステップ505)。例えば、マクロ1に対応したマクロ内端子配線記述ファイルMF[1]を読み込む。読み込んだMF[1]をメモリに格納する(ステップ506)。続いて、MF[1]内のL番目の端子名を読み込む(ステップ507)。例えば、Lの初期値が1である場合、1番目の端子名を読み込む。読み込んだ端子名をメモリTP[M][L]のTP[1][1]に格納する(ステップ508)。
ステップ504でMAC[M][N]に記憶したマクロMの端子名とステップ508でTP[M][L]に記憶したMF[M]の端子名を比較する(ステップ509)。比較の結果、記憶した端子名が一致していた場合、ネットリストAのマクロMのN番目の端子とその端子に接続されるG−NETとの間にマクロ内端子配線記述ファイルMF[M]のL番目の端子に接続されるI−NETを挿入する(ステップ510)。
ステップ509で比較した結果、端子名が不一致の場合は、ファイルMF[M]の端子番号Lを1つ増やし、これを端子番号Lが端子数nとなるまで繰り返す(ステップ511)。例えば、ファイルMF[1]の1番目の端子名TP[1][1]と端子名MAC[1][1]が不一致であった場合、ステップ507に戻り2番目の端子名TP[1][2]を読み込む。この処理は端子名が一致するか、又は、端子番号Lが端子数nと同じになるまで繰り返す。ファイルMF[M]の1番目の端子からn番目の端子までを検索し、端子名が一致しなかった場合は、次のステップに進む。
ステップ510、又は、ステップ511が完了した場合、マクロMの端子番号Nを1つ増加させる。これを端子番号NとマクロMの端子数nとが同じになるまで繰り返す(ステップ512)。例えば、マクロ1の1番目の端子のステップ510、又は、ステップ511の処理が完了した場合、マクロ1の2番目の端子名をステップ503に戻り読み込む。その後再びステップ507からステップ511の処理を繰り返す。ステップ507からステップ511までの処理が完了した場合、再びステップ503に戻りマクロMの次の端子名を読み込む。この処理をマクロMのすべての端子の読み込みが完了するまで繰り返す。マクロMの端子番号Nが端子数nと同じになった場合、次のステップに進む。
ステップ512が完了した場合、ネットリストAの次のマクロ番号Mを1つ増加させる。これをマクロ番号Mとマクロ数mとが同じになるまで繰り返す(ステップ513)。例えば、1番目のマクロであるマクロ1に対してステップ501からステップ512の処理が完了した場合、ステップ501に戻り、2番目のマクロであるマクロ2を読み込む。続いて、ステップ502から512の処理を行う。これをすべてのマクロについて行い、マクロ番号Mとマクロ数mが同じになった場合、処理を終了する。
ステップ501からステップ513によって、すべてのマクロのすべての端子にI−NETの情報を付加することで、新しいネットリストA'107が生成される。このネットリストA'107に記述されるマクロ及びマクロに接続される配線抵抗及び配線容量の回路図を図4に示す。ネットリストA'107に記述される回路について図4を参照して詳細な説明をする。図4に示す回路はネットリストA104に記述されるマクロ201、ネットリストA104に記述されるG−NET、ネットリストA104に記述されるINST、マクロ内端子配線記述ファイル105に記述されるI−NETを有している。G−NETとI−NETを組み合わせたものが第3の回路となる。
マクロ201は、マクロ内部に入力端子IN1と接地電位との間に入力端子容量が接続されている。また、入力端子IN1には、G−NET1及びI−NETaを介してINST1が接続されている。ここで、G−NET1はネットリストA104に記述されているものであって、I−NETaはマクロ内端子配線記述ファイル105に記述されたものである。I−NETaはネットリスト加工プログラムによって、入力端子IN1とG−NET1との間に挿入されたものである。なお、入力端子IN1と接地電位との間に接続される入力端子容量については、マクロ内端子配線記述ファイル105に含めることも可能である。この場合、ネットリストA104からこの入力端子容量の情報は削除される。
マクロ内端子配線記述ファイル105の入力端子IN2にはI−NETについての記述がないため、ネットリストA'107のマクロ201の入力端子IN2はネットリストA104と同じ記述となっている。
また、マクロ内端子配線記述ファイル105の出力端子OUT1にはI−NETについての記述がないため、ネットリストA'107のマクロ201の出力端子OUT1はネットリストA104と同じ記述となっている。
マクロの出力端子OUT2には、G−NET4及びI−NETdを介してINST4が接続されている。ここで、G−NET4はネットリストA104に記述されているものであって、I−NETdはマクロ内端子配線記述ファイル105に記述されたものである。I−NETdはネットリスト加工プログラムによって、出力端子OUT2とG−NET4との間に挿入されたものである。
本発明によれば、自動レイアウト工程のレイアウトに基づいて生成されるネットリストA104に対して、マクロの端子にマクロ内部から接続される配線の配線抵抗及び配線容量の情報をネットリスト加工プログラムによって付加することで、新しいネットリストA'107を生成する。このネットリストA'107を用いて遅延シミュレーションを行うことで、マクロの端子に外部から接続される配線に起因する信号遅延のみならず、マクロの端子に内部から接続される配線に起因する信号遅延を考慮した遅延シミュレーションが可能になる。つまり、より精度の高い遅延シミュレーションを行うことで、設計段階でのLSIの完成度を向上させ、半導体設計工程における後戻りを低減し、半導体設計工程にかかる時間を削減することが可能である。
また、マクロの端子に内部から接続される配線の配線抵抗及び配線遅延を遅延シミュレーションに反映させられることから、マクロ内のレイアウトの自由度が高くなる。例えば、マクロの入力端子から初段の入力バッファまでの距離が長くなる場合、従来ではマクロ内の配線抵抗及び配線容量が考慮されていなかったために、遅延シミュレーションの結果と実際の半導体装置の信号遅延が大きく異なっていたのに対し、本発明によればマクロ内の配線抵抗及び配線容量を考慮することが可能であるため、遅延シミュレーションの結果と実際の半導体装置の信号遅延との差を小さくすることが可能である。このことより、本発明によればレイアウトの制約の少ないレイアウトが可能になり、設計の容易化が可能である。
本発明は、上記実施の形態に限ったものではなく適宜変更が可能である。例えば、ネットリスト加工プログラムはネットリストA104にマクロ内端子配線記述ファイル105の情報を付加したネットリストA'107を生成できればよく、上記実施の形態のフローチャートに限ったものではない。
さらに、マクロ201の内部がすでにレイアウト済みのマクロであって、自動レイアウト工程103は、このレイアウト済みのマクロを配置し、マクロの入出力端子をマクロ外の外の素子に接続するだけの場合には、本発明によれば、簡易、かつ、高精度に遅延シミュレーションを行うことができる。
すなわち、マクロ201内部の信号伝播遅延時間を予め計算してライブラリ化し、遅延シミュレーション108では、マクロ内部の遅延に関して遅延シュミュレーションを省略し、予めライブラリ化したこの信号伝播遅延時間を用いて全体の信号伝播遅延時間を高精度に求めることができる。
具体的には、マクロ301において、IN1から入力された信号が、マクロ301内部を伝播してOUT1及びOUT2から出力される場合、INSTaからINSTc、及びINSTaからINSTdの信号伝版遅延時間を予め遅延シミュレーション、遅延計算で求めておき、ライブラリとしてマクロ端子配線記述ファイル105に格納しておく。遅延シミュレーション108では、INSTaからINSTc、INSTaからINSTdのマクロ内部の遅延について、ライブラリに格納された遅延時間を用いれば、実際に遅延シュミュレーションを行わずとも、信号伝播遅延時間を求めることができる。すなわち、出発点INST1からIN1、INSTa、INSTd、OUT2を通過して到達点INST4に至る信号伝播経路を考えたとき、信号が出発点INST1から到達点INST4に到達するまでの信号伝播遅延時間は、INST1からINSTaまでの信号伝播時間に、INSTaからINSTdまでの信号伝播遅延時間と、INSTdからINST4までの信号伝播遅延時間とを加算することにより求められる。INST1からINSTaまで、及びINSTdからINST4までの信号伝播遅延時間は、遅延シミュレーションを行って求めるとしても、INSTaからINSTdまでの信号伝播遅延時間は、予めマクロ端子配線記述ファイル105に格納された信号伝播遅延時間を用いることができる。
このように処理することにより、INSTaからINSTdまでの遅延シミュレーションが省略できるから簡易に遅延シミュレーションを行うことができ、かつ、マクロの入力端から初段ゲート、出力段ゲートから出力端までの配線抵抗、配線容量を考慮して遅延シミュレーションを行うことができるので、高精度な遅延シミュレーションを行うことができる。
なお、マクロ内部の信号伝播遅延時間は、電源電圧や温度、また、入力波形のなまりなどによって影響を受けるので、これらのばらつきも予めライブラリ化することによりさらに高精度のシミュレーションを行うことができる。
さらに、マクロ201の内部がすでにレイアウト済みのマクロであって、自動レイアウト工程103は、このレイアウト済みのマクロを配置し、マクロの入出力端子をマクロ外の外の素子に接続するだけの場合には、本発明によれば、簡易、かつ、高精度に遅延シミュレーションを行うことができる。
すなわち、マクロ201内部の信号伝播遅延時間を予め計算してライブラリ化し、遅延シミュレーション108では、マクロ内部の遅延に関して遅延シュミュレーションを省略し、予めライブラリ化したこの信号伝播遅延時間を用いて全体の信号伝播遅延時間を高精度に求めることができる。
具体的には、マクロ301において、IN1から入力された信号が、マクロ301内部を伝播してOUT1及びOUT2から出力される場合、INSTaからINSTc、及びINSTaからINSTdの信号伝版遅延時間を予め遅延シミュレーション、遅延計算で求めておき、ライブラリとしてマクロ端子配線記述ファイル105に格納しておく。遅延シミュレーション108では、INSTaからINSTc、INSTaからINSTdのマクロ内部の遅延について、ライブラリに格納された遅延時間を用いれば、実際に遅延シュミュレーションを行わずとも、信号伝播遅延時間を求めることができる。すなわち、出発点INST1からIN1、INSTa、INSTd、OUT2を通過して到達点INST4に至る信号伝播経路を考えたとき、信号が出発点INST1から到達点INST4に到達するまでの信号伝播遅延時間は、INST1からINSTaまでの信号伝播時間に、INSTaからINSTdまでの信号伝播遅延時間と、INSTdからINST4までの信号伝播遅延時間とを加算することにより求められる。INST1からINSTaまで、及びINSTdからINST4までの信号伝播遅延時間は、遅延シミュレーションを行って求めるとしても、INSTaからINSTdまでの信号伝播遅延時間は、予めマクロ端子配線記述ファイル105に格納された信号伝播遅延時間を用いることができる。
このように処理することにより、INSTaからINSTdまでの遅延シミュレーションが省略できるから簡易に遅延シミュレーションを行うことができ、かつ、マクロの入力端から初段ゲート、出力段ゲートから出力端までの配線抵抗、配線容量を考慮して遅延シミュレーションを行うことができるので、高精度な遅延シミュレーションを行うことができる。
なお、マクロ内部の信号伝播遅延時間は、電源電圧や温度、また、入力波形のなまりなどによって影響を受けるので、これらのばらつきも予めライブラリ化することによりさらに高精度のシミュレーションを行うことができる。
101 回路設計工程
102 ネットリストa
103 自動レイアウト工程
104 ネットリストA
105 マクロ内端子配線記述ファイル
106 ネットリスト加工プログラムによるネットリスト加工工程
107 ネットリストA'
108 遅延シミュレーション
201 マクロ
301 マクロ
601 回路設計工程
602 ネットリストa
603 自動レイアウト工程
604 ネットリストA
605 遅延シミュレーション
701 マクロ
102 ネットリストa
103 自動レイアウト工程
104 ネットリストA
105 マクロ内端子配線記述ファイル
106 ネットリスト加工プログラムによるネットリスト加工工程
107 ネットリストA'
108 遅延シミュレーション
201 マクロ
301 マクロ
601 回路設計工程
602 ネットリストa
603 自動レイアウト工程
604 ネットリストA
605 遅延シミュレーション
701 マクロ
Claims (10)
- 設計回路から生成される第1のネットリストから自動レイアウトを行う設計方法であって、
前記第1のネットリストに基づいて、前記設計回路の複数の機能ブロックをレイアウト配置し、
前記機能ブロック間の配線の配線抵抗及び配線容量の情報が前記第1のネットリストに追加された第2のネットリストを生成し、
前記機能ブロックの端子に該機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報を前記第2のネットリストに追加して第3のネットリストを生成し、
前記第3のネットリストの情報から遅延時間を予測する設計方法。 - 前記第2のネットリストへの前記機能ブロックの端子に該機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報の追加は、マクロ内端子配線記述ファイルを用意し、前記第2のネットリストに記述される前記機能ブロックの端子に対応する前記マクロ内端子配線記述ファイルの情報を追加することを特徴とする請求項1に記載の設計方法。
- 前記マクロ内端子配線記述ファイルは、前記第2のネットリストに記述されている前記機能ブロックに対応しており、前記機能ブロックの端子に対応した端子に機能ブロックの配線抵抗及び配線容量をモデル化した回路のネットリストが記述されていることを特徴とする請求項2に記載の設計方法。
- 前記第2のネットリストは前記機能ブロック間の配線の配線抵抗及び配線容量をモデル化した第1の回路を有していることを特徴とする請求項1乃至3のいずれか1項に記載の設計方法。
- 前記マクロ内端子配線記述ファイルは、前記機能ブロックの端子から最初に接続される該機能ブロックの内部素子までの配線の配線抵抗及び配線容量をモデル化した第2の回路を有していることを特徴とする請求項1乃至4のいずれか1項に記載の遅延計算方法
- 前記第3のネットリストは、前記第1の回路と前記機能ブロックの端子との間に前記第2の回路が挿入された第3の回路を有していることを特徴とする請求項1乃至5のいずれか1項に記載の設計方法。
- 設計回路における信号の遅延時間の予測計算をコンピュータに実行させるためのプログラムであって、
第1のネットリストに基づいて、前記設計回路の機能ブロックをレイアウト配置し、
前記機能ブロック間の配線の配線抵抗及び配線容量の情報が前記第1のネットリストに追加された第2のネットリストを生成し、
前記機能ブロックの端子に該機能ブロック内部から接続される配線の配線抵抗及び配線容量の情報を前記第2のネットリストに追加して第3のネットリストを生成し、
前記第3のネットリストの情報から前記遅延時間の予測計算をコンピュータに実行させるプログラム。 - 設計回路における信号の遅延時間の計算に用いるネットリストの生成をコンピュータに実行させるためのプログラムであって、
設計回路から生成される第1のネットリストに基づいてされたレイアウト配置から生成された前記設計回路の機能ブロック及び該機能ブロックに接続される配線の配線抵抗及び配線容量の情報が記述された第2のネットリストが入力され、該機能ブロックの端子名を記憶する第1の記憶部と、
前記機能ブロックの端子に該機能ブロックの内部から接続される配線の配線抵抗及び配線容量の情報が記述されたマクロ内端子配線記述ファイルの端子名を記憶する第2の記憶部と、
前記第1の記憶部によって記憶された端子名と前記第2の記憶部によって記憶された端子名を比較する比較部と、
前記比較部によって端子名が一致した前記第2のネットリストの端子に対して、前記マクロ内端子配線記述ファイルの一致した端子名に対応する端子の配線抵抗及び配線容量の情報を追加する追加部とを有する前記ネットリストの生成をコンピュータに実行させるプログラム。 - 前記マクロ内端子配線記述ファイルは、回路設計段階で用意されるファイルであることを特徴とする請求項8に記載のネットリスト加工プログラム。
- 出発点から到達点までの信号経路中に初段ゲートから出力段ゲートまでの信号遅延時間が予め計算された機能ブロックを含む電子回路の遅延時間計算をコンピュータに実行させるためのプログラムであって、
前記機能ブロックの初段ゲートから出力段ゲートまでの信号伝播遅延時間と、前記機能ブロックの入力端から前記初段ゲートまでの配線抵抗・配線容量と、前記出力段ゲートから機能ブロックの出力端までの配線抵抗・配線容量と、を予め記憶させた機能ブロック遅延ライブラリと、前記出発点から前記入力端までの回路接続情報と、前記出力端から到達点までの回路接続情報とを用い、
前記出発点から前記入力端までの回路接続情報に前記入力端から初段ゲートまでの配線抵抗・配線容量を付加し、前記出発点から初段ゲートまでの信号伝播遅延時間を計算する第1のステップと、
前記出力端から到達点までの回路接続情報に前記出力段ゲートから出力端までの配線抵抗・配線容量を付加し、前記出力段ゲートから到達点までの信号伝播遅延時間を求める第2のステップと、
前記機能ブロック遅延ライブラリに含まれる初段ゲートから出力段ゲートまでの信号伝播遅延時間に、前記第1のステップ及び第2のステップで求めた信号伝播遅延時間を加算し、出発点から到達点までの信号伝播遅延時間を計算する第3のステップと、をコンピュータに実行させる遅延時間計算プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005120781A JP2006301837A (ja) | 2005-04-19 | 2005-04-19 | マクロ内配線を考慮したネットリストを用いて遅延計算を行う設計方法及びそのネットリストの作成プログラム |
TW095112978A TWI308283B (en) | 2005-04-19 | 2006-04-12 | Design method for automatic layout with a netlist created from a terminal line in macro, computer readable medium recording thereon instructions for executing the same, and computer readable medium recording thereon instructions for estimating signal del |
US11/402,834 US20060236284A1 (en) | 2005-04-19 | 2006-04-13 | Design method by estimating signal delay time with netlist created in light of terminal line in macro and program for creating the netlist |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005120781A JP2006301837A (ja) | 2005-04-19 | 2005-04-19 | マクロ内配線を考慮したネットリストを用いて遅延計算を行う設計方法及びそのネットリストの作成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006301837A true JP2006301837A (ja) | 2006-11-02 |
Family
ID=37110050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005120781A Pending JP2006301837A (ja) | 2005-04-19 | 2005-04-19 | マクロ内配線を考慮したネットリストを用いて遅延計算を行う設計方法及びそのネットリストの作成プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060236284A1 (ja) |
JP (1) | JP2006301837A (ja) |
TW (1) | TWI308283B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009205449A (ja) * | 2008-02-28 | 2009-09-10 | Nec Electronics Corp | マクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法、及び、プログラム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5117170B2 (ja) * | 2007-11-20 | 2013-01-09 | 株式会社リコー | 回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体 |
US8463587B2 (en) * | 2009-07-28 | 2013-06-11 | Synopsys, Inc. | Hierarchical order ranked simulation of electronic circuits |
TWI463334B (zh) * | 2012-07-20 | 2014-12-01 | Univ Nat Cheng Kung | 標的裝置的基底預測保養方法與其電腦程式產品 |
JP6107412B2 (ja) * | 2013-05-22 | 2017-04-05 | 富士通株式会社 | シミュレーション方法、シミュレーション装置及びシミュレーションプログラム |
US8887117B1 (en) | 2013-10-07 | 2014-11-11 | Taiwan Semiconductor Manufacturing Company Ltd. | Register clustering for clock network topology generation |
US9613175B2 (en) * | 2014-01-28 | 2017-04-04 | Globalfoundries Inc. | Method, computer system and computer-readable storage medium for creating a layout of an integrated circuit |
US9336348B2 (en) * | 2014-09-12 | 2016-05-10 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of forming layout design |
US9672312B2 (en) * | 2015-05-04 | 2017-06-06 | Globalfoundries Inc. | Method wherein test cells and dummy cells are included into a layout of an integrated circuit |
WO2016208006A1 (ja) * | 2015-06-24 | 2016-12-29 | 株式会社メイコー | 立体配線基板の製造方法、立体配線基板、立体配線基板用基材 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259555A (ja) * | 1998-03-13 | 1999-09-24 | Nec Ic Microcomput Syst Ltd | マクロの設計方法 |
JP2000259686A (ja) * | 1999-03-05 | 2000-09-22 | Nec Corp | ゲート遅延計算方法、ゲート遅延計算装置、及びゲート遅延計算プログラムを記録した記録媒体 |
JP2003296392A (ja) * | 2002-04-05 | 2003-10-17 | Nec Corp | 階層レイアウト時の早期遅延解析方式及び遅延解析プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6966045B2 (en) * | 1999-12-27 | 2005-11-15 | Kabushiki Kaisha Toshiba | Method and computer program product for estimating wire loads |
JP4683762B2 (ja) * | 2001-05-10 | 2011-05-18 | ルネサスエレクトロニクス株式会社 | 半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 |
US7103863B2 (en) * | 2001-06-08 | 2006-09-05 | Magma Design Automation, Inc. | Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system |
US7228514B2 (en) * | 2005-01-21 | 2007-06-05 | International Business Machines Corporation | Method, system and computer program product for automatically estimating pin locations and interconnect parasitics of a circuit layout |
-
2005
- 2005-04-19 JP JP2005120781A patent/JP2006301837A/ja active Pending
-
2006
- 2006-04-12 TW TW095112978A patent/TWI308283B/zh not_active IP Right Cessation
- 2006-04-13 US US11/402,834 patent/US20060236284A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259555A (ja) * | 1998-03-13 | 1999-09-24 | Nec Ic Microcomput Syst Ltd | マクロの設計方法 |
JP2000259686A (ja) * | 1999-03-05 | 2000-09-22 | Nec Corp | ゲート遅延計算方法、ゲート遅延計算装置、及びゲート遅延計算プログラムを記録した記録媒体 |
JP2003296392A (ja) * | 2002-04-05 | 2003-10-17 | Nec Corp | 階層レイアウト時の早期遅延解析方式及び遅延解析プログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009205449A (ja) * | 2008-02-28 | 2009-09-10 | Nec Electronics Corp | マクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法、及び、プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20060236284A1 (en) | 2006-10-19 |
TW200705230A (en) | 2007-02-01 |
TWI308283B (en) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006301837A (ja) | マクロ内配線を考慮したネットリストを用いて遅延計算を行う設計方法及びそのネットリストの作成プログラム | |
US7941776B2 (en) | Method of IC design optimization via creation of design-specific cells from post-layout patterns | |
US6539529B2 (en) | Method and apparatus for designing integrated circuits and storage medium for storing the method | |
US8893070B2 (en) | Method for repeated block modification for chip routing | |
KR102416490B1 (ko) | 와이어의 공정 변이를 고려한 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 | |
KR100704577B1 (ko) | 타이밍 버지트 설계 방법 | |
JP2996214B2 (ja) | 半導体集積回路の信頼性検証装置及び検証方法並びに検証プログラムを格納した記憶媒体 | |
US9721051B2 (en) | Reducing clock skew in synthesized modules | |
US8074198B2 (en) | Apparatus and method for circuit layout using longest path and shortest path search elements | |
JP5059657B2 (ja) | マクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法、及び、プログラム | |
US11017138B2 (en) | Timing analysis for parallel multi-state driver circuits | |
JP4886559B2 (ja) | 半導体設計支援装置、半導体設計支援方法および半導体設計支援プログラム | |
JP2872216B1 (ja) | マクロの設計方法 | |
JPH07129647A (ja) | Cadシステム | |
JP2004013821A (ja) | 半導体集積回路設計方法および設計装置 | |
JP3230234B2 (ja) | 半導体集積回路の遅延調整方法、遅延調整用回路ブロックおよび記録媒体。 | |
JP2008250396A (ja) | 半導体集積回路装置の設計方法、半導体集積回路装置、マイクロコンピュータ、電子機器 | |
JP2630218B2 (ja) | 回路設計装置 | |
JP2008123458A (ja) | 半導体集積回路の設計方法 | |
JP4072884B2 (ja) | 回路シミュレーション装置および回路シミュレーション方法、並びにその手順を記憶させた記憶媒体 | |
JPH1167926A (ja) | 半導体集積回路のレイアウトパターン作成装置 | |
Moreno-Mojica et al. | Modeling of single-ended interconnects using surrogate model and design of experiments techniques | |
JP2006031297A (ja) | 半導体集積回路における特性検証用ネットリストの生成方法 | |
JPH07296017A (ja) | 半導体集積回路の遅延時間算出方法及び計算機支援設計装置 | |
JP2017146731A (ja) | デバッグ装置、デバッグ方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100427 |