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 PDF

Info

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
Application number
JP2019205611A
Other languages
Japanese (ja)
Other versions
JP7351189B2 (en
Inventor
熊野 義則
Yoshinori Kumano
義則 熊野
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2019205611A priority Critical patent/JP7351189B2/en
Publication of JP2021077282A publication Critical patent/JP2021077282A/en
Application granted granted Critical
Publication of JP7351189B2 publication Critical patent/JP7351189B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

To allow automatic extraction of a multi-timing path to reduce the man-hours required for determination of a multi-cycle path and prevent the occurrence of wrong determination.SOLUTION: A timing constraint extraction device determines a candidate for a multi-cycle path based on timing information on a signal input/output between a pair of flip-flops connected via a combinational circuit, extracts a logic cone connected to the flip-flop at the end point of the candidate for the multi-cycle path based on connection information on the circuit, extracts a signal state of a terminal of a circuit included in the extracted logic cone by using a logic simulation result, adds the flip-flop to the logic cone including the candidate for the multi-cycle path to create a circuit for verification of the multi-cycle path, provides the extracted signal state to the extracted circuit in the logic cone and the circuit for verification to execute equivalence verification, and determines and outputs the equivalent candidate for the multi-cycle path as a true multi-cycle path.SELECTED DRAWING: Figure 1

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.

本発明の第1実施形態に係るタイミング制約抽出装置の一例を示すブロック図である。It is a block diagram which shows an example of the timing constraint extraction apparatus which concerns on 1st Embodiment of this invention. 図1のタイミング制約抽出装置の動作の説明に使用する論理回路の一例を示す回路図である。It is a circuit diagram which shows an example of the logic circuit used for explaining the operation of the timing constraint extraction apparatus of FIG. 図2に示したマルチサイクルパス候補であるFF1とFF2の入出力端子の信号波形の一例を示すタイミング図である。It is a timing diagram which shows an example of the signal waveform of the input / output terminal of FF1 and FF2 which are the multi-cycle path candidates shown in FIG. 図2に示したマルチサイクルパス候補であるFF1とFF2の入出力端子の信号波形の別の例を示すタイミング図である。It is a timing diagram which shows another example of the signal waveform of the input / output terminal of FF1 and FF2 which are the multi-cycle path candidates shown in FIG. 図1のマルチサイクルパス候補決定部の一例を示すブロック図である。It is a block diagram which shows an example of the multi-cycle path candidate determination part of FIG. 図2のタイミングレポートファイルの一例を示す説明図である。It is explanatory drawing which shows an example of the timing report file of FIG. タイミングの満足(MET)/割れ(VIOLATED)と余裕度(slack)との一例を説明するタイミング図である。It is a timing diagram explaining an example of timing satisfaction (MET) / crack (VIOLATED) and margin (slack). タイミングの満足(MET)/割れ(VIOLATED)と余裕度(slack)との別の例を説明するタイミング図である。It is a timing diagram explaining another example of timing satisfaction (MET) / crack (VIOLATED) and margin (slack). タイミングの満足(MET)/割れ(VIOLATED)と余裕度(slack)とのさらなる別の例を説明するタイミング図である。FIG. 5 is a timing diagram illustrating yet another example of timing satisfaction (MET) / cracking (VIOLATED) and margin (slack). 図1の周辺ロジックコーン回路抽出部の一例を示すブロック図である。It is a block diagram which shows an example of the peripheral logic cone circuit extraction part of FIG. 図2の論理回路から抽出されるロジックコーンの一例を示す説明図である。It is explanatory drawing which shows an example of the logic cone extracted from the logic circuit of FIG. 図1の周辺ロジックコーンプロパティ抽出部の一例を示すブロック図である。It is a block diagram which shows an example of the peripheral logic cone property extraction part of FIG. 図11のロジックコーン1のプロパティを抽出する一例を示す説明図である。It is explanatory drawing which shows an example which extracts the property of the logic cone 1 of FIG. 図11のロジックコーン3のプロパティを抽出する一例を示す説明図である。It is explanatory drawing which shows an example which extracts the property of the logic cone 3 of FIG. マルチサイクルパスで回路が正常に動作するかを判断する一例を示す説明図である。It is explanatory drawing which shows an example which determines whether a circuit operates normally in a multi-cycle path. 図1のマルチサイクル検証用回路作成部およびマルチサイクルパス可否判断部の一例を示すブロック図である。It is a block diagram which shows an example of the circuit creation part for multi-cycle verification and the multi-cycle pass possibility determination part of FIG. 図16のフリップフロップ追加部によりフリップフロップを追加する一例を示す説明図である。It is explanatory drawing which shows an example of adding a flip-flop by the flip-flop addition part of FIG. 図16の等価性検証装置による等価性検証の一例を示す説明図である。It is explanatory drawing which shows an example of the equivalence verification by the equivalence verification apparatus of FIG. 図1の情報処理装置のハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware composition of the information processing apparatus of FIG.

以下、図面を参照して実施の形態の説明を行う。なお、各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。 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 constraint extraction device 10 shown in FIG. 1 is realized by being mounted on an information processing device 100, which is a computer such as a server, together with a logic synthesis device 30, a timing analysis device 31, and a logic simulation device 32.

例えば、情報処理装置100は、タイミング制約抽出装置10、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32の機能をソフトウェアにより実現する。なお、タイミング制約抽出装置10の機能を実現する情報処理装置が、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32を実現する情報処理装置と別に設けられてもよい。 For example, the information processing device 100 realizes the functions of the timing constraint extraction device 10, the logic synthesis device 30, the timing analysis device 31, and the logic simulation device 32 by software. An information processing device that realizes the function of the timing constraint extraction device 10 may be provided separately from the information processing device that realizes the logic synthesis device 30, the timing analysis device 31, and the logic simulation device 32.

例えば、タイミング制約抽出装置10の各機能は、情報処理装置100に搭載されるCPU(Central Processing Unit)等のプロセッサが、タイミング制約抽出プログラムを実行することにより、タイミング制約抽出方法を実行することで実現される。なお、情報処理装置100は、タイミング制約抽出装置10の少なくとも一部をハードウェアにより実現してもよい。 For example, in each function of the timing constraint extraction device 10, a processor such as a CPU (Central Processing Unit) mounted on the information processing device 100 executes a timing constraint extraction program to execute a timing constraint extraction method. It will be realized. The information processing device 100 may realize at least a part of the timing constraint extraction device 10 by hardware.

論理合成装置30は、クロック情報20とRTL(Register Transfer Level)記述21とを使用して論理合成を実行することで、論理回路がゲートレベルで示されたネットリスト40を生成する。タイミング解析装置31は、クロック情報20等のタイミング情報とネットリスト40とを使用して論理回路のタイミング解析を実行し、解析結果をタイミングレポートファイル41として出力する。タイミングレポートファイル41は、検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報の一例である。タイミングレポートファイル41が格納されるハードディスク装置等の記憶装置は、タイミング情報記憶部の一例である。 The logic synthesizer 30 performs logic synthesis using the clock information 20 and the RTL (Register Transfer Level) description 21 to generate a netlist 40 in which the logic circuit is shown at the gate level. The timing analysis device 31 executes timing analysis of the logic circuit using the timing information such as the clock information 20 and the netlist 40, and outputs the analysis result as the timing report file 41. The timing report file 41 is an example of timing information indicating the timing of signals input / output between a pair of flip-flops connected via a combinational circuit in the logic circuit to be verified. A storage device such as a hard disk device in which the timing report file 41 is stored is an example of a timing information storage unit.

論理シミュレーション装置32は、論理回路のRTL記述21とテストパタン22とを使用して論理シミュレーションを実行し、論理シミュレーション(SIM)結果42を出力する。論理シミュレーション(SIM)結果42が格納されるハードディスク装置等の記憶装置は、シミュレーション結果記憶部の一例である。論理合成装置30、タイミング解析装置31および論理シミュレーション装置32は、既存の装置であるため、詳細な説明は割愛する。 The logic simulation device 32 executes the logic simulation using the RTL description 21 of the logic circuit and the test pattern 22, and outputs the logic simulation (SIM) result 42. A storage device such as a hard disk device in which the logical simulation (SIM) result 42 is stored is an example of a simulation result storage unit. Since the logic synthesis device 30, the timing analysis device 31, and the logic simulation device 32 are existing devices, detailed description thereof will be omitted.

なお、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32は、論理回路の設計・検証時に使用される。このため、タイミング制約抽出装置10は、論理回路の設計・検証時に得られるネットリスト40、タイミングレポートファイル41および論理シミュレーション結果42等の情報を利用して、後述するようにマルチサイクルパスを抽出することができる。 The logic synthesis device 30, the timing analysis device 31, and the logic simulation device 32 are used when designing and verifying a logic circuit. Therefore, the timing constraint extraction device 10 extracts a multi-cycle path as described later by using information such as the netlist 40, the timing report file 41, and the logic simulation result 42 obtained at the time of designing and verifying the logic circuit. be able to.

タイミング制約抽出装置10は、マルチサイクルパス候補決定部11、周辺ロジックコーン回路抽出部12および周辺ロジックコーンプロパティ抽出部13を有する。また、タイミング制約抽出装置10は、マルチサイクル検証用回路作成部14、マルチサイクルパス可否判断部15およびタイミング制約出力部16を有する。 The timing constraint extraction device 10 includes a multi-cycle path candidate determination unit 11, a peripheral logic cone circuit extraction unit 12, and a peripheral logic cone property extraction unit 13. Further, the timing constraint extraction device 10 includes a multi-cycle verification circuit creation unit 14, a multi-cycle pass passability determination unit 15, and a timing constraint output unit 16.

マルチサイクルパス候補決定部11は、マルチサイクルパス候補決定手段の一例であり、周辺ロジックコーン回路抽出部12は、コーン抽出手段の一例であり、周辺ロジックコーンプロパティ抽出部13は、信号状態抽出手段の一例である。マルチサイクル検証用回路作成部14は、検証用回路作成手段の一例であり、マルチサイクルパス可否判断部15は、判断手段の一例であり、タイミング制約出力部16は、出力手段の一例である。 The multi-cycle path candidate determination unit 11 is an example of multi-cycle path candidate determination means, the peripheral logic cone circuit extraction unit 12 is an example of cone extraction means, and the peripheral logic cone property extraction unit 13 is a signal state extraction unit. This is an example. The multi-cycle verification circuit creation unit 14 is an example of the verification circuit creation means, the multi-cycle pass passability determination unit 15 is an example of the determination means, and the timing constraint output unit 16 is an example of the output means.

タイミング制約抽出装置10は、ネットリスト40とタイミングレポートファイル41と論理シミュレーション結果42とを入力し、ネットリスト50とプロパティ情報51とネットリスト52とを生成する。そして、タイミング制約抽出装置10は、内部で生成したマルチタイミングパスの候補のうち真のマルチタイミングパスと判断したパスの情報を示すマルチサイクルタイミング制約53を、人手を介することなく自動生成する。なお、図1に示すRTL記述21、ネットリスト40、50、52等の各種ファイルのフォーマットは、いずれも一般的なものであるため、ここでの説明は割愛する。 The timing constraint extraction device 10 inputs the netlist 40, the timing report file 41, and the logical simulation result 42, and generates the netlist 50, the property information 51, and the netlist 52. Then, the timing constraint extraction device 10 automatically generates the multi-cycle timing constraint 53 indicating the information of the path determined to be the true multi-timing path among the internally generated multi-timing path candidates without human intervention. Since the formats of various files such as the RTL description 21 and the netlists 40, 50, and 52 shown in FIG. 1 are all general, the description thereof is omitted here.

マルチサイクルパス候補決定部11は、検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報に基づいてマルチサイクルパスの候補であるマルチサイクルパス候補を決定する。 The multi-cycle path candidate determination unit 11 is a multi-cycle path candidate based on timing information indicating the timing of signals input / output between a pair of flip-flops connected via a combinational circuit in the logic circuit to be verified. Determine a multi-cycle path candidate.

周辺ロジックコーン回路抽出部12は、検証対象の論理回路のネットリスト40を入力し、ネットリスト40に基づいてマルチサイクルパス候補の終点のフリップフロップに接続されるロジックコーンを抽出し、ネットリスト50として出力する。 The peripheral logic cone circuit extraction unit 12 inputs the netlist 40 of the logic circuit to be verified, extracts the logic cone connected to the flip-flop at the end point of the multicycle path candidate based on the netlist 40, and extracts the netlist 50. Output as.

周辺ロジックコーンプロパティ抽出部13は、検証対象の論理回路の論理シミュレーション結果42を入力し、論理シミュレーション結果42を使用して、抽出されたロジックコーンに含まれる回路の端子の信号状態を示すプロパティ情報51を抽出する。 The peripheral logic cone property extraction unit 13 inputs the logic simulation result 42 of the logic circuit to be verified, and uses the logic simulation result 42 to indicate the property information indicating the signal state of the terminal of the circuit included in the extracted logic cone. 51 is extracted.

マルチサイクル検証用回路作成部14は、抽出したロジックコーンのうち、マルチサイクルパス候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、ネットリスト52として出力する。 The multi-cycle verification circuit creation unit 14 creates a multi-cycle path verification circuit by adding a flip-flop to the logic cone including the multi-cycle path candidate among the extracted logic cones, and outputs the multi-cycle verification circuit as a netlist 52.

マルチサイクルパス可否判断部15は、抽出したロジックコーンに含まれる回路を示すネットリスト50と、フリップフロップを追加した検証用回路とを示すネットリスト52と、抽出したプロパティを示すプロパティ情報51を入力する。そして、マルチサイクルパス可否判断部15は、ネットリスト50、52で示される回路にプロパティを与えて等価性検証を実行し、等価であると判断されたマルチサイクルパス候補を真のマルチサイクルパスとして抽出する。 The multi-cycle pass passability determination unit 15 inputs a netlist 50 indicating a circuit included in the extracted logic cone, a netlist 52 indicating a verification circuit to which a flip-flop is added, and property information 51 indicating the extracted property. To do. Then, the multi-cycle pass passability determination unit 15 gives properties to the circuits shown in the netlists 50 and 52, executes equivalence verification, and sets the multi-cycle path candidates determined to be equivalent as true multi-cycle paths. Extract.

タイミング制約出力部16は、マルチサイクルパス可否判断部15により判断された真のマルチサイクルパスのタイミング制約であるマルチサイクルタイミング制約53を出力する。以上より、タイミング制約抽出装置10は、真のマルチサイクルパスを自動的に抽出することができる。 The timing constraint output unit 16 outputs a multi-cycle timing constraint 53, which is a true multi-cycle path timing constraint determined by the multi-cycle pass passability determination unit 15. From the above, the timing constraint extraction device 10 can automatically extract the true multi-cycle path.

図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 constraint extraction device 10 of FIG. The logic circuit shown in FIG. 2 is a part of the semiconductor integrated circuit to be verified.

各フリップフロップ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 logic 0 to logic 1 at the timing of the clock cycle (3) (FIG. 3 (a)). Then, the transition of the signal waveform of FF1 / Q from logic 0 to logic 1 propagates to FF2 / D during the clock cycle (3) (FIG. 3 (b)). Therefore, in the timing example shown in FIG. 3, the FF2 can take in the logic 1 supplied to the data input terminal D and output the logic 1 from the data output terminal Q at the timing of the clock cycle (4) (FIG. 3 (FIG. 3). c)). As described above, when the number of clock cycles required from the signal transition of FF1 / Q to the signal transition of FF2 / Q is "1", the path is called a single cycle path.

一方、図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 logic 0 to logic 1 is the clock cycle (3), as in FIG. 3 (FIG. 4 (a)). However, in FIG. 4, the transition of the signal waveform of FF1 / Q from logic 0 to logic 1 is propagated to FF2 / D after the start of the clock cycle (4) (FIG. 4 (b)). Therefore, the FF2 cannot capture the logic 1 supplied to the data input terminal D at the timing of the clock cycle (4), but captures it at the timing of the clock cycle (5) and outputs it from the data output terminal Q (FIG. 4 (FIG. 4). c)). In this way, when the number of clock cycles required from the signal transition of the data output terminal Q of FF1 to the signal transition of the data output terminal Q of FF2 is "2" or more, the path is called a multi-cycle path, and the number of cycles is ". The case of 2 "is called multi-cycle 2.

図5は、図1のマルチサイクルパス候補決定部11の一例を示すブロック図である。マルチサイクルパス候補決定部11は、タイミングレポートファイル入力部11aとタイミングバイオレーション情報抽出部11bとサイクル数計算部11cとマルチサイクル制約決定部11dとを有する。 FIG. 5 is a block diagram showing an example of the multi-cycle path candidate determination unit 11 of FIG. The multi-cycle path candidate determination unit 11 includes a timing report file input unit 11a, a timing violation information extraction unit 11b, a cycle number calculation unit 11c, and a multi-cycle constraint determination unit 11d.

図6は、図5のタイミングレポートファイル41の一例を示す説明図である。タイミングレポートファイル41には、タイミングパスの起点と終点となる一対のFFの階層インスタンス名と端子名、1クロックサイクルの周期等の情報を含まれる。また、タイミングレポートファイル41には、1クロックサイクルでタイミングが満足しているのか(MET)、タイミングが割れているのか(VIOLATED)を示す情報と、そのときのタイミングの余裕度(slack)を示す情報等が含まれる。 FIG. 6 is an explanatory diagram showing an example of the timing report file 41 of FIG. The timing report file 41 includes information such as the hierarchical instance name and terminal name of a pair of FFs that are the starting point and the ending point of the timing path, the cycle of one clock cycle, and the like. Further, the timing report file 41 shows information indicating whether the timing is satisfied in one clock cycle (MET) or whether the timing is broken (VIOLATED), and the margin of timing (slack) at that time. Information etc. are included.

図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 timing report file 41 is an existing file generated by the existing timing analysis device 31, detailed description thereof will be omitted. Timing satisfaction (MET) and cracking (VIOLATED) will be described with reference to FIGS. 7-9.

図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 timing report file 41 shown in FIG. Here, the timing break (VIOLATED) indicates that the signal cannot be transmitted from the starting point FF1 / Q to the ending point FF2 / D within one specified clock cycle.

図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 constraint determination unit 11d. The command indicating the multi-cycle constraint is output from the multi-cycle constraint determination unit 11d.

図5に戻って、タイミングレポートファイル入力部11aは、タイミングレポートファイル41(図6)に含まれる情報を取得し、取得した情報をタイミングバイオレーション情報抽出部11bに出力する。タイミングバイオレーション情報抽出部11bは、受信したタイミングレポートファイル41の情報を解析し、タイミングが割れている(VIOLATED)パスの情報をサイクル数計算部11cに出力する。 Returning to FIG. 5, the timing report file input unit 11a acquires the information contained in the timing report file 41 (FIG. 6), and outputs the acquired information to the timing violation information extraction unit 11b. The timing violation information extraction unit 11b analyzes the information of the received timing report file 41 and outputs the information of the path where the timing is broken (VIOLATED) to the cycle number calculation unit 11c.

サイクル数計算部11cは、例えば、1クロックサイクルの周期が2ns、タイミングが割れている(VIOLATED)、タイミングの余裕度(slack)が−1.302nsという図6のタイミングレポートファイル41の情報を取得する。すなわち、図8に示すタイミングの関係を示す情報を取得する。そして、サイクル数計算部11cは、計算を実行し、図9に示すように、仮に2クロックサイクルあればタイミングの余裕度(slack)がプラスの0.698nsとなり、タイミングを満足できる(MET)と判定する。サイクル数計算部11cは、計算により得た判定結果(2クロックサイクルならMETする)をマルチサイクル制約決定部11dに出力する。 The cycle number calculation unit 11c acquires the information of the timing report file 41 of FIG. 6, for example, the cycle of one clock cycle is 2 ns, the timing is broken (VIOLATED), and the timing margin (slack) is -1.302 ns. To do. That is, the information indicating the timing relationship shown in FIG. 8 is acquired. Then, the cycle number calculation unit 11c executes the calculation, and as shown in FIG. 9, if there are two clock cycles, the timing margin (slack) becomes plus 0.698ns, and the timing can be satisfied (MET). judge. The cycle number calculation unit 11c outputs the determination result obtained by the calculation (MET is performed in the case of two clock cycles) to the multi-cycle constraint determination unit 11d.

マルチサイクル制約決定部11dは、サイクル数計算部11cによる判定結果に基づいて、マルチサイクルパス候補の制約を決定する。図6に示すタイミングレポートファイル41では、タイミングパスの起点となるフリップフロップの階層インスタンス名がFF1でその端子名がCKであり、終点となるフリップフロップの階層インスタンス名がFF2でその端子名がDである。 The multi-cycle constraint determination unit 11d determines the constraint of the multi-cycle path candidate based on the determination result by the cycle number calculation unit 11c. In the timing report file 41 shown in FIG. 6, the hierarchical instance name of the flip-flop that is the starting point of the timing path is FF1 and the terminal name is CK, and the hierarchical instance name of the flip-flop that is the ending point is FF2 and the terminal name is D. Is.

マルチサイクル制約決定部11dは、タイミングレポートファイル41の情報と、サイクル数計算部11cが算出した情報とから、"set_multicycle_path 2 -from FF1/CK -to FF2/D"というマルチサイクル制約を示すコマンドを作成する。ここで、サイクル数計算部11cが算出した情報は、"2クロックサイクルならMETする"という判定結果である。 The multi-cycle constraint determination unit 11d issues a command indicating the multi-cycle constraint "set_multicycle_path 2-from FF1 / CK -to FF2 / D" from the information in the timing report file 41 and the information calculated by the cycle number calculation unit 11c. create. Here, the information calculated by the cycle number calculation unit 11c is a determination result that "MET is performed if there are two clock cycles".

例えば、"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 multicycle 2.

なお、マルチサイクル制約を示すコマンド等の情報は、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 candidate determination unit 11 can automatically determine the multi-cycle path candidate from the input timing report file 41, and can output the determined multi-cycle path candidate as a multi-cycle constraint. it can. Therefore, as compared with the case where the designer or the like manually generates the multi-cycle path candidate, the man-hours for creation can be reduced, and the occurrence of creation error and description error can be prevented.

図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 circuit extraction unit 12 of FIG. The peripheral logic cone circuit extraction unit 12 includes a netlist input unit 12a, a logic cone 1 extraction unit 12b, a logic cone 2 extraction unit 12c, a logic cone 3 extraction unit 12d, and a netlist output unit 12e. The logic cone 1 extraction unit 12b is an example of the first extraction means, the logic cone 2 extraction unit 12c is an example of the second extraction means, and the logic cone 3 extraction unit 12d is an example of the third extraction means. This is an example. Before explaining the function of the peripheral logic cone circuit extraction unit 12, the logic cone will be described.

図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 logic cone 1 is formed by the logic circuit included in the path when the circuit is traced back from the data input terminal D of FF2 toward the data output terminals Q of FF1, FF1_b, ..., FF1_z in the previous stage. To.

また、FF2のデータ出力端子Qを起点として、後段側に位置する次のFF3、FF3_b,...,FF3_zのデータ入力端子Dまでのパスに含まれる論理回路によりロジックコーン2が形成される。ロジックコーン1は、第1のロジックコーンの一例であり、ロジックコーン2は、第2のロジックコーンの一例である。 Further, the logic cone 2 is formed by the logic circuit included in the path from the data output terminal Q of FF2 to the data input terminal D of the next FF3, FF3_b, ..., FF3_z located on the rear stage side. The logic cone 1 is an example of a first logic cone, and the logic cone 2 is an example of a second logic cone.

さらに、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 logic cone 3 is formed by the included logic circuit. The logic cone 3 is an example of a third logic cone. Since the technology for extracting the logic circuit included in the logic cone is an existing technology used in timing analysis tools, equivalence verification tools, etc., the explanation of the specific extraction method is omitted.

図10に戻り、ネットリスト入力部12aは、検証対象の論理回路全体の情報を示すネットリスト40を入力する。ネットリスト40は、論理回路の接続情報の一例であり、ネットリスト40が格納されるハードディスク装置等の記憶装置は、接続情報記憶部の一例である。ロジックコーン1抽出部12b、ロジックコーン2抽出部12cおよびロジックコーン3抽出部12dは、ネットリスト40と、マルチサイクル制約決定部11dが決定したマルチサイクルパス候補の起点と終点のFFとに基づいて、次のように動作する。 Returning to FIG. 10, the netlist input unit 12a inputs the netlist 40 showing the information of the entire logic circuit to be verified. The netlist 40 is an example of connection information of a logic circuit, and a storage device such as a hard disk device in which the netlist 40 is stored is an example of a connection information storage unit. The logic cone 1 extraction unit 12b, the logic cone 2 extraction unit 12c, and the logic cone 3 extraction unit 12d are based on the netlist 40 and the FFs of the start points and end points of the multi-cycle path candidates determined by the multi-cycle constraint determination unit 11d. , Works as follows.

例えば、ロジックコーン1抽出部12bは、マルチサイクルパス候補の終点のFF2に着目し、終点のFF2のデータ入力端子Dを起点に回路を始点のFF1にたどり着くまで遡っていき、図11のロジックコーン1に含まれる回路を抽出する。ロジックコーン2抽出部12cは、終点のFF2のデータ出力端子Qを起点として後段のFF3,FF3_b,...,FF3_zにたどり着くまで回路をたどり、図11のロジックコーン2に含まれる回路を抽出する。 For example, the logic cone 1 extraction unit 12b pays attention to the end point FF2 of the multi-cycle path candidate, starts from the data input terminal D of the end point FF2, and traces back until the circuit reaches the start point FF1. The circuit included in 1 is extracted. The logic cone 2 extraction unit 12c traces the circuit from the data output terminal Q of the end point FF2 until it reaches the subsequent FF3, FF3_b, ..., FF3_z, and extracts the circuit included in the logic cone 2 of FIG. ..

ロジックコーン3抽出部12dは、ロジックコーン2抽出部12cでたどり着いたFFのうちの1つであるFF3のデータ入力端子Dを起点に回路を前段のFFにたどり着くまで遡っていき、図11のロジックコーン3に含まれる回路を抽出する。なお、図の見やすさを考慮して図11には示していないが、ロジックコーン3抽出部12dは、FF3だけではなくロジックコーン2抽出部12cでたどり着いたFF3_bやFF3_zなどの全てのFFに対して同様の抽出を行う。したがって、実際には複数のロジックコーン3が抽出される。 The logic cone 3 extraction unit 12d traces back from the data input terminal D of FF3, which is one of the FFs reached by the logic cone 2 extraction unit 12c, to the FF in the previous stage, and goes back to the logic of FIG. The circuit contained in the cone 3 is extracted. Although not shown in FIG. 11 in consideration of the legibility of the figure, the logic cone 3 extraction unit 12d is used not only for FF3 but also for all FFs such as FF3_b and FF3_z reached by the logic cone 2 extraction unit 12c. And perform the same extraction. Therefore, a plurality of logic cones 3 are actually extracted.

そして、図10のネットリスト出力部12eは、ロジックコーン1抽出部12b、ロジックコーン2抽出部12cおよびロジックコーン3抽出部12dが抽出した回路群をネットリスト50として出力する。このように、周辺ロジックコーン回路抽出部12は、ロジックコーン1とロジックコーン2と複数のロジックコーン3とに含まれる回路を抽出し、これをマルチサイクルパス候補に関連する回路とみなしてネットリスト50を生成する。ネットリスト50は、ロジックコーン1とロジックコーン2と複数のロジックコーン3とに含まれる回路の接続情報の一例であり、ネットリスト50が格納されるハードディスク装置等の記憶装置は、ロジックコーン記憶部の一例である。 Then, the netlist output unit 12e of FIG. 10 outputs the circuit group extracted by the logic cone 1 extraction unit 12b, the logic cone 2 extraction unit 12c, and the logic cone 3 extraction unit 12d as the netlist 50. In this way, the peripheral logic cone circuit extraction unit 12 extracts the circuits included in the logic cone 1, the logic cone 2, and the plurality of logic cones 3, and regards this as a circuit related to the multi-cycle path candidate in the netlist. Generate 50. The netlist 50 is an example of connection information of circuits included in the logic cone 1, the logic cone 2, and the plurality of logic cones 3, and a storage device such as a hard disk device in which the netlist 50 is stored is a logic cone storage unit. This is an example.

図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 property extraction unit 13 of FIG. The peripheral logic cone property extraction unit 13 has a logic simulation (SIM) result input unit 13a and a multi-cycle path transition timing identification unit 13b. Further, the peripheral logic cone property extraction unit 13 includes a logic cone 1 input terminal property extraction unit 13c, a logic cone 3 input terminal property extraction unit 13d, and a property information output unit 13e.

プロパティは、一般に属性という意味があるが、ここでは設計仕様の意味として使用される。プロパティは、検証対象の論理回路の端子の信号状態の一例であり、例えば、回路上のノード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 logic 1, the node B is logic 0. A storage device such as a hard disk device in which the property information 51 is stored is an example of a signal state storage unit.

SIM結果入力部13aは、論理シミュレーション装置32(図1)のSIM結果42を入力する。なお、SIM結果42は、検証対象の回路全体の各フリップフロップの出力の波形が記録されているものであればよい。 The SIM result input unit 13a inputs the SIM result 42 of the logic simulation device 32 (FIG. 1). The SIM result 42 may be any one in which the output waveform of each flip-flop of the entire circuit to be verified is recorded.

マルチサイクルパス遷移タイミング特定部13bは、マルチサイクルパス候補決定部11が決定したマルチサイクル制約とSIM結果42とを用いて、例えば、起点のFF1の出力波形と終点のFF2の出力波形とを検索する。そして、マルチサイクルパス遷移タイミング特定部13bは、起点のFF1/Qと終点のFF2/Qで論理値が変化したクロックサイクル数(クロックサイクルの番号)を求める。 The multi-cycle path transition timing specifying unit 13b searches for, for example, the output waveform of FF1 at the starting point and the output waveform of FF2 at the ending point using the multi-cycle constraint determined by the multi-cycle path candidate determining unit 11 and the SIM result 42. To do. Then, the multi-cycle path transition timing specifying unit 13b obtains the number of clock cycles (clock cycle numbers) whose logical values have changed between the starting point FF1 / Q and the ending point FF2 / Q.

図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 logic cone 1 of FIG. The upper waveform (A) of FIG. 13 shows an example in which the timing is MET in one clock cycle, and the lower waveform (B) in FIG. 13 shows an example in which the timing is MET in two clock cycles.

動作波形が波形(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 SIM result 42 of the logic simulation executed by the logic simulation device 32 of FIG. 1 using the RTL description 21 and the test pattern 22 is the waveform (A). Since the waveform (A) is recorded in the SIM result 42, the FF1 / Q transitions from logic 0 to logic 1 in synchronization with the clock cycle (3), and the FF2 / Q synchronizes with the clock cycle (4). It can be obtained from the waveform search result that the transition from logic 0 to logic 1 is performed.

図12に示したマルチサイクルパス遷移タイミング特定部13bは、起点のFF1/Qの値が変化する前のクロックサイクル(2)と、FF1/Qの値が変化した後の2つのクロックサイクル(3)、(4)とを注目するクロックサイクルとして特定する。例えば、マルチサイクルパス遷移タイミング特定部13bは、特定したクロックサイクルを、ロジックコーン1、3別に、ロジックコーン1入力端子プロパティ抽出部13cとロジックコーン3入力端子プロパティ抽出部13dとに通知する。 The multi-cycle path transition timing specifying unit 13b shown in FIG. 12 includes a clock cycle (2) before the starting point FF1 / Q value changes and two clock cycles (3) after the FF1 / Q value changes. ) And (4) are specified as clock cycles of interest. For example, the multi-cycle path transition timing specifying unit 13b notifies the logic cone 1 input terminal property extraction unit 13c and the logic cone 3 input terminal property extraction unit 13d of the specified clock cycle separately for the logic cones 1 and 3.

ロジックコーン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 logic cone 1 input terminal property extraction unit 13c uses the netlist 50 to extract the values at each clock cycle (2), (3), and (4) of the terminals of the circuit included in the logic cone 1. White circle in FIG. 13). For example, the terminals of the circuit included in the logic cone 1 are FF1 / Q, FF1_b / Q, FF1_z / Q, and the like. The difference between the waveforms (A) and (B) in FIG. 13 is the timing (clock cycle (3) or clock cycle (4)) at which FF2 / D transitions from logic 0 to logic 1, and each clock cycle (2). , (3), (4) have the same properties extracted in the waveforms (A) and (B).

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 logic 1 during the two clock cycles of the clock cycles (4) and (5) (FIG. 13 (a)). In the waveform (B), the value of FF2 / Q becomes logic 1 for only one clock cycle of the clock cycle (5) (FIG. 13 (b)). As described above, in the multi-cycle 2, either the waveform (A) or the waveform (B) is obtained depending on the difference in the propagation delay time of the signal until the input of the FF2 at the end point. If the logic circuit operates normally regardless of the waveforms (A) and (B), the timing path can be set to multicycle 2.

図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 logic cone 3 of FIG. The upper waveform (A) of FIG. 14 shows the subsequent operation when the timing is MET in one clock cycle in the waveform (A) of FIG. The lower waveform (B) of FIG. 14 shows the subsequent operation when the timing is MET in two clock cycles in the waveform (B) of FIG.

図12のロジックコーン3入力端子プロパティ抽出部13dは、ネットリスト50を使用して、ロジックコーン3(図11)の各端子、つまりFF2_b/Qなどの論理値を抽出する(図14の白丸)。ロジックコーン3が、図11に示したものだけでないことは前述の通りである。したがって、ロジックコーン3入力端子プロパティ抽出部13dは、図11に示されていない全てのロジックコーン3に含まれる回路の端子の値を抽出することになる。 The logic cone 3 input terminal property extraction unit 13d of FIG. 12 uses the netlist 50 to extract each terminal of the logic cone 3 (FIG. 11), that is, a logical value such as FF2_b / Q (white circle in FIG. 14). .. As described above, the logic cone 3 is not limited to the one shown in FIG. Therefore, the logic cone 3 input terminal property extraction unit 13d extracts the values of the terminals of the circuits included in all the logic cones 3 not shown in FIG.

また、注目するクロックサイクルは、ロジックコーン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 logic cone 1 input terminal property extraction unit 13c. This is because the logic cone 3 is a circuit one clock cycle later than the logic cone 1.

ロジックコーン1入力端子プロパティ抽出部13cおよびロジックコーン3入力端子プロパティ抽出部13dの動作により、周辺ロジックコーン回路抽出部12で得られた回路の全ての端子の所定のクロックサイクルのプロパティを抽出できたことになる。そして、図12のプロパティ情報出力部13eは、抽出された複数のプロパティを含むプロパティ情報51を出力する。プロパティ情報51は、どの端子がどのクロックサイクルでどういう論理値になっているかというプロパティの情報が含まれていれば、フォーマットは限定されない。例えば、マルチサイクルパス可否判断部15で使用する等価性検証装置15a(図16)がサポートしている言語(例えば、System Verilog Assertionなど)を使用して、プロパティ情報51が作成されてもよい。 By the operation of the logic cone 1 input terminal property extraction unit 13c and the logic cone 3 input terminal property extraction unit 13d, the properties of the predetermined clock cycles of all the terminals of the circuit obtained by the peripheral logic cone circuit extraction unit 12 could be extracted. It will be. Then, the property information output unit 13e of FIG. 12 outputs the property information 51 including the extracted plurality of properties. The format of the property information 51 is not limited as long as it includes property information such as which terminal has what logical value in which clock cycle. For example, the property information 51 may be created by using a language (for example, System Verilog Assertion) supported by the equivalence verification device 15a (FIG. 16) used by the multi-cycle pass passability determination unit 15.

このように、周辺ロジックコーンプロパティ抽出部13は、ロジックコーン1とロジックコーン3の全ての端子の所定のクロックサイクルでの論理値をプロパティとしてSIM結果42から抽出することができる。 In this way, the peripheral logic cone property extraction unit 13 can extract the logic values of all the terminals of the logic cone 1 and the logic cone 3 in the predetermined clock cycle as properties from the SIM result 42.

図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 logic cone 2 shown in FIG. Then, the waveforms (A) of the clock cycles (4), (5), and (6) that are affected by the clock cycles (3), (4), and (5) extracted by the logic cone 3 input terminal property extraction unit 13d. Compare with waveform (B). In FIG. 15, although the waveform (A) and the waveform (B) of the FF2 / Q at the end point of the multi-cycle path are different, in the subsequent FF3 / Q, the waveform (A) and the waveform (B) are different. The logic indicated by the black circles is all the same. That is, the logic circuit to be verified operates normally regardless of whether it is MET in one clock cycle or MET in two clock cycles.

換言すれば、マルチサイクルパスで回路が正常に動作する場合、マルチサイクル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 constraint extraction device 10 proves that the circuit operates normally in the multi-cycle path by using the equivalence verification technique instead of the logic simulation. For example, the equivalence verification device 15a described with reference to FIG. 16 has an equivalence between a circuit that operates with the waveform (A) reproduced from the netlist 50 and a circuit that operates with the waveform (B) reproduced from the netlist 52. Perform verification. Here, as described above, the netlist 50 is created by the peripheral logic cone circuit extraction unit 12, and the netlist 52 is created by the multi-cycle verification circuit creation unit 14 described with reference to FIG.

図16は、図1のマルチサイクル検証用回路作成部14およびマルチサイクルパス可否判断部15の一例を示すブロック図である。マルチサイクル検証用回路作成部14は、フリップフロップ追加部14aとネットリスト出力部14bとを有する。マルチサイクルパス可否判断部15は、等価性検証装置15aとマルチサイクル可否判断部15bとを有する。 FIG. 16 is a block diagram showing an example of the multi-cycle verification circuit creation unit 14 and the multi-cycle pass availability determination unit 15 of FIG. The multi-cycle verification circuit creation unit 14 includes a flip-flop addition unit 14a and a netlist output unit 14b. The multi-cycle pass passability determination unit 15 includes an equivalence verification device 15a and a multi-cycle passability determination unit 15b.

フリップフロップ追加部14aは、マルチサイクルパス候補のパスを、シングルサイクルパスからマルチサイクルパスにするために、所定数のフリップフロップを追加する。フリップフロップ追加部14aが追加するフリップフロップの数は、マルチサイクルパス候補決定部11が決定したマルチサイクル制約(マルチサイクル数)から自動的に決定する。 The flip-flop addition unit 14a adds a predetermined number of flip-flops in order to change the path of the multi-cycle path candidate from a single-cycle path to a multi-cycle path. The number of flip-flops added by the flip-flop addition unit 14a is automatically determined from the multi-cycle constraint (number of multi-cycles) determined by the multi-cycle path candidate determination unit 11.

例えば、マルチサイクル2であれば1個のフリップフロップが追加され、マルチサイクル3であれば2個のフリップフロップが追加される。すなわち、マルチサイクルn(nは2以上の整数)では、n−1個のフリップフロップが追加される。ネットリスト出力部14bは、フリップフロップ追加部14aにより所定数のフリップフロップが追加されたネットリスト52を出力する。フリップフロップ追加部14aにより所定数のフリップフロップが追加されたネットリスト52は、マルチサイクルパスの検証用回路の接続情報の一例である。ネットリスト52が格納されるハードディスク装置等の記憶装置は、検証用回路記憶部の一例である。 For example, in the case of multi-cycle 2, one flip-flop is added, and in the case of multi-cycle 3, two flip-flops are added. That is, in multicycle n (n is an integer of 2 or more), n-1 flip-flops are added. The netlist output unit 14b outputs the netlist 52 to which a predetermined number of flip-flops have been added by the flip-flop addition unit 14a. The netlist 52 to which a predetermined number of flip-flops are added by the flip-flop addition unit 14a is an example of connection information of a circuit for verifying a multi-cycle path. A storage device such as a hard disk device in which the netlist 52 is stored is an example of a verification circuit storage unit.

図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-flop addition unit 14a of FIG. In the circuit shown in FIG. 17, the original circuit before adding the flip-flop FF1_add is a circuit including the multi-cycle path candidate of the multi-cycle 2 shown in FIG.

図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-flop addition unit 14a adds one FF1_add to the output of FF1 which is the starting point of the multi-cycle path candidate. By adding one FF1_add, two clock cycles are required to propagate the signal from FF1 to FF2. That is, by adding FF1_add, a circuit capable of simulating the waveform (B) shown in FIGS. 13 and 14 has been created. In this way, the multi-cycle verification circuit creation unit 14 simulates the timing at the time of multi-cycle by adding a circuit in which a number of FFs one less than the assumed number of multi-cycles is added immediately after the FF as the starting point. It can be created as a circuit that reproduces.

図16に戻って、マルチサイクルパス可否判断部15の等価性検証装置15aは、フリップフロップが追加された回路のネットリスト52と、シングルパスに対応する回路のネットリスト50とを使用して2つの回路の等価性検証を実行する。この際、2つの回路の入力端子に与える制約として、周辺ロジックコーンプロパティ抽出部13で作成したプロパティ情報51が使用される。 Returning to FIG. 16, the equivalence verification device 15a of the multi-cycle pass passability determination unit 15 uses the netlist 52 of the circuit to which the flip-flop is added and the netlist 50 of the circuit corresponding to the single pass. Perform equivalence verification of two circuits. At this time, the property information 51 created by the peripheral logic cone property extraction unit 13 is used as a constraint given to the input terminals of the two circuits.

例えば、等価性検証装置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 netlists 50 and 52 by using the property information 51, and sets an output value which is a logical value of the signal output from the output terminal. Compare. Then, the equivalence verification device 15a outputs a report indicating that the two circuits are equivalent when the logic of the output value is always the same, and when there is a difference in the logic of the output value, the equivalence verification device 15a is unequal. Output a report showing. That is, the equivalence verification device 15a regards the circuits included in the logic cone 1 and the logic cone 3 as circuits related to the candidates of the multi-cycle path and uses them in the equivalence verification.

ここで、マルチサイクル制約決定部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 constraint determination unit 11d is added, the feasibility of the multi-cycle path is determined by the equivalence verification technique. be able to. Since equivalence verification can be performed by a static method without using a test pattern, the verification time can be shortened as compared with a logical simulation in which verification is dynamically executed using a test pattern.

また、等価性検証装置15aが検証に使用するネットリスト50,52は、図11に示したロジックコーンに含まれる回路の接続、すなわち、マルチサイクルに関連する回路の接続を示す。マルチサイクルパスに関連する回路を抜き出して等価性検証を実行することで、マルチサイクルパスに関係の無い回路を含めて等価性検証を実行する場合に比べて検証時間を短縮することができる。 Further, the netlists 50 and 52 used by the equivalence verification device 15a for verification show the connection of the circuits included in the logic cone shown in FIG. 11, that is, the connection of the circuits related to the multi-cycle. By extracting the circuits related to the multi-cycle path and executing the equivalence verification, the verification time can be shortened as compared with the case of executing the equivalence verification including the circuits not related to the multi-cycle path.

図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 possibility determination unit 15b shown in FIG. 16 sets the multi-cycle path candidate to be verified as a true multi-cycle. to decide. Further, the multi-cycle possibility determination unit 15b determines that the multi-cycle path candidate to be verified is a single path when the comparison result shown in the report output from the equivalence verification device 15a shows inequality. Then, the multi-cycle possibility determination unit 15b outputs information indicating a timing path determined to be a true multi-cycle path among the multi-cycle path candidates to the timing constraint output unit 16 shown in FIG.

タイミング制約出力部16は、マルチサイクル可否判断部15bがマルチサイクルパスと判断したタイミングパスについてのみ、マルチサイクル制約決定部11dで決定したマルチサイクル制約をマルチサイクルタイミング制約53として出力する。そして、タイミング制約抽出装置10により、マルチタイミングパスを自動的に抽出する動作が完了する。マルチサイクルタイミング制約53は、真のマルチサイクルパスのタイミング制約を示すタイミング制約情報の一例である。 The timing constraint output unit 16 outputs the multi-cycle constraint determined by the multi-cycle constraint determination unit 11d as the multi-cycle timing constraint 53 only for the timing path determined by the multi-cycle possibility determination unit 15b as the multi-cycle path. Then, the operation of automatically extracting the multi-timing path by the timing constraint extraction device 10 is completed. The multi-cycle timing constraint 53 is an example of timing constraint information indicating a true multi-cycle path timing constraint.

図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 information processing apparatus 100 of FIG. The information processing device 100 includes a CPU 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, and an external storage device 104. Further, the information processing device 100 has an input interface unit 105, an output interface unit 106, an input / output interface unit 107, and a communication interface unit 108. For example, the CPU 101, the ROM 102, the RAM 103, the external storage device 104, the input interface unit 105, the output interface unit 106, the input / output interface unit 107, and the communication interface unit 108 are connected to each other via the bus BUS.

CPU101は、OSおよびアプリケーション等の各種プログラムを実行し、情報処理装置100の全体の動作を制御する。ROM102は、各種プログラムをCPU101により実行可能にするための基本プログラムや各種パラメータ等を保持する。RAM103は、CPU101により実行される各種プログラムや、プログラムで使用するデータを記憶する。 The CPU 101 executes various programs such as an OS and an application, and controls the overall operation of the information processing apparatus 100. The ROM 102 holds a basic program, various parameters, and the like for enabling the CPU 101 to execute various programs. The RAM 103 stores various programs executed by the CPU 101 and data used in the programs.

外部記憶装置104は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等であり、RAM103に展開する各種プログラムを記憶する。なお、各種プログラムには、タイミング制約抽出プログラムが含まれる。 The external storage device 104 is an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like, and stores various programs to be expanded in the RAM 103. The various programs include a timing constraint extraction program.

入力インタフェース部105には、情報処理装置100を操作する操作者等からの入力を受け付けるキーボード、マウスやタブレット等の入力装置110が接続される。出力インタフェース部106には、CPU101が実行する各種プログラムにより生成される表示画面等を表示する表示装置やプリンタ等の出力装置120が接続される。 An input device 110 such as a keyboard, mouse, or tablet that receives input from an operator or the like operating the information processing device 100 is connected to the input interface unit 105. An output device 120 such as a display device or a printer that displays a display screen or the like generated by various programs executed by the CPU 101 is connected to the output interface unit 106.

入出力インタフェース部107には、USB(Universal Serial Bus)メモリ等の記録媒体130が接続される。例えば、記録媒体130には、タイミング制約抽出プログラム等の各種プログラムが格納されてもよい。この場合、プログラムは、入出力インタフェース部107を介して記録媒体130からRAM103に転送される。なお、記録媒体130は、CD−ROMやDVD(Digital Versatile Disc:登録商標)等でもよく、この場合、入出力インタフェース部107は、接続する記録媒体130に対応するインタフェースを有する。通信インタフェース部108は、情報処理装置100を、例えばネットワークに接続する。なお、記録媒体130は、入出力インタフェースを介してバスに接続されてもよい。 A recording medium 130 such as a USB (Universal Serial Bus) memory is connected to the input / output interface unit 107. For example, various programs such as a timing constraint extraction program may be stored in the recording medium 130. In this case, the program is transferred from the recording medium 130 to the RAM 103 via the input / output interface unit 107. The recording medium 130 may be a CD-ROM, a DVD (Digital Versatile Disc: registered trademark), or the like. In this case, the input / output interface unit 107 has an interface corresponding to the recording medium 130 to be connected. The communication interface unit 108 connects the information processing device 100 to, for example, a network. The recording medium 130 may be connected to the bus via the input / output interface.

以上、この実施形態では、タイミング制約抽出装置10は、真のマルチサイクルパスを自動的に抽出することができる。これにより、マルチサイクルパスの判断に要する工数を削減し、判断ミスの発生を防止することができる。 As described above, in this embodiment, the timing constraint extraction device 10 can automatically extract the true multi-cycle path. As a result, the man-hours required for determining the multi-cycle path can be reduced, and the occurrence of a determination error can be prevented.

例えば、マルチサイクルパス候補決定部11は、入力されたタイミングレポートファイル41から自動的にマルチサイクルパス候補を決定することができ、決定したマルチサイクルパス候補をマルチサイクル制約として出力することができる。したがって、設計者等が人手でマルチサイクルパス候補を生成する場合に比べて、作成工数を削減することができ、作成ミスや記述ミスの発生を防止することができる。 For example, the multi-cycle path candidate determination unit 11 can automatically determine the multi-cycle path candidate from the input timing report file 41, and can output the determined multi-cycle path candidate as a multi-cycle constraint. Therefore, as compared with the case where the designer or the like manually generates the multi-cycle path candidate, the man-hours for creation can be reduced, and the occurrence of creation error and description error can be prevented.

周辺ロジックコーンプロパティ抽出部13は、ロジックコーン1とロジックコーン3の全ての端子の所定のクロックサイクルでの論理値をプロパティとしてSIM結果42から抽出することができる。マルチサイクル検証用回路作成部14は、起点となるFFの直後に、想定しているマルチサイクル数より1つ少ない数のFFを追加した回路を、マルチサイクル時のタイミングを擬似的に再現する回路として作成することができる。 The peripheral logic cone property extraction unit 13 can extract the logic values of all the terminals of the logic cone 1 and the logic cone 3 in a predetermined clock cycle as properties from the SIM result 42. The multi-cycle verification circuit creation unit 14 is a circuit that simulates the timing of multi-cycles by adding one less FF than the assumed number of multi-cycles immediately after the FF that is the starting point. Can be created as.

マルチサイクル制約決定部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 constraint determination unit 11d is added, it is possible to judge whether or not the multi-cycle pass is possible by the equivalence verification technique. .. Since equivalence verification can be performed by a static method without using a test pattern, the verification time can be shortened as compared with a logical simulation in which verification is dynamically executed using a test pattern.

また、等価性検証装置15aが検証に使用するネットリスト50、52は、図11に示したロジックコーンに含まれる回路の接続、すなわち、マルチサイクルに関連する回路の接続を示す。マルチサイクルパスに関連する回路を抜き出して等価性検証を実行することで、マルチサイクルパスに関係の無い回路を含めて等価性検証を実行する場合に比べて検証時間を短縮することができる。 Further, the netlists 50 and 52 used by the equivalence verification device 15a for verification show the connection of the circuits included in the logic cone shown in FIG. 11, that is, the connection of the circuits related to the multi-cycle. By extracting the circuits related to the multi-cycle path and executing the equivalence verification, the verification time can be shortened as compared with the case of executing the equivalence verification including the circuits not related to the multi-cycle path.

なお、上述した実施形態では、分かりやすさを考慮して、図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 constraint extraction device 11 Multi-cycle path candidate determination unit 11a Timing report file input unit 11b Timing biolation information extraction unit 11c Cycle number calculation unit 11d Multi-cycle constraint determination unit 12 Peripheral logic cone circuit extraction unit 12a Netlist input unit 12b Logic Cone 1 extraction unit 12c Logic cone 2 extraction unit 12d Logic cone 3 extraction unit 12e Netlist output unit 13 Peripheral logic cone property extraction unit 13a SIM result input unit 13b Multi-cycle path transition timing specification unit 13c Logic cone 1 input terminal property extraction unit 13d Logic cone 3 Input terminal Property extraction unit 13e Property information output unit 14 Multi-cycle verification circuit creation unit 14a Flip flop addition unit 14b Netlist output unit 15 Multi-cycle pass passability judgment unit 15a Equivalence verification device 15b Multi-cycle passability judgment unit 16 Timing constraint output unit 20 Clock information 21 RTL description 22 Test pattern 30 Logic synthesizer 31 Timing analyzer 32 Logic simulation device 40 Netlist 41 Timing report file 42 Logic simulation result 50 Netlist 51 Property information 52 Netlist 53 Multi-cycle timing Constraint 100 Information processing device

特許第5040758号公報Japanese Patent No. 5040758

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.
前記検証用回路作成手段は、前記マルチサイクルパスの候補の始点のフリップフロップの出力に、前記マルチサイクルパス候補決定手段が決定した前記マルチサイクルパスの候補のマルチサイクル数より1つ少ない数のフリップフロップを追加することで、前記検証用回路を作成することを特徴とする請求項1または請求項2に記載のタイミング制約抽出装置。 The verification circuit creating means outputs a flip-flop at the start point of the multi-cycle path candidate by one less than the number of multi-cycles of the multi-cycle path candidate determined by the multi-cycle path candidate determining means. The timing constraint extraction device according to claim 1 or 2, wherein the verification circuit is created by adding a flip-flop. 半導体集積回路に搭載する論理回路のタイミング制約を抽出するタイミング制約抽出装置が実行するタイミング制約抽出方法であって、
検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報をタイミング情報記憶部から入力し、入力した前記タイミング情報に基づいてマルチサイクルパスの候補を決定し、
前記検証対象の論理回路の接続情報を接続情報記憶部から入力し、入力した前記接続情報に基づいて前記マルチサイクルパスの候補の終点のフリップフロップに接続されるロジックコーンを抽出し、抽出したロジックコーンに含まれる回路の接続情報をロジックコーン記憶部に格納し、
前記検証対象の論理回路の論理シミュレーション結果をシミュレーション結果記憶部から入力し、入力した前記論理シミュレーション結果を使用して、前記抽出したロジックコーンに含まれる回路の端子の信号状態を抽出し、抽出した信号状態を信号状態記憶部に格納し、
前記抽出したロジックコーンのうち、前記マルチサイクルパスの候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、作成した前記検証用回路の接続情報を検証用回路記憶部に格納し、
前記抽出したロジックコーンに含まれる回路の接続情報と前記検証用回路の接続情報と前記抽出した信号状態とを、前記ロジックコーン記憶部と前記検証用回路記憶部と前記信号状態記憶部とからそれぞれ入力し、入力した回路の接続情報に、前記抽出した信号状態を与えて等価性検証を実行し、等価である前記マルチサイクルパスの候補を真のマルチサイクルパスと判断し、
判断した前記真のマルチサイクルパスのタイミング制約を示すタイミング制約情報を出力することを特徴とするタイミング制約抽出方法。
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.
JP2019205611A 2019-11-13 2019-11-13 Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program Active JP7351189B2 (en)

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)

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

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
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
CN117250480B (en) Loop detection method, device, equipment and storage medium of combinational logic circuit
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