JP2010061613A - Method of designing integrated circuit device, clock tree construction tool, integrated circuit device, microcomputer, and electronic equipment - Google Patents
Method of designing integrated circuit device, clock tree construction tool, integrated circuit device, microcomputer, and electronic equipment Download PDFInfo
- Publication number
- JP2010061613A JP2010061613A JP2008229477A JP2008229477A JP2010061613A JP 2010061613 A JP2010061613 A JP 2010061613A JP 2008229477 A JP2008229477 A JP 2008229477A JP 2008229477 A JP2008229477 A JP 2008229477A JP 2010061613 A JP2010061613 A JP 2010061613A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- skew
- storage element
- flip
- tree
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000010276 construction Methods 0.000 title claims description 28
- 238000003860 storage Methods 0.000 claims abstract description 81
- 230000001360 synchronised effect Effects 0.000 claims abstract description 33
- 238000004458 analytical method Methods 0.000 claims abstract description 27
- 238000013461 design Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 3
- 230000005540 biological transmission Effects 0.000 claims description 8
- 239000000872 buffer Substances 0.000 description 145
- 238000010586 diagram Methods 0.000 description 11
- 230000001934 delay Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000007257 malfunction Effects 0.000 description 7
- 230000003071 parasitic effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000010248 power generation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
ã課é¡ãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãååšããå Žåã«ãæ¶è²»é»åãäœæžããããšãã§ããã¯ããã¯ããªãŒãæ§ç¯å¯èœãªéç©åè·¯ã®èšè𿹿³çãæäŸããã
ãè§£æ±ºææ®µãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãååšããåæåè·¯ã«å¯ŸããŠã第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ãããå°ãããæŽã«ã¹ãã¥ãŒèª¿æŽããå Žæãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã§ããå Žåã«ã¯ãåæåè·¯ã«å¯Ÿããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«ã¯ããã¯ã¹ãã¥ãŒãå€åãããŠãã¿ã€ãã³ã°ãšã©ãŒãçºçããªããšå€æããå Žåã«ã¯ã第ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã®ã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«é
å»¶çŽ åãæ¿å
¥ããããšã«ãããã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ãã¯ããã¯ããªãŒãåæ§ç¯ããã
ãéžæå³ãå³ïŒAn integrated circuit design method capable of constructing a clock tree capable of reducing power consumption when a clock gating cell is present.
For a synchronous circuit in which a clock gating cell is present, a clock skew between a first storage element and a second storage element is smaller than a given value, and a place for further skew adjustment is a clock gate. If the clock skew is changed so that the clock skew is equal to or greater than a given value based on the timing analysis result for the synchronous circuit, if it is determined that the timing error does not occur, By inserting a delay element after the clock gating cell of the clock line connected to the first storage element, processing for changing the clock skew is performed to reconstruct the clock tree.
[Selection] Figure 5
Description
æ¬çºæã¯ãéç©åè·¯è£ çœ®ã®èšè𿹿³ãã¯ããã¯æ§ç¯ããŒã«ãéç©åè·¯è£ çœ®ããã€ã¯ãã³ã³ãã¥ãŒã¿åã³é»åæ©åšã«é¢ããã   The present invention relates to an integrated circuit device design method, a clock construction tool, an integrated circuit device, a microcomputer, and an electronic apparatus.
éç©åè·¯è£ çœ®å ã®åæåè·¯ã®èšèšã«ãããŠã¯ãåããªãããããããåäžã®ã¯ããã¯ã§åæå¶åŸ¡ãããããšãåæãšããŠèšèšãè¡ãããããšããããåæåè·¯ã«å«ãŸããã»ã«ãã¬ã€ã¢ãŠãäžã§ã»ã«é 眮ãããšãã¯ããã¯ã«ãŒããšãªãã¯ããã¯ãããã¡ãšåããªããããããã®ã¬ã€ã¢ãŠãäžã®çžå¯Ÿçãªäœçœ®é¢ä¿çã®çžéã«ããã¯ããã¯ã©ã€ã³ã®é ç·é·ãç°ãªããããã¯ããã¯ã«ãŒãããåããªãããããããŸã§ã®ã¯ããã¯ä¿¡å·ã®äŒæ¬é å»¶ãçžéããããã®äŒæ¬é å»¶ã®å·®ã倧ãããšã¿ã€ãã³ã°ãšã©ãŒãçºçããåè·¯ã誀åäœãããäŸãã°ãã·ããã¬ãžã¹ã¿ã®ããã«ããªããããããéã®ä¿¡å·ã®äŒæ¬é å»¶ãå°ããåè·¯ã§ã¯ãåŸæ®µã®ããªãããããããŸã§ã®ã¯ããã¯é å»¶ãåæ®µã®ããªãããããããŸã§ã®ã¯ããã¯é å»¶ãããããªã倧ããå ŽåãããŒã«ãã¿ã€ã ãšã©ãŒãçºçãåè·¯ã誀åäœããããŸããããªããããããéã®ä¿¡å·ã®äŒæ¬é å»¶ãã¯ããã¯åšæãããããã«å°ãããããªåè·¯ã§ã¯ãã¯ããã¯ã¹ãã¥ãŒããªããã°èª€åäœããªãããåæ®µã®ããªãããããããŸã§ã®ã¯ããã¯é å»¶ãåŸæ®µã®ããªãããããããŸã§ã®ã¯ããã¯é å»¶ãããããªã倧ããå Žåãã»ããã¢ããã¿ã€ã ãšã©ãŒãçºçãåè·¯ã誀åäœããã   In designing a synchronous circuit in an integrated circuit device, the design is performed on the assumption that each flip-flop is synchronously controlled by the same clock. However, when the cells included in the synchronous circuit are arranged on the layout, the clock route wiring length varies depending on the relative positional relationship between the clock buffer serving as the clock route and the flip-flops in the layout. The propagation delay of the clock signal from to each flip-flop is different. If this difference in propagation delay is large, a timing error occurs and the circuit malfunctions. For example, in a circuit with a small signal propagation delay between flip-flops such as a shift register, if the clock delay to the subsequent flip-flop is much larger than the clock delay to the previous flip-flop, a hold time error occurs and the circuit Malfunctions. Also, in a circuit in which the signal propagation delay between flip-flops is slightly smaller than the clock cycle, it will not malfunction if there is no clock skew, but the clock delay to the previous flip-flop is higher than the clock delay to the subsequent flip-flop. If it is quite large, a setup time error occurs and the circuit malfunctions.
ãã®ãããåæåè·¯ã®èšèšã«ãããŠã¯ãããŒã«ã䜿çšããçããŠã¯ããã¯ã«ãŒãããåããªããããããã®ã¯ããã¯å ¥åãŸã§ã«ã¯ããã¯ãããã¡çã®é å»¶çŽ åãæ¿å ¥ããããšã«ãããã¹ãŠã®ã¯ããã¯ã©ã€ã³ã®é å»¶ãæããã¯ããã¯ã¹ãã¥ãŒãå°ãããªãããã«ã¯ããã¯ããªãŒãæ§ç¯ããããšãäžè¬çã«è¡ãããŠããã   For this reason, in designing the synchronous circuit, delays of all clock lines are aligned by inserting a delay element such as a clock buffer from the clock root to the clock input of each flip-flop by using a tool, etc. Generally, a clock tree is constructed so as to be small.
ããããã¯ããã¯ã¹ãã¥ãŒãå°ãããšããã¹ãŠã®ããªããããããã®ã¯ããã¯å ¥åãã»ãŒåæã«å€åããããã®ãããåããªããããããå ã«ããã¯ããã¯å ¥åãããã¡ã®ãã©ã³ãžã¹ã¿ãã¹ã€ããã³ã°ããã¿ã€ãã³ã°ãã»ãŒåæã«ãªããåãã©ã³ãžã¹ã¿ã®ã¹ã€ããã³ã°æã«é»æºããã°ã©ã³ãã«åæã«è²«é黿µãæµããããã®ãããªåæã«æµãã貫é黿µã®ããã«ç¬æçã«ããŒã¯é»æµãå¢å€§ããããã黿ºé»äœãç¬æçã«é»å§éäžããããã®é»å§éäžãããã©ã³ãžã¹ã¿ã®è«çéŸå€ãäžåããšåè·¯ã誀åäœããå¯èœæ§ãããã   However, if the clock skew is small, the clock inputs of all flip-flops change almost simultaneously. For this reason, the timings at which the transistors of the clock input buffer in each flip-flop switch are substantially the same, and a through current flows simultaneously from the power supply to the ground when the transistors are switched. Since the peak current increases instantaneously due to such through currents flowing simultaneously, the power supply potential instantaneously drops. If this voltage drop is below the logic threshold of the transistor, the circuit may malfunction.
以äžã®ãããªäºæ
ã«éã¿ãæ¬åºé¡äººã¯ãåæåè·¯ã®ã¯ããã¯åäœæã«çããããŒã¯é»æµãäœæžãã黿ºé»äœã®é»å§éäžãæå¶ããããšãã§ããã¯ããã¯ããªãŒãæ§ç¯ããããã«å¶åŸ¡å¯èœãªéç©åè·¯ã®èšè𿹿³åã³ã¯ããã¯ããªãŒæ§ç¯ããŒã«çãææ¡ããïŒäŸãã°ãäžèšã®ç¹èš±æç®ïŒåç
§ïŒã
  In view of the circumstances as described above, the applicant of the present invention is able to reduce the peak current generated during the clock operation of the synchronous circuit and to control the integrated circuit that can be controlled to construct a clock tree that can suppress the voltage drop of the power supply potential. A design method and a clock tree construction tool have been proposed (see, for example,
ãšããã§ãã¯ããã¯ä¿¡å·ãã²ãŒãã£ã³ã°ããã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãã¯ããã¯ä¿¡å·ã®äŒéçµè·¯äžã«ååšããå Žåãããããã®ãããªå Žåã«ãæ¶è²»é»åãäœæžããããšãæãŸããã   By the way, a clock gating cell for gating a clock signal may exist on the transmission path of the clock signal. In such a case, it is desired to reduce power consumption.
æ¬çºæã¯ã以äžã®ãããªåé¡ç¹ã«éã¿ãŠãªããããã®ã§ãããã¯ããã¯ä¿¡å·ãã²ãŒãã£ã³ã°ããã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãã¯ããã¯ä¿¡å·ã®äŒéçµè·¯äžã«ååšããå Žåã«ãæ¶è²»é»åãäœæžããããšãã§ããã¯ããã¯ããªãŒãæ§ç¯ããããã«å¶åŸ¡å¯èœãªéç©åè·¯è£ çœ®ã®èšè𿹿³ãã¯ããã¯ããªãŒæ§ç¯ããŒã«ãéç©åè·¯è£ çœ®ããã€ã¯ãã³ã³ãã¥ãŒã¿åã³é»åæ©åšãæäŸããããšãç®çãšããã   The present invention has been made in view of the above problems, and can reduce power consumption when a clock gating cell for gating a clock signal is present on the transmission path of the clock signal. An object of the present invention is to provide an integrated circuit device design method, a clock tree construction tool, an integrated circuit device, a microcomputer, and an electronic device that can be controlled to construct a clock tree.
ïŒïŒïŒæ¬çºæã«ä¿ãéç©åè·¯è£
眮ã®èšè𿹿³ã¯ã
åäžã®ã¯ããã¯ã«åºã¥ããŠåäœããè€æ°ã®èšæ¶çŽ åãæãã第ïŒã®èšæ¶çŽ åã®åºåãã第ïŒã®èšæ¶çŽ åã®å
¥åã«è³ãä¿¡å·çµè·¯äžã«ä»ã®èšæ¶çŽ åãå«ãŸãªãåèšç¬¬ïŒã®èšæ¶çŽ åãšåèšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžãšãªãããã«ã¯ããã¯ããªãŒãæ§ç¯ããäžã€ã¯ããã¯ã®äŒéçµè·¯äžã«ã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãé
眮ãããŠããåæåè·¯ãå«ãéç©åè·¯è£
眮ã®èšè𿹿³ã§ãã£ãŠã
æäžã®åèšç¬¬ïŒã®èšæ¶çŽ åãšåèšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ãããå°ããäžã€ã¯ããã¯ã¹ãã¥ãŒã調æŽããå Žæãåèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã§ããå Žåã«ã¯ãåèšåæåè·¯ã«å¯Ÿããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããåèšã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ãããšã«ãããåèšåæåè·¯ã«å¯ŸããŠã¯ããã¯ããªãŒãåæ§ç¯ããã¯ããã¯ããªãŒåæ§ç¯ã¹ããããå«ãããšãç¹åŸŽãšããã
(1) A method for designing an integrated circuit device according to the present invention includes:
The first storage element having a plurality of storage elements that operate based on the same clock and not including other storage elements on a signal path from the output of the first storage element to the input of the second storage element And an integrated circuit device including a synchronization circuit in which a clock tree is constructed such that a clock skew between the second storage element and the second storage element is less than or equal to a predetermined value and a clock gating cell is disposed on a clock transmission path A design method,
When the clock skew between the given first storage element and the second storage element is smaller than a given value and the place where the clock skew is adjusted is after the clock gating cell, Based on a timing analysis result for the synchronization circuit, a process for changing the clock skew in a subsequent stage of the clock gating cell so that the clock skew is equal to or greater than a given value is performed. A clock tree restructuring step for reconstructing the tree is included.
æ¬çºæã«ä¿ãéç©åè·¯è£ çœ®ã®èšè𿹿³ã«ãããŠã¯ã第ïŒã®èšæ¶çŽ åã®åºåãã第ïŒã®èšæ¶çŽ åã®å ¥åã«è³ãä¿¡å·çµè·¯äžã«ä»ã®èšæ¶çŽ åãå«ãŸãªã第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒã«å¯ŸããŠãã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ããããªãã¡ã第ïŒã®èšæ¶çŽ åã®åºåãã第ïŒã®èšæ¶çŽ åã®å ¥åã«è³ãä¿¡å·çµè·¯ãååšãããã€ããã®çµè·¯äžã«ä»ã®èšæ¶çŽ åãå«ãŸãªããããªç¬¬ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒã調æŽã®å¯Ÿè±¡ãšãªãã第ïŒã®èšæ¶çŽ ååã³ç¬¬ïŒã®èšæ¶çŽ åã¯ãã¿ã€ãã³ã°è§£æã«ãããŠã»ããã¢ããã¿ã€ã ãšã©ãŒãããŒã«ãã¿ã€ã ãšã©ãŒã®è§£æã®å¯Ÿè±¡ãšãªãä¿¡å·çµè·¯ã®å§ç¹ããã³çµç¹ãšãªãèšæ¶çŽ åã«å¯Ÿå¿ããã   In the method for designing an integrated circuit device according to the present invention, the first storage element and the second storage element that do not include other storage elements on the signal path from the output of the first storage element to the input of the second storage element. A process for changing the clock skew is performed with respect to the clock skew between the storage elements. That is, there is a signal path from the output of the first memory element to the input of the second memory element, and the first memory element and the second memory that do not include other memory elements on the path. Clock skew between elements is an object of adjustment. The first storage element and the second storage element correspond to the storage elements that are the start and end points of the signal path that is the target of the setup time error and hold time error analysis in the timing analysis.
第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒã¯ãã¯ããã¯ã«ãŒããã第ïŒã®èšæ¶çŽ åã®ã¯ããã¯å ¥åãŸã§ã®ã¯ããã¯ä¿¡å·ã®äŒæ¬é å»¶ãšã¯ããã¯ã«ãŒããã第ïŒã®èšæ¶çŽ åã®ã¯ããã¯å ¥åãŸã§ã®ã¯ããã¯ä¿¡å·ã®äŒæ¬é å»¶ã®å·®ãããã   The clock skew between the first storage element and the second storage element is the propagation delay of the clock signal from the clock root to the clock input of the first storage element and the clock input from the clock root to the clock input of the second storage element. This is the difference in the propagation delay of the clock signal.
èšæ¶çŽ åã¯ãå ¥åãããã¯ããã¯ã«åæããŠåäœããïŒãããã®æ å ±ãèšæ¶ããããšãã§ããçŽ åã§ããã°ãããäŸãã°ãããªãããããããªã©ã®åçš®ã®ããªããããããã§ãã£ãŠãããããã©ãããªã©ã®åçš®ã®ã©ããã§ãã£ãŠãããã   The storage element may be any element that operates in synchronization with the input clock and can store 1-bit information. For example, the storage element may be various flip-flops such as a D flip-flop, Various latches such as a latch may be used.
ã¯ããã¯ããªãŒãæ§ç¯ãããŠããåæåè·¯ã¯ãå°ãªããšãã¬ã€ã¢ãŠãäžã®ã»ã«é çœ®ã®æ å ±ã«åºã¥ãã第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžãšãªã£ãŠããäžã€ã¯ããã¯ã®äŒéçµè·¯äžã«ã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãé 眮ãããŠããã°ããããŸããã¬ã€ã¢ãŠãäžã§å®é ç·ãè¡ã£ãåŸã®ããæ£ç¢ºãªèšç®ã«åºã¥ãã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžãšãªã£ãŠããå Žåã§ããããåœè©²åæåè·¯ã¯ã第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ããããã¹ãŠã®ã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžãšãªãããã«ã¯ããã¯ããªãŒãæ§ç¯ãããŠããŠãããããæå®ã®ä¿¡å·çµè·¯ãäŸãã°ãä¿¡å·ã®äŒæ¬é å»¶ãèæ ®ããå¿ èŠã®ãªãä¿¡å·çµè·¯ïŒãããŒãã¹ïŒã第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãèæ ®ããå¿ èŠããªãïŒã¯ããã¯ã¹ãã¥ãŒã倧ãããŠãããïŒä¿¡å·çµè·¯çãé€ããä¿¡å·çµè·¯äžã®ç¬¬ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžãšãªãããã«ã¯ããã¯ããªãŒãæ§ç¯ãããŠããŠãããã   In the synchronization circuit in which the clock tree is constructed, the clock skew between the first memory element and the second memory element is less than or equal to a predetermined value based on at least the cell arrangement information on the layout, and the clock It suffices if a clock gating cell is arranged on the transmission path. Further, the clock skew based on more accurate calculation after actual wiring on the layout may be a predetermined value or less. In the synchronization circuit, a clock tree may be constructed such that all clock skews between the first storage element and the second storage element are equal to or less than a predetermined value, or a predetermined signal path, for example, A signal path that does not require consideration of signal propagation delay (dummy path), a signal path that does not require consideration of clock skew between the first memory element and the second memory element (clock skew may be large), etc. The clock tree may be constructed so that the clock skew between the first memory element and the second memory element on the signal path excluding the signal is less than or equal to a predetermined value.
ã¯ããã¯ããªãŒãæ§ç¯ãããŠããåæåè·¯ã«å¯Ÿããã¿ã€ãã³ã°è§£æçµæã¯ãå°ãªããšãã¬ã€ã¢ãŠãäžã®ã»ã«é çœ®ã®æ å ±ã«åºã¥ãã¿ã€ãã³ã°è§£æãè¡ã£ãçµæã§ããã°ããããŸããã¬ã€ã¢ãŠãäžã§å®é ç·ãè¡ã£ãåŸã«å®é ç·ãèæ ®ããããæ£ç¢ºãªã¿ã€ãã³ã°è§£æçµæã§ãã£ãŠãããã   The timing analysis result for the synchronization circuit in which the clock tree is constructed may be a result of timing analysis based on at least information on cell arrangement on the layout. Further, it may be a more accurate timing analysis result in consideration of actual wiring after performing actual wiring on the layout.
ã¿ã€ãã³ã°ãšã©ãŒã«ã¯ãäŸãã°ãèšæ¶çŽ åã«å¯Ÿããã»ããã¢ããã¿ã€ã ãšã©ãŒãããŒã«ãã¿ã€ã ãšã©ãŒãªã©ãããã   Examples of the timing error include a setup time error and a hold time error for the storage element.
第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ããããã«ãäŸãã°ã第ïŒã®èšæ¶çŽ ååã¯ç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã®ããããã«ã®ã¿é å»¶çŽ åãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠæ¿å ¥ããŠãããããé å»¶æéã®ç°ãªãé å»¶çŽ åãäž¡æ¹ã®ã¯ããã¯ã©ã€ã³ã®ã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠæ¿å ¥ããŠãããããŸãã第ïŒã®èšæ¶çŽ ååã¯ç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«é å»¶çŽ åãæ¿å ¥ãããŠããå Žåã«ã¯ãããããã®ã¯ããã¯ã©ã€ã³ããã®ã¿é å»¶çŽ åãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåé€ããŠãããããäž¡æ¹ã®ã¯ããã¯ã©ã€ã³ããé å»¶æéã®ç°ãªãé å»¶çŽ åãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåé€ããŠãããã   In order to make the clock skew between the first memory element and the second memory element equal to or greater than a given value, for example, either the first memory element or the clock line connected to the second memory element Only a delay element may be inserted after the clock gating cell, or delay elements having different delay times may be inserted after the clock gating cells of both clock lines. In addition, when a delay element is inserted in the clock line connected to the first memory element or the second memory element, the delay element is deleted from only one of the clock lines in the subsequent stage of the clock gating cell. Alternatively, delay elements having different delay times may be deleted from both clock lines at the subsequent stage of the clock gating cell.
æ¬çºæã«ããã°ãã¯ããã¯ä¿¡å·ãã²ãŒãã£ã³ã°ããã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãã¯ããã¯ä¿¡å·ã®äŒéçµè·¯äžã«ååšããå Žåã«ã第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«ã¯ããã¯ããªãŒãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåæ§ç¯ãããããã®çµæãã¯ããã¯ãã²ãŒãã£ã³ã°ãããŠãããšãã«åäœããçŽ åãæžããããšãã§ããã®ã§ãæ¶è²»é»åãäœæžããããšãã§ããã   According to the present invention, when a clock gating cell for gating a clock signal exists on the transmission path of the clock signal, the clock skew between the first storage element and the second storage element is a given value. As described above, the clock tree is reconstructed at the subsequent stage of the clock gating cell. As a result, since the number of elements that operate when the clock is gated can be reduced, power consumption can be reduced.
æäžã®å€ã¯ãããŒã¯é»æµãäœæžããã®ã«ååãªå€ã§ããã°ãããèšç®ãã·ãã¥ã¬ãŒã·ã§ã³ã«ããæ±ããŠãããã   The given value may be a value sufficient to reduce the peak current, and may be obtained by calculation or simulation.
ãŸããæ¬çºæã«ããã°ãå°ãªããšãã第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãããªãã¡ãåäœã¿ã€ãã³ã°ãé¢é£ããïŒã€ã®èšæ¶çŽ åéã«ãããã¯ããã¯ã¹ãã¥ãŒã«ã€ããŠã¯ãæäžã®å€ä»¥äžã«ãªãããã«ã¯ããã¯ããªãŒãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåæ§ç¯ããããåäœã¿ã€ãã³ã°ãé¢é£ããïŒã€ã®èšæ¶çŽ åã¯ãã¬ã€ã¢ãŠãäžã®ç©ççã«è¿ãå Žæã«é 眮ãããå¯èœæ§ãé«ãããããã®èšæ¶çŽ åã¯åäžã®é»æºã¬ãŒã«ãã黿ºãäŸçµŠãããå Žåãå€ãããã®ãããåäœã¿ã€ãã³ã°ãé¢é£ããïŒã€ã®èšæ¶çŽ åéã®ã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«ã¯ããã¯ããªãŒãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåæ§ç¯ããã°ã黿ºé»äœã®é»å§éäžãæå¹ã«äœæžããããšãã§ãããäžæ¹ãåäœã¿ã€ãã³ã°ã«ãããŠç¡é¢ä¿ã®ïŒã€ã®èšæ¶çŽ åã¯ãã¬ã€ã¢ãŠãäžã®ç©ççã«è¿ãå Žæã«é 眮ãããå¯èœæ§ã¯äœãããããã®èšæ¶çŽ åã¯ç°ãªã黿ºã¬ãŒã«ãã黿ºãäŸçµŠãããå Žåãå€ãããã®ãããåäœã¿ã€ãã³ã°ã«ãããŠç¡é¢ä¿ã®ïŒã€ã®èšæ¶çŽ åéã«ãããã¯ããã¯ã¹ãã¥ãŒã«ã€ããŠã¯ãæäžã®å€ããå°ãããŸãŸã¯ããã¯ããªãŒãåæ§ç¯ããŠãã黿ºé»äœã®é»å§éäžãæå¹ã«äœæžããããšãã§ããããªããå¯èœã§ããã°ãåäœã¿ã€ãã³ã°ã«ãããŠç¡é¢ä¿ã®ïŒã€ã®èšæ¶çŽ åéã«ãããã¯ããã¯ã¹ãã¥ãŒã«ã€ããŠããæäžã®å€ä»¥äžã«ãªãããã«ã¯ããã¯ããªãŒãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠæ§ç¯ããŠãããã   According to the present invention, at least the clock skew between the first storage element and the second storage element, that is, the clock skew between the two storage elements related to the operation timing is equal to or greater than a given value. The clock tree is reconstructed at the subsequent stage of the clock gating cell. The two storage elements related to the operation timing are likely to be disposed at physically close locations on the layout, and these storage elements are often supplied with power from the same power supply rail. Therefore, if the clock tree is reconstructed in the subsequent stage of the clock gating cell so that the clock skew between the two storage elements related to the operation timing is equal to or greater than a given value, the voltage drop of the power supply potential is effectively reduced. be able to. On the other hand, two storage elements that are irrelevant in the operation timing are unlikely to be physically located in the layout, and these storage elements are often supplied with power from different power supply rails. Therefore, regarding the clock skew between two storage elements that are irrelevant in the operation timing, the voltage drop of the power supply potential can be effectively reduced even if the clock tree is reconstructed while being smaller than a given value. If possible, the clock tree may be constructed in the subsequent stage of the clock gating cell so that the clock skew between the two storage elements that are irrelevant in the operation timing is equal to or greater than a given value.
ïŒïŒïŒæ¬çºæã«ä¿ãéç©åè·¯è£
眮ã®èšè𿹿³ã¯ã
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã¯ã
åèšåæåè·¯ã«å¯Ÿããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããããšã«ããã¿ã€ãã³ã°ãšã©ãŒãçºçãããšå€æããå Žåã¯ãåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ããªãããšãç¹åŸŽãšããã
(2) An integrated circuit device design method according to the present invention includes:
The clock tree reconstruction step includes:
If it is determined that a timing error occurs by changing the clock skew based on the timing analysis result for the synchronous circuit, the process for changing the clock skew is not performed.
æ¬çºæã«ããã°ãã¿ã€ãã³ã°è§£æçµæã«åºã¥ããã¿ã€ãã³ã°ãšã©ãŒãçºçããªããšå€æãããå Žåã®ã¿ãã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ããåŸã£ãŠãã¯ããã¯ããªãŒãåæ§ç¯ãããåŸã®åæåè·¯ã¯ãã¿ã€ãã³ã°ãšã©ãŒããªãããã€ãããŒã¯é»æµãåæžããããšãã§ããã   According to the present invention, the process of changing the clock skew is performed only when it is determined that a timing error does not occur based on the timing analysis result. Therefore, the synchronous circuit after the clock tree is reconstructed has no timing error and can reduce the peak current.
ïŒïŒïŒæ¬çºæã«ä¿ãéç©åè·¯è£
眮ã®èšè𿹿³ã¯ã
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã¯ã
åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ïŒåã¯ïŒä»¥äžã®é
å»¶çŽ åãæ¿å
¥ããããšã«ããåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ãããšãç¹åŸŽãšããã
(3) An integrated circuit device design method according to the present invention includes:
The clock tree reconstruction step includes:
The clock skew is changed by inserting one or more delay elements in a clock line connected to the first memory element at a subsequent stage of the clock gating cell.
æ¬çºæã«ããã°ã第ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ïŒåã¯ïŒä»¥äžã®é å»¶çŽ åãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠæ¿å ¥ããã ããªã®ã§ãã»ããã¢ããã¿ã€ã ãšã©ãŒã«å¯ŸããããŒãžã³ã倧ããä¿¡å·çµè·¯ãã»ãšãã©ã§ãããããªå Žåã«ã¯ãã¯ããã¯ã¹ãã¥ãŒãç°¡åã«æäžã®å€ä»¥äžã«ããããšãã§ããããŒã¯é»æµãäœæžããããšãã§ããã   According to the present invention, since only one or more delay elements are inserted into the clock line connected to the first storage element at the subsequent stage of the clock gating cell, most signal paths have a large margin for setup time errors. In some cases, the clock skew can be easily increased beyond a given value, and the peak current can be reduced.
ïŒïŒïŒæ¬çºæã«ä¿ãéç©åè·¯è£
眮ã®èšè𿹿³ã¯ã
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã¯ã
åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠã»ããã¢ããã¿ã€ã ãšã©ãŒã«å¯ŸããããŒãžã³ãå°ããä¿¡å·çµè·¯äžã«ããåèšç¬¬ïŒã®èšæ¶çŽ åãšåèšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãåªå
çã«å€åãããåŠçãè¡ãããšãç¹åŸŽãšããã
(4) A method for designing an integrated circuit device according to the present invention includes:
The clock tree reconstruction step includes:
A process of preferentially changing a clock skew between the first storage element and the second storage element on a signal path having a small margin for a setup time error at a subsequent stage of the clock gating cell is performed. And
æ¬çºæã«ããã°ãäŸãã°ãä¿¡å·çµè·¯ã®ã»ããã¢ããã¿ã€ã ãšã©ãŒã«å¯ŸããããŒãžã³ã倧ãããªãã«ã€ããŠãåœè©²ä¿¡å·çµè·¯äžã«ãã第ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«æ¿å ¥ããé å»¶çŽ åã®æ°ãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠå€ãããã°ãåèšæ¶çŽ åã«å«ãŸããã¯ããã¯ãããã¡ã®ãã©ã³ãžã¹ã¿ãã¹ã€ããã³ã°ããã¿ã€ãã³ã°ãå¹ççã«åæ£ãããããšãã§ããã®ã§ãããŒã¯é»æµãäœæžããããšãã§ããã   According to the present invention, for example, as the margin for the setup time error of the signal path increases, the number of delay elements to be inserted into the clock line connected to the first storage element on the signal path is set to the clock gating cell. If the number is increased in the subsequent stage, the timing at which the transistors of the clock buffer included in each memory element are switched can be efficiently distributed, so that the peak current can be reduced.
ïŒïŒïŒæ¬çºæã«ä¿ãéç©åè·¯è£
眮ã®èšè𿹿³ã¯ã
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ããããšã
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã«ããã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯ŸããŠãã¬ã€ã¢ãŠãäžã§å®é
ç·ãè¡ãã¹ããããšã
åèšã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯ŸããŠãåèšã¬ã€ã¢ãŠãäžã§ã®å®é
ç·ãèæ
®ããã¿ã€ãã³ã°è§£æãè¡ãã¹ããããšã
åèšã¬ã€ã¢ãŠãäžã§ã®å®é
ç·ãèæ
®ããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããã»ããã¢ããã¿ã€ã ãšã©ãŒãçºçããä¿¡å·çµè·¯äžã«ããåèšç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ããïŒåã¯ïŒä»¥äžã®é
å»¶çŽ åãåé€ããããšã«ããã»ããã¢ããã¿ã€ã ãšã©ãŒãè§£æ¶ããããã«ã¯ããã¯ããªãŒãä¿®æ£ããã¹ããããšãå«ãããšãç¹åŸŽãšããã
(5) A method for designing an integrated circuit device according to the present invention includes:
The clock tree reconstruction step;
For the synchronous circuit after reconstructing the clock tree by the clock tree restructuring step, performing the actual wiring on the layout;
For the synchronous circuit after reconstructing the clock tree, performing a timing analysis in consideration of actual wiring on the layout;
One or more delay elements are deleted from the clock line connected to the first storage element on the signal path where the setup time error occurs based on the timing analysis result considering the actual wiring on the layout. Modifying the clock tree so as to eliminate the setup time error.
æ¬çºæã«ããã°ãã¯ããã¯ããªãŒãåæ§ç¯ããéã«ãé å»¶çŽ åãæ¿å ¥ãããã³ã«å®é ç·ãè¡ãå¿ èŠããªããã¯ããã¯ããªãŒãåæ§ç¯ããåŠçãããçæéã§è¡ãããšãã§ããããŸããã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯Ÿããã¬ã€ã¢ãŠãäžã§ã®å®é ç·ãèæ ®ããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããé å»¶çŽ åã远å ããããšãªãã»ããã¢ããã¿ã€ã ãšã©ãŒãè§£æ¶ããã®ã§ãã¯ããã¯ã©ã€ã³ã®é ç·ãå€§å¹ ã«ããçŽãå¿ èŠããªããããç°¡åãã€ç¢ºå®ã«ã»ããã¢ããã¿ã€ã ãšã©ãŒãè§£æ¶ããããšãã§ããã   According to the present invention, when reconstructing the clock tree, it is not necessary to perform actual wiring every time a delay element is inserted, and the process of reconstructing the clock tree can be performed in a shorter time. In addition, the setup time error is eliminated without adding a delay element based on the timing analysis result considering the actual wiring on the layout for the synchronous circuit after the clock tree is reconstructed. There is no need to start over, and setup time errors can be resolved more easily and reliably.
ãªããã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯Ÿããã¬ã€ã¢ãŠãäžã§ã®å®é ç·ãèæ ®ããã¿ã€ãã³ã°è§£æçµæã«ãããŠãããŒã«ãã¿ã€ã ãšã©ãŒãçºçããå Žåã¯ãå ¬ç¥ã®çš®ã ã®ææ³ã«ããããŒã«ãã¿ã€ã ãšã©ãŒãè§£æ¶ããããšãã§ãããäŸãã°ãããŒã«ãã¿ã€ã ãšã©ãŒãçºçããä¿¡å·çµè·¯ã«ãããã¡ãªã©ãæ¿å ¥ããŠä¿¡å·ãé å»¶ãããããšã«ãããã¯ããã¯ã©ã€ã³ã®é ç·ã倿Žããããšãªããç°¡åã«ããŒã«ãã¿ã€ã ãšã©ãŒãè§£æ¶ããããšãã§ããã   If a hold time error occurs in the timing analysis result considering the actual wiring on the layout for the synchronous circuit after reconstructing the clock tree, the hold time error can be eliminated by various known methods. it can. For example, by inserting a buffer or the like in the signal path where a hold time error occurs to delay the signal, the hold time error can be easily eliminated without changing the clock line wiring.
ïŒïŒïŒæ¬çºæã«ä¿ãã¯ããã¯ããªãŒæ§ç¯ããŒã«ã¯ã
åäžã®ã¯ããã¯ã«åºã¥ããŠåäœããè€æ°ã®èšæ¶çŽ åãæãã第ïŒã®èšæ¶çŽ åã®åºåãã第ïŒã®èšæ¶çŽ åã®å
¥åã«è³ãä¿¡å·çµè·¯äžã«ä»ã®èšæ¶çŽ åãå«ãŸãªãåèšç¬¬ïŒã®èšæ¶çŽ åãšåèšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžãšãªãããã«ã¯ããã¯ããªãŒãæ§ç¯ããäžã€ã¯ããã¯ã®äŒéçµè·¯äžã«ã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãé
眮ãããŠããåæåè·¯ã«å¯ŸããŠã¯ããã¯ããªãŒãåæ§ç¯ããã¯ããã¯ããªãŒæ§ç¯ããŒã«ã§ãã£ãŠã
æäžã®åèšç¬¬ïŒã®èšæ¶çŽ åãšåèšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ãããå°ããäžã€ã¯ããã¯ã¹ãã¥ãŒã調æŽããå Žæãåèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã§ããå Žåã«ã¯ãåèšåæåè·¯ã«å¯Ÿããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããåèšã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããŠãã¿ã€ãã³ã°ãšã©ãŒãçºçããªããšå€æããå Žåã«ã¯ãåèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ïŒåã¯ïŒä»¥äžã®é
å»¶çŽ åãæ¿å
¥ããããšã«ãããåèšã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ãåèšåæåè·¯ã«å¯ŸããŠã¯ããã¯ããªãŒãåæ§ç¯ããã¯ããã¯ããªãŒåæ§ç¯ã¹ããããšã
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã«ããã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯ŸããŠãã¬ã€ã¢ãŠãäžã§å®é
ç·ãè¡ãã¹ããããšã
åèšã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯ŸããŠãåèšã¬ã€ã¢ãŠãäžã§ã®å®é
ç·ãèæ
®ããã¿ã€ãã³ã°è§£æãè¡ãã¹ããããšã
åèšã¬ã€ã¢ãŠãäžã§ã®å®é
ç·ãèæ
®ããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããã»ããã¢ããã¿ã€ã ãšã©ãŒãçºçããä¿¡å·çµè·¯äžã«ããåèšç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ããïŒåã¯ïŒä»¥äžã®é
å»¶çŽ åãåé€ããããšã«ããã»ããã¢ããã¿ã€ã ãšã©ãŒãè§£æ¶ããããã«ã¯ããã¯ããªãŒãä¿®æ£ããã¹ããããšãå«ãããšãç¹åŸŽãšããã
(6) A clock tree construction tool according to the present invention includes:
The first storage element having a plurality of storage elements that operate based on the same clock and not including other storage elements on a signal path from the output of the first storage element to the input of the second storage element And the second memory element, the clock tree is constructed so that the clock skew is equal to or less than a predetermined value, and the clock tree is provided to the synchronous circuit in which the clock gating cell is arranged on the clock transmission path. A clock tree construction tool to reconstruct,
When the clock skew between the given first storage element and the second storage element is smaller than a given value and the place where the clock skew is adjusted is after the clock gating cell, When it is determined that a timing error does not occur even if the clock skew is changed in the subsequent stage of the clock gating cell so that the clock skew is equal to or greater than a given value based on the timing analysis result for the synchronous circuit , By inserting one or more delay elements in a clock line connected to the first memory element at a subsequent stage of the clock gating cell, the clock skew is set to a given value or more. A process of changing the clock skew is performed at the subsequent stage of the gating cell. And the clock tree restructuring step to reconstruct the clock tree for the circuit,
For the synchronous circuit after reconstructing the clock tree by the clock tree restructuring step, performing the actual wiring on the layout;
For the synchronous circuit after reconstructing the clock tree, performing a timing analysis in consideration of actual wiring on the layout;
One or more delay elements are deleted from the clock line connected to the first storage element on the signal path where the setup time error occurs based on the timing analysis result considering the actual wiring on the layout. Modifying the clock tree so as to eliminate the setup time error.
æ¬çºæã«ä¿ãã¯ããã¯ããªãŒæ§ç¯ããŒã«ã¯ãäŸãã°ãä¿¡å·çµè·¯ã®ã»ããã¢ããã¿ã€ã ãšã©ãŒã«å¯ŸããããŒãžã³ã倧ãããªãã«ã€ããŠãåœè©²ä¿¡å·çµè·¯äžã«ãã第ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«æ¿å ¥ããé å»¶çŽ åã®æ°ã倧ããããã°ãåèšæ¶çŽ åã«å«ãŸããã¯ããã¯ãããã¡ã®ãã©ã³ãžã¹ã¿ãã¹ã€ããã³ã°ããã¿ã€ãã³ã°ãå¹ççã«åæ£ãããããšãã§ãã第ïŒã®èšæ¶çŽ åãšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«ã¯ããã¯ããªãŒãåæ§ç¯ããããšãã§ãããåŸã£ãŠãããŒã¯é»æµãäœæžããããšãã§ããããŒã¯é»æµãæµããæã®é»æºé»äœã®é»å§éäžãäœæžããããšãã§ããã®ã§ãåè·¯ã®èª€åäœã鲿¢ããããšãã§ããã   The clock tree construction tool according to the present invention, for example, determines the number of delay elements to be inserted into the clock line connected to the first storage element on the signal path as the margin for the setup time error of the signal path increases. If it is increased, the switching timing of the transistors of the clock buffer included in each memory element can be efficiently distributed, and the clock skew between the first memory element and the second memory element is greater than or equal to a given value. The clock tree can be rebuilt so that Accordingly, the peak current can be reduced, and the voltage drop of the power supply potential when the peak current flows can be reduced, so that malfunction of the circuit can be prevented.
æ¬çºæã«ä¿ãã¯ããã¯ããªãŒæ§ç¯ããŒã«ã¯ãé å»¶çŽ åãæ¿å ¥ãããã³ã«å®é ç·ãè¡ãããšã¯ããªãã®ã§ãã¯ããã¯ããªãŒãåæ§ç¯ããåŠçãããçæéã§è¡ãããšãã§ããããŸããã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯Ÿããã¬ã€ã¢ãŠãäžã§ã®å®é ç·ãèæ ®ããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããé å»¶çŽ åã远å ããšãªãã»ããã¢ããã¿ã€ã ãšã©ãŒãè§£æ¶ããã®ã§ãã¯ããã¯ã©ã€ã³ã®é ç·ãå€§å¹ ã«ããçŽãå¿ èŠããªããããç°¡åãã€ç¢ºå®ã«ã»ããã¢ããã¿ã€ã ãšã©ãŒãè§£æ¶ããããšãã§ããã   Since the clock tree construction tool according to the present invention does not perform actual wiring every time a delay element is inserted, the process of reconstructing the clock tree can be performed in a shorter time. In addition, the setup time error is eliminated without adding a delay element based on the timing analysis result considering the actual wiring on the layout for the synchronous circuit after the clock tree is reconstructed. There is no need, and setup time errors can be resolved more easily and reliably.
ïŒïŒïŒæ¬çºæã¯ã
äžèšã®ããããã«èšèŒãããéç©åè·¯è£
眮ã®èšè𿹿³åã¯ã¯ããã¯ããªãŒæ§ç¯ããŒã«ãçšããŠèšèšè£œé ãããããšãç¹åŸŽãšããéç©åè·¯è£
眮ã§ããã
(7) The present invention
An integrated circuit device characterized by being designed and manufactured using the integrated circuit device design method or clock tree construction tool described above.
ïŒïŒïŒæ¬çºæã¯ã
äžèšã«èšèŒã®éç©åè·¯è£
眮ãå«ãããšãç¹åŸŽãšãããã€ã¯ãã³ã³ãã¥ãŒã¿ã§ããã
(8) The present invention
A microcomputer including the integrated circuit device described above.
ïŒïŒïŒæ¬çºæã¯ã
äžèšã«èšèŒã®ãã€ã¯ãã³ã³ãã¥ãŒã¿ãšã
åèšãã€ã¯ãã³ã³ãã¥ãŒã¿ã®åŠç察象ãšãªãããŒã¿ã®å
¥åææ®µãšã
åèšãã€ã¯ãã³ã³ãã¥ãŒã¿ã«ããåŠçãããããŒã¿ãåºåããããã®åºåææ®µãšãå«ãããšãç¹åŸŽãšããé»åæ©åšã§ããã
(9) The present invention
A microcomputer as described above;
Means for inputting data to be processed by the microcomputer;
And an output means for outputting data processed by the microcomputer.
以äžãæ¬çºæã®å¥œé©ãªå®æœåœ¢æ ã«ã€ããŠå³é¢ãçšããŠè©³çްã«èª¬æããããªãã以äžã«èª¬æãã宿œã®åœ¢æ ã¯ãç¹èš±è«æ±ã®ç¯å²ã«èšèŒãããæ¬çºæã®å 容ãäžåœã«éå®ãããã®ã§ã¯ãªãããŸã以äžã§èª¬æãããæ§æã®å šãŠãæ¬çºæã®å¿ é æ§æèŠä»¶ã§ãããšã¯éããªãã   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. The embodiments described below do not unduly limit the contents of the present invention described in the claims. Also, not all of the configurations described below are essential constituent requirements of the present invention.
ïŒïŒéç©åè·¯è£
眮ãéç©åè·¯è£
眮ã®èšè𿹿³ãã¯ããã¯ããªãŒæ§ç¯ããŒã«
å³ïŒã¯ãæ¬å®æœã®åœ¢æ
ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ã®å¯Ÿè±¡ãšãªãåæåè·¯ã®äŸã説æããããã®å³ã§ããã
1. Integrated Circuit Device, Integrated Circuit Device Design Method, Clock Tree Construction Tool FIG. 1 is a diagram for explaining an example of a synchronous circuit that is a target of the clock tree construction tool of the present embodiment.
åæåè·¯ïŒïŒã¯ãéç©åè·¯è£
眮ïŒïŒ©ïŒ£ïŒã«å«ãŸããåè·¯ã§ãããæ¬å®æœã®åœ¢æ
ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ã®å¯Ÿè±¡ãšãªããåæåè·¯ïŒïŒã¯ããµããããã¯ïŒïŒïŒåã³ïŒïŒïŒãã¯ããã¯ããªãŒïŒïŒïŒãå«ãã§æ§æããããããã§ãåæåè·¯ïŒïŒã«å«ãŸããåããªããããããã¯ããããã¡ã€ã³ã¯ããã¯ïŒïŒïŒã§åæå¶åŸ¡ããããããªãã¡ãåæåè·¯ïŒïŒã¯ã¡ã€ã³ã¯ããã¯ïŒïŒïŒïŒåäžã®ã¯ããã¯ïŒã«åºã¥ããŠåäœããåæåè·¯ã§ããã
  The
ãµããããã¯ïŒïŒïŒã¯ãïŒåã®ããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒåã³çµã¿åããåè·¯ïŒïŒïŒãïŒïŒïŒãå«ãã§æ§æãããŠãããçµã¿åããåè·¯ïŒïŒïŒã®ïŒã€ã®å
¥åã¯ããªããããããïŒïŒïŒã®åºåã«æ¥ç¶ãããŠãããä»ã®ïŒã€ã®å
¥åïŒïŒïŒã¯ãµããããã¯ïŒïŒïŒã®å€éšããäŸçµŠããããçµã¿åããåè·¯ïŒïŒïŒã®åºåã¯ãããªããããããïŒïŒïŒã®ããŒã¿å
¥åã«æ¥ç¶ãããŠããããŸããçµã¿åããåè·¯ïŒïŒïŒã®ïŒã€ã®å
¥åã¯ããªããããããïŒïŒïŒã®åºåã«æ¥ç¶ãããŠãããä»ã®ïŒã€ã®å
¥åã¯ãµããããã¯ïŒïŒïŒã«å«ãŸããããªããããããïŒïŒïŒã®åºåã«æ¥ç¶ãããŠãããçµã¿åããåè·¯ïŒïŒïŒã®åºåã¯ãããªããããããïŒïŒïŒã®ããŒã¿å
¥åã«æ¥ç¶ãããŠããã
  The
ãµããããã¯ïŒïŒïŒã¯ãïŒåã®ããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒåã³çµã¿åããåè·¯ïŒïŒïŒãïŒïŒïŒãå«ãã§æ§æãããŠãããçµã¿åããåè·¯ïŒïŒïŒã®ïŒã€ã®å
¥åã¯ãµããããã¯ïŒïŒïŒã«å«ãŸããããªããããããïŒïŒïŒã®åºåã«æ¥ç¶ãããŠãããä»ã®ïŒã€ã®å
¥åã¯ããªããããããïŒïŒïŒã®åºåã«æ¥ç¶ãããŠãããçµã¿åããåè·¯ïŒïŒïŒã®åºåã¯ãããªããããããïŒïŒïŒã®ããŒã¿å
¥åã«æ¥ç¶ãããŠããããŸããçµã¿åããåè·¯ïŒïŒïŒã®ïŒã€ã®å
¥åã¯ããªããããããïŒïŒïŒã®åºåã«æ¥ç¶ãããŠãããä»ã®ïŒã€ã®å
¥åïŒïŒïŒã¯ãµããããã¯ïŒïŒïŒã®å€éšããäŸçµŠããããçµã¿åããåè·¯ïŒïŒïŒã®åºåã¯ãããªããããããïŒïŒïŒã®ããŒã¿å
¥åã«æ¥ç¶ãããŠããã
  The sub-block 200 includes three flip-
ã¯ããã¯ããªãŒïŒïŒïŒã¯ãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒåã³ã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒãå«ãã§æ§æãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ãããŠããããã®åºåã¯ããµããããã¯ïŒïŒïŒã«å«ãŸããïŒåã®ããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã«å
±éã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ãããŠããããã®åºåã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã¯ããµããããã¯ïŒïŒïŒã«å«ãŸããïŒåã®ããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã«å
±éã«æ¥ç¶ãããŠãããããã§ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããïŒåã®ããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã®é
å»¶ãæããä»»æã®ïŒã€ã®ããªããããããéã«ãããã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžïŒäŸãã°ãïŒïŒã«ãªãããã«ãé
å»¶çŽ åãšããŠæ©èœããã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãæ¿å
¥ãããŠããã
  The
ã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã«ã¯ãïŒã€ã®ã¯ããã¯ãããã¡ïŒïŒïŒãæ¿å
¥ãããŠãããäžæ¹ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã«ã¯ãïŒã€ã®ã¯ããã¯ãããã¡ïŒïŒïŒåã³ïŒïŒïŒãæ¿å
¥ãããŠãããæ¿å
¥ãããã¯ããã¯ãããã¡ã®æ°ã®çžéã¯ãã¬ã€ã¢ãŠãïŒå³ç€ºããïŒäžã®åããªããããããã®ç©ççãªé
çœ®å Žæã®çžéã®ãããã¯ããã¯ãããã¡ïŒïŒïŒãšåããªããããããã®éã®è·é¢ãç°ãªãããšã«èµ·å ãããããªãã¡ãã¯ããã¯ãããã¡ïŒïŒïŒãšããªããããããã®éã®è·é¢ãé·ãå Žåã¯ãã¯ããã¯é
ç·ã«äŒŽãå¯çæµæãå¯ç容éã倧ãããã¯ããã¯ã©ã€ã³ã®é
ç·é
å»¶ã倧ãããããæ¿å
¥ããã¯ããã¯ãããã¡ã®æ°ãå°ãªããããäžæ¹ãã¯ããã¯ãããã¡ïŒïŒïŒãšããªããããããã®éã®è·é¢ãçãå Žåã¯ãé
ç·é
å»¶ãå°ãããããæ¿å
¥ããã¯ããã¯ãããã¡ã®æ°ãå€ãããããã®ããã«ããŠãä»»æã®ïŒã€ã®ããªããããããéã«ãããã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžã«ãªãããã«ã¯ããã¯ããªãŒïŒïŒïŒãæ§æãããŠãããäŸãã°ãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ããã¹ãŠïŒïœïœã®å Žåãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã®é
ç·é
å»¶ããã¹ãŠïŒïœïœã§ãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã®é
ç·é
å»¶ããã¹ãŠïŒã ãšãããšãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã®é
å»¶ã¯ãã¹ãŠïŒïœïœãšãªããä»»æã®ïŒã€ã®ããªããããããéã®ã¯ããã¯ã¹ãã¥ãŒãïŒã«ãªãã
  One
ãµããããã¯ïŒïŒïŒã«å«ãŸããïŒåã®ããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã¯ã¬ã€ã¢ãŠãäžã®ç©ççã«è¿ãå Žæã«é
眮ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒããïŒåã®ããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã®é
ç·é
å»¶ã«ã¯ã»ãšãã©å·®ããªãïŒãããã®ããªããããããéã«ãããã¯ããã¯ã¹ãã¥ãŒã¯éåžžã«å°ããïŒãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåãšããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®éã«ã¯ã¯ããã¯ãããã¡ãæ¿å
¥ãããŠããªããåæ§ã«ããµããããã¯ïŒïŒïŒã«å«ãŸããïŒåã®ããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã¯ã¬ã€ã¢ãŠãäžã®ç©ççã«è¿ãå Žæã«é
眮ãããŠãããããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåãšããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®éã«ã¯ã¯ããã¯ãããã¡ãæ¿å
¥ãããŠããªãã
  The three flip-
ããã§ãçµã¿åããåè·¯ïŒïŒïŒã«ãããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®åºåããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®ããŒã¿å
¥åãŸã§ã®ãã¹ïŒä¿¡å·çµè·¯ïŒïœïŒã®é
å»¶ã¯ïŒïŒïŒïœïœãçµã¿åããåè·¯ïŒïŒïŒã«ãããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®åºåããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®ããŒã¿å
¥åãŸã§ã®ãã¹ïœïŒã®é
å»¶ã¯ïŒïŒïŒïœïœãããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®åºåããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®ããŒã¿å
¥åãŸã§ã®ãã¹ïœïŒã®é
å»¶ã¯ïŒïœïœãçµã¿åããåè·¯ïŒïŒïŒã«ãããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®åºåããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®ããŒã¿å
¥åãŸã§ã®ãã¹ïœïŒã®é
å»¶ã¯ïŒïŒïŒïœïœãããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®åºåããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®ããŒã¿å
¥åãŸã§ã®ãã¹ïœïŒã®é
å»¶ã¯ïŒïŒïŒïœïœãçµã¿åããåè·¯ïŒïŒïŒã«ãããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®åºåããããªããããããïŒïŒïŒïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®ããŒã¿å
¥åãŸã§ã®ãã¹ïœïŒã®é
å»¶ã¯ïŒïŒïŒïœïœã§ãããšãããããã«ãã¡ã€ã³ã¯ããã¯ïŒïŒïŒã®ã¯ããã¯åšæ³¢æ°ã¯ïŒïŒïŒïŒïŒšïœïŒã¯ããã¯åšæã¯ïŒïŒïœïœïŒããã¹ãŠã®ããªããããããã®é
å»¶ïŒã¯ããã¯ãå
¥åãããŠããåºåãå€åãããŸã§ã®æéïŒã¯ïŒïœïœãšä»®å®ãããã¹ãŠã®ããªããããããã«å¯Ÿããã»ããã¢ããã¿ã€ã ã¯ïŒïœïœä»¥äžãããŒã«ãã¿ã€ã ã¯ïŒïœïœä»¥äžå¿
èŠã§ãããšä»®å®ããããŸãããã¹ãŠã®ããªããããããéã®ã¯ããã¯ã¹ãã¥ãŒïŒä»¥äžã®èª¬æã§ã¯ã第ïŒã®èšæ¶çŽ åã«çžåœããããªãããããããŸã§ã®ã¯ããã¯é
å»¶ãã第ïŒã®èšæ¶çŽ åã«çžåœããããªãããããããŸã§ã®ã¯ããã¯é
å»¶ãåŒãç®ããå€ãšå®çŸ©ããïŒã¯ïŒã§ãããšä»®å®ããã
  Here, the delay of the path (signal path) p1 from the output of the flip-flop 110 (corresponding to the first memory element) to the data input of the flip-flop 120 (corresponding to the second memory element) in the
ãã®å Žåãã»ããã¢ããã¿ã€ã ãšã©ãŒãèµ·ãããªãããã«ã¯ããã¹ãŠã®ããªããããããéã«ãããçµã¿åããåè·¯ã®ãã¹ã®é å»¶ã¯ãïŒïŒïœïœïŒã¯ããã¯åšæïŒïŒïŒïœïœïŒã¯ããã¯ã¹ãã¥ãŒïŒâïŒïœïœïŒããªããããããã®é å»¶ïŒâïŒïœïœïŒã»ããã¢ããã¿ã€ã ïŒïŒïŒïœïœä»¥äžã§ãªããã°ãªããªããäžè¿°ã®éãããã¹ïœïŒãïœïŒã®é å»¶ã¯ãããããïŒïŒïŒïœïœãïŒïŒïŒïœïœãïŒïœïœãïŒïŒïŒïœïœãïŒïŒïŒïœïœãïŒïŒïŒïœïœãªã®ã§ããã¹ïœïŒãïœïŒã«é¢ããŠãã»ããã¢ããã¿ã€ã ãšã©ãŒã¯çºçããŠããªããäžæ¹ãããŒã«ãã¿ã€ã ãšã©ãŒãèµ·ãããªãããã«ã¯ããã¹ãŠã®ããªããããããéã«ãããçµã¿åããåè·¯ã®ãã¹ã®é å»¶ã¯ãïŒïœïœïŒããŒã«ãã¿ã€ã ïŒïŒïŒïœïœïŒã¯ããã¯ã¹ãã¥ãŒïŒâïŒïœïœïŒããªããããããã®é å»¶ïŒïŒâïŒïœïœä»¥äžã§ãªããã°ãªããªããæããã«ããã¹ïœïŒãïœïŒã«é¢ããŠãããŒã«ãã¿ã€ã ãšã©ãŒã¯çºçããŠããªãã   In this case, in order to prevent a setup time error, the delay of the combinational circuit path between all flip-flops is 10 ns (clock cycle) +0 ns (clock skew) -1 ns (flip-flop delay) -1 ns (setup time) ) = 8 ns or less. As described above, the delays of the paths p1 to p6 are 5.5 ns, 6.5 ns, 2 ns, 2.5 ns, 6.5 ns, and 7.5 ns, respectively, so no setup time error has occurred for the paths p1 to p6. . On the other hand, in order to prevent a hold time error, the delay of the combinational circuit path between all flip-flops must be 0 ns (hold time) +0 ns (clock skew) -1 ns (flip-flop delay) = â 1 ns or more. I must. Clearly, no hold time error has occurred with respect to the paths p1 to p6.
ã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒã®ã¯ããã¯åºåã«æ¥ç¶ãããŠãããã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒã®ã¯ããã¯å
¥åã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ãã¡ã€ã³ã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ãããŠãããã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒã®å¶åŸ¡å
¥åã«ã¯ãå¶åŸ¡ä¿¡å·ïŒïŒïŒãã¯ããã¯ããªãŒïŒïŒïŒã®å€éšããäŸçµŠããããã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒã¯ãå¶åŸ¡ä¿¡å·ïŒïŒïŒã掻æ§åïŒã€ããŒãã«ïŒç¶æ
ã§ããå Žåã«ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããäŸçµŠãããã¯ããã¯ä¿¡å·ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã«äŸçµŠããå¶åŸ¡ä¿¡å·ïŒïŒïŒãéæŽ»æ§åïŒãã£ã»ãŒãã«ïŒç¶æ
ã§ããå Žåã«ã¯ãã¯ããã¯ä¿¡å·ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã«äŸçµŠããªããããªãã¡ãå¶åŸ¡ä¿¡å·ïŒïŒïŒã掻æ§åïŒã€ããŒãã«ïŒç¶æ
ã§ããå Žåã«ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãåã³ããµããããã¯ïŒïŒïŒãïŒïŒïŒã¯åäœããå¶åŸ¡ä¿¡å·ïŒïŒïŒãéæŽ»æ§åïŒãã£ã»ãŒãã«ïŒç¶æ
ã§ããå Žåã«ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãåã³ããµããããã¯ïŒïŒïŒãïŒïŒïŒã¯åäœããªããåŸã£ãŠãå¶åŸ¡ä¿¡å·ïŒïŒïŒãéæŽ»æ§åïŒãã£ã»ãŒãã«ïŒç¶æ
ã§ããå Žåã«ã¯ãæ¶è²»é»åãäœæžããããšãã§ããã
  The input of the
å³ïŒã¯ãå³ïŒã«ãããåæåè·¯ïŒïŒã«å¯ŸããŠåŸæ¥æè¡ïŒéç¹èš±æç®ïŒèšèŒïŒã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ã䜿çšããã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã®äŸã«ã€ããŠèª¬æããããã®å³ã§ãããå³ïŒãšåãæ§æã«ã¯åãçªå·ãä»ããŠãã説æãçç¥ããã
  FIG. 2 is a diagram for explaining an example of the synchronization circuit after the clock tree is reconstructed by using the clock tree construction tool of the prior art (described in Non-Patent Document 1) for the
å³ïŒã«ãããåæåè·¯ïŒïŒïŒã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ïŒã¯ãã¯ããã¯ããªãŒïŒïŒïŒãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãå«ãç¹ã«ãããŠã®ã¿ãå³ïŒã«ãããåæåè·¯ïŒïŒãšç°ãªããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ããããã®åºåã¯ãããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ããããã®åºåã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã¯ãããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ããããã®åºåã¯ãããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ããããã®åºåã¯ãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒã®ã¯ããã¯å
¥åã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã¯ãåŸæ¥æè¡ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ãæ¿å
¥ããã¯ããã¯ãããã¡ã§ããã
  2 differs from the
ããã§ãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ã¯ãã¹ãŠïŒïœïœã§ãããšããããã®å Žåãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ãå³ïŒã®å Žåãšæ¯èŒããŠãã¯ããã¯ãããã¡ïŒïŒïŒåã³ïŒïŒïŒã®é
å»¶åïŒïŒïœïœïŒïŒïœïœïŒïŒïœïœïŒã ãå¢å ããŠãããåæ§ã«ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ã¯ããã¯ãããã¡ïŒïŒïŒã®é
å»¶åïŒïŒïœïœïŒã ãå¢å ããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ã¯ããã¯ãããã¡ïŒïŒïŒã®é
å»¶åïŒïŒïœïœïŒã ãå¢å ããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã®é
å»¶ã¯å³ïŒã®å Žåãšå€ãããªããåŸã£ãŠããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éã®ã¯ããã¯ã¹ãã¥ãŒã¯âïŒïœïœã§ãããåæ§ã«ããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éã®ã¯ããã¯ã¹ãã¥ãŒã¯ãããããâïŒïœïœãïŒïœïœãâïŒïœïœãâïŒïœïœãïŒã§ãããããªãã¡ãåŸæ¥æè¡ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ã«ãããã¯ããã¯ã¹ãã¥ãŒã«å·®ãåºãããã«ã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãæ¿å
¥ãããŠããã
  Here, it is assumed that the delays from the input to the output of the clock buffers 322, 324, 326, 344, and 372 are all 1 ns. In this case, the delay from the output of the
äžæ¹ããµããããã¯ïŒïŒïŒåã³ïŒïŒïŒã¯å³ïŒãšãŸã£ããåãã§ããããã¹ïœïŒãïœïŒã®é
å»¶ãå€ãããªãããã¹ïœïŒã®é
å»¶ã¯ïŒïŒïŒïœïœã§ãããïŒïŒïœïœïŒã¯ããã¯åšæïŒïŒïŒâïŒïœïœïŒïŒã¯ããã¯ã¹ãã¥ãŒïŒâïŒïœïœïŒããªããããããã®é
å»¶ïŒâïŒïœïœïŒã»ããã¢ããã¿ã€ã ïŒïŒïŒïœïœä»¥äžãªã®ã§ãããªããããããïŒïŒïŒã«å¯Ÿããã»ããã¢ããã¿ã€ã ãšã©ãŒã¯çºçããŠããªãããŸããããªããããããïŒïŒïŒã«å¯ŸããããŒã«ãã¿ã€ã ãšã©ãŒã«ã€ããŠããïŒïœïœïŒããŒã«ãã¿ã€ã ïŒïŒïŒâïŒïœïœïŒïŒã¯ããã¯ã¹ãã¥ãŒïŒâïŒïœïœïŒããªããããããïŒïŒïŒã®é
å»¶ïŒïŒâïŒïœïœãªã®ã§ãçºçããŠããªããåæ§ã«ããã¹ïœïŒåã³ïœïŒã«é¢ããããªããããããïŒïŒïŒã«å¯Ÿããã»ããã¢ããã¿ã€ã ãšã©ãŒåã³ããŒã«ãã¿ã€ã ãšã©ãŒããã¹ïœïŒåã³ïœïŒã«é¢ããããªããããããïŒïŒïŒã«å¯Ÿããã»ããã¢ããã¿ã€ã ãšã©ãŒåã³ããŒã«ãã¿ã€ã ãšã©ãŒããã¹ïœïŒã«é¢ããããªããããããïŒïŒïŒã«å¯Ÿããã»ããã¢ããã¿ã€ã ãšã©ãŒåã³ããŒã«ãã¿ã€ã ãšã©ãŒã¯çºçããŠããªããããªãã¡ãæ¬å®æœã®åœ¢æ
ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãæ¿å
¥ããããšã«ãããåæåè·¯ïŒïŒã«ã¿ã€ãã³ã°ãšã©ãŒã¯çºçããŠããªãã
  On the other hand, the sub-blocks 100 and 200 are exactly the same as in FIG. 1, and the delays of the paths p1 to p6 are not changed. Since the delay of the path p1 is 5.5 ns and 10 ns (clock cycle) + (â 1 ns) (clock skew) â1 ns (flip-flop delay) â1 ns (setup time) = 7 ns or less, the setup time for the flip-
ãªããå³ïŒã«ãããŠã¯ãã¯ããã¯ãããã¡ïŒïŒïŒãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒã®åæ®µã«æ¿å
¥ãããŠãããåŸã£ãŠãå¶åŸ¡ä¿¡å·ïŒïŒïŒãéæŽ»æ§åïŒãã£ã»ãŒãã«ïŒç¶æ
ã§ããå Žåã§ãã£ãŠããã¯ããã¯ãããã¡ïŒïŒïŒã¯åäœããŠããŸãããšã«ãªãã
  In FIG. 2, a
å³ïŒã¯ãå³ïŒã«ãããåæåè·¯ïŒïŒã«å¯ŸããŠæ¬å®æœã®åœ¢æ
ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ã䜿çšããã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã®äŸã«ã€ããŠèª¬æããããã®å³ã§ãããå³ïŒãšåãæ§æã«ã¯åãçªå·ãä»ããŠãã説æãçç¥ããã
  FIG. 3 is a diagram for explaining an example of the synchronization circuit after the clock tree is reconstructed by using the clock tree construction tool of the present embodiment for the
å³ïŒã«ãããåæåè·¯ïŒïŒïŒã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ïŒã¯ãã¯ããã¯ããªãŒïŒïŒïŒãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãå«ãç¹ã«ãããŠã®ã¿ãå³ïŒã«ãããåæåè·¯ïŒïŒãšç°ãªããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ããããã®åºåã¯ãããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ããããã®åºåã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã¯ãããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåã«æ¥ç¶ããããã®åºåã¯ãããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã¯ãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒã®åºåã«æ¥ç¶ããããã®åºåã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åã«æ¥ç¶ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã¯ãæ¬å®æœã®åœ¢æ
ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ãæ¿å
¥ããã¯ããã¯ãããã¡ã§ããã
  3 is different from the
ããã§ãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ã¯ãã¹ãŠïŒïœïœã§ãããšããããã®å Žåãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ãå³ïŒã®å Žåãšæ¯èŒããŠãã¯ããã¯ãããã¡ïŒïŒïŒåã³ïŒïŒïŒã®é
å»¶åïŒïŒïœïœïŒïŒïœïœïŒïŒïœïœïŒã ãå¢å ããŠãããåæ§ã«ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ã¯ããã¯ãããã¡ïŒïŒïŒã®é
å»¶åïŒïŒïœïœïŒã ãå¢å ããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ã¯ããã¯ãããã¡ïŒïŒïŒã®é
å»¶åïŒïŒïœïœïŒã ãå¢å ããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã®é
å»¶ã¯å³ïŒã®å Žåãšå€ãããªããåŸã£ãŠããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éã®ã¯ããã¯ã¹ãã¥ãŒã¯âïŒïœïœã§ãããåæ§ã«ããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éããã¹ïœïŒäžã«ããããªããããããïŒïŒïŒãšïŒïŒïŒã®éã®ã¯ããã¯ã¹ãã¥ãŒã¯ãããããâïŒïœïœãïŒïœïœãâïŒïœïœãâïŒïœïœãïŒã§ãããããªãã¡ãæ¬å®æœã®åœ¢æ
ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ã«ãããã¯ããã¯ã¹ãã¥ãŒã«å·®ãåºãããã«ã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãæ¿å
¥ãããŠããã
  Here, it is assumed that the delays from the input to the output of the clock buffers 322, 324, 326, 344, and 364 are all 1 ns. In this case, the delay from the output of the
äžæ¹ããµããããã¯ïŒïŒïŒåã³ïŒïŒïŒã¯å³ïŒãšãŸã£ããåãã§ããããã¹ïœïŒãïœïŒã®é
å»¶ãå€ãããªãããã¹ïœïŒã®é
å»¶ã¯ïŒïŒïŒïœïœã§ãããïŒïŒïœïœïŒã¯ããã¯åšæïŒïŒïŒâïŒïœïœïŒïŒã¯ããã¯ã¹ãã¥ãŒïŒâïŒïœïœïŒããªããããããã®é
å»¶ïŒâïŒïœïœïŒã»ããã¢ããã¿ã€ã ïŒïŒïŒïœïœä»¥äžãªã®ã§ãããªããããããïŒïŒïŒã«å¯Ÿããã»ããã¢ããã¿ã€ã ãšã©ãŒã¯çºçããŠããªãããŸããããªããããããïŒïŒïŒã«å¯ŸããããŒã«ãã¿ã€ã ãšã©ãŒã«ã€ããŠããïŒïœïœïŒããŒã«ãã¿ã€ã ïŒïŒïŒâïŒïœïœïŒïŒã¯ããã¯ã¹ãã¥ãŒïŒâïŒïœïœïŒããªããããããïŒïŒïŒã®é
å»¶ïŒïŒâïŒïœïœãªã®ã§ãçºçããŠããªããåæ§ã«ããã¹ïœïŒåã³ïœïŒã«é¢ããããªããããããïŒïŒïŒã«å¯Ÿããã»ããã¢ããã¿ã€ã ãšã©ãŒåã³ããŒã«ãã¿ã€ã ãšã©ãŒããã¹ïœïŒåã³ïœïŒã«é¢ããããªããããããïŒïŒïŒã«å¯Ÿããã»ããã¢ããã¿ã€ã ãšã©ãŒåã³ããŒã«ãã¿ã€ã ãšã©ãŒããã¹ïœïŒã«é¢ããããªããããããïŒïŒïŒã«å¯Ÿããã»ããã¢ããã¿ã€ã ãšã©ãŒåã³ããŒã«ãã¿ã€ã ãšã©ãŒã¯çºçããŠããªããããªãã¡ãæ¬å®æœã®åœ¢æ
ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ãã¯ããã¯ãããã¡ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãæ¿å
¥ããããšã«ãããåæåè·¯ïŒïŒã«ã¿ã€ãã³ã°ãšã©ãŒã¯çºçããŠããªãã
  On the other hand, the sub-blocks 100 and 200 are exactly the same as in FIG. 1, and the delays of the paths p1 to p6 are not changed. Since the delay of the path p1 is 5.5 ns and 10 ns (clock cycle) + (â 1 ns) (clock skew) â1 ns (flip-flop delay) â1 ns (setup time) = 7 ns or less, the setup time for the flip-
ãªããïŒïŒã«ãããŠã¯ãã¯ããã¯ãããã¡ïŒïŒïŒãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒã®åŸæ®µã«æ¿å
¥ãããŠãããåŸã£ãŠãå¶åŸ¡ä¿¡å·ïŒïŒïŒãéæŽ»æ§åïŒãã£ã»ãŒãã«ïŒç¶æ
ã§ããå Žåã«ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã¯åäœããªãããšã«ãªããããªãã¡ãå¶åŸ¡ä¿¡å·ïŒïŒïŒãéæŽ»æ§åïŒãã£ã»ãŒãã«ïŒç¶æ
ã§ããå Žåã®åæåè·¯ïŒïŒã®æ¶è²»é»åã¯ãå¶åŸ¡ä¿¡å·ïŒïŒïŒãéæŽ»æ§åïŒãã£ã»ãŒãã«ïŒç¶æ
ã§ããå Žåã®åæåè·¯ïŒïŒïŒå³ïŒåç
§ïŒã®æ¶è²»é»åãããå°ãªããªãã
  In 32, a
å³ïŒã¯ãã¯ããã¯ãããã¡ã®åºåãšåããªããããããã®ã¯ããã¯å ¥åã«é¢ããã¿ã€ãã³ã°ã説æããããã®å³ã§ããã   FIG. 4 is a diagram for explaining the timing related to the output of the clock buffer and the clock input of each flip-flop.
å³ïŒïŒïŒ¡ïŒã¯ãå³ïŒã®åæåè·¯ïŒïŒã«ãããã¿ã€ãã³ã°ã説æããããã®å³ã§ãããæå»ïŒŽïŒã«ãããŠãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåãç«ã¡äžãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã®é
å»¶ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšé
ç·é
å»¶ïŒïŒïœïœïŒã®åã«çžåœããïŒïœïœã§ãããäžæ¹ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãŸã§ã®é
å»¶ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšé
ç·é
å»¶ïŒïŒïœïœïŒã®åã«çžåœããïŒïœïœã§ãããåŸã£ãŠãæå»ïŒŽïŒã«ãããŠãããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã¯åæã«ç«ã¡äžãããããã¯ãå³ïŒã®åè·¯ã§ã¯ãã¹ãŠã®ããªããããããã«å¯ŸããŠã¯ããã¯ã¹ãã¥ãŒãïŒã«ãªãããã«ã¯ããã¯ããªãŒãæ§ç¯ãããŠããããã§ãããåŸã£ãŠãã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã«æ¥ç¶ããããããã¡ïŒå³ç€ºããŠããªãããåããªããããããã®å
éšã«ããïŒã«ããããã©ã³ãžã¹ã¿ãåæã«ã¹ã€ããã³ã°ããããã«é»æºããã°ã©ã³ãã«å€§ããªè²«é黿µãæµããããŒã¯é»æµã倧ãããªãããã黿ºé»äœã«å€§ããªé»å§éäžãçºçããã
  FIG. 4A is a diagram for explaining the timing in the
å³ïŒïŒïŒ¢ïŒã¯ãå³ïŒã®åæåè·¯ïŒïŒã«ãããã¿ã€ãã³ã°ã説æããããã®å³ã§ããã
  FIG. 4B is a diagram for explaining the timing in the
æå»ïŒŽïŒã«ãããŠãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåãç«ã¡äžãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšé
ç·é
å»¶ïŒïŒïœïœïŒã®åã«çžåœããïŒïœïœã§ãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšé
ç·é
å»¶ïŒïŒïœïœïŒã®åã«çžåœããïŒïœïœã§ãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšé
ç·é
å»¶ïŒïŒïœïœïŒã®åã«çžåœããïŒïœïœã§ãããäžæ¹ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãŸã§ã®é
å»¶ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšé
ç·é
å»¶ïŒïŒïœïœïŒã®åã«çžåœããïŒïœïœã§ãããã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããããªããããããïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãŸã§ã®é
å»¶ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšã¯ããã¯ãããã¡ïŒïŒïŒã®å
¥åããåºåãŸã§ã®é
å»¶ïŒïŒïœïœïŒãšé
ç·é
å»¶ïŒïŒïœïœïŒã®åã«çžåœããïŒïœïœã§ãããåŸã£ãŠãæå»ïŒŽïŒã«ãããŠãããªããããããïŒïŒïŒãïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãåæã«ç«ã¡äžãããæå»ïŒŽïŒã«ãããŠãããªããããããïŒïŒïŒãïŒïŒïŒã®åã¯ããã¯å
¥åïŒïŒïŒãïŒïŒïŒãåæã«ç«ã¡äžãããæå»ïŒŽïŒã«ãããŠãããªããããããïŒïŒïŒã®ã¯ããã¯å
¥åïŒïŒïŒãç«ã¡äžããããã®ããã«åããªããããããã®ã¯ããã¯å
¥åã®ç«ã¡äžããã®ã¿ã€ãã³ã°ãç°ãªãã®ã¯ãæ¬å®æœã®åœ¢æ
ã®ã¯ããã¯ããªãŒæ§ç¯ããŒã«ããã¿ã€ãã³ã°ãšã©ãŒãèµ·ãããªãç¯å²ã§ãã¯ããã¯ãããã¡ïŒïŒïŒã®åºåããåããªããããããã®ã¯ããã¯å
¥åãŸã§ã®é
å»¶ã«ã§ããã ãïŒïœïœä»¥äžã®å·®ãã€ããããã«ã¯ããã¯ããªãŒãæ§ç¯ããããšã«ããããã®é
å»¶å·®ãšããŠã¯ãåè·¯èŠæš¡ã䜿çšããã¯ããã¯ãããã¡ã®ç¹æ§çã«åºã¥ããŠè²«é黿µãæµããã¿ã€ãã³ã°ã忣ãããŠããŒã¯é»æµãäœæžãã黿ºé»äœã®é»å§éäžã广çã«æå¶ããããšãã§ãããããªæäžã®å€ã«èšå®ããªããã°ãªããªããäŸãã°ãã¯ããã¯ãããã¡ã®é§åèœåãšã¯ããã¯é
ç·ã®å¯çæµæã»å¯ç容éã®é¢ä¿ã«ãããã¯ããã¯ãããã¡åºåã®ç«ã¡äžãããæ¥å³»ã§ããå Žåã«ã¯è²«é黿µãæµããæéãçãã®ã§ããã®æäžã®å€ãå°ãããŠãããŒã¯é»æµãäœæžãããããšãã§ããã®ã§ãé»å§éäžã广çã«æå¶ããããšãã§ãããéã«ãã¯ããã¯ãããã¡åºåã®ç«ã¡äžãããç·©ãããªå Žåã«ã¯è²«é黿µãæµããæéãé·ãã®ã§ããã®æäžã®å€ã倧ãããªããã°ããŒã¯é»æµãäœæžãããããšãã§ãããé»å§éäžã广çã«æå¶ããããšãã§ããªãã
  At time T0, the output of the
å³ïŒã¯ãæ¬å®æœã®åœ¢æ ã®éç©åè·¯è£ çœ®ã®èšè𿹿³ïŒè£œé æ¹æ³ïŒã«ã€ããŠèª¬æããããã®ãããŒãã£ãŒãå³ã§ããã   FIG. 5 is a flowchart for explaining a design method (manufacturing method) of the integrated circuit device according to the present embodiment.
ãŸããã²ãŒãã¬ãã«ã§èšè¿°ãããããããªã¹ããèªã¿èŸŒã¿ãåã»ã«ã®ç©ççãªé 眮ïŒã»ã«é 眮ïŒãè¡ãïŒã¹ãããïŒïŒïŒã   First, the net list described at the gate level is read, and the physical arrangement (cell arrangement) of each cell is performed (step S10).
次ã«ãã¯ããã¯ã®ã«ãŒãïŒäŸãã°ãã¯ããã¯ãå ¥åããããããã¡ã®åºåïŒããåããªããããããã®ã¯ããã¯å ¥åãŸã§ã®é å»¶ïŒã¯ããã¯é å»¶ïŒã®å·®ãããªãã¡ã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžã«ãªãããã«ãåã¯ããã¯ã©ã€ã³ã«ãããã¡ïŒåã¯å¶æ°åã®ã€ã³ããŒã¿ïŒçã®é å»¶çŽ åãæ¿å ¥ããããšã«ãããã¯ããã¯ããªãŒãæ§ç¯ããïŒã¹ãããïŒïŒïŒãã¯ããã¯ããªãŒã®æ§ç¯ã«ãããŠã¯ãã¹ãããïŒïŒã§åŸãããã»ã«é çœ®ã®æ å ±ã«åºã¥ããŠãåã¯ããã¯ã©ã€ã³ã®ä»®æ³é ç·ãè¡ããé ç·é·ãå¯çæµæã»å¯ç容éãèæ ®ããããåããªããããããã«å¯ŸããããŒã«ãã¿ã€ã ãã»ããã¢ããã¿ã€ã ã®å¶çŽãå³ããå Žåãªã©ã¯ãçæ³çã«ã¯ã¯ããã¯ã¹ãã¥ãŒãïŒã«ãªãããã«ã¯ããã¯ããªãŒãæ§ç¯ããã®ãæãŸããããæ¿å ¥å¯èœãªãããã¡ã®çš®é¡ã®å¶çŽã倧ããå Žåãã¯ããã¯é å»¶ã®å¢å ãæããå¿ èŠãããå Žåãªã©ã¯ãã¯ããã¯ã¹ãã¥ãŒã¯æå®ã®å€ïŒããŒã«ãã¿ã€ã ãšã©ãŒåã³ã»ããã¢ããã¿ã€ã ãšã©ãŒãèµ·ãããªãçšåºŠã®å€ïŒä»¥äžã«ãªãããã«ããã°ããã   Next, each clock is set such that the difference in delay (clock delay) from the clock root (for example, the output of the buffer to which the clock is input) to the clock input of each flip-flop, that is, the clock skew is equal to or less than a predetermined value. A clock tree is constructed by inserting delay elements such as buffers (or an even number of inverters) into the line (step S12). In the construction of the clock tree, the virtual wiring of each clock line is performed based on the information on the cell arrangement obtained in step S10, and the wiring length, parasitic resistance and parasitic capacitance are taken into consideration. When there are severe restrictions on hold time and setup time for each flip-flop, it is ideal to construct a clock tree so that the clock skew is zero, but there are large restrictions on the types of buffers that can be inserted. When it is necessary to suppress an increase in clock delay, the clock skew may be set to a predetermined value (a value that does not cause a hold time error and a setup time error) or less.
次ã«ãã¯ããã¯ããªãŒãæ§ç¯ããåŸã®åè·¯ã«å¯ŸããŠã¿ã€ãã³ã°è§£æãè¡ãïŒã¹ãããïŒïŒïŒãã»ããã¢ããã¿ã€ã ãšã©ãŒåã³ããŒã«ãã¿ã€ã ãšã©ãŒããªããªããŸã§ãã»ã«é
眮ïŒã¹ãããïŒïŒïŒããã³ã¯ããã¯ããªãŒã®æ§ç¯ïŒã¹ãããïŒïŒïŒãç¹°ãè¿ãè¡ãïŒã¹ãããïŒïŒïŒãå³ïŒã®åæåè·¯ïŒïŒã¯ãã¹ãããïŒïŒãïŒïŒã«ããã¯ããã¯ããªãŒãæ§ç¯ãããåè·¯ã§ãã£ãŠãããã
  Next, timing analysis is performed on the circuit after the clock tree is constructed (step S14), and cell arrangement (step S10) and clock tree construction (step S12) are performed until the setup time error and the hold time error are eliminated. Repeatedly (step S16). The
次ã«ããã®ã¿ã€ãã³ã°è§£æçµæããããã¹ãŠã®ãã¹ã«ã€ããŠãã¯ããã¯ã«ãŒãããåœè©²ãã¹ã®çµç¹ãšãªãããªããããããïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®ã¯ããã¯å ¥åãŸã§ã®é å»¶ãšã¯ããã¯ã«ãŒãããåœè©²ãã¹ã®å§ç¹ãšãªãããªããããããïŒç¬¬ïŒã®èšæ¶çŽ åã«çžåœããïŒã®ã¯ããã¯å ¥åãŸã§ã®é å»¶ã®å·®ãåœè©²ãã¹ã«å¯Ÿããã¯ããã¯ã¹ãã¥ãŒãšããŠèšç®ããïŒã¹ãããïŒïŒïŒãäŸãã°ãå³ïŒã«ãããŠããã¹ïœïŒãïœïŒã«å¯Ÿããã¯ããã¯ã¹ãã¥ãŒã¯ãã¹ãŠïŒã§ããããªããä¿¡å·ã®äŒæ¬é å»¶ãèæ ®ããå¿ èŠã®ãªããã¹ïŒãããŒãã¹ïŒãã¯ããã¯ã¹ãã¥ãŒãèæ ®ããå¿ èŠããªãïŒã¯ããã¯ã¹ãã¥ãŒã倧ãããŠãããïŒãã¹çãããå Žåã¯ããããã®ãã¹ãé€ãããã¹ã«ã€ããŠã®ã¿ã¯ããã¯ã¹ãã¥ãŒãèšç®ããã°ããã   Next, from this timing analysis result, for all paths, the delay from the clock root to the clock input of the flip-flop (corresponding to the second storage element) that is the end point of the path and the start point of the path from the clock root The difference in delay until the clock input of the flip-flop (corresponding to the first memory element) is calculated as the clock skew for the path (step S18). For example, in FIG. 1, the clock skews for the paths p1 to p6 are all zero. If there are paths that do not need to consider signal propagation delay (dummy paths) or paths that do not need to consider clock skew (clock skew may be large), only paths other than these paths are excluded. What is necessary is just to calculate a clock skew.
ããã«ãåœè©²ãã¹ã®çµç¹ãšãªãããªããããããã®ã»ããã¢ããã¿ã€ã ãšã©ãŒã«å¯ŸããããŒãžã³ããåœè©²ãã¹ã«å¯Ÿããã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠãšããŠèšç®ããïŒã¹ãããïŒïŒïŒãäŸãã°ãå³ïŒã«ãããŠãäžè¿°ããéããã»ããã¢ããã¿ã€ã ãšã©ãŒãèµ·ãããªãããã«ã¯åãã¹ã®é å»¶ã¯ïŒïœïœä»¥äžã§ãªããã°ãªããªãã®ã«å¯ŸããŠããã¹ïœïŒã®é å»¶ã¯ïŒïŒïŒïœïœãªã®ã§ããã¹ïœïŒã«å¯Ÿããã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ãïŒïœïœâïŒïŒïŒïœïœïŒïŒïŒïŒïœïœãšãªããåæ§ã®èšç®ã«ããããã¹ïœïŒãïœïŒãïœïŒãïœïŒãïœïŒã«å¯Ÿããã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ããããããïŒïŒïŒïœïœãïŒïœïœãïŒïŒïŒïœïœãïŒïŒïŒïœïœãïŒïŒïŒïœïœãšãªãã   Further, the margin for the setup time error of the flip-flop serving as the end point of the path is calculated as a margin of clock skew for the path (step S18). For example, in FIG. 1, as described above, in order not to cause a setup time error, the delay of each path must be 8 ns or less, whereas the delay of path p1 is 5.5 ns. Is 8 nsâ5.5 ns = 2.5 ns. By similar calculations, the clock skew margins for paths p2, p3, p4, p5, and p6 are 1.5 ns, 6 ns, 5.5 ns, 1.5 ns, and 0.5 ns, respectively.
次ã«ããã¹ãŠã®ãã¹ã«å¯ŸããŠãã¹ãããïŒïŒã§èšç®ããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ïŒä»¥äžãå€å®å€ãšããïŒãããå°ãããåŠãå€å®ããïŒã¹ãããïŒïŒïŒãããã§ãåè·¯ã誀åäœãèµ·ããã»ã©ã®é»æºé»äœã®é»å§éäžãåŒãèµ·ããããŒã¯é»æµãæµããªãããã«èŠæ±ããããïŒã€ã®ããªããããããéã«ãããã¯ããã¯ã¹ãã¥ãŒãèšç®ãã·ãã¥ã¬ãŒã·ã§ã³ã«ããæ±ããå€å®å€ãšããŠäœ¿çšãããäŸãã°ãå³ïŒã«ãããŠãã¯ããã¯ã¹ãã¥ãŒãïŒïœïœä»¥äžããã°é»æºé»äœã®é»å§éäžãæå¶ãã广ããããšãããšå€å®å€ãïŒïœïœãšããããã¹ïœïŒãïœïŒã«å¯Ÿããã¯ããã¯ã¹ãã¥ãŒã¯ããããïŒã§ããã®ã§ããã¹ãŠå€å®å€ããå°ããã   Next, it is determined whether or not the clock skew calculated in step S18 is smaller than a given value (hereinafter referred to as a determination value) for all paths (step S20). Here, the clock skew between the two flip-flops required to prevent a peak current that causes a voltage drop of the power supply potential to cause a malfunction of the circuit is obtained by calculation or simulation and used as a determination value. For example, in FIG. 1, if the clock skew is 1 ns or more, the determination value is 1 ns if there is an effect of suppressing the voltage drop of the power supply potential. Since the clock skews for the paths p1 to p6 are all 0, they are all smaller than the determination value.
ã¹ãããïŒïŒã«ãããŠããã¹ãŠã®ãã¹ã«å¯Ÿããã¯ããã¯ã¹ãã¥ãŒãå€å®å€ããã倧ããå Žåã«ã¯ãå®é ç·ãè¡ãïŒã¹ãããïŒïŒïŒãäžæ¹ãã¹ãããïŒïŒã«ãããŠãã¯ããã¯ã¹ãã¥ãŒãå€å®å€ãããå°ãããã¹ãããå Žåã«ã¯ãåœè©²ãã¹ã«å¯Ÿããã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠãã¹ãããïŒïŒã«ãããå€å®å€ãšåœè©²ãã¹ã®ã¯ããã¯ã¹ãã¥ãŒã®å·®ããã倧ãããåŠãå€å®ããïŒã¹ãããïŒïŒïŒãäŸãã°ãå³ïŒã«ãããŠããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠïŒïŒïŒïŒïœïœïŒã¯ãå€å®å€ïŒïŒïœïœïŒãšãã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒïŒïŒïœïœïŒã®å·®ïŒïŒïœïœïŒããã倧ãããåæ§ã«ããã¹ïœïŒãïœïŒãïœïŒãïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ãå€å®å€ãšåãã¹ã®ã¯ããã¯ã¹ãã¥ãŒã®å·®ããã倧ããããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ïŒïŒïŒïœïœã§ãããå€å®å€ïŒïŒïœïœïŒãšãã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒïŒïŒïœïœïŒã®å·®ïŒïŒïœïœïŒãããå°ããã   In step S20, when the clock skew for all paths is larger than the determination value, actual wiring is performed (step S26). On the other hand, if there is a path whose clock skew is smaller than the determination value in step S20, it is determined whether or not the clock skew margin for the path is larger than the difference between the determination value in step S20 and the clock skew of the path. (Step S22). For example, in FIG. 1, the clock skew margin (2.5 ns) of the path p1 is larger than the difference (1 ns) between the determination value (1 ns) and the clock skew (0 ns) of the path p1. Similarly, the margin of clock skew of paths p2, p3, p4, and p5 is larger than the difference between the judgment value and the clock skew of each path. The margin of clock skew of path p6 is 0.5 ns, which is smaller than the difference (1 ns) between the judgment value (1 ns) and the clock skew (0 ns) of path p6.
ã¹ãããïŒïŒã«ãããŠããã¹ãŠã®ãã¹ã«å¯Ÿããã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠãã¹ãããïŒïŒã«ãããå€å®å€ãšã¯ããã¯ã¹ãã¥ãŒã®å·®ãããå°ããå Žåã¯ã黿ºé»äœã«å€å°ã®é»å§éäžãçããå¯èœæ§ãããããã»ããã¢ããã¿ã€ã ãšã©ãŒãçºçãããªãããã«ã¯ããã¯ã¹ãã¥ãŒã®åæ§ç¯ã¯è¡ãããå®é
ç·ãè¡ãïŒã¹ãããïŒïŒïŒãäžæ¹ãã¹ãããïŒïŒã«ãããŠãã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠãã¹ãããïŒïŒã«ãããå€å®å€ãšã¯ããã¯ã¹ãã¥ãŒã®å·®ããã倧ãããã¹ãååšããå Žåã¯ãæŽã«ãã¯ããã¯ã¹ãã¥ãŒã調æŽããå Žæãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãããåŸæ®µã§ãããåŠããå€å®ããïŒã¹ãããïŒïŒïŒããããŠãã¯ããã¯ã¹ãã¥ãŒã調æŽããå Žæãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãããåŸæ®µã§ããå Žåã«ã¯ãã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠïŒããªãã¡ãã»ããã¢ããã¿ã€ã ãšã©ãŒã«å¯ŸããããŒãžã³ïŒãå°ãããã¹ããé ã«ãã¯ããã¯ã¹ãã¥ãŒãã¹ãããïŒïŒã«ãããå€å®å€ããã倧ãããªãããã«åœè©²ãã¹ã®å§ç¹ãšãªãããªããããããã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ïŒåã¯ïŒä»¥äžã®é
å»¶çŽ åïŒãããã¡ãŸãã¯å¶æ°åã®ã€ã³ããŒã¿ãªã©ïŒãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãããåŸæ®µã«æ¿å
¥ããããšã«ãããã¯ããã¯ããªãŒãåæ§ç¯ããïŒã¹ãããïŒïŒïŒãå³ïŒã«ãããŠã¯ãã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã®å°ãããã¹ã®é ã«ããã¹ïœïŒãïœïŒãïœïŒãïœïŒãïœïŒãïœïŒãšãªãããŸãããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ïŒïŒïŒïœïœã§ãããå€å®å€ïŒïŒïœïœïŒãšãã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒïŒïŒïœïœïŒã®å·®ïŒïŒïœïœïŒãããå°ããããããã¹ïœïŒã®å§ç¹ãšãªãããªããããããïŒïŒïŒã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ã¯ã¯ããã¯ãããã¡ã¯æ¿å
¥ãããªããæ¬¡ã«ããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ïŒïŒïŒïœïœã§ãããå€å®å€ïŒïŒïœïœïŒãšãã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒïŒïŒïœïœïŒã®å·®ïŒïŒïœïœïŒããã倧ããããããã¹ïœïŒã®å§ç¹ãšãªãããªããããããïŒïŒïŒã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ã¯ãïŒïœïœä»¥äžïŒïŒïŒïœïœä»¥äžã®é
å»¶çŽ åãæ¿å
¥ããããäŸãã°ãå³ïŒã«ãããŠã¯ãïŒïœïœã®é
å»¶çŽ åãšããŠæ©èœããã¯ããã¯ãããã¡ïŒïŒïŒãæ¿å
¥ãããŠãããã¯ããã¯ãããã¡ïŒïŒïŒã®æ¿å
¥ã«ããããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã¯ïŒïœïœæžå°ããŠâïŒïœïœãšãªããã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ïŒïœïœå¢å ããŠïŒïŒïŒïœïœãšãªããæ¬¡ã«ããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ïŒïŒïŒïœïœã§ãããå€å®å€ïŒïŒïœïœïŒãšãã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒïŒïŒïœïœïŒã®å·®ïŒïŒïœïœïŒããã倧ããããããã¹ïœïŒã®å§ç¹ãšãªãããªããããããïŒïŒïŒã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ã¯ãïŒïœïœä»¥äžïŒïŒïŒïœïœä»¥äžã®é
å»¶çŽ åãæ¿å
¥ããããäŸãã°ãå³ïŒã«ãããŠã¯ãïŒïœïœã®é
å»¶çŽ åãšããŠæ©èœããã¯ããã¯ãããã¡ïŒïŒïŒãæ¿å
¥ãããŠãããæ¬¡ã«ããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ïŒïŒïŒïœïœã§ãããå€å®å€ïŒïŒïœïœïŒãšãã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒïŒâïŒïœïœïŒã®å·®ïŒïŒïœïœïŒããã倧ããããããã¹ïœïŒã®å§ç¹ãšãªãããªããããããïŒïŒïŒã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ã¯ãïŒïœïœä»¥äžïŒïŒïŒïœïœä»¥äžã®é
å»¶çŽ åãæ¿å
¥ããããäŸãã°ãå³ïŒã«ãããŠã¯ãïŒïœïœã®é
å»¶çŽ åãšããŠæ©èœããã¯ããã¯ãããã¡ïŒïŒïŒåã³ïŒïŒïŒãæ¿å
¥ãããŠãããããã§ãïŒã€ã®ã¯ããã¯ãããã¡ïŒïŒïŒåã³ïŒïŒïŒãæ¿å
¥ãããŠããã®ã¯ãã¯ããã¯ãããã¡ïŒïŒïŒãå
ã«æ¿å
¥ãããããšãèæ
®ããŠããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒãå€å®å€ïŒïŒïœïœïŒä»¥äžã«ããããã§ãããã¯ããã¯ãããã¡ïŒïŒïŒåã³ïŒïŒïŒã®æ¿å
¥ã«ããããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã¯ïŒïœïœå¢å ããŠïŒïœïœãšãªããã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ïŒïœïœæžå°ããŠïŒïŒïŒïœïœãšãªããæ¬¡ã«ããã¹ïœïŒã«ã€ããŠã¯ãã¯ããã¯ãããã¡ïŒïŒïŒåã³ïŒïŒïŒã®æ¿å
¥ã«ããããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã¯ïŒïœïœãšãªããå€å®å€ïŒïŒïœïœïŒä»¥äžã§ããã®ã§ããã¹ïœïŒã®å§ç¹ãšãªãããªããããããïŒïŒïŒã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ã¯ããã«ã¯ããã¯ãããã¡ãæ¿å
¥ããããšã¯ããªããæ¬¡ã«ããã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã¯ïŒïœïœã§ãããå€å®å€ïŒïŒïœïœïŒãšãã¹ïœïŒã®ã¯ããã¯ã¹ãã¥ãŒïŒïŒïœïœïŒã®å·®ïŒïŒïœïœïŒããã倧ãããããã¹ïœïŒã®å§ç¹ãšãªãããªããããããïŒïŒïŒã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ïŒïŒïŒïœïœä»¥äžã®é
å»¶çŽ åãæ¿å
¥ãããšããã¹ïœïŒã«é¢ããŠã»ããã¢ããã¿ã€ã ãšã©ãŒãçºçãããããå³ïŒã«ãããŠã¯ãã¯ããã¯ãããã¡ãæ¿å
¥ãããŠããªãããªããåæåè·¯ïŒïŒãšä»ã®åæåè·¯ïŒå³ç€ºããïŒãšã®éã®ã¯ããã¯ã¹ãã¥ãŒã調æŽããçã®ãããã¯ããã¯ãããã¡ïŒïŒïŒãã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ïŒïŒïŒãšã¯ããã¯ãããã¡ïŒïŒïŒãšã®éã«æ¿å
¥ãããŠããã
  In step S22, if the clock skew margin for all paths is smaller than the difference between the judgment value and clock skew in step S20, a slight voltage drop may occur in the power supply potential, but a setup time error occurs. In order to prevent this, the clock skew is not reconstructed and actual wiring is performed (step S26). On the other hand, in step S22, when there is a path whose clock skew margin is greater than the difference between the determination value in step S20 and the clock skew, the location where the clock skew is adjusted is further downstream than the clock gating cell. It is determined whether or not (step S23). If the clock skew is adjusted after the clock gating cell, the clock skew is determined in step S20 in order from the path with the smallest clock skew margin (that is, the margin for the setup time error). By inserting one or more delay elements (such as a buffer or an even number of inverters) in the subsequent stage of the clock gating cell in the clock line connected to the flip-flop that is the starting point of the path Then, the clock tree is reconstructed (step S24). In FIG. 1, paths p6, p2, p5, p1, p4, and p3 are in order of paths with the smallest clock skew margin. First, the margin of the clock skew of the path p6 is 0.5 ns, which is smaller than the difference (1 ns) between the determination value (1 ns) and the clock skew (0 ns) of the path p6, and thus the flip-
次ã«ãã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åè·¯ã«å¯ŸããŠå®é ç·ãè¡ãïŒã¹ãããïŒïŒïŒãã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åè·¯ã«å¯ŸããŠãå®é ç·ãèæ ®ããã¿ã€ãã³ã°è§£æãè¡ãïŒã¹ãããïŒïŒïŒãã¿ã€ãã³ã°ãšã©ãŒãããã°åœè©²ãšã©ãŒããªããªããŸã§ãã¹ãããïŒïŒã§æ¿å ¥ãããããã¡ïŒãŸãã¯å¶æ°åã®ã€ã³ããŒã¿ïŒãåé€ããããšã«ãããã¯ããã¯ããªãŒã®ä¿®æ£ïŒã¹ãããïŒïŒïŒããã³å®é ç·ïŒã¹ãããïŒïŒïŒãç¹°ãè¿ãè¡ãïŒã¹ãããïŒïŒïŒãã¿ã€ãã³ã°ãšã©ãŒããªããªãã°ãå®è¡ãããŒãçµäºããã   Next, actual wiring is performed on the circuit after the clock tree is reconstructed (step S26), and timing analysis is performed on the circuit after the clock tree is reconstructed in consideration of the actual wiring (step S28). If there is a timing error, the correction of the clock tree (step S32) and the actual wiring (step S26) are repeated by deleting the buffer (or even number of inverters) inserted in step S24 until the error disappears (step S26). Step S30). When there is no timing error, the execution flow ends.
ãªããæ¬å®æœã®åœ¢æ
ã®éç©åè·¯è£
眮ã®èšè𿹿³ã§ã¯ãå³ïŒã®åæåè·¯ïŒïŒãçæããããã«ãã¹ãããïŒïŒãïŒïŒã«ããã¯ããã¯ããªãŒã®æ§ç¯ãè¡ã£ãããæ¬çºæã«ä¿ãéç©åè·¯è£
眮ã®èšè𿹿³ã§ã¯ãåäžã®ã¯ããã¯ã«åºã¥ããŠåäœããè€æ°ã®èšæ¶çŽ åãæãã第ïŒã®èšæ¶çŽ åã®åºåãã第ïŒã®èšæ¶çŽ åã®å
¥åã«è³ãä¿¡å·çµè·¯äžã«ä»ã®èšæ¶çŽ åãå«ãŸãªãåèšç¬¬ïŒã®èšæ¶çŽ åãšåèšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæå®ã®å€ä»¥äžãšãªãããã«ã¯ããã¯ããªãŒãæ§ç¯ãããŠããåæåè·¯ã«å¯ŸããŠé©çšããããšãã§ãããããã¹ãããïŒïŒããïŒïŒã¯æ¬çºæã«ä¿ãéç©åè·¯è£
眮ã®èšè𿹿³ã®å¿
é ã®æ§æèŠçŽ ã§ã¯ãªããäŸãã°ãæèšèšã«ããã¯ããã¯ããªãŒãæ§æããåæåè·¯ã«å¯ŸããŠãæ¬çºæã«ä¿ãéç©åè·¯è£
眮ã®èšè𿹿³ãé©çšããããšãã§ããã
  In the integrated circuit device design method of the present embodiment, the clock tree is constructed in steps S10 to S16 in order to generate the
ïŒïŒãã€ã¯ãã³ã³ãã¥ãŒã¿
å³ïŒã¯ãæ¬å®æœã®åœ¢æ
ã®ãã€ã¯ãã³ã³ãã¥ãŒã¿ã®ããŒããŠãšã¢ãããã¯å³ã®äžäŸã§ããã
2. Microcomputer FIG. 6 is an example of a hardware block diagram of the microcomputer of this embodiment.
æ¬ãã€ã¯ãã³ã³ãã¥ãŒã¿ïŒïŒïŒã¯ãïŒïŒïŒããã£ãã·ã¥ã¡ã¢ãªïŒïŒïŒãïŒïŒïŒïŒïŒïŒ²ïŒ¯ïŒïŒïŒïŒãïŒïŒïŒµïŒïŒïŒãã³ã³ãããŒã©ïŒïŒïŒããªã»ããåè·¯ïŒïŒïŒãããã°ã©ããã«ã¿ã€ãïŒïŒïŒããªã¢ã«ã¿ã€ã ã¯ããã¯ïŒïŒ²ïŒŽïŒ£ïŒïŒïŒïŒãïŒã³ã³ãããŒã©ïŒïŒïŒãå²ã蟌ã¿ã³ã³ãããŒã©ïŒïŒïŒãéä¿¡å¶åŸ¡è£
眮ïŒïŒïŒããã¹ã³ã³ãããŒã©ïŒïŒïŒãïŒïŒ€å€æåšïŒïŒïŒãïŒïŒ¡å€æåšïŒïŒïŒãå
¥åããŒãïŒïŒïŒãåºåããŒãïŒïŒïŒãïŒïŒ¯ããŒãïŒïŒïŒãã¯ããã¯çºçè£
眮ïŒïŒïŒãããªã¹ã±ãŒã©ïŒïŒïŒãã¯ããã¯åæ¢å¶åŸ¡åè·¯ïŒïŒïŒåã³ããããæ¥ç¶ããæ±çšãã¹ïŒïŒïŒãå°çšãã¹ïŒïŒïŒçãåçš®ãã³ïŒïŒïŒçãå«ãã
  The microcomputer 700 includes a
ïŒïŒé»åæ©åš
å³ïŒã«ãæ¬å®æœã®åœ¢æ
ã®é»åæ©åšã®ãããã¯å³ã®äžäŸã瀺ããæ¬é»åæ©åšïŒïŒïŒã¯ããã€ã¯ãã³ã³ãã¥ãŒã¿ïŒãŸãã¯ïŒ¡ïŒ³ïŒ©ïŒ£ïŒïŒïŒïŒãå
¥åéšïŒïŒïŒãã¡ã¢ãªïŒïŒïŒã黿ºçæéšïŒïŒïŒãïŒïŒïŒãé³åºåéšïŒïŒïŒãå«ãã
3. Electronic Device FIG. 7 shows an example of a block diagram of the electronic device of this embodiment. The
ããã§ãå
¥åéšïŒïŒïŒã¯ãçš®ã
ã®ããŒã¿ãå
¥åããããã®ãã®ã§ããããã€ã¯ãã³ã³ãã¥ãŒã¿ïŒïŒïŒã¯ããã®å
¥åéšïŒïŒïŒã«ããå
¥åãããããŒã¿ã«åºã¥ããŠçš®ã
ã®åŠçãè¡ãããšã«ãªããã¡ã¢ãªïŒïŒïŒã¯ããã€ã¯ãã³ã³ãã¥ãŒã¿ïŒïŒïŒãªã©ã®äœæ¥é åãšãªããã®ã§ããã黿ºçæéšïŒïŒïŒã¯ãé»åæ©åšïŒïŒïŒã§äœ¿çšãããåçš®é»æºãçæããããã®ãã®ã§ãããïŒïŒïŒã¯ãé»åæ©åšã衚瀺ããåçš®ã®ç»åïŒæåãã¢ã€ã³ã³ãã°ã©ãã£ãã¯çïŒãåºåããããã®ãã®ã§ããã
  Here, the
é³åºåéšïŒïŒïŒã¯ãé»åæ©åšïŒïŒïŒãåºåããåçš®ã®é³ïŒé³å£°ãã²ãŒã é³çïŒãåºåããããã®ãã®ã§ããããã®æ©èœã¯ãã¹ããŒã«ãªã©ã®ããŒããŠã§ã¢ã«ããå®çŸã§ããã
  The
å³ïŒïŒïŒ¡ïŒã«ãé»åæ©åšã®ïŒã€ã§ããæºåž¯é»è©±ïŒïŒïŒã®å€èгå³ã®äŸã瀺ãããã®æºåž¯é»è©±ïŒïŒïŒã¯ãå
¥åéšãšããŠæ©èœãããã€ã€ã«ãã¿ã³ïŒïŒïŒããé»è©±çªå·ãååãã¢ã€ã³ã³ãªã©ã衚瀺ããïŒïŒïŒããé³åºåéšãšããŠæ©èœãé³å£°ãåºåããã¹ããŒã«ïŒïŒïŒãåããã
  FIG. 8A illustrates an example of an external view of a mobile phone 950 which is one of electronic devices. The cellular phone 950 includes a
å³ïŒïŒïŒ¢ïŒã«ãé»åæ©åšã®ïŒã€ã§ããæºåž¯åã²ãŒã è£
眮ïŒïŒïŒã®å€èгå³ã®äŸã瀺ãããã®æºåž¯åã²ãŒã è£
眮ïŒïŒïŒã¯ãå
¥åéšãšããŠæ©èœããæäœãã¿ã³ïŒïŒïŒãååããŒïŒïŒïŒããã²ãŒã ç»åã衚瀺ããïŒïŒïŒããé³åºåéšãšããŠæ©èœãã²ãŒã é³ãåºåããã¹ããŒã«ïŒïŒïŒãåããã
  FIG. 8B illustrates an example of an external view of a
å³ïŒïŒïŒ£ïŒã«ãé»åæ©åšã®ïŒã€ã§ããããŒãœãã«ã³ã³ãã¥ãŒã¿ïŒïŒïŒã®å€èгå³ã®äŸã瀺ãããã®ããŒãœãã«ã³ã³ãã¥ãŒã¿ïŒïŒïŒã¯ãå
¥åéšãšããŠæ©èœããããŒããŒãïŒïŒïŒããæåãæ°åãã°ã©ãã£ãã¯ãªã©ã衚瀺ããïŒïŒïŒãé³åºåéšïŒïŒïŒãåããã
  FIG. 8C illustrates an example of an external view of a
æ¬å®æœã®åœ¢æ ã®ãã€ã¯ãã³ã³ãã¥ãŒã¿ãå³ïŒïŒïŒ¡ïŒãå³ïŒïŒïŒ£ïŒã®é»åæ©åšã«çµã¿èŸŒãããšã«ãããäœäŸ¡æ Œã§ç»ååŠçé床ã®éãã³ã¹ãããã©ãŒãã³ã¹ã®é«ãé»åæ©åšãæäŸããããšãã§ããã   By incorporating the microcomputer of this embodiment into the electronic devices in FIGS. 8A to 8C, an electronic device with low cost and high image processing speed can be provided.
ãªããæ¬å®æœåœ¢æ ãå©çšã§ããé»åæ©åšãšããŠã¯ãå³ïŒïŒïŒ¡ïŒãïŒïŒ¢ïŒãïŒïŒ£ïŒã«ç€ºããã®ä»¥å€ã«ããæºåž¯åæ å ±ç«¯æ«ãããŒãžã£ãŒãé»ååäžèšç®æ©ãã¿ããããã«ãåããè£ çœ®ããããžã§ã¯ã¿ãã¯ãŒãããã»ããµããã¥ãŒãã¡ã€ã³ãååã¯ã¢ãã¿çŽèŠåã®ãããªããŒãã¬ã³ãŒããã«ãŒããã²ãŒã·ã§ã³è£ 眮çã®ïŒ¬ïŒ£ïŒ€ã䜿çšããçš®ã ã®é»åæ©åšãèããããšãã§ããã   As electronic devices that can use this embodiment, in addition to those shown in FIGS. 8A, 8B, and 8C, a portable information terminal, a pager, an electronic desk calculator, a device including a touch panel, Various electronic devices using an LCD such as a projector, a word processor, a viewfinder type or a monitor direct view type video tape recorder, and a car navigation device can be considered.
ãªããæ¬çºæã¯æ¬å®æœåœ¢æ ã«éå®ããããæ¬çºæã®èŠæšã®ç¯å²å ã§çš®ã ã®å€åœ¢å®æœãå¯èœã§ããã   In addition, this invention is not limited to this embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention.
äŸãã°ãäžèšå®æœã®åœ¢æ ã§ã¯ãã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠãå°ãããã¹ã®é ã«ïŒã»ããã¢ããã¿ã€ã ãšã©ãŒã«å¯ŸããããŒãžã³ã®å°ãããã¹ã®é ã«ïŒãã¯ããã¯ããªãŒã®åæ§ç¯ãè¡ãå ŽåãäŸã«ãšã説æããããããã«éãããªããã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠã倧ãããã¹ã®é ãã©ã³ãã ã«ã¯ããã¯ããªãŒã®åæ§ç¯ãè¡ã£ãŠãããããŸããã¯ããã¯ã©ã€ã³ã«é å»¶çŽ åãæ¿å ¥ãã床ã«ãé¢é£ãããã¹ã®ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠãèšç®ãçŽããåçã«ã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠãå°ãããã¹ã®é ã倿Žããããã«ããŠãããã   For example, in the above embodiment, the case where the clock tree is reconstructed in the order of the paths with the smallest clock skew margin (in the order of the paths with the smallest margin for the setup time error) has been described as an example. Absent. The clock tree may be reconstructed in order of paths with a large margin of clock skew or randomly. Alternatively, every time a delay element is inserted into the clock line, the clock skew margin of the associated path may be recalculated to dynamically change the order of the paths with the small clock skew margin.
ãŸããäžèšå®æœã®åœ¢æ ã§ã¯ãã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠãå°ãããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ïŒå€å®å€ïŒããã倧ããããããšãã§ããªãå Žåã«ã¯ãé å»¶çŽ åãæ¿å ¥ããªãå ŽåãäŸã«ãšã説æããããããã«éãããªããã¯ããã¯ã¹ãã¥ãŒãå°ãã§ã倧ããããããã«ãã¯ããã¯ã¹ãã¥ãŒã®äœè£åºŠãè¶ ããªãç¯å²å ã§ãã§ããã ãé å»¶çŽ åãæ¿å ¥ããããã«ããŠãããã   In the above embodiment, the case where the delay of the delay element is not inserted has been described as an example when the clock skew margin is small and the clock skew cannot be made larger than a given value (determination value). Not limited to this. In order to increase the clock skew as much as possible, a delay element may be inserted as much as possible within a range not exceeding the margin of the clock skew.
æ¬çºæã¯ã宿œã®åœ¢æ ã§èª¬æããæ§æãšå®è³ªçã«åäžã®æ§æïŒäŸãã°ãæ©èœãæ¹æ³åã³çµæãåäžã®æ§æããããã¯ç®çåã³å¹æãåäžã®æ§æïŒãå«ãããŸããæ¬çºæã¯ã宿œã®åœ¢æ ã§èª¬æããæ§æã®æ¬è³ªçã§ãªãéšåã眮ãæããæ§æãå«ãããŸããæ¬çºæã¯ã宿œã®åœ¢æ ã§èª¬æããæ§æãšåäžã®äœçšå¹æãå¥ããæ§æåã¯åäžã®ç®çãéæããããšãã§ããæ§æãå«ãããŸããæ¬çºæã¯ã宿œã®åœ¢æ ã§èª¬æããæ§æã«å ¬ç¥æè¡ãä»å ããæ§æãå«ãã   The present invention includes configurations that are substantially the same as the configurations described in the embodiments (for example, configurations that have the same functions, methods, and results, or configurations that have the same objects and effects). In addition, the invention includes a configuration in which a non-essential part of the configuration described in the embodiment is replaced. In addition, the present invention includes a configuration that exhibits the same operational effects as the configuration described in the embodiment or a configuration that can achieve the same object. Further, the invention includes a configuration in which a known technique is added to the configuration described in the embodiment.
ïŒïŒ åæåè·¯ãïŒïŒ åæåè·¯ãïŒïŒ åæåè·¯ãïŒïŒïŒ ãµããããã¯ïŒ¡ãïŒïŒïŒ ããªãããããããïŒïŒïŒ ã¯ããã¯å ¥åãïŒïŒïŒ ããªãããããããïŒïŒïŒ ã¯ããã¯å ¥åãïŒïŒïŒ ããªãããããããïŒïŒïŒ ã¯ããã¯å ¥åãïŒïŒïŒ çµã¿åããåè·¯ãïŒïŒïŒ å€éšå ¥åãïŒïŒïŒ çµã¿åããåè·¯ãïŒïŒïŒ ãµããããã¯ïŒ¢ãïŒïŒïŒ ããªãããããããïŒïŒïŒ ã¯ããã¯å ¥åãïŒïŒïŒ ããªãããããããïŒïŒïŒ ã¯ããã¯å ¥åãïŒïŒïŒ ããªãããããããïŒïŒïŒ ã¯ããã¯å ¥åãïŒïŒïŒ çµã¿åããåè·¯ãïŒïŒïŒ çµã¿åããåè·¯ãïŒïŒïŒ å€éšå ¥åãïŒïŒïŒ ã¯ããã¯ããªãŒãïŒïŒïŒ ã¯ããã¯ããªãŒãïŒïŒïŒ ã¯ããã¯ããªãŒãïŒïŒïŒ ã¡ã€ã³ã¯ããã¯ãããã¡ãïŒïŒïŒ ã¡ã€ã³ã¯ããã¯ãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒãïŒïŒïŒïŒïŒïŒãïŒïŒïŒ ã¯ããã¯ãããã¡ãïŒïŒïŒ ã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ãïŒïŒïŒ å¶åŸ¡ä¿¡å·å ¥åãïŒïŒïŒ ãïŒïŒïŒ ãã£ãã·ã¥ã¡ã¢ãªãïŒïŒïŒ ã³ã³ãããŒã©ãïŒïŒïŒ ãªã»ããåè·¯ãïŒïŒïŒ ããã°ã©ããã«ã¿ã€ããïŒïŒïŒ ãªã¢ã«ã¿ã€ã ã¯ããã¯ïŒïŒ²ïŒŽïŒ£ïŒãïŒïŒïŒ ïŒïŒ¡ã³ã³ãããŒã©å Œãã¹ïŒ©ïŒïŒŠãïŒïŒïŒ å²ã蟌ã¿ã³ã³ãããŒã©ãïŒïŒïŒ éä¿¡å¶åŸ¡åè·¯ïŒã·ãªã¢ã«ã€ã³ã¿ãŒãã§ãŒã¹ïŒãïŒïŒïŒ ãã¹ã³ã³ãããŒã©ãïŒïŒïŒ ïŒïŒ€å€æåšãïŒïŒïŒ ïŒïŒ¡å€æåšãïŒïŒïŒ å ¥åããŒããïŒïŒïŒ åºåããŒããïŒïŒïŒ ïŒïŒ¯ããŒããïŒïŒïŒ ã¯ããã¯çºçè£ çœ®ïŒïŒ°ïŒ¬ïŒ¬ïŒãïŒïŒïŒ ããªã¹ã±ãŒã©ãïŒïŒïŒ æ±çšãã¹ãïŒïŒïŒ åçš®ãã³ãïŒïŒïŒ ãã€ã¯ãã³ã³ãã¥ãŒã¿ãïŒïŒïŒ ïŒãïŒïŒïŒ ïŒãïŒïŒïŒ ïŒïŒïŒµãïŒïŒïŒ ã¯ããã¯åæ¢å¶åŸ¡åè·¯ãïŒïŒïŒ å°çšãã¹ãïŒïŒïŒ é»åæ©åšãïŒïŒïŒ ãã€ã¯ãã³ã³ãã¥ãŒã¿ïŒïŒ¡ïŒ³ïŒ©ïŒ£ïŒãïŒïŒïŒ å ¥åéšãïŒïŒïŒ ã¡ã¢ãªãïŒïŒïŒ 黿ºçæéšïŒïŒïŒ ãïŒïŒïŒ é³åºåéšãïŒïŒïŒ æºåž¯é»è©±ãïŒïŒïŒ ãã€ã€ã«ãã¿ã³ãïŒïŒïŒ ãïŒïŒïŒ ã¹ããŒã«ãïŒïŒïŒ æºåž¯åã²ãŒã è£ çœ®ãïŒïŒïŒ æäœãã¿ã³ãïŒïŒïŒ ååããŒãïŒïŒïŒ ãïŒïŒïŒ ã¹ããŒã«ãïŒïŒïŒ ããŒãœãã«ã³ã³ãã¥ãŒã¿ãïŒïŒïŒ ããŒããŒããïŒïŒïŒ ãïŒïŒïŒ é³åºåéš 10 synchronization circuit, 20 synchronization circuit, 30 synchronization circuit, 100 sub-block A, 110 flip-flop, 112 clock input, 120 flip-flop, 122 clock input, 130 flip-flop, 132 clock input, 140 combinational circuit, 142 external input, 150 Combinational circuit, 200 sub-block B, 210 flip-flop, 212 clock input, 220 flip-flop, 222 clock input, 230 flip-flop, 232 clock input, 240 combinational circuit, 250 combinational circuit, 252 external input, 300 clock tree, 302 clock Tree, 304 clock tree, 310 main clock buffer, 312 main clock, 320-344, 350, 362370, 372 clock buffer 360 clock gating cell, 362 control signal input, 510 CPU, 520 cache memory, 530 LCD controller, 540 reset circuit, 550 programmable timer, 560 real-time clock (RTC), 570 DMA controller / bus I / F, 580 interrupt controller 590 Communication control circuit (serial interface), 600 bus controller, 610 A / D converter, 620 D / A converter, 630 input port, 640 output port, 650 I / O port, 660 clock generator (PLL), 670 Prescaler, 680 General purpose bus, 690 Various pins, 700 Microcomputer, 710 ROM, 720 RAM, 730 MMU, 740 Clock stop control circuit, 750 Dedicated bus, 800 Device, 810 microcomputer (ASIC), 820 input unit, 830 memory, 840 power generation unit 850 LCD, 860 sound output unit, 950 mobile phone, 952 dial button, 954 LCD, 956 speaker, 960 portable game device, 962 operation Button, 964 Cross key, 966 LCD, 968 Speaker, 970 Personal computer, 972 Keyboard, 974 LCD, 976 Sound output section
Claims (9)
æäžã®åèšç¬¬ïŒã®èšæ¶çŽ åãšåèšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ãããå°ããäžã€ã¯ããã¯ã¹ãã¥ãŒã調æŽããå Žæãåèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã§ããå Žåã«ã¯ãåèšåæåè·¯ã«å¯Ÿããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããåèšã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ãããšã«ãããåèšåæåè·¯ã«å¯ŸããŠã¯ããã¯ããªãŒãåæ§ç¯ããã¯ããã¯ããªãŒåæ§ç¯ã¹ããããå«ãããšãç¹åŸŽãšããéç©åè·¯è£ çœ®ã®èšè𿹿³ã The first storage element having a plurality of storage elements that operate based on the same clock and not including other storage elements on a signal path from the output of the first storage element to the input of the second storage element And an integrated circuit device including a synchronization circuit in which a clock tree is constructed such that a clock skew between the second storage element and the second storage element is less than or equal to a predetermined value and a clock gating cell is disposed on a clock transmission path A design method,
When the clock skew between the given first storage element and the second storage element is smaller than a given value and the place where the clock skew is adjusted is after the clock gating cell, Based on a timing analysis result for the synchronization circuit, a process for changing the clock skew in a subsequent stage of the clock gating cell so that the clock skew is equal to or greater than a given value is performed. A design method of an integrated circuit device, comprising a clock tree restructuring step of restructuring a tree.
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã¯ã
åèšåæåè·¯ã«å¯Ÿããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããããšã«ããã¿ã€ãã³ã°ãšã©ãŒãçºçãããšå€æããå Žåã¯ãåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ããªãããšãç¹åŸŽãšããéç©åè·¯è£ çœ®ã®èšè𿹿³ã In claim 1,
The clock tree reconstruction step includes:
A design method of an integrated circuit device, characterized in that, when it is determined that a timing error occurs by changing the clock skew based on a timing analysis result for the synchronous circuit, a process for changing the clock skew is not performed.
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã¯ã
åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ïŒåã¯ïŒä»¥äžã®é å»¶çŽ åãæ¿å ¥ããããšã«ããåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ãããšãç¹åŸŽãšããéç©åè·¯è£ çœ®ã®èšè𿹿³ã In claim 1 or 2,
The clock tree reconstruction step includes:
An integrated circuit device that performs processing for changing the clock skew by inserting one or more delay elements into a clock line connected to the first memory element at a subsequent stage of the clock gating cell. Design method.
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã¯ã
åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠã»ããã¢ããã¿ã€ã ãšã©ãŒã«å¯ŸããããŒãžã³ãå°ããä¿¡å·çµè·¯äžã«ããåèšç¬¬ïŒã®èšæ¶çŽ åãšåèšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãåªå çã«å€åãããåŠçãè¡ãããšãç¹åŸŽãšããéç©åè·¯è£ çœ®ã®èšè𿹿³ã In any one of Claims 1 thru | or 3,
The clock tree reconstruction step includes:
A process of preferentially changing a clock skew between the first storage element and the second storage element on a signal path having a small margin for a setup time error at a subsequent stage of the clock gating cell is performed. A method for designing an integrated circuit device.
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ããããšã
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã«ããã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯ŸããŠãã¬ã€ã¢ãŠãäžã§å®é ç·ãè¡ãã¹ããããšã
åèšã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯ŸããŠãåèšã¬ã€ã¢ãŠãäžã§ã®å®é ç·ãèæ ®ããã¿ã€ãã³ã°è§£æãè¡ãã¹ããããšã
åèšã¬ã€ã¢ãŠãäžã§ã®å®é ç·ãèæ ®ããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããã»ããã¢ããã¿ã€ã ãšã©ãŒãçºçããä¿¡å·çµè·¯äžã«ããåèšç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ããïŒåã¯ïŒä»¥äžã®é å»¶çŽ åãåé€ããããšã«ããã»ããã¢ããã¿ã€ã ãšã©ãŒãè§£æ¶ããããã«ã¯ããã¯ããªãŒãä¿®æ£ããã¹ããããšãå«ãããšãç¹åŸŽãšããéç©åè·¯è£ çœ®ã®èšè𿹿³ã In any one of Claims 1 thru | or 4,
The clock tree reconstruction step;
For the synchronous circuit after reconstructing the clock tree by the clock tree restructuring step, performing the actual wiring on the layout;
For the synchronous circuit after reconstructing the clock tree, performing a timing analysis in consideration of actual wiring on the layout;
One or more delay elements are deleted from the clock line connected to the first storage element on the signal path where the setup time error occurs based on the timing analysis result considering the actual wiring on the layout. Modifying the clock tree so as to eliminate the setup time error, thereby designing the integrated circuit device.
æäžã®åèšç¬¬ïŒã®èšæ¶çŽ åãšåèšç¬¬ïŒã®èšæ¶çŽ åã®éã«ãããã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ãããå°ããäžã€ã¯ããã¯ã¹ãã¥ãŒã調æŽããå Žæãåèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã§ããå Žåã«ã¯ãåèšåæåè·¯ã«å¯Ÿããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããåèšã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããŠãã¿ã€ãã³ã°ãšã©ãŒãçºçããªããšå€æããå Žåã«ã¯ãåèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ã«ïŒåã¯ïŒä»¥äžã®é å»¶çŽ åãæ¿å ¥ããããšã«ãããåèšã¯ããã¯ã¹ãã¥ãŒãæäžã®å€ä»¥äžã«ãªãããã«åèšã¯ããã¯ã²ãŒãã£ã³ã°ã»ã«ã®åŸæ®µã«ãããŠåèšã¯ããã¯ã¹ãã¥ãŒãå€åãããåŠçãè¡ãåèšåæåè·¯ã«å¯ŸããŠã¯ããã¯ããªãŒãåæ§ç¯ããã¯ããã¯ããªãŒåæ§ç¯ã¹ããããšã
åèšã¯ããã¯ããªãŒåæ§ç¯ã¹ãããã«ããã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯ŸããŠãã¬ã€ã¢ãŠãäžã§å®é ç·ãè¡ãã¹ããããšã
åèšã¯ããã¯ããªãŒãåæ§ç¯ããåŸã®åæåè·¯ã«å¯ŸããŠãåèšã¬ã€ã¢ãŠãäžã§ã®å®é ç·ãèæ ®ããã¿ã€ãã³ã°è§£æãè¡ãã¹ããããšã
åèšã¬ã€ã¢ãŠãäžã§ã®å®é ç·ãèæ ®ããã¿ã€ãã³ã°è§£æçµæã«åºã¥ããã»ããã¢ããã¿ã€ã ãšã©ãŒãçºçããä¿¡å·çµè·¯äžã«ããåèšç¬¬ïŒã®èšæ¶çŽ åã«æ¥ç¶ãããã¯ããã¯ã©ã€ã³ããïŒåã¯ïŒä»¥äžã®é å»¶çŽ åãåé€ããããšã«ããã»ããã¢ããã¿ã€ã ãšã©ãŒãè§£æ¶ããããã«ã¯ããã¯ããªãŒãä¿®æ£ããã¹ããããšãå«ãããšãç¹åŸŽãšããã¯ããã¯ããªãŒæ§ç¯ããŒã«ã The first storage element having a plurality of storage elements that operate based on the same clock and not including other storage elements on a signal path from the output of the first storage element to the input of the second storage element And the second memory element, the clock tree is constructed so that the clock skew is equal to or less than a predetermined value, and the clock tree is provided to the synchronous circuit in which the clock gating cell is arranged on the clock transmission path. A clock tree construction tool to reconstruct,
When the clock skew between the given first storage element and the second storage element is smaller than a given value and the place where the clock skew is adjusted is after the clock gating cell, When it is determined that a timing error does not occur even if the clock skew is changed in the subsequent stage of the clock gating cell so that the clock skew is equal to or greater than a given value based on the timing analysis result for the synchronous circuit , By inserting one or more delay elements in a clock line connected to the first memory element at a subsequent stage of the clock gating cell, the clock skew is set to a given value or more. A process of changing the clock skew is performed at the subsequent stage of the gating cell. And the clock tree restructuring step to reconstruct the clock tree for the circuit,
For the synchronous circuit after reconstructing the clock tree by the clock tree restructuring step, performing the actual wiring on the layout;
For the synchronous circuit after reconstructing the clock tree, performing a timing analysis in consideration of actual wiring on the layout;
One or more delay elements are deleted from the clock line connected to the first storage element on the signal path where the setup time error occurs based on the timing analysis result considering the actual wiring on the layout. And modifying the clock tree to eliminate setup time errors.
åèšãã€ã¯ãã³ã³ãã¥ãŒã¿ã®åŠç察象ãšãªãããŒã¿ã®å ¥åææ®µãšã
åèšãã€ã¯ãã³ã³ãã¥ãŒã¿ã«ããåŠçãããããŒã¿ãåºåããããã®åºåææ®µãšãå«ãããšãç¹åŸŽãšããé»åæ©åšã A microcomputer according to claim 8;
Means for inputting data to be processed by the microcomputer;
An electronic device comprising: output means for outputting data processed by the microcomputer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008229477A JP2010061613A (en) | 2008-09-08 | 2008-09-08 | Method of designing integrated circuit device, clock tree construction tool, integrated circuit device, microcomputer, and electronic equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008229477A JP2010061613A (en) | 2008-09-08 | 2008-09-08 | Method of designing integrated circuit device, clock tree construction tool, integrated circuit device, microcomputer, and electronic equipment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010061613A true JP2010061613A (en) | 2010-03-18 |
Family
ID=42188301
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008229477A Withdrawn JP2010061613A (en) | 2008-09-08 | 2008-09-08 | Method of designing integrated circuit device, clock tree construction tool, integrated circuit device, microcomputer, and electronic equipment |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010061613A (en) |
-
2008
- 2008-09-08 JP JP2008229477A patent/JP2010061613A/en not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102191167B1 (en) | Clock switch device and system-on-chip having the same | |
| US11442103B2 (en) | Multibit vectored sequential with scan | |
| WO2010100871A1 (en) | Delay library generation system | |
| CN106452394A (en) | Clock switching structure having automatic resetting function | |
| US6425115B1 (en) | Area efficient delay circuits | |
| US8930862B2 (en) | System, method, and computer program product for automatic two-phase clocking | |
| US8191024B2 (en) | Customizable H-tree synthesis tool | |
| US10432182B2 (en) | Semiconductor integrated circuit | |
| JP2009042905A (en) | Integrated circuit device noise analysis method, integrated circuit device noise analysis system, integrated circuit device, electronic equipment, integrated circuit device noise analysis program, and information storage medium | |
| US20050251776A1 (en) | Integrated circuit design system | |
| JP2008152550A (en) | Integrated circuit device design method, clock construction tool, integrated circuit device, microcomputer and electronic apparatus | |
| US20070129923A1 (en) | Dynamic synchronizer simulation | |
| US7735038B2 (en) | Design structure to reduce power consumption within a clock gated synchronous circuit and clock gated synchronous circuit | |
| JP2010061613A (en) | Method of designing integrated circuit device, clock tree construction tool, integrated circuit device, microcomputer, and electronic equipment | |
| JP2008250396A (en) | Semiconductor integrated circuit device design method, semiconductor integrated circuit device, microcomputer, electronic device | |
| JP4999379B2 (en) | Semiconductor integrated circuit design method and semiconductor integrated circuit design apparatus | |
| JP2011164988A (en) | Design device | |
| US7589565B2 (en) | Low-power multi-output local clock buffer | |
| JP2003273222A (en) | Circuit design method and program | |
| JP2008250583A (en) | Layout design device and layout method | |
| JP4691791B2 (en) | Data processing system | |
| JP2011134072A (en) | Method for designing semiconductor integrated circuit and program | |
| JP2013036960A (en) | Delay scan test method, semiconductor device, and semiconductor device design method | |
| JP2011077426A (en) | Method for manufacturing semiconductor device, and semiconductor device | |
| JP2009070325A (en) | Semiconductor integrated circuit device design program, semiconductor integrated circuit device design support system, semiconductor integrated circuit device design method, semiconductor integrated circuit device, and electronic apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20111206 |