JP5444985B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP5444985B2
JP5444985B2 JP2009214077A JP2009214077A JP5444985B2 JP 5444985 B2 JP5444985 B2 JP 5444985B2 JP 2009214077 A JP2009214077 A JP 2009214077A JP 2009214077 A JP2009214077 A JP 2009214077A JP 5444985 B2 JP5444985 B2 JP 5444985B2
Authority
JP
Japan
Prior art keywords
clock skew
skew value
data
circuit
clock
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
JP2009214077A
Other languages
English (en)
Other versions
JP2011065319A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009214077A priority Critical patent/JP5444985B2/ja
Priority to US12/796,731 priority patent/US8671374B2/en
Publication of JP2011065319A publication Critical patent/JP2011065319A/ja
Application granted granted Critical
Publication of JP5444985B2 publication Critical patent/JP5444985B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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

本発明は、情報処理装置にかかり、特に、集積回路の設計を支援する情報処理装置に関する。
LSI(Large Scale Integration:大規模集積回路)の設計は、CAD(Computer Aided Design)を用いて行われており、回路の配置後の最適化や遅延解析も行われている。
そして、特に、ハイエンドLSIにおけるクロック構造においては、碁盤の目(メッシュ)状にクロック信号を分配するメッシュ・アーキテクチャ(図1の符号M参照)を用いることがある。これにより、回路全体においてクロック遅延差を小さくし、チップ内製造バラツキによるクロック遅延変動を低減することにより、クロック・スキューを小さくすることができる。但し、上記クロック・メッシュをチップ全面など大きな領域に分配するには、配線リソースや消費電力の不利な面もあるため、FF(Flip Flop:フリップフロップ)に近い末端のローカル領域などにツリー構造を併用する方式がある。例えば、図1に示すような回路を設計することが考えられる。
ここで、一般的には、クロック分配ネットリストが確定したCTS(Clock Tree Synthesis)後では、理想スキュー解析ではなく、クロックをクロックラインの実遅延で計算し、スキュー解析することになる。しかし、メッシュ・クロック構成の場合やレイアウトを階層設計している場合には、CTS後であっても、理想スキュー解析することが多くなる。その理由は、メッシュ・クロックの場合、正確なクロック遅延を計算するためには、電子回路の動作をシミュレーションするソフトウェアである「SPICE(Simulation Program with Integrated Circuit Emphasis)」を実行する必要があり、実行時間を要するので、度々は実行しない。まして、階層設計している場合、階層設計単位では、メッシュ構造全体の断片しか存在しないために、実クロック遅延解析することは難しい、といったことが挙げられる。
特開2003−162561号公報
上記のように、回路設計の際には、理想スキュー(クロック)解析を行う必要がある。ところが、理想スキュー解析において、スキュー値を最大想定の1値しか取り扱わない場合には、過大なマージンを持った解析となってしまう、という問題が生じる。例えば、図1に示す例では、FF1とFF2との間では、最終段ドライバ分岐であり、スキューは最小となるが、FF2とFF3との間では、ローカル分配ルート分岐であり、スキューは上記FF1とFF2との間よりも大きくなる。さらに、FF3とFF4との間では、メッシュ分岐であるため、スキューはさらに大きくなる。このような場合に、スキュー値を最大値の1値のみ扱ってタイミング解析などを行ったとしても、許容範囲が過大な解析結果となってしまい、良好な結果を得ることができない、という問題が生じる。
また、特許文献1には、回路のタイミング解析方法が開示されている。この方法では、クロック信号の分岐点を特定し、当該分岐点からクロック信号の遅延時間を算出し、遅延時間に基づいてタイミングマージンを求め、ホールドタイムの解析を行っている。しかしながら、上述した技術では、遅延時間に応じたタイミングマージンを設定しているため、回路構成が複雑になった場合には、適切なタイミングマージンを設定することができない。すると、ホールドタイムの解析の精度も低下する、という問題が生じる。
このため、本発明の目的は、上述した課題である、集積回路設計時における解析精度の低下、を抑制することができる情報処理装置を提供することにある。
かかる目的を達成するため本発明の一形態である情報処理装置は、
予め設計された回路の配置及び接続関係を表す設計データと、上記回路上に配置され一方の素子から他方の素子にデータが入力される対となる素子に対してそれぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定されたクロックスキュー値を含むタイミング制約データと、を記憶した記憶手段を備える共に、
上記設計データ及び上記タイミング制約データを上記記憶手段から読み出すデータ読み出し手段と、
上記設計データにて表わされる回路に配置された上記対となる素子間に対応して設定された上記クロックスキュー値を上記タイミング制約データから取得するクロックスキュー値取得手段と、
上記設計データに基づいて上記対となる素子間における遅延時間を算出すると共に、当該対となる素子間について上記取得したクロックスキュー値と上記算出した遅延時間とを用いて、上記対となる素子間が予め設定された設計要求を満たすか否かを表すスラック値を算出するスラック算出手段と、
を備える。
また、本発明の他の形態であるプログラムは、
情報処理装置に、
予め設計された回路の配置及び接続関係を表す設計データと、上記回路上に配置され一方の素子から他方の素子にデータが入力される対となる素子に対してそれぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定されたクロックスキュー値を含むタイミング制約データと、を記憶した記憶手段から、上記設計データ及び上記タイミング制約データを読み出すデータ読み出し手段と、
上記設計データにて表わされる回路に配置された上記対となる素子間に対応して設定された上記クロックスキュー値を上記タイミング制約データから取得するクロックスキュー値取得手段と、
上記設計データに基づいて上記対となる素子間における遅延時間を算出すると共に、当該対となる素子間について上記取得したクロックスキュー値と上記算出した遅延時間とを用いて、上記対となる素子間が予め設定された設計要求を満たすか否かを表すスラック値を算出するスラック算出手段と、
を実現させるためのプログラムである。
また、本発明の他の形態である情報処理方法は、
予め設計された回路の配置及び接続関係を表す設計データと、上記回路上に配置され一方の素子から他方の素子にデータが入力される対となる素子に対してそれぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定されたクロックスキュー値を含むタイミング制約データと、を記憶した記憶手段から、上記設計データ及び上記タイミング制約データを読み出し、
上記設計データにて表わされる回路に配置された上記対となる素子間に対応して設定された上記クロックスキュー値を上記タイミング制約データから取得し、
上記設計データに基づいて上記対となる素子間における遅延時間を算出すると共に、当該対となる素子間について上記取得したクロックスキュー値と上記算出した遅延時間とを用いて、上記対となる素子間が予め設定された設計要求を満たすか否かを表すスラック値を算出する、
という構成を採る。
本発明は、以上のように構成されることにより、大規模LSIの設計時において適切かつ迅速な回路設計を実現することができる。
本発明に関連する技術を説明するための回路構成の一例を示す図である。 本発明の実施形態1における情報処理装置の構成を示す機能ブロック図である。 図2に開示した情報処理装置に記憶されている回路の構成の一例を示す図である。 図2に開示した情報処理装置に記憶されているタイミング制約データの一例を示す図である。 図2に開示した情報処理装置にて生成され記憶される理想スキュー・テーブルの一例を示す図である。 図2に開示した情報処理装置の動作を示すフローチャートである。 図6に開示した情報処理装置の動作の一部であるスラック計算処理の詳細を示すフローチャートである。 図2に開示した情報処理装置の動作の他の例を示すフローチャートである。 図2に開示した情報処理装置にて回路のレイアウト最適化処理を行った時の効果を説明するための図である。 図2に開示した情報処理装置にて回路のレイアウト最適化処理を行った時の効果を説明するための図である。 本発明の実施形態2における情報処理装置の構成を示す機能ブロック図である。
<実施形態1>
本発明の第1の実施形態を、図2乃至図10を参照して説明する。図2は、本実施形態における情報処理装置の構成を示す機能ブロック図である。図3は、設計対象となっている回路の構成の一例を示す図であり、図4は、当該回路のタイミング制約データの一例を示す図である。図5は、情報処理装置にて生成される理想スキュー・テーブルの一例を示す図である。図6乃至図8は、情報処理装置の動作を示す図である。図9乃至図10は、回路のレイアウト最適化処理を行った時の効果を説明するための図である。
[構成]
図2に示すように、本実施形態における情報処理装置1は、CPU(Central Processing Unit)といった演算装置10と、ハードディスクドライブなどの記憶装置20(記憶手段)と、を備えた一般的なコンピュータである。
そして、情報処理装置1は、演算装置10にプログラムが組み込まれることにより構築された、設計データ読込部11と、タイミング制約読込部12と、遅延計算部13と、スラック計算部14と、遅延最適化部15と、レポート出力部16と、を備えている。これら各構成を備えることで、情報処理装置1は、後述するように、CTS後の回路データに対するレイアウトの最適化を支援する最適化システムや、回路の遅延を検証する遅延検証システムとして機能することとなる。なお、演算装置10に組み込まれる上記プログラムは、予め記憶装置20に記憶されていてもよく、あるいは、他の記憶媒体に記憶されおり演算装置10に提供されてもよい。
上記記憶装置20は、演算装置10に入力されるデータである、ネットリスト21と、タイミング制約22と、レイアウトデータ23と、SPEF(Standard Parasitic Exchange Format)24と、セル遅延ライブラリ25と、を記憶している。また、記憶装置20は、演算装置10から出力される出力レイアウトデータ26と、遅延検証レポート27と、を記憶する。以下、演算装置10と記憶装置20の構成について詳述する。
記憶装置20に記憶されている上記レイアウトデータ23は、配置・配線後の回路のレイアウト情報を格納している。ネットリスト21は、レイアウトデータ23に対応し論理的な接続関係を表す情報を格納している。タイミング制約22は、回路のクロック周期の定義、理想スキュー定義、マルチ・サイクルパス(複数サイクル内でのセットアップ遅延が許されるパス)などのタイミング例外指定を格納している。SPEF(Standard Parasitic Exchange Format)24は、レイアウトデータ23における配線に対して、予め一般的なRC抽出ツールにより寄生情報を抽出した抵抗、容量(カップリング容量)を格納している。セル遅延ライブラリ25は、リーフ・セルの入出力端子間遅延情報と、順序素子の場合はセットアップ時間、ホールド時間を格納している。
また、記憶装置20に後に記憶される遅延検証レポート27は、演算装置10からの出力結果であり、遅延検証システムによるタイミング解析によりセットアップ・ホールド遅延違反したパス情報を格納している。出力レイアウトデータ26は、レイアウト最適化システムによって遅延最適化が実施されたレイアウトデータである。
ここで、本実施形態では、上述したレイアウトデータ23やネットリスト21、SPEF24、セル遅延ライブラリ25といった回路の配置及び接続関係を表す設計データにより、CTS(Clock Tree Synthesis)後の図3に示す構成の回路を表す情報が予め設計されていることとする。この図3に示す回路は、特に、メッシュ方式クロック回路Mを有し、当該メッシュ方式クロック回路の後段にツリー構造回路を有している。また、かかる構成において、メッシュ方式クロック回路M自体を1つの分岐点とし、また、ツリー構造回路部分の各分岐をそれぞれ分岐点として、これらの分岐点をそれぞれ特定する情報が、図3で括弧内に示すように割り当てられている。なお、本実施形態では、最適化あるいは解析対象となる回路として、メッシュ方式クロック回路の後段にツリー構造回路を有する回路を挙げて説明するが、これは一例であって、ツリー構造だけの回路であってもよい。
また、上記タイミング制約22は、例えば、図4に示すデータであり、特に、回路上に配置され、一方の素子(例えば、フリップフロップ(FF))から他方の素子にデータが入力される対となる素子に対して、それぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定された理想スキュー定義(クロックスキュー値)を含む。この理想スキュー定義は、クロック名毎、かつ、定義点(=クロックパス分岐点)毎に、当該分岐点以降で分配されている素子であるフリップフロップ(FF)間パスの理想スキューをそれぞれ定義したものである。
具体的に、図4に示すタイミング制約22の例では、符号22aの部分の各行毎に、クロック名と定義点毎の理想スキューが定義されている。ここで、符号22aの各行における第1列の「set_ideal_skew」は、理想スキュー定義文を示す予約語である。第2列は、定義するスキューがsetup解析用(「-setup」)であるか、hold解析用(「-hold」)であるかを示している。第3列は、対象となるクロック名を示している。第4列は、相互に接続され対となる素子が分配されている分岐点を示すネット名やインスタンス名(図3の括弧内の記号)を表している。第5列は、例えば「ps(picosecond)」などの単位に基づいたスキュー値を表している。そして、図4の符号22a部分の例では、まず、第1行から第3行は、setup解析用スキューが定義されており、特に、第1行は、図3のメッシュ部分M(MESH1)での分岐点、第2行はローカル分配1段目(L1_*)の分岐点、第3行はローカル分配2段目の分岐点(L2_*)のケースをそれぞれ示している。同様に、図4の符号22a部分における第4行から第6行目は、hold解析用スキューが定義されており、それぞれ各分岐点のケースにおけるスキューを定義している。
また、上記設計データ読込部11(データ読み出し手段)は、記憶装置20に予め記憶されている上記ネットリスト21、タイミング制約22、レイアウトデータ23、SPEF24、セル遅延ライブラリ25といった各種データを読み込み、メモリ上にデータ構造を構築して以降の処理に備える。
また、上記タイミング制約読込部12は、上述した図4に示すタイミング制約22内に含まれる理想スキュー定義22aを読み込み、定義点(分岐点)とスキュー値とを対で表した図5に示すような理想スキュー・テーブルを生成して一時的に記憶する。具体的に、理想スキュー・テーブルは、(定義点,セットアップ解析用スキュー値、ホールド解析用スキュー値)の形式となる。
また、上記遅延計算部13は、SPEF24から得られた配線の抵抗、容量値に基づき、セル遅延ライブラリ25を参照し、個々のセル遅延、setup_time、hold_timeや、インターコネクト遅延を計算する。
また、上記スラック計算部14は、まず、図3に示すような回路上でFF間が分配されているクロックネットリスト構造をトレースし、CRPR(Clock Reconvergence Pessimism Removal)分岐点を認識して、理想スキュー・テーブルの定義点とCRPR分岐点がマッチするところをサーチし、各分岐点の理想スキュー値を得る。つまり、それぞれのFF間パスに対応して予めタイミング制約22として設定された理想スキュー値を取得する。そして、この理想スキュー値を用いて、required_timeを計算する。ここで、Setup解析のrequired_timeは、クロックサイクルから、setup_timeとスキューを引いた時間である。また、Hold解析のrequired_timeは、hold_timeにスキューを加えた時間である。
そして、上記スラック計算部14は、上述した遅延計算部13により計算済みのセル遅延、setup_timeやインターコネクト遅延を積み上げ、データ・ラインのarrival_timeを計算して、スラック値(Slack値)を算出する。ここで、Slack値とは、required_timeからarrival_timeを引いた時間であり、FF間パスが予め設定された設計要求を満たすか否かを表す数値である。例えば、Slack値がマイナスとなった場合には、制約を満たさない、ということになる。
以上のように、上述したタイミング制約読込部12と遅延計算部13とスラック計算部14とは、まず、ネットリスト21などにて図3に示すように表わされる回路上に配置されたFF間パス毎、つまり、FF間の分岐点毎の理想スキュー値を、タイミング制約22から理想スキュー・テーブルを介して取得するクロックスキュー値取得手段として機能する。このとき、特に、FF間に供給されるクロック毎、かつ、セットアップ解析用とホールド解析用とのそれぞれの理想スキュー値を取得する。
また、上述したタイミング制約読込部12と遅延計算部13とスラック計算部14とは、FF間における遅延時間を算出すると共に、上記取得した理想スキュー値を用いて、スラック値を算出するスラック算出手段として機能する。このとき、特に、セットアップとホールドとの各スラック値を算出する。
また、上記遅延最適化部15は、上記スラック計算部14により計算されたパスのうち違反しているパス集合に対して、遅延最適化を実施する。例えば、回路を変更して、遅延計算部13に戻って再度スラック値の計算を行い、違反パスがなくなるか、決められた終了条件(制限時間や繰り返しループ数)となるまで繰り返す。つまり、この遅延最適化部15は、情報処理装置1がレイアウト最適化システムとして機能する場合に作動する。
また、上記レポート出力部16は、スラック値、及び、計算過程のarrival_time, setup_time, hold_timeなどの補足情報も含めて、主に違反パスの情報を、ディスプレイやプリンタなどにて出力する。つまり、このレポート出力部16は、情報処理装置1が遅延検証システムとして機能する場合に作動する。
[動作]
次に、上述した構成の情報処理装置1の動作を、図6乃至図8を参照して説明する。ここでは、図3に示すような接続イメージの回路を表すネットリスト21、レイアウトデータ23、SPEF24が、記憶装置20に記憶されていることとする。
まず、情報処理装置1は、設計データ読込部11にて上記ネットリスト21、レイアウトデータ23、SPEF24を読み込む(ステップS1)。続いて、タイミング制約読込部12にて、図4に示すようなタイミング制約22を読み込む(ステップS2)。このタイミング制約22のうち、特に、符号22aの部分が理想スキュー定義であり、クロック名「CLK」に対して、定義点(符号22aの例では、MESH1, L1_*, L2_*)と、それに対応したsetup解析用スキュー値(200, 100, 20)と、hold解析用スキュー値(100, 50, 10)と、を対にして、図5に示すような理想スキュー・テーブルとして記憶する。つまり、理想スキュー・テーブルは、(定義点,setupスキュー,holdスキュー)のフォーマットとなっている。なお、クロックを複数取り扱う場合には、クロック名毎に(CLOCK=・・・)テーブルを持つことになる。
続いて、遅延計算部13は、SPEF24から得られた配線の抵抗、容量値に基づき、セル遅延ライブラリ25を参照し、個々のセル遅延,setup_time,hold_timeやインターコネクト遅延を計算する(ステップS3)。なお、この遅延時間の算出は、後に行われてもよい。
続いて、スラック計算部14は、それぞれのFF間パスに対して、理想スキュー値を求めて、required_timeを計算してslack値を計算する(ステップS4)。例えば、図3に示す回路の始点FF1から終点FF2へのパス(符号P1)に注目することとする。FF1とFF2からそれぞれクロック・ネットワークをトレースすると(図7のステップS11)、分岐点(L2_1)がFF1とFF2とのCRPR分岐点(L2_1までがクロック共通パス)であることが分かる(図7のステップS11)。次に、(L2_1)という定義点を理想スキュー・テーブル内でサーチすると、図5の3行目が該当する(図7のステップS13)。これにより、setup解析の理想スキュー値「20」が得られる(図7のステップS14)。
続いて、スラック計算部14は、スラック計算を行う(図7のステップS15)。具体的には、パスを構成するそれぞれのセルについて、遅延計算部13により計算済みのセル遅延、setup_time、インターコネクト遅延と、上記取得した理想スキュー値を用いて、先ずrequired_timeを計算する。Setup解析のrequired_timeは、「clock_period −
理想スキュー − setup_time」で計算される。また、Hold解析のrequired_timeは、「hold_time +理想スキュー」で計算される。次にarrival_timeを計算する。arrival_timeは、データラインを構成するセル、ネットの「Σセル遅延 + Σインターコネクト遅延」で計算される。Slack値は、「require_time ― arrival_time」で計算される。同様に、図3の始点FF2から終点FF3へのパス(符号P2参照)では、CRPR分岐点が(L1_1)であり、setup解析の理想スキューとして「100」が得られる。また、始点FF3から終点FF4のパス(符号P3参照)では、CRPR分岐点が(MESH1)であり、setup解析の理想スキューとして「200」が得られる。これを用いて、各FF間のスラック値を求めることができる。なお、hold解析のスラック値も同様に算出される。
最後に、情報処理装置1がレイアウト最適化システムとして機能している場合には、遅延最適化部15により、Slack計算部14で判明している遅延違反しているパス集合に対して、遅延最適化を実施し、遅延計算手段に戻り、違反パスがなくなるか、決められた終了条件(制限時間や繰り返しループ数)となるまで繰り返す(図6のステップS5)。
なお、情報処理装置1が遅延検証システムとして機能している場合には、まず、上述した図6のステップS1からS4と同様に、スラック計算を行う(図8のステップS101からS104)。その後、レポート出力部16により、Slack値、及び、計算過程のarrival_time, setup_time, hold_timeなどの補足情報も含めて、主に違反パスの情報を出力する(図8のステップS105)。
ここで、本実施形態における情報処理装置1にて回路のレイアウト最適化を行った結果による効果を、図9、図10に示す。まず、図9の「virtual_skew表記」及び図10(B)は、本発明であるレイアウト最適化システムを実施した場合のデータであり、図9の「ideal_skew表記」及び図10(A)は、一律のスキュー値を用いた場合のデータである。そして、図10では、符号210で示した白色の×印は、予め設定された許容される配線間の距離など製造上のメタル・パタン・ルールを違反している箇所を表すGeomエラー箇所を示しており、それよりも2段階ほど濃い色の符号220で示した点は、最適化で挿入したHold保障ゲートを示している。これらの図に示すように、本発明のシステムによると、過剰なHold保証バッファ挿入が改善され、サイト使用率にして3〜5%減少し、レイアウト最適化の実行時間は9〜25%改善したことが分かる。また、電子回路の動作をシミュレーションするソフトウェアである「SPICE(Simulation Program with Integrated Circuit Emphasis)」によるクロック詳細解析前に、一律な固定値理想スキューを用いるよりも個々の回路状態に応じた精度の高いスキューにより、遅延最適化、遅延検証が出来るようになる。
以上にように、本発明では、対となる素子間毎、例えば、素子間の分岐点毎に、理想スキュー値を予め複数設定して記憶しているため、大規模LSIの設計時においても、各素子間に対応したスキュー値を用いて、スラック値の算出を行うことができる。従って、処理の迅速化を図ることができる。
<実施形態2>
本発明の第2の実施形態を、図11を参照して説明する。図11は、情報処理装置の構成を示す機能ブロック図である。なお、本実施形態では、上述したレイアウト最適化システムあるいは遅延検証システムとして機能する情報処理装置の構成の概略を説明する。
図11に示すように、本実施形態における情報処理装置300は、
予め設計された回路の配置及び接続関係を表す設計データ311と、上記回路上に配置され一方の素子から他方の素子にデータが入力される対となる素子に対してそれぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定されたクロックスキュー値を含むタイミング制約データ312と、を記憶した記憶手段310を備える共に、
上記設計データ及び上記タイミング制約データを上記記憶手段から読み出すデータ読み出し手段301と、
上記設計データにて表わされる回路に配置された上記対となる素子間に対応して設定された上記クロックスキュー値を上記タイミング制約データから取得するクロックスキュー値取得手段302と、
上記設計データに基づいて上記対となる素子間における遅延時間を算出すると共に、当該対となる素子間について上記取得したクロックスキュー値と上記算出した遅延時間とを用いて、上記対となる素子間が予め設定された設計要求を満たすか否かを表すスラック値を算出するスラック算出手段303と、
を備える。
そして、上記情報処理装置では、
上記タイミング制約データに含まれる上記クロックスキュー値は、上記対となる素子が分配されている上記回路上の分岐点毎に予め設定されており、
上記クロックスキュー値取得手段は、上記設計データにて表わされる回路上の分岐点毎に対応する上記クロックスキュー値を、当該分岐点にて分配された上記対となる素子間のクロックスキュー値として取得する、
という構成を採る。
また、上記情報処理装置では、
上記設計データにて表わされる回路は、メッシュ方式クロック回路の後段にツリー構造回路を有する回路であり、
上記タイミング制約データに含まれる上記クロックスキュー値が対応する上記分岐点は、上記メッシュ方式クロック回路自体と上記ツリー構造回路に含まれる各分岐点とである、
という構成を採る。
また、上記情報処理装置では、
上記タイミング制約データは、上記対となる素子のうち上記他方の素子におけるデータ入力時とデータ出力時とにそれぞれ許容されるクロックの遅延差を表すセットアップ用クロックスキュー値とホールド用クロックスキュー値とを上記クロックスキュー値として含み、
上記クロックスキュー値取得手段は、上記設計データにて表わされる回路に配置された上記対となる素子に対応する上記セットアップ用クロックスキュー値と上記ホールド用クロックスキュー値とを上記クロックスキュー値として上記タイミング制約データから取得し、
上記スラック算出手段は、上記セットアップ用クロックスキュー値とホールド用クロックスキュー値とに基づいて上記対となる素子におけるデータ入力時とデータ出力時とのそれぞれについて上記スラック値を算出する、
という構成を採る。
また、上記情報処理装置では、
上記タイミング制約データは、上記対となる素子に対して入力されるクロック毎に設定された上記クロックスキュー値を含んでおり、
上記クロックスキュー値取得手段は、上記設計データにて表わされる回路上の上記対となる素子に入力されるクロックに対応する上記クロックスキュー値を上記タイミング制約データから取得する、
という構成を採る。
上記発明によると、まず、情報処理装置には、前段・後段に配置された対となる素子にそれぞれ入力されるクロックの許容される遅延差を表すクロックスキュー値が、当該素子間毎、例えば、当該対となる素子が分配された回路上の分岐点毎に、予め対応付けられて記憶されている。そして、情報処理装置は、回路構成を表す種々のデータから成る設計データを読み込むと共に、この設計データに基づいて、対となる素子間、例えば、素子間の分岐点に対応するクロックスキュー値を取得する。そして、対となる素子間に対応したクロックスキュー値を用いてスラック値を計算する。これにより、現時点の回路構成が制約に違反していないか否かを判断することができ、後に回路配置の最適化を行ったり、違反内容のレポートを出力することができる。このとき、予め対となる素子間毎、例えば、素子間の分岐点毎にクロックスキュー値を設定して記憶しているため、大規模LSIの設計時においても、処理の迅速化を図ることができる。
また、上述した情報処理装置は、当該情報処理装置に、プログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、
情報処理装置に、
予め設計された回路の配置及び接続関係を表す設計データと、上記回路上に配置され一方の素子から他方の素子にデータが入力される対となる素子に対してそれぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定されたクロックスキュー値を含むタイミング制約データと、を記憶した記憶手段から、上記設計データ及び上記タイミング制約データを読み出すデータ読み出し手段と、
上記設計データにて表わされる回路に配置された上記対となる素子間に対応して設定された上記クロックスキュー値を上記タイミング制約データから取得するクロックスキュー値取得手段と、
上記設計データに基づいて上記対となる素子間における遅延時間を算出すると共に、当該対となる素子間について上記取得したクロックスキュー値と上記算出した遅延時間とを用いて、上記対となる素子間が予め設定された設計要求を満たすか否かを表すスラック値を算出するスラック算出手段と、
を実現させるためのプログラムである。
そして、上記プログラムでは、
上記タイミング制約データに含まれる上記クロックスキュー値は、上記対となる素子が分配されている上記回路上の分岐点毎に予め設定されており、
上記クロックスキュー値取得手段は、上記設計データにて表わされる回路上の分岐点毎に対応する上記クロックスキュー値を、当該分岐点にて分配された上記対となる素子間のクロックスキュー値として取得する、
という構成を採る。
また、上述した情報処理装置が作動することにより実行される、本発明の他の形態である情報処理方法は、
予め設計された回路の配置及び接続関係を表す設計データと、上記回路上に配置され一方の素子から他方の素子にデータが入力される対となる素子に対してそれぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定されたクロックスキュー値を含むタイミング制約データと、を記憶した記憶手段から、上記設計データ及び上記タイミング制約データを読み出し、
上記設計データにて表わされる回路に配置された上記対となる素子間に対応して設定された上記クロックスキュー値を上記タイミング制約データから取得し、
上記設計データに基づいて上記対となる素子間における遅延時間を算出すると共に、当該対となる素子間について上記取得したクロックスキュー値と上記算出した遅延時間とを用いて、上記対となる素子間が予め設定された設計要求を満たすか否かを表すスラック値を算出する、
という構成を採る。
そして、上記情報処理方法では、
上記タイミング制約データに含まれる上記クロックスキュー値は、上記対となる素子が分配されている上記回路上の分岐点毎に予め設定されており、
上記クロックスキュー値の取得時に、上記設計データにて表わされる回路上の分岐点毎に対応する上記クロックスキュー値を、当該分岐点にて分配された上記対となる素子間のクロックスキュー値として取得する、
という構成を採る。
上述した構成を有する、プログラム、又は、情報処理方法、の発明であっても、上記情報処理装置と同様の作用を有するために、上述した本発明の目的を達成することができる。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
本発明は、回路の設計を行う際に使用するCADシステムに利用することができ、産業上の利用可能性を有する。
1 情報処理装置
10 演算装置
11 設計データ読込部
12 タイミング制約読込部
13 遅延計算部
14 スラック計算部
15 遅延最適化部
16 レポート出力部
20 記憶装置
21 ネットリスト
22 タイミング制約
23 レイアウトデータ
24 SPEF
25 セル遅延ライブラリ
26 出力レイアウトデータ
27 遅延検証レポート
300 情報処理装置
301 データ読み出し手段
302 クロックスキュー値取得手段
303 スラック算出手段
310 記憶手段
311 設計データ
312 タイミング制約データ

Claims (4)

  1. 予め設計された回路の配置及び接続関係を表す設計データと、前記回路上に配置され一方の素子から他方の素子にデータが入力される対となる素子に対してそれぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定されたクロックスキュー値を含むタイミング制約データと、を記憶した記憶手段を備える共に、
    前記設計データ及び前記タイミング制約データを前記記憶手段から読み出すデータ読み出し手段と、
    前記設計データにて表わされる回路に配置された前記対となる素子間に対応して設定された前記クロックスキュー値を前記タイミング制約データから取得するクロックスキュー値取得手段と、
    前記設計データに基づいて前記対となる素子間における遅延時間を算出すると共に、当該対となる素子間について前記取得したクロックスキュー値と前記算出した遅延時間とを用いて、前記対となる素子間が予め設定された設計要求を満たすか否かを表すスラック値を算出するスラック算出手段と、
    を備え、
    前記設計データにて表わされる回路は、メッシュ方式クロック回路の後段にツリー構造回路を有する回路であり、
    前記タイミング制約データに含まれる前記クロックスキュー値は、前記対となる素子が分配されている前記回路上の分岐点毎に予め設定されていると共に、当該分岐点は、前記メッシュ方式クロック回路自体と前記ツリー構造回路に含まれる各分岐点とであり、
    前記タイミング制約データは、前記対となる素子のうち前記他方の素子におけるデータ入力時とデータ出力時とにそれぞれ許容されるクロックの遅延差を表すセットアップ用クロックスキュー値とホールド用クロックスキュー値とを前記クロックスキュー値として含み、
    前記クロックスキュー値取得手段は、前記設計データにて表わされる回路上の分岐点毎に対応する前記クロックスキュー値を、当該分岐点にて分配された前記対となる素子間のクロックスキュー値として取得すると共に、当該対となる素子に対応する前記セットアップ用クロックスキュー値と前記ホールド用クロックスキュー値とを前記クロックスキュー値として前記タイミング制約データから取得し、
    前記スラック算出手段は、前記セットアップ用クロックスキュー値とホールド用クロックスキュー値とに基づいて前記対となる素子におけるデータ入力時とデータ出力時とのそれぞれについて前記スラック値を算出する、
    情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記タイミング制約データは、前記対となる素子に対して入力されるクロック毎に設定された前記クロックスキュー値を含んでおり、
    前記クロックスキュー値取得手段は、前記設計データにて表わされる回路上の前記対となる素子に入力されるクロックに対応する前記クロックスキュー値を前記タイミング制約データから取得する、
    情報処理装置。
  3. 情報処理装置を、
    予め設計された回路の配置及び接続関係を表す設計データと、前記回路上に配置され一方の素子から他方の素子にデータが入力される対となる素子に対してそれぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定されたクロックスキュー値を含むタイミング制約データと、を記憶した記憶手段から、前記設計データ及び前記タイミング制約データを読み出すデータ読み出し手段、
    前記設計データにて表わされる回路に配置された前記対となる素子間に対応して設定された前記クロックスキュー値を前記タイミング制約データから取得するクロックスキュー値取得手段、
    前記設計データに基づいて前記対となる素子間における遅延時間を算出すると共に、当該対となる素子間について前記取得したクロックスキュー値と前記算出した遅延時間とを用いて、前記対となる素子間が予め設定された設計要求を満たすか否かを表すスラック値を算出するスラック算出手段、
    として機能させるためのプログラムであり、
    前記設計データにて表わされる回路は、メッシュ方式クロック回路の後段にツリー構造回路を有する回路であり、
    前記タイミング制約データに含まれる前記クロックスキュー値は、前記対となる素子が分配されている前記回路上の分岐点毎に予め設定されていると共に、当該分岐点は、前記メッシュ方式クロック回路自体と前記ツリー構造回路に含まれる各分岐点とであり、
    前記タイミング制約データは、前記対となる素子のうち前記他方の素子におけるデータ入力時とデータ出力時とにそれぞれ許容されるクロックの遅延差を表すセットアップ用クロックスキュー値とホールド用クロックスキュー値とを前記クロックスキュー値として含み、
    前記クロックスキュー値取得手段は、前記設計データにて表わされる回路上の分岐点毎に対応する前記クロックスキュー値を、当該分岐点にて分配された前記対となる素子間のクロックスキュー値として取得すると共に、当該対となる素子に対応する前記セットアップ用クロックスキュー値と前記ホールド用クロックスキュー値とを前記クロックスキュー値として前記タイミング制約データから取得し、
    前記スラック算出手段は、前記セットアップ用クロックスキュー値とホールド用クロックスキュー値とに基づいて前記対となる素子におけるデータ入力時とデータ出力時とのそれぞれについて前記スラック値を算出する、
    プログラム。
  4. 情報処理装置が、予め設計された回路の配置及び接続関係を表す設計データと、前記回路上に配置され一方の素子から他方の素子にデータが入力される対となる素子に対してそれぞれ入力されるクロックの許容される遅延差を表し当該素子間毎に予め設定されたクロックスキュー値を含むタイミング制約データと、を記憶した記憶手段から、前記設計データ及び前記タイミング制約データを読み出し、
    前記情報処理装置が、前記設計データにて表わされる回路に配置された前記対となる素子間に対応して設定された前記クロックスキュー値を前記タイミング制約データから取得し、
    前記情報処理装置が、前記設計データに基づいて前記対となる素子間における遅延時間を算出すると共に、当該対となる素子間について前記取得したクロックスキュー値と前記算出した遅延時間とを用いて、前記対となる素子間が予め設定された設計要求を満たすか否かを表すスラック値を算出すると共に、
    前記設計データにて表わされる回路は、メッシュ方式クロック回路の後段にツリー構造回路を有する回路であり、
    前記タイミング制約データに含まれる前記クロックスキュー値は、前記対となる素子が分配されている前記回路上の分岐点毎に予め設定されていると共に、当該分岐点は、前記メッシュ方式クロック回路自体と前記ツリー構造回路に含まれる各分岐点とであり、
    前記タイミング制約データは、前記対となる素子のうち前記他方の素子におけるデータ入力時とデータ出力時とにそれぞれ許容されるクロックの遅延差を表すセットアップ用クロックスキュー値とホールド用クロックスキュー値とを前記クロックスキュー値として含み、
    前記情報処理装置が、前記クロックスキュー値の取得時に、前記設計データにて表わされる回路上の分岐点毎に対応する前記クロックスキュー値を、当該分岐点にて分配された前記対となる素子間のクロックスキュー値として取得すると共に、当該対となる素子に対応する前記セットアップ用クロックスキュー値と前記ホールド用クロックスキュー値とを前記クロックスキュー値として前記タイミング制約データから取得し、
    前記情報処理装置が、前記スラック値の算出時に、前記セットアップ用クロックスキュー値とホールド用クロックスキュー値とに基づいて前記対となる素子におけるデータ入力時とデータ出力時とのそれぞれについて前記スラック値を算出する、
    情報処理方法。
JP2009214077A 2009-09-16 2009-09-16 情報処理装置 Expired - Fee Related JP5444985B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009214077A JP5444985B2 (ja) 2009-09-16 2009-09-16 情報処理装置
US12/796,731 US8671374B2 (en) 2009-09-16 2010-06-09 Information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009214077A JP5444985B2 (ja) 2009-09-16 2009-09-16 情報処理装置

Publications (2)

Publication Number Publication Date
JP2011065319A JP2011065319A (ja) 2011-03-31
JP5444985B2 true JP5444985B2 (ja) 2014-03-19

Family

ID=43731716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009214077A Expired - Fee Related JP5444985B2 (ja) 2009-09-16 2009-09-16 情報処理装置

Country Status (2)

Country Link
US (1) US8671374B2 (ja)
JP (1) JP5444985B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955869B (zh) 2011-08-30 2015-04-08 国际商业机器公司 评估时钟偏移的方法和装置
US8843872B1 (en) * 2013-03-15 2014-09-23 Synopsys, Inc. Automatic clock tree synthesis exceptions generation
KR20180092692A (ko) * 2017-02-10 2018-08-20 삼성전자주식회사 Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
CN106960087B (zh) * 2017-03-13 2020-05-19 上海华力微电子有限公司 一种时钟分布网络结构及其生成方法
US10048316B1 (en) 2017-04-20 2018-08-14 Qualcomm Incorporated Estimating timing slack with an endpoint criticality sensor circuit

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63229510A (ja) * 1987-03-18 1988-09-26 Fujitsu Ltd クロツク・スキユ−計算方式
JPH09198420A (ja) * 1996-01-22 1997-07-31 Toshiba Corp 遅延時間予想方法及び装置
JP3104678B2 (ja) * 1998-05-20 2000-10-30 日本電気株式会社 クロック信号分配設計回路及びその方法並びにその制御プログラムを記録した記録媒体
US6922818B2 (en) * 2001-04-12 2005-07-26 International Business Machines Corporation Method of power consumption reduction in clocked circuits
JP2003162561A (ja) 2001-11-28 2003-06-06 Kawasaki Microelectronics Kk タイミング解析方法
US7123056B2 (en) * 2002-12-09 2006-10-17 Mosaid Technologies Incorporated Clock logic domino circuits for high-speed and energy efficient microprocessor pipelines
US6799308B2 (en) * 2002-12-19 2004-09-28 Sun Microsystems, Inc. Timing analysis of latch-controlled digital circuits with detailed clock skew analysis
JP2005136286A (ja) * 2003-10-31 2005-05-26 Nec Electronics Corp 半導体集積回路の設計方法、及びその装置
US7475297B1 (en) * 2004-11-24 2009-01-06 Xilinx, Inc. Efficient method for computing clock skew without pessimism
US7308381B2 (en) * 2005-08-31 2007-12-11 Matsushita Electric Industrial Co., Ltd. Timing verification method for semiconductor integrated circuit
JP2007095028A (ja) * 2005-08-31 2007-04-12 Matsushita Electric Ind Co Ltd 半導体集積回路のタイミング検証方法
US7801718B2 (en) * 2006-03-03 2010-09-21 Fujitsu Limited Analyzing timing uncertainty in mesh-based architectures
US7802215B2 (en) * 2006-06-06 2010-09-21 Fujitsu Limited System and method for providing an improved sliding window scheme for clock mesh analysis
JP4655240B2 (ja) * 2008-09-26 2011-03-23 日本電気株式会社 タイミング解析支援装置

Also Published As

Publication number Publication date
US8671374B2 (en) 2014-03-11
US20110066990A1 (en) 2011-03-17
JP2011065319A (ja) 2011-03-31

Similar Documents

Publication Publication Date Title
US8239795B2 (en) Timing analyzing system for clock delay
US8806414B2 (en) Method and system for layout parasitic estimation
US9171124B2 (en) Parasitic extraction in an integrated circuit with multi-patterning requirements
JP2007183932A (ja) タイミング解析方法及びタイミング解析装置
US8701059B2 (en) Method and system for repartitioning a hierarchical circuit design
JP5444985B2 (ja) 情報処理装置
CN112069763A (zh) 修正电路的方法
US8281269B2 (en) Method of semiconductor integrated circuit device and program
JP4918934B2 (ja) 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム
Kahng et al. RosettaStone: connecting the past, present, and future of physical design research
US20180046744A1 (en) Systems and methods for cell abutment
Li et al. iEDA: An Open-source infrastructure of EDA
US8984456B2 (en) Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US11126768B2 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
CN113536726A (zh) 用于最大瞬时峰值功率的矢量生成
JP2009053830A (ja) 自動配置配線方法およびレイアウト装置
US11087059B2 (en) Clock domain crossing verification of integrated circuit design using parameter inference
JPWO2010101029A1 (ja) 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム
JP2006319162A (ja) クロックツリー作成方法およびクロックツリー作成プログラム
JP2008226069A (ja) 論理回路、半導体設計支援装置および半導体設計支援方法
JP2006012008A (ja) タイミングモデル、及びそれを用いたlsi設計方法
Albort Vergés Implementation of a deep learning accelerator in an open-source PDK
JP2006201825A (ja) 集積回路の遅延解析方法及び遅延解析プログラム
JP5531479B2 (ja) 回路設計方法、及び回路設計プログラム

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130729

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Ref document number: 5444985

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees