JP2005316595A - Method for verifying equivalence between circuit description and program for verifying equivalence between circuit description - Google Patents
Method for verifying equivalence between circuit description and program for verifying equivalence between circuit description Download PDFInfo
- Publication number
- JP2005316595A JP2005316595A JP2004131551A JP2004131551A JP2005316595A JP 2005316595 A JP2005316595 A JP 2005316595A JP 2004131551 A JP2004131551 A JP 2004131551A JP 2004131551 A JP2004131551 A JP 2004131551A JP 2005316595 A JP2005316595 A JP 2005316595A
- Authority
- JP
- Japan
- Prior art keywords
- signal value
- signal
- simulation result
- transition
- value transition
- 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.)
- Withdrawn
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本発明は、システムレベル設計言語で記述された動作レベルの回路記述とハードウェア記述言語で記述されたRTL(Resister Transfer Level)の回路記述との等価性を検証する技術に関する。 The present invention relates to a technique for verifying equivalence between an operation level circuit description described in a system level design language and an RTL (Resister Transfer Level) circuit description described in a hardware description language.
近時、システムLSI設計においては、Verilog−HDLやVHDL等のハードウェア記述言語(HDL:Hardware Description Language)によりRTLの回路記述を作成する手法に代えて、C(C++)言語をベースとしたSystemCやSpecC等のシステムレベル設計言語により動作レベルの回路記述を作成する手法の導入が進められている。システムレベル設計言語は抽象度の高い記述が可能であるため、システムレベル設計言語による回路記述の作成手法を導入することで、回路記述の記述量、すなわち回路記述の作成時間を低減でき、設計効率を向上させることができる。システムレベル設計言語による回路記述の作成手法を導入したシステムLSI設計では、システムレベル設計言語による回路記述(上位回路記述)を、ハードウェア記述言語による論理合成可能な回路記述(下位回路記述)に変換する高位合成が実施される。そして、上位回路記述と下位回路記述との等価性を検証する形式的検証が実施される。 Recently, in system LSI design, instead of a technique for creating RTL circuit descriptions using hardware description languages (HDL) such as Verilog-HDL and VHDL, SystemC based on C (C ++) language is used. Introduction of a technique for creating a behavioral circuit description using a system level design language such as SpecC or SpecC. Since system level design languages can be described with a high level of abstraction, the introduction of circuit description creation methods using system level design languages can reduce the amount of circuit description description, that is, the time required to create a circuit description. Can be improved. In system LSI design that introduces a method for creating circuit descriptions in a system level design language, the circuit description in the system level design language (upper circuit description) is converted into a circuit description (lower circuit description) that can be logically synthesized in the hardware description language. High level synthesis is performed. Then, formal verification is performed to verify equivalence between the upper circuit description and the lower circuit description.
また、特許文献1には、メモリ回路の異なる2つの回路記述の各々にクロック信号を付加してシミュレーションを実施することで、アドレスとデータとのレーシングを抑えて正確な検証を実施する技術が開示されている。特許文献2には、半導体集積回路の論理検証時に、テストベクタを供給するためのハードウェア記述言語で記述されたテストベンチの変換方法において、検証対象回路の各端子への信号の印可に相当する動作の記述方法を、遅延時間を用いた記述方法から、クロックに同期した記述方法に変換する技術が開示されている。
しかしながら、現状の高位合成ツールおよび形式的検証ツールでは、大規模な回路に対応できない、あるいは適用可能な記述に制限がある等の問題がある。このため、上位回路記述および下位回路記述をそれぞれ用いたシミュレーションを実施し、上位回路記述と下位回路記述との等価性をシミュレーション結果から人手で判定しているのが実状である。ところが、ハードウェア記述言語にはクロックの概念が存在するのに対して、システムレベル設計言語にはクロックの概念は存在しないため、上位回路記述および下位回路記述をそれぞれ用いたシミュレーションのシミュレーション結果(入力信号および出力信号の信号値遷移タイミング)同士が一致することはほとんどない。このため、上位回路記述と下位回路記述との等価性をシミュレーション結果から判定することは容易ではなく、回路記述間の等価性検証に多大な時間を要する。この結果、設計効率が著しく低下し、システムレベル設計言語による回路記述の作成手法の導入に伴う設計効率向上の効果を十分に享受できない。 However, current high-level synthesis tools and formal verification tools have problems such as being unable to deal with large-scale circuits or being limited in applicable descriptions. For this reason, the actual situation is that a simulation using the upper circuit description and the lower circuit description is performed, and the equivalence between the upper circuit description and the lower circuit description is manually determined from the simulation result. However, while the concept of clocks exists in hardware description languages, the concept of clocks does not exist in system-level design languages. Therefore, the simulation results (inputs) using the upper circuit description and lower circuit description respectively (input) The signal value transition timings of the signal and the output signal hardly match each other. For this reason, it is not easy to determine the equivalence between the upper circuit description and the lower circuit description from the simulation result, and much time is required to verify the equivalence between the circuit descriptions. As a result, the design efficiency is remarkably lowered, and the effect of improving the design efficiency accompanying the introduction of a circuit description creation method using a system level design language cannot be fully enjoyed.
本発明は、このような従来の問題点に鑑みてなされたものであり、システムレベル設計言語による回路記述とハードウェア記述言語による回路記述との等価性を、シミュレーション結果を用いて容易に検証することを目的とする。また、本発明の別の目的は、システムレベル設計言語による回路記述とハードウェア記述言語による回路記述との不等価の原因解析の効率を向上させることにある。 The present invention has been made in view of such a conventional problem, and the equivalence between the circuit description in the system level design language and the circuit description in the hardware description language is easily verified using the simulation result. For the purpose. Another object of the present invention is to improve the efficiency of cause analysis of inequality between a circuit description in a system level design language and a circuit description in a hardware description language.
本発明の一形態では、第1設計言語で記述された上位回路記述と、上位回路記述から変換されて第2設計言語で記述された下位回路記述との等価性を検証するコンピュータにより、以下に示す処理が実施される。まず、上位回路記述を用いたシミュレーションにより、信号値遷移の発生毎に、信号名情報、発生時刻情報、第1信号値情報および第2信号値情報が対応づけられた上位シミュレーション結果が取得される。ここで、信号名情報は、信号値遷移が発生した信号の信号名を示す。発生時刻情報は、信号値遷移の発生時刻を示す。第1信号値情報は、信号値遷移が発生した信号の信号値遷移後の信号値を示す。第2信号値情報は、信号値遷移が発生した信号に信号値遷移を発生させる信号の信号値を示す。また、下位回路記述を用いたシミュレーションにより、信号値遷移の発生毎に、信号名情報、発生時刻情報および第1信号値情報が対応づけられた下位シミュレーション結果が取得される。 In one aspect of the present invention, a computer that verifies the equivalence between the upper circuit description described in the first design language and the lower circuit description converted from the upper circuit description and described in the second design language. The processing shown is performed. First, a simulation using the upper circuit description obtains an upper simulation result in which signal name information, generation time information, first signal value information, and second signal value information are associated with each occurrence of signal value transition. . Here, the signal name information indicates the signal name of the signal in which the signal value transition has occurred. The occurrence time information indicates the occurrence time of signal value transition. The first signal value information indicates the signal value after the signal value transition of the signal in which the signal value transition has occurred. The second signal value information indicates the signal value of the signal that causes the signal value transition to occur in the signal in which the signal value transition has occurred. In addition, a simulation using the lower circuit description obtains a lower simulation result in which signal name information, generation time information, and first signal value information are associated with each occurrence of a signal value transition.
この後、上位シミュレーション結果に対して発生時刻変更処理が実施される。発生時刻変更処理では、上位シミュレーション結果における信号名情報、発生時刻情報、第1信号値情報および第2信号値情報に基づいて、上位シミュレーション結果における検証対象信号の信号値遷移の発生時刻が、上位シミュレーション結果における信号値遷移の波及順序が維持される限り、下位シミュレーション結果における検証対象信号の信号値遷移の発生時刻に順次変更される。 Thereafter, an occurrence time change process is performed on the upper simulation result. In the generation time change process, the generation time of the signal value transition of the verification target signal in the higher simulation result is determined based on the signal name information, the generation time information, the first signal value information, and the second signal value information in the higher simulation result. As long as the propagation order of the signal value transition in the simulation result is maintained, the signal value transition in the lower simulation result is sequentially changed to the generation time of the signal value transition.
そして、検証対象信号における信号値遷移の発生時刻の全てが発生時刻変更処理後の上位シミュレーション結果と下位シミュレーション結果とで一致する場合、上位回路記述と下位回路記述とは等価であると判定される。すなわち、検証対象信号における信号値遷移の発生時刻の少なくとも一つが発生時刻変更処理後の上位シミュレーション結果と下位シミュレーション結果とで一致しない場合、上位回路記述と下位回路記述とは不等価であると判定される。 When all the signal value transition occurrence times in the verification target signal match between the higher simulation result and the lower simulation result after the generation time change processing, it is determined that the upper circuit description and the lower circuit description are equivalent. . In other words, if at least one of the signal value transition occurrence times in the verification target signal does not match between the higher simulation result and the lower simulation result after the generation time change process, it is determined that the upper circuit description and the lower circuit description are not equivalent. Is done.
これにより、上位回路記述および下位回路記述をそれぞれ用いたシミュレーションの実施後に、検証対象信号における信号値遷移の発生時刻のいずれかが上位シミュレーション結果と下位シミュレーション結果とで一致しない場合でも、上位回路記述と下位回路記述との等価性を、シミュレーション結果を用いて容易に検証できる。このため、回路記述間の等価性検証に要する時間を大幅に削減でき、設計効率を向上させることができる。 As a result, after a simulation using the upper circuit description and the lower circuit description, even if any of the signal value transition occurrence times in the verification target signal does not match between the upper simulation result and the lower simulation result, the upper circuit description And the lower circuit description can be easily verified using simulation results. For this reason, the time required for equivalence verification between circuit descriptions can be greatly reduced, and the design efficiency can be improved.
本発明の前記一形態の好ましい例では、下位シミュレーション結果は、第2信号値情報が更に対応づけられている。また、検証対象信号における信号値遷移の発生時刻の少なくとも一つが発生時刻変更処理後の上位シミュレーション結果と下位シミュレーション結果とで一致しない場合、因果関係情報が提示される。ここで、因果関係情報は、発生時刻変更処理後の上位シミュレーション結果と下位シミュレーション結果とで発生時刻が一致しない検証対象信号の信号値遷移とその信号値遷移の発生に関与する信号値遷移との下位シミュレーション結果における因果関係を示す。このため、上位回路記述と下位回路記述とは不等価であると判定された場合に因果関係情報を利用することで、上位回路記述と下位回路記述との不等価の原因解析の効率を向上させることができる。上位回路記述と下位回路記述との不等価の原因解析に要する時間を短縮できるため、設計効率の向上に寄与できる。 In a preferable example of the aspect of the invention, the lower simulation result is further associated with the second signal value information. In addition, when at least one of the signal value transition occurrence times in the verification target signal does not match between the higher simulation result and the lower simulation result after the occurrence time change processing, causal relationship information is presented. Here, the causal relationship information includes the signal value transition of the verification target signal whose generation time does not match between the higher simulation result and the lower simulation result after the generation time change process and the signal value transition involved in the generation of the signal value transition. The causal relationship in the lower simulation results is shown. For this reason, the causal relationship information is used when it is determined that the upper circuit description and the lower circuit description are unequal, thereby improving the efficiency of the cause analysis of the inequality between the upper circuit description and the lower circuit description. be able to. Since it is possible to reduce the time required to analyze the cause of inequality between the upper circuit description and the lower circuit description, it is possible to contribute to the improvement of design efficiency.
本発明の前記一形態の好ましい例では、下位シミュレーション結果を用いて、下位回路記述で定義された各信号の信号波形が生成され表示装置に表示されるとともに、波及経路情報が生成され信号波形に重なって表示装置に表示される。ここで、波及経路情報は、発生時刻変更処理後の上位シミュレーション結果と下位シミュレーション結果とで発生時刻が一致しない検証対象信号の信号値遷移を発生させる信号値遷移の波及経路を明示するための情報である。このため、設計者は、上位回路記述と下位回路記述との不等価の原因を、信号波形および波及経路情報の表示から視覚的に認識できる。 In a preferred example of the embodiment of the present invention, the signal waveform of each signal defined in the lower circuit description is generated and displayed on the display device using the lower simulation result, and the propagation path information is generated and converted into the signal waveform. Overlapping is displayed on the display device. Here, the propagation path information is information for clearly indicating the propagation path of the signal value transition that causes the signal value transition of the verification target signal whose generation time does not match between the higher simulation result and the lower simulation result after the generation time change process. It is. Therefore, the designer can visually recognize the cause of inequality between the upper circuit description and the lower circuit description from the display of the signal waveform and the propagation path information.
本発明では、第1設計言語による上位回路記述と第2設計言語による下位回路記述との等価性を、シミュレーション結果を用いて容易に検証でき、設計効率を向上させることができる。また、上位回路記述と下位回路記述との不等価の原因解析の効率を向上させることができ、設計効率の向上に寄与できる。 In the present invention, the equivalence between the upper circuit description in the first design language and the lower circuit description in the second design language can be easily verified using the simulation result, and the design efficiency can be improved. In addition, the efficiency of the cause analysis of inequality between the upper circuit description and the lower circuit description can be improved, which can contribute to the improvement of design efficiency.
以下、図面を用いて本発明の実施形態を説明する。
図1は、本発明の基本原理を示している。第1設計言語で記述された上位回路記述10と、上位回路記述10から変換されて第2設計言語で記述された下位回路記述20との等価性を検証するコンピュータにより、以下に示す処理が実施される。まず、上位回路記述10を用いたシミュレーションにより、信号値遷移の発生毎に、信号名情報、発生時刻情報、第1信号値情報および第2信号値情報が対応づけられた上位シミュレーション結果(上位Sim結果)12が取得される(ステップS1)。ここで、信号名情報は、信号値遷移が発生した信号の信号名を示す。発生時刻情報は、信号値遷移の発生時刻を示す。第1信号値情報は、信号値遷移が発生した信号の信号値遷移後の信号値を示す。第2信号値情報は、信号値遷移が発生した信号に信号値遷移を発生させる信号の信号値を示す。また、下位回路記述20を用いたシミュレーションにより、信号値遷移の発生毎に、信号名情報、発生時刻情報、第1信号値情報および第2信号値情報が対応づけられた下位シミュレーション結果22が取得される(ステップS2)。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows the basic principle of the present invention. The following processing is performed by a computer that verifies the equivalence between the
この後、上位シミュレーション結果12に対して発生時刻変更処理が実施される(ステップS3)。発生時刻変更処理では、上位シミュレーション結果12における信号名情報、発生時刻情報、第1信号値情報および第2信号値情報に基づいて、上位シミュレーション結果12における検証対象信号の信号値遷移の発生時刻が、上位シミュレーション結果12における信号値遷移の波及順序が維持される限り、下位シミュレーション結果22における検証対象信号の信号値遷移の発生時刻に順次変更される。
Thereafter, an occurrence time change process is performed on the upper simulation result 12 (step S3). In the generation time change process, based on the signal name information, the generation time information, the first signal value information, and the second signal value information in the
そして、検証対象信号における信号値遷移の発生時刻の全てが発生時刻変更処理後の上位シミュレーション結果12と下位シミュレーション結果22とで一致する場合、上位回路記述10と下位回路記述20とは等価であると判定される(ステップS4)。すなわち、検証対象信号における信号値遷移の発生時刻の少なくとも一つが発生時刻変更処理後の上位シミュレーション結果12と下位シミュレーション結果22とで一致しない場合、上位回路記述と下位回路記述とは不等価であると判定される。
When all the signal value transition occurrence times in the verification target signal match between the
検証対象信号における信号値遷移の発生時刻の少なくとも一つが発生時刻変更処理後の上位シミュレーション結果12と下位シミュレーション結果22とで一致しない場合、すなわち上位回路記述10と下位回路記述20とは不等価であると判定された場合、因果関係情報が提示される(ステップS5)。ここで、因果関係情報は、発生時刻変更処理後の上位シミュレーション結果12と下位シミュレーション結果22とで発生時刻が一致しない検証対象信号の信号値遷移とその信号値遷移の発生に関与する信号値遷移との因果関係を示す。例えば、下位シミュレーション結果22を用いて、下位回路記述20で定義された各信号の信号波形が生成され表示装置に表示されるとともに、波及経路情報が生成され信号波形に重なって表示装置に表示される。ここで、波及経路情報は、発生時刻変更処理後の上位シミュレーション結果12と下位シミュレーション結果22とで発生時刻が一致しない検証対象信号の信号値遷移を発生させる信号値遷移の波及経路を明示するための情報である。
When at least one of the signal value transition occurrence times in the verification target signal does not match between the
図2は、本発明を実現するためのシステム構成例を示している。本発明を実現するためのシステムは、例えば、ワークステーション1等の計算機と、等価性検証プログラムを記録したCD−ROM8またはフレキシブルディスク9等の記録媒体とから構成されている。ワークステーション1は、画面表示を行うディスプレイ2と、キーの押下により指示を入力するキーボード3と、CPU4、ハードディスク5および記録媒体ドライブ装置6が内蔵された制御装置7とを有している。記録媒体ドライブ装置6には、CD−ROM8またはフレキシブルディスク9が装着可能である。ワークステーション1は、CD−ROM8またはフレキシブルディスク9の記録媒体ドライブ装置6への装着後、キーボード3を介して入力される指示に応答して、CD−ROM8またはフレキシブルディスク9に記録された等価性検証プログラムをハードディスク5にダウンロードする。ワークステーション1は、CPU4が等価性検証プログラムを実行することにより、回路記述間の等価性検証処理が可能になる。
FIG. 2 shows a system configuration example for realizing the present invention. A system for realizing the present invention includes, for example, a computer such as a
図3は、本発明の一実施形態を示している。図4は、図3のSystemCによる回路記述100およびテストベンチ101の一例を示している。図5は、図4の回路記述100およびテストベンチ101を用いたシミュレーションのシミュレーション結果を示している。
図3において、まず、ワークステーション1は、図4に示すようなSystemC(第1設計言語)で記述された動作レベルの回路記述100(上位回路記述)とテストベンチ101とを用いてSystemCシミュレータによりシミュレーションを実施し、図5に示すようなシミュレーション結果102(上位シミュレーション結果)を取得してハードディスク5に格納する(ステップS10)。シミュレーション結果102では、信号値遷移の発生毎に、信号名情報(図5の信号名の列)と、発生時刻情報(図5の発生時刻の列)と、第1信号値情報(図5の信号値の列)と、第2信号値情報(図5の発生要因の列)とが対応づけられている。ここで、信号名情報は、信号値遷移が発生した信号の信号名を示す。発生時刻情報は、信号値遷移の発生時刻を示す。第1信号値情報は、信号値遷移が発生した信号の信号値遷移後の信号値を示す。第2信号値情報は、信号値遷移が発生した信号に信号値遷移を発生させる信号の信号値を示す。例えば、図5のシミュレーション結果102において、※印が付加された行は、信号pの信号値p[2]への信号値遷移が時刻T2に発生し、信号pに信号値遷移を発生させる信号a、bの信号値はそれぞれa[2]、b[2]であることを示している。なお、信号a、bの信号値遷移は、テストベンチ101により発生するものであるため、信号a、bに対応する第2信号値情報は、第1信号値情報と同一にしてある。
FIG. 3 shows an embodiment of the present invention. FIG. 4 shows an example of the
In FIG. 3, first, the
また、ワークステーション1は、VHDL(第2設計言語)で記述されたRTLの回路記述200(下位回路記述)とテストベンチ201とを用いてVHDLシミュレータによりシミュレーションを実施し、シミュレーション結果202(下位シミュレーション結果)を取得してハードディスク5に格納する(ステップS20)。ここで、VHDLによる回路記述200は、SystemCによる回路記述100を高位合成して生成された回路記述である。また、図示を省略するが、シミュレーション結果202では、シミュレーション結果102と同様に、信号値遷移の発生毎に、信号名情報と、発生時刻情報と、第1信号値情報と、第2信号値情報とが対応づけられている。
Further, the
この後、ワークステーション1は、シミュレーション結果102に対して発生時刻変更処理を実施する(ステップS30)。発生時刻変更処理では、シミュレーション結果102における信号名情報、発生時刻情報、第1信号値情報および第2信号値情報に基づいて、シミュレーション結果102における検証対象信号a、b、cの信号値遷移の発生時刻が、シミュレーション結果102における信号値遷移の波及順序が維持される限り、シミュレーション結果202における検証対象信号a、b、cの信号値遷移の発生時刻に順次変更される。ここで、シミュレーション結果102における信号値遷移の波及順序は、ある信号の信号値遷移と、その信号値遷移に起因して発生する別の信号の信号値遷移との発生順序を示す。シミュレーション結果102における検証対象信号a、b、cの信号値遷移の発生時刻が順次変更された後、検証対象信号a、b、cにおける信号値遷移の発生時刻の全てがシミュレーション結果102とシミュレーション結果202とで一致する場合、発生時刻変更処理の成功が通知される。また、検証対象信号a、b、cにおける信号値遷移の発生時刻の少なくとも一つがシミュレーション結果102とシミュレーション結果202とで一致しない場合、発生時刻変更処理の不成功が通知される。なお、発生時刻変更処理の詳細については、図6〜図8で説明する。
Thereafter, the
そして、ワークステーション1は、発生時刻変更処理の成否に応じて、回路記述100と回路記述200との等価性を判定する(ステップS40)。具体的には、ワークステーション1は、発生時刻変更処理の成功が通知された場合、回路記述100と回路記述200とは等価であると判定する。また、ワークステーション1は、発生時刻変更処理の不成功が通知された場合、回路記述100と回路記述200とは不等価であると判定する。
Then, the
さらに、ワークステーション1は、回路記述100と回路記述200とは不等価であると判定した場合、シミュレーション結果202を用いて、回路記述200で定義された各信号の信号波形に波及経路情報を重ねてディスプレイ2(表示装置)に表示する(ステップS50)。ここで、波及経路情報は、発生時刻変更処理後のシミュレーション結果102とシミュレーション結果202とで発生時刻が一致しない検証対象信号a、b、cの信号値遷移を発生させる信号値遷移の波及経路を明示するための情報である。換言すれば、ワークステーション1は、発生時刻変更処理後のシミュレーション結果102とシミュレーション結果202とで発生時刻が一致しない検証対象信号a、b、cの信号値遷移とその信号値遷移の発生に関与する信号値遷移との因果関係を示す因果関係情報を生成して提示する。
Further, when the
図6は、図3の発生時刻変更処理の詳細を示している。
ワークステーション1は、ハードディスク5に格納したシミュレーション結果102、202の信号名情報、発生時刻情報、第1信号値情報および第2信号値情報を探索しながら以下に示す処理を実施する。
ステップS301において、ワークステーション1は、検証対象信号a、b、cのいずれかを指定する。この後、処理はステップS302に移行する。
FIG. 6 shows details of the generation time change process of FIG.
The
In step S301, the
ステップS302において、ワークステーション1は、ステップS301で指定した検証対象信号における信号値遷移のいずれかを指定する。例えば、ワークステーション1は、ステップS301で検証対象信号aを指定した場合、検証対象信号aにおける信号値遷移(信号値a[1]への信号値遷移、信号値a[2]への信号値遷移、信号値a[3]への信号値遷移)のいずれかを指定する。この後、処理はステップS303に移行する。
In step S302, the
ステップS303において、ワークステーション1は、ステップS301で指定した検証対象信号におけるステップS302で指定した信号値遷移について、シミュレーション結果102における発生時刻とシミュレーション結果202における発生時刻とが一致するか否かを判定する。双方の発生時刻が一致しない場合、処理はステップS304に移行する。双方の発生時刻が一致する場合、処理はステップS308に移行する。
In step S303, the
ステップS304において、ワークステーション1は、ステップS301で指定した検証対象信号におけるステップS302で指定した信号値遷移について、シミュレーション結果102における発生時刻がシミュレーション結果202における発生時刻より前であるか否かを判定する。シミュレーション結果102における発生時刻がシミュレーション結果202における発生時刻より前である場合、処理はステップS305に移行する。シミュレーション結果102における発生時刻がシミュレーション結果2における発生時刻より前ではない場合、処理はステップS306に移行する。
In step S304, the
ステップS305において、ワークステーション1は、ステップS301で指定した検証対象信号におけるステップS302で指定した信号値遷移を変更対象として前方変更処理を実施する。前方変更処理の詳細については、図7で説明する。この後、処理はステップS307に移行する。
ステップS306において、ワークステーション1は、ステップS301で指定した検証対象信号におけるステップS302で指定した信号値遷移を変更対象として後方変更処理を実施する。後方変更処理の詳細については、図8で説明する。この後、処理はステップS307に移行する。
In step S305, the
In step S306, the
ステップS307において、ワークステーション1は、ステップS305で実施した後方変更処理またはステップS306で実施した前方変更処理の成功が通知されたか否かを判定する。成功が通知された場合、処理はステップS308に移行する。成功が通知されなかった場合、すなわち不成功が通知された場合、処理はステップS311に移行する。
ステップS308において、ワークステーション1は、ステップS301で指定した検証対象信号における全ての信号値遷移について処理が実施されたか否かを判定する。全ての信号値遷移について処理が実施されていない場合、処理はステップS302に移行し、ワークステーション1は、ステップS301で指定した検証対象信号における次の信号値遷移を指定し、ステップS303以降の処理を適宜実施する。全ての信号値遷移について処理が実施されている場合、処理はステップS309に移行する。
In step S307, the
In step S308, the
ステップS309において、ワークステーション1は、全ての検証対象信号について処理が実施されたか否かを判定する。全ての検証対象信号について処理が実施されていない場合、処理はステップS301に移行し、ワークステーション1は、次の検証対象信号を指定し、ステップS302以降の処理を適宜実施する。全ての検証対象信号について処理が実施されている場合、処理はステップS310に移行する。
In step S309, the
ステップS310において、ワークステーション1は、発生時刻変更処理の成功を通知し、発生時刻変更処理を完了する。
ステップS311において、ワークステーション1は、発生時刻変更処理の不成功を通知し、発生時刻変更処理を完了する。
図7は、図6の前方変更処理の詳細を示している。
In step S310, the
In step S311, the
FIG. 7 shows details of the forward change process of FIG.
ステップS701において、ワークステーション1は、変更対象の信号値遷移のシミュレーション結果102における発生時刻を、図6のステップS301で指定された検証対象信号におけるステップS302で指定された信号値遷移のシミュレーション結果202における発生時刻に変更した場合、シミュレーション結果102における信号値遷移の波及順序を維持できるか否かを判定する。シミュレーション結果102における信号値遷移の波及順序を維持できない場合、処理はステップS702に移行する。シミュレーション結果102における信号値遷移の波及順序を維持できる場合、処理はステップS707に移行する。
In step S701, the
ステップS702において、ワークステーション1は、変更対象の信号値遷移を発生させる信号における信号値遷移のいずれかを指定する。この後、処理はステップS703に移行する。
ステップS703において、ワークステーション1は、ステップS702で指定した信号値遷移の発生時刻を変更できるか否かを判定する。発生時刻を変更できる場合、処理はステップS704に移行する。発生時刻を変更できない場合、処理はステップ709に移行する。
In step S702, the
In step S703, the
ステップS704において、ワークステーション1は、ステップS702で指定した信号値遷移を変更対象として前方変更処理を再帰的に実施する。この後、処理はステップS705に移行する。
ステップS705において、ワークステーション1は、ステップS704で実施した前方変更処理の成功が通知されたか否かを判定する。成功が通知された場合、処理はステップS706に移行する。成功が通知されなかった場合、すなわち不成功が通知された場合、処理はステップS709に移行する。
In step S704, the
In step S705, the
ステップS706において、ワークステーション1は、変更対象の信号値遷移を発生させる信号における全ての信号値遷移について処理が実施されたか否かを判定する。全ての信号値遷移について処理が実施されていない場合、処理はステップS702に移行し、ワークステーション1は、変更対象の信号値遷移を発生させる信号における次の信号値遷移を指定し、ステップS703以降の処理を適宜実施する。全ての信号値遷移について処理が実施されている場合、処理はステップS707に移行する。
In step S706, the
ステップS707において、ワークステーション1は、変更対象の信号値遷移のシミュレーション結果102における発生時刻を、図6のステップS301で指定された検証対象信号におけるステップS302で指定された信号値遷移のシミュレーション結果202における発生時刻に変更する。この後、処理はステップS708に移行する。
ステップS708において、ワークステーション1は、前方変更処理の成功を通知し、前方変更処理を完了する。
In step S707, the
In step S708, the
ステップS709において、ワークステーション1は、前方変更処理の不成功を通知し、前方変更処理を完了する。
図8は、図6の後方変更処理の詳細を示している。
ステップS801において、ワークステーション1は、変更対象の信号値遷移のシミュレーション結果102における発生時刻を、図6のステップS301で指定された検証対象信号におけるステップS302で指定された信号値遷移のシミュレーション結果202における発生時刻に変更した場合、シミュレーション結果102における信号値遷移の波及順序を維持できるか否かを判定する。シミュレーション結果102における信号値遷移の波及順序を維持できない場合、処理はステップS802に移行する。シミュレーション結果102における信号値遷移の波及順序を維持できる場合、処理はステップS807に移行する。
In step S709, the
FIG. 8 shows details of the backward change process of FIG.
In step S801, the
ステップS802において、ワークステーション1は、変更対象の信号値遷移に起因して発生する信号値遷移のいずれかを指定する。この後、処理はステップS803に移行する。
ステップS803において、ワークステーション1は、ステップS802で指定した信号値遷移の発生時刻を変更できるか否かを判定する。発生時刻を変更できる場合、処理はステップS804に移行する。発生時刻を変更できない場合、処理はステップ809に移行する。
In step S802, the
In step S803, the
ステップS804において、ワークステーション1は、ステップS802で指定した信号値遷移を変更対象として後方変更処理を再帰的に実施する。この後、処理はステップS805に移行する。
ステップS805において、ワークステーション1は、ステップS804で実施した後方変更処理の成功が通知されたか否かを判定する。成功が通知された場合、処理はステップS806に移行する。成功が通知されなかった場合、すなわち不成功が通知された場合、処理はステップS809に移行する。
In step S804, the
In step S805, the
ステップS806において、ワークステーション1は、変更対象の信号値遷移に起因して発生する全ての信号値遷移について処理が実施されたか否かを判定する。全ての信号値遷移について処理が実施されていない場合、処理はステップS802に移行し、ワークステーション1は、変更対象の信号値遷移に起因して発生する次の信号値遷移を指定し、ステップS803以降の処理を適宜実施する。全ての信号値遷移について処理が実施されている場合、処理はステップS807に移行する。
In step S806, the
ステップS807において、ワークステーション1は、変更対象の信号値遷移のシミュレーション結果102における発生時刻を、図6のステップS301で指定された検証対象信号におけるステップS302で指定された信号値遷移のシミュレーション結果202における発生時刻に変更する。この後、処理はステップS808に移行する。
ステップS808において、ワークステーション1は、後方変更処理の成功を通知し、後方変更処理を完了する。
In step S807, the
In step S808, the
ステップS809において、ワークステーション1は、後方変更処理の不成功を通知し、後方変更処理を完了する。
ここで、以上のような発生時刻変更処理を具体的に説明する。図9は、発生時刻変更処理前のシミュレーション結果102、202を示している。図10は、発生時刻変更処理中のシミュレーション結果102、202を示している。図11は、発生時刻変更処理後のシミュレーション結果102、202を示している。なお、この例では、シミュレーション結果102における時刻T1、T2、T3を、シミュレーション結果202における時刻T1’、T4’、T7’として扱っている。
In step S809, the
Here, the occurrence time changing process as described above will be specifically described. FIG. 9 shows
まず、ワークステーション1は、検証対象信号a、b、cの中から検証対象信号aを指定する(図6のステップS301)。そして、ワークステーション1は、検証対象信号aの信号値a[1]への信号値遷移を指定する(図6のステップS302)。検証対象信号aの信号値a[1]への信号値遷移の発生時刻は、シミュレーション結果102(時刻T1’)とシミュレーション結果202(時刻T1’)とで一致するため、ワークステーション1は、検証対象信号aの信号値a[1]への信号値遷移を変更対象とした前方変更処理または後方変更処理のいずれも実施しない。
First, the
次に、ワークステーション1は、検証対象信号aの信号値a[2]への信号値遷移を指定する(図6のステップS302)。検証対象信号aの信号値a[2]への信号値遷移の発生時刻は、シミュレーション結果102(時刻T4’)とシミュレーション結果202(時刻T2’)とで一致せず、シミュレーション結果102における発生時刻T4’がシミュレーション結果202における発生時刻T2’より前ではないため、ワークステーション1は、検証対象信号aの信号値a[2]への信号値遷移を変更対象として前方変更処理を実施する(図6のステップS306)。検証対象信号aは入力信号であるため、シミュレーション結果102における検証対象信号aの信号値a[2]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号aの信号値a[2]への信号値遷移の発生時刻T2’に変更しても、シミュレーション結果102における信号値遷移の波及順序を維持できる。従って、図10(a)に示すように、ワークステーション1は、シミュレーション結果102における検証対象信号aの信号値a[2]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号aの信号値a[2]への信号値遷移の発生時刻T2’に変更する(図7のステップS707)。
Next, the
次に、ワークステーション1は、検証対象信号aの信号値a[3]への信号値遷移を指定する(図6のステップS302)。そして、検証対象信号aの信号値a[2]への信号値遷移を指定した場合と同様に、ワークステーション1は、検証対象信号aの信号値a[3]への信号値遷移を変更対象として前方変更処理を実施する(図6のステップS306)。従って、図10(b)に示すように、ワークステーション1は、シミュレーション結果102における検証対象信号aの信号値a[3]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号aの信号値a[3]への信号値遷移の発生時刻T3’に変更する(図7のステップS707)。
Next, the
次に、ワークステーション1は、検証対象信号bを指定する(図6のステップS301)。そして、検証対象信号aを指定した場合と同様に、ワークステーション1は、検証対象信号bの信号値b[1]への信号値遷移を変更対象とした前方変更処理または後方変更処理のいずれも実施せず、検証対象信号bの信号値b[2]、b[3]への信号値遷移を変更対象として前方変更処理をそれぞれ実施する。すなわち、図10(c)、(d)に示すように、ワークステーション1は、シミュレーション結果102における検証対象信号bの信号値b[2]、b[3]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号bの信号値b[2]、b[3]への信号値遷移の発生時刻T2’、T3’に順次変更する。
Next, the
次に、ワークステーション1は、検証対象信号cを指定する(図6のステップS301)。そして、ワークステーション1は、検証対象信号cの信号値c[1]への信号値遷移を指定する(図6のステップS302)。検証対象信号cの信号値c[1]への信号値遷移の発生時刻は、シミュレーション結果102(時刻T1’)とシミュレーション結果202(時刻T4’)とで一致せず、シミュレーション結果102における発生時刻T1’がシミュレーション結果202における発生時刻T4’より前であるため、ワークステーション1は、検証対象信号cの信号値c[1]への信号値遷移を変更対象として後方変更処理を実施する(図6のステップS305)。検証対象信号cは出力信号であるため、シミュレーション結果102における検証対象信号cの信号値c[1]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[1]への信号値遷移の発生時刻T4’に変更しても、シミュレーション結果102における信号値遷移の波及順序を維持できる。従って、図10(e)に示すように、ワークステーション1は、シミュレーション結果102における検証対象信号cの信号値c[1]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[1]への信号値遷移の発生時刻T4’に変更する(図8のステップS807)。
Next, the
次に、ワークステーション1は、検証対象信号cの信号値c[2]への信号値遷移を指定する(図6のステップS302)。そして、検証対象信号cの信号値c[1]への信号値遷移を指定した場合と同様に、ワークステーション1は、検証対象信号cの信号値c[2]への信号値遷移を変更対象として後方変更処理を実施する(図6のステップS305)。従って、図10(f)に示すように、ワークステーション1は、シミュレーション結果102における検証対象信号cの信号値c[2]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[2]への信号値遷移の発生時刻T5’に変更する(図8のステップS807)。
Next, the
次に、ワークステーション1は、検証対象信号cの信号値c[3]への信号値遷移を指定する(図6のステップS302)。検証対象信号cの信号値c[3]への信号値遷移の発生時刻は、シミュレーション結果102(時刻T7’)とシミュレーション結果202(時刻T6’)とで一致せず、シミュレーション結果102における発生時刻T7’がシミュレーション結果202における発生時刻T6’より前ではないため、ワークステーション1は、検証対象信号cの信号値c[3]への信号値遷移を変更対象として前方変更処理を実施する(図6のステップS306)。検証対象信号cの信号値c[3]への信号値遷移は、信号sの信号値s[3]への信号値遷移に起因して発生する。このため、シミュレーション結果102における検証対象信号cの信号値c[3]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[3]への信号値遷移の発生時刻T6’に変更すると、検証対象信号cの信号値c[3]への信号値遷移の発生時刻が信号sの信号値s[3]への信号値遷移の発生時刻T7’より前になり、シミュレーション結果102における信号値遷移の波及順序を維持できない。
Next, the
従って、ワークステーション1は、信号sの信号値s[3]への信号値遷移の発生時刻を変更するために、信号sの信号値s[3]への信号値遷移を指定する(図7のステップS702)。信号sの信号値s[3]への信号値遷移は発生時刻を変更可能であるため、ワークステーション1は、信号sの信号値s[3]への信号値遷移を変更対象として前方変更処理を再帰的に実施する(図7のステップS704)。信号sの信号値s[3]への信号値遷移は、信号pの信号値p[3]への信号値遷移と信号qの信号値q[3]への信号値遷移とに起因して発生する。このため、シミュレーション結果102における検証対象信号sの信号値s[3]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[3]への信号値遷移の発生時刻T6’に変更すると、検証対象信号sの信号値s[3]への信号値遷移の発生時刻が信号pの信号値p[3]への信号値遷移の発生時刻T7’および信号qの信号値q[3]への信号値遷移の発生時刻T7’より前になり、シミュレーション結果102における信号値遷移の波及順序を維持できない。
Accordingly, the
従って、ワークステーション1は、まず、信号pの信号値p[3]への信号値遷移の発生時刻を変更するために、信号pの信号値p[3]への信号値遷移を指定する(図7のステップS702)。信号pの信号値p[3]への信号値遷移は発生時刻を変更可能であるため、ワークステーション1は、信号pの信号値p[3]への信号値遷移を変更対象として前方変更処理を再帰的に実施する(図7のステップS704)。信号pの信号値p[3]への信号値遷移は、信号aの信号値a[3]への信号値遷移と信号bの信号値b[3]への信号値遷移とに起因して発生する。ところが、シミュレーション結果102における検証対象信号pの信号値p[3]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[3]への信号値遷移の発生時刻T6’に変更しても、シミュレーション結果102における信号値遷移の波及順序を維持できる。従って、図11(g)に示すように、ワークステーション1は、シミュレーション結果102における検証対象信号pの信号値p[3]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[3]への信号値遷移の発生時刻T6’に変更する(図7のステップS707)。
Accordingly, the
次に、ワークステーション1は、信号qの信号値q[3]への信号値遷移の発生時刻を変更するために、信号qの信号値q[3]への信号値遷移を指定する(図7のステップS702)。そして、信号pの信号値p[3]への信号値遷移を指定した場合と同様に、ワークステーション1は、信号qの信号値q[3]への信号値遷移を変更対象として前方変更処理を再帰的に実施する(図7のステップS704)。従って、図11(h)に示すように、ワークステーション1は、シミュレーション結果102における信号qの信号値q[3]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[3]への信号値遷移の発生時刻T6’に変更する(図7のステップS707)。
Next, the
この後、ワークステーション1は、信号pの信号値p[3]への信号値遷移および信号qの信号値q[3]への信号値遷移を変更対象とした前方変更処理の成功を認識すると、図11(i)に示すように、シミュレーション結果102における信号sの信号値s[3]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[3]への信号値遷移の発生時刻T6’に変更する(図7のステップS707)。
Thereafter, when the
そして、ワークステーション1は、信号sの信号値s[3]への信号値遷移を変更対象とした前方変更処理の成功を認識すると、図11(j)に示すように、シミュレーション結果102における検証対象信号cの信号値c[3]への信号値遷移の発生時刻を、シミュレーション結果202における検証対象信号cの信号値c[3]への信号値遷移の発生時刻T6’に変更する(図7のステップS707)。これにより、全ての検証対象信号a、b、cついての処理が完了し、ワークステーション1は、発生時刻変更処理の成功を通知して、発生時刻変更処理を完了する。
Then, when the
図12は、図3の回路記述100、200間の不等価判定に伴う信号波形および信号値遷移の波及経路の表示例を示している。この例は、検証対象信号cの信号値c[2]への信号値遷移が指定されているときに、発生時刻変更処理の不成功が通知された場合を示している。
ワークステーション1は、発生時刻変更処理の不成功通知により回路記述100と回路記述200とは不等価であると判定した場合、シミュレーション結果202を用いて、回路記述200で定義された信号a、b、c、x、y、zの信号波形に、検証対象信号cの信号値c[2]への信号値遷移を発生させる信号値遷移の波及経路を明示するための矢印(波及経路情報)を重ねてディスプレイ2に表示する。なお、信号x、y、zは、回路記述100の高位合成に伴って、回路記述200で新たに定義された信号である。
FIG. 12 shows a display example of signal waveforms and signal value transition spillover paths associated with the inequality determination between the
When the
回路記述200とテストベンチ201とを用いたシミュレーションでは、信号aの信号値a[3]への信号値遷移および信号bの信号値b[2]への信号値遷移に起因して、信号xの信号値x[2]への信号値遷移が発生する。信号aの信号値a[2]への信号値遷移および信号bの信号値b[2]への信号値遷移に起因して、信号yの信号値y[2]への信号値遷移が発生する。信号xの信号値x[2]への信号値遷移および信号yの信号値y[2]への信号値遷移に起因して、信号zの信号値z[2]への信号値遷移が発生する。信号zの信号値z[2]への信号値遷移に起因して、信号cの信号値c[2]への信号値遷移が発生する。従って、検証対象信号cの信号値c[2]への信号値遷移を発生させる信号値遷移の波及経路としては、以下に示す信号値遷移の波及経路(1)〜(4)が存在する。
(1)a[3]−>x[2]−>z[2]−>c[2]
(2)b[2]−>x[2]−>z[2]−>c[2]
(3)a[2]−>y[2]−>z[2]−>c[2]
(4)b[2]−>y[2]−>z[2]−>c[2]
検証対象信号cの信号値c[2]への信号値遷移の発生に関与する信号値遷移間の因果関係を矢印で表示することで、検証対象信号cの信号値c[2]への信号値遷移を発生させる信号値遷移の波及経路(1)〜(4)が明示されるため、検証対象信号cの信号値c[2]への信号値遷移を発生させる信号値遷移の波及経路に、本来含まれてはならない信号aの信号値a[3]への信号値遷移が含まれていることを容易に認識できる。この結果、回路記述100と回路記述200との不等価の原因解析の効率が向上する。
In the simulation using the
(1) a [3]-> x [2]-> z [2]-> c [2]
(2) b [2]-> x [2]-> z [2]-> c [2]
(3) a [2]-> y [2]-> z [2]-> c [2]
(4) b [2]-> y [2]-> z [2]-> c [2]
The causal relationship between the signal value transitions involved in the generation of the signal value transition to the signal value c [2] of the verification target signal c is indicated by an arrow, whereby the signal to the signal value c [2] of the verification target signal c Since the signal value transition propagation paths (1) to (4) for generating the value transition are clearly indicated, the signal value transition propagation path for generating the signal value transition to the signal value c [2] of the verification target signal c is used. It can be easily recognized that a signal value transition to the signal value a [3] of the signal a that should not be included is included. As a result, the efficiency of the cause analysis of inequality between the
以上、本実施形態では、回路記述100および回路記述200をそれぞれ用いたシミュレーションの実施後に、検証対象信号における信号値遷移の発生時刻のいずれかがシミュレーション結果102とシミュレーション結果202とで一致しない場合でも、回路記述100と回路記述200との等価性を、シミュレーション結果102、202を用いて容易に検証できる。このため、回路記述100、200間の等価性検証に要する時間を大幅に削減でき、設計効率を向上させることができる。
As described above, in the present embodiment, even if any of the signal value transition occurrence times in the verification target signal does not match between the
また、回路記述100と回路記述200とは不等価であると判定された場合、回路記述200で定義された各信号の信号波形に、発生時刻変更処理後のシミュレーション結果102とシミュレーション結果202とで発生時刻が一致しない検証対象信号の信号値遷移を発生させる信号値遷移の波及経路を明示するための矢印が重なってディスプレイ2に表示されるため、回路記述100と回路記述200との不等価の原因を視覚的に認識でき、不等価の原因解析の効率を向上させることができる。回路記述100と回路記述200との不等価の原因解析に要する時間を短縮できるため、設計効率の向上に寄与できる。
When it is determined that the
なお、前述の実施形態では、SystemCによる回路記述100とVHDLによる回路記述200との等価性検証に本発明を適用した例について述べた。しかしながら、本発明は、かかる実施形態に限定されるものではない。例えば、回路記述100がその他のシステムレベル設計言語(例えば、SpecC)により記述された場合、あるいは回路記述200がその他のハードウェア記述言語(例えば、Verilog−HDL)により記述された場合にも本発明を同様に適用できる。
In the above-described embodiment, the example in which the present invention is applied to the equivalence verification between the
前述の実施形態では、回路記述100と回路記述200とは不等価であると判定された場合、回路記述200で定義された各信号の信号波形に、発生時刻変更処理後のシミュレーション結果102とシミュレーション結果202とで発生時刻が一致しない検証対象信号の信号値遷移を発生させる信号値遷移の波及経路を明示するための矢印が重なってディスプレイ2に表示される例について述べた。しかしながら、本発明は、かかる実施形態に限定されるものではない。例えば、発生時刻が一致しない検証対象信号の信号値遷移を発生させる信号値遷移の波及経路を明示するテキストメッセージをディスプレイ2に表示させてもよい。
In the above-described embodiment, when it is determined that the
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
第1設計言語で記述された上位回路記述を用いたシミュレーションにより、信号値遷移の発生毎に、信号値遷移が発生した信号の信号名を示す信号名情報と、信号値遷移の発生時刻を示す発生時刻情報と、信号値遷移後の信号値を示す第1信号値情報と、信号値遷移を発生させる信号の信号値を示す第2信号値情報とが対応づけられた上位シミュレーション結果を取得し、
前記上位回路記述から変換されて第2設計言語で記述された下位回路記述を用いたシミュレーションにより、信号値遷移の発生毎に、信号値遷移が発生した信号の信号名を示す信号名情報と、信号値遷移の発生時刻を示す発生時刻情報と、信号値遷移後の信号値を示す第1信号値情報とが対応づけられた下位シミュレーション結果を取得し、
前記上位シミュレーション結果における前記信号名情報、前記発生時刻情報、前記第1信号値情報および前記第2信号値情報に基づいて、前記上位シミュレーション結果における検証対象信号の信号値遷移の発生時刻を、前記上位シミュレーション結果における信号値遷移の波及順序が維持される限り、前記下位シミュレーション結果における前記検証対象信号の信号値遷移の発生時刻に順次変更する発生時刻変更処理を実施し、
前記検証対象信号における信号値遷移の発生時刻の全てが前記発生時刻変更処理後の上位シミュレーション結果と前記下位シミュレーション結果とで一致する場合、前記上位回路記述と前記下位回路記述とは等価であると判定することを特徴とする回路記述間の等価性検証方法。
(付記2)
付記1記載の回路記述間の等価性検証方法において、
前記下位シミュレーション結果は、信号値遷移を発生させる信号の信号値を示す第2信号値情報が更に対応づけられており、
前記検証対象信号における信号値遷移の発生時刻の少なくとも一つが前記発生時刻変更処理後の上位シミュレーション結果と前記下位シミュレーション結果とで一致しない場合、発生時刻が一致しない前記検証対象信号の信号値遷移とその信号値遷移の発生に関与する信号値遷移との前記下位シミュレーション結果における因果関係を示す因果関係情報を生成して提示することを特徴とする回路記述間の等価性検証方法。
(付記3)
付記2記載の回路記述間の等価性検証方法において、
前記下位シミュレーション結果を用いて、前記下位回路記述で定義された各信号の信号波形を生成して表示装置に表示するとともに、発生時刻が一致しない前記検証対象信号の信号値遷移を発生させる信号値遷移の波及経路を明示するための波及経路情報を前記因果関係情報として生成して前記信号波形に重ねて前記表示装置に表示することを特徴とする回路記述間の等価性検証方法。
(付記4)
第1設計言語で記述された上位回路記述と、前記上位回路記述から変換されて第2設計言語で記述された下位回路記述との等価性を検証するコンピュータに、
前記上位回路記述を用いたシミュレーションにより、信号値遷移の発生毎に、信号値遷移が発生した信号の信号名を示す信号名情報と、信号値遷移の発生時刻を示す発生時刻情報と、信号値遷移後の信号値を示す第1信号値情報と、信号値遷移を発生させる信号の信号値を示す第2信号値情報とが対応づけられた上位シミュレーション結果を取得する第1ステップと、
前記下位回路記述を用いたシミュレーションにより、信号値遷移の発生毎に、信号値遷移が発生した信号の信号名を示す信号名情報と、信号値遷移の発生時刻を示す発生時刻情報と、信号値遷移後の信号値を示す第1信号値情報とが対応づけられた下位シミュレーション結果を取得する第2ステップと、
前記上位シミュレーション結果における前記信号名情報、前記発生時刻情報、前記第1信号値情報および前記第2信号値情報に基づいて、前記上位シミュレーション結果における検証対象信号の信号値遷移の発生時刻を、前記上位シミュレーション結果における信号値遷移の波及順序が維持される限り、前記下位シミュレーション結果における前記検証対象信号の信号値遷移の発生時刻に順次変更する発生時刻変更処理を実施する第3ステップと、
前記検証対象信号における信号値遷移の発生時刻の全てが前記発生時刻変更処理後の上位シミュレーション結果と前記下位シミュレーション結果とで一致する場合、前記上位回路記述と前記下位回路記述とは等価であると判定する第4ステップとを実行させることを特徴とする回路記述間の等価性検証プログラム。
(付記5)
付記4記載の回路記述間の等価性検証プログラムにおいて、
前記下位シミュレーション結果は、信号値遷移を発生させる信号の信号値を示す第2信号値情報が更に対応づけられており、
前記第4ステップで、前記検証対象信号における信号値遷移の発生時刻の少なくとも一つが前記発生時刻変更処理後の上位シミュレーション結果と前記下位シミュレーション結果とで一致しない場合、発生時刻が一致しない前記検証対象信号の信号値遷移とその信号値遷移の発生に関与する信号値遷移との前記下位シミュレーション結果における因果関係を示す因果関係情報を生成して提示する第5ステップを前記コンピュータに更に実行させることを特徴とする回路記述間の等価性検証プログラム。
(付記6)
付記5記載の回路記述間の等価性検証方法において、
前記第5ステップは、前記下位シミュレーション結果を用いて、前記下位回路記述で定義された各信号の信号波形を生成して表示装置に表示するとともに、発生時刻が一致しない前記検証対象信号の信号値遷移を発生させる信号値遷移の波及経路を明示するための波及経路情報を前記因果関係情報として生成して前記信号波形に重ねて前記表示装置に表示するステップであることを特徴とする回路記述間の等価性検証プログラム。
The invention described in the above embodiments is organized and disclosed as an appendix.
(Appendix 1)
By the simulation using the upper circuit description described in the first design language, the signal name information indicating the signal name of the signal in which the signal value transition has occurred and the time at which the signal value transition has occurred are shown for each occurrence of the signal value transition. A higher simulation result is obtained in which the generation time information, the first signal value information indicating the signal value after the signal value transition, and the second signal value information indicating the signal value of the signal causing the signal value transition are associated with each other. ,
Signal name information indicating the signal name of the signal in which the signal value transition has occurred, for each occurrence of the signal value transition, by simulation using the lower circuit description converted from the upper circuit description and described in the second design language; Obtaining a lower simulation result in which occurrence time information indicating the occurrence time of the signal value transition and first signal value information indicating the signal value after the signal value transition are associated with each other;
Based on the signal name information, the generation time information, the first signal value information, and the second signal value information in the upper simulation result, the generation time of the signal value transition of the verification target signal in the upper simulation result is As long as the propagation order of the signal value transition in the upper simulation result is maintained, the generation time change process for sequentially changing to the generation time of the signal value transition of the verification target signal in the lower simulation result is performed,
When all the signal value transition occurrence times in the verification target signal match between the higher simulation result after the occurrence time change process and the lower simulation result, the upper circuit description and the lower circuit description are equivalent. A method for verifying equivalence between circuit descriptions, characterized by determining.
(Appendix 2)
In the method for verifying equivalence between circuit descriptions described in
The lower simulation result is further associated with second signal value information indicating a signal value of a signal causing a signal value transition,
If at least one of the signal value transition occurrence times in the verification target signal does not match between the higher simulation result after the generation time change process and the lower simulation result, the signal value transition of the verification target signal that does not match the generation time A method for verifying equivalence between circuit descriptions, characterized by generating and presenting causal relationship information indicating a causal relationship in a lower simulation result with a signal value transition involved in the occurrence of the signal value transition.
(Appendix 3)
In the method for verifying equivalence between circuit descriptions described in
Using the lower simulation result, a signal value of each signal defined in the lower circuit description is generated and displayed on a display device, and a signal value for generating a signal value transition of the verification target signal whose generation time does not match A method for verifying equivalence between circuit descriptions, characterized in that spillover path information for clearly indicating a spillover path of transition is generated as the causal relation information and displayed on the display device so as to be superimposed on the signal waveform.
(Appendix 4)
A computer for verifying equivalence between the upper circuit description described in the first design language and the lower circuit description converted from the upper circuit description and described in the second design language;
According to the simulation using the upper circuit description, for each occurrence of the signal value transition, signal name information indicating the signal name of the signal in which the signal value transition has occurred, generation time information indicating the occurrence time of the signal value transition, and signal value A first step of acquiring an upper simulation result in which first signal value information indicating a signal value after transition and second signal value information indicating a signal value of a signal causing a signal value transition are associated;
Based on the simulation using the lower circuit description, for each occurrence of the signal value transition, signal name information indicating the signal name of the signal in which the signal value transition has occurred, generation time information indicating the occurrence time of the signal value transition, and signal value A second step of acquiring a lower simulation result associated with first signal value information indicating a signal value after transition;
Based on the signal name information, the generation time information, the first signal value information, and the second signal value information in the upper simulation result, the generation time of the signal value transition of the verification target signal in the upper simulation result is A third step of performing an occurrence time changing process that sequentially changes to the occurrence time of the signal value transition of the verification target signal in the lower simulation result as long as the propagation order of the signal value transition in the upper simulation result is maintained;
When all the signal value transition occurrence times in the verification target signal match between the higher simulation result after the occurrence time change process and the lower simulation result, the upper circuit description and the lower circuit description are equivalent. A program for verifying equivalence between circuit descriptions, characterized in that a fourth step of determination is executed.
(Appendix 5)
In the equivalence checking program between circuit descriptions described in
The lower simulation result is further associated with second signal value information indicating a signal value of a signal causing a signal value transition,
In the fourth step, if at least one of the occurrence times of signal value transitions in the verification target signal does not match between the higher simulation result after the generation time change process and the lower simulation result, the verification target whose generation times do not match Causing the computer to further execute a fifth step of generating and presenting causal relationship information indicating the causal relationship in the lower simulation result between the signal value transition of the signal and the signal value transition involved in the generation of the signal value transition. A program for verifying equivalence between circuit descriptions.
(Appendix 6)
In the method for verifying equivalence between circuit descriptions according to
The fifth step uses the lower simulation result to generate a signal waveform of each signal defined in the lower circuit description and display it on a display device, and the signal value of the verification target signal whose generation time does not match Between circuit descriptions characterized in that it is a step of generating, as the causal relationship information, spillover path information for clearly indicating a spillover path of a signal value transition that causes a transition, and displaying the spillover path information on the display device in a superimposed manner Equivalence verification program.
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。 As mentioned above, although this invention was demonstrated in detail, the above-mentioned embodiment and its modification are only examples of this invention, and this invention is not limited to these. Obviously, modifications can be made without departing from the scope of the present invention.
1 ワークステーション
2 ディスプレイ
3 キーボード
4 CPU
5 ハードディスク
6 記録媒体ドライブ装置
7 制御装置
8 CD−ROM
9 フレキシブルディスク
10 上位回路記述
12 上位シミュレーション結果
20 下位回路記述
22 下位シミュレーション結果
100、200 回路記述
101、201 テストベンチ
102、202 シミュレーション結果
1
5
9
Claims (5)
前記上位回路記述から変換されて第2設計言語で記述された下位回路記述を用いたシミュレーションにより、信号値遷移の発生毎に、信号値遷移が発生した信号の信号名を示す信号名情報と、信号値遷移の発生時刻を示す発生時刻情報と、信号値遷移後の信号値を示す第1信号値情報とが対応づけられた下位シミュレーション結果を取得し、
前記上位シミュレーション結果における前記信号名情報、前記発生時刻情報、前記第1信号値情報および前記第2信号値情報に基づいて、前記上位シミュレーション結果における検証対象信号の信号値遷移の発生時刻を、前記上位シミュレーション結果における信号値遷移の波及順序が維持される限り、前記下位シミュレーション結果における前記検証対象信号の信号値遷移の発生時刻に順次変更する発生時刻変更処理を実施し、
前記検証対象信号における信号値遷移の発生時刻の全てが前記発生時刻変更処理後の上位シミュレーション結果と前記下位シミュレーション結果とで一致する場合、前記上位回路記述と前記下位回路記述とは等価であると判定することを特徴とする回路記述間の等価性検証方法。 By the simulation using the upper circuit description described in the first design language, the signal name information indicating the signal name of the signal in which the signal value transition has occurred and the time at which the signal value transition has occurred are shown for each occurrence of the signal value transition. A higher simulation result is obtained in which the generation time information, the first signal value information indicating the signal value after the signal value transition, and the second signal value information indicating the signal value of the signal causing the signal value transition are associated with each other. ,
Signal name information indicating the signal name of the signal in which the signal value transition has occurred, for each occurrence of the signal value transition, by simulation using the lower circuit description converted from the upper circuit description and described in the second design language; Obtaining a lower simulation result in which occurrence time information indicating the occurrence time of the signal value transition and first signal value information indicating the signal value after the signal value transition are associated with each other;
Based on the signal name information, the generation time information, the first signal value information, and the second signal value information in the upper simulation result, the generation time of the signal value transition of the verification target signal in the upper simulation result is As long as the propagation order of the signal value transition in the upper simulation result is maintained, the generation time change process for sequentially changing to the generation time of the signal value transition of the verification target signal in the lower simulation result is performed,
When all the signal value transition occurrence times in the verification target signal match between the higher simulation result after the occurrence time change process and the lower simulation result, the upper circuit description and the lower circuit description are equivalent. A method for verifying equivalence between circuit descriptions, characterized by determining.
前記下位シミュレーション結果は、信号値遷移を発生させる信号の信号値を示す第2信号値情報が更に対応づけられており、
前記検証対象信号における信号値遷移の発生時刻の少なくとも一つが前記発生時刻変更処理後の上位シミュレーション結果と前記下位シミュレーション結果とで一致しない場合、発生時刻が一致しない前記検証対象信号の信号値遷移とその信号値遷移の発生に関与する信号値遷移との前記下位シミュレーション結果における因果関係を示す因果関係情報を生成して提示することを特徴とする回路記述間の等価性検証方法。 The equivalence checking method between circuit descriptions according to claim 1,
The lower simulation result is further associated with second signal value information indicating a signal value of a signal causing a signal value transition,
If at least one of the signal value transition occurrence times in the verification target signal does not match between the higher simulation result after the generation time change process and the lower simulation result, the signal value transition of the verification target signal that does not match the generation time A method for verifying equivalence between circuit descriptions, characterized by generating and presenting causal relationship information indicating a causal relationship in a lower simulation result with a signal value transition involved in the occurrence of the signal value transition.
前記下位シミュレーション結果を用いて、前記下位回路記述で定義された各信号の信号波形を生成して表示装置に表示するとともに、発生時刻が一致しない前記検証対象信号の信号値遷移を発生させる信号値遷移の波及経路を明示するための波及経路情報を前記因果関係情報として生成して前記信号波形に重ねて前記表示装置に表示することを特徴とする回路記述間の等価性検証方法。 The equivalence checking method between circuit descriptions according to claim 2,
Using the lower simulation result, a signal value of each signal defined in the lower circuit description is generated and displayed on a display device, and a signal value for generating a signal value transition of the verification target signal whose generation time does not match A method for verifying equivalence between circuit descriptions, characterized in that spillover path information for clearly indicating a spillover path of transition is generated as the causal relation information and displayed on the display device so as to be superimposed on the signal waveform.
前記上位回路記述を用いたシミュレーションにより、信号値遷移の発生毎に、信号値遷移が発生した信号の信号名を示す信号名情報と、信号値遷移の発生時刻を示す発生時刻情報と、信号値遷移後の信号値を示す第1信号値情報と、信号値遷移を発生させる信号の信号値を示す第2信号値情報とが対応づけられた上位シミュレーション結果を取得する第1ステップと、
前記下位回路記述を用いたシミュレーションにより、信号値遷移の発生毎に、信号値遷移が発生した信号の信号名を示す信号名情報と、信号値遷移の発生時刻を示す発生時刻情報と、信号値遷移後の信号値を示す第1信号値情報とが対応づけられた下位シミュレーション結果を取得する第2ステップと、
前記上位シミュレーション結果における前記信号名情報、前記発生時刻情報、前記第1信号値情報および前記第2信号値情報に基づいて、前記上位シミュレーション結果における検証対象信号の信号値遷移の発生時刻を、前記上位シミュレーション結果における信号値遷移の波及順序が維持される限り、前記下位シミュレーション結果における前記検証対象信号の信号値遷移の発生時刻に順次変更する発生時刻変更処理を実施する第3ステップと、
前記検証対象信号における信号値遷移の発生時刻の全てが前記発生時刻変更処理後の上位シミュレーション結果と前記下位シミュレーション結果とで一致する場合、前記上位回路記述と前記下位回路記述とは等価であると判定する第4ステップとを実行させることを特徴とする回路記述間の等価性検証プログラム。 A computer for verifying equivalence between the upper circuit description described in the first design language and the lower circuit description converted from the upper circuit description and described in the second design language;
According to the simulation using the upper circuit description, for each occurrence of the signal value transition, signal name information indicating the signal name of the signal in which the signal value transition has occurred, generation time information indicating the occurrence time of the signal value transition, and signal value A first step of acquiring an upper simulation result in which first signal value information indicating a signal value after transition and second signal value information indicating a signal value of a signal causing a signal value transition are associated;
Based on the simulation using the lower circuit description, for each occurrence of the signal value transition, signal name information indicating the signal name of the signal in which the signal value transition has occurred, generation time information indicating the occurrence time of the signal value transition, and signal value A second step of acquiring a lower simulation result associated with first signal value information indicating a signal value after transition;
Based on the signal name information, the generation time information, the first signal value information, and the second signal value information in the upper simulation result, the generation time of the signal value transition of the verification target signal in the upper simulation result is A third step of performing an occurrence time changing process that sequentially changes to the occurrence time of the signal value transition of the verification target signal in the lower simulation result as long as the propagation order of the signal value transition in the upper simulation result is maintained;
When all the signal value transition occurrence times in the verification target signal match between the higher simulation result after the occurrence time change process and the lower simulation result, the upper circuit description and the lower circuit description are equivalent. A program for verifying equivalence between circuit descriptions, characterized in that a fourth step of determination is executed.
前記下位シミュレーション結果は、信号値遷移を発生させる信号の信号値を示す第2信号値情報が更に対応づけられており、
前記第4ステップで、前記検証対象信号における信号値遷移の発生時刻の少なくとも一つが前記発生時刻変更処理後の上位シミュレーション結果と前記下位シミュレーション結果とで一致しない場合、発生時刻が一致しない前記検証対象信号の信号値遷移とその信号値遷移の発生に関与する信号値遷移との前記下位シミュレーション結果における因果関係を示す因果関係情報を生成して提示する第5ステップを前記コンピュータに更に実行させることを特徴とする回路記述間の等価性検証プログラム。 The equivalence checking program between circuit descriptions according to claim 4,
The lower simulation result is further associated with second signal value information indicating a signal value of a signal causing a signal value transition,
In the fourth step, if at least one of the occurrence times of signal value transitions in the verification target signal does not match between the higher simulation result after the generation time change process and the lower simulation result, the verification target whose generation times do not match Causing the computer to further execute a fifth step of generating and presenting causal relationship information indicating the causal relationship in the lower simulation result between the signal value transition of the signal and the signal value transition involved in the generation of the signal value transition. A program for verifying equivalence between circuit descriptions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004131551A JP2005316595A (en) | 2004-04-27 | 2004-04-27 | Method for verifying equivalence between circuit description and program for verifying equivalence between circuit description |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004131551A JP2005316595A (en) | 2004-04-27 | 2004-04-27 | Method for verifying equivalence between circuit description and program for verifying equivalence between circuit description |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005316595A true JP2005316595A (en) | 2005-11-10 |
Family
ID=35443979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004131551A Withdrawn JP2005316595A (en) | 2004-04-27 | 2004-04-27 | Method for verifying equivalence between circuit description and program for verifying equivalence between circuit description |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005316595A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008181490A (en) * | 2006-12-15 | 2008-08-07 | Onespin Solutions Gmbh | Equivalence verification between transaction level model and register transfer level in instance of processor |
US7512913B2 (en) | 2005-12-26 | 2009-03-31 | Fujitsu Microelectronics Limited | Designing apparatus, designing method, and program thereof |
US8122402B2 (en) | 2008-03-24 | 2012-02-21 | Renesas Electronics Corporation | Equivalence checking method, equivalence checking program, and generating method for equivalence checking program |
US8359561B2 (en) | 2007-12-06 | 2013-01-22 | Onespin Solutions Gmbh | Equivalence verification between transaction level models and RTL at the example to processors |
-
2004
- 2004-04-27 JP JP2004131551A patent/JP2005316595A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512913B2 (en) | 2005-12-26 | 2009-03-31 | Fujitsu Microelectronics Limited | Designing apparatus, designing method, and program thereof |
JP2008181490A (en) * | 2006-12-15 | 2008-08-07 | Onespin Solutions Gmbh | Equivalence verification between transaction level model and register transfer level in instance of processor |
US8359561B2 (en) | 2007-12-06 | 2013-01-22 | Onespin Solutions Gmbh | Equivalence verification between transaction level models and RTL at the example to processors |
US8122402B2 (en) | 2008-03-24 | 2012-02-21 | Renesas Electronics Corporation | Equivalence checking method, equivalence checking program, and generating method for equivalence checking program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4251964B2 (en) | Verification device, verification method, and program | |
JPH10283381A (en) | Method for supporting gated clock design and device therefor and computer readable record medium for storing program for supporting gated clock design | |
JP4481762B2 (en) | Logic verification device, logic verification method, logic verification program, and recording medium | |
JP5040758B2 (en) | Simulation apparatus, simulation method, and program | |
US20110295536A1 (en) | Clock jitter analyzing method and apparatus | |
US8321825B2 (en) | Method and system for synthesizing relative timing constraints on an integrated circuit design to facilitate timing verification | |
US8135557B2 (en) | Apparatus for testing semiconductor integrated circuit and method for testing semiconductor integrated circuit | |
JP2005316595A (en) | Method for verifying equivalence between circuit description and program for verifying equivalence between circuit description | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
JP2006318121A (en) | Delay added rtl logic simulation method and device | |
US8516419B2 (en) | Verification device of semiconductor integrated circuit, verification method of semiconductor integrated circuit, and computer readable medium storing verification program of semiconductor integrated circuit | |
JPWO2006025412A1 (en) | Logic verification method, logic module data, device data, and logic verification apparatus | |
US8694937B2 (en) | Implementing and checking electronic circuits with flexible ramptime limits and tools for performing the same | |
JP2009187119A (en) | Verification support program, verification support device, and verification support method | |
JP2012160145A (en) | Logic simulation method and logic simulation apparatus | |
JP2006163600A (en) | Internal signal monitoring method and logic simulation device | |
JP2001235522A (en) | Test vector forming device | |
JP2006331212A (en) | Logic simulation method and apparatus thereof | |
JP2006012008A (en) | Timing model, and lsi design method using it | |
JPH11120212A (en) | Method and device for designing circuit and recording medium recorded with program therefor | |
JP2007241836A (en) | Multi-cycle path verification method | |
JP6331400B2 (en) | Verification method, verification apparatus, and verification program | |
JP2008129921A (en) | Logic function verification apparatus and logic function verification method | |
JP2003067434A (en) | Logical circuit improving device, method and program | |
JP2000250953A (en) | Simulation device for circuit verification and simulation method for circuit verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070703 |