説明

論理シミュレーション装置および論理シミュレーション方法

【課題】トランスポートモデルを用いた論理シミュレータにおいて、スパイクの影響を論理動作の結果から確認できるようにする。
【解決手段】この論理シミュレーション装置では、2つの標準遅延フォーマット(SDF)ファイルを用いて論理シミュレーションを実行し、その結果を比較することにより、スパイクが被シミュレーション回路に及ぼす影響を確認することができる。一方のSDFファイルは、被シミュレーション回路を構成する論理ゲートと配線の理想的な遅延時間情報を記述したものである。そして、他方のSDFファイルは、論理ゲートの立ち上がりおよび立ち下がりの遅延時間が、互いに同一の値に設定されており、配線の立ち上がりおよび立ち下がりの遅延時間が、互いに同一の値に設定されている。すなわち、スパイクのパルス幅が変化したり、スパイク自体が消滅したりしないように設定されている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、論理回路の動作を検証する際に用いられる論理シミュレーション装置および論理シミュレーション方法に関する。
【背景技術】
【0002】
コンピュータ装置が広く普及し、また、ソフトウェア技術が進歩することによって、コンピュータ装置を用いたCAD装置が、半導体集積回路等に組み込む論理回路設計に用いられるようになっている。また、このような論理回路設計用CAD装置にて設計された論理回路を、コンピュータ装置上で模擬的に動作させるという論理シミュレータも広く用いられるようになっている。この論理シミュレータは、設計された論理回路の配線の長さを種々の条件下で仮配線長として求め、対象となる論理回路中の論理ゲートの論理演算をコンピュータ装置上で実行しながら、設計された論理回路を論理シミュレーションするというものである。この論理シミュレータは、入力情報として、論理ゲートおよびネットリストを含む論理回路データと、入力波形を含むテストデータと、回路を構成する論理ゲートおよび論理ゲート間の配線の遅延情報を含んだ標準遅延フォーマット(Standard Delay Format : SDF)ファイルとが少なくとも入力される。そして、応答波形データそのもの、もしくは応答波形データを文字列として出力する。
【0003】
このような論理シミュレータにおいて、最近では、論理回路の誤動作の原因となる、いわゆるスパイクについての検討をも行えるようになっている。
【0004】
このスパイクとは、設計対象となる論理ゲートのゲート遅延、すなわち、その論理ゲートへと信号が入力されてから、その出力の論理状態が変化するまでの遅延時間、よりも幅の短いパルスである。このようなスパイクが論理ゲートに入力されると、その論理ゲートの出力は全く変化しない。例えば、L状態の論理ゲートにおいて、L状態よりも電位レベルの高いH状態となるスパイクが、その論理ゲートのゲート遅延時間よりも短い時間だけ入力されても、その論理ゲートの出力は、L状態のままとなってしまう。
【0005】
このようなスパイクが発生すると、伝播したスパイクによって論理回路に誤動作を生じさせてしまう恐れがある。このため、論理シミュレータにおいて、このようなスパイクを検出して、検出されたスパイクに関するメッセージを、スパイクメッセージと称して出力するもの等、種々のものがある。
【0006】
例えば、特許文献1に示されるようなイナーシャルモデルを用いた論理シミュレータでは、論理シミュレーション中にスパイクが発生した場合、発生したスパイクを対象となる論理回路中へ伝播させず、スパイクの発生およびこれに関する情報を、例えばプリンタ等へと印字出力する。特許文献1には、前述のイナーシャルモデルを用いた論理シミュレータにおいて、スパイクメッセージを有効に活用してスパイクが論理回路に与える影響を出力する手段が提示されている。
【0007】
一方、トランスポートモデルを用いた論理シミュレータでは、発生したスパイクをそのまま対象となる論理回路へ伝播させる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平7−21220号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
トランスポートモデルを用いた論理シミュレータにおいては、論理シミュレーション中にスパイクが発生した場合でもスパイクメッセージは出力されない。このため、論理シミュレータの利用者は、スパイクの発生およびその発生源を確認することが困難であり、論理回路の修正が難しいという問題がある。また、スパイクが論理ゲートおよび配線に入力された場合に、論理ゲートの出力側へ伝播することなく消滅してしまい、スパイクを考慮した論理シミュレーションができないという問題がある。
【0010】
本発明は、上記問題点に鑑みてなされたものであり、トランスポートモデルを用いた論理シミュレータにおいて、スパイクの影響を論理動作の結果から確認できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、請求項1に記載の発明は、
論理回路の動作を検証する際に用いられる論理シミュレーション装置において、
被シミュレーション回路の回路接続情報を格納する論理接続情報格納手段と、
被シミュレーション回路に入力する入力波形情報を格納する入力波形格納手段と、
被シミュレーション回路を構成する論理ゲートおよび配線の理想的な標準遅延フォーマットである第1SDFファイルと、第1SDFファイルのうち、論理ゲートおよび配線に入力される波形の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とを所定の値に変更した第2SDFファイルと、を格納する標準遅延フォーマット格納手段と、
少なくとも、回路接続情報と、入力波形情報と、標準遅延フォーマットとを入力情報として論理シミュレーションを行う論理シミュレータと、
論理シミュレータから出力されたシミュレーション結果を格納するシミュレーション結果格納手段と、
論理シミュレータによって得られたシミュレーション結果に基づくデータを出力する表示手段と、
論理接続情報格納手段、入力波形格納手段および標準遅延フォーマット格納手段に格納されたデータを論理シミュレータに入力させて、論理シミュレータにシミュレーションの実行を指示し、論理シミュレータに対して、シミュレーション結果のシミュレーション結果格納手段への格納を指示し、シミュレーション結果格納手段に対して、シミュレーション結果をシミュレーション結果格納手段から読み出して表示手段への出力を指示する制御手段と、を備え、
第2SDFファイルは、論理ゲートの立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、互いに同一の値に設定されており、
配線の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、互いに同一の値に設定されていることを特徴としている。
【0012】
本発明によれば、標準遅延フォーマットとして、第2SDFファイルが論理シミュレータに入力されて、論理シミュレーションが実行される。第2SDFファイルは、被シミュレーション回路を構成する論理ゲートの立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、互いに同一の値に設定されている。且つ、配線の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、互いに同一の値に設定されている。すなわち、被シミュレーション回路を構成する論理ゲートおよび配線に入力される波形の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間との差がゼロに設定されている。このため、標準遅延フォーマットとして、第2SDFファイルを用いた論理シミュレーションでは、スパイクのパルス幅が変化したり、スパイク自体が消滅したりすることなく、スパイクを被シミュレーション回路中に伝播させることができる。本発明では、論理ゲートおよび配線の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間は同一であればよく、その値は任意に設定できる。このため、論理ゲートおよび配線の両方の回路遅延の影響と、スパイクによる影響とを加味した応答波形を得ることができる。一方、第1SDFファイルは、被シミュレーション回路を構成する論理ゲートおよび配線の理想的な標準遅延フォーマットである。すなわち、被シミュレーション回路を構成する論理ゲートの物理的配置および配線の引き回しが決まれば、第1SDFファイルの記述内容は一意に決まる。第1SDFファイルを用いた論理シミュレーションでは、被シミュレーション回路中に発生したスパイク自体が消滅してしまい、被シミュレーション回路中を伝播しない。したがって、論理シミュレータにより出力される第1シミュレーション結果は、スパイクの影響を反映しない結果となる。
【0013】
そして、第1シミュレーション結果と、第2シミュレーション結果とは、ともに、応答波形データあるいは応答波形データを文字列に変換した形で、表示手段に出力される。上記2つのシミュレーション結果の相違点は、スパイクの影響の有無によるものである。回路設計者は、出力された上記2つのシミュレーション結果を見比べることにより、スパイクが被シミュレーション回路に与える影響を確認することができる。
【0014】
請求項2に記載のように、第1SDFファイルを用いて得られた第1シミュレーション結果および第2SDFファイルを用いて得られた第2シミュレーション結果の相違点を検出する相違点検出手段と、相違点検出手段により検出された相違点を、視覚的に強調処理を施す視覚化手段と、を備え、
表示手段は、相違点が検出された場合に、強調処理を施された第1シミュレーション結果または強調処理を施された第2シミュレーション結果を出力し、相違点が検出されない場合に、第1シミュレーション結果および第2シミュレーション結果を出力することが好ましい。
【0015】
相違点検出手段は、例えばソフトウェア上で第1シミュレーション結果と第2シミュレーション結果との差分処理を行うことにより、その相違点を検出する。そして、視覚化手段は、相違点検出手段により検出された第1シミュレーション結果と第2シミュレーション結果との相違点(相違箇所)を、例えば色を付けるなどの可視化を施す。そして、可視化が施されたシミュレーション結果が表示手段に出力される。これにより、回路設計者は、スパイクの影響の有無によるシミュレーション結果の相違点を視覚的に確認することができる。したがって、回路設計者は、スパイクが被シミュレーション回路に与える影響の確認を、より効率的に行うことができる。
【0016】
また、上記目的を達成するために、請求項3に記載の論理シミュレーション方法は、
入力情報として、少なくとも、被シミュレーション回路を規定した回路接続情報と、被シミュレーション回路への入力波形情報と、被シミュレーション回路を構成する論理ゲートおよび論理ゲート間の配線の遅延時間情報を記述した標準遅延フォーマットとを用いる論理シミュレーション方法であって、
標準遅延フォーマットとして、論理ゲートの理想的な遅延時間を記述した第1SDFファイルを論理シミュレータに入力して論理シミュレーションを行う第1論理シミュレーション工程と、
論理ゲートの立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、互いに同一の値に設定され、配線の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、互いに同一の値に設定された第2SDFファイルを、論理シミュレータに入力して論理シミュレーションを行う第2論理シミュレーション工程と、
第1論理シミュレーション工程により得られた第1シミュレーション結果、および第2論理シミュレーション工程により得られた第2シミュレーション結果に基づくデータを外部出力装置に出力する表示工程と、を備えることを特徴としている。
【0017】
請求項3に記載の発明の作用効果は、請求項1に記載の発明の作用効果と同じであるため、その記載を省略する。
【0018】
また、請求項4に記載のように、第1シミュレーション結果と第2シミュレーション結果との相違点を検出する相違点検出工程と、相違点検出工程により検出された相違点を、視覚的に強調処理を施す視覚化工程と、を備え、
相違点が検出された場合に、表示工程において、強調処理を施された第1シミュレーション結果または強調処理を施された第2シミュレーション結果を出力し、相違点が検出されない場合に、表示工程において、第1シミュレーション結果および第2シミュレーション結果を出力することが好ましい。
【0019】
請求項4に記載の発明の作用効果は、請求項2に記載の発明の作用効果と同じであるため、その記載を省略する。
【0020】
また、請求項5に記載のように、第2SDFファイルにおいて、論理ゲートの立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、互いにゼロとは異なる所定の値に設定され、配線の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、ともにゼロに設定されても良い。
【0021】
これによれば、被シミュレーション回路を構成する論理ゲートおよび配線に入力される波形の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間との差の絶対値をゼロとすることができる。このため、論理ゲートおよび配線のいずれにおいてもスパイクを伝播させることができる。本発明では、配線の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間をゼロに設定している。これにより、配線による回路遅延の影響をなくすことができる。換言すれば、論理ゲートのみの回路遅延および被シミュレーション回路を伝播するスパイクの影響を第2シミュレーション結果に反映させることができる。したがって、回路設計者は、論理ゲートのみの回路遅延とスパイクとが被シミュレーション回路に与える影響を確認することができるため、スパイクが論理ゲートおよび配線のいずれで影響しているかの切り分けが容易となる。
【0022】
また、請求項6に記載のように、第2SDFファイルにおいて、論理ゲートの立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、ともにゼロに設定され、配線の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とが、互いにゼロとは異なる所定の値に設定されても良い。
【0023】
これによれば、被シミュレーション回路を構成する論理ゲートおよび配線に入力される波形の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間との差の絶対値をゼロとすることができる。このため、論理ゲートおよび配線のいずれにおいてもスパイクを伝播させることができる。本発明では、論理ゲートの立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間をゼロに設定している。これにより、論理ゲートによる回路遅延の影響をなくすことができる。換言すれば、配線のみの回路遅延および被シミュレーション回路を伝播するスパイクの影響を第2シミュレーション結果に反映させることができる。したがって、回路設計者は、配線のみの回路遅延とスパイクとが被シミュレーション回路に与える影響を確認することができるため、スパイクが論理ゲートおよび配線のいずれで影響しているかの切り分けが容易となる。
【図面の簡単な説明】
【0024】
【図1】第1実施形態における論理シミュレーション装置の構成を示すブロック図である。
【図2】被シミュレーション回路を示す回路図である。
【図3】入力波形情報の印字例を示す図である。
【図4】第1SDFファイルの印字例を示す図である。
【図5】シミュレーション結果の印字例を示す図である。
【図6】相違点検出手段の概要を示す図である。
【図7】視覚化手段の概要を示す図である。
【図8】論理シミュレーション方法を示すフロー図である。
【図9】スパイクを含んだ入力波形の一例を示す図である。
【図10】第1シミュレーション結果の波形の一例を示す図である。
【図11】第2SDFファイルの印字例を示す図である。
【図12】第2シミュレーション結果の波形の一例を示す図である。
【図13】第1シミュレーション結果と、第2シミュレーション結果と、差分波形とを、同一の時間軸で描画した波形図である。
【図14】視覚化手段により強調表示された第2シミュレーション結果を示す波形図である。
【図15】第2実施形態における論理シミュレーション方法を示すフロー図である。
【図16】第3実施形態における論理シミュレーション方法を示すフロー図である。
【0025】

【図17】第4実施形態における第2SDFファイルの印字例を示す図である。
【図18】第5実施形態における第2SDFファイルの印字例を示す図である。
【図19】その他の実施形態における第2SDFファイルの印字例を示す図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施の形態を図面に基づいて説明する。なお、以下の各図相互において、互いに同一もしくは均等である部分に、同一符号を付与する。
【0027】
(第1実施形態)
最初に、図1〜図7を参照して、本実施形態に係る論理シミュレーション装置10の構成について説明する。
【0028】
論理シミュレーションは、論理シミュレータ11により実行される。図1に示すように、論理シミュレータ11には、入力側の手段として、少なくとも、論理接続情報格納手段12と、入力波形格納手段13と、標準遅延フォーマット格納手段14と、が接続されている。
【0029】
そして、出力側の手段として、少なくとも、シミュレーション結果格納手段15が接続され、シミュレーション結果格納手段15には、結果を出力するための表示手段16が接続されている。また、シミュレーション結果格納手段15と表示手段16とは、相違点検出手段17および視覚化手段18を介しても接続されている。
【0030】
そして、論理シミュレータ11、シミュレーション結果格納手段15、相違点検出手段17および視覚化手段18には、これらの動作を制御する制御手段19が接続されている。
【0031】
このように、論理シミュレーション装置10は、CPU、メモリ、外部出力装置およびそれらを接続するバスライン等で構成された周知の論理シミュレーションCAD装置として構成されており、論理シミュレータ11、論理接続情報格納手段12、入力波形格納手段13、標準遅延フォーマット格納手段14、シミュレーション結果格納手段15、表示手段16、相違点検出手段17、視覚化手段18および制御手段19を備えている。
【0032】
次に、各手段について、詳細を説明する。
【0033】
論理接続情報格納手段12には、論理シミュレーションの対象となる、例えば図2に示すような被シミュレーション回路20の回路接続情報が格納される。回路接続情報には、被シミュレーション回路20を構成する論理ゲートU1,U2,U3や、該論理ゲートU1,U2,U3間を接続する配線N1,N2のネットリストが含まれる。これらの情報は、論理接続情報格納手段12から読み出されて、論理シミュレータ11に入力される。
【0034】
入力波形格納手段13には、被シミュレーション回路20に入力する信号の入力波形情報が格納される。入力波形情報には、入力する信号の波形の種類と、入力する時刻が記述されている。本実施形態では、例えば、図3(a)に示すように、ある時刻における入力波形の状態が時系列で記述された文字列形式の入力波形情報30aとして格納されている。なお、文字列形式の入力波形情報30aのIN1およびIN2の列に記述された「0」は、被シミュレーション回路の入力端子IN1,IN2にL状態を与える命令であり、「1」は、入力端子IN1,IN2にH状態を与える命令である。なお、回路設計者が入力波形情報の作成を行う際の負担を軽減するため、この文字列形式の入力波形情報30aは、図3(b)に示すように、各時刻における状態が可視化されて、入力波形データ30bとして視覚的に確認できるようになっている。
【0035】
標準遅延フォーマット格納手段14には、被シミュレーション回路20を構成する論理ゲートU1,U2,U3と配線N1,N2毎に指定される信号伝播時の遅延時間情報が記述された標準遅延フォーマット(SDF)ファイル40が格納される。このSDFファイル40は、図4に示すように、波形の立ち上がりの遅延時間41および立ち下がりの遅延時間42がそれぞれ独立に設定されている。そして、この遅延時間情報は、標準遅延フォーマット格納手段14から読み出されて論理シミュレータ11に入力される。
【0036】
シミュレーション結果格納手段15には、論理シミュレータ11から出力されたシミュレーション結果が格納される。シミュレーション結果は、図5(a)に示すように、入力波形情報と同様、文字列形式の応答波形情報50aとして格納されている。なお、回路設計者がシミュレーション結果を確認しやすいように、この文字列形式の応答波形情報50aは、図5(b)に示すように、各時刻における状態が可視化されて、応答波形データ50bとして視覚的に確認できるようになっている。
【0037】
表示手段16は、シミュレーション結果格納手段15に格納されたシミュレーション結果を出力する。あるいは、後述する相違点検出手段17により検出された2つのシミュレーション結果の相違点が、後述する視覚化手段18により強調処理された結果を可視化して表示する。本実施形態において、表示手段16は、図示しないが、ディスプレイなどの外部出力機器である。ただし、表示手段16は、シミュレーション結果を可視化して出力できればよく、ディスプレイに限定されるものではない。
【0038】
相違点検出手段17は、図6に示すように、シミュレーション結果格納手段15に格納された2つのシミュレーション結果、すなわち文字列形式の応答波形情報60a,61aについて、差分処理を行うことにより、その差分データ62aから相違点63を検出する。差分データ62aにおいて、その差分値がゼロ以外の値をとる場合に、その時刻において相違点63があると判断される。なお、60aおよび61aは、そのどちらが第1シミュレーション結果あるいは第2シミュレーション結果であるかは限定されるものではない。
【0039】
視覚化手段18は、相違点検出手段17により検出した相違点63を強調処理して、表示手段16に結果を送出する。強調処理は、例えば、図7に示すように、文字列形式の応答波形情報60aを可視化した応答波形データ60bにおいて、相違点63に該当する時刻の波形64を着色して表示する処理である。なお、強調処理は、相違点63に該当する時刻の波形64を着色する例に限定されることはなく、例えば、太線で表示する等の別の方法で強調してもよい。また、応答波形データ60bとして表示された波形を強調する例に限定されることはなく、文字列形式の応答波形情報60aの該当箇所を強調して文字列形式のまま表示してもよい。
【0040】
制御手段19は、論理シミュレータ11に対して、論理接続情報格納手段12、入力波形格納手段13および標準遅延フォーマット格納手段14から、格納されたデータを読み出して、論理シミュレータ11に入力させる。そして、制御手段19は、論理シミュレータ11に対して、論理シミュレーションを実行するように指示する。また、この制御手段19は、論理シミュレータ11に対して、シミュレーション結果をシミュレーション結果格納手段15に格納するように指示する。また、この制御手段19は、シミュレーション結果格納手段15に対して、シミュレーション結果をシミュレーション結果格納手段15から読み出して表示手段16に出力するように指示する。あるいは、相違点検出手段17に対して、2つのシミュレーション結果の差分処理を実行するように指示する。また、制御手段19は、視覚化手段18に対して、相違点検出手段17により検出した相違点63を強調処理して、表示手段16に結果を送出するように指示する。
【0041】
次に、図8のフローを参照して、本実施形態に係る論理シミュレーション方法(処理)の手順について説明する。
【0042】
まず、ステップS1で、回路設計者は、被シミュレーション回路20の回路接続情報を論理接続情報格納手段12に入力する。例えば、図2に示すような回路であれば、前述したように、回路接続情報には、被シミュレーション回路20を構成する論理ゲートU1,U2,U3および、該論理ゲートU1,U2,U3間を接続する配線N1,N2のネットリストが含まれる。
【0043】
次に、ステップS2で、回路設計者は、入力波形情報を入力波形情報格納手段13に入力する。例えば、図9に示すような波形を、被シミュレーション回路の入力端子に入力する。なお、図9に示した波形は、スパイク90,91を含んでいる。
【0044】
次に、ステップS3で、回路設計者は、被シミュレーション回路を構成する論理ゲートおよび、該論理ゲート間を接続する配線の理想的な遅延時間情報を記述した第1SDFファイルを標準遅延フォーマット格納手段14に入力する。例えば、図4に示すようなSDFファイル40を、第1SDFファイルとして入力する。そして、ステップS4において、制御手段19は、論理シミュレータ11に対して、ステップS1〜S3で入力したデータを、各格納手段12,13,14から読み出し、これらをもとに論理シミュレーションを実行するように指示する。そして、論理シミュレータ11は、論理シミュレーションを実行する。また、論理シミュレータ11は、制御手段19の指示により、得られる第1シミュレーション結果100を、例えば、図10に示すような応答波形データとしてシミュレーション結果格納手段15に格納する。ステップS3およびステップS4が、特許請求の範囲における請求項3に記載の第1論理シミュレーション工程に相当する。
【0045】
次に、ステップS5で、回路設計者は、論理ゲートおよび配線に入力される波形の立ち上がりタイミングの遅延時間41と、立ち下がりタイミングの遅延時間42との差がゼロになるように設定した第2SDFファイルを、第1SDFファイルに代えて、標準遅延フォーマット格納手段14に入力する。本実施形態では、例えば、図11に示すようなSDFファイル43を第2SDFファイルとして入力する例を示す。この第2SDFファイルは、第1SDFファイルに対して、波形の立ち下がりタイミングの遅延時間42を、立ち上がりタイミングの遅延時間41の値と同一の値に変更している。このため、波形の立ち上がりタイミングの遅延時間41と、立ち下がりタイミングの遅延時間42との差によるスパイクの消滅を回避できる。そして、ステップS6において、制御手段19は、論理シミュレータ11に対して、ステップS1、S2およびS5で入力したデータをもとに論理シミュレーションを実行するように指示する。そして、論理シミュレータ11は、論理シミュレーションを実行する。また、論理シミュレータ11は、制御手段19の指示により、得られる第2シミュレーション結果120を、例えば、図12に示すような応答波形データとしてシミュレーション結果格納手段15に格納する。ステップS5およびステップS6が、特許請求の範囲における請求項3に記載の第2論理シミュレーション工程に相当する。
【0046】
次に、ステップS7において、制御手段19は、第1シミュレーション結果100と、第2シミュレーション結果120との相違点63を検出するため、相違点検出手段17に対して、第1シミュレーション結果100と、第2シミュレーション結果120との差分処理を実行するように指示する。相違点検出手段17は、上記2つのシミュレーション結果の差分を計算する。図13は、第1シミュレーション結果100と、第2シミュレーション結果120と、差分波形130とを、同一の時間軸で描画した図である。ここでは、視覚的に示すため、第1シミュレーション結果100と、第2シミュレーション結果120との差分を差分波形130として示したが、これは、図6に示した差分データ62aに相当する文字列形式のデータを可視化したものである。
【0047】
次に、ステップS8において、制御手段19は、第1シミュレーション結果100と、第2シミュレーション結果120との間に相違点が検出されたか否かを判定する。図13に示すように、本実施形態では、時刻34〜時刻35および時刻37〜時刻38で相違点63が検出される。なお、ステップS7およびS8が、特許請求の範囲における請求項4に記載の相違点検出工程に相当する。ステップS8において相違点ありと判定された場合には、ステップS9に進む。
【0048】
ステップS9において、制御手段19は、視覚化手段18に対して、ステップS8で検出した相違点63について、第1シミュレーション結果100または第2シミュレーション結果120のうち、該当時刻の部分に強調処理を行うように指示する。本実施形態では、第2シミュレーション結果120に強調処理を施す例を示す。本実施形態では、前述のように、第1シミュレーション結果100と第2シミュレーション結果120との相違点、すなわち、時刻34〜時刻35および時刻37〜時刻38で相違点63が検出される。そして、図14に示すように、相違点63が検出された該当時刻である時刻34〜時刻35および時刻37〜時刻38(図14中の太線部)において、描画される波形の線色が、相違点63に該当しない箇所と異なる色に変更される。この強調処理された第2シミュレーション結果が表示手段16に出力されて、論理シミュレーションを終了する。
【0049】
このように、この論理シミュレーション方法によれば、第1シミュレーション結果100と第2シミュレーション結果120との相違点を、被シミュレーション回路にスパイクを伝播させて得られた第2シミュレーション結果120に付加(強調)して表示することができる。したがって、第1シミュレーション結果100および第2シミュレーション結果120のみが出力される場合、あるいは、後述するように、第1シミュレーション結果100、第2シミュレーション結果120およびその差分波形130を出力させる場合に較べて、効率良く両者の相違点を確認することができる。
【0050】
なお、本実施形態では、相違点63が検出された該当時刻の波形の線色を、相違点63に該当しない箇所と異なる色に変更する例を示したが、強調方法は、これに限定されるものではない。例えば、相違点63が検出された該当時刻の波形の線幅を、相違点63に該当しない箇所と異なる線幅としてもよい。なお、ステップS9が、特許請求の範囲における請求項4に記載の視覚化工程に相当する。
【0051】
ステップS8において、第1シミュレーション結果100と、第2シミュレーション結果120との間に相違点なしと判定された場合には、ステップS10に進む。
【0052】
ステップS10において、制御手段19は、シミュレーション結果格納手段15に対して、第1シミュレーション結果100および第2シミュレーション結果120を、シミュレーション結果格納手段15から読み出して、文字列形式の応答波形情報あるいは応答波形データとして、表示手段16に出力するように指示し、論理シミュレーションを終了する。
【0053】
本実施形態における論理シミュレーション方法によれば、スパイクが被シミュレーション回路を伝播しない第1シミュレーション結果100と、スパイクが被シミュレーション回路に影響を与えた第2シミュレーション結果120を、文字列形式の応答波形情報または応答波形データとして確認することができる。
【0054】
(第2実施形態)
本実施形態では、図15に示すように、第1実施形態に対して、視覚化手段18を介さず(視覚化工程を経ず)、相違点検出手段17により検出された2つのシミュレーション結果の相違点を表示手段16に出力する例を示す。なお、論理シミュレーション装置10の構成は、第1実施形態と同じ構成としてもよいし、視覚化手段18を省略した構成としてもよい。
【0055】
図15を参照して、本実施形態に係る論理シミュレーション方法(処理)の手順について説明する。
【0056】
ステップS11〜S18は、第1実施形態におけるステップS1〜S8と同じ処理であるため、詳細の記載を省略する。
【0057】
ステップS18において、第1シミュレーション結果100と、第2シミュレーション結果120との間に相違点ありと判定された場合には、ステップS19に進む。
【0058】
ステップS19で、制御手段19は、ステップS18で実行した差分処理の結果を表示手段16に出力するように指示する。すなわち、図13に示すように、第1シミュレーション結果100と、第2シミュレーション結果120と、その差分波形130とを、文字列形式の応答波形情報あるいは応答波形データとして、表示手段16に出力し、論理シミュレーションを終了する。これによれば、スパイクが被シミュレーション回路を伝播しない第1シミュレーション結果100と、スパイクが被シミュレーション回路に影響を与えた第2シミュレーション結果120を、文字列形式の応答波形情報または応答波形データとして確認することができる。これに加えて、第1シミュレーション結果100と第2シミュレーション結果120との差分波形130も出力できる。したがって、第1シミュレーション結果100および第2シミュレーション結果120のみが出力される場合に較べて、効率良く両者の相違点を確認することができる。
【0059】
ステップS18において、第1シミュレーション結果100と、第2シミュレーション結果120との間に相違点なしと判定された場合には、ステップS20に進む。
【0060】
ステップS20は、第1実施形態におけるステップ10と同様である。すなわち、ステップS20において、制御手段19は、シミュレーション結果格納手段15に対して、第1シミュレーション結果100および第2シミュレーション結果120を、シミュレーション結果格納手段15から読み出して、文字列形式の応答波形情報あるいは応答波形データとして、表示手段16に出力するように指示し、論理シミュレーションを終了する。
【0061】
(第3実施形態)
本実施形態では、図16に示すように、第2実施形態に対して、相違点検出工程および視覚化工程を経ず、シミュレーション結果を表示手段16に出力する例を示す。なお、論理シミュレーション装置10の構成は、第1実施形態および第2実施形態と同じ構成としてもよいし、相違点検出手段17および視覚化手段18を省略した構成としてもよい。
【0062】
図16を参照して、本実施形態に係る論理シミュレーション方法(処理)の手順について説明する。
【0063】
ステップS21〜S26は、第1実施形態におけるステップS1〜S6と同じ処理であるため、詳細の記載を省略する。
【0064】
本実施形態では、ステップS24およびステップS26の論理シミュレーションの実行により得られた第1シミュレーション結果100と、第2シミュレーション結果120とを、相違点の検出を行わずに表示手段16に出力する。すなわち、ステップS27において、制御手段19は、シミュレーション結果格納手段15に対して、第1シミュレーション結果100および第2シミュレーション結果120を、シミュレーション結果格納手段15から読み出して、文字列形式の応答波形情報あるいは応答波形データとして、表示手段16に出力するように指示し、論理シミュレーションを終了する。
【0065】
この論理シミュレーション方法によれば、スパイクが被シミュレーション回路を伝播しない第1シミュレーション結果100と、スパイクが被シミュレーション回路に影響を与えた第2シミュレーション結果120を、文字列形式の応答波形情報または応答波形データとして確認することができる。
【0066】
(第4実施形態)
本実施形態では、図17に示すようなSDFファイル44を、第2SDFファイルとして標準遅延フォーマット格納手段14に入力する例を示す。この第2SDFファイルは、上記の各実施形態における第2SDFファイルに対して、配線に入力される波形の立ち上がりタイミングの遅延時間41aと、立ち下がりタイミングの遅延時間42aとが、ともにゼロに設定されている。波形の立ち上がりタイミングの遅延時間41,41aと、立ち下がりタイミングの遅延時間42,42aとの差は、ゼロであるため、上記の各実施形態と同様にスパイクの消滅を回避できる。さらに、配線の立ち上がりタイミングの遅延時間41aと、立ち下がりタイミングの遅延時間42aをゼロに設定しているため、配線による回路遅延の影響をなくすことができる。換言すれば、論理ゲートのみの回路遅延および被シミュレーション回路を伝播するスパイクの影響を第2シミュレーション結果120に反映させることができる。したがって、回路設計者は、論理ゲートのみの回路遅延とスパイクとが被シミュレーション回路に与える影響を確認することができるため、スパイクが論理ゲートおよび配線のいずれで影響しているかの切り分けが容易となる。
【0067】
なお、第2SDFファイルの記述内容以外の、論理シミュレーション装置10の構成および論理シミュレーションのフローは、上記の各実施形態と同様であるため、その記載を省略する。
【0068】
(第5実施形態)
本実施形態では、図18に示すようなSDFファイル45を、第2SDFファイルとして標準遅延フォーマット格納手段14に入力する例を示す。この第2SDFファイルは、第1〜第3実施形態における第2SDFファイルに対して、論理ゲートに入力される波形の立ち上がりタイミングの遅延時間41bと、立ち下がりタイミングの遅延時間42bとが、ともにゼロに設定されている。波形の立ち上がりタイミングの遅延時間41,41bと、立ち下がりタイミングの遅延時間42,42bとの差は、ゼロであるため、上記の各実施形態と同様にスパイクの消滅を回避できる。さらに、論理ゲートの立ち上がりタイミングの遅延時間41bと、立ち下がりタイミングの遅延時間42bをゼロに設定しているため、論理ゲートによる回路遅延の影響をなくすことができる。換言すれば、配線のみの回路遅延および被シミュレーション回路を伝播するスパイクの影響を第2シミュレーション結果120に反映させることができる。したがって、回路設計者は、配線のみの回路遅延とスパイクとが被シミュレーション回路に与える影響を確認することができるため、スパイクが論理ゲートおよび配線のいずれで影響しているかの切り分けが容易となる。
【0069】
なお、第2SDFファイルの記述内容以外の、論理シミュレーション装置10の構成および論理シミュレーションのフローは、上記の各実施形態と同様であるため、その記載を省略する。
【0070】
(その他の実施形態)
上記した各実施形態では、第2SDFファイル43,44,45に記述された遅延時間41,42について、論理ゲートの遅延時間あるいは配線の遅延時間の設定をゼロとする場合を除き、波形の立ち下がりタイミングの遅延時間42を、立ち上がりタイミングの遅延時間41の値と同一の値に変更した例を示した。
【0071】
これに対して、本実施形態では、波形の立ち下がりタイミングの遅延時間42と、立ち上がりタイミングの遅延時間41とを、任意の同一な値に変更した例を示す。例えば、図19に示すような第2SDFファイル46を用意する。この第2SDFファイル46は、第1〜第3実施形態における第2SDFファイル(図11)に対して、論理ゲートU1の遅延時間41c,42cを2倍の値としている。このようなSDFファイルを用いると、論理ゲートU1と、それ以外の論理ゲートおよび配線との遅延時間差を大きくすることができる。すわなち、該遅延時間差によって生じるスパイクを発生させやすくすることができる。これによって、より大きなスパイクマージンをもたせた論理回路設計を行うことができる。
【0072】
なお、本実施形態では、図19に示すようなSDFファイルを例に挙げて、論理ゲートU1のみの遅延時間41c,42cを2倍とした例を示したが、遅延時間41,42を変更する箇所は、論理ゲートはU1に限定されるものではない。遅延時間41,42を変更する箇所は、スパイクマージンの確認が必要な論理ゲートあるいは配線に対して、回路設計者が任意に決定することができる。また、設定する遅延時間に関しても、回路設計者が任意に設定することができる。
【符号の説明】
【0073】
10・・・論理シミュレーション装置
11・・・論理シミュレータ
12・・・論理接続情報格納手段
13・・・入力波形格納手段
14・・・標準遅延フォーマット格納手段
15・・・シミュレーション結果格納手段
16・・・表示手段
17・・・相違点検出手段
18・・・視覚化手段

【特許請求の範囲】
【請求項1】
論理回路の動作を検証する際に用いられる論理シミュレーション装置において、
被シミュレーション回路の回路接続情報を格納する論理接続情報格納手段と、
前記被シミュレーション回路に入力する入力波形情報を格納する入力波形格納手段と、
前記被シミュレーション回路を構成する論理ゲートおよび配線の理想的な標準遅延フォーマットである第1SDFファイルと、前記第1SDFファイルのうち、前記論理ゲートおよび前記配線に入力される波形の立ち上がりタイミングの遅延時間と、立ち下がりタイミングの遅延時間とを所定の値に変更した第2SDFファイルと、を格納する標準遅延フォーマット格納手段と、
少なくとも、前記回路接続情報と、前記入力波形情報と、前記標準遅延フォーマットとを入力情報として論理シミュレーションを行う論理シミュレータと、
前記論理シミュレータから出力されたシミュレーション結果を格納するシミュレーション結果格納手段と、
前記論理シミュレータによって得られたシミュレーション結果に基づくデータを出力する表示手段と、
前記論理接続情報格納手段、前記入力波形格納手段および前記標準遅延フォーマット格納手段に格納されたデータを前記論理シミュレータに入力させて、前記論理シミュレータにシミュレーションの実行を指示し、前記論理シミュレータに対して、前記シミュレーション結果のシミュレーション結果格納手段への格納を指示し、前記シミュレーション結果格納手段に対して、前記シミュレーション結果を前記シミュレーション結果格納手段から読み出して前記表示手段への出力を指示する制御手段と、を備え、
前記第2SDFファイルは、前記論理ゲートの立ち上がりタイミングの遅延時間と、前記立ち下がりタイミングの遅延時間とが、互いに同一の値に設定されており、
前記配線の立ち上がりタイミングの遅延時間と、前記立ち下がりタイミングの遅延時間とが、互いに同一の値に設定されていることを特徴とする論理シミュレーション装置。
【請求項2】
第1SDFファイルを用いて得られた第1シミュレーション結果および第2SDFファイルを用いて得られた第2シミュレーション結果の相違点を検出する相違点検出手段と、
前記相違点検出手段により検出された相違点を、視覚的に強調処理を施す視覚化手段と、を備え、
前記表示手段は、前記相違点が検出された場合に、前記強調処理を施された第1シミュレーション結果または前記強調処理を施された第2シミュレーション結果を出力し、前記相違点が検出されない場合に、前記第1シミュレーション結果および前記第2シミュレーション結果を出力することを特徴とする請求項1に記載の論理シミュレーション装置。
【請求項3】
入力情報として、少なくとも、被シミュレーション回路を規定した回路接続情報と、前記被シミュレーション回路への入力波形情報と、前記被シミュレーション回路を構成する論理ゲートおよび論理ゲート間の配線の遅延時間情報を記述した標準遅延フォーマットとを用いる論理シミュレーション方法であって、
前記標準遅延フォーマットとして、前記論理ゲートの理想的な遅延時間を記述した第1SDFファイルを論理シミュレータに入力して論理シミュレーションを行う第1論理シミュレーション工程と、
前記論理ゲートの立ち上がりタイミングの遅延時間と、前記立ち下がりタイミングの遅延時間とが、互いに同一の値に設定され、前記配線の立ち上がりタイミングの遅延時間と、前記立ち下がりタイミングの遅延時間とが、互いに同一の値に設定された第2SDFファイルを、前記論理シミュレータに入力して論理シミュレーションを行う第2論理シミュレーション工程と、
前記第1論理シミュレーション工程により得られた第1シミュレーション結果、および前記第2論理シミュレーション工程により得られた第2シミュレーション結果に基づくデータを外部出力装置に出力する表示工程と、を備えることを特徴とする論理シミュレーション方法。
【請求項4】
前記第1シミュレーション結果と前記第2シミュレーション結果との相違点を検出する相違点検出工程と、
前記相違点検出工程により検出された前記相違点を、視覚的に強調処理を施す視覚化工程と、を備え、
前記相違点が検出された場合に、前記表示工程において、前記強調処理を施された第1シミュレーション結果または前記強調処理を施された第2シミュレーション結果を出力し、前記相違点が検出されない場合に、前記表示工程において、前記第1シミュレーション結果および前記第2シミュレーション結果を出力することを特徴とする請求項3に記載の論理シミュレーション方法。
【請求項5】
前記第2SDFファイルにおいて、
前記論理ゲートの立ち上がりタイミングの遅延時間と、前記立ち下がりタイミングの遅延時間とが、互いにゼロとは異なる所定の値に設定され、
前記配線の立ち上がりタイミングの遅延時間と、前記立ち下がりタイミングの遅延時間とが、ともにゼロに設定されていることを特徴とする請求項3または請求項4に記載の論理シミュレーション方法。
【請求項6】
前記第2SDFファイルにおいて、
前記論理ゲートの立ち上がりタイミングの遅延時間と、前記立ち下がりタイミングの遅延時間とが、ともにゼロに設定され、
前記配線の立ち上がりタイミングの遅延時間と、前記立ち下がりタイミングの遅延時間とが、互いにゼロとは異なる所定の値に設定されていることを特徴とする請求項3または請求項4に記載の論理シミュレーション方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate