JP6318777B2 - 設計方法、設計装置およびプログラム - Google Patents
設計方法、設計装置およびプログラム Download PDFInfo
- Publication number
- JP6318777B2 JP6318777B2 JP2014072422A JP2014072422A JP6318777B2 JP 6318777 B2 JP6318777 B2 JP 6318777B2 JP 2014072422 A JP2014072422 A JP 2014072422A JP 2014072422 A JP2014072422 A JP 2014072422A JP 6318777 B2 JP6318777 B2 JP 6318777B2
- Authority
- JP
- Japan
- Prior art keywords
- skew
- circuit units
- value
- frequency
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 52
- 238000013461 design Methods 0.000 title claims description 40
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000012545 processing Methods 0.000 claims description 23
- 238000000354 decomposition reaction Methods 0.000 claims description 10
- 239000002131 composite material Substances 0.000 claims description 6
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000005428 wave function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 208000032365 Electromagnetic interference Diseases 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000010408 sweeping 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/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- 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/06—Power analysis or power optimisation
-
- 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/10—Noise analysis or noise optimisation
-
- 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
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
スキュー分散方法は、回路部毎に供給するクロック信号にスキューを発生させて、回路部への到達時間を意図的にずらし、回路部間の動作を時間的に分散させることで、電流ピークを抑えてノイズの低減を図るものである。
(第1の実施の形態)
図1は、第1の実施の形態の設計方法および設計装置の一例を示す図である。
プロセッサ2は、記憶部3に記憶されているデータおよびプログラムに基づき、以下のような処理を実行する。
プロセッサ21は、例えば、そのスキュー値の範囲の遅延時間をもつクロックバッファ14を使用してクロックツリーの設計を行う。スキュー値の調整および決定が容易になることで、設計時間の短縮も期待できる。
以下、第2の実施の形態の設計方法および設計装置の一例を示す。
図2は、第2の実施の形態の設計装置の一例を示す図である。
図3は、設計対象のクロックツリーの一例を示す図である。
図3には回路部b1〜bnにクロック信号を供給するクロックツリーの一例が示されている。回路部b1〜bnは、クロック信号に同期して動作するフリップフロップ回路などを含んでいる。PLL(Phase Locked Loop)30から出力されるクロック信号は、クロックバッファcb1〜cbnを介して回路部b1〜bnに供給される。なお、クロックバッファcb1〜cbnによる遅延時間差は抑えて、回路部b1〜bnに到達するクロック信号には、スキューが発生しないように設計されているものとする。
図4、図5は、第2の実施の形態の設計方法の一例の流れを示すフローチャートである。
プロセッサ21は、RAM22またはHDD23に記憶された三角波電流A1〜Anを読み出して、それぞれ周波数成分に分解する(ステップS12)。この場合、1つの三角波電流を周波数分解するならば、基本周波数と、その基本周波数の整数倍の周波数である複数の高調波とに分解できる。なお、基本周波数とは、ここではクロック信号の周波数に相当する。
正弦波b1(f1)=Ab1(f1)cos(ω1(t+t0))、正弦波b1(f2)=Ab1(f2)cos(ω2(t+t0))、・・・、正弦波b1(fm)=Ab1(fm)cos(ωm(t+t0))である。ここで、Ab1(fk)は回路部b1における三角波電流A1に含まれている周波数fkの振幅、ωは角周波数、t0は初期位相時間である。
次にプロセッサ21は、三角波電流に含まれている複数の周波数の中で、特定の周波数のノイズ電流の抑制を図るために、その特定の周波数を着目周波数として選定する(ステップS14)。
プロセッサ21は、回路部b1〜bnの中から到達するクロック信号の遅延時間を増加させる回路部(以下、クロックスキュー適用回路とも呼ぶ)を選定する(ステップS16)。
正弦波b1(f1)=Ab1(f1)cos(ω1(t+t0b1))・・・(1)
また、回路部b2の着目周波数f1の正弦波b2(f1)は、クロックスキュー候補値=tsb2の分位相がずれるので、振幅をAb2(f1)、初期位相時間をt0b2とすれば、正弦波b2(f1)は以下の式(2)となる。
・・・(2)
同様に、回路部bnの着目周波数f1の正弦波bn(f1)は、クロックスキュー候補値=tsbnの分位相がずれるので、振幅をAbn(f1)、初期位相時間をt0bnとすれば、正弦波bn(f1)は以下の式(3)となる。
・・・(3)
したがって、これら正弦波の合成波(合成正弦波)I(f1)は、以下の式(4)となる。
+Ab2(f1)cos(ω1(t+t0b2+tsb2))
+・・・
+Abn(f1)cos(ω1(t+t0bn+tsbn))・・・(4)
なお、実際には、クロックスキュー候補値tsb2〜tsbnを調整しながら(例えば、低い値から高い値へ徐々に増加させながら)、着目周波数の正弦波の位相をずらし、位相をずらした複数の着目周波数の正弦波を合成することになる。
なお、着目周波数f1のクロックスキュー候補値がp個あるとすれば、図5中の合成正弦波I(f1)-1は、1個目のクロックスキュー候補値が割り当てられた着目周波数f1における合成正弦波であることを示している。また、合成正弦波I(f1)-pは、p個目のクロックスキュー候補値が割り当てられた着目周波数f1における合成正弦波であることを示している。
(三角波電流の生成例)
図6は三角波電流波形の例を示す図である。
次にステップS12の周波数分解処理の一例について説明する。
三角波電流波形の周波数分解には、例えば、以下の式(5)に示すようなフーリエ級数式を使用することができる。式(5)において、Aは振幅、Tは周期、τは波形幅(パルス幅)、xは次数(高調波の次数)、ω0は初期角周波数である。
図7は正弦波関数テーブルの一例を示す図である。
(着目周波数の選定処理例)
三角波電流に含まれている複数の周波数のうち、どの高調波周波数を着目周波数として選定するかは、以下のような指標にもとづいて決定される。
(クロックスキュー適用回路の選定例)
クロックスキュー適用回路を選定する場合、プロセッサ21は、例えば、消費電流またはタイミング制約にもとづいて選定する。
(クロックスキュー候補値の生成処理例)
スキュー値は、回路部に対するタイミング制約で規定された値(タイミング制約値)を最大値とするので、プロセッサ21は、その最大値を分割した値(例えば、等分割した値)をスイープ(sweep)して、複数のクロックスキュー候補値を生成する。
クロックスキュー設定テーブルT2は、クロックスキュー候補値を生成する際に利用されるテーブルであり、例えば、RAM22またはHDD23で記憶される。
(正弦波合成処理例)
正弦波関数テーブルT1において、プロセッサ21が、ノイズ電流の抑制対象の着目周波数として周波数f2,f3,fjを設定したとする。
着目周波数設定テーブルT3は、xを次数にして、着目周波数を可変的に設定するためのテーブルであり、例えば、RAM22またはHDD23で記憶される。
クロックスキュースイープテーブルT4は、yをスイープステップ番号にして、クロックスキュー候補値を可変的に設定するためのテーブルであり、例えば、RAM22またはHDD23で記憶される。
プロセッサ21は、次数xがMを超えるか否かを判別する(ステップS30)。次数xがMを超えなければステップS31の処理が行われ、Mを超えたら処理が終了される。
その後、プロセッサ21は、スイープステップ番号yがNを超えるか否かを判別する(ステップS32)。スイープステップ番号yがNを超えなければステップS33の処理が行われ、Nを超えたらステップS36の処理が行われる。
図12は合成正弦波の一例を示す図である。
なお、単純化のため、回路部b1へ与えるクロックスキュー候補値tsb1は固定とする。さらに、回路部b2へ与えるクロックスキュー候補値tsb2と、回路部bnへ与えるクロックスキュー候補値tsbnとを等しい値でスイープしたものを想定している。なお、クロックスキュー候補値tsb1,tsb2,tsbnを個別に任意に設定する場合、図11のステップS33の手順を所定回数行えばよい。
以上説明したように、本実施の形態の設計方法及び設計装置によれば、合成振幅のスキュー依存性を求めることで、各周波数のノイズを抑制できるスキュー値がわかる。つまり、設定したスキュー値によってどの周波数ではノイズが抑制され、どの周波数では悪化してしまうかが明瞭に評価することも可能になる。そのためスキュー値の調整が容易になり、所望の周波数のノイズを抑制できる高精度なスキュー値の設定と、TAT(Turn Around Time)の短縮化が可能となる。
2 プロセッサ
3 記憶部
10,11 回路部
12 クロック生成部
13,14,15 クロックバッファ
Claims (6)
- 設計装置が、
クロックスキューの調整を行うときに、
クロック信号に同期して動作する複数の回路部の電源電流をそれぞれ周波数成分で分解し、
前記複数の回路部に到達する前記クロック信号のスキュー値を設定し、
周波数成分での分解によって得られる各周波数成分の前記複数の回路部の前記電源電流を、前記複数の回路部間で周波数成分毎に合成することにより、合成振幅を算出する処理を、前記スキュー値を変更することで繰り返し、前記合成振幅のスキュー依存性を求める、
ことを特徴とする設計方法。 - 周波数成分での分解によって得られる複数の周波数成分の前記電源電流のうち、抑制対象の周波数成分の前記電源電流を、前記複数の回路部間で合成することにより算出された合成振幅が、第1の値よりも小さい値となるときのスキュー値を選択してクロックツリーの設計を行う、ことを特徴とする請求項1に記載の設計方法。
- 前記合成振幅が前記第1の値よりも小さい値となるときの前記スキュー値が複数あるとき、最も小さなスキュー値、または前記合成振幅が最も小さくなるスキュー値を選択することを特徴とする請求項2に記載の設計方法。
- 前記複数の回路部の中で前記電源電流のピークが他の回路部よりも大きい回路部、または前記複数の回路部の中でセットアップおよびホールドのタイミング制約が他の回路部よりも緩い回路部に対して供給する前記クロック信号に優先的に、前記スキュー値を適用することを特徴とする請求項1乃至3の何れか一項に記載の設計方法。
- プロセッサを有し、
前記プロセッサは、
クロックスキューの調整を行うときに、
クロック信号に同期して動作する複数の回路部の電源電流をそれぞれ周波数成分で分解し、
前記複数の回路部に到達する前記クロック信号のスキュー値を設定し、
周波数成分での分解によって得られる各周波数成分の前記複数の回路部の前記電源電流を、前記複数の回路部間で周波数成分毎に合成することにより、合成振幅を算出する処理を、前記スキュー値を変更することで繰り返し、前記合成振幅のスキュー依存性を求める、
処理を実行することを特徴とする設計装置。 - クロックスキューの調整を行うときに、
クロック信号に同期して動作する複数の回路部の電源電流をそれぞれ周波数成分で分解し、
前記複数の回路部に到達する前記クロック信号のスキュー値を設定し、
周波数成分での分解によって得られる各周波数成分の前記複数の回路部の前記電源電流を、前記複数の回路部間で周波数成分毎に合成することにより、合成振幅を算出する処理を、前記スキュー値を変更することで繰り返し、前記合成振幅のスキュー依存性を求める、
処理をコンピュータに実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014072422A JP6318777B2 (ja) | 2014-03-31 | 2014-03-31 | 設計方法、設計装置およびプログラム |
US14/629,910 US9659119B2 (en) | 2014-03-31 | 2015-02-24 | Method and design apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014072422A JP6318777B2 (ja) | 2014-03-31 | 2014-03-31 | 設計方法、設計装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015194904A JP2015194904A (ja) | 2015-11-05 |
JP6318777B2 true JP6318777B2 (ja) | 2018-05-09 |
Family
ID=54190745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014072422A Active JP6318777B2 (ja) | 2014-03-31 | 2014-03-31 | 設計方法、設計装置およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9659119B2 (ja) |
JP (1) | JP6318777B2 (ja) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3549428B2 (ja) * | 1999-03-19 | 2004-08-04 | 松下電器産業株式会社 | 集積回路のためのクロック生成装置および生成方法 |
WO2000065651A1 (fr) | 1999-04-27 | 2000-11-02 | Hitachi, Ltd. | Ci a semi-conducteur |
US6647540B2 (en) * | 2001-11-08 | 2003-11-11 | Telefonaktiebolaget Lm Ericsson(Publ) | Method for reducing EMI and IR-drop in digital synchronous circuits |
JP2006024851A (ja) * | 2004-07-09 | 2006-01-26 | Toshiba Corp | 半導体集積回路の設計方法及びその装置 |
JP2010170321A (ja) | 2009-01-22 | 2010-08-05 | Toshiba Corp | 半導体集積回路の設計装置および設計方法 |
JP2011008524A (ja) * | 2009-06-25 | 2011-01-13 | Toshiba Corp | 設計支援装置および設計支援方法 |
US9032356B2 (en) * | 2013-03-06 | 2015-05-12 | Lsi Corporation | Programmable clock spreading |
-
2014
- 2014-03-31 JP JP2014072422A patent/JP6318777B2/ja active Active
-
2015
- 2015-02-24 US US14/629,910 patent/US9659119B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015194904A (ja) | 2015-11-05 |
US9659119B2 (en) | 2017-05-23 |
US20150278415A1 (en) | 2015-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020502949A (ja) | クロック発生用の適応発振器 | |
US20070035428A1 (en) | Method and apparatus for minimizing the influence of a digital sub-circuit on at least partially digital circuits | |
JP2011022822A (ja) | パワーインテグリティ解析装置、パワーインテグリティ解析方法及びプログラム | |
JP4946573B2 (ja) | デカップリングセル配置方法及びデカップリングセル配置装置 | |
US20140306687A1 (en) | System and method for measuring an integrated circuit age | |
US10262089B2 (en) | Logic simulation method, logic simulation apparatus and computer-readable storage medium storing logic simulation program | |
US7634371B2 (en) | System and method for analyzing jitter of signals | |
JP6318777B2 (ja) | 設計方法、設計装置およびプログラム | |
De Caro et al. | A 3.3 GHz spread-spectrum clock generator supporting discontinuous frequency modulations in 28 nm CMOS | |
JP2011248843A (ja) | クロックジッター解析方法、該クロックジッター解析方法を実行する装置、該クロックジッター解析方法をコンピュータに実行させるためのプログラム、及び該プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
Lu et al. | Steiner tree based rotary clock routing with bounded skew and capacitive load balancing | |
Sidiropoulos et al. | Jitpr: A framework for supporting fast application's implementation onto fpgas | |
KR101222625B1 (ko) | 신호 샘플링 장치 및 방법 | |
CN102468847B (zh) | 方波的输出方法及装置 | |
US8966432B1 (en) | Reduction of jitter in an integrated circuit | |
JP6070002B2 (ja) | 設計支援装置、設計支援方法及びプログラム | |
JP6089728B2 (ja) | 半導体装置の設計方法、プログラム及び設計装置 | |
JP2009081588A (ja) | 半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法 | |
JP6428207B2 (ja) | 設計方法、設計装置及びプログラム | |
US7603639B2 (en) | Method, apparatus and computer program product for controlling jitter or the effects of jitter in integrated circuitry | |
JP2000029923A (ja) | 自動配置配線装置及び半導体集積回路 | |
JP6645114B2 (ja) | 設計支援プログラム、情報処理装置、および設計支援方法 | |
JP2015230543A (ja) | 設計装置、設計方法及び設計プログラム | |
US20150205898A1 (en) | Design method and design apparatus | |
Van Toan et al. | A GALS design based on multi-frequency clocking for digital switching noise reduction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180209 |
|
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: 20180306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180319 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6318777 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |