JP4683762B2 - 半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 - Google Patents
半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 Download PDFInfo
- Publication number
- JP4683762B2 JP4683762B2 JP2001140774A JP2001140774A JP4683762B2 JP 4683762 B2 JP4683762 B2 JP 4683762B2 JP 2001140774 A JP2001140774 A JP 2001140774A JP 2001140774 A JP2001140774 A JP 2001140774A JP 4683762 B2 JP4683762 B2 JP 4683762B2
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- buffer
- delay time
- temporary
- semiconductor device
- 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.)
- Expired - Fee Related
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/39—Circuit design at the physical level
Description
【発明の属する技術分野】
本発明は、半導体装置設計方法、半導体装置設計用プログラム及び半導体装置設計装置に関する。本発明は、特に、階層的レイアウト方法が使用される半導体装置設計方法、半導体装置設計用プログラム及び半導体装置設計装置に関する。
【0002】
【従来の技術】
大規模な半導体装置の設計では、階層的レイアウト方法が広く使用されている。階層的レイアウト方法では、階層毎に順次にレイアウトがなされ、設計の分業化が図られている。
【0003】
このような階層化レイアウト方法の一つが、特許公報(2980316号)に開示されている。図11は、公知のその階層化レイアウト方法を示す。
【0004】
まず、図11(a)に示されているように、上位レイヤのフロアプランが行われる。マクロ101a、101b及び101cと、配線経路102とが、上位レイヤに配置される。配線経路102は、マクロ101bを通過するように配置され、マクロ101aからマクロ101cに信号を伝送する。配線経路102は、配線103、104及びリピータ用バッファ105から構成されている。リピータ用バッファ105が設けられていることにより、マクロ101aからマクロ101cに信号を伝送する遅延時間が短縮されている。
【0005】
続いて、図11(b)に示されているように、上位レイヤのレイアウトを示すレイアウトデータから、下位レイヤのレイアウトを示すレイアウトデータが抽出される。図11(b)に示されている例では、下位レイヤであるマクロ101bのレイアウトを示すレイアウトデータが、上位レイヤのレイアウトデータから抽出される。
【0006】
より詳細には、以下のようにして、マクロ101bを示すレイアウトデータが、上位レイヤのレイアウトデータから抽出される。まず、配線103、104と、マクロ101bの境界線との交点に、それぞれ、仮想端子106b、106cが作成される。配線103は、仮想端子106bにより、配線103aと配線103bとに分割される。同様に、配線104は、仮想端子106cにより、配線104aと配線104bとに分割される。マクロ101bの外部にある配線103aと配線104aとの配置を示す情報は、上位レイヤのレイアウトデータとして残される。一方、マクロ101bが存在する領域の内部にある配線103b、配線104b、及びリピータ用バッファ105の配置を示す情報は、下位レイヤのレイアウトを示す下位レイアウトデータとして分離される。
【0007】
続いて、分離された下位レイアウトデータに基づいて、マクロ101bの内部のレイアウトが定められる。配線103b、104bのレイアウトは適宜変更される。このとき、仮想端子106b、106cと、リピータ用バッファ105の位置は、そのままに保持される。
【0008】
このように、公知のその階層化レイアウト方法では、マクロ101bを通過するように配線経路が定められ、更に、その配線経路が下位レイヤの設計の際にマクロ101bに埋め込まれる。上位レイヤの配線経路は、マクロ101bを迂回しないことが可能である。これにより配線経路が短縮でき、上位レイヤのタイミング保証が容易になる。
【0009】
しかし、公知のその階層化レイアウト方法では、一般的に広く使用されているタイミング解析ツールを使用してタイミング解析を行う場合、上位レイヤと下位レイヤとのレイアウトデータをマージした上でタイミング解析が行われることを要する。上位レイヤと下位レイヤとのレイアウト設計が別個に行うことができる利点が十分に活用されない。なぜなら、一般的なタイミング解析ツールは、公知のその階層化レイアウト方法で設計された半導体装置のタイミング解析に適合しないからである。
【0010】
図12に示されているように、あるマクロ201についてのタイミング解析を行う場合、一般的なタイミング解析ツールは、入力端子202に入力される入力信号の波形なまりと、出力信号が出力される出力端子203に接続される配線の抵抗と、出力端子203の負荷容量とが与えられることを要求する。ここで、波形なまりとは、入力信号がLowレベルからHiレベルに立ち上がる、又はHiレベルからLowレベルに立ち下がるのに要する時間である。一般に、入力信号が、Hiレベルの10%から90%に立ち上がる、又は、Hiレベルの90%から10%に立ち下がるのに要する時間が、波形なまりとして使用される。入力信号の波形なまり、出力端子に接続されている配線の抵抗、及び出力端子の負荷容量が与えられると、マクロの内部で信号が伝達される遅延時間が算出され、タイミング解析が行われる。
【0011】
このとき、一般的なタイミング解析ツールは、以下のようにして、バッファの遅延時間の算出を行う。図13に示されているように、マクロ201にバッファ204と、バッファ204の出力端子に接続された配線205とが含まれているとする。一般的なタイミング解析ツールでは、バッファ204の遅延時間Tgは、下記の式(1)により計算される。
Tg=f1(Trf、R、C+Cin). …(1)
ここで、f1は、所定の関数である。Trfは、バッファ204の入力端子における波形なまり、Rは、バッファ204の出力端子に接続される配線205の抵抗、Cは、配線205の配線容量、Cinは、配線205が接続された次段セル206の入力端子の容量である。
【0012】
更に、配線205の遅延時間Twは、下記の式(2)により計算される。
Tw=f2(R、C+Cin)+Trf’. …(2)
ここで、Trf’は、次段セル206の入力端子における波形なまりである。波形なまりTrf’は、下記式により計算される。
Trf’=f3(D、R、C+Cin). …(3)
ここで、Dは、配線205に信号を出力するバッファ204のドライブ能力である。
【0013】
このような一般的なタイミング解析ツールは、公知の階層化レイアウト方法で設計された半導体装置に含まれるマクロ101bのタイミング解析に適合しない。図14に示されているように、上述の公知の階層化レイアウト方法で設計された半導体装置に含まれるマクロ101bについて、上述された一般的なタイミング解析ツールでタイミング解析する場合を考える。
【0014】
仮想端子106bから仮想端子106cに信号が伝達されるのに要する遅延時間Tは、
T=Tw1+Tg1+Tw2.
ここで、Tw1は、配線103bで発生する配線遅延時間、Tg1は、リピータ用バッファ105で発生する遅延時間、Tw2は、配線104bで発生する配線遅延時間である。
【0015】
式(2)から、配線遅延時間Tw1は、
Tw1=f2(R2、C2+Cin1)+Trf1.
R2は、配線103bの配線抵抗、C2は、配線103bの配線容量、Cin1は、リピータ用バッファ105の入力端子の容量、Trf1は、リピータ用バッファ105の入力端子における波形なまりである。
【0016】
このとき、波形なまりTrf1は、上述された一般的なタイミング解析ツールでは、算出できない。一般的なタイミング解析ツールは、波形なまりTrf1を算出するのに必要な全てのパラメータを受け取る機能を有しないからである。波形なまりTrf1は、式(3)から、
Trf1=f3(D1、R1+R2、C1+C2+Cin1).
ここで、D1は、マクロ101aに含まれた、仮想端子106bに入力信号を供給するバッファ101aのドライブ能力、R1は、仮想端子106bに接続する配線103aの配線抵抗、C1は、配線103aの配線容量である。一般的なタイミング解析ツールは、仮想端子106bに入力される入力信号の波形なまりを受け取る機能を有する。しかし、一般的なタイミング解析ツールは、波形なまりTrf1を算出するのに必要な、ドライブ能力D1、配線抵抗R1、配線容量C1を受け取る機能を有しない。
【0017】
波形なまりTrf1が算出できないため、配線103bで発生する配線遅延時間Tw1を算出することができない。
【0018】
更に、一般的なタイミング解析ツールでは、リピータ用バッファ105で発生する遅延時間Tg1を算出することができない。式(1)から、遅延時間Tg1は、
Tg1=f1(Trf1、R2+R4、C3+C4+Cin2).
このように、遅延時間Tg1の算出には、リピータ用バッファ105の入力端子における波形なまりTrf1が必要である。波形なまりTrf1は、上述されているように、一般的なタイミング解析ツールでは、算出できない。従って、一般的なタイミング解析ツールでは、遅延時間Tg1を算出することができない。
【0019】
このように、一般的なタイミング解析ツールでは、マクロ101bのタイミングの解析を、マクロ101b単独ですることができない。公知の階層化レイアウト方法で設計された半導体装置を、一般的なタイミング解析ツールを使用してタイミング解析する場合、上位レイヤと下位レイヤとのレイアウトデータをマージした上でタイミング解析が行われることが必要である。
【0020】
マクロ領域を通過する配線経路を設けるような半導体装置設計方法であって、下位レイヤのタイミング解析を、上位レイヤと独立して行うことができる半導体装置設計方法の提供が望まれる。
【0021】
【発明が解決しようとする課題】
本発明の目的は、マクロ領域を通過する配線経路を設けるような半導体装置設計方法であって、下位レイヤのタイミング解析を、上位レイヤと独立して行うことができる半導体装置設計方法を提供することにある。
【0022】
本発明の他の目的は、マクロ領域を通過する配線経路を設けるような半導体装置設計方法であって、下位レイヤのタイミング解析を、上位レイヤと独立して、一般的なタイミング解析ツールを使用して行うことができる半導体装置設計方法を提供することにある。
【0023】
【課題を解決するための手段】
その課題を解決するための手段は、下記のように表現される。その表現中に現れる技術的事項には、括弧()つきで、番号、記号等が添記されている。その番号、記号等は、本発明の複数の実施の形態のうちの、少なくとも1つの実施の形態を構成する技術的事項、特に、その実施の形態に対応する図面に表現されている技術的事項に付せられている参照番号、参照記号等に一致している。このような参照番号、参照記号は、請求項記載の技術的事項と実施の形態の技術的事項との対応・橋渡しを明確にしている。このような対応・橋渡しは、請求項記載の技術的事項が実施の形態の技術的事項に限定されて解釈されることを意味しない。
【0024】
本発明による半導体装置設計方法は、プログラム記憶手段(52)に記憶されたプログラムに従い、入力手段(51)に入力されたネットリスト(a)に基づいて半導体装置の設計を行う方法である。当該半導体装置設計方法は、
(a)上位レイヤに、マクロが格納されるマクロ領域(1b)を配置するステップと、
(b)上位レイヤのうちマクロ領域(1b)の外側にある第1位置(4a)から、マクロ領域(1b)の外側にある第2位置(4d)に伝送信号を伝送するための配線経路(2”)を、マクロ領域(1b)を通るように配置するステップ
とを備えている。
配線経路(2”)は、第1配線(5a)、第1バッファ(3a)、第2バッファ(3b)、及び第2配線(5b)を含む。第1バッファ(3a)は、マクロ領域(1b)の内側に配置されている。第2バッファ(3b)は、マクロ領域(1b)の内側に配置され、且つ、第1バッファ(3a)の出力端子が、その入力端子に接続されている。第1配線(5a)は、第1バッファ(3a)の入力端子と、第1位置(4a)との間に介設されている。第2配線(5b)は、第2バッファ(3b)の出力端子と、第2位置(4d)との間に介設されている。第1バッファ(3a)は、第1配線(5a)のうちマクロ領域(1b)の内側にある部分で発生する遅延時間が実質的に0であるように配置される。第2バッファ(3b)は、第2配線(5b)のうちマクロ領域(1b)の内側にある部分で発生する遅延時間が実質的に0であるように配置される。これにより、マクロ領域(1b)の内部のレイアウト変更は、マクロ領域(1b)の外部のタイミングに影響を及ぼさない。
【0025】
このとき、前記(b)ステップは、
(c)第1配線(5a)で発生する遅延時間の許容最大値である第1制約時間(TC1)と、第1バッファ(3a)の入力端子から第2バッファ(3b)の出力端子までの遅延時間の許容最大値である第2制約時間(TC2)と、第2配線(5b)で発生する遅延時間の許容最大値である第3制約時間(TC3)とを定めるステップと、
(d)第1配線(5a)で発生する遅延時間が、第1制約時間(TC1)以内になるように、第1配線(5a)のレイアウトを定めるステップと、
(e)第1バッファ(3a)の入力端子から第2バッファ(3b)の出力端子までの遅延時間が第2制約時間(TC2)以内になるように、マクロ領域(1b)の内部のレイアウトを定めるステップと、
(f)第2配線(5b)で発生する遅延時間が、第3制約時間(TC3)以内になるように、第2配線(5b)のレイアウトを定めるステップ
とを含むことが好ましい。
【0026】
このとき、配線経路(2”)は、更に、第1バッファ(3a)の出力端子と第2バッファ(3b)の入力端子との間に介設された第3配線(6)を含むことがある。このとき、前記(e)ステップは、
(g)第1バッファ(3a)の入力端子から第2バッファ(3b)の出力端子までの遅延時間が第2制約時間(TC2)以内になるように、第3配線(6)のレイアウトを定めるステップを備えていることが好ましい。
【0027】
また、前記(c)ステップは、
(h)第1位置(4a)と第2位置(4d)とを接続する仮配線経路(2’)を定めるステップと、
(i)仮配線経路(2’)の全体で発生する仮想遅延時間(T0)を算出するステップと、
(j)仮想遅延時間(T0)に基づいて、第2制約時間(TC2)を定めるステップを備え、
仮配線経路(2’)は、マクロ領域(1b)の内側に配置された第1仮バッファ(3a)と、マクロ領域の内側に配置された第2仮バッファ(3b)と、第1位置(4a)と第1仮バッファ(3a)の入力端子との間に介設されている第1仮配線(2a)と、第1仮バッファ(3a)の出力端子と、第2仮バッファ(3b)の入力端子との間に介設されている第2仮配線(2b)と、第2仮バッファ(3b)の出力端子と第2位置(4d)との間に介設されている第3仮配線(2c)とを含み、第1仮バッファ(3a)は、第1仮配線(2a)のうちマクロ領域(1b)の内側にある部分で発生する遅延時間が実質的に0であるように配置され、第2仮バッファ(3b)は、第3仮配線(2c)のうちマクロ領域(1b)の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記(j)ステップは、
(k)第1仮バッファ(3a)の入力端子から第2仮バッファ(3b)の出力端子までの仮想内部遅延時間(T2)を算出するステップと、
(l)仮想遅延時間(T0)と仮想内部遅延時間(T2)とに基づいて、第2制約時間(TC2)を算出するステップとを含むことが好ましい。
【0028】
このとき、第2制約時間(TC2)は、下記式:
TC2=TC・(T1/T0),
TC:配線経路(2”)で発生する遅延時間の許容最大値
T2:仮想内部遅延時間
T0:仮想遅延時間
により定められることが好ましい。
【0029】
また、前記(e)ステップは、
(s)第1仮バッファ(3a)のマクロ領域(1b)における位置を保持したまま、第1仮バッファ(3a)を第1バッファ(3a)として埋め込むステップと、
(t)第2仮バッファ(3b)のマクロ領域(1b)における位置を保持したまま、第2仮バッファ(3b)を第2バッファ(3b)として埋め込むステップとを含むことが好ましい。
【0030】
また、前記(c)ステップは、更に、
(m)仮想遅延時間(T0)に基づいて、第1制約時間(TC1)を定めるステップを備え、
前記(m)ステップは、
(n)第1仮配線(2a)で発生する第1仮想外部遅延時間(T1)を算出するステップと、
(o)第1仮想外部遅延時間(T1)と仮想遅延時間(T0)とに基づいて、第1制約時間(TC1)を算出するステップを含むことが好ましい。
【0031】
このとき、第1制約時間(TC1)は、下記式:
TC1=TC・(T1/T0),
TC1:第1制約時間
TC:配線経路(2”)で発生する遅延時間の許容最大値
T1:第1仮想外部遅延時間
T0:仮想遅延時間
により定められることが好ましい。
【0032】
また、前記(c)ステップは、更に、
(p)仮想遅延時間(T0)に基づいて、第3制約時間(TC3)を定めるステップを備え、
前記(p)ステップは、
(q)第3仮配線(2c)で発生する第2仮想外部遅延時間(T3)を算出するステップと、
(r)第2仮想外部遅延時間(T3)と仮想遅延時間(T0)とに基づいて、第3制約時間(TC3)を算出するステップを含むことが好ましい。
【0033】
このとき、第3制約時間(TC3)は、下記式:
TC3=TC・(T3/T0),
TC3:第3制約時間
TC:配線経路で発生する遅延時間の許容最大値
T3:第2仮想外部遅延時間
T0:仮想遅延時間
により定められることが好ましい。
【0034】
本発明による半導体装置設計用プログラムは、コンピュータを使用して半導体装置を設計するための半導体装置設計用プログラムである。当該半導体装置設計用プログラムは、
(a)上位レイヤに、マクロが格納されるマクロ領域(1b)を配置するステップと、
(b)上位レイヤのうちマクロ領域(1b)の外側にある第1位置(4a)から、マクロ領域(1b)の外側にある第2位置(4d)に伝送信号を伝送するための配線経路(2”)を、マクロ領域(1b)を通るように配置するステップとを実行する。配線経路(2”)は、マクロ領域(1b)の内側に配置された第1バッファ(3a)と、マクロ領域(1b)の内側に配置され、且つ、第1バッファ(3a)の出力端子が、入力端子に接続されている第2バッファ(3b)と、第1バッファ(3a)の入力端子と、第1位置(4a)との間に介設された第1配線(5a)と、第2バッファ(3b)の出力端子と、第2位置(4d)との間に介設された第2配線(5b)とを含む。第1バッファ(3a)は、第1配線(5a)のうちマクロ領域(1b)の内側にある部分で発生する遅延時間が実質的に0であるように配置され、第2バッファ(3b)は、第2配線(5b)のうちマクロ領域(1b)の内側にある部分で発生する遅延時間が実質的に0であるように配置される。
【0035】
本発明による半導体装置設計装置は、上位レイヤに、マクロが格納されるマクロ領域(1b)を配置する手段(53)と、上位レイヤのうちマクロ領域(1b)の外側にある第1位置(4a)から、マクロ領域(1b)の外側にある第2位置(4d)に伝送信号を伝送するための配線経路(2”)を、マクロ領域(1b)を通るように配置する手段(53)とを備えている。配線経路(2”)は、マクロ領域(1b)の内側に配置された第1バッファ(3a)と、マクロ領域(1b)の内側に配置され、且つ、第1バッファ(3a)の出力端子が、入力端子に接続されている第2バッファ(3b)と、第1バッファ(3a)の入力端子と、第1位置(4a)との間に介設された第1配線(5a)と、第2バッファ(3b)の出力端子と、第2位置(4b)との間に介設された第2配線(5b)とを含む。第1バッファ(3a)は、第1配線(5a)のうちマクロ領域(1b)の内側にある部分で発生する遅延時間が実質的に0であるように配置され、第2バッファ(3b)は、第2配線(5b)のうちマクロ領域(1b)の内側にある部分で発生する遅延時間が実質的に0であるように配置される。
【0036】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明による実施の一形態の半導体装置設計方法を説明する。
【0037】
図2は、本実施の形態の半導体装置設計方法を実行するためのハードウエアを示す。当該ハードウエアは、入力部51、プログラム記憶部52、演算部53、出力部54を備えている。
【0038】
入力部51には、外部からネットリストaが入力される。
【0039】
プログラム記憶部52は、演算部53が実行するプログラムが記憶されている。プログラム記憶部52が記憶するプログラムには、後述される本実施の形態の半導体装置設計方法を実行する手順が記載されている。
【0040】
演算部53は、ネットリストaに基づいて、プログラム記憶部52に記憶されたプログラムに記載された手順を実行してレイアウト結果bの生成を行う。
【0041】
出力部54は、レイアウト結果bを外部に出力する。
【0042】
図1は、本実施の形態の半導体装置設計方法を示すフローチャートである。まず、上位レイヤのフロアプランと、概略配線が行われる(ステップS01)。図3に示されているように、マクロ領域1a、1b、1cと、仮配線2とが上位レイヤに配置される。マクロ領域1a、1b、1cは、マクロが格納される領域である。仮配線2は、マクロ領域1aとマクロ領域1cとを接続する。このとき、仮配線2は、マクロ領域1bを通過するように配置される。
【0043】
続いて、図1に示されているように、リピータ用バッファの挿入が行われる(ステップS02)。図4に示されているように、仮配線2にリピータ用バッファ3a、3bが挿入される。仮配線2は、リピータ用バッファ3a、及び3bにより、仮配線2a、2b、及び2cに分割される。仮配線2aは、マクロ領域1aと、リピータ用バッファ3aの入力端子とに接続される。仮配線2bは、リピータ用バッファ3aの出力端子と、リピータ用バッファ3bの入力端子とに接続される。仮配線2cは、リピータ用バッファ3bの入力端子と、マクロ領域1cとに接続される。仮配線2a、2b及び2cと、リピータ用バッファ3a、3bとは、以後、総称して、仮配線経路2’と記載される。
【0044】
リピータ用バッファ3a、3bは、マクロ領域1bの境界線の近傍に配置される。リピータ用バッファ3aは、仮配線2aのうち、マクロ領域1bの内部にある部分で発生する遅延時間が実質的に0であるように、マクロ領域1bの境界線の近傍に設けられる。仮配線2aのリピータ用バッファ3aに接続する一端は、実質的に、マクロ領域1bの境界線の上にある。同様に、リピータ用バッファ3bは、仮配線2cのうち、マクロ領域1cの内部にある部分で発生する遅延時間が実質的に0であるように、マクロ領域1bの境界線の近傍に設けられる。仮配線2cのリピータ用バッファ3bに接続する一端は、実質的に、マクロ領域1bの境界線の上にある。
【0045】
続いて、図1に示されているように、上位レイヤの第1次的なタイミング解析が行われる(ステップS03)。図5(a)に示されているように、仮配線経路2’のうち、マクロ領域1aとマクロ領域1bとの間にある部分、マクロ領域1bの内部にある部分、マクロ領域1bとマクロ領域1cとの間にある部分のそれぞれにおいて発生する遅延時間が算出される。即ち、仮配線2aで発生する遅延時間T1、リピータ用バッファ3a、仮配線2b、及びリピータ用バッファ3bで発生する遅延時間T2、及び、仮配線2cで発生する遅延時間T3が算出される。遅延時間T1、T2、T3の和が、仮配線経路2’で発生する遅延時間T0である。遅延時間T0が、仮配線経路2’の遅延時間として許容される制約時間TCと比較される。
【0046】
遅延時間T0が、制約時間TCよりも大きい場合、上位レイヤのフロアプランからやり直しが行われる。即ち、ステップS01とステップS02とが、再度、実行される。
【0047】
遅延時間T0が、制約時間TCよりも小さい場合、リピータ用バッファの埋め込み処理とタイミング制約条件の分配処理とが行われる(ステップS04)。リピータ用バッファの埋め込み処理では、図5(b)に示されているように、上位レイヤレイアウト用データ10と、下位レイヤ埋め込み用データ20とが生成される。
【0048】
上位レイヤレイアウト用データ10は、上位レイヤのレイアウトに必要な情報を含む。より詳細には、上位レイヤレイアウト用データ10は、
(1)マクロ領域1a、1b、1cの位置
(2)仮配線2aの両方の端にある端子4a、4bの位置
(3)マクロ領域1aの内部にあり、端子4aから信号を出力するバッファ(図示されない)のドライブ能力D1
(4)端子4bに接続される負荷容量、即ち、リピータ用バッファ3aの入力端子の容量Cin1
(5)端子4aと端子4bとが、配線により接続されることを示す接続情報
(6)仮配線2bの両方の端にある端子4c、4dの位置
(7)端子4cに接続されるリピータ用バッファ3bのドライブ能力D3
(8)マクロ領域1cの内部にあり、端子4dから信号が入力されるバッファ(図示されない)の入力端子の容量Cin3
(9)端子4cと端子4dとが、配線により接続されることを示す接続情報
を含む。ここで、端子4bの位置は、リピータ用バッファ3aの入力端子の位置に一致し、端子4cの位置は、リピータ用バッファ3bの出力端子の位置に一致する。
【0049】
下位レイヤ埋め込み用データ20は、下位レイヤのレイアウトの際に下位レイヤに埋め込まれるリピータ用バッファ3a、3bに関する情報を含む。より詳細には、下位レイヤ埋め込み用データ20は、
(1)マクロ領域1bにおけるリピータ用バッファ3a、3bの位置
(2)リピータ用バッファ3aとリピータ用バッファ3bとが配線により接続されることを示す接続情報
を含む。
【0050】
タイミング制約条件の分配処理では、仮配線経路2’の遅延時間として許容される制約時間TCが、上位レイヤと下位レイヤとに分配される。図5(a)に示されているように、上位レイヤに関し、端子4aと端子4bとを接続する配線に許容される制約時間TC1は、
TC1=TC・(T1/T0),
と定められる。制約時間TC1は、前述の第1次的なタイミング解析により、仮配線2aで発生すると算出された遅延時間T1に比例するように定められる。更に、端子4cと端子4dとを接続する配線に許容される制約時間TC3は、
TC3=TC・(T3/T0)
と定められる。制約時間TC3は、前述の第1次的なタイミング解析により、仮配線2cで発生すると算出された遅延時間T3に比例するように定められる。制約時間TC1と制約時間TC3とは、上位レイヤの詳細配線が行われる際に使用される。
【0051】
一方、下位レイヤに関し、マクロ領域1bの内部で発生することが許容される制約時間TC2は、
TC2=TC・(T2/T0)
と定められる。制約時間TC2は、前述の第1次的なタイミング解析により、マクロ領域1bの内部で発生すると算出された遅延時間T2に比例するように定められる。制約時間TC2は、下位レイヤのレイアウトが行われる際に使用される。
【0052】
このように、制約時間TCが、上位レイヤと下位レイヤに分配されることにより、以後、上位レイヤのレイアウト及びタイミング解析と、下位レイヤのレイアウト及びタイミング解析とを、別個に行うことが可能になる。以後、上位レイヤのレイアウト及びタイミング解析と、下位レイヤのレイアウト及びタイミング解析とは、別個に行われる。
【0053】
図1に示されているように、上位レイヤについて詳細配線が行われ、上位レイヤのレイアウト結果を示す上位レイヤレイアウト結果データが生成される(ステップS05)。詳細配線は、上位レイヤレイアウト用データ10に基づいて行われる。図6に示されているように、端子4aと端子4bとを接続する配線5aと、端子4cと端子4dとを接続する配線5bとのレイアウトが定められる。配線5aと配線5bとは、必ずしも、上述の仮配線2a、仮配線2cのレイアウトと一致しない。更に、上位レイヤの他の部分の配線が行われ、上位レイヤレイアウト結果データが生成される。上位レイヤレイアウト結果データは、配線5a、配線5bのレイアウトを示す情報を含む。
【0054】
後述されるように、配線5aは、遅延時間が、上述の制約時間TC1よりも小さくなるようにレイアウトされる。同様に、配線5bは、遅延時間が上述の制約時間TC3よりも小さくなるようにレイアウトされる。
【0055】
ステップS05に続いて、図1に示されているように、生成された上位レイヤレイアウト結果データに基づいて、上位レイヤのシグナルインテグリティーチェックが行われる(ステップS06)。シグナルインテグリティーチェックでは、クロストークチェック、エレクトロマイグレーションチェック及びホットキャリアチェックが行われる。クロストークチェックでは、上位レイヤの配線間で発生するクロストークの影響が調べられる。上位レイヤの配線間の容量により、同じ長さの配線であっても、遅延時間の変動が発生する。クロストークチェックでは、上位レイヤの配線の遅延時間の変動分が算出される。エレクトロマイグレーションチェックでは、上位レイヤの配線において、エレクトロマイグレーションが発生し得るか否かが調べられる。ホットキャリアチェックでは、上位レイヤの配線に接続されているトランジスタにおいて、ホットキャリア劣化が発生し得るか否かが調べられる。
【0056】
更に、上位レイヤレイアウト結果データと上位レイヤレイアウト用データ10とに基づいて、上位レイヤのタイミング解析が行われる(ステップS07)。配線5aと配線5bとの遅延時間が算出される。図7は、配線5aと配線5bとの遅延時間の算出過程を示す図である。
【0057】
配線5aで発生する遅延時間Tw1は、下記式:
Tw1=f2(R1、C1+Cin1)+Trf1,
により算出される。ここで、f2は、所定の関数、R1は、配線5aの配線抵抗、C1は、配線5aの配線容量、Cin1は、リピータ用バッファ3aの入力端子の容量、Trf1は、端子4aにおける波形なまりである。波形なまりTrf1は、下記式:
Trf1=f3(D1、R1、C1+Cin1)
により算出される。ここで、f3は、所定の関数、D1は、マクロ領域1aの内部にある端子4aに信号を出力するバッファ1a1のドライブ能力である。配線抵抗R1、配線容量C1は、配線5aの配線長により定まる。容量Cin1、ドライブ能力D1は、上述されているように、上位レイヤレイアウト用データ10に含まれている。
【0058】
同様に、配線5bで発生する遅延時間Tw3は、下記式:
Tw3=f2(R3、C3+Cin3)+Trf3,
により算出される。ここで、R3は、配線5bの配線抵抗、C3は、配線5bの配線容量、Cin3は、マクロ領域1bの内部にあり、端子4dから信号が入力されるバッファ1c1の入力端子の容量、Trf3は、端子4dにおける波形なまりである。波形なまりTrf3は、下記式:
Trf3=f3(D3、R3、C3+Cin3)
により算出される。ここで、D3は、リピータ用バッファ3bのドライブ能力である。配線抵抗R3、配線容量C3は、配線5bの配線長により定まる。容量Cin3、ドライブ能力D3は、上述されているように、上位レイヤレイアウト用データ10に含まれている。
【0059】
更に、算出された遅延時間Tw1と、配線5aについて定められた制約時間TC1とが比較される。遅延時間Tw1が制約時間TC1よりも大きい場合、タイミングエラーが発生していると判断される。
【0060】
同様に、算出された遅延時間Tw3と、配線5bについて定められた制約時間TC3とが比較される。遅延時間Tw3が制約時間TC3よりも大きい場合、タイミングエラーが発生していると判断される。
【0061】
更に、上位レイヤの他の部分でタイミングエラーが発生しているか否かが判断される。
【0062】
タイミングエラーが発生していると判断されると、図1に示されているように、タイミングエラーの修復が行われる(ステップS08)。配線5a、配線5bのレイアウト、及び上位レイヤの他の部分が修正される。レイアウトの修正に応答して、上位レイヤレイアウト結果データが修正される。その後、再度、上位レイヤのシグナルインテグリティーチェックとタイミング解析とが行われる(ステップS06、S07)。
【0063】
一方、タイミングエラーが発生していないと判断された場合、上位レイヤのレイアウトは終了する。このとき、算出された遅延時間Tw1と遅延時間Tw3とは、それぞれ、制約時間TC1、制約時間TC3よりも小さい。
【0064】
更に、下位レイヤのレイアウト及びタイミング解析とが行われる。図1に示されているように、下位レイヤのレイアウトが行われ、下位レイヤレイアウト結果データが生成される(ステップS09)。下位レイヤのレイアウトは、下位レイヤ埋め込み用データ20を参照して行われる。図8に示されているように、下位レイヤであるマクロ領域1bの内部には、リピータ用バッファ3a、3bが埋め込まれる。リピータ用バッファ3a、3bは、マクロ領域1bにおける位置を保持しながら埋め込まれる。更に、リピータ用バッファ3aとリピータ用バッファ3bとを接続する配線6のレイアウトが定められる。配線6のレイアウトは、前述の仮配線2bのレイアウトと必ずしも一致しない。更に、マクロ領域1bの内部の他の部分のレイアウトが下位レイヤレイアウト結果データが生成される。下位レイヤレイアウト結果データは、リピータ用バッファ3a、3b及び配線6のレイアウトを示す情報を含む。
【0065】
後述されるように、配線6は、リピータ用バッファ3a、3b及び配線6で発生する遅延時間が、上述の制約時間TC2よりも小さくなるようにレイアウトされる。
【0066】
ステップS09に続いて、図1に示されているように、生成された下位レイヤレイアウト結果データに基づいて、下位レイヤのシグナルインテグリティーチェックが行われる(ステップS10)。シグナルインテグリティーチェックでは、クロストークチェック、エレクトロマイグレーションチェック及びホットキャリアチェックが行われる。
【0067】
更に、図1に示されているように、下位レイヤレイアウト結果データに基づいて、下位レイヤのタイミング解析が行われる(ステップS11)。下位レイヤのタイミング解析には、外部から入力される入力信号の波形なまり、出力端子に接続されている配線の抵抗、及び出力端子の負荷容量に基づいて遅延時間を算出する、一般的なタイミング解析ツールが使用される。
【0068】
ステップS07のタイミング解析では、リピータ用バッファ3a、配線6、及びリピータ用バッファ3bで発生する遅延時間が算出され、その和が制約時間TC2よりも小さいか否かが判断される。図9は、リピータ用バッファ3a、配線6、及びリピータ用バッファ3bの遅延時間の算出過程を示す図である。
【0069】
リピータ用バッファ3aで発生する遅延時間Tg1は、下記式により算出される。
Tg1=f1(Trf1、R2、C2+Cin2).
ここで、f1は、所定の関数、Trf1は、端子4bにおける波形なまり、R2は、配線6の配線抵抗、C2は、配線6の配線容量、Cin2は、リピータ用バッファ3bの入力端子の容量である。波形なまりTrf1は、上位レイヤのタイミング解析(ステップS07)で算出されたものと同一である。波形なまりTrf1は、タイミング解析ツールによって読み込まれ、遅延時間Tg1の算出に使用される。R2、C2は、配線6の配線長により定まる。
【0070】
配線6で発生する遅延時間Tw2は、下記式により算出される。
Tw2=f2(R2、C2+Cin2)+Trf2,
ここで、R2は、配線6の配線抵抗、C2は、配線6の配線容量、Cin2は、リピータ用バッファ3bの入力端子の容量、Trf2は、リピータ用バッファ3bの入力端子における波形なまりである。波形なまりTrf2は、下記式:
Trf2=f3(D2、R2、C2+Cin2)
により算出される。ここで、D2は、リピータ用バッファ3aのドライブ能力である。
【0071】
リピータ用バッファ3bで発生する遅延時間Tg2は、下記式により算出される。
Tg2=f1(Trf2、R3、C3+Cin3).
ここで、Trf2は、上述のリピータ用バッファ3bの入力端子における波形なまり、R3は、配線5bの配線抵抗、C3は、配線5bの配線容量、Cin3は、マクロ領域1bの内部にあり、端子4dから信号が入力されるバッファ1c1の入力端子の容量である。配線抵抗R3、配線容量C3、容量Cin3は、タイミング解析ツールにより、上述の上位レイヤレイアウト結果データから抽出され、読み込まれる。
【0072】
算出された遅延時間Tg1、遅延時間Tw2、及び遅延時間Tg2の和が、上述の制約時間TC2よりも大きい場合、タイミングエラーが発生していると判断される。
【0073】
更に、マクロ領域1bの内部の他の部分でタイミングエラーが発生しているか否かが判断される。
【0074】
タイミングエラーが発生していると判断されると、図1に示されているように、タイミングエラーの修復が行われる(ステップS12)。配線6のレイアウト、及び/又は、マクロ領域1bの他の部分のレイアウトが修正される。レイアウトの修正に応答して、下位レイヤレイアウト結果データが修正される。その後、再度、下位レイヤのシグナルインテグリティーチェックとタイミング解析とが行われる(ステップS10、S11)。このとき、配線6のレイアウトが修正された場合でも、リピータ用バッファ3a、3bがマクロ領域1bの境界線の近傍に設けられていることにより、配線6のレイアウトの修正が、マクロ領域1bの外部のタイミングに影響を及ぼすことがない。従って、配線6のレイアウトが修正されても、再度、上位レイヤのタイミング解析を行う必要が無い。下位レイヤの内部のみで独立してタイミング解析を行うことができる。
【0075】
一方、タイミングエラーが発生していないと判断されると、下位レイヤのレイアウトが終了する。
【0076】
上位レイヤと下位レイヤと両方のレイアウトが完了すると、生成された上位レイヤレイアウト結果データと下位レイヤレイアウト結果データとがマージされ、レイアウト結果bが生成される。図10は、最終的なレイアウトを示す。マクロ領域1bの外部に配線5a、5bが配置される。マクロ領域1bの外部にリピータ用バッファ3a、3bと、配線6aとが配置される。配線5aは、端子4aとリピータ用バッファ3aの入力端子の間に介設されている。配線5bは、リピータ用バッファ3aの出力端子と、端子4dとの間に介設されている。配線6は、リピータ用バッファ3aの出力端子と、リピータ用バッファ3bの入力端子との間に回折されている。配線5aのうち、マクロ領域1bの内部にある部分で発生する遅延時間は、実質的に0である。配線5bのうち、マクロ領域1cの内部にある部分で発生する遅延時間は、実質的に0である。リピータ用バッファ3a、3b、配線5a、5b、及び配線6aは、マクロ領域1bの外部にある端子4aから端子4dに伝送信号を伝送する配線経路2”を構成する。
【0077】
以上に説明されたように、本実施の形態の半導体装置設計方法は、下位レイヤであるマクロ領域1bの内部のタイミング解析を行うために、上位レイヤのレイアウトデータをマージすることが必要とされない。
【0078】
更に、本実施の形態の半導体装置設計方法は、配線6のレイアウトが変更されても、配線5a、5bの遅延時間に影響されない。下位レイヤであるマクロ領域1bの内部のレイアウトの変更が行われても、マクロ領域1bの外部のタイミング解析を再度行うことを必要としない。
【0079】
【発明の効果】
本発明によりマクロ領域を通過する配線経路を設けるような半導体装置設計方法であって、下位レイヤのタイミング解析を、上位レイヤと独立して行うことができる半導体装置設計方法が提供される。
【0080】
また、本発明により、マクロ領域を通過する配線経路を設けるような半導体装置設計方法であって、下位レイヤのタイミング解析を、上位レイヤと独立して、一般的なタイミング解析ツールを使用して行うことができる半導体装置設計方法が提供される。
【0081】
その理由は、配線経路の途中に介設されるバッファが、マクロ領域の内側、且つ、マクロ領域の境界近傍に設けられていることにより、下位レイヤのタイミングが、上位レイヤと独立して算出可能であるためである。
【図面の簡単な説明】
【図1】図1は、本発明による実施の一形態の半導体装置設計方法を示すフローチャートである。
【図2】図2は、本実施の形態の半導体装置設計方法を実行するハードウエアを示す。
【図3】図3は、上位レイヤのフロアプランと概略配線とを示す。
【図4】図4は、リピータ用バッファ3a、3bの挿入処理を示す。
【図5】図5(a)は、タイミング制約条件の分配処理を示し、図5(b)は、リピータ用バッファの埋め込み処理を示す。
【図6】図6は、上位レイヤの詳細配線を示す。
【図7】図7は、配線5a、5bの遅延時間の算出の過程を示す。
【図8】図8は、下位レイヤのレイアウト処理を示す。
【図9】図9は、マクロ領域1bの内部で発生する遅延時間の算出の過程を示す。
【図10】図10は、設計された半導体装置のレイアウトを示す。
【図11】図11は、従来の半導体装置設計方法を示す。
【図12】図12は、一般的なタイミング解析ツールの機能を説明する図である。
【図13】図13は、一般的なタイミング解析ツールの機能を説明する図である。
【図14】図14は、従来の半導体装置設計方法で設計された半導体装置を一般的なタイミング解析ツールで解析する際に発生する問題を説明する図である。
【符号の説明】
1a〜1c:マクロ領域
2、2a〜2c:仮配線
3a、3b:リピータ用バッファ
4a〜4d:端子
5a、5b、6:配線
Claims (13)
- プログラム記憶手段に記憶されたプログラムに従い、入力手段に入力されたネットリストに基づいて半導体装置の設計を行う半導体装置設計方法であって、
(a)上位レイヤに、マクロが格納されるマクロ領域を配置するステップと、
(b)前記上位レイヤのうち前記マクロ領域の外側にある第1位置から前記マクロ領域の外側にある第2位置に伝送信号を伝送するための配線経路を、前記マクロ領域を通るように配置するステップ
とを備え、
前記配線経路は、
前記マクロ領域の内側に配置された第1バッファと、
前記マクロ領域の内側に配置され、且つ、前記第1バッファの出力端子が、入力端子に接続されている第2バッファと、
前記第1バッファの入力端子と、前記第1位置との間に介設された第1配線と、
前記第2バッファの出力端子と、前記第2位置との間に介設された第2配線とを含み、
前記第1バッファは、前記第1配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記第2バッファは、前記第2配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記(b)ステップは、
(c)前記第1配線で発生する遅延時間の許容最大値である第1制約時間と、前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間の許容最大値である第2制約時間と、前記第2配線で発生する遅延時間の許容最大値である第3制約時間とを定めるステップと、
(d)前記第1配線で発生する遅延時間が、前記第1制約時間以内になるように、前記第1配線のレイアウトを定めるステップと、
(e)前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間が前記第2制約時間以内になるように、前記マクロ領域の内部のレイアウトを定めるステップと、
(f)前記第2配線で発生する遅延時間が、前記第3制約時間以内になるように、前記第2配線のレイアウトを定めるステップ
とを含む
半導体装置設計方法。 - 請求項1に記載の半導体装置設計方法において、
前記配線経路は、更に、前記第1バッファの出力端子と前記第2バッファの入力端子との間に介設された第3配線を含み、
前記(e)ステップは、
(g)前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間が前記第2制約時間以内になるように、前記第3配線のレイアウトを定めるステップを備えている
半導体装置設計方法。 - 請求項1に記載の半導体装置設計方法において、
前記(c)ステップは、
(h)前記第1位置と前記第2位置とを接続する仮配線経路を定めるステップと、
(i)前記仮配線経路の全体で発生する仮想遅延時間を算出するステップと、
(j)前記仮想遅延時間に基づいて、前記第2制約時間を定めるステップを備え、
前記仮配線経路は、
前記マクロ領域の内側に配置された第1仮バッファと、
前記マクロ領域の内側に配置された第2仮バッファと、
前記第1位置と前記第1仮バッファの入力端子との間に介設されている第1仮配線と、
前記第1仮バッファの出力端子と、前記第2仮バッファの入力端子との間に介設されている第2仮配線と、
前記第2仮バッファの出力端子と前記第2位置との間に介設されている第3仮配線
とを含み、
前記第1仮バッファは、前記第1仮配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記第2仮バッファは、前記第3仮配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記(j)ステップは、
(k)前記第1仮バッファの入力端子から前記第2仮バッファの出力端子までの仮想内部遅延時間を算出するステップと、
(l)前記仮想遅延時間と前記仮想内部遅延時間とに基づいて、前記第2制約時間を算出するステップ
とを含む
半導体装置設計方法。 - 請求項3に記載の半導体装置設計方法において、
前記第2制約時間は、下記式:
TC2=TC・(T2/T0),
TC2:前記第2制約時間
TC:前記配線経路で発生する遅延時間の許容最大値
T2:前記仮想内部遅延時間
T0:前記仮想遅延時間
により定められる
半導体装置設計方法。 - 請求項3に記載の半導体装置設計方法において、
前記(e)ステップは、
(s)前記第1仮バッファの前記マクロ領域における位置を保持したまま、前記第1仮バッファを前記第1バッファとして埋め込むステップと、
(t)前記第2仮バッファの前記マクロ領域における位置を保持したまま、前記第2仮バッファを前記第2バッファとして埋め込むステップ
とを含む
半導体装置設計方法。 - 請求項3に記載の半導体装置設計方法において、
前記(c)ステップは、更に、
(m)前記仮想遅延時間に基づいて、前記第1制約時間を定めるステップを備え、
前記(m)ステップは、
(n)前記第1仮配線で発生する第1仮想外部遅延時間を算出するステップと、
(o)前記第1仮想外部遅延時間と前記仮想遅延時間とに基づいて、前記第1制約時間を算出するステップを含む
半導体装置設計方法。 - 請求項6に記載の半導体装置設計方法において、
前記第1制約時間は、下記式:
TC1=TC・(T1/T0),
TC1:前記第1制約時間
TC:前記配線経路で発生する遅延時間の許容最大値
T1:前記第1仮想外部遅延時間
T0:前記仮想遅延時間
により定められる
半導体装置設計方法。 - 請求項3に記載の半導体装置設計方法において、
前記(c)ステップは、更に、
(p)前記仮想遅延時間に基づいて、前記第3制約時間を定めるステップを備え、
前記(p)ステップは、
(q)前記第3仮配線で発生する第2仮想外部遅延時間を算出するステップと、
(r)前記第2仮想外部遅延時間と前記仮想内部遅延時間とに基づいて、前記第3制約時間を算出するステップを含む
半導体装置設計方法。 - 請求項8に記載の半導体装置設計方法において、
前記第3制約時間は、下記式:
TC3=TC・(T3/T0),
TC3:前記第3制約時間
TC:前記配線経路で発生する遅延時間の許容最大値
T3:前記第2仮想外部遅延時間
T0:前記仮想遅延時間
により定められる
半導体装置設計方法。 - コンピュータを使用して半導体装置を設計するための半導体装置設計用プログラムであって、
(a)上位レイヤに、マクロが格納されるマクロ領域を配置するステップと、
(b)前記上位レイヤのうち前記マクロ領域の外側にある第1位置から前記マクロ領域の外側にある第2位置に伝送信号を伝送するための配線経路を、前記マクロ領域を通るように配置するステップ
とを実行し、
前記配線経路は、
前記マクロ領域の内側に配置された第1バッファと、
前記マクロ領域の内側に配置され、且つ、前記第1バッファの出力端子が、入力端子に接続されている第2バッファと、
前記第1バッファの入力端子と、前記第1位置との間に介設された第1配線と、
前記第2バッファの出力端子と、前記第2位置との間に介設された第2配線
とを含み、
前記第1バッファは、前記第1配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記第2バッファは、前記第2配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記(b)ステップは、
(c)前記第1配線で発生する遅延時間の許容最大値である第1制約時間と、前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間の許容最大値である第2制約時間と、前記第3配線で発生する遅延時間の許容最大値である第3制約時間とを定めるステップと、
(d)前記第1配線で発生する遅延時間が、前記第1制約時間以内になるように、前記第1配線のレイアウトを定めるステップと、
(e)前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間が前記第2制約時間以内になるように、前記マクロ領域の内部のレイアウトを定めるステップと、
(f)前記第2配線で発生する遅延時間が、前記第3制約時間以内になるように、前記第2配線のレイアウトを定めるステップ
とを含む
半導体装置設計用プログラム。 - 請求項10に記載の半導体装置設計用プログラムにおいて、
前記配線経路は、更に、前記第1バッファの出力端子と前記第2バッファの入力端子との間に介設された第3配線を含み、
前記(e)ステップは、
(g)前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間が前記第2制約時間以内になるように、前記第3配線のレイアウトを定めるステップを備えている
半導体装置設計用プログラム。 - 請求項10に記載の半導体装置設計用プログラムにおいて、
前記(c)ステップは、
(h)前記第1位置と前記第2位置とを接続する仮配線経路を定めるステップと、
(i)前記仮配線経路の全体で発生する仮想遅延時間を算出するステップと、
(j)前記仮想遅延時間に基づいて、前記第2制約時間を定めるステップを備え、
前記仮配線経路は、
前記マクロ領域の内側に配置された第1仮バッファと、
前記マクロ領域の内側に配置された第2仮バッファと、
前記第1位置と前記第1仮バッファの入力端子との間に介設されている第1仮配線と、
前記第1仮バッファの出力端子と、前記第2仮バッファの入力端子との間に介設されている第2仮配線と、
前記第2仮バッファの出力端子と前記第2位置との間に介設されている第3仮配線
とを含み、
前記第1仮バッファは、前記第1仮配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記第2仮バッファは、前記第2仮配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記(j)ステップは、
(k)前記第1仮バッファの入力端子から前記第2仮バッファの出力端子までの仮想内部遅延時間を算出するステップと、
(l)前記仮想遅延時間と前記仮想内部遅延時間とに基づいて、前記第2制約時間を算出するステップ
とを含む
半導体装置設計用プログラム。 - 上位レイヤに、マクロが格納されるマクロ領域を配置する手段と、
前記上位レイヤのうち前記マクロ領域の外側にある第1位置から前記マクロ領域の外側にある第2位置に伝送信号を伝送するための配線経路を、前記マクロ領域を通るように配置する手段
とを備え、
前記配線経路は、
前記マクロ領域の内側に配置された第1バッファと、
前記マクロ領域の内側に配置され、且つ、前記第1バッファの出力端子が、入力端子に接続されている第2バッファと、
前記第1バッファの入力端子と、前記第1位置との間に介設された第1配線と、
前記第2バッファの出力端子と、前記第2位置との間に介設された第2配線
とを含み、
前記第1バッファは、前記第1配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記第2バッファは、前記第2配線のうち前記マクロ領域の内側にある部分で発生する遅延時間が実質的に0であるように配置され、
前記配線経路の配置においては、前記第1配線で発生する遅延時間の許容最大値である第1制約時間と、前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間の許容最大値である第2制約時間と、前記第2配線で発生する遅延時間の許容最大値である第3制約時間とが定められ、前記第1配線で発生する遅延時間が前記第1制約時間以内になるように前記第1配線のレイアウトが定められ、前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間が前記第2制約時間以内になるように前記マクロ領域の内部のレイアウトが定められ、更に、前記第2配線で発生する遅延時間が前記第3制約時間以内になるように前記第2配線のレイアウトを定められる
半導体装置設計装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001140774A JP4683762B2 (ja) | 2001-05-10 | 2001-05-10 | 半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 |
US10/136,414 US6718531B2 (en) | 2001-05-10 | 2002-05-01 | Method of designing integrated circuit using hierarchical design technique |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001140774A JP4683762B2 (ja) | 2001-05-10 | 2001-05-10 | 半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002334932A JP2002334932A (ja) | 2002-11-22 |
JP4683762B2 true JP4683762B2 (ja) | 2011-05-18 |
Family
ID=18987326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001140774A Expired - Fee Related JP4683762B2 (ja) | 2001-05-10 | 2001-05-10 | 半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6718531B2 (ja) |
JP (1) | JP4683762B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190866A1 (en) * | 2005-01-25 | 2006-08-24 | Herbener Stephen R | Resistance extraction for hierarchical circuit artwork |
JP2006301837A (ja) * | 2005-04-19 | 2006-11-02 | Nec Electronics Corp | マクロ内配線を考慮したネットリストを用いて遅延計算を行う設計方法及びそのネットリストの作成プログラム |
US8010922B2 (en) * | 2008-02-18 | 2011-08-30 | International Business Machines Corporation | Automated method for buffering in a VLSI design |
US9087172B2 (en) | 2013-10-07 | 2015-07-21 | International Business Machines Corporation | Implementing enhanced net routing congestion resolution of non-rectangular or rectangular hierarchical macros |
US9536030B2 (en) * | 2014-06-12 | 2017-01-03 | International Business Machines Corporation | Optimization of integrated circuit physical design |
US10515174B1 (en) * | 2018-07-31 | 2019-12-24 | Cadence Design Systems, Inc. | Interface modeling for power analysis of an integrated circuit |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000100949A (ja) * | 1998-09-25 | 2000-04-07 | Nec Ic Microcomput Syst Ltd | 階層レイアウト方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572437A (en) * | 1990-04-06 | 1996-11-05 | Lsi Logic Corporation | Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models |
US5222030A (en) * | 1990-04-06 | 1993-06-22 | Lsi Logic Corporation | Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof |
JP2645183B2 (ja) * | 1991-02-04 | 1997-08-25 | 株式会社東芝 | 半導体集積回路装置 |
US5956497A (en) * | 1997-02-26 | 1999-09-21 | Advanced Micro Devices, Inc. | Methodology for designing an integrated circuit using a reduced cell library for preliminary synthesis |
JP2001290855A (ja) * | 2000-04-10 | 2001-10-19 | Nec Corp | 階層化設計の遅延計算方法 |
US6564361B1 (en) * | 2000-10-02 | 2003-05-13 | Lsi Logic Corporation | Method and apparatus for timing driven resynthesis |
US6546541B1 (en) * | 2001-02-20 | 2003-04-08 | Lsi Logic Corporation | Placement-based integrated circuit re-synthesis tool using estimated maximum interconnect capacitances |
-
2001
- 2001-05-10 JP JP2001140774A patent/JP4683762B2/ja not_active Expired - Fee Related
-
2002
- 2002-05-01 US US10/136,414 patent/US6718531B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000100949A (ja) * | 1998-09-25 | 2000-04-07 | Nec Ic Microcomput Syst Ltd | 階層レイアウト方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2002334932A (ja) | 2002-11-22 |
US6718531B2 (en) | 2004-04-06 |
US20020170026A1 (en) | 2002-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3891599B2 (ja) | 集積回路レイアウト内への標準セルの自動挿入装置 | |
US7325218B2 (en) | Wiring method, program, and apparatus | |
US6601222B1 (en) | Coupled noise estimation and avoidance of noise-failure using global routing information | |
TWI719090B (zh) | 用於修改界定電路組件之標準單元布局之電腦實施系統及方法 | |
US7509616B2 (en) | Integrated circuit layout design system, and method thereof, and program | |
US6502229B2 (en) | Method for inserting antenna diodes into an integrated circuit design | |
US6145116A (en) | Layout design apparatus | |
US20050050502A1 (en) | Method and apparatus for designing semiconductor integrated circuit | |
JP4683762B2 (ja) | 半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 | |
US7673268B2 (en) | Method and system for incorporating via redundancy in timing analysis | |
US11237210B1 (en) | Layout-aware test pattern generation and fault detection | |
US20070022400A1 (en) | Method, program, and apparatus for designing layout of semiconductor integrated circuit | |
JP4045113B2 (ja) | 半導体集積回路の設計方法、プログラム及び記録媒体 | |
US7519933B2 (en) | Converging repeater methodology for channel-limited SOC microprocessors | |
JP3256597B2 (ja) | 自動配置設計方法および自動配置設計装置 | |
US6584607B2 (en) | Method of performing timing-driven layout | |
JP2005149273A (ja) | 半導体集積回路のフロアプラン装置及びフロアプラン方法 | |
US8151232B2 (en) | Repeater driven routing methodology | |
JP2005235804A (ja) | 半導体装置の設計方法及びプログラム | |
US6477690B1 (en) | In-place repeater insertion methodology for over-the-block routed integrated circuits | |
US20080209367A1 (en) | Reliability design method | |
JP4071507B2 (ja) | 半導体集積回路の階層レイアウト方法 | |
JP2010140279A (ja) | 電子システム設計手法 | |
JP2872216B1 (ja) | マクロの設計方法 | |
JP3705737B2 (ja) | 半導体集積回路のレイアウト方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100831 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101029 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110208 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110208 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140218 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4683762 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |