JP4255079B2 - アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法 - Google Patents

アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法 Download PDF

Info

Publication number
JP4255079B2
JP4255079B2 JP2004286042A JP2004286042A JP4255079B2 JP 4255079 B2 JP4255079 B2 JP 4255079B2 JP 2004286042 A JP2004286042 A JP 2004286042A JP 2004286042 A JP2004286042 A JP 2004286042A JP 4255079 B2 JP4255079 B2 JP 4255079B2
Authority
JP
Japan
Prior art keywords
assertion
property
generation system
timing
timing chart
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
JP2004286042A
Other languages
English (en)
Other versions
JP2006099518A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36118999&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP4255079(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004286042A priority Critical patent/JP4255079B2/ja
Priority to PCT/JP2005/017921 priority patent/WO2006035854A1/en
Priority to CNB200580001510XA priority patent/CN100456308C/zh
Priority to EP05788142A priority patent/EP1812878A4/en
Priority to US10/579,766 priority patent/US7603636B2/en
Publication of JP2006099518A publication Critical patent/JP2006099518A/ja
Application granted granted Critical
Publication of JP4255079B2 publication Critical patent/JP4255079B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、コンピュータのプログラムに基づく処理により、LSI(Large Scale Integration、大規模集積回路)等の回路検証を行う技術に係わり、特に、レジスタ転送レベルの設計データをシミュレータでダイナミックに検証するときに、検証対象回路のプロパティをアサーション記述してシミュレータに加味させることで設計違反や検証漏れを確認するようにした検証技術に関するものである。
ここで言うプロパティとは、検証対象の設計品に意図・期待される動作を定義する平叙文(プレーン・テキスト)であり、例えば、アービタ回路における要求信号と承認信号の受信や応答の関係を時系列制約で定義したり、時系列制約の正当状態や、禁止される回路仕様を定義したりするものである。その他、特定の回路シーケンスがシミュレーションでテストされたかどうかを確認する機能カバレッジ・ポイントとして監視すべきイベントとされる。設計記述(デザイン)が所定のプロパティを満たしているかどうかを検証することをプロパティ検証という。
近年、半導体集積回路においては回路規模の増大化と複雑さのためにコーナーケースの検証漏れや、グループワークのために複数の設計者へ設計担当を割り振った際の各担当ブロック間のインターフェース仕様の確認漏れ、あるいは、第三者から購入した再利用可能なコアの誤仕様などが原因でシステムの改定や改版がしばしば発生している。
これらの問題の要因は、十分に回路検証が出来ていなかったか、もしくはコーナーケースや第三者のコアの仕様を十分に理解できていないためにバグを抽出し得るテストシナリオを作成できなかった、などがある。
これらのことを背景に、検証用に回路仕様に関するプロパティをアサーション記述してシミュレータ(コンピュータ)に与え、シミュレーション中のアサーション違反の警告や、特定の回路シーケンスがシミュレーションでテストされたかどうかを示す機能カバレッジ・レポートを提供するようにしたアサーション検証技術が提案され、最近では実設計に適用され始めてきた。
アサーションは設計の意図(これをプロパティと指すこともある)を記した注釈であって、通常はRTL(Register Transfer Level)中にコメント文で記述する。検証期間中はシミュレータによってその意図が解釈され、例えば検証対象の回路がその意図とは異なる動作へ陥った場合はエラー・ログが生成される。ここでの設計の意図とは、例えば回路入力の仮定や前提条件であるほか、それらの条件が満たされた場合に期待する動作といったものを指す。
シミュレータは以下の二つのことをチェックする。
(1)仮定や前提条件といった特定のイベントが発生したかどうか
(2)そのときの期待動作が正しく完了するかどうか
上記(1)のチェックから、アサーションは特定の回路機能が検証で確認されたかどうかの判定材料をフィードバックする。よってアサーションを検証対象回路へ網羅的に埋め込んでおけばアサーションの被服率(機能カバレッジと呼ぶ)が得られ、これをもって検証精度を定量化できる。
上記(2)のチェックから、アサーションによって検証デバッグへのフィードバックが得られる。例えば、回路の不具合の影響が外部端子で観測困難であるところへ埋め込まれたアサーションは不具合の状況を補足する。また、いかなるスティミュラス(Stimulus)においても仮定や前提条件などの条件が満されるときはいつでもこの期待動作がチェックされる。よって例えばスティミュラスがランダムな系列で構成されていたとしても期待動作との自己照合、すなわち期待値比較が実施される。また、下位ブロックに埋め込まれたアサーションはチップレベル検証においても同様に有効である。
これらの設計の意図は論理合成向けRTLと区別された検証向けのVerilog-HDLで記述できるかも知れないが、ここでは別のアサーション言語について述べる。
現在、最も普及しているのが非特許文献1に記載のPSL(Property Specification Language)である。PSLはAccelleraという標準化規格団体によってIEEEへの寄贈が進行中のアサーション言語であり、事実上の標準言語である。以下、PSLによるアサーション記述の具体例を示す。
例えば、メモリ制御に関して次のような設計の意図(プロパティ)を検証で監視したいとする。
1)read_nとwrite_nは、同時にLowにはならない
2)write_nの立ち下がりで、enable_nはHighである
3)read_nの立ち下がりで、enable_nはLowである
これらをアサーションとしてシミュレータへ渡すためのPSL記述(アサーション記述)は以下の通りである。
// psl property memcont1 = never (!write_n && !read_n) @(posedge clk) ;
// psl assert memcont1 ;
// psl property memcont2 = always (enable_n) @(negedge write_n) ;
// psl assert memcont2 ;
// psl property memcont3 = always (!enable_n) @(negedge read_n) ;
// psl assert memcont3 ;
上記PSL記述(アサーション記述)の内の「psl、property、never、assert、always」は全てPSLの予約語である。全ての行はVerilog-HDLのコメントであることを示す「//」で開始する。尚、「//」に代えて「/**/」でPSLの記述全体を閉じても良い。
また、上記PSL記述(アサーション記述)の内の「memocont1,2,3、!write_n&&!read_n、posedge clk、enable_n、negedge write_n、!enable_n、negedge read_n」はユーザ定義の記述であって、「memocont1,2,3」以外は上記1)〜3)の意図を定義するための具体的な実装データ名、すなわちRTL中に出現するメモリ制御信号名である。
また、memcont1〜3はアサーション名であって、シミュレータからフィードバックされるエラー・ログや機能カバレッジの識別に使用される。
PSLによるアサーション記述は次の構成要素をとる。
// psl property <アサーション名> =
<監視すべきイベント> -> <条件が満たされたときの期待動作>
@<ストローブ条件>;
// psl assert <アサーション名>;
例えば1)のアサーションであれば「memcont1」がアサーション名、 (!write_n && !read_n) が監視すべきイベントであって、この場合は先にneverが付加されている事により ( ) 内の条件が決して真とならないことを監視する(仮にalwaysが付加される場合は( )内の条件が真であることがチェックされる)。これに続く@(posedge clk)によって条件の監視がclkの立ち上がりエッジのたびに行われることを定義している。「->」は何時、期待動作が開始されるかによって「|=>」、「|->」へ変化する。なお、上記の例は期待動作を付随していない。
ストローブ条件以外の各パートの( )内はブーリアンを返すVerilog-HDLの式で記述する。ストローブ条件の( )内はVerilog-HDLのalways文で記述するセンシティビティリストの記述形式をとる。
PSLは監視すべきイベントと、その条件が満たされたときの期待動作の各パートのそれぞれはシーケンスを、すなわち複数サイクルに渡るイベントの変化や期待動作といったものが定義できる。次の例を見てみる
・設計の意図:メモリのクリア処理では、クリア開始条件(m_taskが2'b00)が成立したならば、全ワード(256ワード)の初期化のための書込み操作が256回だけ継続される。ここで、一回の書込みはclkの立ち上がりサイクルに同期したwrite_nのLow→High→Highの動作で完了する。
・PSL記述
// psl sequence WRITE_PULSE = { !write_n; write_n; write_n };
// psl property CLEAR_MEM_WRITE_N =
// always { m_task == 2'b00 } |=> { WRITE_PULSE [*256] }
// @(posedge clk);
// psl assert CLEAR_MEM_WRITE_N;
sequenceはwrite_nのLow→High→Highといったシーケンスをマクロ定義している。
ここで注目したいのは「|=>」に続く期待動作のパートである。m_task == 2'b00 であれば、WRITE_PULSE、すなわちwrite_nのLow→High→Highといった3サイクルにまたがるシーケンスが256回分、継続することを期待している。
しかし、このようなアサーション検証技術においては、例えば、仕様を定義する時に手入力でアサーション記述言語を書いた場合、アサーション自体にミスが混入してしまう可能性がある。その結果、アサーション検証によって得られたアサーション違反の警告や機能カバレッジのレポートと言うものはシステムの改定や改版を防ぐためのフィードバックとは成り得ず、さらにはアサーション記述言語のデバッグのための検証期間を要してしまい、結果的に検証効率が悪くなってしまう。
すなわち、回路仕様とアサーション記述との整合性が一致していることがアサーション検証技術の大前提であるが、シミュレーションを実施するのに先んじてその整合性を確認する手立てがない。また、複雑な有限状態機械に関しては、人手によって網羅的な状態遷移のシーケンスを記述すること自体が困難である。
このようなアサーション検証に関しての従来技術としては、例えば、特許文献1および特許文献2に記載の技術がある。
特許文献1においては、状態遷移機械をグラフでモデル化し、アサーションを満たすべき状態遷移経路の探索に関する技術が示されている。また、このグラフの解析によってのみアサーションの正当性を確認する技術が示されている。これにより、回路仕様とアサーション記述との整合性を確認することができる。
しかし、この技術では、グラフ化する状態遷移機械は、人手で、基礎となる状態遷移機械のモデルを作成するか、もしくは、レジスタ転送レベルの記述言語で作成された設計データから抽出するようにしている。そのため、整合性一致の対象自体、すなわち、回路仕様であるべき状態遷移機械のモデルへのミスの混入は否めない。
また、特許文献2においては、レジスタ転送レベルの設計データからデータ転送の構造を抽出してグラフ構造へ展開し、対象回路に関して検証すべきアサーションを生成する技術が記載されている。しかし、この技術では、回路仕様であるアサーションが設計データから抽出されるので、回路仕様とアサーション記述との整合性一致は保証されない。
特開2000−181933号公報 特開2001−142918号公報 「Property Specification Language Reference Manual Version 1.1 June 9,2004」、[online]、[平成16年9月14日検索]、インターネット<URL : http://http://www.eda.org/vfv/docs/PSL-v1.1.pdf
解決しようとする問題点は、従来の技術では、回路仕様とアサーション記述との整合性一致は保証されない点である。
本発明の目的は、これら従来技術の課題を解決し、例えばLSI等に対するアサーション検証の高信頼化および高効率化を可能とすることである。
上記目的を達成するため、本発明では、操作者が回路の仕様書を作成するときに使用した視覚的な状態遷移図やタイミングチャート、および、処理のシーケンス図等をもとにして、検証すべきプロパティを自動的にアサーション記述言語へ変換することを特徴とする。
本発明によれば、例えば仕様書に添付される状態遷移図の電子データから、検証すべきプロパティのアサーション記述を自動的に生成するので、回路仕様とアサーションとの整合性が一致する。これにより、アサーションのデバッグに費やす作業が削除できる。また、生成したアサーションは、状態遷移の経路を網羅的に探索して生成した機能カバレッジ・ポイントであるので、検証の後、どの経路がテストされていないかを機能カバレッジ・レポートからフィードバックでき、コーナーケースのテスト漏れを防ぐことができる。また、例えば仕様書に添付するタイミングチャートや信号の選択条件、あるいは処理のシーケンスを注釈もしくは定義した図形もしくは表形式の電子データから、検証すべきプロパティのアサーション記述を自動的に生成するので、回路仕様とアサーションとの整合性が一致する。これにより、アサーションのデバッグに費やす作業が削除できる。特に、仕様書に添付するタイミングチャートや信号の選択条件、または処理のシーケンスというのは検証時に必ずテストされなければならないほど重要なアサーションであることが多く、生成したアサーションは重要プロパティであり、仕様書や回路機能を熟知しない設計者がキー・プロパティを使って検証作業を行うことができ、最終的に検証漏れによるシステムの改版率を低減させることが可能である。
以下、図を用いて本発明を実施するための最良の形態例を説明する。
図1は、本発明に係わるアサーション生成システムおよび回路検証システムを構成するハードウェアの構成例を示すブロック図であり、図2は、本発明に係わるアサーション生成システムの第1の機能構成例およびそれを用いた回路検証システムの構成例を示すブロック図、図3は、本発明に係わるアサーション生成システムで用いられるグラフ構造のメモリイメージ例を示す説明図、図4は、本発明に係わるアサーション生成システムで用いられる状態遷移図とそのグラフ構造例を示す説明図、図5は、本発明に係わるアサーション生成システムの第2の機能構成例を示すブロック図、図6は、本発明に係わるアサーション生成システムの第3の機能構成例を示すブロック図、図7は、本発明に係わるアサーション生成システムで用いられるタイミングチャート例を示す説明図、図8は、本発明に係わるアサーション生成システムで用いられるタイミングチャート上で定義される信号に関する情報および当該信号に対するタイミング制約に関する情報を格納するための構造体例を示す説明図、図9は、図7におけるタイミングチャートに関するプロパティ情報のメモリイメージ例を示す説明図、図10は、本発明に係わるアサーション生成システムの第4の機能構成例を示すブロック図、図11は、本発明に係わるアサーション生成システムで用いられるフルアダーの論理テーブルの構成例を示す説明図、図12は、表(テーブル)におけるセルをメモリ上に展開するときの1個のセルを表すための構造体例を示す説明図、図13は、図12におけるセルを表す構造体を組み合わせてシートを構成したときのイメージ例を示す説明図、図14は、図11におけるフルアダーの論理テーブルを図13のメモリ構造へ展開したときのイメージ例を示す説明図、図15は、本発明に係わるアサーション生成システムで用いられる処理シーケンスの表形式での構造例を示す説明図である。
図1において、101はメモリもしくはハードディスク等からなる記憶装置、102はCPU(Central Processing Unit、中央処理装置)、103はキーボードやマウスなどからなる入力装置、104はCRT(Cathode Ray Tube)やLCD(Lquid Crystal Display)等からなる表示装置、105はシステムバスであり、システムバス105で各装置101〜104を接続することでコンピュータシステムを構成している。
記憶装置101では、アーキテクチャに依存しないハードウエア機能記述や本発明に係わる各機能・手段を、CD−ROM(Compact Disc-Read Only Memory)やDVD(Digital Video Disc/Digital Versatile Disc)あるいはFD(Flexible Disk)等のコンピュータ読み取り可能な記録媒体から読み取られた実行可能なプログラムの形式で格納する。CPU102は、記憶装置101に記憶されたプログラムを実行することで、図2に示す構成のアサーション生成システムにおける各機能としての処理を実行する。
入力装置103を用いて、ユーザは、アーキテクチャに依存しないハードウエア機能記述の入力・編集や本発明の各手段を実現したプログラムの実行命令を対話的に入力する。そして、表示装置104において、アーキテクチャに依存しないハードウエア機能記述の表示や、CPU102による本発明の各手段を実現したプログラムの実行経過や実行結果を表示する。
図2においては、本発明に係るアサーション生成システム207およびそれを用いた回路検証システムの基本構成を示しており、まず、グラフィカルエディタ201において、ユーザ操作により、仕様書に明記すべき回路仕様が入力され、このグラフィカルエディタ201で作成された仕様書は、電子データ202として、記憶装置101に記憶される。尚、グラフィカルエディタ201としては、例えば、特開平1−309185号公報に記載のタイミングチャート・エディタ等のグラフィカルエディタを用いることができる。
次に、構文解析器203により、記憶装置101に記憶された電子データ202を読み出して構文解析し、この構文解析結果から、プロパティ抽出器204により、検証すべきプロパティを抽出する。
そして、アサーション生成器205において、プロパティ抽出器204で抽出したプロパティから、シミュレータや静的プロパティチェッカへ入力可能なアサーション記述言語206を生成する。このようにして生成されたアサーション記述言語206は、記憶装置101に格納され、シミュレータに入力され、検証が行われる。
このように、本例のアサーション生成システムでは、半導体集積回路や半導体集積回路の一部分の仕様に関するプロパティをアサーション記述した設計データと当該プロパティの対象回路の設計データとをシミュレータ、もしくは静的検証ツールで検証するアサーション検証を行うに際に、グラフィカルエディタ201において、有限状態機械の仕様を、状態遷移表や状態遷移図による視覚的表現で編集して仕様書電子データ(設計データ)を生成し、このようにグラフィカルエディタ201において定義した回路仕様に関し、構文解析器203およびプロパティ抽出器204において、当該設計データを基に検証すべきプロパティを生成し、アサーション生成器205において、このプロパティをアサーション記述によって出力する。
尚、グラフィカルエディタ201で作成された設計データ(仕様書電子データ)はメモリ上でグラフ構造に展開され、プロパティ生成抽出器204によって参照可能となっている。また、グラフィカルエディタ201で作成される設計データ(仕様書電子データ)には、状態遷移表や状態遷移図の他に、表入力や図形を編集可能なビジネスツールを用いて回路の処理シーケンスをタイミングチャートや時系列に図示したものも適用できる。
図5においては、グラフィカルエディタ201で作成される設計データ(仕様書電子データ)として「状態遷移図」を適用する際の例を示している。本図5において、グラフィカル情報501は、例えば図4(a)に例示される状態遷移図であり、グラフィカルエディタによって編集、作成され、システムメモリ、もしくはハードディスク等の記憶装置に格納されている。
また、このグラフィカル情報501は、視覚的情報、すなわち状態遷移図の各構成要素を配置したときの座標情報などを含んでおり、視覚的に表示された状態遷移図はプリントアウトして仕様書に添付できるようになっている。
グラフ探索エンジン502は、図2における構文解析器203とプロパティ抽出器204の機能を有し、グラフィカル情報501としての図4(a)に例示する状態遷移図から、図4(b)に例示するグラフ構造を抽出し、システムメモリ上に展開する。抽出したグラフは状態遷移図の各構成要素をノードとして構成されており、グラフ探索エンジン502は、状態遷移の経路を探索する。例えば、状態遷移機械の初期状態からのあらゆる遷移パスを探索し、それらを抽出し、経路データベース(図中「経路BD」と記載)503として、システムメモリに展開、もしくはハードディスク上に格納する。
そして、プロパティ変換器504は、経路データベース503を参照して、グラフ探索エンジン502で探索した状態遷移パスをアサーション記述言語505へ変換する。このプロパティ変換器504での変換後のアサーション記述言語505は、例えば、シミュレーションでテストされたかどうかを確認するための機能カバレッジ・ポイントとして記述される。
グラフ探索エンジン502で使用するグラフ構造のメモリイメージを、図3に示す。この図3において、301は状態遷移図中の各状態に関する情報を保持するための構造体であり、302は状態遷移図中のアークに関する情報を保持するための構造体である。これらの構造体301,302は、相互にポインタ参照しており、それぞれのポインタをノードとしたグラフを構成する。
図4においては、図4(a)に状態遷移図の例を示し、それから生成されるグラフ構造を図4(B)に示す。図5のグラフ探索エンジン502の処理は、図4(a)に示す状態遷移図に対して、グラフ理論における経路探索、例えば最短経路探索のアルゴリズムなどを利用して状態遷移経路を探索するようにしている。その結果として、図4(b)に示すグラフ構造が生成され、経路データベース503に格納される。
以下に、図4の例を用いて、図5の経路データベース503に格納されうる状態遷移パスを例示す。
Init ;
(GO) S1 ;
init ;
この例では、initからS1への経路が探索されており、しかもそれは「GO」が真、すなわち「1」である場合に、その状態遷移パスが成立することを表している。
また、この状態遷移パスから、図5のプロパティ変換器504(図2におけるアサーション生成器205)にり生成されるアサーション記述をPSLで以下に例示する。
property init_to_S1 = always { state == init & GO} |=> { state == S1};
状態遷移機械の場合、検証で全ての状態を訪問したか、と言ったことも回路機能の鍵となる重要機能の検証精度の定量化のために必要となる。状態遷移機械の各状態が訪問されたかどうかはPSLのcover構文で状態の検証の被服率を確認すればよい。図4の例であれば、グラフのノードに格納された状態名をPSLのcover記述でリスト生成するだけでよい。
以下にその結果を示す。ここでstateは状態遷移機械の実装時に状態を保持するための状態レジスタ名である。
// psl cover ( state == init);
// psl cover ( state == S1);
尚、図5におけるグラフィカル情報501が、座標情報と共に、図3および図4(b)に示すように、グラフ構造に関する情報を併せ持つようにした場合、グラフ探索エンジン502は、直接、グラフィカル情報501内のグラフ構造を参照する。
次に、図6を用いて他の実施例を説明する。本図6に示す例では、仕様書に添付すべきタイミングチャートの電子データ601からタイミングチャート情報を抽出し、検証すべき信号群のタイミングに関する相互関係をアサーション記述するようにしている。
図6において、602はタイミングチャートの電子データ601を読みとるタイミングチャート読み取り器、603は検証すべき信号群のタイミングに関する相互関係(タイミングチャート情報)を抽出してタイミングチャートデータベース(DB)604に格納するタイミング・プロパティ抽出器、605はタイミングチャートデータベース(DB)604からタイミングチャート情報を読み出してシミュレータや静的プロパティチェッカへ入力可能なアサーション記述言語606を生成するプロパティ変換器である。
尚、タイミングチャートの電子データ601は、タイミングチャート・エディタで作成・編集されたものでよく、その場合のタイミングチャート読み取り器602は、タイミングチャート・エディタで作成・編集されたタイミングチャート情報の構文解析器で構成される。
タイミング・プロパティ抽出器603で使用するメモリイメージを図8に示す。本図8において、801はタイミングチャート上で定義される信号に関する情報を格納するための構造体であって、802は前記信号に対して相互にタイミング制約に関する情報を格納するための構造体である。
タイミングチャート読み取り器602で読み取るタイミングチャートの具体例を図7に示す。本図7に示す例では、clkに同期してreqの立ち上がりから2〜5サイクルの間にackが立ち上がることを示している。
このように、図7の例では「reqの出力信号が1になった後、clkの2〜5クロックの範囲でackの立ち上がりを受信しなければならない」というタイミング制約(プロパティ)が描かれている。
そして、図6のタイミング・プロパティ抽出器603は、IN,OUT,CKなどの信号属性や、立ち上がり条件を意味する「pos」、「<-」、「->」のような信号群のタイミングに関する相互関係をキーワードにして検証すべきタイミング情報(プロパティ)を抽出する。
この結果、図7に示すタイミングチャート・エディタで作成・編集されたタイミングチャート情報は、例えば、以下のリストに編集されハードウエアに格納される。ここでは、1〜3行目はピンと、例えばクロック入力であるとか入出の属性を宣言している。4〜7行目は波形情報である。このうち6行目は「clkに同期してreqの立ち上がりから2〜5サイクルの間にackが立ち上がる」というプロパティが示されている。
1 CK clk;
2 IN ack;
3 OUT req;
4 {clk,req.ack} = {1,0,0};
5 {clk,req.ack} = {1,1,0};
6 {clk,req,ack} = {1,0,0}[2:5];
7 {clk,req,ack} = {1,0,1};
このタイミングチャート情報リストをもとに展開されたタイミングに関するプロパティ情報のメモリイメージを、図9に例示する。
次に、上述した回路の論理テーブルや時系列プロパティの編集に、表入力や図形の編集可能なビジネスツールを用いる例を説明する。
図11は、フルアダーの論理テーブルをマイクロソフト社の表入力ツールであるExcel(登録商標)で入力したものである。太字で示したNAME,CLOCK,CONDITION,EXPECTは表定義する際の予約語であって、それぞれプロパティ名、クロック名、アサーション・チェックの開始条件、アサーション・チェックが開始されたときの期待動作を表す。
また、CONDITION,EXPECTのすぐ下の欄は信号名であり、その下には論理値が続いている。このExcel(登録商標)によれば表の一こまを「セル」という基本単位で面(シートと呼ばれる)を構成しており、各セルを「,」で区切ったASCIIファイルで出力可能である。
図7の場合は、信号名やクロックの1/2パルス等をセルで管理し、いったんメモリ上へ展開した後にセルの構成を走査して、図9に示すメモリイメージへ展開するようにした。
図12は、Excel(登録商標)のセルをメモリ上に展開するときの1個のセルを表すための構造体である。この構造体のtop,bottom,left,rightのメンバは、それぞれセルの上下、左右をポインタ参照する。
図13は、図12のセルを表す構造体を組み合わせてシートを構成したときのイメージ図である。1301はシートを示すポインタであって、次のシートのポインタ参照であるnextとセルのヘッダをポインタ参照するメンバで構成している。1302はセルのポインタであって、top,bottom,left,rightのメンバで上下、左右をポインタ参照している。こうしておけばシート上のセルの走査がメモリ上で容易に可能であり、NAME,CLOCK,CONDITION,EXPECTといったキーワードによる検索と論理テーブルの解釈が可能である。
図14には、図11のフルアダーの論理テーブルを図13のメモリ構造へ展開したときのイメージを示している。
また、以下に、図11で示したフルアダーの論理テーブルからアサーション記述を生成したPSL記述を示す。ここでは、アサーション名の構成に表の行番号を含ませることで表と検証データ(すなわちアサーション)とが容易にリンクできるようにしている。例えば1行目であればFADD_S_0__FADD_csv_line_5がアサーション名であって、このうちline_5は表の行番号に相当している。
psl property FADD_S_0__FADD_csv_line_5 = always {!A & !B & !CI} |-> {S === 1'b0};
psl property FADD_CO_0__FADD_csv_line_5 = always {!A & !B & !CI} |-> {CO === 1'b0};
psl property FADD_S_1__FADD_csv_line_6 = always {!A & !B & CI} |-> {S === 1'b1};
psl property FADD_CO_1__FADD_csv_line_6 = always {!A & !B & CI} |-> {CO === 1'b0};
psl property FADD_S_2__FADD_csv_line_7 = always {!A & B & !CI} |-> {S === 1'b1};
psl property FADD_CO_2__FADD_csv_line_7 = always {!A & B & !CI} |-> {CO === 1'b0};
psl property FADD_S_3__FADD_csv_line_8 = always {!A & B & CI} |-> {S === 1'b0};
psl property FADD_CO_3__FADD_csv_line_8 = always {!A & B & CI} |-> {CO === 1'b1};
psl property FADD_S_4__FADD_csv_line_9 = always {A & !B & !CI} |-> {S === 1'b1};
psl property FADD_CO_4__FADD_csv_line_9 = always {A & !B & !CI} |-> {CO === 1'b0};
psl property FADD_S_5__FADD_csv_line_10 = always {A & !B & CI} |-> {S === 1'b0};
psl property FADD_CO_5__FADD_csv_line_10 = always {A & !B & CI} |-> {CO === 1'b1};
psl property FADD_S_6__FADD_csv_line_11 = always {A & B & !CI} |-> {S === 1'b0};
psl property FADD_CO_6__FADD_csv_line_11 = always {A & B & !CI} |-> {CO === 1'b1};
psl property FADD_S_7__FADD_csv_line_12 = always {A & B & CI} |-> {S === 1'b1};
psl property FADD_CO_7__FADD_csv_line_12 = always {A & B & CI} |-> {CO === 1'b1};
図10において、本発明に係わる他の実施例を示す。この例では仕様書に添付すべきシーケンスを表データ1001として格納しており、構文解析器1002によって、表形式で定義されたシーケンスをシステムメモリ上に展開し、シーケンス抽出器1003によって、検証すべき処理のシーケンスを抽出し、プロパティ変換器1004によって、アサーション記述1005へ変換するようにしている。
表形式による処理のシーケンスの例を図15に示す。この例は図7と同じプロパティを示している。この例もExcel(登録商標)で作成されている。構文解析器1002やシーケンス抽出器1003は、セル内に記述されたシーケンスを時系列に分解し、プロパティ変換器1004において、PSLのSERE拡張正規表現でアサーション記述を生成するようにしている。
シーケンスの時系列への分解は、文字列内の「;」をクロックの1サイクル間の振る舞いとして解釈する。また、図15に示す「0[*2:5]」はPSLの繰り返し表現を用いており、Low期間が2〜5サイクル間だけ継続することを意味している。また、「ack」は「0[*2*5];1;0」と記されているので、「ack」はLow期間が2〜5サイクル間だけ継続し、その後、High,Lowと続く振る舞いであることを示している。
以下に、図15を元に生成されたPSLのアサーション記述を示す。
psl property reqack_ack_0__REQ_csv_line_5 =
always {(rose)} |-> {{ack === 1'b0}[*2:5];{ack === 1'b1};{ack === 1'b0}};
尚、図5と図6および図10に示された各処理フローを、図1におけるCPU102が実行するためのプログラムは、実行可能な形式で磁気メディア等に記録され、図1の記憶装置101に格納される。
以上、図1〜図15を用いて説明したように、本例のアサーション生成システム207は、半導体集積回路のアサーション検証に用いるアサーション記述を生成するものであって、グラフィカルエディタ(仕様入力手段)201により、ユーザ操作に基づき半導体集積回路の仕様(有限状態機械、処理シーケンス)を、状態遷移表や状態遷移図、あるいは、タイミングチャートや時系列図形で、グラフィカルに編集して当該半導体集積回路の設計データを生成し、グラフ構造に展開して仕様書電子データ202とし、記憶装置に記憶し、構文解析器203およびプロパティ抽出器204(プロパティ生成手段)により、仕様書電子データ(設計データ)を記憶装置から読み出し、この設計データを元に、半導体集積回路の仕様に関して検証すべきプロパティを生成し、そして、アサーション生成器(アサーション生成手段)205により、当該プロパティをアサーション記述言語206に変換する。
尚、グラフィカルエディタ(仕様入力手段)201では、ユーザ操作に基づき半導体集積回路の仕様を論理テーブルもしくは状態テーブルで編集して、当該半導体集積回路の設計データを生成することでも良い。そして、アサーション生成器205は、グラフィカルエディタ(仕様入力手段)201で編集した論理テーブルもしくは状態テーブルのテーブル名あるいはテーブルの行番号、または、当該論理テーブルもしくは状態テーブルにおける信号名あるいは状態名で構成されたアサーション名を付加されたアサーション記述に変換する。
また、本例の回路検証システムは、このようなアサーション生成システム207を具備し、このアサーション生成システムで生成したアサーション記述を用いて半導体集積回路のアサーション検証を行う。
このように、本例では、仕様書に添付する状態遷移図の電子データから、検証すべきプロパティのアサーション記述を自動的に生成するようにしたので、回路仕様とアサーションとの整合性が一致する。そのためアサーションのデバッグに費やす作業が削除できる。また生成されたアサーションは状態遷移の経路を網羅的に探索されて生成された機能カバレッジ・ポイントであるので、検証の後、どの経路がテストされていないかを機能カバレッジ・レポートからフィードバックでき、コーナー・ケースのテスト漏れを防ぐことが出来る。
また、仕様書に添付するタイミングチャートや信号の選択条件、または処理のシーケンスを注釈もしくは定義した図形もしくは表形式の電子データから、検証すべきプロパティのアサーション記述を自動的に生成するようにしたので、回路仕様とアサーションとの整合性が一致する。そのためアサーションのデバッグに費やす作業が削除できる。また仕様書に添付するタイミングチャートや信号の選択条件、または処理のシーケンスというのは検証時に必ずテストされなければならないほど重要なアサーションであることが多いが、本例で生成されるアサーションは重要プロパティであり、仕様書や回路機能を熟知しない設計者がキー・プロパティを使って検証作業を行うことができ、最終的に検証漏れによるシステムの改版率を低減させることができる。
尚、本発明は、図1〜図15を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、プロパティ抽出器204やアサーション生成器205等を構成するプログラムは、CD−ROM(Compact Disc-Read Only Memory)やDVD(Digital Video Disc/Digital Versatile Disc)あるいはFD(Flexible Disk)等の記録媒体から記憶装置101にインストールする構成としているが、このようなプログラムのインストールに関しては、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
また、本例では、PSLでのアサーション記述を例に説明したが、他のアサーション記述にも適用可能である。
本発明に係わるアサーション生成システムおよび回路検証システムを構成するハードウェアの構成例を示すブロック図である。 本発明に係わるアサーション生成システムの第1の機能構成例およびそれを用いた回路検証システムの構成例を示すブロック図である。 本発明に係わるアサーション生成システムで用いられるグラフ構造のメモリイメージ例を示す説明図である。 本発明に係わるアサーション生成システムで用いられる状態遷移図とそのグラフ構造例を示す説明図である。 本発明に係わるアサーション生成システムの第2の機能構成例を示すブロック図である。 本発明に係わるアサーション生成システムの第3の機能構成例を示すブロック図である。 本発明に係わるアサーション生成システムで用いられるタイミングチャート例を示す説明図である。 本発明に係わるアサーション生成システムで用いられるタイミングチャート上で定義される信号に関する情報および当該信号に対するタイミング制約に関する情報を格納するための構造体例を示す説明図である。 図7におけるタイミングチャートに関するプロパティ情報のメモリイメージ例を示す説明図である。 本発明に係わるアサーション生成システムの第4の機能構成例を示すブロック図である。 本発明に係わるアサーション生成システムで用いられるフルアダーの論理テーブルの構成例を示す説明図である。 表(テーブル)におけるセルをメモリ上に展開するときの1個のセルを表すための構造体例を示す説明図である。 図12におけるセルを表す構造体を組み合わせてシートを構成したときのイメージ例を示す説明図である。 図11におけるフルアダーの論理テーブルを図13のメモリ構造へ展開したときのイメージ例を示す説明図である。 本発明に係わるアサーション生成システムで用いられる処理シーケンスの表形式での構造例を示す説明図である。
符号の説明
101:記憶装置、102:CPU、103:入力装置、104:表示装置、105:システムバス、201:グラフィカルエディタ、202:電子データ、203:構文解析器、204:プロパティ抽出器、205:アサーション生成器、206:アサーション記述言語、301:構造体(アークの集合へのポインタ)、302:構造体(Nextアーク・ポインタ)、501:グラフィカル情報、502:グラフ探索エンジン、503:経路データベース(DB)、504:プロパティ変換器、505:アサーション記述言語、601:タイミングチャート電子データ、602:タイミングチャート読み取り器、603:タイミング・プロパティ抽出器、604:タイミングチャートデータベース(DB)、605:プロパティ変換器、606:アサーション記述言語、801:構造体(関連信号へのポインタ)、802:構造体(Next制約ポインタ)、1001:表データ、1002:構文解析器、1003:シーケンス抽出器、1004:プロパティ変換器、1005:アサーション記述言語、1301:ポインタ(シートを示す)、1302:ポインタ(セル)。

Claims (7)

  1. 半導体集積回路のアサーション検証に用いるアサーション記述を生成するアサーション生成システムであって、
    グラフィカルエディタで作成された上記半導体集積回路の状態遷移図の電子データを解析して対応するグラフ構造を抽出する第1のグラフ探索手段と、
    該第1のグラフ探索手段が抽出したグラフ構造から、状態遷移の全ての遷移パスを探索して抽出し、記憶装置に格納する第2のグラフ探索手段と、
    該第2のグラフ探索手段が抽出した状態遷移の全ての遷移パスを記憶装置から読み出してアサーション記述言語に変換することで、機能カバレッジ用のアサーション記述を生成するプロパティ変換手段と
    を有することを特徴とするアサーション生成システム。
  2. 請求項1に記載のアサーション生成システムであって、
    グラフィカルエディタで作成された上記半導体集積回路のタイミングチャートの電子データから、検証すべき信号群のタイミングに関する相互関係(タイミングチャート情報)を抽出して記憶装置に格納するタイミング・プロパティ抽出手段と、
    該タイミング・プロパティ抽出手段が抽出したタイミングチャート情報を記憶装置から読み出してアサーション記述言語に変換することで、上記検証すべき信号群のタイミングに関するアサーション記述を生成するプロパティ変換手段と
    を有することを特徴とするアサーション生成システム。
  3. 請求項1に記載のアサーション生成システムであって、
    グラフィカルエディタで作成された上記半導体集積回路のタイミングチャートを構文解析して、検証すべき信号群のタイミングに関する相互関係(タイミングチャート情報)を抽出して記憶装置に格納するタイミングチャート読み取り・タイミング・プロパティ抽出手段と、
    該タイミングチャート読み取り・タイミング・プロパティ抽出手段が抽出したタイミングチャート情報を記憶装置から読み出してアサーション記述言語に変換することで、上記検証すべき信号群のタイミングに関するアサーション記述を生成するプロパティ変換手段と
    を有することを特徴とするアサーション生成システム。
  4. 請求項1から請求項3のいずれかに記載のアサーション生成システムであって、
    入力ツールで作成された上記半導体集積回路の論理テーブルを構文解析して、当該論理テーブルで定義されたシーケンスを時系列に分解し、検証すべき処理のシーケンス情報を抽出する構文解析・シーケンス抽出手段と、
    該構文解析・シーケンス抽出手段が抽出したシーケンス情報を記憶装置から読み出してアサーション記述言語に変換することで、上記検証すべき処理のシーケンスに関するアサーション記述を生成するプロパティ変換手段と
    を有することを特徴とするアサーション生成システム。
  5. コンピュータを、請求項1から請求項のいずれかに記載のアサーション生成システムにおける各手段として機能させるためのプログラム。
  6. 請求項1から請求項のいずれかに記載のアサーション生成システムを具備し、該アサーション生成システムで生成したアサーション記述を用いて半導体集積回路のアサーション検証を行うことを特徴とする回路検証システム。
  7. 半導体集積回路のアサーション検証に用いるアサーション記述を、プログラムされたコンピュータによって生成するアサーション生成方法であって、
    プログラムされたコンピュータ処理実行手順として、請求項1から請求項4のいずれかに記載のアサーション生成システムにおける各手段が実行する処理手順を含み、
    該各手段の処理手順により、アサーション記述を生成することを特徴とするアサーション生成方法。
JP2004286042A 2004-09-30 2004-09-30 アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法 Expired - Fee Related JP4255079B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004286042A JP4255079B2 (ja) 2004-09-30 2004-09-30 アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
PCT/JP2005/017921 WO2006035854A1 (en) 2004-09-30 2005-09-21 Assertion generating system, program thereof, circuit verifying system, and assertion generating method
CNB200580001510XA CN100456308C (zh) 2004-09-30 2005-09-21 断言产生***、电路验证***以及断言产生方法
EP05788142A EP1812878A4 (en) 2004-09-30 2005-09-21 ASSERTION GENERATION SYSTEM, PROGRAM THEREOF, CIRCUIT CHECKING SYSTEM, AND ASSERTION GENERATION METHOD
US10/579,766 US7603636B2 (en) 2004-09-30 2005-09-21 Assertion generating system, program thereof, circuit verifying system, and assertion generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004286042A JP4255079B2 (ja) 2004-09-30 2004-09-30 アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法

Publications (2)

Publication Number Publication Date
JP2006099518A JP2006099518A (ja) 2006-04-13
JP4255079B2 true JP4255079B2 (ja) 2009-04-15

Family

ID=36118999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004286042A Expired - Fee Related JP4255079B2 (ja) 2004-09-30 2004-09-30 アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法

Country Status (5)

Country Link
US (1) US7603636B2 (ja)
EP (1) EP1812878A4 (ja)
JP (1) JP4255079B2 (ja)
CN (1) CN100456308C (ja)
WO (1) WO2006035854A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9448777B2 (en) 2012-09-07 2016-09-20 Samsung Electronics Co., Ltd. Apparatus and method for generating assertion based on user program code, and apparatus and method for verifying processor using assertion
US10515179B2 (en) 2016-03-15 2019-12-24 Kabushiki Kaisha Toshiba Circuit design verification apparatus and program

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386813B2 (en) * 2004-11-30 2008-06-10 Cadence Design Systems, Inc. Transformation of simple subset of PSL into SERE implication formulas for verification with model checking and simulation engines using semantic preserving rewrite rules
US8099695B1 (en) * 2006-08-02 2012-01-17 Cadence Design Systems, Inc. Automated debugging method and system for over-constrained circuit verification environment
US20080098366A1 (en) * 2006-10-09 2008-04-24 Via Technologies, Inc. Assertion Tester
JP4589294B2 (ja) 2006-11-21 2010-12-01 富士通株式会社 設計/検証支援プログラムおよび該プログラムを記録した記録媒体
TWI402705B (zh) * 2007-02-01 2013-07-21 Via Tech Inc 積體電路元件之模擬實例產生方法與裝置
JP4850091B2 (ja) * 2007-02-23 2012-01-11 富士通株式会社 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
US7810056B1 (en) 2007-02-27 2010-10-05 Cadence Design Systems, Inc. Method and system for implementing context aware synthesis of assertions
US7712060B1 (en) 2007-02-27 2010-05-04 Cadence Design Systems, Inc. Method and system for handling assertion libraries in functional verification
JP2008250808A (ja) * 2007-03-30 2008-10-16 Fujitsu Microelectronics Ltd 論理検証方法
JP5109143B2 (ja) 2007-06-28 2012-12-26 株式会社東芝 検証装置および検証方法
CN102902519B (zh) * 2007-09-11 2016-03-16 夏寿民 一种基于动态***实现复合断言计算的方法
JP5233354B2 (ja) * 2008-03-25 2013-07-10 日本電気株式会社 プロパティ検証システム、プロパティ検証方法、及びプログラム
JP5233355B2 (ja) * 2008-03-25 2013-07-10 日本電気株式会社 プロパティ生成システムおよびプロパティ検証システム
JP4950942B2 (ja) * 2008-05-23 2012-06-13 株式会社東芝 半導体集積回路の検証装置
JP5287058B2 (ja) * 2008-09-08 2013-09-11 富士通株式会社 検証支援プログラム、検証支援装置および検証支援方法
JP4772842B2 (ja) * 2008-09-12 2011-09-14 株式会社東芝 回路検証装置及び回路検証方法
JP5287092B2 (ja) * 2008-09-26 2013-09-11 富士通株式会社 検証支援プログラム、検証支援装置および検証支援方法
JP2010113395A (ja) * 2008-11-04 2010-05-20 Toshiba Corp 論理回路設計検証装置
US8689192B2 (en) * 2009-01-12 2014-04-01 Synopsys, Inc. Natural language assertion processor
US20100235803A1 (en) * 2009-03-16 2010-09-16 Lara Gramark Method and Apparatus for Automatically Connecting Component Interfaces in a Model Description
US8527911B1 (en) 2009-06-09 2013-09-03 Jasper Design Automation, Inc. Comprehending a circuit design
JP5267434B2 (ja) * 2009-11-19 2013-08-21 富士通株式会社 検証支援プログラム、検証支援装置および検証支援方法
US8914773B2 (en) * 2010-06-02 2014-12-16 Allen Learning Technologies Logic table
US8972928B2 (en) * 2011-08-30 2015-03-03 Uniquesoft, Llc System and method for generating application code
US8739092B1 (en) 2012-04-25 2014-05-27 Jasper Design Automation, Inc. Functional property ranking
US8881075B2 (en) * 2013-03-04 2014-11-04 Atrenta, Inc. Method for measuring assertion density in a system of verifying integrated circuit design
US9009635B1 (en) 2013-03-15 2015-04-14 Cadence Design Systems, Inc. System and method for simulator assertion synthesis and digital equivalence checking
US9626468B2 (en) * 2014-02-27 2017-04-18 Synopsys, Inc. Assertion extraction from design and its signal traces
US9355211B2 (en) * 2014-10-10 2016-05-31 Oracle International Corporation Unified tool for automatic design constraints generation and verification
US9842183B1 (en) * 2015-09-29 2017-12-12 Cadence Design Systems, Inc. Methods and systems for enabling concurrent editing of electronic circuit layouts
GB2542214B (en) * 2015-11-11 2019-08-28 Imagination Tech Ltd Hardware monitor to verify memory units
CN109508540B (zh) * 2018-09-12 2023-06-23 成都奥卡思微电科技有限公司 一种芯片安全监视方法和安全监视芯片
CN110298112B (zh) * 2019-07-01 2023-05-19 成都奥卡思微电科技有限公司 一种断言状态机和波形图的联合同步纠错方法、存储介质和终端
CN110309592B (zh) * 2019-07-01 2023-04-07 成都奥卡思微电科技有限公司 属性综合中活性条件提取和可视化方法、***、存储介质和终端
US10922469B1 (en) 2020-06-30 2021-02-16 Cadence Design Systems, Inc. Methods and systems of enabling concurrent editing of hierarchical electronic circuit layouts
US11250191B1 (en) * 2021-03-30 2022-02-15 Amazon Technologies, Inc. Offline functional coverage collection
CN115906730A (zh) * 2022-09-09 2023-04-04 芯华章科技(北京)有限公司 验证逻辑***设计的方法、设备及存储介质
CN116663463B (zh) * 2023-07-27 2023-11-10 北京开源芯片研究院 一种电路验证方法、装置、电子设备及可读存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0749887A (ja) * 1993-08-06 1995-02-21 Toshiba Corp 論理回路検証方式
JP3715011B2 (ja) * 1995-12-12 2005-11-09 株式会社ルネサステクノロジ 半導体回路設計検証装置
JP2000142918A (ja) 1998-11-11 2000-05-23 Ishikawajima Harima Heavy Ind Co Ltd 自動倉庫用クレーンの給電装置
JP3277906B2 (ja) 1998-12-18 2002-04-22 日本電気株式会社 階層構造作成方法及び装置
JP3941336B2 (ja) * 2000-05-11 2007-07-04 富士通株式会社 論理回路検証装置
US6591403B1 (en) * 2000-10-02 2003-07-08 Hewlett-Packard Development Company, L.P. System and method for specifying hardware description language assertions targeting a diverse set of verification tools
US6728939B2 (en) * 2001-01-08 2004-04-27 Siemens Aktiengesellschaft Method of circuit verification in digital design
JP4577475B2 (ja) * 2001-07-19 2010-11-10 日本電気株式会社 同期式順序回路のプロパティ検証方法および装置
US6742166B2 (en) * 2001-07-20 2004-05-25 Hewlett-Packard Development Company, L.P. System and method for evaluating functional coverage linked to a verification test plan
CN1521830A (zh) * 2003-02-12 2004-08-18 上海芯华微电子有限公司 集成电路设计、验证与测试一体化的技术方法
JP2004326650A (ja) * 2003-04-28 2004-11-18 Renesas Technology Corp 論理検証プログラム及び記録媒体
DE10334767A1 (de) * 2003-07-30 2005-03-17 Infineon Technologies Ag Verfahren und Einrichtung zur Schaltungsverifikation
US7076753B2 (en) * 2003-12-18 2006-07-11 Synopsys, Inc. Method and apparatus for solving sequential constraints
JP4481762B2 (ja) * 2004-08-13 2010-06-16 富士通株式会社 論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体
US7325209B2 (en) * 2004-11-17 2008-01-29 Texas Instruments Incorporated Using patterns for high-level modeling and specification of properties for hardware systems
US7313772B2 (en) * 2005-05-24 2007-12-25 International Business Machines Corporation Systems, methods, and media for block-based assertion generation, qualification and analysis

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9448777B2 (en) 2012-09-07 2016-09-20 Samsung Electronics Co., Ltd. Apparatus and method for generating assertion based on user program code, and apparatus and method for verifying processor using assertion
US10515179B2 (en) 2016-03-15 2019-12-24 Kabushiki Kaisha Toshiba Circuit design verification apparatus and program
US10706207B2 (en) 2016-03-15 2020-07-07 Kabushiki Kaisha Toshiba Circuit design verification apparatus and program

Also Published As

Publication number Publication date
US20080104556A1 (en) 2008-05-01
EP1812878A4 (en) 2008-06-11
WO2006035854A1 (en) 2006-04-06
EP1812878A1 (en) 2007-08-01
CN1906619A (zh) 2007-01-31
US7603636B2 (en) 2009-10-13
JP2006099518A (ja) 2006-04-13
CN100456308C (zh) 2009-01-28

Similar Documents

Publication Publication Date Title
JP4255079B2 (ja) アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
US8479132B2 (en) Active trace assertion based verification system
US8417504B2 (en) Conversion of circuit description to a transaction model
US8234617B2 (en) Method and system for re-using digital assertions in a mixed signal design
US8326592B2 (en) Method and system for verifying electronic designs having software components
US7640476B2 (en) Method and system for automated path delay test vector generation from functional tests
JP5267434B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
US20110161898A1 (en) Synthesizing Checkers from Nondeterministic Finite Automaton
JP2008171296A (ja) モデル作成プログラム、モデル作成装置、モデル作成方法
JP4481762B2 (ja) 論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体
US7254793B2 (en) Latch modeling technique for formal verification
Goli et al. Automated analysis of virtual prototypes at electronic system level
Devarajegowda et al. Meta-model based automation of properties for pre-silicon verification
CN114169271A (zh) 使用静态检查器结果对证伪的功率感知形式属性进行自动调试
Amarú et al. SAT-sweeping enhanced for logic synthesis
US8959467B2 (en) Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
US10621298B2 (en) Automatically generated schematics and visualization
JP2011081760A (ja) 情報処理装置
WO2009101934A1 (ja) Lsi設計検証システム、lsi設計検証方法およびそのプログラム
JP2012248064A (ja) 論理検証方法及び論理検証システム
JP5799589B2 (ja) 検証方法及び検証プログラム
US20230205969A1 (en) Techniques for modeling and verification of convergence for hierarchical domain crossings
Morgan et al. HDLGen-ChatGPT Case Study: RISC-V Processor VHDL and Verilog Model-Testbench and EDA Project Generation
Maliniak EDA-software advances abound for analog, synthesis areas

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081224

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 3

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

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140206

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees