Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5401376B2 - 半導体集積回路装置の設計方法 - Google Patents
[go: Go Back, main page]

JP5401376B2 - 半導体集積回路装置の設計方法 - Google Patents

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

Info

Publication number
JP5401376B2
JP5401376B2 JP2010074219A JP2010074219A JP5401376B2 JP 5401376 B2 JP5401376 B2 JP 5401376B2 JP 2010074219 A JP2010074219 A JP 2010074219A JP 2010074219 A JP2010074219 A JP 2010074219A JP 5401376 B2 JP5401376 B2 JP 5401376B2
Authority
JP
Japan
Prior art keywords
library
integrated circuit
estimation
timing
semiconductor integrated
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
JP2010074219A
Other languages
English (en)
Other versions
JP2011209793A (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 JP2010074219A priority Critical patent/JP5401376B2/ja
Priority to US13/046,752 priority patent/US8392861B2/en
Publication of JP2011209793A publication Critical patent/JP2011209793A/ja
Application granted granted Critical
Publication of JP5401376B2 publication Critical patent/JP5401376B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、半導体集積回路装置の設計技術に関し、特に、半導体集積回路装置におけるレイアウト処理の最適化処理に有効な技術に関する。
半導体集積回路装置のレイアウト設計技術としては、たとえば、自動レイアウトを実行する自動レイアウト設計ツール、いわゆるEDA(Electronic Design Automation)ツールを用いることが広く知られている。
自動レイアウト設計ツールは、セルやマクロセルの接続情報(ネットリスト=論理回路設計結果)を入力すると、半導体チップ上のセルやマクロセルの位置を自動的に決めて配置し、その間を自動的に結ぶ処理などを行う。
この種のEDAツールを用いたセル配置の最適化技術としては、たとえば、図19に示すように、初期のセル配置ではタイミングを考慮せず、配置後のタイミング最適化結果より、配置位置を改善したり、フロアプラン変更を行うものや、図20に示すように、初期状態でタイミングを計算し、初期状態におけるクリティカルタイミングパスを近接配置するように配置を行い、最適化後、タイミングが収束しない場合にフロアプランの変更を行うものなどが知られている。
図19、および図20に示したセル配置の最適化技術において、与えられる回路は、たとえば、フリップフロップとパスとで構成された回路(図21の左側、および図22の左側にそれぞれ示す)である。ここで、パスとは組み合わせ回路からなっている信号経路を示す。また、フリップフロップと組み合わせ回路を構成する要素をセルと呼ぶ。
セル配置の最適化とは、最小配線長で配線可能となり、かつ、次のステップのタイミング最適化にてパスで接続されたフリップフロップ間に与えられた、タイミング制約を満たすことができるようにセル位置を決めることである。
ところが、上記のような半導体集積回路装置の設計技術では、次のような問題点があることが本発明者により見い出された。
図19に示したセル配置の最適化手法では、配線可能にすることのみを考慮するため、たとえば、図21の右側に示すように、次ステップにおけるタイミング最適化処理にてタイミング制約を満たすことができないタイミング違反が発生したり、面積が増大してしまい、配線不可能となってしまう恐れが生じる。
また、タイミング最適化後に配置改善しても、別のパスでのタイミングを考慮できないため、別の箇所にてタイミング違反が発生したり、面積増大が発生してしまうという問題がある。
さらに、図19に示したように、タイミング最適化後の配置改善においてもタイミング制約を満たさない場合は、セル配置可能箇所の形状(フロアプラン)変更を行う必要があり、設計期間の増大を招いてしまうことになる。
一方、図20に示したセル配置の最適化手法の場合には、図22に示すように、タイミング制約を満たすことが困難なパス(以下、クリティカルパスという)を予め求めておき、それらクリティカルパス中にあるセル(フリップフロップを含む)近接配置することで、次のステップのタイミング最適化にてタイミング制約を満たすことを試みるが、定めたクリティカルパスが最適化後にクリティカルパスとならず、異なったパスがクリティカルとなる場合がある。
このため、図22の右側に示すように、タイミング最適化が容易であるにも拘わらず、近接配置され配線混雑が発生したり、タイミング最適化前では、比較的、タイミング制約を容易に満たすとされたパスが、離れて配置され、タイミング最適化処理にて、タイミング制約を満たすことができなくなるという問題が発生する。この場合、図20に示すように、フロアプラン変更が必要となるために設計期間の増大などを招いてしまうことになる。
本発明の目的は、セルの配置処理において、タイミング最適化後のタイミング、および面積を見積もることにより、タイミング最適化後のセルの配置変更を大幅に低減し、半導体集積回路装置のレイアウト設計にかかる期間を大幅に短縮する技術を提供することにある。
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明は、電子システムを用いてセルの自動配置を行う半導体集積回路装置の設計方法であって、配置プログラムによるセルの配置処理中に、予め作成したタイミング、および面積を見積もるタイミング・面積見積もり用ライブラリを用いてタイミング最適化後のタイミング制約、および面積増加をそれぞれ見積もり、タイミング制約を満たしながら配線混雑が発生しないようにセルを配置するものである。
また、本発明は、前記タイミング・面積見積もり用ライブラリが、配置前のタイミングが異なるパスとなる長配線用見積もりライブラリ、多ファンアウト用見積もりライブラリ、および多段ロジック用見積もりライブラリからなるものである。
さらに、本発明は、前記長配線用見積もりライブラリが、セルの配線距離を変化させ、セルの駆動能力変更、またはバッファリングにより距離に応じた遅延値と、セルの面積とを見積もったライブラリからなるものである。
また、本発明は、前記多ファンアウト用見積もりライブラリが、ファンアウト数を変化させ、分割に必要なバッファ木の段数とバッファ数を見積もり、該バッファ木の段数から見積もった遅延値、および該バッファ数から見積もった面積を見積もったライブラリからなるものである。
さらに、本願のその他の発明の概要を簡単に示す。
本発明は、前記多段ロジック用見積もりライブラリが、配線の負荷を略ゼロとしてタイミングクリティカルなパス群を抽出し、使用周波数より要求周波数を厳しくして最適化した際の遅延値、および面積を見積もったライブラリからなるものである。
また、本発明は、前記長配線用見積もりライブラリが、配線距離に対して速度の逆数が最小となるポイントにバッファリングされることを想定して遅延値、および面積を見積もったライブラリからなるものである。
さらに、本発明は、前記多ファンアウト用見積もりライブラリが、配線距離に対して速度の逆数が最小となるポイントにバッファリングされることを想定して遅延値、および面積を見積もったライブラリからなるものである。
また、本発明は、前記配線距離に対して速度の逆数が最小となるポイントを、2以上の異なるバッファの駆動能力毎に求め、前記長配線用見積もりライブラリは、2以上の異なるバッファの駆動能力毎に求められた速度の逆数が最小となるポイントに基づいて、遅延値、および面積をそれぞれ見積もるものである。
さらに、本発明は、前記配線距離に対して速度の逆数が最小となるポイントを、2以上の異なるバッファの駆動能力毎に求め、前記多ファンアウト用見積もりライブラリは、2以上の異なるバッファの駆動能力毎に求められた速度の逆数が最小となるポイントに基づいて、遅延値、および面積をそれぞれ見積もるものである。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
(1)タイミング最適化後におけるセルの大幅な配置変更を不要とすることができるので、半導体集積回路装置におけるレイアウト設計を効率よく行うことができる。
(2)上記(1)により、半導体集積回路装置の設計期間を短縮することができる。
本発明の一実施の形態によるセルの初期配置処理の一例を示した説明図である。 図1のセルの初期配置処理に用いられるタイミング・面積見積もり用ライブラリ作成時におけるバッファリング箇所の一例を示す説明図である。 図2のタイミング・面積見積もり用ライブラリを構成する長配線用見積もりライブラリの作成の一例を示す説明図である。 図3に示した長配線用見積もりライブラリの作成における詳細な説明図である。 図2のタイミング・面積見積もり用ライブラリを構成する多ファンアウト用見積もりライブラリの作成の一例を示す説明図である。 図5に示した多ファンアウト用見積もりライブラリの作成における詳細な説明図である。 図2のタイミング・面積見積もり用ライブラリを構成する多段ロジック用見積もりライブラリの作成の一例を示す説明図である。 図7に示した多段ロジック用見積もりライブラリ作成の一例を示す詳細な説明図である。 図7に示した多段ロジック用見積もりライブラリ作成の他の例を示す詳細な説明図である。 図3の長配線用見積もりライブラリをセルの配置プログラムに組み込み、長配線のタイミングと面積を見積もりながらセルの配置を行う処理の一例を示す説明図である。 図4の多ファンアウト用見積もりライブラリをセルの配置プログラムに組み込み、多ファンアウトのタイミングと面積を見積もりながらセルの配置処理を行う際の一例を示した説明図である。 一般的な多段論理におけるタイミング違反の一例を示す説明図である。 図7の多段ロジック用見積もりライブラリをセルの配置プログラムに組み込み、論理段数が多いパスについてタイミングと面積を見積もりながら配置処理を行う一例を示した説明図である。 低駆動能力セルと高駆動能力セルとによる速度の逆数の最小点の違いの一例を示す説明図である。 高駆動能力セルと低駆動能力セルとによる見積もり面積と見積もり遅延値の求め方の一例を示す説明図である。 本発明者が検討した階層レイアウト処理の一例を示す説明図である。 本発明の一実施の形態によるブロックのタイミング見積もりを階層レイアウト処理に用いた際のレイアウト処理の一例を示す説明図である。 本発明者が検討したホールドタイミング最適化処理の一例を示す説明図である。 本発明者が検討したセル配置処理の一例を示す説明図である。 本発明者が検討したセル配置処理の他の例を示す説明図である。 図19のセル配置処理における問題点を示す説明図である。 図20のセル配置処理における問題点を示す説明図である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
本実施の形態において、半導体集積回路装置におけるセルの配置最適化方法は、パーソナルコンピュータやワークステーションなどに例示されるコンピュータシステムからなる電子システムによって処理される。
電子システムは、たとえば、入力部、中央制御装置、出力部、ならびにデータベースなどから構成されている。入力部は、種々のデータを入力することができるキーボードなどであり、該入力部には、中央制御装置が接続されている。
出力部は、たとえば、ディスプレイやプリンタなどからなり、入力部から入力したデータや中央制御装置が演算した結果などを表示したり、プリント出力などを行う。データベースは、半導体集積回路装置におけるレイアウト設計に用いられる各種のレイアウト情報などのデータが格納されている。
図1は、セルの初期配置処理の一例を示した説明図である。
図示するように、ネットリスト1、タイミング制約2、フロアプラン3、レイアウトライブラリ4、およびタイミングライブラリ5などを用いた初期配置処理中に、タイミング最適化後のタイミング、面積を見積もるためのタイミング・面積見積もり用ライブラリを予め作成しておき、タイミング制約2を満たすことができるかを見積もる。
この場合、タイミング制約2を満たすことが困難なパスにあるセルは、近接配置し、逆に容易なパスは離して配置する。その際、面積増加も見積もり、配線混雑が発生しないようにする。パスとは、フリップフロップとその間の組み合わせ論理セルの接続を示すものであり、セル間の接続を信号という。
ここで、セルとは、バッファ、インバータ、フリップフロップ、AND(論理積回路)、OR(論理和回路)、NAND(否定論理積回路)、NOR(否定論理和回路)など、回路機能を構成する基本単位の要素のことである。通常、同じ論理機能を持つセルであっても出力負荷の駆動能力を変えた複数のバリエーションを備える。
また、ネットリスト1は、半導体集積回路装置のセルの接続を記述したものであり、回路図、および結線情報に相当する。フロアプラン3は、レイアウトでのセル配置可能領域を定義したファイルである。セル配置ができない領域としては、たとえば、I/O(Input/Output)領域、メモリ、電源回路領域などがある。
ネットリスト1上での塊(論理機能上の結びつきが強く1つのブロックとして判別したほうがよいものなど)はフロアプラン3上でパーティショニング(領域指定)を行い配置すべき大まかなエリア指定を行うこともある。
タイミング制約2は、フリップフロップ間のデータ転送の遅延時間を決めた制約である。通常、フリップフロップに供給するクロック信号の速度(周波数)により遅延時間を設定する。複数の異なる速度(周波数)の異なるクロック信号をフリップフロップ間に定義したり、設計要求として特定のフリップフロップ間の遅延時間を無視するように設定したりするため、フリップフロップ間毎に設定される遅延時間はフリップフロップ間ごとに異なる。
タイミングライブラリ5は、各セルについて、ある出力負荷(RC)により決まるタイミングを記述したものである。たとえば、「10pf、20pf、30pf、40pf」の出力負荷に対し、そのセルの遅延時間を計算し、「10pf -> 5ps、20pf -> 8ps、30pf -> 10ps、40pf -> 14ps」というようにルックアップテーブル方式で遅延時間を記述する。ルックアップテーブル方式で定義された遅延時間の精度を保証するため、最大ファンアウト数も定義する。最大ファンアウト数とは、そのセルの出力に並列接続可能な次段セルの数を示す。
レイアウトライブラリ4は、各セルについて、セルの枠(縦横寸法)、セル面積、セル内パタンを記述したものであり、セル内パタンとしては、信号を接続する端子用パタンと、セル上に配線を通してはいけない部分を設定するための配線障害物用パタンがある。
また、タイミング・面積見積もり用ライブラリは、図1の右側に示すように、配置前のタイミングが異なる条件のパスとなる、長配線用見積もりライブラリ6、多ファンアウト用見積もりライブラリ7、および多段ロジック用見積もりライブラリ8からなる。
図2は、タイミング・面積見積もり用ライブラリ作成時におけるバッファリング(バッファ挿入)箇所を定めるための一例を示す説明図である。
あるセル間の信号経路にバッファを挿入しバッファリングすると、図2の右側に示すように、セル遅延とバッファが駆動する配線の遅延が発生する。その遅延値はバッファ遅延とバッファが駆動する配線遅延の合計となる。遅延値÷距離(配線の場合は距離に比例して抵抗Rと容量Cが増加するので抵抗Rまたは容量Cと置き換えて考えることができる。ファンアウトの場合は容量Cが増加するので容量Cで考える。)で求められる速度の逆数は、図2の左側のグラフに示すように、ある距離のポイントで最小となる。
これはバッファから次段セルまでの距離が近い場合は分母となる距離が小さくなる一方、バッファ遅延量はほぼ一定なので速度の逆数は増加し、距離が遠くなると分子の遅延量のうち配線遅延が増えるのでこの場合も速度の逆数が増加するためである。この速度の逆数が最小になるポイントは言い換えれば速度が最大となるポイントとなる。
このポイントがバッファリングに最良の地点である。バッファリング最適点は計算上では1点であるが、図2左側のグラフからわかる通り、最小となるポイント近傍では実用上はほぼ最小値と同等の効果が得られる領域が存在する。
したがってバッファリングを行うポイントは速度の逆数が最小になるポイントを中心に前後に幅を持たせてポイントを適宜選択することが可能である。例えばバッファからセルまでの配線長を長めにして配線距離を稼ぎたい場合は速度の逆数が最小になるポイントから1%〜50%長いポイントを採用する手法も可能である。
逆に配線の充放電電力を少なくし低消費電力向きのライブラリとしたい場合などは速度の逆数が最小になるポイントから1%〜50%短い距離を選択することも可能である。長配線用見積もりライブラリ6、ならびに多ファンアウト用見積もりライブラリ7の作成には、このバッファリング手法を使って遅延と面積を見積もる。
長配線用見積もりライブラリ6はいくつかの想定した配線距離に対し、セルの駆動能力変更または上記の最適な距離でのバッファリングを行った場合の遅延時間を算出してルックアップテーブルを作成する。
多ファンアウト用見積もりライブラリ7はファンアウト数に相当する容量Cを用いてセルの駆動能力変更または上記の最適なバッファサイズでのバッファリングを行った場合の遅延時間を算出してルックアップテーブルを作成する。
図3は、長配線用見積もりライブラリ6の作成の一例を示す説明図である。
長配線用見積もりライブラリ6は、図示するように、ネットリスト1から使用セル種の情報、タイミング制約2から使用する周波数の情報、フロアプラン3から想定(配線)距離情報、レイアウトライブラリ4からセル面積情報、およびタイミングライブラリ5のタイミング情報などから作成する。
まず、距離(抵抗Rまたは容量Cの値)を小から大へ一定値毎に変化させ、セルの駆動能力変更、あるいは、バッファリングにより距離に応じた遅延値と総面積を見積もる。また、セルの駆動能力変更による遅延値見積もりは、使用するセル種のみについて実施する。
見積もった遅延と面積は、一定値毎に変化させた距離に対して求め、たとえば、ルックアップテーブル形式などで保存する。
距離を変化させるときは、フロアプラン3から配線が取りうる距離の最小値と最大値を求め、その範囲でのみ変化させる。また、見積もった遅延値が与えられたタイミング制約を越えた場合も、見積もり値を求める処理を終了する。
駆動能力変更による遅延値見積もりは、使用セル種のみについて実施することで処理時間を短縮する。そして、図3の右側に示すように、距離(RまたはC値)と見積もった遅延値、および面積をプロットすることにより、長配線用見積もりライブラリ6とする。
図4は、図3に示した長配線用見積もりライブラリ6の作成における詳細な説明図である。
まず、長配線用見積もりライブラリ6を作成する際には、図4の上方に示すように、駆動能力変更することによって最小となる遅延値をタイミングライブラリ5から見積もる。続いて、図4の下方に示すように、バッファリング(バッファ挿入)により速度の逆数が最小となる距離に分割し、挿入されたバッファのセルの遅延と配線との遅延とからなる遅延値を見積もる。
そして、見積もった2つの遅延値のうち、遅延値が小さい方を選択し、長配線用見積もりライブラリ6の見積もり遅延値、および見積もり面積とする。このとき、バッファリングする距離は、図2に示す速度の逆数の最小地点(点線丸印で示す)とする。
図5は、多ファンアウト用見積もりライブラリ7の作成の一例を示す説明図である。
多ファンアウト用見積もりライブラリ7は、図5の左側に示すように、ネットリスト1から多ファンアウトネットの情報、タイミング制約2から使用する周波数の情報、フロアプラン3から想定(配線)距離情報、レイアウトライブラリ4からセル面積情報、およびタイミングライブラリ5のタイミング情報などを用いて作成する。
多ファンアウトは、回路の中で、タイミングライブラリ5にて決められた最大ファンアウト数を超えたファンアウト数の信号のことをいう。この場合、ファンアウト数を小から大に変化させ、分割に必要なバッファ木の段数とバッファ数を見積もる。バッファ木の段数から遅延値を、バッファ数から面積を見積もる。
与えられたネット中にある多ファンアウトの範囲のみについて作成する。そして、図5の右側に示すように、ファンアウト数と見積もった遅延値と面積をプロットすることで、多ファンアウト用見積もりライブラリ7とする。
多ファンアウトは、図6に示すように、駆動している1つのソースと、駆動されているリーフ群からなる。多ファンアウト用見積もりライブラリ作成時には、図2に示した速度の逆数が最小になるRまたはC値になるように、リーフをグループでまとめてバッファリングする。
さらに、グルーピングしたバッファ群を、速度の逆数が最小となるようにまとめてバッファリングする。これをソースに到達するまで繰り返す。このように、バッファリングした後、ソースからリーフまでの遅延を見積もり遅延、バッファの総面積を見積もり面積とする。
図7は、多段ロジック用見積もりライブラリ8の作成の一例を示す説明図である。
多段ロジック用見積もりライブラリ8は、図7の左側に示すように、ネットリスト1から多段ロジックの情報、タイミング制約2から使用する周波数の情報、フロアプラン3から想定(配線)距離情報、レイアウトライブラリ4からセル面積情報、およびタイミングライブラリ5のタイミング情報などから作成する。
この場合、配線の負荷をゼロ(あるいは非常に小さい値)として、信号が通過するゲート数が多くタイミングクリティカルなパス(多段ロジック部分)群を抽出し、使用周波数(タイミング制約におけるフリップフロップ間の遅延値)より要求周波数を厳しくして最適化した場合の遅延値と面積を見積もる。厳しくした要求周波数に対して遅延時間が目標に到達しなくなった時点で、そのパスの最適化を終了する。
そして、初期段数と要求周波数(見積もり遅延値)、面積を、図7の右側に示すように、プロットすることで多段ロジック用見積もりライブラリ8とする。また、多段ロジック用見積もりライブラリ8の作成においては、図8に示すように、抽出パス群に共通部分がなければ、最適化を並列実行する。図8において、’Z’は、要求周波数に対応した許容されるパスの遅延時間を示し、’Y’は、使用周波数に対応したパスの遅延時間を示す。
また、多段ロジック用見積もりライブラリ8は、回路全体に対して作成してもよいが、たとえば、図9に示すように、抽出パス群を論理モジュール毎にそれぞれ分けることができれば、該論理モジュール毎に多段ロジック用見積もりライブラリ8を作成するようにしてもよい。
それにより、より高精度な多段ロジック用見積もりライブラリ8を生成することができる。さらに、クリティカルパスが少なければ、抽出したクリティカルパス専用の見積もりライブラリを作成するようにしてもよい。
図10は、セルの配置プログラムに長配線用見積もりライブラリを組み込み、長配線のタイミングと面積を見積もりながら、セルの配置を行う処理の一例を示す説明図である。
図10の左側に示すように、接続混雑によって配線不可能な場合、配線可能とするために、セルを離して配置する必要がある。そこで、図10の右側に示すように、タイミング・面積見積もり用ライブラリの遅延見積もりと面積見積もりの値を用いて、タイミング違反が発生しない範囲で混雑を解消するようにセルを離して配置する。
この際、遅延見積もりと面積見積もりの値を用いて、次のステップでのタイミング最適化後にタイミング違反や全体の面積の増大が極力発生しないようにセルを移動させ、配線可能な配置結果を得る。
たとえば、クリティカルパスとなっているセルであっても、遅延見積もり値により、次ステップのタイミング最適化後にタイミング違反や面積増大などが発生しない場合には、フリップフロップを離して配置することが可能であり、クリティカルパスとなっていないセルであっても、遅延見積もり値により、次ステップのタイミング最適化後にタイミング違反などが発生する場合には、フリップフロップを近接配置する。
図11は、セルの配置プログラムに多ファンアウト用見積もりライブラリを組み込み、多ファンアウトのタイミングと面積を見積もりながら、セルの配置処理を行う際の一例を示した説明図である。
一般に、セルの配置処理では、図11の左側に示すように、最初に多ファンアウトの遅延を無視して配置処理を行っていたが、ここでは、ファンアウト数に応じて遅延と面積を見積もる。すなわち多ファンアウト用見積もりライブラリを用いて遅延を最小にしながらバッファ木を適用する。
タイミングクリティカルパスについては、ファンアウト数から遅延を見積もり、次のタイミング最適化において、配線可能とするために、フリップフロップを離して配置する必要がある。この際、図11の右側に示すように、遅延値と面積見積もりにより、次のステップでのタイミング最適化後にタイミング違反や面積増大が極力発生しないようにフリップフロップを移動させ、配線可能な配置結果を得ることができる。
図12は、多段論理におけるタイミング違反の一例を示す説明図であり、図13は、セルの配置プログラムに多段ロジック用見積もりライブラリを組み込み、論理段数が多いパスについて、タイミングと面積を見積もりながら、配置処理を行う一例を示した説明図である。
一般に、多段論理があってタイミングが厳しい場合には、図12に示すように、多段論理に対して最適化前の遅延値を元に計算するとタイミング違反が発生してしまい、配線可能にするためのフリップフロップ移動ができなかった。
一方、本発明では、図13に示すように、多段ロジック用見積もりライブラリを用いることで多段論理の最適化後のタイミングを見積もることができるので、フリップフロップを動かしても次のステップであるタイミング最適化により、タイミング制約を満たすことができる、と判断することができる。これによってフリップフロップを移動することが可能となり、配線を可能にすることができる。このとき、長配線用見積もりライブラリを用いて、セルを移動した場合のタイミング最適化後のタイミングと面積を見積もる。
次に、タイミング・面積見積もり用ライブラリにおける高精度な見積もり技術について説明する。
長配線、多ファンアウト用見積もりライブラリの精度向上のため、面積、および遅延の見積もり値をバッファの駆動能力毎に求める。これは、図14のグラフに示すように、低駆動能力セルと高駆動能力セルとで速度の逆数の最小点が異なるためである。
たとえば、図15の左側のグラフに示す高駆動能力セルと図15の右側のグラフに示す低駆動能力セルとでは、同じ遅延値でも、見積もり面積が異なることになる。たとえば高駆動能力セルでは比較的駆動能力の小さい場合、Aの遅延時間のときの見積もり面積はA’の点になるが、低駆動能力セルで同じ遅延時間Bのときの見積もり面積はB’となり高駆動能力セルの見積もり面積A’より小さい面積で同じ遅延時間を実現できる。
一方、比較的大きい遅延時間の場合、同じ遅延時間C及びDのときの見積もり面積は高駆動能力セルと低駆動能力セルでそれぞれC’とD’になり、高駆動能力セルのほうが面積が小さくなる。
これより、セルの駆動能力に応じた見積もり遅延最小値を選択し、距離やファンアウト数に対して見積もり遅延と見積もり面積をプロット、もしくはテーブル化したライブラリを、タイミングクリティカル品種やパス用に使う。
一方、見積もり面積最小値を選択して、距離やファンアウト数に対して見積もり遅延と見積もり面積をプロット、もしくはテーブル化したライブラリを、高密度品種やパスに適用する。すなわち、高駆動能力セルでは、見積もり遅延の最小値A(図15の左上側のグラフ)を選択し、見積もり面積値は、該最小値Aに対応する見積もり面積値A’(図15の左下側のグラフ)を選択して、タイミングクリティカル品種やパス用に使用する。
また、低駆動能力セルでは、見積もり面積の最小値B(図15の右上側のグラフ)を選択し、見積もり遅延値は、該最小値Bに対応する見積もり遅延値B’(図15の右下側のグラフ)を選択して、高密度品種やパス用に使う。
この他にも、多段論理用見積もりライブラリの精度向上のために、見積もり用論理最適化後の1つのセルに接続する信号数/セル数(=見積もり接続数)を求め、混雑度の指標としたり(混雑度が高い場合には、配線のための面積がより多く必要であるため、見積もり面積値を大きくする)、実最適化後の結果と見積もり値との差を比率、あるいは絶対値差で保存しておき、保存した比率、または絶対値差などを考慮してタイミング・面積見積もり用ライブラリを修正するようにしてもよい。
また、本発明は、セルの配置だけでなく、たとえば、階層レイアウトにおける設計期間短縮に用いることも可能である。
通常、階層レイアウト処理では、図16に示すように、作成したブロックデータを用いてブロックレイアウトが完了するまで、ブロックタイミングモデルを作成することができず、トップレイアウトを実施できない。
しかし、図17に示すように、本発明によればブロックデータからブロックタイミングを見積もることができ、モデルを作成できるので、ブロックレイアウトを完了する前にトップレイアウトと最適化を開始することができる。この際、クロック遅延も見積もることができる(この場合、ファンアウト用見積もりライブラリを用いるものとする)。
また、本発明による見積もりは、タイミング、面積だけでなく、たとえば、消費電力も見積もりライブラリとしておき、配置時に消費電力も見積もるようにしてもよい。消費電力が長配線や多ファンアウトのためのバッファリングにて大きくならないようにセルを移動し、配線可能なセル配置を得る。
この場合、見積もり消費電力が最小となる、タイミングと面積を見積もって、長配線用見積もりライブラリ、多ファンアウト用見積もりライブラリとしてそれぞれライブラリ化しておき、低消費電力が要求される回路、箇所に適用する。
さらに、本発明による見積もりは、ホールドタイミング最適化処理に組み込むことも可能である。
従来、ホールドタイミング違反パスの一部を含む別パスが、セットアップタイミングに余裕がない場合、ホールドタイミング違反解消のための遅延素子を挿入することができなった。
たとえば、図18に示すフリップフロップA、logic−a、logic−c、フリップフロップCの接続経路となるパスPath1、およびフリップフロップB、logic−c、フリップフロップDの接続経路となるパスPath2のセットアップタイミングが厳しい場合、フリップフロップB、logic−c、フリップフロップCの接続経路となるパスPath3のホールドタイミング違反パスを解消できないか、パスPath1、あるいはパスPath2のセットアップタイミングを許して、パスPath3のホールドタイミング違反を解消するため、パスPath1、またはパスPath2のセットアップタイミング違反が残る場合があった。
しかし、本発明による面積、および遅延見積もりをホールドタイミング最適化処理へ組み込むことにより、セットアップタイミングに余裕がなくても、最適化後のタイミングを見積もり、最適化後にはタイミングに余裕がある部分を抽出し、ホールドタイミング違反解消のための遅延素子を挿入することができる。
この場合、図18におけるlogic−a、およびロジックlogic−bの最適化後のセットアップタイミングを提案手法により見積もり、実タイミングと見積もったタイミングとの差(余裕度)を求め、ロジックlogic−aの余裕度の許す範囲で、フリップフロップB→ロジックlogic−cに、ロジックlogic−bの余裕度の許す範囲でロジックlogic−c→フリップフロップCに遅延セル(バッファ)を挿入し、パスPath3のホールドタイミング違反を解消する。
ホールドタイミング違反解消後、パスPath1、およびパスPath2のセットアップタイミング違反が残るが、パスPath3を保持したまま、ロジックlogic−a、ロジックlogic−bを高速化する方向へ最適化することによりセットアップタイミングを解消することができる。
それにより、本実施の形態によれば、タイミング最適化後のタイミング、面積を見積もってセル配置を決めるので、タイミング最適化後にセル配置改善やフロアプラン変更といった処理が不要となり、設計期間を短縮することができる。
また、タイミング、および面積見積もりをライブラリとして用意するので、配置途中で最適化処理を必要とせず、高速に見積もり値を得ることができる。
さらに、セルの配置処理中は、実際にはタイミング最適化(回路変更)を行わないため、データベースをアップデートする必要がなく、高速、かつ、メモリ使用量のオーバーヘッドを少なくすることができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、半導体集積回路装置の自動化レイアウト設計技術に適している。
1 ネットリスト
2 タイミング制約
3 フロアプラン
4 レイアウトライブラリ
5 タイミングライブラリ
6 長配線用見積もりライブラリ
7 多ファンアウト用見積もりライブラリ
8 多段ロジック用ライブラリ

Claims (9)

  1. 電子システムを用いてセルの自動配置を行う半導体集積回路装置の設計方法であって、
    配置プログラムによるセルの配置処理中に、予め作成したタイミング最適化後の遅延見積もりおよび面積見積もりの値が登録されたタイミング・面積見積もり用ライブラリを用いて、前記遅延見積もりおよび前記面積見積もりの値からタイミング制約を満たしながら配線混雑が発生しないように前記セルを配置することを特徴とする半導体集積回路装置の設計方法。
  2. 請求項1記載の半導体集積回路装置の設計方法において、
    前記タイミング・面積見積もり用ライブラリは、
    配置前のタイミングが異なるパスとなる長配線用見積もりライブラリ、多ファンアウト用見積もりライブラリ、および多段ロジック用見積もりライブラリからなることを特徴とする半導体集積回路装置の設計方法。
  3. 請求項2記載の半導体集積回路装置の設計方法において、
    前記長配線用見積もりライブラリは、
    セルの配線距離を変化させ、前記セルの駆動能力変更、またはバッファリングにより距離に応じた遅延値と、前記セルの面積とを見積もったライブラリからなることを特徴とする半導体集積回路装置の設計方法。
  4. 請求項2記載の半導体集積回路装置の設計方法において、
    前記多ファンアウト用見積もりライブラリは、
    ファンアウト数を変化させ、分割に必要なバッファ木の段数とバッファ数を見積もり、前記バッファ木の段数から見積もった遅延値、および前記バッファ数から見積もった面積を見積もったライブラリからなることを特徴とする半導体集積回路装置の設計方法。
  5. 請求項2記載の半導体集積回路装置の設計方法において、
    前記多段ロジック用見積もりライブラリは、
    配線の負荷を略ゼロとしてタイミングクリティカルなパス群を抽出し、使用周波数より要求周波数を厳しくして最適化した際の遅延値、および面積を見積もったライブラリからなることを特徴とする半導体集積回路装置の設計方法。
  6. 請求項3記載の半導体集積回路装置の設計方法において、
    前記長配線用見積もりライブラリは、
    配線距離に対して速度の逆数が最小となるポイントにバッファリングされることを想定して遅延値、および面積を見積もったライブラリからなることを特徴とする半導体集積回路装置の設計方法。
  7. 請求項4記載の半導体集積回路装置の設計方法において、
    前記多ファンアウト用見積もりライブラリは、
    配線距離に対して速度の逆数が最小となるポイントにバッファリングされることを想定して遅延値、および面積を見積もったライブラリからなることを特徴とする半導体集積回路装置の設計方法。
  8. 請求項6記載の半導体集積回路装置の設計方法において、
    配線距離に対して速度の逆数が最小となる前記ポイントを、2以上の異なるバッファの駆動能力毎に求め、前記長配線用見積もりライブラリは、前記2以上の異なるバッファの駆動能力毎に求められた速度の逆数が最小となるポイントに基づいて、遅延値、および面積をそれぞれ見積もることを特徴とする半導体集積回路装置の設計方法。
  9. 請求項7記載の半導体集積回路装置の設計方法において、
    配線距離に対して速度の逆数が最小となる前記ポイントを、2以上の異なるバッファの駆動能力毎に求め、前記多ファンアウト用見積もりライブラリは、前記2以上の異なるバッファの駆動能力毎に求められた速度の逆数が最小となるポイントに基づいて、遅延値、および面積をそれぞれ見積もることを特徴とする半導体集積回路装置の設計方法。
JP2010074219A 2010-03-29 2010-03-29 半導体集積回路装置の設計方法 Expired - Fee Related JP5401376B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010074219A JP5401376B2 (ja) 2010-03-29 2010-03-29 半導体集積回路装置の設計方法
US13/046,752 US8392861B2 (en) 2010-03-29 2011-03-13 Method of semiconductor integrated circuit device using library for estimating timing/area to place cells

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010074219A JP5401376B2 (ja) 2010-03-29 2010-03-29 半導体集積回路装置の設計方法

Publications (2)

Publication Number Publication Date
JP2011209793A JP2011209793A (ja) 2011-10-20
JP5401376B2 true JP5401376B2 (ja) 2014-01-29

Family

ID=44657808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010074219A Expired - Fee Related JP5401376B2 (ja) 2010-03-29 2010-03-29 半導体集積回路装置の設計方法

Country Status (2)

Country Link
US (1) US8392861B2 (ja)
JP (1) JP5401376B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169500B2 (en) * 2011-08-08 2019-01-01 International Business Machines Corporation Critical path delay prediction
US8924901B2 (en) * 2013-02-15 2014-12-30 Synopsys, Inc. Look-up based fast logic synthesis
US8914759B2 (en) * 2012-12-31 2014-12-16 Synopsys, Inc. Abstract creation
JP2015053001A (ja) * 2013-09-09 2015-03-19 株式会社東芝 半導体集積回路のレイアウト方法、及び、半導体集積回路のレイアウトプログラム
US9189591B2 (en) * 2013-10-25 2015-11-17 Synopsys, Inc. Path-based floorplan analysis
US9141745B2 (en) 2013-10-31 2015-09-22 Taiwan Semiconductor Manufacturing Co., Ltd. Method and system for designing Fin-FET semiconductor device
US9792400B2 (en) * 2015-03-31 2017-10-17 Cavium, Inc. Determination of flip-flop count in physical design
US9858380B2 (en) * 2015-09-23 2018-01-02 International Business Machines Corporation Determining positions of storage elements in a logic design
US10936777B1 (en) * 2020-01-30 2021-03-02 Cadence Design Systems, Inc. Unified improvement scoring calculation for rebuffering an integrated circuit design
CN115270687A (zh) * 2022-07-21 2022-11-01 北京市商汤科技开发有限公司 芯片布局方法、装置、设备及存储介质
CN115758975B (zh) * 2022-11-04 2026-03-10 飞腾信息技术有限公司 版图布局优化方法、装置、设备及计算机可读存储介质
CN116108797B (zh) * 2023-04-06 2023-06-16 中国人民解放军国防科技大学 基于触发器扇出数量的触发器替换方法、装置和存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3091568B2 (ja) * 1992-06-05 2000-09-25 株式会社東芝 レイアウト設計方法
JPH10294378A (ja) * 1997-04-21 1998-11-04 Mitsubishi Electric Corp チップ上のセル配置改善方法およびセル配置改善プログラムを記録したコンピュータで読取り可能な記録媒体
US6622291B1 (en) * 2000-10-30 2003-09-16 Cadence Design Systems, Inc. Method and apparatus for physical budgeting during RTL floorplanning
US6973632B1 (en) * 2002-06-11 2005-12-06 Synplicity, Inc. Method and apparatus to estimate delay for logic circuit optimization
US6807659B2 (en) * 2002-09-26 2004-10-19 International Business Machines Corporation Robust delay metric for RC circuits
WO2005119531A2 (en) * 2004-06-01 2005-12-15 Tera Systems, Inc. Rule-based design consultant and method for integrated circuit design
JP2007004563A (ja) * 2005-06-24 2007-01-11 Nec Electronics Corp ライブラリ作成装置、ライブラリ作成プログラムおよびライブラリ作成方法
JP5260837B2 (ja) * 2006-03-24 2013-08-14 富士通セミコンダクター株式会社 半導体集積回路の設計方法及び半導体集積回路の設計装置
US7844931B2 (en) * 2007-03-01 2010-11-30 International Business Machines Corporation Method and computer system for optimizing the signal time behavior of an electronic circuit design
JP4414444B2 (ja) * 2007-03-27 2010-02-10 富士通株式会社 遅延解析支援プログラム、該プログラムを記録した記録媒体、遅延解析支援装置、および遅延解析支援方法
JP2009020575A (ja) * 2007-07-10 2009-01-29 Panasonic Corp 半導体集積回路の設計方法および設計装置
JP2009025891A (ja) * 2007-07-17 2009-02-05 Nec Electronics Corp 半導体集積回路の設計方法及び設計プログラム
US8079008B2 (en) * 2008-03-31 2011-12-13 Broadcom Corporation High-speed low-leakage-power standard cell library
US8677292B2 (en) * 2009-04-22 2014-03-18 Taiwan Semiconductor Manufacturing Company, Ltd. Cell-context aware integrated circuit design

Also Published As

Publication number Publication date
US20110239179A1 (en) 2011-09-29
JP2011209793A (ja) 2011-10-20
US8392861B2 (en) 2013-03-05

Similar Documents

Publication Publication Date Title
JP5401376B2 (ja) 半導体集積回路装置の設計方法
JP4001449B2 (ja) 不要輻射解析方法
US9152742B1 (en) Multi-phase models for timing closure of integrated circuit designs
US6496965B1 (en) Automated design of parallel drive standard cells
US6845494B2 (en) Method for generating design constraints for modules in a hierarchical integrated circuit design system
US6080201A (en) Integrated placement and synthesis for timing closure of microprocessors
US10318686B2 (en) Methods for reducing delay on integrated circuits by identifying candidate placement locations in a leveled graph
CN103080938B (zh) 用于同时切换噪声优化的方法
JP5883676B2 (ja) Lsi設計方法
US9275176B2 (en) Register clustering for clock network topology generation
US8863067B1 (en) Sequential delay analysis by placement engines
US20080244473A1 (en) Modifying Integrated Circuit Designs to Achieve Multiple Operating Frequency Targets
CN104573169A (zh) 以自动流水线操作能力设计集成电路的方法和工具
US20110138349A1 (en) Automated Digital Circuit Design Tool That Reduces or Eliminates Adverse Timing Constraints Due To An Inherent Clock Signal Skew, and Applications Thereof
CN107403024A (zh) Ic的电压降和电迁移的分析方法及计算机可读存储介质
US7840918B1 (en) Method and apparatus for physical implementation of a power optimized circuit design
Papa et al. Physical synthesis with clock-network optimization for large systems on chips
US6684373B1 (en) Optimize global net timing with repeater buffers
JP4205662B2 (ja) 半導体集積回路の設計方法
JP2010257164A (ja) 半導体集積回路装置の設計方法およびプログラム
CN101887469B (zh) 设计集成电路的方法与使用该方法的计算机系统
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
US8468488B1 (en) Methods of automatically placing and routing for timing improvement
US10540463B1 (en) Placement of delay circuits for avoiding hold violations
US8108818B2 (en) Method and system for point-to-point fast delay estimation for VLSI circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131028

R150 Certificate of patent or registration of utility model

Ref document number: 5401376

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