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 PDFInfo
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
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.
そのため、同期回路の設計においては、ツールを使用する等してクロックルートから各フリップフロップのクロック入力までにクロックバッファ等の遅延素子を挿入することによりすべてのクロックラインの遅延を揃え、クロックスキューが小さくなるようにクロックツリーを構築することが一般的に行われている。
しかし、クロックスキューが小さいと、すべてのフリップフロップのクロック入力がほぼ同時に変化する。そのため、各フリップフロップ内にあるクロック入力バッファのトランジスタがスイッチングするタイミングがほぼ同時になり、各トランジスタのスイッチング時に電源からグランドに同時に貫通電流が流れる。このような同時に流れる貫通電流のために瞬時的にピーク電流が増大するため、電源電位が瞬時的に電圧降下する。この電圧降下が、トランジスタの論理閾値を下回ると回路が誤動作する可能性がある。 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
サブブロック100は、3個のフリップフロップ110、120、130及び組み合わせ回路140、150を含んで構成されている。組み合わせ回路140の1つの入力はフリップフロップ110の出力に接続されており、他の1つの入力142はサブブロック100の外部から供給される。組み合わせ回路140の出力は、フリップフロップ120のデータ入力に接続されている。また、組み合わせ回路150の1つの入力はフリップフロップ120の出力に接続されており、他の1つの入力はサブブロック200に含まれるフリップフロップ220の出力に接続されている。組み合わせ回路150の出力は、フリップフロップ130のデータ入力に接続されている。
The
サブブロック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-
クロックツリー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
メインクロックバッファ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
サブブロック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-
ここで、組み合わせ回路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
この場合、セットアップタイムエラーが起こらないためには、すべてのフリップフロップ間における組み合わせ回路のパスの遅延は、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
図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
ここで、クロックバッファ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
一方、サブブロック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-
図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
図3(B)は、図2の同期回路20におけるタイミングを説明するための図である。
FIG. 3B is a diagram for explaining the timing in the
時刻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
図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
次に、このタイミング解析結果から、すべてのパスについて、クロックルートから当該パスの終点となるフリップフロップ(第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-
次に、クロックツリーを再構築した後の回路に対して実配線を行い(ステップ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
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
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
ここで、入力部820は、種々のデータを入力するためのものである。マイクロコンピュータ810は、この入力部820により入力されたデータに基づいて種々の処理を行うことになる。メモリ830は、マイクロコンピュータ810などの作業領域となるものである。電源生成部840は、電子機器800で使用される各種電源を生成するためのものである。LCD850は、電子機器が表示する各種の画像(文字、アイコン、グラフィック等)を出力するためのものである。
Here, the
音出力部860は、電子機器800が出力する各種の音(音声、ゲーム音等)を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
The
図7(A)に、電子機器の1つである携帯電話950の外観図の例を示す。この携帯電話950は、入力部として機能するダイヤルボタン952や、電話番号や名前やアイコンなどを表示するLCD954や、音出力部として機能し音声を出力するスピーカ956を備える。
FIG. 7A illustrates an example of an external view of a
図7(B)に、電子機器の1つである携帯型ゲーム装置960の外観図の例を示す。この携帯型ゲーム装置960は、入力部として機能する操作ボタン962、十字キー964や、ゲーム画像を表示するLCD966や、音出力部として機能しゲーム音を出力するスピーカ968を備える。
FIG. 7B illustrates an example of an external view of a
図7(C)に、電子機器の1つであるパーソナルコンピュータ970の外観図の例を示す。このパーソナルコンピュータ970は、入力部として機能するキーボード972や、文字、数字、グラフィックなどを表示するLCD974、音出力部976を備える。
FIG. 7C illustrates an example of an external view of a
本実施の形態のマイクロコンピュータを図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.
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の記憶素子の間におけるクロックスキューが所与の値よりも小さい場合には、前記同期回路に対するタイミング解析結果に基づき、前記クロックスキューが所与の値以上になるように前記クロックスキューを変化させる処理を行うことにより、前記同期回路に対してクロックツリーを再構築するクロックツリー再構築ステップを含むことを特徴とする集積回路装置の設計方法。 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.
前記クロックツリー再構築ステップは、
前記同期回路に対するタイミング解析結果に基づき、前記クロックスキューを変化させることによりタイミングエラーが発生すると判断した場合は、前記クロックスキューを変化させる処理を行わないことを特徴とする集積回路装置の設計方法。 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の記憶素子に接続されたクロックラインに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の記憶素子と前記第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の記憶素子に接続されたクロックラインから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の記憶素子に接続されたクロックラインに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.
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。 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 |
---|---|---|---|
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)
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 |
-
2006
- 2006-12-18 JP JP2006340147A patent/JP2008152550A/en not_active Withdrawn
Cited By (2)
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 |