JP2000208632A - Design method for semiconductor integrated circuit - Google Patents

Design method for semiconductor integrated circuit

Info

Publication number
JP2000208632A
JP2000208632A JP11006992A JP699299A JP2000208632A JP 2000208632 A JP2000208632 A JP 2000208632A JP 11006992 A JP11006992 A JP 11006992A JP 699299 A JP699299 A JP 699299A JP 2000208632 A JP2000208632 A JP 2000208632A
Authority
JP
Japan
Prior art keywords
clock
circuit
synthesis
logic
flip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11006992A
Other languages
Japanese (ja)
Inventor
Hiroshi Kaga
博史 加賀
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP11006992A priority Critical patent/JP2000208632A/en
Publication of JP2000208632A publication Critical patent/JP2000208632A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To optimize a circuit area by assuming clock tree synthesis for optimization of clock signal timing skew at an arrangement/wiring process, for optimizing a logic circuit in a logical synthesization process. SOLUTION: In a logical synthesis, a clock driver 13 connected to a clock terminal of a flip flop 10 is limited. An output terminal 12 of the clock driver 13 is allowed to connect only to an input terminal 14 of the clock driver 13 and the clock terminal of the flip flop 10. The number of block blocks allowed to be connected and a circuit area for the output terminal of the clock driver 13 is defined to be identical with the fan out number of the clock driver 13 used in a clock tree synthesis performed in an arrangement/wiring process. Thus, such gate level circuit as a circuit area is equal to a gate level circuit is synthesized with an optimum circuit area at logical synthesis.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、配置配線工程でク
ロック信号のタイミングスキューの最適化を図るクロッ
クツリーシンセシスを行うことを想定し、論理合成工程
時に論理回路の最適化を可能とする半導体集積回路設計
方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is based on the assumption that clock tree synthesis for optimizing the timing skew of a clock signal is performed in a placement and routing process, and that a semiconductor integrated circuit that can optimize a logic circuit in a logic synthesis process is provided. It relates to a circuit design method.

【0002】[0002]

【従来の技術】従来より半導体集積回路内には多数のフ
リップフロップが他の論理素子とともに配置配線され論
理回路を構成している。フリップフロップはクロック入
力端子を有し、クロック信号に同期して動作することに
よって回路全体が機能する。信号相互間の論理的関係
は、全てのフリップフロップにおいてクロック信号が、
要求される精度の範囲内で同時刻に動作することを前提
として設計されている。
2. Description of the Related Art Conventionally, a large number of flip-flops are arranged and wired together with other logic elements in a semiconductor integrated circuit to constitute a logic circuit. The flip-flop has a clock input terminal, and operates in synchronization with a clock signal, whereby the entire circuit functions. The logical relationship between the signals is that the clock signal in every flip-flop is
It is designed to operate at the same time within the required accuracy range.

【0003】多数のフリップフロップが同期をとるため
のクロック信号は、集積回路のクロック端子より外部か
ら供給され、クロックドライバを介して各フリップフロ
ップに分岐入力される。このとき、1個のクロックドラ
イバで駆動できるフリップフロップ数は、回路全体のフ
リップフロップ数に比べ圧倒的に少ないことが一般であ
る。従って、回路全体のフリップフロップにクロック信
号を供給するためには多数のクロックドライバによって
構成されたクロック信号のネットワーク(以下クロック
ツリーと記述する。)を形成し、このクロックツリーを
介してクロック信号を各フリップフロップに供給する必
要がある。
A clock signal for synchronizing a large number of flip-flops is externally supplied from a clock terminal of an integrated circuit, and is branched and input to each flip-flop via a clock driver. At this time, the number of flip-flops that can be driven by one clock driver is generally much smaller than the number of flip-flops of the entire circuit. Therefore, in order to supply a clock signal to the flip-flops of the entire circuit, a clock signal network (hereinafter, referred to as a clock tree) formed by a large number of clock drivers is formed, and the clock signal is transmitted through the clock tree. It must be supplied to each flip-flop.

【0004】従来、このクロックツリーを介してクロッ
ク信号をすべてのフリップフロップに同時刻に与えるた
めの配置配線工程において、フリップフロップの配置と
接続されるクロック配線の配線長を考慮してクロックツ
リーを構成する手法(以下クロックツリーシンセシスと
記述する。)が採用されてきた。
Conventionally, in a placement and routing step for applying a clock signal to all flip-flops at the same time via the clock tree, the clock tree is arranged in consideration of the layout of the flip-flops and the wiring length of the clock wiring connected thereto. A configuration technique (hereinafter referred to as clock tree synthesis) has been adopted.

【0005】しかしながら、従来のクロックツリーシン
セシスは、論理合成によって生成されたゲートレベル回
路を処理するものである。このため、論理合成における
クロックツリーシンセシスでは、次の配置配線工程にお
けるクロックツリーシンセシスで再構成されるクロック
ツリーを考慮することは困難である。すなわち、このよ
うな従来の論理合成では、クロックツリーシンセシスに
よって最終的に決定されるクロックツリーを含む回路規
模を予測することができないため、結果的に回路面積の
最適化ができないという問題点があった。
[0005] However, conventional clock tree synthesis processes a gate level circuit generated by logic synthesis. Therefore, in clock tree synthesis in logic synthesis, it is difficult to consider a clock tree reconfigured in clock tree synthesis in the next placement and routing step. That is, in such conventional logic synthesis, it is not possible to predict the circuit scale including the clock tree finally determined by the clock tree synthesis, so that the circuit area cannot be optimized as a result. Was.

【0006】ここで、具体的な従来技術の第1例とし
て、特開平6−251104号公報に上記問題点を解決
するものが開示されている。
Here, as a first example of a specific prior art, Japanese Patent Application Laid-Open No. 6-251104 discloses a solution to the above problem.

【0007】この従来技術の第1例においては、論理合
成時に機能シミュレーションの結果を参照し、クロック
ツリーシンセシスを論理合成工程で行うことが提案され
ている。
In the first example of the prior art, it is proposed that clock tree synthesis be performed in a logic synthesis step by referring to the result of functional simulation during logic synthesis.

【0008】しかしながら、フリップフロップに供給さ
れるクロック信号の同時刻性を保証するためには、特に
フリップフロップに接続される配線長が大きく影響する
ことから、上記従来技術の第1例では機能シミュレーシ
ョンでは配線長を正確に計算する事ができないため、精
度の高いクロックツリーを上述の方法で構成することは
現実的に不可能であるといった問題点があった。
However, in order to guarantee the same time of the clock signal supplied to the flip-flop, the length of the wiring connected to the flip-flop is greatly affected. In this case, the wiring length cannot be calculated accurately, so that there is a problem that it is practically impossible to construct a highly accurate clock tree by the above-described method.

【0009】さらに、論理合成手法を用いた半導体集積
回路の設計において、順序回路に接続されるクロック信
号のタイミング・スキューの最適化を論理合成時に考慮
することができないため、クロックツリー回路の面積を
正しく合成することができず、結果的にチップ面積が最
適化できないといった問題点もあった。
Furthermore, in the design of a semiconductor integrated circuit using the logic synthesis technique, the optimization of the timing skew of the clock signal connected to the sequential circuit cannot be considered at the time of logic synthesis, so that the area of the clock tree circuit is reduced. There was also a problem that the synthesis could not be performed correctly, and as a result, the chip area could not be optimized.

【0010】その理由は、クロック信号のタイミング・
スキューの最適化は、回路の配置配線時に配置波線ツー
ルによって行う必要がある。これはタイミング・スキュ
ーが、回路を接続する配線長に大きく影響されるため、
実際の配置配線データを元に最適化する必要があるため
である。回路の配置配線はゲートレベル回路に対して行
われるが、論理合成を用いた半導体集積回路設計におい
ては、ゲートレベル回路は論理合成によって生成され
る。このため、論理合成時に配置配線時のタイミング・
スキューの最適化を正しく考慮することが困難なことに
起因する。
The reason is that the timing of the clock signal
It is necessary to optimize the skew with a placement wavy tool at the time of placement and wiring of a circuit. This is because the timing skew is greatly affected by the length of the wiring connecting the circuits,
This is because it is necessary to optimize based on actual placement and routing data. Although the circuit is arranged and wired for the gate level circuit, in the design of a semiconductor integrated circuit using logic synthesis, the gate level circuit is generated by logic synthesis. Therefore, the timing at the time of placement and routing during logic synthesis
This is because it is difficult to properly consider skew optimization.

【0011】さらに、クロックスキューの最適化を目的
とする従来技術の第2例として、特開平2−13491
9号公報に開示されるものがある。
Further, as a second example of the prior art for the purpose of optimizing the clock skew, Japanese Patent Application Laid-Open No. 2-13491 is disclosed.
There is one disclosed in Japanese Patent Application Laid-Open Publication No. 9-No.

【0012】この従来技術の第2例においては、LSI
が使用するクロック相を定義したLSIクロック相定義
データと当該LSI内の各フリップフロップが使用する
フリップフロップクロック相定義データからなるクロッ
ク分配回路の外部使用を入力することにより、クロック
相単位毎にフリップフロップをLSI内の複数の領域に
均等分配し、そして、各々の領域単位のフリップフロッ
プグループにクロック信号を分配するクロック分配論理
を生成してこのクロック分配論理を出力することによ
り、上記目的を達成している。
In the second example of the prior art, an LSI
Input the external use of a clock distribution circuit composed of LSI clock phase definition data defining the clock phase used by the LSI and the flip-flop clock phase definition data used by each flip-flop in the LSI. The above object is achieved by distributing clocks equally to a plurality of regions in an LSI, generating clock distribution logic for distributing a clock signal to flip-flop groups in each region unit, and outputting the clock distribution logic. are doing.

【0013】また、クロックスキューの最適化を目的と
する従来技術の第3例として、特開平10−12455
3号公報に開示されるものがある。
A third example of the prior art for optimizing clock skew is disclosed in Japanese Patent Laid-Open No. 10-12455.
There is an apparatus disclosed in Japanese Patent Publication No.

【0014】この従来技術の第3例においては、複数の
レジスタ及び組み合わせ回路が相互に接続され、クロッ
クパルスが複数のクロックバッファを介して各レジスタ
のクロック入力端子に供給され、これら各レジスタの値
は、クロックバッファを経由して外部から入力されたク
ロックパルスに同期して変化する同期型の論理回路にお
けるクロックツリー生成方法において、論理回路を構成
するレジスタ間に存在する組み合わせ回路による遅延時
間に応じて、レジスタを分類し、分類されたレジスタと
クロックパルスの周期時間に基づいて各レジスタにクロ
ックパルスを供給するクロックバッファの出力を選択す
るといったクロックツリー生成方法をとることにより上
記目的を達成している。
In the third example of the prior art, a plurality of registers and a combinational circuit are interconnected, a clock pulse is supplied to a clock input terminal of each register via a plurality of clock buffers, and the value of each register is Is a method of generating a clock tree in a synchronous logic circuit that changes in synchronization with a clock pulse externally input via a clock buffer, according to a delay time of a combinational circuit existing between registers constituting the logic circuit. In order to achieve the above object, a clock tree generation method of classifying registers and selecting an output of a clock buffer for supplying a clock pulse to each register based on the classified registers and the cycle time of the clock pulse is adopted. I have.

【0015】また、同じくクロックスキューの最適化を
目的とする従来技術の第4例として、特開平10−20
9287号公報に開示されるものがある。
As a fourth example of the prior art for the purpose of optimizing clock skew, Japanese Patent Laid-Open No.
There is one disclosed in Japanese Patent No. 9287.

【0016】この従来技術の第4例は、クロック信号に
同期動作される半導体集積回路におけるクロック供給系
をコンピュータを用いて設計する方法でにおいて、論理
設計された回路にクロック信号を供給する仮想クロック
バッファを想定し、仮想クロックバッファの出力端子か
らクロック信号供給先の入力端子に至るネットを生成す
る第1処理と、仮想クロックバッファの指定ディレイ値
を遵守してこの仮想クロックバッファを置き換えるため
の、少なくとも単数のクロックバッファを想定したクロ
ック供給経路を特定するためのクロック分配回路を生成
すると共に、クロック分配回路によって規定されるクロ
ック供給経路の各ネットにおけるディレイ値として予算
値を決定する第2処理と、論理設計された回路及びクロ
ック分配回路に従って回路セルを配置する第3処理と、
回路セルが配置されたときクロック分配回路の広がりを
同一レベルのクロックバッファ毎に最小化する第4処理
と、回路セルが配置されたときクロック分配回路の各ネ
ットに対応されるネットに対応されるネットのディレイ
値を予算値に適合させるために、このネットの回路素子
の配置を変更する第5処理とを含むクロック供給系のレ
イアウト設計方法である。
A fourth example of this prior art is a method of designing, using a computer, a clock supply system in a semiconductor integrated circuit operated in synchronization with a clock signal, wherein a virtual clock for supplying a clock signal to a logically designed circuit is provided. A first process of generating a net from an output terminal of the virtual clock buffer to an input terminal of a clock signal supply destination, assuming a buffer; and replacing the virtual clock buffer in accordance with a specified delay value of the virtual clock buffer. A second process of generating a clock distribution circuit for specifying a clock supply path assuming at least a single clock buffer, and determining a budget value as a delay value in each net of the clock supply path defined by the clock distribution circuit; According to the logic design circuit and the clock distribution circuit. A third process of placing the circuit cells Te,
Fourth processing for minimizing the spread of the clock distribution circuit for each clock buffer at the same level when the circuit cell is arranged, and corresponding to the net corresponding to each net of the clock distribution circuit when the circuit cell is arranged. In order to adapt the delay value of the net to the budget value, a fifth process of changing the arrangement of circuit elements of the net is a layout design method for a clock supply system.

【0017】しかしながら、上記の従来技術の第2、3
および4例は、いずれもゲートレベルすなわち配置配線
工程において回路面積の最適化を図っており、言語レベ
ルすなわち論理合成時にこの回路面積の最適化を図るこ
とができない。
However, the second and third prior arts described above.
In each of the four examples, the circuit area is optimized at the gate level, that is, at the placement and routing step, and the circuit area cannot be optimized at the language level, that is, at the time of logic synthesis.

【0018】[0018]

【発明が解決しようとする課題】本発明は、上記問題点
に鑑みてなされたものであり、論理合成時に、その後の
配置配線工程においてクロックツリーの最適化を行うこ
とを想定し、回路面積の最適化を達成する半導体集積回
路設計方法を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and assumes that a clock tree is optimized in a subsequent placement and routing step at the time of logic synthesis. An object of the present invention is to provide a semiconductor integrated circuit design method that achieves optimization.

【0019】[0019]

【課題を解決するための手段】かかる発明を達成するた
めに、請求項1記載の発明は、配置配線工程でクロック
信号のタイミングスキューの最適化を図るクロックツリ
ーシンセシスを行うことを想定し、論理合成工程時に論
理回路の最適化することを特徴とする。
In order to achieve this invention, the invention according to claim 1 assumes that a clock tree synthesis for optimizing a timing skew of a clock signal is performed in a placement and routing step. It is characterized in that the logic circuit is optimized during the synthesis process.

【0020】請求項2記載の発明は、請求項1記載の発
明において、論理合成工程は、論理回路内のフリップフ
ロップのクロック端子に接続可能なクロックドライバを
限定し、このクロックドライバの出力端子をフリップフ
ロップのクロック端子もしくは他のクロックドライバの
入力端子とのみ接続可能とすることを特徴とする。
According to a second aspect of the present invention, in the first aspect of the present invention, in the logic synthesizing step, a clock driver connectable to a clock terminal of a flip-flop in the logic circuit is limited, and an output terminal of the clock driver is connected. It is characterized in that it can be connected only to a clock terminal of a flip-flop or an input terminal of another clock driver.

【0021】請求項3記載の発明は、請求項2記載の発
明において、論理合成工程における接続は、配置配線工
程におけるクロックツリーシンセシスで使用されるクロ
ックドライバと面積が等しく、ファンアウト数が同数で
フリップフロップと接続されるように定義したことを特
徴とする。
According to a third aspect of the present invention, in the second aspect, the connection in the logic synthesis step has the same area as the clock driver used in the clock tree synthesis in the placement and routing step, and has the same number of fan-outs. It is characterized in that it is defined to be connected to a flip-flop.

【0022】請求項4記載の発明は、請求項1から3の
いずれか1項に記載の発明において、配置配線工程は、
論理合成工程で生成された論理回路におけるクロックド
ライバを、論理的に等価な単体バッファに置き換えるこ
とを特徴とする。
According to a fourth aspect of the present invention, in the invention according to any one of the first to third aspects, the placement and routing step includes the steps of:
The clock driver in the logic circuit generated in the logic synthesis step is replaced with a logically equivalent single buffer.

【0023】請求項5記載の発明は、請求項1から4の
いずれか1項に記載の発明において、配置配線工程は、
論理合成工程で生成された論理回路におけるクロックド
ライバを、論理的に等価な複数のバッファに置き換える
ことを特徴とする。
According to a fifth aspect of the present invention, in the invention according to any one of the first to fourth aspects, the placement and routing step includes the steps of:
The clock driver in the logic circuit generated in the logic synthesis step is replaced with a plurality of logically equivalent buffers.

【0024】請求項6記載の発明は、論理合成を用いる
特定用途向け集積回路の設計において、フリップロップ
のクロック端子に接続可能なクロックドライバを限定
し、このブロックドライバの出力端子をフリップフロッ
プのクロック端子、もしくは他のクロックドライバの入
力端子とのみ接続可能と定義し、かつ配置配線工程にお
いて回路全体のフリップフロップにクロック信号を供給
する多数のクロックドライバによって構成されたクロッ
クツリーを、フリップフロップの配置と接続されるクロ
ック信号の配線長を考慮し、クロック信号が全てのフリ
ップフロップに同時刻に到達するように再構成するいわ
ゆるクロックツリーシンセシスにおいて使用されるクロ
ックドライバのファンアウト数と、論理合成時における
クロックドライバの出力端子接続可能ブロック数すなわ
ちファンアウト数とを等価に定義して論理合成すること
を特徴とする。
According to a sixth aspect of the present invention, in designing an application-specific integrated circuit using logic synthesis, a clock driver connectable to a clock terminal of a flip-flop is limited, and an output terminal of the block driver is connected to a clock of a flip-flop. A clock tree composed of a large number of clock drivers that supply clock signals to flip-flops of the entire circuit in the placement and routing process, defining a terminal or an input terminal of another clock driver as being connectable only, The number of fan-outs of the clock driver used in so-called clock tree synthesis, which reconfigures the clock signal to reach all flip-flops at the same time, taking into account the wiring length of the clock signal connected to the Of clock driver in Number Power terminals connectable block or define equivalently the number of fan-out, characterized in that logic synthesis.

【0025】請求項7記載の発明は、請求項6記載の発
明において、論理合成によって生成されたゲートレベル
回路のクロックツリー回路を抽出し、論理的に等価なバ
ッファに置換し、配置配線工程においてクロックツリー
シンセシスを行うこと特徴とする。
According to a seventh aspect of the present invention, the clock tree circuit of the gate level circuit generated by the logic synthesis is extracted and replaced with a logically equivalent buffer. It is characterized by performing clock tree synthesis.

【0026】即ち、本発明によれば、配置配線工程にお
いてクロック信号のタイミング・スキューの最適化を図
るためのクロックツリーシンセシスを行うことを想定
し、論理合成時に回路面積の最適化を可能とするべく以
下の設計手法を考案した。
That is, according to the present invention, it is assumed that clock tree synthesis for optimizing the timing skew of a clock signal is performed in the placement and routing step, and the circuit area can be optimized during logic synthesis. The following design method has been devised.

【0027】第1に、論理合成工程において、フリップ
ロップのクロック端子に接続可能なバッファ(以下クロ
ックドライバーと記述する。)を限定し、このクロック
ドライバーの出力端子をフリップフロップのクロック端
子、もしくは他のクロックドライバーの入力端子とのみ
接続可能と定義する。また、このクロックドライバーの
出力端子接続可能ブロック数(以下ファンアウト数と記
述する。)と回路面積を、配置配線工程において実行さ
れるクロックツリーシンセシスで使用されるクロックド
ライバーのファンアウト数と同じに定義する。以上の条
件で論理合成を実行する。
First, in the logic synthesizing step, a buffer (hereinafter, referred to as a clock driver) connectable to a clock terminal of a flip-flop is limited, and an output terminal of the clock driver is connected to a clock terminal of a flip-flop or another terminal. Can be connected only to the input terminal of the clock driver. In addition, the number of output terminal connectable blocks (hereinafter referred to as the number of fan-outs) and the circuit area of the clock driver are made the same as the number of fan-outs of the clock driver used in the clock tree synthesis executed in the placement and routing process. Define. Logic synthesis is executed under the above conditions.

【0028】第2に、上記論理合成によって生成され
た、ゲートレベル回路におけるクロックドライバーの接
続を、ゲートレベル回路のネットリストより抽出し、こ
れを論理的に等価な単体バッファに置き換える工程を論
理合成後に設定する。この単体バッファを配置配線工程
におけるクロックツリーシンセシスの対象とする。
Second, the logic synthesizing step of extracting the connection of the clock driver in the gate level circuit generated by the above logic synthesis from the net list of the gate level circuit and replacing it with a logically equivalent single buffer is described. Set later. This single buffer is subjected to clock tree synthesis in the placement and routing process.

【0029】上述した手段によって、以下の効果が得ら
れる。第1の手段によって、論理合成時にクロックツリ
ーを構成するクロックドライバーの回路面積が、配置配
線工程においてクロックツリーシンセシスを実行した後
のの回路面積と等価になる。
The following effects can be obtained by the means described above. By the first means, the circuit area of the clock driver forming the clock tree at the time of logic synthesis becomes equivalent to the circuit area after executing the clock tree synthesis in the placement and routing step.

【0030】その後、第2の手段よって、手段1を用い
た論理合成によって生成されたゲートレベル回路を配置
配線工程で従来のクロックツリーシンセシスを使用する
事が可能となる。よって、上述の2手段によって、配置
配線時にクロック信号のタイミング・スキューを最適化
するため、クロックツリーシンセシスを実行する場合に
おいても、論理合成時に回路面積を最適化することが可
能となる。
After that, the second means makes it possible to use the conventional clock tree synthesis in the placement and routing step of the gate level circuit generated by the logic synthesis using the means 1. Therefore, by the above two means, the timing skew of the clock signal is optimized at the time of placement and routing, so that even when executing clock tree synthesis, it is possible to optimize the circuit area at the time of logic synthesis.

【0031】[0031]

【発明の実施の形態】以下、本発明による半導体集積回
路設計方法の実施の形態を図面を参照しながら詳細に説
明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the method for designing a semiconductor integrated circuit according to the present invention will be described below in detail with reference to the drawings.

【0032】図1は、本発明による半導体集積回路設計
方法の実施の形態における動作例を示すフローチャート
である。これから設計する集積回路を機能記述回路で記
述した後(ステップS1)、クロックドライバ限定論理
合成(ステップS2)によってゲートレベル回路を生成
する(ステップS3)。ステップS2におけるクロック
ドライバ限定論理合成は、後述する動作によって、後に
実行されるステップS8のクロックツリーシンセシスを
含む配置配線で再構成されるクロックツリーと面積的に
等価なステップS3のゲートレベル回路を合成する。
FIG. 1 is a flow chart showing an operation example of a semiconductor integrated circuit designing method according to an embodiment of the present invention. After an integrated circuit to be designed is described by a function description circuit (step S1), a gate level circuit is generated by clock driver limited logic synthesis (step S2) (step S3). The clock driver limited logic synthesis in step S2 synthesizes the gate level circuit in step S3, which is equivalent in area to the clock tree reconfigured by the placement and wiring including the clock tree synthesis in step S8 to be executed later, by the operation described later. I do.

【0033】即ち、ステップS2のクロックドライバ限
定論理合成工程では、ステップS8のクロックツリーシ
ンセシスによって再構成されるクロックツリー回路の面
積を含めて、回路面積の最適化を等価的に実行すること
が可能となる。
That is, in the clock driver limited logic synthesis step of step S2, optimization of the circuit area including the area of the clock tree circuit reconstructed by the clock tree synthesis of step S8 can be equivalently executed. Becomes

【0034】ここで、ステップS3のゲートレベル回路
は、クロックツリー回路を含んでいるが、この回路構成
は配置配線情報を考慮していないため、クロック信号の
タイミングスキューは、このまま配置配線工程を実行し
ても最適化されない。このため配置配線工程においてク
ロックツリーシンセシスを実行する必要がある。この配
置配線工程におけるクロックツリーシンセシスを実行す
るためには、論理合成によって構成したクロックツリー
を基に、クロックツリーシンセンシスの対象となる単体
バッファに配置配線工程で置き換える必要がある。この
置き換えを行う工程がステップS4のクロックツリーバ
ッファ置き換え工程である。ここで、配置配線工程にお
いて置き換えるバッファは単体バッファに限らず、論理
的に等価であれば複数のバッファでもよい。
Here, the gate level circuit in step S3 includes a clock tree circuit. However, since this circuit configuration does not take the placement and routing information into consideration, the timing skew of the clock signal is not changed and the placement and routing process is performed as it is. Is not optimized. Therefore, it is necessary to execute clock tree synthesis in the placement and routing process. In order to execute clock tree synthesis in the placement and routing step, it is necessary to replace the single tree buffer to be subjected to clock tree synthesis with the placement and routing step based on the clock tree formed by logic synthesis. The step of performing this replacement is the clock tree buffer replacement step of step S4. Here, the buffer to be replaced in the placement and routing step is not limited to a single buffer, but may be a plurality of buffers as long as they are logically equivalent.

【0035】ステップS4のクロックツリー置き換え工
程は、後述する動作によって、ステップS3のゲートレ
ベル回路に含まれるクロックツリー回路を、クロックツ
リーの対象となる単体バッファに置換したステップS5
におけるゲートレベル回路(ステップS2)を生成す
る。以下、ステップS5におけるゲートレベル回路(ス
テップS2)について通常の設計フローを用いて集積回
路を設計する。本実施形態では、ステップS6の回路検
証とクロックツリーシンセシスを含む配置配線工程が該
当する。
In the clock tree replacement step of step S4, the clock tree circuit included in the gate level circuit of step S3 is replaced with a single buffer to be the target of the clock tree by the operation described later in step S5.
Is generated (step S2). Hereinafter, an integrated circuit is designed using a normal design flow for the gate level circuit (step S2) in step S5. In the present embodiment, the placement and routing step including the circuit verification and the clock tree synthesis in step S6 corresponds to this.

【0036】図2は、上述した実施例におけるクロック
ドライバ限定論理合成によって生成されたゲートレベル
回路1のイメージ図である。
FIG. 2 is an image diagram of the gate level circuit 1 generated by the clock driver limited logic synthesis in the embodiment described above.

【0037】配置配線工程において実行されるクロック
ツリーシンセシスで使用されるクロックドライバ15と
等価なファンアウト数および回路面積を定義したクロッ
クドライバ13によって構成されたクロックツリー回路
は、配置配線工程におけるクロックツリーシンセシスに
よって再構成されるクロックツリーと面積的に等価とな
る。
The clock tree circuit constituted by the clock driver 13 defining the number of fan-outs and the circuit area equivalent to the clock driver 15 used in the clock tree synthesis executed in the placement and routing step is a clock tree in the placement and routing step. It is equivalent in area to a clock tree reconstructed by synthesis.

【0038】即ち、論理合成において、フリップフロッ
プ10のクロック端子に接続するクロックドライバ13
を限定し、このクロックドライバ13の出力端子12を
クロックドライバ13の入力端子14及びフリップフロ
ップ10のクロック端子にのみ接続可能とすることによ
って、その後の配置配線工程におけるクロックツリーシ
ンセシスにより構成されたゲートレベル回路と回路面積
が等価なゲートレベル回路を、論理合成時に最適な回路
面積で合成を行うことが可能となる。
That is, in logic synthesis, the clock driver 13 connected to the clock terminal of the flip-flop 10
And the output terminal 12 of the clock driver 13 can be connected only to the input terminal 14 of the clock driver 13 and the clock terminal of the flip-flop 10, so that the gate formed by clock tree synthesis in the subsequent placement and routing process A gate level circuit equivalent in circuit area to a level circuit can be synthesized with an optimum circuit area during logic synthesis.

【0039】図3は、上述した実施例におけるクロック
バッファ置き換えによって生成されたゲートレベル回路
2のイメージ図である。
FIG. 3 is an image diagram of the gate level circuit 2 generated by replacing the clock buffer in the embodiment described above.

【0040】図2のゲートレベル回路1における限定ク
ロックドライバ13によって構成されたクロックツリー
回路を、クロックツリーシンセシス用クロックドライバ
15に置き換える。これによって、その後に実行される
配置配線工程においてクロックツリーシンセシスを実行
することが可能となる。
The clock tree circuit constituted by the limited clock driver 13 in the gate level circuit 1 of FIG. 2 is replaced with a clock driver 15 for clock tree synthesis. This makes it possible to execute clock tree synthesis in a subsequent placement and routing process.

【0041】[0041]

【発明の効果】以上の説明より明らかなように、本発明
によれば、特定用途向け集積回路(ASIC)の設計に
おいて、論理合成を用いてゲートレベル回路を生成する
場合、その後の配置配線工程においてクロックツリーシ
ンセシスを用いてクロック信号のタイミング・スキュー
を最適化する場合においても、論理合成工程でクロック
ツリー回路を含めて回路面積を最適化することが可能と
なる。
As is apparent from the above description, according to the present invention, in the design of an application specific integrated circuit (ASIC), when a gate level circuit is generated by using logic synthesis, a subsequent placement and routing step is performed. In the case where the timing skew of the clock signal is optimized using the clock tree synthesis in the above, the circuit area including the clock tree circuit can be optimized in the logic synthesis step.

【0042】その理由は、論理合成において、クロック
ドライバーを限定することによって、配置配線における
クロックツリーシンセシスによって再構成されるクロッ
クツリー回路と、回路面積の等価なクロックツリー回路
を最適化することが可能となるためである。
The reason is that, in the logic synthesis, by limiting the clock driver, it is possible to optimize a clock tree circuit reconfigured by clock tree synthesis in placement and routing and a clock tree circuit having an equivalent circuit area. This is because

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明による半導体集積回路設計方法の実施の
形態における動作例を示すフローチャートである。
FIG. 1 is a flowchart showing an operation example of a semiconductor integrated circuit designing method according to an embodiment of the present invention.

【図2】本発明の実施の形態におけるクロックドライバ
限定論理合成によって生成されたゲートレベル回路1の
イメージ図である。
FIG. 2 is an image diagram of a gate level circuit 1 generated by clock driver limited logic synthesis according to the embodiment of the present invention.

【図3】本発明の実施の形態におけるクロックバッファ
置き換えによって生成されたゲートレベル回路2のイメ
ージ図である。
FIG. 3 is an image diagram of a gate level circuit 2 generated by replacing a clock buffer according to the embodiment of the present invention.

【符号の説明】[Explanation of symbols]

9 入力端子 10 フリップフロップ 11 組み合わせ回路 12 出力端子 13 限定クロックドライバ 14 クロック入力端子 15 クロックツリーシンセシス用クロックドライバ 9 Input terminal 10 Flip-flop 11 Combination circuit 12 Output terminal 13 Limited clock driver 14 Clock input terminal 15 Clock driver for clock tree synthesis

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B046 AA08 BA04 5B079 CC14 DD08 DD12 DD13 5F038 CA04 CD06 CD09 CD20 DF01 EZ20 5F064 AA03 BB19 BB26 DD03 DD25 DD32 EE03 EE16 EE47 EE54 EE60 HH10  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B046 AA08 BA04 5B079 CC14 DD08 DD12 DD13 5F038 CA04 CD06 CD09 CD20 DF01 EZ20 5F064 AA03 BB19 BB26 DD03 DD25 DD32 EE03 EE16 EE47 EE54 EE60 HH10

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 配置配線工程でクロック信号のタイミン
グスキューの最適化を図るクロックツリーシンセシスを
行うことを想定し、論理合成工程時に論理回路の最適化
することを特徴とする半導体集積回路設計方法。
1. A method of designing a semiconductor integrated circuit, wherein a logic circuit is optimized in a logic synthesis step, assuming that clock tree synthesis for optimizing a timing skew of a clock signal is performed in a placement and routing step.
【請求項2】 前記論理合成工程は、 前記論理回路内のフリップフロップのクロック端子に接
続可能なクロックドライバを限定し、該クロックドライ
バの出力端子を前記フリップフロップのクロック端子も
しくは他のクロックドライバの入力端子とのみ接続可能
とすることを特徴とする請求項1記載の半導体集積回路
設計方法。
2. The logic synthesizing step, wherein a clock driver connectable to a clock terminal of a flip-flop in the logic circuit is limited, and an output terminal of the clock driver is connected to a clock terminal of the flip-flop or another clock driver. 2. The method according to claim 1, wherein only the input terminal is connectable.
【請求項3】 前記論理合成工程における接続は、 前記配置配線工程におけるクロックツリーシンセシスで
使用されるクロックドライバと面積が等しく、ファンア
ウト数が同数で前記フリップフロップと接続されるよう
に定義したことを特徴とする請求項2記載の半導体集積
回路設計方法。
3. The connection in the logic synthesis step is defined so as to have the same area as the clock driver used in the clock tree synthesis in the placement and routing step and to be connected to the flip-flop with the same number of fan-outs. 3. The method for designing a semiconductor integrated circuit according to claim 2, wherein:
【請求項4】 前記配置配線工程は、 前記論理合成工程で生成された論理回路におけるクロッ
クドライバを、論理的に等価な単体バッファに置き換え
ることを特徴とする請求項1から3のいずれか1項に記
載の半導体集積回路設計方法。
4. The placement and routing step according to claim 1, wherein the clock driver in the logic circuit generated in the logic synthesis step is replaced with a logically equivalent single buffer. 3. The method for designing a semiconductor integrated circuit according to item 1.
【請求項5】 前記配置配線工程は、 前記論理合成工程で生成された論理回路におけるクロッ
クドライバを、論理的に等価な複数のバッファに置き換
えることを特徴とする請求項1から4のいずれか1項に
記載の半導体集積回路設計方法。
5. The placement and routing step according to claim 1, wherein the clock driver in the logic circuit generated in the logic synthesis step is replaced with a plurality of logically equivalent buffers. 13. The method for designing a semiconductor integrated circuit according to the above item.
【請求項6】 論理合成を用いる特定用途向け集積回路
の設計において、 フリップロップのクロック端子に接続可能なクロックド
ライバを限定し、 該クロックドライバの出力端子をフリップフロップのク
ロック端子、もしくは他のクロックドライバの入力端子
とのみ接続可能と定義し、 かつ配置配線工程において回路全体のフリップフロップ
にクロック信号を供給する多数のクロックドライバによ
って構成されたクロックツリーを、フリップフロップの
配置と接続されるクロック信号の配線長を考慮し、クロ
ック信号が全てのフリップフロップに同時刻に到達する
ように再構成するいわゆるクロックツリーシンセシスに
おいて使用されるクロックドライバのファンアウト数
と、前記論理合成時におけるクロックドライバの出力端
子接続可能ブロック数すなわちファンアウト数とを等価
に定義して論理合成することを特徴とする半導体集積回
路設計方法。
6. In a design of an application specific integrated circuit using logic synthesis, a clock driver connectable to a clock terminal of a flip-flop is limited, and an output terminal of the clock driver is set to a clock terminal of a flip-flop or another clock. A clock tree that is defined as connectable only to the input terminal of the driver and that is composed of a large number of clock drivers that supply clock signals to flip-flops of the entire circuit in the placement and routing process, The number of fan-outs of a clock driver used in so-called clock tree synthesis for reconfiguring a clock signal to reach all flip-flops at the same time in consideration of the wiring length, and the output of the clock driver during the logic synthesis Terminal connectable block A method for designing a semiconductor integrated circuit, wherein the number of locks, that is, the number of fanouts is equivalently defined and logically synthesized.
【請求項7】 前記論理合成によって生成されたゲート
レベル回路のクロックツリー回路を抽出し、 論理的に等価なバッファに置換し、 前記配置配線工程においてクロックツリーシンセシスを
行うこと特徴とする請求項6記載の半導体集積回路設計
方法。
7. The clock tree circuit of a gate level circuit generated by the logic synthesis is extracted and replaced with a logically equivalent buffer, and clock tree synthesis is performed in the placement and routing step. The semiconductor integrated circuit design method according to the above.
JP11006992A 1999-01-13 1999-01-13 Design method for semiconductor integrated circuit Pending JP2000208632A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11006992A JP2000208632A (en) 1999-01-13 1999-01-13 Design method for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11006992A JP2000208632A (en) 1999-01-13 1999-01-13 Design method for semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2000208632A true JP2000208632A (en) 2000-07-28

Family

ID=11653643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11006992A Pending JP2000208632A (en) 1999-01-13 1999-01-13 Design method for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2000208632A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096376B2 (en) 2001-08-24 2006-08-22 Fujitsu Limited Device and method for ensuring that a signal always reaches its destination after a fixed number of clock cycles

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096376B2 (en) 2001-08-24 2006-08-22 Fujitsu Limited Device and method for ensuring that a signal always reaches its destination after a fixed number of clock cycles

Similar Documents

Publication Publication Date Title
US5867691A (en) Synchronizing system between function blocks arranged in hierarchical structures and large scale integrated circuit using the same
US5644498A (en) Timing shell generation through netlist reduction
US6550044B1 (en) Method in integrating clock tree synthesis and timing optimization for an integrated circuit design
US7117143B2 (en) Clock distribution in a circuit emulator
US6622290B1 (en) Timing verification method employing dynamic abstraction in core/shell partitioning
US7284143B2 (en) System and method for reducing clock skew
JP2001357090A (en) Method and device for synthesizing logic
US7822909B2 (en) Cross-bar switching in an emulation environment
US20100253409A1 (en) Clock generation system and clock dividing module
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
US6518788B2 (en) Logic circuit design method and logic circuit
US10068042B1 (en) Methods and apparatus for regulating the supply voltage of an integrated circuit
Quinton et al. Practical asynchronous interconnect network design
Poole Self-timed logic circuits
JP2000208632A (en) Design method for semiconductor integrated circuit
JP2007072995A (en) Layout device, automatic arrangement and wiring method and semiconductor integrated circuit manufacturing method
US7155687B2 (en) Methods and apparatus for scan insertion
US8176451B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and computer readable recording medium
US7797653B2 (en) Circuit verification apparatus, circuit verification method, and signal distribution method for the same
JPH1173440A (en) Emulation device
JP2004127012A (en) Synchronous circuit and its design method
JP5531479B2 (en) Circuit design method and circuit design program
Al Khatib et al. Distributed asynchronous controllers for clock management in low power systems
Liu et al. Minimizing sensitivity to delay variations in high-performance synchronous circuits
WO2024040100A1 (en) Clock timing in replicated arrays

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010522