JP4108418B2 - 半導体集積回路の設計方法 - Google Patents

半導体集積回路の設計方法 Download PDF

Info

Publication number
JP4108418B2
JP4108418B2 JP2002264627A JP2002264627A JP4108418B2 JP 4108418 B2 JP4108418 B2 JP 4108418B2 JP 2002264627 A JP2002264627 A JP 2002264627A JP 2002264627 A JP2002264627 A JP 2002264627A JP 4108418 B2 JP4108418 B2 JP 4108418B2
Authority
JP
Japan
Prior art keywords
flip
delay
procedure
flop
timing
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
JP2002264627A
Other languages
English (en)
Other versions
JP2004102725A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2002264627A priority Critical patent/JP4108418B2/ja
Priority to TW092113797A priority patent/TW200404233A/zh
Priority to US10/601,287 priority patent/US6988254B2/en
Priority to KR10-2003-0040639A priority patent/KR100517537B1/ko
Priority to CNB031584098A priority patent/CN1271705C/zh
Publication of JP2004102725A publication Critical patent/JP2004102725A/ja
Application granted granted Critical
Publication of JP4108418B2 publication Critical patent/JP4108418B2/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/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、半導体集積回路の設計方法に関わり、特に、半導体集積回路中の電源配線の抵抗成分に起因する電圧降下(以下、IRドロップと称する)に対してタイミングを抑制する技術、IRドロップの影響を低減する回路設計方法に関する。
【0002】
【従来の技術】
昨今、LSIの大規模化、低電力化が進むにつれて、様々な物理現象が顕著になってきている。そのため、それらの物理現象を設計段階で考慮に入れて設計しておかないと、シミュレーションでは動作しているのに、実際の製品では動作しないという現象が発生する。特に、電源配線の抵抗成分によるIRドロップという現象は、電源電圧が高かった0.25μmルールの時代には、ほとんど問題とならなかったが、微細化が進むにつれて、電源電圧が、1.8V、1.5V、1.0Vと下がり、無視できなくなってきている。
【0003】
図11Aは、LSIにおけるIRドロップ量の分布を模式的に示す等電圧図である。図11Aにおいて、電源パッド(不図示)は、LSIの外周部分に配置されるために、LSIの中央部分の領域1101は、電源パッドからの距離が遠くなり、IRドロップ量が大きくなる。逆に、電源パッドに近い領域1100はIRドロップ量が少なくなる。
【0004】
また、IRドロップは、同期設計において、その現れ方が顕著である。というのも、同期設計では、クロック信号に同期して、すべてのフリップフロップが同時に動作するために、これらフリップフロップに電源を供給する電源配線に多くの電流が流れることになり、IRドロップが発生する。
【0005】
図11Bは、サイクルタイムとIRドロップ量との関係を示す図である。図11Bに示すように、クロック信号CKの立ち上がり時点で、IRドロップ量が大きくなり、時間経過と共に理想電源に近付く。
【0006】
次に、IRドロップが発生した時にどういう影響があるかについて説明する。
【0007】
IRドロップが発生すると、LSIを構成するセルへの電源供給量が減るために、セルの動作が遅くなり、タイミングが変動する。しかし、現在のタイミング設計では、電源は理想電源、つまりIRドロップが発生しないという前提でタイミング設計している。このため、このIRドロップによるタイミング変動が生じると、検証段階ではタイミングに問題なかったLSIが、実際の製品になるとタイミングエラーが発生するという事態が発生する。
【0008】
そこで、従来では、IRドロップを起こさない電源設計をするという取り組みが行なわれていた。具体的には、図12Aに示すように、電源パッド1200の数を多くして、電源配線の数を多くしたり、図12Bに示すように、メッシュ配線にすることで、LSI中央部への電源供給量を増やし、IRドロップを回避しようという試みである。
【0009】
また他の方法として、IRドロップは当然起こるものとして、IRドロップによるタイミング変動を予め、そのタイミングを計算する時に用いる遅延ライブラリに取り込み、設計時に、その遅延ライブラリを用いて、タイミング設計をするという方法があった。この考え方には二種類のアプローチがあった。
【0010】
一つは、レイアウトをした後、IRドロップを解析し、そのIRドロップ量に従い、遅延計算を行なって、タイミング検証するという方法である。図13は、この設計方法のフローチャートである。
【0011】
レイアウト手順S1300において、IRドロップは考慮せずにレイアウトを行ない、レイアウト1300を出力する。次に、IRドロップ解析手順S1301において、レイアウト1300から、LSIを構成するすべてのセルについて、IRドロップ量1301を計算する。次に、遅延計算手順S1302において、様々な電源電圧でキャラクタライズされたIRドロップ考慮遅延ライブラリ1302と各セル毎のIRドロップ量1301を使って、遅延計算を行なう。ここで、IRドロップ考慮遅延ライブラリ1302の作成時には、どれだけのIRドロップが起こるかわからないので、何種類もの電源電圧で遅延をキャラクタライズしておく必要がある。次に、タイミング検証手順S1303では、IRドロップ考慮遅延情報1303を使ってタイミング検証を行ない、タイミングが間に合っているかを判定する。
【0012】
また、別な方法としては、予め、LSIのIRドロップ量を決めておき、そのIRドロップ量になるようにレイアウトを行ない、遅延計算、タイミング検証を行なうという方法がある。これは、例えば、50mVのIRドロップが起こると予め決めておいて、そうなるようにレイアウトを行なう方法である。図14は、この設計方法のフローチャートである。
【0013】
IRドロップ考慮レイアウト手順S1401において、予め定められたIRドロップ量になるようにIRドロップ考慮レイアウト1400を生成する。次に、遅延計算手順S1401において、予め定められたIRドロップ量でキャラクタライズされたIRドロップ考慮遅延ライブラリ1401とIRドロップ考慮レイアウト1400から、遅延計算を行ない、IRドロップ考慮遅延情報1303を出力し、タイミング検証手順S1303でタイミング検証を行う。
【0014】
【発明が解決しようとする課題】
前述した従来の設計方法には、以下の問題点がある。
【0015】
まず、IRドロップ量を押さえるように電源配線や電源パッドの数を増やす電源配線設計では、電源配線の数を多くする必要があり、素子配置に必要な有効面積が少なくなるという問題や、電源パッドの数が増えることによって、電源以外に使えるパッドの数が少なくなるという問題がある。
【0016】
また、IRドロップを解析して、各セル毎に、そのIRドロップ量での遅延計算をする図13の設計方法では、IRドロップ考慮遅延ライブラリ1302の生成時に、すべてのセルに対し、考えうる様々な電源電圧でのキャラクタライズが必要となり、遅延ライブラリの生成時間が膨大になるという問題がある。
【0017】
また、予めIRドロップ量を定めておいて、レイアウトを生成する図14の設計方法では、すべてのセルが同一のIRドロップ量に操作するのが難しいという問題があった。
【0018】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、素子配置に必要な有効面積や電源パッド以外に使用できるパッド数を減らすこと無く、また処理時間を増大させること無く、IRドロップがタイミングに与える影響またはIRドロップ量自体を低減し、実動作に近いタイミングシミュレーションを可能にした半導体集積回路の設計方法を提供することにある。
【0019】
【課題を解決するための手段】
前記の目的を達成するため、本発明に係る第1の半導体集積回路の設計方法は、基本素子と、基本素子の間を接続する配線とから構成される半導体集積回路の設計方法であって、基本素子と配線の遅延時間を足し合わせて、フリップフロップ間のタイミングを検証する第一のタイミング検証手順と、第一のタイミング検証手順により出力されたタイミングレポートから、パスの始点および終点のフリップフロップと、パスを構成するセルの遅延時間およびセットアップ時間と、サイクルタイムに対するスラックとを抽出するスラック分類手順と、任意のフリップフロップを、電源電圧が電源配線の抵抗成分により電圧降下している状態から理想電源の状態に遷移する時間よりも大きい遅延時間を有するフリップフロップに置き換えるフリップフロップ駆動能力変更手順と、置き換えにより変更されたネットリストに基づいてレイアウトを修正するレイアウト修正手順と、レイアウト修正後のフリップフロップ間のタイミングについて、電圧降下を考慮に入れたフリップフロップのみの遅延ライブラリ、および理想電源の状態で作成された遅延ライブラリから遅延計算を行なう遅延計算手順と、遅延計算手順の出力である遅延情報を用いてタイミング検証を行なう第二のタイミング検証手順を備えたことを特徴とする。
【0020】
前記の目的を達成するため、本発明に係る第2の半導体集積回路の設計方法は、基本素子と、基本素子の間を接続する配線とから構成される半導体集積回路の設計方法であって、基本素子と配線の遅延時間を足し合わせて、フリップフロップ間のタイミングを検証する第一のタイミング検証手順と、第一のタイミング検証手順により出力されたタイミングレポートから、パスの始点および終点のフリップフロップと、パスのサイクルタイムに対するスラックとを抽出するスラック分類手順と、スラックが前記サイクルタイムの1/2よりも大きいパスの終端における、クロック信号の立ち上がりで動作するフリップフロップを、クロック信号の立ち下がりで動作するフリップフロップに置き換え、電源配線の抵抗成分による電源電圧の電圧降下量を均一化するフリップフロップ正負変更手順と、置き換えにより変更されたネットリストに基づいてレイアウトを修正するレイアウト修正手順と、レイアウト修正後のフリップフロップ間のタイミングについて、均一化された電圧降下量に対応した遅延ライブラリから遅延計算を行なう遅延計算手順と、遅延計算手順の出力である遅延情報を用いてタイミング検証を行なう第二のタイミング検証手順を備えたことを特徴とする。
【0022】
【発明の実施の形態】
以下、本発明の実施形態について、図面を参照しながら説明する。
【0023】
(第1の実施形態)
図1は、本発明の第1の実施形態に係る半導体集積回路の設計方法における処理手順を示すフローチャートである。図1において、まず、第一のタイミング検証手順S0100では、ネットリスト、遅延情報、制約を入力として、タイミング検証を行ない、すべてのフリップフロップ間のパスのタイミングレポート0100を出力する。ここで、ネットリストとは、例えばverilogネットリストであり、遅延情報とはSDF(Standard Delay Format)であり、制約とは、クロックの定義や、フォールスパス、マルチサイクルパスの指定などを記載したタイミング制約ファイルである。また、出力されるタイミングレポート0100には、始点のフリップフロップから終点のフリップフロップまでの、各セルの遅延時間、配線遅延時間、スラックが記載されている。このタイミングレポート0100は、市販の静的なタイミング検証ツールであれば、いかなるツールでも、簡単に出力できる情報である。
【0024】
例えば、図2Aに示すように、フリップフロップ(FF)0200から、配線0205、セル0201、配線0206、セル0202、配線0207、セル0203、配線0208、フリップフロップ(FF)0204へと接続された回路について説明する。図2Aの各要素に対応する遅延時間が、図2Bに示すように、遅延時間0212、遅延時間0216、遅延時間0213、遅延時間0217、遅延時間0214、遅延時間0218、遅延時間0215、遅延時間0219であった場合には、これらの遅延時間すべてと、フリップフロップ0204のセットアップ時間0220が足し合わされて、フリップフロップ0200からフリップフロップ0204のパスの遅延時間として、タイミングレポート0100(図1)が生成される。また、サイクルタイム0209に対し、上記パスの遅延時間の余裕度として、スラック0221が計算される。スラックの0221値が、正の値であればタイミングが間に合っている状態を表し、負の値であればタイミングが間に合っていない状態を表す。
【0025】
この場合のサイクルタイム0209に対するIRドロップ量0210は、図2Bのようになる。
【0026】
IRドロップ量0210は、クロック同期のフリップフロップにクロック信号CKが入った瞬間に、すべてのフリップフロップが動作するために、クロック信号CKが入力された時に、最も大きく変動し、時間の経過と共に理想電源に回復する。図2Bの場合、IRドロップが発生し、電源が理想状態になるまでの遷移時間0211中に動作するのは、フリップフロップ0200(遅延時間0212)、配線0205(遅延時間0216)、およびセル0201(遅延時間0213)である。
【0027】
図1に戻って、次に、スラック分類手順S0101では、第一のタイミング検証手順S0100で出力されたタイミングレポート0100から、必要な情報だけを取得し、スラックリスト0101として出力する。図3に、スラックリスト0101の内容例を示す。図3における用語の意味は以下の通りである。
【0028】
・Start Point:始点のフリップフロップ名と端子名
・End Point:終点のフリップフロップ名と端子名
・Through Point:途中点のフリップフロップ名と端子名
・Value:パスのスラック
・Start FF type:始点のフリップフロップの駆動能力
・Start FF delay:始点のフリップフロップの遅延時間
・cellx type:パスを構成するセルの駆動能力(xは各セル毎に付された固有の自然数)
・cellx delay:パスを構成するセルの遅延時間
・wirex delay:パスを構成する配線遅延時間(xは各配線毎につけられた固有の自然数)
・End FF setup:終点のフリップフロップのセットアップ時間
次に、FF駆動能力変更手順S0102では、パスを駆動するフリップフロップ0200(図2A)を駆動能力の低い(すなわち、遅延時間の大きい)フリップフロップに置き換えて、ネットリストを変更し、ネットリスト修正ファイル0102として出力する。フリップフロップの置き換えの手順において、具体的には、図4に示すように、図2Aに示す遅延時間0212のフリップフロップ0200に対し、遅延時間0212よりも大きい遅延時間0401(図4B)を有するフリップフロップ0400に置き換える。この時、フリップフロップ0400の遅延時間0401と、フリップフロップ0200の遅延時間0212との間に、以下の式(1)で示す関係がある。
【0029】
遅延時間0401>遅延時間0212 …(1)
このフリップフロップの置き換えによって遅延時間が増大した結果、図4Bに示すように、IRドロップが発生している状態(遷移時間0211の間)で、動作するのは、フリップフロップ0400のみとなり、それ以降のセルは理想電源での動作となる。
【0030】
次に、レイアウト修正手順S0103では、ネットリスト修正ファイル0102に従って、レイアウトを修正し、レイアウト0103として出力する。この修正において、駆動能力の低いフリップフロップに変更しているので、フリップフロップ自体の面積は必ず小さくなり、LSI全体での面積の増大はなく、また、配線位置の変更もほとんどなく、修正することが可能である。
【0031】
次に、遅延計算手順S0104では、修正されたレイアウト0103から抵抗、容量成分を抽出した後、IRドロップ考慮遅延ライブラリ0104と理想電源遅延ライブラリ0105を読み込んで、遅延計算を行ない、遅延情報0106を出力する。ここで、IRドロップ考慮遅延ライブラリ0104には、セル種別では、フリップフロップだけが記載されている。また、理想電源遅延ライブラリ0105には、フリップフロップ以外のすべてのセル種別の情報が記載されている。FF駆動能力変更手順S0102において、IRドロップが起こっている状態では、フリップフロップしか動作しないので、フリップフロップだけIRドロップの影響を考慮した遅延ライブラリを作成すれば良い。逆に、フリップフロップ以外のセルは、すべて理想電源状況下でしか動作しないので、理想電源で作成した遅延ライブラリで良い。
【0032】
最後に、第二のタイミング検証手順S0105において、フリップフロップの置き換えにより、新たなタイミングエラーが発生していないかを確認する。もし、第二のタイミング検証手順S0105で、タイミングエラーが発生した場合は、フリップフロップ以外のセルの遅延時間を調整することにより、タイミング収束を図る。
【0033】
以上、説明したように、フリップフロップの遅延時間を増大させ、IRドロップが発生している時間帯にはフリップフロップだけが動作するようにする。IRドロップが発生している時にフリップフロップ以外のセルが動作するような場合(図2Aおよび図2Bのような場合)には、すべてのセルについて、IRドロップを考慮に入れた遅延ライブラリを作成し、タイミング検証をする必要がある。しかし、本実施形態によれば、フリップフロップだけに限定して、予め、IRドロップを考慮に入れた遅延ライブラリを作成しておけばよくなり、ライブラリ作成時間が削減できる。
【0034】
また、IRドロップ考慮遅延ライブラリ0104を使うことで、フリップフロップの遅延計算精度が向上し、かつ、その他のセルは理想電源遅延ライブラリ0105を用いて高精度に遅延計算をすることができるので、より、実際の製品に近いタイミングシミュレーションを行うことが可能となる。
【0035】
さらに、本実施形態のフリップフロップ置き換えにおいて、フリップフロップの単体の面積は、駆動能力が低いほど面積が小さくなるので、素子配置に必要な有効面積が削減されることはない。また、すべてのフリップフロップの遅延時間を増大させているために、ホールドエラーが発生しにくくなるという利点もある。
【0036】
(第2の実施形態)
図5は、本発明の第2の実施形態に係る半導体集積回路の設計方法における処理手順を示すフローチャートである。なお、図5において、図1に示す第1の実施形態の構成と同じ部分については同一の符号を付す。
【0037】
本実施形態が第1の実施形態と異なるのは、スラック分類手順S0101、FF駆動能力変更手順S0102、スラックリスト0101、ネットリスト修正ファイル0102、およびIRドロップ考慮遅延ライブラリ0104を、それぞれ、スラック分類手順S0500、クロック信号の立ち上がりで動作するフリップフロップを、その立ち下がりで動作するフリップフロップに変更するFF正負変更手順S0501、スラックリスト0500、ネットリスト修正ファイル0501、およびIRドロップ考慮遅延ライブラリS0502に置き換えた点と、理想電源遅延ライブラリ0105を削除した点にある。
【0038】
図5において、スラック分類手順S0500において、第一のタイミング検証手順S0100で生成されたタイミングレポート0100から、情報を抽出し、スラックリスト0500として出力する。ここで、図6Cに、スラックリスト0500の内容例を示す。図6Cにおける用語の意味は以下の通りである。
【0039】
・Start Point:パスの始点となるフリップフロップとその端子名
・End Point:パスの終点となるフリップフロップとその端子名
・Through Point:パスを一意に特定するための経路途中のセル名とその端子名
・Value:パスのスラック
図6Aに示すように、フリップフロップ0600からフリップフロップ0601へのパスと、フリップフロップ0601からフリップフロップ0602のパスがある場合について説明する。図6Aにおいて、フリップフロップ0600、0601、0602はすべて、クロック信号(CK)0603(図6B)の立ち上がりで動作するフリップフロップであり、以降、正フリップフロップ(FF(posedge))と呼ぶ。このような構成の場合、クロック信号CKに対するIRドロップ量は、図6Bのようになる。すべて、正フリップフロップで構成される回路の場合、クロック信号CKの立ち上がり時に、すべてのフリップフロップが動作することにより、IRドロップ量が最大となる。
【0040】
次に、FF正負変更手順S0501において、スラックリスト0500より、スラックが、クロックサイクルの1/2よりも大きいパスを抽出し、そのパスの終点にあるフリップフロップを、図7Aに示すように、クロック信号CKの立ち下がりで動作するフリップフロップ0700(以降、このような動作をするフリップフロップを負フリップフロップ(FF(negedge))と呼ぶ)に置き換え、ネットリスト修正ファイル0501として出力する。すべてのパスに対し、FF正負変更手順S501を実行し、正フリップフロップから、負フリップフロップに置き換えられるものはすべて置き換える。ただし、正フリップフロップと、負フリップフロップの数が同数になった時点で、置き換え処理は停止する。
【0041】
次に、レイアウト修正手順S0103では、ネットリスト修正ファイル0501に従って、レイアウトを修正し、レイアウト0103として出力する。
【0042】
次に、遅延計算手順S0104では、修正されたレイアウトから抵抗、容量成分を抽出した後、IRドロップ考慮遅延ライブラリ0501を読み込んで、遅延計算を行ない、遅延情報0106を出力する。IRドロップ考慮遅延ライブラリ0501には、フリップフロップを含むすべてのセルの遅延計算に必要な情報が記載されている。FF正負変更手順S0501において、クロック信号CKの立ち上がりで動作するフリップフロップが、その立ち下がりで動作するフリップフロップに置き換えられたことにより、図7Bに示すように、IRドロップ量0701がクロック信号CKに対して均一化される(比較のため、置き換え前のIRドロップ量0604を破線で示す)。この場合、フリップフロップを含むすべてのセルが、同程度のIRドロップ量が発生している状態で動作することになる。よって、予め、すべてのセルに対し、同一のIRドロップ量が発生したという仮定で作成したものが、IRドロップ考慮遅延ライブラリ0501である。
【0043】
最後に、第二のタイミング検証手順S0105において、フリップフロップの置き換えにより、新たなタイミングエラーが発生していないかを確認する。この時、フリップフロップ0600からフリップフロップ0700へのパスは、サイクルタイムの半分でタイミングチェックが実行され、フリップフロップ0700からフリップフロップ0602へのパスは、サイクルタイムの1.5倍でタイミングチェックが実施される。具体的な数字を挙げて説明すると、サイクルタイムが10nsであった場合、前者のパスは5nsでチェックされ、後者のパスは15nsでチェックされる。二つのパスを合計すると、フリップフロップの置き換え前後で変化せず、20nsとなる。
【0044】
以上のように、本実施形態によれば、正フリップフロップを負フリップフロップに変更することで、図7Bに示したように、クロック信号の立ち下がり時にも、IRドロップが発生し、正フリップフロップと負フリップフロップの数を同数に近付けることで、クロック信号の立ち上がりから立ち下がりまで、IRドロップ量の時間変化が少なくなる。この結果、タイミング検証用の遅延時間を計算する際に用いる遅延ライブラリの生成時に、すべてのセルに対して、ある一定のIRドロップ量を考慮しておけば、精度良く遅延計算することが可能となり、より実動作に近い動作をシミュレーションできる。
【0045】
また、図6Bに示すようなIRドロップ量がある場合には、それぞれのセル毎にIRドロップ量が異なるので、すべてのセル毎に異なるIRドロップ量を計算し、それを使って遅延計算を行なう必要があったが、本実施形態によれば、IRドロップ量の時間変化が少なくなるので、任意の一つのセルを選びだしIRドロップ量を計算するだけで、そのIRドロップ量をすべてのセルに適用することができるので、処理時間の削減につながる。
【0046】
(第3の実施形態)
図8は、本発明の第3の実施形態に係る半導体集積回路の設計方法における処理手順を示すフローチャートである。なお、図8において、図1に示す第1の実施形態の構成と同じ部分については同一の符号を付す。
【0047】
本実施形態が第1の実施形態と異なるのは、スラック分類手順S0101、FF駆動能力変更手順S0102、スラックリスト0101、およびネットリスト修正ファイル0102、それぞれ、スラック分類手順S0800、フリップフロップをバッファに置き換えるFF置き換え手順S0801、スラックリスト0800、ネットリスト修正ファイル0801、およびIRドロップ考慮遅延ライブラリS0502に置き換えた点と、IRドロップ考慮遅延ライブラリ0104および理想電源遅延ライブラリ0105を削除して、フリップフロップをバッファに置き換えたことによる追加タイミング制約0802を追加した点にある。
【0048】
図8において、スラック分類手順S0800において、第一のタイミング検証手順S0100で生成されたタイミングレポート0100から、情報を抽出し、スラックリスト0800として出力する。ここで、図9Cに、スラックリスト0800の内容例を示す。図9Cにおける用語の意味は以下の通りである。
【0049】
・Start Point:パスの始点となるフリップフロップとその端子名
・End Point:パスの終点となるフリップフロップとその端子名
・Through Point:パスを一意に特定するための経路途中のセル名とその端子名
・Value:パスのスラック
図9Aに示すように、フリップフロップ0900からフリップフロップ0901へのパスと、フリップフロップ0901からフリップフロップ0902へのパスがある場合について説明する。フリップフロップ0900、0901、0902はすべて、クロック信号(CK)0903(図9B)の立ち上がりで動作するフリップフロップであるために、図9Bに示すように、クロック信号CKの立ち上がり時に、IRドロップ量904が最大となる。
【0050】
次に、FF置き換え手順S801において、スラックリスト0800より、スラックがゼロに近い順番にパスを抽出し、そのパスの終点にあるフリップフロップ0901を、図10Aに示すバッファ1000に置き換える。その時、バッファ1000の遅延時間は、以下の式(2)で計算されるものとする。
【0051】
バッファ1000の遅延時間
=(フリップフロップ0901のセットアップ時間)
+(スラック)+(フリップフロップ0901の遅延時間) …(2)
スラックがゼロに近いものから順番に置き換えを行っていくが、スラックが大きくなると、式(2)から、バッファ1000の遅延時間が大きくなっていくので、すべてのフリップフロップを置き換えることは不可能である。よって、予め置き換えるバッファ1000の遅延時間の最大値を計測しておき、式(2)を満たすことができるスラックまで置き換えるようにする。
【0052】
FF置き換え手順S801において、フリップフロップがなくなったために、通常のタイミング検証ができなくなる。よって、フリップフロップ0900からフリップフロップ0902へのパスに対し、クロック信号CKの2サイクル以内に、フリップフロップ0900からフリップフロップ0902にデータが伝播するかをチェックするタイミング制約を追加し、追加タイミング制約0802として出力する。
【0053】
次に、レイアウト修正手順S0103では、ネットリスト修正ファイル0801に従って、レイアウトを修正し、レイアウト0103として出力する。
【0054】
次に、遅延計算手順S0104では、修正されたレイアウトから抵抗、容量成分を抽出した後、遅延計算を行ない、遅延情報0106を出力する。
【0055】
最後に、第二のタイミング検証手順S0105において、フリップフロップの置き換えにより、新たなタイミングエラーが発生していないかを確認する。
【0056】
以上のように、本実施形態によれば、スラックがゼロに近いフリップフロップから順番に、バッファに置き換えることにより、クロック信号に同期して動作するフリップフロップの数が少なくなり、IRドロップ量が低減する。IRドロップ量が低減すると、理想電源遅延ライブラリを使った遅延計算結果でも、実動作との誤差が少なくなり、より実動作をシミュレーションできるようになる。
【0057】
また、フリップフロップが削減されたことにより、そのフリップフロップに接続されていたクロック配線がなくなり、面積を削減することができる。さらに、フリップフロップよりもバッファの単体の面積のほうが、その構成上トランジスタ数が少ないために、小さくなり、回路全体の面積削減が可能となる。
【0058】
【発明の効果】
以上説明したように、本発明によれば、素子配置に必要な有効面積や電源パッド以外に使用できるパッド数を減らすこと無く、また処理時間を増大させること無く、IRドロップがタイミングに与える影響またはIRドロップ量自体を低減し、実動作に近いタイミングシミュレーションを可能にし、IRドロップに対して強い耐性を有する半導体集積回路の設計方法を提供することが可能になる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態に係る半導体集積回路の設計方法における処理手順を示すフローチャート
【図2A】 図1に示すFF駆動能力変更手順S0102を実行する前の回路構成を示す回路図
【図2B】 図2Aに示す回路構成における、サイクルタイムに対するIRドロップ量および各要素のパス遅延時間を示す図
【図3】 図1に示すスラックリスト0101の内容例を示す図
【図4A】 図1に示すFF駆動能力変更手順S0102を実行した後の回路構成を示す回路図
【図4B】 図4Aに示す回路構成における、サイクルタイムに対するIRドロップ量および各要素のパス遅延時間を示す図
【図5】 本発明の第2の実施形態に係る半導体集積回路の設計方法における処理手順を示すフローチャート
【図6A】 図5に示すFF正負変更手順S0501を実行する前の回路構成を示す回路図
【図6B】 図6Aに示す回路構成における、クロック信号CKに対するIRドロップ量を示す図
【図6C】 図5に示すスラックリスト0500の内容例を示す図
【図7A】 図5に示すFF正負変更手順S0501を実行した後の回路構成を示す回路図
【図7B】 図7Aに示す回路構成における、クロック信号CKに対するIRドロップ量を示す図
【図8】 本発明の第3の実施形態に係る半導体集積回路の設計方法における処理手順を示すフローチャート
【図9A】 図8に示すFF置き換え手順S0801を実行する前の回路構成を示す回路図
【図9B】 図9Aに示す回路構成における、クロック信号CKに対するIRドロップ量を示す図
【図9C】 図8に示すスラックリスト0800の内容例を示す図
【図10A】 図8に示すFF置き換え手順S0801を実行した後の回路構成を示す回路図
【図10B】 図10Aに示す回路構成における、クロック信号CKに対するIRドロップ量を示す図
【図11A】 従来例におけるIRドロップ量の分布を模式的に示す等電圧図
【図11B】 従来例におけるクロック信号CKに対するIRドロップ量を示す図
【図12A】 従来の電源配線方法の一例を示す平面図
【図12B】 従来の電源配線方法の他の例を示す平面図
【図13】 従来のIRドロップを考慮した設計方法における処理手順を示すフローチャート
【図14】 従来のIRドロップを考慮した他の設計方法における処理手順を示すフローチャート
【符号の説明】
S0100 第一のタイミング検証手順
S0101、S0500、S0800 スラック分類手順
S0102 FF駆動能力変更手順
S0103 レイアウト修正手順
S0104 遅延計算手順
S0105 第二のタイミング検証手順
S0501 FF正負変更手順
S0801 FF置き換え手順
0100 タイミングレポート
0101、0500、0800 スラックリスト
0102、0501、0801 ネットリスト修正ファイル
0103 レイアウト
0104、0501 IRドロップ考慮遅延ライブラリ
0105 理想電源遅延ライブラリ
0106 遅延情報
0802 追加タイミング制約

Claims (2)

  1. 基本素子と、前記基本素子の間を接続する配線とから構成される半導体集積回路の設計方法であって、
    前記基本素子と前記配線の遅延時間を足し合わせて、フリップフロップ間のタイミングを検証する第一のタイミング検証手順と、
    前記第一のタイミング検証手順により出力されたタイミングレポートから、パスの始点および終点のフリップフロップと、前記パスを構成するセルの遅延時間およびセットアップ時間と、サイクルタイムに対するスラックとを抽出するスラック分類手順と、
    任意のフリップフロップを、電源電圧が電源配線の抵抗成分により電圧降下している状態から理想電源の状態に遷移する時間よりも大きい遅延時間を有するフリップフロップに置き換えるフリップフロップ駆動能力変更手順と、
    前記置き換えにより変更されたネットリストに基づいてレイアウトを修正するレイアウト修正手順と、
    前記レイアウト修正後のフリップフロップ間のタイミングについて、電圧降下を考慮に入れたフリップフロップのみの遅延ライブラリ、および理想電源の状態で作成された遅延ライブラリから遅延計算を行なう遅延計算手順と、
    前記遅延計算手順の出力である遅延情報を用いてタイミング検証を行なう第二のタイミング検証手順を備えたことを特徴とする半導体集積回路の設計方法。
  2. 基本素子と、前記基本素子の間を接続する配線とから構成される半導体集積回路の設計方法であって、
    前記基本素子と前記配線の遅延時間を足し合わせて、フリップフロップ間のタイミングを検証する第一のタイミング検証手順と、
    前記第一のタイミング検証手順により出力されたタイミングレポートから、パスの始点および終点のフリップフロップと、前記パスのサイクルタイムに対するスラックとを抽出するスラック分類手順と、
    前記スラックが前記サイクルタイムの1/2よりも大きいパスの終端における、クロック信号の立ち上がりで動作するフリップフロップを、クロック信号の立ち下がりで動作するフリップフロップに置き換え、電源配線の抵抗成分による電源電圧の電圧降下量を均一化するフリップフロップ正負変更手順と、
    前記置き換えにより変更されたネットリストに基づいてレイアウトを修正するレイアウト修正手順と、
    前記レイアウト修正後のフリップフロップ間のタイミングについて、前記均一化された電圧降下量に対応した遅延ライブラリから遅延計算を行なう遅延計算手順と、
    前記遅延計算手順の出力である遅延情報を用いてタイミング検証を行なう第二のタイミング検証手順を備えたことを特徴とする半導体集積回路の設計方法。
JP2002264627A 2002-09-10 2002-09-10 半導体集積回路の設計方法 Expired - Fee Related JP4108418B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002264627A JP4108418B2 (ja) 2002-09-10 2002-09-10 半導体集積回路の設計方法
TW092113797A TW200404233A (en) 2002-09-10 2003-05-22 A method for designing a semiconductor integrated circuit
US10/601,287 US6988254B2 (en) 2002-09-10 2003-06-20 Method for designing semiconductor integrated circuit
KR10-2003-0040639A KR100517537B1 (ko) 2002-09-10 2003-06-23 반도체 집적회로의 설계방법
CNB031584098A CN1271705C (zh) 2002-09-10 2003-09-09 半导体集成电路的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002264627A JP4108418B2 (ja) 2002-09-10 2002-09-10 半導体集積回路の設計方法

Publications (2)

Publication Number Publication Date
JP2004102725A JP2004102725A (ja) 2004-04-02
JP4108418B2 true JP4108418B2 (ja) 2008-06-25

Family

ID=31986536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002264627A Expired - Fee Related JP4108418B2 (ja) 2002-09-10 2002-09-10 半導体集積回路の設計方法

Country Status (5)

Country Link
US (1) US6988254B2 (ja)
JP (1) JP4108418B2 (ja)
KR (1) KR100517537B1 (ja)
CN (1) CN1271705C (ja)
TW (1) TW200404233A (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038233A (ja) * 2003-07-16 2005-02-10 Matsushita Electric Ind Co Ltd 遅延計算方法、タイミング解析方法、計算対象ネットワークの近似方法および遅延制御方法
JP2005149313A (ja) * 2003-11-18 2005-06-09 Toshiba Corp 半導体集積回路の設計方法および半導体集積回路
TWI316787B (en) * 2005-04-13 2009-11-01 Via Tech Inc Method for optimizing critical path timing in a logic synthesis flow and data processing system
US7418689B2 (en) * 2005-04-27 2008-08-26 International Business Machines Corporation Method of generating wiring routes with matching delay in the presence of process variation
US7956594B2 (en) * 2005-07-05 2011-06-07 Freescale Semiconductor, Inc. Device and method for compensating for voltage drops
JP4558612B2 (ja) * 2005-09-02 2010-10-06 富士通セミコンダクター株式会社 半導体集積回路のレイアウト設計方法
US8065646B2 (en) * 2005-09-07 2011-11-22 Freescale Semiconductor, Inc. Method and a computer readable medium for performing static timing analysis of a design of an integrated circuit
WO2007057725A1 (en) 2005-11-15 2007-05-24 Freescale Semiconductor, Inc. Device and method for compensating for voltage drops
US20080005709A1 (en) * 2006-06-30 2008-01-03 International Business Machines Corporation Verification of logic circuits using cycle based delay models
JP4769687B2 (ja) * 2006-10-30 2011-09-07 富士通セミコンダクター株式会社 タイミング検証方法、タイミング検証装置及びタイミング検証プログラム
US7546560B2 (en) * 2006-12-06 2009-06-09 Lsi Corporation Optimization of flip flop initialization structures with respect to design size and design closure effort from RTL to netlist
US8185369B2 (en) * 2007-01-08 2012-05-22 Infineon Technologies Ag Method and apparatus for characterizing properties of electronic devices depending on device parameters
US7802216B2 (en) * 2007-09-13 2010-09-21 Rapid Bridge Llc Area and power saving standard cell methodology
US7913213B2 (en) * 2008-04-10 2011-03-22 Oracle America, Inc. Tool and method for automatically identifying minimum timing violation corrections in an integrated circuit design
JP2010066871A (ja) * 2008-09-09 2010-03-25 Nec Electronics Corp 半導体集積回路のレイアウト設計方法及びレイアウト設計装置
WO2010140216A1 (ja) * 2009-06-02 2010-12-09 富士通セミコンダクター株式会社 設計支援方法、設計支援装置、設計支援プログラム、および半導体集積回路
US8407540B2 (en) * 2009-07-06 2013-03-26 Arm Limited Low overhead circuit and method for predicting timing errors
US8713506B2 (en) * 2011-02-24 2014-04-29 Lsi Corporation System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same
US9141753B2 (en) 2011-12-01 2015-09-22 Freescale Semiconductor, Inc. Method for placing operational cells in a semiconductor device
US8826195B2 (en) * 2012-06-05 2014-09-02 Taiwan Semiconductor Manufacturing Co., Ltd. Layout modification method and system
CN103699710B (zh) * 2013-11-18 2016-05-18 北京时代民芯科技有限公司 一种基于脉冲激光的集成电路fib快速定位方法
JP6317603B2 (ja) * 2014-03-12 2018-04-25 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US11663388B1 (en) 2019-12-20 2023-05-30 Ansys, Inc. DVD simulation using microcircuits
US11531794B1 (en) 2019-12-20 2022-12-20 Ansys, Inc. Voltage drop analysis using local circuit representation
US10990731B1 (en) * 2019-12-20 2021-04-27 Ansys, Inc. Dynamic voltage drop analysis with improved coverage
CN112287569B (zh) * 2020-12-29 2021-03-23 芯华章科技股份有限公司 用于仿真逻辑系统设计的方法、电子设备及存储介质
CN116090399B (zh) * 2023-04-06 2023-06-16 中国人民解放军国防科技大学 基于数据输出端建立时间裕量的触发器转换方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6090150A (en) 1991-12-28 2000-07-18 Nec Corporation Method of designing clock wiring and apparatus for implementing the same
US6028993A (en) 1997-01-10 2000-02-22 Lucent Technologies Inc. Timed circuit simulation in hardware using FPGAs
JPH10327047A (ja) 1997-05-22 1998-12-08 Sony Corp 半導体集積回路およびその設計方法
JP3175653B2 (ja) 1997-07-18 2001-06-11 日本電気株式会社 クロストークエラー改善方式及び方法
US6099580A (en) * 1998-02-11 2000-08-08 Monterey Design Systems, Inc. Method for providing performance-driven logic optimization in an integrated circuit layout design
JP2002073714A (ja) 2000-09-05 2002-03-12 Pfu Ltd タイミング解析装置、ネットリスト変更方法および記録媒体
US6453443B1 (en) * 2001-04-16 2002-09-17 Taiwan Semiconductor Manufacturing Company Method for cell modeling and timing verification of chip designs with voltage drop
US7103863B2 (en) * 2001-06-08 2006-09-05 Magma Design Automation, Inc. Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system
CN100378734C (zh) * 2001-08-29 2008-04-02 英芬能技术公司 集成电路芯片设计
JP4104354B2 (ja) * 2002-03-13 2008-06-18 富士通株式会社 電源配線の電圧降下による影響を緩和した集積回路のレイアウト方法とそのプログラム
US6910194B2 (en) * 2002-07-19 2005-06-21 Agilent Technologies, Inc. Systems and methods for timing a linear data path element during signal-timing verification of an integrated circuit design
US6976235B2 (en) * 2002-09-18 2005-12-13 Sun Microsystems, Inc. Region-based voltage drop budgets for low-power design
US6971079B2 (en) * 2002-09-18 2005-11-29 Sun Microsystems, Inc. Accuracy of timing analysis using region-based voltage drop budgets

Also Published As

Publication number Publication date
CN1271705C (zh) 2006-08-23
KR100517537B1 (ko) 2005-09-28
CN1492497A (zh) 2004-04-28
JP2004102725A (ja) 2004-04-02
KR20040023488A (ko) 2004-03-18
US6988254B2 (en) 2006-01-17
TW200404233A (en) 2004-03-16
US20040049752A1 (en) 2004-03-11

Similar Documents

Publication Publication Date Title
JP4108418B2 (ja) 半導体集積回路の設計方法
JP4528659B2 (ja) クロックジッタ算出装置、クロックジッタ算出方法、およびクロックジッタ算出プログラム
US20100313176A1 (en) Delay library, delay library creation method, and delay calculation method
CN104981805B (zh) 自动时钟树布线规则生成
CN109086468B (zh) 用于设计集成电路芯片的方法、系统及电脑程序产品
CN112069763B (zh) 修正电路的方法
KR20090077692A (ko) 반도체 장치의 제조 방법, 반도체 장치의 제조 프로그램 및반도체 장치의 제조 시스템
US8037443B1 (en) System, method, and computer program product for optimizing an altered hardware design utilizing power reports
US8977998B1 (en) Timing analysis with end-of-life pessimism removal
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
JP2008140821A (ja) 半導体装置および半導体装置の設計方法
JP4351207B2 (ja) タイミング検証方法及びタイミング検証装置
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
US9449127B1 (en) System for verifying timing constraints of IC design
US10963610B1 (en) Analyzing clock jitter using delay calculation engine
Seo et al. Clock skew optimization for maximizing time margin by utilizing flexible flip-flop timing
US8453090B2 (en) System and method for optimizing logic timing
US8336013B2 (en) Determining an order for visiting circuit blocks in a circuit design for fixing design requirement violations
JP5262435B2 (ja) 回路設計装置及び回路設計方法
JP2008250583A (ja) レイアウト設計装置及びレイアウト方法
US10885248B1 (en) Method for modeling glitches during circuit simulation
Posser et al. Electromigration Inside Logic Cells
WO2010101029A1 (ja) 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム
US7509603B2 (en) Semiconductor integrated circuit and design method thereof
JP2010073728A (ja) 半導体集積回路レイアウト設計方法及び半導体集積回路レイアウト設計装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080213

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: 20080311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080402

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120411

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees