Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5568779B2 - 論理検証方法及び論理検証システム - Google Patents
[go: Go Back, main page]

JP5568779B2 - 論理検証方法及び論理検証システム - Google Patents

論理検証方法及び論理検証システム Download PDF

Info

Publication number
JP5568779B2
JP5568779B2 JP2011120330A JP2011120330A JP5568779B2 JP 5568779 B2 JP5568779 B2 JP 5568779B2 JP 2011120330 A JP2011120330 A JP 2011120330A JP 2011120330 A JP2011120330 A JP 2011120330A JP 5568779 B2 JP5568779 B2 JP 5568779B2
Authority
JP
Japan
Prior art keywords
property
time series
unit
logic
time
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.)
Expired - Fee Related
Application number
JP2011120330A
Other languages
English (en)
Other versions
JP2012248064A (ja
Inventor
克修 名取
圭祐 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011120330A priority Critical patent/JP5568779B2/ja
Publication of JP2012248064A publication Critical patent/JP2012248064A/ja
Application granted granted Critical
Publication of JP5568779B2 publication Critical patent/JP5568779B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、論理設計における論理の検証方法及び論理検証システムに関する。
論理回路の大規模化と多機能化に対処するために、検証の効率改善も重要な課題である。論理検証の方法の一つに、形式的論理検証が知られている。
形式的論理検証とは、論理回路に期待される動作や禁止される動作をプロパティとして定義し、検証対象の論理回路がプロパティに違反する動作を起こさないように設計されているかどうかを検査するものである。
プロパティとは、入力パタンとそれに伴う出力の期待値の動作を定義するものである。具体的には、「ある信号が入力された後、3サイクル以内に信号を出力する」、「2つの信号は決して同時に‘1’とならない」といったものである。
プロパティの検出機能を有した形式的論理検証の方法として、動作合成ツールが、動作レベル回路記述からRTL(Register Transfer Level)回路記述を合成する。また、プロパティ生成部が、動作レベル回路記述から動作レベルプロパティを生成する。続いて、プロパティ変換部が、生成された動作レベルプロパティをRTLプロパティに変換する。そして、モデル検査部が、RTL回路記述をRTLプロパティを用いて、モデル検査技法により検証するプロパティ生成システムが知られている(特許文献1参照)。
特開2009−230677
前述の従来技術は、動作合成ツールを使用する設計において、C言語などの抽象度の高い記述からプロパティを抽出し、抽出したプロパティをRTLのプロパティに変換するものである。
しかし、従来技術は、論理の記述形式からプロパティを抽出することは可能であるが、抽出したプロパティだけでは全ての検証項目を満足させることはできず、検証回路に対して網羅的な検証をするためは不十分である。そのため、プロパティを網羅的に生成する必要があるが、これには時間的、人的なコストが多く発生する。
本発明はこのような問題点に鑑みてなされたものであり、論理検証における検査項目であるプロパティを効率的に生成できる論理検証方法及び論理検証装置を提供することを特徴とする。
本発明の一実施態様によれば、論理と、論理を検証する検証項目である第1のプロパティと、を取得する第1の手順と、第1のプロパティで発生する事象を時系列に並べた時系列表を作成する第2の手順と、第1のプロパティと時系列表とに基づいて、検証項目の逆、裏又は対偶を意味する第2のプロパティを作成する第3の手順と、第1のプロパティ及び作成された第2のプロパティを用いて、論理を検証する第4の手順と、を備える。
本発明によれば、検証者が作成する第1のプロパティを元にして、逆、裏、対偶を意味する第2のプロパティを作成するので、複数のプロパティを網羅的に生成することにより、論理検証の検証品質を向上させることができる。さらに、論理検証における時間的、人的なコストを削減することができる。
本発明の第1の実施形態の論理検証支援部のブロック図である。 本発明の第1の実施形態における論理デバイス設計のフローチャートである。 本発明の第1の実施形態の論理検証支援システムのハードウェア構成を示すブロック図である。 本発明の第1の実施形態のプロパティの一例の説明図である。 本発明の第1の実施形態のプロパティ言語の一例の説明図である。 本発明の第1の実施形態のプロパティで使用される演算子、関数の一例の説明図である。 本発明の第1の実施形態において、命題プロパティに対する逆、裏及び対偶の各プロパティによる検証内容の違いの説明図である。 本発明の第1の実施形態の論理検証処理のフローチャートである。 本発明の第1の実施形態の時系列表作成処理のフローチャートである。 本発明の第1の実施形態の遅延時間テーブルの一例の説明図である。 本発明の第1の実施形態の関数変換テーブルの一例を示す表である。 本発明の第1の実施形態の関数を変換した後の遅延時間テーブルを示す説明図である。 本発明の第1の実施形態の時系列表の一例の説明図である。 本発明の第1の実施形態の逆プロパティの生成方法を示すフローチャートである。 本発明の第1の実施形態の遅延時間テーブルの一例の説明図である。 本発明の第1の実施形態の遅延時間テーブルの一例の説明図である。 本発明の第1の実施形態の逆プロパティの生成の説明図である。 本発明の第1の実施形態の裏プロパティの生成の説明図である。 本発明の第1の実施形態の対偶プロパティの生成の説明図である。 本発明の第1の実施形態の形式的論理検証の説明図である。 本発明の第1の実施形態の形式的論理検証のフローチャートである。 本発明の第2の実施形態の論理検証支援部のブロック図である。 本発明の第3の実施形態の論理検証支援部のブロック図である。
以下、本発明の第1の実施の形態を、図面を参照して説明する。
図1は、本実施形態の論理検証支援部10のブロック図である。
本実施形態の論理検証支援部10は、オペレータが設計した論理デバイスの論理回路を、プロパティを用いて形式的論理検証を行う装置である。
形式的論理検証とは、論理回路に期待される動作や、禁止される動作をプロパティとして定義し、検証対象の論理回路がプロパティに違反する動作を起こさないように設計されているかどうかを検査するものである。
論理検証支援部10は、入力受付部101、表作成部102、プロパティ生成部103、検証部104及び検証結果出力部105を備える。
入力受付部101は、オペレータからプロパティ等のデータや指令の入力を受付ける。表作成部102は、入力されたプロパティから後述する時系列表を作成する。
プロパティ生成部103は、オペレータが入力したプロパティを命題として逆、裏、対偶の意味を持つプロパティを生成する。
検証部104は、プロパティを検証する。検証結果出力部105は、プロパティの検証結果を出力する。
図2は、本実施形態における形式的論理検証が適用される論理デバイス設計のフローチャートである。
論理デバイス設計において、オペレータは、論理デバイスの方式を検討する方式検討(S300)を実行し、方式を実現させるための機能を検討する機能検討(S301)を実行し、機能を実現するために論理を記述する論理設計(S302)を実行する。論理設計では、RTL(Register Transfer Level;レジスタ転送レベル)によって記述された論理が作成される。
次に、オペレータは、作成されたRTLを形式的論理検証するために、論理検証(S303)を実行する。このステップS303では、論理検証支援部10において、後述するプロパティを用いた形式的論理検証を実行する。
論理検証が終了し、RTLの正当性が確認された後、RTLをゲートレベルに合成する論理合成(S304)を実行し、作成されたゲートを実際のデバイスに配置する実装(S305)を実行する。
このような手順により、論理デバイスの設計が行われる。
図3は、本実施形態の論理検証支援部10を実現する論理検証支援システム11のハードウェア構成を示すブロック図である。
論理検証支援システム11は、CPU111、メモリ112、HDD113、入出力インタフェース114、表示部117及び入力部118を備える。CPU111、メモリ112、HDD113及び入出力インタフェース114は、バス115よって相互に接続される。
CPU111は、論理検証支援システム11の制御を司る制御部である。CPU111は、HDD113に格納される論理検証支援プログラム116を、メモリ112上に読み出し、これを実行する。CPU111が論理検証支援プログラム116を実行することによって、論理検証支援部10が実行される。
メモリ112は、例えばDRAMにより構成される。メモリ112は、論理検証支援プログラム116や、論理検証支援プログラム116が実行するために用いるデータやテーブル等を一時的に記録する。
HDD113は、例えば磁気ディスクドライブにより構成される。HDD113は、論理検証支援システム11によって実行されるプログラム、データ等を記録する。例えば、論理検証の対象の論理回路のRTLや、演算子、関数等のサイクル遅延を表す関数変換テーブル130等は、オペレータにより予め記憶される。これらメモリ112およびHDD113によって記憶部が構成される。
入出力インタフェース114は、論理検証支援部10の動作に関わる情報を表示部117に表示する。また、入出力インタフェース114は、オペレータ等により入力部118に入力される情報を論理検証支援部10に伝達する。
なお、表示部117及び入力部118は、ネットワーク等を経由して他のコンピュータやストレージ等にデータを送受信できるように構成されていてもよい。論理検証支援システム11が、他のコンピュータからデータを入力したり、他のコンピュータに結果を表示するように構成されていてもよい。
次に、論理検証支援部10が実行する形式的論理検証について説明する。
形式的論理検証は、図2のステップS302において作成した論理のRTLに対して、プロパティと呼ばれる検証項目を作成し、この検証項目を用いてRTLの論理を検証する。この結果、RTLの論理の正当性、等価性等が検証される。
図4は、本実施形態のプロパティの一例の説明図である。
プロパティとは、ある信号が仮定部に表される条件である場合に、帰結部に表された結果となることを記述するものである。
図4に示すテーブル60は、自然言語により記述されたプロパティの一例を示し、列61にプロパティの種類が、列62にプロパティの内容が、記述されている。
このテーブル60は、命題プロパティに対して、逆プロパティ、裏プロパティ又は対偶プロパティがどのようなものかを表す。なお、逆プロパティ、裏プロパティ及び対偶プロパティの定義は、数学の論理学における逆、裏及び対偶と同等のものである。
命題プロパティが「AならばBである」とすると、逆プロパティは、命題プロパティの仮定部及び帰結部を入れ替えた「BならばAである」という形式となる。
また、対偶プロパティは、命題プロパティの仮定部及び帰結部を入れ替え、かつ、仮定部及び帰結部それぞれを否定形とした「BでなければAでない」という形式となる。
また、裏プロパティは、命題プロパティの仮定部及び帰結部をそれぞれ否定形とした「AでなければBでない」という形式となる。
本実施形態における形式的論理検証では、このようなプロパティを用いることで、論理の検証を実行する。
図5は、本実施形態のプロパティ言語の一例の説明図である。
図4に示した例は、自然言語によるプロパティの記述である。一方で、論理検証支援部10において、プロパティはプロパティ言語によって扱われる。
すなわち、プロパティは、SVA(System Verilog Assertion)やPSL(Property Specific Language)等のプロパティ言語によって記述される。なお本実施形態では、SVA言語による記述を説明に用いるが、SVA言語に依存するものではなく、その他のプロパティ言語を用いてもよい。
図5に示すテーブル70は、列71にプロパティの種類が、列72に自然言語による表記のプロパティが、列73にプロパティ言語によるプロパティの表記が、それぞれ記述される。
このテーブル70において、自然言語における命題プロパティが「Aならば1サイクル後にBである」とすると、これをプロパティ言語で記述したものは、仮定部である「(A==1)」と、帰結部である「##1 (B==1)」とをインプリケーション演算子「|−>」で結合した表記となる。なお、「##」(サイクル遅延演算子)、「|−>」(インプリケーション演算子)は、図6で説明する。
また、この命題プロパティの裏プロパティは、仮定部及び帰結部をそれぞれ否定形としたものであり、自然言語では「Aでなければ1サイクル後にBでない」となる。また、これをプロパティ言語で記述したものは、プロパティ言語の仮定部及び帰結部にそれぞれ否定を表す演算子「!」を付与した記述となる。
論理検証支援部10は、オペレータにより入力されたプロパティ言語に基づいて処理を実行するが、本実施形態では説明の容易のため自然言語による表記もあわせて記載する。
図6は、本実施形態のプロパティで使用される演算子、関数の一例の説明図である。
プロパティ言語は、信号名と信号値とをインプリケーション演算子、関数、遅延時間等を用いて表したものである。
図6に示すテーブル90は、列91にプロパティ言語における記号が、列92に記号の意味が、それぞれ記述される。
このテーブル90において、インプリケーション演算子は、「|−>」又は「|=>」の記号で表され、仮定部と帰結部とを表す演算子である。「|−>」は、「〜ならば、〜となる」を表す。また、「|=>」は、「〜ならば、1サイクル後に〜となる」を表す。
また、サイクル遅延は、「##n」の形式で表され、「##n」は「nサイクル後」を表す演算子である。
また、関数は、信号の状態の変化を表すものである。例えば、「$past」は過去を表し、「$rose」は特定の信号の立ち上がりを表す。
また、「!」は、否定を表す演算子である。
プロパティは、このような演算子及び関数の組み合わせによって、仮定部に表す信号の条件によって、帰結部に信号がどのような結果となるかを表す。
論理検証は、このプロパティを用いて、設計回路のRTLの検証を行う。
図7は、本実施形態において、命題プロパティに対する逆、裏及び対偶の各プロパティによる検証内容の違いの説明図である。
図7に示すテーブル80は、列81にプロパティ言語により行える検証の内容が、列82に命題プロパティが、列83に逆プロパティが、列84に裏プロパティが、列85に対偶プロパティが、それぞれ記述される。
このテーブル80は、命題プロパティが「A=='1' |−> B=='1'」である場合を例として、逆プロパティ、裏プロパティ及び対偶プロパティの検証内容の違いを説明する。
この命題プロパティは、「A==1」であるとき、Bの値の検証を行うことを表す。
しかし、形式的論理検証の性質上、そもそも「A==1」ではないときには、検証を実行しない。従って、「A==0」のときの検証は実行できない。
また、「A==1であればB==1である」ことは証明できても、「B==1のときにAがどのような値であるか」ということは検証できない。すなわち、AでもBでもない第3の信号による影響を検証できない。
そのため、「A==1でない」ときを検証するためには、裏プロパティを生成する必要がある。また、「B==1」のときを検証するためには逆プロパティを生成する必要がある。
このように、一つの命題プロパティによって信号を網羅的に検証することは難しいため、論理検証のために多くのプロパティを作成する必要がある。
命題プロパティ、逆プロパティ、裏プロパティ及び対偶プロパティは、それぞれ検証の内容が異なるものである。そのため、従来は、網羅的な検証を実現するために、オペレータが、設計論理の性質に応じてこれらのプロパティを作成していた。これは多くの労力を伴うものであり、また、人手によってプロパティを作成した場合は、そのプロパティが正しいかという検証もさらに必要となるため、時間的、人的なコストが多く発生していた。
そこで、本実施形態では、オペレータが作成した命題プロパティに対して、逆、裏及び対偶を意味するプロパティを自動的に作成して、これら各プロパティによって論理検証を実行することによって、形式的論理検証を効率的に行えるように構成した。
次に、論理検証支援部10の動作を説明する。
図8は、本実施形態の論理検証支援部10が実行する論理検証処理のフローチャートである。
論理検証支援部10は、検証者が作成したプロパティを命題として、逆、裏、対偶の意味を有するプロパティを生成し、生成されたプロパティを用いて形式的論理検証を行う機能を有する。
論理検証支援部10は、論理検証処理が実行されると、検証対象となる論理とこの論理を検証する検証項目である命題プロパティと、変換指定値との入力を受付ける(S201)。
論理検証支援部10の入力受付部101は、検証対象である論理回路のRTLとオペレータが作成したプロパティと、逆、裏、対偶のいずれのプロパティを生成するのかという情報と、を受付ける。入力受付部101は、複数のプロパティの情報を入力として受付けることができる。これらはメモリ112に一時的に記録される。
なお、変換指定値とは、命題となるプロパティ(第1のプロパティ)に対して、逆、裏、対偶のいずれかのプロパティ(第2のプロパティ)に変換を行うか指定する値である。本実施形態では、逆プロパティへの変換を指定する場合は1を、対偶プロパティへの変換を指定する場合は2を、裏プロパティを指定する場合は3を、それぞれ指定する。なお、いずれのプロパティも指定しない場合は、0を指定する。
次に、論理検証支援部10は、入力されたプロパティが複数である場合に、全てのプロパティが検証済みであるか否かを判定する(S202)。全てのプロパティが検証済みであると判定した場合は、論理検証支援部10は、本フローチャートによる処理を終了する。
複数のプロパティの少なくとも一つの検証が済んでいないと判定した場合は、論理検証支援部10は、ステップS202に移行して、入力されたプロパティのうち未検証のプロパティを一つ選択し、選択した命題プロパティと、選択したプロパティに対応する変換指定値と、を取得する。
次に、論理検証支援部10は、時系列表を作成する(S203)。論理検証支援部10の表作成部102が、取得したプロパティから信号を時間軸の変化に対応する表に変換する。この処理は図9で後述する。
次に、論理検証支援部10は、時系列表を作成したプロパティに対応する変換指定値がいずれであるかを判定する(S204)。
変換指定値が1である場合、すなわち、逆プロパティの生成が指示された場合は、ステップS205に移行する。
変換指定値が2である場合、すなわち、対偶プロパティの生成が指示された場合は、ステップS206に移行する。
変換指定値が3である場合、すなわち、裏プロパティの生成が指示された場合は、ステップS214に移行する。
また、変換指定値が0である場合は、その命題プロパティに対して、いずれのプロパティへの変換も指示されていないことを意味する。この場合は、ステップS205、S206又はステップS214に移行することなく、ステップS220に移行する。
ステップS204で逆プロパティの生成が指示された場合は、ステップS205に移行し、論理検証支援部10は、ステップS203で作成された時系列表を、時系列の逆から読み取る。この処理によって逆プロパティを作成する(S210)。
ステップS204で対偶プロパティの生成が指示された場合は、ステップS206に移行し、論理検証支援部10は、ステップS203で作成された時系列表を、時系列の逆から読み取る。この処理によって逆プロパティを作成する(S210)。次に、論理検証支援部10は、逆プロパティの仮定部及び帰結部それぞれを否定形に変換する(S212)。この処理によって対偶プロパティを生成する(S213)。
ステップS204で裏プロパティの生成が指示された場合は、ステップS214に移行し、論理検証支援部10は、ステップS202で取得したプロパティについて、仮定部及び帰結部それぞれを否定形に変換する。この処理によって裏プロパティを作成する(S215)。
逆プロパティ、対偶プロパティ又は裏プロパティの作成後、ステップS220に移行し、論理検証支援部10は、形式的論理検証を実行する。その後、ステップS201に戻り、S201以降の処理を繰り返す。この処理は図20で後述する。
次に、表作成部102による時系列表の生成を説明する。
図9は、本実施形態の論理検証支援部10の表作成部102が実行する時系列表作成処理のフローチャートである。
まず、表作成部102は、入力された命題プロパティのインプリケーション演算子とサイクル遅延を表すシーケンス演算子に注目し、それらに区切られる文字列を信号のイベントとみなして抽出する(S1)。
例えば、
(A==1)|−> ##1 (B==1);(A=='1'ならば1サイクル後にB=='1'である)
というプロパティの場合は、インプリケーション演算子「|−>」とシーケンス演算子「##1」を除く文字列は「A==1」と「B==1」であるので、表作成部102は、これらを信号の状態の変化が発生するイベントとみなして抽出する。
次に、表作成部102は、ステップS1によって抽出されたイベントと、プロパティに記述されている遅延時間と、を抽出して、イベントと遅延時間との対応を表す遅延時間テーブル120を生成する(S2)。
図10は、本実施形態の表作成部102が作成する遅延時間テーブル120の一例の説明図である。
なお、この図10に表す例は、
$rose(ready) ##10 $rose(request) |−> ##1 cnt==$past(cnt,1)+1;(readyの立ち上がりから10サイクル後にrequestが立ち上がる場合、requestから1サイクル後のcnt値は1サイクル前のcnt値+1となる。)
という命題プロパティを例に説明する。
図10に示す遅延時間テーブル120は、列121にイベントの内容、すなわち、信号名とその値、関数、シーケンス演算子が記述される。列122はそのイベントの遅延時間、すなわち、そのイベントが検証開始時からどれくらいの遅延時間で発生するかのタイミングが記述される。
遅延時間テーブル120において、「$rose(ready)」という関数は、このイベントの検証開始から0及び1サイクル後に発生する。また、「##1」という演算子は、このイベントの検証開始時から11サイクル後に発生する。
このように、表作成部102は、命題プロパティから、イベントとイベントの発生タイミングとを遅延時間として対応させ、遅延時間テーブル120を作成する。
図9に戻り、表作成部102は、ステップS2で生成した遅延時間テーブル120の列121に関数が存在するかを検出する。関数が存在する場合は、関数を信号の変化による表記に変換する(S3)。この関数の変換には、関数変換テーブル130が用いられる。
論理検証支援部10は、関数変換テーブル130を予め記憶している。関数変換テーブル130とは、関数と、サイクル遅延及び信号変化とを対応づけた表である。論理検証支援システム11において、関数変換テーブル130は、HDD113又はメモリ112に予め記憶されている。
図11は、本実施形態の関数変換テーブル130の一例を示す表である。
図11に示す関数変換テーブル130は、列121に関数表記を、列132に関数をサイクル遅延表記としたものが、それぞれ記述されている。
関数変換テーブル130において、立ち上がりを表す関数「$rose(A)」は、「A==0」と「##1 A==1」との組合わせに対応付けられていることが示される。すなわち、関数「$rose(A)」は、開始時の信号Aの値が0であり、1サイクル後に信号Aの値が1に変化する関数であることが示されている。
また、立下りを表す「$fell(A)」は、「A==1」と「##1 A==0」との組み合わせに対応づけられていることが示される。
表作成部102は、この関数変換テーブル130を参照して、命題プロパティに関数変換テーブルに記録されている関数が含まれている場合は、その関数をサイクル遅延の表記に変換する。
なお、関数変換テーブル130の内容は図13のような関数に限られるものではない。[*n](連続的繰り返し)や、[=n](非連続的繰り返し)や、[−>n](goto繰り返し)などのシーケンス演算子を変換対象としてもよい。
図12は、本実施形態の表作成部102によって、関数を変換した後の遅延時間テーブル120を示す説明図である。
図12の例は、図10に示す遅延時間テーブルを、図11に示す関数変換テーブルを参照して関数を変換し、新たな表として作成したものである。
図10の列121に示される「$rose(ready)」という関数は、図11の関数変換テーブル130に基づいて、「ready==0」と「ready==1」との二つの表記に変換され、それぞれ遅延時間を当てはめている。
同様に、「$rose(request)」という関数は、図11の関数変換テーブル130に基づいて、「request==0」と「request==1」との二つの表記に変換され、それぞれ遅延時間を当てはめている。
このような処理によって、表作成部102は、プロパティを、図12に示すような、イベントと遅延時間とを対応する遅延時間テーブル120に変換する。
図9に戻り、次に、表作成部102は、ステップS3で作成されたテーブルに基づいて、時系列表20を生成する。
表作成部102は、プロパティから図10に示す遅延時間テーブルを作成し、このテーブルの関数を分関して図12に示す遅延時間テーブル120を作成する。表作成部102は、遅延時間テーブル120の遅延時間を時系列として、どのタイミングでどのイベントが発生するか時系列の表として表した時系列表20を作成する。
図13は、本実施形態の時系列表20の一例の説明図である。
図13は、図12に示すテーブル120から生成された時系列表20の例を示す。
テーブル120は、遅延時間が0から12サイクルの間のイベントが示されている。そこで、この0から12の間の時間を時系列とする。
時系列表20は、項番21と信号名22とを含む。
表作成部102は、時系列順にイベントに含まれる信号名を当てはめる。テーブル120には、「ready」、「request」及び「cnt」という信号が含まれているので、それぞれの信号名を、時系列表20の信号が発生する時間に対応して記録する。また、発生するイベント順にそれぞれ項番を付与する。
図13の例では、項番21の「1」が「ready」、項番21の「2」が「request」、項番21の「3」が「cnt」にそれぞれ当てはめている。
信号「ready」は、時間0において値が「0」であり、時間1において値が「1」である。
また、信号「request」は、時間10において値が「0」であり、「時間11において値が「1」である。
また、信号「cnt」は、時間11において値が自己参照「X」であり、時間12においてこの値に1を加算したもの「X+1」である。
表作成部102は、それぞれ対応する時間にイベントの結果である値を記録する。また、信号の変化がない部分は空欄としておく。
このような処理によって、表作成部102が時系列表20を作成する。
図9に戻り、表作成部102は、時系列と信号とからなる時系列表20の作成と平行して、仮定部と帰結部とを決定する処理を実行する(S5)。
仮定部と帰結部とは、インプリケーション演算子を検出することで決定する。表作成部は、プロパティからインプリケーション演算子を挟む右辺と左辺とを検出し、左辺を仮定部に、右辺を帰結部に、それぞれ決定する。
前述のプロパティ言語による記述は、インプリケーション演算子を挟んで、左辺は「$rose(ready) ##10 $rose(request)」であり、これを仮定部とする。
また、右辺は「##1 cnt==$past(cnt,1)+1」であり、これを帰結部とする。
左辺は、前述のステップS2及び3の処理により、信号「ready」と信号「request」と、に変換されている。従って、表作成部102は、仮定部の因子は「ready」と「request」とであることを検出する。
また、右辺は、信号「cnt」のみの記述であるため、表作成部102は、帰結部の因子は信号「cnt」であることを検出する。
この検出結果から、表作成部102は、この検出結果から仮定部と帰結部との関係を信号による演算式で表す帰結式を作成する(S6)。
ステップS5により検出された例では、帰結式は「cnt=ready*request」となる、これは、信号「cnt」を検証する場合は、信号「ready」と信号「request」が仮定部であることを表す。
表作成部102は、このステップS6によって作成した帰結式を、時系列表20の帰結式の行23に記録する(S7)。このとき、表作成部102は、記入する際に、信号名に対応する項番で帰結式を表現する。
テーブル120において、信号「cnt」は、信号「ready」と信号「request」との論理積であるので、帰結式は、それぞれの項番21の数字によって「3=1*2」と記述される。
次に、表作成部102は、時系列表20に逆時間24を記録する(S8)。逆時間24とは、時系列の最後のイベントが発生する時点を始点とし、検証開始時までの時系列を逆にカウントして記載したものである。この逆時間24は、逆プロパティを生成する処理に用いられる。
以上のような処理によって、表作成部102は、命題プロパティから時系列表20を作成する。作成された時系列表20は、メモリ112に記録される。時系列表20は、次に説明する逆プロパティ又は対偶プロパティの生成処理に用いられる。
次に、逆プロパティの生成を説明する。
プロパティ生成部103は、命題プロパティに基づいて表作成部102から出力された時系列表20を元に、逆、裏、対偶を意味するプロパティを生成する。ここでは、逆プロパティの生成を説明する。
図14は、本実施形態の逆プロパティの生成方法を示すフローチャートである。
プロパティ生成部103は、まず、時系列表20を参照して、信号名22と、信号値と、逆時間24とを抽出する(S11)。抽出した信号名22、信号値、逆時間24は、遅延時間テーブル120として作成される。
図15は、本実施形態のステップS11で作成されるイベントと遅延時間テーブル120の一例の説明図である。
プロパティ生成部103は、時系列表20から取得したイベント及びその値と、そのイベントが発生する時間とを遅延時間テーブル120に記入する。
なお、遅延時間の列122は逆時間を抽出しているため、マイナスとなることがあってもよい。
次に、プロパティ生成部103は、作成した遅延時間テーブル120に対して、前述した図11に示す関数変換テーブル130を参照して、信号のシーケンスを関数化できるか、すなわち、信号の変化を関数に変換できるかを判断する(S12)。
プロパティ生成部103は、列121の信号の変化パターンと関数変換テーブル130とを照合することによって関数化が可能かを判断する。
プロパティ生成部103は、ステップS12で関数化が可能であると判断された信号のシーケンスに対して関数化を行う(S13)。
そして、プロパティ生成部103は、イベントを関数化した後、イベントと遅延時間との対応を表すテーブルを作成する(S14)。
図16は、本実施形態のプロパティ生成部がステップS14で作成する遅延時間テーブル120の一例の説明図である。
プロパティ生成部103は、図15に示す遅延時間テーブル120を参照して、イベントを関数化する。
具体的には、プロパティ生成部103は、遅延時間が「0」のとき「cnt==x+1」であることと、遅延時間が「−1」のとき「cnt==x」であることから、関数変換テーブル130を参照して、「cnt==$past(cnt,1)+1」(遅延時間「0」のときの「cnt」は1サイクル前の「cnt」を「+1」インクリメントしたものである)と関数化する。
同様に、プロパティ生成部103は、遅延時間が「−1」のときに「request==1」であることと、遅延時間が「−2」のときに「request==0」であることから、関数変換テーブル130を参照して、「$past($rose(request),1)」(遅延時間が「−1」のときに「request」が立ち上がること)と関数化する。
また、プロパティ生成部103は、遅延時間が「−11」のときに「ready==0」であることと、遅延時間が「−12」のときに「ready==0」であることから、関数変換テーブル130を参照して、「$past($rose(ready,11))」(遅延時間が「−11」のときに「ready」が立ち上がること)と関数化する。
これら関数化されたイベントは、前述した図11と同じ形式の遅延時間テーブル120(図16)に記録する。
一方で、逆プロパティは命題プロパティに対して、仮定部と帰結部とを反転させたものであるため、時系列表20の帰結式23から得られる仮定部と帰結部との信号関係を反転させることで、逆プロパティを生成できる。
このことを利用して、プロパティ生成部103は、帰結式23の仮定部と帰結部との信号関係を反転する処理を行う(S15)。
図13に示す時系列表20を参照すると、帰結式は3=1*2であり、これは信号「cnt」の値を検証する場合には、信号「ready」と信号「request」とが仮定となることを表している。
プロパティ生成部103は、この仮定部と帰結部とを反転して、帰結式「1*2=3」を得る。これは、信号「ready」と信号「request」との値を検証する場合に信号「cnt」が仮定となるということを表している。
次に、プロパティ生成部103は、ステップS14で作成したテーブルと、ステップS15で得られる帰結式とを組み合わせることによって逆プロパティを生成する(S16)。具体的には、テーブルに記載された各イベントとその遅延時間とを帰結式に当てはめ、これを逆プロパティとして記録する。
このステップS16の処理によって、逆プロパティの生成が完了する。
図17は、本実施形態のプロパティ生成部103によって実行される逆プロパティの生成の説明図である。
図17(A)は、命題プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。
表作成部102は、このプロパティ言語を解析し、前述した図9の処理によって時系列表20を作成する。図17(B)は、図17(A)のプロパティ言語に対応する時系列表20の一例である。
プロパティ生成部103は、この時系列表20と命題プロパティのプロパティ言語とを参照して、前述の図14の処理によって逆プロパティを生成する。
図17(C)は、図17(A)に示す命題プロパティに対して生成された逆プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。
次に、裏プロパティの生成を説明する。
プロパティ生成部103は、前述のように命題プロパティに基づいて表作成部102から出力された時系列表20を元に、逆プロパティを生成する。
一方、裏プロパティは、否定を表す「!」を命題プロパティのプロパティ言語に付加することによって生成する。
図18は、本実施形態のプロパティ生成部103が実行する裏プロパティの生成の説明図である。
図18(A)は、命題プロパティを、自然言語とそれに対応するプロパティ言語で記述したものである。
このプロパティ記述から裏プロパティを作成する場合は、プロパティ生成部103は、インプリケーション演算子によって仮定部と帰結部とを検出する。なお、既に作成されている時系列表20を参照して仮定部と帰結部とを検出してもよい。
次に、プロパティ生成部103は、仮定部と帰結部とに記載されている各イベントに、否定を表す「!」を付加する。
図18(B)は、図18(A)に示す命題プロパティに対して生成された裏プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。
なお、否定の意味とは、該当イベントの動作以外の動作の指示である。
例えば、「$rose(ready)」(readyが立ち上がること)の否定形は、「!$rose(ready)」(readyが立ち上がらないこと)となる。
具体的には、「ready」の値が「0」を維持している状態と、「1」を維持している状態と、「1」から「0」に立ち下がる状態と、を意味することとなる。
同様に、「cnt==$past(cnt,1)+1」(cnt値は1サイクル前のcnt値+1であること)の否定形は、「!(cnt==$past(cnt,1)+1)」(cnt値は1サイクル前のcnt値+1ではないこと)となる。これは、「cnt」の値が1サイクル前の「cnt」の値+1以外の値であれば全て条件を満たすことになる。
次に、対偶プロパティの生成を説明する。
対偶プロパティは、命題プロパティに対して仮定部と帰結部とを反転させ、さらに、全てのイベントに対して否定形を表す「!」を付加することによって生成する。つまり、前述のように命題プロパティに基づいて表作成部102から出力された時系列表20を元に、逆プロパティを生成し、この逆プロパティを裏プロパティに変換することによって、対偶プロパティを生成する。
図19は、本実施形態のプロパティ生成部103が実行する対偶プロパティの生成の説明図である。
逆プロパティは、前述のように図9、図14で示される処理によって生成される。また、裏プロパティは図18に示すように、各イベントに対して否定形を表す「!」を付加することで生成する。
図19(A)は、命題プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。
表作成部102は、このプロパティ言語を解析し、前述した図9の処理によって時系列表20を作成する。図19(B)は、図19(A)のプロパティ言語に対応する時系列表20の一例である。
プロパティ生成部103は、この時系列表20と命題プロパティのプロパティ言語とを参照して、前述の図14の処理によって逆プロパティを生成する。
図19(C)は、図19(A)に示す命題プロパティに対して生成された逆プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。
さらに、生成された逆プロパティに対して、図18において説明したように、プロパティ生成部103は、仮定部と帰結部とに記載されている各イベントに、否定を表す「!」を付加する。
図19(D)は、図19(A)に示す命題プロパティに対して生成された対偶プロパティを、自然言語とそれに対応するプロパティ言語とで記述したものの一例である。
以上説明したような処理によって、論理検証支援部10が、命題プロパティから逆、裏及び対偶を意味するプロパティを自動的に生成することができる。
次に、形式的論理検証について説明する。
検証部104は、オペレータが入力した命題プロパティ、又は、プロパティ生成部103が生成した逆プロパティ、裏プロパティ、対偶プロパティを入力し、形式的論理検証を行う機能である。
図20は、本実施形態の検証部104が実行する形式的論理検証の説明図である。
形式的論理検証は、検証対象のネットリストから抽出されるロジックコーンと、検査対象の期待値から抽出されるロジックコーンとを比較し、これらの等価性を検証することによって、論理回路の正当性を数学的に証明する手法である。
ロジックコーンとは、論理を、FF(Flip Flop)を頂点とする組合せ回路網とする等価回路に置き換えたものである。
検証部104は、論理回路のRTLを検査対象のネットリストとして、ロジックコーンを抽出する。また同様に、プロパティに基づく検査対象の期待値からロジックコーンを抽出する。
そして、検証部104は、これら検証対象のロジックコーンと期待値であるロジックコーンとを比較し、これらの等価性を検証する。
等価性の検証方法としては、従来周知であるOBDD(Ordered Binary Decision Diagram)等の手法を用いることができる。なお、形式的論理検証を行う手法は、これに限定されない。
図20に示す例では、検証部104は、論理回路のFF30とFF30−1とFF30−2との組合せであるロジックコーン31と、生成されたプロパティに基づいて、期待値を表すFF30−3とFF30−4とFF30−5との組合せであるロジックコーン31−1との比較を検証する例を示す。
図21は、本実施形態の検証部104が実行する形式的論理検証のフローチャートである。
形式的論理検証が開始されると、まず、検証部104は、入力部118から検証対象である論理のRTLと、命題プロパティ又はプロパティ生成部103により生成された逆、裏、対偶プロパティとの入力を受付ける(S101)。
次に、検証部104は、プロパティから期待値であるロジックコーンを抽出する処理と論理回路のRTLのロジックコーンを抽出する処理を実行する(S102)。
次に、検証部104は、ステップ102で抽出した期待値のロジックコーンと、設計回路のロジックコーンとの等価性を比較する(S103)。そして、比較の結果、ロジックコーンが等価であるか否かを判定する(S104)。
比較の結果、ロジックコーンが等価であると認めた場合は、ステップS105に移行し、検証部104は、設計された論理回路は期待通りの動作をしていることを確認する。この結果を検証結果出力部105に出力する。
一方、結果が等価でないと認めた場合は、設計された論理、又は、プロパティ自体に誤りがあることを意味する。この場合は、検証部104は、検証結果出力部105からエラーを通知する。このとき、ロジックコーンから期待値と整合性が取れない組合せの波形(反例となる波形)を生成することによって、デバック情報を検証結果出力部105を通じて提示することができる。
このような処理によって形式的論理検証が完了する。
以上のように本発明の実施形態では、論理検証支援部10が、設計回路の論理と、論理を検証する検証項目である第1のプロパティである命題プロパティと、を取得する入力受付部101と、命題プロパティで発生する事象(イベント)を時系列に並べた時系列表20を作成する表作成部102と、命題プロパティと時系列表20とに基づいて、命題プロパティの逆、裏又は対偶を意味する第2のプロパティを作成するプロパティ生成部103と、命題プロパティ、逆プロパティ、裏プロパティ又は対偶プロパティを用いて論理を検証する検証部104と、検証部104の検証結果を出力する検証結果出力部105と、を備える。
このような構成により、オペレータが準備した命題プロパティから、逆、裏又は対偶を意味する第2のプロパティを作成することができる。これにより、複数のプロパティが自動的に生成でき、プロパティを網羅的に生成することができるので、論理検証の検証品質を向上させることができる。さらに、論理検証における時間的、人的なコストを削減して、効率的に論理検証を行うことができる。
次に、本発明の第2の実施形態を説明する。
第2の実施形態の論理検証支援部10は、命題プロパティから逆、裏、対偶を表すプロパティを生成して、これを検証する機能だけではなく、命題プロパティを視覚的に確認できる機能を有する。
図22は、本実施形態の論理検証支援部10のブロック図である。なお、第1の実施形態と同一の構成は同一の符号を付し、その説明は省略する。
論理検証支援部10は、図1で前述したように、入力受付部101、表作成部102、プロパティ生成部103、検証部104及び検証結果出力部105を備える。
論理検証支援部10は、表出力部201を備える。表出力部201は、表作成部102により生成された時系列表20を表示部117に表示する機能を有する。
表出力部201から出力される時系列表20は、図2に例示した時系列表20である。時系列表20は、プロパティに宣言されない信号及びその値は表示しないため、オペレータが視覚的にプロパティの整合性を判断しやすい。
そのため、表出力部201によって時系列表20を表示することによって、オペレータは、意図したプロパティが生成されているかどうかをデバックするための手法として用いることができる。
次に、本発明の第3の実施形態を説明する。
第3の実施形態の論理検証支援部10は、前述した第2の実施形態のように命題プロパティを視覚的に確認できる機能に加え、生成された逆、裏、対偶プロパティの時系列表20をも表示する機能を有する。
図23は、本実施形態の論理検証支援部10のブロック図である。なお、第1及び第2の実施形態と同一の構成は同一の符号を付し、その説明は省略する。
論理検証支援部10は、表出力部201と表作成部202とを備える。表出力部201は、表作成部102により生成された時系列表20を表示部117に表示する機能を有する。
表作成部202は、プロパティ生成部103により生成された逆、裏、対偶プロパティの時系列表20を作成する機能を有する。
第2の実施形態と同様に、表出力部201は、命題プロパティを元に作成した時系列表20を表示する。
さらに、表出力部201は、表作成部202により作成された、逆、裏、対偶プロパティの時系列表20を表示する。
このようにすることで、オペレータは、論理検証支援部10によって自動的に作成された逆、裏、対偶プロパティの時系列表20を、視覚的に確認することができる。そのため、オペレータ間でプロパティの共有が容易になる。
また、表出力部201で出力される時系列表20を生成されたプロパティと共に外部データベースに登録するようにしてもいい。これにより、時系列表20の等価性を比較して、異なるプロパティ言語表記だが検証内容は等しいプロパティを摘出するといったプロパティの検証作業を行うことができる。
10 論理検証支援部
11 論理検証支援システム
20 時系列表
101 入力受付部
102 表作成部
103 プロパティ生成部
104 検証部
105 検証結果出力部
111 CPU
112 メモリ
113 HDD
114 入出力インタフェース
115 バス
116 論理検証支援プログラム
117 表示部
118 入力部
201 表出力部
202 表作成部

Claims (8)

  1. プログラムを実行する制御部と、記憶部と、入力部と、情報を表示する表示部と、を備える論理検証システムにおいて、論理を検証する検証項目である第1のプロパティを用いて前記論理を検証する論理検証方法であって、
    前記入力部から入力された論理と、前記入力部から入力された前記第1のプロパティと、前記入力部から入力され、前記第1のプロパティから生成する命題を指定する変換指定値と、を取得し、前記記憶部に記録する第1の手順と、
    前記第1のプロパティから、当該第1のプロパティで発生する事象を時系列に表す時系列表を作成し、作成された前記時系列表を前記記憶部に記録する第2の手順と、
    前記変換指定値によって指定された命題に対応する第2のプロパティを生成し、前記生成された第2のプロパティを前記記憶部に記録する手順であって、前記変換指定値によって前記第1のプロパティの逆、又は対偶が指定された場合に前記第1のプロパティと前記時系列表とに基づき前記第2のプロパティを生成し、前記変換指定値によって前記第1のプロパティの裏が指定された場合に前記第1のプロパティに基づき前記第2のプロパティを生成する、第3の手順と、
    前記第1のプロパティ及び前記作成された第2のプロパティのそれぞれを用いて、前記論理を検証する第4の手順と、
    を備え
    前記第2の手順は、
    前記第1のプロパティに含まれる演算子を検出することにより仮定部と帰結部とを抽出する手順と、
    抽出した前記仮定部及び前記帰結部それぞれについて、前記事象の内容である信号の変化と、前記変化が発生する時間と、を取得する手順と、
    前記信号の変化を前記時間に基づいた時系列に表す前記時系列表を作成し、作成した前記時系列表を前記記録部に記録する手順と、
    前記仮定部と前記帰結部との関係を表す帰結式を作成し、作成した前記帰結式を前記時系列表に記録する手順と、
    前記時系列に表された最終時間から開始時間への逆の時系列である逆時間を作成し、作成した前記逆時間を前記時系列表に記録する手順と、
    作成した前記時系列表を、前記表示部に表示する手順と、
    を含み、
    前記第3の手順は、
    生成した前記第2のプロパティにおける前記信号の変化を前記時間に基づいた時系列に表す新たな時系列表を作成し、作成した前記新たな時系列表を前記表示部に表示する手順
    を含むことを特徴とする論理検証方法。
  2. 前記第2の手順は、さらに、前記第1のプロパティから取得した前記信号の変化が関数として表されている場合は、前記関数を、信号と前記信号の変化と前記時間との表記に変換する手順を含むことを特徴とする請求項1に記載の論理検証方法。
  3. 前記第3の手順は、
    前記時系列表から、前記信号と前記信号の変化と前記時間と前記逆時間とを取得する手順と、
    前記時系列表から、前記帰結式を取得し、取得した前記帰結式の仮定部と帰結部とを入れ替えた新たな帰結式に変換する手順と、
    前記新たな帰結式に、前記信号と前記信号の変化と前記時間とを当てはめて逆を意味する前記第2のプロパティを作成し、作成した逆を意味する前記第2のプロパティを前記記憶部に記録する手順と、
    を含むことを特徴とする請求項1又は2に記載の論理検証方法。
  4. 前記第3の手順は、前記第1のプロパティの仮定部と帰結部とをそれぞれ否定形に変換して裏を意味する前記第2のプロパティを作成し、作成した裏を意味する前記第2のプロパティを前記記憶部に記録する手順を含むことを特徴とする請求項1から3のいずれか一つに記載の論理検証方法。
  5. 前記第3の手順は、
    前記時系列表から、前記信号と前記信号の変化と前記時間と前記逆時間とを取得する手順と、
    前記時系列表から、前記帰結式を取得し、取得した前記帰結式の仮定部と帰結部とを入れ替えた新たな帰結式に変換する手順と、
    前記新たな帰結式に、前記信号と前記信号の変化と前記時間とを当てはめて逆を意味する前記第2のプロパティを作成する手順と、
    作成した逆を意味する前記第2のプロパティの仮定部と帰結部とをそれぞれ否定形に変換して、対偶を意味する前記第2のプロパティを作成し、作成した対偶を意味する前記第2のプロパティを前記記憶部に記録する手順と、
    を含むことを特徴とする請求項1から4のいずれか一つに記載の論理検証方法。
  6. 前記第4の手順は、
    前記論理に基づくロジックコーンと、前記第1又は第2のプロパティに基づく期待値のロジックコーンとを作成する手順と、
    前記ロジックコーンの結果と前記期待値のロジックコーンの結果とが等価であるか否かを判定する手順と、
    を含むことを特徴とする請求項1から5のいずれか一つに記載の論理検証方法。
  7. 前記論理は、レジスタ転送レベルにより記述されていることを特徴とする請求項1から6のいずれか一つに記載の論理検証方法。
  8. 制御部と、記憶部と、入力部と、出力部と、を備え、論理を検証する検証項目である第1のプロパティを用いて前記論理を検証する論理検証システムにおいて、
    前記制御部が前記記憶部に記録されているプログラムを実行することによって、表作成部、プロパティ生成部及び検証部が実現されており、
    前記入力部から入力された論理と、前記入力部から入力された前記第1のプロパティと、前記入力部から入力され、前記第1のプロパティから生成する命題を指定する変換指定値と、を取得し、前記記憶部に記録し、
    前記表作成部は、前記第1のプロパティから、当該第1のプロパティで発生する事象を時系列に表す時系列表を作成し、作成した前記時系列表を前記記憶部に記録し、
    前記プロパティ生成部は、前記変換指定値によって指定された命題に対応する第2のプロパティを生成し、生成した前記第2のプロパティを前記記憶部に記録し、
    前記プロパティ生成部は、前記変換指定値によって前記第1のプロパティの逆、又は対偶が指定された場合に前記第1のプロパティと前記時系列表とに基づき前記第2のプロパティを生成し、前記変換指定値によって前記第1のプロパティの裏が指定された場合、前記第1のプロパティに基づき前記第2のプロパティを生成し、
    前記検証部は、前記第1のプロパティと前記作成した第2のプロパティのそれぞれを用いて、前記論理を検証し、
    前記出力部は、前記検証部の検証結果を出力し、
    前記表作成部は、
    前記第1のプロパティに含まれる演算子を検出することにより仮定部と帰結部とを抽出し、
    抽出した前記仮定部及び前記帰結部それぞれについて、前記事象の内容である信号の変化と、前記変化が発生する時間と、を取得し、
    前記信号の変化を前記時間に基づいた時系列に表す前記時系列表を作成して、作成した前記時系列表を前記記録部に記録し、
    前記仮定部と前記帰結部との関係を表す帰結式を作成して、作成した前記帰結式を前記時系列表に記録し、
    前記時系列に表された最終時間から開始時間への逆の時系列である逆時間を作成して、作成した前記逆時間を前記時系列表に記録し、
    前記出力部は、前記表作成部によって作成した時系列表を表示し、
    前記プロパティ生成部は、生成した前記第2のプロパティにおける前記信号の変化を前記時間に基づいた時系列に表す新たな時系列表を作成し、
    前記出力部は、作成した前記新たな時系列表を表示することを特徴とする論理検証システム。
JP2011120330A 2011-05-30 2011-05-30 論理検証方法及び論理検証システム Expired - Fee Related JP5568779B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011120330A JP5568779B2 (ja) 2011-05-30 2011-05-30 論理検証方法及び論理検証システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011120330A JP5568779B2 (ja) 2011-05-30 2011-05-30 論理検証方法及び論理検証システム

Publications (2)

Publication Number Publication Date
JP2012248064A JP2012248064A (ja) 2012-12-13
JP5568779B2 true JP5568779B2 (ja) 2014-08-13

Family

ID=47468443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011120330A Expired - Fee Related JP5568779B2 (ja) 2011-05-30 2011-05-30 論理検証方法及び論理検証システム

Country Status (1)

Country Link
JP (1) JP5568779B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013200745A (ja) * 2012-03-26 2013-10-03 Fujitsu Semiconductor Ltd 情報処理装置、情報処理方法およびプログラム
JP6093663B2 (ja) * 2013-07-04 2017-03-08 エヌ・ティ・ティ・コムウェア株式会社 検証プログラム、検証装置および検証方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105261A (ja) * 1993-10-01 1995-04-21 Hitachi Ltd 論理回路の解析方法および論理回路解析装置
JP2004326650A (ja) * 2003-04-28 2004-11-18 Renesas Technology Corp 論理検証プログラム及び記録媒体
JP4783658B2 (ja) * 2006-03-28 2011-09-28 富士通セミコンダクター株式会社 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
JP2008097504A (ja) * 2006-10-16 2008-04-24 Toshiba Corp 動作命題の生成システム及び検証システム

Also Published As

Publication number Publication date
JP2012248064A (ja) 2012-12-13

Similar Documents

Publication Publication Date Title
JP4255079B2 (ja) アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
US20070276644A1 (en) Conversion of circuit description to a transaction model
JP2006244073A (ja) 半導体設計装置
CN107527130A (zh) 用于自动化危险检测的方法和装置
CN103885816A (zh) 一种实时嵌入式系统的仿真方法
Mehrabian et al. Timestamp temporal logic (TTL) for testing the timing of cyber-physical systems
US7888971B2 (en) Verification support system and method
JP5109143B2 (ja) 検証装置および検証方法
JP2008071135A (ja) 検証処理装置
Goli et al. Automated analysis of virtual prototypes at electronic system level
JP5568779B2 (ja) 論理検証方法及び論理検証システム
JP4533918B2 (ja) 回路仕様記述設計解析装置及び回路仕様記述設計解析方法
CN116157799B (zh) 动态cdc验证方法
JP6787045B2 (ja) 検証支援プログラム、検証支援方法、および情報処理装置
JP5672165B2 (ja) テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置
Kayed et al. A novel approach for SVA generation of DDR memory protocols based on TDML
JP2013148968A (ja) テストデータ生成装置、テストデータ生成プログラムおよびテストデータ生成方法
JP2012128727A (ja) ソフトウェアコンポーネントの信頼性評価方法および装置
US20100057425A1 (en) Automatically creating manufacturing test rules pertaining to an electronic component
US20090150103A1 (en) Computer-Based Method and System for Simulating Static Timing Clocking Results
US10816600B1 (en) Protocol analysis and visualization during simulation
JP6146224B2 (ja) 判定方法、判定プログラム、および判定装置
JP5348065B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
JP5259082B2 (ja) 一致検証方法及び装置
JP2014115960A (ja) 検証装置、検証方法及び検証プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131218

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: 20140527

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140602

R150 Certificate of patent or registration of utility model

Ref document number: 5568779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees