JP2021077282A - Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program - Google Patents
Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program Download PDFInfo
- Publication number
- JP2021077282A JP2021077282A JP2019205611A JP2019205611A JP2021077282A JP 2021077282 A JP2021077282 A JP 2021077282A JP 2019205611 A JP2019205611 A JP 2019205611A JP 2019205611 A JP2019205611 A JP 2019205611A JP 2021077282 A JP2021077282 A JP 2021077282A
- Authority
- JP
- Japan
- Prior art keywords
- logic
- circuit
- timing
- extracted
- input
- 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.)
- Granted
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本発明は、タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラムに関する。 The present invention relates to a timing constraint extraction device, a timing constraint extraction method, and a timing constraint extraction program.
クロックに同期して動作する論理回路は、複数サイクルにまたがる信号の遅延が許されるマルチサイクルパスを含む場合がある。この種の論理回路において、予め指定した個所に、指定したサイクル数の不定値を与えて論理シミュレーションを実行することで、設定したマルチサイクルパス箇所が正しいか否かを判断する手法が開示されている(特許文献1)。 A logic circuit that operates in synchronization with a clock may include a multi-cycle path that allows signal delay across multiple cycles. In this type of logic circuit, a method for determining whether or not a set multi-cycle path location is correct by giving an indefinite value of a specified number of cycles to a predetermined location and executing a logic simulation is disclosed. (Patent Document 1).
マルチサイクルパスを含む論理回路の検証を効率的に実行するためには、論理回路に含まれるマルチサイクルパスを自動的に抽出することが好ましい。しかしながら、従来、マルチサイクルパスかどうかの判断は、設計者等が回路設計時の情報を頼りに判断している。このため、論理規模が大きくなると、判断に要する工数が増加し、また、マルチサイクルパスかどうかの判断を誤るリスクが増大するという問題があった。 In order to efficiently verify the logic circuit including the multi-cycle path, it is preferable to automatically extract the multi-cycle path included in the logic circuit. However, conventionally, the designer or the like relies on the information at the time of circuit design to determine whether or not the path is a multi-cycle path. Therefore, when the logical scale becomes large, there is a problem that the man-hours required for the judgment increase and the risk of erroneous judgment as to whether or not it is a multi-cycle path increases.
開示の技術は、上記の課題に鑑みてなされたものであり、マルチタイミングパスを自動的に抽出可能にすることで、マルチサイクルパスの判断に要する工数を削減し、判断ミスの発生を防止することを目的とする。 The disclosed technology was developed in view of the above problems, and by making it possible to automatically extract the multi-timing path, the man-hours required for determining the multi-cycle path can be reduced and the occurrence of a judgment error can be prevented. The purpose is.
上記技術的課題を解決するため、本発明の一形態のタイミング制約抽出装置は、半導体集積回路に搭載する論理回路のタイミング制約を抽出するタイミング制約抽出装置であって、検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報をタイミング情報記憶部から入力し、入力した前記タイミング情報に基づいてマルチサイクルパスの候補を決定するマルチサイクルパス候補決定手段と、前記検証対象の論理回路の接続情報を接続情報記憶部から入力し、入力した前記接続情報に基づいて前記マルチサイクルパスの候補の終点のフリップフロップに接続されるロジックコーンを抽出し、抽出したロジックコーンに含まれる回路の接続情報をロジックコーン記憶部に格納するコーン抽出手段と、前記検証対象の論理回路の論理シミュレーション結果をシミュレーション結果記憶部から入力し、入力した前記論理シミュレーション結果を使用して、前記コーン抽出手段が抽出したロジックコーンに含まれる回路の端子の信号状態を抽出し、抽出した信号状態を信号状態記憶部に格納する信号状態抽出手段と、前記抽出したロジックコーンのうち、前記マルチサイクルパスの候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、作成した前記検証用回路の接続情報を検証用回路記憶部に格納する検証用回路作成手段と、前記抽出したロジックコーンに含まれる回路の接続情報と前記検証用回路の接続情報と前記抽出した信号状態とを、前記ロジックコーン記憶部と前記検証用回路記憶部と前記信号状態記憶部とからそれぞれ入力し、入力した回路の接続情報に、前記抽出した信号状態を与えて等価性検証を実行し、等価である前記マルチサイクルパスの候補を真のマルチサイクルパスと判断する判断手段と、前記判断手段が判断した前記真のマルチサイクルパスのタイミング制約を示すタイミング制約情報を出力する出力手段と、を有することを特徴とする。 In order to solve the above technical problems, the timing constraint extraction device of one embodiment of the present invention is a timing constraint extraction device that extracts the timing constraints of the logic circuit mounted on the semiconductor integrated circuit, and in the logic circuit to be verified, Timing information indicating the timing of signals input / output between a pair of flipflops connected via a combination circuit is input from the timing information storage unit, and a candidate for a multi-cycle path is determined based on the input timing information. Logic that inputs the connection information of the multi-cycle path candidate determination means and the logic circuit to be verified from the connection information storage unit, and is connected to the flip flop at the end point of the multi-cycle path candidate based on the input connection information. The cone extraction means for extracting the cone and storing the connection information of the circuit included in the extracted logic cone in the logic cone storage unit and the logic simulation result of the logic circuit to be verified are input from the simulation result storage unit and input. Using the logic simulation result, the signal state extracting means of extracting the signal state of the terminal of the circuit included in the logic cone extracted by the cone extracting means and storing the extracted signal state in the signal state storage unit, and the signal state extracting means. Of the extracted logic cones, a flip flop is added to the logic cone containing the candidate for the multi-cycle path to create a multi-cycle path verification circuit, and the connection information of the created verification circuit is stored in the verification circuit storage unit. The logic cone storage unit and the verification circuit storage unit store the verification circuit creating means stored in the above, the connection information of the circuit included in the extracted logic cone, the connection information of the verification circuit, and the extracted signal state. Input from each unit and the signal state storage unit, give the extracted signal state to the input circuit connection information, execute equivalence verification, and select the equivalent multicycle path candidate as a true multicycle. It is characterized by having a determination means for determining a path and an output means for outputting timing constraint information indicating the timing constraint of the true multicycle path determined by the determination means.
マルチタイミングパスを自動的に抽出可能にすることで、マルチサイクルパスの判断に要する工数を削減し、判断ミスの発生を防止することができる。 By making it possible to automatically extract the multi-timing path, it is possible to reduce the man-hours required for determining the multi-cycle path and prevent the occurrence of a determination error.
以下、図面を参照して実施の形態の説明を行う。なお、各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。 Hereinafter, embodiments will be described with reference to the drawings. In each drawing, the same components may be designated by the same reference numerals, and duplicate description may be omitted.
図1は、本発明の一実施形態に係るタイミング制約抽出装置の一例を示すブロック図である。図1に示すタイミング制約抽出装置10は、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32とともに、サーバ等のコンピュータである情報処理装置100に搭載されることで実現される。
FIG. 1 is a block diagram showing an example of a timing constraint extraction device according to an embodiment of the present invention. The timing
例えば、情報処理装置100は、タイミング制約抽出装置10、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32の機能をソフトウェアにより実現する。なお、タイミング制約抽出装置10の機能を実現する情報処理装置が、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32を実現する情報処理装置と別に設けられてもよい。
For example, the
例えば、タイミング制約抽出装置10の各機能は、情報処理装置100に搭載されるCPU(Central Processing Unit)等のプロセッサが、タイミング制約抽出プログラムを実行することにより、タイミング制約抽出方法を実行することで実現される。なお、情報処理装置100は、タイミング制約抽出装置10の少なくとも一部をハードウェアにより実現してもよい。
For example, in each function of the timing
論理合成装置30は、クロック情報20とRTL(Register Transfer Level)記述21とを使用して論理合成を実行することで、論理回路がゲートレベルで示されたネットリスト40を生成する。タイミング解析装置31は、クロック情報20等のタイミング情報とネットリスト40とを使用して論理回路のタイミング解析を実行し、解析結果をタイミングレポートファイル41として出力する。タイミングレポートファイル41は、検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報の一例である。タイミングレポートファイル41が格納されるハードディスク装置等の記憶装置は、タイミング情報記憶部の一例である。
The
論理シミュレーション装置32は、論理回路のRTL記述21とテストパタン22とを使用して論理シミュレーションを実行し、論理シミュレーション(SIM)結果42を出力する。論理シミュレーション(SIM)結果42が格納されるハードディスク装置等の記憶装置は、シミュレーション結果記憶部の一例である。論理合成装置30、タイミング解析装置31および論理シミュレーション装置32は、既存の装置であるため、詳細な説明は割愛する。
The
なお、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32は、論理回路の設計・検証時に使用される。このため、タイミング制約抽出装置10は、論理回路の設計・検証時に得られるネットリスト40、タイミングレポートファイル41および論理シミュレーション結果42等の情報を利用して、後述するようにマルチサイクルパスを抽出することができる。
The
タイミング制約抽出装置10は、マルチサイクルパス候補決定部11、周辺ロジックコーン回路抽出部12および周辺ロジックコーンプロパティ抽出部13を有する。また、タイミング制約抽出装置10は、マルチサイクル検証用回路作成部14、マルチサイクルパス可否判断部15およびタイミング制約出力部16を有する。
The timing
マルチサイクルパス候補決定部11は、マルチサイクルパス候補決定手段の一例であり、周辺ロジックコーン回路抽出部12は、コーン抽出手段の一例であり、周辺ロジックコーンプロパティ抽出部13は、信号状態抽出手段の一例である。マルチサイクル検証用回路作成部14は、検証用回路作成手段の一例であり、マルチサイクルパス可否判断部15は、判断手段の一例であり、タイミング制約出力部16は、出力手段の一例である。
The multi-cycle path
タイミング制約抽出装置10は、ネットリスト40とタイミングレポートファイル41と論理シミュレーション結果42とを入力し、ネットリスト50とプロパティ情報51とネットリスト52とを生成する。そして、タイミング制約抽出装置10は、内部で生成したマルチタイミングパスの候補のうち真のマルチタイミングパスと判断したパスの情報を示すマルチサイクルタイミング制約53を、人手を介することなく自動生成する。なお、図1に示すRTL記述21、ネットリスト40、50、52等の各種ファイルのフォーマットは、いずれも一般的なものであるため、ここでの説明は割愛する。
The timing
マルチサイクルパス候補決定部11は、検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報に基づいてマルチサイクルパスの候補であるマルチサイクルパス候補を決定する。
The multi-cycle path
周辺ロジックコーン回路抽出部12は、検証対象の論理回路のネットリスト40を入力し、ネットリスト40に基づいてマルチサイクルパス候補の終点のフリップフロップに接続されるロジックコーンを抽出し、ネットリスト50として出力する。
The peripheral logic cone
周辺ロジックコーンプロパティ抽出部13は、検証対象の論理回路の論理シミュレーション結果42を入力し、論理シミュレーション結果42を使用して、抽出されたロジックコーンに含まれる回路の端子の信号状態を示すプロパティ情報51を抽出する。
The peripheral logic cone
マルチサイクル検証用回路作成部14は、抽出したロジックコーンのうち、マルチサイクルパス候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、ネットリスト52として出力する。
The multi-cycle verification
マルチサイクルパス可否判断部15は、抽出したロジックコーンに含まれる回路を示すネットリスト50と、フリップフロップを追加した検証用回路とを示すネットリスト52と、抽出したプロパティを示すプロパティ情報51を入力する。そして、マルチサイクルパス可否判断部15は、ネットリスト50、52で示される回路にプロパティを与えて等価性検証を実行し、等価であると判断されたマルチサイクルパス候補を真のマルチサイクルパスとして抽出する。
The multi-cycle pass
タイミング制約出力部16は、マルチサイクルパス可否判断部15により判断された真のマルチサイクルパスのタイミング制約であるマルチサイクルタイミング制約53を出力する。以上より、タイミング制約抽出装置10は、真のマルチサイクルパスを自動的に抽出することができる。
The timing
図2は、図1のタイミング制約抽出装置10の動作の説明に使用する論理回路の一例を示す回路図である。図2に示す論理回路は、検証対象の半導体集積回路の一部を抜き出したものである。
FIG. 2 is a circuit diagram showing an example of a logic circuit used for explaining the operation of the timing
各フリップフロップFF1,FF1_b,FF1_z,FF2,FF2_b,FF3は、データ入力端子D、クロック入力端子CK、リセット入力端子RBおよびデータ出力端子Qを有する。以下では、フリップフロップFFを単にFFとも称する。また、フリップフロップFF1,FF1_b,FF1_z,FF2,FF2_b,FF3を区別なく説明する場合、フリップフロップFFまたは単にFFとも称する。 Each flip-flop FF1, FF1_b, FF1_z, FF2, FF2_b, FF3 has a data input terminal D, a clock input terminal CK, a reset input terminal RB, and a data output terminal Q. Hereinafter, the flip-flop FF is also simply referred to as FF. Further, when the flip-flops FF1, FF1_b, FF1_z, FF2, FF2_b, and FF3 are described without distinction, they are also referred to as flip-flops FF or simply FF.
フリップフロップFFは、リセット入力端子RBでアサートレベルのリセット信号を受けている間、リセットされ、データ出力端子Qからリセットレベルを出力する。フリップフロップFFは、リセット入力端子RBでネゲートレベルのリセット信号を受けている間、データ入力端子Dに入力されたデータをクロック入力端子CKで受けるクロックに同期して取り込み、それまで蓄えていたデータをデータ出力端子Qから出力する。 The flip-flop FF is reset while receiving the reset signal of the assert level at the reset input terminal RB, and outputs the reset level from the data output terminal Q. The flip flop FF takes in the data input to the data input terminal D in synchronization with the clock received by the clock input terminal CK while receiving the negate level reset signal at the reset input terminal RB, and stores the data until then. Is output from the data output terminal Q.
図2に示す例では、2入力のオアゲートOR1は、2つの入力をFF1,FF1_bの出力にそれぞれ接続し、出力を2入力のアンドゲートAND1の一方の入力に接続している。アンドゲートAND1は、他方の入力をFF1_zの出力に接続し、出力をFF2のデータ入力端子Dに接続している。以下では、オアゲートOR1およびアンドゲートAND1を単にOR1、AND1とも称する。 In the example shown in FIG. 2, the two-input oragate OR1 connects the two inputs to the outputs of FF1 and FF1_b, respectively, and connects the outputs to one input of the two-input and-gate AND1. Andgate AND1 connects the other input to the output of FF1_z and connects the output to the data input terminal D of FF2. Hereinafter, the or-gate OR1 and the and-gate AND1 are also simply referred to as OR1 and AND1.
タイミング的な観点では、あるFFから論理ゲート(組み合わせ回路)を介して接続されるFFまでを1つのタイミングパスと考える。この例では、網掛けで示すFF1からFF2までを1つのタイミングパスと考え、このパスを今後議論していくマルチサイクルパスの候補であるマルチサイクルパス候補とする。 From a timing point of view, one timing path is considered from a certain FF to an FF connected via a logic gate (combination circuit). In this example, the shaded FF1 to FF2 are considered as one timing path, and this path is used as a multi-cycle path candidate which is a candidate for the multi-cycle path to be discussed in the future.
図3および図4は、図2に示したマルチサイクルパス候補であるFF1とFF2の入出力端子の信号波形の例を示すタイミング図である。図3は、最も基本的なシングルサイクルパスの例である。図中、FF1/Qは、FF1のデータ出力端子Qを示し、FF2/Dは、FF2のデータ入力端子Dを示し、FF2/Qは、FF2のデータ出力端子Qを示す。以降に示すタイミング図でも同様の表記をする。 3 and 4 are timing diagrams showing examples of signal waveforms of the input / output terminals of FF1 and FF2, which are the multi-cycle path candidates shown in FIG. FIG. 3 is an example of the most basic single cycle path. In the figure, FF1 / Q indicates the data output terminal Q of FF1, FF2 / D indicates the data input terminal D of FF2, and FF2 / Q indicates the data output terminal Q of FF2. The same notation is used for the timing diagrams shown below.
図3に示す例では、クロックサイクル(3)のタイミングでFF1/Qの信号波形が論理0から論理1に遷移する(図3(a))。そして、FF1/Qの信号波形の論理0から論理1への遷移は、クロックサイクル(3)中にFF2/Dまで伝播する(図3(b))。このため、図3に示すタイミング例では、FF2は、クロックサイクル(4)のタイミングで、データ入力端子Dに供給された論理1を取り込み、データ出力端子Qから論理1を出力できる(図3(c))。このように、FF1/Qの信号遷移からFF2/Qの信号遷移までにかかるクロックサイクル数が"1"の場合、そのパスをシングルサイクルパスと呼ぶ。
In the example shown in FIG. 3, the signal waveform of FF1 / Q transitions from
一方、図4は、マルチサイクルパスの例を示す。FF1/Qの信号波形が論理0から論理1に遷移するタイミングは、図3と同様に、クロックサイクル(3)である(図4(a))。但し、図4では、FF1/Qの信号波形の論理0から論理1への遷移は、クロックサイクル(4)の開始後にFF2/Dに伝播される(図4(b))。このため、FF2は、データ入力端子Dに供給された論理1を、クロックサイクル(4)のタイミングで取り込めず、クロックサイクル(5)のタイミングで取り込んでデータ出力端子Qから出力する(図4(c))。このように、FF1のデータ出力端子Qの信号遷移からFF2のデータ出力端子Qの信号遷移までにかかるクロックサイクル数が"2"以上の場合、そのパスをマルチサイクルパスと呼び、サイクル数が"2"の場合をマルチサイクル2と呼ぶ。
On the other hand, FIG. 4 shows an example of a multi-cycle path. The timing at which the signal waveform of FF1 / Q transitions from
図5は、図1のマルチサイクルパス候補決定部11の一例を示すブロック図である。マルチサイクルパス候補決定部11は、タイミングレポートファイル入力部11aとタイミングバイオレーション情報抽出部11bとサイクル数計算部11cとマルチサイクル制約決定部11dとを有する。
FIG. 5 is a block diagram showing an example of the multi-cycle path
図6は、図5のタイミングレポートファイル41の一例を示す説明図である。タイミングレポートファイル41には、タイミングパスの起点と終点となる一対のFFの階層インスタンス名と端子名、1クロックサイクルの周期等の情報を含まれる。また、タイミングレポートファイル41には、1クロックサイクルでタイミングが満足しているのか(MET)、タイミングが割れているのか(VIOLATED)を示す情報と、そのときのタイミングの余裕度(slack)を示す情報等が含まれる。
FIG. 6 is an explanatory diagram showing an example of the
図6の例では、1クロックサイクルの周期が2nsであり、タイミングが割れており、タイミングの余裕度(slack)が−1.302nsであることが示されている。タイミングレポートファイル41は、既存のタイミング解析装置31により生成される既存のファイルであるため、詳細な説明は割愛する。タイミングの満足(MET)と割れ(VIOLATED)については、図7〜図9で説明する。
In the example of FIG. 6, it is shown that the period of one clock cycle is 2 ns, the timing is broken, and the timing margin (slack) is -1.302 ns. Since the
図7、図8および図9は、タイミングの満足(MET)/割れ(VIOLATED)と余裕度(slack)との例を説明するタイミング図である。図7〜図9は、タイミングパスの起点がFF1であり、タイミングパスの終点がFF2である例を示す。 7, 8 and 9 are timing diagrams illustrating examples of timing satisfaction (MET) / cracking (VIOLATED) and margin (slack). 7 to 9 show an example in which the starting point of the timing path is FF1 and the ending point of the timing path is FF2.
図7は、規定の1クロックサイクル内でタイミングが満足しており(MET)、タイミングの余裕度(slack)がプラスである場合の例を示す。ここで、タイミングの満足(MET)は、規定のクロックサイクル内に、起点のFF1/Qから終点のFF2/Dまで信号が伝達できることを示す。 FIG. 7 shows an example in which the timing is satisfied within one specified clock cycle (MET) and the timing margin (slack) is positive. Here, timing satisfaction (MET) indicates that a signal can be transmitted from FF1 / Q at the starting point to FF2 / D at the ending point within a specified clock cycle.
図8は、規定の1クロックサイクル内でタイミングが割れており(VIOLATED)、タイミングの余裕度(slack)がマイナスである場合の例を示す。図8は、図6に示したタイミングレポートファイル41に対応する例を示している。ここで、タイミングの割れ(VIOLATED)は、規定の1クロックサイクル内では、起点のFF1/Qから終点のFF2/Dまで信号が伝達できないことを示す。
FIG. 8 shows an example in which the timing is broken within one specified clock cycle (VIOLATED) and the timing margin (slack) is negative. FIG. 8 shows an example corresponding to the
図9は、図8のタイミングを2クロックサイクルで考えた場合、タイミングが満足(MET)し、タイミングの余裕度(slack)がプラスになることを示す。図9中の"set_multicycle_path 2 -from FF1/CK -to FF2/D"は、マルチサイクル制約決定部11dが決定するマルチサイクルパス候補の制約(マルチサイクル制約)を示すコマンドの例を示す。マルチサイクル制約を示すコマンドは、マルチサイクル制約決定部11dから出力される。
FIG. 9 shows that when the timing of FIG. 8 is considered in two clock cycles, the timing is satisfied (MET) and the timing margin (slack) becomes positive. "Set_multicycle_path 2-from FF1 / CK -to FF2 / D" in FIG. 9 shows an example of a command indicating a constraint (multicycle constraint) of a multicycle path candidate determined by the multicycle
図5に戻って、タイミングレポートファイル入力部11aは、タイミングレポートファイル41(図6)に含まれる情報を取得し、取得した情報をタイミングバイオレーション情報抽出部11bに出力する。タイミングバイオレーション情報抽出部11bは、受信したタイミングレポートファイル41の情報を解析し、タイミングが割れている(VIOLATED)パスの情報をサイクル数計算部11cに出力する。
Returning to FIG. 5, the timing report
サイクル数計算部11cは、例えば、1クロックサイクルの周期が2ns、タイミングが割れている(VIOLATED)、タイミングの余裕度(slack)が−1.302nsという図6のタイミングレポートファイル41の情報を取得する。すなわち、図8に示すタイミングの関係を示す情報を取得する。そして、サイクル数計算部11cは、計算を実行し、図9に示すように、仮に2クロックサイクルあればタイミングの余裕度(slack)がプラスの0.698nsとなり、タイミングを満足できる(MET)と判定する。サイクル数計算部11cは、計算により得た判定結果(2クロックサイクルならMETする)をマルチサイクル制約決定部11dに出力する。
The cycle
マルチサイクル制約決定部11dは、サイクル数計算部11cによる判定結果に基づいて、マルチサイクルパス候補の制約を決定する。図6に示すタイミングレポートファイル41では、タイミングパスの起点となるフリップフロップの階層インスタンス名がFF1でその端子名がCKであり、終点となるフリップフロップの階層インスタンス名がFF2でその端子名がDである。
The multi-cycle
マルチサイクル制約決定部11dは、タイミングレポートファイル41の情報と、サイクル数計算部11cが算出した情報とから、"set_multicycle_path 2 -from FF1/CK -to FF2/D"というマルチサイクル制約を示すコマンドを作成する。ここで、サイクル数計算部11cが算出した情報は、"2クロックサイクルならMETする"という判定結果である。
The multi-cycle
例えば、"set_multicycle_path"というコマンドはSDC(Synopsys Design Constraints)のコマンドでありタイミング制約を指定する際に使用される一般的なフォーマットなので説明は割愛する。なお、"set_multicycle_path n"(nは2以上の整数)は、マルチサイクルnを示し、上述した"set_multicycle_path 2 -from FF1/CK -to FF2/D"というマルチサイクル制約は、マルチサイクル2を示す。
For example, the command "set_multicycle_path" is an SDC (Synopsys Design Constraints) command and is a general format used when specifying timing constraints, so the explanation is omitted. Note that "set_multicycle_path n" (n is an integer of 2 or more) indicates multicycle n, and the above-mentioned multicycle constraint "set_multicycle_path 2 -from FF1 / CK -to FF2 / D" indicates
なお、マルチサイクル制約を示すコマンド等の情報は、SDCに限定されず、他のコマンドやフォーマットでもよい。このように、マルチサイクルパス候補決定部11は、入力されたタイミングレポートファイル41から自動的にマルチサイクルパス候補を決定することができ、決定したマルチサイクルパス候補をマルチサイクル制約として出力することができる。したがって、設計者等が人手でマルチサイクルパス候補を生成する場合に比べて、作成工数を削減することができ、作成ミスや記述ミスの発生を防止することができる。
Information such as commands indicating multi-cycle constraints is not limited to SDC, and may be other commands or formats. In this way, the multi-cycle path
図10は、図1の周辺ロジックコーン回路抽出部12の一例を示すブロック図である。周辺ロジックコーン回路抽出部12は、ネットリスト入力部12aとロジックコーン1抽出部12bとロジックコーン2抽出部12cとロジックコーン3抽出部12dとネットリスト出力部12eとを有する。ロジックコーン1抽出部12bは、第1の抽出手段の一例であり、ロジックコーン2抽出部12cは、第2の抽出手段の一例であり、ロジックコーン3抽出部12dは、第3の抽出手段の一例である。周辺ロジックコーン回路抽出部12の機能を説明する前に、ロジックコーンについて説明する。
FIG. 10 is a block diagram showing an example of the peripheral logic cone
図11は、図2の論理回路から抽出されるロジックコーンの一例を示す説明図である。ロジックコーンは、半導体集積回路の設計を支援するCAD(Computer Aided Design)ツールで使われる概念であり、組合せ回路の集合を示す。 FIG. 11 is an explanatory diagram showing an example of a logic cone extracted from the logic circuit of FIG. A logic cone is a concept used in a CAD (Computer Aided Design) tool that supports the design of semiconductor integrated circuits, and indicates a set of combinational circuits.
例えば、回路の中で着目する1つのFF(始点)のデータ出力端子Qから出力される信号の論理値が変化すると、後段側の論理セルを介して論理値の変化が順次伝播していき、信号が分配されていく。信号の分配に伴い、着目するデータ出力端子Qの論理値の変化の影響が後続のゲート回路に広がっていき、次段の所定数のFF(終点)のデータ入力端子Dまで伝わる。ここで、始点のFFから所定数の終点のFFまでの間にある組合せ回路を含む仮想の円錐型の論理構造をロジックコーンと呼ぶ。また、着目するFFのデータ入力端子Dを頂点とし、前段側のFFに向けて遡っていくパス上の回路を含む仮想の円錐型の論理構造もロジックコーンと呼ぶ。 For example, when the logical value of the signal output from the data output terminal Q of one FF (starting point) of interest in the circuit changes, the change in the logical value is sequentially propagated through the logical cell on the subsequent stage side. The signal is distributed. As the signal is distributed, the influence of the change in the logical value of the data output terminal Q of interest spreads to the subsequent gate circuit, and is transmitted to the data input terminals D of a predetermined number of FFs (end points) in the next stage. Here, a virtual conical logical structure including a combinational circuit between the start point FF and a predetermined number of end point FFs is called a logic cone. Further, a virtual conical logical structure including a circuit on the path that has the data input terminal D of the FF of interest as the apex and goes back toward the FF on the previous stage side is also called a logic cone.
図11に示す例では、始点のFF1から終点のFF2までのマルチサイクルパス候補において、終点のFF2に注目する。そして、FF2のデータ入力端子Dを起点として、前段のFF1、FF1_b,...,FF1_zのデータ出力端子Qに向けて回路を遡ったときのパスに含まれる論理回路によりロジックコーン1が形成される。
In the example shown in FIG. 11, attention is paid to FF2 at the end point in the multi-cycle path candidates from FF1 at the start point to FF2 at the end point. Then, the
また、FF2のデータ出力端子Qを起点として、後段側に位置する次のFF3、FF3_b,...,FF3_zのデータ入力端子Dまでのパスに含まれる論理回路によりロジックコーン2が形成される。ロジックコーン1は、第1のロジックコーンの一例であり、ロジックコーン2は、第2のロジックコーンの一例である。
Further, the
さらに、FF2に関する他のロジックコーンとして、FF3のデータ入力端子Dを起点として、1つ前段側に位置するFF2_b,...,FF2のデータ入力端子Dに向けて回路を遡ったときのパスに含まれる論理回路によりロジックコーン3が形成される。ロジックコーン3は、第3のロジックコーンの一例である。なお、ロジックコーンに含まれる論理回路を抽出する技術は、タイミング解析ツールや等価性検証ツールなどで使用されている既存の技術であるため、具体的な抽出手法の説明は割愛する。
Further, as another logic cone related to FF2, the path when the circuit is traced back from the data input terminal D of FF3 to the data input terminal D of FF2_b, ..., FF2 located one stage before. The
図10に戻り、ネットリスト入力部12aは、検証対象の論理回路全体の情報を示すネットリスト40を入力する。ネットリスト40は、論理回路の接続情報の一例であり、ネットリスト40が格納されるハードディスク装置等の記憶装置は、接続情報記憶部の一例である。ロジックコーン1抽出部12b、ロジックコーン2抽出部12cおよびロジックコーン3抽出部12dは、ネットリスト40と、マルチサイクル制約決定部11dが決定したマルチサイクルパス候補の起点と終点のFFとに基づいて、次のように動作する。
Returning to FIG. 10, the
例えば、ロジックコーン1抽出部12bは、マルチサイクルパス候補の終点のFF2に着目し、終点のFF2のデータ入力端子Dを起点に回路を始点のFF1にたどり着くまで遡っていき、図11のロジックコーン1に含まれる回路を抽出する。ロジックコーン2抽出部12cは、終点のFF2のデータ出力端子Qを起点として後段のFF3,FF3_b,...,FF3_zにたどり着くまで回路をたどり、図11のロジックコーン2に含まれる回路を抽出する。
For example, the
ロジックコーン3抽出部12dは、ロジックコーン2抽出部12cでたどり着いたFFのうちの1つであるFF3のデータ入力端子Dを起点に回路を前段のFFにたどり着くまで遡っていき、図11のロジックコーン3に含まれる回路を抽出する。なお、図の見やすさを考慮して図11には示していないが、ロジックコーン3抽出部12dは、FF3だけではなくロジックコーン2抽出部12cでたどり着いたFF3_bやFF3_zなどの全てのFFに対して同様の抽出を行う。したがって、実際には複数のロジックコーン3が抽出される。
The
そして、図10のネットリスト出力部12eは、ロジックコーン1抽出部12b、ロジックコーン2抽出部12cおよびロジックコーン3抽出部12dが抽出した回路群をネットリスト50として出力する。このように、周辺ロジックコーン回路抽出部12は、ロジックコーン1とロジックコーン2と複数のロジックコーン3とに含まれる回路を抽出し、これをマルチサイクルパス候補に関連する回路とみなしてネットリスト50を生成する。ネットリスト50は、ロジックコーン1とロジックコーン2と複数のロジックコーン3とに含まれる回路の接続情報の一例であり、ネットリスト50が格納されるハードディスク装置等の記憶装置は、ロジックコーン記憶部の一例である。
Then, the
図12は、図1の周辺ロジックコーンプロパティ抽出部13の一例を示すブロック図である。周辺ロジックコーンプロパティ抽出部13は、論理シミュレーション(SIM)結果入力部13aとマルチサイクルパス遷移タイミング特定部13bとを有する。また、周辺ロジックコーンプロパティ抽出部13は、ロジックコーン1入力端子プロパティ抽出部13cとロジックコーン3入力端子プロパティ抽出部13dとプロパティ情報出力部13eとを有する。
FIG. 12 is a block diagram showing an example of the peripheral logic cone
プロパティは、一般に属性という意味があるが、ここでは設計仕様の意味として使用される。プロパティは、検証対象の論理回路の端子の信号状態の一例であり、例えば、回路上のノードAが論理1のときノードBは論理0であるというものである。プロパティ情報51が格納されるハードディスク装置等の記憶装置は、信号状態記憶部の一例である。
Properties generally mean attributes, but here they are used to mean design specifications. The property is an example of the signal state of the terminal of the logic circuit to be verified. For example, when the node A on the circuit is
SIM結果入力部13aは、論理シミュレーション装置32(図1)のSIM結果42を入力する。なお、SIM結果42は、検証対象の回路全体の各フリップフロップの出力の波形が記録されているものであればよい。
The SIM result
マルチサイクルパス遷移タイミング特定部13bは、マルチサイクルパス候補決定部11が決定したマルチサイクル制約とSIM結果42とを用いて、例えば、起点のFF1の出力波形と終点のFF2の出力波形とを検索する。そして、マルチサイクルパス遷移タイミング特定部13bは、起点のFF1/Qと終点のFF2/Qで論理値が変化したクロックサイクル数(クロックサイクルの番号)を求める。
The multi-cycle path transition
図13は、図11のロジックコーン1のプロパティを抽出する一例を示す説明図である。図13の上側の波形(A)は、1クロックサイクルでタイミングがMETする例を示し、図13の下側の波形(B)は、2クロックサイクルでタイミングがMETする例を示す。
FIG. 13 is an explanatory diagram showing an example of extracting the property of the
動作波形が波形(A)になるか波形(B)になるかは、実際の論理回路の各素子の伝搬遅延時間や配線遅延により決まる。但し、RTLシミュレーションは、タイミングパス中のセルや各セルの遅延時間の情報を持っていない。このため、図1の論理シミュレーション装置32がRTL記述21とテストパタン22とを使用して実行した論理シミュレーションのSIM結果42を示す波形は、波形(A)になる。波形(A)がSIM結果42に記録されるため、FF1/Qは、クロックサイクル(3)に同期して論理0から論理1に遷移し、FF2/Qは、クロックサイクル(4)に同期して論理0から論理1に遷移することが波形の検索結果から得られる。
Whether the operating waveform becomes the waveform (A) or the waveform (B) is determined by the propagation delay time and the wiring delay of each element of the actual logic circuit. However, the RTL simulation does not have information on the cells in the timing path and the delay time of each cell. Therefore, the waveform showing the
図12に示したマルチサイクルパス遷移タイミング特定部13bは、起点のFF1/Qの値が変化する前のクロックサイクル(2)と、FF1/Qの値が変化した後の2つのクロックサイクル(3)、(4)とを注目するクロックサイクルとして特定する。例えば、マルチサイクルパス遷移タイミング特定部13bは、特定したクロックサイクルを、ロジックコーン1、3別に、ロジックコーン1入力端子プロパティ抽出部13cとロジックコーン3入力端子プロパティ抽出部13dとに通知する。
The multi-cycle path transition
ロジックコーン1入力端子プロパティ抽出部13cは、ネットリスト50を使用して、ロジックコーン1に含まれる回路の端子の各クロックサイクル(2),(3),(4)での値を抽出する(図13の白丸)。例えば、ロジックコーン1に含まれる回路の端子は、FF1/Q,FF1_b/Q,FF1_z/Qなどである。図13の波形(A)、(B)の違いは、FF2/Dが論理0から論理1に遷移するタイミング(クロックサイクル(3)またはクロックサイクル(4))であり、各クロックサイクル(2),(3),(4)で抽出されるプロパティは、波形(A)、(B)で同じである。
The
FF2/Dへの伝播時間の違いは、FF2/Qの波形にも影響する。すなわち、波形(A)では、クロックサイクル(4)と(5)の2クロックサイクルの間、FF2/Qの値が論理1になる(図13(a))。波形(B)では、クロックサイクル(5)の1クロックサイクルだけ、FF2/Qの値が論理1になる(図13(b))。このように、マルチサイクル2では、終点のFF2の入力までの信号の伝播遅延時間の違いよって、波形(A)、(B)のいずれかになる。波形(A)、(B)のどちらであっても論理回路が正常動作する場合、そのタイミングパスはマルチサイクル2であるとすることができる。
The difference in propagation time to FF2 / D also affects the waveform of FF2 / Q. That is, in the waveform (A), the value of FF2 / Q becomes
図14は、図11のロジックコーン3のプロパティを抽出する一例を示す説明図である。図14の上側の波形(A)は、図13の波形(A)において1クロックサイクルでタイミングがMETする場合の後続の動作を示す。図14の下側の波形(B)は、図13の波形(B)において2クロックサイクルでタイミングがMETする場合の後続の動作を示す。
FIG. 14 is an explanatory diagram showing an example of extracting the property of the
図12のロジックコーン3入力端子プロパティ抽出部13dは、ネットリスト50を使用して、ロジックコーン3(図11)の各端子、つまりFF2_b/Qなどの論理値を抽出する(図14の白丸)。ロジックコーン3が、図11に示したものだけでないことは前述の通りである。したがって、ロジックコーン3入力端子プロパティ抽出部13dは、図11に示されていない全てのロジックコーン3に含まれる回路の端子の値を抽出することになる。
The
また、注目するクロックサイクルは、ロジックコーン1入力端子プロパティ抽出部13cの場合に比べて1サイクル進んだクロックサイクル(3),(4),(5)になる。これはロジックコーン3がロジックコーン1より1クロックサイクル後段の回路であるからである。
Further, the clock cycles of interest are clock cycles (3), (4), and (5) that are one cycle ahead of the case of the
ロジックコーン1入力端子プロパティ抽出部13cおよびロジックコーン3入力端子プロパティ抽出部13dの動作により、周辺ロジックコーン回路抽出部12で得られた回路の全ての端子の所定のクロックサイクルのプロパティを抽出できたことになる。そして、図12のプロパティ情報出力部13eは、抽出された複数のプロパティを含むプロパティ情報51を出力する。プロパティ情報51は、どの端子がどのクロックサイクルでどういう論理値になっているかというプロパティの情報が含まれていれば、フォーマットは限定されない。例えば、マルチサイクルパス可否判断部15で使用する等価性検証装置15a(図16)がサポートしている言語(例えば、System Verilog Assertionなど)を使用して、プロパティ情報51が作成されてもよい。
By the operation of the
このように、周辺ロジックコーンプロパティ抽出部13は、ロジックコーン1とロジックコーン3の全ての端子の所定のクロックサイクルでの論理値をプロパティとしてSIM結果42から抽出することができる。
In this way, the peripheral logic cone
図15は、マルチサイクルパスで回路が正常に動作するかを判断する一例を示す説明図である。図15に示す波形は、図14に示す波形と同じである。 FIG. 15 is an explanatory diagram showing an example of determining whether or not the circuit operates normally in the multi-cycle path. The waveform shown in FIG. 15 is the same as the waveform shown in FIG.
マルチサイクルパスで回路が正常に動作するかを判断する場合、先ず、図11に示したロジックコーン2の1つの出力端子であるFF3/Qの波形に注目する。そして、ロジックコーン3入力端子プロパティ抽出部13dで抽出したクロックサイクル(3),(4),(5)の影響を受けるクロックサイクル(4),(5),(6)の波形(A)と波形(B)とを比較する。図15では、マルチサイクルパスの終点のFF2/Qの波形(A)と波形(B)とが異なっているにも関わらず、後段のFF3/Qでは、波形(A)と波形(B)において黒丸で示す論理は全て同じである。すなわち、検証対象の論理回路は、1クロックサイクルでMETしても、2クロックサイクルでMETしても正常に動作する。
When determining whether the circuit operates normally in the multi-cycle path, first pay attention to the waveform of FF3 / Q, which is one output terminal of the
換言すれば、マルチサイクルパスで回路が正常に動作する場合、マルチサイクル2(1サイクルでMETする場合)でもマルチサイクル2(2サイクルでMETする場合)でも、回路の後段ではその違いを吸収して同じ波形になる。したがって、回路の後段の波形(論理値)が同じであることを証明することで、マルチサイクルパスで回路が正常に動作すると判断することができ、真のマルチサイクルパスを抽出することができる。 In other words, when the circuit operates normally in the multi-cycle path, the difference is absorbed in the latter stage of the circuit regardless of whether it is multi-cycle 2 (when MET is performed in 1 cycle) or multi-cycle 2 (when MET is performed in 2 cycles). Will have the same waveform. Therefore, by proving that the waveforms (logical values) in the subsequent stage of the circuit are the same, it can be determined that the circuit operates normally in the multi-cycle path, and the true multi-cycle path can be extracted.
ここで、タイミング制約抽出装置10は、マルチサイクルパスで回路が正常に動作することの証明を、論理シミュレーションではなく等価性検証技術を用いて行う。例えば、図16で説明する等価性検証装置15aは、ネットリスト50から再現される波形(A)で動作する回路と、ネットリスト52から再現される波形(B)で動作する回路との等価性検証を行う。ここで、ネットリスト50は、上述したように、周辺ロジックコーン回路抽出部12により作成され、ネットリスト52は、図16で説明するマルチサイクル検証用回路作成部14により作成される。
Here, the timing
図16は、図1のマルチサイクル検証用回路作成部14およびマルチサイクルパス可否判断部15の一例を示すブロック図である。マルチサイクル検証用回路作成部14は、フリップフロップ追加部14aとネットリスト出力部14bとを有する。マルチサイクルパス可否判断部15は、等価性検証装置15aとマルチサイクル可否判断部15bとを有する。
FIG. 16 is a block diagram showing an example of the multi-cycle verification
フリップフロップ追加部14aは、マルチサイクルパス候補のパスを、シングルサイクルパスからマルチサイクルパスにするために、所定数のフリップフロップを追加する。フリップフロップ追加部14aが追加するフリップフロップの数は、マルチサイクルパス候補決定部11が決定したマルチサイクル制約(マルチサイクル数)から自動的に決定する。
The flip-
例えば、マルチサイクル2であれば1個のフリップフロップが追加され、マルチサイクル3であれば2個のフリップフロップが追加される。すなわち、マルチサイクルn(nは2以上の整数)では、n−1個のフリップフロップが追加される。ネットリスト出力部14bは、フリップフロップ追加部14aにより所定数のフリップフロップが追加されたネットリスト52を出力する。フリップフロップ追加部14aにより所定数のフリップフロップが追加されたネットリスト52は、マルチサイクルパスの検証用回路の接続情報の一例である。ネットリスト52が格納されるハードディスク装置等の記憶装置は、検証用回路記憶部の一例である。
For example, in the case of
図17は、図16のフリップフロップ追加部14aによりフリップフロップを追加する一例を示す説明図である。図17に示す回路において、フリップフロップFF1_addを追加する前の元の回路は、図2に示したマルチサイクル2のマルチサイクルパス候補を含む回路である。
FIG. 17 is an explanatory diagram showing an example in which a flip-flop is added by the flip-
図17に示すように、フリップフロップ追加部14aは、マルチサイクルパス候補の起点となるFF1の出力にFF1_addを1個追加する。1個のFF1_addを追加することによって、FF1からFF2へ信号を伝播するために2クロックサイクルが必要になる。すなわち、FF1_addの追加により、図13および図14に示した波形(B)を擬似的に再現できる回路を作成したことになる。このように、マルチサイクル検証用回路作成部14は、起点となるFFの直後に、想定しているマルチサイクル数より1つ少ない数のFFを追加した回路を、マルチサイクル時のタイミングを擬似的に再現する回路として作成することができる。
As shown in FIG. 17, the flip-
図16に戻って、マルチサイクルパス可否判断部15の等価性検証装置15aは、フリップフロップが追加された回路のネットリスト52と、シングルパスに対応する回路のネットリスト50とを使用して2つの回路の等価性検証を実行する。この際、2つの回路の入力端子に与える制約として、周辺ロジックコーンプロパティ抽出部13で作成したプロパティ情報51が使用される。
Returning to FIG. 16, the equivalence verification device 15a of the multi-cycle pass
例えば、等価性検証装置15aは、市販されているシーケンシャル等価性検証ツールでもよい。なお、等価性検証ツールには、フリップフロップで分割された組み合わせ回路を対象とするものと、組合せ回路だけでなく順序回路も検証可能なシーケンシャル等価性検証と呼ばれるものとの2種類がある。ここで、組み合わせ回路は、ORゲートやANDゲートなどのクロックが供給されない論理セルで構成された回路であり、順序回路は、フリップフロップなどのクロックが供給される論理セルで構成された回路である。 For example, the equivalence verification device 15a may be a commercially available sequential equivalence verification tool. There are two types of equivalence verification tools: one that targets a combinational circuit divided by a flip-flop, and one called sequential equivalence verification that can verify not only the combinational circuit but also the sequential circuit. Here, the combinational circuit is a circuit composed of logic cells such as OR gates and AND gates to which clocks are not supplied, and the sequential circuit is a circuit composed of logic cells such as flip-flops to which clocks are supplied. ..
図18は、図16の等価性検証装置15aによる等価性検証の一例を示す説明図である。等価性検証装置15aが検証する2つの回路は、フリップフロップの段数が相違するため、フリップフロップも含めて検証が可能なシーケンシャル等価性検証を実行する必要がある。 FIG. 18 is an explanatory diagram showing an example of equivalence verification by the equivalence verification device 15a of FIG. Since the two circuits verified by the equivalence verification device 15a differ in the number of flip-flop stages, it is necessary to perform sequential equivalence verification that can be verified including the flip-flops.
等価性検証装置15aは、ネットリスト50,52で示される2つの検証回路の入力端子にプロパティ情報51を使用して同じ制約を与え、出力端子から出力される信号の論理値である出力値を比較する。そして、等価性検証装置15aは、出力値の論理が常に同じ場合に、2つの回路が等価であることを示すレポートを出力し、出力値の論理に違いがある場合に、不等価であることを示すレポートを出力する。すなわち、等価性検証装置15aは、ロジックコーン1とロジックコーン3とに含まれる回路をマルチサイクルパスの候補に関連する回路とみなして等価性検証で使用する。
The equivalence verification device 15a applies the same constraint to the input terminals of the two verification circuits shown in the
ここで、マルチサイクル制約決定部11dで決定したマルチサイクル制約が示すマルチサイクル数に対応する数のフリップフロップを追加した回路を作成することで、マルチサイクルパスの可否判断を等価性検証技術で行うことができる。等価性検証は、テストパタンを使用せずに静的手法により検証を実行できるため、テストパタンを用いて動的に検証を実行する論理シミュレーションに比べて、検証時間を短縮することができる。
Here, by creating a circuit in which the number of flip-flops corresponding to the number of multi-cycles indicated by the multi-cycle constraint determined by the multi-cycle
また、等価性検証装置15aが検証に使用するネットリスト50,52は、図11に示したロジックコーンに含まれる回路の接続、すなわち、マルチサイクルに関連する回路の接続を示す。マルチサイクルパスに関連する回路を抜き出して等価性検証を実行することで、マルチサイクルパスに関係の無い回路を含めて等価性検証を実行する場合に比べて検証時間を短縮することができる。
Further, the
図16に示したマルチサイクル可否判断部15bは、等価性検証装置15aから出力されるレポートで示される比較結果が等価を示す場合には、当該検証対象のマルチサイクルパス候補を真のマルチサイクルと判断する。また、マルチサイクル可否判断部15bは、等価性検証装置15aから出力されるレポートで示される比較結果が不等価を示す場合には、当該検証対象のマルチサイクルパス候補をシングルパスと判断する。そして、マルチサイクル可否判断部15bは、マルチサイクルパス候補のうち、真のマルチサイクルパスと判断したタイミングパスを示す情報を図1に示したタイミング制約出力部16に出力する。
When the comparison result shown in the report output from the equivalence verification device 15a shows equivalence, the multi-cycle
タイミング制約出力部16は、マルチサイクル可否判断部15bがマルチサイクルパスと判断したタイミングパスについてのみ、マルチサイクル制約決定部11dで決定したマルチサイクル制約をマルチサイクルタイミング制約53として出力する。そして、タイミング制約抽出装置10により、マルチタイミングパスを自動的に抽出する動作が完了する。マルチサイクルタイミング制約53は、真のマルチサイクルパスのタイミング制約を示すタイミング制約情報の一例である。
The timing
図19は、図1の情報処理装置100のハードウェア構成の一例を示すブロック図である。情報処理装置100は、CPU101とROM(Read Only Memory)102とRAM(Random Access Memory)103と外部記憶装置104とを有する。また、情報処理装置100は、入力インタフェース部105と出力インタフェース部106と入出力インタフェース部107と通信インタフェース部108とを有する。例えば、CPU101とROM102とRAM103と外部記憶装置104と入力インタフェース部105と出力インタフェース部106と入出力インタフェース部107と通信インタフェース部108とは、バスBUSを介して相互に接続される。
FIG. 19 is a block diagram showing an example of the hardware configuration of the
CPU101は、OSおよびアプリケーション等の各種プログラムを実行し、情報処理装置100の全体の動作を制御する。ROM102は、各種プログラムをCPU101により実行可能にするための基本プログラムや各種パラメータ等を保持する。RAM103は、CPU101により実行される各種プログラムや、プログラムで使用するデータを記憶する。
The
外部記憶装置104は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等であり、RAM103に展開する各種プログラムを記憶する。なお、各種プログラムには、タイミング制約抽出プログラムが含まれる。
The
入力インタフェース部105には、情報処理装置100を操作する操作者等からの入力を受け付けるキーボード、マウスやタブレット等の入力装置110が接続される。出力インタフェース部106には、CPU101が実行する各種プログラムにより生成される表示画面等を表示する表示装置やプリンタ等の出力装置120が接続される。
An
入出力インタフェース部107には、USB(Universal Serial Bus)メモリ等の記録媒体130が接続される。例えば、記録媒体130には、タイミング制約抽出プログラム等の各種プログラムが格納されてもよい。この場合、プログラムは、入出力インタフェース部107を介して記録媒体130からRAM103に転送される。なお、記録媒体130は、CD−ROMやDVD(Digital Versatile Disc:登録商標)等でもよく、この場合、入出力インタフェース部107は、接続する記録媒体130に対応するインタフェースを有する。通信インタフェース部108は、情報処理装置100を、例えばネットワークに接続する。なお、記録媒体130は、入出力インタフェースを介してバスに接続されてもよい。
A
以上、この実施形態では、タイミング制約抽出装置10は、真のマルチサイクルパスを自動的に抽出することができる。これにより、マルチサイクルパスの判断に要する工数を削減し、判断ミスの発生を防止することができる。
As described above, in this embodiment, the timing
例えば、マルチサイクルパス候補決定部11は、入力されたタイミングレポートファイル41から自動的にマルチサイクルパス候補を決定することができ、決定したマルチサイクルパス候補をマルチサイクル制約として出力することができる。したがって、設計者等が人手でマルチサイクルパス候補を生成する場合に比べて、作成工数を削減することができ、作成ミスや記述ミスの発生を防止することができる。
For example, the multi-cycle path
周辺ロジックコーンプロパティ抽出部13は、ロジックコーン1とロジックコーン3の全ての端子の所定のクロックサイクルでの論理値をプロパティとしてSIM結果42から抽出することができる。マルチサイクル検証用回路作成部14は、起点となるFFの直後に、想定しているマルチサイクル数より1つ少ない数のFFを追加した回路を、マルチサイクル時のタイミングを擬似的に再現する回路として作成することができる。
The peripheral logic cone
マルチサイクル制約決定部11dで決定したマルチサイクル制約が示すマルチサイクル数に対応する数のフリップフロップを追加した回路を作成することで、マルチサイクルパスの可否判断を等価性検証技術で行うことができる。等価性検証は、テストパタンを使用せずに静的手法により検証を実行できるため、テストパタンを用いて動的に検証を実行する論理シミュレーションに比べて、検証時間を短縮することができる。
By creating a circuit in which the number of flip-flops corresponding to the number of multi-cycles indicated by the multi-cycle constraint determined by the multi-cycle
また、等価性検証装置15aが検証に使用するネットリスト50、52は、図11に示したロジックコーンに含まれる回路の接続、すなわち、マルチサイクルに関連する回路の接続を示す。マルチサイクルパスに関連する回路を抜き出して等価性検証を実行することで、マルチサイクルパスに関係の無い回路を含めて等価性検証を実行する場合に比べて検証時間を短縮することができる。
Further, the
なお、上述した実施形態では、分かりやすさを考慮して、図2に示す比較的簡易な論理回路について、マルチタイミングパスを自動的に抽出する例を説明した。しかしながら、実際には、半導体集積回路に搭載される全ての論理回路について、真のマルチタイミングパスが網羅的に抽出される。 In the above-described embodiment, an example of automatically extracting a multi-timing path for a relatively simple logic circuit shown in FIG. 2 has been described in consideration of ease of understanding. However, in reality, true multi-timing paths are comprehensively extracted for all logic circuits mounted on semiconductor integrated circuits.
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。 Although the present invention has been described above based on each embodiment, the present invention is not limited to the requirements shown in the above embodiments. With respect to these points, the gist of the present invention can be changed without impairing the gist of the present invention, and can be appropriately determined according to the application form thereof.
10 タイミング制約抽出装置
11 マルチサイクルパス候補決定部
11a タイミングレポートファイル入力部
11b タイミングバイオレーション情報抽出部
11c サイクル数計算部
11d マルチサイクル制約決定部
12 周辺ロジックコーン回路抽出部
12a ネットリスト入力部
12b ロジックコーン1抽出部
12c ロジックコーン2抽出部
12d ロジックコーン3抽出部
12e ネットリスト出力部
13 周辺ロジックコーンプロパティ抽出部
13a SIM結果入力部
13b マルチサイクルパス遷移タイミング特定部
13c ロジックコーン1入力端子プロパティ抽出部
13d ロジックコーン3入力端子プロパティ抽出部
13e プロパティ情報出力部
14 マルチサイクル検証用回路作成部
14a フリップフロップ追加部
14b ネットリスト出力部
15 マルチサイクルパス可否判断部
15a 等価性検証装置
15b マルチサイクル可否判断部
16 タイミング制約出力部
20 クロック情報
21 RTL記述
22 テストパタン
30 論理合成装置
31 タイミング解析装置
32 論理シミュレーション装置
40 ネットリスト
41 タイミングレポートファイル
42 論理シミュレーション結果
50 ネットリスト
51 プロパティ情報
52 ネットリスト
53 マルチサイクルタイミング制約
100 情報処理装置
10 Timing
Claims (5)
検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報をタイミング情報記憶部から入力し、入力した前記タイミング情報に基づいてマルチサイクルパスの候補を決定するマルチサイクルパス候補決定手段と、
前記検証対象の論理回路の接続情報を接続情報記憶部から入力し、入力した前記接続情報に基づいて前記マルチサイクルパスの候補の終点のフリップフロップに接続されるロジックコーンを抽出し、抽出したロジックコーンに含まれる回路の接続情報をロジックコーン記憶部に格納するコーン抽出手段と、
前記検証対象の論理回路の論理シミュレーション結果をシミュレーション結果記憶部から入力し、入力した前記論理シミュレーション結果を使用して、前記コーン抽出手段が抽出したロジックコーンに含まれる回路の端子の信号状態を抽出し、抽出した信号状態を信号状態記憶部に格納する信号状態抽出手段と、
前記抽出したロジックコーンのうち、前記マルチサイクルパスの候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、作成した前記検証用回路の接続情報を検証用回路記憶部に格納する検証用回路作成手段と、
前記抽出したロジックコーンに含まれる回路の接続情報と前記検証用回路の接続情報と前記抽出した信号状態とを、前記ロジックコーン記憶部と前記検証用回路記憶部と前記信号状態記憶部とからそれぞれ入力し、入力した回路の接続情報に、前記抽出した信号状態を与えて等価性検証を実行し、等価である前記マルチサイクルパスの候補を真のマルチサイクルパスと判断する判断手段と、
前記判断手段が判断した前記真のマルチサイクルパスのタイミング制約を示すタイミング制約情報を出力する出力手段と、
を有することを特徴とするタイミング制約抽出装置。 It is a timing constraint extraction device that extracts the timing constraints of logic circuits mounted on semiconductor integrated circuits.
In the logic circuit to be verified, timing information indicating the timing of signals input / output between a pair of flip-flops connected via a combination circuit is input from the timing information storage unit, and multi is performed based on the input timing information. Multi-cycle path candidate determination means for determining cycle path candidates,
The connection information of the logic circuit to be verified is input from the connection information storage unit, and the logic cone connected to the flip-flop at the end point of the candidate of the multicycle path is extracted based on the input connection information, and the extracted logic is extracted. A cone extraction means that stores the connection information of the circuit contained in the cone in the logic cone storage unit,
The logic simulation result of the logic circuit to be verified is input from the simulation result storage unit, and the input logic simulation result is used to extract the signal state of the terminal of the circuit included in the logic cone extracted by the cone extraction means. Then, a signal state extraction means for storing the extracted signal state in the signal state storage unit, and
Of the extracted logic cones, a flip-flop is added to the logic cone containing the candidate for the multi-cycle path to create a multi-cycle path verification circuit, and the connection information of the created verification circuit is stored in the verification circuit storage. Verification circuit creation means stored in the section,
The connection information of the circuit included in the extracted logic cone, the connection information of the verification circuit, and the extracted signal state are obtained from the logic cone storage unit, the verification circuit storage unit, and the signal state storage unit, respectively. The input is input, the extracted signal state is given to the connection information of the input circuit, the equivalence verification is executed, and the equivalent multi-cycle path candidate is determined to be a true multi-cycle path.
An output means for outputting timing constraint information indicating the timing constraint of the true multi-cycle path determined by the determination means, and an output means for outputting the timing constraint information.
A timing constraint extraction device characterized by having.
前記終点のフリップフロップから始点のフリップフロップに向けて回路を遡ったときの回路を含む第1のロジックコーンを抽出する第1の抽出手段と、
前記終点のフリップフロップの後段側に位置する次のフリップフロップまでの回路を含む第2のロジックコーンを抽出する第2の抽出手段と、
前記後段側に位置する前記次のフリップフロップから1つ前段側に位置するフリップフロップまで遡ったときの回路を含み、前記終点のフリップフロップに接続された第3のロジックコーンを抽出する第3の抽出手段と、を有し、
前記信号状態抽出手段は、前記第1のロジックコーンと前記第3のロジックコーンとに含まれる回路の端子の信号状態を抽出し、
前記判断手段は、前記第1のロジックコーンと前記第3のロジックコーンとを前記マルチサイクルパスの候補に関連する回路とみなして前記等価性検証で使用することを特徴とする請求項1に記載のタイミング制約抽出装置。 The corn extraction means
A first extraction means for extracting a first logic cone including a circuit when the circuit is traced back from the flip-flop at the end point to the flip-flop at the start point.
A second extraction means for extracting a second logic cone including a circuit to the next flip-flop located on the rear side of the end point flip-flop, and a second extraction means.
A third logic cone that includes a circuit that traces back from the next flip-flop located on the rear stage side to the flip-flop located one stage before, and extracts a third logic cone connected to the flip-flop at the end point. Has an extraction means,
The signal state extracting means extracts the signal state of the terminals of the circuit included in the first logic cone and the third logic cone, and extracts the signal state.
The first aspect of the present invention is described in claim 1, wherein the first logic cone and the third logic cone are regarded as circuits related to the candidate of the multi-cycle path and used in the equivalence verification. Timing constraint extractor.
検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報をタイミング情報記憶部から入力し、入力した前記タイミング情報に基づいてマルチサイクルパスの候補を決定し、
前記検証対象の論理回路の接続情報を接続情報記憶部から入力し、入力した前記接続情報に基づいて前記マルチサイクルパスの候補の終点のフリップフロップに接続されるロジックコーンを抽出し、抽出したロジックコーンに含まれる回路の接続情報をロジックコーン記憶部に格納し、
前記検証対象の論理回路の論理シミュレーション結果をシミュレーション結果記憶部から入力し、入力した前記論理シミュレーション結果を使用して、前記抽出したロジックコーンに含まれる回路の端子の信号状態を抽出し、抽出した信号状態を信号状態記憶部に格納し、
前記抽出したロジックコーンのうち、前記マルチサイクルパスの候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、作成した前記検証用回路の接続情報を検証用回路記憶部に格納し、
前記抽出したロジックコーンに含まれる回路の接続情報と前記検証用回路の接続情報と前記抽出した信号状態とを、前記ロジックコーン記憶部と前記検証用回路記憶部と前記信号状態記憶部とからそれぞれ入力し、入力した回路の接続情報に、前記抽出した信号状態を与えて等価性検証を実行し、等価である前記マルチサイクルパスの候補を真のマルチサイクルパスと判断し、
判断した前記真のマルチサイクルパスのタイミング制約を示すタイミング制約情報を出力することを特徴とするタイミング制約抽出方法。 It is a timing constraint extraction method executed by a timing constraint extraction device that extracts timing constraints of logic circuits mounted on semiconductor integrated circuits.
In the logic circuit to be verified, timing information indicating the timing of signals input / output between a pair of flip-flops connected via a combinational circuit is input from the timing information storage unit, and multi is performed based on the input timing information. Determine cycle path candidates and
The connection information of the logic circuit to be verified is input from the connection information storage unit, and the logic cone connected to the flip-flop at the end point of the candidate of the multicycle path is extracted based on the input connection information, and the extracted logic is extracted. The connection information of the circuit included in the cone is stored in the logic cone storage,
The logic simulation result of the logic circuit to be verified is input from the simulation result storage unit, and the signal state of the terminal of the circuit included in the extracted logic cone is extracted and extracted by using the input logic simulation result. The signal state is stored in the signal state storage unit,
Of the extracted logic cones, a flip-flop is added to the logic cone containing the candidate for the multi-cycle path to create a multi-cycle path verification circuit, and the connection information of the created verification circuit is stored in the verification circuit memory. Store in the department,
The connection information of the circuit included in the extracted logic cone, the connection information of the verification circuit, and the extracted signal state are obtained from the logic cone storage unit, the verification circuit storage unit, and the signal state storage unit, respectively. The input is input, the extracted signal state is given to the connection information of the input circuit, the equivalence verification is performed, and the equivalent multi-cycle path candidate is determined to be a true multi-cycle path.
A timing constraint extraction method characterized by outputting timing constraint information indicating the determined timing constraint of the true multi-cycle path.
検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報をタイミング情報記憶部から入力し、入力した前記タイミング情報に基づいてマルチサイクルパスの候補を決定し、
前記検証対象の論理回路の接続情報を接続情報記憶部から入力し、入力した前記接続情報に基づいて前記マルチサイクルパスの候補の終点のフリップフロップに接続されるロジックコーンを抽出し、抽出したロジックコーンに含まれる回路の接続情報をロジックコーン記憶部に格納し、
前記検証対象の論理回路の論理シミュレーション結果をシミュレーション結果記憶部から入力し、入力した前記論理シミュレーション結果を使用して、前記抽出したロジックコーンに含まれる回路の端子の信号状態を抽出し、抽出した信号状態を信号状態記憶部に格納し、
前記抽出したロジックコーンのうち、前記マルチサイクルパスの候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、作成した前記検証用回路の接続情報を検証用回路記憶部に格納し、
前記抽出したロジックコーンに含まれる回路の接続情報と前記検証用回路の接続情報と前記抽出した信号状態とを、前記ロジックコーン記憶部と前記検証用回路記憶部と前記信号状態記憶部とからそれぞれ入力し、入力した回路の接続情報に、前記抽出した信号状態を与えて等価性検証を実行し、等価である前記マルチサイクルパスの候補を真のマルチサイクルパスと判断し、
判断した前記真のマルチサイクルパスのタイミング制約を示すタイミング制約情報を出力することを特徴とするタイミング制約抽出プログラム。 A timing constraint extraction program executed by a timing constraint extraction device that extracts timing constraints of logic circuits mounted on semiconductor integrated circuits.
In the logic circuit to be verified, timing information indicating the timing of signals input / output between a pair of flip-flops connected via a combinational circuit is input from the timing information storage unit, and multi is performed based on the input timing information. Determine cycle path candidates and
The connection information of the logic circuit to be verified is input from the connection information storage unit, and the logic cone connected to the flip-flop at the end point of the candidate of the multicycle path is extracted based on the input connection information, and the extracted logic is extracted. The connection information of the circuit included in the cone is stored in the logic cone storage,
The logic simulation result of the logic circuit to be verified is input from the simulation result storage unit, and the signal state of the terminal of the circuit included in the extracted logic cone is extracted and extracted by using the input logic simulation result. The signal state is stored in the signal state storage unit,
Of the extracted logic cones, a flip-flop is added to the logic cone containing the candidate for the multi-cycle path to create a multi-cycle path verification circuit, and the connection information of the created verification circuit is stored in the verification circuit memory. Store in the department,
The connection information of the circuit included in the extracted logic cone, the connection information of the verification circuit, and the extracted signal state are obtained from the logic cone storage unit, the verification circuit storage unit, and the signal state storage unit, respectively. The input is input, the extracted signal state is given to the connection information of the input circuit, the equivalence verification is performed, and the equivalent multi-cycle path candidate is determined to be a true multi-cycle path.
A timing constraint extraction program characterized by outputting timing constraint information indicating the determined timing constraint of the true multi-cycle path.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019205611A JP7351189B2 (en) | 2019-11-13 | 2019-11-13 | Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019205611A JP7351189B2 (en) | 2019-11-13 | 2019-11-13 | Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021077282A true JP2021077282A (en) | 2021-05-20 |
JP7351189B2 JP7351189B2 (en) | 2023-09-27 |
Family
ID=75898023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019205611A Active JP7351189B2 (en) | 2019-11-13 | 2019-11-13 | Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7351189B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4083544B2 (en) | 2002-11-18 | 2008-04-30 | 富士通株式会社 | Multi-cycle path analysis method |
JP2008243092A (en) | 2007-03-29 | 2008-10-09 | Toshiba Corp | Multi-cycle path detection device, multi-cycle path detection method, and multi-cycle path detection program |
US8560989B2 (en) | 2011-12-06 | 2013-10-15 | International Business Machines Corporation | Statistical clock cycle computation |
JP2013196132A (en) | 2012-03-16 | 2013-09-30 | Ricoh Co Ltd | Design support device of semiconductor integrated circuit and false path extraction method of semiconductor integrated circuit |
US9842187B1 (en) | 2016-03-28 | 2017-12-12 | Xilinx, Inc. | Representation of complex timing characteristics of startpoint-endpoint pairs in a circuit design |
-
2019
- 2019-11-13 JP JP2019205611A patent/JP7351189B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP7351189B2 (en) | 2023-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5410414B2 (en) | Circuit emulation input and delay input multiplexing | |
JP5432127B2 (en) | Technology for use in automated circuit design and simulation | |
US8863053B2 (en) | Intelligent timing analysis and constraint generation GUI | |
JP5432126B2 (en) | Technology for use in automated circuit design and simulation | |
JP5405451B2 (en) | Technology for use in automated circuit design and simulation | |
US20050216247A1 (en) | Method and program for verifying logic circuit having asynchronous interface | |
US20080104556A1 (en) | Assertion Generating System, Program Thereof, Circuit Verifying System, and Assertion Generating Method | |
US8522182B2 (en) | Generation of an end point report for a timing simulation of an integrated circuit | |
CN117250480B (en) | Loop detection method, device, equipment and storage medium of combinational logic circuit | |
CN107784185B (en) | Method and device for extracting pseudo path in gate-level netlist and terminal equipment | |
JP6787045B2 (en) | Verification support program, verification support method, and information processing device | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
US8959467B2 (en) | Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools | |
JP7351189B2 (en) | Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US20090150103A1 (en) | Computer-Based Method and System for Simulating Static Timing Clocking Results | |
US7275223B2 (en) | Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach | |
JP5146369B2 (en) | Circuit design program, circuit design method, and circuit design apparatus | |
JP2014215768A (en) | Performance evaluation transaction generation program and performance evaluation transaction generation device | |
US10885248B1 (en) | Method for modeling glitches during circuit simulation | |
Plassan et al. | Improving the efficiency of formal verification: the case of clock-domain crossings | |
JP5145167B2 (en) | Clock domain check method, clock domain check program, and recording medium | |
Mehta et al. | Clock Domain Crossing (CDC) Verification | |
JP4448048B2 (en) | Structural analysis program | |
JP2007241836A (en) | Multi-cycle path verification method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230712 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230828 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7351189 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |