JP2006270109A - Method of designing semiconductor integrated circuit - Google Patents

Method of designing semiconductor integrated circuit Download PDF

Info

Publication number
JP2006270109A
JP2006270109A JP2006107775A JP2006107775A JP2006270109A JP 2006270109 A JP2006270109 A JP 2006270109A JP 2006107775 A JP2006107775 A JP 2006107775A JP 2006107775 A JP2006107775 A JP 2006107775A JP 2006270109 A JP2006270109 A JP 2006270109A
Authority
JP
Japan
Prior art keywords
clock
circuit
semiconductor integrated
integrated circuit
cell
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.)
Pending
Application number
JP2006107775A
Other languages
Japanese (ja)
Inventor
Yoichi Matsumura
陽一 松村
Takako Ohashi
貴子 大橋
Katsuya Fujimura
克也 藤村
Chihiro Ito
千尋 伊藤
Hiroki Taniguchi
博樹 谷口
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006107775A priority Critical patent/JP2006270109A/en
Publication of JP2006270109A publication Critical patent/JP2006270109A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method of designing a semiconductor integrated circuit which hardly causes timing error in the flip-flop even when production variations occur. <P>SOLUTION: In the method of designing the semiconductor integrated circuit, first, the type of a logic cell which can exist on the clock path is specified (S301). Next, the type of a logically equivalent cell for clock is specified corresponding to the type of a cell for non-clock (S302). Next, all clock paths are extracted from the semiconductor integrated circuit which should be designed (S303). And a step judges whether each logic cell is a cell for clock or a cell for non-clock, about all logic cells that exist on the extracted clock paths (S304). Then, the logic cell which is judged to be a cell for non-clock in the step S304, is replaced with the cell for clock specified corresponding to the type of the logic cell in the step S302 (S306). <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、クロック信号に同期して動作する半導体集積回路、およびその設計方法に関する。   The present invention relates to a semiconductor integrated circuit that operates in synchronization with a clock signal and a design method thereof.

ロジック回路を含んだ半導体集積回路の多くは、外部から供給されたクロック信号、あるいは、外部から供給された信号に基づき内部で生成したクロック信号に同期して動作する。一般に半導体集積回路は、複数のフリップフロップと、与えられたクロック信号に基づき各フリップフロップに供給されるクロック信号を生成する回路(以下、クロック回路という)とを備えている。半導体集積回路を正しく動作させるためには、各フリップフロップにクロック信号を正しく供給することが必要である。また、半導体集積回路の消費電力を低減するためには、動作させない回路ブロックに対するクロック信号の供給を停止することが有効である。このため、クロック回路の構成やクロック信号の供給方法は、半導体集積回路の設計上の重要な課題であると認識されている。   Many semiconductor integrated circuits including a logic circuit operate in synchronization with an externally supplied clock signal or an internally generated clock signal based on an externally supplied signal. In general, a semiconductor integrated circuit includes a plurality of flip-flops and a circuit that generates a clock signal supplied to each flip-flop based on a given clock signal (hereinafter referred to as a clock circuit). In order for the semiconductor integrated circuit to operate correctly, it is necessary to correctly supply a clock signal to each flip-flop. In order to reduce the power consumption of the semiconductor integrated circuit, it is effective to stop the supply of the clock signal to the circuit block that is not operated. For this reason, the configuration of the clock circuit and the method for supplying the clock signal are recognized as important issues in the design of the semiconductor integrated circuit.

クロック回路を解析するときには、クロック回路のうちで、クロック信号が流れる経路(以下、クロック経路という)とクロック経路上に存在する論理セルとに着目し、その部分をクロックツリーとして解析することが、広く行われている。このクロックツリー解析では、与えられたクロック信号が各フリップフロップに到達するまでの時間などが算出される。その後、クロックツリーの解析結果に基づき、クロックスキュー(与えられたクロック信号が各フリップフロップに到達するまでの時間の差)が所定の許容値よりも小さくなるように、クロック回路にバッファなどを追加あるいは削除する処理や、レイアウト結果を修正する処理などが行われる。   When analyzing a clock circuit, paying attention to a path through which a clock signal flows (hereinafter referred to as a clock path) and a logic cell existing on the clock path in the clock circuit, and analyzing that part as a clock tree, Widely done. In this clock tree analysis, the time until a given clock signal reaches each flip-flop is calculated. After that, based on the analysis result of the clock tree, a buffer is added to the clock circuit so that the clock skew (the difference in time until the given clock signal reaches each flip-flop) becomes smaller than the predetermined allowable value. Alternatively, a process of deleting, a process of correcting the layout result, and the like are performed.

半導体集積回路におけるクロック信号の供給については、従来から、種々の技術が知られている。このうち、本発明と関連性を有する技術としては、例えば、特許文献1〜3に記載されたものがある。特許文献1には、1ビットのコンパレータを1個おきに天地逆向きにレイアウトした全並列型A/D変換器が記載されている。特許文献2には、閾値電圧を変更できるインバータが記載されている。特許文献3には、多層配線層の最下層を用いてクロック信号を配線することが記載されている。
特開昭62−190747号公報 特開平4−284020号公報 特開2000−68380号公報 特開2002−110802号公報 特開平9−74138号公報 特開平2−110672号公報 特開昭62−190747号公報
Various techniques are conventionally known for supplying a clock signal in a semiconductor integrated circuit. Among these, as a technique having relevance to the present invention, for example, there are those described in Patent Documents 1 to 3. Patent Document 1 describes an all-parallel A / D converter in which every other 1-bit comparator is laid out in the reverse direction. Patent Document 2 describes an inverter that can change a threshold voltage. Patent Document 3 describes that a clock signal is wired using the lowermost layer of a multilayer wiring layer.
Japanese Patent Laid-Open No. 62-190747 JP-A-4-284020 JP 2000-68380 A JP 2002-110802 A JP-A-9-74138 JP-A-2-110672 Japanese Patent Laid-Open No. 62-190747

しかしながら、回路の微細化および低電圧化の進行に伴い、半導体集積回路におけるクロック信号の供給については、従来よりも高いレベルの技術が要求されるようになっている。例えば、微細化の進行に伴い、クロック回路に含まれる論理セルを構成するトランジスタのサイズは小さくなっていので、クロック回路の遅延時間は、従来よりも製造ばらつきの影響を受けやすくなっている。また、微細化の進行に伴い、クロック回路の規模が大きくなっているので、クロックツリー解析やクロック回路の設計変更に、従来よりも時間がかかるようになっている。また、微細化および低電圧化の進行に伴い、クロック回路の回路規模は大きくなるのに対して、クロック回路に含まれる論理セル1段あたりの遅延時間は減少するので、クロック回路の設計では、従来よりも適切な設計マージンを設定することが必要になっている。また、最近では、経年劣化に伴う遅延時間変動を見込んだ回路設計も行われているが、クロック信号は最も頻繁に変化する信号の1つであるから、クロック信号の経年劣化に伴う遅延時間変動を正しく評価した上で、半導体集積回路を設計することが必要になっている。   However, with the progress of circuit miniaturization and voltage reduction, a higher level of technology is required for supplying clock signals in semiconductor integrated circuits. For example, as the miniaturization progresses, the size of the transistors constituting the logic cell included in the clock circuit is reduced, so that the delay time of the clock circuit is more susceptible to manufacturing variations than in the past. In addition, as the miniaturization progresses, the scale of the clock circuit is increased, so that it takes more time for clock tree analysis and clock circuit design change than before. As the circuit scale of the clock circuit increases with the progress of miniaturization and voltage reduction, the delay time per logic cell stage included in the clock circuit decreases. It is necessary to set an appropriate design margin than before. In addition, recently, a circuit design that takes into account the delay time variation due to aging degradation is also performed, but since the clock signal is one of the most frequently changing signals, the delay time variation due to the aging degradation of the clock signal. It is necessary to design a semiconductor integrated circuit after correctly evaluating the above.

それ故に、本発明は、クロック信号の供給について従来よりも優れた特徴を有する半導体集積回路、およびそのような半導体集積回路の設計方法を提供することを目的とする。   SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a semiconductor integrated circuit having characteristics superior to those of the prior art in supplying a clock signal, and a method for designing such a semiconductor integrated circuit.

本発明は、クロック経路上に存在できる論理セルの種類を指定し、クロック経路上に存在する論理セルが指定された種類の論理セルであるか否かを判定する半導体集積回路の設計方法である。特に、クロック経路上に存在できない論理セルの種類に対応して、クロック経路上に存在できる論理セルの種類を指定し、上記判定結果に基づき、クロック経路上に存在する、クロック経路上に存在できない種類の論理セルを、対応した種類の論理セルに置換してもよい。   The present invention is a method for designing a semiconductor integrated circuit that designates the types of logic cells that can exist on a clock path and determines whether or not the logic cells that exist on the clock path are the designated type of logic cells. . In particular, the type of logic cell that can exist on the clock path is specified in correspondence with the type of logic cell that cannot exist on the clock path, and it exists on the clock path that cannot exist on the clock path based on the above determination result. A type of logic cell may be replaced with a corresponding type of logic cell.

本発明によれば、クロック経路上に存在する論理セルが、一定の特性を有する論理セル(例えば、プロセス変動に強い論理セル)であることを容易に検証することができる。また、クロック経路上に存在できない論理セルの種類に対応して、クロック経路上に存在できる論理セルの種類を指定し、クロック経路上に存在する論理セルの置換を行うことにより、一定の特性を有する論理セルだけがクロック経路上に存在するように、クロック回路を変更することができる。   According to the present invention, it is possible to easily verify that a logic cell existing on a clock path is a logic cell having a certain characteristic (for example, a logic cell resistant to process fluctuation). In addition, by specifying the types of logic cells that can exist on the clock path corresponding to the types of logic cells that cannot exist on the clock path, and replacing the logic cells that exist on the clock path, certain characteristics can be obtained. The clock circuit can be changed so that only logic cells that have it are on the clock path.

以下、図面を参照して、本発明の第1〜第7の実施形態を説明する。各実施形態では、発明の理解を容易にするために、半導体集積回路に含まれる回路のうち、発明の理解に必要とされる主要な回路を抽出して説明する。   Hereinafter, first to seventh embodiments of the present invention will be described with reference to the drawings. In each of the embodiments, in order to facilitate understanding of the invention, a description will be made by extracting and explaining main circuits necessary for understanding of the invention among circuits included in the semiconductor integrated circuit.

(第1の実施形態)
本発明の第1の実施形態では、クロック回路に含まれる論理セルを、統一したサイズのトランジスタによって構成した半導体集積回路について説明する。図1は、本実施形態に係る半導体集積回路の構成を示す図である。図1に示す半導体集積回路は、第1のクロック回路11、第2のクロック回路12、第1のフリップフロップ13、組合せ回路14、および第2のフリップフロップ15を備えている。第1および第2のフリップフロップ13、15は、いずれも、与えられたクロック信号CKに同期して動作する。より詳細には、第1のクロック回路11は、クロック信号CKに基づき第1のクロック信号CK1を生成し、第1のフリップフロップ13は、第1のクロック信号CK1に同期して動作する。第2のクロック回路12および第2のフリップフロップ15は、これと同様に動作する。組合せ回路14は、第1のフリップフロップ13や図示しない他のフリップフロップに記憶された値に基づき、第2のフリップフロップ15に供給されるデータ入力信号を生成する。
(First embodiment)
In the first embodiment of the present invention, a semiconductor integrated circuit in which logic cells included in a clock circuit are configured by transistors having a uniform size will be described. FIG. 1 is a diagram showing a configuration of a semiconductor integrated circuit according to the present embodiment. The semiconductor integrated circuit shown in FIG. 1 includes a first clock circuit 11, a second clock circuit 12, a first flip-flop 13, a combinational circuit 14, and a second flip-flop 15. Both the first and second flip-flops 13 and 15 operate in synchronization with the applied clock signal CK. More specifically, the first clock circuit 11 generates the first clock signal CK1 based on the clock signal CK, and the first flip-flop 13 operates in synchronization with the first clock signal CK1. The second clock circuit 12 and the second flip-flop 15 operate in the same manner. The combinational circuit 14 generates a data input signal supplied to the second flip-flop 15 based on values stored in the first flip-flop 13 and other flip-flops (not shown).

半導体集積回路に含まれる回路はいずれも1以上の論理セルを含み、各論理セルは1以上のトランジスタによって構成されている。図2は、トランジスタのレイアウト図である。レイアウトレベルで見ると、トランジスタは、図2に示すように拡散領域21とポリシリコン領域22とが重なる箇所に形成される。トランジスタの特性は、拡散領域21とポリシリコン領域22との重なり領域のサイズ(チャネル幅Wおよびチャネル長L)などによって決定される。   Each circuit included in the semiconductor integrated circuit includes one or more logic cells, and each logic cell includes one or more transistors. FIG. 2 is a layout diagram of a transistor. When viewed at the layout level, the transistor is formed at a location where the diffusion region 21 and the polysilicon region 22 overlap as shown in FIG. The characteristics of the transistor are determined by the size of the overlapping region between the diffusion region 21 and the polysilicon region 22 (channel width W and channel length L).

図1に示すように、第1のクロック回路11には論理セル16が含まれており、第2のクロック回路12には論理セル17が含まれている。本実施形態に係る半導体集積回路は、第1のクロック回路11に含まれる論理セル16と第2のクロック回路12に含まれる論理セル17とが、統一されたサイズのトランジスタによって構成されていることを特徴とする。論理セル16と論理セル17とは、典型的には、チャネル幅Wが統一されたトランジスタによって構成されるが、チャネル幅Wおよびチャネル長Lが統一されたトランジスタによって構成されることとしてもよい。   As shown in FIG. 1, the first clock circuit 11 includes a logic cell 16, and the second clock circuit 12 includes a logic cell 17. In the semiconductor integrated circuit according to the present embodiment, the logic cell 16 included in the first clock circuit 11 and the logic cell 17 included in the second clock circuit 12 are configured by transistors having a uniform size. It is characterized by. The logic cell 16 and the logic cell 17 are typically configured by transistors having a uniform channel width W, but may be configured by transistors having a uniform channel width W and channel length L.

以下、本実施形態に係る半導体集積回路において、第1のクロック回路11に含まれる論理セル16と第2のクロック回路12に含まれる論理セル17とが、チャネル幅Wが統一されたトランジスタによって構成されていることによる効果を説明する。図1において、クロック信号CKの周期をT、第1のクロック回路11の遅延時間をt1、第2のクロック回路12の遅延時間をt2、組合せ回路14の遅延時間と第1のフリップフロップ13のクロック信号からデータ出力信号までの遅延時間との和をtd、第2のフリップフロップ15のセットアップ時間およびホールド時間を、それぞれtsおよびthとする。この場合、第2のフリップフロップ15が第2のクロック信号CK2に同期して正しく動作するためには、次式(1)に示すセットアップマージンMs、および次式(2)に示すホールドマージンMhが、いずれも所定値以上の正の値であることが必要とされる(図3を参照)。
Ms=(t2−t1)+T−td−ts …(1)
Mh=(t1−t2)+td−th …(2)
Hereinafter, in the semiconductor integrated circuit according to the present embodiment, the logic cell 16 included in the first clock circuit 11 and the logic cell 17 included in the second clock circuit 12 are configured by transistors having a uniform channel width W. The effect by being done is explained. In FIG. 1, the period of the clock signal CK is T, the delay time of the first clock circuit 11 is t1, the delay time of the second clock circuit 12 is t2, the delay time of the combinational circuit 14 and the first flip-flop 13 The sum of the delay time from the clock signal to the data output signal is td, and the setup time and hold time of the second flip-flop 15 are ts and th, respectively. In this case, in order for the second flip-flop 15 to operate correctly in synchronization with the second clock signal CK2, the setup margin Ms shown in the following equation (1) and the hold margin Mh shown in the following equation (2) are , Both are required to be positive values greater than or equal to a predetermined value (see FIG. 3).
Ms = (t2-t1) + T-td-ts (1)
Mh = (t1-t2) + td-th (2)

図4は、半導体集積回路に含まれるトランジスタについて、チャネル幅Wの変動量と遅延時間の変動量との関係を示す図である。図4(a)は、従来の半導体集積回路に含まれるトランジスタについての関係を示す図であり、図4(b)は、本実施形態に係る半導体集積回路に含まれるトランジスタについての関係を示す図である。   FIG. 4 is a diagram showing the relationship between the fluctuation amount of the channel width W and the fluctuation amount of the delay time for the transistors included in the semiconductor integrated circuit. FIG. 4A is a diagram showing a relationship regarding transistors included in a conventional semiconductor integrated circuit, and FIG. 4B is a diagram showing a relationship regarding transistors included in the semiconductor integrated circuit according to the present embodiment. It is.

ここで、まず、従来の手法を用いて、図1と同じ構成を有する半導体集積回路を設計および製造したとする。従来の手法による半導体集積回路では、クロック回路に含まれる論理セルは、チャネル幅Wが統一されていないトランジスタによって構成されている。第1のクロック回路11に含まれる論理セル16を構成するトランジスタのチャネル幅の設計値をW1、第2のクロック回路12に含まれる論理セル17を構成するトランジスタのチャネル幅の設計値をW2としたとき、W1がW2よりも大きく、かつ、製造された半導体集積回路では、製造ばらつきにより、各トランジスタのチャネル幅が設計値よりもΔWだけ変動したとする。この場合、製造されたトランジスタのチャネル幅は、第1のクロック回路11に含まれる論理セル16では(W1+ΔW)、第2のクロック回路12に含まれる論理セル17では(W2+ΔW)となるが、W1がW2より大きい場合、製造ばらつきに起因するチャネル幅の変動割合は、論理セル17に含まれるトランジスタのほうが、論理セル16に含まれるトランジスタよりも大きくなる。   Here, first, it is assumed that a semiconductor integrated circuit having the same configuration as that of FIG. 1 is designed and manufactured using a conventional method. In a semiconductor integrated circuit according to a conventional technique, a logic cell included in a clock circuit is composed of transistors whose channel widths W are not unified. The design value of the channel width of the transistors constituting the logic cell 16 included in the first clock circuit 11 is W1, and the design value of the channel width of the transistors constituting the logic cell 17 included in the second clock circuit 12 is W2. In this case, it is assumed that W1 is larger than W2 and that in the manufactured semiconductor integrated circuit, the channel width of each transistor varies by ΔW from the design value due to manufacturing variations. In this case, the channel width of the manufactured transistor is (W1 + ΔW) in the logic cell 16 included in the first clock circuit 11, and (W2 + ΔW) in the logic cell 17 included in the second clock circuit 12, but W1. Is greater than W2, the variation rate of the channel width due to manufacturing variation is larger in the transistor included in the logic cell 17 than in the transistor included in the logic cell 16.

このため、従来の手法による半導体集積回路では、製造ばらつきが発生したときに、第2のクロック回路12の遅延時間t2は、第1のクロック回路11の遅延時間t1よりも大きく変動する(図4(a)を参照)。したがって、チャネル幅の実測値が設計値よりも大きくなった場合(すなわち、ΔWが正である場合)には、第2のクロック回路12の遅延時間t2は、第1のクロック回路11の遅延時間t1よりも、より多く減少する。このため、上式(1)における(t2−t1)の値が小さくなり、第2のフリップフロップ15におけるセットアップマージンが不足する。一方、現実のチャネル幅が設計値よりも小さくなった場合(すなわち、ΔWが負である場合)には、第2のクロック回路12の遅延時間t2は、第1のクロック回路11の遅延時間t1よりも、より多く増加する。このため、上式(2)における(t1−t2)の値が小さくなり、第2のフリップフロップ15におけるホールドマージンが不足する。このように、クロック回路に含まれる論理セルがチャネル幅が統一されていないトランジスタによって構成されている場合、半導体集積回路の製造ばらつきにより、第2のフリップフロップ15ではタイミングエラーが発生しやすくなる。   For this reason, in the semiconductor integrated circuit according to the conventional method, when manufacturing variation occurs, the delay time t2 of the second clock circuit 12 varies more greatly than the delay time t1 of the first clock circuit 11 (FIG. 4). (See (a)). Therefore, when the measured value of the channel width becomes larger than the design value (that is, when ΔW is positive), the delay time t2 of the second clock circuit 12 is the delay time of the first clock circuit 11. It decreases more than t1. For this reason, the value of (t2-t1) in the above equation (1) becomes small, and the setup margin in the second flip-flop 15 becomes insufficient. On the other hand, when the actual channel width is smaller than the design value (that is, when ΔW is negative), the delay time t2 of the second clock circuit 12 is the delay time t1 of the first clock circuit 11. Increase more than. For this reason, the value of (t1-t2) in the above equation (2) becomes small, and the hold margin in the second flip-flop 15 becomes insufficient. As described above, when the logic cell included in the clock circuit includes transistors whose channel widths are not uniform, a timing error is likely to occur in the second flip-flop 15 due to manufacturing variations of the semiconductor integrated circuit.

これに対して、本実施形態に係る半導体集積回路では、クロック回路に含まれる論理セルは、チャネル幅Wが統一されたトランジスタによって構成されている。すなわち、第1のクロック回路11に含まれる論理セル16を構成するトランジスタのチャネル幅の設計値W1と、第2のクロック回路12に含まれる論理セル17を構成するトランジスタのチャネル幅の設計値W2とは、常に同じ値をとる。このため、製造ばらつきが発生したときでも、第1のクロック回路11の遅延時間t1と第2のクロック回路12の遅延時間t2とは、同じ時間だけ増加または減少する(図4(b)を参照)。したがって、製造ばらつきが発生しても、上式(1)における(t2−t1)の値や上式(2)における(t1−t2)の値は設計値から変化しないので、第2のフリップフロップ15ではタイミングエラーが発生しにくい。   On the other hand, in the semiconductor integrated circuit according to the present embodiment, the logic cell included in the clock circuit is composed of transistors with a uniform channel width W. That is, the design value W1 of the channel width of the transistors constituting the logic cell 16 included in the first clock circuit 11 and the design value W2 of the channel width of the transistors constituting the logic cell 17 included in the second clock circuit 12 Always takes the same value. For this reason, even when manufacturing variation occurs, the delay time t1 of the first clock circuit 11 and the delay time t2 of the second clock circuit 12 increase or decrease by the same time (see FIG. 4B). ). Therefore, even if manufacturing variation occurs, the value of (t2-t1) in the above equation (1) and the value of (t1-t2) in the above equation (2) do not change from the design values. 15, the timing error is unlikely to occur.

よって、本実施形態に係る半導体集積回路によれば、製造ばらつきが発生してもタイミングエラーが発生しにくい半導体集積回路を得ることができる。クロック回路に含まれる論理セルがチャネル幅Wおよびチャネル長Lが統一されたトランジスタによって構成されている半導体集積回路も、これと同様の効果を奏する。   Therefore, according to the semiconductor integrated circuit according to the present embodiment, it is possible to obtain a semiconductor integrated circuit in which a timing error is unlikely to occur even when manufacturing variations occur. A semiconductor integrated circuit in which the logic cells included in the clock circuit are constituted by transistors having the same channel width W and channel length L also has the same effect.

本実施形態に係る半導体集積回路については、以下に示す変形例を構成することができる。本変形例に係る半導体集積回路は、クロック回路に含まれる論理セルが、統一されたサイズを有するトランジスタによって構成されていることに加えて、クロック回路に含まれる論理セルが、矩形状に統一された拡散領域23を有するトランジスタ(図5(a))によって構成されていることを特徴とする。   For the semiconductor integrated circuit according to the present embodiment, the following modifications can be configured. In the semiconductor integrated circuit according to this modification, in addition to the logic cells included in the clock circuit being configured by transistors having a uniform size, the logic cells included in the clock circuit are unified into a rectangular shape. It is characterized by comprising a transistor having a diffusion region 23 (FIG. 5A).

以下、図5を参照して、本変形例に係る半導体集積回路の効果を説明する。図5(b)は、矩形状でない拡散領域24を有するトランジスタのレイアウト図である。図5(b)に示すトランジスタを含む半導体集積回路を製造すると、図5(c)に示すように、拡散領域24のくぼんだ頂点P(周囲360度のうち、270度が拡散領域に含まれる頂点)の周囲の、本来拡散領域が形成されるべきでない部分に、不要な拡散領域25(ハッチングを施した領域)が形成される。この不要な拡散領域25は、そのサイズや形状によって、トランジスタのチャネル幅Wに影響を与え、トランジスタを含んだ回路の遅延時間に影響を与えることがある。   Hereinafter, the effect of the semiconductor integrated circuit according to the present modification will be described with reference to FIG. FIG. 5B is a layout diagram of a transistor having a non-rectangular diffusion region 24. When a semiconductor integrated circuit including the transistor shown in FIG. 5B is manufactured, as shown in FIG. 5C, 270 degrees out of 360 degrees around the recessed vertex P of the diffusion area 24 is included in the diffusion area. An unnecessary diffusion region 25 (hatched region) is formed in a portion around the vertex) where a diffusion region should not be originally formed. Depending on the size and shape of the unnecessary diffusion region 25, the channel width W of the transistor may be affected, and the delay time of the circuit including the transistor may be affected.

このため、例えば、第1のクロック回路11に含まれる論理セル16が、矩形状の拡散領域23を有するトランジスタ(図5(a))によって構成され、第2のクロック回路12に含まれる論理セル17が、くぼんだ頂点Pを持つ拡散領域24を有するトランジスタ(図5(b))によって構成されている場合、製造時に形成される不要な拡散領域25(図5(c))の影響によって、第1のクロック回路11の遅延時間t1と第2のクロック回路12の遅延時間t2との差が、設計値と異なってしまうことがある。これに伴い、第1のクロック回路11の遅延時間t1と第2のクロック回路12の遅延時間t2との間に成立すべき時間的な関係が満たされなくなり、第2のフリップフロップ15などでタイミングエラーが発生しやすくなる。   Therefore, for example, the logic cell 16 included in the first clock circuit 11 is configured by a transistor (FIG. 5A) having a rectangular diffusion region 23, and the logic cell included in the second clock circuit 12. 17 is constituted by a transistor (FIG. 5B) having a diffusion region 24 having a concave apex P, due to the influence of an unnecessary diffusion region 25 (FIG. 5C) formed during manufacturing, The difference between the delay time t1 of the first clock circuit 11 and the delay time t2 of the second clock circuit 12 may be different from the design value. As a result, the temporal relationship to be established between the delay time t1 of the first clock circuit 11 and the delay time t2 of the second clock circuit 12 is not satisfied, and the second flip-flop 15 or the like performs timing. Error is likely to occur.

これに対して、本変形例に係る半導体集積回路では、クロック回路に含まれる論理セルは、矩形状に統一された拡散領域23を有するトランジスタ(図5(a))によって構成されている。このような特徴を有する拡散領域には、図5(c)に示すような、くぼんだ頂点Pが存在しないので、くぼんだ頂点Pの周囲に不要な拡散領域25が形成されることもない。このため、第1のクロック回路11の遅延時間t1と第2のクロック回路12の遅延時間t2とは、製造ばらつきが発生した場合でも、同じ時間だけ増加または減少する。したがって、本変形例に係る半導体集積回路によれば、第1の実施形態に係る半導体集積回路よりも、さらにタイミングエラーが発生しにくい半導体集積回路を得ることができる。   On the other hand, in the semiconductor integrated circuit according to this modification, the logic cell included in the clock circuit is configured by a transistor (FIG. 5A) having the diffusion region 23 unified in a rectangular shape. In the diffusion region having such a feature, the recessed vertex P as shown in FIG. 5C does not exist. Therefore, the unnecessary diffusion region 25 is not formed around the recessed vertex P. For this reason, the delay time t1 of the first clock circuit 11 and the delay time t2 of the second clock circuit 12 increase or decrease by the same time even when manufacturing variations occur. Therefore, according to the semiconductor integrated circuit according to the present modification, it is possible to obtain a semiconductor integrated circuit in which a timing error is less likely to occur than in the semiconductor integrated circuit according to the first embodiment.

(第2の実施形態)
本発明の第2の実施形態では、ある動作条件下で動作する回路ブロックを用いて、これとは異なる動作条件下で動作する半導体集積回路を設計する方法について説明する。まず、ある閾値電圧で動作する回路ブロックを用いて、これとは異なる閾値電圧で動作する半導体集積回路(図6)を設計する方法について説明する。図6に示す半導体集積回路30は、前半クロック回路31、回路ブロック32、第2の後半クロック回路35、および第2のフリップフロップ36を備え、ある閾値電圧(以下、第2の閾値電圧VT2という)で動作する。回路ブロック32は、第1の後半クロック回路33、および第1のフリップフロップ34を含み、元々、第2の閾値電圧VT2とは異なる閾値電圧(以下、第1の閾値電圧VT1という)で動作するように設計されていたものである。
(Second Embodiment)
In the second embodiment of the present invention, a method of designing a semiconductor integrated circuit that operates under a different operating condition using a circuit block that operates under a certain operating condition will be described. First, a method of designing a semiconductor integrated circuit (FIG. 6) that operates at a different threshold voltage using a circuit block that operates at a certain threshold voltage will be described. The semiconductor integrated circuit 30 shown in FIG. 6 includes a first half clock circuit 31, a circuit block 32, a second second half clock circuit 35, and a second flip-flop 36, and a certain threshold voltage (hereinafter referred to as a second threshold voltage VT2). ). The circuit block 32 includes a first second half clock circuit 33 and a first flip-flop 34, and originally operates at a threshold voltage different from the second threshold voltage VT2 (hereinafter referred to as the first threshold voltage VT1). It was designed as follows.

図6において、第1および第2のフリップフロップ34、36は、いずれも、与えられたクロック信号CKに同期して動作する。より詳細には、前半クロック回路31および第1の後半クロック回路33は、クロック信号CKに基づき第1のクロック信号CK1を生成し、第1のフリップフロップ34は、第1のクロック信号CK1に同期して動作する。第2の後半クロック回路35および第2のフリップフロップ36も、これと同様に動作する。   In FIG. 6, each of the first and second flip-flops 34 and 36 operates in synchronization with a given clock signal CK. More specifically, the first half clock circuit 31 and the first second half clock circuit 33 generate a first clock signal CK1 based on the clock signal CK, and the first flip-flop 34 is synchronized with the first clock signal CK1. Works. The second second half clock circuit 35 and the second flip-flop 36 operate in the same manner.

図7は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図7に示す手順を実行するに前に、クロック回路で使用する論理セルとして、第1の閾値電圧V1で動作する論理セル(以下、第1のクロック用セルという)と、第2の閾値電圧V2で動作する論理セル(以下、第2のクロック用セルという)とを準備する。その際、第1のクロック用セルと第2のクロック用セルとの間では、同じ種類の論理セルについては、入力容量とセル固有遅延と駆動能力が等しくなるようにしておく。言い換えると、第1のクロック用セルの入力容量は、第2のクロック用セルの入力容量に等しく、第1のクロック用セルのセル固有遅延は、第2のクロック用セルのセル固有遅延に等しく、第1のクロック用セルの駆動能力は、第2のクロック用セルの駆動能力に等しくなるようにしておく。なお、第1のクロック用セルと第2のクロック用セルとの間では、同じ種類の論理セルであっても、セルのサイズは異なっていてもよい。   FIG. 7 is a flowchart showing a method for designing a semiconductor integrated circuit according to the present embodiment. Before executing the procedure shown in FIG. 7, as a logic cell used in the clock circuit, a logic cell (hereinafter referred to as a first clock cell) operating at a first threshold voltage V1, and a second threshold voltage. A logic cell (hereinafter referred to as a second clock cell) operating at V2 is prepared. At this time, between the first clock cell and the second clock cell, the same type of logic cell is set such that the input capacitance, the cell specific delay, and the driving capability are equal. In other words, the input capacity of the first clock cell is equal to the input capacity of the second clock cell, and the cell specific delay of the first clock cell is equal to the cell specific delay of the second clock cell. The driving capability of the first clock cell is set equal to the driving capability of the second clock cell. Note that the first clock cell and the second clock cell may be the same type of logic cell or may have different cell sizes.

上記特徴を有する第1および第2のクロック用セルを準備した後に、図7に示す手順を実行する。まず、第1の閾値電圧VT1で動作する回路ブロック32を設計する(ステップS101)。この際、回路ブロック32に含まれるクロック回路(後に、第1の後半クロック回路33となる回路)は、第1のクロック用セルを用いて設計する。回路ブロック32は、例えば、他の半導体集積回路に内蔵して使用するために、IP(Intellectual Property)コアとして設計された回路であってもよい。   After the first and second clock cells having the above characteristics are prepared, the procedure shown in FIG. 7 is executed. First, the circuit block 32 that operates at the first threshold voltage VT1 is designed (step S101). At this time, the clock circuit included in the circuit block 32 (which later becomes the first second-half clock circuit 33) is designed using the first clock cell. The circuit block 32 may be, for example, a circuit designed as an IP (Intellectual Property) core for use in another semiconductor integrated circuit.

次に、ステップS101で設計した回路ブロック32について、クロック回路に含まれる第1のクロック用セルを、同じ種類の第2のクロック用セルに置換する(ステップS102)。論理セル置換後のクロック回路は、第1の後半クロック回路33となる。これにより、第1の後半クロック回路33を含んだ回路ブロック32が得られる。次に、ステップS102で得られた回路ブロック32を含み、全体として第2の閾値電圧VT2で動作する半導体集積回路30を設計する(ステップS103)。   Next, for the circuit block 32 designed in step S101, the first clock cell included in the clock circuit is replaced with a second clock cell of the same type (step S102). The clock circuit after the logic cell replacement becomes the first second half clock circuit 33. As a result, the circuit block 32 including the first second half clock circuit 33 is obtained. Next, the semiconductor integrated circuit 30 including the circuit block 32 obtained in step S102 and operating as a whole with the second threshold voltage VT2 is designed (step S103).

以下、本実施形態に係る設計方法を用いて、半導体集積回路30を設計する場合の効果を説明する。ここで仮に、本実施形態に係る設計方法とは異なり、第1の閾値電圧VT1で動作する回路ブロック32を設計するときに、回路ブロック32に含まれるクロック回路を、上記特徴を有していない論理セルを用いて設計したとする。このようにして設計されたクロック回路を第1の後半クロック回路33として含む半導体集積回路30を設計すると、設計された半導体集積回路30では、元々第1の閾値電圧VT1で動作するように設計された第1のフリップフロップ34と、新たに第2の閾値電圧VT2で動作するように設計された第2のフリップフロップ36との間で、閾値電圧の違いに起因したクロックスキューが発生しやすくなる。したがって、このクロックスキューを抑えるためには、回路ブロック32を組み込んだ後の半導体集積回路30について、閾値電圧を一致させるために回路変更を行うときに、第1の後半クロック回路33の遅延時間t1が閾値電圧の変更(第1の閾値電圧VT1から第2の閾値電圧VT2への変更)によって変化しないようにするため、改めてクロック信号のスキュー調整を行う必要が生じる。   Hereinafter, an effect when the semiconductor integrated circuit 30 is designed using the design method according to the present embodiment will be described. Here, unlike the design method according to the present embodiment, when designing the circuit block 32 that operates at the first threshold voltage VT1, the clock circuit included in the circuit block 32 does not have the above characteristics. Assume that the design is made using logic cells. When the semiconductor integrated circuit 30 including the clock circuit designed in this way as the first second half clock circuit 33 is designed, the designed semiconductor integrated circuit 30 is originally designed to operate at the first threshold voltage VT1. Clock skew due to the difference in threshold voltage is likely to occur between the first flip-flop 34 and the second flip-flop 36 newly designed to operate at the second threshold voltage VT2. . Therefore, in order to suppress this clock skew, the delay time t1 of the first second-half clock circuit 33 is changed when the circuit is changed to make the threshold voltage coincide with the semiconductor integrated circuit 30 after the circuit block 32 is incorporated. Is not changed by changing the threshold voltage (change from the first threshold voltage VT1 to the second threshold voltage VT2), it becomes necessary to adjust the skew of the clock signal again.

これに対して、本実施形態に係る設計方法では、上述したように、第1の後半クロック回路33に含まれる第1のクロック用セルと、第2の後半クロック回路35に含まれる第2のクロック用セルとは、種類が同じであれば、同じ入力容量、同じセル固有遅延、および同じ駆動能力を有する。このため、第1の後半クロック回路33の遅延時間t1は、閾値電圧の変更前と変更後で変化しない。したがって、第1のフリップフロップ34と第2のフリップフロップ36との間には、設計値以上のクロックスキューが発生することがない。よって、本実施形態に係る半導体集積回路の設計方法によれば、回路ブロックを組み込んだ半導体集積回路について改めてクロック信号のスキュー調整を行うことなく、クロック信号の閾値電圧を一致させることができる。   In contrast, in the design method according to the present embodiment, as described above, the first clock cell included in the first second half clock circuit 33 and the second clock included in the second second half clock circuit 35 are used. As long as the types of clock cells are the same, they have the same input capacity, the same cell specific delay, and the same drive capability. For this reason, the delay time t1 of the first second half clock circuit 33 does not change before and after the threshold voltage is changed. Therefore, a clock skew greater than the design value does not occur between the first flip-flop 34 and the second flip-flop 36. Therefore, according to the design method of the semiconductor integrated circuit according to the present embodiment, the threshold voltages of the clock signals can be made to coincide with each other without adjusting the skew of the clock signals again for the semiconductor integrated circuit incorporating the circuit block.

なお、本実施形態ではここまで、ある閾値電圧で動作する回路ブロックを用いて、これとは異なる閾値電圧で動作する半導体集積回路を設計する方法を説明したが、回路ブロックとこれを含む半導体集積回路との間で、電源電圧など、他の動作条件が異なる場合にも、上述した方法と同様の設計方法を適用することができる。例えば、第1の電源電圧V1で動作する回路ブロックを用いて、第2の電源電圧V2で動作する半導体集積回路を設計するためには、第1の電源電圧V1で動作する第1のクロック用セルと、第2の電源電圧V2で動作する第2のクロック用セルとについて、入力容量とセル固有遅延と駆動能力とを一致させた上で、図7と同様の手順を実行すればよい。この設計方法によれば、回路ブロックの電源電圧とこれを含む半導体集積回路の電源電圧とが異なる場合についても、回路ブロックを組み込んだ半導体集積回路について改めてクロック信号のスキュー調整を行うことなく、クロック信号の電源電圧を一致させることができる。   In the present embodiment, the method of designing a semiconductor integrated circuit that operates at a different threshold voltage using a circuit block that operates at a certain threshold voltage has been described so far. However, the circuit block and the semiconductor integrated circuit including the circuit block are described. A design method similar to the above-described method can be applied even when other operating conditions such as a power supply voltage differ from the circuit. For example, in order to design a semiconductor integrated circuit that operates at the second power supply voltage V2 using a circuit block that operates at the first power supply voltage V1, the first clock for operating at the first power supply voltage V1 is used. For the cell and the second clock cell operating at the second power supply voltage V2, the same procedure as in FIG. 7 may be executed after matching the input capacitance, the cell specific delay, and the driving capability. According to this design method, even when the power supply voltage of the circuit block differs from the power supply voltage of the semiconductor integrated circuit including the circuit block, the clock signal skew adjustment is not performed again for the semiconductor integrated circuit incorporating the circuit block. The power supply voltages of the signals can be matched.

(第3の実施形態)
本発明の第3の実施形態では、トランジスタの経年劣化に伴うクロック信号の遅延時間変動を考慮して、半導体集積回路を設計する方法について説明する。一般に、トランジスタは、所定の信号電圧が印加されている期間の長さに応じて劣化する。このため、トランジスタによって構成された回路の遅延時間は、時間の経過とともに長くなる。また、多くのクロック信号では、信号がハイレベルである期間の長さと、信号がローレベルである期間の長さは同じである。したがって、クロック信号が所定の値に変化する回数(以下、トグル回数という)を数えれば、クロック信号が所定値である期間の長さを求めることができるので、これを用いて、クロック信号が入力される論理セルに含まれるトランジスタについて、どの程度劣化が進行するかを予め予測することができる。
(Third embodiment)
In the third embodiment of the present invention, a method for designing a semiconductor integrated circuit in consideration of a delay time variation of a clock signal accompanying the aging of a transistor will be described. In general, a transistor deteriorates according to the length of a period during which a predetermined signal voltage is applied. For this reason, the delay time of the circuit constituted by the transistors becomes longer as time elapses. In many clock signals, the length of the period when the signal is at the high level is the same as the length of the period when the signal is at the low level. Therefore, if the number of times the clock signal changes to a predetermined value (hereinafter referred to as the number of toggles) is counted, the length of the period during which the clock signal is the predetermined value can be obtained, and this is used to input the clock signal. It is possible to predict in advance how much the deterioration of the transistor included in the logic cell to be progressed.

図8は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図8に示す手順は、論理レベルの設計を終え、タイミング調整を行う前の半導体集積回路に対して実行される。図8に示す手順では、まず、設計すべき半導体集積回路の耐用時間を決定する(ステップS201)。耐用時間は、半導体集積回路の仕様や動作条件などに基づき、例えば3年、10年などの値に決定される。   FIG. 8 is a flowchart showing a method for designing a semiconductor integrated circuit according to the present embodiment. The procedure shown in FIG. 8 is executed on the semiconductor integrated circuit before the timing adjustment after the logic level design is completed. In the procedure shown in FIG. 8, first, the service life of the semiconductor integrated circuit to be designed is determined (step S201). The service life is determined to a value such as 3 years or 10 years based on the specifications of the semiconductor integrated circuit, operating conditions, or the like.

設計すべき半導体集積回路は、複数のフリップフロップを備えている。そこで、次に、各フリップフロップに供給されるクロック信号について、ステップS201で決定した耐用時間内のトグル回数を求める(ステップS202)。あるフリップフロップFXに供給されるクロック信号のトグル回数TCは、例えば、次式(3)によって算出される。
TC=TX×FR×α …(3)
ただし、上式(3)において、TXはステップS201で決定した耐用時間、FRは与えられたクロック信号CKの周波数、αはクロック信号CKが変化したときにフリップフロップFXに供給されるクロック信号が変化する確率(以下、トグル確率という)を表す。トグル確率αは、半導体集積回路の仕様や動作条件などに基づき、算出あるいは推定される。トグル確率αは、例えば、論理シミュレーションによっても求めることもできる。
A semiconductor integrated circuit to be designed includes a plurality of flip-flops. Therefore, next, the number of toggles within the service life determined in step S201 is obtained for the clock signal supplied to each flip-flop (step S202). The toggle count TC of the clock signal supplied to a certain flip-flop FX is calculated by the following equation (3), for example.
TC = TX × FR × α (3)
However, in the above equation (3), TX is the service life determined in step S201, FR is the frequency of the given clock signal CK, α is the clock signal supplied to the flip-flop FX when the clock signal CK changes. It represents the probability of changing (hereinafter referred to as toggle probability). The toggle probability α is calculated or estimated based on the specifications and operating conditions of the semiconductor integrated circuit. The toggle probability α can also be obtained, for example, by logic simulation.

なお、クロック信号のトグル回数を求めるときには、信号のローレベルからハイレベルへの変化だけを1回のトグルとして数えてもよく、信号の逆方向への変化だけを1回のトグルとして数えてもよく、信号の各方向への変化をそれぞれ1回のトグルとして数えてもよい。以下では、例えば、信号のローレベルからハイレベルへの変化だけを1回のトグルとして数えることとする。   When obtaining the number of toggles of the clock signal, only a change from a low level to a high level of the signal may be counted as one toggle, or only a change in the reverse direction of the signal may be counted as one toggle. The change in each direction of the signal may be counted as one toggle. Hereinafter, for example, only a change from a low level to a high level of a signal is counted as one toggle.

次に、各フリップフロップに供給されるクロック信号について、ステップS202で求めたトグル回数に基づき、耐用時間経過時における遅延変動量を求める(ステップS203)。クロック信号については、信号がローレベルである期間の長さと、信号がハイレベルである期間の長さが同じであるとすれば、クロック信号が入力される論理セルに含まれるトランジスタについては、その特性から入力信号のトグル回数と遅延時間の変動率との関係を求めることができる(後述する図10を参照)。したがって、ステップS203では、ステップS202で求めたトグル回数と、各トランジスタにおけるトグル回数と遅延変動率との関係に基づき、耐用時間経過時における遅延変動量を求めることができる。   Next, for the clock signal supplied to each flip-flop, based on the number of toggles obtained in step S202, the amount of delay variation when the service life has elapsed is obtained (step S203). As for the clock signal, if the length of the period in which the signal is low and the length of the period in which the signal is high are the same, the transistor included in the logic cell to which the clock signal is input From the characteristics, the relationship between the number of toggles of the input signal and the variation rate of the delay time can be obtained (see FIG. 10 described later). Therefore, in step S203, the amount of delay variation when the service life has elapsed can be obtained based on the number of toggles obtained in step S202 and the relationship between the number of toggles in each transistor and the delay variation rate.

次に、設計すべき半導体集積回路から順にフリップフロップのペアを選択し、各ペアについて、一方のフリップフロップに供給されるクロック信号について求めた遅延変動量と、他方のフリップフロップに供給されるクロック信号について求めた遅延変動量との差を求める(ステップS204)。次に、求めた遅延変動量の差を、経年劣化に伴う遅延時間変動を吸収するための設計マージンとして、選択したフリップフロップのペア間のタイミング制約に設定する(ステップS205)。なお、ステップS204およびS205では、既にタイミング制約が付加されているフリップフロップのペアについてのみ、遅延変動量の差を求め、求めた差をタイミング制約に設定することとしてもよい。   Next, a pair of flip-flops is selected in order from the semiconductor integrated circuit to be designed, and for each pair, the delay variation obtained for the clock signal supplied to one flip-flop and the clock supplied to the other flip-flop The difference from the delay variation obtained for the signal is obtained (step S204). Next, the obtained difference in delay variation is set as a timing constraint between the selected flip-flop pairs as a design margin for absorbing delay time variation due to aging (step S205). Note that in steps S204 and S205, the delay variation difference may be obtained only for the flip-flop pair to which the timing constraint has already been added, and the obtained difference may be set as the timing constraint.

次に、上記のように設計マージンを設定した後のタイミング制約に従って、フリップフロップにクロック信号およびデータ入力信号を供給する回路についてタイミング調整を行う(ステップS206)。ステップS206では、クロックスキューが所定の許容値よりも小さくなるように、クロック回路にバッファなどを追加あるいは削除する処理や、データ入力信号を生成する回路を再設計する処理や、レイアウト結果を修正する処理などが行われる。   Next, the timing adjustment is performed for the circuit that supplies the clock signal and the data input signal to the flip-flop according to the timing constraint after setting the design margin as described above (step S206). In step S206, a process for adding or deleting a buffer or the like to the clock circuit, a process for redesigning a circuit for generating a data input signal, or a layout result is corrected so that the clock skew is smaller than a predetermined allowable value. Processing is performed.

図9に示すクロック回路を含む半導体集積回路に、図8に示す手順を適用した場合の詳細を説明する。図9に示すクロック回路は、第1のクロック回路41、第1のフリップフロップ42、第2のクロック回路43、および第2のフリップフロップ44を備えている。第1および第2のフリップフロップ42、44は、いずれも、与えられたクロック信号CKに同期して動作する。より詳細には、第1のクロック回路41は、2個のバッファを含み、クロック信号CKに基づき、クロック信号CKと同じ頻度で変化する第1のクロック信号CK1を生成する。第1のフリップフロップ42は、第1のクロック信号CK1に同期して動作する。第2のクロック回路43は、ANDゲート45とバッファとを含み、クロック信号CKに基づき、クロック信号CKよりも少ない頻度で変化する第2のクロック信号CK2を生成する。第2のフリップフロップ44は、第2のクロック信号CK2に同期して動作する。ANDゲート45には、クロック信号CKとクロックイネーブル信号CENとが入力される。以下では、クロック信号CKの周波数は100MHzであり、クロックイネーブル信号CENは、クロック信号CKの10サイクルにつき1サイクルの割合でハイレベルになるものとする。   Details of the case where the procedure shown in FIG. 8 is applied to the semiconductor integrated circuit including the clock circuit shown in FIG. 9 will be described. The clock circuit shown in FIG. 9 includes a first clock circuit 41, a first flip-flop 42, a second clock circuit 43, and a second flip-flop 44. Both the first and second flip-flops 42 and 44 operate in synchronization with the applied clock signal CK. More specifically, the first clock circuit 41 includes two buffers, and generates a first clock signal CK1 that changes at the same frequency as the clock signal CK based on the clock signal CK. The first flip-flop 42 operates in synchronization with the first clock signal CK1. The second clock circuit 43 includes an AND gate 45 and a buffer, and generates a second clock signal CK2 that changes less frequently than the clock signal CK based on the clock signal CK. The second flip-flop 44 operates in synchronization with the second clock signal CK2. The AND gate 45 receives the clock signal CK and the clock enable signal CEN. In the following, it is assumed that the frequency of the clock signal CK is 100 MHz, and the clock enable signal CEN is at a high level at a rate of 1 cycle per 10 cycles of the clock signal CK.

図9に示すクロック回路を含む半導体集積回路の耐用時間を、例えば10年と決定する(ステップS201)。10年は約3.15×108秒に相当するから、第1のクロック信号CK1の10年間のトグル回数TC1は、次式(4)より、3.15×1016回となる。また、第2のクロック信号CK2のトグル確率αは10分の1であるから、第2のクロック信号CK2の10年間のトグル回数TC2は、次式(5)より、3.15×1015回となる(ステップS202)。
TC1≒(3.15×108)×(100×106)×1 =3.15×1016 …(4)
TC2≒(3.15×108)×(100×106)×1/10=3.15×1015 …(5)
The service life of the semiconductor integrated circuit including the clock circuit shown in FIG. 9 is determined to be, for example, 10 years (step S201). Since 10 years corresponds to about 3.15 × 10 8 seconds, the number of times TC1 of the first clock signal CK1 is toggled to 3.15 × 10 16 times from the following equation (4). Since the toggle probability α of the second clock signal CK2 is 1/10, the 10-year toggle count TC2 of the second clock signal CK2 is 3.15 × 10 15 times from the following equation (5). (Step S202).
TC1 ≒ (3.15 × 10 8 ) × (100 × 10 6 ) × 1 = 3.15 × 10 16 (4)
TC2 ≒ (3.15 × 10 8 ) × (100 × 10 6 ) × 1/10 = 3.15 × 10 15 (5)

図9に示すクロック回路に含まれる論理セルを構成するトランジスタは、入力信号のトグル回数に応じて、図10に示すように、遅延時間が変動するものとする。図10の横軸は入力信号のトグル回数を、縦軸は遅延時間の変動率を表す。第1のクロック信号CK1の10年間のトグル回数TC1は3.15×1016回であるから、図10によれば、第1のクロック信号CK1の10年後の遅延変動量は5%である。一方、第2のクロック信号CK2の10年間のトグル回数TC2は3.15×1015回であるから、図10によれば、第2のクロック信号CK2の10年後の遅延変動量は2%である。言い換えると、10年の耐用時間が経過したときには、第1のクロック信号CK1の遅延時間t1は当初より5%増加するのに対して、第2のクロック信号CK2の遅延時間t2は当初より2%増加する(ステップS203)。したがって、第1のクロック信号CK1の遅延変動量と、第2のクロック信号CK2の遅延変動量との差は、3%となる(ステップS204)。 As shown in FIG. 10, the delay time of the transistors constituting the logic cell included in the clock circuit shown in FIG. 9 varies according to the number of toggles of the input signal. The horizontal axis in FIG. 10 represents the number of toggles of the input signal, and the vertical axis represents the variation rate of the delay time. Since the 10-year toggle count TC1 of the first clock signal CK1 is 3.15 × 10 16 times, according to FIG. 10, the delay variation after 10 years of the first clock signal CK1 is 5%. . On the other hand, the 10-year toggle count TC2 of the second clock signal CK2 is 3.15 × 10 15 times, and therefore, according to FIG. 10, the delay variation after 10 years of the second clock signal CK2 is 2%. It is. In other words, when the service life of 10 years has elapsed, the delay time t1 of the first clock signal CK1 increases by 5% from the beginning, whereas the delay time t2 of the second clock signal CK2 increases by 2% from the beginning. Increase (step S203). Therefore, the difference between the delay variation amount of the first clock signal CK1 and the delay variation amount of the second clock signal CK2 is 3% (step S204).

そこで、求めた遅延変動量3%を、経年劣化に伴う遅延時間変動を吸収するための設計マージンとして、第1のフリップフロップ42と第2のフリップフロップ44との間のタイミング制約に設定する(ステップS205)。そして、3%の設計マージンを設定した後のタイミング制約に従って、第1および第2のフリップフロップ42、44にクロック信号およびデータ入力信号を供給する回路について、タイミング調整を行う(ステップS206)。   Therefore, the obtained delay fluctuation amount of 3% is set as a timing constraint between the first flip-flop 42 and the second flip-flop 44 as a design margin for absorbing the delay time fluctuation accompanying the aging deterioration ( Step S205). Then, according to the timing constraint after setting the design margin of 3%, timing adjustment is performed for the circuit that supplies the clock signal and the data input signal to the first and second flip-flops 42 and 44 (step S206).

以下、本実施形態に係る設計方法を用いて、図9に示すクロック回路を含む半導体集積回路を設計する場合の効果を説明する。従来の手法では、フリップフロップ間のタイミング制約に、経年劣化に伴う遅延時間変動を吸収するための設計マージンを設定するときには、各フリップフロップに供給されるクロック信号の遅延変動量の最悪値が設定される。このため、第1のフリップフロップ42と第2のフリップフロップ44との間のタイミング制約には、第1のクロック信号CK1の遅延時間t1の変動率5%と、第2のクロック信号CK2の遅延時間t2の変動率2%との最悪値である5%が、設計マージンとして設定される。   In the following, the effect of designing a semiconductor integrated circuit including the clock circuit shown in FIG. 9 using the design method according to the present embodiment will be described. In the conventional method, when setting the design margin to absorb the delay time variation due to aging deterioration in the timing constraint between the flip-flops, the worst value of the delay variation amount of the clock signal supplied to each flip-flop is set. Is done. For this reason, the timing constraint between the first flip-flop 42 and the second flip-flop 44 includes a variation rate 5% of the delay time t1 of the first clock signal CK1 and a delay of the second clock signal CK2. The worst value of 5% with the fluctuation rate of 2% at time t2 is set as the design margin.

これに対して、本実施形態に係る設計方法では、フリップフロップ間のタイミング制約に、経年劣化に伴う遅延時間変動を吸収するための設計マージンを設定するときには、各フリップフロップに供給されるクロック信号の遅延変動量の差が設定される。このため、第1のフリップフロップ42と第2のフリップフロップ44との間のタイミング制約には、第1のクロック信号CK1の遅延時間t1の変動率5%と、第2のクロック信号CKの遅延時間t2の変動率2%との差である3%が、設計マージンとして設定される。   On the other hand, in the design method according to the present embodiment, when setting a design margin for absorbing delay time variation due to aging deterioration in the timing constraint between flip-flops, the clock signal supplied to each flip-flop The difference in delay variation is set. For this reason, the timing constraint between the first flip-flop 42 and the second flip-flop 44 includes a variation rate 5% of the delay time t1 of the first clock signal CK1 and a delay of the second clock signal CK. A design margin of 3%, which is a difference from the fluctuation rate 2% of the time t2, is set.

実際の半導体集積回路では、10年の耐用時間が経過して、第1のクロック信号CK1の遅延時間t1が5%長くなったときに、第2のクロック信号CK2の遅延時間t2も2%長くなっている。したがって、第1のクロック信号CK1に同期して動作する第1のフリップフロップ42と、第2のクロック信号CK2に同期して動作する第2のフリップフロップ44との間のタイミング制約には、遅延変動量の最悪値(5%)ではなく、遅延変動量の差(3%)を、経年劣化に伴う遅延時間変動を吸収するための設計マージンとして設定すれば十分である。この遅延変動量の差を、経年劣化に伴う遅延時間変動を吸収するための設計マージンとして設定した上で半導体集積回路を設計すれば、設計された半導体集積回路は、耐用時間内では正しく動作することを保証できる。   In an actual semiconductor integrated circuit, when the lifetime of 10 years has elapsed and the delay time t1 of the first clock signal CK1 has increased by 5%, the delay time t2 of the second clock signal CK2 has also increased by 2%. It has become. Therefore, the timing constraint between the first flip-flop 42 that operates in synchronization with the first clock signal CK1 and the second flip-flop 44 that operates in synchronization with the second clock signal CK2 includes a delay. It is sufficient to set not the worst value (5%) of the fluctuation amount but the difference (3%) in the delay fluctuation amount as a design margin for absorbing the delay time fluctuation accompanying the aging deterioration. If a semiconductor integrated circuit is designed after setting this difference in delay variation as a design margin for absorbing delay time variation due to deterioration over time, the designed semiconductor integrated circuit will operate correctly within its service life. I can guarantee that.

したがって、本実施形態に係る半導体集積回路の設計方法によれば、従来よりも的確に設計マージンを設定することができるので、トランジスタの経年劣化に伴うクロック信号の遅延時間の変動を考慮した上で、従来よりも回路規模を削減することができる。   Therefore, according to the design method of the semiconductor integrated circuit according to the present embodiment, the design margin can be set more accurately than in the past, so that the variation in the delay time of the clock signal accompanying the aging of the transistor is taken into consideration. Therefore, the circuit scale can be reduced as compared with the prior art.

(第4の実施形態)
本発明の第4の実施形態では、クロック信号のトグル回数を数える機能を有する半導体集積回路について説明する。図11は、本実施形態に係る半導体集積回路の構成を示す図である。図11に示す半導体集積回路は、前半クロック回路51、第1〜第3の後半クロック回路52a〜c、第1〜第3の回路ブロック53a〜c、第1〜第3のトグル計数回路54a〜c、デコーダ55、および第1〜第3のトグル回数格納レジスタ56a〜cを備えている。第1〜第3の回路ブロック53a〜cは、いずれも、与えられたクロック信号CKに同期して動作する。より詳細には、前半クロック回路51と第1の後半クロック回路52aとは、クロック信号CKに基づき第1のクロック信号CK1を生成し、第1の回路ブロック53aは、第1のクロック信号CK1に同期して動作する。第2および第3の後半クロック回路52b、52c、並びに第2および第3の回路ブロック53b、53cも、これ同様に動作する。
(Fourth embodiment)
In the fourth embodiment of the present invention, a semiconductor integrated circuit having a function of counting the number of toggles of a clock signal will be described. FIG. 11 is a diagram showing a configuration of the semiconductor integrated circuit according to the present embodiment. The semiconductor integrated circuit shown in FIG. 11 includes a first half clock circuit 51, first to third second half clock circuits 52a to 52c, first to third circuit blocks 53a to 53c, and first to third toggle counting circuits 54a to 54a. c, a decoder 55, and first to third toggle count storage registers 56a to 56c. Each of the first to third circuit blocks 53a to 53c operates in synchronization with a given clock signal CK. More specifically, the first half clock circuit 51 and the first second half clock circuit 52a generate a first clock signal CK1 based on the clock signal CK, and the first circuit block 53a generates the first clock signal CK1. Operates synchronously. The second and third latter half clock circuits 52b and 52c and the second and third circuit blocks 53b and 53c operate in the same manner.

第1〜第3のトグル計数回路54a〜cは、それぞれ、第1〜第3のクロック信号CK1〜3のトグル回数を数える。ここでは、信号のローレベルからハイレベルへの変化を、1回のトグルとして数えることとする。デコーダ55は、コード信号CODEをデコードすることにより、第1〜第3のトグル回数格納レジスタ56a〜cのイネーブル信号EN1〜3を出力する。第1〜第3のトグル回数格納レジスタ56a〜cは、それぞれ、イネーブル信号EN1〜3を受けたときに、第1〜第3のトグル計数回路54a〜cからトグル回数TC1〜3を読み出して内部に格納し、格納したトグル回数をデータバスDBUSのタイミング仕様に合わせて出力する。   The first to third toggle counting circuits 54a to 54c count the number of toggles of the first to third clock signals CK1 to CK3, respectively. Here, the change from the low level to the high level of the signal is counted as one toggle. The decoder 55 decodes the code signal CODE, thereby outputting the enable signals EN1 to EN3 of the first to third toggle count storage registers 56a to 56c. The first to third toggle count storage registers 56a to 56c read the toggle counts TC1 to TC1 from the first to third toggle count circuits 54a to 54c when receiving the enable signals EN1 to EN3, respectively. And the stored number of toggles is output in accordance with the timing specification of the data bus DBUS.

データバスDBUSに出力されたトグル回数は、半導体集積回路の外部に出力される。このため、例えば、データバスDBUSは、トグル回数出力モードでは、半導体集積回路の外部入出力端子(図示せず)に接続される。あるいは、データバスDBUSに出力されたトグル回数は、データバスDBUSに接続されたレジスタに一旦格納され、当該レジスタ経由で半導体集積回路の外部に出力されることとしてもよい。このように、デコーダ55、第1〜第3のトグル回数格納レジスタ56a〜c、データバスDBUSなどの作用により、第1〜第3のトグル計数回路54a〜cで数えたトグル回数TC1〜3は、半導体集積回路の外部に出力される。   The number of toggles output to the data bus DBUS is output outside the semiconductor integrated circuit. Therefore, for example, the data bus DBUS is connected to an external input / output terminal (not shown) of the semiconductor integrated circuit in the toggle count output mode. Alternatively, the number of toggles output to the data bus DBUS may be temporarily stored in a register connected to the data bus DBUS and output to the outside of the semiconductor integrated circuit via the register. As described above, the toggle times TC1 to TC1 counted by the first to third toggle counting circuits 54a to 54c by the operations of the decoder 55, the first to third toggle count storage registers 56a to 56c, the data bus DBUS, etc. Is output to the outside of the semiconductor integrated circuit.

図12は、本実施形態に係る半導体集積回路の他の構成を示す図である。図12に示す半導体集積回路は、前半クロック回路51、第1〜第3の後半クロック回路52a〜c、第1〜第3の回路ブロック53a〜c、第1〜第3のトグル計数回路54a〜c、デコーダ55、セレクタ57、およびトグル回数格納レジスタ58を備えている。図12に示す構成要素のうち、図11と同じ構成要素については、同一の参照符号を付して説明を省略する。セレクタ57は、デコーダ55から出力されたイネーブル信号EN1〜3に基づき、第1〜第3のトグル計数回路54a〜cのいずれかからトグル回数を読み出して出力する。トグル回数格納レジスタ58は、セレクタ57から出力されたトグル回数を内部に格納し、格納したトグル回数をデータバスDBUSのタイミング仕様に合わせて出力する。   FIG. 12 is a diagram showing another configuration of the semiconductor integrated circuit according to the present embodiment. The semiconductor integrated circuit shown in FIG. 12 includes a first half clock circuit 51, first to third second half clock circuits 52a to 52c, first to third circuit blocks 53a to 53c, and first to third toggle counting circuits 54a to 54a. c, a decoder 55, a selector 57, and a toggle count storage register 58. Among the constituent elements shown in FIG. 12, the same constituent elements as those in FIG. 11 are denoted by the same reference numerals and description thereof is omitted. Based on the enable signals EN1 to EN3 output from the decoder 55, the selector 57 reads and outputs the number of toggles from any one of the first to third toggle counting circuits 54a to 54c. The toggle count storage register 58 stores therein the toggle count output from the selector 57 and outputs the stored toggle count according to the timing specification of the data bus DBUS.

以下、図11あるいは図12に示す構成を有する、本実施形態に係る半導体集積回路の効果を説明する。本実施形態に係る半導体集積回路は、例えば、あるシステムの評価ボードに実装される。この評価ボードは、システムの実際の動作環境下で、実際のアプリケーションソフトウエアを実行する。これにより、評価ボードを用いて、システムの実際の動作が再現される。   The effects of the semiconductor integrated circuit according to this embodiment having the configuration shown in FIG. 11 or FIG. 12 will be described below. The semiconductor integrated circuit according to the present embodiment is mounted on an evaluation board of a certain system, for example. This evaluation board executes actual application software under the actual operating environment of the system. Thereby, the actual operation of the system is reproduced using the evaluation board.

本実施形態に係る半導体集積回路は、上述したように、各回路ブロックに供給されるクロック信号のトグル回数を数え、数えたトグル回数を半導体集積回路の外部に出力する機構を有している。したがって、上記評価ボードを用いてシステムの動作を再現したときに、各回路ブロックに供給されるクロック信号のトグル回数を求めることにより、実動作環境下でクロック信号が変化する確率(トグル率α)を、論理シミュレーションなどよりも短時間かつ高精度で求めることができる。   As described above, the semiconductor integrated circuit according to the present embodiment has a mechanism for counting the number of toggles of the clock signal supplied to each circuit block and outputting the counted number of toggles to the outside of the semiconductor integrated circuit. Therefore, when the system operation is reproduced using the evaluation board, the probability that the clock signal changes in the actual operating environment by obtaining the number of times of toggle of the clock signal supplied to each circuit block (toggle rate α) Can be obtained in a shorter time and with higher accuracy than logic simulation.

第3の実施形態で既に説明したように、半導体集積回路の耐用時間を決定し、半導体集積回路に含まれるクロック信号のトグル率αを求めれば、耐用時間経過時におけるクロック回路の遅延変動量を求めることができる。そこで、本実施形態に係る半導体集積回路と同様の機能を有する新たな半導体集積回路を改良版として(あるいは評価用回路に対する設計対象回路として)設計するときに、求めた遅延変動量を考慮してクロック回路を設計することができる。したがって、トランジスタの経年劣化に伴うクロック信号の遅延時間変動をより的確に考慮して、新たにタイミングエラーが発生しにくい半導体集積回路を設計することができる。   As already described in the third embodiment, if the service life of the semiconductor integrated circuit is determined and the toggle rate α of the clock signal included in the semiconductor integrated circuit is obtained, the delay variation amount of the clock circuit when the service time has elapsed can be obtained. Can be sought. Therefore, when designing a new semiconductor integrated circuit having the same function as the semiconductor integrated circuit according to the present embodiment as an improved version (or as a design target circuit for the evaluation circuit), the obtained delay variation amount is taken into consideration. A clock circuit can be designed. Accordingly, it is possible to design a new semiconductor integrated circuit in which a timing error is unlikely to occur, considering the delay time variation of the clock signal accompanying the aging of the transistor more accurately.

(第5の実施形態)
本発明の第5の実施形態では、クロック信号のトグル回数を調整する機能を有する半導体集積回路について説明する。図13は、本実施形態に係る半導体集積回路の構成を示す図である。図13に示す半導体集積回路は、前半クロック回路51、第1〜第3の後半クロック回路52a〜c、第1〜第3の回路ブロック53a〜c、第1〜第3のトグル計数回路54a〜c、およびトグル調整回路59を備えている。図13に示す構成要素のうち、図11と同じ構成要素については、同一の参照符号を付して説明を省略する。
(Fifth embodiment)
In the fifth embodiment of the present invention, a semiconductor integrated circuit having a function of adjusting the number of toggles of a clock signal will be described. FIG. 13 is a diagram showing a configuration of the semiconductor integrated circuit according to the present embodiment. The semiconductor integrated circuit shown in FIG. 13 includes a first half clock circuit 51, first to third second half clock circuits 52a to 52c, first to third circuit blocks 53a to 53c, and first to third toggle counting circuits 54a to 54a. c, and a toggle adjustment circuit 59. Among the constituent elements shown in FIG. 13, the same constituent elements as those in FIG.

トグル調整回路59には、第1〜第3の後半クロック回路52a〜cから出力された第1〜第3のクロック信号CK1〜3、調整クロック信号CK0、モード選択信号MODE、および第1〜第3のトグル計数回路54a〜cで数えたトグル回数TC1〜3が入力される。トグル調整回路59は、これらの入力信号に基づき、第1〜第3の回路ブロック53a〜cに供給されるクロック信号ck1〜3を生成する。   The toggle adjustment circuit 59 includes first to third clock signals CK1 to CK3 output from the first to third latter half clock circuits 52a to 52c, an adjustment clock signal CK0, a mode selection signal MODE, and first to first clock signals. The toggle times TC1 to TC3 counted by the 3 toggle counters 54a to 54c are input. The toggle adjustment circuit 59 generates clock signals ck1 to ck3 to be supplied to the first to third circuit blocks 53a to 53c based on these input signals.

図14は、トグル調整回路59の詳細な構成を示す図である。トグル調整回路59は、比較回路61、および第1〜第3のセレクタ62a〜cを含んでいる。比較回路61は、トグル回数TC1〜3に基づき、第1〜第3のセレクタ62a〜cのセレクト信号S1〜3を求める。より詳細には、トグル回数TC1〜3の最大値をMとしたときに、比較回路61は、1から3までの整数iについて、第iのトグル数TCiが最大値Mであるときは、第iのセレクタ62j(ただし、i=1ならばj=a、i=2ならばj=b、i=3ならばj=c)のセレクト信号Siをハイレベルに、それ以外の場合は、当該信号をローレベルにする。   FIG. 14 is a diagram showing a detailed configuration of the toggle adjustment circuit 59. The toggle adjustment circuit 59 includes a comparison circuit 61 and first to third selectors 62a to 62c. The comparison circuit 61 obtains select signals S1 to S3 of the first to third selectors 62a to 62c based on the toggle times TC1 to TC3. More specifically, when the maximum value of the number of toggles TC1 to TC1 is M, the comparison circuit 61 sets the first value of the integer i from 1 to 3 when the i-th toggle number TCi is the maximum value M. the selector 62j of i (j = a if i = 1, j = b if i = 2, j = c if i = 3) is set to a high level, otherwise Set the signal to low level.

第1のセレクタ62aは、図15に示すように、モード選択信号MODEおよびセレクト信号S1に基づき、第1のクロック信号CK1、調整クロックCK0、および固定値ローレベルのいずれかを出力する。より詳細には、第1のセレクタ62aは、モード選択信号MODEがローレベルであるとき(通常動作モードを示すとき)は、第1のクロック信号CK1を出力し、モード選択信号MODEがハイレベル(調整モードを示す)であり、かつ、セレクト信号S1がローレベルであるときは、調整クロックCK0を出力し、モード選択信号MODEがハイレベルであり、かつ、セレクト信号S1がハイレベルであるときは、固定値ローレベルを出力する。第2および第3のセレクタ62b、62cも、これと同様に動作する。   As shown in FIG. 15, the first selector 62a outputs one of the first clock signal CK1, the adjustment clock CK0, and the fixed value low level based on the mode selection signal MODE and the selection signal S1. More specifically, the first selector 62a outputs the first clock signal CK1 when the mode selection signal MODE is at the low level (indicating the normal operation mode), and the mode selection signal MODE is at the high level ( When the select signal S1 is at a low level, the adjustment clock CK0 is output, the mode selection signal MODE is at a high level, and the select signal S1 is at a high level. , Output a fixed low level. The second and third selectors 62b and 62c operate in the same manner.

このように構成されたトグル調整回路59は、通常動作モードでは、第1〜第3の回路ブロック53a〜cに対して、それぞれ第1〜第3のクロック信号CK1〜3を出力する。また、トグル調整回路59は、調整モードでは、第1〜第3の回路ブロック53a〜cのうちから相対的にトグル回数が少ないクロック信号が供給されている回路ブロックを選択し、選択した回路ブロックに対して調整クロック信号CK0を出力する。   The toggle adjustment circuit 59 configured in this manner outputs the first to third clock signals CK1 to CK3 to the first to third circuit blocks 53a to 53c in the normal operation mode, respectively. In the adjustment mode, the toggle adjustment circuit 59 selects a circuit block to which a clock signal with a relatively small number of toggles is supplied from the first to third circuit blocks 53a to 53c, and selects the selected circuit block. Output the adjustment clock signal CK0.

図16は、本実施形態に係る半導体集積回路の使用形態を示す図である。図16において、半導体集積回路70には、水晶振動子71およびクロック生成回路72によって生成されたクロック信号CKが供給される。ANDゲート73には、クロック信号CKとモード選択信号MODEとが入力される。クロック信号CKとモード選択信号MODEとの論理積が、調整クロック信号CK0となる。なお、クロック生成回路72およびANDゲート73は、半導体集積回路70の内部に設けてもよい。   FIG. 16 is a diagram showing a usage pattern of the semiconductor integrated circuit according to the present embodiment. In FIG. 16, the semiconductor integrated circuit 70 is supplied with a clock signal CK generated by a crystal resonator 71 and a clock generation circuit 72. The AND gate 73 receives a clock signal CK and a mode selection signal MODE. The logical product of the clock signal CK and the mode selection signal MODE becomes the adjustment clock signal CK0. The clock generation circuit 72 and the AND gate 73 may be provided inside the semiconductor integrated circuit 70.

モード選択信号MODEは、システムを構成するハードウェアまたはソフトウエアによって、システムの通常動作中はローレベルに設定され、システムの待機中や充電中など、システムの通常動作が行われていないときにはハイレベルに設定される。モード選択信号MODEがローレベルであるときは、調整クロック信号CK0はローレベルに固定され、トグル調整回路59に含まれる第1〜第3のセレクタ62a〜c(図14)は、それぞれ、第1〜第3のクロック信号CK1〜3を選択して出力する。この場合、第1〜第3の回路ブロック53a〜c(図13)は、それぞれ、第1〜第3のクロック信号CK1〜3に同期して動作する。   The mode selection signal MODE is set to a low level during normal operation of the system by hardware or software constituting the system, and is set to a high level when the normal operation of the system is not performed, such as during standby or charging of the system. Set to When the mode selection signal MODE is at the low level, the adjustment clock signal CK0 is fixed at the low level, and the first to third selectors 62a to 62c (FIG. 14) included in the toggle adjustment circuit 59 are the first To select and output the third clock signals CK1 to CK3. In this case, the first to third circuit blocks 53a to 53c (FIG. 13) operate in synchronization with the first to third clock signals CK1 to CK3, respectively.

これに対して、モード選択信号MODEがハイレベルであるときは、調整クロック信号CK0はクロック信号CKと同じように変化し、第1〜第3のセレクタ62a〜cは、調整クロック信号CK0または固定値(ローレベル)を出力する。トグル調整回路59は、トグル回数TCiがその最大値Mに一致しないクロック信号TCiの供給を受けていた回路ブロック53j(ただし、i=1ならばj=a、i=2ならばj=b、i=3ならばj=c)に対して、調整クロック信号CK0を供給する。したがって、モード選択信号MODEを適宜ハイレベルに設定することにより、第1〜第3の回路ブロック53a〜cに供給されるクロック信号ck1〜3のトグル回数TC1〜3を、その最大値Mに近づけることができる。   On the other hand, when the mode selection signal MODE is at the high level, the adjustment clock signal CK0 changes in the same manner as the clock signal CK, and the first to third selectors 62a to 62c are adjusted to the adjustment clock signal CK0 or fixed. Outputs the value (low level). The toggle adjustment circuit 59 is supplied with a clock signal TCi whose toggle count TCi does not match the maximum value M (where j = 1a if i = 1, j = b if i = 2, If i = 3, the adjusted clock signal CK0 is supplied for j = c). Therefore, the number of toggles TC1 to TC1 of the clock signals ck1 to ck3 supplied to the first to third circuit blocks 53a to 53c is brought close to the maximum value M by appropriately setting the mode selection signal MODE to a high level. be able to.

第1〜第3の回路ブロック53a〜cに含まれる論理セルを構成するトランジスタは、各回路ブロックに供給されるクロック信号のトグル回数TCiに応じて劣化する。したがって、第1〜第3の回路ブロック53a〜cに供給されるクロック信号ck1〜3のトグル回数TC1〜3が相互に近ければ、第1〜第3の回路ブロック53a〜cに含まれる回路の遅延時間は、時間の経過とともに同じように変動する。   The transistors constituting the logic cells included in the first to third circuit blocks 53a to 53c are deteriorated according to the number of toggle times TCi of the clock signal supplied to each circuit block. Therefore, if the toggle times TC1 to TC1 of the clock signals ck1 to ck3 supplied to the first to third circuit blocks 53a to c are close to each other, the circuits included in the first to third circuit blocks 53a to 53c. The delay time varies in the same way with time.

したがって、モード選択信号MODEを適宜ハイレベルに設定することにより、第1〜第3の回路ブロック53a〜cに含まれる回路の遅延時間を、時間の経過とともに同じように変動させることができる。よって、半導体集積回路をシステムに組み込んだ後でも、各クロック信号のトグル回数を調整することにより、異なる頻度で変化するクロック信号が供給され、トランジスタの経年劣化の程度に差が生じてタイミングエラーが発生し、半導体集積回路の耐用時間が短くなることを防止することができる。この効果は、消費電力を低減するために、回路ブロック単位でクロック信号の供給を停止する機能を有する半導体集積回路において、特に顕著に現れる。   Therefore, by appropriately setting the mode selection signal MODE to the high level, the delay time of the circuits included in the first to third circuit blocks 53a to 53c can be similarly changed over time. Therefore, even after the semiconductor integrated circuit is incorporated into the system, by adjusting the number of toggles of each clock signal, a clock signal that changes at a different frequency is supplied, causing a difference in the degree of aging of the transistor, resulting in a timing error. It can be prevented that the service life of the semiconductor integrated circuit is shortened. This effect is particularly noticeable in a semiconductor integrated circuit having a function of stopping the supply of a clock signal in units of circuit blocks in order to reduce power consumption.

(第6の実施形態)
本発明の第6の実施形態では、半導体集積回路に含まれるクロック回路を検証あるいは変更する方法について説明する。図17は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図17に示す手順は、論理レベルの設計を終え、タイミング調整を行う前の半導体集積回路に対して実行される。
(Sixth embodiment)
In the sixth embodiment of the present invention, a method for verifying or changing a clock circuit included in a semiconductor integrated circuit will be described. FIG. 17 is a flowchart showing a method for designing a semiconductor integrated circuit according to the present embodiment. The procedure shown in FIG. 17 is executed for the semiconductor integrated circuit before the timing adjustment after the logic level design is completed.

図17に示す手順では、まず、半導体集積回路を設計するときに使用できるすべての論理セルの種類のうちで、クロック経路上に存在できる論理セルの種類を指定する(ステップS301)。以下、ステップS301で指定された種類の論理セルをクロック用セルといい、それ以外の論理セルを非クロック用セルという。ステップS301では、クロック用セルとして、すべての論理セルのうちで、プロセス変動に強い論理セルだけが選択的に指定される。次に、非クロック用セルの種類に対応して、論理的に等価なクロック用セルの種類を指定する(ステップS302)。   In the procedure shown in FIG. 17, first, among all the types of logic cells that can be used when designing a semiconductor integrated circuit, the types of logic cells that can exist on the clock path are designated (step S301). Hereinafter, the type of logic cell specified in step S301 is referred to as a clock cell, and the other logic cells are referred to as non-clock cells. In step S301, only a logic cell that is resistant to process fluctuation is selectively designated as a clock cell among all the logic cells. Next, a logically equivalent clock cell type is designated corresponding to the non-clock cell type (step S302).

次に、設計すべき半導体集積回路から、すべてのクロック経路を抽出する(ステップS303)。次に、抽出されたクロック経路上に存在するすべての論理セルについて、当該論理セルがクロック用セルであるか非クロック用セルであるかを判定する(ステップS304)。次に、ステップS304で非クロック用セルと判定された論理セルに関する各種の情報を求める(ステップS305)。ステップS305で求めた情報は、以後の設計で参照される。次に、ステップS304で非クロック用セルと判定された論理セルを、ステップS302で当該論理セルの種類に対応して指定したクロック用セルに置換する(ステップS306)。   Next, all clock paths are extracted from the semiconductor integrated circuit to be designed (step S303). Next, with respect to all the logic cells existing on the extracted clock path, it is determined whether the logic cell is a clock cell or a non-clock cell (step S304). Next, various pieces of information related to the logic cell determined as the non-clock cell in step S304 are obtained (step S305). The information obtained in step S305 is referred to in the subsequent design. Next, the logic cell determined as the non-clock cell in step S304 is replaced with the clock cell designated in accordance with the type of the logic cell in step S302 (step S306).

したがって、本実施形態に係る半導体集積回路の設計方法によれば、一定の特性を有する論理セル(例えば、プロセス変動に強い論理セル)だけがクロック経路上に存在するように、半導体集積回路に含まれるクロック回路を変更することができる。   Therefore, according to the semiconductor integrated circuit design method according to the present embodiment, the semiconductor integrated circuit includes only logic cells having certain characteristics (for example, logic cells that are resistant to process fluctuations) on the clock path. The clock circuit to be changed can be changed.

なお、図17に示すフローチャートからステップS302およびS306を削除すれば、図18に示すフローチャートが得られる。図18に示す手順によれば、クロック経路上に存在する論理セルが、一定の特性を有する論理セル(例えば、プロセス変動に強い論理セル)であることを容易に検証することができる。   Note that if steps S302 and S306 are deleted from the flowchart shown in FIG. 17, the flowchart shown in FIG. 18 is obtained. According to the procedure shown in FIG. 18, it is possible to easily verify that the logic cell existing on the clock path is a logic cell having a certain characteristic (for example, a logic cell that is resistant to process fluctuation).

(第7の実施形態)
本発明の第7の実施形態では、クロック経路の特性を考慮して、クロック回路を設計する方法について説明する。まず、クロック経路上に存在する論理セルの段数の差を考慮して、クロック回路を設計する方法を説明する。図19は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図19に示す手順は、論理レベルの設計を終え、タイミング調整を行う前の半導体集積回路に対して実行される。
(Seventh embodiment)
In the seventh embodiment of the present invention, a method for designing a clock circuit in consideration of the characteristics of the clock path will be described. First, a method for designing a clock circuit in consideration of a difference in the number of stages of logic cells existing on the clock path will be described. FIG. 19 is a flowchart showing a method for designing a semiconductor integrated circuit according to this embodiment. The procedure shown in FIG. 19 is executed for the semiconductor integrated circuit before the timing adjustment after the logic level design is completed.

図19に示す手順では、まず、設計すべき半導体集積回路から、各フリップフロップに至るクロック経路を抽出する(ステップS401)。次に、抽出した各クロック経路の特性として、各クロック経路上に存在する論理セルの段数を求める(ステップS402)。次に、設計すべき半導体集積回路から順にフリップフロップのペアを選択し、各ペアについて、一方のフリップフロップに至るクロック経路上に存在する論理セルの段数と、他方のフリップフロップに至るクロック経路上に存在する論理セルの段数との差を求める(ステップS403)。   In the procedure shown in FIG. 19, first, a clock path reaching each flip-flop is extracted from a semiconductor integrated circuit to be designed (step S401). Next, as the characteristics of each extracted clock path, the number of stages of logic cells existing on each clock path is obtained (step S402). Next, a pair of flip-flops is selected in order from the semiconductor integrated circuit to be designed, and for each pair, the number of logic cell stages present on the clock path leading to one flip-flop and the clock path leading to the other flip-flop The difference from the number of logic cell stages existing in is obtained (step S403).

次に、求めた差に応じた時間を、クロック経路の差を吸収するための設計マージンとして、選択したフリップフロップのペア間のタイミング制約に設定する(ステップS404)。ステップS404では、設計マージンとして、例えば、ステップS403で求めた差に比例した時間を設定してもよく、求めた差に所定の関数を適用して求めた時間を設定してもよい。なお、ステップS403およびS404では、既にタイミング制約が付加されているフリップフロップのペアについてのみ、クロック経路上に存在する論理セルの段数の差を求めて、求めた差に応じた時間をタイミング制約に設定することとしてもよい。   Next, the time corresponding to the obtained difference is set as a timing constraint between the selected flip-flop pair as a design margin for absorbing the clock path difference (step S404). In step S404, as the design margin, for example, a time proportional to the difference obtained in step S403 may be set, or a time obtained by applying a predetermined function to the obtained difference may be set. In steps S403 and S404, only for flip-flop pairs to which timing constraints have already been added, the difference in the number of stages of logic cells existing on the clock path is obtained, and the time corresponding to the obtained difference is used as the timing constraint. It may be set.

次に、上記のように設計マージンを設定した後のタイミング制約に従って、フリップフロップにクロック信号およびデータ入力信号を供給する回路について、タイミング調整を行う(ステップS405)。ステップS405では、クロックスキューが所定の許容値よりも小さくなるように、クロック回路にバッファなどを追加あるいは削除する処理や、データ入力信号を生成する回路を再設計する処理や、レイアウト結果を修正する処理などが行われる。   Next, timing adjustment is performed for the circuit that supplies the clock signal and the data input signal to the flip-flop according to the timing constraint after setting the design margin as described above (step S405). In step S405, a process of adding or deleting a buffer or the like to the clock circuit, a process of redesigning a circuit that generates a data input signal, or a layout result is corrected so that the clock skew is smaller than a predetermined allowable value. Processing is performed.

図20に示すクロック回路を含む半導体集積回路に、図19に示す手順を適用した場合の詳細を説明する。図20に示すクロック回路は、第1のクロック回路81、第1のフリップフロップ82、第2のクロック回路83、および第2のフリップフロップ84を備えている。第1および第2のフリップフロップ82、84は、与えられたクロック信号CKに同期して動作する。より詳細には、第1のクロック回路81は、クロック信号CKに基づき第1のクロック信号CK1を生成し、第1のフリップフロップ82は、第1のクロック信号CK1に同期して動作する。第2のクロック回路83および第2のフリップフロップ84も、これと同様に動作する。   The details when the procedure shown in FIG. 19 is applied to the semiconductor integrated circuit including the clock circuit shown in FIG. 20 will be described. The clock circuit shown in FIG. 20 includes a first clock circuit 81, a first flip-flop 82, a second clock circuit 83, and a second flip-flop 84. The first and second flip-flops 82 and 84 operate in synchronization with the applied clock signal CK. More specifically, the first clock circuit 81 generates the first clock signal CK1 based on the clock signal CK, and the first flip-flop 82 operates in synchronization with the first clock signal CK1. The second clock circuit 83 and the second flip-flop 84 operate in the same manner.

以下、クロック信号CKの供給点から第1のクロック回路81を経由して第1のフリップフロップ82に至る経路を、第1のクロック経路といい、クロック信号CKの供給点から第2のクロック回路83を経由して第2のフリップフロップ84に至る経路を、第2のクロック経路という。図20に示すように、第1のクロック経路上には4個の論理セルが存在し、第2のクロック経路上には5個の論理セルが存在している。なお、図20において、論理セルに付されたA、B、Cなどの文字は、論理セルの種類を表す。   Hereinafter, a path from the supply point of the clock signal CK to the first flip-flop 82 via the first clock circuit 81 is referred to as a first clock path, and the second clock circuit from the supply point of the clock signal CK. A path that reaches the second flip-flop 84 via 83 is referred to as a second clock path. As shown in FIG. 20, there are four logic cells on the first clock path and five logic cells on the second clock path. In FIG. 20, characters such as A, B, and C attached to the logic cell indicate the type of the logic cell.

第1のクロック経路上に存在する論理セルの段数は4段、第2のクロック経路上に存在する論理セルの段数は5段であるから(ステップS402)、両者の差は1段である(ステップS403)。ここで、段数差1段あたり50ピコ秒の設計マージンを設定することとすると、この場合の設計マージンは50ピコ秒となる。そこで、求めた値50ピコ秒を、クロック経路の差を吸収するための設計マージンとして、第1のフリップフロップ82と第2のフリップフロップ84との間のタイミング制約に設定する(ステップS404)。次に、50ピコ秒の設計マージンを設定した後のタイミング制約に従って、第1および第2のフリップフロップ82、84にクロック信号およびデータ入力信号を供給するクロック回路について、タイミング調整を行う(ステップS405)。   Since the number of logic cells existing on the first clock path is 4 and the number of logic cells existing on the second clock path is 5 (step S402), the difference between the two is 1 ( Step S403). Here, if a design margin of 50 picoseconds per stage difference is set, the design margin in this case is 50 picoseconds. Therefore, the obtained value of 50 picoseconds is set as a timing constraint between the first flip-flop 82 and the second flip-flop 84 as a design margin for absorbing the clock path difference (step S404). Next, timing adjustment is performed for the clock circuit that supplies the clock signal and the data input signal to the first and second flip-flops 82 and 84 in accordance with the timing constraint after setting the design margin of 50 picoseconds (step S405). ).

以下、本実施形態に係る設計方法を用いて、図20に示すクロック回路を含む半導体集積回路を設計する場合の効果を説明する。従来、フリップフロップ間のタイミング制約に、クロック経路上に存在する論理セルの段数を吸収するための設計マージンを設定することは知られていなかった。一般に、クロック経路間に論理セルの段数の差があると、当該クロック経路間では遅延時間の構成要因に差異が生じ、製造された半導体集積回路では、当該クロック経路間で遅延時間の変動が起こりやすくなる。このため、従来の手法による半導体集積回路では、製造ばらつきにより、タイミングエラーが発生しやすい。   Hereinafter, an effect of designing a semiconductor integrated circuit including the clock circuit shown in FIG. 20 using the design method according to the present embodiment will be described. Conventionally, it has not been known to set a design margin for absorbing the number of stages of logic cells existing on a clock path as a timing constraint between flip-flops. In general, if there is a difference in the number of stages of logic cells between clock paths, there is a difference in the constituent factors of the delay time between the clock paths, and in the manufactured semiconductor integrated circuit, the delay time varies between the clock paths. It becomes easy. For this reason, in a semiconductor integrated circuit according to a conventional method, a timing error is likely to occur due to manufacturing variations.

これに対して、本実施形態に係る設計方法では、フリップフロップ間のタイミング制約に、クロック経路上に存在する論理セルの段数を吸収するための設計マージンが設定される。このため、クロック経路間に論理セルの段数の差があり、クロック経路間では遅延時間の構成要因に差異がある場合でも、その差異は設定された設計マージンによって吸収される。したがって、製造された半導体集積回路では、クロック経路間で遅延時間の変動が起こりにくい。よって、本実施形態に係る半導体集積回路の設計方法によれば、タイミングエラーが発生しにくい半導体集積回路を得ることができる。   In contrast, in the design method according to the present embodiment, a design margin for absorbing the number of stages of logic cells existing on the clock path is set in the timing constraint between the flip-flops. For this reason, there is a difference in the number of logic cells between the clock paths, and even if there are differences in the constituent factors of the delay time between the clock paths, the differences are absorbed by the set design margin. Therefore, in the manufactured semiconductor integrated circuit, the delay time hardly varies between clock paths. Therefore, according to the method for designing a semiconductor integrated circuit according to the present embodiment, a semiconductor integrated circuit in which a timing error is unlikely to occur can be obtained.

本実施形態に係る半導体集積回路の設計方法については、以下に示す変形例を構成することができる。第1の変形例として、クロック経路の特性として、クロック経路上に存在する論理セルの種類ごとの個数を使用することができる。この第1の変形例に係る設計方法を実行するには、図19に示すステップS402では、各クロック経路の特性として、クロック経路上に存在する論理素子の段数に代えて、クロック経路上に存在する論理セルの種類ごとの個数を求め、ステップS403では論理セルの種類ごとの個数の差を求め、ステップS404では求めた差に応じた時間を設計マージンとして設定すればよい。   About the design method of the semiconductor integrated circuit which concerns on this embodiment, the modification shown below can be comprised. As a first modification, the number of logic cells existing on the clock path can be used as the characteristic of the clock path. In order to execute the design method according to the first modification, in step S402 shown in FIG. 19, the characteristics of each clock path exist on the clock path instead of the number of logic elements existing on the clock path. In step S403, the difference in the number of logic cells is obtained, and in step S404, the time corresponding to the obtained difference is set as a design margin.

第1の変形例に係る方法を、図20に示すクロック回路を含む半導体集積回路に適用する場合の詳細を説明する。第1のクロック経路上には、種類A、B、CおよびDの論理セルがそれぞれ1個ずつ存在し、第2のクロック経路上には、種類A、BおよびDの論理セルがそれぞれ3個、1個および1個存在するので、論理セルの種類ごとの個数の差は、種類Aが2個、種類Cが1個である。ここで、種類A、B、CおよびDの論理セル1個につき、それぞれ1.0%、1.1%、1.2%および1.3%の設計マージンを設定することとすると、この場合の設計マージンMGは、次式(6)より、3.2%となる。
MG=1.0×2+1.2×1=3.2 …(6)
したがって、第1および第2のフリップフロップ82、84に信号を供給する回路のタイミング調整は、求めた値3.2%をクロック経路の差を吸収するための設計マージンとして設定したタイミング制約に従って行われる。
Details of the case where the method according to the first modification is applied to a semiconductor integrated circuit including the clock circuit shown in FIG. 20 will be described. One type A, B, C, and D logic cells each exist on the first clock path, and three types A, B, and D logic cells each exist on the second clock path. Since there are one and one, the difference in the number of each logic cell type is two for type A and one for type C. Here, assuming that design margins of 1.0%, 1.1%, 1.2%, and 1.3% are set for each logic cell of types A, B, C, and D, respectively, The design margin MG is 3.2% from the following equation (6).
MG = 1.0 × 2 + 1.2 × 1 = 3.2 (6)
Therefore, the timing adjustment of the circuits that supply signals to the first and second flip-flops 82 and 84 is performed in accordance with the timing constraint in which the obtained value of 3.2% is set as the design margin for absorbing the clock path difference. Is called.

また、第2の変形例として、クロック経路の特性として、クロック経路上に存在する配線の種類および遅延時間を使用することができる。図21は、本実施形態の第2の変形例に係る半導体集積回路の設計方法を示すフローチャートである。図21に示すフローチャートにおいて、ステップS401およびS405は、図19に示すフローチャートに示したものと同じである。   As a second modification, the type of wiring and delay time existing on the clock path can be used as the characteristics of the clock path. FIG. 21 is a flowchart showing a method for designing a semiconductor integrated circuit according to the second modification of the present embodiment. In the flowchart shown in FIG. 21, steps S401 and S405 are the same as those shown in the flowchart shown in FIG.

図21に示す手順によれば、クロック経路を抽出した後(ステップS401)、抽出した各クロック経路の特性として、各クロック経路の配線の種類を求める(ステップS412)。次に、設計すべき半導体集積回路から順にフリップフロップのペアを選択し、各ペアについて、一方のフリップフロップに至るクロック経路上に存在する配線の集合と、他方のフリップフロップに至るクロック経路上に存在する配線の集合とについて、次式(7)によって定義される部分マージンmgを求めて、2つの部分マージンの和MGSを求める(ステップS413)。
mg=Σ(di×mi) …(7)
ただし、上式(7)において、diおよびmiは、それぞれクロック経路上に存在するi番目の配線の遅延時間および配線マージンであり、記号Σは1本のクロック経路について総和を求めることを表す。配線マージンmiは、配線の種類に応じて、例えば、1倍幅配線は0.8、2倍幅配線は0.4、3倍幅配線は0.1などのように決定される。
According to the procedure shown in FIG. 21, after extracting clock paths (step S401), the type of wiring of each clock path is obtained as the characteristics of each extracted clock path (step S412). Next, a pair of flip-flops is selected in order from the semiconductor integrated circuit to be designed, and for each pair, a set of wirings existing on the clock path leading to one flip-flop and a clock path leading to the other flip-flop For a set of existing wirings, a partial margin mg defined by the following equation (7) is obtained, and a sum MGS of two partial margins is obtained (step S413).
mg = Σ (di × mi) (7)
In the above equation (7), di and mi are the delay time and the wiring margin of the i-th wiring existing on the clock path, respectively, and the symbol Σ represents that the sum is obtained for one clock path. The wiring margin mi is determined according to the type of wiring, for example, 0.8 for a double-width wiring, 0.4 for a double-width wiring, 0.1 for a triple-width wiring, and the like.

次に、求めた部分マージンの和MGSを、クロック経路の差を吸収するための設計マージンとして、ステップS413で選択したフリップフロップのペア間のタイミング制約に設定して(ステップS414)、回路のタイミング調整を行う(ステップS405)。   Next, the sum MGS of the obtained partial margins is set as a timing margin between the pair of flip-flops selected in step S413 as a design margin for absorbing the clock path difference (step S414), and the circuit timing is set. Adjustment is performed (step S405).

第2の変形例に係る方法を、図22に示すクロック回路を含む半導体集積回路に適用する場合の詳細を説明する。図22は、図20に示したクロック回路を、各クロック経路上に存在する配線の遅延時間および配線の幅とともに示した図である。図22において、配線に付された記号d**(*は1文字の数字)は各配線の遅延時間を、記号W1〜3は、それぞれ1〜3倍幅の配線を表す(ステップS412)。   Details of a case where the method according to the second modification is applied to a semiconductor integrated circuit including the clock circuit shown in FIG. 22 will be described. FIG. 22 is a diagram showing the clock circuit shown in FIG. 20 together with the delay time and the width of the wiring existing on each clock path. In FIG. 22, the symbol d ** (* is a single character number) attached to the wiring represents the delay time of each wiring, and the symbols W1 to W3 represent the wiring having a width of 1 to 3 times (step S412).

ここで、配線マージンmiを、例示したように1倍幅配線は0.8、2倍幅配線は0.4、3倍幅の配線は0.1と決定すると、第1および第2のクロック経路の部分マージンmg1、mg2は、それぞれ、次式(8)および(9)に示すようになり、その和MGSは、次式(10)に示すようになる(ステップS413)。
mg1=(d11+d12)×0.1+ d13 ×0.4+(d14+d15)×0.8 …(8)
mg2=(d21+d22)×0.1+(d23+d24)×0.4+(d25+d26)×0.8 …(9)
MGS=(d11+d12+d21+d22)×0.1+(d13+d23+d24)×0.4
+(d14+d15+d25+d26)×0.8 …(10)
したがって、第1および第2のフリップフロップ82、84にクロック信号およびデータ入力信号を供給する回路のタイミング調整は、上式(10)によって算出される値をクロック経路の差を吸収するための設計マージンとして設定したタイミング制約に従って行われる。
Here, when the wiring margin mi is determined to be 0.8 for the single-width wiring, 0.4 for the double-width wiring, and 0.1 for the triple-width wiring, as illustrated, the first and second clocks The partial margins mg1 and mg2 of the path are as shown in the following expressions (8) and (9), respectively, and the sum MGS is as shown in the following expression (10) (step S413).
mg1 = (d11 + d12) × 0.1 + d13 × 0.4 + (d14 + d15) × 0.8 (8)
mg2 = (d21 + d22) × 0.1 + (d23 + d24) × 0.4 + (d25 + d26) × 0.8 (9)
MGS = (d11 + d12 + d21 + d22) × 0.1 + (d13 + d23 + d24) × 0.4
+ (D14 + d15 + d25 + d26) × 0.8 (10)
Therefore, the timing adjustment of the circuit that supplies the clock signal and the data input signal to the first and second flip-flops 82 and 84 is designed to absorb the difference between the clock paths using the value calculated by the above equation (10). This is performed according to the timing constraint set as the margin.

上述した以外にも、クロック経路の特性として、クロック経路上に存在する配線のピッチやシールドの有無などを考慮してもよい。また、求めたクロック経路の特性に基づき、いかなる方法で設計マージンを求めるかは任意である。これら各変形例に係る半導体集積回路の設計方法は、いずれも、図19に示す設計方法と同様の効果を奏する。   In addition to the above, as the characteristics of the clock path, the pitch of the wiring existing on the clock path, the presence or absence of a shield, and the like may be considered. Further, it is arbitrary how to obtain the design margin based on the obtained characteristics of the clock path. Each of the semiconductor integrated circuit design methods according to these modifications has the same effects as the design method shown in FIG.

本発明の半導体集積回路およびその設計方法は、クロック信号の供給に関して従来よりも優れた特徴を有するので、主にロジック回路によって構成される半導体集積回路、ロジック回路とメモリ回路との両方を含む半導体集積回路など、各種の半導体集積回路およびその設計方法に利用することができる。   Since the semiconductor integrated circuit and the design method thereof according to the present invention have characteristics superior to those of the prior art with respect to the supply of the clock signal, the semiconductor integrated circuit mainly constituted by the logic circuit, the semiconductor including both the logic circuit and the memory circuit The present invention can be used for various semiconductor integrated circuits such as integrated circuits and design methods thereof.

本発明の第1の実施形態に係る半導体集積回路の構成を示す図The figure which shows the structure of the semiconductor integrated circuit which concerns on the 1st Embodiment of this invention. トランジスタのレイアウト図Transistor layout diagram フリップフロップのセットアップマージンおよびホールドマージンを示す図Diagram showing flip-flop setup and hold margins 本発明の第1の実施形態に係る半導体集積回路の効果を説明するための図The figure for demonstrating the effect of the semiconductor integrated circuit which concerns on the 1st Embodiment of this invention 本発明の第1の実施形態の変形例に係る半導体集積回路の効果を説明するための図The figure for demonstrating the effect of the semiconductor integrated circuit which concerns on the modification of the 1st Embodiment of this invention. 本発明の第2の実施形態に係る半導体集積回路の設計方法によって設計される半導体集積回路の構成を示す図The figure which shows the structure of the semiconductor integrated circuit designed by the design method of the semiconductor integrated circuit which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係る半導体集積回路の設計方法を示すフローチャート7 is a flowchart showing a method for designing a semiconductor integrated circuit according to the second embodiment of the present invention. 本発明の第3の実施形態に係る半導体集積回路の設計方法を示すフローチャート7 is a flowchart showing a method for designing a semiconductor integrated circuit according to the third embodiment of the present invention. 本発明の第3の実施形態に係る半導体集積回路の設計方法によって設計されるクロック回路を示す図The figure which shows the clock circuit designed by the design method of the semiconductor integrated circuit concerning the 3rd Embodiment of this invention トランジスタにおけるトグル回数と遅延時間の変動率との関係を示す図The figure which shows the relationship between the frequency | count of toggle in a transistor, and the variation rate of delay time 本発明の第4の実施形態に係る半導体集積回路の構成を示す図The figure which shows the structure of the semiconductor integrated circuit which concerns on the 4th Embodiment of this invention. 本発明の第4の実施形態に係る半導体集積回路の他の構成を示す図The figure which shows the other structure of the semiconductor integrated circuit based on the 4th Embodiment of this invention. 本発明の第5の実施形態に係る半導体集積回路の構成を示す図The figure which shows the structure of the semiconductor integrated circuit which concerns on the 5th Embodiment of this invention. 本発明の第5の実施形態に係る半導体集積回路のトグル調整回路の詳細な構成を示す図The figure which shows the detailed structure of the toggle adjustment circuit of the semiconductor integrated circuit which concerns on the 5th Embodiment of this invention. 本発明の第5の実施形態に係る半導体集積回路のトグル調整回路に含まれるセレクタの入出力関係を示すテーブルTable showing the input / output relationship of the selectors included in the toggle adjustment circuit of the semiconductor integrated circuit according to the fifth embodiment of the present invention 本発明の第5の実施形態に係る半導体集積回路の使用形態を示す図The figure which shows the usage type of the semiconductor integrated circuit which concerns on the 5th Embodiment of this invention 本発明の第6の実施形態に係る半導体集積回路の設計方法を示すフローチャートFlowchart showing a method for designing a semiconductor integrated circuit according to the sixth embodiment of the present invention. 本発明の第6の実施形態の変形例に係る半導体集積回路の設計方法を示すフローチャート10 is a flowchart showing a method for designing a semiconductor integrated circuit according to a modification of the sixth embodiment of the present invention. 本発明の第7の実施形態に係る半導体集積回路の設計方法を示すフローチャートFlowchart showing a method for designing a semiconductor integrated circuit according to the seventh embodiment of the present invention. 本発明の第7の実施形態に係る半導体集積回路の設計方法によって設計されるクロック回路を示す図The figure which shows the clock circuit designed by the design method of the semiconductor integrated circuit concerning the 7th Embodiment of this invention 本発明の第7の実施形態の第2の変形例に係る半導体集積回路の設計方法を示すフローチャートFlowchart showing a method for designing a semiconductor integrated circuit according to a second modification of the seventh embodiment of the present invention. 本発明の第7の実施形態の第2の変形例に係る半導体集積回路の設計方法によって設計されるクロック回路を示す図The figure which shows the clock circuit designed by the design method of the semiconductor integrated circuit which concerns on the 2nd modification of the 7th Embodiment of this invention

符号の説明Explanation of symbols

11、12、31、33、35、41、43、51、52、81、83…クロック回路
13、15、34、36、42、44、82、84…フリップフロップ
14…組合せ回路
16、17…論理セル
21、23、24…拡散領域
22…ポリシリコン領域
25…不要な拡散領域
30、70…半導体集積回路
32、53…回路ブロック
45、73…ANDゲート
54…トグル計数回路
55…デコーダ
56、58…トグル回数格納レジスタ
57、62…セレクタ
59…トグル調整回路
61…比較回路
71…水晶振動子
72…クロック生成回路
CK、CK1〜CK3、ck1〜ck3…クロック信号
CEN、CEN2、CEN3…クロックイネーブル信号
TC1〜TC3…トグル回数
DBUS…データバス
EN1〜EN3…イネーブル信号
CK0…調整クロック信号
MODE…モード選択信号
S1〜S3…選択制御信号
11, 12, 31, 33, 35, 41, 43, 51, 52, 81, 83 ... Clock circuits 13, 15, 34, 36, 42, 44, 82, 84 ... Flip-flops 14 ... Combination circuits 16, 17 ... Logic cells 21, 23, 24 ... Diffusion region 22 ... Polysilicon region 25 ... Unnecessary diffusion region 30, 70 ... Semiconductor integrated circuit 32, 53 ... Circuit block 45, 73 ... AND gate 54 ... Toggle counting circuit 55 ... Decoder 56, 58 ... Toggle count storage registers 57 and 62 ... Selector 59 ... Toggle adjustment circuit 61 ... Comparison circuit 71 ... Crystal oscillator 72 ... Clock generation circuit CK, CK1 to CK3, ck1 to ck3 ... Clock signals CEN, CEN2, CEN3 ... Clock enable Signals TC1 to TC3 ... Toggle count DBUS ... Data buses EN1 to EN3 ... Enable signal CK0 ... Control Clock signal MODE ... mode selection signal S1~S3 ... selection control signal

Claims (2)

クロック信号に同期して動作する半導体集積回路の設計方法であって、
クロック経路上に存在できる論理セルの種類を指定するステップと、
半導体集積回路に含まれる各クロック経路について、クロック経路上に存在する論理セルが指定された種類の論理セルであるか否かを判定するステップとを備えた、半導体集積回路の設計方法。
A method of designing a semiconductor integrated circuit that operates in synchronization with a clock signal,
Specifying the types of logic cells that can exist on the clock path;
A method for designing a semiconductor integrated circuit, comprising: for each clock path included in the semiconductor integrated circuit, determining whether or not a logic cell existing on the clock path is a specified type of logic cell.
クロック経路上に存在できない論理セルの種類に対応して、当該論理セルと論理的に等価で、クロック経路上に存在できる論理セルの種類を指定するステップと、
前記判定結果に基づき、前記半導体集積回路に含まれる各クロック経路について、クロック経路上に存在する、クロック経路上に存在できない種類の論理セルを、当該論理セルの種類に対応した、クロック経路上に存在できる種類の論理セルに置換するステップとをさらに備えた、請求項1に記載の半導体集積回路の設計方法。

Designating a type of logic cell that is logically equivalent to the logic cell and can exist on the clock path, corresponding to the type of logic cell that cannot exist on the clock path;
Based on the determination result, for each clock path included in the semiconductor integrated circuit, a type of logic cell that exists on the clock path and cannot exist on the clock path is placed on the clock path corresponding to the type of the logic cell. The method for designing a semiconductor integrated circuit according to claim 1, further comprising a step of replacing with a logic cell of a kind that can exist.

JP2006107775A 2006-04-10 2006-04-10 Method of designing semiconductor integrated circuit Pending JP2006270109A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006107775A JP2006270109A (en) 2006-04-10 2006-04-10 Method of designing semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006107775A JP2006270109A (en) 2006-04-10 2006-04-10 Method of designing semiconductor integrated circuit

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003322171A Division JP2005093563A (en) 2003-09-12 2003-09-12 Semiconductor integrated circuit and method of designing same

Publications (1)

Publication Number Publication Date
JP2006270109A true JP2006270109A (en) 2006-10-05

Family

ID=37205649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006107775A Pending JP2006270109A (en) 2006-04-10 2006-04-10 Method of designing semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2006270109A (en)

Similar Documents

Publication Publication Date Title
US20060253823A1 (en) Semiconductor integrated circuit and method for designing same
US20170061057A1 (en) Integrated circuit design method reducing clock power and integrated clock gater merged with flip-flops
JP4224094B2 (en) Semiconductor integrated circuit device
US8255851B1 (en) Method and system for timing design
CN112069763B (en) Method for correcting circuit
US20110113280A1 (en) Circuit and method for efficient memory repair
US8086989B2 (en) Structure for glitchless clock multiplexer optimized for synchronous and asynchronous clocks
JP2011039925A (en) Circuit design support method, circuit design support apparatus and circuit design support program
JP2006146601A (en) Layout design method for semiconductor integrated circuit
US20110295536A1 (en) Clock jitter analyzing method and apparatus
US10354029B2 (en) Method for equipping registers of an integrated circuit to detect timing violations
US8453090B2 (en) System and method for optimizing logic timing
JP3978222B2 (en) Semiconductor integrated circuit design method
US7624361B2 (en) Method and device for designing semiconductor integrated circuit
JP2006270109A (en) Method of designing semiconductor integrated circuit
JP2006313894A (en) Semiconductor integrated circuit and design method thereof
JP2000091506A (en) Semiconductor integrated circuit
JP4385234B2 (en) Semiconductor integrated circuit device, clock pulse optimization method for the same, and program thereof
WO2012117530A1 (en) Signal delay device, signal delay device control method
US10747924B2 (en) Method for manufacturing integrated circuit with aid of pattern based timing database indicating aging effect
JP5471437B2 (en) Semiconductor integrated circuit device and cache memory control method
US7480607B2 (en) Circuit design verification
JP5533424B2 (en) Integrated circuit device and skew adjustment method for integrated circuit device
Lu et al. Register on MEsh (ROME): A novel approach for clock mesh network synthesis
JP5439964B2 (en) Delay comparison circuit, delay comparison method, delay circuit, and semiconductor integrated circuit

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060927

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070201