JP2008152550A - Method for designing integrated circuit device, clock configuration tool, integrated circuit device, microcomputer and electronic equipment - Google Patents

Method for designing integrated circuit device, clock configuration tool, integrated circuit device, microcomputer and electronic equipment Download PDF

Info

Publication number
JP2008152550A
JP2008152550A JP2006340147A JP2006340147A JP2008152550A JP 2008152550 A JP2008152550 A JP 2008152550A JP 2006340147 A JP2006340147 A JP 2006340147A JP 2006340147 A JP2006340147 A JP 2006340147A JP 2008152550 A JP2008152550 A JP 2008152550A
Authority
JP
Japan
Prior art keywords
clock
storage element
clock tree
skew
flip
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
Application number
JP2006340147A
Other languages
Japanese (ja)
Inventor
Yoichi Yamada
陽一 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006340147A priority Critical patent/JP2008152550A/en
Publication of JP2008152550A publication Critical patent/JP2008152550A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method for designing an integrated circuit and a clock tree configuration tool, capable of performing control so as to configure a clock tree which can reduce peak current generated during clocking operation of a synchronous circuit and suppress voltage drop of power source potential. <P>SOLUTION: When a clock skew between a first storage element and a second storage element is smaller than a given value for the synchronous circuit having a clock tree configured so that the clock skew is a predetermined value or less, whether timing error occurs or not when the clock skew is changed so as to have a given value or more is determined based on a timing analysis result for the synchronous circuit. When no occurrence of timing error is determined, processing for changing the clock skew so as to be the given value or more by inserting one or two or more delay elements to a clock line connected to the first storage element is performed to reconfigure the clock tree. <P>COPYRIGHT: (C)2008,JPO&INPIT

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.

そのため、同期回路の設計においては、ツールを使用する等してクロックルートから各フリップフロップのクロック入力までにクロックバッファ等の遅延素子を挿入することによりすべてのクロックラインの遅延を揃え、クロックスキューが小さくなるようにクロックツリーを構築することが一般的に行われている。
特開2006−65389号公報
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.
JP 2006-65389 A

しかし、クロックスキューが小さいと、すべてのフリップフロップのクロック入力がほぼ同時に変化する。そのため、各フリップフロップ内にあるクロック入力バッファのトランジスタがスイッチングするタイミングがほぼ同時になり、各トランジスタのスイッチング時に電源からグランドに同時に貫通電流が流れる。このような同時に流れる貫通電流のために瞬時的にピーク電流が増大するため、電源電位が瞬時的に電圧降下する。この電圧降下が、トランジスタの論理閾値を下回ると回路が誤動作する可能性がある。   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.

本発明は、以上のような問題点に鑑みてなされたものであり、同期回路のクロック動作時に生じるピーク電流を低減し、電源電位の電圧降下を抑制することができるクロックツリーを構築するように制御可能な集積回路の設計方法及びクロックツリー構築ツールを提供することを目的とする。   The present invention has been made in view of the above-described problems, and a clock tree that can reduce a peak current generated during clock operation of a synchronous circuit and suppress a voltage drop of a power supply potential is constructed. An object of the present invention is to provide a design method of a controllable integrated circuit and a clock tree construction tool.

(1)本発明に係る集積回路装置の設計方法は、
同一のクロックに基づいて動作する複数の記憶素子を有し、第1の記憶素子の出力から第2の記憶素子の入力に至る信号経路上に他の記憶素子を含まない前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューが所定の値以下となるようにクロックツリーが構築されている同期回路を含む集積回路装置の設計方法であって、
所与の前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューが所与の値よりも小さい場合には、前記同期回路に対するタイミング解析結果に基づき、前記クロックスキューが所与の値以上になるように前記クロックスキューを変化させる処理を行うことにより、前記同期回路に対してクロックツリーを再構築するクロックツリー再構築ステップを含むことを特徴とする。
(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 a method of designing an integrated circuit device including a synchronous circuit in which a clock tree is constructed so that a clock skew between the second storage element and the second storage element is a predetermined value or less,
If the clock skew between the given first storage element and the second storage element is less than a given value, the clock skew is given based on the timing analysis result for the synchronization circuit. It includes a clock tree restructuring step of reconstructing a clock tree for the synchronous circuit by performing a process of changing the clock skew so as to be equal to or greater than a value.

本発明に係る集積回路装置の設計方法においては、第1の記憶素子の出力から第2の記憶素子の入力に至る信号経路上に他の記憶素子を含まない第1の記憶素子と第2の記憶素子の間におけるクロックスキューに対して、クロックスキューを変化させる処理を行う。すなわち、第1の記憶素子の出力から第2の記憶素子の入力に至る信号経路が存在し、かつ、その経路上に他の記憶素子を含まないような第1の記憶素子と第2の記憶素子の間におけるクロックスキューが調整の対象となる。第1の記憶素子及び第2の記憶素子は、タイミング解析においてセットアップタイムエラーやホールドタイムエラーの解析の対象となる信号経路の始点および終点となる記憶素子に対応する。   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.

第1の記憶素子と第2の記憶素子の間におけるクロックスキューは、クロックルートから第1の記憶素子のクロック入力までのクロック信号の伝搬遅延とクロックルートから第2の記憶素子のクロック入力までのクロック信号の伝搬遅延の差をいう。   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.

記憶素子は、入力されるクロックに同期して動作し、1ビットの情報を記憶することができる素子であればよく、例えば、Dフリップフロップなどの各種のフリップフロップであってもよいし、Dラッチなどの各種のラッチであってもよい。   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.

クロックツリーが構築されている同期回路は、少なくともレイアウト上のセル配置の情報に基づき、第1の記憶素子と第2の記憶素子の間におけるクロックスキューが所定の値以下となっていればよい。また、レイアウト上で実配線を行った後のより正確な計算に基づくクロックスキューが所定の値以下となっている場合でもよい。当該同期回路は、第1の記憶素子と第2の記憶素子の間におけるすべてのクロックスキューが所定の値以下となるようにクロックツリーが構築されていてもよいし、所定の信号経路、例えば、信号の伝搬遅延を考慮する必要のない信号経路(ダミーパス)や第1の記憶素子と第2の記憶素子の間におけるクロックスキューを考慮する必要がない(クロックスキューが大きくてもよい)信号経路等を除いた信号経路上の第1の記憶素子と第2の記憶素子の間におけるクロックスキューが所定の値以下となるようにクロックツリーが構築されていてもよい。   In the synchronization circuit in which the clock tree is constructed, it is sufficient that the clock skew between the first memory element and the second memory element is equal to or less than a predetermined value based on at least cell layout information on the layout. 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.

第1の記憶素子と第2の記憶素子の間におけるクロックスキューを所与の値以上にするために、例えば、第1の記憶素子又は第2の記憶素子に接続されるクロックラインのいずれかにのみ遅延素子を挿入してもよいし、遅延時間の異なる遅延素子を両方のクロックラインに挿入してもよい。また、第1の記憶素子又は第2の記憶素子に接続されるクロックラインに遅延素子が挿入されている場合には、いずれかのクロックラインからのみ遅延素子を削除してもよいし、両方のクロックラインから遅延時間の異なる遅延素子を削除してもよい。   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 delay elements may be inserted, or delay elements having different delay times may be inserted into 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 may be deleted from only one of the clock lines, Delay elements having different delay times may be deleted from the clock line.

本発明によれば、第1の記憶素子と第2の記憶素子の間におけるクロックスキューが所与の値以上になるようにクロックツリーが再構築される。その結果、各記憶素子に含まれるクロックバッファのトランジスタがスイッチングするタイミングを所与の時間差で分散させることができるので、所与の値を適切に選択することにより、トランジスタのスイッチング時に流れるピーク電流を低減することができる。従って、ピーク電流が流れる時の電源電位の電圧降下を低減することができるので、回路の誤動作を防止することができる。   According to the present invention, the clock tree is reconstructed so that the clock skew between the first storage element and the second storage element is equal to or greater than a given value. As a result, the switching timing of the transistors of the clock buffer included in each storage element can be distributed with a given time difference, so that the peak current that flows when the transistors are switched can be reduced by appropriately selecting a given value. Can be reduced. Accordingly, the voltage drop of the power supply potential when the peak current flows can be reduced, so that the malfunction of the circuit can be prevented.

所与の値は、ピーク電流を低減するのに十分な値であればよく、計算やシミュレーションにより求めてもよい。   The given value may be a value sufficient to reduce the peak current, and may be obtained by calculation or simulation.

また、本発明によれば、少なくとも、第1の記憶素子と第2の記憶素子の間におけるクロックスキュー、すなわち、動作タイミングが関連する2つの記憶素子間におけるクロックスキューについては、所与の値以上になるようにクロックツリーが再構築される。動作タイミングが関連する2つの記憶素子は、レイアウト上の物理的に近い場所に配置される可能性が高く、これらの記憶素子は同一の電源レールから電源を供給される場合が多い。そのため、動作タイミングが関連する2つの記憶素子間のクロックスキューが所与の値以上になるようにクロックツリーを再構築すれば、電源電位の電圧降下を有効に低減することができる。一方、動作タイミングにおいて無関係の2つの記憶素子は、レイアウト上の物理的に近い場所に配置される可能性は低く、これらの記憶素子は異なる電源レールから電源を供給される場合が多い。そのため、動作タイミングにおいて無関係の2つの記憶素子間におけるクロックスキューについては、所与の値より小さいままクロックツリーを再構築しても、電源電位の電圧降下を有効に低減することができる。なお、可能であれば、動作タイミングにおいて無関係の2つの記憶素子間におけるクロックスキューについても、所与の値以上になるようにクロックツリーを構築してもよい。   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 rebuilt so that 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 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 can be effectively reduced. 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 so that the clock skew between two storage elements that are irrelevant in the operation timing is equal to or greater than a given value.

(2)本発明に係る集積回路装置の設計方法は、
前記クロックツリー再構築ステップは、
前記同期回路に対するタイミング解析結果に基づき、前記クロックスキューを変化させることによりタイミングエラーが発生すると判断した場合は、前記クロックスキューを変化させる処理を行わないことを特徴とする。
(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)本発明に係る集積回路装置の設計方法は、
前記クロックツリー再構築ステップは、
前記第1の記憶素子に接続されたクロックラインに1又は2以上の遅延素子を挿入することにより前記クロックスキューを変化させる処理を行うことを特徴とする。
(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 into a clock line connected to the first memory element.

本発明によれば、第1の記憶素子に接続されたクロックラインに1又は2以上の遅延素子を挿入するだけなので、セットアップタイムエラーに対するマージンが大きい信号経路がほとんどであるような場合には、クロックスキューを簡単に所与の値以上にすることができ、ピーク電流を低減することができる。   According to the present invention, since only one or more delay elements are inserted into the clock line connected to the first storage element, in the case where most of the signal paths have a large margin for the setup time error, The clock skew can be easily increased to a given value or more, and the peak current can be reduced.

(4)本発明に係る集積回路装置の設計方法は、
前記クロックツリー再構築ステップは、
セットアップタイムエラーに対するマージンが小さい信号経路上にある前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューを優先的に変化させる処理を行うことを特徴とする。
(4) A method for designing an integrated circuit device according to the present invention includes:
The clock tree reconstruction step includes:
A process for preferentially changing a clock skew between the first memory element and the second memory element on a signal path having a small margin for a setup time error is performed.

本発明によれば、例えば、信号経路のセットアップタイムエラーに対するマージンが大きくなるにつれて、当該信号経路上にある第1の記憶素子に接続されたクロックラインに挿入する遅延素子の数を多くすれば、各記憶素子に含まれるクロックバッファのトランジスタがスイッチングするタイミングを効率的に分散させることができるので、ピーク電流を低減することができる。   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 inserted into the clock line connected to the first storage element on the signal path increases. Since the switching timing of the transistors of the clock buffer included in each memory element can be efficiently distributed, the peak current can be reduced.

(5)本発明に係る集積回路装置の設計方法は、
前記クロックツリー再構築ステップと、
前記クロックツリー再構築ステップによりクロックツリーを再構築した後の同期回路に対して、レイアウト上で実配線を行うステップと、
前記クロックツリーを再構築した後の同期回路に対して、前記レイアウト上での実配線を考慮したタイミング解析を行うステップと、
前記レイアウト上での実配線を考慮したタイミング解析結果に基づき、セットアップタイムエラーが発生する信号経路上にある前記第1の記憶素子に接続されたクロックラインから1又は2以上の遅延素子を削除することによりセットアップタイムエラーを解消するようにクロックツリーを修正するステップとを含むことを特徴とする。
(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)本発明に係るクロックツリー構築ツールは、
同一のクロックに基づいて動作する複数の記憶素子を有し、第1の記憶素子の出力から第2の記憶素子の入力に至る信号経路上に他の記憶素子を含まない前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューが所定の値以下となるようにクロックツリーが構築されている同期回路に対してクロックツリーを再構築するクロックツリー構築ツールであって、
所与の前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューが所与の値よりも小さい場合には、前記同期回路に対するタイミング解析結果に基づき、前記クロックスキューが所与の値以上になるように前記クロックスキューを変化させてもタイミングエラーが発生しないと判断した場合には、前記第1の記憶素子に接続されたクロックラインに1又は2以上の遅延素子を挿入することにより、前記クロックスキューが所与の値以上になるように前記クロックスキューを変化させる処理を行い前記同期回路に対してクロックツリーを再構築するクロックツリー再構築ステップと、
前記クロックツリー再構築ステップによりクロックツリーを再構築した後の同期回路に対して、レイアウト上で実配線を行うステップと、
前記クロックツリーを再構築した後の同期回路に対して、前記レイアウト上での実配線を考慮したタイミング解析を行うステップと、
前記レイアウト上での実配線を考慮したタイミング解析結果に基づき、セットアップタイムエラーが発生する信号経路上にある前記第1の記憶素子に接続されたクロックラインから1又は2以上の遅延素子を削除することによりセットアップタイムエラーを解消するようにクロックツリーを修正するステップとを含むことを特徴とする。
(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 a clock tree construction tool for reconstructing the clock tree with respect to the synchronous circuit in which the clock tree is constructed so that the clock skew between the second storage element and the second storage element is a predetermined value or less,
If the clock skew between the given first storage element and the second storage element is less than a given value, the clock skew is given based on the timing analysis result for the synchronization circuit. If it is determined that a timing error does not occur even if the clock skew is changed to be equal to or greater than the value, one or more delay elements are inserted into the clock line connected to the first storage element. A clock tree restructuring step of performing a process of changing the clock skew so that the clock skew is equal to or greater than a given value and reconstructing a clock tree for the synchronous 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.

本発明に係るクロックツリー構築ツールは、例えば、信号経路のセットアップタイムエラーに対するマージンが大きくなるにつれて、当該信号経路上にある第1の記憶素子に接続されたクロックラインに挿入する遅延素子の数を大きくすれば、各記憶素子に含まれるクロックバッファのトランジスタがスイッチングするタイミングを効率的に分散させることができ、第1の記憶素子と第2の記憶素子の間におけるクロックスキューが所与の値以上になるようにクロックツリーを再構築することができる。従って、ピーク電流を低減することができ、ピーク電流が流れる時の電源電位の電圧降下を低減することができるので、回路の誤動作を防止することができる。   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)本発明は、
上記のいずれかに記載された集積回路装置の設計方法又はクロックツリー構築ツールを用いて設計製造されたことを特徴とする集積回路装置である。
(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)本発明は、
上記に記載の集積回路装置を含むことを特徴とするマイクロコンピュータである。
(8) The present invention
A microcomputer including the integrated circuit device described above.

(9)本発明は、
上記に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器である。
(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.集積回路装置、集積回路装置の設計方法、クロックツリー構築ツール
図1は、本実施の形態のクロックツリー構築ツールの対象となる同期回路の例を説明するための図である。
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.

同期回路10は、集積回路装置(IC)に含まれる回路であり、本実施の形態のクロックツリー構築ツールの対象となる。同期回路10は、サブブロック100及び200、クロックツリー300を含んで構成される。ここで、同期回路10に含まれる各フリップフロップはいずれもメインクロック312で同期制御される。すなわち、同期回路10はメインクロック312(同一のクロック)に基づいて動作する同期回路である。   The synchronization circuit 10 is a circuit included in an integrated circuit device (IC) and is a target of the clock tree construction tool of the present embodiment. The synchronization circuit 10 includes sub blocks 100 and 200 and a clock tree 300. Here, each flip-flop included in the synchronization circuit 10 is synchronously controlled by the main clock 312. That is, the synchronization circuit 10 is a synchronization circuit that operates based on the main clock 312 (the same clock).

サブブロック100は、3個のフリップフロップ110、120、130及び組み合わせ回路140、150を含んで構成されている。組み合わせ回路140の1つの入力はフリップフロップ110の出力に接続されており、他の1つの入力142はサブブロック100の外部から供給される。組み合わせ回路140の出力は、フリップフロップ120のデータ入力に接続されている。また、組み合わせ回路150の1つの入力はフリップフロップ120の出力に接続されており、他の1つの入力はサブブロック200に含まれるフリップフロップ220の出力に接続されている。組み合わせ回路150の出力は、フリップフロップ130のデータ入力に接続されている。   The sub block 100 includes three flip-flops 110, 120, and 130 and combinational circuits 140 and 150. One input of the combinational circuit 140 is connected to the output of the flip-flop 110, and the other one input 142 is supplied from the outside of the sub-block 100. The output of the combination circuit 140 is connected to the data input of the flip-flop 120. Further, one input of the combinational circuit 150 is connected to the output of the flip-flop 120, and the other one input is connected to the output of the flip-flop 220 included in the sub-block 200. The output of the combinational circuit 150 is connected to the data input of the flip-flop 130.

サブブロック200は、3個のフリップフロップ210、220、230及び組み合わせ回路240、250を含んで構成されている。組み合わせ回路240の1つの入力はサブブロック100に含まれるフリップフロップ110の出力に接続されており、他の1つの入力はフリップフロップ210の出力に接続されている。組み合わせ回路240の出力は、フリップフロップ220のデータ入力に接続されている。また、組み合わせ回路250の1つの入力はフリップフロップ220の出力に接続されており、他の1つの入力252はサブブロック200の外部から供給される。組み合わせ回路250の出力は、フリップフロップ230のデータ入力に接続されている。   The sub-block 200 includes three flip-flops 210, 220, 230 and combinational circuits 240, 250. One input of the combinational circuit 240 is connected to the output of the flip-flop 110 included in the sub-block 100, and the other one input is connected to the output of the flip-flop 210. The output of the combinational circuit 240 is connected to the data input of the flip-flop 220. Further, one input of the combinational circuit 250 is connected to the output of the flip-flop 220, and the other one input 252 is supplied from the outside of the sub-block 200. The output of the combinational circuit 250 is connected to the data input of the flip-flop 230.

クロックツリー300は、クロックバッファ320、330、340により構成されている。クロックバッファ320の入力はメインクロックバッファ310の出力に接続されており、その出力は、サブブロック100に含まれる3個のフリップフロップ110、120、130の各クロック入力112、122、132に共通に接続されている。クロックバッファ330の入力はメインクロックバッファ310の出力に接続されており、その出力は、クロックバッファ340の入力に接続されている。クロックバッファ340の出力は、サブブロック200に含まれる3個のフリップフロップ210、220、230の各クロック入力212、222、232に共通に接続されている。ここで、メインクロックバッファ310の出力から6個のフリップフロップ110、120、130、210、220、230の各クロック入力112、122、132、212、222、232までの遅延を揃え、任意の2つのフリップフロップ間におけるクロックスキューが所定の値以下(例えば、0)になるように、遅延素子として機能するクロックバッファ320、330、340が挿入されている。   The clock tree 300 includes clock buffers 320, 330, and 340. The input of the clock buffer 320 is connected to the output of the main clock buffer 310, and the output is common to the clock inputs 112, 122, 132 of the three flip-flops 110, 120, 130 included in the sub-block 100. It is connected. The input of the clock buffer 330 is connected to the output of the main clock buffer 310, and its output is connected to the input of the clock buffer 340. The output of the clock buffer 340 is connected in common to the clock inputs 212, 222, and 232 of the three flip-flops 210, 220, and 230 included in the sub-block 200. Here, the delay from the output of the main clock buffer 310 to each of the clock inputs 112, 122, 132, 212, 222, 232 of the six flip-flops 110, 120, 130, 210, 220, 230 is aligned, and any two Clock buffers 320, 330, and 340 that function as delay elements are inserted so that the clock skew between the two flip-flops is less than or equal to a predetermined value (for example, 0).

メインクロックバッファ310の出力からフリップフロップ110、120、130の各クロック入力112、122、132までには、1つのクロックバッファ320が挿入されている。一方、メインクロックバッファ310の出力からフリップフロップ210、220、230の各クロック入力212、222、232までには、2つのクロックバッファ330及び340が挿入されている。挿入されるクロックバッファの数の相違は、レイアウト(図示せず)上の各フリップフロップの物理的な配置場所の相違のため、メインクロックバッファ310と各フリップフロップの間の距離が異なることに起因する。すなわち、メインクロックバッファ310とフリップフロップの間の距離が長い場合は、クロック配線に伴う寄生抵抗や寄生容量が大きく、クロックラインの配線遅延が大きいため、挿入するクロックバッファの数を少なくする。一方、メインクロックバッファ310とフリップフロップの間の距離が短い場合は、配線遅延が小さいため、挿入するクロックバッファの数を多くする。このようにして、任意の2つのフリップフロップ間におけるクロックスキューが所定の値以下になるようにクロックツリー300が構成されている。例えば、クロックバッファ320、330、340の入力から出力までの遅延がすべて1nsの場合、メインクロックバッファ310の出力からフリップフロップ110、120、130の各クロック入力112、122、132までの配線遅延がすべて1nsであり、メインクロックバッファ310の出力からフリップフロップ210、220、230の各クロック入力212、222、232までの配線遅延がすべて0だとすると、メインクロックバッファ310の出力からフリップフロップ110、120、130、210、220、230の各クロック入力112、122、132、212、222、232までの遅延はすべて2nsとなり、任意の2つのフリップフロップ間のクロックスキューが0になる。   One clock buffer 320 is inserted from the output of the main clock buffer 310 to the clock inputs 112, 122, 132 of the flip-flops 110, 120, 130. On the other hand, two clock buffers 330 and 340 are inserted from the output of the main clock buffer 310 to the clock inputs 212, 222, and 232 of the flip-flops 210, 220, and 230. The difference in the number of inserted clock buffers is due to the difference in the distance between the main clock buffer 310 and each flip-flop due to the physical location of each flip-flop on the layout (not shown). To do. That is, when the distance between the main clock buffer 310 and the flip-flop is long, the parasitic resistance and parasitic capacitance associated with the clock wiring are large, and the clock line wiring delay is large, so the number of clock buffers to be inserted is reduced. On the other hand, when the distance between the main clock buffer 310 and the flip-flop is short, since the wiring delay is small, the number of clock buffers to be inserted is increased. In this way, the clock tree 300 is configured such that the clock skew between any two flip-flops is a predetermined value or less. For example, when the delays from the input to the output of the clock buffers 320, 330, and 340 are all 1 ns, the wiring delay from the output of the main clock buffer 310 to the clock inputs 112, 122, and 132 of the flip-flops 110, 120, and 130 If all are 1 ns and the wiring delay from the output of the main clock buffer 310 to the clock inputs 212, 222, 232 of the flip-flops 210, 220, 230 is all zero, the flip-flops 110, 120, All the delays to the clock inputs 112, 122, 132, 212, 222, and 232 of 130, 210, 220, and 230 are 2 ns, and the clock skew between any two flip-flops is zero.

サブブロック100に含まれる3個のフリップフロップ110、120、130はレイアウト上の物理的に近い場所に配置されており、クロックバッファ320から3個のフリップフロップ110、120、130の各クロック入力112、122、132までの配線遅延にはほとんど差がない(これらのフリップフロップ間におけるクロックスキューは非常に小さい)ため、クロックバッファ320の出力とフリップフロップ110、120、130の各クロック入力112、122、132の間にはクロックバッファが挿入されていない。同様に、サブブロック200に含まれる3個のフリップフロップ210、220、230はレイアウト上の物理的に近い場所に配置されているため、クロックバッファ340の出力とフリップフロップ210、220、230の各クロック入力212、222、232の間にはクロックバッファが挿入されていない。   The three flip-flops 110, 120, and 130 included in the sub-block 100 are arranged at physically close locations on the layout, and each clock input 112 of the three flip-flops 110, 120, and 130 is provided from the clock buffer 320. , 122, 132 has almost no difference in the wiring delay (the clock skew between these flip-flops is very small), so that the output of the clock buffer 320 and the clock inputs 112, 122 of the flip-flops 110, 120, 130 132, no clock buffer is inserted. Similarly, since the three flip-flops 210, 220, and 230 included in the sub-block 200 are arranged physically close to each other on the layout, the output of the clock buffer 340 and each of the flip-flops 210, 220, and 230 A clock buffer is not inserted between the clock inputs 212, 222, and 232.

ここで、組み合わせ回路140におけるフリップフロップ110(第1の記憶素子に相当する)の出力からフリップフロップ120(第2の記憶素子に相当する)のデータ入力までのパス(信号経路)p1の遅延は5.5ns、組み合わせ回路150におけるフリップフロップ120(第1の記憶素子に相当する)の出力からフリップフロップ130(第2の記憶素子に相当する)のデータ入力までのパスp2の遅延は6.5ns、フリップフロップ220(第1の記憶素子に相当する)の出力からフリップフロップ130(第2の記憶素子に相当する)のデータ入力までのパスp3の遅延は2ns、組み合わせ回路240におけるフリップフロップ110(第1の記憶素子に相当する)の出力からフリップフロップ220(第2の記憶素子に相当する)のデータ入力までのパスp4の遅延は2.5ns、フリップフロップ210(第1の記憶素子に相当する)の出力からフリップフロップ220(第2の記憶素子に相当する)のデータ入力までのパスp5の遅延は6.5ns、組み合わせ回路250におけるフリップフロップ220(第1の記憶素子に相当する)の出力からフリップフロップ230(第2の記憶素子に相当する)のデータ入力までのパスp6の遅延は7.5nsであるとする。さらに、メインクロック312のクロック周波数は100MHz(クロック周期は10ns)、すべてのフリップフロップの遅延(クロックが入力されてから出力が変化するまでの時間)は1nsと仮定し、すべてのフリップフロップに対するセットアップタイムは1ns以上、ホールドタイムは0ns以上必要であると仮定する。また、すべてのフリップフロップ間のクロックスキュー(以下の説明では、第2の記憶素子に相当するフリップフロップまでのクロック遅延から第1の記憶素子に相当するフリップフロップまでのクロック遅延を引き算した値と定義する)は0であると仮定する。   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 combinational circuit 140 is The delay of the path p2 from the output of the flip-flop 120 (corresponding to the first memory element) in the combinational circuit 150 to the data input of the flip-flop 130 (corresponding to the second memory element) is 5.5 ns. The delay of the path p3 from the output of the flip-flop 220 (corresponding to the first memory element) to the data input of the flip-flop 130 (corresponding to the second memory element) is 2 ns, and the flip-flop 110 ( Flip-flop 220 (second storage element) from the output of the first storage element The delay of the path p4 until the data input (corresponding) is 2.5 ns, from the output of the flip-flop 210 (corresponding to the first memory element) to the data input of the flip-flop 220 (corresponding to the second memory element) The path p5 has a delay of 6.5 ns, and the path p6 from the output of the flip-flop 220 (corresponding to the first memory element) in the combinational circuit 250 to the data input of the flip-flop 230 (corresponding to the second memory element). Is assumed to be 7.5 ns. Further, it is assumed that the clock frequency of the main clock 312 is 100 MHz (clock period is 10 ns), the delay of all flip-flops (the time from when the clock is input to when the output changes) is 1 ns, and setup for all flip-flops. It is assumed that the time is 1 ns or more and the hold time is 0 ns or more. Further, the clock skew between all flip-flops (in the following description, a value obtained by subtracting the clock delay to the flip-flop corresponding to the first memory element from the clock delay to the flip-flop corresponding to the second memory element) Define) is assumed to be zero.

この場合、セットアップタイムエラーが起こらないためには、すべてのフリップフロップ間における組み合わせ回路のパスの遅延は、10ns(クロック周期)+0ns(クロックスキュー)−1ns(フリップフロップの遅延)−1ns(セットアップタイム)=8ns以下でなければならない。上述の通り、パスp1〜p6の遅延はそれぞれ、5.5ns、6.5ns、2ns、2.5ns、6.5ns、7.5nsなので、パスp1〜p6に関して、セットアップタイムエラーは発生していない。一方、ホールドタイムエラーが起こらないためには、すべてのフリップフロップ間における組み合わせ回路のパスの遅延は、0ns(ホールドタイム)+0ns(クロックスキュー)−1ns(フリップフロップの遅延)=−1ns以上でなければならない。明らかに、パスp1〜p6に関して、ホールドタイムエラーは発生していない。   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.

図2は、図1における同期回路10に対して本実施の形態のクロックツリー構築ツールを使用し、クロックツリーを再構築した後の同期回路の例について説明するための図である。図1と同じ構成には同じ番号を付しており説明を省略する。   FIG. 2 is a diagram for describing 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 synchronization circuit 10 in FIG. The same components as those in FIG.

図2における同期回路20(クロックツリーを再構築した後の同期回路)は、クロックツリー302がクロックバッファ322、324、326、344を含む点においてのみ、図1における同期回路10と異なる。クロックバッファ322の入力は、クロックバッファ320の出力に接続され、その出力は、フリップフロップ120のクロック入力122に接続されている。クロックバッファ324の入力は、クロックバッファ320の出力に接続され、その出力は、クロックバッファ326の入力に接続されている。クロックバッファ326の出力は、フリップフロップ110のクロック入力112に接続されている。クロックバッファ344の入力は、クロックバッファ340の出力に接続され、その出力は、フリップフロップ210のクロック入力212に接続されている。クロックバッファ322、324、326、344は、本実施の形態のクロックツリー構築ツールが挿入したクロックバッファである。   2 is different from the synchronization circuit 10 in FIG. 1 only in that the clock tree 302 includes clock buffers 322, 324, 326, and 344. The synchronization circuit 20 in FIG. The input of the clock buffer 322 is connected to the output of the clock buffer 320, and its output is connected to the clock input 122 of the flip-flop 120. The input of the clock buffer 324 is connected to the output of the clock buffer 320, and the output is connected to the input of the clock buffer 326. The output of the clock buffer 326 is connected to the clock input 112 of the flip-flop 110. The input of the clock buffer 344 is connected to the output of the clock buffer 340, and its output is connected to the clock input 212 of the flip-flop 210. The clock buffers 322, 324, 326, and 344 are clock buffers inserted by the clock tree construction tool of the present embodiment.

ここで、クロックバッファ322、324、326、344の入力から出力までの遅延はすべて1nsであるとする。この場合、メインクロックバッファ310の出力からフリップフロップ110のクロック入力112までの遅延は、図1の場合と比較して、クロックバッファ324及び326の遅延分(1ns+1ns=2ns)だけ増加している。同様に、メインクロックバッファ310の出力からフリップフロップ120のクロック入力122までの遅延はクロックバッファ322の遅延分(1ns)だけ増加し、メインクロックバッファ310の出力からフリップフロップ210のクロック入力212までの遅延はクロックバッファ344の遅延分(1ns)だけ増加している。メインクロックバッファ310の出力からフリップフロップ130、220、230の各クロック入力132、222、232までの遅延は図1の場合と変わらない。従って、パスp1上にあるフリップフロップ110と120の間のクロックスキューは−1nsである。同様に、パスp2上にあるフリップフロップ120と130の間、パスp3上にあるフリップフロップ220と130の間、パスp4上にあるフリップフロップ110と220の間、パスp5上にあるフリップフロップ210と220の間、パスp6上にあるフリップフロップ220と230の間のクロックスキューはそれぞれ、−1ns、0ns、−2ns、−1ns、0である。すなわち、本実施の形態のクロックツリー構築ツールにより、クロックスキューに差が出るようにクロックバッファ322、324、326、344が挿入されている。   Here, it is assumed that the delays from the input to the output of the clock buffers 322, 324, 326, and 344 are all 1 ns. In this case, the delay from the output of the main clock buffer 310 to the clock input 112 of the flip-flop 110 is increased by the delay of the clock buffers 324 and 326 (1 ns + 1 ns = 2 ns) compared to the case of FIG. Similarly, the delay from the output of the main clock buffer 310 to the clock input 122 of the flip-flop 120 increases by the delay (1 ns) of the clock buffer 322, and the delay from the output of the main clock buffer 310 to the clock input 212 of the flip-flop 210. The delay is increased by the delay of the clock buffer 344 (1 ns). The delay from the output of the main clock buffer 310 to the clock inputs 132, 222, and 232 of the flip-flops 130, 220, and 230 is the same as in FIG. Therefore, the clock skew between the flip-flops 110 and 120 on the path p1 is −1 ns. Similarly, between flip-flops 120 and 130 on path p2, between flip-flops 220 and 130 on path p3, between flip-flops 110 and 220 on path p4, and flip-flop 210 on path p5. And 220, and the clock skew between the flip-flops 220 and 230 on the path p6 are −1 ns, 0 ns, −2 ns, −1 ns, and 0, respectively. In other words, the clock buffers 322, 324, 326, and 344 are inserted by the clock tree construction tool of the present embodiment so that there is a difference in clock skew.

一方、サブブロック100及び200は図1とまったく同じであり、パスp1〜p6の遅延も変わらない。パスp1の遅延は5.5nsであり、10ns(クロック周期)+(−1ns)(クロックスキュー)−1ns(フリップフロップの遅延)−1ns(セットアップタイム)=7ns以下なので、フリップフロップ120に対するセットアップタイムエラーは発生していない。また、フリップフロップ120に対するホールドタイムエラーについても、0ns(ホールドタイム)+(−1ns)(クロックスキュー)−1ns(フリップフロップ110の遅延)=−2nsなので、発生していない。同様に、パスp2及びp3に関するフリップフロップ130に対するセットアップタイムエラー及びホールドタイムエラー、パスp4及びp5に関するフリップフロップ220に対するセットアップタイムエラー及びホールドタイムエラー、パスp6に関するフリップフロップ230に対するセットアップタイムエラー及びホールドタイムエラーは発生していない。すなわち、本実施の形態のクロックツリー構築ツールがクロックバッファ322、324、326、344を挿入したことにより、同期回路20にタイミングエラーは発生していない。   On the other hand, the sub-blocks 100 and 200 are exactly the same as those 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-flop 120 No error has occurred. Also, the hold time error for the flip-flop 120 is not generated because 0 ns (hold time) + (− 1 ns) (clock skew) −1 ns (delay of the flip-flop 110) = − 2 ns. Similarly, setup time error and hold time error for flip-flop 130 for paths p2 and p3, setup time error and hold time error for flip-flop 220 for paths p4 and p5, setup time error and hold time for flip-flop 230 for path p6. No error has occurred. That is, since the clock tree construction tool of this embodiment has inserted the clock buffers 322, 324, 326, and 344, no timing error has occurred in the synchronization circuit 20.

図3は、メインクロックバッファの出力と各フリップフロップのクロック入力に関するタイミングを説明するための図である。   FIG. 3 is a diagram for explaining the timing related to the output of the main clock buffer and the clock input of each flip-flop.

図3(A)は、図1の同期回路10におけるタイミングを説明するための図である。時刻T0において、メインクロックバッファ310の出力が立ち上がる。メインクロックバッファ310の出力からフリップフロップ110、120、130の各クロック入力112、122、132までの遅延は、クロックバッファ320の入力から出力までの遅延(1ns)と配線遅延(1ns)の和に相当し、2nsである。一方、メインクロックバッファ310の出力からフリップフロップ210、220、230の各クロック入力212、222、232までの遅延は、クロックバッファ330の入力から出力までの遅延(1ns)とクロックバッファ340の入力から出力までの遅延(1ns)と配線遅延(0ns)の和に相当し、2nsである。従って、時刻T1において、フリップフロップ110、120、130、210、220、230の各クロック入力112、122、132、212、222、232は同時に立ち上がる。これは、図1の回路ではすべてのフリップフロップに対してクロックスキューが0になるようにクロックツリーが構築されているためである。従って、クロック入力112、122、132、212、222、232に接続されるバッファ(図示していないが、各フリップフロップの内部にある)におけるトランジスタが同時にスイッチングするために電源からグランドに大きな貫通電流が流れ、ピーク電流が大きくなるため、電源電位に大きな電圧降下が発生する。   FIG. 3A is a diagram for explaining the timing in the synchronization circuit 10 of FIG. At time T0, the output of the main clock buffer 310 rises. The delay from the output of the main clock buffer 310 to the clock inputs 112, 122, 132 of the flip-flops 110, 120, 130 is the sum of the delay (1 ns) from the input to the output of the clock buffer 320 and the wiring delay (1 ns). Corresponding to 2 ns. On the other hand, the delay from the output of the main clock buffer 310 to the clock inputs 212, 222, and 232 of the flip-flops 210, 220, and 230 is from the delay (1 ns) from the input to the output of the clock buffer 330 and the input of the clock buffer 340. This corresponds to the sum of delay until output (1 ns) and wiring delay (0 ns), which is 2 ns. Therefore, at time T1, the clock inputs 112, 122, 132, 212, 222, and 232 of the flip-flops 110, 120, 130, 210, 220, and 230 are simultaneously started up. This is because the clock tree is constructed so that the clock skew is zero for all flip-flops in the circuit of FIG. Therefore, a large shoot-through current from the power supply to the ground because the transistors in the buffers connected to the clock inputs 112, 122, 132, 212, 222, 232 (not shown, but inside each flip-flop) are switched simultaneously. Flows and the peak current increases, so that a large voltage drop occurs in the power supply potential.

図3(B)は、図2の同期回路20におけるタイミングを説明するための図である。   FIG. 3B is a diagram for explaining the timing in the synchronization circuit 20 of FIG.

時刻T0において、メインクロックバッファ310の出力が立ち上がる。メインクロックバッファ310の出力からフリップフロップ110のクロック入力112までの遅延は、クロックバッファ320の入力から出力までの遅延(1ns)とクロックバッファ324の入力から出力までの遅延(1ns)とクロックバッファ326の入力から出力までの遅延(1ns)と配線遅延(1ns)の和に相当し、4nsである。メインクロックバッファ310の出力からフリップフロップ120のクロック入力122までの遅延は、クロックバッファ320の入力から出力までの遅延(1ns)とクロックバッファ322の入力から出力までの遅延(1ns)と配線遅延(1ns)の和に相当し、3nsである。メインクロックバッファ310の出力からフリップフロップ130のクロック入力132までの遅延は、クロックバッファ320の入力から出力までの遅延(1ns)と配線遅延(1ns)の和に相当し、2nsである。一方、メインクロックバッファ310の出力からフリップフロップ210のクロック入力212までの遅延は、クロックバッファ330の入力から出力までの遅延(1ns)とクロックバッファ340の入力から出力までの遅延(1ns)とクロックバッファ344の入力から出力までの遅延(1ns)と配線遅延(0ns)の和に相当し、3nsである。メインクロックバッファ310の出力からフリップフロップ220、230の各クロック入力222、232までの遅延は、クロックバッファ330の入力から出力までの遅延(1ns)とクロックバッファ340の入力から出力までの遅延(1ns)と配線遅延(0ns)の和に相当し、2nsである。従って、時刻T1において、フリップフロップ130、220、230の各クロック入力132、222、232が同時に立ち上がり、時刻T2において、フリップフロップ120、210の各クロック入力122、212が同時に立ち上がり、時刻T3において、フリップフロップ110のクロック入力112が立ち上がる。このように各フリップフロップのクロック入力の立ち上がりのタイミングが異なるのは、本実施の形態のクロックツリー構築ツールが、タイミングエラーを起こさない範囲で、メインクロックバッファ310の出力から各フリップフロップのクロック入力までの遅延にできるだけ1ns以上の差をつけるようにクロックツリーを構築したことによる。この遅延差としては、回路規模や使用するクロックバッファの特性等に基づいて貫通電流が流れるタイミングを分散させてピーク電流を低減し、電源電位の電圧降下を効果的に抑制することができるような所与の値に設定しなければならない。例えば、クロックバッファの駆動能力とクロック配線の寄生抵抗・寄生容量の関係により、クロックバッファ出力の立ち上がりが急峻である場合には貫通電流が流れる時間が短いので、この所与の値が小さくてもピーク電流を低減させることができるので、電圧降下を効果的に抑制することができる。逆に、クロックバッファ出力の立ち上がりが緩やかな場合には貫通電流が流れる時間が長いので、この所与の値が大きくなければピーク電流を低減させることができず、電圧降下を効果的に抑制することができない。   At time T0, the output of the main clock buffer 310 rises. The delay from the output of the main clock buffer 310 to the clock input 112 of the flip-flop 110 includes the delay from the input to the output of the clock buffer 320 (1 ns), the delay from the input to the output of the clock buffer 324 (1 ns), and the clock buffer 326. This corresponds to the sum of the delay from input to output (1 ns) and wiring delay (1 ns), and is 4 ns. The delay from the output of the main clock buffer 310 to the clock input 122 of the flip-flop 120 includes the delay from the input to the output of the clock buffer 320 (1 ns), the delay from the input to the output of the clock buffer 322 (1 ns), and the wiring delay ( 1 ns), which is 3 ns. The delay from the output of the main clock buffer 310 to the clock input 132 of the flip-flop 130 corresponds to the sum of the delay (1 ns) from the input to the output of the clock buffer 320 and the wiring delay (1 ns), and is 2 ns. On the other hand, the delay from the output of the main clock buffer 310 to the clock input 212 of the flip-flop 210 is the delay from the input to the output of the clock buffer 330 (1 ns), the delay from the input to the output of the clock buffer 340 (1 ns), and the clock. This corresponds to the sum of the delay (1 ns) from the input to the output of the buffer 344 and the wiring delay (0 ns), and is 3 ns. The delays from the output of the main clock buffer 310 to the clock inputs 222 and 232 of the flip-flops 220 and 230 are the delay from the input to the output of the clock buffer 330 (1 ns) and the delay from the input to the output of the clock buffer 340 (1 ns). ) And wiring delay (0 ns), 2 ns. Accordingly, at time T1, the clock inputs 132, 222, and 232 of the flip-flops 130, 220, and 230 rise simultaneously, and at time T2, the clock inputs 122 and 212 of the flip-flops 120 and 210 rise simultaneously, and at time T3, The clock input 112 of the flip-flop 110 rises. As described above, the rising timing of the clock input of each flip-flop is different from the output of the main clock buffer 310 from the output of the main clock buffer 310 as long as the clock tree construction tool of this embodiment does not cause a timing error. This is because the clock tree is constructed so as to give a difference of 1 ns or more as much as possible to the delay until. This delay difference is such that the timing of through current distribution is distributed based on the circuit scale, the characteristics of the clock buffer used, etc., the peak current is reduced, and the voltage drop of the power supply potential can be effectively suppressed. Must be set to a given value. For example, if the rising edge of the clock buffer output is steep due to the relationship between the clock buffer drive capability and the clock wiring parasitic resistance / parasitic capacitance, the time that the through current flows is short, so even if this given value is small Since the peak current can be reduced, the voltage drop can be effectively suppressed. On the contrary, when the rise of the clock buffer output is slow, the through current flows for a long time. Therefore, if this given value is not large, the peak current cannot be reduced and the voltage drop is effectively suppressed. I can't.

図4は、本実施の形態の集積回路装置の設計方法(製造方法)について説明するためのフローチャート図である。   FIG. 4 is a flowchart for explaining a design method (manufacturing method) of the integrated circuit device according to the present embodiment.

まず、ゲートレベルで記述されたネットリストを読み込み、各セルの物理的な配置(セル配置)を行う(ステップS10)。   First, the net list described at the gate level is read, and the physical arrangement (cell arrangement) of each cell is performed (step S10).

次に、クロックのルート(例えば、クロックが入力されるバッファの出力)から各フリップフロップのクロック入力までの遅延(クロック遅延)の差、すなわちクロックスキューが所定の値以下になるように、各クロックラインにバッファ(又は偶数個のインバータ)等の遅延素子を挿入することにより、クロックツリーを構築する(ステップS12)。クロックツリーの構築においては、ステップS10で得られたセル配置の情報に基づいて、各クロックラインの仮想配線を行い、配線長や寄生抵抗・寄生容量が考慮される。各フリップフロップに対するホールドタイムやセットアップタイムの制約が厳しい場合などは、理想的にはクロックスキューが0になるようにクロックツリーを構築するのが望ましいが、挿入可能なバッファの種類の制約が大きい場合やクロック遅延の増加を抑える必要がある場合などは、クロックスキューは所定の値(ホールドタイムエラー及びセットアップタイムエラーを起こさない程度の値)以下になるようにすればよい。   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.

次に、クロックツリーを構築した後の回路に対してタイミング解析を行い(ステップS14)、セットアップタイムエラー及びホールドタイムエラーがなくなるまで、セル配置(ステップS10)およびクロックツリーの構築(ステップS12)を繰り返し行う(ステップS16)。図1の同期回路10は、ステップS10〜S16によりクロックツリーが構築された回路であってもよい。   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 synchronization circuit 10 in FIG. 1 may be a circuit in which a clock tree is constructed in steps S10 to S16.

次に、このタイミング解析結果から、すべてのパスについて、クロックルートから当該パスの終点となるフリップフロップ(第2の記憶素子に相当する)のクロック入力までの遅延とクロックルートから当該パスの始点となるフリップフロップ(第1の記憶素子に相当する)のクロック入力までの遅延の差を当該パスに対するクロックスキューとして計算する(ステップS18)。例えば、図1において、パスp1〜p6に対するクロックスキューはすべて0である。なお、信号の伝搬遅延を考慮する必要のないパス(ダミーパス)やクロックスキューを考慮する必要がない(クロックスキューが大きくてもよい)パス等がある場合は、これらのパスを除いたパスについてのみクロックスキューを計算すればよい。   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.

さらに、当該パスの終点となるフリップフロップのセットアップタイムエラーに対するマージンを、当該パスに対するクロックスキューの余裕度として計算する(ステップS18)。例えば、図1において、上述した通り、セットアップタイムエラーを起こさないためには各パスの遅延は8ns以下でなければならないのに対して、パスp1の遅延は5.5nsなので、パスp1に対するクロックスキューの余裕度は、8ns−5.5ns=2.5nsとなる。同様の計算により、パスp2、p3、p4、p5、p6に対するクロックスキューの余裕度は、それぞれ、1.5ns、6ns、5.5ns、1.5ns、0.5nsとなる。   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.

次に、すべてのパスに対して、ステップS18で計算したクロックスキューが所与の値(以下、判定値という)よりも小さいか否か判定する(ステップS20)。ここで、回路が誤動作を起こすほどの電源電位の電圧降下を引き起こすピーク電流が流れないために要求される、2つのフリップフロップ間におけるクロックスキューを計算やシミュレーションにより求め、判定値として使用する。例えば、図1において、クロックスキューが1ns以上あれば電源電位の電圧降下を抑制する効果があるとすると判定値を1nsとする。パスp1〜p6に対するクロックスキューはいずれも0であるので、すべて判定値より小さい。   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.

ステップS20において、すべてのパスに対するクロックスキューが判定値よりも大きい場合には、実配線を行う(ステップS26)。一方、ステップS20において、クロックスキューが判定値よりも小さいパスがある場合には、当該パスに対するクロックスキューの余裕度がステップS20における判定値と当該パスのクロックスキューの差よりも大きいか否か判定する(ステップS22)。例えば、図1において、パスp1のクロックスキューの余裕度(2.5ns)は、判定値(1ns)とパスp1のクロックスキュー(0ns)の差(1ns)よりも大きい。同様に、パスp2、p3、p4、p5のクロックスキューの余裕度は、判定値と各パスのクロックスキューの差よりも大きい。パスp6のクロックスキューの余裕度は0.5nsであり、判定値(1ns)とパスp6のクロックスキュー(0ns)の差(1ns)よりも小さい。   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.

ステップS22において、すべてのパスに対するクロックスキューの余裕度がステップS20における判定値とクロックスキューの差よりも小さい場合は、電源電位に多少の電圧降下を生じる可能性があるが、セットアップタイムエラーを発生させないためにクロックスキューの再構築は行わず、実配線を行う(ステップS26)。一方、ステップS22において、クロックスキューの余裕度がステップS20における判定値とクロックスキューの差よりも大きいパスが存在する場合は、クロックスキューの余裕度(すなわち、セットアップタイムエラーに対するマージン)が小さいパスから順に、クロックスキューがステップS20における判定値よりも大きくなるように当該パスの始点となるフリップフロップに接続されたクロックラインに1又は2以上の遅延素子(バッファまたは偶数個のインバータなど)を挿入することにより、クロックツリーを再構築する(ステップS24)。図1においては、クロックスキューの余裕度の小さいパスの順に、パスp6、p2、p5、p1、p4、p3となる。まず、パスp6のクロックスキューの余裕度は0.5nsであり、判定値(1ns)とパスp6のクロックスキュー(0ns)の差(1ns)よりも小さいため、パスp6の始点となるフリップフロップ220に接続されたクロックラインにはクロックバッファは挿入されない。次に、パスp2のクロックスキューの余裕度は1.5nsであり、判定値(1ns)とパスp2のクロックスキュー(0ns)の差(1ns)よりも大きいため、パスp2の始点となるフリップフロップ220に接続されたクロックラインには、1ns以上1.5ns以下の遅延素子が挿入される。例えば、図2においては、1nsの遅延素子として機能するクロックバッファ322が挿入されている。クロックバッファ322の挿入により、パスp1のクロックスキューは1ns減少して−1nsとなり、クロックスキューの余裕度は1ns増加して3.5nsとなる。次に、パスp5のクロックスキューの余裕度は1.5nsであり、判定値(1ns)とパスp5のクロックスキュー(0ns)の差(1ns)よりも大きいため、パスp5の始点となるフリップフロップ210に接続されたクロックラインには、1ns以上1.5ns以下の遅延素子が挿入される。例えば、図2においては、1nsの遅延素子として機能するクロックバッファ344が挿入されている。次に、パスp1のクロックスキューの余裕度は3.5nsであり、判定値(1ns)とパスp1のクロックスキュー(−1ns)の差(2ns)よりも大きいため、パスp1の始点となるフリップフロップ110に接続されたクロックラインには、2ns以上3.5ns以下の遅延素子が挿入される。例えば、図2においては、1nsの遅延素子として機能するクロックバッファ324及び326が挿入されている。ここで、2つのクロックバッファ324及び326が挿入されているのは、クロックバッファ322が先に挿入されたことを考慮して、パスp1のクロックスキューを判定値(1ns)以上にするためである。クロックバッファ324及び326の挿入により、パスp4のクロックスキューは2ns増加して2nsとなり、クロックスキューの余裕度は2ns減少して3.5nsとなる。次に、パスp4については、クロックバッファ324及び326の挿入により、パスp4のクロックスキューは2nsとなり、判定値(1ns)以上であるので、パスp4の始点となるフリップフロップ110に接続されたクロックラインにはさらにクロックバッファを挿入することはしない。次に、パスp3のクロックスキューの余裕度は6nsであり、判定値(1ns)とパスp3のクロックスキュー(0ns)の差(1ns)よりも大きいが、パスp3の始点となるフリップフロップ220に接続されたクロックラインに0.5ns以上の遅延素子を挿入すると、パスp6に関してセットアップタイムエラーが発生するため、図2においては、クロックバッファが挿入されていない。   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, if there is a path having a larger clock skew margin than the difference between the determination value in step S20 and the clock skew in step S22, a path having a smaller clock skew margin (that is, a margin for the setup time error) is selected. In sequence, one or more delay elements (such as a buffer or an even number of inverters) are inserted into the clock line connected to the flip-flop serving as the starting point of the path so that the clock skew becomes larger than the determination value in step S20. Thus, 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-flop 220 serving as the starting point of the path p6. A clock buffer is not inserted into the clock line connected to. Next, the margin of the clock skew of path p2 is 1.5 ns, which is larger than the difference (1 ns) between the determination value (1 ns) and the clock skew (0 ns) of path p2, so that the flip-flop serving as the starting point of path p2 A delay element of 1 ns to 1.5 ns is inserted into the clock line connected to 220. For example, in FIG. 2, a clock buffer 322 that functions as a 1 ns delay element is inserted. By inserting the clock buffer 322, the clock skew of the path p1 decreases by 1 ns to −1 ns, and the margin of the clock skew increases by 1 ns to 3.5 ns. Next, the margin of the clock skew of path p5 is 1.5 ns, which is larger than the difference (1 ns) between the determination value (1 ns) and the clock skew (0 ns) of path p5, so that the flip-flop serving as the starting point of path p5 A delay element of 1 ns to 1.5 ns is inserted in the clock line connected to 210. For example, in FIG. 2, a clock buffer 344 that functions as a 1 ns delay element is inserted. Next, since the margin of the clock skew of the path p1 is 3.5 ns, which is larger than the difference (2 ns) between the determination value (1 ns) and the clock skew (−1 ns) of the path p1, the flip-flop serving as the starting point of the path p1 A delay element of 2 ns to 3.5 ns is inserted into the clock line connected to the group 110. For example, in FIG. 2, clock buffers 324 and 326 functioning as 1 ns delay elements are inserted. Here, the two clock buffers 324 and 326 are inserted in order to make the clock skew of the path p1 equal to or greater than the determination value (1 ns) in consideration of the clock buffer 322 being inserted first. . By inserting the clock buffers 324 and 326, the clock skew of the path p4 increases by 2 ns to 2 ns, and the margin of the clock skew decreases by 2 ns to 3.5 ns. Next, for the path p4, due to the insertion of the clock buffers 324 and 326, the clock skew of the path p4 is 2 ns, which is equal to or greater than the determination value (1 ns), so the clock connected to the flip-flop 110 that is the starting point of the path p4 No further clock buffers are inserted into the line. Next, the margin of clock skew of path p3 is 6 ns, which is larger than the difference (1 ns) between the judgment value (1 ns) and the clock skew (0 ns) of path p3, but the flip-flop 220 that is the starting point of path p3 When a delay element of 0.5 ns or more is inserted into the connected clock line, a setup time error occurs with respect to the path p6, and therefore no clock buffer is inserted in FIG.

次に、クロックツリーを再構築した後の回路に対して実配線を行い(ステップS26)、クロックツリーを再構築した後の回路に対して、実配線を考慮したタイミング解析を行い(ステップS28)、タイミングエラーがあれば当該エラーがなくなるまで、ステップS24で挿入したバッファ(または偶数個のインバータ)を削除することにより、クロックツリーの修正(ステップS32)および実配線(ステップS26)を繰り返し行う(ステップS30)。タイミングエラーがなくなれば、実行フローを終了する。   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.

なお、本実施の形態の集積回路装置の設計方法では、図1の同期回路10を生成するために、ステップS10〜S16によりクロックツリーの構築を行ったが、本発明に係る集積回路装置の設計方法では、同一のクロックに基づいて動作する複数の記憶素子を有し、第1の記憶素子の出力から第2の記憶素子の入力に至る信号経路上に他の記憶素子を含まない前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューが所定の値以下となるようにクロックツリーが構築されている同期回路に対して適用することができるため、ステップS10からS16は本発明に係る集積回路装置の設計方法の必須の構成要素ではない。例えば、手設計によりクロックツリーを構成した同期回路に対しても本発明に係る集積回路装置の設計方法を適用することができる。   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 synchronous circuit 10 of FIG. 1, but the integrated circuit device design according to the present invention is designed. In the method, the first memory element includes a plurality of memory elements that operate based on the same clock, and does not include another memory element on a signal path from the output of the first memory element to the input of the second memory element. Steps S10 to S16 can be applied to the synchronous circuit in which the clock tree is constructed so that the clock skew between the second storage element and the second storage element is a predetermined value or less. It is not an indispensable component of the integrated circuit device design method. For example, the integrated circuit device design method according to the present invention can be applied to a synchronous circuit in which a clock tree is configured by hand design.

2.マイクロコンピュータ
図5は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
2. Microcomputer FIG. 5 is an example of a hardware block diagram of the microcomputer of this embodiment.

本マイクロコンピュータ700は、CPU510、キャッシュメモリ520、RAM710,ROM720、MMU730、LCDコントローラ530、リセット回路540、プログラマブルタイマ550、リアルタイムクロック(RTC)560、DRAMコントローラ570、割り込みコントローラ580、通信制御装置590、バスコントローラ600、A/D変換器610、D/A変換器620、入力ポート630、出力ポート640、I/Oポート650、クロック発生装置660、プリスケーラ670、クロック停止制御回路740及びそれらを接続する汎用バス680、専用バス750等、各種ピン690等を含む。   The microcomputer 700 includes a CPU 510, a cache memory 520, a RAM 710, a ROM 720, an MMU 730, an LCD controller 530, a reset circuit 540, a programmable timer 550, a real time clock (RTC) 560, a DRAM controller 570, an interrupt controller 580, a communication control device 590, The bus controller 600, A / D converter 610, D / A converter 620, input port 630, output port 640, I / O port 650, clock generator 660, prescaler 670, clock stop control circuit 740 and these are connected. A general-purpose bus 680, a dedicated bus 750, etc., and various pins 690, etc. are included.

3.電子機器
図6に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器800は、マイクロコンピュータ(またはASIC)810、入力部820、メモリ830、電源生成部840、LCD850、音出力部860を含む。
3. Electronic Device FIG. 6 shows an example of a block diagram of the electronic device of this embodiment. The electronic apparatus 800 includes a microcomputer (or ASIC) 810, an input unit 820, a memory 830, a power generation unit 840, an LCD 850, and a sound output unit 860.

ここで、入力部820は、種々のデータを入力するためのものである。マイクロコンピュータ810は、この入力部820により入力されたデータに基づいて種々の処理を行うことになる。メモリ830は、マイクロコンピュータ810などの作業領域となるものである。電源生成部840は、電子機器800で使用される各種電源を生成するためのものである。LCD850は、電子機器が表示する各種の画像(文字、アイコン、グラフィック等)を出力するためのものである。   Here, the input unit 820 is for inputting various data. The microcomputer 810 performs various processes based on the data input by the input unit 820. The memory 830 serves as a work area for the microcomputer 810 and the like. The power generation unit 840 is for generating various power sources used in the electronic device 800. The LCD 850 is for outputting various images (characters, icons, graphics, etc.) displayed by the electronic device.

音出力部860は、電子機器800が出力する各種の音(音声、ゲーム音等)を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。   The sound output unit 860 is for outputting various sounds (sound, game sound, etc.) output from the electronic device 800, and the function can be realized by hardware such as a speaker.

図7(A)に、電子機器の1つである携帯電話950の外観図の例を示す。この携帯電話950は、入力部として機能するダイヤルボタン952や、電話番号や名前やアイコンなどを表示するLCD954や、音出力部として機能し音声を出力するスピーカ956を備える。   FIG. 7A illustrates an example of an external view of a mobile phone 950 which is one of electronic devices. The cellular phone 950 includes a dial button 952 that functions as an input unit, an LCD 954 that displays a telephone number, a name, an icon, and the like, and a speaker 956 that functions as a sound output unit and outputs sound.

図7(B)に、電子機器の1つである携帯型ゲーム装置960の外観図の例を示す。この携帯型ゲーム装置960は、入力部として機能する操作ボタン962、十字キー964や、ゲーム画像を表示するLCD966や、音出力部として機能しゲーム音を出力するスピーカ968を備える。   FIG. 7B illustrates an example of an external view of a portable game device 960 that is one of electronic devices. The portable game device 960 includes an operation button 962 that functions as an input unit, a cross key 964, an LCD 966 that displays a game image, and a speaker 968 that functions as a sound output unit and outputs game sound.

図7(C)に、電子機器の1つであるパーソナルコンピュータ970の外観図の例を示す。このパーソナルコンピュータ970は、入力部として機能するキーボード972や、文字、数字、グラフィックなどを表示するLCD974、音出力部976を備える。   FIG. 7C illustrates an example of an external view of a personal computer 970 that is one of electronic devices. The personal computer 970 includes a keyboard 972 that functions as an input unit, an LCD 974 that displays characters, numbers, graphics, and the like, and a sound output unit 976.

本実施の形態のマイクロコンピュータを図7(A)〜図7(C)の電子機器に組み込むことにより、低価格で画像処理速度の速いコストパフォーマンスの高い電子機器を提供することができる。   By incorporating the microcomputer of this embodiment into the electronic devices in FIGS. 7A to 7C, an electronic device with low cost and high image processing speed can be provided.

なお、本実施形態を利用できる電子機器としては、図7(A)、(B)、(C)に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のLCDを使用する種々の電子機器を考えることができる。   As electronic devices that can use this embodiment, in addition to those shown in FIGS. 7A, 7B, and 7C, 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 achieves the same effect 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.

本実施の形態のクロックツリー構成ツールの対象となる同期回路の例を説明するための図。The figure for demonstrating the example of the synchronous circuit used as the object of the clock tree structure tool of this Embodiment. 本実施の形態のクロックツリー構築ツールを使用し、クロックツリーを再構築した後の同期回路の例について説明するための図。The figure for demonstrating the example of the synchronous circuit after reconstructing a clock tree using the clock tree construction tool of this Embodiment. 図3(A)は、本実施の形態のクロックツリー構成ツールの対象となる同期回路におけるメインクロックバッファの出力と各フリップフロップのクロック入力に関するタイミングを説明するための図であり、図3(B)は、本実施の形態のクロックツリー構築ツールを使用し、クロックツリーを再構築した後の同期回路におけるメインクロックバッファの出力と各フリップフロップのクロック入力に関するタイミングを説明するための図である。FIG. 3A is a diagram for explaining timings related to the output of the main clock buffer and the clock input of each flip-flop in the synchronous circuit which is the target of the clock tree configuration tool of the present embodiment. () Is a figure for demonstrating the timing regarding the output of the main clock buffer in the synchronous circuit after reconstructing a clock tree using the clock tree construction tool of this Embodiment, and the clock input of each flip-flop. 本実施の形態の集積回路の設計方法(製造方法)について説明するためのフローチャート図。FIG. 5 is a flowchart for explaining a design method (manufacturing method) of the integrated circuit according to the present embodiment. 本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。It is an example of the hardware block diagram of the microcomputer of this Embodiment. マイクロコンピュータを含む電子機器のブロック図の一例を示す。An example of a block diagram of an electronic device including a microcomputer is shown. 図7(A)(B)(C)は、種々の電子機器の外観図の例である。7A, 7B, and 7C are examples of external views of various electronic devices.

符号の説明Explanation of symbols

10 同期回路、20 同期回路、100 サブブロックA、110 フリップフロップ、112 クロック入力、120 フリップフロップ、122 クロック入力、130 フリップフロップ、132 クロック入力、140 組み合わせ回路、142 外部入力、150 組み合わせ回路、200 サブブロックB、210 フリップフロップ、212 クロック入力、220 フリップフロップ、222 クロック入力、230 フリップフロップ、232 クロック入力、240 組み合わせ回路、250 組み合わせ回路、252 外部入力、300 クロックツリー、302 クロックツリー、310 メインクロックバッファ、312 メインクロック、320〜344 クロックバッファ、510 CPU、520 キャッシュメモリ、530 LCDコントローラ、540 リセット回路、550 プログラマブルタイマ、560 リアルタイムクロック(RTC)、570 DMAコントローラ兼バスI/F、580 割り込みコントローラ、590 通信制御回路(シリアルインターフェース)、600 バスコントローラ、610 A/D変換器、620 D/A変換器、630 入力ポート、640 出力ポート、650 I/Oポート、660 クロック発生装置(PLL)、670 プリスケーラ、680 汎用バス、690 各種ピン、700 マイクロコンピュータ、710 ROM、720 RAM、730 MMU、740 クロック停止制御回路、750 専用バス、800 電子機器、810 マイクロコンピュータ(ASIC)、820 入力部、830 メモリ、840 電源生成部850 LCD、860 音出力部、950 携帯電話、952 ダイヤルボタン、954 LCD、956 スピーカ、960 携帯型ゲーム装置、962 操作ボタン、964 十字キー、966 LCD、968 スピーカ、970 パーソナルコンピュータ、972 キーボード、974 LCD、976 音出力部 10 synchronization circuit, 20 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, 310 main Clock buffer, 312 main clock, 320-344 clock buffer, 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 electronic equipment, 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)

同一のクロックに基づいて動作する複数の記憶素子を有し、第1の記憶素子の出力から第2の記憶素子の入力に至る信号経路上に他の記憶素子を含まない前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューが所定の値以下となるようにクロックツリーが構築されている同期回路を含む集積回路装置の設計方法であって、
所与の前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューが所与の値よりも小さい場合には、前記同期回路に対するタイミング解析結果に基づき、前記クロックスキューが所与の値以上になるように前記クロックスキューを変化させる処理を行うことにより、前記同期回路に対してクロックツリーを再構築するクロックツリー再構築ステップを含むことを特徴とする集積回路装置の設計方法。
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 a method of designing an integrated circuit device including a synchronous circuit in which a clock tree is constructed so that a clock skew between the second storage element and the second storage element is a predetermined value or less,
If the clock skew between the given first storage element and the second storage element is less than a given value, the clock skew is given based on the timing analysis result for the synchronization circuit. A design method for an integrated circuit device, comprising: a clock tree restructuring step of reconstructing a clock tree for the synchronous circuit by performing a process of changing the clock skew so as to be equal to or greater than a value.
請求項1において、
前記クロックツリー再構築ステップは、
前記同期回路に対するタイミング解析結果に基づき、前記クロックスキューを変化させることによりタイミングエラーが発生すると判断した場合は、前記クロックスキューを変化させる処理を行わないことを特徴とする集積回路装置の設計方法。
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.
請求項1又は2において、
前記クロックツリー再構築ステップは、
前記第1の記憶素子に接続されたクロックラインに1又は2以上の遅延素子を挿入することにより前記クロックスキューを変化させる処理を行うことを特徴とする集積回路装置の設計方法。
In claim 1 or 2,
The clock tree reconstruction step includes:
A method for designing an integrated circuit device, wherein processing for changing the clock skew is performed by inserting one or more delay elements into a clock line connected to the first memory element.
請求項1乃至3のいずれかにおいて、
前記クロックツリー再構築ステップは、
セットアップタイムエラーに対するマージンが小さい信号経路上にある前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューを優先的に変化させる処理を行うことを特徴とする集積回路装置の設計方法。
In any one of Claims 1 thru | or 3,
The clock tree reconstruction step includes:
A method for designing an integrated circuit device, wherein processing for preferentially changing a clock skew between the first memory element and the second memory element on a signal path with a small margin for a setup time error is performed. .
請求項1乃至4のいずれかにおいて、
前記クロックツリー再構築ステップと、
前記クロックツリー再構築ステップによりクロックツリーを再構築した後の同期回路に対して、レイアウト上で実配線を行うステップと、
前記クロックツリーを再構築した後の同期回路に対して、前記レイアウト上での実配線を考慮したタイミング解析を行うステップと、
前記レイアウト上での実配線を考慮したタイミング解析結果に基づき、セットアップタイムエラーが発生する信号経路上にある前記第1の記憶素子に接続されたクロックラインから1又は2以上の遅延素子を削除することによりセットアップタイムエラーを解消するようにクロックツリーを修正するステップとを含むことを特徴とする集積回路装置の設計方法。
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.
同一のクロックに基づいて動作する複数の記憶素子を有し、第1の記憶素子の出力から第2の記憶素子の入力に至る信号経路上に他の記憶素子を含まない前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューが所定の値以下となるようにクロックツリーが構築されている同期回路に対してクロックツリーを再構築するクロックツリー構築ツールであって、
所与の前記第1の記憶素子と前記第2の記憶素子の間におけるクロックスキューが所与の値よりも小さい場合には、前記同期回路に対するタイミング解析結果に基づき、前記クロックスキューが所与の値以上になるように前記クロックスキューを変化させてもタイミングエラーが発生しないと判断した場合には、前記第1の記憶素子に接続されたクロックラインに1又は2以上の遅延素子を挿入することにより、前記クロックスキューが所与の値以上になるように前記クロックスキューを変化させる処理を行い前記同期回路に対してクロックツリーを再構築するクロックツリー再構築ステップと、
前記クロックツリー再構築ステップによりクロックツリーを再構築した後の同期回路に対して、レイアウト上で実配線を行うステップと、
前記クロックツリーを再構築した後の同期回路に対して、前記レイアウト上での実配線を考慮したタイミング解析を行うステップと、
前記レイアウト上での実配線を考慮したタイミング解析結果に基づき、セットアップタイムエラーが発生する信号経路上にある前記第1の記憶素子に接続されたクロックラインから1又は2以上の遅延素子を削除することによりセットアップタイムエラーを解消するようにクロックツリーを修正するステップとを含むことを特徴とするクロックツリー構築ツール。
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 a clock tree construction tool for reconstructing the clock tree with respect to the synchronous circuit in which the clock tree is constructed so that the clock skew between the second storage element and the second storage element is a predetermined value or less,
If the clock skew between the given first storage element and the second storage element is less than a given value, the clock skew is given based on the timing analysis result for the synchronization circuit. If it is determined that a timing error does not occur even if the clock skew is changed to be equal to or greater than the value, one or more delay elements are inserted into the clock line connected to the first storage element. A clock tree restructuring step of performing a process of changing the clock skew so that the clock skew is equal to or greater than a given value and reconstructing a clock tree for the synchronous 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.
請求項1乃至5のいずれかに記載された集積回路装置の設計方法又は請求項6に記載されたクロックツリー構築ツールを用いて設計製造されたことを特徴とする集積回路装置。   An integrated circuit device designed and manufactured using the integrated circuit device design method according to claim 1 or the clock tree construction tool according to claim 6. 請求項7に記載の集積回路装置を含むことを特徴とするマイクロコンピュータ。   A microcomputer comprising the integrated circuit device according to claim 7. 請求項8に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。
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.
JP2006340147A 2006-12-18 2006-12-18 Method for designing integrated circuit device, clock configuration tool, integrated circuit device, microcomputer and electronic equipment Withdrawn JP2008152550A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006340147A JP2008152550A (en) 2006-12-18 2006-12-18 Method for designing integrated circuit device, clock configuration tool, integrated circuit device, microcomputer and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006340147A JP2008152550A (en) 2006-12-18 2006-12-18 Method for designing integrated circuit device, clock configuration tool, integrated circuit device, microcomputer and electronic equipment

Publications (1)

Publication Number Publication Date
JP2008152550A true JP2008152550A (en) 2008-07-03

Family

ID=39654652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006340147A Withdrawn JP2008152550A (en) 2006-12-18 2006-12-18 Method for designing integrated circuit device, clock configuration tool, integrated circuit device, microcomputer and electronic equipment

Country Status (1)

Country Link
JP (1) JP2008152550A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011076192A (en) * 2009-09-29 2011-04-14 Fujitsu Ltd Program, device and method for design support
JP2013171503A (en) * 2012-02-22 2013-09-02 Renesas Electronics Corp Lsi design method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011076192A (en) * 2009-09-29 2011-04-14 Fujitsu Ltd Program, device and method for design support
JP2013171503A (en) * 2012-02-22 2013-09-02 Renesas Electronics Corp Lsi design method

Similar Documents

Publication Publication Date Title
JP2004172373A (en) Crosstalk correction method
US10185794B2 (en) Overlaying of clock and data propagation in emulation
US11442103B2 (en) Multibit vectored sequential with scan
US6425115B1 (en) Area efficient delay circuits
KR20160017479A (en) Clock switch device and system-on-chip having the same
JPWO2010100871A1 (en) Delay library generation system
US20070129923A1 (en) Dynamic synchronizer simulation
US8191024B2 (en) Customizable H-tree synthesis tool
JP2007142094A (en) Flip-flop functional element, semiconductor integrated circuit and method and device for designing the same
JP2008152550A (en) Method for designing integrated circuit device, clock configuration tool, integrated circuit device, microcomputer and electronic equipment
US20050251776A1 (en) Integrated circuit design system
JP4999379B2 (en) Semiconductor integrated circuit design method and semiconductor integrated circuit design apparatus
US10432182B2 (en) Semiconductor integrated circuit
JP2009042905A (en) Noise analyzing method for integrated circuit device, noise analyzing system for integrated circuit device, integrated circuit device, electronic equipment, noise analysis program for integrated circuit device, and information storage medium
KR102057503B1 (en) Semiconductor circuit
JP2010061613A (en) Method of designing integrated circuit device, clock tree construction tool, integrated circuit device, microcomputer, and electronic equipment
JPH10133768A (en) Clock system and semiconductor device, and method for testing semiconductor device, and cad device
JP2003273222A (en) Circuit design method and program
JP2008250583A (en) Layout design device and layout method
JP2008250396A (en) Method for designing semiconductor integrated circuit device, semiconductor integrated circuit device, microcomputer, and electronic equipment
JP2011077426A (en) Method for manufacturing semiconductor device, and semiconductor device
JP4691791B2 (en) Data processing system
JP2013036960A (en) Delay scan test method, semiconductor device, and semiconductor device design method
JP2008123458A (en) Method for designing semiconductor integrated circuit
JP2008251599A (en) Method of manufacturing semiconductor integrated circuit device, hard macro, microcomputer, and electronic device

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080701

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100302