JP2004280439A - クロストークノイズ検出方法、並びに半導体集積回路の設計方法及び設計検証方法 - Google Patents

クロストークノイズ検出方法、並びに半導体集積回路の設計方法及び設計検証方法 Download PDF

Info

Publication number
JP2004280439A
JP2004280439A JP2003070586A JP2003070586A JP2004280439A JP 2004280439 A JP2004280439 A JP 2004280439A JP 2003070586 A JP2003070586 A JP 2003070586A JP 2003070586 A JP2003070586 A JP 2003070586A JP 2004280439 A JP2004280439 A JP 2004280439A
Authority
JP
Japan
Prior art keywords
wiring
cell
timing
delay
crosstalk
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
Application number
JP2003070586A
Other languages
English (en)
Inventor
Nobufusa Iwanishi
信房 岩西
Yoshiyuki Kawakami
善之 川上
Takahiro Ichinomiya
敬弘 一宮
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003070586A priority Critical patent/JP2004280439A/ja
Publication of JP2004280439A publication Critical patent/JP2004280439A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Pulse Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】タイミング解析の結果に影響を与えるようなクロストークノイズを検出する。
【解決手段】クロストークノイズ検出方法として、半導体集積回路の各インスタンス及び各配線について、生じ得る遅延時間の最大値又は最小値を求める遅延計算ステップと、同一のパスに属するインスタンス及び配線の遅延時間の和を求め、前記パスのインスタンスの出力における信号遷移タイミングを求めるタイミング解析ステップと、前記信号遷移タイミングに基づいて、前記パスのインスタンスにクロストークが発生するか否かを判定すべき期間を設定するクロストーク判定タイミング最適化ステップと、前記パスのインスタンスの出力の配線との間にカップリング容量が存在するインスタンスに、前記期間において信号遷移が生じる場合には、前記パスのインスタンスにクロストークノイズが発生すると判定するクロストーク判定ステップとを備える。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、半導体集積回路の設計技術に関し、特に、半導体集積回路の隣接配線間のクロストークノイズを考慮した設計技術に関する。
【0002】
【従来の技術】
近年、LSIの高集積化に伴い、その配線ピッチは縮小され続けてきた。配線ピッチの縮小は、隣接する平行配線間の結合容量を増加させるので、信号遅延の増加やクロストークノイズによる誤動作を引き起こす。配線ピッチの縮小による高集積化を図るLSIでは、この問題は避けられないものであり、近年この問題は顕著になってきた。
【0003】
クロストークノイズを検出する方法について説明する。まず、レイアウト設計後にその配線結果を用いて配線間容量を求め、クロストークノイズを算出する。図2のような1つの平行配線ネットにおいて、クロストークの影響を受けたビクティム(victim)側の信号電圧VXTALKは、容量に着目した代表的なクロストークノイズモデルを用いて、次式、すなわち、
XTALK = VDD・C/(C+CGND) …(a1)
によって求められる。ここで、VDDは、クロストークの影響を与えるアグレッサ(aggressor)側の信号電圧、Cはカップリング容量、CGNDは対基板容量である。
【0004】
一般に、アグレッサ側とビクティム側の信号電圧の振幅は同一であるので、クロストークによる危険度を総容量に対する配線間容量の割合とし、この割合があるしきい値以上であるとき、すなわち、
/(C+CGND)≧ error_ratio …(a2)
が成り立つとき、クロストークノイズの影響による誤動作が起き易いと判断する。ここで、0≦error_ratio≦1である。
【0005】
このモデルをベースにして、アグレッサ側とビクティム側の信号遷移時間を考慮した「クロストークエラー改善方式及び方法」が特許文献1に開示されている。これは、同時に信号遷移する複数の隣接ネットの容量値を前記式(a2)に基づいて算出し、クロストークを検出する方法である。アグレッサ側とビクティム側との信号遷移が重なり合う期間(これをタイミングウインドウと称する)と信号遷移方向の見積もりは、静的タイミングシミュレータによって行う。静的に処理がなされるので、高速にクロストークを検出することが可能となる。
【0006】
タイミングウインドウを使う際には、シミュレーション条件の設定が重要になる。図22は、温度及び電源電圧が取り得る範囲を示すグラフである。この範囲において、例えば右上端はセルの遅延が最大になる条件、左下端はセルの遅延が最小になる条件を表している。この範囲内の任意の条件を取りうることを、タイミングウインドウを求める際や、クロストークノイズを検出する際には考慮する必要がある。
【0007】
図23(a)は、静的タイミングシミュレーション結果の例を示すグラフである。minからmaxまでの期間内に、ビクティム側の信号レベルが遷移するタイミングがあるとする。クロストークが生じる条件は、この期間にアグレッサ側の信号レベルが変化することである。
【0008】
図23(b)は、図23(a)においてクロストークを考慮した場合のグラフである。クロストークノイズの発生によって、ビクティム側の遅延が増加する可能性があり、ビクティム側の信号レベルが遷移するタイミングが取り得る期間は図23(b)のように広がる。すると、タイミング違反が発生する可能性が増加する。その後、タイミングシミュレーションを行い、クロストークノイズの発生に起因して、タイミング違反を起こすと判断した場合には、タイミング違反を起こさないようにレイアウトを修正する必要がある。
【0009】
このように、クロストークノイズ検出を行い、遅延量の変化を求めた後、タイミングシミュレーションによって、タイミング違反の有無を調べ、求められた違反箇所に対して、タイミング違反が起きないようにレイアウト修正が行われていた。そして、再び同様にして、クロストークノイズ検出とタイミングシミュレーションとをタイミング違反が起きなくなるまで繰り返されていた。この方法によると、クロストークノイズを考慮しながらレイアウト修正が行えるので、正確なシミュレーション結果を得ることができる利点がある。しかし、繰り返し回数は、回路の複雑さ・設計制約の困難さによって異なり、収束性の保証はない。
【0010】
次に、タイミング違反を起こさないようにするためのレイアウト修正について説明する。クロストークノイズを除去する方法には、平行配線ネットに対して、同一タイミングウインドウに属さないようにタイミング差を生じさせるために、(1)バッファ挿入を行うこと、(2)クリティカルネット(LSIの動作を決定する最長時間パス上のネット)側がビクティム側にならないように、トランジスタの駆動能力をアグレッサ側と同等以上に設定すること、カップリング容量を低減するために、(3)配線間隔を広げること等がある。いずれの方法も効果的であり、かつ同時に行うことができる。
【0011】
(1)と(2)は、従来のレイアウトと論理修正とを行う最適化手法であるECO(Engineering Change Order)で実現できる。また、(3)はレイアウト工程の詳細配線時に行うことが可能である。
【0012】
次に、クロストークノイズによって通常は遅延劣化が起きるが、逆に、クロストークノイズを有効活用する方法について説明する。この例が、特許文献2に開示されている。これは、クロストークノイズによるアグレッサ側の影響力に着目して、信号変化を加速させる回路を組む方法である。具体的には、隣接する信号配線間に並行するように制御用配線を置き、アグレッサ側の信号配線上の電位と同等の電位をもつ駆動信号を制御用配線に出力する回路を備え、隣接する信号配線間のクロストークノイズを吸収し、制御用配線と隣接する信号配線との間のカップリング容量や、信号配線の配線容量を減じる。
【0013】
これによって、信号配線に高周波信号を伝播させることができる。同方向にレベルが変化する信号遷移がほぼ同時に、かつ隣接した配線ネット間で起こると、クロストークによって互いの信号遷移が加速する方向で影響し合うため、結果的に遷移時間を短縮することになる。
【0014】
【特許文献1】
特開平11−40677号公報
【特許文献2】
特開平5−82646号公報
【0015】
【発明が解決しようとする課題】
このように、従来は、ビクティム側の遅延の取り得る範囲(ビクティム側の信号レベルが遷移し得る期間)が図23(a)のようにminからmaxまでであるとすると、クロストークの起こる条件は、その範囲にアグレッサ側が信号変化を起こす時であるとしていた。これによると、図23(a)のminとmaxとのちょうど中間でアグレッサ側が信号遷移した場合であってもクロストークノイズによってビクティム側の遅延量が変化することになる。
【0016】
しかし、この場合、ビクティム側の遅延量が実際には変化しないこともある。また、クロストークノイズの発生によりビクティム側に実際に生じる遅延量の変化は、アグレッサ側の信号変化が、図23(a)のmin又はmaxのいずれかに近いときに大きくなる。すなわち、実際の現象とは異なったシミュレーション結果を得るという問題点があった。
【0017】
また、前述のように、クロストークノイズを考慮した遅延計算→タイミングシミュレーション→レイアウト修正→クロストークノイズを考慮した遅延計算→……のループを繰り返して、レイアウト修正を行っていた。これによると、レイアウト修正を行ってあるクロストークノイズを改善すると、クロストークノイズを起こしていなかったところに新たにクロストークノイズが発生する場合があった。その結果、収束性が保証できず、タイミングが改善されたり悪化したりを繰り返す振動を起こすという問題点があった。
【0018】
また、クロストークノイズを発生させにくくする方法として、配線間隔を広げるものがあった。従来は、全ての配線ネットを一律に取り扱って配線間隔を一律倍ピッチにする、ある基準によって決められた特定の配線ネットのみ配線間隔を広げる、一旦配線が終わった後で空き領域があるときのみ配線ネットにジョグ等入れることによって配線間隔を広げる、等が行われていた。
【0019】
ところが、倍ピッチ法は、不必要にレイアウト面積を拡大することにつながる。特定配線ネットのみ間隔を広げる方法は、指定した配線ネットのみクロストークノイズ改善が図れるが、他配線ネットについては考慮していない。また、一旦配線が終わった後で配線間隔を広げる場合は、高密度な配線を行った場合は改善効率が悪くなる。
【0020】
クロストークノイズは、配線の総容量(カップリング容量と対基板容量との和)に対するカップリング容量の割合が大きい時に発生しやすいが、上記の3つの手法はその割合に着目した改善ができないので、本来不必要な箇所の配線間隔の拡大を引き起こしていた。
【0021】
また、クロストークノイズを積極的に利用する方法では、特別に駆動回路を設ける必要があり、その数が多くなると回路規模の増加、ひいてはレイアウト面積の増加を引き起こす問題点があった。
【0022】
本発明は、半導体集積回路の設計の際に、タイミング解析の結果に影響を与えるようなクロストークノイズを検出することを目的とする。また、本発明は、クロストークの影響を受けにくい半導体集積回路を設計することを目的とする。
【0023】
【課題を解決するための手段】
前記課題を解決するため、請求項1の発明が講じた手段は、クロストークノイズ検出方法として、半導体集積回路の個々のセル及び配線について、生じ得る遅延時間の最大値又は最小値を求める遅延計算ステップと、前記遅延計算ステップで求められた遅延時間とネットリストとに基づいて、同一のパスに属するセル及び配線の遅延時間の和を求め、前記パスのセルの出力における信号遷移タイミングを求めるタイミング解析ステップと、前記信号遷移タイミングに基づいて、前記パスのセルにクロストークが発生するか否かを判定すべき期間を設定するクロストーク判定タイミング最適化ステップと、前記パスのセルの出力の配線との間にカップリング容量が存在するセルに、前記期間において信号遷移が生じる場合には、前記パスのセルにクロストークノイズが発生すると判定するクロストーク判定ステップとを備えるものである。
【0024】
請求項1の発明によると、クロストークが発生するか否かを判定すべき期間を設定するので、タイミング解析の結果に影響を与えるような、考慮する必要がある場合にのみ、クロストークの検出を行うようにすることができる。したがって、必要がないクロストークの検出を行って、これを抑制するための無駄な回路修正を行わないようにすることができる。
【0025】
請求項2の発明は、請求項1に記載のクロストークノイズ検出方法において、前記パスのセルがクロストークの影響を受ける場合に、当該セルの遅延に生じる変動量を求める遅延変動量計算ステップを更に備え、前記クロストーク判定タイミング最適化ステップは、前記タイミング解析ステップにおいて、個々のセル及び配線についての遅延時間の最大値を用いて求められた信号遷移タイミングと、それよりも前記変動量に応じた時間だけ前の時点との間を、前記期間として設定するものである。
【0026】
請求項3の発明は、請求項1に記載のクロストークノイズ検出方法において、前記パスのセルがクロストークの影響を受ける場合に、当該セルの遅延に生じる変動量を求める遅延変動量計算ステップを更に備え、前記クロストーク判定タイミング最適化ステップは、前記タイミング解析ステップにおいて、個々のセル及び配線についての遅延時間の最小値を用いて求められた信号遷移タイミングと、それよりも前記変動量に応じた時間だけ後の時点との間を、前記期間として設定するものである。
【0027】
請求項4の発明では、請求項1に記載のクロストークノイズ検出方法において、前記遅延計算ステップは、セル及び配線について、生じ得る遅延時間の最大値及び最小値を求めるものであり、前記クロストーク判定タイミング最適化ステップは、前記タイミング解析ステップにおいて、個々のセル及び配線についての遅延時間の最大値及び最小値のそれぞれを用いて求められた信号遷移タイミングである最大信号遷移タイミング及び最小信号遷移タイミングの差を求め、最大信号遷移タイミングとそれよりも前記差に応じた時間だけ前の時点との間を、前記期間として設定するものである。
【0028】
請求項5の発明では、請求項1に記載のクロストークノイズ検出方法において、前記遅延計算ステップは、セル及び配線について、生じ得る遅延時間の最大値及び最小値を求めるものであり、前記クロストーク判定タイミング最適化ステップは、前記タイミング解析ステップにおいて、個々のセル及び配線についての遅延時間の最大値及び最小値のそれぞれを用いて求められた信号遷移タイミングである最大信号遷移タイミング及び最小信号遷移タイミングの差を求め、最小信号遷移タイミングとそれよりも前記差に応じた時間だけ後の時点との間を、前記期間として設定するものである。
【0029】
請求項6の発明は、クロストークノイズ検出方法として、半導体集積回路のセル及び配線について、生じ得る遅延時間の最大値、及び生じ得る遅延時間の最小値と前記最大値との間の値である遅延時間の中間値を求める遅延計算ステップと、前記遅延計算ステップで求められた遅延時間とネットリストとに基づいて、同一のパスに属するセル及び配線の遅延時間の和を求め、前記パスのセルの出力における信号遷移タイミングを求めるタイミング解析ステップと、カップリング容量が存在する、2つの配線の信号遷移タイミングの順が、前記遅延時間の最大値に基づいて求められた場合と前記遅延時間の中間値に基づいて求められた場合とで入れ替わるような箇所にクロストークノイズが発生すると判定する信号遷移タイミング比較ステップとを備えるものである。
【0030】
請求項6の発明によると、処理が非常に簡単であるので、高速にクロストークノイズを検出することができる。
【0031】
請求項7の発明は、半導体集積回路の設計方法として、半導体集積回路の個々のセル及び配線について、遅延時間を求める遅延計算ステップと、前記遅延計算ステップで求められた遅延時間とネットリストとに基づいて、同一のパスに属するセル及び配線の遅延時間の和を求め、前記パスのセルの出力における信号遷移タイミングを求めるタイミング解析ステップと、前記タイミング解析の結果に基づいて、フリップフロップ間のパスにおけるセルであって、このセルに対してアグレッサとなるセルとの間で信号遷移期間に重なりがあるものを修正対象のセルとして求め、これと後段のフリップフロップとの間に介在するセルにおいて、この介在するセルとこれに対してアグレッサとなるセルとの間で、信号遷移期間に重なりが生じず、かつ、信号遷移のタイミングの前後関係が変化しないように、前記修正対象のセルの信号遷移のタイミングを変化させることができる範囲を求める遅延修正可能幅決定ステップと、前記範囲内において、前記修正対象のセルと、このセルに対してアグレッサとなるセルとの間で信号遷移期間に重なりが生じないように、信号遷移のタイミングを変化させるような回路修正を前記修正対象のセルに対して行う回路修正ステップとを備えるものである。
【0032】
請求項7の発明によると、回路修正による新たなクロストークの発生を防止することができるので、クロストークを防ぐための回路修正後に新たなクロストークが発生し、再度回路修正が必要になるという悪循環をなくすことができる。
【0033】
請求項8の発明では、請求項7に記載の半導体集積回路の設計方法において、前記遅延修正可能幅決定ステップは、前記フリップフロップ間のパスにおいて前記後段のフリップフロップから前段のフリップフロップに向かってパストレースし、前記修正対象のセルとして最初に該当するものを求めるものであり、前記遅延計算ステップと、前記タイミング解析ステップと、前記遅延修正可能幅決定ステップと、前記回路修正ステップとを、前記前段のフリップフロップに達するまで行うことを特徴とする。
【0034】
請求項9の発明は、半導体集積回路の設計方法として、半導体集積回路の個々のセル及び配線について、遅延時間を求める遅延計算ステップと、前記遅延計算ステップで求められた遅延時間とネットリストとに基づいて、同一のパスに属するセル及び配線の遅延時間の和を求め、前記パスのセルの出力における信号遷移タイミングを求めるタイミング解析ステップと、フリップフロップ間のパスのうち、前記タイミング解析の結果から得られる、サイクルタイムに対する余裕度に基づいて、クリティカルパスを求めるクリティカルパス抽出ステップと、前記クリティカルパス上の配線に隣接し、前記クリティカルパスに属さないフリップフロップにクロックを供給する配線と、前記クリティカルパス上の配線との間のカップリング容量が小さくなるように、配線の再配置を行う回路修正ステップとを備えるものである。
【0035】
請求項9の発明によると、タイミング制約の厳しいクリティカルパスの終端フリップフロップにおいて、クロストークによる遅延変動の影響を受けてタイミングエラーが生じるのを回避することができる。クロックを供給する配線の全てではなく、クリティカルパスに影響を与えるものに関して対策を行うので、回路面積の増大を抑えることができる。
【0036】
請求項10の発明では、請求項9に記載の半導体集積回路の設計方法において、前記回路修正ステップは、前記クリティカルパス上の配線に隣接する配線を、前記クリティカルパス上の配線との間の距離が大きくなるように再配置するものである。
【0037】
請求項11の発明は、セルとその間を接続する配線とを有する半導体集積回路の設計方法であって、配線の長さに応じて、これと隣接する配線との間の間隔を有するように配線を行うものである。
【0038】
請求項11の発明によると、クロストークの影響を受ける度合いに応じて配線間隔を決めことができ、クロストークの影響を削減することができる。また、配線リソースを有効に活用することが可能となる。
【0039】
請求項12の発明は、請求項11に記載の半導体集積回路の設計方法において、各ネットの配線長を求める配線長見積りステップと、前記配線長見積りステップで求められた配線長に基づいて、所定の規則に従い、各ネットについて最小配線間隔の制約を算出する配線制約算出ステップと、前記制約の下でセル間の配線を行う配線ステップとを備えるものである。
【0040】
請求項13の発明は、半導体集積回路の設計を検証する方法であって、レイアウトされた配線に基づいて、各ネットについて配線間隔を算出する配線間隔算出ステップと、各ネットについて、配線長を算出する配線長算出ステップと、前記配線間隔を前記配線長に応じた値と比較し、前記配線間隔が前記値以下である配線のネットを抽出する制約比較ステップとを備えるものである。
【0041】
請求項13の発明によると、配線間隔が比較的小さく、クロストークの影響を受けやすいネットを検出することができる。
【0042】
請求項14の発明は、セルとその間を接続する配線とを有する半導体集積回路の設計方法であって、当該半導体集積回路の設計仕様で定められたサイクルタイムに応じて選択したセルを用いて設計を行うものである。
【0043】
請求項14の発明によると、負荷容量が変動した場合にサイクルタイムに対する遅延変動の割合が大きくなる可能性の高いセルを用いることなく、論理回路設計を行うので、クロストークの影響を受けにくい回路を得ることができる。また、クロストークの影響があった場合においても、サイクルタイムに対する変動量が大きくないので、比較的容易に回路の修正を行うことができる。
【0044】
請求項15の発明は、請求項14に記載の半導体集積回路の設計方法において、セルについて、入力波形の傾きと負荷容量との複数の組み合わせのそれぞれに対する標準的な遅延値を求める標準遅延算出ステップと、前記標準遅延算出ステップで求められた標準遅延値に基づいて、容量変動に対する遅延値変動量が、前記サイクルタイムに対する所定の割合以下であるセルを選択するセル選択ステップと、前記セル選択ステップで選択されたセルを用いて論理設計を行う論理設計ステップとを備えるものである。
【0045】
請求項16の発明は、セルとその間を接続する配線とを有する半導体集積回路の設計方法であって、フリップフロップの出力端子に接続された配線に沿って、前記出力端子から出力される信号の反転信号を出力する、前記フリップフロップの他の出力端子に接続された配線を追加するものである。
【0046】
請求項16の発明によると、回路面積を増加させることなく、ホールドタイムマージンを大きくすることができる。既に回路に用いられているフリップフロップが出力する反転信号を利用するので、回路面積はほとんど増加しない。
【0047】
請求項17の発明は、請求項16に記載の半導体集積回路の設計方法において、正信号とその反転信号とを出力するフリップフロップを検出するセル検出ステップと、前記検出されたフリップフロップに関してホールドタイミングマージンを求めるマージン算出ステップと、前記検出されたフリップフロップについての出力ネットのうち、ホールドタイミングマージンが最も少ないものを選択するネット選択ステップと、前記選択されたネットの配線に沿って、前記選択されたネットの配線と同一のフリップフロップに接続され、前記選択されたネットの信号の反転信号を伝送する配線を追加する配線変更ステップとを備えるものである。
【0048】
請求項18の発明は、セルとその間を接続する配線とを有する半導体集積回路の設計方法であって、フリップフロップの入力のネットの信号波形の傾きが、前記ネットの配線に隣接する配線のネットにおける信号波形の傾きよりも急峻になるように、前記ネットの配線、又はこれに隣接する配線を駆動する回路の駆動能力を設定するものである。
【0049】
請求項18の発明によると、フリップフロップへの入力がビクティムにならないので、セットアップタイムの増加を抑えることができる。
【0050】
請求項19の発明は、請求項18に記載の半導体集積回路の設計方法において、前記フリップフロップの入力のネットの配線を駆動する第1のセルの出力端子、及び前記ネットの配線に隣接する配線を駆動する第2のセルの出力端子のそれぞれにおける信号波形傾きを求める信号波形傾き算出ステップと、前記第1及び第2のセルの信号波形傾きを組にして、両者を比較し、前記第1のセルの信号波形傾きの方が緩やかな組を抽出するビクティムネット抽出ステップと、前記抽出された組に関して、前記第1のセルの出力端子における信号波形傾きを急峻にするような、前記第1のセルに対する回路修正、又は、前記第2のセルの出力端子における信号波形傾きを緩やかにするような、前記第2のセルに対する回路修正を行う回路修正ステップとを備えるものである。
【0051】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0052】
(第1の実施形態)
図1は、本発明の第1の実施形態に係るクロストークノイズ検出方法の処理の流れを示すフローチャートである。図1のクロストークノイズ検出方法は、遅延計算ステップS101と、タイミング解析ステップS102と、遅延変動量計算ステップS103と、クロストーク判定タイミング最適化ステップS104と、クロストーク判定ステップS105とを備えている。
【0053】
図2は、図1の処理の対象とする回路の例を示す回路図である。図2の回路は、素子として、バッファセルであるインスタンス122,124,132,134を備えている。インスタンスは、同じ論理を持ったセルであっても、各々を別個のものとして認識するための名前である。以下の各実施形態においては、素子としてバッファセルを用い、これをインスタンスとして表した場合について説明するが、素子として他のセルを用いた場合についても同様である。
【0054】
図2の回路においては、インスタンス122の出力端子とインスタンス124の入力端子とが配線で接続されており、インスタンス132の出力端子とインスタンス134の入力端子とが配線で接続されている。また、これらの2つの配線間には、カップリング容量136が存在する。インスタンス122,124は、クロストークノイズの影響を受けるビクティム(victim)として動作するインスタンス、インスタンス132,134は、クロストークノイズを発生するアグレッサ(aggressor)として動作するインスタンスである。
【0055】
遅延計算ステップS101では、演算部(図示せず)は、遅延ライブラリとRC(抵抗・容量)情報とに基づいて、個々のインスタンス及び配線について、生じる遅延時間を求める。遅延時間は、例えばSDF(standard delay format)で表現される。また、プロセス、温度、又は供給電圧のばらつきにより遅延時間が変動するので、各インスタンス及び各配線について、これらの条件を変えて遅延時間を求める。
【0056】
遅延時間としては、各インスタンス及び各配線のそれぞれについて、生じ得る遅延時間の最小値である最小遅延時間、生じ得る遅延時間の最大値である最大遅延時間、及び中間遅延時間の3値を求める。中間遅延時間は、最小遅延時間と最大遅延時間との間の値(中間値)である。最小遅延時間、中間遅延時間、及び最大遅延時間が得られる場合のプロセス、温度、及び供給される電源電圧の条件の組み合わせを、それぞれmin条件、typ条件、及びmax条件と称する。
【0057】
タイミング解析ステップS102では、演算部は、各インスタンス及び各配線で生じる遅延時間とネットリストとに基づいて、ネットリストに記載されたインスタンスの接続順に従い、同一のパスに属するインスタンス及び配線の遅延時間の和を求め、このパスの各インスタンスの出力端子における信号遷移タイミングを求める。この際、各インスタンス及び各配線で生じる遅延時間として最小遅延時間、中間遅延時間、及び最大遅延時間を用いた3つの場合について計算を行う。
【0058】
信号遷移タイミングとは、インスタンスの出力端子や配線において信号のレベルが所定の電位に達するタイミングである。ここでは例として、所定の電位は、高論理レベルの50%であるとして説明するが、他のレベルであってもよい。また、このインスタンスから、信号が伝播する方向とは逆の向きに、パストレースして到達しうるフリップフロップにクロックが入力された時刻を時刻“0”としてタイミングを計算している。
【0059】
タイミング解析ステップS102では、最小/中間/最大遅延時間のそれぞれを用いた場合について計算を行うので、各インスタンスに信号が到達する時間として、幅を持った結果が得られる。つまり、最小遅延時間を用いた場合には、インスタンスに信号が到達する時間は早くなり、逆に最大遅延時間を用いた場合には、インスタンスに信号が到達する時間は遅くなる。
【0060】
図3は、ビクティムの信号遷移タイミングの例を示すグラフである。図3のように、ビクティム側のインスタンス122の出力端子において、最小遅延時間を用いた場合には、最も早く信号が到達する場合の信号遷移162が得られ、最大遅延時間を用いた場合には、最も遅く信号が到達する場合の信号遷移164が得られる。すなわち、インスタンス122の出力端子においては、信号遷移162のタイミングである最小信号遷移タイミングと、信号遷移164のタイミングである最大信号遷移タイミングとの間で信号レベルが変化する可能性があり、これらのタイミングの差を信号遷移タイミング差166とする。
【0061】
図4は、アグレッサとビクティムとの間における信号遷移タイミングの関係の例を示すグラフである。アグレッサ側のインスタンス132の出力端子における信号遷移182の波形の傾きは、インスタンス122の出力端子における信号波形の傾きよりも急峻であるとする。
【0062】
ここでは、図4のように、インスタンス122の出力端子における信号が立ち上がり、インスタンス132の出力端子における信号が立ち下がる場合について説明する。
【0063】
遅延変動量計算ステップS103では、演算部は、配線間のカップリング容量を考慮すべき配線の組毎に、遅延変動量を求める。配線間にカップリング容量がある場合には、その配線間でクロストークが発生し、その影響を受けてビクティム側のインスタンスで生じる遅延が変動する(すなわち、インスタンスが出力する信号のレベルが遷移するタイミングが変動する)場合がある。この変動の量を遅延変動量と称する。
【0064】
インスタンス122がインスタンス132の出力の影響を受ける、クロストークが発生すると、インスタンス122の遅延が変動する。クロストークによって、インスタンス122で生じる遅延が増加して、クロストークが生じない場合の約2倍になることがある。
【0065】
クロストーク判定タイミング最適化ステップS104では、演算部は、配線間でクロストークが発生するか否かを判定すべき期間を最適化して設定する。すなわち、遅延変動量計算ステップS103で求められた遅延変動量の大きさだけ、信号遷移164を信号遷移162に近づけた信号遷移168を求め、信号遷移168のタイミングと、信号遷移164のタイミングである最大信号遷移タイミングとの間を、インスタンス122にクロストークが発生するか否かを判定すべき期間172として設定する。
【0066】
つまり、信号遷移168より前にインスタンス132の出力信号のレベルが遷移する場合については、クロストークが発生しないと判定し、クロストークによる遅延変動を考慮しない。これは、信号遷移168のタイミングよりも信号遷移162に近いところでクロストークが発生したとしても、遅延変動量計算ステップS103で求められた遅延変動量以上の遅延変動は生じないので、信号遷移のタイミングが信号遷移164よりも遅くなることがないからである。
【0067】
なお、遅延変動量に代えて、信号遷移タイミング差166だけ、信号遷移164を信号遷移162に近づけるようにしてもよい。
【0068】
クロストーク判定ステップS105では、演算部は、クロストーク判定タイミング最適化ステップS104で求めた信号遷移168のタイミングと、信号遷移164のタイミングとの間の期間172において、アグレッサであるインスタンス132の信号遷移182が生じる否かを判定する。
【0069】
図4の場合には、演算部は、信号遷移168のタイミングと信号遷移164のタイミングとの間において、アグレッサであるインスタンス132の信号遷移182が生じないと判定し、クロストークノイズは発生しないと判定する。この場合、信号遷移164のタイミングは変更しない。
【0070】
図5は、アグレッサとビクティムとの間における信号遷移タイミングの関係の他の例を示すグラフである。図5の場合には、演算部は、信号遷移168のタイミングと信号遷移164のタイミングとの間において、アグレッサであるインスタンス132の信号遷移タイミング184が生じると判定し、クロストークノイズが発生すると判定する。この場合、信号遷移164のタイミングを遅延変動量の大きさ(期間172)だけ遅らせて、信号遷移174に変更する。そして、信号遷移174のタイミングを新たな最大信号遷移タイミングとする。
【0071】
以上のステップS101〜S105を、すべてのインスタンスを対象にして行うことにより、クロストークによる遅延変動を考慮したタイミング検証を行うことができる。
【0072】
本実施形態によると、クロストークが発生するか否かを判定する必要がある区間を、最小信号遷移タイミングと最大信号遷移タイミングとの間(図3における信号遷移タイミング差166)ではなく、最大信号遷移タイミングと、それよりも遅延変動量だけ前のタイミングとの間に限定する。このため、クロストークが発生するとしても、ビクティムであるインスタンスの信号遷移が最大信号遷移タイミングよりも遅くならないような場合については、クロストークの発生を考慮する必要がない。このような場合にもクロストークが発生すると判定し、最大信号遷移タイミングを遅くするという処理をすると、過剰にタイミングを遅らせることになり、タイミング設計が厳しくなる。しかし、本実施形態によると、タイミング解析に影響を与えるような、本当に必要な場合にのみ、クロストークノイズの検出を行い、クロストークによる遅延変動を考慮するようにすることができる。このため、クロストークを抑制するための無駄な回路修正を行わないようにすることができる。
【0073】
なお、本実施形態では、クロストークにより信号遷移のタイミングが最大信号遷移タイミングよりも遅くなる場合、つまり、セットアップ(setup)のチェックについて説明したが、同様に、信号遷移のタイミングが最小信号遷移タイミングよりも早くなる場合、つまり、ホールド(hold)チェックにも同様の処理を適用することができる。
【0074】
具体的には、クロストーク判定タイミング最適化ステップにおいて、遅延変動量に応じた時間だけ、信号遷移162を信号遷移164に近づけ、そのタイミングと信号遷移162のタイミングである最小信号遷移タイミングとの間を、インスタンス122にクロストークが発生するか否かを判定すべき期間として設定するようにしてもよい。また、遅延変動量に代えて、信号遷移タイミング差166に応じた時間だけ、信号遷移162を信号遷移164に近づけるようにしてもよい。この場合、セットアップ/ホールドのそれぞれの処理時に使われる変動遅延量は同じ値ではなく、それぞれ別個に計算された値を使う。
【0075】
また、遅延変動量計算ステップS103では、ビクティム側のインスタンス単体の遅延時間を遅延変動量として用いたが、信号遷移タイミング差166の例えば10%、又は予め定めた値を、遅延変動量として用いるようにしてもよい。
【0076】
(第2の実施形態)
第2の実施形態では、typ条件による信号遷移タイミングと、max条件による信号遷移タイミングとを使って、クロストークノイズの発生及びその発生箇所を求める方法について説明する。例として、図2の回路を対象にして説明する。
【0077】
図6は、本発明の第2の実施形態に係るクロストークノイズ検出方法の処理の流れを示すフローチャートである。図6のクロストークノイズ検出方法は、遅延計算ステップS201と、タイミング解析ステップS202と、信号遷移タイミング比較ステップS203と、クロストーク考慮タイミング解析ステップS204とを備えている。
【0078】
遅延計算ステップS201は、図1の遅延計算ステップS101とほぼ同様のものである。ただし、個々のインスタンス及び配線のそれぞれの遅延時間として、中間遅延時間、及び最大遅延時間を求める。
【0079】
タイミング解析ステップS202では、演算部は、図1のタイミング解析ステップS102と同様に、各インスタンスの出力端子における信号遷移タイミングを求める。ここでは、遅延計算ステップS201で求められた中間遅延時間、及び最大遅延時間を用いた場合について計算を行う。
【0080】
プロセス、温度、又は供給電圧をtyp条件からmax条件に向かって連続的に変化させる場合、各インスタンス及び配線の遅延時間も同様に、中間遅延時間から最大遅延時間に向かって連続的に変化する。この場合、インスタンスの信号遷移タイミングも、各インスタンス及び各配線の中間遅延時間を加算して得られる、typ条件による信号遷移タイミングから、各インスタンス及び各配線の最大遅延時間を加算して得られる、max条件による信号遷移タイミングに向かって、連続的に変化する。
【0081】
図7(a)は、typ条件におけるアグレッサとビクティムとの信号遷移タイミングの一例を示すグラフである。図7(b)は、max条件におけるアグレッサとビクティムとの信号遷移タイミングの一例を示すグラフである。
【0082】
図7(a)の場合は、ビクティムであるインスタンス122の信号遷移タイミング262の方が、アグレッサであるインスタンス132の信号遷移タイミング272よりも早い。一方、図7(b)の場合は、アグレッサであるインスタンス132の信号遷移タイミング274の方が、ビクティムであるインスタンス122の信号遷移タイミング264よりも早い。
【0083】
このように、typ条件とmax条件とで、インスタンス122とインスタンス132との信号遷移タイミングの順が入れ替わる場合には、プロセス、温度、又は供給電圧をtyp条件からmax条件に向かって連続的に変化させていくと、ある条件(プロセス、温度、電圧)でインスタンス122とインスタンス132との信号遷移タイミングが重なる場合がある。
【0084】
図7(c)は、max条件におけるアグレッサとビクティムとの信号遷移タイミングの他の例を示すグラフである。図7(c)の場合は、図7(a)の場合と同様に、ビクティムであるインスタンス122の信号遷移タイミング266の方が、アグレッサであるインスタンス132の信号遷移タイミング276よりも早い。
【0085】
このように、typ条件とmax条件とで、インスタンス122とインスタンス132との信号遷移タイミングの順が入れ替わらない場合には、プロセス、温度、又は供給電圧をtyp条件からmax条件に向かって連続的に変化させても、インスタンス122とインスタンス132との信号遷移タイミングが重なることがないと考えられる。
【0086】
そこで、信号遷移タイミング比較ステップS203では、演算部は、アグレッサ及びビクティムであるインスタンスの信号遷移タイミングを、typ条件における場合とmax条件における場合とで比較して、クロストークが発生するか否かを判定する。言い換えると、カップリング容量が存在する、隣接する2つの配線の信号遷移タイミングの順が、typ条件とmax条件とにおいて入れ替わるような箇所にクロストークノイズが発生すると判定し、そこをクロストーク発生箇所とする。
【0087】
次に、クロストーク考慮タイミング解析ステップS204では、演算部は、信号遷移タイミング比較ステップS203でクロストークが発生すると判定された箇所についてのみ、クロストークによる遅延変動を計算し、その遅延変動を考慮したタイミング解析を行い、クロストークに起因した遅延変動によってタイミングエラーが生じるか否かを検証する。
【0088】
ただし、クロストーク考慮タイミング解析ステップS204において遅延時間の変動が生じるので、信号遷移タイミング比較ステップS203及びクロストーク考慮タイミング解析ステップS204を繰り返し実行する。
【0089】
以上のように、本実施形態によると、typ条件とmax条件とにおけるタイミング解析結果だけを使い、クロストーク発生の有無を判定することができるので、処理が非常に簡単であり、高速である。クロストークを考慮しなくて良い箇所を抜き出す可能性があるが、第1の実施形態の場合よりも処理時間は短くなる。
【0090】
さらに、typ条件とmax条件の信号遷移タイミングの関係を見ているので、クロストークが発生し得ない箇所を、クロストークに起因する遅延を考慮すべき対象から確実に除外することができる。
【0091】
本実施形態では、typ条件とmax条件とを用いて処理する場合について説明したが、typ条件とmin条件とを用いて、同様に処理するようにしてもよい。
【0092】
(第3の実施形態)
図8は、本発明の第3の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。図8の半導体集積回路の設計方法は、遅延計算ステップS101と、タイミング解析ステップS302と、遅延修正可能幅決定ステップS303と、回路修正ステップS304とを備えている。遅延計算ステップS101は、図1の遅延計算ステップS101と同様のものである。遅延計算ステップS101の前に、既に配線パターンが定義されているものとする。
【0093】
図9は、図8の処理の対象とする回路の例を示す回路図である。図9の回路は、インスタンス321,322,323,324,331,332,333と、フリップフロップ327とを備えている。インスタンス321,322,323,324と、フリップフロップ327とは、パス320を構成している。
【0094】
また、インスタンス331の出力の配線と、インスタンス321の出力の配線との間には、カップリング容量341が存在する。インスタンス332の出力の配線と、インスタンス322の出力の配線との間には、カップリング容量342が存在し、インスタンス333の出力の配線と、インスタンス323の出力の配線との間には、カップリング容量343が存在する。
【0095】
遅延計算ステップS101では、第1の実施形態と同様に、遅延時間として、各インスタンス及び各配線について、最小遅延時間、最大遅延時間、及び中間遅延時間の3値を求める。以下のステップでは、例えば、各インスタンス及び各配線について、最大遅延時間を用いて処理を行う。また、各インスタンス及び各配線について、最小遅延時間を用いてもよいし、中間遅延時間を用いてもよい。ただし、最小遅延時間と最大遅延時間とを混在させて用いるようなことはしない。これらの点は、以下の実施形態においても同様である。
【0096】
図10(a)は、図9のインスタンス321及び331のそれぞれの出力の信号遷移361及び381の例を示すタイミング図である。図10(b)は、図9のインスタンス322及び332のそれぞれの出力の信号遷移362及び382の例を示すタイミング図である。図10(c)は、図9のインスタンス323及び333のそれぞれの出力の信号遷移363及び383の例を示すタイミング図である。
【0097】
タイミング解析ステップS302では、演算部は、遅延計算ステップS101で得られた結果に基づいて、図1のタイミング解析ステップS102と同様に、各インスタンスの出力端子における信号遷移タイミングを求める。
【0098】
遅延修正可能幅決定ステップS303では、演算部は、後段のフリップフロップ327から、信号が伝播する方向とは逆向きに、クロストークが発生している箇所までパストレースする。そうすると、図9に示したように、クロストークが発生したインスタンス321から、クロストークが発生していないインスタンス322,323を経由してフリップフロップ327に至るパス320を抜き出し、そのタイミング図を得ることができる。
【0099】
クロストークが発生している箇所は、次のようにして求める。タイミング解析ステップS302で得られた結果から、例えば、インスタンス321とインスタンス331との信号遷移期間が重なっているので(図10(a)参照)、これらのインスタンスをクロストークが発生している箇所として求める。ここで、出力信号波形の傾きが緩やかになっているインスタンス321がビクティムであり、他方のインスタンス331がアグレッサである。インスタンス322とインスタンス332との間(図10(b)参照)、及びインスタンス323とインスタンス333との間(図10(c)参照)では、信号遷移期間は重なっておらず、クロストークは発生していない。
【0100】
インスタンス321とインスタンス331との間で発生しているクロストークによる遅延変動が原因で、回路が所定のタイミングの制約を満たさないような場合には、このクロストーク発生箇所の回路修正を行う必要がある。そこで、パス320に属するインスタンスであって、クロストークが発生しているインスタンス321を、修正対象のインスタンスとする。
【0101】
回路修正する方法としては、信号遷移のタイミングをずらす方法がある。アグレッサ及びビクティムの双方の信号遷移期間が重ならなければ、クロストークが発生せず、これによる遅延変動が発生しないからである。しかし、信号遷移のタイミングをただ単純にずらすだけでは、インスタンス321以降の信号遷移のタイミングも変化し、新たにクロストークが発生する可能性がある。そこで、遅延修正可能幅決定ステップS303において、新たなクロストークを発生させずにインスタンス321の信号遷移のタイミングを変化させることが可能な範囲を示す遅延修正可能幅を決定する。
【0102】
具体的には、まず、修正対象のインスタンス321とフリップフロップ327との間に介在するインスタンスであって、新たなクロストークが発生する可能性のあるインスタンスを探す。これは、カップリング容量が存在する配線を駆動する全てのインスタンスが対象となる。図9においては、インスタンス322,323が対象となる。インスタンス324は、これが駆動する配線にはカップリング容量が存在しないので、対象外である。
【0103】
次に、インスタンス322,323に対し、アグレッサとなり得るインスタンスとの間で信号遷移期間の関係を調べる。
【0104】
インスタンス322の場合、アグレッサとなるのはインスタンス332である。インスタンス322の信号遷移362の期間とインスタンス332の信号遷移382の期間とを比較すると、信号遷移362の期間は、信号遷移382の期間の前に終了している。この場合、信号遷移362の期間が終了してから信号遷移382の期間が開始するまでの期間が信号遷移の間隔393として存在しており、ビクティムよりも後にアグレッサが信号遷移しているので、信号遷移の間隔393はプラスの値とする。
【0105】
インスタンス323の場合、アグレッサとなるのはインスタンス333である。インスタンス323の信号遷移363の期間とインスタンス333の信号遷移383の期間とを比較すると、信号遷移383の期間は、信号遷移363の期間の前に終了している。この場合、信号遷移383の期間が終了してから信号遷移363の期間が開始するまでの期間が信号遷移の間隔395として存在しており、ビクティムよりも前にアグレッサが信号遷移しているので、信号遷移の間隔395はマイナスの値とする。
【0106】
更に、遅延修正可能幅決定ステップS303では、アグレッサとなるインスタンスと、ビクティムとなるインスタンスとの間で信号遷移のタイミングの前後関係が変化しないように、遅延修正可能幅を求める。すなわち、パス320におけるインスタンス321以外のビクティムとなる全てのインスタンスについて、対応するアグレッサとの間で信号遷移の間隔を求め、そのうち、値がプラスのものの中で絶対値が最小のもの、及び値がマイナスのものの中で絶対値が最小のものを選択する。そして、これらのプラスの値及びマイナスの値で定まる時間の範囲を、遅延修正可能幅とする。図10の場合、信号遷移の間隔は、値がプラスのもの及び値がマイナスのものそれぞれ1つしかないので、これらの2つの値のうち、絶対値が小さい方が遅延修正可能幅として求められる。
【0107】
次に、回路修正ステップS304では、演算部は、遅延修正可能幅の範囲内で、インスタンス321の信号遷移のタイミングを変化させるような回路修正を行う。回路修正の方法としては、バッファの挿入、削除、又は駆動能力の変更などを行う。
【0108】
回路修正の際には、以下のように、新たにクロストーク発生箇所が出てこないように、遅延の修正を行う幅を限定する。まず、信号遷移361,381に着目する。ここで、クロストークが起こらないようにするために、インスタンス321の信号遷移361のタイミングを期間392だけ早くする、又は期間391だけ遅くすることにより、信号遷移361と信号遷移381との期間が重ならないようにする。
【0109】
例えば、信号遷移361のタイミングを期間392だけ早くすると、インスタンス322以降のインスタンスの信号遷移のタイミングも期間392だけ早くなる。このとき、期間392が、遅延修正可能幅のマイナス方向の境界値である信号遷移の間隔395の大きさよりも大きければ、この回路修正により新たにインスタンス323でクロストークが発生してしまう。このため、期間392の大きさと、信号遷移の間隔395の大きさとを比較し、期間392の方が小さい場合にのみ、期間392だけ信号遷移のタイミングが早くなるような回路修正が可能となる。
【0110】
また、信号遷移361のタイミングを期間391だけ遅くしてもよい。期間391と、遅延修正可能幅のプラス方向の境界値である信号遷移の間隔393の大きさとを比較し、期間391の方が小さい場合にのみ、期間391だけ信号遷移のタイミングが遅くなるような回路修正が可能となる。
【0111】
信号遷移361のタイミングを期間392だけ早くするような回路修正、及び期間391だけ遅くするような回路修正のうち、いずれか一方だけが可能な場合は、可能なものを選択して行う。いずれの回路修正も可能な場合は、いずれを選択してもよい。いずれの回路修正も不可能な場合は、いずれかを選択し、その回路修正により新たに生じたクロストークに対して、図8の処理を再度行うことにより、同様に回路修正を行う。
【0112】
図11(a)は、回路修正後における図9のインスタンス321及び331のそれぞれの出力の信号遷移364及び381の例を示すタイミング図である。図11(b)は、回路修正後における図9のインスタンス322及び332のそれぞれの出力の信号遷移365及び382の例を示すタイミング図である。図11(c)は、回路修正後における図9のインスタンス323及び333のそれぞれの出力の信号遷移366及び383の例を示すタイミング図である。
【0113】
図11(a)〜(c)は、回路修正により信号遷移361のタイミングを期間392程度早くした場合に得られた結果を示している。インスタンス321の信号を受けるインスタンス322,323の信号遷移も同じだけ早くなっているが、遅延修正可能幅の範囲内で信号遷移のタイミングを変動させているので、新たなクロストークは発生しない。
【0114】
図12は、図9のインスタンス323及び333のそれぞれの出力の信号遷移の他の例を示すタイミング図である。このとき、インスタンス321,322,331及び332のそれぞれの出力の信号遷移は、図10(a),(b)と同様であるとする。
【0115】
図10の場合との違いは、インスタンス323の信号遷移369が図10(c)の場合よりも早く生じており、アグレッサ側であるインスタンス333の信号遷移383のタイミングが、ビクティム側であるインスタンス323の信号遷移369のタイミングよりも遅くなっていることである。
【0116】
この場合、クロストークが発生しているインスタンス321以降のインスタンス322,323のそれぞれについて、アグレッサ側のインスタンス332,333との信号遷移のタイミングを比べると、インスタンス322,323のいずれについてもアグレッサ側のインスタンス332,333の信号遷移の方が後で生じている。すなわち、インスタンス321の信号遷移361のタイミングを如何に早くしても、新たなクロストークは発生しない。このような場合は、遅延修正可能幅のマイナス側の値を無限大とする。ただし、タイミング設計上、セットアップ/ホールド検証をパスしないといけないので、この検証において要件を満たす範囲においてのみ、回路修正を行うことができる。
【0117】
回路修正の後、修正対象のインスタンスから、前段のフリップフロップに向かって同様の処理を行うことを、前段のフリップフロップに達するまで繰り返す。以上の処理を、全フリップフロップ間において行う。
【0118】
以上のように、本実施形態では、図8の処理、すなわち、全フリップフロップから、信号伝播とは逆向きにトレースし、クロストークが発生している箇所を求め、これ以降のインスタンスの信号の遷移間隔を求め、関連する回路の修正を行うという処理を繰り返し実行する。この結果、回路修正による新たなクロストークの発生を防止することができ、クロストークが発生しないように回路を修正すると、新たなクロストークが発生し、更に回路修正を行う必要が生じる、という悪循環を防ぐことができる。
【0119】
(第4の実施形態)
図13は、本発明の第4の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。図13の半導体集積回路の設計方法は、遅延計算ステップS101と、タイミング解析ステップS402と、クリティカルパス抽出ステップS403と、回路修正ステップS404とを備えている。遅延計算ステップS101は、図1の遅延計算ステップS101と同様のものである。遅延計算ステップS101の前に、既に配線パターンが定義されているものとする。
【0120】
タイミング解析ステップS402では、演算部は、図1のタイミング解析ステップS102とほぼ同様に、インスタンス及び配線で生じる遅延時間とネットリストとを入力として、ネットリストに記載されたインスタンスの接続順に従い、インスタンス及び配線の遅延時間を足し合わせ、全てのインスタンスの出力端子における信号遷移タイミングを計算する。
【0121】
次に、クリティカルパス抽出ステップS403では、演算部は、次のステップ1及びステップ2の処理を行う。
【0122】
ステップ1では、タイミング解析ステップS402で得られた結果から、フリップフロップ間の全てのパスにおけるパス遅延時間を求め、スラックとセットアップ時間とを足し合わせた和が小さいパスを候補として抽出し、その中から、得られた和がクロックスキューに対して小さいパスを抽出する。
【0123】
ここでスラックとは、サイクルタイムに対する余裕度であり、サイクルタイムから、パス遅延時間とセットアップ時間とを減じた時間である。例えば、サイクルタイムが10ns、パス遅延時間が9.5ns、セットアップ時間が0.1nsであれば、スラックは0.4ns(=10ns−9.5ns−0.1ns)となる。式で表現すると、次式(1)、すなわち、
(クロックスキュー)≧(スラック)+(セットアップ時間) …(1)
を満たす場合にステップ1で抽出の対象となる。
【0124】
具体的な数字の例を示すと、クロックスキュー0.6ns、セットアップ時間0.1ns、スラック0.5nsのパスは、式(1)を満たすので抽出され、クロックスキュー0.2ns、セットアップ時間0.1ns、スラック0.4nsのパスは、式(1)を満たさないので抽出されない。
【0125】
次に、ステップ2では、ステップ1で抽出されたパスに対し、そのパスの終端にあるフリップフロップの入力端子に接続された配線がクロックを供給するクロックラインと隣接しているか否か、つまり、その配線間にカップリング容量が存在するか否かを調べ、カップリング容量が存在するパスをクリティカルパスとして抽出する。
【0126】
クリティカルパス抽出ステップS403における処理を、具体例を用いて説明する。図14(a)は、図13の処理の対象とする回路の例を示す回路図である。図14(a)の回路において、インスタンス421の出力がフリップフロップ422の入力端子に与えられ、インスタンス431の出力がフリップフロップ432のクロックとして与えられている。また、インスタンス421の出力の配線と、インスタンス431の出力の配線との間には、カップリング容量441が存在する。
【0127】
図14(b)は、図13の処理の対象とする回路の他の例を示す回路図である。図14(b)の回路において、インスタンス424の出力がフリップフロップ425の入力端子に与えられ、インスタンス434の出力がフリップフロップ435のクロックとして与えられている。インスタンス434の出力の配線がインスタンス424の出力の配線から離れたところに配線されており、これらの2つの配線の間にカップリング容量が存在しない点が、図14(a)の回路とは異なる。
【0128】
図14(c)は、図13の処理の対象とする回路の更に他の例を示す回路図である。図14(c)の回路は、図14(a)の回路と同様に構成されている。すなわち、インスタンス427の出力がフリップフロップ428の入力端子に与えられ、インスタンス437の出力がフリップフロップ438のクロックとして与えられている。また、インスタンス427の出力の配線と、インスタンス437の出力の配線との間には、カップリング容量443が存在する。
【0129】
図15(a)は、 図14(a)の回路における信号を示すタイミング図である。インスタンス421の出力の信号遷移461と、インスタンス431の出力の信号遷移471とが示されている。図15(b)は、 図14(b)の回路における信号を示すタイミング図である。インスタンス424の出力の信号遷移464と、インスタンス434の出力の信号遷移474とが示されている。図15(c)は、 図14(c)の回路における信号を示すタイミング図である。インスタンス427の出力の信号遷移467と、インスタンス437の出力の信号遷移477とが示されている。
【0130】
図14(a)〜(c)のいずれの回路においても、サイクルタイム10ns、クロックスキュー0.3ns、セットアップ時間0.1nsであるとする。図14(a),(b),(c)の回路におけるスラックが、それぞれ0.4ns,0.2ns,0.1nsであるとする。
【0131】
ステップ1では、式(1)を満たすか否かを判定し、式(1)を満たさない図14(a)の回路を候補から除く。
【0132】
次に、ステップ2では、図14(b)の回路を候補から除く。パスの終端にあるフリップフロップ425に接続された配線が、クロックラインとの間にカップリング容量を持たないからである。この結果、図14(c)の回路が残り、インスタンス427からフリップフロップ428に至るパスがクリティカルパスとして抽出される。
【0133】
回路修正ステップS404では、クリティカルパス抽出ステップS403で抽出されたクリティカルパスに属し、フリップフロップ428の入力端子に接続された配線と、フリップフロップ438にクロックを供給し、前記クリティカルパス上の配線に隣接するクロックラインの配線との間のカップリング容量が小さくなるように配線を再配線する。
【0134】
より具体的には、フリップフロップ438にクロックを供給するクロックラインの配線を、図14(b)の回路のように、フリップフロップ428の入力端子に接続された配線との間の距離が大きくなるように迂回させる。また、フリップフロップ428の入力端子に接続された配線を、フリップフロップ438にクロックを供給するクロックラインの配線との間の距離が大きくなるように迂回させたり、フリップフロップ428の入力端子に接続された配線と、フリップフロップ438にクロックを供給するクロックラインの配線との間にシールド配線を挿入する等の回路修正を行ってもよい。これにより、2つの配線間のカップリング容量を減少させてほぼ0になるようにする。
【0135】
この結果、信号遷移のタイミングは回路修正前とほとんど同じであるが、カップリング容量が存在しないので、クロストークが生じない回路を得ることができる。
【0136】
このような回路修正を行う理由について説明する。クロック信号は、一般的に信号波形傾きが非常に急峻で、非常に強いアグレッサになる。この強いアグレッサの影響により、非常にタイミングの厳しいクリティカルパスが影響を受けると、パス遅延が増大するだけではなく、セットアップ時間も増大し、タイミングの制約を満たすのが厳しくなる。
【0137】
そこで、タイミングの厳しいクリティカルパスの終端にあるフリップフロップに入力される信号の配線が、クロックラインに隣接する場合には、カップリング容量がなくなるような回路修正を施すことにより、クロストークによる遅延変動が原因となってタイミングエラーとなるのを回避することができる。
【0138】
クロック信号が非常に強いアグレッサであることから、全てのクロックラインに関してシールド配線の挿入等の回路修正を行うと、回路面積が大きく増大するので得策ではない。本実施形態によると、タイミングの制約が厳しい箇所に限定して回路修正を行うので、回路面積の増大を最低限に抑えることができ、かつ、クロストークによるタイミングエラーを防ぐことができる。
【0139】
(第5の実施形態)
図16は、本発明の第5の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。図16の半導体集積回路の設計方法は、配線長見積りステップS501と、配線制約算出ステップS502と、配線ステップS503とを備えている。
【0140】
配線長見積りステップS501では、各ネットの配線長を求める。基本セルが配置されている場合は、その配置に基づいて配線長を求める。
【0141】
配線制約算出ステップS502では、配線長見積りステップS501で求められた配線長に基づいて、あらかじめ決められた規則に従い、各ネットについて、最小配線間隔の制約を算出する。この規則は、例えば、配線が長いほど大きな配線間隔になるようにするものである。
配線ステップS503では、配線制約算出ステップS502で算出された最小配線間隔の制約の下で、基本セル間の配線を行う。
【0142】
このように、配線長に応じて最小配線間隔が決定されるので、クロストークの起こる確率の高い、長距離のネット配線には大きな配線間隔が設定され、クロストークノイズの影響が削減できる。また、クロストークノイズの影響を受ける度合いに応じて配線間隔を決めるので、配線リソースを有効に活用することが可能となる。
【0143】
なお、配線制約算出ステップS502で用いる規則が、配線の長いネットは大きな間隔になるようにするものであるとして説明したが、これには限らず、設計のノウハウを盛りこんだ規則にしてもよい。例えば、求められる間隔が、配線長の増加に対して単調に増加するのでなく、所定の値以上においては減少するようにしてもよい。
【0144】
また、本実施形態では、制約として、最小配線間隔を算出したが、配線間距離と平行配線長とに応じた値を制約としてもよい。例えば、平行配線長と配線間距離との関数の総和を所定の値よりも小さくするような制約を求めるようにしてもよい。
【0145】
(第6の実施形態)
図17は、本発明の第6の実施形態に係る半導体集積回路の設計における検証方法の処理の流れを示すフローチャートである。図17の検証方法は、配線間隔算出ステップS601と、配線長算出ステップS602と、制約比較ステップS603とを備えている。
【0146】
図18は、図17の処理の対象とする配線のレイアウトの例を示すレイアウト図である。図18において、配線セグメント622,624,626は、1つのネットAを構成しているものとする。配線セグメント622,626は、第1の配線層を用いている。配線セグメント624は、第2の配線層を用いている。配線セグメント632,634,636は、ネットA以外のそれぞれ異なるネットを構成している。配線セグメント632,636は、第1の配線層を用いている。配線セグメント634は、第2の配線層を用いている。
【0147】
配線間隔算出ステップS601では、演算部は、レイアウトされた配線に基づいて、各ネットについて配線間隔を算出する。ここでは例として、隣接配線との最小間隔を配線間隔とする。図18の場合、ネットAに関しては、隣接配線との間の間隔として、配線セグメント622,632間の間隔d1、配線セグメント626,632間の間隔d2、配線セグメント626,636間の間隔d3、配線セグメント624,634間の間隔d4が考えられる。ここでは、最も小さい間隔d2をネットAの配線間隔とする。
【0148】
配線長算出ステップS602では、演算部は、各ネットについて、レイアウトされた配線の配線長を算出する。
【0149】
制約比較ステップS603では、演算部は、各ネットについて、配線間隔算出ステップS601で求めた配線間隔と、配線長算出ステップS602で求めた配線長との関係を調べる。配線間隔を、配線長に応じて決められた値と比較し、配線間隔がこの値以下である場合には、その配線のネットをクロストークの影響を受けやすいネットとして抽出する。
【0150】
このようにすることにより、配線間隔が配線長に応じた値以下となるネットを発見して、クロストークの影響を受け易いネットを設計の際に検出することができる。
【0151】
なお、配線間隔を、隣接配線との間隔のうちの最小のものとする場合について説明したが、隣接配線との平走距離と、隣接配線との間隔に基づいた関数値(例えば配線間容量)の総和を算出し、得られた値を配線間隔として用いてもよい。この場合、より精密な検証を行うことができる。
【0152】
また、配線間隔算出ステップS601と、配線長算出ステップS602との順は、逆であってもよい。
【0153】
(第7の実施形態)
図19は、本発明の第7の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。図19の設計方法は、標準遅延算出ステップS701と、セル選択ステップS702と、論理設計ステップS703とを備えている。
【0154】
標準遅延算出ステップS701では、ライブラリに含まれる各セルについて、入力波形の傾きと負荷容量との複数の組み合わせのそれぞれに対して標準的な遅延値を求める。
【0155】
セル選択ステップS702では、演算部は、標準遅延算出ステップS701で得られた標準遅延値に基づいて、負荷容量の変動に対する遅延値変動量が、当該半導体集積回路の設計仕様で定められたサイクルタイムに対する所定の割合、例えば10分の1以下であるセルを選択する。ここで、10分の1以外の割合を基準としてもよい。
【0156】
論理設計ステップS703では、演算部は、セル選択ステップS702で選択された論理セル群のみを用いて論理設計を行う。
【0157】
このように、サイクルタイムに対する遅延変動の割合が大きくなる可能性の高いセルを用いずに論理回路設計を行うので、クロストークの影響を受けにくい半導体集積回路を設計することができる。また、クロストークの影響を受ける場合においても、遅延変動の量がサイクルタイムに対してあまり大きくないので、比較的容易に回路の修正を行うことができる。
【0158】
(第8の実施形態)
図20は、本発明の第8の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。図20の設計方法は、セル配置配線ステップS801と、セル検出ステップS802と、マージン算出ステップS803と、ネット選択ステップS804と、配線変更ステップS805とを備えている。
【0159】
セル配置配線ステップS801では、演算部は、論理セルの配置配線を行う。セル検出ステップS802では、演算部は、セル配置配線ステップS801で配置された論理セルの中から、正信号とその反転信号とを出力するフリップフロップを検出する。
【0160】
マージン算出ステップS803では、演算部は、セル検出ステップS802で検出されたフリップフロップに関して、ホールドタイミングマージンを求める。
【0161】
ネット選択ステップS804では、演算部は、検出されたフリップフロップの出力に接続された正論理ネット及び逆論理ネットのうち、ホールドタイミングマージンが最も少ないものを対象ネットとして選択する。1つのネットが複数の終点を持つパスの場合は、その中で最も小さいマージンをそのネットのマージンとする。
【0162】
配線変更ステップS805では、演算部は、ネット選択ステップS804で選ばれたネットの配線に沿って、その両側に、選択されたネットの信号の反転信号を伝送する配線を追加して配置する。この配線は、選択されたネットの配線と同一のフリップフロップに接続される。すなわち、フリップフロップの正出力端子及び負出力端子のうち、一方には選択されたネットの配線が接続され、他方には追加される配線が接続される。
【0163】
本実施形態によると、ネット選択ステップS804で選択された、ホールドマージンの少ないネットの両側に、その逆相の信号が走ることになる。また、この信号は、選択されたネットの信号と同一のフリップフロップから出力されるので、両信号のタイミングはほぼ同時である。正相、逆相信号線間のカップリング容量が大きい場合には、クロストークが生じ、その結果、ホールドマージンの少ないネットの信号の遅延値を増大させることができる。すなわち、セル面積の増加を行うことなしに、ホールドタイムマージンを大きくすることができる。
【0164】
なお、セル配置配線ステップでは、配線を行わずにセル配置のみを行ってもよい。この場合、マージン算出ステップS803では、仮想的な配線長に基づいて計算を行う。また、この場合、配線変更ステップS805では、まず、修正したい箇所について必要な配線を行った後に、残りの配線を行う。
【0165】
本実施形態では、ネット選択ステップS804で選ばれたネットの配線に沿って、その両側に平行配線を行う場合について説明したが、片側のみに配線を行ってもよい。平行配線長は、できる限り長くしてもよいし、対象ネットの配線よりも短くてもよい。平行配線の長さは、ホールドタイミングマージン値に応じて定めてもよい。
【0166】
また、ネット選択ステップS804で選ばれなかったネットのセットアップタイミングにかかわらず、配線変更ステップS805の処理を行っているが、配線変更ステップS805を行った後に、選ばれなかったネットがセットアップタイミングエラーを起こす場合は、配線変更ステップS805を行わないようにしてもよいし、クロストークを生じさせない信号を出力する別のバッファを新たに追加してもよい。この場合、エリアの増加が発生するが、全ての出力についてバッファが追加されるわけではないので、エリアペナルティーは小さい。
【0167】
(第9の実施形態)
図21は、本発明の第9の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。図21の設計方法は、信号波形傾き算出ステップS901と、ビクティムネット抽出ステップS902と、回路修正ステップS903とを備えている。
【0168】
信号波形傾き算出ステップS901では、演算部は、フリップフロップの入力端子に接続された配線を駆動する第1のインスタンス(第1のセル)の出力端子、及びこの配線と隣接する配線を駆動する第2のインスタンス(第2のセル)の出力端子のそれぞれにおける信号波形傾きを求める。
【0169】
ビクティムネット抽出ステップS902では、演算部は、信号波形傾き算出ステップS901で求められた、第1及び第2の2つのインスタンスの信号波形傾きを組にして、両者を比較し、第1のインスタンスの信号波形傾きの方が緩やかな組を抽出する。
【0170】
回路修正ステップS903では、演算部は、抽出された組に関して、第1のインスタンスの出力端子における信号波形傾きを急峻にするような、このインスタンスに対する回路修正、又は、第2のインスタンスの出力端子における信号波形傾きを緩やかにするような、このインスタンスに対する回路修正を行う。ここで、信号波形傾きを急峻にする際には、インスタンスの駆動能力を大きくし、信号波形傾きを緩やかにする際には、インスタンスの駆動能力を小さくする。インスタンスは、例えば、駆動能力が十分に大きく、駆動能力の調整が可能なインバータである。
【0171】
本実施形態によると、仮に、フリップフロップの入力信号配線と、この配線の隣接配線との間でクロストークが生じたとしても、フリップフロップの入力信号配線がビクティムになることはないので、フリップフロップへのパスがタイミングエラーになることはない。この結果、フリップフロップへのデータ入力がビクティムにならないので、より効率的にセットアップタイムの増加を押さえることができる。
【0172】
なお、インスタンスの駆動能力を大きくするには、そのトランジスタサイズを大きくしてもよいし、トランジスタのしきい値電圧を低くしてもよい。
【0173】
また、ある配線に隣り合う配線が1つである場合について説明したが、隣り合う配線が複数存在している場合も同様である。
【0174】
また、第1のインスタンスの出力端子における信号波形傾きが、第2のインスタンスの出力端子における信号波形傾きよりも急峻になるように、第1のインスタンスの駆動能力を大きくする場合について説明したが、第1のインスタンスの駆動能力を大きくするのであれば、第1のインスタンスの出力端子における信号波形傾きが、第2のインスタンスの出力端子における信号波形傾きよりも緩やかであってもよい。また、第2のインスタンスの駆動能力を小さくする場合も同様である。
【0175】
また、図21の処理を、詳細配線後に行ってもよいし、仮想的な配線モデルを用いて詳細配線前に行ってもよい。
【0176】
【発明の効果】
以上のように、本発明によると、半導体集積回路の設計の際に、タイミング解析の結果に影響を与えるようなクロストークノイズを検出することができる。また、クロストークの影響を受けにくい半導体集積回路を効率よく設計することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るクロストークノイズ検出方法の処理の流れを示すフローチャートである。
【図2】図1の処理の対象とする回路の例を示す回路図である。
【図3】ビクティムの信号遷移タイミングの例を示すグラフである。
【図4】アグレッサとビクティムとの間における信号遷移タイミングの関係の例を示すグラフである。
【図5】アグレッサとビクティムとの間における信号遷移タイミングの関係の他の例を示すグラフである。
【図6】本発明の第2の実施形態に係るクロストークノイズ検出方法の処理の流れを示すフローチャートである。
【図7】(a)は、typ条件におけるアグレッサとビクティムとの信号遷移タイミングの一例を示すグラフである。
(b)は、max条件におけるアグレッサとビクティムとの信号遷移タイミングの一例を示すグラフである。
(c)は、max条件におけるアグレッサとビクティムとの信号遷移タイミングの他の例を示すグラフである。
【図8】本発明の第3の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。
【図9】図8の処理の対象とする回路の例を示す回路図である。
【図10】(a)は、図9のインスタンス321及び331のそれぞれの出力の信号遷移361及び381の例を示すタイミング図である。
(b)は、図9のインスタンス322及び332のそれぞれの出力の信号遷移362及び382の例を示すタイミング図である。
(c)は、図9のインスタンス323及び333のそれぞれの出力の信号遷移363及び383の例を示すタイミング図である。
【図11】(a)は、回路修正後における図9のインスタンス321及び331のそれぞれの出力の信号遷移364及び381の例を示すタイミング図である。
(b)は、回路修正後における図9のインスタンス322及び332のそれぞれの出力の信号遷移365及び382の例を示すタイミング図である。
(c)は、回路修正後における図9のインスタンス323及び333のそれぞれの出力の信号遷移366及び383の例を示すタイミング図である。
【図12】図9のインスタンス323及び333のそれぞれの出力の信号遷移の他の例を示すタイミング図である。
【図13】本発明の第4の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。
【図14】(a)は、図13の処理の対象とする回路の例を示す回路図である。
(b)は、図13の処理の対象とする回路の他の例を示す回路図である。
(c)は、図13の処理の対象とする回路の更に他の例を示す回路図である。
【図15】(a)は、 図14(a)の回路における信号を示すタイミング図である。
(b)は、 図14(b)の回路における信号を示すタイミング図である。
(c)は、 図14(c)の回路における信号を示すタイミング図である。
【図16】本発明の第5の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。
【図17】本発明の第6の実施形態に係る半導体集積回路の設計における検証方法の処理の流れを示すフローチャートである。
【図18】図17の処理の対象とする配線のレイアウトの例を示すレイアウト図である。
【図19】本発明の第7の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。
【図20】本発明の第8の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。
【図21】本発明の第9の実施形態に係る半導体集積回路の設計方法の処理の流れを示すフローチャートである。
【図22】温度及び電源電圧が取り得る範囲を示すグラフである。
【図23】(a)は、静的タイミングシミュレーション結果の例を示すグラフである。
(b)は、(a)においてクロストークを考慮した場合のグラフである。
【符号の説明】
S101,S201 遅延計算ステップ
S102,S202,S302,S402 タイミング解析ステップ
S103 遅延変動量計算ステップ
S104 クロストーク判定タイミング最適化ステップ
S105 クロストーク判定ステップ
S203 信号遷移タイミング比較ステップ
S204 クロストーク考慮タイミング解析ステップ
S303 遅延修正可能幅決定ステップ
S304,S404,S903 回路修正ステップ
S501 配線長見積りステップ
S502 配線制約算出ステップ
S503 配線ステップ
S601 配線間隔算出ステップ
S602 配線長算出ステップ
S603 制約比較ステップ
S701 標準遅延算出ステップ
S702 セル選択ステップ
S703 論理設計ステップ
S801 セル配置配線ステップ
S802 セル検出ステップ
S803 マージン算出ステップ
S804 ネット選択ステップ
S805 配線変更ステップ
S901 信号波形傾き算出ステップ
S902 ビクティムネット抽出ステップ

Claims (19)

  1. 半導体集積回路の個々のセル及び配線について、生じ得る遅延時間の最大値又は最小値を求める遅延計算ステップと、
    前記遅延計算ステップで求められた遅延時間とネットリストとに基づいて、同一のパスに属するセル及び配線の遅延時間の和を求め、前記パスのセルの出力における信号遷移タイミングを求めるタイミング解析ステップと、
    前記信号遷移タイミングに基づいて、前記パスのセルにクロストークが発生するか否かを判定すべき期間を設定するクロストーク判定タイミング最適化ステップと、
    前記パスのセルの出力の配線との間にカップリング容量が存在するセルに、前記期間において信号遷移が生じる場合には、前記パスのセルにクロストークノイズが発生すると判定するクロストーク判定ステップとを備える
    クロストークノイズ検出方法。
  2. 請求項1に記載のクロストークノイズ検出方法において、
    前記パスのセルがクロストークの影響を受ける場合に、当該セルの遅延に生じる変動量を求める遅延変動量計算ステップを更に備え、
    前記クロストーク判定タイミング最適化ステップは、
    前記タイミング解析ステップにおいて、個々のセル及び配線についての遅延時間の最大値を用いて求められた信号遷移タイミングと、それよりも前記変動量に応じた時間だけ前の時点との間を、前記期間として設定するものである
    ことを特徴とするクロストークノイズ検出方法。
  3. 請求項1に記載のクロストークノイズ検出方法において、
    前記パスのセルがクロストークの影響を受ける場合に、当該セルの遅延に生じる変動量を求める遅延変動量計算ステップを更に備え、
    前記クロストーク判定タイミング最適化ステップは、
    前記タイミング解析ステップにおいて、個々のセル及び配線についての遅延時間の最小値を用いて求められた信号遷移タイミングと、それよりも前記変動量に応じた時間だけ後の時点との間を、前記期間として設定するものである
    ことを特徴とするクロストークノイズ検出方法。
  4. 請求項1に記載のクロストークノイズ検出方法において、
    前記遅延計算ステップは、
    セル及び配線について、生じ得る遅延時間の最大値及び最小値を求めるものであり、
    前記クロストーク判定タイミング最適化ステップは、
    前記タイミング解析ステップにおいて、個々のセル及び配線についての遅延時間の最大値及び最小値のそれぞれを用いて求められた信号遷移タイミングである最大信号遷移タイミング及び最小信号遷移タイミングの差を求め、最大信号遷移タイミングとそれよりも前記差に応じた時間だけ前の時点との間を、前記期間として設定するものである
    ことを特徴とするクロストークノイズ検出方法。
  5. 請求項1に記載のクロストークノイズ検出方法において、
    前記遅延計算ステップは、
    セル及び配線について、生じ得る遅延時間の最大値及び最小値を求めるものであり、
    前記クロストーク判定タイミング最適化ステップは、
    前記タイミング解析ステップにおいて、個々のセル及び配線についての遅延時間の最大値及び最小値のそれぞれを用いて求められた信号遷移タイミングである最大信号遷移タイミング及び最小信号遷移タイミングの差を求め、最小信号遷移タイミングとそれよりも前記差に応じた時間だけ後の時点との間を、前記期間として設定するものである
    ことを特徴とするクロストークノイズ検出方法。
  6. 半導体集積回路のセル及び配線について、生じ得る遅延時間の最大値、及び生じ得る遅延時間の最小値と前記最大値との間の値である遅延時間の中間値を求める遅延計算ステップと、
    前記遅延計算ステップで求められた遅延時間とネットリストとに基づいて、同一のパスに属するセル及び配線の遅延時間の和を求め、前記パスのセルの出力における信号遷移タイミングを求めるタイミング解析ステップと、
    カップリング容量が存在する、2つの配線の信号遷移タイミングの順が、前記遅延時間の最大値に基づいて求められた場合と前記遅延時間の中間値に基づいて求められた場合とで入れ替わるような箇所にクロストークノイズが発生すると判定する信号遷移タイミング比較ステップとを備える
    クロストークノイズ検出方法。
  7. 半導体集積回路の個々のセル及び配線について、遅延時間を求める遅延計算ステップと、
    前記遅延計算ステップで求められた遅延時間とネットリストとに基づいて、同一のパスに属するセル及び配線の遅延時間の和を求め、前記パスのセルの出力における信号遷移タイミングを求めるタイミング解析ステップと、
    前記タイミング解析の結果に基づいて、フリップフロップ間のパスにおけるセルであって、このセルに対してアグレッサとなるセルとの間で信号遷移期間に重なりがあるものを修正対象のセルとして求め、これと後段のフリップフロップとの間に介在するセルにおいて、この介在するセルとこれに対してアグレッサとなるセルとの間で、信号遷移期間に重なりが生じず、かつ、信号遷移のタイミングの前後関係が変化しないように、前記修正対象のセルの信号遷移のタイミングを変化させることができる範囲を求める遅延修正可能幅決定ステップと、
    前記範囲内において、前記修正対象のセルと、このセルに対してアグレッサとなるセルとの間で信号遷移期間に重なりが生じないように、信号遷移のタイミングを変化させるような回路修正を前記修正対象のセルに対して行う回路修正ステップとを備える
    半導体集積回路の設計方法。
  8. 請求項7に記載の半導体集積回路の設計方法において、
    前記遅延修正可能幅決定ステップは、
    前記フリップフロップ間のパスにおいて前記後段のフリップフロップから前段のフリップフロップに向かってパストレースし、前記修正対象のセルとして最初に該当するものを求めるものであり、
    前記遅延計算ステップと、前記タイミング解析ステップと、前記遅延修正可能幅決定ステップと、前記回路修正ステップとを、前記前段のフリップフロップに達するまで行う
    ことを特徴とする半導体集積回路の設計方法。
  9. 半導体集積回路の個々のセル及び配線について、遅延時間を求める遅延計算ステップと、
    前記遅延計算ステップで求められた遅延時間とネットリストとに基づいて、同一のパスに属するセル及び配線の遅延時間の和を求め、前記パスのセルの出力における信号遷移タイミングを求めるタイミング解析ステップと、
    フリップフロップ間のパスのうち、前記タイミング解析の結果から得られる、サイクルタイムに対する余裕度に基づいて、クリティカルパスを求めるクリティカルパス抽出ステップと、
    前記クリティカルパス上の配線に隣接し、前記クリティカルパスに属さないフリップフロップにクロックを供給する配線と、前記クリティカルパス上の配線との間のカップリング容量が小さくなるように、配線の再配置を行う回路修正ステップとを備える
    半導体集積回路の設計方法。
  10. 請求項9に記載の半導体集積回路の設計方法において、
    前記回路修正ステップは、
    前記クリティカルパス上の配線に隣接する配線を、前記クリティカルパス上の配線との間の距離が大きくなるように再配置するものである
    ことを特徴とする半導体集積回路の設計方法。
  11. セルとその間を接続する配線とを有する半導体集積回路の設計方法であって、
    配線の長さに応じて、これと隣接する配線との間の間隔を有するように配線を行う
    半導体集積回路の設計方法。
  12. 請求項11に記載の半導体集積回路の設計方法において、
    各ネットの配線長を求める配線長見積りステップと、
    前記配線長見積りステップで求められた配線長に基づいて、所定の規則に従い、各ネットについて最小配線間隔の制約を算出する配線制約算出ステップと、
    前記制約の下でセル間の配線を行う配線ステップとを備える
    ことを特徴とする半導体集積回路の設計方法。
  13. 半導体集積回路の設計を検証する方法であって、
    レイアウトされた配線に基づいて、各ネットについて配線間隔を算出する配線間隔算出ステップと、
    各ネットについて、配線長を算出する配線長算出ステップと、
    前記配線間隔を前記配線長に応じた値と比較し、前記配線間隔が前記値以下である配線のネットを抽出する制約比較ステップとを備える
    半導体集積回路の設計検証方法。
  14. セルとその間を接続する配線とを有する半導体集積回路の設計方法であって、
    当該半導体集積回路の設計仕様で定められたサイクルタイムに応じて選択したセルを用いて設計を行う
    半導体集積回路の設計方法。
  15. 請求項14に記載の半導体集積回路の設計方法において、セルについて、入力波形の傾きと負荷容量との複数の組み合わせのそれぞれに対する標準的な遅延値を求める標準遅延算出ステップと、
    前記標準遅延算出ステップで求められた標準遅延値に基づいて、容量変動に対する遅延値変動量が、前記サイクルタイムに対する所定の割合以下であるセルを選択するセル選択ステップと、
    前記セル選択ステップで選択されたセルを用いて論理設計を行う論理設計ステップとを備える
    ことを特徴とする半導体集積回路の設計方法。
  16. セルとその間を接続する配線とを有する半導体集積回路の設計方法であって、
    フリップフロップの出力端子に接続された配線に沿って、前記出力端子から出力される信号の反転信号を出力する、前記フリップフロップの他の出力端子に接続された配線を追加する
    半導体集積回路の設計方法。
  17. 請求項16に記載の半導体集積回路の設計方法において、正信号とその反転信号とを出力するフリップフロップを検出するセル検出ステップと、
    前記検出されたフリップフロップに関してホールドタイミングマージンを求めるマージン算出ステップと、
    前記検出されたフリップフロップについての出力ネットのうち、ホールドタイミングマージンが最も少ないものを選択するネット選択ステップと、
    前記選択されたネットの配線に沿って、前記選択されたネットの配線と同一のフリップフロップに接続され、前記選択されたネットの信号の反転信号を伝送する配線を追加する配線変更ステップとを備える
    ことを特徴とする半導体集積回路の設計方法。
  18. セルとその間を接続する配線とを有する半導体集積回路の設計方法であって、
    フリップフロップの入力のネットの信号波形の傾きが、前記ネットの配線に隣接する配線のネットにおける信号波形の傾きよりも急峻になるように、前記ネットの配線、又はこれに隣接する配線を駆動する回路の駆動能力を設定する
    半導体集積回路の設計方法。
  19. 請求項18に記載の半導体集積回路の設計方法において、前記フリップフロップの入力のネットの配線を駆動する第1のセルの出力端子、及び前記ネットの配線に隣接する配線を駆動する第2のセルの出力端子のそれぞれにおける信号波形傾きを求める信号波形傾き算出ステップと、
    前記第1及び第2のセルの信号波形傾きを組にして、両者を比較し、前記第1のセルの信号波形傾きの方が緩やかな組を抽出するビクティムネット抽出ステップと、
    前記抽出された組に関して、前記第1のセルの出力端子における信号波形傾きを急峻にするような、前記第1のセルに対する回路修正、又は、前記第2のセルの出力端子における信号波形傾きを緩やかにするような、前記第2のセルに対する回路修正を行う回路修正ステップとを備える
    ことを特徴とする半導体集積回路の設計方法。
JP2003070586A 2003-03-14 2003-03-14 クロストークノイズ検出方法、並びに半導体集積回路の設計方法及び設計検証方法 Pending JP2004280439A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003070586A JP2004280439A (ja) 2003-03-14 2003-03-14 クロストークノイズ検出方法、並びに半導体集積回路の設計方法及び設計検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003070586A JP2004280439A (ja) 2003-03-14 2003-03-14 クロストークノイズ検出方法、並びに半導体集積回路の設計方法及び設計検証方法

Publications (1)

Publication Number Publication Date
JP2004280439A true JP2004280439A (ja) 2004-10-07

Family

ID=33287297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003070586A Pending JP2004280439A (ja) 2003-03-14 2003-03-14 クロストークノイズ検出方法、並びに半導体集積回路の設計方法及び設計検証方法

Country Status (1)

Country Link
JP (1) JP2004280439A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293534A (ja) * 2005-04-07 2006-10-26 Toshiba Microelectronics Corp 半導体集積回路の解析装置及び解析方法
JP2006350397A (ja) * 2005-06-13 2006-12-28 Nec Electronics Corp 高周波ノイズ解析装置、高周波ノイズ解析方法及び高周波ノイズ解析プログラム
JPWO2005043420A1 (ja) * 2003-11-04 2007-05-10 富士通株式会社 電子回路設計プログラム、電子回路設計方法および電子回路設計装置
US9201108B2 (en) 2011-12-28 2015-12-01 Samsung Electronics Co., Ltd. Method of analyzing coupling effect between signal lines in an integrated circuit
US9875326B2 (en) 2015-12-04 2018-01-23 International Business Machines Corporation Addressing coupled noise-based violations with buffering in a batch environment
JP2020081552A (ja) * 2018-11-28 2020-06-04 株式会社ソフイア 遊技機
US11550978B2 (en) 2018-12-17 2023-01-10 Mitsubishi Electric Corporation Circuit design assistance system and computer readable medium

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005043420A1 (ja) * 2003-11-04 2007-05-10 富士通株式会社 電子回路設計プログラム、電子回路設計方法および電子回路設計装置
JP2006293534A (ja) * 2005-04-07 2006-10-26 Toshiba Microelectronics Corp 半導体集積回路の解析装置及び解析方法
JP4521309B2 (ja) * 2005-04-07 2010-08-11 東芝マイクロエレクトロニクス株式会社 半導体集積回路の解析装置及び解析方法
JP2006350397A (ja) * 2005-06-13 2006-12-28 Nec Electronics Corp 高周波ノイズ解析装置、高周波ノイズ解析方法及び高周波ノイズ解析プログラム
JP4530222B2 (ja) * 2005-06-13 2010-08-25 ルネサスエレクトロニクス株式会社 高周波ノイズ解析装置、高周波ノイズ解析方法及び高周波ノイズ解析プログラム
US9201108B2 (en) 2011-12-28 2015-12-01 Samsung Electronics Co., Ltd. Method of analyzing coupling effect between signal lines in an integrated circuit
US9875326B2 (en) 2015-12-04 2018-01-23 International Business Machines Corporation Addressing coupled noise-based violations with buffering in a batch environment
JP2020081552A (ja) * 2018-11-28 2020-06-04 株式会社ソフイア 遊技機
US11550978B2 (en) 2018-12-17 2023-01-10 Mitsubishi Electric Corporation Circuit design assistance system and computer readable medium

Similar Documents

Publication Publication Date Title
US7010763B2 (en) Method of optimizing and analyzing selected portions of a digital integrated circuit
US7231622B2 (en) Method for correcting crosstalk
US7251797B2 (en) Pessimism reduction in crosstalk noise aware static timing analysis
JP5883676B2 (ja) Lsi設計方法
KR20100049614A (ko) 크로스토크로 유도된 노이즈를 위한 제한된 어그레서 세트 선택 방법
US9881123B1 (en) Method and system for timing analysis with adaptive timing window optimization for determining signal integrity impact
US20100153897A1 (en) System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce leakage power in an electronic circuit and electronic design automation tool incorporating the same
US8316339B2 (en) Zone-based leakage power optimization
US8255851B1 (en) Method and system for timing design
US8977998B1 (en) Timing analysis with end-of-life pessimism removal
CN115796093A (zh) 电路时序优化方法、装置、电子设备及存储介质
WO2012015689A1 (en) Hyper-concurrent multi-scenario optimization
JP2004280439A (ja) クロストークノイズ検出方法、並びに半導体集積回路の設計方法及び設計検証方法
US8776003B2 (en) System and method for employing side transition times from signoff-quality timing analysis information to reduce leakage power in an electronic circuit and an electronic design automation tool incorporating the same
US10956639B1 (en) Method to reduce full-chip timing violation through time budgeting in integrated circuit design
US8453090B2 (en) System and method for optimizing logic timing
Becer et al. Pessimism reduction in crosstalk noise aware STA
US7865860B2 (en) Layout design device and layout method
WO2010101029A1 (ja) 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム
JP2002259488A (ja) クロックスキュー検証方法
JP3519591B2 (ja) Lsiのタイミング劣化シミュレーション装置およびシミュレーション方法
JP2000194734A (ja) 半導体集積回路のバックアノテ―ション方法
JP2005033136A (ja) 半導体集積回路の設計方法
JP2010198526A (ja) タイミング検証方法及びタイミング検証装置
JP2002259480A (ja) クロストーク回避方法