JP4683762B2 - 半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 - Google Patents

半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 Download PDF

Info

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
Application number
JP2001140774A
Other languages
English (en)
Other versions
JP2002334932A (ja
Inventor
裕司 片寄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2001140774A priority Critical patent/JP4683762B2/ja
Priority to US10/136,414 priority patent/US6718531B2/en
Publication of JP2002334932A publication Critical patent/JP2002334932A/ja
Application granted granted Critical
Publication of JP4683762B2 publication Critical patent/JP4683762B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Description

【0001】
【発明の属する技術分野】
本発明は、半導体装置設計方法、半導体装置設計用プログラム及び半導体装置設計装置に関する。本発明は、特に、階層的レイアウト方法が使用される半導体装置設計方法、半導体装置設計用プログラム及び半導体装置設計装置に関する。
【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の遅延時間Tは、下記の式(1)により計算される。
=f(Trf、R、C+Cin). …(1)
ここで、fは、所定の関数である。Trfは、バッファ204の入力端子における波形なまり、Rは、バッファ204の出力端子に接続される配線205の抵抗、Cは、配線205の配線容量、Cinは、配線205が接続された次段セル206の入力端子の容量である。
【0012】
更に、配線205の遅延時間Tは、下記の式(2)により計算される。
=f(R、C+Cin)+Trf’. …(2)
ここで、Trf’は、次段セル206の入力端子における波形なまりである。波形なまりTrf’は、下記式により計算される。
rf’=f(D、R、C+Cin). …(3)
ここで、Dは、配線205に信号を出力するバッファ204のドライブ能力である。
【0013】
このような一般的なタイミング解析ツールは、公知の階層化レイアウト方法で設計された半導体装置に含まれるマクロ101bのタイミング解析に適合しない。図14に示されているように、上述の公知の階層化レイアウト方法で設計された半導体装置に含まれるマクロ101bについて、上述された一般的なタイミング解析ツールでタイミング解析する場合を考える。
【0014】
仮想端子106bから仮想端子106cに信号が伝達されるのに要する遅延時間Tは、
T=Tw1+Tg1+w2
ここで、Tw1は、配線103bで発生する配線遅延時間、Tg1は、リピータ用バッファ105で発生する遅延時間、Tw2は、配線104bで発生する配線遅延時間である。
【0015】
式(2)から、配線遅延時間Tw1は、
w1=f(R、C+Cin1)+Trf1
は、配線103bの配線抵抗、Cは、配線103bの配線容量、Cin1は、リピータ用バッファ105の入力端子の容量、Trf1は、リピータ用バッファ105の入力端子における波形なまりである。
【0016】
このとき、波形なまりTrf1は、上述された一般的なタイミング解析ツールでは、算出できない。一般的なタイミング解析ツールは、波形なまりTrf1を算出するのに必要な全てのパラメータを受け取る機能を有しないからである。波形なまりTrf1は、式(3)から、
rf1=f(D、R+R、C+C+Cin1).
ここで、Dは、マクロ101aに含まれた、仮想端子106bに入力信号を供給するバッファ101aのドライブ能力、Rは、仮想端子106bに接続する配線103aの配線抵抗、Cは、配線103aの配線容量である。一般的なタイミング解析ツールは、仮想端子106bに入力される入力信号の波形なまりを受け取る機能を有する。しかし、一般的なタイミング解析ツールは、波形なまりTrf1を算出するのに必要な、ドライブ能力D、配線抵抗R、配線容量Cを受け取る機能を有しない。
【0017】
波形なまりTrf1が算出できないため、配線103bで発生する配線遅延時間Tw1を算出することができない。
【0018】
更に、一般的なタイミング解析ツールでは、リピータ用バッファ105で発生する遅延時間Tg1を算出することができない。式(1)から、遅延時間Tg1は、
g1=f(Trf1、R+R、C+C+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’)の全体で発生する仮想遅延時間(T)を算出するステップと、
(j)仮想遅延時間(T)に基づいて、第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)の出力端子までの仮想内部遅延時間(T)を算出するステップと、
(l)仮想遅延時間(T)と仮想内部遅延時間(T)とに基づいて、第2制約時間(TC2)を算出するステップとを含むことが好ましい。
【0028】
このとき、第2制約時間(TC2)は、下記式:
C2=T・(T/T),
:配線経路(2”)で発生する遅延時間の許容最大値
:仮想内部遅延時間
:仮想遅延時間
により定められることが好ましい。
【0029】
また、前記(e)ステップは、
(s)第1仮バッファ(3a)のマクロ領域(1b)における位置を保持したまま、第1仮バッファ(3a)を第1バッファ(3a)として埋め込むステップと、
(t)第2仮バッファ(3b)のマクロ領域(1b)における位置を保持したまま、第2仮バッファ(3b)を第2バッファ(3b)として埋め込むステップとを含むことが好ましい。
【0030】
また、前記(c)ステップは、更に、
(m)仮想遅延時間(T)に基づいて、第1制約時間(TC1)を定めるステップを備え、
前記(m)ステップは、
(n)第1仮配線(2a)で発生する第1仮想外部遅延時間(T)を算出するステップと、
(o)第1仮想外部遅延時間(T)と仮想遅延時間(T)とに基づいて、第1制約時間(TC1)を算出するステップを含むことが好ましい。
【0031】
このとき、第1制約時間(TC1)は、下記式:
C1=T・(T/T),
C1:第1制約時間
:配線経路(2”)で発生する遅延時間の許容最大値
:第1仮想外部遅延時間
:仮想遅延時間
により定められることが好ましい。
【0032】
また、前記(c)ステップは、更に、
(p)仮想遅延時間(T)に基づいて、第3制約時間(TC3)を定めるステップを備え、
前記(p)ステップは、
(q)第3仮配線(2c)で発生する第2仮想外部遅延時間(T)を算出するステップと、
(r)第2仮想外部遅延時間(T)と仮想遅延時間(T)とに基づいて、第3制約時間(TC3)を算出するステップを含むことが好ましい。
【0033】
このとき、第3制約時間(TC3)は、下記式:
C3=T・(T/T),
C3:第3制約時間
:配線経路で発生する遅延時間の許容最大値
:第2仮想外部遅延時間
:仮想遅延時間
により定められることが好ましい。
【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で発生する遅延時間T、リピータ用バッファ3a、仮配線2b、及びリピータ用バッファ3bで発生する遅延時間T、及び、仮配線2cで発生する遅延時間Tが算出される。遅延時間T、T、Tの和が、仮配線経路2’で発生する遅延時間Tである。遅延時間Tが、仮配線経路2’の遅延時間として許容される制約時間Tと比較される。
【0046】
遅延時間Tが、制約時間Tよりも大きい場合、上位レイヤのフロアプランからやり直しが行われる。即ち、ステップS01とステップS02とが、再度、実行される。
【0047】
遅延時間Tが、制約時間Tよりも小さい場合、リピータ用バッファの埋め込み処理とタイミング制約条件の分配処理とが行われる(ステップS04)。リピータ用バッファの埋め込み処理では、図5(b)に示されているように、上位レイヤレイアウト用データ10と、下位レイヤ埋め込み用データ20とが生成される。
【0048】
上位レイヤレイアウト用データ10は、上位レイヤのレイアウトに必要な情報を含む。より詳細には、上位レイヤレイアウト用データ10は、
(1)マクロ領域1a、1b、1cの位置
(2)仮配線2aの両方の端にある端子4a、4bの位置
(3)マクロ領域1aの内部にあり、端子4aから信号を出力するバッファ(図示されない)のドライブ能力D
(4)端子4bに接続される負荷容量、即ち、リピータ用バッファ3aの入力端子の容量Cin1
(5)端子4aと端子4bとが、配線により接続されることを示す接続情報
(6)仮配線2bの両方の端にある端子4c、4dの位置
(7)端子4cに接続されるリピータ用バッファ3bのドライブ能力D
(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’の遅延時間として許容される制約時間Tが、上位レイヤと下位レイヤとに分配される。図5(a)に示されているように、上位レイヤに関し、端子4aと端子4bとを接続する配線に許容される制約時間TC1は、
C1=T・(T/T),
と定められる。制約時間TC1は、前述の第1次的なタイミング解析により、仮配線2aで発生すると算出された遅延時間Tに比例するように定められる。更に、端子4cと端子4dとを接続する配線に許容される制約時間TC3は、
C3=T・(T/T
と定められる。制約時間TC3は、前述の第1次的なタイミング解析により、仮配線2cで発生すると算出された遅延時間Tに比例するように定められる。制約時間TC1と制約時間TC3とは、上位レイヤの詳細配線が行われる際に使用される。
【0051】
一方、下位レイヤに関し、マクロ領域1bの内部で発生することが許容される制約時間TC2は、
C2=T・(T/T
と定められる。制約時間TC2は、前述の第1次的なタイミング解析により、マクロ領域1bの内部で発生すると算出された遅延時間Tに比例するように定められる。制約時間TC2は、下位レイヤのレイアウトが行われる際に使用される。
【0052】
このように、制約時間Tが、上位レイヤと下位レイヤに分配されることにより、以後、上位レイヤのレイアウト及びタイミング解析と、下位レイヤのレイアウト及びタイミング解析とを、別個に行うことが可能になる。以後、上位レイヤのレイアウト及びタイミング解析と、下位レイヤのレイアウト及びタイミング解析とは、別個に行われる。
【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は、下記式:
w1=f(R、C+Cin1)+Trf1
により算出される。ここで、fは、所定の関数、Rは、配線5aの配線抵抗、Cは、配線5aの配線容量、Cin1は、リピータ用バッファ3aの入力端子の容量、Trf1は、端子4aにおける波形なまりである。波形なまりTrf1は、下記式:
rf1=f(D、R、C+Cin1
により算出される。ここで、fは、所定の関数、Dは、マクロ領域1aの内部にある端子4aに信号を出力するバッファ1aのドライブ能力である。配線抵抗R、配線容量Cは、配線5aの配線長により定まる。容量Cin1、ドライブ能力Dは、上述されているように、上位レイヤレイアウト用データ10に含まれている。
【0058】
同様に、配線5bで発生する遅延時間Tw3は、下記式:
w3=f(R、C+Cin3)+Trf3
により算出される。ここで、Rは、配線5bの配線抵抗、Cは、配線5bの配線容量、Cin3は、マクロ領域1bの内部にあり、端子4dから信号が入力されるバッファ1cの入力端子の容量、Trf3は、端子4dにおける波形なまりである。波形なまりTrf3は、下記式:
rf3=f(D、R、C+Cin3
により算出される。ここで、Dは、リピータ用バッファ3bのドライブ能力である。配線抵抗R、配線容量Cは、配線5bの配線長により定まる。容量Cin3、ドライブ能力Dは、上述されているように、上位レイヤレイアウト用データ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は、下記式により算出される。
g1=f(Trf1、R、C+Cin2).
ここで、fは、所定の関数、Trf1は、端子4bにおける波形なまり、Rは、配線6の配線抵抗、Cは、配線6の配線容量、Cin2は、リピータ用バッファ3bの入力端子の容量である。波形なまりTrf1は、上位レイヤのタイミング解析(ステップS07)で算出されたものと同一である。波形なまりTrf1は、タイミング解析ツールによって読み込まれ、遅延時間Tg1の算出に使用される。R、Cは、配線6の配線長により定まる。
【0070】
配線6で発生する遅延時間Tw2は、下記式により算出される。
w2=f(R、C+Cin2)+Trf2
ここで、Rは、配線6の配線抵抗、Cは、配線6の配線容量、Cin2は、リピータ用バッファ3bの入力端子の容量、Trf2は、リピータ用バッファ3bの入力端子における波形なまりである。波形なまりTrf2は、下記式:
rf2=f(D、R、C+Cin2
により算出される。ここで、Dは、リピータ用バッファ3aのドライブ能力である。
【0071】
リピータ用バッファ3bで発生する遅延時間Tg2は、下記式により算出される。
g2=f(Trf2、R、C+Cin3).
ここで、Trf2は、上述のリピータ用バッファ3bの入力端子における波形なまり、Rは、配線5bの配線抵抗、Cは、配線5bの配線容量、Cin3は、マクロ領域1bの内部にあり、端子4dから信号が入力されるバッファ1cの入力端子の容量である。配線抵抗R、配線容量C、容量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)

  1. プログラム記憶手段に記憶されたプログラムに従い、入力手段に入力されたネットリストに基づいて半導体装置の設計を行う半導体装置設計方法であって、
    (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配線のレイアウトを定めるステップ
    とを含む
    半導体装置設計方法。
  2. 請求項に記載の半導体装置設計方法において、
    前記配線経路は、更に、前記第1バッファの出力端子と前記第2バッファの入力端子との間に介設された第3配線を含み、
    前記(e)ステップは、
    (g)前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間が前記第2制約時間以内になるように、前記第3配線のレイアウトを定めるステップを備えている
    半導体装置設計方法。
  3. 請求項に記載の半導体装置設計方法において、
    前記(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制約時間を算出するステップ
    とを含む
    半導体装置設計方法。
  4. 請求項に記載の半導体装置設計方法において、
    前記第2制約時間は、下記式:
    C2=T・(T/T),
    C2:前記第2制約時間
    :前記配線経路で発生する遅延時間の許容最大値
    :前記仮想内部遅延時間
    :前記仮想遅延時間
    により定められる
    半導体装置設計方法。
  5. 請求項に記載の半導体装置設計方法において、
    前記(e)ステップは、
    (s)前記第1仮バッファの前記マクロ領域における位置を保持したまま、前記第1仮バッファを前記第1バッファとして埋め込むステップと、
    (t)前記第2仮バッファの前記マクロ領域における位置を保持したまま、前記第2仮バッファを前記第2バッファとして埋め込むステップ
    とを含む
    半導体装置設計方法。
  6. 請求項に記載の半導体装置設計方法において、
    前記(c)ステップは、更に、
    (m)前記仮想遅延時間に基づいて、前記第1制約時間を定めるステップを備え、
    前記(m)ステップは、
    (n)前記第1仮配線で発生する第1仮想外部遅延時間を算出するステップと、
    (o)前記第1仮想外部遅延時間と前記仮想遅延時間とに基づいて、前記第1制約時間を算出するステップを含む
    半導体装置設計方法。
  7. 請求項に記載の半導体装置設計方法において、
    前記第1制約時間は、下記式:
    C1=T・(T/T),
    C1:前記第1制約時間
    :前記配線経路で発生する遅延時間の許容最大値
    :前記第1仮想外部遅延時間
    :前記仮想遅延時間
    により定められる
    半導体装置設計方法。
  8. 請求項に記載の半導体装置設計方法において、
    前記(c)ステップは、更に、
    (p)前記仮想遅延時間に基づいて、前記第3制約時間を定めるステップを備え、
    前記(p)ステップは、
    (q)前記第3仮配線で発生する第2仮想外部遅延時間を算出するステップと、
    (r)前記第2仮想外部遅延時間と前記仮想内部遅延時間とに基づいて、前記第3制約時間を算出するステップを含む
    半導体装置設計方法。
  9. 請求項に記載の半導体装置設計方法において、
    前記第3制約時間は、下記式:
    C3=T・(T/T),
    C3:前記第3制約時間
    :前記配線経路で発生する遅延時間の許容最大値
    :前記第2仮想外部遅延時間
    :前記仮想遅延時間
    により定められる
    半導体装置設計方法。
  10. コンピュータを使用して半導体装置を設計するための半導体装置設計用プログラムであって、
    (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配線のレイアウトを定めるステップ
    とを含む
    半導体装置設計用プログラム。
  11. 請求項10に記載の半導体装置設計用プログラムにおいて、
    前記配線経路は、更に、前記第1バッファの出力端子と前記第2バッファの入力端子との間に介設された第3配線を含み、
    前記(e)ステップは、
    (g)前記第1バッファの入力端子から前記第2バッファの出力端子までの遅延時間が前記第2制約時間以内になるように、前記第3配線のレイアウトを定めるステップを備えている
    半導体装置設計用プログラム。
  12. 請求項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制約時間を算出するステップ
    とを含む
    半導体装置設計用プログラム。
  13. 上位レイヤに、マクロが格納されるマクロ領域を配置する手段と、
    前記上位レイヤのうち前記マクロ領域の外側にある第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配線のレイアウトを定められる
    半導体装置設計装置。
JP2001140774A 2001-05-10 2001-05-10 半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置 Expired - Fee Related JP4683762B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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