JP6301363B2 - 有用なスキューで最適化を導くためのパイプラインに沿ったタイミングボトルネックの分析 - Google Patents
有用なスキューで最適化を導くためのパイプラインに沿ったタイミングボトルネックの分析 Download PDFInfo
- Publication number
- JP6301363B2 JP6301363B2 JP2015550777A JP2015550777A JP6301363B2 JP 6301363 B2 JP6301363 B2 JP 6301363B2 JP 2015550777 A JP2015550777 A JP 2015550777A JP 2015550777 A JP2015550777 A JP 2015550777A JP 6301363 B2 JP6301363 B2 JP 6301363B2
- Authority
- JP
- Japan
- Prior art keywords
- slack
- path
- logic
- chain
- complex
- 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.)
- Active
Links
- 238000005457 optimization Methods 0.000 title claims description 47
- 238000013461 design Methods 0.000 claims description 40
- 238000000034 method Methods 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 19
- 239000002131 composite material Substances 0.000 claims description 13
- 230000002085 persistent effect Effects 0.000 claims description 12
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 238000009795 derivation Methods 0.000 claims 3
- 230000037361 pathway Effects 0.000 claims 1
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 6
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013440 design planning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Description
この開示は、電子設計自動化(EDA)に関する。より特定的には、この開示は、回路設計の最適化に関する。
処理技術の進歩および消費者向け電子機器への事実上無限の欲求は、集積回路(IC)設計の規模および複雑さの急速な増大を加速させている。IC設計の規模および複雑さの急速な増大により、回路設計の高レベルの記述を、一連のタイミングの制約を満たし同時に領域、漏洩電力等の付加的な指標を最適化する実現化に変換することは、ますます困難となっている。
ここに記載されたいくつかの実施例は、回路設計の最適化を導くための技術およびシステムを提供する。ここに記載のいくつかの実施例は、回路設計における論理経路の一連の鎖に対する一連の複合緩み(この開示では超経路緩みとも称す)を計算する。論理経路の各鎖は、信号を送出するのみで信号を捕捉はしない順序回路素子または一次入力から始まり、信号を捕捉するのみで信号を送出はしない順序回路素子または一次出力で終わる。次に実施例は、一連の複合緩みに基づいて、回路設計の回路最適化を導く。より特定的には、いくつかの実施例は、一連の複合緩みに基づいて、クロック木合成(CTS)の前に行なわれる回路最適化を導く。
以下の記載は、本願のいかなる当業者であっても発明を生産し使用することが可能なように提示されており、特定の応用およびその要件の文脈において与えられる。開示された実施例に対する種々の変更は、本願の当業者には容易に明らかであり、ここに定義される一般的な原理は、本発明の精神および範囲から離れることなく他の実施例および応用に適用され得る。このように、本発明は、示された実施例に限定されることなく、ここに開示された原理および特徴と整合する最も広い範囲に合致する。この開示では、「および/または」という用語が存在物のリストとともに用いられた場合、それは存在物のリストのすべての可能な組合せを言及する。たとえば、「X、Yおよび/またはZ」という語句は、(1)Xのみ、(2)Yのみ、(3)Zのみ、(4)XおよびY、(5)XおよびZ、(6)YおよびZ、(7)X、YおよびZの場合を包含する。
回路設計を生成するのにEDAフローが用いられ得る。回路設計がいったん完了すると、それは集積回路チップを生産するために、製造、包装および組立を受け得る。EDAフローは、複数の工程を含み得、各工程は、1以上のEDAソフトウェアツールを用いることを含み得る。いくつかのEDA工程およびソフトウェアツールが以下に記載される。EDA工程およびソフトウェアツールのこれらの例は、例示の目的のみのためであって、開示された形式に実施例を限定する意図はない。
図1は、ここに記載されたいくつかの実施例による回路設計を示す。回路設計100は、順序回路素子104、108及び112を含む。入力ピン「In」は、順序回路素子104の入力ピン「D」に結合された組合せ論理102に結合される。順序回路素子104の出力ピン「Q」は、順序回路素子108の入力ピン「D」に結合された組合せ論理106に結合される。順序回路素子108の出力ピン「Q」は、順序回路素子112の入力ピン「D」に結合された組合せ論理110に結合される。順序回路素子112の出力ピン「Q」は、出力ピン「Out」に結合された組合せ論理114に結合される。順序回路素子104、108及び112のクロック入力は、クロックピン「Clk」に結合される。
ここで、Tはクロック周期、LLは送出クロック潜時(launch clock latency)(すなわち、送出する順序回路素子での「理想の」クロック端と実際のクロック端との間の時間差)、Dは超弧遅延、そして、LCは捕捉クロック潜時(すなわち、捕捉する順序回路素子におけるクロックルート(root)での「理想の」クロック端と実際のクロック端との間の時間差)のことである。
図6は、ここに記載されたいくつかの実施例によるコンピュータシステムを示す。コンピュータシステムは、一般に、計算を行なうことのできるあらゆるシステムであり得る。具体的には、コンピュータシステムは、マイクロプロセッサ、特定用途向け集積回路、分散計算システム、クラウド計算システム、または現在知られまたは後に開発されるいかなる他の計算システムであり得る。コンピュータシステム602は、プロセッサ604、メモリ606、および記憶608を含む。コンピュータシステム602は、ディスプレイ614、キーボード610、およびポインティング装置612と結合され得る。記憶608は、一般に、データを記憶できるあらゆる装置であり得る。具体的には、記憶装置は、磁気、光、または磁気光学の記憶装置であり得る、または、フラッシュメモリおよび/またはバッテリ支援メモリに基づき得る。記憶608は、アプリケーション616、オペレーティングシステム618およびデータ620を記憶し得る。
Claims (15)
- コンピュータによって実行される、回路最適化を導くための方法であって、前記方法は、
回路設計における論理経路の一連の鎖に対する一連の複合緩みを計算することを含み、論理経路の各鎖は、信号を送出するのみで信号を捕捉はしない順序回路素子または一次入力から始まり、信号を捕捉するのみで信号を送出はしない順序回路素子または一次出力で終わり、前記方法は、さらに、
前記一連の複合緩みに基づいて前記回路設計の回路最適化を導くことを含み、前記導くことは、一連の複合緩みにおけるすべての複合緩みが0以上の場合に回路最適化を終わらせることを含む、方法。 - 前記導くことは、論理経路の鎖において複合緩みが0以上の論理経路のタイミング破壊を解決しようとしないことを含む、請求項1に記載の方法。
- 前記導くことは、論理経路の鎖において複合緩みが負の論理経路のタイミング破壊を解決しようとすることを含む、請求項1に記載の方法。
- 前記導くことは、複合緩みが負の論理経路の鎖の複合緩みを増大させようとすることを含む、請求項1に記載の方法。
- 前記導くことは、負の緩みを有する論理経路のいくつの鎖が論理経路を含むかに基づいて論理経路に対する優先度を割り当てることを含み、前記回路最適化は、優先度の順位の減少において論理経路のタイミング緩みを増大させようとする、請求項1に記載の方法。
- コンピュータによって実行されるとき、回路最適化を導くための方法を前記コンピュータに行なわせる命令を記憶する持続的なコンピュータ読取可能な記憶媒体であって、前記方法は、
回路設計における論理経路の一連の鎖に対する一連の複合緩みを計算することを含み、論理経路の各鎖は、信号を送出するのみで信号を捕捉はしない順序回路素子または一次入力から始まり、信号を捕捉するのみで信号を送出はしない順序回路素子または一次出力で終わり、前記方法は、さらに、
前記一連の複合緩みに基づいて前記回路設計の回路最適化を導くことを含み、前記導くことは、一連の複合緩みにおけるすべての複合緩みが0以上の場合に回路最適化を終わらせることを含む、持続的なコンピュータ読取可能な記憶媒体。 - 前記導くことは、論理経路の鎖において複合緩みが0以上の論理経路のタイミング破壊を解決しようとしないことを含む、請求項6に記載の持続的なコンピュータ読取可能な記憶媒体。
- 前記導くことは、論理経路の鎖において複合緩みが負の論理経路のタイミング破壊を解決しようとすることを含む、請求項6に記載の持続的なコンピュータ読取可能な記憶媒体。
- 前記導くことは、複合緩みが負の論理経路の鎖の複合緩みを増大させようとすることを含む、請求項6に記載の持続的なコンピュータ読取可能な記憶媒体。
- 前記導くことは、負の緩みを有する論理経路のいくつの鎖が論理経路を含むかに基づいて論理経路に対する優先度を割り当てることを含み、前記回路最適化は、優先度の順位の減少において論理経路のタイミング緩みを増大させようとする、請求項6に記載の持続的なコンピュータ読取可能な記憶媒体。
- 機器であって、
プロセッサと、
前記プロセッサによって実行されるとき、回路最適化を導くための方法を前記機器に行なわせる命令を記憶する持続的なコンピュータ読取可能な記憶媒体とを含み、前記方法は、
回路設計における論理経路の一連の鎖に対する一連の複合緩みを計算することを含み、論理経路の各鎖は、信号を送出するのみで信号を捕捉はしない順序回路素子または一次入力から始まり、信号を捕捉するのみで信号を送出はしない順序回路素子または一次出力で終わり、前記方法は、さらに、
前記一連の複合緩みに基づいて前記回路設計の回路最適化を導くことを含み、前記導くことは、一連の複合緩みにおけるすべての複合緩みが0以上の場合に回路最適化を終わらせることを含む、機器。 - 前記導くことは、論理経路の鎖において複合緩みが0以上の論理経路のタイミング破壊を解決しようとしないことを含む、請求項11に記載の機器。
- 前記導くことは、論理経路の鎖において複合緩みが負の論理経路のタイミング破壊を解決しようとすることを含む、請求項11に記載の機器。
- 前記導くことは、複合緩みが負の論理経路の鎖の複合緩みを増大させようとすることを含む、請求項11に記載の機器。
- 前記導くことは、負の緩みを有する論理経路のいくつの鎖が論理経路を含むかに基づいて論理経路に対する優先度を割り当てることを含み、前記回路最適化は、優先度の順位の減少において論理経路のタイミング緩みを増大させようとする、請求項11に記載の機器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261746067P | 2012-12-26 | 2012-12-26 | |
US61/746,067 | 2012-12-26 | ||
PCT/US2013/077877 WO2014105988A1 (en) | 2012-12-26 | 2013-12-26 | Timing bottleneck analysis across pipelines to guide optimization with useful skew |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016503923A JP2016503923A (ja) | 2016-02-08 |
JP6301363B2 true JP6301363B2 (ja) | 2018-03-28 |
Family
ID=50976279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015550777A Active JP6301363B2 (ja) | 2012-12-26 | 2013-12-26 | 有用なスキューで最適化を導くためのパイプラインに沿ったタイミングボトルネックの分析 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9292641B2 (ja) |
JP (1) | JP6301363B2 (ja) |
CN (1) | CN104969226B (ja) |
DE (1) | DE112013005833T5 (ja) |
WO (1) | WO2014105988A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5883676B2 (ja) * | 2012-02-22 | 2016-03-15 | ルネサスエレクトロニクス株式会社 | Lsi設計方法 |
US9483601B2 (en) * | 2015-03-24 | 2016-11-01 | International Business Machines Corporation | Circuit routing based on total negative slack |
US10296686B1 (en) * | 2015-12-14 | 2019-05-21 | Apple Inc. | Switching-activity-based selection of low-power sequential circuitry |
US10002224B2 (en) * | 2016-02-29 | 2018-06-19 | Synopsys, Inc. | Interactive routing of connections in circuit using auto welding and auto cloning |
US10568203B2 (en) * | 2017-06-07 | 2020-02-18 | International Business Machines Corporation | Modifying a circuit design |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09146991A (ja) * | 1995-11-16 | 1997-06-06 | Fujitsu Ltd | エンジニアリング・チェンジ論理合成システム |
CA2450135A1 (en) * | 2001-06-08 | 2002-12-19 | Magma Design Automation, Inc. | Method for generating design constraints for modulates in a hierarchical integrated circuit design system |
US6550045B1 (en) * | 2001-11-20 | 2003-04-15 | Lsi Logic Corporation | Changing clock delays in an integrated circuit for skew optimization |
US7117466B2 (en) * | 2003-09-18 | 2006-10-03 | International Business Machines Corporation | System and method for correlated process pessimism removal for static timing analysis |
US7278126B2 (en) * | 2004-05-28 | 2007-10-02 | Qualcomm Incorporated | Method and apparatus for fixing hold time violations in a circuit design |
US7810061B2 (en) * | 2004-09-17 | 2010-10-05 | Cadence Design Systems, Inc. | Method and system for creating a useful skew for an electronic circuit |
US7225421B2 (en) * | 2005-01-28 | 2007-05-29 | International Business Machines Corporation | Clock tree distribution generation by determining allowed placement regions for clocked elements |
US7559040B1 (en) * | 2005-06-02 | 2009-07-07 | Cadence Design Systems, Inc. | Optimization of combinational logic synthesis through clock latency scheduling |
US7506293B2 (en) * | 2006-03-22 | 2009-03-17 | Synopsys, Inc. | Characterizing sequential cells using interdependent setup and hold times, and utilizing the sequential cell characterizations in static timing analysis |
US7404163B2 (en) * | 2006-03-24 | 2008-07-22 | International Business Machines Corporation | Static timing slacks analysis and modification |
US7694242B1 (en) * | 2006-12-11 | 2010-04-06 | Cadence Design Systems, Inc. | System and method of replacing flip-flops with pulsed latches in circuit designs |
US7546567B2 (en) * | 2007-01-10 | 2009-06-09 | Synopsys, Inc. | Method and apparatus for generating a variation-tolerant clock-tree for an integrated circuit chip |
US7784003B2 (en) * | 2007-02-26 | 2010-08-24 | International Business Machines Corporation | Estimation of process variation impact of slack in multi-corner path-based static timing analysis |
US7689957B2 (en) * | 2007-09-10 | 2010-03-30 | Synopsys, Inc. | Identifying and improving robust designs using statistical timing analysis |
JP2009282638A (ja) * | 2008-05-20 | 2009-12-03 | Nec Electronics Corp | レイアウト設計システム、レイアウト設計方法、及びプログラム |
US8255860B1 (en) | 2009-04-03 | 2012-08-28 | Altera Corporation | Exploiting independent portions of logic designs for timing optimization |
US8336012B2 (en) * | 2009-04-09 | 2012-12-18 | Lsi Corporation | Automated timing optimization |
US8185371B2 (en) * | 2009-04-15 | 2012-05-22 | International Business Machines Corporation | Modeling full and half cycle clock variability |
US8539413B1 (en) * | 2010-04-27 | 2013-09-17 | Applied Micro Circuits Corporation | Frequency optimization using useful skew timing |
JP2011238163A (ja) | 2010-05-13 | 2011-11-24 | Renesas Electronics Corp | 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム |
US8522187B2 (en) | 2010-12-06 | 2013-08-27 | International Business Machines Corporation | Method and data processing system to optimize performance of an electric circuit design, data processing program and computer program product |
US8584065B2 (en) * | 2011-05-05 | 2013-11-12 | Advanced Micro Devices, Inc. | Method and apparatus for designing an integrated circuit |
US8719747B2 (en) * | 2012-01-31 | 2014-05-06 | Mentor Graphics Corporation | Single event upset mitigation for electronic design synthesis |
US20140149956A1 (en) * | 2012-11-28 | 2014-05-29 | International Business Machines Corporation | Corner specific normalization of static timing analysis |
-
2013
- 2013-12-26 CN CN201380072158.3A patent/CN104969226B/zh active Active
- 2013-12-26 JP JP2015550777A patent/JP6301363B2/ja active Active
- 2013-12-26 DE DE112013005833.2T patent/DE112013005833T5/de active Pending
- 2013-12-26 US US14/141,280 patent/US9292641B2/en active Active
- 2013-12-26 WO PCT/US2013/077877 patent/WO2014105988A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20140181779A1 (en) | 2014-06-26 |
WO2014105988A1 (en) | 2014-07-03 |
CN104969226A (zh) | 2015-10-07 |
US9292641B2 (en) | 2016-03-22 |
JP2016503923A (ja) | 2016-02-08 |
DE112013005833T5 (de) | 2015-08-27 |
CN104969226B (zh) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8453085B2 (en) | Method for estimating the latency time of a clock tree in an ASIC design | |
US9268889B2 (en) | Verification of asynchronous clock domain crossings | |
JP6301363B2 (ja) | 有用なスキューで最適化を導くためのパイプラインに沿ったタイミングボトルネックの分析 | |
US7552409B2 (en) | Engineering change order process optimization | |
US7987440B2 (en) | Method and system for efficient validation of clock skews during hierarchical static timing analysis | |
US8578310B2 (en) | Method of measuring the impact of clock skew on slack during a statistical static timing analysis | |
US8689158B2 (en) | System and method for performing static timing analysis in the presence of correlations between asserted arrival times | |
US10990121B2 (en) | Apparatus and method for achieving glitch-free clock domain crossing signals | |
US10318684B2 (en) | Network flow based framework for clock tree optimization | |
US9009645B2 (en) | Automatic clock tree routing rule generation | |
CN111936998A (zh) | 数据变换流水线的硬件设计的验证 | |
CN104981806B (zh) | 自动时钟树综合例外生成 | |
US9489478B2 (en) | Simplifying modes of an electronic circuit by reducing constraints | |
US10372851B2 (en) | Independently projecting a canonical clock | |
US10885248B1 (en) | Method for modeling glitches during circuit simulation | |
Hassan et al. | Optimization of circuitry for power and area efficiency by using combination between latch and register | |
JP2013061811A (ja) | 消費電力解析方法および消費電力解析装置 | |
US9542514B2 (en) | Constraint memory node identification in sequential logic | |
Zhong et al. | Clock gating assertion check: an approach towards achieving faster verification closure on clock gating functionality | |
Kudlugi et al. | Static schedluing of multiple asynchronous domains for functional verification | |
Miyase et al. | A study of capture-safe test generation flow for at-speed testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160728 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171215 |
|
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: 20180206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6301363 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |