JP2001273351A - Device and method for verifying multi-cycle path and computer readable storage medium with verification program stored therein - Google Patents

Device and method for verifying multi-cycle path and computer readable storage medium with verification program stored therein

Info

Publication number
JP2001273351A
JP2001273351A JP2000087926A JP2000087926A JP2001273351A JP 2001273351 A JP2001273351 A JP 2001273351A JP 2000087926 A JP2000087926 A JP 2000087926A JP 2000087926 A JP2000087926 A JP 2000087926A JP 2001273351 A JP2001273351 A JP 2001273351A
Authority
JP
Japan
Prior art keywords
path
cycle
gate
rtl
level
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
JP2000087926A
Other languages
Japanese (ja)
Inventor
Toshiyuki Sakamoto
敏行 坂本
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000087926A priority Critical patent/JP2001273351A/en
Publication of JP2001273351A publication Critical patent/JP2001273351A/en
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To easily and quickly verify whether a multi-cycle path is correctly designated by a designer. SOLUTION: This device includes an RTL(register transfer level) timing analysis part 102 which analyzes the circuit description of RTL and detects a multi-cycle path candidate whose delay covering its start point through end point exceeds a clock cycle or not and a check part 103 which collates the multi-cycle path candidate with the multi-cycle path/false path that is designated for analyzing the gate level timing.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、デジタル回路設計
に関し、特にマルチサイクルパスを含む回路をRTL
(レジスタトランスファレベル)で設計してから、ゲー
トレベルの回路に変換する技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital circuit design, and more particularly, to a circuit including a multi-cycle path in RTL.
(Register transfer level), and then to a technique of converting to a gate level circuit.

【0002】[0002]

【従来の技術】従来、回路をRTLで設計してからゲー
トレベルの回路に変換する場合、RTLではタイミング
解析が行われず、ゲートレベルの回路に変換した後にタ
イミング解析が行われる。
2. Description of the Related Art Conventionally, when a circuit is designed by RTL and then converted to a gate-level circuit, timing analysis is not performed in RTL, and timing analysis is performed after conversion to a gate-level circuit.

【0003】図23は従来の設計方法における処理の流
れを示すフローチャートであり、図24は従来の設計方
法におけるデータの流れを示すフローチャートである。
FIG. 23 is a flowchart showing the flow of processing in the conventional design method, and FIG. 24 is a flowchart showing the flow of data in the conventional design method.

【0004】従来のゲートレベルでのタイミング解析だ
けでは、図23及び図24に示すように、設計者が指定
したマルチサイクルパスが正しいかどうかを検査するこ
とができず、正しいものと見なして作業をしていた。
As shown in FIGS. 23 and 24, the conventional gate-level timing analysis alone cannot check whether the multi-cycle path specified by the designer is correct. Was doing.

【0005】図23について以下に詳細に説明する。FIG. 23 is described in detail below.

【0006】回路中にマルチサイクルパスが存在する場
合、サイクル境界でのシミュレーションの結果を正しく
得るためには、S2301のRTL設計工程において、
マルチサイクルのパスに合計としてクロック周期を超え
る遅延時間を指定する必要がある。典型的には代入文に
必要な遅延時間をセットする。RTL設計工程(S23
01)で上記マルチサイクルパスのための遅延時間が正
しくセットされているかと、テスト設計工程(S230
2)でテストパターンが正しく設計されているかどうか
を、シミュレーションを行い(S2303)、シミュレ
ーションの結果と設計者の期待した動作が一致するかど
うかを検査する(S2304)ことによって判断する。
In the case where a multi-cycle path exists in the circuit, in order to correctly obtain the simulation result at the cycle boundary, in the RTL design process of S2301,
It is necessary to specify a delay time that exceeds the clock cycle as a total in a multi-cycle path. Typically, set the delay time required for the assignment statement. RTL design process (S23
01), whether the delay time for the multi-cycle path is set correctly or not is determined in the test design process (S230).
In 2), it is determined whether or not the test pattern is correctly designed by performing a simulation (S2303), and checking whether or not the simulation result matches the operation expected by the designer (S2304).

【0007】期待した動作と一致しなかった場合、RT
L、テストパターン、遅延時間を修正する(S230
5)。
If the operation does not match the expected operation, RT
Correct L, test pattern, delay time (S230
5).

【0008】期待した動作と一致した場合、S2306
で作成するタイミング指定、マルチサイクルパス指定、
フォールスパス指定に従いながら、論理合成又は人手変
換によってRTLの回路をゲートレベルの回路に変換す
る(S2307)。以下、S2307の工程を論理合成
と呼ぶ場合がある。
If the operation matches the expected operation, S2306
Specify the timing to create with, specify the multi-cycle path,
The RTL circuit is converted into a gate-level circuit by logic synthesis or manual conversion while following the false path specification (S2307). Hereinafter, the step of S2307 may be referred to as logic synthesis.

【0009】タイミング指定とは、入力信号の到着時間
や、出力信号の時間遅れの期待値や、クロック信号の立
ち上がり・立ち下がり、周期を指定することをいう。論
理合成ツールでRTLからゲートの回路を作成するため
に必要となる。また、ゲートレベルのタイミング解析ツ
ールでも必要とする。
The timing designation means designation of an arrival time of an input signal, an expected value of a time delay of an output signal, and a rise / fall and a cycle of a clock signal. It is necessary to create a gate circuit from RTL with a logic synthesis tool. It is also needed for gate-level timing analysis tools.

【0010】S2308では、S2307で作成された
ゲートレベルの回路に対してS2306で作成されたタ
イミング指定、マルチサイクルパス指定、フォールスパ
ス指定を参照しながら、詳細にタイミング解析を行う。
この時、マルチサイクルパスとして指定されたパスは、
パス遅延がクロック周期を越えても、指定したクロック
数掛けるサイクル周期を越えないかぎり、タイミング違
反にならない。フォールスパスとして指定されたパス
は、パス遅延がタイミング解析の対象外となる。S23
09でタイミング違反があるかどうかをチェックする。
タイミング違反がある場合は、RTL、タイミング指
定、マルチサイクルパス指定、フォールスパス指定の修
正を行う(S2310)。タイミング違反がない場合
は、レイアウト作業などの後工程につながる。
In S2308, a detailed timing analysis is performed on the gate-level circuit created in S2307 with reference to the timing designation, multi-cycle path designation, and false path designation created in S2306.
At this time, the path specified as the multi-cycle path is
Even if the path delay exceeds the clock cycle, it does not cause a timing violation unless the path delay exceeds the specified clock number times the cycle cycle. A path specified as a false path is not subject to timing analysis for path delay. S23
At 09, it is checked whether there is a timing violation.
If there is a timing violation, the RTL, timing specification, multi-cycle path specification, and false path specification are corrected (S2310). If there is no timing violation, it leads to a post-process such as a layout operation.

【0011】次に、図24について説明する。Next, FIG. 24 will be described.

【0012】RTL設計データD2401用のテストパ
ターンD2402を使用してシミュレーションを行い
(S2303)、シミュレーション結果D2404を得
る。このシミュレーション結果D2404が期待した値
と一致することを確認した後、タイミング指定、フォー
ルスパス指定、マルチサイクルパス指定に関する制約フ
ァイルD2405を使用して、論理合成又は人手変換に
よってRTLの回路をゲートレベルの回路に変換し(S
2307)、ゲートレベル設計データD2407が得ら
れる。ゲートレベル設計データD2407と制約ファイ
ルD2405とを利用してゲートレベルタイミング解析
を行い(S2308)、タイミング解析結果レポートD
2409が得られる。
A simulation is performed using the test pattern D2402 for the RTL design data D2401 (S2303), and a simulation result D2404 is obtained. After confirming that the simulation result D2404 matches the expected value, using the constraint file D2405 relating to the timing specification, false path specification, and multi-cycle path specification, the RTL circuit is converted to the gate level by logic synthesis or manual conversion. Convert to circuit (S
2307), gate level design data D2407 is obtained. A gate level timing analysis is performed using the gate level design data D2407 and the constraint file D2405 (S2308), and a timing analysis result report D
2409 is obtained.

【0013】RTL設計データD2401で指定したR
TL回路に含まれるマルチサイクルパス用の遅延時間
と、マルチサイクルパスやフォールスパスの指定D24
05とが、関係があるにもかかわらず、相互比較して検
証されていないため、設計者が間違ってマルチサイクル
パスを指定してしまった場合、ゲートレベルタイミング
解析(S2308)で間違った検査がなされて、製品が
製造され、製品が予定した周波数で動作しない場合があ
る。
R specified by RTL design data D2401
Delay time for multi-cycle path included in TL circuit and designation of multi-cycle path and false path D24
05 has a relationship but has not been verified by inter-comparison. Therefore, if the designer mistakenly specifies a multi-cycle path, an incorrect inspection is performed in the gate level timing analysis (S2308). In some cases, a product is manufactured and the product does not operate at the expected frequency.

【0014】[0014]

【発明が解決しようとする課題】RTLでの遅延時間指
定について説明する。ゲートレベルの回路では、フリッ
プフロップやアンドなどの機能を実現するための個々の
セルの物理的構造が確定しており、セル固有の遅延時間
が確定している。一方、RTLでは、抽象度が高いた
め、機能を実現する物理構造が確定していないので、遅
延時間が確定していない。そのためRTLで設計者が使
用する遅延時間は、実際の信号の遅延というよりも、信
号を演算する順番をわかりやすくするための遅延時間ま
たは論理合成結果を荒く予想するための見積もりの信号
遅延と考えられる。
A description will be given of the designation of the delay time in the RTL. In the gate-level circuit, the physical structure of each cell for realizing functions such as flip-flops and ANDs is determined, and the delay time unique to the cell is determined. On the other hand, in the RTL, since the degree of abstraction is high, the physical structure for realizing the function is not determined, so the delay time is not determined. Therefore, the delay time used by the designer in RTL is not considered to be the actual signal delay, but rather a delay time for making it easy to understand the order in which signals are calculated or an estimated signal delay for roughly estimating the result of logic synthesis. Can be

【0015】図25にRTL回路に対する遅延割り当て
テーブルを示す。図25に示すように、RTLでシミュ
レーションをする場合、遅延時間の与え方にいろいろな
組み合わせがある。マルチサイクルパス以外の部分につ
いては、ゲートへ合成した場合フリップフロップ、ラッ
チ、組み合わせ回路にそれぞれ合成されると推定される
部分の遅延時間をすべて0遅延にする場合(上から1番
目の欄)、ゲートへ合成した場合フリップフロップ、ラ
ッチに合成されると推定される部分だけ単位遅延で、組
み合わせ回路に合成されると推定される部分は0遅延に
する場合(上から2番目の欄)、フリップフロップ、ラ
ッチ、組み合わせ回路にそれぞれ合成されると推定され
る部分すべてを単位遅延にする場合(上から3番目の
欄)、といった3通りが通常用いられる。
FIG. 25 shows a delay assignment table for the RTL circuit. As shown in FIG. 25, when performing a simulation with RTL, there are various combinations of how to give a delay time. When the parts other than the multi-cycle path are combined into a gate, the delay times of the parts estimated to be combined with the flip-flop, the latch, and the combinational circuit are all set to 0 delay (first column from the top). In the case where the portion that is estimated to be combined with the flip-flop and the latch has a unit delay and the portion that is estimated to be combined with the combinational circuit has a zero delay (the second column from the top), In the case where all the portions estimated to be combined with the loop, the latch, and the combinational circuit are set to the unit delay (third column from the top), three types are usually used.

【0016】フリップフロップ、ラッチ、組み合わせ回
路にそれぞれ合成されると推定される部分のすべてが0
遅延の場合(上から1番目の欄)、フリップフロップや
ラッチから次段のフリップフロップやラッチまでの遅延
時間が0であるので、遅延時間の合計が、シミュレーシ
ョンで指定するクロック周期を超えたかどうか確認する
必要がないという利点があるが、遅延時間により論理段
数の見積もりでできない、またレーシングを起こしやす
いといった欠点をもつ。
All the parts estimated to be combined with the flip-flop, the latch, and the combinational circuit are 0.
In the case of a delay (first column from the top), since the delay time from the flip-flop or latch to the next-stage flip-flop or latch is 0, whether the total delay time exceeds the clock cycle specified in the simulation. There is an advantage that there is no need to check, but there are drawbacks that the number of logical stages cannot be estimated due to the delay time, and that racing tends to occur.

【0017】フリップフロップ、ラッチに合成されると
推定される部分は単位遅延で、組み合わせ回路に合成さ
れると推定される部分は0遅延の場合(上から2番目の
欄)、フリップフロップやラッチから次段のフリップフ
ロップやラッチまでの遅延時間が単位遅延であるので、
遅延時間の合計がクロック周期を超えたかどうか確認す
る必要がないという利点、レーシングが起こりにくいと
いう利点があるが、遅延時間から論理段数の見積もりが
できないといった欠点もある。
In the case where the portion estimated to be combined with the flip-flop and the latch is a unit delay, and the portion estimated to be combined with the combinational circuit is 0 delay (the second column from the top), Since the delay time from the first stage to the next flip-flop or latch is a unit delay,
Although there is an advantage that it is not necessary to check whether the total of the delay times exceeds the clock cycle and that racing is unlikely to occur, there is a disadvantage that the number of logic stages cannot be estimated from the delay time.

【0018】フリップフロップ、ラッチ、組み合わせ回
路にそれぞれ合成されると推定される部分すべてが単位
遅延である場合(上から3番目の欄)、遅延時間だけを
見て論理段数の見積もりができるといった利点がある
が、遅延時間の合計がクロック周期を超えていないかを
確認する必要があるといった欠点もある。
In the case where all the parts estimated to be combined with the flip-flop, the latch, and the combinational circuit are unit delays (third column from the top), it is possible to estimate the number of logic stages only by looking at the delay time. However, there is a disadvantage that it is necessary to check whether the total delay time exceeds the clock cycle.

【0019】nサイクルのマルチサイクルパスを含むR
TLの回路のサイクル境界での信号変化が、合成された
後のゲートレベルの回路と同じになるようにする方法が
2つある。第1の方法(上から4番目の欄)は、組み合
わせ回路に合成されると推定され、かつマルチサイクル
パスに当たる部分の遅延時間を、合計として(n−1)
×クロック周期より大きく、n×クロック周期より小さ
い遅延時間を指定してマルチサイクルパスを表現する方
法である。第2の方法(上から5番目の欄)は、組み合
わせ回路に合成されると推定され、かつマルチサイクル
パスに当たる部分にn−1の仮想的なフリップフロップ
またはラッチを挿入する方法である。ここでnは2以上
の整数である。
R including an n-cycle multi-cycle path
There are two methods for ensuring that the signal change at the cycle boundary of the TL circuit is the same as that of the gate-level circuit after synthesis. The first method (fourth column from the top) is that the delay time of a part that is estimated to be combined into a combinational circuit and that corresponds to a multi-cycle path is (n−1) as a total.
This is a method of expressing a multi-cycle path by designating a delay time that is greater than x clock cycle and smaller than nx clock cycle. The second method (fifth column from the top) is a method of inserting n-1 virtual flip-flops or latches in a portion that is estimated to be combined into a combinational circuit and that corresponds to a multi-cycle path. Here, n is an integer of 2 or more.

【0020】遅延時間の合計を、(n−1)×クロック
周期より大きく、n×クロック周期より小さいと指定し
てマルチサイクルパスを表現する第1の方法は、回路を
変更する必要はないという利点がある。
The first method of expressing the multi-cycle path by designating the sum of the delay times to be larger than (n-1) × clock period and smaller than n × clock period requires that the circuit need not be changed. There are advantages.

【0021】n−1の仮想的なフリップフロップまたは
ラッチを挿入する第2の方法は、遅延時間を指定する必
要はないという利点があるが、実際のRTL回路とは別
の仮想的なフリップフロップやラッチを挿入したRTL
回路を作成、維持しなければならないといった欠点を持
つ。
The second method of inserting n-1 virtual flip-flops or latches has the advantage that there is no need to specify a delay time, but a virtual flip-flop different from the actual RTL circuit is used. Or RTL with inserted latch
It has the disadvantage of having to create and maintain circuits.

【0022】RTLの回路は、通常マルチサイクルパス
を除いて、0遅延か、一定の単位遅延の遅延時間で作成
される。組み合わせゲートに0以外の遅延をつけた場
合、フリップフロップやラッチに合成されると推定され
る部分から、組み合わせ回路に合成されると推定される
部分を経て、フリップフロップやラッチに合成されると
推定される部分までのパスであって、マルチサイクルパ
ス以外のパスでは、すべての遅延の合計がクロック周期
より小さくなければならない。
An RTL circuit is usually created with a delay time of 0 delay or a fixed unit delay except for a multi-cycle path. When a delay other than 0 is added to the combinational gate, when the combinational gate is combined with the flip-flop or the latch through the part estimated to be combined with the combinational circuit, In the path up to the estimated portion and other than the multi-cycle path, the sum of all delays must be smaller than the clock period.

【0023】しかし、従来、設計者はRTLの回路に関
して、上記制約をチェックしていない。テストパターン
が、たまたまクロック周期よりも大きな遅延時間を持っ
たパスを活性化していない場合、RTLでのシミュレー
ションでは上記問題が発見できず、論理合成以降、ゲー
トレベルの回路に変換された後になって発見されるとい
う問題があった。
However, conventionally, the designer has not checked the above-mentioned restrictions on the RTL circuit. If the test pattern does not happen to activate a path having a delay time larger than the clock cycle, the above problem cannot be found by RTL simulation, and the logic pattern is converted to a gate-level circuit after logic synthesis. There was a problem of being discovered.

【0024】[0024]

【課題を解決するための手段】第1の発明は、(1)R
TLの回路記述を解析して、開始点から終了点までの遅
延がクロック周期を越えているマルチサイクルパス候補
を検出するRTLタイミング解析部と、(2)前記マル
チサイクルパス候補と、ゲートレベルのタイミング解析
のために指定されるマルチサイクルパス指定・フォール
スパス指定とを突き合わせて比較するチェック部とを具
備することを特徴とする。
Means for Solving the Problems The first invention is (1) R
An RTL timing analysis unit that analyzes a circuit description of the TL and detects a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle; (2) the multi-cycle path candidate; And a check unit for comparing the multi-cycle path designation and the false path designation designated for the timing analysis with each other.

【0025】マルチサイクルパス候補とは、信号が伝わ
るのに1サイクルより多くかかることがわかったパスを
いい、フォールスパスも含まれるため、実際のマルチサ
イクルパスよりも多くのパスを含むことがある。このた
め、マルチサイクルパス「候補」という。
A multi-cycle path candidate is a path that is known to take more than one cycle to transmit a signal, and includes a false path, and thus may include more paths than an actual multi-cycle path. . For this reason, the multi-cycle path is referred to as a “candidate”.

【0026】マルチサイクルパス指定とは、論理合成ツ
ールや、ゲートレベルのタイミング解析ツールに対し
て、1サイクルより大きい信号伝達時間を持つパスとし
て指定されたものをいう。各ツールは、マルチサイクル
パス指定について1サイクルより大きい信号の伝達時間
が計算されてもエラーとはしない。
The multi-cycle path designation means a path designated as a path having a signal transmission time longer than one cycle for a logic synthesis tool or a gate level timing analysis tool. Each tool does not signal an error if the transmission time of a signal greater than one cycle is calculated for a multi-cycle path designation.

【0027】フォールスパス指定とは、論理合成ツール
や、ゲートレベルのタイミング解析ツールに対して、実
際の使用状態では信号を伝達する必要のないパスとして
指定されたものをいう。各ツールは、フォールスパス指
定についてタイミングチェックをしない。
The false path designation means a path designated as a path which does not need to transmit a signal in a practical use state to a logic synthesis tool or a gate level timing analysis tool. Each tool does not perform a timing check on false path designation.

【0028】第2の発明は、(1)RTLの回路記述を
解析して、開始点から終了点までの遅延がクロック周期
を越えているマルチサイクルパス候補を検出するRTL
タイミング解析部と、(2)ゲートレベルの回路記述を
解析して、ゲートレベルでのタイミング違反パスを検出
するゲートレベルタイミング解析部と、(3)前記マル
チサイクルパス候補と、前記ゲートレベルタイミング違
反パスとを突き合わせて比較するチェック部とを具備す
ることを特徴とする。
According to a second aspect of the present invention, (1) an RTL for analyzing a circuit description of an RTL and detecting a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle.
A timing analyzer, (2) a gate-level timing analyzer that analyzes a gate-level circuit description to detect a timing violation path at the gate level, and (3) the multi-cycle path candidate and the gate-level timing violation. And a check unit for comparing the path with the path.

【0029】第3の発明は、(1)RTLの回路記述を
解析して、開始点から終了点までの遅延がクロック周期
を越えているマルチサイクルパス候補を検出するRTL
タイミング解析部と、(2)ゲートレベルの回路記述を
解析して、ゲートレベルでのタイミング違反パスを検出
するゲートレベルタイミング解析部と、(3)前記マル
チサイクルパス候補と、ゲートレベルのタイミング解析
のために指定されるマルチサイクルパス指定・フォール
スパス指定と、前記ゲートレベルタイミング違反パスと
を突き合わせて比較するチェック部とを具備することを
特徴とする。
According to a third aspect of the present invention, (1) an RTL for analyzing a circuit description of an RTL and detecting a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle.
A timing analyzer, (2) a gate-level timing analyzer that analyzes a gate-level circuit description to detect a timing violation path at the gate level, and (3) the multi-cycle path candidate and a gate-level timing analysis. And a check unit for comparing the multi-cycle path designation / false path designation designated for this purpose with the gate level timing violation path.

【0030】第1の発明のチェック部は、(a)マルチ
サイクルパス候補と、(b)ゲートレベルのタイミング
解析のために指定されるマルチサイクルパス指定・フォ
ールスパス指定を比較する。
The check unit of the first invention compares (a) a multi-cycle path candidate with (b) a multi-cycle path specification / false path specification specified for gate-level timing analysis.

【0031】第2の発明のチェック部は、(a)マルチ
サイクルパス候補と、(c)ゲートレベルタイミング違
反パスを突き合わせて比較する。
The check unit of the second invention compares (a) a multi-cycle path candidate with (c) a gate level timing violation path.

【0032】第3の発明のチェック部は、(a)マルチ
サイクルパス候補と、(b)ゲートレベルのタイミング
解析のために指定されるマルチサイクルパス指定・フォ
ールスパス指定と、(c)ゲートレベルタイミング違反
パスを突き合わせて比較する。
The check unit according to the third aspect of the present invention includes (a) a multi-cycle path candidate, (b) a multi-cycle path designation / false path designation designated for gate level timing analysis, and (c) a gate level designation. Compare and compare timing violation paths.

【0033】第4の発明は、(1)RTLの回路記述を
解析して、開始点から終了点までの遅延がクロック周期
を越えているマルチサイクルパス候補を検出するRTL
タイミング解析ステップと、(2)前記マルチサイクル
パス候補と、ゲートレベルのタイミング解析のために指
定されるマルチサイクルパス指定・フォールスパス指定
とを突き合わせて比較するチェックステップとを含むこ
とを特徴とする。
According to a fourth aspect of the present invention, (1) an RTL for analyzing a circuit description of an RTL and detecting a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle.
A timing analysis step; and (2) a check step of comparing and comparing the multi-cycle path candidate with a multi-cycle path designation / false path designation designated for gate-level timing analysis. .

【0034】第5の発明は、(1)RTLの回路記述を
解析して、開始点から終了点までの遅延がクロック周期
を越えているマルチサイクルパス候補を検出するRTL
タイミング解析ステップと、(2)ゲートレベルの回路
記述を解析して、ゲートレベルでのタイミング違反パス
を検出するゲートレベルタイミング解析ステップと、
(3)前記マルチサイクルパス候補と、前記ゲートレベ
ルタイミング違反パスとを突き合わせて比較するチェッ
クステップとを含むことを特徴とする。
According to a fifth aspect of the present invention, (1) an RTL for analyzing a circuit description of an RTL and detecting a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle.
A timing analysis step, and (2) a gate level timing analysis step of analyzing a gate level circuit description to detect a timing violation path at the gate level.
(3) A check step of comparing the multi-cycle path candidate with the gate-level timing violation path for comparison.

【0035】第6の発明は、(1)RTLの回路記述を
解析して、開始点から終了点までの遅延がクロック周期
を越えているマルチサイクルパス候補を検出するRTL
タイミング解析ステップと、(2)ゲートレベルの回路
記述を解析して、ゲートレベルでのタイミング違反パス
を検出するゲートレベルタイミング解析ステップと、
(3)前記マルチサイクルパス候補と、ゲートレベルの
タイミング解析のために指定されるマルチサイクルパス
指定・フォールスパス指定と、前記ゲートレベルタイミ
ング違反パスとを突き合わせて比較するチェックステッ
プとを含むことを特徴とする。
According to a sixth aspect of the present invention, (1) an RTL for analyzing a circuit description of an RTL and detecting a multi-cycle path candidate whose delay from a start point to an end point exceeds a clock cycle.
A timing analysis step, and (2) a gate level timing analysis step of analyzing a gate level circuit description to detect a timing violation path at the gate level.
(3) a check step of comparing the multi-cycle path candidate with a multi-cycle path designation / false path designation designated for gate-level timing analysis and the gate-level timing violation path. Features.

【0036】第7の発明は、(1)RTLの回路記述を
解析して、開始点から終了点までの遅延がクロック周期
を越えているマルチサイクルパス候補を検出するRTL
タイミング解析ステップと、(2)前記マルチサイクル
パス候補と、ゲートレベルのタイミング解析のために指
定されるマルチサイクルパス指定・フォールスパス指定
とを突き合わせて比較するチェックステップとをコンピ
ュータに実行させることを特徴とする。
According to a seventh aspect of the present invention, (1) an RTL for analyzing a RTL circuit description and detecting a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle.
Causing the computer to execute a timing analysis step, and (2) a check step of comparing the multi-cycle path candidate with a multi-cycle path specification / false path specification specified for gate-level timing analysis. Features.

【0037】第8の発明は、(1)RTLの回路記述を
解析して、開始点から終了点までの遅延がクロック周期
を越えているマルチサイクルパス候補を検出するRTL
タイミング解析ステップと、(2)ゲートレベルの回路
記述を解析して、ゲートレベルでのタイミング違反パス
を検出するゲートレベルタイミング解析ステップと、
(3)前記マルチサイクルパス候補と、前記ゲートレベ
ルタイミング違反パスとを突き合わせて比較するチェッ
クステップとをコンピュータに実行させることを特徴と
する。
According to an eighth aspect of the present invention, (1) an RTL for analyzing a circuit description of an RTL and detecting a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle.
A timing analysis step, and (2) a gate level timing analysis step of analyzing a gate level circuit description to detect a timing violation path at the gate level.
And (3) causing a computer to execute a check step of comparing the multi-cycle path candidate with the gate level timing violation path.

【0038】第9の発明は、(1)RTLの回路記述を
解析して、開始点から終了点までの遅延がクロック周期
を越えているマルチサイクルパス候補を検出するRTL
タイミング解析ステップと、(2)ゲートレベルの回路
記述を解析して、ゲートレベルでのタイミング違反パス
を検出するゲートレベルタイミング解析ステップと、
(3)前記マルチサイクルパス候補と、ゲートレベルの
タイミング解析のために指定されるマルチサイクルパス
指定・フォールスパス指定と、前記ゲートレベルタイミ
ング違反パスとを突き合わせて比較するチェックステッ
プとをコンピュータに実行させることを特徴とする。
According to a ninth aspect of the present invention, (1) an RTL for analyzing a circuit description of an RTL and detecting a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle.
A timing analysis step, and (2) a gate level timing analysis step of analyzing a gate level circuit description to detect a timing violation path at the gate level.
(3) The computer executes a check step of comparing the multi-cycle path candidate with a multi-cycle path designation / false path designation designated for gate-level timing analysis and the gate-level timing violation path. It is characterized by making it.

【0039】[0039]

【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0040】(1)第1実施形態 図1は本発明の第1実施形態のハードウェア構成を示す
機能ブロック図、図2は図1のRTLタイミング解析部
102に接続される周辺機器を例示する図、図3は図1
のゲートレベルタイミング指定とRTLタイミング解析
結果の突合せチェック部103に接続される周辺機器を
例示する図、図4は第1実施形態に係るマルチサイクル
パス検証方法における処理の流れを示すフローチャート
であり、図5は同検証方法におけるデータの流れを示す
フローチャートである。
(1) First Embodiment FIG. 1 is a functional block diagram showing a hardware configuration of a first embodiment of the present invention, and FIG. 2 exemplifies peripheral devices connected to the RTL timing analysis unit 102 in FIG. FIG. 3 and FIG.
FIG. 4 is a diagram showing an example of peripheral devices connected to a gate level timing designation and RTL timing analysis result matching check unit 103. FIG. 4 is a flowchart showing a processing flow in the multi-cycle path verification method according to the first embodiment. FIG. 5 is a flowchart showing a data flow in the verification method.

【0041】図1に示すように、第1実施形態に係るマ
ルチサイクルパス検証装置は、RTLシミュレーション
部101と、RTLタイミング解析部102と、ゲート
レベルタイミング指定とRTLタイミング解析結果の突
合せチェック部103と、論理合成部104と、ゲート
レベルタイミング解析部105とから構成される。
As shown in FIG. 1, the multi-cycle path verification apparatus according to the first embodiment includes an RTL simulation unit 101, an RTL timing analysis unit 102, a gate level timing designation and a RTL timing analysis result matching check unit 103. , A logic synthesis unit 104, and a gate level timing analysis unit 105.

【0042】RTLシミュレーション部101は、RT
L設計で作成された機能ブロックの構成と動作をテスト
パターンを用いて検証する。
The RTL simulation unit 101 performs the
The configuration and operation of the functional block created by the L design are verified using a test pattern.

【0043】RTLタイミング解析部102と、ゲート
レベルタイミング指定とRTLタイミング解析結果の突
合せチェック部103については、後述する。
The RTL timing analysis unit 102 and the matching check unit 103 for specifying the gate level timing and the RTL timing analysis result will be described later.

【0044】論理合成部104は、与えられたRTL記
述をゲートレベル記述に変換する。
The logic synthesis unit 104 converts the given RTL description into a gate level description.

【0045】ゲートレベルタイミング解析部105は、
ゲートレベル記述を解析し、タイミング違反パスを検出
する。
The gate level timing analyzer 105
Analyze the gate level description and detect timing violation paths.

【0046】図2に示すように、RTLタイミング解析
部102には、RTLシミュレータなどの他のシステム
201、RTLタイミング解析結果を表示するモニタ2
04、RTLタイミング解析結果をプリントアウトする
プリンタ205、RTLタイミング解析に必要なRTL
記述を記憶するテープ206やディスク207が接続さ
れる。RTLタイミング解析部102は、図示しないC
PU、ROM、RAM、キャッシュメモリ、バス等によ
り構成される。
As shown in FIG. 2, another system 201 such as an RTL simulator and a monitor 2 for displaying an RTL timing analysis result
04, printer 205 for printing out RTL timing analysis results, RTL necessary for RTL timing analysis
A tape 206 and a disk 207 for storing descriptions are connected. The RTL timing analysis unit 102 outputs a C
It is composed of PU, ROM, RAM, cache memory, bus and the like.

【0047】図3に示すように、突き合わせチェック部
103には、RTLシミュレータなどの他のシステム3
01、突き合わせチェック結果を表示するモニタ30
4、突き合わせチェック結果をプリントアウトするプリ
ンタ305、テープ306やディスク307が接続され
る。テープ306やディスク307には、RTLタイミ
ング解析の結果得られたマルチサイクルパス候補や、ゲ
ートレベルのタイミング指定、マルチサイクルパス指
定、フォールスパス指定が記憶される。突き合わせチェ
ック部103も、図示しないCPU、ROM、RAM、
キャッシュメモリ、バス等により構成される。
As shown in FIG. 3, the matching check unit 103 includes another system 3 such as an RTL simulator.
01, monitor 30 for displaying the result of the matching check
4. A printer 305, a tape 306, and a disk 307 for printing out the results of the matching check are connected. The tape 306 and the disk 307 store multi-cycle path candidates obtained as a result of RTL timing analysis, gate-level timing specification, multi-cycle path specification, and false path specification. The matching check unit 103 also includes a CPU, a ROM, a RAM (not shown),
It is composed of a cache memory, a bus and the like.

【0048】RTLタイミング解析部102と突き合わ
せチェック部103とは、別個のハードウェアとしても
良く、同一のハードウェアとしても良い。
The RTL timing analysis unit 102 and the matching check unit 103 may be separate hardware or may be the same hardware.

【0049】図4に基づいて設計フローを説明する。The design flow will be described with reference to FIG.

【0050】RTLの回路を設計し(S401)、さら
にテストパターンを設計する(S402)。S401で
作成されたRTLの回路とS402で作成されたテスト
パターンをRTLシミュレーション部101に入力し、
RTLシミュレーションを行う(S403)。シミュレ
ーション結果が期待した動作と一致しているかをチェッ
クし(S404)、一致しない場合は、RTLやテスト
パターンを修正し(S405)、一致した場合は、RT
Lタイミング解析を行う(S406)。
An RTL circuit is designed (S401), and a test pattern is designed (S402). The RTL circuit created in S401 and the test pattern created in S402 are input to the RTL simulation unit 101,
An RTL simulation is performed (S403). It is checked whether the simulation result matches the expected operation (S404). If the result does not match, the RTL or test pattern is corrected (S405).
The L timing analysis is performed (S406).

【0051】RTLタイミング解析部102を用いてR
TLタイミング解析を行い(S406)、パスにそって
の遅延時間の合計がクロック周期を越えるパスを、マル
チサイクルパス候補D407として出力する。
Using the RTL timing analysis unit 102,
A TL timing analysis is performed (S406), and a path in which the total delay time along the path exceeds the clock cycle is output as a multi-cycle path candidate D407.

【0052】また、タイミング指定、マルチサイクルパ
ス指定、フォールスパス指定を作成し(S408)、マ
ルチサイクルパス候補D407と、マルチサイクルパス
指定、フォールスパス指定を突き合わせすることによっ
て、S408の指定が正しいかどうかをチェックする
(S413)。
Further, a timing specification, a multi-cycle path specification, and a false path specification are created (S408), and the multi-cycle path candidate D407 is matched with the multi-cycle path specification and the false path specification to determine whether the specification in S408 is correct. It is checked whether it is (S413).

【0053】具体的なチェック内容は、(1)D407
のマルチサイクルパス候補が、S408のマルチサイク
ルパス指定か、フォールスパス指定に含まれていること
と、(2)S408のマルチサイクルパス指定が、D4
07のマルチサイクルパス候補に含まれていることと、
(3)それらのマルチサイクル数である。S413で問
題が発見された場合、S401のRTL設計もしくは、
S408のマルチサイクルパス、フォールスパス指定を
修正する。S413で問題が発見されなかった場合、S
408で作成したタイミング指定、マルチサイクルパス
指定、フォールスパス指定に従って、S409でRTL
の回路を論理合成又は人手によってゲートレベルの回路
に変換する。ゲートレベルの回路に対し、S408のタ
イミング、マルチサイクルパス指定、フォールスパス指
定に基づいてS410で詳細なゲートレベルのタイミン
グ解析を行う。S411で、ゲートレベルのタイミング
解析の結果をチェックする。S411でタイミング違反
があれば、S412でRTL、テストパターン、タイミ
ング指定、マルチサイクル指定、フォールスパス指定を
修正する。S411でタイミング違反がなければ、レイ
アウトなどの後工程へ進む。
The specific contents of the check are (1) D407
Is included in the multi-cycle path designation or false path designation in S408, and (2) the multi-cycle path designation in S408 is D4
07 is included in the multi-cycle path candidate of 07,
(3) The number of those multicycles. If a problem is found in S413, the RTL design in S401 or
Correct the multi-cycle path and false path designation in S408. If no problem is found in S413, S
According to the timing specification, multi-cycle path specification, and false path specification created in step S408, the RTL is set in step S409.
Is converted into a gate-level circuit by logic synthesis or manually. For the gate-level circuit, detailed gate-level timing analysis is performed in S410 based on the timing in S408, multi-cycle path designation, and false path designation. In S411, the result of the gate-level timing analysis is checked. If there is a timing violation in S411, the RTL, test pattern, timing specification, multi-cycle specification, and false path specification are corrected in S412. If there is no timing violation in S411, the process proceeds to a post-process such as layout.

【0054】図5に基づいてデータ中心のフローを説明
する。
The data-centric flow will be described with reference to FIG.

【0055】RTL設計データD501とテストパター
ンD502を用いてシミュレーションを行い(S40
3)、シミュレーション結果D504を得る。シミュレ
ーション結果D504が期待した結果と一致した後、R
TLタイミング指定D505に基づいてRTLタイミン
グ解析を行い(S406)、マルチサイクルパス候補D
407を得る。制約ファイルD507のフォールスパス
指定やマルチサイクルパス指定と、マルチサイクルパス
候補D407を突き合わせて、問題がないかチェックす
る(S413)。タイミング、フォールスパス、マルチ
サイクルパス指定の制約ファイルD507を利用して、
ゲートレベルへの論理合成又は人手変換を行い(S40
9)、ゲートレベル設計データD509を得る。制約フ
ァイルD507とゲートレベル設計データD509を使
用してタイミング解析を行い(S410)、タイミング
解析結果レポートD511を得る。
A simulation is performed using the RTL design data D501 and the test pattern D502 (S40).
3) Obtain a simulation result D504. After the simulation result D504 matches the expected result, R
The RTL timing analysis is performed based on the TL timing designation D505 (S406), and the multi-cycle path candidate D
407 are obtained. The false path specification and the multi-cycle path specification of the constraint file D507 are matched with the multi-cycle path candidate D407 to check whether there is any problem (S413). Using the constraint file D507 for specifying timing, false path, and multi-cycle path,
Perform logic synthesis or manual conversion to gate level (S40)
9) Obtain gate level design data D509. Timing analysis is performed using the constraint file D507 and the gate level design data D509 (S410), and a timing analysis result report D511 is obtained.

【0056】図6にRTLタイミング解析のフローを示
し、図8にRTLタイミング解析を行う回路の例を示
し、図9にフリップフロップへの合成が推定されるVe
rilog記述の例を示す。
FIG. 6 shows a flow of the RTL timing analysis, FIG. 8 shows an example of a circuit for performing the RTL timing analysis, and FIG. 9 shows Ve estimated to be synthesized into a flip-flop.
An example of a rilog description is shown.

【0057】S601で、RTLタイミング解析の開始
点のセットを見つける。外部入力や、フリップフロップ
やラッチが合成されると推定される部分の代入文の左辺
の変数がタイミング解析の開始点となる。例として図9
のout1がタイミング解析の開始点となる。そのRT
Lタイミング解析の開始点が回路中に複数あるとして、
その集合をRTLタイミング解析の開始点のセットと呼
ぶ。図8では{Clk,In1,In2,A,Out2,}がRTLタイミン
グ解析の開始点のセットとなる。
In step S601, a set of starting points for RTL timing analysis is found. A variable on the left side of an external input or an assignment statement in a portion where a flip-flop or a latch is estimated to be synthesized is a start point of the timing analysis. FIG. 9 as an example
Is the start point of the timing analysis. That RT
Assuming that there are a plurality of starting points of the L timing analysis in the circuit,
The set is called a set of starting points of the RTL timing analysis. In FIG. 8, {Clk, In1, In2, A, Out2,} is a set of the start points of the RTL timing analysis.

【0058】S602でS601のRTLタイミング解
析の開始点の信号のセットから、まだ解析されていない
点を任意に一点選択し、現在の探索の開始点とする。例
として図8ではAを選び、現在の探索の開始点とする。
このときAは既にClkから1の遅延をもっている。
In step S602, an unanalyzed point is arbitrarily selected from the set of signals at the start point of the RTL timing analysis in step S601, and is set as the current search start point. As an example, in FIG. 8, A is selected and is set as the starting point of the current search.
At this time, A already has a delay of 1 from Clk.

【0059】S603で、S602で選択した開始点を
探索信号のセットとする。前の例であらわせば{A}とな
る。
At S603, the starting point selected at S602 is set as a set of search signals. In the previous example, it would be {A}.

【0060】S604で、現在の探索信号のセット中の
信号が代入文の右辺や、条件文の条件信号に現れるもの
を探す。例として図8では、探索信号Aに対して代入文
805が見つかる。
In step S604, a search is made for a signal in the set of the current search signal that appears on the right side of the assignment statement or the condition signal of the conditional statement. For example, in FIG. 8, an assignment statement 805 is found for the search signal A.

【0061】S605で、代入文の遅延時間をそのパス
の遅延時間に足す。つまり、S602で指定した開始点
からS604で見つかった代入文までのパスの遅延時間
の合計にその代入文の遅延時間を加えて、S602で指
定した開始点からその代入文の左辺にあらわれる信号ま
でのパスの遅延時間とする。例として図8の805で
は、A→A2の遅延は2で、Clkからの遅延は3となる。そ
の後、実行が進み、A2の探索信号に対して、S604
で802中の代入文8021、803のブロック中の条
件文8031が見つかる。8021の代入文よりA2→B
の遅延が15なので、A→A2→Bの遅延全体は2+15の
17となり、Clkからの遅延では18になる。
In S605, the delay time of the assignment statement is added to the delay time of the path. That is, the delay time of the assignment statement is added to the total delay time of the path from the start point specified in S602 to the assignment statement found in S604, and the signal from the start point specified in S602 to the signal appearing on the left side of the assignment statement is added. Path delay time. For example, in 805 of FIG. 8, the delay from A to A2 is 2, and the delay from Clk is 3. Thereafter, execution proceeds, and the search signal of A2 is applied to S604.
The conditional statement 8031 in the block of the assignment statements 8021 and 803 in 802 is found. A2 → B from the assignment statement of 8021
Is 15, the total delay of A → A2 → B is 2 + 15 = 17, and the delay from Clk is 18.

【0062】S605で、S604で見つかった条件文
の条件が成立した場合、しなかった場合それぞれのブロ
ックに含まれる代入文個々の遅延時間を、S602で指
定した開始点からのその条件文までのパスの遅延時間の
合計に加えて、その代入文の左辺にあらわれる信号まで
のパスの遅延時間とする。例として図8の8032では
A2→Out1の遅延は1であるので、A→A2→Out1は2+1
の3となり、Clkからの遅延では4となる。8033で
はA2→Out1の遅延は2であるので、A→A2→Out1は2+
2の4となり、Clkからの遅延では5となる。
In S605, if the condition of the conditional statement found in S604 is satisfied or not, the delay time of each assignment statement included in each block is calculated from the start point specified in S602 to the conditional statement. In addition to the total path delay time, the path delay time up to the signal appearing on the left side of the assignment statement is set. For example, in FIG.
Since the delay of A2 → Out1 is 1, A → A2 → Out1 is 2 + 1
And the delay from Clk is 4. In 8033, since the delay of A2 → Out1 is 2, A → A2 → Out1 is 2+
2 and 4 and 5 with the delay from Clk.

【0063】S612で、探索信号のセットから現在の
探索信号を除く。図8の例ではS604で探索信号のセ
ットが集合{A}でAの探索が終了した場合、探索集合のセ
ットは空集合{}となる。
In S612, the current search signal is removed from the set of search signals. In the example of FIG. 8, when the search for the set of search signals is completed in the set {A} in S604, the set of search sets becomes the empty set {}.

【0064】S606で、S605の代入文の左辺に現
れる信号、または条件文の条件が成立した場合、成立し
ない場合、それぞれのブロックに含まれる代入文の左辺
に現れる信号がRTLタイミング解析の開始点か外部出
力かどうかチェックする。例として図8の8021の左
辺の信号Bは、RTLタイミング解析の開始点でも、外
部出力でもない。一方、8032と8033の左辺のOu
t1は外部出力である。
In step S606, the signal appearing on the left side of the assignment statement in step S605, or the signal appearing on the left side of the assignment statement included in each block when the condition of the conditional statement is satisfied or not satisfied, is the starting point of the RTL timing analysis. Check whether it is or external output. For example, the signal B on the left side of 8021 in FIG. 8 is neither a start point of the RTL timing analysis nor an external output. On the other hand, Ou on the left side of 8032 and 8033
t1 is an external output.

【0065】S606で、RTLタイミング解析の開始
点でも外部出力でもないとわかった場合、S607で、
S605の代入文の左辺に現れる信号、または条件文の
条件が成立した場合、成立しない場合、それぞれのブロ
ックに含まれる代入文の左辺に現れる信号を、探索信号
のセットに加え、S604に戻る。例として図8では、
Aの探索の後A2をセットに加える。
If it is found in S606 that neither the start point of the RTL timing analysis nor the external output is present, in S607,
If the signal appearing on the left side of the assignment statement in S605 or the condition of the conditional statement is satisfied or not satisfied, the signal appearing on the left side of the assignment statement included in each block is added to the set of search signals, and the process returns to S604. For example, in FIG.
After searching for A, add A2 to the set.

【0066】S606で、RTLタイミング解析の開始
点または外部出力であるとわかった場合、S608で、
開始点から終了点または外部出力までの遅延がクロック
周期を越えているかチェックし、越えていれば、何サイ
クルのマルチサイクルパスかという情報とともに、S6
09でレポートする。例として図8では、Bの探索信号
に対して、8041でOut2がRTLタイミング解析の開
始点であるので、S608に進む。このときパスはA→A
2→Bで終了し遅延は17であり、Clkからの遅延は18
となる。クロックサイクルが10とすると、このパスは
2サイクルのマルチサイクルパスとなる。S610で、
探索信号のセット中に探索するべき信号があるかどうか
チェックする。
If it is determined in step S606 that the output is the start point of the RTL timing analysis or an external output, the process proceeds to step S608.
It is checked whether the delay from the start point to the end point or the external output exceeds the clock cycle, and if so, along with information on the number of multi-cycle paths, S6
Report at 09. For example, in FIG. 8, for the search signal of B, Out2 is the start point of the RTL timing analysis in 8041, so the process proceeds to S608. At this time, the path is A → A
2 → B and the delay is 17 and the delay from Clk is 18
Becomes If the clock cycle is 10, this path is a two-cycle multi-cycle path. At S610,
Check if there is a signal to search in the set of search signals.

【0067】S610で、探索するべき信号がまだ有る
と分かった場合、S604に戻る。S610で、探索す
るべき信号がもう無いと分かった場合、さらにS611
で、まだ探索されていないRTLタイミング解析の開始
点がもう無いと分かった場合、RTLタイミング解析が
終了する。
If it is determined in S610 that there is still a signal to be searched, the process returns to S604. If it is determined in S610 that there is no more signal to be searched, then S611 is further performed.
If it is determined that there is no more start point of the RTL timing analysis that has not been searched yet, the RTL timing analysis ends.

【0068】次に、図4及び5の突き合わせチェック
(S413)を図7に基づいて説明する。
Next, the matching check (S413) in FIGS. 4 and 5 will be described with reference to FIG.

【0069】まず、RTLタイミング解析結果であるマ
ルチサイクルパス候補D407を記憶する(S70
1)。
First, the multi-cycle path candidate D407, which is the result of the RTL timing analysis, is stored (S70).
1).

【0070】次に、制約ファイルD507中のタイミン
グ指定、フォールスパス指定、マルチサイクルパス指定
を記憶する(S702)。
Next, the timing specification, false path specification, and multi-cycle path specification in the constraint file D507 are stored (S702).

【0071】次に、ゲートレベルのマルチサイクルパス
指定を、通過する全ての中間ノードを含めた形に展開す
る。例えば、inA→outAがマルチサイクルパスとして指
定されている場合に、inAからoutAに至るまでに通過す
る全ての中間ノードna1,na2,na3を含めた形に展開す
る。そして、展開後のマルチサイクルパスを記憶する。
例えば、inA→na1→na2→na3→outAという形で記憶する
(S703)。
Next, the gate-level multi-cycle path designation is developed so as to include all intermediate nodes that pass through. For example, when inA → outA is specified as a multi-cycle path, the data is expanded to include all intermediate nodes na1, na2, and na3 that pass from inA to outA. Then, the developed multi-cycle path is stored.
For example, it is stored in the form of inA → na1 → na2 → na3 → outA (S703).

【0072】次に、ゲートレベルのフォールスパス指定
を、通過する全ての中間ノードを含めた形に展開する。
例えば、inB→outBがフォールスパスとして指定されて
いる場合に、inBからoutBに至るまでに通過する全ての
中間ノードnb1,nb2,nb3を含めた形に展開する。そし
て、展開後のフォールスパスを記憶する。例えば、inB
→na1→na2→na3→outBという形で記憶する(S70
4)。
Next, a gate-level false path specification is developed to include all intermediate nodes that pass through.
For example, if inB → outB is specified as a false path, the path is expanded to include all intermediate nodes nb1, nb2, and nb3 that pass from inB to outB. Then, the false path after expansion is stored. For example, inB
→ na1 → na2 → na3 → outB (S70
4).

【0073】次に、制約ファイルD507中のゲートレ
ベルのマルチサイクルパスが、RTLタイミング解析の
マルチサイクルパス候補D407に含まれているかチェ
ックする(S705)。
Next, it is checked whether the gate-level multi-cycle path in the constraint file D507 is included in the multi-cycle path candidate D407 for the RTL timing analysis (S705).

【0074】制約ファイルD507中のゲートレベルの
マルチサイクルパスが、マルチサイクルパス候補D40
7に含まれていない場合は、ゲートレベルのマルチサイ
クルパスの指定が間違っているか、RTLが間違ってい
ることをレポートする(S707)。
The gate-level multi-cycle path in the constraint file D507 is a multi-cycle path candidate D40.
If the RTL is not included, it reports that the designation of the gate-level multi-cycle path is wrong or that the RTL is wrong (S707).

【0075】制約ファイルD507中のゲートレベルの
マルチサイクルパスが、マルチサイクルパス候補D40
7に含まれている場合は、RTLタイミング解析のマル
チサイクルパス候補D407が、ゲートレベルの展開さ
れたマルチサイクルパスとフォールスパスに含まれてい
るかチェックする(S708)。
The gate-level multi-cycle path in the constraint file D507 is a multi-cycle path candidate D40.
7, the multi-path path candidate D407 of the RTL timing analysis is checked whether it is included in the expanded multi-cycle path and the false path at the gate level (S708).

【0076】制約ファイルD507中のゲートレベルの
マルチサイクルパスが、マルチサイクルパス候補D40
7に含まれていない場合も、RTLタイミング解析のマ
ルチサイクルパス候補D407が、ゲートレベルの展開
されたマルチサイクルパスとフォールスパスに含まれて
いるかチェックする(S708)。
The gate-level multi-cycle path in the constraint file D507 is a multi-cycle path candidate D40.
Also, if it is not included, the multi-path path candidate D407 of the RTL timing analysis is checked whether it is included in the expanded multi-cycle path and the false path at the gate level (S708).

【0077】マルチサイクルパス候補D407が、ゲー
トレベルの展開されたマルチサイクルパスとフォールス
パスに含まれていない場合は、マルチサイクルパス、フ
ォールスパス指定が不充分であることをレポートする
(S710)。
If the multi-cycle path candidate D407 is not included in the gate-level expanded multi-cycle path and the false path, it reports that the multi-cycle path and false path designation are insufficient (S710).

【0078】マルチサイクルパス候補D407が、ゲー
トレベルの展開されたマルチサイクルパスとフォールス
パスに含まれている場合は、突き合わせチェックを終了
する。
If the multi-cycle path candidate D407 is included in the multi-level path and the false path where the gate level has been developed, the matching check is terminated.

【0079】マルチサイクルパス候補D407が、ゲー
トレベルの展開されたマルチサイクルパスとフォールス
パスに含まれていない場合も、突き合わせチェックを終
了する。
If the multi-cycle path candidate D407 is not included in the gate-level expanded multi-cycle path and the false path, the matching check is terminated.

【0080】図9に論理合成の結果としてフリップフロ
ップが推定されるVerilog記述の例を示す。図9の例で
はout1への代入がclk信号の立ち上がりで行われる。
これはclk信号の立ち上がりエッジでデータを記憶する
フリップフロップに合成されると推定できる。これと同
等なVHDLの例を図10に示す。
FIG. 9 shows an example of a Verilog description in which a flip-flop is estimated as a result of logic synthesis. In the example of FIG. 9, the assignment to out1 is performed at the rising edge of the clk signal.
It can be estimated that this is combined with a flip-flop that stores data at the rising edge of the clk signal. FIG. 10 shows an example of an equivalent VHDL.

【0081】図11に論理合成結果としてラッチが推定
されるVerilog記述の例を示す。clk記号がhighの時、in
1の変化がout1に伝わるが、clk信号がlowの時、out1の
出力が保持される。これはラッチの動作と一致する。V
HDLの例を図12に示す。
FIG. 11 shows an example of a Verilog description in which a latch is estimated as a result of logic synthesis. When the clk symbol is high, in
The change of 1 is transmitted to out1, but when the clk signal is low, the output of out1 is held. This is consistent with the operation of the latch. V
FIG. 12 shows an example of the HDL.

【0082】図13に組み合わせ回路への合成が推定さ
れるVerilog記述例を示す。always文B1301では、
aまたはbの信号が変化した時aとbのandが評価さ
れ、信号cに代入される。これはandゲートの動作と一
致する。assign文A1302では、dまたはeの信号が
変化した場合、dとeのorが評価され信号fに代入され
る。同等なVHDLの例を図14に示す。
FIG. 13 shows a Verilog description example in which synthesis into a combinational circuit is estimated. In the always sentence B1301,
When the signal of a or b changes, the and of a and b are evaluated and substituted into the signal c. This is consistent with the operation of the and gate. In the assign statement A1302, when the signal of d or e changes, the or of d and e is evaluated and assigned to the signal f. FIG. 14 shows an example of an equivalent VHDL.

【0083】図15にRTLタイミング解析のVerilog
の例を示す。always文B1501はフリップフロップへ
の合成が推定され、out1がRTLタイミング解析の開始
点となる。クロックからのパスと考えると、Clk→out1
となる。assign文A1502は組み合わせゲートへの合
成が推定される。A1502では遅延時間15が指定さ
れている。always文B1503はフリップフロップへの
合成が推定される。従って、信号In2から信号Out2への
代入で、このパスは終了する。Clk→Out1→In2の遅延は
15となる。T1304では、クロック周期を10とし
ているので、このパスは2サイクルのマルチサイクルパ
スとなる。図16に図15のVerilog記述をVHDLで
書き直した記述を示す。
FIG. 15 shows Verilog of RTL timing analysis.
Here is an example. The synthesis of the always sentence B1501 to the flip-flop is estimated, and out1 is the start point of the RTL timing analysis. Considering the path from the clock, Clk → out1
Becomes The assignment statement A1502 is estimated to be synthesized into a combination gate. In A1502, the delay time 15 is specified. It is estimated that the always statement B1503 is synthesized into a flip-flop. Therefore, this pass is completed by substituting the signal In2 for the signal Out2. The delay of Clk → Out1 → In2 is 15. In T1304, since the clock cycle is 10, this path is a two-cycle multi-cycle path. FIG. 16 shows a description obtained by rewriting the Verilog description of FIG. 15 in VHDL.

【0084】図15の遅延テーブル1504に示すよう
に、RTLでのクロックのサイクル時間が10とする
と、Clk→Out1→In2のパスは15なので、2サイクルの
マルチサイクルパスとなる。
As shown in the delay table 1504 in FIG. 15, if the cycle time of the clock in the RTL is 10, the number of paths from Clk to Out1 to In2 is 15, so that it is a two-cycle multicycle path.

【0085】本発明を適応することで、組み合わせ回路
に0以外の遅延をつけている場合、マルチサイクルパス
ではないパスに沿っての合計が偶然にクロック周期を超
えるかどうかを、早期にチェックすることができる。
By applying the present invention, if a delay other than 0 is added to the combinational circuit, it is early checked whether the sum along a path other than the multi-cycle path accidentally exceeds the clock period. be able to.

【0086】図17にマルチサイクルパスではないが、
組み合わせ回路に遅延をつけたため、クロック周期を越
えたRTLの例を示す。always文B1701は、フリッ
プフロップへの合成が推定される。clk→Sig1のパスが
遅延1として、パス解析の開始ポイントとなる。assign
文A1702,A1703,A1704,A1705,
A1706は組み合わせゲートへの合成が推定される。
従ってclk→Sig1→Sig2→Sig3→Sig4→Sig5→Sig6のパ
ス遅延は6となる。always文B1707は、フリップフ
ロップへの合成が推定され、このパスが終了する。クロ
ック周期は5であるため、clk→Sig1→Sig2→Sig3→Sig
4→Sig5→Sig6のパスは、マルチサイクルパスか、遅延
時間に問題があることがわかる。この場合はマルチサイ
クルパスでは無いので、遅延時間に問題があり、クロッ
ク周期を6より大きくするか、遅延時間を少なくするよ
うに修正する必要があることがわかる。
FIG. 17 does not show a multi-cycle path.
An example of an RTL exceeding a clock cycle due to a delay in a combinational circuit is shown. The always statement B1701 is estimated to be synthesized into a flip-flop. The path from clk to Sig1 is set as delay 1 and becomes the starting point of path analysis. assign
Statements A1702, A1703, A1704, A1705
In A1706, synthesis to the combination gate is estimated.
Therefore, the path delay of clk → Sig1 → Sig2 → Sig3 → Sig4 → Sig5 → Sig6 is 6. In the always statement B1707, the synthesis into the flip-flop is estimated, and this pass ends. Since the clock cycle is 5, clk → Sig1 → Sig2 → Sig3 → Sig
It can be seen that the path from 4 → Sig5 → Sig6 is a multi-cycle path or has a problem with the delay time. In this case, since it is not a multi-cycle path, there is a problem in the delay time, and it is understood that it is necessary to make the clock cycle longer than 6 or to modify the delay time so as to be shorter.

【0087】(2)第2実施形態 図18は本発明のマルチサイクルパス検証装置を用いる
システム全体のハードウェア構成の第2実施形態を示す
機能ブロック図、図19は図18のゲートレベルタイミ
ング指定とRTLタイミング解析結果とゲートレベルタ
イミング解析結果の突合せチェック部1803に接続さ
れる周辺機器を例示する図、図20は第2実施形態に係
るマルチサイクルパス検証方法における処理の流れを示
すフローチャートであり、図21は同検証方法における
データの流れを示すフローチャートである。
(2) Second Embodiment FIG. 18 is a functional block diagram showing a second embodiment of the hardware configuration of the entire system using the multi-cycle path verification device of the present invention. FIG. 19 is a diagram showing the gate level timing designation in FIG. And FIG. 20 is a diagram illustrating peripheral devices connected to a matching check unit 1803 for comparing the RTL timing analysis result and the gate level timing analysis result. FIG. FIG. 21 is a flowchart showing a data flow in the verification method.

【0088】図18に示すように、第2実施形態に係る
マルチサイクルパス検証装置は、RTLシミュレーショ
ン部1801と、RTLタイミング解析部1802と、
ゲートレベルタイミング指定とRTLタイミング解析結
果とゲートレベルタイミング解析結果の突合せチェック
部1803と、論理合成部1804と、ゲートレベルタ
イミング解析部1805とから構成される。
As shown in FIG. 18, the multi-cycle path verification device according to the second embodiment includes an RTL simulation section 1801, an RTL timing analysis section 1802,
It comprises a matching check unit 1803 for specifying the gate level timing, the RTL timing analysis result, and the gate level timing analysis result, a logic synthesis unit 1804, and a gate level timing analysis unit 1805.

【0089】RTLシミュレーション部1801、RT
Lタイミング解析部1802、論理合成部1804、ゲ
ートレベルタイミング解析部1805は、図1に示すR
TLシミュレーション部101、RTLタイミング解析
部102、論理合成部104、ゲートレベルタイミング
解析部105と同様であるから、説明を省略する。
RTL simulation section 1801, RT
The L timing analysis unit 1802, the logic synthesis unit 1804, and the gate level timing analysis unit 1805
Since they are the same as the TL simulation unit 101, the RTL timing analysis unit 102, the logic synthesis unit 104, and the gate level timing analysis unit 105, the description is omitted.

【0090】ゲートレベルタイミング指定とRTLタイ
ミング解析結果とゲートレベルタイミング解析結果の突
合せチェック部1803については、後述する。
The matching check unit 1803 for specifying the gate level timing, the RTL timing analysis result, and the gate level timing analysis result will be described later.

【0091】図19に示すように、突き合わせチェック
部1803には、RTLシミュレータなどの他のシステ
ム1901、突き合わせチェック結果を表示するモニタ
1904、突き合わせチェック結果をプリントアウトす
るプリンタ1905、テープ1906やディスク190
7が接続される。テープ1906やディスク1907に
は、RTLタイミング解析の結果得られたマルチサイク
ルパス候補や、ゲートレベルのタイミング指定、マルチ
サイクルパス指定、フォールスパス指定や、ゲートレベ
ルタイミング解析の結果得られたタイミング違反パスが
記憶される。突き合わせチェック部1803も、図示し
ないCPU、ROM、RAM、キャッシュメモリ、バス
等により構成される。
As shown in FIG. 19, the matching check unit 1803 includes another system 1901 such as an RTL simulator, a monitor 1904 for displaying the matching check result, a printer 1905 for printing out the matching checking result, a tape 1906 and a disk 190.
7 is connected. The tape 1906 and the disk 1907 include a multi-cycle path candidate obtained as a result of the RTL timing analysis, a gate-level timing specification, a multi-cycle path specification, a false path specification, and a timing violation path obtained as a result of the gate-level timing analysis. Is stored. The matching check unit 1803 also includes a CPU, ROM, RAM, cache memory, bus, and the like (not shown).

【0092】図20に基づいて設計フローを説明する。A design flow will be described with reference to FIG.

【0093】S2001からS2006及びD2007
は、図4のS401からS406及びD407と同様で
あるため、説明を省略する。
S2001 to S2006 and D2007
Are the same as S401 to S406 and D407 in FIG. 4, and a description thereof will be omitted.

【0094】タイミング指定、マルチサイクルパス指
定、フォールスパス指定を作成し(S2008)、論理
合成又は人手によってゲートレベルの設計データへ変換
し(S2009)、タイミング指定、マルチサイクルパ
ス指定、フォールスパス指定及びゲートレベルの設計デ
ータを使用してゲートレベルのタイミング解析を行い
(S2010)、エラーが存在する場合はタイミング解
析結果レポートD2014を作成する。
A timing specification, a multi-cycle path specification, and a false path specification are created (S2008), converted into gate-level design data by logic synthesis or manually (S2009), and the timing specification, the multi-cycle path specification, the false path specification, and the like are performed. A gate-level timing analysis is performed using the gate-level design data (S2010). If an error exists, a timing analysis result report D2014 is created.

【0095】マルチサイクルパス候補D2007と、タ
イミング指定、マルチサイクルパス指定、フォールスパ
ス指定と、さらにタイミング解析結果レポートD201
4を突き合わせることによって、S2008の指定が正
しいかどうかをチェックする(S2013)。具体的な
チェック内容について後述する。
A multi-cycle path candidate D2007, a timing designation, a multi-cycle path designation, a false path designation, and a timing analysis result report D201
Then, it is checked whether or not the designation in S2008 is correct by matching 4 (S2013). Specific check contents will be described later.

【0096】S2011で、ゲートレベルのタイミング
解析の結果をチェックする。S2011でタイミング違
反があれば、S2012でRTL、タイミング指定、マ
ルチサイクル指定、フォールスパス指定を修正する。S
2011でタイミング違反がなければ、レイアウトなど
の後工程へ進む。
In step S2011, the result of the gate-level timing analysis is checked. If there is a timing violation in S2011, the RTL, timing designation, multi-cycle designation, and false path designation are corrected in S2012. S
If there is no timing violation in 2011, the process proceeds to a post-process such as layout.

【0097】図21に基づいてデータ中心のフローを説
明する。
A data-centric flow will be described with reference to FIG.

【0098】RTL設計データD2101とテストパタ
ーンD2102を用いてシミュレーションを行い(S2
003)、シミュレーション結果D2104を得る。シ
ミュレーション結果D2104が期待した結果と一致し
た後、RTLタイミング解析を行い(S2006)、マ
ルチサイクルパス候補D2007を得る。制約ファイル
D2107のタイミング指定、フォールスパス指定、マ
ルチサイクルパス指定を利用して、ゲートレベルへの論
理合成又は人手変換を行い(S2009)、ゲートレベ
ル設計データD2109を得る。制約ファイルD210
7とゲートレベル設計データD2109を使用してタイ
ミング解析を行い(S2010)、タイミング解析結果
レポートD2014を得る。制約ファイルD2107の
フォールスパス指定、マルチサイクルパス指定と、マル
チサイクルパス候補D2007と、タイミング解析結果
レポートD2014とを突き合わせて、問題がないかチ
ェックする(S2013)。
A simulation is performed using the RTL design data D2101 and the test pattern D2102 (S2
003), and obtain a simulation result D2104. After the simulation result D2104 matches the expected result, RTL timing analysis is performed (S2006), and a multi-cycle path candidate D2007 is obtained. Using the timing specification, false path specification, and multi-cycle path specification of the constraint file D2107, logic synthesis or manual conversion to the gate level is performed (S2009), and the gate level design data D2109 is obtained. Constraint file D210
7 and the gate level design data D2109 to perform timing analysis (S2010), and obtain a timing analysis result report D2014. The false path specification and the multi-cycle path specification in the constraint file D2107 are compared with the multi-cycle path candidate D2007 and the timing analysis result report D2014 to check whether there is any problem (S2013).

【0099】次に、図20及び21の突き合わせチェッ
ク(S2013)を図22に基づいて説明する。
Next, the matching check (S2013) in FIGS. 20 and 21 will be described with reference to FIG.

【0100】まず、RTLタイミング解析結果であるマ
ルチサイクルパス候補D2007を記憶する(S220
1)。
First, the multi-cycle path candidate D2007, which is the result of the RTL timing analysis, is stored (S220).
1).

【0101】次に、制約ファイルD2107中のタイミ
ング指定、フォールスパス指定、マルチサイクルパス指
定を記憶する(S2202)。
Next, the timing specification, false path specification, and multi-cycle path specification in the constraint file D2107 are stored (S2202).

【0102】次に、ゲートレベルのマルチサイクルパス
指定を、通過する全ての中間ノードを含めた形に展開す
る。例えば、inA→outAがマルチサイクルパスとして指
定されている場合に、inAからoutAに至るまでに通過す
る全ての中間ノードna1,na2,na3を含めた形に展開す
る。そして、展開後のマルチサイクルパスを記憶する。
例えば、inA→na1→na2→na3→outAという形で記憶する
(S2203)。
Next, the gate-level multi-cycle path designation is developed to include all the intermediate nodes that pass through. For example, when inA → outA is specified as a multi-cycle path, the data is expanded to include all intermediate nodes na1, na2, and na3 that pass from inA to outA. Then, the developed multi-cycle path is stored.
For example, it is stored in the form of inA → na1 → na2 → na3 → outA (S2203).

【0103】次に、ゲートレベルのフォールスパス指定
を、通過する全ての中間ノードを含めた形に展開する。
例えば、inB→outBがフォールスパスとして指定されて
いる場合に、inBからoutBに至るまでに通過する全ての
中間ノードnb1,nb2,nb3を含めた形に展開する。そし
て、展開後のフォールスパスを記憶する。例えば、inB
→na1→na2→na3→outBという形で記憶する(S220
4)。
Next, the gate-level false path specification is developed to include all the passing intermediate nodes.
For example, if inB → outB is specified as a false path, the path is expanded to include all intermediate nodes nb1, nb2, and nb3 that pass from inB to outB. Then, the false path after expansion is stored. For example, inB
→ na1 → na2 → na3 → outB (S220)
4).

【0104】次に、ゲートレベルの展開されたマルチサ
イクルパスが、RTLタイミング解析結果として得られ
たマルチサイクルパス候補D2007に含まれているか
チェックする(S2205)。
Next, it is checked whether or not the multi-cycle path in which the gate level has been expanded is included in the multi-cycle path candidate D2007 obtained as a result of the RTL timing analysis (S2205).

【0105】ゲートレベルの展開されたマルチサイクル
パスが、マルチサイクルパス候補D2007に含まれて
いない場合は、ゲートレベルのマルチサイクルパス指定
又はフォールスパス指定が間違っているか、RTLが間
違っていることをレポートする(S2207)。
If the expanded multi-cycle path at the gate level is not included in the multi-cycle path candidate D2007, it is determined that the multi-cycle path specification or the false path specification at the gate level is wrong or the RTL is wrong. A report is made (S2207).

【0106】ゲートレベルの展開されたマルチサイクル
パスが、マルチサイクルパス候補D2007に含まれて
いる場合は、マルチサイクルパス候補D2007が、ゲ
ートレベルの展開されたマルチサイクルパスとフォール
スパスに含まれているかチェックする(S2208)。
When the expanded multi-cycle path at the gate level is included in the multi-cycle path candidate D2007, the multi-cycle path candidate D2007 is included in the expanded multi-cycle path and the false path at the gate level. It is checked whether it is (S2208).

【0107】ゲートレベルの展開されたマルチサイクル
パスが、マルチサイクルパス候補D2007に含まれて
いない場合も、マルチサイクルパス候補D2007が、
ゲートレベルの展開されたマルチサイクルパスとフォー
ルスパスに含まれているかチェックする(S220
8)。
When the gate-level expanded multi-cycle path is not included in the multi-cycle path candidate D2007, the multi-cycle path candidate D2007 is
It is checked whether it is included in the expanded multi-cycle path and the false path at the gate level (S220)
8).

【0108】マルチサイクルパス候補D2007が、ゲ
ートレベルの展開されたマルチサイクルパスとフォール
スパスに含まれていない場合は、含まれていなかったパ
スがゲートレベルタイミング解析結果レポートD201
4にエラーとしてレポートされているかチェックする
(S2210)。
When the multi-cycle path candidate D2007 is not included in the gate-level expanded multi-cycle path and the false path, the path not included is included in the gate-level timing analysis result report D201.
It is checked whether an error is reported in No. 4 (S2210).

【0109】S2209で含まれていなかったパスが、
ゲートレベルタイミング解析結果にエラーとしてレポー
トされていれば、ゲートレベルのタイミング解析のマル
チサイクルパス指定、フォールスパス指定が間違ってい
ることをレポートする。そうでなければ、RTLとゲー
トの遅延が異なることをレポートし(S2211)、終
了する。
The path not included in S2209 is
If an error is reported in the gate-level timing analysis result, it reports that the multi-cycle path specification and the false path specification in the gate-level timing analysis are incorrect. Otherwise, it reports that the delays of the RTL and the gate are different (S2211), and ends.

【0110】また、マルチサイクルパス候補D2007
が、ゲートレベルの展開されたマルチサイクルパスとフ
ォールスパスに含まれている場合も、突き合わせチェッ
クを終了する。
Also, a multi-cycle path candidate D2007
Is included in the expanded multi-cycle path and the false path at the gate level, the matching check is terminated.

【0111】また、上述の各マルチサイクル検証方法に
おいて必要とされる各ステップをコンピュータに実行さ
せるプログラムを記録媒体に記録し、これをコンピュー
タ読み取らせ、実行させることにより、上述したマルチ
サイクル検証方法を実現することができる。ここで、記
録媒体としては、例えばメモリ装置、磁気ディスク装
置、光ディスク装置、磁気テープ装置などのプログラム
を記録できるような装置が含まれる。
Further, a program for causing a computer to execute each step required in each of the above-described multi-cycle verification methods is recorded on a recording medium, and is read and executed by a computer. Can be realized. Here, examples of the recording medium include devices capable of recording a program, such as a memory device, a magnetic disk device, an optical disk device, and a magnetic tape device.

【0112】図26は、これら記録媒体に格納されたプ
ログラムを読み取り、そこに記述されたステップに従っ
てマルチサイクル検証方法を実現するコンピュータシス
テムの一例を示す概観図である。このコンピュータシス
テム80の本体前面には、フロッピー(登録商標)ディ
スクドライブ81及びCD−ROMドライブ82が設け
られており、磁気ディスク装置としてのフロッピーディ
スク83又は光ディスク装置としてのCD−ROM84
を各ドライブ入口から挿入し、所定の読み出し操作を行
うことにより、これらの記録媒体に格納されたプログラ
ムをシステム内にインストールすることができる。ま
た、所定のドライブ装置を接続することにより、例えば
ゲームパックなどに使用されているメモリ装置としての
ROM85や磁気テープ装置としてのカセットテープ8
6を用いることもできる。
FIG. 26 is a schematic diagram showing an example of a computer system that reads a program stored in these recording media and implements a multi-cycle verification method according to the steps described therein. A floppy (registered trademark) disk drive 81 and a CD-ROM drive 82 are provided on the front of the main body of the computer system 80. A floppy disk 83 as a magnetic disk device or a CD-ROM 84 as an optical disk device is provided.
Is inserted from each drive entrance and a predetermined read operation is performed, whereby the programs stored in these recording media can be installed in the system. Also, by connecting a predetermined drive device, for example, a ROM 85 as a memory device used for a game pack or the like and a cassette tape 8 as a magnetic tape device are connected.
6 can also be used.

【0113】[0113]

【発明の効果】本発明によって以下の効果が得られる。According to the present invention, the following effects can be obtained.

【0114】RTLで回路を設計し、その後ゲートレベ
ルの回路に変換する設計フローにおいて、(1)RTL
タイミング解析によって発見したマルチサイクルパス候
補と、(2)ゲートレベルタイミング解析のために指定
したマルチサイクルパスとフォールスパスのセットを比
較することによって、設計者のマルチサイクルパスの指
定が正しいかを検証することができる。
In the design flow of designing a circuit by RTL and then converting it to a gate level circuit, (1) RTL
Verify whether the designer's designation of the multi-cycle path is correct by comparing the multi-cycle path candidate found by the timing analysis with (2) the set of the multi-cycle path and the false path specified for the gate-level timing analysis. can do.

【0115】つまり、(条件1)RTLタイミング解析
によってマルチサイクルパス候補として発見されたパス
が、ゲートレベルのタイミング解析のためにマルチサイ
クルパスまたはフォールスパスとして指定されるパスの
セット内に含まれている、(条件2)ゲートレベルのタ
イミング解析のためにマルチサイクルパスとして指定さ
れるパスが、RTLタイミング解析によってマルチサイ
クルパス候補として発見されたパスのセットに含まれて
いる、という2つの条件が満たされているか否かを検証
することにより、設計者がゲートレベルのタイミング解
析のために行うマルチサイクルパス指定が正しいか否か
を検証することができる。
That is, (condition 1) a path found as a multi-cycle path candidate by RTL timing analysis is included in a set of paths designated as a multi-cycle path or a false path for gate-level timing analysis. (Condition 2) that a path specified as a multi-cycle path for gate-level timing analysis is included in a set of paths discovered as a multi-cycle path candidate by RTL timing analysis. By verifying whether or not the condition is satisfied, it is possible to verify whether or not the multi-cycle path designation performed by the designer for the gate-level timing analysis is correct.

【0116】マルチサイクルパス指定が正しくない場合
(マルチサイクルパス指定されていないパスにクロック
周期以上の遅延があった場合)、RTLを論理合成して
得られるゲートレベルの回路のシミュレーション結果が
正しく行われないおそれがある。つまり、論理合成以前
のRTLタイミング解析によって、論理合成後のゲート
レベルシミュレーションにおける問題発生が予見可能と
なる。
If the multi-cycle path is not specified correctly (if a path for which the multi-cycle path is not specified has a delay equal to or longer than the clock cycle), the simulation result of the gate-level circuit obtained by logically synthesizing the RTL is not correct. It may not be done. That is, the occurrence of a problem in the gate-level simulation after the logic synthesis can be predicted by the RTL timing analysis before the logic synthesis.

【0117】また、(1)RTLタイミング解析によっ
て発見したマルチサイクルパス候補と、(2)ゲートレ
ベルタイミング解析によって発見されたタイミング違反
パスとを比較することによって、ゲートレベルタイミン
グ解析によって発見されたタイミング違反パスが、マル
チサイクルパスであるかどうかを判定することができ
る。
Also, by comparing (1) a multi-cycle path candidate found by RTL timing analysis with (2) a timing violation path found by gate-level timing analysis, the timing found by gate-level timing analysis is compared. It can be determined whether the offending path is a multi-cycle path.

【0118】具体的には、ゲートレベルのタイミング解
析でタイミング違反として発見されたパスのセットか
ら、RTLタイミング解析で発見されたマルチサイクル
パス候補を取り除くことで、本当のタイミング違反のパ
スを見つけることができる。
More specifically, a true timing violation path is found by removing a multi-cycle path candidate found by RTL timing analysis from a set of paths found as timing violation in gate level timing analysis. Can be.

【0119】また、ゲートレベルのタイミング解析で発
見されたタイミング違反パスのサイクル数と、RTLタ
イミング解析で発見されたマルチサイクルパス候補のサ
イクル数が一致することを確認することにより、正しく
ゲートレベルのタイミング解析が行われていることを検
証できる。
Further, by confirming that the number of cycles of the timing violation path discovered by the gate-level timing analysis matches the number of cycles of the multi-cycle path candidate discovered by the RTL timing analysis, it is possible to correctly determine the gate-level path. It can verify that the timing analysis has been performed.

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

【図1】本発明の第1実施形態におけるハードウェア構
成を示す機能ブロック図である。
FIG. 1 is a functional block diagram illustrating a hardware configuration according to a first embodiment of the present invention.

【図2】図1のRTLタイミング解析部102に接続さ
れる周辺機器を例示する図である。
FIG. 2 is a diagram illustrating peripheral devices connected to an RTL timing analysis unit 102 in FIG. 1;

【図3】図1のゲートレベルタイミング指定とRTLタ
イミング解析結果の突合せチェック部103に接続され
る周辺機器を例示する図である。
FIG. 3 is a diagram exemplifying peripheral devices connected to a matching check unit 103 for specifying a gate level timing and an RTL timing analysis in FIG. 1;

【図4】本発明の第1実施形態における処理の流れを示
すフローチャートである。
FIG. 4 is a flowchart showing a flow of processing according to the first embodiment of the present invention.

【図5】本発明の第1実施形態におけるデータの流れを
示すフローチャートである。
FIG. 5 is a flowchart showing a data flow in the first embodiment of the present invention.

【図6】図4及び図5のRTLタイミング解析の処理の
流れを示すフローチャートである。
FIG. 6 is a flowchart showing a flow of processing of RTL timing analysis of FIGS. 4 and 5;

【図7】図4及び図5の突き合わせチェックの処理の流
れを示すフローチャートである。
FIG. 7 is a flowchart showing a flow of a matching check process in FIGS. 4 and 5;

【図8】図4のRTLタイミング解析を行う回路の例を
示す図である。
FIG. 8 is a diagram illustrating an example of a circuit that performs the RTL timing analysis of FIG. 4;

【図9】フリップフロップへの合成が推定されるVerilo
g記述の例を示す図である。
FIG. 9: Verilo estimated to be synthesized into flip-flops
It is a figure showing the example of g description.

【図10】図9に対応するVHDL記述の例を示す図で
ある。
FIG. 10 is a diagram illustrating an example of a VHDL description corresponding to FIG. 9;

【図11】ラッチへの合成が推定されるVerilog記述の
例を示す図である。
FIG. 11 is a diagram illustrating an example of a Verilog description in which synthesis into a latch is estimated.

【図12】図11に対応するVHDL記述の例を示す図
である。
FIG. 12 is a diagram illustrating an example of a VHDL description corresponding to FIG. 11;

【図13】組み合わせ回路への合成が推定されるVerilo
g記述の例を示す図である。
FIG. 13: Verilo estimated to be synthesized into a combinational circuit
It is a figure showing the example of g description.

【図14】図13に対応するVHDL記述の例を示す図
である。
FIG. 14 is a diagram illustrating an example of a VHDL description corresponding to FIG. 13;

【図15】RTLタイミング解析を行う回路の他の例を
示す図である。
FIG. 15 is a diagram illustrating another example of a circuit that performs RTL timing analysis.

【図16】図15に対応するVHDL記述の例を示す図
である。
FIG. 16 is a diagram showing an example of a VHDL description corresponding to FIG.

【図17】パス遅延がクロック周期を越える回路の例を
示す図である。
FIG. 17 is a diagram illustrating an example of a circuit in which a path delay exceeds a clock cycle.

【図18】本発明の第2実施形態におけるハードウェア
構成を示す機能ブロック図である。
FIG. 18 is a functional block diagram illustrating a hardware configuration according to a second embodiment of the present invention.

【図19】図18のゲートレベルタイミング指定とRT
Lタイミング解析結果とゲートレベルタイミング解析結
果の突合せチェック部1803に接続される周辺機器を
例示する図である。
19 is a diagram showing gate level timing designation and RT shown in FIG. 18;
It is a figure which illustrates the peripheral device connected to the matching check part 1803 of L timing analysis result and gate level timing analysis result.

【図20】本発明の第2実施形態における処理の流れを
示すフローチャートである。
FIG. 20 is a flowchart showing a flow of processing according to the second embodiment of the present invention.

【図21】本発明の第2実施形態におけるデータの流れ
を示すフローチャートである。
FIG. 21 is a flowchart showing a data flow in the second embodiment of the present invention.

【図22】図20及び図21の突き合わせチェックの処
理の流れを示すフローチャートである。
FIG. 22 is a flowchart showing a flow of a matching check process in FIGS. 20 and 21;

【図23】従来の処理の流れを示すフローチャートであ
る。
FIG. 23 is a flowchart showing the flow of a conventional process.

【図24】従来のデータの流れを示すフローチャートで
ある。
FIG. 24 is a flowchart showing a conventional data flow.

【図25】RTL回路に対する遅延割り当てテーブルで
ある。
FIG. 25 is a delay assignment table for an RTL circuit.

【図26】本発明のマルチサイクル検証方法を実現する
コンピュータシステムの一例を示す概観図である。
FIG. 26 is a schematic diagram illustrating an example of a computer system that implements the multi-cycle verification method of the present invention.

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

101 RTLシミュレーション部 102 RTLタイミング解析部 103 ゲートレベルタイミング指定とRTLタイミン
グ解析結果の突合せチェック部 104 論理合成部 105 ゲートレベルタイミング解析部
Reference Signs List 101 RTL simulation unit 102 RTL timing analysis unit 103 Matching check unit for specifying gate level timing and RTL timing analysis result 104 Logic synthesis unit 105 Gate level timing analysis unit

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 RTLの回路記述を解析して、開始点か
ら終了点までの遅延がクロック周期を越えているマルチ
サイクルパス候補を検出するRTLタイミング解析部
と、 前記マルチサイクルパス候補と、ゲートレベルのタイミ
ング解析のために指定されるマルチサイクルパス指定・
フォールスパス指定とを突き合わせて比較するチェック
部とを具備することを特徴とするマルチサイクルパス検
証装置。
An RTL timing analysis unit for analyzing a circuit description of an RTL to detect a multi-cycle path candidate whose delay from a start point to an end point exceeds a clock cycle; Multi-cycle path specified for level timing analysis
A multi-cycle path verification device, comprising: a check unit that compares a false path specification with a false path specification.
【請求項2】 RTLの回路記述を解析して、開始点か
ら終了点までの遅延がクロック周期を越えているマルチ
サイクルパス候補を検出するRTLタイミング解析部
と、 ゲートレベルの回路記述を解析して、ゲートレベルでの
タイミング違反パスを検出するゲートレベルタイミング
解析部と、 前記マルチサイクルパス候補と、前記タイミング違反パ
スとを突き合わせて比較するチェック部とを具備するこ
とを特徴とするマルチサイクルパス検証装置。
2. An RTL timing analysis unit for analyzing a circuit description of an RTL to detect a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle, and analyzes a gate-level circuit description. A multi-cycle path, comprising: a gate level timing analysis unit that detects a timing violation path at a gate level; and a check unit that compares the multi-cycle path candidate with the timing violation path for comparison. Verification device.
【請求項3】 RTLの回路記述を解析して、開始点か
ら終了点までの遅延がクロック周期を越えているマルチ
サイクルパス候補を検出するRTLタイミング解析部
と、 ゲートレベルの回路記述を解析して、ゲートレベルでの
タイミング違反パスを検出するゲートレベルタイミング
解析部と、 前記マルチサイクルパス候補と、ゲートレベルのタイミ
ング解析のために指定されるマルチサイクルパス指定・
フォールスパス指定と、前記タイミング違反パスとを突
き合わせて比較するチェック部とを具備することを特徴
とするマルチサイクルパス検証装置。
3. An RTL timing analysis unit for analyzing a RTL circuit description to detect a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle, and analyzes a gate-level circuit description. A gate-level timing analysis unit that detects a timing violation path at a gate level; a multi-cycle path candidate; and a multi-cycle path designation / designation designated for gate-level timing analysis.
A multi-cycle path verification device, comprising: a check unit for comparing a false path specification with the timing violation path for comparison.
【請求項4】 RTLの回路記述を解析して、開始点か
ら終了点までの遅延がクロック周期を越えているマルチ
サイクルパス候補を検出するRTLタイミング解析ステ
ップと、 前記マルチサイクルパス候補と、ゲートレベルのタイミ
ング解析のために指定されるマルチサイクルパス指定・
フォールスパス指定とを突き合わせて比較するチェック
ステップとを含むことを特徴とするマルチサイクルパス
検証方法。
4. An RTL timing analysis step of analyzing a circuit description of an RTL to detect a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle; Multi-cycle path specified for level timing analysis
A checking step of comparing against a false path specification.
【請求項5】 RTLの回路記述を解析して、開始点か
ら終了点までの遅延がクロック周期を越えているマルチ
サイクルパス候補を検出するRTLタイミング解析ステ
ップと、 ゲートレベルの回路記述を解析して、ゲートレベルでの
タイミング違反パスを検出するゲートレベルタイミング
解析ステップと、 前記マルチサイクルパス候補と、前記ゲートレベルタイ
ミング違反パスとを突き合わせて比較するチェックステ
ップとを含むことを特徴とするマルチサイクルパス検証
方法。
5. An RTL timing analysis step for analyzing an RTL circuit description to detect a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle, and analyzing a gate-level circuit description. A gate-level timing analysis step of detecting a timing violation path at a gate level; and a check step of comparing and comparing the multi-cycle path candidate with the gate-level timing violation path. Path validation method.
【請求項6】 RTLの回路記述を解析して、開始点か
ら終了点までの遅延がクロック周期を越えているマルチ
サイクルパス候補を検出するRTLタイミング解析ステ
ップと、 ゲートレベルの回路記述を解析して、ゲートレベルでの
タイミング違反パスを検出するゲートレベルタイミング
解析ステップと、 前記マルチサイクルパス候補と、ゲートレベルのタイミ
ング解析のために指定されるマルチサイクルパス指定・
フォールスパス指定と、前記ゲートレベルタイミング違
反パスとを突き合わせて比較するチェックステップとを
含むことを特徴とするマルチサイクルパス検証方法。
6. An RTL timing analysis step for analyzing a RTL circuit description to detect a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle; and analyzing a gate-level circuit description. A gate-level timing analysis step of detecting a timing violation path at the gate level; and a multi-cycle path designation and multi-cycle path designation / designation specified for gate-level timing analysis.
A multi-cycle path verification method, comprising: checking a false path and comparing the path with the gate level timing violation path.
【請求項7】 RTLの回路記述を解析して、開始点か
ら終了点までの遅延がクロック周期を越えているマルチ
サイクルパス候補を検出するRTLタイミング解析ステ
ップと、 前記マルチサイクルパス候補と、ゲートレベルのタイミ
ング解析のために指定されるマルチサイクルパス指定・
フォールスパス指定とを突き合わせて比較するチェック
ステップとをコンピュータに実行させることを特徴とす
るマルチサイクルパス検証プログラムを記録したコンピ
ュータ読取可能な記録媒体。
7. An RTL timing analysis step of analyzing a circuit description of an RTL to detect a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle; Multi-cycle path specified for level timing analysis
A computer-readable recording medium having recorded thereon a multi-cycle path verification program, wherein the computer executes a check step of comparing against a false path specification.
【請求項8】 RTLの回路記述を解析して、開始点か
ら終了点までの遅延がクロック周期を越えているマルチ
サイクルパス候補を検出するRTLタイミング解析ステ
ップと、 ゲートレベルの回路記述を解析して、ゲートレベルでの
タイミング違反パスを検出するゲートレベルタイミング
解析ステップと、 前記マルチサイクルパス候補と、前記ゲートレベルタイ
ミング違反パスとを突き合わせて比較するチェックステ
ップとをコンピュータに実行させることを特徴とするマ
ルチサイクルパス検証プログラムを記録したコンピュー
タ読取可能な記録媒体。
8. An RTL timing analysis step of analyzing a circuit description of an RTL to detect a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle; and analyzing a gate-level circuit description. Causing a computer to execute a gate level timing analysis step of detecting a timing violation path at a gate level, and a check step of comparing the multi-cycle path candidate with the gate level timing violation path for comparison. A computer-readable recording medium on which a multi-cycle path verification program is recorded.
【請求項9】 RTLの回路記述を解析して、開始点か
ら終了点までの遅延がクロック周期を越えているマルチ
サイクルパス候補を検出するRTLタイミング解析ステ
ップと、 ゲートレベルの回路記述を解析して、ゲートレベルでの
タイミング違反パスを検出するゲートレベルタイミング
解析ステップと、 前記マルチサイクルパス候補と、ゲートレベルのタイミ
ング解析のために指定されるマルチサイクルパス指定・
フォールスパス指定と、前記ゲートレベルタイミング違
反パスとを突き合わせて比較するチェックステップとを
コンピュータに実行させることを特徴とするマルチサイ
クルパス検証プログラムを記録したコンピュータ読取可
能な記録媒体。
9. An RTL timing analysis step for analyzing a circuit description of an RTL to detect a multi-cycle path candidate in which a delay from a start point to an end point exceeds a clock cycle; and analyzing a gate-level circuit description. A gate-level timing analysis step of detecting a timing violation path at the gate level; and a multi-cycle path designation and multi-cycle path designation / designation specified for gate-level timing analysis.
A computer-readable recording medium on which a multi-cycle path verification program is recorded, the program causing a computer to execute a false path designation and a check step of comparing the path with the gate level timing violation path.
JP2000087926A 2000-03-28 2000-03-28 Device and method for verifying multi-cycle path and computer readable storage medium with verification program stored therein Pending JP2001273351A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000087926A JP2001273351A (en) 2000-03-28 2000-03-28 Device and method for verifying multi-cycle path and computer readable storage medium with verification program stored therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000087926A JP2001273351A (en) 2000-03-28 2000-03-28 Device and method for verifying multi-cycle path and computer readable storage medium with verification program stored therein

Publications (1)

Publication Number Publication Date
JP2001273351A true JP2001273351A (en) 2001-10-05

Family

ID=18603871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000087926A Pending JP2001273351A (en) 2000-03-28 2000-03-28 Device and method for verifying multi-cycle path and computer readable storage medium with verification program stored therein

Country Status (1)

Country Link
JP (1) JP2001273351A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007142201A1 (en) * 2006-06-05 2007-12-13 Panasonic Corporation Multi-cycle path information verification method and multi-cycle path information verification device
WO2008050505A1 (en) * 2006-10-24 2008-05-02 Panasonic Corporation Simulation apparatus
JP2010039575A (en) * 2008-07-31 2010-02-18 Fujitsu Ltd Delay variation analysis unit, and delay variation calculation method
JP2012248038A (en) * 2011-05-30 2012-12-13 Mitsubishi Electric Corp Multi-cycle path detection device and multi-cycle path detection program
US8504347B2 (en) 2008-03-21 2013-08-06 Fujitsu Semiconductor Limited Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007142201A1 (en) * 2006-06-05 2007-12-13 Panasonic Corporation Multi-cycle path information verification method and multi-cycle path information verification device
WO2008050505A1 (en) * 2006-10-24 2008-05-02 Panasonic Corporation Simulation apparatus
US7941773B2 (en) 2006-10-24 2011-05-10 Panasonic Corporation Simulation system to verify multicycle path based on circuit operational specification and circuit design specification
US8504347B2 (en) 2008-03-21 2013-08-06 Fujitsu Semiconductor Limited Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit
JP2010039575A (en) * 2008-07-31 2010-02-18 Fujitsu Ltd Delay variation analysis unit, and delay variation calculation method
JP2012248038A (en) * 2011-05-30 2012-12-13 Mitsubishi Electric Corp Multi-cycle path detection device and multi-cycle path detection program

Similar Documents

Publication Publication Date Title
US7454324B1 (en) Selection of initial states for formal verification
Bhatnagar Advanced ASIC chip synthesis
US8443317B2 (en) Transformation of IC designs for formal verification
US7506292B2 (en) Method for clock synchronization validation in integrated circuit design
US20060200786A1 (en) Static timing analysis and dynamic simulation for custom and ASIC designs
US20150161311A1 (en) Conditional phase algebra for clock analysis
US7650581B2 (en) Method for modeling and verifying timing exceptions
KR100329896B1 (en) Toggle based application specific core methodology
EP1451730A2 (en) Assertion handling for timing model extraction
US20080098271A1 (en) System and Method for Verification and Generation of Timing Exceptions
US7437701B1 (en) Simulation of a programming language specification of a circuit design
US7882483B2 (en) Method for checking constraints equivalence of an integrated circuit design
US20080201671A1 (en) Method for generating timing exceptions
CN116205171B (en) Matching method, device, equipment and storage medium of power switch unit
US6658630B1 (en) Method to translate UDPs using gate primitives
US9342639B1 (en) Method of hierarchical timing closure of VLSI circuits using partially disruptive feedback assertions
US20080059928A1 (en) Assertion description conversion device, method and computer program product
US7979262B1 (en) Method for verifying connectivity of electrical circuit components
US20090240484A1 (en) Simulation apparatus, simulation method, and program
JP2001273351A (en) Device and method for verifying multi-cycle path and computer readable storage medium with verification program stored therein
US10430535B2 (en) Verification support program medium, verification support method, and information processing device for verification of a circuit
US8943457B2 (en) Simulating scan tests with reduced resources
US8091049B2 (en) Integrated single spice deck sensitization for gate level tools
US7983891B1 (en) Receiver dependent selection of a worst-case timing event for static timing analysis
KR20060101127A (en) Efficient functional verification apparatus in esl design methodology, and the verification method using the same