JP2014006564A - Semiconductor integrated circuit design method and design program - Google Patents
Semiconductor integrated circuit design method and design program Download PDFInfo
- Publication number
- JP2014006564A JP2014006564A JP2012139601A JP2012139601A JP2014006564A JP 2014006564 A JP2014006564 A JP 2014006564A JP 2012139601 A JP2012139601 A JP 2012139601A JP 2012139601 A JP2012139601 A JP 2012139601A JP 2014006564 A JP2014006564 A JP 2014006564A
- Authority
- JP
- Japan
- Prior art keywords
- data path
- logic synthesis
- integrated circuit
- semiconductor integrated
- timing
- 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
Links
Images
Abstract
【課題】タイミング制約を満たす設計を容易に行うことが可能な半導体集積回路の設計方法及び設計プログラムを提供すること。
【解決手段】一実施の形態によれば、半導体集積回路の設計方法は、異なるクロック信号に同期して動作するフリップフロップ502,503間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ501,502間のデータパスに対してよりも大きなタイミングマージンを設定し、論理合成を行う。
【選択図】図1A design method and a design program for a semiconductor integrated circuit capable of easily performing a design satisfying a timing constraint.
According to one embodiment, a method for designing a semiconductor integrated circuit is described in which a data path between flip-flops 502 and 503 operating in synchronization with different clock signals is synchronized with the same clock signal. A larger timing margin is set for the data path between the operating flip-flops 501 and 502, and logic synthesis is performed.
[Selection] Figure 1
Description
本発明は半導体集積回路の設計方法及び設計プログラムに関し、例えばタイミング制約を満たす設計に適した半導体集積回路の設計方法及び設計プログラムに関する。 The present invention relates to a design method and a design program for a semiconductor integrated circuit, for example, a design method and a design program for a semiconductor integrated circuit suitable for a design that satisfies timing constraints.
従来の論理合成装置は、レイアウト設計を考慮することなく、複数のフリップフロップ間のそれぞれのデータパスに対して一律のタイミングマージンを与えて論理合成を行っていた。そのため、従来の論理合成装置では、その後のタイミングドリブンレイアウト設計(タイミングの最適化を図りながら行うレイアウト設計)において、セットアップタイム等のタイミング制約を満たす設計が困難であった。 A conventional logic synthesis apparatus performs logic synthesis by giving a uniform timing margin to each data path between a plurality of flip-flops without considering layout design. Therefore, in the conventional logic synthesis device, it is difficult to satisfy the timing constraints such as the setup time in the subsequent timing driven layout design (layout design performed while optimizing the timing).
関連する技術が特許文献1及び特許文献2に開示されている。
Related techniques are disclosed in
特許文献1に開示された半導体集積回路の設計方法は、配置配線工程にてクロック信号のタイミングスキューの最適化を図るクロックツリーシンセシスを行うことを想定し、論理合成工程時に論理回路の最適化を行うことを特徴とする。
The method for designing a semiconductor integrated circuit disclosed in
特許文献2に開示された半導体集積回路の設計装置は、半導体集積回路における論理回路の動作周波数に対するタイミングマージンを仮設定するタイミングマージン設定部と、タイミングマージン設定部において仮設定されたタイミングマージンに応じて論理回路を決定する論理合成部と、論理合成部において決定された論理回路のタイミングマージンを算出するタイミングマージン算出部と、タイミングマージン算出部で算出されたタイミングマージンに応じて、論理合成部で決定された論理回路の設計値の新たな制約を作成する合成制約作成部と、を備える。それにより、この設計装置は、所望の半導体集積回路を迅速かつ的確に設計している。
A semiconductor integrated circuit design apparatus disclosed in
しかしながら、特許文献1に開示された半導体集積回路の設計方法は、レイアウト設計でのクロックツリーシンセシスを想定した論理合成を行うものの、OCV(On Chip Variation)を考慮した論理合成までは行っていない。そのため、この半導体集積回路の設計方法では、その後のタイミングドリブンレイアウト設計において、依然としてセットアップタイム等のタイミング制約を満たす設計が困難であった。
However, the semiconductor integrated circuit design method disclosed in
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 Other problems and novel features will become apparent from the description of the specification and the accompanying drawings.
一実施の形態によれば、半導体集積回路の設計方法は、異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きなタイミングマージンを設定し、論理合成を行う。 According to one embodiment, a method for designing a semiconductor integrated circuit includes: a data path between flip-flops operating in synchronization with different clock signals; and data between flip-flops operating in synchronization with the same clock signal. Set a larger timing margin for the path and perform logic synthesis.
また、他の実施の形態によれば、半導体集積回路の設計方法は、平坦化して論理合成が行われる第1モジュールと、平坦化して論理合成が行われる第2モジュールと、の間を接続するデータパスの数に応じたタイミングマージンを、当該データパスに対して設定し、論理合成を行う。 According to another embodiment, a semiconductor integrated circuit design method connects between a first module that is flattened and subjected to logic synthesis and a second module that is flattened and subjected to logic synthesis. A timing margin corresponding to the number of data paths is set for the data path, and logic synthesis is performed.
さらに、他の実施の形態によれば、半導体集積回路の設計プログラムは、異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きなタイミングマージンを設定する第1設定処理と、論理合成を行う合成処理と、をコンピュータに実行させる。 Further, according to another embodiment, a semiconductor integrated circuit design program can be used for a data path between flip-flops that operate in synchronization with different clock signals, and flip-flops that operate in synchronization with the same clock signal. The computer is caused to execute a first setting process for setting a larger timing margin than the data path between them and a synthesis process for performing logic synthesis.
前記一実施の形態によれば、タイミング制約を満たす設計を容易に行うことが可能な半導体集積回路の設計方法及び設計プログラムを提供することができる。 According to the embodiment, it is possible to provide a design method and a design program for a semiconductor integrated circuit capable of easily performing a design satisfying a timing constraint.
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。 Hereinafter, embodiments will be described with reference to the drawings. Since the drawings are simple, the technical scope of the embodiments should not be narrowly interpreted based on the description of the drawings. Moreover, the same code | symbol is attached | subjected to the same element and the overlapping description is abbreviate | omitted.
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。 In the following embodiments, when it is necessary for the sake of convenience, the description will be divided into a plurality of sections or embodiments. However, unless otherwise specified, they are not irrelevant to each other. Are partly or entirely modified, application examples, detailed explanations, supplementary explanations, and the like. Further, in the following embodiments, when referring to the number of elements (including the number, numerical value, quantity, range, etc.), especially when clearly indicated and when clearly limited to a specific number in principle, etc. Except, it is not limited to the specific number, and may be more or less than the specific number.
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。 Further, in the following embodiments, the constituent elements (including operation steps and the like) are not necessarily essential except when clearly indicated and clearly considered essential in principle. Similarly, in the following embodiments, when referring to the shapes, positional relationships, etc. of the components, etc., the shapes are substantially the same unless otherwise specified, or otherwise apparent in principle. And the like are included. The same applies to the above numbers and the like (including the number, numerical value, quantity, range, etc.).
<実施の形態1>
図1は、実施の形態1にかかる論理合成装置(半導体設計装置)1の構成例を示すブロック図である。本実施の形態にかかる論理合成装置1は、異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きなタイミングマージンを設定し、論理合成を行う。それにより、本実施の形態にかかる論理合成装置1は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。以下、具体的に説明する。
<
FIG. 1 is a block diagram of a configuration example of a logic synthesis device (semiconductor design device) 1 according to the first embodiment. The
図1に示す論理合成装置1は、RTL記述等の回路の構造に関する記述(構造記述)を論理合成し、ネットリスト(論理回路)として出力する装置である。具体的には、論理合成装置1は、論理合成部11と、FF抽出部12と、マージン設定部13と、を備え、半導体集積回路のRTL記述14、タイミング制約情報15及びライブラリ16を読み込んでネットリスト17を出力する。
A
FF抽出部12は、RTL記述14からフリップフロップに相当する記述を抽出する。
The
タイミング制約情報15には、従来の論理合成時に用いられるタイミング制約情報に加え、異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して設定するタイミングマージンの情報と、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対して設定するタイミングマージンの情報と、が含まれる。
The
マージン設定部13は、FF抽出部12によって抽出された複数のフリップフロップ間のそれぞれのデータパスに対し、タイミング制約情報15から取得したタイミングマージンをそれぞれ設定する。
The
ここで、マージン設定部13は、複数のフリップフロップのうち異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定する。具体的な設定内容については、後述する。
Here, the
論理合成部11は、マージン設定部13によって設定されたタイミングマージン及びその他のタイミング制約に従ってRTL記述14を論理合成し、ネットリスト17として出力する。なお、論理合成部11は、従来と同様に、NAND回路やINV回路等の基本論理回路の設計情報を格納したライブラリ16を読み込んで論理合成を行う。
The
続いて、論理合成装置1の動作について図2を参照して説明する。図2は、論理合成装置1の動作を示すフローチャートである。まず、論理合成装置1は、RTL記述14からフリップフロップに相当する記述を抽出する(S101)。次に、論理合成装置1は、抽出した複数のフリップフロップ間のそれぞれのデータパスに対し、タイミング制約情報15から取得したタイミングマージンをそれぞれ設定する(S102)。ここで、論理合成装置1は、抽出した複数のフリップフロップのうち異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定する。具体的な設定内容については、後述する。次に、論理合成装置1は、設定したタイミングマージン及びその他のタイミング制約に従ってRTL記述14を論理合成し(S103)、ネットリスト17として出力する(S104)。
Next, the operation of the
続いて、複数のフリップフロップ間のそれぞれのデータパスに対するタイミングマージンの設定内容について、具体例を用いて説明する。 Next, the setting contents of the timing margin for each data path between the plurality of flip-flops will be described using a specific example.
図3は、ネットリスト17の一部を示す回路図である。ネットリスト17は、フリップフロップ501〜503と、PLL504と、分周器505と、を有する。PLL504は、クロック信号CLK1を生成する。分周器505は、クロック信号CLK1を分周してクロック信号CLK2として出力する。つまり、クロック信号CLK1,CLK2は異なるクロック信号である。
FIG. 3 is a circuit diagram showing a part of the
フリップフロップ501は、クロック信号CLK1に同期してデータを出力する。フリップフロップ502は、クロック信号CLK1に同期してフリップフロップ501から出力されたデータを取り込み、出力する。フリップフロップ503は、クロック信号CLK2に同期してフリップフロップ502から出力されたデータを取り込み、出力する。
The flip-
フリップフロップ501,502は同一のクロック信号CLK1に同期して動作している。ここで、フリップフロップ501に入力されるクロック信号のクロックラインと、フリップフロップ502に入力されるクロック信号のクロックラインと、の分岐点N1は、送信側のフリップフロップ501の付近に位置する。つまり、フリップフロップ501,502と分岐点N1との間のそれぞれのクロックラインは比較的短い。そのため、OCVの影響による信号伝搬遅延のばらつきは比較的小さい。換言すると、フリップフロップ501,502間のクロックスキューのばらつきは比較的小さい。
The flip-
一方、フリップフリップ502,503はそれぞれ異なるクロック信号CLK1,CLK2に同期して動作している。ここで、フリップフロップ502に入力されるクロック信号のクロックラインと、フリップフロップ503に入力されるクロック信号のクロックラインと、の分岐点N2は、PLL504の付近に位置する。つまり、フリップフロップ502,503と分岐点N2との間のそれぞれのクロックラインは比較的長い。そのため、OCVの影響による信号伝搬遅延のばらつきは比較的大きい。換言すると、フリップフロップ502,503間のクロックスキューのばらつきは比較的大きい。
On the other hand, the flip flips 502 and 503 operate in synchronization with different clock signals CLK1 and CLK2, respectively. Here, a
そこで、本実施の形態にかかる論理合成装置1は、異なるクロック信号に同期して動作するフリップフロップ501,502間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ502,503間のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定して論理合成を行っている。
Therefore, the
例えば、同一のクロック信号に同期して動作するフリップフロップ501,502間のデータパスには1nsのタイミングマージンが設定される。一方、異なるクロック信号に同期して動作するフリップフロップ502,503間のデータパスには2nsのタイミングマージンが設定される。例えば、クロック周期が10ns、各フリップフロップのセットアップタイムが1nsの場合、同一のクロック信号に同期して動作するフリップフロップ501,502間のデータ伝搬時間(送信側フリップフロップがデータを出力してから受信側フリップフロップがデータを取り込むまでの時間)は、8ns以下である必要がある。一方、異なるクロック信号に同期して動作するフリップフロップ間のデータ伝搬時間は、7ns以下である必要がある。
For example, a timing margin of 1 ns is set in the data path between the flip-
このように、本実施の形態にかかる論理合成装置1は、異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して厳しいタイミングマージンを設定して論理合成を行う。それにより、本実施の形態にかかる論理合成装置1は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。その結果、タイミングドリブンレイアウト設計後に実施される静的タイミング解析(STA:Static Timing Analysis)において、セットアップタイム違反等のタイミングエラーの発生が抑制される。
As described above, the
さらに、本実施の形態にかかる論理合成装置1は、タイミング、回路規模及び消費電力が実レイアウト設計後のネットリストに比較的近いネットリスト17を出力することができる。なお、本実施の形態にかかる論理合成装置1は、例えば、タイミング制約を満たすことが困難な箇所には、予め速度の速い回路をマッピングする。
Furthermore, the
なお、本実施の形態にかかる論理合成装置1は、例えば、汎用的なコンピュータシステムにより実現可能である。以下、図4を用いて簡単に説明する。
The
図4は、本実施の形態にかかる論理合成装置1のハードウェア構成の一例を示すブロック図である。コンピュータ100は、例えば、制御装置であるCPU(Central Processing Unit)101と、RAM(Random Access Memory)102と、ROM(Read Only Memory)103と、外部とのインターフェースであるIF(Inter Face)104と、不揮発性記憶装置の一例であるHDD(Hard Disk Drive)105と、を備える。コンピュータ100は、その他図示しない構成として、キーボードやマウス等の入力装置やディスプレイ等の表示装置を備えていても良い。
FIG. 4 is a block diagram illustrating an example of a hardware configuration of the
HDD105には、OS(Operating System)(不図示)と、構造記述情報106と、論理回路情報107と、論理合成プログラム108と、が記憶されている。構造記述情報106は、回路の構造に関する情報であって、図1におけるRTL記述14に相当する。論理回路情報107は、論理回路を実現するための設計情報であって、図1におけるネットリスト17に相当する。論理合成プログラム108は、本実施の形態にかかる論理合成処理が実装されたコンピュータプログラムである。
The
CPU101は、コンピュータ100における各種処理、RAM102,ROM103,IF104及びHDD105へのアクセス等を制御する。コンピュータ100は、CPU101がHDD105に記憶されたOS及び論理合成プログラム108を読み込み、実行する。これにより、コンピュータ100は、本実施の形態にかかる論理合成装置1を実現する。
The
<実施の形態2>
図5は、実施の形態2にかかる論理合成装置(半導体設計装置)2の構成例を示すブロック図である。本実施の形態にかかる論理合成装置2は、モジュール(第1及び第2モジュール)間を接続するデータパスの本数(配線数)と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンを当該データパスに対して設定し、論理合成を行う。それにより、本実施の形態にかかる論理合成装置2は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。以下、具体的に説明する。
<
FIG. 5 is a block diagram of a configuration example of the logic synthesis device (semiconductor design device) 2 according to the second embodiment. The
図5に示す論理合成装置2は、RTL記述等の回路の構造に関する記述(構造記述)を論理合成し、ネットリスト(論理回路)として出力する装置である。具体的には、論理合成装置2は、論理合成部21と、モジュール間配線数抽出部22と、マージン設定部23と、を備え、半導体集積回路のRTL記述24、タイミング制約情報25及びライブラリ26を読み込んでネットリスト27を出力する。
A
モジュール間配線数抽出部22は、RTL記述24からモジュール間を接続するデータパスの本数を抽出する。なお、モジュールとは、ある機能を実現する回路ブロックのことであるが、ここでは、特に、下位階層を平坦化して論理合成する最小単位の回路ブロックのことを指す。
The inter-module wiring
タイミング制約情報25には、従来の論理合成時に用いられるタイミング制約情報に加え、モジュール間を接続するデータパスの本数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンの情報が含まれている。なお、データパスに対応するクロック信号とは、当該データパスを介して信号を送受信するフリップフロップに供給されるクロック信号のことである。
The
図6は、モジュール間を接続するデータパスに設定するタイミングマージンのテーブルを示す図である。図6に示すように、モジュール間を接続するデータパスの本数1〜q(qは2以上の整数)と、当該データパスに対応するクロック信号の周波数F1〜Fp(pは2以上の整数)と、に応じたタイミングマージンMB11〜MBpqが定義されている。なお、タイミングマージンMB11〜MBpqは、基本マージンに対する係数であっても良い。タイミング制約情報25には、このようなタイミングマージンの情報が含まれている。
FIG. 6 is a diagram showing a table of timing margins set for data paths connecting modules. As shown in FIG. 6, the
図5に戻り、マージン設定部23は、モジュール間を接続するデータパスの本数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンをタイミング制約情報25から取得し、当該データパスに対して設定する。
Returning to FIG. 5, the margin setting unit 23 acquires a timing margin according to the number of data paths connecting between modules and the frequency of the clock signal corresponding to the data path from the
ここで、マージン設定部23は、モジュール間を接続するデータパスの本数が少ない場合、多い場合よりも、当該データパスに対して大きな(厳しい)タイミングマージンを設定する。例えば、マージン設定部23は、モジュール間を接続するデータパスの本数が基準本数より少ない場合、基準マージンよりも大きなタイミングマージンを設定する。また、マージン設定部23は、モジュール間を接続するデータパスに対応するクロック信号の周波数が低い場合、高い場合よりも、当該データパスに対して大きな(厳しい)タイミングマージンを設定する。例えば、マージン設定部23は、モジュール間を接続するデータパスに対応するクロック信号の周波数が基準周波数より低い場合、基準マージンよりも大きなタイミングマージンを設定する。具体的な設定内容については、後述する。 Here, the margin setting unit 23 sets a larger (stricter) timing margin for the data path when the number of data paths connecting the modules is small than when the number is large. For example, the margin setting unit 23 sets a timing margin larger than the reference margin when the number of data paths connecting the modules is smaller than the reference number. The margin setting unit 23 sets a larger (stricter) timing margin for the data path when the frequency of the clock signal corresponding to the data path connecting the modules is lower than when the frequency is high. For example, the margin setting unit 23 sets a timing margin larger than the reference margin when the frequency of the clock signal corresponding to the data path connecting the modules is lower than the reference frequency. Specific setting contents will be described later.
論理合成部21は、マージン設定部23によって設定されたタイミングマージン及びその他のタイミング制約に従ってRTL記述24を論理合成し、ネットリスト27として出力する。なお、論理合成部21は、従来と同様に、NAND回路やINV回路等の基本論理回路の設計情報を格納したライブラリ26を読み込んで論理合成を行う。
The logic synthesis unit 21 logically synthesizes the
続いて、論理合成装置2の動作について図7を参照して説明する。図7は、論理合成装置2の動作を示すフローチャートである。まず、論理合成装置2は、RTL記述24からモジュール間を接続するデータパスの本数を抽出する(S201)。次に、論理合成装置2は、モジュール間を接続するデータパスの本数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンをタイミング制約情報25から取得し、当該データパスに対して設定する(S202)。ここで、論理合成装置2は、モジュール間を接続するデータパスの本数が少ない場合、多い場合よりも、当該データパスに対して大きな(厳しい)タイミングマージンを設定する。また、論理合成装置2は、モジュール間を接続するデータパスに対応するクロック信号の周波数が低い場合、高い場合よりも、当該データパスに対して大きな(厳しい)タイミングマージンを設定する。具体的な設定内容については、後述する。次に、論理合成装置2は、設定したタイミングマージン及びその他のタイミング制約に従ってRTL記述24を論理合成し(S203)、ネットリスト27として出力する(S204)。
Next, the operation of the
続いて、モジュール間を接続するデータパスに対するタイミングマージンの設定内容について、具体例を用いて説明する。 Next, the setting contents of the timing margin for the data paths connecting the modules will be described using a specific example.
図8は、ネットリスト27の一部を示す回路図である。ネットリスト27は、モジュール601〜604を有する。
FIG. 8 is a circuit diagram showing a part of the
ここで、モジュール601,602間を接続するデータパスの本数は比較的多い。また、これらデータパスに対応するクロック信号の周波数は比較的高い。したがって、データパスの配線が混雑しやすく、セットアップタイム違反も起きやすい。これを回避するため、タイミングドリブンレイアウト設計では、モジュール601,602は比較的近くに自動配置されやすい。そのため、タイミングドリブンレイアウト設計において、タイミング制約を満たす設計は比較的容易である。
Here, the number of data paths connecting the
一方、モジュール603,604間を接続するデータパスの本数は比較的少ない。また、これらデータパスに対応するクロック信号の周波数は比較的低い。したがって、データパスの配線が混雑しにくく、セットアップタイム違反が起きにくい。そのため、タイミングドリブンレイアウト設計では、モジュール603,604は比較的離れて自動配置されやすい。その結果、タイミングドリブンレイアウト設計において、想定したよりもタイミング制約を満たす設計が困難になる可能性がある。
On the other hand, the number of data paths connecting the
そこで、本実施の形態にかかる論理合成装置2は、モジュール間を接続するデータパスの本数が比較的少なく、当該データパスに対応するクロック信号の周波数が比較的低い、モジュール603,604間のデータパスに対して、モジュール601,602間のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定し、論理合成を行っている。
Therefore, the
このように、本実施の形態にかかる論理合成装置2は、モジュール間を接続するデータパスの本数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンを当該データパスに対して設定して論理合成を行う。それにより、本実施の形態にかかる論理合成装置2は、その後のタイミングドリブンレイアウト設計においてタイミング制約を満たす設計を従来よりも容易に行うことができる。その結果、タイミングドリブンレイアウト設計後に実施される静的タイミング解析において、セットアップタイム違反等のタイミングエラーの発生が抑制される。
As described above, the
さらに、本実施の形態にかかる論理合成装置2は、タイミング、回路規模及び消費電力が実レイアウト設計後のネットリストに比較的近いネットリスト27を出力することができる。なお、本実施の形態にかかる論理合成装置2は、例えば、タイミング制約を満たすことが困難な箇所には、予め速度の速い回路をマッピングする。
Furthermore, the
本実施の形態では、マージン設定部23が、モジュール間を接続するデータパスの本数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンを当該データパスに設定する場合を例に説明したが、これに限られない。マージン設定部23は、モジュール間を接続するデータパスの本数と、当該データパスに対応するクロック信号の周波数と、のうち何れか一方のみに応じたタイミングマージンを当該データパスに設定する構成に適宜変更可能である。 In this embodiment, the margin setting unit 23 sets a timing margin according to the number of data paths connecting between modules and the frequency of the clock signal corresponding to the data path as an example of the data path. However, the present invention is not limited to this. The margin setting unit 23 is appropriately configured to set a timing margin corresponding to only one of the number of data paths connecting between modules and the frequency of the clock signal corresponding to the data path to the data path. It can be changed.
また、本実施の形態にかかる論理合成装置2は、論理合成装置1の場合と同様に、例えば、汎用的なコンピュータシステムにより実現可能である(図4参照)。
Further, the
<実施の形態3>
図9は、実施の形態3にかかる論理合成装置(半導体設計装置)3の構成例を示すブロック図である。本実施の形態にかかる論理合成装置3は、モジュール(第3モジュール)の面積及びモジュール内のクロック信号の周波数に応じたタイミングマージンを当該モジュール内のデータパスに対して設定し、論理合成を行う。それにより、本実施の形態にかかる論理合成装置3は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。以下、具体的に説明する。
<
FIG. 9 is a block diagram of a configuration example of the logic synthesis device (semiconductor design device) 3 according to the third embodiment. The
図9に示す論理合成装置3は、RTL記述等の回路の構造に関する記述(構造記述)を論理合成し、ネットリスト(論理回路)として出力する装置である。具体的には、論理合成装置3は、論理合成部31と、モジュール面積抽出部32と、マージン設定部33と、を備え、半導体集積回路のRTL記述34、タイミング制約情報35及びライブラリ36を読み込んでネットリスト37を出力する。
The
モジュール面積抽出部32は、RTL記述24と、基本論理回路の設計情報(面積情報を含む)が格納されたライブラリ36と、からモジュールの面積を抽出する。なお、モジュールとは、ある機能を実現する回路ブロックのことであるが、ここでは、特に、下位階層を平坦化して論理合成する最小単位の回路ブロックのことを指す。
The module
タイミング制約情報35には、従来の論理合成時に用いられるタイミング制約情報に加え、モジュールの面積と、モジュール内のクロック信号の周波数と、に応じたタイミングマージンの情報が含まれている。
The
図10は、モジュール内のデータパスに設定するタイミングマージンのテーブルを示す図である。図10に示すように、モジュールの面積A1〜An(nは2以上の整数)と、モジュール内のクロック信号の周波数F1〜Fm(mは2以上の整数)と、に応じたタイミングマージンMA11〜MAmnが定義されている。なお、タイミングマージンMA11〜MAmnは、基本マージンに対する係数であっても良い。タイミング制約情報35には、このようなタイミングマージンの情報が含まれている。
FIG. 10 is a diagram showing a timing margin table set for the data path in the module. As shown in FIG. 10, timing margins MA11 to MA11 according to the area A1 to An (n is an integer of 2 or more) of the module and the frequencies F1 to Fm (m is an integer of 2 or more) of the clock signal in the module. MAmn is defined. Note that the timing margins MA11 to MAmn may be coefficients for the basic margin. The
図9に戻り、マージン設定部33は、モジュールの面積と、モジュール内のクロック信号の周波数と、に応じたタイミングマージンをタイミング制約情報35から取得し、当該モジュール内のデータパスに対して設定する。
Returning to FIG. 9, the margin setting unit 33 acquires a timing margin corresponding to the area of the module and the frequency of the clock signal in the module from the
ここで、マージン設定部33は、モジュールの面積が大きい場合、小さい場合よりも、モジュール内のデータパスに対して大きなタイミングマージンを設定する。例えば、マージン設定部33は、モジュールの面積が基準面積よりも大きい場合、基準マージンよりも大きなタイミングマージンを設定する。また、マージン設定部33は、モジュール内のクロック信号の周波数が高い場合、低い場合よりも、モジュール内のデータパスに対して大きなタイミングマージンを設定する。具体的な設定内容については、後述する。 Here, the margin setting unit 33 sets a larger timing margin for the data path in the module when the area of the module is large than when it is small. For example, the margin setting unit 33 sets a timing margin larger than the reference margin when the module area is larger than the reference area. The margin setting unit 33 sets a larger timing margin for the data path in the module when the frequency of the clock signal in the module is high than when the frequency is low. Specific setting contents will be described later.
論理合成部31は、マージン設定部33によって設定されたタイミングマージン及びその他のタイミング制約に従ってRTL記述34を論理合成し、ネットリスト37として出力する。なお、論理合成部31は、従来と同様に、ライブラリ36を読み込んで論理合成を行う。
The
続いて、論理合成装置3の動作について図11を参照して説明する。図11は、論理合成装置3の動作を示すフローチャートである。まず、論理合成装置3は、RTL記述34及びライブラリ36からモジュールの面積を抽出する(S301)。次に、論理合成装置3は、モジュールの面積と、モジュール内のクロック信号の周波数と、に応じたタイミングマージンをタイミング制約情報35から取得し、当該モジュール内のデータパスに対して設定する(S302)。ここで、論理合成装置3は、モジュールの面積が大きい場合、小さい場合よりも、モジュール内のデータパスに対して大きなタイミングマージンを設定する。また、論理合成装置3は、モジュール内のクロック信号の周波数が高い場合、低い場合よりも、モジュール内のデータパスに対して大きなタイミングマージンを設定する。具体的な設定内容については、後述する。次に、論理合成装置3は、設定したタイミングマージン及びその他のタイミング制約に従ってRTL記述34を論理合成し(S303)、ネットリスト37として出力する(S304)。
Next, the operation of the
続いて、モジュール内のデータパスに対するタイミングマージンの設定内容について、具体例を用いて説明する。 Next, the setting contents of the timing margin for the data path in the module will be described using a specific example.
図12は、ネットリスト37の一部を示す回路図である。ネットリスト37は、モジュール701,702と、を有する。モジュール701は、フリップフロップ703,704を有する。モジュール702は、フリップフロップ705,706を有する。図12の例では、フリップフロップ703に入力されるクロック信号のクロックラインと、フリップフロップ704に入力されるクロック信号のクロックラインと、の分岐点は、モジュール701の外部にあるものとする。また、フリップフロップ705に入力されるクロック信号のクロックラインと、フリップフロップ706に入力されるクロック信号のクロックラインと、の分岐点は、モジュール702の外部にあるものとする。
FIG. 12 is a circuit diagram showing a part of the
ここで、モジュール701の面積は比較的小さい。それにより、クロックラインは比較的短くなる。したがって、OCVの影響による信号伝搬遅延のばらつきは比較的小さい。換言すると、フリップフロップ703,704間のクロックスキューのばらつきは比較的小さい。
Here, the area of the
一方、モジュール702の面積は比較的大きい。それにより、クロックラインは比較的長くなる。したがって、OCVの影響による信号伝搬遅延のばらつきは比較的大きい。換言すると、フリップフロップ705,706間のクロックスキューのばらつきは比較的大きい。
On the other hand, the area of the
そこで、本実施の形態にかかる論理合成装置3は、比較的面積の大きなモジュール702内のデータパスに対して、比較的面積の小さなモジュール701内のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定し、論理合成を行っている。
Therefore, the
また、クロック信号の周波数が高い場合、低い場合よりも、OCVの影響による信号伝播遅延のばらつきがクロック周期に対して相対的に大きくなる。 In addition, when the frequency of the clock signal is high, the variation in signal propagation delay due to the influence of OCV is relatively greater with respect to the clock period than when the frequency is low.
そこで、本実施の形態にかかる論理合成装置3は、クロック信号の周波数が高いモジュール内のデータパスに対して、クロック信号の周波数が低いモジュール内のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定し、論理合成を行う。
Therefore, the
このように、本実施の形態にかかる論理合成装置3は、モジュールの面積及びモジュール内のクロック信号の周波数に応じたタイミングマージンを当該モジュール内のデータパスに対して設定し、論理合成を行う。それにより、本実施の形態にかかる論理合成装置3は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。その結果、タイミングドリブンレイアウト設計後に実施される静的タイミング解析において、セットアップタイム等のタイミングエラーの発生が抑制される。
As described above, the
さらに、本実施の形態にかかる論理合成装置3は、タイミング、回路規模及び消費電力が実レイアウト設計後のネットリストに比較的近いネットリスト37を出力することができる。なお、本実施の形態にかかる論理合成装置3は、例えば、タイミング制約を満たすことが困難な箇所には、予め速度の速い回路をマッピングする。
Furthermore, the
本実施の形態では、マージン設定部33が、モジュールの面積及びモジュール内のクロック信号の周波数に応じたタイミングマージンを当該モジュール内のデータパスに対して設定する場合を例に説明したが、これに限られない。マージン設定部33は、モジュールの面積及びモジュール内のクロック信号の周波数のうち何れか一方のみに応じたタイミングマージンを当該モジュール内のデータパスに設定する構成に適宜変更可能である。 In the present embodiment, the margin setting unit 33 has been described as an example in which the timing margin corresponding to the area of the module and the frequency of the clock signal in the module is set for the data path in the module. Not limited. The margin setting unit 33 can be appropriately changed to a configuration in which a timing margin corresponding to only one of the module area and the frequency of the clock signal in the module is set in the data path in the module.
また、本実施の形態にかかる論理合成装置3は、論理合成装置1の場合と同様に、例えば、汎用的なコンピュータシステムにより実現可能である(図4参照)。
Further, the
<実施の形態4>
図13は、実施の形態4にかかる論理合成装置(半導体設計装置)4の構成例を示すブロック図である。本実施の形態にかかる論理合成装置4は、論理合成装置1〜3の機能を何れも有する。
<Embodiment 4>
FIG. 13 is a block diagram of a configuration example of the logic synthesis device (semiconductor design device) 4 according to the fourth embodiment. The logic synthesis device 4 according to the present embodiment has all the functions of the
図13に示す論理合成装置4は、論理合成部41と、FF抽出部42aと、モジュール間配線数抽出部42bと、モジュール面積抽出部42cと、マージン設定部43と、を備え、半導体集積回路のRTL記述44、タイミング制約情報45及びライブラリ46を読み込んでネットリスト47を出力する。
The logic synthesis device 4 shown in FIG. 13 includes a logic synthesis unit 41, an
なお、論理合成部41は、各論理合成部11,21,31に対応する。FF抽出部42aは、FF抽出部12に対応する。モジュール間配線数抽出部42bは、モジュール間配線数抽出部22に対応する。モジュール面積抽出部42cは、モジュール面積抽出部32に対応する。マージン設定部43は、各マージン設定部13,23,33に対応する。
The logic synthesis unit 41 corresponds to each
マージン設定部43は、FF抽出部42a、モジュール間配線数抽出部42b及びモジュール面積抽出部42cによって抽出された情報に応じたタイミングマージンを、タイミング制約情報45から取得し、複数のデータパスのそれぞれに設定する。
The
例えば、マージン設定部43は、あるデータパスがモジュール内のパスである場合、モジュール面積及びモジュール内のクロック信号の周波数に応じたタイミングマージンを、図10に示すテーブルの中から取得し、設定する。また、マージン設定部43は、あるデータパスがモジュール間を接続するデータパスである場合、モジュール間を接続するデータパスの本数及び当該データパスに対応するクロック信号の周波数に応じたタイミングマージンを、図6に示すテーブルの中から取得し、設定する。さらに、マージン設定部43は、データパスが異なるクロック信号に同期して動作するフリップフロップ間のデータパスである場合、取得したタイミングマージンに係数α(α>1)を乗じて、設定する。
For example, when a certain data path is a module path, the
論理合成装置4のその他の動作については、論理合成装置1〜3と同様であるため、その説明を省略する。
Since the other operations of the logic synthesis device 4 are the same as those of the
このように、本実施の形態にかかる論理合成装置4は、論理合成装置1〜3の何れの機能も実現することが可能である。
Thus, the logic synthesis device 4 according to the present embodiment can realize any function of the
本実施の形態では、論理合成装置4が、FF抽出部42a、モジュール間配線数抽出部42b及びモジュール面積抽出部42cを有する場合を例に説明したが、これに限られない。論理合成装置4は、FF抽出部42a、モジュール間配線数抽出部42b及びモジュール面積抽出部42cのうち2つを有する構成に適宜変更可能である。
In the present embodiment, the case where the logic synthesis device 4 includes the
また、本実施の形態にかかる論理合成装置4は、論理合成装置1の場合と同様に、例えば、汎用的なコンピュータシステムにより実現可能である(図4参照)。 Further, the logic synthesis device 4 according to the present embodiment can be realized by, for example, a general-purpose computer system as in the case of the logic synthesis device 1 (see FIG. 4).
以上のように、上記実施の形態にかかる論理合成装置1〜4は、上記した各種の抽出情報に基づいて、複数のデータパスのそれぞれに対しそれぞれ個別にタイミングマージンを設定する。それにより、上記実施の形態にかかる論理合成装置1〜4は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。
As described above, the
上記実施の形態1〜4では、論理合成装置が、RTL記述を論理合成してネットリストを出力する場合を例に説明したが、これに限られない。論理合成装置は、RTL記述に代えてゲートレベルのネットリストを読み込み、当該ネットリストを再度論理合成(再合成)する構成に適宜変更可能である。 In the first to fourth embodiments, the case where the logic synthesis apparatus performs logic synthesis on the RTL description and outputs the netlist has been described as an example. However, the present invention is not limited to this. The logic synthesis apparatus can be appropriately changed to a configuration in which a gate-level net list is read instead of the RTL description and the net list is logically synthesized (re-synthesized) again.
また、上記実施の形態1〜4では、マージン設定部が、タイミング制約情報からタイミングマージンを取得する場合を例に説明したが、これに限られない。マージン設定部は、タイミングマージンを自ら生成する構成に適宜変更可能である。あるいは、マージン設定部は、タイミン制約情報を参照してタイミングマージンの一部を生成する構成に適宜変更可能である。 In the first to fourth embodiments, the case where the margin setting unit acquires the timing margin from the timing constraint information has been described as an example. However, the present invention is not limited to this. The margin setting unit can be appropriately changed to a configuration in which the timing margin is generated by itself. Alternatively, the margin setting unit can be appropriately changed to a configuration that generates a part of the timing margin with reference to the timing constraint information.
また、上記実施の形態1〜4にかかる論理合成装置は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。 Moreover, the logic synthesis apparatuses according to the first to fourth embodiments can also realize arbitrary processing by causing a CPU (Central Processing Unit) to execute a computer program.
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、BD(Blue-ray(登録商標) Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 In the above example, the program can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, DVD (Digital Versatile Disc), BD (Blue-ray (registered trademark) Disc), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM ( Random Access Memory)). The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
(従来技術との差異)
特許文献2には、異なるクロック信号に同期して動作するフリップフロップ間のデータパスと、同一のクロック信号に同期して動作するフリップフロップ間のデータパスと、に対しそれぞれ異なるタイミングマージンを設定する点について、開示も示唆もされていない。また、特許文献2には、モジュール間を接続するデータパスの本数に応じたタイミングマージンを当該データパスに設定する点について、開示も示唆もされていない。
(Difference from conventional technology)
In
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。 As mentioned above, the invention made by the present inventor has been specifically described based on the embodiments. However, the present invention is not limited to the embodiments already described, and various modifications can be made without departing from the scope of the invention. It goes without saying that it is possible.
1〜4 論理合成装置
11,21,31,41 論理合成部
12 FF抽出部
13,23,33,42 マージン設定部
14,24,34,44 RTL記述
15,25,35,45 タイミング制約情報
16,26,36,46 ライブラリ
17,27,37,47 ネットリスト
22 モジュール間配線数抽出部
32 モジュール面積抽出部
42a FF抽出部
42b モジュール間配線数抽出部
42c モジュール面積抽出部
100 コンピュータ
101 CPU
102 RAM
103 ROM
104 IF
105 HDD
106 構造記述情報
107 論理回路情報
108 論理合成プログラム
501〜503 フリップフロップ
504 PLL
505 分周器
601〜604 モジュール
701,702 モジュール
703〜706 フリップフロップ
1-4
102 RAM
103 ROM
104 IF
105 HDD
106
505 Frequency divider 601-604
Claims (16)
論理合成を行う、半導体集積回路の設計方法。 Set a larger timing margin for the data path between flip-flops operating in synchronization with different clock signals than for the data path between flip-flops operating in synchronization with the same clock signal,
A method of designing a semiconductor integrated circuit that performs logic synthesis.
異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きなタイミングマージンを設定し、
前記構造記述の論理合成を行う、請求項1に記載の半導体集積回路の設計方法。 Extract the description corresponding to the flip-flop from the structure description of the semiconductor integrated circuit,
Set a larger timing margin for the data path between flip-flops operating in synchronization with different clock signals than for the data path between flip-flops operating in synchronization with the same clock signal,
The method for designing a semiconductor integrated circuit according to claim 1, wherein logic synthesis of the structure description is performed.
前記第1及び前記第2モジュール間を接続するデータパスの数に応じたタイミングマージンを、当該データパスに対してさらに設定し、
前記論理合成を行う、請求項2に記載の半導体集積回路の設計方法。 Further extracting from the structure description of the semiconductor integrated circuit the descriptions of the first and second modules that are respectively flattened and subjected to logic synthesis;
A timing margin corresponding to the number of data paths connecting the first and second modules is further set for the data path;
The method of designing a semiconductor integrated circuit according to claim 2, wherein the logic synthesis is performed.
前記論理合成を行う、請求項3に記載の半導体集積回路の設計方法。 In addition to the number of data paths between the first and second modules, a timing margin corresponding to the frequency of the clock signal corresponding to the data path is further set for the data path,
The method of designing a semiconductor integrated circuit according to claim 3, wherein the logic synthesis is performed.
前記第3モジュールの面積に応じたタイミングマージンを、当該第3モジュール内に設けられたデータパスに対してさらに設定し、
前記論理合成を行う、請求項3に記載の半導体集積回路の設計方法。 Further extracting a third module that is flattened and subjected to logic synthesis from the structure description of the semiconductor integrated circuit,
A timing margin corresponding to the area of the third module is further set for the data path provided in the third module;
The method of designing a semiconductor integrated circuit according to claim 3, wherein the logic synthesis is performed.
論理合成を行う、半導体集積回路の設計方法。 A timing margin corresponding to the number of data paths connecting between the first module that is flattened and logically synthesized and the second module that is flattened and logically synthesized is set for the data path. ,
A method of designing a semiconductor integrated circuit that performs logic synthesis.
前記第1及び前記第2モジュール間を接続するデータパスの数に応じたタイミングマージンを、当該データパスに対して設定し、
前記構造記述の論理合成を行う、請求項8に記載の半導体集積回路の設計方法。 Extracting descriptions of the first and second modules from a structure description of a semiconductor integrated circuit;
A timing margin corresponding to the number of data paths connecting the first and second modules is set for the data path;
The method for designing a semiconductor integrated circuit according to claim 8, wherein logic synthesis of the structure description is performed.
前記論理合成を行う、請求項9に記載の半導体集積回路の設計方法。 In addition to the number of data paths between the first and second modules, a timing margin corresponding to the frequency of the clock signal corresponding to the data path is set for the data path,
The method for designing a semiconductor integrated circuit according to claim 9, wherein the logic synthesis is performed.
論理合成を行う合成処理と、をコンピュータに実行させる半導体集積回路の設計プログラム。 First setting process for setting a larger timing margin for a data path between flip-flops operating in synchronization with different clock signals than for a data path between flip-flops operating in synchronization with the same clock signal When,
A semiconductor integrated circuit design program for causing a computer to execute synthesis processing for performing logic synthesis.
異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きなタイミングマージンを設定する第1設定処理と、
前記構造記述の論理合成を行う合成処理と、をコンピュータに実行させる請求項13に記載の半導体集積回路の設計プログラム。 A first extraction process for extracting a description corresponding to a flip-flop from a structure description of a semiconductor integrated circuit;
First setting process for setting a larger timing margin for a data path between flip-flops operating in synchronization with different clock signals than for a data path between flip-flops operating in synchronization with the same clock signal When,
14. The semiconductor integrated circuit design program according to claim 13, which causes a computer to execute synthesis processing for performing logic synthesis of the structure description.
前記第1及び前記第2モジュール間を接続するデータパスの数に応じたタイミングマージンを、当該データパスに対してさらに設定する第2設定処理と、
前記第1設定処理及び前記第2設定処理の後に論理合成を行う前記合成処理と、をコンピュータに実行させる請求項14に記載の半導体集積回路の設計プログラム。 A second extraction process for further extracting descriptions of the first and second modules, which are respectively flattened and subjected to logic synthesis, from the structure description of the semiconductor integrated circuit;
A second setting process for further setting a timing margin according to the number of data paths connecting the first and second modules to the data path;
15. The design program for a semiconductor integrated circuit according to claim 14, wherein a computer executes the synthesis process for performing logic synthesis after the first setting process and the second setting process.
前記第1及び前記第2モジュール間のデータパスの数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンを、当該データパスに対してさらに設定する第2設定処理と、
前記第1設定処理及び前記第2設定処理の後に論理合成を行う前記合成処理と、をコンピュータに実行させる請求項14に記載の半導体集積回路の設計プログラム。 A second extraction process for further extracting descriptions of the first and second modules, which are respectively flattened and subjected to logic synthesis, from the structure description of the semiconductor integrated circuit;
A second setting process for further setting a timing margin for the data path according to the number of data paths between the first and second modules and the frequency of the clock signal corresponding to the data path;
15. The design program for a semiconductor integrated circuit according to claim 14, wherein a computer executes the synthesis process for performing logic synthesis after the first setting process and the second setting process.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012139601A JP2014006564A (en) | 2012-06-21 | 2012-06-21 | Semiconductor integrated circuit design method and design program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012139601A JP2014006564A (en) | 2012-06-21 | 2012-06-21 | Semiconductor integrated circuit design method and design program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2014006564A true JP2014006564A (en) | 2014-01-16 |
Family
ID=50104257
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012139601A Pending JP2014006564A (en) | 2012-06-21 | 2012-06-21 | Semiconductor integrated circuit design method and design program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2014006564A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117010307A (en) * | 2023-10-07 | 2023-11-07 | 北京象帝先计算技术有限公司 | Port timing constraint method and device, electronic equipment and storage medium |
-
2012
- 2012-06-21 JP JP2012139601A patent/JP2014006564A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117010307A (en) * | 2023-10-07 | 2023-11-07 | 北京象帝先计算技术有限公司 | Port timing constraint method and device, electronic equipment and storage medium |
| CN117010307B (en) * | 2023-10-07 | 2024-03-19 | 北京象帝先计算技术有限公司 | Port timing constraint method and device, electronic equipment and storage medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10037048B1 (en) | Methods for optimizing circuit performance via configurable clock skews | |
| US9569575B2 (en) | Digital circuit design method and associated computer program product | |
| US9449127B1 (en) | System for verifying timing constraints of IC design | |
| EP3948637B1 (en) | Embedded fpga timing sign-off | |
| JP4918934B2 (en) | Semiconductor integrated circuit delay analysis apparatus, delay analysis method, and program thereof | |
| US10310015B2 (en) | Method and apparatus for providing clock signals for a scan chain | |
| Ganusov et al. | Time-borrowing platform in the Xilinx Ultrascale+ family of FPGAs and MPSoCs | |
| US20110295536A1 (en) | Clock jitter analyzing method and apparatus | |
| CN112906345A (en) | Method, system, medium, and program product for validating paths in logic circuits | |
| US8191024B2 (en) | Customizable H-tree synthesis tool | |
| CN104268352B (en) | Quick fix method for clock skews in FPGA (field programmable gate array) realization | |
| JP2006154996A (en) | Semiconductor integrated circuit design method, semiconductor integrated circuit, and semiconductor integrated circuit design program | |
| US8621412B1 (en) | Micro-regions for auto place and route optimization | |
| JP2005136286A (en) | Method for designing semiconductor integrated circuit and its device | |
| JP2014006564A (en) | Semiconductor integrated circuit design method and design program | |
| JP2008140821A (en) | Semiconductor device and method for designing semiconductor device | |
| US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
| US8984456B2 (en) | Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program | |
| JP2007179126A (en) | Timing analysis device and timing analysis method | |
| JP4886559B2 (en) | Semiconductor design support apparatus, semiconductor design support method, and semiconductor design support program | |
| JP5146369B2 (en) | Circuit design program, circuit design method, and circuit design apparatus | |
| JP2011134072A (en) | Method for designing semiconductor integrated circuit and program | |
| JP6322888B2 (en) | Semiconductor test program, semiconductor test apparatus, and semiconductor test method | |
| US8825433B2 (en) | Automatic generation of valid at-speed structural test (ASST) test groups | |
| JP6325846B2 (en) | Method for creating a floor plan of a semiconductor integrated circuit |