JP4983642B2 - 設計検証プログラム、設計検証方法および設計検証装置 - Google Patents

設計検証プログラム、設計検証方法および設計検証装置 Download PDF

Info

Publication number
JP4983642B2
JP4983642B2 JP2008039363A JP2008039363A JP4983642B2 JP 4983642 B2 JP4983642 B2 JP 4983642B2 JP 2008039363 A JP2008039363 A JP 2008039363A JP 2008039363 A JP2008039363 A JP 2008039363A JP 4983642 B2 JP4983642 B2 JP 4983642B2
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.)
Expired - Fee Related
Application number
JP2008039363A
Other languages
English (en)
Other versions
JP2009199274A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008039363A priority Critical patent/JP4983642B2/ja
Publication of JP2009199274A publication Critical patent/JP2009199274A/ja
Application granted granted Critical
Publication of JP4983642B2 publication Critical patent/JP4983642B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は設計検証プログラム、設計検証方法および設計検証装置に関し、特に、ゲートレベルのネットリスト記述を用いた設計検証プログラム、設計検証方法および設計検証装置に関する。
LSI(Large Scale Integration)の回路設計では、一般的にハードウェア記述言語(HDL:Hardware Description Language)を用いて、論理回路を設計する技術が知られている(例えば、特許文献1、2参照)。
図36は、設計検証フローを示すフローチャートである。
論理検証においては、まず、作成したRTL記述(Resister Transfer Level)のシミュレーションによる論理検証を行い回路の論理機能動作を確認する(ステップS91)。
論理検証後、論理合成を行いゲートレベルのネットリスト(Netlist)記述を生成する(ステップS92)。
ネットリスト記述とRTL記述のFormal検証(論理等価検証)を行い、論理が等価であることを確認する(ステップS93)。
論理等価の確認ができたら、レイアウトを行い、タイミング調整やテスト回路追加等を行った実配線のネットリスト記述および遅延情報ファイル(SDF:Standard Delay Format)を生成する(ステップS94)。
実配線のネットリスト記述および遅延情報ファイルを用いて、ゲートレベルのダイナミック・シミュレーションによる論理検証、タイミング検証を行い、回路の論理機能動作の確認およびタイミングスペックの確認を行う(ステップS95)。
特開2005−202701号公報 特開平9−311882号公報
RTL記述の検証の際には、PSL(Property Specification Language)やSVA(SystemVerilog Assertion)等のアサーション言語のアサーションチェッカを用いて内部信号のアサーションチェック(プロパティチェック)を行っている。詳しくは、ある条件が成立していなければならない部分にアサーションチェッカを用いてチェック用のコードを入れ、その条件に違反している場合はエラーを出力することでプログラムをチェックしている。
ゲートレベルのダイナミック・シミュレーションによる論理検証においては、RTL記述検証では発見できない非同期回路による誤動作やSTA(Static Timing Analyzer)でのタイミングケア漏れによる誤動作等を発見するための検証を行うが、現状のネットリスト検証ではRTL記述の検証で使用したアサーションチェッカをそのまま使うことができない。
これは論理合成後のネットリスト記述が、RTL記述と論理が等価であっても異なる回路構成になってしまったり、RTL記述とは異なる信号名に変わってしまったりするためである。
図37は、RTL記述により実現されるモジュール回路の一例を示す図である。
モジュール回路90は、入力側からレジスタ(D−FF回路)F91と、AND回路AND91と、レジスタF92と、AND回路AND92と、AND回路AND93とを有している。
レジスタF91には信号名「DIN」の信号が入力され、信号名「CLK」の信号に同期して動作する。
AND回路AND91の入力には、それぞれ信号名「XMSK」の信号およびレジスタF91が出力する信号が入力される。
レジスタF92には、AND回路AND91が出力する信号名「a」の信号が入力され、信号名「CLK」の信号に同期して動作する。
AND回路AND92の入力には、信号名「XMSK」の信号およびレジスタF92が出力する信号が入力される。
AND回路AND93の入力には、信号名「a」の信号の論理を反転させた信号およびAND回路AND92が出力する信号名「b」の信号が入力される。
ここで、アサーションチェッカ91は、信号名「CLK」の信号に同期して動作し、信号名「a」の信号および信号名「b」の信号をチェックする。
図38は、ネットリスト記述により実現されるネットリスト回路の一例を示す図である。
ネットリスト回路90aは、図37に示すモジュール回路90を実現するRTL記述を論理合成して得られたネットリスト記述により実現される回路である。
ネットリスト回路90aでは、AND回路AND92の論理とAND回路AND93の論理とがまとめられてAND回路AND94になっており、信号名「a」の信号は、信号名「n0」の信号に変わってしまっている。また、信号名「b」の信号は、論理圧縮されて対応する信号が存在しなくなっている。このため、アサーションチェッカ91は、対象となる信号が存在せず、チェックすることができない(動作しない)。
ここで、アサーションチェッカ91をネットリスト回路90a用に作り直すことも考えられるが、論理合成の度に異なる回路構成に変わる可能性があり、アサーションチェッカ91の構成を一義的に定めることはできず、実現させるのは難しい。
このように、論理合成によって回路構成が変化した場合や、RTL記述とは異なる信号名に変わってしまった場合、アサーションチェックを行うことができず、誤動作が発生したとき、どこの内部信号で誤動作が発生しているのかを解析するのに非常に時間がかかるという問題がある。
また誤動作が外部端子まで伝搬しない場合、誤動作を発見することができないという問題がある。
本発明はこのような点に鑑みてなされたものであり、ネットリスト検証でRTL記述と同等のアサーションチェックを可能とする設計検証プログラム、設計検証方法および設計検証装置を提供することを目的とする。
上記目的を達成するために、以下のような設計検証プログラムが提供される。この設計検証プログラムは、ゲートレベルのネットリスト記述を用いた設計検証を行うプログラムであり、コンピュータを、作成処理手段、関連づけ処理手段、として機能させる。
作成処理手段は、作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する。
関連づけ処理手段は、RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名をモニタ記述の入力信号の信号名に関連づける。
このような設計検証プログラムによれば、作成処理手段によりモニタ記述が作成され、関連づけ処理手段により、ネットリスト記述の入出力信号に対応するモニタ記述の入力信号が関連づけられる。従って、レジスタ・トランスファ・レベルで使用していた組み合わせ回路の内部信号名でアサーションチェックが可能となる。
開示の設計検証プログラム、設計検証方法および設計検証装置によれば、ネットリスト検証でRTL記述と同等のアサーションチェックが可能となるため、誤動作発生箇所を容易に発見することができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。
設計検証プログラムは、ゲートレベルのネットリスト記述を用いた設計検証を行うプログラムであり、コンピュータ1を、作成処理手段2、関連づけ処理手段3、として機能させる。
作成処理手段2は、作成されたRTLのRTL記述4からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する。
ここで、組み合わせ回路は、論理式に基づき、AND回路やOR回路等のゲート素子を組み合わせたもので、入力の値だけで出力が定まり、過去の状態には影響されない回路である。また、レジスタは、組み合わせ回路と記憶回路で構成され、出力は入力と回路の現在の状態によって定まるものを言う。
関連づけ処理手段3は、RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名をモニタ記述の入力信号の信号名に関連づける。
詳しくは、モニタ記述に記述された入力信号の信号名に等しい、ネットリスト記述に記述された入力信号の信号名を互いに関連づける。また、モニタ記述を作成する際に、削除したレジスタが出力していた信号の信号名に等しい、ネットリスト記述に記述されたレジスタが出力する信号の信号名を互いに関連づける。
このような設計検証プログラムによれば、作成処理手段2によりモニタ記述が作成され、関連づけ処理手段3により、ネットリスト記述の入出力信号に対応するモニタ記述の入力信号が関連づけられる。従って、RTLで使用していた組み合わせ回路の内部信号名でアサーションチェックが可能となり、RTLと同等のアサーションチェックがネットリスト検証で可能になる。
以下、本発明の実施の形態を説明する。
図2は、設計検証装置のハードウェア構成例を示す図である。
設計検証装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。また、HDD103内には、プログラムファイルが格納される。
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成のシステムにおいて設計検証を行うために、設計検証装置100内には、以下のような機能が設けられる。
図3は、設計検証装置の構成を示すブロック図である。
設計検証装置100は、アサーションチェック部200と、設計検証部300と、RTL記述格納部400と、ネットリスト記述格納部500と、実配線SDF格納部600と、モニタ記述格納部700と、テストベンチ記述格納部800と、ライブラリ格納部900と、FV(Formal Verification)スクリプト格納部1000とを有している。
LSIの回路設計ではユーザが、ハードウェア記述言語(HDL)を用いて、RTLで回路の論理機能の記述を行う。
アサーションチェック部200は、ある条件が成立していなければならない部分にチェック用のコードを入れ、その条件に違反している場合はエラーを出力することで、プログラムをチェックする。
設計検証部300は、後述する設計検証処理を行うことによって、作成されたRTL記述の検証を行う。
RTL記述格納部400には、アサーションチェックが行われたRTL記述が格納される。
ネットリスト記述格納部500には、RTL記述の論理合成およびレイアウト処理により作成されたネットリスト記述が格納される。
実配線SDF格納部600には、レイアウト処理によって配設された実配線SDFが格納される。
モニタ記述格納部700には、アサーションチェックを行うために作成されたモニタ記述が格納される。
テストベンチ記述格納部800には、論理的に正常に動作するか否かを確認するための入力値と期待値の集合を備えるテストベンチ記述が格納される。
ライブラリ格納部900には、RTL記述とネットリスト記述を関連づけたライブラリが格納される。
FVスクリプト格納部1000には、RTL記述からの変更内容が設定されたFVスクリプトが格納される。
図4は、設計検証部の機能を示すブロック図である。
設計検証部300は、シミュレーション実行部310と、論理合成部320と、Formal検証部330と、レイアウト実行部340と、モニタ記述作成部350と、関連づけ処理部360と、タイミング検証部370とを有している。
シミュレーション実行部310は、作成されたRTL記述のシミュレーションを行って回路の論理機能動作を確認する。
論理合成部320は、HDLで記述された論理機能を実際のゲート回路に変換してネットリスト記述を出力する。
Formal検証部330は、出力されたネットリスト記述がRTL記述と等価であることを検証するFormal検証を行う。
レイアウト実行部340は、論理等価の検証ができたネットリスト記述に対してレイアウトを行い、タイミング調整やテスト回路追加等を行った実配線のネットリスト記述および寄生容量、抵抗を含んだ遅延情報ファイル(SDF)を作成する。
モニタ記述作成部350は、アサーションチェックを行ったRTL記述からレジスタを全て削除した組み合わせ回路のみのモニタ記述を作成する。
関連づけ処理部360は、モニタ記述作成部350が作成したモニタ記述の入力信号と、ネットリスト記述の入力信号およびネットリスト記述内部のレジスタが出力する信号とを関連づける。
タイミング検証部370は、実配線のネットリスト記述および遅延情報ファイルに加え、モニタ記述を用いてゲートレベルのダイナミック・シミュレーションによる論理検証、STAによるタイミング検証を行い、回路の論理機能動作の確認およびタイミングスペックの確認を行う。
次に、本実施の形態の設計検証方法について説明する。
<第1の実施の形態の設計検証方法>
図5は、第1の実施の形態の設計検証処理を示す処理フローである。
まず、シミュレーション実行部310が、作成され、RTL記述格納部400に格納されているRTL記述のシミュレーションによる論理検証を行い、回路の論理機能動作を確認する(ステップS1)。
論理機能動作が期待通りでなかった場合(ステップS1のNo)、処理を終了する。
論理検証動作が期待通りであった場合(ステップS1のYes)、論理合成部320が、論理合成を行いゲートレベルのネットリスト記述を生成する(ステップS2)。生成したネットリスト記述はネットリスト記述格納部500に格納する。
次に、Formal検証部330が、ネットリスト記述とRTL記述のFormal検証を行い、論理が等価であることを確認する(ステップS3)。
論理が等価でない場合(ステップS3のNo)、処理を終了する。
論理が等価である場合(ステップS3のYes)、レイアウト実行部340が、レイアウトを行い、実配線のネットリスト記述および遅延情報ファイルを生成する(ステップS4)。生成したネットリスト記述はネットリスト記述格納部500に格納し、生成した遅延情報ファイルは、実配線SDF格納部600に格納する。
一方、モニタ記述作成部350は、RTL記述格納部400からRTL記述を取り出し、モジュール回路(組み合わせ回路)のモニタ記述を作成するモニタ記述作成処理を行う(ステップS5)。この処理については後に詳述する。
そして、作成されたモジュール回路のモニタ記述をモニタ記述格納部700に格納する。
また、関連づけ処理部360は、モニタ記述の信号をネットリスト記述格納部500に格納されているネットリスト記述の信号またはテストベンチ記述格納部800に格納されているテストベンチ記述の信号に関連づけてこれらの信号同士を互いに関連づける関連づけ処理を行う(ステップS6)。この処理についても後に詳述する。
タイミング検証部370は、実配線のネットリスト記述および遅延情報ファイルに加え、モニタ記述を用いてゲートレベルのダイナミック・シミュレーションによる論理検証、タイミング検証を行う(ステップS7)。
論理機能動作が期待通りでなかった場合(ステップS7の動作No)、処理を終了する。
タイミングスペックが満たされなかった場合(ステップS7のタイミングNo)、ステップS4に移行し、再度レイアウトを行う。
論理機能動作が期待通りであり、かつ、タイミングスペックを満たした場合(ステップS7のYes)、タイミング検証部370が、実配線のネットリスト記述および遅延情報ファイルを用いて、STAによるタイミング検証およびタイミングスペックの確認を行う(ステップS8)。
論理的に問題がある場合(ステップS8の動作No)、処理を終了する。
タイミングスペックが満たされなかった場合(ステップS8のタイミングNo)、ステップS4に移行し、再度レイアウトを行う。
論理的に問題がなく、かつ、タイミングスペックを満たした場合(ステップS8のYes)、処理フローを終了する。
なお、論理機能動作が期待通りでなかった場合(ステップS1のNo)、論理が等価でない場合(ステップS3のNo)、論理機能動作が期待通りでなかった場合(ステップS7の動作No)、および論理的に問題がある場合(ステップS8の動作No)は、ユーザによって再度RTL記述が作成(再調整)され、第1の設計検証処理が再度繰り返される。
このようにして論理検証およびタイミング検証を行った後に、試作品のチップを作成し、実機評価での動作確認を行う。
実機動作が期待通りでなかった場合、回路の論理に問題がある場合は再度RTL記述を作成し、タイミングに問題がある場合は再度レイアウトを行う。
実機評価の確認ができたら、回路の量産に入り、LSIの回路設計は完了する。
<第1のモニタ記述作成処理>
次に、図5に示すステップS5のモニタ記述作成処理(第1のモニタ記述作成処理)について詳しく説明する。
図6は、第1のモニタ記述作成処理を示すフローチャートである。
まず、モニタ記述作成部350が、RTL記述格納部400に格納されているRTL記述を取り出し、RTL記述のモジュール回路名を別の名前に変更する(ステップS11)。
次に、モニタ記述作成部350が、別の名前に変更したRTL記述からレジスタ記述に関する部位を全て削除する(ステップS12)。
次に、モニタ記述作成部350が、削除したモニタ記述に含まれる信号の信号名を、モニタ記述の外部から入力される信号の信号名として追加する(ステップS13)。
以上で、第1のモニタ記述作成処理を終了する。
次に、第1のモニタ記述作成処理の具体例を説明する。
図7は、RTL記述格納部に格納されているRTL記述の一例を示す図であり、図8は、図7に示すRTL記述により実現されるモジュール回路を示す図である。
図8に示すモジュール回路11は、図7に示すRTL記述r1により実現される回路である。
モジュール回路11のモジュール回路名は、「dut」であり、入力側からレジスタ(D−FF)F0_regと、AND回路and2と、レジスタF1_regと、AND回路and3と、AND回路and4とを有している。
レジスタF0_regには信号名「DIN」の信号が入力され、信号名「CLK」の信号に同期して動作する。
AND回路and2には、モジュール回路11外部から入力される信号名「XMSK」の信号およびレジスタF0_regが出力する信号名「f0」の信号が入力される。
レジスタF1_regの入力には、AND回路and2が出力する信号名「a」の信号が入力され、信号名「CLK」の信号に同期して動作する。
AND回路and3の入力には、信号名「XMSK」の信号およびレジスタF1_regが出力する信号名「f1」の信号が入力される。
AND回路and4の入力には、信号名「a」の信号の論理を反転させた信号およびAND回路AND2が出力する信号名「b」の信号が入力される。
アサーションチェック部200は、信号名「CLK」の信号に同期して動作し、信号名「a」の信号および信号名「b」の信号をチェックする。
以下、この回路を用いて第1のモニタ記述作成処理の具体例を説明する。
図9は、図7に示すRTL記述に第1のモニタ記述作成処理を施したモニタ記述を示す図である。
まず、図7に示すRTL記述r1のモジュール回路名「dut」を、図9に示すモニタ記述の別の名前「check_dut」に書き替える。
また、RTL記述のレジスタに関する記述、すなわち、7行目の「reg f0,f1;」、および17〜20行目の「always @(posedge CLK) begin・・・end」を削除する。なお、図9ではコメントアウトしている。
そして、1行目のmodule文に「f0,f1」を追加し、4行目(input定義箇所)に「input f0,f1」を追加する。これにより第1のモニタ記述作成処理によって作成されたモニタ記述m1が得られる。
図10は、第1のモニタ記述作成処理によって作成されたモジュール回路を示す図である。
図10中、点線で示したデバイスは、削除されたデバイスを示している。
モジュール回路11aは、モニタ記述m1により実現される回路であり、モジュール回路11のモジュール回路名「dut」が、「check_dut」に変更されている。
また、レジスタF0_regおよびレジスタF1_regが削除されている。
そして、AND回路and2に入力される信号名「f0」の信号の入力元が、レジスタF0_regからモジュール回路11aの外部に変わっている。また、AND回路and3に入力される信号名「f1」の信号の入力元が、レジスタF1_regからモジュール回路11aの外部に変わっている。
<第1の関連づけ処理>
次に、図5に示すステップS6の関連づけ処理(第1の関連づけ処理)について説明する。
図11は、第1の関連づけ処理を示すフローチャートである。
まず、関連づけ処理部360が、モニタ記述作成処理にて生成したモジュール回路のモニタ記述をネットリスト記述またはテストベンチ記述に追加する(ステップS21)。このステップでは、モニタ記述の信号をネットリスト記述またはテストベンチ記述の信号に関連づける処理は行わない。
次に、関連づけ処理部360が、図6のステップS13にて追加したモニタ記述の外部から入力される信号の信号名とネットリスト記述のレジスタが出力する信号の信号名とをネットリスト記述またはテストベンチ記述上で関連づける。
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述に記述されているレジスタと同等のレジスタがネットリスト記述に存在しているか否かを判断する(ステップS22)。
同等のレジスタが存在している場合(ステップS22のYes)、そのレジスタが出力する信号の信号名を、RTL記述に記述されているレジスタが出力する信号の信号名に関連づける(ステップS23)。
一方、存在していない場合(ステップS22のNo)、削除されたレジスタの内容をFVスクリプト格納部1000に格納されているFVスクリプトから検索し、代わりの信号名または固定値をRTL記述に記述されているレジスタが出力する信号の信号名に関連づける(ステップS24)。このFVスクリプトを用いる処理は、モニタ記述の特殊関連づけ処理として後に詳述する。
次に、関連づけ処理部360が、モニタ記述に入力される信号の信号名にネットリスト記述に入力される信号の信号名をネットリスト記述上で関連づける。
具体的には、RTL記述に入力される信号の信号名と同等の信号名がネットリスト記述に存在するか否かを判断する(ステップS25)。
存在する場合(ステップS25のYes)、同等の信号名を関連づける(ステップS26)。
一方、存在しない場合(ステップS25のNo)、変更された信号名をFVスクリプト格納部1000に格納されているFVスクリプトから検索し、その信号名をRTL記述に入力される信号の信号名に関連づける(ステップS27)。この処理についてもモニタ記述の特殊関連づけ処理として後に詳述する。
次に、関連づけ処理部360は、処理結果を格納先に格納する(ステップS28)。具体的には、ステップS21でモニタ記述をネットリスト記述に追加した場合、ステップS22〜ステップS27の処理が施されたネットリスト記述をネットリスト記述格納部500に格納する。また、モニタ記述をテストベンチ記述に記載した場合、ステップS42〜ステップS47の処理が施されたテストベンチ記述をテストベンチ記述格納部800に格納する。
以上で第1の関連づけ処理を終了する。
次に、第1の関連づけ処理の具体例を説明する。ステップS28にて説明したように、モニタ記述をネットリスト記述に追加する方法とテストベンチ記述に追加する方法がある。以下順番に説明する。
<第1の関連づけ処理の第1の具体例>
本具体例は、図7に示すRTL記述r1を論理合成したネットリスト記述に、図9に示すモニタ記述m1を追加する例である。
図12は、図7に示すRTL記述を論理合成したネットリスト記述を示す図であり、図13は、第1の関連づけ処理を施したネットリスト記述を示す図である。
まず、第1のモニタ記述作成処理で作成したモニタ記述m1を下記のようにインスタンス化して未接続で図12に示すネットリスト記述n1に追加する。
check_dut inst_check_dut( .CLK(), .XMSK(),
.DIN(), .f0(), .f1(), .DOUT() );
次に、モニタ記述m1における外部から入力される信号の信号名「f0」、「f1」にネットリスト記述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に入力される信号の信号名を関連づける。
前述したように、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に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
図14は、第1の関連づけ処理によって関連づけられたネットリスト回路を示す図である。
ネットリスト回路21は、図13に示すネットリスト記述n2により実現される(タイミング検証用の)回路である。
このネットリスト回路21には、モジュール回路11aが追加され、モジュール回路11aの信号名「f0」の信号にネットリスト回路21のレジスタf0_regが出力する信号名「f0」の信号が接続され、モジュール回路11aの信号名「f1」の信号にレジスタf1_regの信号名「q1」の信号が接続されている。
また、ネットリスト回路21に入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのままモジュール回路11aの同じ信号名の入力信号に接続されている。
アサーションチェック部200は、モジュール回路11aの信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路21のアサーションチェックを行うことができる。
次に、第1の関連づけ処理の第2の具体例について説明する。
<第1の関連づけ処理の第2の具体例>
本具体例は、図7に示すRTL記述r1を論理合成したネットリスト記述外部のテストベンチ記述上に、図9に示すモニタ記述m1を追加する例である。
図15は、第1の関連づけ処理を施したテストベンチ記述を示す図である。
まず、第1のモニタ記述作成処理で作成したモニタ記述m1を第1の具体例と同様にインスタンス化してテストベンチ記述へ追加する。
check_dut inst_check_dut ( .CLK(), .XMSK(),
.DIN(), .f0(), .f1(), .DOUT() );
次に、モニタ記述m1の外部から入力される信号の信号名「f0」、「f1」にネットリスト記述のレジスタが出力する信号の信号名を関連づける。
前述したように、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に入力される信号の信号名を関連づける。
前述したように、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に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
また、本具体例は、ネットリスト記述およびテストベンチ記述がVerilogの場合のみ適用することができる。
図16は、第1の関連づけ処理によって関連づけられたテストベンチ回路を示す図である。
テストベンチ回路31は、図15に示すテストベンチ記述t1により実現される回路である。
このテストベンチ回路31は、ネットリスト回路21aとは別個にモジュール回路11aが追加され、モジュール回路11aの信号名「f0」の信号にネットリスト回路21aのレジスタf0_regが出力する信号名「f0」の信号が接続され、モジュール回路11aの信号名「f1」の信号にレジスタf1_regの信号名「q1」の信号が接続されている。
また、ネットリスト回路21aに入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのままモジュール回路11aの同じ信号名の入力信号に接続されている。
アサーションチェック部200は、モジュール回路11aの信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路21aのアサーションチェックを行うことができる。
<モニタ記述の特殊関連づけ処理>
次に、図11に示すステップS24、S27のモニタ記述の特殊関連づけ処理について説明する。
複数のレジスタに同じ論理が入力される場合や、固定値がレジスタに入力される場合は、論理合成したネットリスト記述ではそのレジスタが削除される場合がある。
またネットリスト記述の信号名がRTL記述とは異なる信号名に変更される場合もある。
このようなケースでは、単純にネットリスト記述に記述されているレジスタが出力する信号の信号名やモジュール回路に入力する信号の信号名をモニタ記述の信号名に関連づける処理ができない。より詳しくは、ネットリスト記述のレジスタが削除された場合や入力信号名が変更された場合、そのままRTL記述とネットリスト記述のFormal検証を行うと不一致になる。そのためモニタ記述の特殊関連づけ処理を行うことになる。
具体的には、変更内容に対応するFVスクリプトを用意してRTL記述とネットリスト記述が等価であることを検証する。このFVスクリプトにRTL記述からの変更内容が設定されているため、変更内容を読み取りモニタ記述の関連づけ処理に使用する。なお、論理合成時のログファイル等でも変更内容が出力されている場合、ログファイルを読み込んで処理を行ってもよい。
以下、第1の関連づけ処理の第1の具体例で述べた例と同様のケース、すなわち、モジュール回路のモニタ記述をネットリスト記述に追加してネットリスト記述と関連づける例を用いてモニタ記述の特殊関連づけ処理を説明する。
図17は、RTL記述の他の例を示す図であり、図18は、図17に示すRTL記述により実現されるモジュール回路を示す図である。
図17に示すRTL記述r2により図18に示すモジュール回路41が実現される。
モジュール回路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」の信号の論理を反転させた信号が入力される。
AND回路and5の入力には、信号名「B」の信号とレジスタQ0_regが出力する信号名「q0」の信号とが入力され、これらの信号の論理に応じて信号名「C」の信号を出力する。
セレクタ42の入力には、レジスタQ1_reg0が出力する信号名「q1[0]」の信号とレジスタQ1_reg1が出力する信号名「q1[1]」の信号とレジスタQ1_reg2が出力する信号名「q1[2]」の信号とが入力され、これらのうちの1つを選択した信号名「D」の信号を出力する。
レジスタQ0_regおよびレジスタQ1_reg2のように、複数のレジスタで同じ信号名「A」の信号が入力される場合や、レジスタQ1_reg0のように固定値が入力される場合は、論理合成したネットリスト記述ではそのレジスタが削除される場合がある。
図19は、図17に示すRTL記述を論理合成したネットリスト記述により実現されるネットリスト回路を示す図である。
図19に示すネットリスト回路51では前者の例としてレジスタQ0_regに対応するレジスタq0_regが削除されている。また、後者の例としてレジスタQ1_reg0に対応するレジスタq1_reg_0が削除され、セレクタ42の代わりにAND回路AND6が設けられている。このような場合、モニタ記述の特殊関連づけ処理を行ってFVスクリプト格納部1000に格納されているFVスクリプトから、削除されたレジスタの内容を検索し、代わりの信号または固定値を関連づける。
また、RTL記述r2の信号名「B」の信号がネットリスト回路51では信号名「B_0」の信号に変更されている。このような場合、モニタ記述の特殊関連づけ処理を行ってFVスクリプト格納部1000に格納されているFVスクリプトから、変更した信号名を検索し、その信号名を関連づける。
図20は、図17に示すRTL記述に、モニタ記述の特殊関連づけ処理を施したモニタ記述を示す図である。
モニタ記述については、前述したように、RTL記述r2のモジュール回路名「dut2」を別の名前「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
を削除する。
そして、1行目のmodule文に「q0、q1」を追加し、2行目(input定義箇所)に「q0」を追加し、3行目(input定義箇所)に「input [2:0] q1;」を追加する。これにより図20に示すモニタ記述m2が得られる。
図21は、図17に示すRTL記述に、モニタ記述の特殊関連づけ処理を施すときのFVスクリプトを示す図であり、図22は、図17に示すRTL記述に、モニタ記述の特殊関連づけ処理を施したネットリスト記述を示す図である。
図21に示すように、変更内容に対応するFVスクリプトfv1を用意する。
まず、レジスタq0_regは削除されているため、FVスクリプトfv1の3行目から信号名「q0]」の信号は信号名「q1[2]」の信号と同等であることを読み込んで、レジスタq0_regが出力する信号の信号名「q0」には信号名「q1[2]」を関連づける。すなわち図22に示すネットリスト記述n3の13行目を「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}));」のように記述する。
さらに、信号名「B」の信号が信号名「B_0」の信号に変更されているため、FVスクリプトfv1の1行目から信号名「B」の信号が信号名「B_0」の信号に変更されたことを読み込んで、信号名「B」に信号名「B_0」を関連づける。すなわち、ネットリスト記述n3の13行目を「.B(B_0),」のように記述する。
以上の処理を行うことで、モニタ記述m2の信号がネットリスト記述の信号に関連づけられたネットリスト記述n3が得られる。このネットリスト記述n3に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
図23は、特殊関連づけ処理が施されたネットリスト記述により実現されるネットリスト回路を示す図である。
ネットリスト記述n3により実現されるネットリスト回路51aには、モジュール回路41aが追加されている。
ネットリスト回路51aでは、モジュール回路41aの信号名「q0」の信号に信号名「q1[2]」の信号が接続されている。
また、モジュール回路41aの信号名「q1[0]」の信号に論理‘0’の信号が接続されている。
また、モジュール回路41aの信号名「B」の信号に信号名「B_0」の信号が接続されている。
このように、ネットリスト記述のレジスタが削除された場合や入力信号名が変更された場合についてもモニタ記述の信号をネットリスト記述へ関連づけることができる。
以上述べたように、第1の実施の形態の設計検証装置100によれば、ネットリスト記述で動作しているレジスタの出力について、RTL記述で使用していた組み合わせ回路の内部信号名でアサーションチェックすることができるので、ネットリスト検証でRTL記述と同等のアサーションチェックが可能になり、誤動作発生箇所を容易かつ確実に発見することができる。また、外部端子まで伝搬せずに発見できなかった誤動作を容易かつ確実に発見することができる。
<第2の実施の形態>
次に、第2の実施の形態の設計検証装置について説明する。
以下、第2の実施の形態の設計検証装置について、前述した第1の実施の形態の設計検証装置との相違点を中心に説明し、同様の事項については、その説明を省略する。
図24は、第2の実施の形態の構成を示すブロック図である。
第2の実施の形態の設計検証装置100aは、アサーションチェッカがPSLの場合であり、vunitを使ってRTL記述とは別個に記述してあるアサーションチェッカモデル記述を格納するアサーションチェッカモデル記述格納部1100をさらに有している。
以下、第2の実施の形態の設計検証装置100aによる設計検証方法(第2の設計検証方法)について説明する。
<第2の設計検証方法>
第2の設計検証方法は、モニタ記述作成処理および関連づけ処理が第1の設計検証方法とは異なっている。
図25は、第2の設計検証方法を示す処理フローである。
モニタ記述作成部350は、RTL記述に加え、ステップS4のレイアウトによって得られたネットリスト記述を用いてモニタ記述作成処理を行う(ステップS5a)。そして、モニタ記述作成処理が施されたモニタ記述をモニタ記述格納部700に格納する。
また、関連づけ処理部360は、モニタ記述作成処理が施されたモニタ記述の信号をネットリスト記述格納部500に格納されているネットリスト記述の信号、テストベンチ記述の信号またはアサーションチェッカモデル記述の信号に関連づけてこれらの信号を関連づける関連づけ処理を行う(ステップS6a)。
<第2のモニタ記述作成処理>
以下、本実施の形態のステップS5aのモニタ記述作成処理(第2のモニタ記述作成処理)について詳しく説明する。
図26は、第2のモニタ記述作成処理を示すフローチャートである。
まず、モニタ記述作成部350が、RTL記述のモジュール回路名および入出力信号名の定義文を削除する(ステップS31)。
次に、モニタ記述作成部350が、別の名前に変更したRTL記述からレジスタ記述に関する部位を全て削除する(ステップS32)。
次に、モニタ記述作成部350が、RTL記述に残った組み合わせ回路で生成される信号で、その信号がネットリスト記述の内部信号または出力信号に存在する場合は、組み合わせ回路内のその部分を削除する(ステップS33)。
以上で第2のモニタ記述作成処理を終了する。
次に、モニタ記述作成処理の具体例を説明する。
図27は、図7に示すRTL記述に、第2のモニタ記述作成処理を施したモニタ記述を示す図である。
まず、RTL記述r1のモジュール回路名、入出力信号名の定義文すなわち、1行目〜3行目の「module dut ( CLK, DIN, XMSK, DOUT )・・・DOUT;」および21行目の「endmodule」を削除する。なお、図27ではコメントアウトしている。
また、RTL記述r1からレジスタ記述、すなわち、6行目の「reg f0,f1;」、および17〜20行目の「always @(posedge CLK) begin・・・end」を削除する。なお、図27ではコメントアウトしている。
そして、RTL記述r1の組み合わせ回路で生成される信号で、その信号が図12に示すネットリスト記述n1の内部信号または出力信号に存在する15行目の「assign DOUT=b & ~a;」を削除する。
これにより、図27に示すモニタ記述m3が得られる。
図28は、図27に示すモニタ記述により実現される組み合わせ回路を示す図である。
図28中、点線で示した部分は、削除されたことを示している。
組み合わせ回路61は、第2のモニタ記述作成処理により、モジュール回路11の枠組みが削除されている。
また、レジスタF0_reg、F1_regが削除されている。
そして、AND回路and4が削除されている。
<第2の関連づけ処理>
次に、図25に示す本実施の形態のステップS6aの関連づけ処理(第2の関連づけ処理)について説明する。
図29は、第2の関連づけ処理の処理フローを示す図である。
まず、関連づけ処理部360が、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を、ネットリスト記述、テストベンチ記述、またはアサーションチェッカモデル記述に直接記述し追加する(ステップS41)。
次に、関連づけ処理部360が、RTL記述のレジスタが出力する信号にネットリスト記述格納部500に格納されているネットリスト記述のレジスタが出力する信号を関連づける。
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述と同等のレジスタがネットリスト記述に存在するか否かを判断する(ステップS42)。
同等のレジスタが存在しない場合(ステップS42のNo)、モニタ記述の特殊関連づけ処理を行う。すなわち、FVスクリプト格納部1000に格納されているFVスクリプトから、削除されたレジスタの内容を検索し、代わりの信号または固定値をモニタ記述のレジスタに関連づける(ステップS43)。
一方、存在する場合(ステップS42のYes)、モニタ記述にネットリスト記述のレジスタが出力する信号と同じ信号名が存在しているか否かを判断する(ステップS44)。
存在する場合(ステップS44のYes)、ステップS46に移行する。
一方、存在しない場合(ステップS44のNo)、ネットリスト記述のレジスタが出力する信号の信号名をモニタ記述のレジスタに関連づける(ステップS45)。
次に、関連づけ処理部360が、組み合わせ回路に入力される信号にネットリスト記述またはテストベンチ記述に入力される信号を関連づける。
具体的には、ステップS41にて追加した組み合わせ回路の信号にネットリスト記述またはテストベンチ記述と同じ信号名が存在するか否かを判断する(ステップS46)。
存在しない場合(ステップS46のNo)、モニタ記述の特殊関連づけ処理を行う。すなわち、変更された信号名をFVスクリプトから検索し、その信号を関連づける(ステップS47)。
一方、存在する場合(ステップS46のYes)、ステップS48に移行する。
次に、関連づけ処理部360が、処理結果を格納先に格納する(ステップS48)。
具体的には、ステップS41でモニタ記述をネットリスト記述に追加した場合、ステップS42〜ステップS47の処理が施されたモニタ記述が追加されたネットリスト記述をネットリスト記述格納部500に格納する。ステップS41でモニタ記述をテストベンチ記述に追加した場合、ステップS42〜ステップS47の処理が施されたモニタ記述が追加されたテストベンチ記述をテストベンチ記述格納部800に格納する。ステップS41でモニタ記述をアサーションチェッカモデル記述に追加した場合、ステップS42〜ステップS47の処理が施されたモニタ記述が追加されたアサーションチェッカモデル記述をアサーションチェッカモデル記述格納部1100に格納する。
以上で第2の関連づけ処理を終了する。
次に、第2の関連づけ処理の具体例を説明する。ステップS48にて説明したように、モニタ記述をネットリスト記述に追加する方法とテストベンチ記述に追加する方法とアサーションチェッカモデル記述に追加する方法とがある。以下順番に説明する。
<第2の関連づけ処理の第1の具体例>
本具体例は、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を第2の関連づけ処理を行うことによりネットリスト記述内部に追加してネットリスト記述に関連づける例である。
図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のレジスタが出力する信号名の信号を関連づける。
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述r1と同等のレジスタがネットリスト記述n1に存在するか否かを判断する。
本具体例では、レジスタF0_regに対応するレジスタf0_regおよびレジスタF1_regに対応するレジスタf1_regが存在する。
ここで、レジスタF0_regが出力していた信号の信号名「f0」はネットリスト記述n1に存在するため何もしない。何もしなくても、モニタ記述m3の信号名「f0」の信号は、ネットリスト記述n1のレジスタf0_regが出力する信号名「f0」の信号に接続されたことになる。
一方、レジスタ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に入力される信号を関連づける。
具体的には、ネットリスト記述n1を検索し、これらの信号名の信号と同等の信号名の信号が存在するか否かを判断する。
本具体例では信号名「XMSK」の信号、信号名「CLK」の信号は存在するので何もしない。何もしなくても、モニタ記述m3の信号名「XMSK」の信号および信号名「CLK」の信号はネットリスト記述n1の信号名「XMSK」の信号および信号名「CLK」の信号とそれぞれ関連づけられたことになる。
以上の処理を行うことで、モニタ記述m3の信号がネットリスト記述n1の信号に関連づけられたネットリスト記述n4が得られる。このネットリスト記述n4に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
図31は、図30に示すネットリスト記述により実現されるネットリスト回路を示す図である。
ネットリスト記述n4により実現されるネットリスト回路71には、組み合わせ回路61が追加されている。
組み合わせ回路61の信号名「f0」の信号にネットリスト回路71のレジスタf0_regが出力する信号名「f0」の信号が接続され、組み合わせ回路61の信号名「f1」の信号にレジスタf1_regが出力する信号名「q1」の信号が接続されている。
また、ネットリスト回路71に入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのまま組み合わせ回路61の同じ信号名の入力信号に接続されている。
アサーションチェック部200は、組み合わせ回路61の信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路71のアサーションチェックを行うことができる。
<第2の関連づけ処理の第2の具体例>
本具体例は、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を第2の関連づけ処理を行うことによりテストベンチ記述に追加してネットリスト記述に関連づける例である。
図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のレジスタが出力する信号名の信号を関連づける。
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述r1と同等のレジスタがネットリスト記述n1に存在するか否かを判断する。
本具体例ではレジスタF0_regに対応するレジスタf0_regおよびレジスタF1_regに対応するレジスタf1_regが存在するので、ネットリスト記述n1のレジスタが出力する信号と同じ信号名がモニタ記述m3に存在しているか否かを判断する。
本具体例では、ネットリスト記述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に入力される信号を関連づける。
具体的には、ネットリスト記述n1を検索し、これらの信号名の信号と同等の信号名の信号が存在するか否かを判断する。
本具体例では信号名「XMSK」の信号、信号名「CLK」の信号は存在するので何もしない。何もしなくても、モニタ記述m3の信号名「XMSK」の信号および信号名「CLK」の信号はネットリスト記述n1の信号名「XMSK」の信号および信号名「CLK」の信号とそれぞれ接続されたことになる。
以上の処理を行うことで、モニタ記述m3の信号がネットリスト記述n1の信号に関連づけられたテストベンチ記述t2が得られる。このテストベンチ記述t2に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
図33は、図32に示すテストベンチ記述により実現されるテストベンチ回路を示す図である。
テストベンチ記述t2により実現されるテストベンチ回路81には、組み合わせ回路61が追加されている。また、ネットリスト回路21aは、図12に示すネットリスト記述n1により実現される回路である。すなわち、モニタ記述を第2の関連づけ処理を行うことによりテストベンチ記述に追加する場合はネットリスト記述には手を加えない。
組み合わせ回路61の信号名「f0」の信号にネットリスト回路21aのレジスタf0_regが出力する信号名「f0」の信号が接続され、組み合わせ回路61の信号名「f1」の信号にレジスタf1_regが出力する信号名「q1」の信号が接続されている。
また、ネットリスト回路21aに入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのまま組み合わせ回路61の同じ信号名の入力信号に接続されている。
アサーションチェック部200は、組み合わせ回路61の信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路21aのアサーションチェックを行うことができる。
<第2の関連づけ処理の第3の具体例>
本具体例は、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を第2の関連づけ処理を行うことによりアサーションチェッカモデル記述内部に追加してネットリスト記述に関連づける例である。
図34は、第2の関連づけ処理を施したアサーションチェッカモデル記述を示す図である。
第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述m3を下記のようにアサーションチェッカへ直接記述し追加する。この例でのアサーションチェッカはRTL記述とは別ファイルである。
wire a, b;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、RTL記述r1のレジスタが出力していた信号名「f0」、「f1」の信号に、ネットリスト記述n1のレジスタが出力する信号名の信号を関連づける。
具体的には、ライブラリ格納部900に格納されているライブラリを検索し、RTL記述r1と同等のレジスタがネットリスト記述n1に存在するか否かを判断する。
本具体例では、レジスタF0_regに対応するレジスタf0_regおよびレジスタF1_regに対応するレジスタf1_regが存在する。
ここで、レジスタF0_regが出力していた信号の信号名「f0」はネットリスト記述n1に存在するため何もしない。何もしなくても、モニタ記述の信号名「f0」の信号は、ネットリスト記述n1のレジスタf0_regが出力する信号名「f0」の信号に接続されたことになる。
一方、レジスタ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に入力される信号を関連づける。
具体的には、ネットリスト記述n1を検索し、これらの信号名の信号と同等の信号名の信号が存在するか否かを判断する。
本具体例では信号名「XMSK」の信号、信号名「CLK」の信号は存在するので何もしない。何もしなくても、モニタ記述m3の信号名「XMSK」の信号および信号名「CLK」の信号はネットリスト記述n1の信号名「XMSK」の信号および信号名「CLK」の信号とそれぞれ接続されたことになる。
以上の処理を行うことで、モニタ記述m3の信号がネットリスト記述n1の信号に接続されたアサーションチェッカモデル記述a1が得られる。このアサーションチェッカモデル記述a1に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
図35は、図34に示すアサーションチェッカモデル記述により実現されるネットリスト回路を示す図である。
ネットリスト記述n1により実現されるネットリスト回路21aに組み合わせ回路61を備えるアサーションチェッカモデル回路61aが追加されている。このように、本具体例においてもネットリスト記述には手を加えない。
アサーションチェッカモデル回路61aの信号名「f0」の信号にネットリスト回路21aのレジスタf0_regが出力する信号名「f0」の信号が接続され、アサーションチェッカモデル回路61aの信号名「f1」の信号にレジスタf1_regが出力する信号名「q1」の信号が接続されている。
また、ネットリスト回路21aに入力される信号名「XMSK」の信号、信号名「DIN」の信号、信号名「CLK」の信号がそのままアサーションチェッカモデル回路61aの同じ信号名の入力信号に接続されている。
このアサーションチェッカモデル回路61aのアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
アサーションチェック部200は、アサーションチェッカモデル回路61aの信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路21aのアサーションチェックを行うことができる。
以上、本発明の設計検証プログラム、設計検証方法および設計検証装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の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)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
設計検証プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1) ゲートレベルのネットリストを用いた設計検証を行う設計検証プログラムにおいて、
コンピュータを、
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理手段、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理手段、
として機能させることを特徴とする設計検証プログラム。
(付記2) 前記作成処理手段は、前記RTL記述のモジュール名を変更し、前記RTL記述のレジスタに関する記述を全て削除し、削除したレジスタが出力する信号の信号名を、前記RTL回路外部からの入力信号の信号名とした前記モニタ記述を作成することを特徴とする付記1記載の設計検証プログラム。
(付記3) 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記入力信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記2記載の設計検証プログラム。
(付記4) 前記関連づけ処理手段は、前記モニタ記述を、テストベンチ記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記入力信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記2記載の設計検証プログラム。
(付記5) 前記作成処理手段は、前記RTL記述のモジュール名および入出力信号名の定義文を削除し、前記RTL記述のレジスタに関する記述を全て削除し、前記ネットリストの内部信号または出力信号に対応する信号を出力する組み合わせ回路に関する記述を削除した前記モニタ記述を作成することを特徴とする付記1記載の設計検証プログラム。
(付記6) 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記5記載の設計検証プログラム。
(付記7) 前記関連づけ処理手段は、前記モニタ記述を、テストベンチ記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号のインスタンス名を含む信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記5記載の設計検証プログラム。
(付記8) 前記関連づけ処理手段は、前記モニタ記述を、アサーションチェッカモデル記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記5記載の設計検証プログラム。
(付記9) 前記関連づけ処理手段は、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが存在するか否かを判断し、存在しない場合は論理等価検証用スクリプトから、削除された前記レジスタが出力していた信号の信号名に対応する前記ネットリストの信号名を検索し、検索された信号の信号名を、削除された前記レジスタが出力していた信号の信号名に関連づけることを特徴とする付記3または4もしくは6ないし8のいずれかに記載の設計検証プログラム。
(付記10) 前記関連づけ処理手段は、前記モニタに入力される信号の信号名に等しい前記ネットリストに入力される信号の信号名が存在するか否かを判断し、存在しない場合は論理等価検証用スクリプトから、前記モニタに入力される信号の信号名に対応する前記ネットリストの信号名を検索し、検索された信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記3または4もしくは6ないし8のいずれかに記載の設計検証プログラム。
(付記11) 前記関連づけ処理手段は、ライブラリの検索結果に基づいて前記判断を行うことを特徴とする付記10記載の設計検証プログラム。
(付記12) 前記関連づけ処理手段により信号が接続された状態で、前記組み合わせ回路のアサーションチェックを行うことを特徴とする付記1記載の設計検証プログラム。
(付記13) ゲートレベルのネットリストを用いた設計検証を行う設計検証方法において、
作成処理手段が、作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成し、
関連づけ処理手段が、前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける、
ことを特徴とする設計検証方法。
(付記14) ゲートレベルのネットリストを用いた設計検証を行う設計検証装置において、
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理部と、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理部と、
を有することを特徴とする設計検証装置。
(付記15) 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述またはテストベンチ記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記入力信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記2記載の設計検証プログラム。
(付記16) 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述またはテストベンチ記述またはアサーションチェッカモデル記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする付記5記載の設計検証プログラム。
本発明の概要を示す図である。 設計検証装置のハードウェア構成例を示す図である。 設計検証装置の構成を示すブロック図である。 設計検証部の機能を示すブロック図である。 第1の設計検証処理を示す処理フローである。 第1のモニタ記述作成処理を示すフローチャートである。 RTL記述格納部に格納されているRTL記述の一例を示す図である。 図7に示すRTL記述により実現されるモジュール回路を示す図である。 第1のモニタ記述作成処理を施したモニタ記述を示す図である。 作成されたモジュール回路を示す図である。 第1の関連づけ処理を示すフローチャートである。 論理合成したネットリスト記述を示す図である。 第1の関連づけ処理を施したネットリスト記述を示す図である。 関連づけられたネットリスト回路を示す図である。 第1の関連づけ処理を施したテストベンチ記述を示す図である。 関連づけられたテストベンチ回路を示す図である。 RTL記述の他の例を示す図である。 RTL記述により実現されるモジュール回路を示す図である。 ネットリスト記述により実現されるネットリスト回路を示す図である。 モニタ記述の特殊関連づけ処理を施したモニタ記述を示す図である。 モニタ記述の特殊関連づけ処理用のFVスクリプトを示す図である。 モニタ記述の特殊関連づけ処理を施したネットリスト記述を示す図である。 ネットリスト記述により実現されるネットリスト回路を示す図である。 第2の実施の形態の構成を示すブロック図である。 第2の設計検証方法を示す処理フローである。 第2のモニタ記述作成処理を示すフローチャートである。 第2のモニタ記述作成処理を施したモニタ記述を示す図である。 モニタ記述により実現される組み合わせ回路を示す図である。 第2の関連づけ処理の処理フローを示す図である。 第2の関連づけ処理を施したネットリスト記述を示す図である。 ネットリスト記述により実現されるネットリスト回路を示す図である。 第2の関連づけ処理を施したテストベンチ記述を示す図である。 テストベンチ記述により実現されるテストベンチ回路を示す図である。 第2の関連づけ処理を施したアサーションチェッカモデル記述を示す図である。 アサーションチェッカモデル記述により実現されるネットリスト回路を示す図である。 設計検証フローを示すフローチャートである。 RTL記述により実現されるモジュール回路の一例を示す図である。 ネットリスト記述により実現されるネットリスト回路の一例を示す図である。
符号の説明
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 テストベンチ記述

Claims (7)

  1. ゲートレベルのネットリストを用いた設計検証を行う設計検証プログラムにおいて、
    コンピュータを、
    作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理手段、
    前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理手段、
    として機能させることを特徴とする設計検証プログラム。
  2. 前記作成処理手段は、前記RTL記述のモジュール名を変更し、前記RTL記述のレジスタに関する記述を全て削除し、削除したレジスタが出力する信号の信号名を、前記RTL回路外部からの入力信号の信号名とした前記モニタ記述を作成することを特徴とする請求項1記載の設計検証プログラム。
  3. 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述またはテストベンチ記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記入力信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする請求項2記載の設計検証プログラム。
  4. 前記作成処理手段は、前記RTL記述のモジュール名および入出力信号名の定義文を削除し、前記RTL記述のレジスタに関する記述を全て削除し、前記ネットリストの内部信号または出力信号に対応する信号を出力する組み合わせ回路に関する記述を削除した前記モニタ記述を作成することを特徴とする請求項1記載の設計検証プログラム。
  5. 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述またはテストベンチ記述またはアサーションチェッカモデル記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする請求項4記載の設計検証プログラム。
  6. ゲートレベルのネットリストを用いた設計検証を行う設計検証方法において、
    作成処理手段が、作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成し、
    関連づけ処理手段が、前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける、
    ことを特徴とする設計検証方法。
  7. ゲートレベルのネットリストを用いた設計検証を行う設計検証装置において、
    作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理部と、
    前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理部と、
    を有することを特徴とする設計検証装置。
JP2008039363A 2008-02-20 2008-02-20 設計検証プログラム、設計検証方法および設計検証装置 Expired - Fee Related JP4983642B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008039363A JP4983642B2 (ja) 2008-02-20 2008-02-20 設計検証プログラム、設計検証方法および設計検証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008039363A JP4983642B2 (ja) 2008-02-20 2008-02-20 設計検証プログラム、設計検証方法および設計検証装置

Publications (2)

Publication Number Publication Date
JP2009199274A JP2009199274A (ja) 2009-09-03
JP4983642B2 true JP4983642B2 (ja) 2012-07-25

Family

ID=41142713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008039363A Expired - Fee Related JP4983642B2 (ja) 2008-02-20 2008-02-20 設計検証プログラム、設計検証方法および設計検証装置

Country Status (1)

Country Link
JP (1) JP4983642B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114626323B (zh) * 2022-05-16 2022-08-16 飞腾信息技术有限公司 集成电路的时序收敛方法、装置、服务器及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005275963A (ja) * 2004-03-25 2005-10-06 Toshiba Corp モニタ記述生成装置、モニタ記述生成方法及びモニタ記述生成プログラム
JP2006163600A (ja) * 2004-12-03 2006-06-22 Canon Inc 内部信号監視方法及び論理シミュレーション装置
JP4881769B2 (ja) * 2007-03-16 2012-02-22 株式会社リコー 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム

Also Published As

Publication number Publication date
JP2009199274A (ja) 2009-09-03

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
US20090210841A1 (en) Static timing analysis of template-based asynchronous circuits
JP2006107517A (ja) クロストークを考慮したタイミング分析のためのシステム、方法及び論理装置
US8522182B2 (en) Generation of an end point report for a timing simulation of an integrated circuit
JP4078435B2 (ja) 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法
JP4147842B2 (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
US7888971B2 (en) Verification support system and method
JP2006285333A (ja) 動作合成装置及び方法
Simpson FPGA design
JP4850091B2 (ja) 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
US8504347B2 (en) Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit
US9792394B2 (en) Accurate glitch detection
JP2003141206A (ja) Lsiテスト・データのタイミング検証方法およびlsiテスト・データのタイミング検証プログラム
US7979262B1 (en) Method for verifying connectivity of electrical circuit components
JP4983642B2 (ja) 設計検証プログラム、設計検証方法および設計検証装置
US7945882B2 (en) Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
JP2003196339A (ja) テスト容易性解析システムおよびテスト容易性解析方法、並びにテスト容易化設計システムおよびテスト容易化設計方法
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
JP5146369B2 (ja) 回路設計プログラム、回路設計方法および回路設計装置
JP2002269169A (ja) 回路自動検証装置
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム
Lahbib et al. An automatic ABV methodology enabling PSL assertions across SLD flow for SOCs modeled in SystemC

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