[go: up one dir, main page]

JP2014006564A - Semiconductor integrated circuit design method and design program - Google Patents

Semiconductor integrated circuit design method and design program Download PDF

Info

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
Application number
JP2012139601A
Other languages
Japanese (ja)
Inventor
Akira Ogawa
亮 小川
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2012139601A priority Critical patent/JP2014006564A/en
Publication of JP2014006564A publication Critical patent/JP2014006564A/en
Pending legal-status Critical Current

Links

Images

Abstract

【課題】タイミング制約を満たす設計を容易に行うことが可能な半導体集積回路の設計方法及び設計プログラムを提供すること。
【解決手段】一実施の形態によれば、半導体集積回路の設計方法は、異なるクロック信号に同期して動作するフリップフロップ502,503間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ501,502間のデータパスに対してよりも大きなタイミングマージンを設定し、論理合成を行う。
【選択図】図1
A 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 Patent Document 1 and Patent Document 2.

特許文献1に開示された半導体集積回路の設計方法は、配置配線工程にてクロック信号のタイミングスキューの最適化を図るクロックツリーシンセシスを行うことを想定し、論理合成工程時に論理回路の最適化を行うことを特徴とする。   The method for designing a semiconductor integrated circuit disclosed in Patent Document 1 assumes that clock tree synthesis is performed to optimize timing skew of a clock signal in the placement and routing process, and the logic circuit is optimized during the logic synthesis process. It is characterized by performing.

特許文献2に開示された半導体集積回路の設計装置は、半導体集積回路における論理回路の動作周波数に対するタイミングマージンを仮設定するタイミングマージン設定部と、タイミングマージン設定部において仮設定されたタイミングマージンに応じて論理回路を決定する論理合成部と、論理合成部において決定された論理回路のタイミングマージンを算出するタイミングマージン算出部と、タイミングマージン算出部で算出されたタイミングマージンに応じて、論理合成部で決定された論理回路の設計値の新たな制約を作成する合成制約作成部と、を備える。それにより、この設計装置は、所望の半導体集積回路を迅速かつ的確に設計している。   A semiconductor integrated circuit design apparatus disclosed in Patent Document 2 is a timing margin setting unit that temporarily sets a timing margin for an operating frequency of a logic circuit in a semiconductor integrated circuit, and a timing margin that is temporarily set in the timing margin setting unit. The logic synthesis unit for determining the logic circuit, the timing margin calculation unit for calculating the timing margin of the logic circuit determined by the logic synthesis unit, and the logic synthesis unit according to the timing margin calculated by the timing margin calculation unit A synthesis constraint creating unit that creates a new constraint on the design value of the determined logic circuit. Thus, this design apparatus designs a desired semiconductor integrated circuit quickly and accurately.

特開2000−208632号公報JP 2000-208632 A 特開2001−196459号公報JP 2001-196458 A

しかしながら、特許文献1に開示された半導体集積回路の設計方法は、レイアウト設計でのクロックツリーシンセシスを想定した論理合成を行うものの、OCV(On Chip Variation)を考慮した論理合成までは行っていない。そのため、この半導体集積回路の設計方法では、その後のタイミングドリブンレイアウト設計において、依然としてセットアップタイム等のタイミング制約を満たす設計が困難であった。   However, the semiconductor integrated circuit design method disclosed in Patent Document 1 performs logic synthesis assuming clock tree synthesis in layout design, but does not perform logic synthesis considering OCV (On Chip Variation). Therefore, with this semiconductor integrated circuit design method, it is still difficult to satisfy the timing constraints such as the setup time in the subsequent timing driven layout design.

その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   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.

実施の形態1にかかる論理合成装置の構成例を示すブロック図である。1 is a block diagram illustrating a configuration example of a logic synthesis device according to a first exemplary embodiment; 実施の形態1にかかる論理合成装置の動作を示すフローチャートである。3 is a flowchart illustrating an operation of the logic synthesis device according to the first exemplary embodiment; 実施の形態1にかかる論理合成装置から出力されたネットリストの一部を示す回路図である。FIG. 3 is a circuit diagram showing a part of a net list output from the logic synthesis device according to the first exemplary embodiment; 実施の形態1にかかる論理合成装置のハードウェア構成例を示すブロック図である。1 is a block diagram illustrating a hardware configuration example of a logic synthesis device according to a first embodiment; 実施の形態2にかかる論理合成装置の構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration example of a logic synthesis device according to a second exemplary embodiment; モジュール間データパスに対して設定するタイミングマージンのテーブルを示す図である。It is a figure which shows the table of the timing margin set with respect to the data path between modules. 実施の形態2にかかる論理合成装置の動作を示すフローチャートである。10 is a flowchart illustrating an operation of the logic synthesis device according to the second exemplary embodiment; 実施の形態2にかかる論理合成装置から出力されたネットリストの一部を示すブロック図である。FIG. 10 is a block diagram illustrating a part of a net list output from a logic synthesis device according to a second exemplary embodiment; 実施の形態3にかかる論理合成装置の構成例を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration example of a logic synthesis device according to a third exemplary embodiment; モジュール内データパスに対して設定するタイミングマージンのテーブルを示す図である。It is a figure which shows the table of the timing margin set with respect to the data path in a module. 実施の形態3にかかる論理合成装置の動作を示すフローチャートである。10 is a flowchart illustrating an operation of the logic synthesis device according to the third exemplary embodiment. 実施の形態3にかかる論理合成装置から出力されたネットリストの一部を示すブロック図である。FIG. 10 is a block diagram illustrating a part of a net list output from a logic synthesis device according to a third exemplary embodiment; 実施の形態4にかかる論理合成装置の構成例を示すブロック図である。FIG. 10 is a block diagram illustrating a configuration example of a logic synthesis device according to a fourth embodiment;

以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。   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は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。以下、具体的に説明する。
<Embodiment 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 logic synthesizer 1 according to the present embodiment is provided for a data path between flip-flops operating in synchronization with different clock signals, and for a data path between flip-flops operating in synchronization with the same clock signal. Set a larger timing margin and perform logic synthesis. As a result, the logic synthesis device 1 according to the present embodiment can more easily perform a design that satisfies the timing constraints in the subsequent timing-driven layout design. This will be specifically described below.

図1に示す論理合成装置1は、RTL記述等の回路の構造に関する記述(構造記述)を論理合成し、ネットリスト(論理回路)として出力する装置である。具体的には、論理合成装置1は、論理合成部11と、FF抽出部12と、マージン設定部13と、を備え、半導体集積回路のRTL記述14、タイミング制約情報15及びライブラリ16を読み込んでネットリスト17を出力する。   A logic synthesis device 1 shown in FIG. 1 is a device that logically synthesizes a description (structure description) relating to the structure of a circuit such as an RTL description and outputs it as a net list (logic circuit). Specifically, the logic synthesis device 1 includes a logic synthesis unit 11, an FF extraction unit 12, and a margin setting unit 13, and reads the RTL description 14, the timing constraint information 15 and the library 16 of the semiconductor integrated circuit. The net list 17 is output.

FF抽出部12は、RTL記述14からフリップフロップに相当する記述を抽出する。   The FF extraction unit 12 extracts a description corresponding to the flip-flop from the RTL description 14.

タイミング制約情報15には、従来の論理合成時に用いられるタイミング制約情報に加え、異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して設定するタイミングマージンの情報と、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対して設定するタイミングマージンの情報と、が含まれる。   The timing constraint information 15 includes, in addition to the timing constraint information used at the time of conventional logic synthesis, timing margin information set for a data path between flip-flops operating in synchronization with different clock signals, and the same clock signal. Timing margin information set for a data path between flip-flops that operate in synchronization with each other.

マージン設定部13は、FF抽出部12によって抽出された複数のフリップフロップ間のそれぞれのデータパスに対し、タイミング制約情報15から取得したタイミングマージンをそれぞれ設定する。   The margin setting unit 13 sets the timing margin acquired from the timing constraint information 15 for each data path between the plurality of flip-flops extracted by the FF extraction unit 12.

ここで、マージン設定部13は、複数のフリップフロップのうち異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定する。具体的な設定内容については、後述する。   Here, the margin setting unit 13 is a data path between flip-flops that operates in synchronization with the same clock signal with respect to a data path between flip-flops that operates in synchronization with different clock signals among the plurality of flip-flops. Set a larger (severe) timing margin than Specific setting contents will be described later.

論理合成部11は、マージン設定部13によって設定されたタイミングマージン及びその他のタイミング制約に従ってRTL記述14を論理合成し、ネットリスト17として出力する。なお、論理合成部11は、従来と同様に、NAND回路やINV回路等の基本論理回路の設計情報を格納したライブラリ16を読み込んで論理合成を行う。   The logic synthesis unit 11 logically synthesizes the RTL description 14 according to the timing margin set by the margin setting unit 13 and other timing constraints, and outputs it as a net list 17. Note that the logic synthesis unit 11 performs logic synthesis by reading a library 16 that stores design information of basic logic circuits such as NAND circuits and INV circuits, as in the prior art.

続いて、論理合成装置1の動作について図2を参照して説明する。図2は、論理合成装置1の動作を示すフローチャートである。まず、論理合成装置1は、RTL記述14からフリップフロップに相当する記述を抽出する(S101)。次に、論理合成装置1は、抽出した複数のフリップフロップ間のそれぞれのデータパスに対し、タイミング制約情報15から取得したタイミングマージンをそれぞれ設定する(S102)。ここで、論理合成装置1は、抽出した複数のフリップフロップのうち異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定する。具体的な設定内容については、後述する。次に、論理合成装置1は、設定したタイミングマージン及びその他のタイミング制約に従ってRTL記述14を論理合成し(S103)、ネットリスト17として出力する(S104)。   Next, the operation of the logic synthesis device 1 will be described with reference to FIG. FIG. 2 is a flowchart showing the operation of the logic synthesis device 1. First, the logic synthesis device 1 extracts a description corresponding to a flip-flop from the RTL description 14 (S101). Next, the logic synthesis device 1 sets the timing margin acquired from the timing constraint information 15 for each data path between the extracted plurality of flip-flops (S102). Here, the logic synthesizer 1 is configured so that the data paths between the flip-flops operating in synchronization with different clock signals among the plurality of extracted flip-flops are between the flip-flops operating in synchronization with the same clock signal. Set a larger (severe) timing margin than for the data path. Specific setting contents will be described later. Next, the logic synthesizer 1 logically synthesizes the RTL description 14 according to the set timing margin and other timing constraints (S103), and outputs it as a netlist 17 (S104).

続いて、複数のフリップフロップ間のそれぞれのデータパスに対するタイミングマージンの設定内容について、具体例を用いて説明する。   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 netlist 17. The netlist 17 includes flip-flops 501 to 503, a PLL 504, and a frequency divider 505. The PLL 504 generates a clock signal CLK1. The frequency divider 505 divides the clock signal CLK1 and outputs it as the clock signal CLK2. That is, the clock signals CLK1 and CLK2 are different clock signals.

フリップフロップ501は、クロック信号CLK1に同期してデータを出力する。フリップフロップ502は、クロック信号CLK1に同期してフリップフロップ501から出力されたデータを取り込み、出力する。フリップフロップ503は、クロック信号CLK2に同期してフリップフロップ502から出力されたデータを取り込み、出力する。   The flip-flop 501 outputs data in synchronization with the clock signal CLK1. The flip-flop 502 takes in and outputs the data output from the flip-flop 501 in synchronization with the clock signal CLK1. The flip-flop 503 captures and outputs the data output from the flip-flop 502 in synchronization with the clock signal CLK2.

フリップフロップ501,502は同一のクロック信号CLK1に同期して動作している。ここで、フリップフロップ501に入力されるクロック信号のクロックラインと、フリップフロップ502に入力されるクロック信号のクロックラインと、の分岐点N1は、送信側のフリップフロップ501の付近に位置する。つまり、フリップフロップ501,502と分岐点N1との間のそれぞれのクロックラインは比較的短い。そのため、OCVの影響による信号伝搬遅延のばらつきは比較的小さい。換言すると、フリップフロップ501,502間のクロックスキューのばらつきは比較的小さい。   The flip-flops 501 and 502 operate in synchronization with the same clock signal CLK1. Here, a branch point N1 between the clock line of the clock signal input to the flip-flop 501 and the clock line of the clock signal input to the flip-flop 502 is located in the vicinity of the flip-flop 501 on the transmission side. That is, each clock line between the flip-flops 501 and 502 and the branch point N1 is relatively short. Therefore, variation in signal propagation delay due to the influence of OCV is relatively small. In other words, the variation in clock skew between the flip-flops 501 and 502 is relatively small.

一方、フリップフリップ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 branch point N 2 between the clock line of the clock signal input to the flip-flop 502 and the clock line of the clock signal input to the flip-flop 503 is located in the vicinity of the PLL 504. That is, each clock line between the flip-flops 502 and 503 and the branch point N2 is relatively long. Therefore, the variation in signal propagation delay due to the effect of OCV is relatively large. In other words, the variation in clock skew between the flip-flops 502 and 503 is relatively large.

そこで、本実施の形態にかかる論理合成装置1は、異なるクロック信号に同期して動作するフリップフロップ501,502間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ502,503間のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定して論理合成を行っている。   Therefore, the logic synthesis apparatus 1 according to the present embodiment has flip-flops 502, 502 that operate in synchronization with the same clock signal for data paths between the flip-flops 501, 502 that operate in synchronization with different clock signals. Logic synthesis is performed by setting a larger (stricter) timing margin than the data path between 503.

例えば、同一のクロック信号に同期して動作するフリップフロップ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-flops 501 and 502 that operate in synchronization with the same clock signal. On the other hand, a timing margin of 2 ns is set in the data path between the flip-flops 502 and 503 operating in synchronization with different clock signals. For example, when the clock cycle is 10 ns and the setup time of each flip-flop is 1 ns, the data propagation time between the flip-flops 501 and 502 operating in synchronization with the same clock signal (after the transmission flip-flop outputs data) The time until the receiving flip-flop captures data) needs to be 8 ns or less. On the other hand, the data propagation time between flip-flops operating in synchronization with different clock signals needs to be 7 ns or less.

このように、本実施の形態にかかる論理合成装置1は、異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して厳しいタイミングマージンを設定して論理合成を行う。それにより、本実施の形態にかかる論理合成装置1は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。その結果、タイミングドリブンレイアウト設計後に実施される静的タイミング解析(STA:Static Timing Analysis)において、セットアップタイム違反等のタイミングエラーの発生が抑制される。   As described above, the logic synthesis device 1 according to the present embodiment performs logic synthesis by setting a strict timing margin for a data path between flip-flops operating in synchronization with different clock signals. As a result, the logic synthesis device 1 according to the present embodiment can more easily perform a design that satisfies the timing constraints in the subsequent timing-driven layout design. As a result, the occurrence of timing errors such as setup time violations is suppressed in static timing analysis (STA) performed after timing-driven layout design.

さらに、本実施の形態にかかる論理合成装置1は、タイミング、回路規模及び消費電力が実レイアウト設計後のネットリストに比較的近いネットリスト17を出力することができる。なお、本実施の形態にかかる論理合成装置1は、例えば、タイミング制約を満たすことが困難な箇所には、予め速度の速い回路をマッピングする。   Furthermore, the logic synthesis device 1 according to the present embodiment can output a net list 17 whose timing, circuit scale, and power consumption are relatively close to the net list after the actual layout design. Note that the logic synthesis apparatus 1 according to the present embodiment maps a high-speed circuit in advance to a location where it is difficult to satisfy timing constraints, for example.

なお、本実施の形態にかかる論理合成装置1は、例えば、汎用的なコンピュータシステムにより実現可能である。以下、図4を用いて簡単に説明する。   The logic synthesis device 1 according to the present embodiment can be realized by, for example, a general-purpose computer system. Hereinafter, it will be briefly described with reference to FIG.

図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 logic synthesis device 1 according to the present embodiment. The computer 100 includes, for example, a central processing unit (CPU) 101 that is a control device, a random access memory (RAM) 102, a read only memory (ROM) 103, and an IF (inter face) 104 that is an interface with the outside. HDD (Hard Disk Drive) 105, which is an example of a nonvolatile storage device. The computer 100 may include an input device such as a keyboard and a mouse and a display device such as a display as other components not shown.

HDD105には、OS(Operating System)(不図示)と、構造記述情報106と、論理回路情報107と、論理合成プログラム108と、が記憶されている。構造記述情報106は、回路の構造に関する情報であって、図1におけるRTL記述14に相当する。論理回路情報107は、論理回路を実現するための設計情報であって、図1におけるネットリスト17に相当する。論理合成プログラム108は、本実施の形態にかかる論理合成処理が実装されたコンピュータプログラムである。   The HDD 105 stores an OS (Operating System) (not shown), structure description information 106, logic circuit information 107, and a logic synthesis program 108. The structure description information 106 is information relating to the structure of the circuit, and corresponds to the RTL description 14 in FIG. The logic circuit information 107 is design information for realizing the logic circuit, and corresponds to the net list 17 in FIG. The logic synthesis program 108 is a computer program in which the logic synthesis processing according to the present embodiment is implemented.

CPU101は、コンピュータ100における各種処理、RAM102,ROM103,IF104及びHDD105へのアクセス等を制御する。コンピュータ100は、CPU101がHDD105に記憶されたOS及び論理合成プログラム108を読み込み、実行する。これにより、コンピュータ100は、本実施の形態にかかる論理合成装置1を実現する。   The CPU 101 controls various processes in the computer 100, access to the RAM 102, ROM 103, IF 104, and HDD 105, and the like. In the computer 100, the CPU 101 reads and executes the OS and the logic synthesis program 108 stored in the HDD 105. Thereby, the computer 100 implement | achieves the logic synthesis apparatus 1 concerning this Embodiment.

<実施の形態2>
図5は、実施の形態2にかかる論理合成装置(半導体設計装置)2の構成例を示すブロック図である。本実施の形態にかかる論理合成装置2は、モジュール(第1及び第2モジュール)間を接続するデータパスの本数(配線数)と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンを当該データパスに対して設定し、論理合成を行う。それにより、本実施の形態にかかる論理合成装置2は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。以下、具体的に説明する。
<Embodiment 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 logic synthesis device 2 according to the present embodiment corresponds to the number of data paths (number of wirings) connecting the modules (first and second modules) and the frequency of the clock signal corresponding to the data path. A timing margin is set for the data path, and logic synthesis is performed. As a result, the logic synthesis device 2 according to the present embodiment can more easily perform design that satisfies the timing constraint in the subsequent timing-driven layout design. This will be specifically described below.

図5に示す論理合成装置2は、RTL記述等の回路の構造に関する記述(構造記述)を論理合成し、ネットリスト(論理回路)として出力する装置である。具体的には、論理合成装置2は、論理合成部21と、モジュール間配線数抽出部22と、マージン設定部23と、を備え、半導体集積回路のRTL記述24、タイミング制約情報25及びライブラリ26を読み込んでネットリスト27を出力する。   A logic synthesis device 2 shown in FIG. 5 is a device that logically synthesizes a description (structure description) relating to the structure of a circuit such as an RTL description and outputs it as a net list (logic circuit). Specifically, the logic synthesis device 2 includes a logic synthesis unit 21, an intermodule wiring number extraction unit 22, and a margin setting unit 23, and includes an RTL description 24, timing constraint information 25, and a library 26 of the semiconductor integrated circuit. And the net list 27 is output.

モジュール間配線数抽出部22は、RTL記述24からモジュール間を接続するデータパスの本数を抽出する。なお、モジュールとは、ある機能を実現する回路ブロックのことであるが、ここでは、特に、下位階層を平坦化して論理合成する最小単位の回路ブロックのことを指す。   The inter-module wiring number extraction unit 22 extracts the number of data paths connecting the modules from the RTL description 24. Note that a module is a circuit block that realizes a certain function, but here, in particular, refers to a circuit block of a minimum unit that performs logic synthesis by flattening a lower hierarchy.

タイミング制約情報25には、従来の論理合成時に用いられるタイミング制約情報に加え、モジュール間を接続するデータパスの本数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンの情報が含まれている。なお、データパスに対応するクロック信号とは、当該データパスを介して信号を送受信するフリップフロップに供給されるクロック信号のことである。   The timing constraint information 25 includes timing margin information corresponding to the number of data paths connecting between modules and the frequency of the clock signal corresponding to the data path, in addition to the timing constraint information used in conventional logic synthesis. It is included. Note that the clock signal corresponding to the data path is a clock signal supplied to a flip-flop that transmits and receives a signal through the data path.

図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 number 1 to q of data paths connecting the modules (q is an integer of 2 or more) and the frequency F1 to Fp of the clock signal corresponding to the data path (p is an integer of 2 or more). And timing margins MB11 to MBpq are defined. Note that the timing margins MB11 to MBpq may be coefficients for the basic margin. The timing constraint information 25 includes such timing margin information.

図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 timing constraint information 25, and the data Set for the path.

ここで、マージン設定部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 RTL description 24 according to the timing margin set by the margin setting unit 23 and other timing constraints, and outputs it as a net list 27. Note that the logic synthesis unit 21 performs logic synthesis by reading a library 26 that stores design information of basic logic circuits such as NAND circuits and INV circuits, as in the prior art.

続いて、論理合成装置2の動作について図7を参照して説明する。図7は、論理合成装置2の動作を示すフローチャートである。まず、論理合成装置2は、RTL記述24からモジュール間を接続するデータパスの本数を抽出する(S201)。次に、論理合成装置2は、モジュール間を接続するデータパスの本数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンをタイミング制約情報25から取得し、当該データパスに対して設定する(S202)。ここで、論理合成装置2は、モジュール間を接続するデータパスの本数が少ない場合、多い場合よりも、当該データパスに対して大きな(厳しい)タイミングマージンを設定する。また、論理合成装置2は、モジュール間を接続するデータパスに対応するクロック信号の周波数が低い場合、高い場合よりも、当該データパスに対して大きな(厳しい)タイミングマージンを設定する。具体的な設定内容については、後述する。次に、論理合成装置2は、設定したタイミングマージン及びその他のタイミング制約に従ってRTL記述24を論理合成し(S203)、ネットリスト27として出力する(S204)。   Next, the operation of the logic synthesis device 2 will be described with reference to FIG. FIG. 7 is a flowchart showing the operation of the logic synthesis device 2. First, the logic synthesis device 2 extracts the number of data paths connecting the modules from the RTL description 24 (S201). Next, the logic synthesis device 2 acquires a timing margin corresponding to the number of data paths connecting the modules and the frequency of the clock signal corresponding to the data path from the timing constraint information 25, and stores the data in the data path. It sets for (S202). Here, the logic synthesis device 2 sets a larger (severe) timing margin for the data path when the number of data paths connecting the modules is small than when the number is large. Further, when the frequency of the clock signal corresponding to the data path connecting the modules is low, the logic synthesis device 2 sets a larger (stricter) timing margin for the data path than when the frequency is high. Specific setting contents will be described later. Next, the logic synthesizer 2 logically synthesizes the RTL description 24 according to the set timing margin and other timing constraints (S203), and outputs it as a netlist 27 (S204).

続いて、モジュール間を接続するデータパスに対するタイミングマージンの設定内容について、具体例を用いて説明する。   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 netlist 27. The netlist 27 has modules 601 to 604.

ここで、モジュール601,602間を接続するデータパスの本数は比較的多い。また、これらデータパスに対応するクロック信号の周波数は比較的高い。したがって、データパスの配線が混雑しやすく、セットアップタイム違反も起きやすい。これを回避するため、タイミングドリブンレイアウト設計では、モジュール601,602は比較的近くに自動配置されやすい。そのため、タイミングドリブンレイアウト設計において、タイミング制約を満たす設計は比較的容易である。   Here, the number of data paths connecting the modules 601 and 602 is relatively large. The frequency of the clock signal corresponding to these data paths is relatively high. Therefore, data path wiring is likely to be congested, and setup time violations are likely to occur. In order to avoid this, in the timing driven layout design, the modules 601 and 602 are likely to be automatically arranged relatively close to each other. Therefore, in the timing driven layout design, the design that satisfies the timing constraint is relatively easy.

一方、モジュール603,604間を接続するデータパスの本数は比較的少ない。また、これらデータパスに対応するクロック信号の周波数は比較的低い。したがって、データパスの配線が混雑しにくく、セットアップタイム違反が起きにくい。そのため、タイミングドリブンレイアウト設計では、モジュール603,604は比較的離れて自動配置されやすい。その結果、タイミングドリブンレイアウト設計において、想定したよりもタイミング制約を満たす設計が困難になる可能性がある。   On the other hand, the number of data paths connecting the modules 603 and 604 is relatively small. The frequency of the clock signal corresponding to these data paths is relatively low. Therefore, the data path wiring is less likely to be congested and the setup time violation is less likely to occur. Therefore, in the timing driven layout design, the modules 603 and 604 are likely to be automatically arranged relatively far apart. As a result, in the timing driven layout design, it may be difficult to satisfy the timing constraint than expected.

そこで、本実施の形態にかかる論理合成装置2は、モジュール間を接続するデータパスの本数が比較的少なく、当該データパスに対応するクロック信号の周波数が比較的低い、モジュール603,604間のデータパスに対して、モジュール601,602間のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定し、論理合成を行っている。   Therefore, the logic synthesis device 2 according to the present embodiment has a relatively small number of data paths connecting the modules, and data between the modules 603 and 604 having a relatively low frequency of the clock signal corresponding to the data paths. For the path, a larger (stricter) timing margin than that for the data path between the modules 601 and 602 is set, and logic synthesis is performed.

このように、本実施の形態にかかる論理合成装置2は、モジュール間を接続するデータパスの本数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンを当該データパスに対して設定して論理合成を行う。それにより、本実施の形態にかかる論理合成装置2は、その後のタイミングドリブンレイアウト設計においてタイミング制約を満たす設計を従来よりも容易に行うことができる。その結果、タイミングドリブンレイアウト設計後に実施される静的タイミング解析において、セットアップタイム違反等のタイミングエラーの発生が抑制される。   As described above, the logic synthesis device 2 according to the present embodiment provides a timing margin corresponding to the number of data paths connecting the modules and the frequency of the clock signal corresponding to the data path to the data path. Set and perform logic synthesis. As a result, the logic synthesis device 2 according to the present embodiment can more easily perform a design that satisfies the timing constraints in the subsequent timing-driven layout design. As a result, the occurrence of timing errors such as setup time violations is suppressed in static timing analysis performed after timing-driven layout design.

さらに、本実施の形態にかかる論理合成装置2は、タイミング、回路規模及び消費電力が実レイアウト設計後のネットリストに比較的近いネットリスト27を出力することができる。なお、本実施の形態にかかる論理合成装置2は、例えば、タイミング制約を満たすことが困難な箇所には、予め速度の速い回路をマッピングする。   Furthermore, the logic synthesis device 2 according to the present embodiment can output a net list 27 whose timing, circuit scale, and power consumption are relatively close to the net list after the actual layout design. Note that the logic synthesis device 2 according to the present embodiment maps a high-speed circuit in advance to a location where it is difficult to satisfy timing constraints, for example.

本実施の形態では、マージン設定部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 logic synthesis device 2 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).

<実施の形態3>
図9は、実施の形態3にかかる論理合成装置(半導体設計装置)3の構成例を示すブロック図である。本実施の形態にかかる論理合成装置3は、モジュール(第3モジュール)の面積及びモジュール内のクロック信号の周波数に応じたタイミングマージンを当該モジュール内のデータパスに対して設定し、論理合成を行う。それにより、本実施の形態にかかる論理合成装置3は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。以下、具体的に説明する。
<Embodiment 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 logic synthesis device 3 according to the present embodiment sets a timing margin corresponding to the area of the module (third module) and the frequency of the clock signal in the module for the data path in the module, and performs logic synthesis. . As a result, the logic synthesis device 3 according to the present embodiment can more easily perform a design that satisfies the timing constraint in the subsequent timing-driven layout design. This will be specifically described below.

図9に示す論理合成装置3は、RTL記述等の回路の構造に関する記述(構造記述)を論理合成し、ネットリスト(論理回路)として出力する装置である。具体的には、論理合成装置3は、論理合成部31と、モジュール面積抽出部32と、マージン設定部33と、を備え、半導体集積回路のRTL記述34、タイミング制約情報35及びライブラリ36を読み込んでネットリスト37を出力する。   The logic synthesis device 3 shown in FIG. 9 is a device that logically synthesizes a description (structure description) relating to the structure of a circuit such as an RTL description and outputs it as a net list (logic circuit). Specifically, the logic synthesis device 3 includes a logic synthesis unit 31, a module area extraction unit 32, and a margin setting unit 33, and reads the RTL description 34, the timing constraint information 35, and the library 36 of the semiconductor integrated circuit. To output the net list 37.

モジュール面積抽出部32は、RTL記述24と、基本論理回路の設計情報(面積情報を含む)が格納されたライブラリ36と、からモジュールの面積を抽出する。なお、モジュールとは、ある機能を実現する回路ブロックのことであるが、ここでは、特に、下位階層を平坦化して論理合成する最小単位の回路ブロックのことを指す。   The module area extraction unit 32 extracts the area of the module from the RTL description 24 and the library 36 in which basic logic circuit design information (including area information) is stored. Note that a module is a circuit block that realizes a certain function, but here, in particular, refers to a circuit block of a minimum unit that performs logic synthesis by flattening a lower hierarchy.

タイミング制約情報35には、従来の論理合成時に用いられるタイミング制約情報に加え、モジュールの面積と、モジュール内のクロック信号の周波数と、に応じたタイミングマージンの情報が含まれている。   The timing constraint information 35 includes timing margin information according to the area of the module and the frequency of the clock signal in the module, in addition to the timing constraint information used in the conventional logic synthesis.

図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 timing constraint information 35 includes such timing margin information.

図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 timing constraint information 35 and sets it for the data path in the module. .

ここで、マージン設定部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 logic synthesis unit 31 logically synthesizes the RTL description 34 according to the timing margin set by the margin setting unit 33 and other timing constraints, and outputs it as a netlist 37. The logic synthesis unit 31 reads the library 36 and performs logic synthesis in the same manner as in the past.

続いて、論理合成装置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 logic synthesis device 3 will be described with reference to FIG. FIG. 11 is a flowchart showing the operation of the logic synthesis device 3. First, the logic synthesis device 3 extracts the area of the module from the RTL description 34 and the library 36 (S301). Next, the logic synthesis device 3 acquires a timing margin corresponding to the area of the module and the frequency of the clock signal in the module from the timing constraint information 35, and sets it for the data path in the module (S302). ). Here, the logic synthesis device 3 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. The logic synthesis device 3 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. Next, the logic synthesizer 3 logically synthesizes the RTL description 34 according to the set timing margin and other timing constraints (S303), and outputs it as a netlist 37 (S304).

続いて、モジュール内のデータパスに対するタイミングマージンの設定内容について、具体例を用いて説明する。   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 netlist 37. The netlist 37 has modules 701 and 702. The module 701 includes flip-flops 703 and 704. The module 702 includes flip-flops 705 and 706. In the example of FIG. 12, the branch point between the clock line of the clock signal input to the flip-flop 703 and the clock line of the clock signal input to the flip-flop 704 is assumed to be outside the module 701. Further, a branch point between the clock line of the clock signal input to the flip-flop 705 and the clock line of the clock signal input to the flip-flop 706 is assumed to be outside the module 702.

ここで、モジュール701の面積は比較的小さい。それにより、クロックラインは比較的短くなる。したがって、OCVの影響による信号伝搬遅延のばらつきは比較的小さい。換言すると、フリップフロップ703,704間のクロックスキューのばらつきは比較的小さい。   Here, the area of the module 701 is relatively small. Thereby, the clock line becomes relatively short. Therefore, variation in signal propagation delay due to the influence of OCV is relatively small. In other words, the variation in clock skew between the flip-flops 703 and 704 is relatively small.

一方、モジュール702の面積は比較的大きい。それにより、クロックラインは比較的長くなる。したがって、OCVの影響による信号伝搬遅延のばらつきは比較的大きい。換言すると、フリップフロップ705,706間のクロックスキューのばらつきは比較的大きい。   On the other hand, the area of the module 702 is relatively large. Thereby, the clock line becomes relatively long. Therefore, variation in signal propagation delay due to the effect of OCV is relatively large. In other words, the variation in clock skew between the flip-flops 705 and 706 is relatively large.

そこで、本実施の形態にかかる論理合成装置3は、比較的面積の大きなモジュール702内のデータパスに対して、比較的面積の小さなモジュール701内のデータパスに対してよりも大きな(厳しい)タイミングマージンを設定し、論理合成を行っている。   Therefore, the logic synthesis device 3 according to the present embodiment has a larger (stricter) timing than the data path in the module 701 having a relatively small area for the data path in the module 702 having a relatively large area. A margin is set and logic synthesis is performed.

また、クロック信号の周波数が高い場合、低い場合よりも、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 logic synthesis device 3 according to the present embodiment has a larger (stricter) timing than a data path in a module with a low clock signal frequency compared to a data path in a module with a high clock signal frequency. Set margin and perform logic synthesis.

このように、本実施の形態にかかる論理合成装置3は、モジュールの面積及びモジュール内のクロック信号の周波数に応じたタイミングマージンを当該モジュール内のデータパスに対して設定し、論理合成を行う。それにより、本実施の形態にかかる論理合成装置3は、その後のタイミングドリブンレイアウト設計において、タイミング制約を満たす設計を従来よりも容易に行うことができる。その結果、タイミングドリブンレイアウト設計後に実施される静的タイミング解析において、セットアップタイム等のタイミングエラーの発生が抑制される。   As described above, the logic synthesis device 3 according to the present embodiment performs logic synthesis by setting a timing margin corresponding to the area of the module and the frequency of the clock signal in the module for the data path in the module. As a result, the logic synthesis device 3 according to the present embodiment can more easily perform a design that satisfies the timing constraint in the subsequent timing-driven layout design. As a result, occurrence of timing errors such as setup time is suppressed in static timing analysis performed after timing-driven layout design.

さらに、本実施の形態にかかる論理合成装置3は、タイミング、回路規模及び消費電力が実レイアウト設計後のネットリストに比較的近いネットリスト37を出力することができる。なお、本実施の形態にかかる論理合成装置3は、例えば、タイミング制約を満たすことが困難な箇所には、予め速度の速い回路をマッピングする。   Furthermore, the logic synthesis device 3 according to the present embodiment can output a net list 37 whose timing, circuit scale, and power consumption are relatively close to the net list after the actual layout design. Note that the logic synthesis device 3 according to the present embodiment maps a high-speed circuit in advance to a location where it is difficult to satisfy timing constraints, for example.

本実施の形態では、マージン設定部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 logic synthesis device 3 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).

<実施の形態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 logic synthesis devices 1 to 3.

図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 FF extraction unit 42a, an inter-module wiring number extraction unit 42b, a module area extraction unit 42c, and a margin setting unit 43, and includes a semiconductor integrated circuit. The RTL description 44, the timing constraint information 45, and the library 46 are read and a netlist 47 is output.

なお、論理合成部41は、各論理合成部11,21,31に対応する。FF抽出部42aは、FF抽出部12に対応する。モジュール間配線数抽出部42bは、モジュール間配線数抽出部22に対応する。モジュール面積抽出部42cは、モジュール面積抽出部32に対応する。マージン設定部43は、各マージン設定部13,23,33に対応する。   The logic synthesis unit 41 corresponds to each logic synthesis unit 11, 21, 31. The FF extraction unit 42 a corresponds to the FF extraction unit 12. The inter-module wiring number extraction unit 42 b corresponds to the inter-module wiring number extraction unit 22. The module area extraction unit 42 c corresponds to the module area extraction unit 32. The margin setting unit 43 corresponds to each margin setting unit 13, 23, 33.

マージン設定部43は、FF抽出部42a、モジュール間配線数抽出部42b及びモジュール面積抽出部42cによって抽出された情報に応じたタイミングマージンを、タイミング制約情報45から取得し、複数のデータパスのそれぞれに設定する。   The margin setting unit 43 acquires a timing margin corresponding to the information extracted by the FF extracting unit 42a, the inter-module wiring number extracting unit 42b, and the module area extracting unit 42c from the timing constraint information 45, and each of the plurality of data paths. Set to.

例えば、マージン設定部43は、あるデータパスがモジュール内のパスである場合、モジュール面積及びモジュール内のクロック信号の周波数に応じたタイミングマージンを、図10に示すテーブルの中から取得し、設定する。また、マージン設定部43は、あるデータパスがモジュール間を接続するデータパスである場合、モジュール間を接続するデータパスの本数及び当該データパスに対応するクロック信号の周波数に応じたタイミングマージンを、図6に示すテーブルの中から取得し、設定する。さらに、マージン設定部43は、データパスが異なるクロック信号に同期して動作するフリップフロップ間のデータパスである場合、取得したタイミングマージンに係数α(α>1)を乗じて、設定する。   For example, when a certain data path is a module path, the margin setting unit 43 acquires and sets a timing margin according to the module area and the frequency of the clock signal in the module from the table shown in FIG. . Further, when a certain data path is a data path connecting between modules, the margin setting unit 43 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. Obtain and set from the table shown in FIG. Further, when the data path is a data path between flip-flops operating in synchronization with different clock signals, the margin setting unit 43 sets the obtained timing margin by multiplying it by a coefficient α (α> 1).

論理合成装置4のその他の動作については、論理合成装置1〜3と同様であるため、その説明を省略する。   Since the other operations of the logic synthesis device 4 are the same as those of the logic synthesis devices 1 to 3, the description thereof is omitted.

このように、本実施の形態にかかる論理合成装置4は、論理合成装置1〜3の何れの機能も実現することが可能である。   Thus, the logic synthesis device 4 according to the present embodiment can realize any function of the logic synthesis devices 1 to 3.

本実施の形態では、論理合成装置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 FF extraction unit 42a, the inter-module wiring number extraction unit 42b, and the module area extraction unit 42c has been described as an example, but the present invention is not limited thereto. The logic synthesis device 4 can be appropriately changed to a configuration having two of the FF extraction unit 42a, the inter-module wiring number extraction unit 42b, and the module area extraction unit 42c.

また、本実施の形態にかかる論理合成装置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 logic synthesis apparatuses 1 to 4 according to the above embodiments individually set timing margins for each of a plurality of data paths based on the various types of extraction information described above. As a result, the logic synthesis apparatuses 1 to 4 according to the above-described embodiment can easily perform a design that satisfies the timing constraint in the subsequent timing-driven layout design.

上記実施の形態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 Patent Document 2, different timing margins are set for a data path between flip-flops operating in synchronization with different clock signals and a data path between flip-flops operating in synchronization with the same clock signal. No point is disclosed or suggested. Further, Patent Document 2 neither discloses nor suggests that a timing margin corresponding to the number of data paths connecting modules is set in the data path.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。   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 logic synthesis apparatus 11, 21, 31, 41 logic synthesis unit 12 FF extraction unit 13, 23, 33, 42 margin setting unit 14, 24, 34, 44 RTL description 15, 25, 35, 45 timing constraint information 16 , 26, 36, 46 Library 17, 27, 37, 47 Netlist 22 Module wiring number extraction unit 32 Module area extraction unit 42a FF extraction unit 42b Module wiring number extraction unit 42c Module area extraction unit 100 Computer 101 CPU
102 RAM
103 ROM
104 IF
105 HDD
106 Structure description information 107 Logic circuit information 108 Logic synthesis program 501 to 503 Flip flop 504 PLL
505 Frequency divider 601-604 Module 701, 702 Module 703-706 Flip-flop

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モジュールの記述をさらに抽出し、
前記第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.
前記第1及び前記第2モジュール間を接続するデータパスの数が基準本数より少ない場合、基準タイミングマージンよりも大きなタイミングマージンを当該データパスに対して設定する、請求項3に記載の半導体集積回路の設計方法。   4. The semiconductor integrated circuit according to claim 3, wherein when the number of data paths connecting the first and second modules is smaller than a reference number, a timing margin larger than a reference timing margin is set for the data path. Design method. 前記第1及び前記第2モジュール間のデータパスの数に加え当該データパスに対応するクロック信号の周波数に応じたタイミングマージンを、当該データパスに対してさらに設定し、
前記論理合成を行う、請求項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.
前記第1及び前記第2モジュール間を接続するデータパスの数が基準本数より少ない場合、かつ、前記データパスに対応するクロック信号の周波数が基準周波数よりも低い場合、基準タイミングマージンよりも大きなタイミングマージンを当該データパスに対して設定する、請求項5に記載の半導体集積回路の設計方法。   When the number of data paths connecting the first and second modules is smaller than the reference number, and when the frequency of the clock signal corresponding to the data path is lower than the reference frequency, the timing is larger than the reference timing margin. 6. The method of designing a semiconductor integrated circuit according to claim 5, wherein a margin is set for the data path. 前記半導体集積回路の構造記述から、平坦化して論理合成が行われる第3モジュールをさらに抽出し、
前記第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.
平坦化して論理合成が行われる第1モジュールと、平坦化して論理合成が行われる第2モジュールと、の間を接続するデータパスの数に応じたタイミングマージンを、当該データパスに対して設定し、
論理合成を行う、半導体集積回路の設計方法。
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モジュールの記述を抽出し、
前記第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.
前記第1及び前記第2モジュール間を接続するデータパスの数が基準本数より少ない場合、基準タイミングマージンよりも大きなタイミングマージンを当該データパスに対して設定する、請求項9に記載の半導体集積回路の設計方法。   10. The semiconductor integrated circuit according to claim 9, wherein when the number of data paths connecting the first and second modules is smaller than a reference number, a timing margin larger than a reference timing margin is set for the data path. Design method. 前記第1及び前記第2モジュール間のデータパスの数に加え当該データパスに対応するクロック信号の周波数に応じたタイミングマージンを、当該データパスに対して設定し、
前記論理合成を行う、請求項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.
前記第1及び前記第2モジュール間を接続するデータパスの数が基準本数より少ない場合、かつ、前記データパスに対応するクロック信号の周波数が基準周波数よりも低い場合、基準タイミングマージンよりも大きなタイミングマージンを当該データパスに対して設定する、請求項11に記載の半導体集積回路の設計方法。   When the number of data paths connecting the first and second modules is smaller than the reference number, and when the frequency of the clock signal corresponding to the data path is lower than the reference frequency, the timing is larger than the reference timing margin. 12. The method of designing a semiconductor integrated circuit according to claim 11, wherein a margin is set for the data path. 異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きなタイミングマージンを設定する第1設定処理と、
論理合成を行う合成処理と、をコンピュータに実行させる半導体集積回路の設計プログラム。
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抽出処理と、
異なるクロック信号に同期して動作するフリップフロップ間のデータパスに対して、同一のクロック信号に同期して動作するフリップフロップ間のデータパスに対してよりも大きなタイミングマージンを設定する第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モジュール間を接続するデータパスの数に応じたタイミングマージンを、当該データパスに対してさらに設定する第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モジュール間のデータパスの数と、当該データパスに対応するクロック信号の周波数と、に応じたタイミングマージンを、当該データパスに対してさらに設定する第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.
JP2012139601A 2012-06-21 2012-06-21 Semiconductor integrated circuit design method and design program Pending JP2014006564A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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