JP5564231B2 - Lsi設計方法及びプログラム - Google Patents
Lsi設計方法及びプログラム Download PDFInfo
- Publication number
- JP5564231B2 JP5564231B2 JP2009238893A JP2009238893A JP5564231B2 JP 5564231 B2 JP5564231 B2 JP 5564231B2 JP 2009238893 A JP2009238893 A JP 2009238893A JP 2009238893 A JP2009238893 A JP 2009238893A JP 5564231 B2 JP5564231 B2 JP 5564231B2
- Authority
- JP
- Japan
- Prior art keywords
- path
- clock
- functional module
- clock supply
- point
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
まず、図1を用いて、前記特許文献1に開示されたタイミング設計を適用した、先行技術例としてのLSI設計のフローの例について説明する(Sは処理ステップを示す)。なお処理主体は設計者の操作に基づくコンピュータの情報処理である。LSI設計では、設計仕様1に基づき、S1の機能設計をする。S1では、実現する機能の設計、及び機能を実装するための機能分割をする。次に、S1で分割した機能モジュール毎に、S2のフロアプラン設計、及びS3の論理設計をする。S2では、フロアプラン2を作成する。S3では、RTL論理3を作成する。また、S8の論理検証では、RTL論理3を用いて論理検証をする。また、設計仕様1では、目標ディレイの定義を含む。クロック・ツリー(CTと略す)実装仕様4では、CTのレイアウト方法の定義(CT構造情報)を含む。
以上に基づき、本実施の形態のLSI設計方法(CS予算値設定方法を含む)等について説明する。本方法において、図1(全体),図2(タイミング設計段階(図1のS4),図5(CS予算値の設定(図2のS202))に示すフローの処理を実行する。本方法の処理は、図4の装置において本プログラムの処理により実現される。各フロー処理の概要は基本的に前述の通りである。本実施の形態において従来技術とは異なる特徴的な部分は、特に、タイミング設計(S4)での処理内容(CS予算値の設定方法)である。
図4に、本LSI設計方法及びプログラムにおける、ハードウエア等の装置の実装構成例を示す。設計者が使用するPC等のコンピュータ装置において、本LSI設計方法に従う処理を実現するプログラムを実行する形態である。本プログラムは、ハードディスクドライブ等の補助記憶装置404に記憶されている。また補助記憶装置404には、後述するCS予算値の設定を行うための設計情報などのデータ(図8等)も記憶されている。本LSI設計方法の処理を実施する際には、設計者の操作に基づき、入力装置401の一つであるキーボードによりコマンドを入力して、CPU402に対し、CS予算値設定などの処理の実行を指示する。これにより、補助記憶装置404のプログラムやデータが主記憶装置403にロードされ、CPU402により実行される。実行結果は、例えばディスプレイやプリンタ等の出力装置405で確認できる。
まず、図6を用いて、図5のCT実装仕様501(CT実装仕様情報を含むLSIの実装仕様情報)の例について説明する。CT実装仕様501(図1のCT実装仕様4に相当)は、CT自体の分岐等の構造(CT構造情報)、並びに、チップ600上におけるCTの最終段ゲート(614〜617)がクロックを供給する領域(クロック供給領域)(601〜604)を定義した情報である。CTの分岐点はゲート(611〜617)等である。また、例えば、最終段ゲート614と最終段ゲート615との分岐点はゲート612であり、最終段ゲート615と最終段ゲート616との分岐点はゲート611である、といったように、CT実装仕様501は、CTの最終段ゲートの組み合わせ(対)毎にCTの分岐点を定義し、その分岐点(611〜617)毎にCS予算値などを定義する情報である。なお、分岐点の概念として最終段ゲート(614〜617)も含める。また、分岐点毎に累積分岐回数(Nとする)(CT根元からの累積の分岐回数)を定義した情報を含む。例えば、分岐点611のNは1であり、分岐点612,613のNは2であり、分岐点614〜617のNは3である。
次に、図5を用いて、CS予算値設定方法の処理について説明する。図5は、当該処理フロー及び関連するデータを示す。図8は、関連するデータの構造例を示す。
図9を参照しながら、前記パスにCS予算値を設定する処理の具体例について説明する。図9は、CT実装仕様の例(図6と同様)とフロアプランの例(図7と同様)とを重ね合わせた構成(2次元の位置・座標等)を示す。
図10を用いて実施の形態の効果等について説明する。従来一般的に、LSIの開発・設計では、開発日程(設計期間やそのコスト)、製品の動作速度や消費電力(製品の性能や価格)等、何を優先して開発・設計するか(設計方針)の違いがある。例えば、レイアウト段階でゲート規模・消費電力を最適化しない場合(第1の設計方針)と最適化する場合(第2の設計方針)とがある。第1の設計方針は、レイアウト段階でのゲート最適化処理に要する時間を削減することにより、設計期間全体の短縮を優先する場合である。逆に、第2の設計方針は、レイアウト段階でのゲート最適化処理に時間を要する代わりに、ゲート規模等を削減して製品の性能を高くすることを優先する場合である。
本明細書における基本的な用語や計算式について補足する。パスは、始点から終点までの経路であり、ブロック(機能モジュール)内に収まる場合や、ブロック(機能モジュール)間にわたる場合などがある。パスディレイは、パスの始点から終点までにおけるディレイである。クロック・ツリー(CT)は、クロックの供給元(根元)から複数の供給先(パスの始点や終点を含む)への分岐を含むツリー構造である。クロック・スキュー(CS)は、クロックの供給先となる2点(例えばパスの始点と終点)間におけるクロック到達時間のバラツキ(差分)である。パス(パスディレイ)に関するCSは、パスの始点と終点へのクロック到達のディレイ(値)を例えばd1,d2とすると、その差分[d1−d2]である。この差分には、LSI製造工程で発生するバラツキを含む。
Claims (5)
- 設計者の操作に基づいてコンピュータによりソフトウェアプログラムに従う情報処理を行うことによりLSIを設計するLSI設計方法であって、
前記LSIの設計のうちのタイミング設計段階において、
実装仕様から、クロック・ツリーの最終段ゲート毎にクロック供給領域の情報を抽出する処理を行う第1の工程と、
前記実装仕様から、最終段ゲートまたはそれに対応付けられるクロック供給領域の組み合わせの対毎にクロック・ツリー分岐点を抽出する処理を行う第2の工程と、
前記実装仕様から、クロック・ツリー分岐点毎にクロック・スキュー予算値を抽出する処理を行う第3の工程と、
前記実装仕様から、クロック・ツリー分岐点毎に累積分岐回数を抽出する処理を行う第4の工程と、
前記第1、第2、及び第3の工程で抽出した情報を用いて、前記クロック供給領域またはそれに対応付けられる最終段ゲートの組み合わせの対毎にクロック・スキュー予算値を設定する処理を行う第5の工程と、
前記第1、第2、及び第4の工程で抽出した情報を用いて、前記クロック供給領域またはそれに対応付けられる最終段ゲートの組み合わせの対毎に前記クロック・ツリー分岐点の累積分岐回数を設定する処理を行う第6の工程と、
パスの始点を含む機能モジュールの位置、及び終点を含む機能モジュールの位置の情報を抽出する処理を行う第7の処理と、
前記第7の工程で抽出した、パスの始点を含む機能モジュールの位置、及び終点を含む機能モジュールの位置と、前記第5の工程で設定したクロック供給領域の対との関係の判別に基づき、当該パスに対して、前記クロック・ツリー分岐点に応じた、前記第5の工程で設定したクロック・スキュー予算値を設定する処理を行う第8の工程と、を有し、
前記第8の工程では、当該パスの始点又は終点の少なくとも一方を含む機能モジュールが、複数のクロック供給領域に所属する場合は、当該機能モジュールが所属するすべてのクロック供給領域の組み合わせの対について、前記第6の工程で設定したクロック・ツリー分岐点の累積分岐回数を参照し、当該回数が最も少ない当該クロック供給領域の対について前記第5の工程で設定したクロック・スキュー予算値を、当該パスに設定する処理を行うこと、を特徴とするLSI設計方法。 - 請求項1記載のLSI設計方法において、
前記第5の工程では、前記クロック供給領域に対応付けられる最終段ゲートをクロック・ツリー分岐点としてクロック・スキュー予算値を設定し、
前記第8の工程では、当該パスの始点を含む機能モジュールの位置、及び終点含む機能モジュールの位置が、同じクロック供給領域に所属する場合は、当該機能モジュールが所属するクロック供給領域に対応付けられる最終段ゲートについて前記第5の工程で設定したクロック・スキュー予算値を、当該パスに設定する処理を行うこと、を特徴とするLSI設計方法。 - 請求項1または2に記載のLSI設計方法において、
前記第8の工程では、パス及び機能モジュールの情報を用いて、パスの始点を含む機能モジュール、及び終点を含む機能モジュールを判別し、当該機能モジュールの各々について、前記第7の工程で抽出した機能モジュールの位置と、前記第5の工程で設定したクロック供給領域とを重ね合わせることにより、当該機能モジュールが所属するクロック供給領域を判別し、当該パスに関係付けられる当該クロック供給領域の対について前記第5の工程で設定したクロック・スキュー予算値を、当該パスに設定する処理を行うこと、を特徴とするLSI設計方法。 - 請求項1〜3のいずれか一項に記載のLSI設計方法において、
前記タイミング設計段階において、
前記パスのパスディレイに関する目標値を設定する処理と、
前記パスに対して前記クロック・スキュー予算値を設定する処理と、
前記パスのパスディレイの見積もり値を計算する処理と、
前記パスのパスディレイに関する前記目標値と前記見積もり値とを比較して当該パスの収束可否を診断する処理と、
前記収束するパスについて、前記目標値から前記クロック・スキュー予算値を引いた値を、パスディレイ予算値として設定する処理と、を有すること、を特徴とするLSI設計方法。 - 設計者の操作に基づいてコンピュータに情報処理を実行させることによりLSIを設計するLSI設計プログラムであって、
前記LSIの設計のうちのタイミング設計段階において、
実装仕様から、クロック・ツリーの最終段ゲート毎にクロック供給領域の情報を抽出する第1の処理と、
前記実装仕様から、最終段ゲートまたはそれに対応付けられるクロック供給領域の組み合わせの対毎にクロック・ツリー分岐点を抽出する第2の処理と、
前記実装仕様から、クロック・ツリー分岐点毎にクロック・スキュー予算値を抽出する第3の処理と、
前記実装仕様から、クロック・ツリー分岐点毎に累積分岐回数を抽出する第4の処理と、
前記第1、第2、及び第3の処理で抽出した情報を用いて、前記クロック供給領域またはそれに対応付けられる最終段ゲートの組み合わせの対毎にクロック・スキュー予算値を設定する第5の処理と、
前記第1、第2、及び第4の処理で抽出した情報を用いて、前記クロック供給領域またはそれに対応付けられる最終段ゲートの組み合わせの対毎に前記クロック・ツリー分岐点の累積分岐回数を設定する第6の処理と、
パスの始点を含む機能モジュールの位置、及び終点を含む機能モジュールの位置の情報を抽出する第7の処理と、
前記第7の処理で抽出した、パスの始点を含む機能モジュールの位置、及び終点を含む機能モジュールの位置と、前記第5の処理で設定したクロック供給領域の対との関係の判別に基づき、当該パスに対して、前記クロック・ツリー分岐点に応じた、前記第5の処理で設定したクロック・スキュー予算値を設定する第8の処理と、をコンピュータに実行させ、
前記第8の処理では、当該パスの始点又は終点の少なくとも一方を含む機能モジュールが、複数のクロック供給領域に所属する場合は、当該機能モジュールが所属するすべてのクロック供給領域の組み合わせの対について、前記第6の処理で設定したクロック・ツリー分岐点の累積分岐回数を参照し、当該回数が最も少ない当該クロック供給領域の対について前記第5の処理で設定したクロック・スキュー予算値を、当該パスに設定する処理をコンピュータに実行させること、を特徴とするLSI設計プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009238893A JP5564231B2 (ja) | 2009-10-16 | 2009-10-16 | Lsi設計方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009238893A JP5564231B2 (ja) | 2009-10-16 | 2009-10-16 | Lsi設計方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011086136A JP2011086136A (ja) | 2011-04-28 |
JP5564231B2 true JP5564231B2 (ja) | 2014-07-30 |
Family
ID=44079032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009238893A Expired - Fee Related JP5564231B2 (ja) | 2009-10-16 | 2009-10-16 | Lsi設計方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5564231B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06266795A (ja) * | 1993-03-16 | 1994-09-22 | Hokuriku Nippon Denki Software Kk | 遅延時間改良方式 |
JP3599531B2 (ja) * | 1997-07-17 | 2004-12-08 | 株式会社日立製作所 | 半導体集積回路のクロックスキュー低減方法 |
JP3953756B2 (ja) * | 2001-07-12 | 2007-08-08 | 富士通株式会社 | タイミングバジェット設計方法 |
JP2005136286A (ja) * | 2003-10-31 | 2005-05-26 | Nec Electronics Corp | 半導体集積回路の設計方法、及びその装置 |
JP2006268165A (ja) * | 2005-03-22 | 2006-10-05 | Sharp Corp | 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体 |
JP4966838B2 (ja) * | 2007-12-14 | 2012-07-04 | エヌイーシーコンピュータテクノ株式会社 | クロック配線処理装置、クロック配線処理方法、及びプログラム |
-
2009
- 2009-10-16 JP JP2009238893A patent/JP5564231B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011086136A (ja) | 2011-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8635572B1 (en) | Circuitry having programmable power rails, architectures, apparatuses, and systems including the same, and methods and algorithms for programming and/or configuring power rails in an integrated circuit | |
US7917882B2 (en) | Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof | |
US9430608B2 (en) | Fixing of semiconductor hold time | |
US10740520B2 (en) | Pessimism in static timing analysis | |
US7725843B2 (en) | Behavioral synthesis apparatus, behavioral synthesis method, method for manufacturing digital circuit, behavioral synthesis control program and computer-readable recording medium | |
US9047434B2 (en) | Clustering for processing of circuit design data | |
JP4969416B2 (ja) | 動作タイミング検証装置及びプログラム | |
US8621415B2 (en) | Obtaining power domain by clustering logical blocks based on activation timings | |
JP5564231B2 (ja) | Lsi設計方法及びプログラム | |
US10318699B1 (en) | Fixing hold time violations using hold time budgets and slacks of setup times | |
JP2014035667A (ja) | Lsi設計方法およびlsi設計装置 | |
Shin et al. | HLS-dv: A high-level synthesis framework for dual-Vdd architectures | |
US9355207B2 (en) | Performing static timing analysis in the presence of instance-based systematic variations | |
US10503861B1 (en) | Placing and routing an interface portion and a main portion of a circuit design | |
US10540463B1 (en) | Placement of delay circuits for avoiding hold violations | |
Widialaksono et al. | Physical design of a 3D-stacked heterogeneous multi-core processor | |
Wang et al. | Variation-aware resource sharing and binding in behavioral synthesis | |
JP2001267429A (ja) | レイアウト設計装置およびレイアウト設計方法 | |
JP2008176486A (ja) | 多電源集積回路の設計方法、多電源集積回路の設計支援システム及びプログラム | |
US11934760B1 (en) | Voltage impacts on delays for timing simulation | |
Lee et al. | Efficient package pin-out planning with system interconnects optimization for package-board codesign | |
Deutsch et al. | Robust optimization of test-architecture designs for core-based SoCs | |
MohammadZadeh et al. | Multi-domain clock skew scheduling-aware register placement to optimize clock distribution network | |
Huang et al. | Performance-driven architectural synthesis for distributed register-file microarchitecture considering inter-island delay | |
US8484008B2 (en) | Methods and systems for performing timing sign-off of an integrated circuit design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121005 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130521 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131022 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131219 |
|
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: 20140527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140616 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5564231 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |