JP2009199274A - Design verification program, design verification method, and design verification device - Google Patents
Design verification program, design verification method, and design verification device Download PDFInfo
- Publication number
- JP2009199274A JP2009199274A JP2008039363A JP2008039363A JP2009199274A JP 2009199274 A JP2009199274 A JP 2009199274A JP 2008039363 A JP2008039363 A JP 2008039363A JP 2008039363 A JP2008039363 A JP 2008039363A JP 2009199274 A JP2009199274 A JP 2009199274A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- description
- monitor
- netlist
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は設計検証プログラム、設計検証方法および設計検証装置に関し、特に、ゲートレベルのネットリスト記述を用いた設計検証プログラム、設計検証方法および設計検証装置に関する。 The present invention relates to a design verification program, a design verification method, and a design verification apparatus, and more particularly to a design verification program, a design verification method, and a design verification apparatus using a gate-level netlist description.
LSI(Large Scale Integration)の回路設計では、一般的にハードウェア記述言語(HDL:Hardware Description Language)を用いて、論理回路を設計する技術が知られている(例えば、特許文献1、2参照)。
In circuit design of LSI (Large Scale Integration), a technique for designing a logic circuit using a hardware description language (HDL) is generally known (see, for example,
図36は、設計検証フローを示すフローチャートである。
論理検証においては、まず、作成したRTL記述(Resister Transfer Level)のシミュレーションによる論理検証を行い回路の論理機能動作を確認する(ステップS91)。
FIG. 36 is a flowchart showing a design verification flow.
In the logic verification, first, logic verification is performed by simulation of the created RTL description (Resister Transfer Level) to confirm the logic function operation of the circuit (step S91).
論理検証後、論理合成を行いゲートレベルのネットリスト(Netlist)記述を生成する(ステップS92)。
ネットリスト記述とRTL記述のFormal検証(論理等価検証)を行い、論理が等価であることを確認する(ステップS93)。
After logic verification, logic synthesis is performed to generate a gate-level netlist description (step S92).
Formal verification (logical equivalence verification) of the netlist description and the RTL description is performed to confirm that the logic is equivalent (step S93).
論理等価の確認ができたら、レイアウトを行い、タイミング調整やテスト回路追加等を行った実配線のネットリスト記述および遅延情報ファイル(SDF:Standard Delay Format)を生成する(ステップS94)。 If the logical equivalence can be confirmed, layout is performed, and a netlist description and delay information file (SDF: Standard Delay Format) of the actual wiring subjected to timing adjustment, test circuit addition, and the like are generated (step S94).
実配線のネットリスト記述および遅延情報ファイルを用いて、ゲートレベルのダイナミック・シミュレーションによる論理検証、タイミング検証を行い、回路の論理機能動作の確認およびタイミングスペックの確認を行う(ステップS95)。
RTL記述の検証の際には、PSL(Property Specification Language)やSVA(SystemVerilog Assertion)等のアサーション言語のアサーションチェッカを用いて内部信号のアサーションチェック(プロパティチェック)を行っている。詳しくは、ある条件が成立していなければならない部分にアサーションチェッカを用いてチェック用のコードを入れ、その条件に違反している場合はエラーを出力することでプログラムをチェックしている。 When verifying an RTL description, an assertion check (property check) of an internal signal is performed using an assertion checker of an assertion language such as PSL (Property Specification Language) or SVA (System Verilog Assertion). Specifically, a code for checking is inserted into a portion where a certain condition must be satisfied by using an assertion checker, and if the condition is violated, an error is output to check the program.
ゲートレベルのダイナミック・シミュレーションによる論理検証においては、RTL記述検証では発見できない非同期回路による誤動作やSTA(Static Timing Analyzer)でのタイミングケア漏れによる誤動作等を発見するための検証を行うが、現状のネットリスト検証ではRTL記述の検証で使用したアサーションチェッカをそのまま使うことができない。 In logic verification by gate-level dynamic simulation, verification is performed to detect malfunctions due to asynchronous circuits that cannot be detected by RTL description verification, malfunctions due to timing care leakage in STA (Static Timing Analyzer), etc. In the list verification, the assertion checker used in the verification of the RTL description cannot be used as it is.
これは論理合成後のネットリスト記述が、RTL記述と論理が等価であっても異なる回路構成になってしまったり、RTL記述とは異なる信号名に変わってしまったりするためである。 This is because the netlist description after logic synthesis has a different circuit configuration even if the logic is equivalent to the RTL description, or the signal name is different from that of the RTL description.
図37は、RTL記述により実現されるモジュール回路の一例を示す図である。
モジュール回路90は、入力側からレジスタ(D−FF回路)F91と、AND回路AND91と、レジスタF92と、AND回路AND92と、AND回路AND93とを有している。
FIG. 37 is a diagram illustrating an example of a module circuit realized by RTL description.
The module circuit 90 includes a register (D-FF circuit) F91, an AND circuit AND91, a register F92, an AND circuit AND92, and an AND circuit AND93 from the input side.
レジスタF91には信号名「DIN」の信号が入力され、信号名「CLK」の信号に同期して動作する。
AND回路AND91の入力には、それぞれ信号名「XMSK」の信号およびレジスタF91が出力する信号が入力される。
A signal having a signal name “DIN” is input to the register F91 and operates in synchronization with the signal having a signal name “CLK”.
The signal of the signal name “XMSK” and the signal output from the register F91 are input to the inputs of the AND circuit AND91.
レジスタF92には、AND回路AND91が出力する信号名「a」の信号が入力され、信号名「CLK」の信号に同期して動作する。
AND回路AND92の入力には、信号名「XMSK」の信号およびレジスタF92が出力する信号が入力される。
The register F92 receives the signal with the signal name “a” output from the AND circuit AND91, and operates in synchronization with the signal with the signal name “CLK”.
The signal of the signal name “XMSK” and the signal output from the register F92 are input to the input of the AND circuit AND92.
AND回路AND93の入力には、信号名「a」の信号の論理を反転させた信号およびAND回路AND92が出力する信号名「b」の信号が入力される。
ここで、アサーションチェッカ91は、信号名「CLK」の信号に同期して動作し、信号名「a」の信号および信号名「b」の信号をチェックする。
To the input of the AND circuit AND93, a signal obtained by inverting the logic of the signal named “a” and a signal named “b” output from the AND circuit AND92 are input.
Here, the
図38は、ネットリスト記述により実現されるネットリスト回路の一例を示す図である。
ネットリスト回路90aは、図37に示すモジュール回路90を実現するRTL記述を論理合成して得られたネットリスト記述により実現される回路である。
FIG. 38 is a diagram illustrating an example of a net list circuit realized by a net list description.
The net list circuit 90a is a circuit realized by a net list description obtained by logically synthesizing an RTL description for realizing the module circuit 90 shown in FIG.
ネットリスト回路90aでは、AND回路AND92の論理とAND回路AND93の論理とがまとめられてAND回路AND94になっており、信号名「a」の信号は、信号名「n0」の信号に変わってしまっている。また、信号名「b」の信号は、論理圧縮されて対応する信号が存在しなくなっている。このため、アサーションチェッカ91は、対象となる信号が存在せず、チェックすることができない(動作しない)。
In the netlist circuit 90a, the logic of the AND circuit AND92 and the logic of the AND circuit AND93 are combined into an AND circuit AND94, and the signal with the signal name “a” is changed to the signal with the signal name “n0”. ing. Further, the signal with the signal name “b” is logically compressed and no corresponding signal exists. For this reason, the
ここで、アサーションチェッカ91をネットリスト回路90a用に作り直すことも考えられるが、論理合成の度に異なる回路構成に変わる可能性があり、アサーションチェッカ91の構成を一義的に定めることはできず、実現させるのは難しい。
Here, it is conceivable to recreate the
このように、論理合成によって回路構成が変化した場合や、RTL記述とは異なる信号名に変わってしまった場合、アサーションチェックを行うことができず、誤動作が発生したとき、どこの内部信号で誤動作が発生しているのかを解析するのに非常に時間がかかるという問題がある。 As described above, when the circuit configuration is changed by logic synthesis or when the signal name is different from that of the RTL description, the assertion check cannot be performed. There is a problem that it takes a very long time to analyze whether or not this occurs.
また誤動作が外部端子まで伝搬しない場合、誤動作を発見することができないという問題がある。
本発明はこのような点に鑑みてなされたものであり、ネットリスト検証でRTL記述と同等のアサーションチェックを可能とする設計検証プログラム、設計検証方法および設計検証装置を提供することを目的とする。
Further, there is a problem that when a malfunction does not propagate to an external terminal, the malfunction cannot be found.
The present invention has been made in view of these points, and it is an object of the present invention to provide a design verification program, a design verification method, and a design verification apparatus that enable an assertion check equivalent to an RTL description in netlist verification. .
上記目的を達成するために、以下のような設計検証プログラムが提供される。この設計検証プログラムは、ゲートレベルのネットリスト記述を用いた設計検証を行うプログラムであり、コンピュータを、作成処理手段、関連づけ処理手段、として機能させる。 In order to achieve the above object, the following design verification program is provided. The design verification program is a program for performing design verification using a gate-level netlist description, and causes a computer to function as a creation processing unit and an association processing unit.
作成処理手段は、作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する。
関連づけ処理手段は、RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名をモニタ記述の入力信号の信号名に関連づける。
The creation processing means creates a monitor description of the monitor of the combinational circuit in which the description related to the register is deleted from the created RTL description of the RTL.
The association processing means associates the signal name of the corresponding signal among the signal names of the input / output signals in the net list description of the net list obtained by logically synthesizing the RTL with the signal name of the input signal of the monitor description.
このような設計検証プログラムによれば、作成処理手段によりモニタ記述が作成され、関連づけ処理手段により、ネットリスト記述の入出力信号に対応するモニタ記述の入力信号が関連づけられる。従って、レジスタ・トランスファ・レベルで使用していた組み合わせ回路の内部信号名でアサーションチェックが可能となる。 According to such a design verification program, the monitor description is created by the creation processing means, and the input signal of the monitor description corresponding to the input / output signal of the netlist description is related by the association processing means. Therefore, an assertion check can be performed with the internal signal name of the combinational circuit used at the register transfer level.
開示の設計検証プログラム、設計検証方法および設計検証装置によれば、ネットリスト検証でRTL記述と同等のアサーションチェックが可能となるため、誤動作発生箇所を容易に発見することができる。 According to the disclosed design verification program, design verification method, and design verification apparatus, an assertion check equivalent to the RTL description can be performed by netlist verification, so that a malfunctioning location can be easily found.
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
First, an outline of the present invention will be described, and then an embodiment will be described.
FIG. 1 is a diagram showing an outline of the present invention.
設計検証プログラムは、ゲートレベルのネットリスト記述を用いた設計検証を行うプログラムであり、コンピュータ1を、作成処理手段2、関連づけ処理手段3、として機能させる。
The design verification program is a program for performing design verification using a net list description at the gate level, and causes the
作成処理手段2は、作成されたRTLのRTL記述4からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する。
ここで、組み合わせ回路は、論理式に基づき、AND回路やOR回路等のゲート素子を組み合わせたもので、入力の値だけで出力が定まり、過去の状態には影響されない回路である。また、レジスタは、組み合わせ回路と記憶回路で構成され、出力は入力と回路の現在の状態によって定まるものを言う。
The
Here, the combinational circuit is a circuit in which gate elements such as an AND circuit and an OR circuit are combined based on a logical expression, and an output is determined only by an input value and is not affected by a past state. A register includes a combinational circuit and a memory circuit, and an output is determined by an input and a current state of the circuit.
関連づけ処理手段3は、RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名をモニタ記述の入力信号の信号名に関連づける。 The association processing means 3 associates the signal name of the corresponding signal with the signal name of the input signal of the monitor description among the signal names of the input / output signals in the netlist description of the netlist obtained by logically synthesizing the RTL.
詳しくは、モニタ記述に記述された入力信号の信号名に等しい、ネットリスト記述に記述された入力信号の信号名を互いに関連づける。また、モニタ記述を作成する際に、削除したレジスタが出力していた信号の信号名に等しい、ネットリスト記述に記述されたレジスタが出力する信号の信号名を互いに関連づける。 Specifically, the signal names of the input signals described in the netlist description that are equal to the signal names of the input signals described in the monitor description are associated with each other. Further, when creating the monitor description, the signal names of the signals output from the registers described in the netlist description, which are equal to the signal names of the signals output from the deleted registers, are associated with each other.
このような設計検証プログラムによれば、作成処理手段2によりモニタ記述が作成され、関連づけ処理手段3により、ネットリスト記述の入出力信号に対応するモニタ記述の入力信号が関連づけられる。従って、RTLで使用していた組み合わせ回路の内部信号名でアサーションチェックが可能となり、RTLと同等のアサーションチェックがネットリスト検証で可能になる。 According to such a design verification program, a monitor description is created by the creation processing means 2, and an input signal of the monitor description corresponding to the input / output signal of the netlist description is related by the association processing means 3. Therefore, an assertion check can be performed using the internal signal name of the combinational circuit used in the RTL, and an assertion check equivalent to the RTL can be performed by the netlist verification.
以下、本発明の実施の形態を説明する。
図2は、設計検証装置のハードウェア構成例を示す図である。
設計検証装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
Embodiments of the present invention will be described below.
FIG. 2 is a diagram illustrating a hardware configuration example of the design verification apparatus.
The design verification apparatus 100 is entirely controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。また、HDD103内には、プログラムファイルが格納される。
The
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
A monitor 104 a is connected to the
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
The
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成のシステムにおいて設計検証を行うために、設計検証装置100内には、以下のような機能が設けられる。 With the hardware configuration as described above, the processing functions of the present embodiment can be realized. In order to perform design verification in a system having such a hardware configuration, the following functions are provided in the design verification apparatus 100.
図3は、設計検証装置の構成を示すブロック図である。
設計検証装置100は、アサーションチェック部200と、設計検証部300と、RTL記述格納部400と、ネットリスト記述格納部500と、実配線SDF格納部600と、モニタ記述格納部700と、テストベンチ記述格納部800と、ライブラリ格納部900と、FV(Formal Verification)スクリプト格納部1000とを有している。
FIG. 3 is a block diagram showing the configuration of the design verification apparatus.
The design verification apparatus 100 includes an
LSIの回路設計ではユーザが、ハードウェア記述言語(HDL)を用いて、RTLで回路の論理機能の記述を行う。
アサーションチェック部200は、ある条件が成立していなければならない部分にチェック用のコードを入れ、その条件に違反している場合はエラーを出力することで、プログラムをチェックする。
In LSI circuit design, a user describes a logic function of a circuit in RTL using a hardware description language (HDL).
The
設計検証部300は、後述する設計検証処理を行うことによって、作成されたRTL記述の検証を行う。
RTL記述格納部400には、アサーションチェックが行われたRTL記述が格納される。
The
The RTL
ネットリスト記述格納部500には、RTL記述の論理合成およびレイアウト処理により作成されたネットリスト記述が格納される。
実配線SDF格納部600には、レイアウト処理によって配設された実配線SDFが格納される。
The net list
The actual wiring
モニタ記述格納部700には、アサーションチェックを行うために作成されたモニタ記述が格納される。
テストベンチ記述格納部800には、論理的に正常に動作するか否かを確認するための入力値と期待値の集合を備えるテストベンチ記述が格納される。
The
The test bench
ライブラリ格納部900には、RTL記述とネットリスト記述を関連づけたライブラリが格納される。
FVスクリプト格納部1000には、RTL記述からの変更内容が設定されたFVスクリプトが格納される。
The
The FV
図4は、設計検証部の機能を示すブロック図である。
設計検証部300は、シミュレーション実行部310と、論理合成部320と、Formal検証部330と、レイアウト実行部340と、モニタ記述作成部350と、関連づけ処理部360と、タイミング検証部370とを有している。
FIG. 4 is a block diagram illustrating functions of the design verification unit.
The
シミュレーション実行部310は、作成されたRTL記述のシミュレーションを行って回路の論理機能動作を確認する。
論理合成部320は、HDLで記述された論理機能を実際のゲート回路に変換してネットリスト記述を出力する。
The
The
Formal検証部330は、出力されたネットリスト記述がRTL記述と等価であることを検証するFormal検証を行う。
レイアウト実行部340は、論理等価の検証ができたネットリスト記述に対してレイアウトを行い、タイミング調整やテスト回路追加等を行った実配線のネットリスト記述および寄生容量、抵抗を含んだ遅延情報ファイル(SDF)を作成する。
The
The
モニタ記述作成部350は、アサーションチェックを行ったRTL記述からレジスタを全て削除した組み合わせ回路のみのモニタ記述を作成する。
関連づけ処理部360は、モニタ記述作成部350が作成したモニタ記述の入力信号と、ネットリスト記述の入力信号およびネットリスト記述内部のレジスタが出力する信号とを関連づける。
The monitor
The
タイミング検証部370は、実配線のネットリスト記述および遅延情報ファイルに加え、モニタ記述を用いてゲートレベルのダイナミック・シミュレーションによる論理検証、STAによるタイミング検証を行い、回路の論理機能動作の確認およびタイミングスペックの確認を行う。
The
次に、本実施の形態の設計検証方法について説明する。
<第1の実施の形態の設計検証方法>
図5は、第1の実施の形態の設計検証処理を示す処理フローである。
Next, the design verification method of this embodiment will be described.
<Design verification method of the first embodiment>
FIG. 5 is a processing flow showing the design verification processing according to the first embodiment.
まず、シミュレーション実行部310が、作成され、RTL記述格納部400に格納されているRTL記述のシミュレーションによる論理検証を行い、回路の論理機能動作を確認する(ステップS1)。
First, the
論理機能動作が期待通りでなかった場合(ステップS1のNo)、処理を終了する。
論理検証動作が期待通りであった場合(ステップS1のYes)、論理合成部320が、論理合成を行いゲートレベルのネットリスト記述を生成する(ステップS2)。生成したネットリスト記述はネットリスト記述格納部500に格納する。
If the logical function operation is not as expected (No in step S1), the process ends.
If the logic verification operation is as expected (Yes in step S1), the
次に、Formal検証部330が、ネットリスト記述とRTL記述のFormal検証を行い、論理が等価であることを確認する(ステップS3)。
論理が等価でない場合(ステップS3のNo)、処理を終了する。
Next, the
If the logic is not equivalent (No in step S3), the process ends.
論理が等価である場合(ステップS3のYes)、レイアウト実行部340が、レイアウトを行い、実配線のネットリスト記述および遅延情報ファイルを生成する(ステップS4)。生成したネットリスト記述はネットリスト記述格納部500に格納し、生成した遅延情報ファイルは、実配線SDF格納部600に格納する。
If the logic is equivalent (Yes in step S3), the
一方、モニタ記述作成部350は、RTL記述格納部400からRTL記述を取り出し、モジュール回路(組み合わせ回路)のモニタ記述を作成するモニタ記述作成処理を行う(ステップS5)。この処理については後に詳述する。
On the other hand, the monitor
そして、作成されたモジュール回路のモニタ記述をモニタ記述格納部700に格納する。
また、関連づけ処理部360は、モニタ記述の信号をネットリスト記述格納部500に格納されているネットリスト記述の信号またはテストベンチ記述格納部800に格納されているテストベンチ記述の信号に関連づけてこれらの信号同士を互いに関連づける関連づけ処理を行う(ステップS6)。この処理についても後に詳述する。
Then, the created monitor description of the module circuit is stored in the monitor
The
タイミング検証部370は、実配線のネットリスト記述および遅延情報ファイルに加え、モニタ記述を用いてゲートレベルのダイナミック・シミュレーションによる論理検証、タイミング検証を行う(ステップS7)。
The
論理機能動作が期待通りでなかった場合(ステップS7の動作No)、処理を終了する。
タイミングスペックが満たされなかった場合(ステップS7のタイミングNo)、ステップS4に移行し、再度レイアウトを行う。
If the logical function operation is not as expected (operation No in step S7), the process ends.
If the timing specifications are not satisfied (timing No in step S7), the process proceeds to step S4 and layout is performed again.
論理機能動作が期待通りであり、かつ、タイミングスペックを満たした場合(ステップS7のYes)、タイミング検証部370が、実配線のネットリスト記述および遅延情報ファイルを用いて、STAによるタイミング検証およびタイミングスペックの確認を行う(ステップS8)。
When the logical function operation is as expected and the timing specification is satisfied (Yes in step S7), the
論理的に問題がある場合(ステップS8の動作No)、処理を終了する。
タイミングスペックが満たされなかった場合(ステップS8のタイミングNo)、ステップS4に移行し、再度レイアウトを行う。
If there is a logical problem (operation No in step S8), the process ends.
If the timing specifications are not satisfied (timing No in step S8), the process proceeds to step S4 and layout is performed again.
論理的に問題がなく、かつ、タイミングスペックを満たした場合(ステップS8のYes)、処理フローを終了する。
なお、論理機能動作が期待通りでなかった場合(ステップS1のNo)、論理が等価でない場合(ステップS3のNo)、論理機能動作が期待通りでなかった場合(ステップS7の動作No)、および論理的に問題がある場合(ステップS8の動作No)は、ユーザによって再度RTL記述が作成(再調整)され、第1の設計検証処理が再度繰り返される。
If there is no logical problem and the timing specification is satisfied (Yes in step S8), the processing flow is terminated.
Note that when the logical function operation is not as expected (No in step S1), when the logic is not equivalent (No in step S3), when the logical function operation is not as expected (operation No in step S7), and When there is a logical problem (operation No in step S8), the RTL description is created (readjusted) again by the user, and the first design verification process is repeated again.
このようにして論理検証およびタイミング検証を行った後に、試作品のチップを作成し、実機評価での動作確認を行う。
実機動作が期待通りでなかった場合、回路の論理に問題がある場合は再度RTL記述を作成し、タイミングに問題がある場合は再度レイアウトを行う。
After performing logic verification and timing verification in this way, a prototype chip is created, and operation verification is performed in actual machine evaluation.
If the actual machine operation is not as expected, if there is a problem in the logic of the circuit, the RTL description is created again, and if there is a problem in the timing, the layout is performed again.
実機評価の確認ができたら、回路の量産に入り、LSIの回路設計は完了する。
<第1のモニタ記述作成処理>
次に、図5に示すステップS5のモニタ記述作成処理(第1のモニタ記述作成処理)について詳しく説明する。
If the actual machine evaluation can be confirmed, the circuit will be mass-produced and the LSI circuit design will be completed.
<First monitor description creation process>
Next, the monitor description creation process (first monitor description creation process) in step S5 shown in FIG. 5 will be described in detail.
図6は、第1のモニタ記述作成処理を示すフローチャートである。
まず、モニタ記述作成部350が、RTL記述格納部400に格納されているRTL記述を取り出し、RTL記述のモジュール回路名を別の名前に変更する(ステップS11)。
FIG. 6 is a flowchart showing the first monitor description creation process.
First, the monitor
次に、モニタ記述作成部350が、別の名前に変更したRTL記述からレジスタ記述に関する部位を全て削除する(ステップS12)。
次に、モニタ記述作成部350が、削除したモニタ記述に含まれる信号の信号名を、モニタ記述の外部から入力される信号の信号名として追加する(ステップS13)。
Next, the monitor
Next, the monitor
以上で、第1のモニタ記述作成処理を終了する。
次に、第1のモニタ記述作成処理の具体例を説明する。
図7は、RTL記述格納部に格納されているRTL記述の一例を示す図であり、図8は、図7に示すRTL記述により実現されるモジュール回路を示す図である。
This completes the first monitor description creation process.
Next, a specific example of the first monitor description creation process will be described.
FIG. 7 is a diagram illustrating an example of the RTL description stored in the RTL description storage unit, and FIG. 8 is a diagram illustrating a module circuit realized by the RTL description illustrated in FIG.
図8に示すモジュール回路11は、図7に示すRTL記述r1により実現される回路である。
モジュール回路11のモジュール回路名は、「dut」であり、入力側からレジスタ(D−FF)F0_regと、AND回路and2と、レジスタF1_regと、AND回路and3と、AND回路and4とを有している。
The module circuit 11 shown in FIG. 8 is a circuit realized by the RTL description r1 shown in FIG.
The module circuit name of the module circuit 11 is “dut”, and includes a register (D-FF) F0_reg, an AND circuit and2, a register F1_reg, an AND circuit and3, and an AND circuit and4 from the input side. .
レジスタF0_regには信号名「DIN」の信号が入力され、信号名「CLK」の信号に同期して動作する。
AND回路and2には、モジュール回路11外部から入力される信号名「XMSK」の信号およびレジスタF0_regが出力する信号名「f0」の信号が入力される。
A signal having a signal name “DIN” is input to the register F0_reg and operates in synchronization with the signal having a signal name “CLK”.
A signal with a signal name “XMSK” input from the outside of the module circuit 11 and a signal with a signal name “f0” output from the register F0_reg are input to the AND circuit and2.
レジスタF1_regの入力には、AND回路and2が出力する信号名「a」の信号が入力され、信号名「CLK」の信号に同期して動作する。
AND回路and3の入力には、信号名「XMSK」の信号およびレジスタF1_regが出力する信号名「f1」の信号が入力される。
A signal with the signal name “a” output from the AND circuit and2 is input to the register F1_reg, and operates in synchronization with the signal with the signal name “CLK”.
The signal of the signal name “XMSK” and the signal of the signal name “f1” output from the register F1_reg are input to the inputs of the AND circuit and3.
AND回路and4の入力には、信号名「a」の信号の論理を反転させた信号およびAND回路AND2が出力する信号名「b」の信号が入力される。
アサーションチェック部200は、信号名「CLK」の信号に同期して動作し、信号名「a」の信号および信号名「b」の信号をチェックする。
To the inputs of the AND circuit and4, a signal obtained by inverting the logic of the signal having the signal name “a” and a signal having the signal name “b” output from the AND circuit AND2 are input.
The
以下、この回路を用いて第1のモニタ記述作成処理の具体例を説明する。
図9は、図7に示すRTL記述に第1のモニタ記述作成処理を施したモニタ記述を示す図である。
Hereinafter, a specific example of the first monitor description creating process will be described using this circuit.
FIG. 9 is a diagram showing a monitor description obtained by performing a first monitor description creation process on the RTL description shown in FIG.
まず、図7に示すRTL記述r1のモジュール回路名「dut」を、図9に示すモニタ記述の別の名前「check_dut」に書き替える。
また、RTL記述のレジスタに関する記述、すなわち、7行目の「reg f0,f1;」、および17〜20行目の「always @(posedge CLK) begin・・・end」を削除する。なお、図9ではコメントアウトしている。
First, the module circuit name “dut” of the RTL description r1 shown in FIG. 7 is rewritten to another name “check_dut” of the monitor description shown in FIG.
Also, the description related to the register in the RTL description, that is, “reg f0, f1;” on the seventh line and “always @ (posedge CLK) begin... End” on the 17th to 20th lines are deleted. In FIG. 9, the comment is out.
そして、1行目のmodule文に「f0,f1」を追加し、4行目(input定義箇所)に「input f0,f1」を追加する。これにより第1のモニタ記述作成処理によって作成されたモニタ記述m1が得られる。 Then, “f0, f1” is added to the module statement on the first line, and “input f0, f1” is added to the fourth line (input definition location). As a result, the monitor description m1 created by the first monitor description creation process is obtained.
図10は、第1のモニタ記述作成処理によって作成されたモジュール回路を示す図である。
図10中、点線で示したデバイスは、削除されたデバイスを示している。
FIG. 10 is a diagram showing the module circuit created by the first monitor description creating process.
In FIG. 10, a device indicated by a dotted line indicates a deleted device.
モジュール回路11aは、モニタ記述m1により実現される回路であり、モジュール回路11のモジュール回路名「dut」が、「check_dut」に変更されている。
また、レジスタF0_regおよびレジスタF1_regが削除されている。
The
Further, the register F0_reg and the register F1_reg are deleted.
そして、AND回路and2に入力される信号名「f0」の信号の入力元が、レジスタF0_regからモジュール回路11aの外部に変わっている。また、AND回路and3に入力される信号名「f1」の信号の入力元が、レジスタF1_regからモジュール回路11aの外部に変わっている。
Then, the input source of the signal with the signal name “f0” input to the AND circuit and2 is changed from the register F0_reg to the outside of the
<第1の関連づけ処理>
次に、図5に示すステップS6の関連づけ処理(第1の関連づけ処理)について説明する。
<First association process>
Next, the association process (first association process) in step S6 shown in FIG. 5 will be described.
図11は、第1の関連づけ処理を示すフローチャートである。
まず、関連づけ処理部360が、モニタ記述作成処理にて生成したモジュール回路のモニタ記述をネットリスト記述またはテストベンチ記述に追加する(ステップS21)。このステップでは、モニタ記述の信号をネットリスト記述またはテストベンチ記述の信号に関連づける処理は行わない。
FIG. 11 is a flowchart showing the first association process.
First, the
次に、関連づけ処理部360が、図6のステップS13にて追加したモニタ記述の外部から入力される信号の信号名とネットリスト記述のレジスタが出力する信号の信号名とをネットリスト記述またはテストベンチ記述上で関連づける。
Next, the associating
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述に記述されているレジスタと同等のレジスタがネットリスト記述に存在しているか否かを判断する(ステップS22)。
Specifically, the library stored in the
同等のレジスタが存在している場合(ステップS22のYes)、そのレジスタが出力する信号の信号名を、RTL記述に記述されているレジスタが出力する信号の信号名に関連づける(ステップS23)。 If an equivalent register exists (Yes in step S22), the signal name of the signal output from the register is associated with the signal name of the signal output from the register described in the RTL description (step S23).
一方、存在していない場合(ステップS22のNo)、削除されたレジスタの内容をFVスクリプト格納部1000に格納されているFVスクリプトから検索し、代わりの信号名または固定値をRTL記述に記述されているレジスタが出力する信号の信号名に関連づける(ステップS24)。このFVスクリプトを用いる処理は、モニタ記述の特殊関連づけ処理として後に詳述する。
On the other hand, if it does not exist (No in step S22), the contents of the deleted register are retrieved from the FV script stored in the FV
次に、関連づけ処理部360が、モニタ記述に入力される信号の信号名にネットリスト記述に入力される信号の信号名をネットリスト記述上で関連づける。
具体的には、RTL記述に入力される信号の信号名と同等の信号名がネットリスト記述に存在するか否かを判断する(ステップS25)。
Next, the
Specifically, it is determined whether or not a signal name equivalent to the signal name of the signal input to the RTL description exists in the netlist description (step S25).
存在する場合(ステップS25のYes)、同等の信号名を関連づける(ステップS26)。
一方、存在しない場合(ステップS25のNo)、変更された信号名をFVスクリプト格納部1000に格納されているFVスクリプトから検索し、その信号名をRTL記述に入力される信号の信号名に関連づける(ステップS27)。この処理についてもモニタ記述の特殊関連づけ処理として後に詳述する。
If it exists (Yes in step S25), an equivalent signal name is associated (step S26).
On the other hand, if it does not exist (No in step S25), the changed signal name is searched from the FV script stored in the FV
次に、関連づけ処理部360は、処理結果を格納先に格納する(ステップS28)。具体的には、ステップS21でモニタ記述をネットリスト記述に追加した場合、ステップS22〜ステップS27の処理が施されたネットリスト記述をネットリスト記述格納部500に格納する。また、モニタ記述をテストベンチ記述に記載した場合、ステップS42〜ステップS47の処理が施されたテストベンチ記述をテストベンチ記述格納部800に格納する。
Next, the
以上で第1の関連づけ処理を終了する。
次に、第1の関連づけ処理の具体例を説明する。ステップS28にて説明したように、モニタ記述をネットリスト記述に追加する方法とテストベンチ記述に追加する方法がある。以下順番に説明する。
This completes the first association process.
Next, a specific example of the first association process will be described. As described in step S28, there are a method of adding a monitor description to a netlist description and a method of adding a monitor description to a test bench description. This will be described in order below.
<第1の関連づけ処理の第1の具体例>
本具体例は、図7に示すRTL記述r1を論理合成したネットリスト記述に、図9に示すモニタ記述m1を追加する例である。
<First Specific Example of First Association Processing>
In this specific example, the monitor description m1 shown in FIG. 9 is added to the netlist description obtained by logically synthesizing the RTL description r1 shown in FIG.
図12は、図7に示すRTL記述を論理合成したネットリスト記述を示す図であり、図13は、第1の関連づけ処理を施したネットリスト記述を示す図である。
まず、第1のモニタ記述作成処理で作成したモニタ記述m1を下記のようにインスタンス化して未接続で図12に示すネットリスト記述n1に追加する。
check_dut inst_check_dut( .CLK(), .XMSK(),
.DIN(), .f0(), .f1(), .DOUT() );
次に、モニタ記述m1における外部から入力される信号の信号名「f0」、「f1」にネットリスト記述n1のレジスタが出力する信号の信号名を関連づける。
FIG. 12 is a diagram showing a netlist description obtained by logically synthesizing the RTL description shown in FIG. 7, and FIG. 13 is a diagram showing a netlist description subjected to the first association process.
First, the monitor description m1 created in the first monitor description creation process is instantiated as follows and added to the netlist description n1 shown in FIG. 12 without being connected.
check_dut inst_check_dut (.CLK (), .XMSK (),
.DIN (), .f0 (), .f1 (), .DOUT ());
Next, signal names “f0” and “f1” of signals input from the outside in the monitor description m1 are associated with signal names of signals output from the register of the netlist description n1.
前述したように、RTL記述r1に記述されているレジスタと同等のレジスタがネットリスト記述n1に存在するか否かを、ライブラリ格納部900に格納されているライブラリから検索する。本具体例では、信号名「f0」の信号を出力するレジスタf0_regおよび信号名「q1」の信号を出力するレジスタf1_regがネットリスト記述n1に存在するので、外部から入力される信号の信号名「f0」にネットリスト記述n1のレジスタf0_regが出力する信号の信号名「f0」を関連づけ、外部から入力される信号の信号名「f1」にネットリスト記述n1のレジスタf1_regが出力する信号の信号名「q1」を関連づける(下記下線部参照)。
check_dut inst_check_dut( .CLK(), .XMSK(),
.DIN(), .f0(f0), .f1(q1), .DOUT() );
次に、モニタ記述m1に入力される信号の信号名にネットリスト記述n1に入力される信号の信号名を関連づける。
As described above, whether or not a register equivalent to the register described in the RTL description r1 exists in the netlist description n1 is searched from the library stored in the
check_dut inst_check_dut (.CLK (), .XMSK (),
.DIN (), .f0 ( f0 ), .f1 ( q1 ), .DOUT ());
Next, the signal name of the signal input to the netlist description n1 is associated with the signal name of the signal input to the monitor description m1.
前述したように、RTL記述r1に入力される信号の信号名に同等の信号名をネットリスト記述n1から検索する。本具体例では信号名「CLK」の信号、信号名「XMSK」の信号、信号名「DIN」の信号が存在するので、これらの信号名を関連づける(下記下線部参照)。
check_dut inst_check_dut ( .CLK(CLK), .XMSK(XMSK),
.DIN(DIN), .f0(f0), .f1(q1), .DOUT() );
以上の処理を行うことで、第1の関連づけ処理を施したネットリスト記述n2が得られる。このネットリスト記述n2に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
As described above, the netlist description n1 is searched for a signal name equivalent to the signal name of the signal input to the RTL description r1. In this specific example, the signal name “CLK”, the signal name “XMSK”, and the signal name “DIN” exist, and these signal names are associated (see the underlined portion below).
check_dut inst_check_dut (.CLK ( CLK ), .XMSK ( XMSK ),
.DIN ( DIN ), .f0 (f0), .f1 (q1), .DOUT ());
By performing the above processing, the netlist description n2 subjected to the first association processing is obtained. By performing an assertion check of the monitor description part added to the netlist description n2, an assertion check in the netlist verification can be performed.
図14は、第1の関連づけ処理によって関連づけられたネットリスト回路を示す図である。
ネットリスト回路21は、図13に示すネットリスト記述n2により実現される(タイミング検証用の)回路である。
FIG. 14 is a diagram illustrating netlist circuits associated by the first association process.
The netlist circuit 21 is a circuit (for timing verification) realized by the netlist description n2 shown in FIG.
このネットリスト回路21には、モジュール回路11aが追加され、モジュール回路11aの信号名「f0」の信号にネットリスト回路21のレジスタf0_regが出力する信号名「f0」の信号が接続され、モジュール回路11aの信号名「f1」の信号にレジスタf1_regの信号名「q1」の信号が接続されている。
The
また、ネットリスト回路21に入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのままモジュール回路11aの同じ信号名の入力信号に接続されている。
Further, the signal with the signal name “XMSK”, the signal with the signal name “DIN”, and the signal with the signal name “CLK” input to the net list circuit 21 are directly connected to the input signal with the same signal name in the
アサーションチェック部200は、モジュール回路11aの信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路21のアサーションチェックを行うことができる。
The
次に、第1の関連づけ処理の第2の具体例について説明する。
<第1の関連づけ処理の第2の具体例>
本具体例は、図7に示すRTL記述r1を論理合成したネットリスト記述外部のテストベンチ記述上に、図9に示すモニタ記述m1を追加する例である。
Next, a second specific example of the first association process will be described.
<Second Specific Example of First Association Processing>
In this specific example, the monitor description m1 shown in FIG. 9 is added to the test bench description outside the netlist description obtained by logically synthesizing the RTL description r1 shown in FIG.
図15は、第1の関連づけ処理を施したテストベンチ記述を示す図である。
まず、第1のモニタ記述作成処理で作成したモニタ記述m1を第1の具体例と同様にインスタンス化してテストベンチ記述へ追加する。
check_dut inst_check_dut ( .CLK(), .XMSK(),
.DIN(), .f0(), .f1(), .DOUT() );
次に、モニタ記述m1の外部から入力される信号の信号名「f0」、「f1」にネットリスト記述のレジスタが出力する信号の信号名を関連づける。
FIG. 15 is a diagram illustrating a test bench description subjected to the first association process.
First, the monitor description m1 created in the first monitor description creation process is instantiated and added to the test bench description as in the first specific example.
check_dut inst_check_dut (.CLK (), .XMSK (),
.DIN (), .f0 (), .f1 (), .DOUT ());
Next, the signal names “f0” and “f1” of the signals input from the outside of the monitor description m1 are associated with the signal names of the signals output from the register of the netlist description.
前述したように、RTL記述r1に記述されているレジスタと同等のレジスタがネットリスト記述n1に存在するか否かを、ライブラリ格納部900に格納されているライブラリから検索する。本具体例では、信号名「f0」の信号を出力するレジスタf0_regおよび信号名「q1」の信号を出力するレジスタf1_regがネットリスト記述n1に存在するので、外部から入力される信号の信号名「f0」にネットリスト記述n1のレジスタf0_regが出力する信号の信号名「f0」を関連づけ、外部から入力される信号の信号名「f1」にネットリスト記述n1のレジスタf1_regが出力する信号の信号名「q1」を関連づける(下記下線部参照)。なお、信号名の前にインスタンス名を付加する。
check_dut inst_check_dut (.CLK(), .XMSK(),
.DIN(), .f0(inst_dut.f0), .f1(inst_dut.q1), .DOUT() );」
次に、モニタ記述m1に入力される信号の信号名にネットリスト記述n1に入力される信号の信号名を関連づける。
As described above, whether or not a register equivalent to the register described in the RTL description r1 exists in the netlist description n1 is searched from the library stored in the
check_dut inst_check_dut (.CLK (), .XMSK (),
.DIN (), .f0 ( inst _ dut.f0 ), .f1 ( inst _ dut.q1 ), .DOUT ());
Next, the signal name of the signal input to the netlist description n1 is associated with the signal name of the signal input to the monitor description m1.
前述したように、RTL記述r1に入力される信号の信号名に同等の信号名をネットリスト記述n1から検索する。本具体例では信号名「CLK」の信号、信号名「XMSK」の信号および信号名「DIN」の信号が存在するので、これらの信号名を関連づける(下記下線部参照)。なお、信号名の前にインスタンス名を付加する。
check_dut inst_check_dut(.CLK(inst_dut.CLK), .XMSK(inst_dut.XMSK),
.DIN(inst_dut.DIN), .f0(inst_dut.f0), .f1(inst_dut.q1), .DOUT() );
以上の処理を行うことで、第1の関連づけ処理を施したテストベンチ記述t1が得られる。このテストベンチ記述t1に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
As described above, the netlist description n1 is searched for a signal name equivalent to the signal name of the signal input to the RTL description r1. In this specific example, the signal name “CLK”, the signal name “XMSK”, and the signal name “DIN” exist, and these signal names are associated (see the underlined portion below). An instance name is added before the signal name.
check_dut inst_check_dut (.CLK (inst _ dut.CLK ), .XMSK (inst _ dut.XMSK),
.DIN (inst _ dut.DIN), .f0 (inst_dut.f0), .f1 (inst_dut.q1), .DOUT ());
By performing the above processing, the test bench description t1 subjected to the first association processing is obtained. By performing an assertion check of the monitor description part added to the test bench description t1, an assertion check in the netlist verification can be performed.
また、本具体例は、ネットリスト記述およびテストベンチ記述がVerilogの場合のみ適用することができる。
図16は、第1の関連づけ処理によって関連づけられたテストベンチ回路を示す図である。
This specific example can be applied only when the netlist description and the test bench description are Verilog.
FIG. 16 is a diagram illustrating a test bench circuit associated by the first association process.
テストベンチ回路31は、図15に示すテストベンチ記述t1により実現される回路である。
このテストベンチ回路31は、ネットリスト回路21aとは別個にモジュール回路11aが追加され、モジュール回路11aの信号名「f0」の信号にネットリスト回路21aのレジスタf0_regが出力する信号名「f0」の信号が接続され、モジュール回路11aの信号名「f1」の信号にレジスタf1_regの信号名「q1」の信号が接続されている。
The
In this
また、ネットリスト回路21aに入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのままモジュール回路11aの同じ信号名の入力信号に接続されている。
The signal with the signal name “XMSK”, the signal with the signal name “DIN”, and the signal with the signal name “CLK” input to the
アサーションチェック部200は、モジュール回路11aの信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路21aのアサーションチェックを行うことができる。
<モニタ記述の特殊関連づけ処理>
次に、図11に示すステップS24、S27のモニタ記述の特殊関連づけ処理について説明する。
The
<Special association processing of monitor description>
Next, the special association process of the monitor description in steps S24 and S27 shown in FIG. 11 will be described.
複数のレジスタに同じ論理が入力される場合や、固定値がレジスタに入力される場合は、論理合成したネットリスト記述ではそのレジスタが削除される場合がある。
またネットリスト記述の信号名がRTL記述とは異なる信号名に変更される場合もある。
When the same logic is input to a plurality of registers, or when a fixed value is input to a register, the register may be deleted in the netlist description of logic synthesis.
In addition, the signal name in the netlist description may be changed to a signal name different from the RTL description.
このようなケースでは、単純にネットリスト記述に記述されているレジスタが出力する信号の信号名やモジュール回路に入力する信号の信号名をモニタ記述の信号名に関連づける処理ができない。より詳しくは、ネットリスト記述のレジスタが削除された場合や入力信号名が変更された場合、そのままRTL記述とネットリスト記述のFormal検証を行うと不一致になる。そのためモニタ記述の特殊関連づけ処理を行うことになる。 In such a case, it is impossible to simply associate the signal name of the signal output from the register described in the netlist description or the signal name of the signal input to the module circuit with the signal name of the monitor description. More specifically, when the netlist description register is deleted or the input signal name is changed, the formal verification of the RTL description and the netlist description does not match. For this reason, special association processing of the monitor description is performed.
具体的には、変更内容に対応するFVスクリプトを用意してRTL記述とネットリスト記述が等価であることを検証する。このFVスクリプトにRTL記述からの変更内容が設定されているため、変更内容を読み取りモニタ記述の関連づけ処理に使用する。なお、論理合成時のログファイル等でも変更内容が出力されている場合、ログファイルを読み込んで処理を行ってもよい。 Specifically, an FV script corresponding to the changed content is prepared, and it is verified that the RTL description and the netlist description are equivalent. Since the change contents from the RTL description are set in the FV script, the change contents are read and used for the monitor description association process. In addition, when the change content is output also in the log file etc. at the time of logic synthesis, you may read and process a log file.
以下、第1の関連づけ処理の第1の具体例で述べた例と同様のケース、すなわち、モジュール回路のモニタ記述をネットリスト記述に追加してネットリスト記述と関連づける例を用いてモニタ記述の特殊関連づけ処理を説明する。 Hereinafter, a special case of the monitor description will be described using the same case as the example described in the first specific example of the first association process, that is, an example in which the monitor description of the module circuit is added to the netlist description and associated with the netlist description. The association process will be described.
図17は、RTL記述の他の例を示す図であり、図18は、図17に示すRTL記述により実現されるモジュール回路を示す図である。
図17に示すRTL記述r2により図18に示すモジュール回路41が実現される。
FIG. 17 is a diagram illustrating another example of the RTL description, and FIG. 18 is a diagram illustrating a module circuit realized by the RTL description illustrated in FIG.
The
モジュール回路41は、レジスタQ0_regと、レジスタQ1_reg0〜Q1_reg2と、AND回路and5と、セレクタ42とを有している。
レジスタQ0_regと、レジスタQ1_reg0〜Q1_reg2とは、それぞれ信号名「CLK」の信号により動作する。レジスタQ1_reg0の入力には論理‘0’(固定値)の信号が入力され、レジスタQ0_regおよびレジスタQ1_reg2の入力には、それぞれ信号名「A」の信号が入力される。また、レジスタQ1_reg1の入力には、信号名「A」の信号の論理を反転させた信号が入力される。
The
The register Q0_reg and the registers Q1_reg0 to Q1_reg2 are operated by a signal having a signal name “CLK”, respectively. A signal of logic “0” (fixed value) is input to the input of the register Q1_reg0, and a signal with the signal name “A” is input to the inputs of the register Q0_reg and the register Q1_reg2. In addition, a signal obtained by inverting the logic of the signal with the signal name “A” is input to the input of the register Q1_reg1.
AND回路and5の入力には、信号名「B」の信号とレジスタQ0_regが出力する信号名「q0」の信号とが入力され、これらの信号の論理に応じて信号名「C」の信号を出力する。 The signal of the signal name “B” and the signal of the signal name “q0” output from the register Q0_reg are input to the input of the AND circuit and5, and the signal of the signal name “C” is output according to the logic of these signals. To do.
セレクタ42の入力には、レジスタQ1_reg0が出力する信号名「q1[0]」の信号とレジスタQ1_reg1が出力する信号名「q1[1]」の信号とレジスタQ1_reg2が出力する信号名「q1[2]」の信号とが入力され、これらのうちの1つを選択した信号名「D」の信号を出力する。
The input of the
レジスタQ0_regおよびレジスタQ1_reg2のように、複数のレジスタで同じ信号名「A」の信号が入力される場合や、レジスタQ1_reg0のように固定値が入力される場合は、論理合成したネットリスト記述ではそのレジスタが削除される場合がある。 When a signal with the same signal name “A” is input to a plurality of registers as in the register Q0_reg and the register Q1_reg2, or when a fixed value is input as in the register Q1_reg0, the logically synthesized netlist description Registers may be deleted.
図19は、図17に示すRTL記述を論理合成したネットリスト記述により実現されるネットリスト回路を示す図である。
図19に示すネットリスト回路51では前者の例としてレジスタQ0_regに対応するレジスタq0_regが削除されている。また、後者の例としてレジスタQ1_reg0に対応するレジスタq1_reg_0が削除され、セレクタ42の代わりにAND回路AND6が設けられている。このような場合、モニタ記述の特殊関連づけ処理を行ってFVスクリプト格納部1000に格納されているFVスクリプトから、削除されたレジスタの内容を検索し、代わりの信号または固定値を関連づける。
FIG. 19 is a diagram showing a netlist circuit realized by a netlist description obtained by logically synthesizing the RTL description shown in FIG.
In the net list circuit 51 shown in FIG. 19, the register q0_reg corresponding to the register Q0_reg is deleted as an example of the former. As an example of the latter, the register q1_reg_0 corresponding to the register Q1_reg0 is deleted, and an AND circuit AND6 is provided instead of the
また、RTL記述r2の信号名「B」の信号がネットリスト回路51では信号名「B_0」の信号に変更されている。このような場合、モニタ記述の特殊関連づけ処理を行ってFVスクリプト格納部1000に格納されているFVスクリプトから、変更した信号名を検索し、その信号名を関連づける。
In addition, the signal with the signal name “B” in the RTL description r2 is changed to the signal with the signal name “B_0” in the netlist circuit 51. In such a case, a special association process of the monitor description is performed, the changed signal name is searched from the FV script stored in the FV
図20は、図17に示すRTL記述に、モニタ記述の特殊関連づけ処理を施したモニタ記述を示す図である。
モニタ記述については、前述したように、RTL記述r2のモジュール回路名「dut2」を別の名前「check_dut2」に変更する。
FIG. 20 is a diagram showing a monitor description obtained by performing a special association process of the monitor description on the RTL description shown in FIG.
As for the monitor description, as described above, the module circuit name “dut2” in the RTL description r2 is changed to another name “check_dut2”.
また、モニタ記述のレジスタに関する記述、すなわち、
reg q0;
reg [2:0] q1;
always @(posedge CLK) begin
q0 <= A;
end
always @(posedge CLK) begin
if( A )
q1 <= 3'b100;
else
q1 <= 3'b010;
end
を削除する。
Also, a description about the register of the monitor description, that is,
reg q0;
reg [2: 0] q1;
always @ (posedge CLK) begin
q0 <= A;
end
always @ (posedge CLK) begin
if (A)
q1 <= 3'b100;
else
q1 <= 3'b010;
end
Is deleted.
そして、1行目のmodule文に「q0、q1」を追加し、2行目(input定義箇所)に「q0」を追加し、3行目(input定義箇所)に「input [2:0] q1;」を追加する。これにより図20に示すモニタ記述m2が得られる。 Then, “q0, q1” is added to the module statement on the first line, “q0” is added to the second line (input definition part), and “input [2: 0] on the third line (input definition part) q1; "is added. As a result, the monitor description m2 shown in FIG. 20 is obtained.
図21は、図17に示すRTL記述に、モニタ記述の特殊関連づけ処理を施すときのFVスクリプトを示す図であり、図22は、図17に示すRTL記述に、モニタ記述の特殊関連づけ処理を施したネットリスト記述を示す図である。 FIG. 21 is a diagram showing an FV script when the monitor description special association process is performed on the RTL description shown in FIG. 17, and FIG. 22 shows the monitor description special association process performed on the RTL description shown in FIG. FIG.
図21に示すように、変更内容に対応するFVスクリプトfv1を用意する。
まず、レジスタq0_regは削除されているため、FVスクリプトfv1の3行目から信号名「q0]」の信号は信号名「q1[2]」の信号と同等であることを読み込んで、レジスタq0_regが出力する信号の信号名「q0」には信号名「q1[2]」を関連づける。すなわち図22に示すネットリスト記述n3の13行目を「q0(q1_2_),」のように記述する。
As shown in FIG. 21, an FV script fv1 corresponding to the changed content is prepared.
First, since the register q0_reg is deleted, it is read from the third line of the FV script fv1 that the signal with the signal name “q0]” is equivalent to the signal with the signal name “q1 [2]”, and the register q0_reg is The signal name “q1 [2]” is associated with the signal name “q0” of the output signal. That is, the 13th line of the netlist description n3 shown in FIG. 22 is described as “q0 (q1_2_),”.
またレジスタq1_reg_0が削除されているため、FVスクリプトfv1の2行目からレジスタq1_reg_0が出力する信号の信号名「q1[0]」は論理‘0’の信号の信号名であることを読み込んで、レジスタQ0_regが出力する信号の信号名「q1[0]」には論理‘0’の信号の信号名を関連づける。すなわち、ネットリスト記述n3の14行目を「q1({q1_2_, q1_1_, 1'b0}));」のように記述する。 Since the register q1_reg_0 has been deleted, it is read from the second line of the FV script fv1 that the signal name “q1 [0]” of the signal output by the register q1_reg_0 is the signal name of the signal of logic “0”. The signal name “q1 [0]” of the signal output from the register Q0_reg is associated with the signal name of the signal of logic “0”. That is, the 14th line of the netlist description n3 is described as “q1 ({q1_2_, q1_1_, 1′b0}));”.
さらに、信号名「B」の信号が信号名「B_0」の信号に変更されているため、FVスクリプトfv1の1行目から信号名「B」の信号が信号名「B_0」の信号に変更されたことを読み込んで、信号名「B」に信号名「B_0」を関連づける。すなわち、ネットリスト記述n3の13行目を「.B(B_0),」のように記述する。 Further, since the signal with the signal name “B” is changed to the signal with the signal name “B_0”, the signal with the signal name “B” is changed to the signal with the signal name “B_0” from the first line of the FV script fv1. The signal name “B — 0” is associated with the signal name “B”. That is, the 13th line of the netlist description n3 is described as “.B (B — 0),”.
以上の処理を行うことで、モニタ記述m2の信号がネットリスト記述の信号に関連づけられたネットリスト記述n3が得られる。このネットリスト記述n3に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。 By performing the above processing, a netlist description n3 in which the signal of the monitor description m2 is associated with the signal of the netlist description is obtained. By performing an assertion check of the monitor description portion added to the netlist description n3, an assertion check in the netlist verification can be performed.
図23は、特殊関連づけ処理が施されたネットリスト記述により実現されるネットリスト回路を示す図である。
ネットリスト記述n3により実現されるネットリスト回路51aには、モジュール回路41aが追加されている。
FIG. 23 is a diagram illustrating a net list circuit realized by a net list description subjected to special association processing.
A
ネットリスト回路51aでは、モジュール回路41aの信号名「q0」の信号に信号名「q1[2]」の信号が接続されている。
また、モジュール回路41aの信号名「q1[0]」の信号に論理‘0’の信号が接続されている。
In the net list circuit 51a, the signal with the signal name “q1 [2]” is connected to the signal with the signal name “q0” of the
Further, a signal of logic '0' is connected to the signal of the signal name “q1 [0]” of the
また、モジュール回路41aの信号名「B」の信号に信号名「B_0」の信号が接続されている。
このように、ネットリスト記述のレジスタが削除された場合や入力信号名が変更された場合についてもモニタ記述の信号をネットリスト記述へ関連づけることができる。
Further, the signal with the signal name “B_0” is connected to the signal with the signal name “B” of the
As described above, the monitor description signal can be associated with the netlist description even when the netlist description register is deleted or the input signal name is changed.
以上述べたように、第1の実施の形態の設計検証装置100によれば、ネットリスト記述で動作しているレジスタの出力について、RTL記述で使用していた組み合わせ回路の内部信号名でアサーションチェックすることができるので、ネットリスト検証でRTL記述と同等のアサーションチェックが可能になり、誤動作発生箇所を容易かつ確実に発見することができる。また、外部端子まで伝搬せずに発見できなかった誤動作を容易かつ確実に発見することができる。 As described above, according to the design verification apparatus 100 of the first embodiment, the assertion check is performed on the output of the register operating in the netlist description using the internal signal name of the combinational circuit used in the RTL description. Therefore, it is possible to perform an assertion check equivalent to the RTL description by the netlist verification, and it is possible to easily and surely find a malfunction occurrence location. Further, it is possible to easily and reliably find a malfunction that could not be found without propagating to the external terminal.
<第2の実施の形態>
次に、第2の実施の形態の設計検証装置について説明する。
以下、第2の実施の形態の設計検証装置について、前述した第1の実施の形態の設計検証装置との相違点を中心に説明し、同様の事項については、その説明を省略する。
<Second Embodiment>
Next, a design verification apparatus according to the second embodiment will be described.
Hereinafter, the design verification apparatus according to the second embodiment will be described with a focus on differences from the design verification apparatus according to the first embodiment described above, and description of similar matters will be omitted.
図24は、第2の実施の形態の構成を示すブロック図である。
第2の実施の形態の設計検証装置100aは、アサーションチェッカがPSLの場合であり、vunitを使ってRTL記述とは別個に記述してあるアサーションチェッカモデル記述を格納するアサーションチェッカモデル記述格納部1100をさらに有している。
FIG. 24 is a block diagram illustrating a configuration of the second embodiment.
The design verification apparatus 100a according to the second embodiment is a case where the assertion checker is a PSL, and an assertion checker model
以下、第2の実施の形態の設計検証装置100aによる設計検証方法(第2の設計検証方法)について説明する。
<第2の設計検証方法>
第2の設計検証方法は、モニタ記述作成処理および関連づけ処理が第1の設計検証方法とは異なっている。
Hereinafter, a design verification method (second design verification method) performed by the design verification apparatus 100a according to the second embodiment will be described.
<Second design verification method>
The second design verification method is different from the first design verification method in monitor description creation processing and association processing.
図25は、第2の設計検証方法を示す処理フローである。
モニタ記述作成部350は、RTL記述に加え、ステップS4のレイアウトによって得られたネットリスト記述を用いてモニタ記述作成処理を行う(ステップS5a)。そして、モニタ記述作成処理が施されたモニタ記述をモニタ記述格納部700に格納する。
FIG. 25 is a processing flow showing the second design verification method.
The monitor
また、関連づけ処理部360は、モニタ記述作成処理が施されたモニタ記述の信号をネットリスト記述格納部500に格納されているネットリスト記述の信号、テストベンチ記述の信号またはアサーションチェッカモデル記述の信号に関連づけてこれらの信号を関連づける関連づけ処理を行う(ステップS6a)。
Further, the
<第2のモニタ記述作成処理>
以下、本実施の形態のステップS5aのモニタ記述作成処理(第2のモニタ記述作成処理)について詳しく説明する。
<Second monitor description creation process>
Hereinafter, the monitor description creating process (second monitor description creating process) in step S5a of the present embodiment will be described in detail.
図26は、第2のモニタ記述作成処理を示すフローチャートである。
まず、モニタ記述作成部350が、RTL記述のモジュール回路名および入出力信号名の定義文を削除する(ステップS31)。
FIG. 26 is a flowchart showing the second monitor description creation process.
First, the monitor
次に、モニタ記述作成部350が、別の名前に変更したRTL記述からレジスタ記述に関する部位を全て削除する(ステップS32)。
次に、モニタ記述作成部350が、RTL記述に残った組み合わせ回路で生成される信号で、その信号がネットリスト記述の内部信号または出力信号に存在する場合は、組み合わせ回路内のその部分を削除する(ステップS33)。
Next, the monitor
Next, if the monitor
以上で第2のモニタ記述作成処理を終了する。
次に、モニタ記述作成処理の具体例を説明する。
図27は、図7に示すRTL記述に、第2のモニタ記述作成処理を施したモニタ記述を示す図である。
Thus, the second monitor description creation process ends.
Next, a specific example of the monitor description creation process will be described.
FIG. 27 is a diagram showing a monitor description obtained by performing the second monitor description creation process on the RTL description shown in FIG.
まず、RTL記述r1のモジュール回路名、入出力信号名の定義文すなわち、1行目〜3行目の「module dut ( CLK, DIN, XMSK, DOUT )・・・DOUT;」および21行目の「endmodule」を削除する。なお、図27ではコメントアウトしている。 First, the definition statement of the module circuit name and the input / output signal name of the RTL description r1, that is, “module dut (CLK, DIN, XMSK, DOUT)... DOUT;” on the first to third lines and the 21st line. Delete “endmodule”. In FIG. 27, the comment is out.
また、RTL記述r1からレジスタ記述、すなわち、6行目の「reg f0,f1;」、および17〜20行目の「always @(posedge CLK) begin・・・end」を削除する。なお、図27ではコメントアウトしている。 Further, the register description, that is, “reg f0, f1;” on the sixth line and “always @ (posedge CLK) begin... End” on the 17th to 20th lines are deleted from the RTL description r1. In FIG. 27, the comment is out.
そして、RTL記述r1の組み合わせ回路で生成される信号で、その信号が図12に示すネットリスト記述n1の内部信号または出力信号に存在する15行目の「assign DOUT=b & ~a;」を削除する。 Then, “assign DOUT = b & ~ a;” on the 15th line in the internal signal or output signal of the netlist description n1 shown in FIG. delete.
これにより、図27に示すモニタ記述m3が得られる。
図28は、図27に示すモニタ記述により実現される組み合わせ回路を示す図である。
図28中、点線で示した部分は、削除されたことを示している。
Thereby, the monitor description m3 shown in FIG. 27 is obtained.
FIG. 28 is a diagram showing a combinational circuit realized by the monitor description shown in FIG.
In FIG. 28, a portion indicated by a dotted line indicates that it has been deleted.
組み合わせ回路61は、第2のモニタ記述作成処理により、モジュール回路11の枠組みが削除されている。
また、レジスタF0_reg、F1_regが削除されている。
In the
Also, the registers F0_reg and F1_reg are deleted.
そして、AND回路and4が削除されている。
<第2の関連づけ処理>
次に、図25に示す本実施の形態のステップS6aの関連づけ処理(第2の関連づけ処理)について説明する。
The AND circuit and4 is deleted.
<Second association processing>
Next, the association process (second association process) in step S6a of the present embodiment shown in FIG. 25 will be described.
図29は、第2の関連づけ処理の処理フローを示す図である。
まず、関連づけ処理部360が、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を、ネットリスト記述、テストベンチ記述、またはアサーションチェッカモデル記述に直接記述し追加する(ステップS41)。
FIG. 29 is a diagram illustrating a processing flow of the second association processing.
First, the
次に、関連づけ処理部360が、RTL記述のレジスタが出力する信号にネットリスト記述格納部500に格納されているネットリスト記述のレジスタが出力する信号を関連づける。
Next, the
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述と同等のレジスタがネットリスト記述に存在するか否かを判断する(ステップS42)。
Specifically, the library stored in the
同等のレジスタが存在しない場合(ステップS42のNo)、モニタ記述の特殊関連づけ処理を行う。すなわち、FVスクリプト格納部1000に格納されているFVスクリプトから、削除されたレジスタの内容を検索し、代わりの信号または固定値をモニタ記述のレジスタに関連づける(ステップS43)。
If there is no equivalent register (No in step S42), the monitor description special association process is performed. That is, the contents of the deleted register are searched from the FV script stored in the FV
一方、存在する場合(ステップS42のYes)、モニタ記述にネットリスト記述のレジスタが出力する信号と同じ信号名が存在しているか否かを判断する(ステップS44)。 On the other hand, if it exists (Yes in step S42), it is determined whether or not the same signal name as the signal output from the register of the netlist description exists in the monitor description (step S44).
存在する場合(ステップS44のYes)、ステップS46に移行する。
一方、存在しない場合(ステップS44のNo)、ネットリスト記述のレジスタが出力する信号の信号名をモニタ記述のレジスタに関連づける(ステップS45)。
When it exists (Yes of step S44), it transfers to step S46.
On the other hand, if it does not exist (No in step S44), the signal name of the signal output from the register in the netlist description is associated with the register in the monitor description (step S45).
次に、関連づけ処理部360が、組み合わせ回路に入力される信号にネットリスト記述またはテストベンチ記述に入力される信号を関連づける。
具体的には、ステップS41にて追加した組み合わせ回路の信号にネットリスト記述またはテストベンチ記述と同じ信号名が存在するか否かを判断する(ステップS46)。
Next, the
Specifically, it is determined whether or not the signal of the combinational circuit added in step S41 has the same signal name as the netlist description or test bench description (step S46).
存在しない場合(ステップS46のNo)、モニタ記述の特殊関連づけ処理を行う。すなわち、変更された信号名をFVスクリプトから検索し、その信号を関連づける(ステップS47)。 If it does not exist (No in step S46), a monitor description special association process is performed. That is, the changed signal name is searched from the FV script, and the signal is associated (step S47).
一方、存在する場合(ステップS46のYes)、ステップS48に移行する。
次に、関連づけ処理部360が、処理結果を格納先に格納する(ステップS48)。
具体的には、ステップS41でモニタ記述をネットリスト記述に追加した場合、ステップS42〜ステップS47の処理が施されたモニタ記述が追加されたネットリスト記述をネットリスト記述格納部500に格納する。ステップS41でモニタ記述をテストベンチ記述に追加した場合、ステップS42〜ステップS47の処理が施されたモニタ記述が追加されたテストベンチ記述をテストベンチ記述格納部800に格納する。ステップS41でモニタ記述をアサーションチェッカモデル記述に追加した場合、ステップS42〜ステップS47の処理が施されたモニタ記述が追加されたアサーションチェッカモデル記述をアサーションチェッカモデル記述格納部1100に格納する。
On the other hand, when it exists (Yes of step S46), it transfers to step S48.
Next, the
Specifically, when the monitor description is added to the net list description in step S41, the net list description to which the monitor description subjected to the processing in steps S42 to S47 is added is stored in the net list
以上で第2の関連づけ処理を終了する。
次に、第2の関連づけ処理の具体例を説明する。ステップS48にて説明したように、モニタ記述をネットリスト記述に追加する方法とテストベンチ記述に追加する方法とアサーションチェッカモデル記述に追加する方法とがある。以下順番に説明する。
This completes the second association process.
Next, a specific example of the second association process will be described. As described in step S48, there are a method for adding a monitor description to a netlist description, a method for adding it to a test bench description, and a method for adding it to an assertion checker model description. This will be described in order below.
<第2の関連づけ処理の第1の具体例>
本具体例は、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を第2の関連づけ処理を行うことによりネットリスト記述内部に追加してネットリスト記述に関連づける例である。
<First Specific Example of Second Association Processing>
In this specific example, the monitor description of the combinational circuit generated by the second monitor description creation process is added to the inside of the netlist description by the second association process, and is associated with the netlist description.
図30は、図12に示すネットリスト記述n1に、第2の関連づけ処理を施したネットリスト記述を示す図である。
まず、第2のモニタ記述作成処理で作成した組み合わせ回路のモニタ記述m3を下記のようにネットリスト記述n1へ直接記述し追加する。また、RTL記述r1にアサーションチェッカが記述されている場合、ここでアサーションチェッカも追加する。
// psl default clock = ( posedge CLK ) ;
// psl property
// chk = always { a } |=> { b } ;
// psl assert chk ;
wire a, b;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、RTL記述r1のレジスタが出力していた信号名「f0」、「f1」の信号に、ネットリスト記述n1のレジスタが出力する信号名の信号を関連づける。
FIG. 30 is a diagram illustrating a netlist description obtained by performing a second association process on the netlist description n1 illustrated in FIG.
First, the monitor description m3 of the combinational circuit created by the second monitor description creation process is directly described and added to the netlist description n1 as follows. When an assertion checker is described in the RTL description r1, an assertion checker is also added here.
// psl default clock = (posedge CLK);
// psl property
// chk = always {a} | =>{b};
// psl assert chk;
wire a, b;
assign a = f0 &XMSK;
assign b = f1 &XMSK;
Next, the signal of the signal name output from the register of the netlist description n1 is associated with the signals of the signal names “f0” and “f1” output from the register of the RTL description r1.
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述r1と同等のレジスタがネットリスト記述n1に存在するか否かを判断する。
本具体例では、レジスタF0_regに対応するレジスタf0_regおよびレジスタF1_regに対応するレジスタf1_regが存在する。
Specifically, the library stored in the
In this specific example, there are a register f0_reg corresponding to the register F0_reg and a register f1_reg corresponding to the register F1_reg.
ここで、レジスタF0_regが出力していた信号の信号名「f0」はネットリスト記述n1に存在するため何もしない。何もしなくても、モニタ記述m3の信号名「f0」の信号は、ネットリスト記述n1のレジスタf0_regが出力する信号名「f0」の信号に接続されたことになる。 Here, since the signal name “f0” of the signal output from the register F0_reg exists in the netlist description n1, nothing is done. Even if nothing is done, the signal with the signal name “f0” in the monitor description m3 is connected to the signal with the signal name “f0” output from the register f0_reg of the netlist description n1.
一方、レジスタF1_regが出力していた信号の信号名「f1」はネットリスト記述n1に存在しないため、ネットリスト記述のレジスタf1_regが出力する信号の信号名「q1」を関連づける(下記下線部参照)。
// psl default clock = ( posedge CLK ) ;
// psl property
// chk = always { a } |=> { b } ;
// psl assert chk ;
wire a, b;
wire f1;
assign f1 = q1;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、モニタ記述m3の組み合わせ回路に入力される信号名「XMSK」の信号および信号名「CLK」の信号にネットリスト記述n1に入力される信号を関連づける。
On the other hand, since the signal name “f1” of the signal output from the register F1_reg does not exist in the netlist description n1, the signal name “q1” of the signal output from the register f1_reg of the netlist description is associated (see the underlined portion below). .
// psl default clock = (posedge CLK);
// psl property
// chk = always {a} | =>{b};
// psl assert chk;
wire a, b;
wire f1;
assign f1 = q1;
assign a = f0 &XMSK;
assign b = f1 &XMSK;
Next, the signal input to the netlist description n1 is associated with the signal with the signal name “XMSK” and the signal with the signal name “CLK” input to the combinational circuit of the monitor description m3.
具体的には、ネットリスト記述n1を検索し、これらの信号名の信号と同等の信号名の信号が存在するか否かを判断する。
本具体例では信号名「XMSK」の信号、信号名「CLK」の信号は存在するので何もしない。何もしなくても、モニタ記述m3の信号名「XMSK」の信号および信号名「CLK」の信号はネットリスト記述n1の信号名「XMSK」の信号および信号名「CLK」の信号とそれぞれ関連づけられたことになる。
Specifically, the netlist description n1 is searched to determine whether there is a signal with a signal name equivalent to the signal with these signal names.
In this specific example, since there is a signal with the signal name “XMSK” and a signal with the signal name “CLK”, nothing is done. Even if nothing is done, the signal with the signal name “XMSK” and the signal with the signal name “CLK” in the monitor description m3 are respectively associated with the signal with the signal name “XMSK” and the signal with the signal name “CLK” in the netlist description n1. That's right.
以上の処理を行うことで、モニタ記述m3の信号がネットリスト記述n1の信号に関連づけられたネットリスト記述n4が得られる。このネットリスト記述n4に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。 By performing the above processing, a netlist description n4 in which the signal of the monitor description m3 is associated with the signal of the netlist description n1 is obtained. By performing an assertion check of the monitor description part added to the netlist description n4, an assertion check in the netlist verification can be performed.
図31は、図30に示すネットリスト記述により実現されるネットリスト回路を示す図である。
ネットリスト記述n4により実現されるネットリスト回路71には、組み合わせ回路61が追加されている。
FIG. 31 is a diagram showing a net list circuit realized by the net list description shown in FIG.
A
組み合わせ回路61の信号名「f0」の信号にネットリスト回路71のレジスタf0_regが出力する信号名「f0」の信号が接続され、組み合わせ回路61の信号名「f1」の信号にレジスタf1_regが出力する信号名「q1」の信号が接続されている。
The signal of the signal name “f0” output from the register f0_reg of the
また、ネットリスト回路71に入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのまま組み合わせ回路61の同じ信号名の入力信号に接続されている。
The signal with the signal name “XMSK”, the signal with the signal name “DIN”, and the signal with the signal name “CLK” input to the
アサーションチェック部200は、組み合わせ回路61の信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路71のアサーションチェックを行うことができる。
The
<第2の関連づけ処理の第2の具体例>
本具体例は、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を第2の関連づけ処理を行うことによりテストベンチ記述に追加してネットリスト記述に関連づける例である。
<Second Specific Example of Second Association Processing>
This specific example is an example in which the monitor description of the combinational circuit generated in the second monitor description creation process is added to the test bench description by performing the second association process and associated with the netlist description.
図32は、第2の関連づけ処理を施したテストベンチ記述を示す図である。
第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述m3を下記のようにテストベンチ記述へ直接記述し追加する。RTL記述r1内部にアサーションチェッカが記述されている場合、ここでアサーションチェッカも追加される。
// psl default clock = ( posedge CLK ) ;
// psl property
// chk = always { a } |=> { b } ;
// psl assert chk ;
wire a, b;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、RTL記述r1のレジスタが出力していた信号名「f0」、「f1」の信号に、ネットリスト記述n1のレジスタが出力する信号名の信号を関連づける。
FIG. 32 is a diagram showing a test bench description subjected to the second association process.
The monitor description m3 of the combinational circuit generated by the second monitor description creation process is directly described and added to the test bench description as follows. When an assertion checker is described in the RTL description r1, an assertion checker is also added here.
// psl default clock = (posedge CLK);
// psl property
// chk = always {a} | =>{b};
// psl assert chk;
wire a, b;
assign a = f0 &XMSK;
assign b = f1 &XMSK;
Next, the signal of the signal name output from the register of the netlist description n1 is associated with the signals of the signal names “f0” and “f1” output from the register of the RTL description r1.
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述r1と同等のレジスタがネットリスト記述n1に存在するか否かを判断する。
本具体例ではレジスタF0_regに対応するレジスタf0_regおよびレジスタF1_regに対応するレジスタf1_regが存在するので、ネットリスト記述n1のレジスタが出力する信号と同じ信号名がモニタ記述m3に存在しているか否かを判断する。
Specifically, the library stored in the
In this specific example, since the register f0_reg corresponding to the register F0_reg and the register f1_reg corresponding to the register F1_reg exist, it is determined whether or not the same signal name as the signal output from the register of the netlist description n1 exists in the monitor description m3. to decide.
本具体例では、ネットリスト記述n1のレジスタf0_regが出力する信号の信号名はインスタンス名を含む「inst_dut.f0」であり、ネットリスト記述n1のレジスタf1_regが出力する信号の信号名はインスタンス名を含む「inst_dut.f1」であるため、同じ信号名はモニタ記述m3に存在しない。従って、信号名「inst_dut.f0」に信号名「f0」の信号を関連づけ、信号名「inst_dut.f1」に信号名「f1」の信号を関連づける(下記下線部参照)。
// psl default clock = ( posedge CLK ) ;
// psl property
// chk = always { a } |=> { b } ;
// psl assert chk ;
wire a, b;
wire f0, f1;
assign f0 = inst_dut.f0;
assign f1 = inst_dut.q1;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、モニタ記述m3の組み合わせ回路に入力される信号名「XMSK」の信号および信号名「CLK」の信号にネットリスト記述n1に入力される信号を関連づける。
In this specific example, the signal name of the signal output from the register f0_reg of the netlist description n1 is “inst_dut.f0” including the instance name, and the signal name of the signal output from the register f1_reg of the netlist description n1 is the instance name. The same signal name does not exist in the monitor description m3 because it is “inst_dut.f1”. Therefore, the signal name “f0” is associated with the signal name “inst_dut.f0”, and the signal name “f1” is associated with the signal name “inst_dut.f1” (see the underlined portion below).
// psl default clock = (posedge CLK);
// psl property
// chk = always {a} | =>{b};
// psl assert chk;
wire a, b;
wire f0, f1;
assign f0 = inst _ dut.f0;
assign f1 = inst _ dut.q1;
assign a = f0 &XMSK;
assign b = f1 &XMSK;
Next, the signal input to the netlist description n1 is associated with the signal with the signal name “XMSK” and the signal with the signal name “CLK” input to the combinational circuit of the monitor description m3.
具体的には、ネットリスト記述n1を検索し、これらの信号名の信号と同等の信号名の信号が存在するか否かを判断する。
本具体例では信号名「XMSK」の信号、信号名「CLK」の信号は存在するので何もしない。何もしなくても、モニタ記述m3の信号名「XMSK」の信号および信号名「CLK」の信号はネットリスト記述n1の信号名「XMSK」の信号および信号名「CLK」の信号とそれぞれ接続されたことになる。
Specifically, the netlist description n1 is searched to determine whether there is a signal with a signal name equivalent to the signal with these signal names.
In this specific example, since there is a signal with the signal name “XMSK” and a signal with the signal name “CLK”, nothing is done. Even if nothing is done, the signal with the signal name “XMSK” and the signal with the signal name “CLK” in the monitor description m3 are connected to the signal with the signal name “XMSK” and the signal with the signal name “CLK” in the netlist description n1, respectively. That's right.
以上の処理を行うことで、モニタ記述m3の信号がネットリスト記述n1の信号に関連づけられたテストベンチ記述t2が得られる。このテストベンチ記述t2に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。 By performing the above processing, a test bench description t2 in which the signal of the monitor description m3 is associated with the signal of the netlist description n1 is obtained. By performing an assertion check of the monitor description part added to the test bench description t2, an assertion check in the netlist verification can be performed.
図33は、図32に示すテストベンチ記述により実現されるテストベンチ回路を示す図である。
テストベンチ記述t2により実現されるテストベンチ回路81には、組み合わせ回路61が追加されている。また、ネットリスト回路21aは、図12に示すネットリスト記述n1により実現される回路である。すなわち、モニタ記述を第2の関連づけ処理を行うことによりテストベンチ記述に追加する場合はネットリスト記述には手を加えない。
FIG. 33 is a diagram showing a test bench circuit realized by the test bench description shown in FIG.
A
組み合わせ回路61の信号名「f0」の信号にネットリスト回路21aのレジスタf0_regが出力する信号名「f0」の信号が接続され、組み合わせ回路61の信号名「f1」の信号にレジスタf1_regが出力する信号名「q1」の信号が接続されている。
The signal of the signal name “f0” output from the register f0_reg of the
また、ネットリスト回路21aに入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのまま組み合わせ回路61の同じ信号名の入力信号に接続されている。
Further, the signal with the signal name “XMSK”, the signal with the signal name “DIN”, and the signal with the signal name “CLK” input to the
アサーションチェック部200は、組み合わせ回路61の信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路21aのアサーションチェックを行うことができる。
The
<第2の関連づけ処理の第3の具体例>
本具体例は、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を第2の関連づけ処理を行うことによりアサーションチェッカモデル記述内部に追加してネットリスト記述に関連づける例である。
<Third Specific Example of Second Association Processing>
In this specific example, the monitor description of the combinational circuit generated in the second monitor description creation process is added to the assertion checker model description and associated with the netlist description by performing the second association process.
図34は、第2の関連づけ処理を施したアサーションチェッカモデル記述を示す図である。
第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述m3を下記のようにアサーションチェッカへ直接記述し追加する。この例でのアサーションチェッカはRTL記述とは別ファイルである。
wire a, b;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、RTL記述r1のレジスタが出力していた信号名「f0」、「f1」の信号に、ネットリスト記述n1のレジスタが出力する信号名の信号を関連づける。
FIG. 34 is a diagram showing an assertion checker model description subjected to the second association process.
The monitor description m3 of the combinational circuit generated by the second monitor description creation process is directly described and added to the assertion checker as follows. The assertion checker in this example is a separate file from the RTL description.
wire a, b;
assign a = f0 &XMSK;
assign b = f1 &XMSK;
Next, the signal of the signal name output from the register of the netlist description n1 is associated with the signals of the signal names “f0” and “f1” output from the register of the RTL description r1.
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述r1と同等のレジスタがネットリスト記述n1に存在するか否かを判断する。
本具体例では、レジスタF0_regに対応するレジスタf0_regおよびレジスタF1_regに対応するレジスタf1_regが存在する。
Specifically, the library stored in the
In this specific example, there are a register f0_reg corresponding to the register F0_reg and a register f1_reg corresponding to the register F1_reg.
ここで、レジスタF0_regが出力していた信号の信号名「f0」はネットリスト記述n1に存在するため何もしない。何もしなくても、モニタ記述の信号名「f0」の信号は、ネットリスト記述n1のレジスタf0_regが出力する信号名「f0」の信号に接続されたことになる。 Here, since the signal name “f0” of the signal output from the register F0_reg exists in the netlist description n1, nothing is done. Even if nothing is done, the signal having the signal name “f0” in the monitor description is connected to the signal having the signal name “f0” output from the register f0_reg of the netlist description n1.
一方、レジスタF1_regが出力していた信号の信号名「f1」はネットリスト記述n1に存在しないため、ネットリスト記述n1のレジスタf1_regが出力する信号の信号名「q1」を関連づける(下記下線部参照)。
wire a, b;
wire f1;
assign f1 = q1;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、モニタ記述m3の組み合わせ回路に入力される信号名「XMSK」の信号および信号名「CLK」の信号にネットリスト記述n1に入力される信号を関連づける。
On the other hand, since the signal name “f1” of the signal output from the register F1_reg does not exist in the netlist description n1, the signal name “q1” of the signal output from the register f1_reg of the netlist description n1 is associated (see the underlined portion below). ).
wire a, b;
wire f1;
assign f1 = q1;
assign a = f0 &XMSK;
assign b = f1 &XMSK;
Next, the signal input to the netlist description n1 is associated with the signal with the signal name “XMSK” and the signal with the signal name “CLK” input to the combinational circuit of the monitor description m3.
具体的には、ネットリスト記述n1を検索し、これらの信号名の信号と同等の信号名の信号が存在するか否かを判断する。
本具体例では信号名「XMSK」の信号、信号名「CLK」の信号は存在するので何もしない。何もしなくても、モニタ記述m3の信号名「XMSK」の信号および信号名「CLK」の信号はネットリスト記述n1の信号名「XMSK」の信号および信号名「CLK」の信号とそれぞれ接続されたことになる。
Specifically, the netlist description n1 is searched to determine whether there is a signal with a signal name equivalent to the signal with these signal names.
In this specific example, since there is a signal with the signal name “XMSK” and a signal with the signal name “CLK”, nothing is done. Even if nothing is done, the signal with the signal name “XMSK” and the signal with the signal name “CLK” in the monitor description m3 are connected to the signal with the signal name “XMSK” and the signal with the signal name “CLK” in the netlist description n1, respectively. That's right.
以上の処理を行うことで、モニタ記述m3の信号がネットリスト記述n1の信号に接続されたアサーションチェッカモデル記述a1が得られる。このアサーションチェッカモデル記述a1に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。 By performing the above processing, the assertion checker model description a1 in which the signal of the monitor description m3 is connected to the signal of the netlist description n1 is obtained. By performing an assertion check of the monitor description part added to the assertion checker model description a1, an assertion check in the netlist verification can be performed.
図35は、図34に示すアサーションチェッカモデル記述により実現されるネットリスト回路を示す図である。
ネットリスト記述n1により実現されるネットリスト回路21aに組み合わせ回路61を備えるアサーションチェッカモデル回路61aが追加されている。このように、本具体例においてもネットリスト記述には手を加えない。
FIG. 35 is a diagram showing a net list circuit realized by the assertion checker model description shown in FIG.
An assertion
アサーションチェッカモデル回路61aの信号名「f0」の信号にネットリスト回路21aのレジスタf0_regが出力する信号名「f0」の信号が接続され、アサーションチェッカモデル回路61aの信号名「f1」の信号にレジスタf1_regが出力する信号名「q1」の信号が接続されている。
The signal of the signal name “f0” output from the register f0_reg of the
また、ネットリスト回路21aに入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのままアサーションチェッカモデル回路61aの同じ信号名の入力信号に接続されている。
Further, the signal with the signal name “XMSK”, the signal with the signal name “DIN”, and the signal with the signal name “CLK” input to the
このアサーションチェッカモデル回路61aのアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
アサーションチェック部200は、アサーションチェッカモデル回路61aの信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路21aのアサーションチェックを行うことができる。
By performing an assertion check of the assertion
The
以上、本発明の設計検証プログラム、設計検証方法および設計検証装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。 As described above, the design verification program, the design verification method, and the design verification apparatus of the present invention have been described based on the illustrated embodiment. However, the present invention is not limited to this, and the configuration of each part has the same function. Can be replaced with any structure having Moreover, other arbitrary structures and processes may be added to the present invention.
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、設計検証装置100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
Further, the present invention may be a combination of any two or more configurations (features) of the above-described embodiments.
The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions that the design verification apparatus 100 should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Examples of the optical disc include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Examples of the magneto-optical recording medium include MO (Magneto-Optical disk).
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
設計検証プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。 A computer that executes a design verification program stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.
以上の実施形態に関し、更に以下の付記を開示する。
(付記1) ゲートレベルのネットリストを用いた設計検証を行う設計検証プログラムにおいて、
コンピュータを、
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理手段、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理手段、
として機能させることを特徴とする設計検証プログラム。
Regarding the above embodiment, the following additional notes are disclosed.
(Supplementary note 1) In a design verification program for performing design verification using a gate-level netlist,
Computer
Creation processing means for creating a monitor description of a monitor of a combinational circuit in which a description related to a register is deleted from an RTL description of the created RTL;
Association processing means for associating the signal name of the corresponding signal with the signal name of the input signal of the monitor description among the signal names of the input / output signals in the netlist description of the netlist obtained by logically synthesizing the RTL;
Design verification program characterized by functioning as
(付記2) 前記作成処理手段は、前記RTL記述のモジュール名を変更し、前記RTL記述のレジスタに関する記述を全て削除し、削除したレジスタが出力する信号の信号名を、前記RTL回路外部からの入力信号の信号名とした前記モニタ記述を作成することを特徴とする付記1記載の設計検証プログラム。
(Additional remark 2) The said creation process means changes the module name of the said RTL description, deletes all the descriptions regarding the register | resistor of the said RTL description, and the signal name of the signal which the deleted register outputs from the said RTL circuit outside The design verification program according to
(付記3) 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記入力信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記2記載の設計検証プログラム。 (Supplementary Note 3) The association processing means adds the monitor description to the netlist description, and outputs the signal name of the signal output from the register described in the netlist description corresponding to the deleted register, The signal name of the netlist signal that is associated with the signal name of the input signal and is equal to the signal name of the signal input to the monitor is associated with the signal name of the signal input to the monitor. The design verification program described.
(付記4) 前記関連づけ処理手段は、前記モニタ記述を、テストベンチ記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記入力信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記2記載の設計検証プログラム。
(Supplementary Note 4) The association processing means adds the monitor description to the test bench description, and outputs the signal name of the signal output from the register described in the netlist description corresponding to the deleted register. The
(付記5) 前記作成処理手段は、前記RTL記述のモジュール名および入出力信号名の定義文を削除し、前記RTL記述のレジスタに関する記述を全て削除し、前記ネットリストの内部信号または出力信号に対応する信号を出力する組み合わせ回路に関する記述を削除した前記モニタ記述を作成することを特徴とする付記1記載の設計検証プログラム。
(Additional remark 5) The said creation process means deletes the definition sentence of the module name and input / output signal name of the said RTL description, deletes all the descriptions regarding the register | resistor of the said RTL description, and makes it the internal signal or output signal of the said netlist. The design verification program according to
(付記6) 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記5記載の設計検証プログラム。 (Supplementary Note 6) The association processing means adds the monitor description to the netlist description, and outputs the signal name of the signal output from the register described in the netlist description corresponding to the deleted register. The signal name of the netlist signal, which is equal to the signal name of the signal input to the monitor, is associated with the signal name of the signal output by the register from which the monitor has been deleted. The design verification program according to appendix 5, wherein the design verification program is associated with a signal name.
(付記7) 前記関連づけ処理手段は、前記モニタ記述を、テストベンチ記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号のインスタンス名を含む信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記5記載の設計検証プログラム。 (Supplementary Note 7) The association processing means adds the monitor description to the test bench description, and outputs the signal name of the signal output from the register described in the netlist description corresponding to the deleted register. The signal name of the netlist signal equal to the signal name of the signal input to the monitor is input to the monitor in association with the signal name including the instance name of the signal output by the register from which the monitor has been deleted. The design verification program according to appendix 5, wherein the design verification program is associated with a signal name of a signal to be transmitted.
(付記8) 前記関連づけ処理手段は、前記モニタ記述を、アサーションチェッカモデル記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記5記載の設計検証プログラム。 (Supplementary note 8) The association processing means adds the monitor description to the assertion checker model description, and outputs the signal name of the signal output from the register described in the netlist description corresponding to the deleted register. The signal name of the netlist signal, which is equal to the signal name of the signal input to the monitor, is associated with the signal name of the signal output by the register from which the monitor has been deleted. The design verification program according to appendix 5, wherein the design verification program is associated with a signal name.
(付記9) 前記関連づけ処理手段は、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが存在するか否かを判断し、存在しない場合は論理等価検証用スクリプトから、削除された前記レジスタが出力していた信号の信号名に対応する前記ネットリストの信号名を検索し、検索された信号の信号名を、削除された前記レジスタが出力していた信号の信号名に関連づけることを特徴とする付記3または4もしくは6ないし8のいずれかに記載の設計検証プログラム。
(Supplementary Note 9) The association processing unit determines whether or not the register described in the netlist description corresponding to the deleted register exists, and deletes it from the logical equivalence verification script if it does not exist. The signal name of the netlist corresponding to the signal name of the signal output from the registered register is searched, and the signal name of the searched signal is changed to the signal name of the signal output from the deleted register. 9. The design verification program according to any one of
(付記10) 前記関連づけ処理手段は、前記モニタに入力される信号の信号名に等しい前記ネットリストに入力される信号の信号名が存在するか否かを判断し、存在しない場合は論理等価検証用スクリプトから、前記モニタに入力される信号の信号名に対応する前記ネットリストの信号名を検索し、検索された信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記3または4もしくは6ないし8のいずれかに記載の設計検証プログラム。
(Additional remark 10) The said correlation process means judges whether the signal name of the signal input into the said net list equal to the signal name of the signal input into the said monitor exists, and when it does not exist, logical equivalence verification A signal name of the netlist corresponding to the signal name of the signal input to the monitor from the script for use, and associating the signal name of the searched signal with the signal name of the signal input to the monitor 9. The design verification program according to any one of
(付記11) 前記関連づけ処理手段は、ライブラリの検索結果に基づいて前記判断を行うことを特徴とする付記10記載の設計検証プログラム。
(付記12) 前記関連づけ処理手段により信号が接続された状態で、前記組み合わせ回路のアサーションチェックを行うことを特徴とする付記1記載の設計検証プログラム。
(Supplementary note 11) The design verification program according to
(Supplementary note 12) The design verification program according to
(付記13) ゲートレベルのネットリストを用いた設計検証を行う設計検証方法において、
作成処理手段が、作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成し、
関連づけ処理手段が、前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける、
ことを特徴とする設計検証方法。
(Supplementary Note 13) In a design verification method for performing design verification using a gate-level netlist,
The creation processing means creates a monitor description of the monitor of the combinational circuit in which the description related to the register is deleted from the RTL description of the created RTL.
Association processing means associates the signal name of the corresponding signal among the signal names of the input / output signals in the netlist description of the netlist obtained by logically synthesizing the RTL with the signal name of the input signal of the monitor description.
A design verification method characterized by that.
(付記14) ゲートレベルのネットリストを用いた設計検証を行う設計検証装置において、
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理部と、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理部と、
を有することを特徴とする設計検証装置。
(Supplementary Note 14) In a design verification apparatus that performs design verification using a gate-level netlist,
A creation processing unit for creating a monitor description of the monitor of the combinational circuit in which the description about the register is deleted from the RTL description of the created RTL;
An association processing unit for associating the signal name of the corresponding signal with the signal name of the input signal of the monitor description among the signal names of the input / output signals in the netlist description of the netlist obtained by logically synthesizing the RTL;
The design verification apparatus characterized by having.
(付記15) 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述またはテストベンチ記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記入力信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記2記載の設計検証プログラム。
(Supplementary Note 15) The association processing means adds the monitor description to the netlist description or test bench description, and outputs the signal output from the register described in the netlist description corresponding to the deleted register. A signal name is associated with a signal name of the input signal, and a signal name of the netlist signal equal to the signal name of the signal input to the monitor is associated with the signal name of the signal input to the monitor. The design verification program described in
(付記16) 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述またはテストベンチ記述またはアサーションチェッカモデル記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記5記載の設計検証プログラム。 (Supplementary Note 16) The association processing means adds the monitor description to the netlist description, the test bench description, or the assertion checker model description, and the register described in the netlist description corresponding to the deleted register Is associated with the signal name of the signal output from the register that has been deleted from the monitor, and the signal name of the signal in the netlist that is equal to the signal name of the signal input to the monitor The design verification program according to appendix 5, wherein the design verification program is associated with a signal name of a signal input to the monitor.
11、11a、41、41a モジュール回路
21、21a、51、51a、71 ネットリスト回路
31、81 テストベンチ回路
61 組み合わせ回路
61a アサーションチェッカモデル回路
100、100a 設計検証装置
200 アサーションチェック部
300 設計検証部
310 シミュレーション実行部
320 論理合成部
330 Formal検証部
340 レイアウト実行部
350 モニタ記述作成部
360 関連づけ処理部
370 タイミング検証部
400 RTL記述格納部
500 ネットリスト記述格納部
600 実配線SDF格納部
700 モニタ記述格納部
800 テストベンチ記述格納部
900 ライブラリ格納部
1000 FVスクリプト格納部
1100 アサーションチェッカモデル記述格納部
a1 アサーションチェッカモデル記述
fv1 FVスクリプト
m1、m2、m3 モニタ記述
n1、n2、n3、n4 ネットリスト記述
r1、r2 RTL記述
t1、t2 テストベンチ記述
11, 11a, 41,
Claims (7)
コンピュータを、
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理手段、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理手段、
として機能させることを特徴とする設計検証プログラム。 In a design verification program that performs design verification using a gate-level netlist,
Computer
Creation processing means for creating a monitor description of a monitor of a combinational circuit in which a description related to a register is deleted from an RTL description of the created RTL;
Association processing means for associating the signal name of the corresponding signal with the signal name of the input signal of the monitor description among the signal names of the input / output signals in the netlist description of the netlist obtained by logically synthesizing the RTL;
Design verification program characterized by functioning as
作成処理手段が、作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成し、
関連づけ処理手段が、前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける、
ことを特徴とする設計検証方法。 In a design verification method that performs design verification using a gate-level netlist,
The creation processing means creates a monitor description of the monitor of the combinational circuit in which the description related to the register is deleted from the RTL description of the created RTL.
Association processing means associates the signal name of the corresponding signal among the signal names of the input / output signals in the netlist description of the netlist obtained by logically synthesizing the RTL with the signal name of the input signal of the monitor description.
A design verification method characterized by that.
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理部と、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理部と、
を有することを特徴とする設計検証装置。 In a design verification device that performs design verification using a gate-level netlist,
A creation processing unit for creating a monitor description of the monitor of the combinational circuit in which the description about the register is deleted from the RTL description of the created RTL;
An association processing unit for associating the signal name of the corresponding signal with the signal name of the input signal of the monitor description among the signal names of the input / output signals in the netlist description of the netlist obtained by logically synthesizing the RTL;
The design verification apparatus characterized by having.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008039363A JP4983642B2 (en) | 2008-02-20 | 2008-02-20 | Design verification program, design verification method, and design verification apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008039363A JP4983642B2 (en) | 2008-02-20 | 2008-02-20 | Design verification program, design verification method, and design verification apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009199274A true JP2009199274A (en) | 2009-09-03 |
JP4983642B2 JP4983642B2 (en) | 2012-07-25 |
Family
ID=41142713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008039363A Expired - Fee Related JP4983642B2 (en) | 2008-02-20 | 2008-02-20 | Design verification program, design verification method, and design verification apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4983642B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626323A (en) * | 2022-05-16 | 2022-06-14 | 飞腾信息技术有限公司 | Timing convergence method and device of integrated circuit, server and readable storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005275963A (en) * | 2004-03-25 | 2005-10-06 | Toshiba Corp | Monitor description generating apparatus, method, and program |
JP2006163600A (en) * | 2004-12-03 | 2006-06-22 | Canon Inc | Internal signal monitoring method and logic simulation device |
JP2008234080A (en) * | 2007-03-16 | 2008-10-02 | Ricoh Co Ltd | Semiconductor integrated circuit design support device, semiconductor integrated circuit design support method, semiconductor integrated circuit design support progrram, semiconductor integrated circuit, and method for manufacturing semiconductor integrated circuit |
-
2008
- 2008-02-20 JP JP2008039363A patent/JP4983642B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005275963A (en) * | 2004-03-25 | 2005-10-06 | Toshiba Corp | Monitor description generating apparatus, method, and program |
JP2006163600A (en) * | 2004-12-03 | 2006-06-22 | Canon Inc | Internal signal monitoring method and logic simulation device |
JP2008234080A (en) * | 2007-03-16 | 2008-10-02 | Ricoh Co Ltd | Semiconductor integrated circuit design support device, semiconductor integrated circuit design support method, semiconductor integrated circuit design support progrram, semiconductor integrated circuit, and method for manufacturing semiconductor integrated circuit |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626323A (en) * | 2022-05-16 | 2022-06-14 | 飞腾信息技术有限公司 | Timing convergence method and device of integrated circuit, server and readable storage medium |
CN114626323B (en) * | 2022-05-16 | 2022-08-16 | 飞腾信息技术有限公司 | Timing convergence method and device of integrated circuit, server and readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4983642B2 (en) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603636B2 (en) | Assertion generating system, program thereof, circuit verifying system, and assertion generating method | |
US8234617B2 (en) | Method and system for re-using digital assertions in a mixed signal design | |
JP2006107517A (en) | System, method and logical device for timing analysis considering crosstalk | |
US8522182B2 (en) | Generation of an end point report for a timing simulation of an integrated circuit | |
JP4078435B2 (en) | Logic integrated circuit, logic integrated circuit design method, and hardware description generation method for generating hardware operation description of logic integrated circuit | |
JP4147842B2 (en) | Logic verification system and method, logic cone extraction apparatus and method, logic verification and logic cone extraction program | |
US7888971B2 (en) | Verification support system and method | |
Simpson | FPGA design | |
JP4850091B2 (en) | Verification scenario generation apparatus, method, program, and verification apparatus | |
US7454726B2 (en) | Technique for generating input stimulus to cover properties not covered in random simulation | |
US8504347B2 (en) | Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit | |
US9792394B2 (en) | Accurate glitch detection | |
JP2003141206A (en) | Method and program for timing verification of lsi test data | |
US7979262B1 (en) | Method for verifying connectivity of electrical circuit components | |
JP4983642B2 (en) | Design verification program, design verification method, and design verification apparatus | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
JP2009517759A (en) | IC design method and IC design tool | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
JP2003196339A (en) | System and method for analyzing test facility, and system, and method for designing test facilitation | |
JP4881769B2 (en) | Semiconductor integrated circuit design support apparatus, semiconductor integrated circuit design support method, semiconductor integrated circuit design support program | |
JPWO2006025412A1 (en) | Logic verification method, logic module data, device data, and logic verification apparatus | |
JP5146369B2 (en) | Circuit design program, circuit design method, and circuit design apparatus | |
Brinkmann et al. | Formal verification—the industrial perspective | |
TW201040766A (en) | Performing logic optimization and state-space reduction for hybrid verification | |
JP2002269169A (en) | Automatic circuit verifying device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100930 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120308 |
|
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: 20120327 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120409 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |