以下に、本願の開示するシミュレーション装置、シミュレーションプログラムおよびシミュレーション方法の各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1に係るシミュレーション装置について説明する。図1は、実施例1に係るシミュレーション装置の機能構成の一例を示す図である。本実施例に係るシミュレーション装置10は、回路情報が示す回路に含まれる伝送線路に係るパラメータを用いて、回路に含まれるドライバICから信号が出力された場合に、レシーバICで受信した信号が示す電圧の変化をシミュレーションする。本実施例に係るシミュレーション装置10は、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、電圧の立ち上がり部分、電圧の立ち下がり部分の両方または一方を比較する。本実施例に係るシミュレーション装置10は、比較の結果に基づいて、電圧の変化が類似する場合の信号が、シミュレーションで得られたときのシミュレーションに用いられたパラメータを出力する。このように、本実施例に係るシミュレーション装置10によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、全波形を比較する場合と比較して、比較する処理の処理量が少なくなる。また、本実施例に係るシミュレーション装置10によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、全波形を比較する場合と比較して、比較する処理時間が短くなる。したがって、本実施例に係るシミュレーション装置10によれば、簡易にシミュレーションを行うことができる。
[シミュレーション装置の機能構成]
図1に示すように、シミュレーション装置10は、入力部11と、表示部12と、記憶部13と、制御部14とを有する。
入力部11は、各種情報を制御部14に入力する。例えば、入力部11は、ユーザから、後述のシミュレーション処理を実行する指示を受け付けて、受け付けた指示を制御部14に入力する。入力部11のデバイスの一例としては、マウスやキーボードなどの操作受付デバイスなどが挙げられる。
表示部12は、各種の情報を表示する。例えば、表示部12は、後述の出力部14dによって、一致度が最も高くなる場合のパラメータ、または、一致度が所定値以上となる場合のパラメータを表示する。また、表示部12は、後述の生成部14aによって、初期設定のパラメータを用いたシミュレーション結果、実行ボタン、表示ボタンを表示する。表示部12のデバイスの一例としては、液晶ディスプレイなどが挙げられる。
記憶部13は、各種情報を記憶する。例えば、記憶部13は、回路情報13aと、信号情報13bと、第一のテーブル13cと、第二のテーブル13dと、第三のテーブル3eと、第四のテーブル13fと、第五のテーブル13gと、第六のテーブル13hと、第七のテーブル13iと、第八のテーブル13jとを記憶する。
回路情報13aは、シミュレーション対象となる回路を示す。また、回路情報13aには、後述の実行部14bにより新たなパラメータが設定される前は、初期設定のパラメータが設定される。さらに、回路情報13aには、実行部14bにより部品の追加や削除が行われる前は、初期設定の部品を示す情報が含まれる。初期設定の部品の一例としては、ドライバIC、レシーバIC、ダンピング抵抗、ドライバICとダンピング抵抗とを接続する配線、ダンピング抵抗とレシーバICとを接続する配線が挙げられる。
図2は、回路情報が示す回路の一例を示す図である。図2の例では、回路情報13aが示す回路15は、ドライバIC15aと、レシーバIC15bとが配線15c、15dで接続されている。また、図2の例では、配線15cと配線15dとの間に、ダンピング抵抗15eが設けられている。図2の例では、ダンピング抵抗15eは、ドライバIC15aから出力される信号のオーバーシュートを抑制するための抵抗である。また、回路情報13aは、シミュレーション用の各種パラメータを有する。例えば、回路情報13aには、回路にダンピング抵抗15eが含まれる場合、ダンピング抵抗15eの抵抗の値がパラメータとして設定される。例えば、回路情報13aには、初期設定のパラメータとして、ダンピング抵抗15eの抵抗の値「0[Ω]」が含まれる。また、回路情報13aには、回路に、終端抵抗が設けられる場合には、終端抵抗の値がパラメータとして設定される。なお、終端抵抗は、配線15dと並列に設けられる。終端抵抗は、信号の乱れを抑えるために設けられる。また、回路情報13aには、配線15cおよび配線15dの合計の線長がパラメータとして設定される。例えば、回路情報13aには、初期設定のパラメータとして、線長「110[mm]」が設定される。また、回路情報13aには、配線15cおよび配線15dの線幅がパラメータとして設定される。例えば、回路情報13aには、初期設定のパラメータとして、線幅「100[μm]」が設定される。上記の回路情報およびパラメータの値は、実際に検証したい回路の状況に合わせて、各々設定する必要がある。
図2の例では、ドライバIC15aから出力された信号は、配線15c、ダンピング抵抗15e、配線15dを経由して、レシーバIC15bで受信される。図3は、ドライバICから出力される信号の波形の一例を示す図である。図3の例は、横軸が時間(ns)を示す。また、図3の例は、縦軸が電圧(V)の大きさを示す。また、図3の例では、VIHは、信号の値が「1」であるか否かを判定する際に用いられる閾値である。また、図3の例では、VILは、信号の値が「0」であるか否かを判定する際に用いられる閾値である。また、図3の例では、OSHは、レシーバIC15bの耐電圧を示す。図3の例では、OSHを超える電圧の信号をレシーバIC15bが受信すると、レシーバIC15bは、故障する場合がある。また、図3の例では、OSLも、レシーバIC15bの耐電圧を示す。図3の例では、OSLを下回る電圧の信号をレシーバIC15bが受信すると、レシーバIC15bは、故障する場合がある。図3の例では、電圧の変化を示す信号は、オーバーシュートもアンダーシュートも発生していない。
ここで、図3の例に示す信号が、ドライバIC15aから出力される場合に、レシーバIC15bで受信する信号が示す電圧の変化をシミュレーションした場合を想定する。図4は、図3の例が示す信号がドライバICから出力された場合に、レシーバICで受信する信号の波形をシミュレーションしたときのシミュレーション結果の一例を示す図である。この場合、シミュレーションにより得られた電圧の変化を示す信号の波形は、図4の例に示すように、オーバーシュート16a、アンダーシュート16bが発生する場合がある。図4の例では、オーバーシュート16aが、レシーバIC15bの耐電圧OSHを超えているため、レシーバIC15bが故障する場合がある。また、図4の例では、アンダーシュート16bが、レシーバIC15bの耐電圧OSLを下回っているため、レシーバIC15bが故障する場合がある。
信号情報13bは、後述の生成部14aにより生成される電圧の変化を示す信号である。また、信号情報13bは、後述の比較部14cによる比較の対象となる信号である。信号情報13bについて、一例を挙げて説明する。信号情報13bは、レシーバ15bによる受信が適切となるように、例えば、OSHを超えず、かつ、OSLを下回らない大きさとなるように変更された信号である。信号情報13bは、生成部14aにより記憶部13に格納される。信号情報13bの一例としては、所定時間間隔で電圧の大きさがプロットされた情報が挙げられる。
第一のテーブル13cは、回路情報が示す回路に含まれるドライバICの特性がばらつきごとに登録されたテーブルである。ここで、ばらつきの一例を挙げると、標準(typ)、最小(min)、最大(max)などが挙げられる。図5は、第一のテーブルの一例を示す図である。図5の例では、ドライバICのピン毎の特性が第一のテーブル13cに登録された場合が示されている。図5の例に示す第一のテーブル13cには、信号の立ち上がり時間の幅TRが1[ns]であり、信号の立ち下がり時間の幅TFが1[ns]であり、電源電圧が3.3[V]であるドライバIC15aの特性が登録されている。ここで、電圧の変化を示す信号の一例について説明する。図6は、電圧の変化を示す信号の一例を説明するための図である。図6の例では、電源電圧[V]は、電圧の変化を示す信号の波形の振幅の大きさとなる。また、図6の例では、立ち上がり時間TRは、信号の立ち上がり開始から立ち上がり終了までの時間を示す。また、図6の例では、立ち下がり時間TFは、信号の立ち下がり開始から立ち下がり終了までの時間を示す。なお、図6の例では、周期Tは、信号の1周期が示す時間を示す。
第二のテーブル13dは、回路情報が示す回路に含まれるレシーバICの特性がばらつきごとに登録されたテーブルである。図7は、第二のテーブルの一例を示す図である。図7の例に示す第二のテーブル13dには、セットアップタイムの時間STが30[ns]であり、ホールドタイムの時間HTが30[ns]であるレシーバIC15bの特性が登録されている。図8Aおよび図8Bは、セットアップタイムおよびホールドタイムの一例を説明するための図である。図8Aの例では、電圧の変化を示す信号の立ち上がりが終了した部分が示されている。図8Aの例では、セットアップタイムSTは、レシーバIC15bが「1」を示す信号を受信するために、信号の状態を安定させなければならない最小時間を示す場合が示されている。また、図8Aの例では、ホールドタイムHTは、レシーバIC15bが「1」を示す信号を受信するために、信号の状態を変化させてはならない最小時間を示す場合が示されている。
また、図8Bの例では、電圧の変化を示す信号の立ち下がりが終了した部分が示されている。図8Bの例では、セットアップタイムSTは、レシーバIC15bが「0」を示す信号を受信するために、信号の状態を安定させなければならない最小時間を示す場合が示されている。また、図8Bの例では、ホールドタイムHTは、レシーバIC15bが「0」を示す信号を受信するために、信号の状態を変化させてはならない最小時間を示す場合が示されている。
第三のテーブル13eは、シミュレーションの各種条件が登録されたテーブルである。図9は、第三のテーブルの一例を示す図である。第三のテーブル13eには、シミュレーションでドライバIC15aから出力される信号の周波数F[MHz]が登録される。図9の例では、第三のテーブル13eには、シミュレーションでドライバIC15aから出力される信号の周波数が、50[MHz]である場合が示されている。
第四のテーブル13fは、実行部14bにより選択された各パラメータの組合せが登録されるテーブルである。図10は、第四のテーブルの一例を示す図である。図10の例では、第四のテーブル13fの1番目のレコードは、ダンピング抵抗の値のパラメータが、後述の第五のテーブル13gの1番目のレコードに登録された値であることが示されている。また、図10の例では、第四のテーブル13fの1番目のレコードは、終端抵抗の値のパラメータが、後述の第六のテーブル13hの1番目のレコードに登録された値であることが示されている。また、図10の例では、第四のテーブル13fの1番目のレコードは、線長および線幅のパラメータが、後述の第七のテーブル13iの1番目のレコードに登録された値であることが示されている。
第五のテーブル13gは、実行部14bにより選択された組合せが示す各パラメータのうち、ダンピング抵抗の値のパラメータが登録されるテーブルである。図11は、第五のテーブルの一例を示す図である。図11の例では、第五のテーブル13gの1番目のレコードに、ダンピング抵抗の値を30[Ω]とするパラメータが登録されている場合が示されている。
第六のテーブル13hは、実行部14bにより選択された組合せが示す各パラメータのうち、終端抵抗の値のパラメータが登録されるテーブルである。図12は、第六のテーブルの一例を示す図である。図12の例では、第六のテーブル13hの1番目のレコードに、終端抵抗の値を50[Ω]とするパラメータが登録されている場合が示されている。
第七のテーブル13iは、実行部14bにより選択された組合せが示す各パラメータのうち、線長および線幅の値のパラメータが登録されるテーブルである。図13は、第七のテーブルの一例を示す図である。図13の例では、第七のテーブル13iの1番目のレコードに、線長の値を20[mm]とし、線幅の値を100[μm]とするパラメータが登録されている場合が示されている。
第八のテーブル13jは、パラメータごとに、シミュレーションにより得られたレシーバIC15bで受信される信号と信号情報13bが示す信号との一致度が後述の比較部14cにより登録されるテーブルである。また、第八のテーブル13jは、ばらつきごとに、設けられる。図14は、第八のテーブルの一例を示す図である。図14の例では、第八のテーブル13jの1番目のレコードは、次のようなことを示す。すなわち、このレコードは、第四のテーブル13fの1番目のレコードが示すパラメータの組合せで実行されたシミュレーションの結果得られたレシーバIC15bで受信される信号と、信号情報13bが示す信号との一致度が37[%]である場合を示す。
記憶部13は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部13は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図1に示すように、制御部14は、生成部14aと、実行部14bと、比較部14cと、出力部14dとを有する。
生成部14aは、初期設定のパラメータが用いられて実行部14bでシミュレーションが実行された結果得られた電圧の変化を示す信号の複数の波形のうち、1つの波形が所定の形状となるように指示された場合に、次のような処理を行う。すなわち、生成部14aは、他の波形も所定の形状となるように電圧の変化を修正して、信号情報13bを生成する。
具体例を挙げて説明する。生成部14aは、まず、初期設定のパラメータを用いた実行部14bでのシミュレーション結果、すなわち、電圧の変化を示す信号を取得する。そして、生成部14aは、シミュレーション結果、実行ボタン、終了ボタンを含む画面を表示部12に表示させる。図15は、生成部により表示部に表示される画面の一例を示す図である。図15の例では、表示部12の表示画面に、初期設定のパラメータを用いた実行部14bでのシミュレーション結果30が示されている。また、図15の例では、表示部12の表示画面に、実行ボタン31が表示されている。また、図15の例では、表示部12の表示画面に、終了ボタン32が表示されている。図15の例では、実行ボタン31および終了ボタン32は、ユーザにより入力部11を介して押下されることが可能となっている。
終了ボタンは、表示画面に表示されたシミュレーション結果、すなわち信号の波形が適切な波形であるとユーザにより判断された場合などに、押下される。終了ボタンが押下されると、生成部14aは、表示部12に表示された画面を閉じる。
実行ボタンが押下されると、生成部14aは、表示されたシミュレーション結果、すなわち電圧の変化を示す信号を編集可能な状態にする。例えば、生成部14aは、信号の波形の任意の部分を、入力部11を介してユーザにより指定可能な状態にする。また、生成部14aは、指定された波形の部分を、入力部11を介してユーザにより移動可能な状態にする。すなわち、信号を編集可能な状態になると、信号の波形の任意の部分がユーザにより指定されて、指定された部分がユーザにより移動されることにより、信号の波形が編集される。例えば、生成部14aは、信号が示す複数の波形のうち、所定の波形の形状、例えば、1番目の波形の形状をユーザの指示によって編集させることができる。
続いて、生成部14aは、信号の複数の波形のうち、所定の波形の形状、例えば、1番目の波形の形状が編集されると、2番目以降の他の波形も同じ波形となるように、信号が示す電圧の変化を修正する。図16Aおよび図16Bは、シミュレーション装置で実行される処理の一例を説明するための図である。図16Aの例では、信号35の1番目の波形の部分35aが、入力部11を介してユーザにより指定された場合が示されている。また、図16Aの例では、指定された部分35aが、入力部11を介してユーザにより、位置37まで移動された場合の1番目の波形の形状38が示されている。このように、1番目の波形の形状がユーザの指示により編集されると、生成部14aは、図16Bの例に示すように、2番目以降の波形も1番目の波形と同一となるように、信号が示す電圧の変化を修正し、修正後の信号39が示す信号情報13bを記憶部13に格納する。このように、1つの波形が所定の形状となるように指示された場合に、生成部14aは、他の波形も所定の形状となるように電圧の変化を修正して、信号情報13bを生成する。そのため、生成部14aを有するシミュレーション装置10によれば、複数の波形のそれぞれの形状をユーザに編集させる場合と比較して、信号の編集時間が短くなる。したがって、シミュレーション装置10によれば、信号の編集を簡易に行うことができる。そして、生成部14aは、生成した信号情報13bを記憶部13に格納する。
なお、生成部14aは、入力部11を介して、ユーザから指定された波形の振幅の大きさ、立ち上がり時間、立ち下がり時間などを受け付けて、複数の波形の形状が、受け付けた内容が示す形状となるように、信号情報13aを生成することもできる。なお、信号情報13bが示す信号の波形を「理想波形」と称する場合がある。
実行部14bは、記憶部13を参照し、パラメータを用いて、伝送線路における電圧の変化のシミュレーションを実行する。
具体例を挙げて説明する。実行部14bは、まず、記憶部13を参照して、回路情報13aを読み込んで、回路情報13aを取得する。そして、実行部14bは、回路情報13aに設定された初期設定のパラメータを用いて、回路情報13aが示す回路のレシーバIC15bで受信される信号が示す電圧の変化のシミュレーションを実行する。このようにして、実行されたシミュレーションの実行結果は、上述した生成部14aで用いられる。
また、実行部14bは、生成部14aで理想波形の信号情報13bが生成された場合には、パラメータの条件を設定するための画面を表示部12に表示させる。図17は、パラメータの条件を設定するための画面の一例を示す図である。図17の例では、線幅を調整するか否かを指定するためのチェックボックス41aと、線幅を調整する場合に、線幅の範囲を指定するためのテキストボックス42a、42bとを含む画面40が表示部12に表示された場合が例示されている。図17の例では、チェックボックス41aは、線幅を調整する指定が行われたことを示す。また、図17の例では、線幅の範囲として、x[μm]〜y[μm]がテキストボックス42a、42bに入力されたことを示す。また、図17の例では、線長を調整するか否かを指定するためのチェックボックス41bと、線長を調整する場合に、線長の範囲を指定するためのテキストボックス42c、42dとを含む画面40が表示部12に表示された場合が例示されている。図17の例では、チェックボックス41bは、線長を調整する指定が行われたことを示す。また、図17の例では、線長の範囲として、m[mm]〜n[mm]がテキストボックス42c、42dに入力されたことを示す。また、図17の例では、ダンピング抵抗を調整するか否かを指定するためのチェックボックス41cと、ダンピング抵抗を調整する場合に、ダンピング抵抗の値の範囲を指定するためのテキストボックス42e、42fとを含む画面40が表示部12に表示された場合が例示されている。図17の例では、チェックボックス41cは、ダンピング抵抗を調整する指定が行われたことを示す。また、図17の例では、ダンピング抵抗の値の範囲として、Q[Ω]〜R[Ω]がテキストボックス42e、42fに入力されたことを示す。また、図17の例では、終端抵抗を調整するか否かを指定するためのチェックボックス41dと、終端抵抗を調整する場合に、終端抵抗の値の範囲を指定するためのテキストボックス42g、42hとを含む画面40が表示部12に表示された場合が例示されている。図17の例では、チェックボックス41dは、終端抵抗を調整する指定が行われたことを示す。また、図17の例では、終端抵抗の値の範囲として、S[Ω]〜T[Ω]がテキストボックス42g、42hに入力されたことを示す。また、図17の例では、回路情報13aが示す回路のモデルのばらつきを調整するか否かを指定するためのチェックボックス41eを含む画面40が表示部12に表示された場合が例示されている。図17の例では、チェックボックス41eは、ばらつきを調整する指定が行われたことを示す。すなわち、図17の例では、回路のモデルのばらつきを考慮したシミュレーションが行われることを示す。
実行部14bは、パラメータの条件を設定するための画面を表示した後に、入力部11を介して、ユーザから、パラメータの条件が設定された場合に、次のような処理を行う。すなわち、実行部14bは、調整を行うとして指定されたパラメータごとに、指定された範囲を所定の単位で分割して、複数のパラメータを生成し、生成した複数のパラメータを各テーブルに登録する。例えば、実行部14bは、チェックボックス41aに、線幅を調整する指定が行われ、20[μm]〜40[μm]がテキストボックス42a、42bに入力された場合には、20[μm]〜40[μm]を所定の単位、例えば、5[μm]で分割する。この場合、実行部14bは、20、25、30、35、40の5つの線幅のパラメータを生成する。また、実行部14bは、チェックボックス41bに、線長を調整する指定が行われ、100[mm]〜160[mm]がテキストボックス42c、42dに入力された場合には、100[mm]〜160[mm]を所定の単位、例えば、20[mm]で分割する。この場合、実行部14bは、100、120、140、160の4つの線長のパラメータを生成する。そして、実行部14bは、5つの線幅のパラメータと、4つの線長のパラメータとの全ての組合せを、図13に示すように、第七のテーブル13iに登録する。
また、実行部14bは、チェックボックス41cに、ダンピング抵抗を調整する指定が行われ、30[Ω]〜40[Ω]がテキストボックス42e、42fに入力された場合には、30[Ω]〜40[Ω]を所定の単位、例えば、10[Ω]で分割する。この場合、実行部14bは、30、40の2つのダンピング抵抗の値のパラメータを生成する。そして、実行部14bは、2つのダンピング抵抗の値のパラメータを、図11に示すように、第五のテーブル13gに登録する。
また、実行部14bは、チェックボックス41dに、終端抵抗を調整する指定が行われ、50[Ω]〜60[Ω]がテキストボックス42g、42hに入力された場合には、50[Ω]〜60[Ω]を所定の単位、例えば、10[Ω]で分割する。この場合、実行部14bは、50、60の2つの終端抵抗の値のパラメータを生成する。そして、実行部14bは、2つの終端抵抗の値のパラメータを、図12に示すように、第六のテーブル13hに登録する。
そして、実行部14bは、生成したパラメータの全ての組合せを第四のテーブル13fに登録する。なお、実行部14bは、生成したパラメータの全ての組合せについて、第五のテーブル13g、第六のテーブル13h、第7のテーブル13iに登録されたパラメータのレコード番号を、第四のテーブル13fに登録する。これにより、第四のテーブル13fには、レコード番号が登録されるため、パラメータの値を登録する場合と比較して、第四のテーブル13fのデータサイズが抑制される。
続いて、実行部14bは、生成したパラメータの全ての組合せについて、下記の処理を行う。すなわち、実行部14bは、未選択のパラメータの組合せが登録されたレコードを第四のテーブルから1つ選択する。そして、実行部14bは、選択したレコードに登録された組合せが示すパラメータを回路情報13bに反映させる。例えば、選択したレコードに登録された組合せが示すパラメータが、ダンピング抵抗の値「30[Ω]」、終端抵抗の値「50[Ω]」、線長「30[mm]」、線幅「100[mm]」である場合には、実行部14bは、次のような処理を行う。すなわち、実行部14bは、回路情報13aに、ダンピング抵抗の値のパラメータとして「30[Ω]」を設定する。また、実行部14bは、回路情報13aに終端抵抗の情報を追加することで、回路情報13aが示す回路に終端抵抗を設けて、回路情報13aに、終端抵抗の値のパラメータとして「50[Ω]」を設定する。また、実行部14bは、回路情報13aに、線長のパラメータとして「30[mm]」を設定する。また、実行部14bは、回路情報13aに、線幅のパラメータとして「100[mm]」を設定する。このようにして、実行部14bは、回路情報13aにパラメータを反映させる。その後、実行部14bは、パラメータが反映された回路情報13aを用いて、ドライバIC15aから出力された所定の信号を、レシーバIC15bで受信した場合の受信信号が示す電圧の変化のシミュレーションを実行する。このような処理を、実行部14bは、生成した全ての組合せについて行う。
図18は、実行部により実行されたシミュレーションの結果の一例を示す図である。図18の例が示す信号50の例では、1番目の波形51_1の信号の立ち上がり部分52a、立ち下がり部分52bで受けるノイズなどの影響の大きさは、2番目以降の波形51_2、51_3、51_4などの信号の立ち上がり部分、立ち下がり部分より大きい。これは、信号が回路の伝送線路上を流れるにつれて、時系列とともに、立ち上がり部分、立ち下がり部分の波形に影響を及ぼすノイズの大きさが抑制されるからである。また、立ち上がり部分と立ち下がり部分との間の安定している部分では、信号の大きさがほぼ一定である。そこで、比較部14cでは、シミュレーションで得られた信号の波形と、理想波形とを比較して一致度を算出する際には、波形全体を比較するのではなく、1番目の波形の立ち上がり部分、立ち下がり部分の両方または一方を比較して一致度を算出する。これにより、波形全体を比較するよりも短い時間で一致度を算出することができる。
比較部14cは、信号情報13bが示す信号と、シミュレーションで得られた複数の信号のそれぞれとの間で、電圧が所定の閾値以上になってから所定の時間長までにおける電圧の変化、電圧が所定の閾値未満になってから所定の時間長までにおける電圧の変化の両方または一方を比較する。
具体例を挙げて説明する。実行部14bでシミュレーションが実行されると、比較部14cは、まず、上述したチェックボックス41eに、ばらつきを調整する指定が行われたか否かを判定する。ばらつきを調整する指定が行われていない場合には、比較部14cは、下記の処理を行う。すなわち、比較部14cは、第一のテーブル13cを参照して、ばらつきが標準のドライバIC15aの特性を読み込んで取得する。例えば、比較部14cは、信号の立ち上がり時間の幅TR[ns]、信号の立ち下がり時間の幅TF[ns]、電源電圧[V]などを読み込んで取得する。
そして、比較部14cは、第二のテーブル13dを参照して、ばらつきが標準のレシーバIC15bの特性を読み込んで取得する。例えば、比較部14cは、セットアップタイムの時間ST[ns]、ホールドタイムの時間HT[ns]などを読み込んで取得する。
続いて、比較部14cは、記憶部13から、理想波形を示す信号情報13bを読み込んで取得する。その後、比較部14cは、信号情報13bが示す理想波形から、1番目の波形の立ち上がりが開始した時刻である起点時刻XAを取得する。図18の例では、比較部14cは、1番目の波形が立ち上がった時刻T1を起点時刻XAとして取得する。
その後、比較部14cは、第三のテーブル13eを参照して、各種条件を読み込んで取得する。例えば、比較部14cは、シミュレーションでドライバIC15aから出力される信号の周波数F[MHz]などを読み込んで取得する。
そして、比較部14cは、周波数Fから、シミュレーションでドライバIC15aから出力される信号の周期Tを算出する。例えば、比較部14cは、周波数Fの逆数(1/F)を周期Tとして算出する。
次に、比較部14cは、信号情報13bが示す理想波形の1番目の波形の立ち下がりが開始した時刻である起点時刻XBを算出する。例えば、比較部14cは、下記の式(1)によって、起点時刻XBを算出することができる。
XB=XA+(T/2)−(TF/2)・・・式(1)
なお、式(1)における「TF」は、信号の立ち下がり時間の幅を指す。
そして、比較部14cは、着目範囲Aの幅WAを算出する。例えば、比較部14cは、下記の式(2)によって、着目範囲Aの幅WAを算出することができる。
WA=TR+ST+HT・・・式(2)
次に、比較部14cは、着目範囲Bの幅WBを算出する。例えば、比較部14cは、下記の式(3)によって、着目範囲Bの幅WBを算出することができる。
WB=TF+ST+HT・・・式(3)
そして、比較部14cは、着目範囲Aの領域を決定する。例えば、比較部14cは、点(XA,0)、点(XA、V)、点(XA+WA,V)、点(XA+WA,0)の4つの点を結んだ線分で囲まれる四角形の領域を着目範囲Aの領域として決定することができる。図19Aおよび図19Bは、シミュレーション装置で実行される処理の一例を説明するための図である。図19Aおよび図19Bの例に示すように、比較部14cは、点(XA,0)、点(XA、V)、点(XA+WA,V)、点(XA+WA,0)の4つの点を結んだ線分で囲まれる四角形の領域を着目範囲Aの領域70として決定することができる。
次に、比較部14cは、着目範囲Bの領域を決定する。例えば、比較部14cは、点(XB,V)、点(XB+WB、V)、点(XB+WB,0)、点(XB,0)の4つの点を結んだ線分で囲まれる四角形の領域を着目範囲Bの領域として決定することができる。
そして、比較部14cは、着目範囲Aの領域内の理想波形の信号の形状を取得する。また、比較部14cは、着目範囲Bの領域内の理想波形の信号の形状を取得する。図19Aおよび図19Bの例では、比較部14cは、着目範囲Aの領域70内の理想波形の信号の形状71を取得する。ここで、比較部14cは、取得した着目範囲Aの領域内の理想波形の信号の形状、および、取得した着目範囲Bの領域内の理想波形の信号の形状は、一致度を算出する際に再利用することができる。すなわち、比較部14cは、これらの形状を取得した後は、これらの形状を取得するための処理を省略することができる。
その後、比較部14cは、着目範囲Aの領域内のシミュレーションにより得られた信号の形状を取得する。また、比較部14cは、着目範囲Bの領域内のシミュレーションにより得られた信号の形状を取得する。図19Aおよび図19Bの例では、比較部14cは、着目範囲Aの領域70内のシミュレーションにより得られた信号の形状72を取得する。
その後、比較部14cは、着目範囲Aの領域内の理想波形の信号の形状と、着目範囲Aの領域内のシミュレーションにより得られた信号の形状とを比較し、一致度を算出する。一致度の算出方法の一例について説明する。例えば、比較部14cは、図19Aおよび図19Bの例に示すように、信号の形状71と信号の形状72との間の領域70内での面積73を算出する。また、比較部14cは、領域70と信号の形状71とで囲まれた面積のうち、小さい方の面積74を算出する。そして、比較部14cは、面積73に対する面積74の割合[%]を一致度として算出する。また、比較部14cは、着目範囲Bの領域内の理想波形の信号の形状と、着目範囲Bの領域内のシミュレーションにより得られた信号の形状とを比較し、一致度を算出する。そして、比較部14cは、算出した2つの一致度の平均値を、理想波形の信号と、シミュレーションにより得られた信号との一致度として算出する。
ここで、比較部14cは、着目範囲Bの領域内の理想波形の信号の形状と、着目範囲Bの領域内のシミュレーションにより得られた信号の形状との比較を行わずに、次のような処理を行うこともできる。すなわち、比較部14cは、着目範囲Aの領域内の理想波形の信号の形状と、着目範囲Aの領域内のシミュレーションにより得られた信号の形状とを比較し、一致度を算出する。そして、比較部14cは、算出した一致度を、理想波形の信号と、シミュレーションにより得られた信号との一致度として算出する。
また、比較部14cは、着目範囲Aの領域内の理想波形の信号の形状と、着目範囲Aの領域内のシミュレーションにより得られた信号の形状との比較を行わずに、次のような処理を行うこともできる。すなわち、比較部14cは、着目範囲Bの領域内の理想波形の信号の形状と、着目範囲Bの領域内のシミュレーションにより得られた信号の形状とを比較し、一致度を算出する。そして、比較部14cは、算出した一致度を、理想波形の信号と、シミュレーションにより得られた信号との一致度として算出する。
このように、比較部14cでは、シミュレーションで得られた信号の波形と、理想波形とを比較して一致度を算出する際には、波形全体を比較するのではなく、1番目の波形の立ち上がり部分、立ち下がり部分の両方または一方を比較して一致度を算出する。このように、比較部14cを有するシミュレーション装置10によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、全波形を比較して一致度を算出する場合と比較して、比較する処理の処理量が少なくなる。また、シミュレーション装置10によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、全波形を比較して一致度を算出する場合と比較して、比較する処理時間が短くなる。したがって、本実施例に係るシミュレーション装置10によれば、簡易にシミュレーションを行うことができる。
そして、比較部14cは、理想波形の信号とシミュレーションにより得られた信号との一致度と、実行部14bで今回選択されたパラメータの組合せが登録された第四のテーブル13fのレコードのレコード番号とを対応付けて、第八のテーブル13jに登録する。このようにして、比較部14cは、ばらつきを調整する指定が行われていない場合には、上述した処理を行う。
一方、ばらつきを調整する指定が行われた場合には、比較部14cは、下記の処理を行う。すなわち、比較部14cは、第一のテーブル13cを参照して、ばらつきごとに、ドライバIC15aの特性を読み込んで取得する。例えば、比較部14cは、ばらつきごとに、信号の立ち上がり時間の幅TR[ns]、信号の立ち下がり時間の幅TF[ns]、電源電圧[V]などを読み込んで取得する。
そして、比較部14cは、第二のテーブル13dを参照して、ばらつきごとに、レシーバIC15bの特性を読み込んで取得する。例えば、比較部14cは、ばらつきごとに、セットアップタイムの時間ST[ns]、ホールドタイムの時間HT[ns]などを読み込んで取得する。
続いて、比較部14cは、記憶部13から、理想波形を示す信号情報13bを読み込んで取得する。その後、比較部14cは、信号情報13bが示す理想波形から、1番目の波形の立ち上がりが開始した時刻である起点時刻XAを取得する。
その後、比較部14cは、第三のテーブル13eを参照して、各種条件を読み込んで取得する。例えば、比較部14cは、シミュレーションでドライバIC15aから出力される信号の周波数F[MHz]などを読み込んで取得する。
そして、比較部14cは、周波数Fから、シミュレーションでドライバIC15aから出力される信号の周期Tを算出する。例えば、比較部14cは、周波数Fの逆数(1/F)を周期Tとして算出する。
次に、比較部14cは、信号情報13bが示す理想波形の1番目の波形の立ち下がりが開始した時刻である起点時刻XBをばらつきごとに算出する。例えば、比較部14cは、上記の式(1)によって、起点時刻XBを算出することができる。
そして、比較部14cは、ばらつきごとに、着目範囲Aの幅WAを算出する。例えば、比較部14cは、上記の式(2)によって、ばらつきごとに、着目範囲Aの幅WAを算出することができる。
次に、比較部14cは、ばらつきごとに、着目範囲Bの幅WBを算出する。例えば、比較部14cは、上記の式(3)によって、ばらつきごとに、着目範囲Bの幅WBを算出することができる。
そして、比較部14cは、ばらつきごとに、着目範囲Aの領域を決定する。例えば、比較部14cは、点(XA,0)、点(XA、V)、点(XA+WA,V)、点(XA+WA,0)の4つの点を結んだ線分で囲まれる四角形の領域を着目範囲Aの領域として、ばらつきごとに決定することができる。
次に、比較部14cは、ばらつきごとに、着目範囲Bの領域を決定する。例えば、比較部14cは、点(XB,V)、点(XB+WB、V)、点(XB+WB,0)、点(XB,0)の4つの点を結んだ線分で囲まれる四角形の領域を着目範囲Bの領域として、ばらつきごとに決定することができる。
そして、比較部14cは、着目範囲Aの領域内の理想波形の信号の形状を、ばらつきごとに取得する。また、比較部14cは、着目範囲Bの領域内の理想波形の信号の形状をばらつきごとに取得する。ここで、比較部14cは、ばらつきごとに取得した着目範囲Aの領域内の理想波形の信号の形状、および、ばらつきごとに取得した着目範囲Bの領域内の理想波形の信号の形状は、一致度を算出する際に再利用することができる。すなわち、比較部14cは、これらの形状を取得した後は、これらの形状を取得するための処理を省略することができる。
その後、比較部14cは、着目範囲Aの領域内のシミュレーションにより得られた信号の形状を、ばらつきごとに取得する。また、比較部14cは、着目範囲Bの領域内のシミュレーションにより得られた信号の形状を、ばらつきごとに取得する。
その後、比較部14cは、着目範囲Aの領域内の理想波形の信号の形状と、着目範囲Aの領域内のシミュレーションにより得られた信号の形状とをばらつきごとに比較し、一致度を算出する。また、比較部14cは、着目範囲Bの領域内の理想波形の信号の形状と、着目範囲Bの領域内のシミュレーションにより得られた信号の形状とをばらつきごとに比較し、一致度を算出する。そして、比較部14cは、算出した2つの一致度の平均値を、理想波形の信号と、シミュレーションにより得られた信号との一致度としてばらつきごとに算出する。
ここで、比較部14cは、着目範囲Bの領域内の理想波形の信号の形状と、着目範囲Bの領域内のシミュレーションにより得られた信号の形状とのばらつきごとの比較を行わずに、次のような処理を行うこともできる。すなわち、比較部14cは、着目範囲Aの領域内の理想波形の信号の形状と、着目範囲Aの領域内のシミュレーションにより得られた信号の形状とをばらつきごとに比較し、一致度をばらつきごとに算出する。そして、比較部14cは、算出した一致度を、理想波形の信号と、シミュレーションにより得られた信号との一致度としてばらつきごとに算出する。
また、比較部14cは、着目範囲Aの領域内の理想波形の信号の形状と、着目範囲Aの領域内のシミュレーションにより得られた信号の形状とのばらつきごとの比較を行わずに、次のような処理を行うこともできる。すなわち、比較部14cは、着目範囲Bの領域内の理想波形の信号の形状と、着目範囲Bの領域内のシミュレーションにより得られた信号の形状とをばらつきごとに比較し、一致度をばらつきごとに算出する。そして、比較部14cは、算出した一致度を、理想波形の信号と、シミュレーションにより得られた信号との一致度としてばらつきごとに算出する。
このように、比較部14cでは、シミュレーションで得られた信号の波形と、理想波形とを比較して一致度を算出する際には、波形全体を比較するのではなく、1番目の波形の立ち上がり部分、立ち下がり部分の両方または一方を比較して一致度を算出する。このように、比較部14cを有するシミュレーション装置10によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、全波形を比較して一致度を算出する場合と比較して、比較する処理の処理量が少なくなる。また、シミュレーション装置10によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、全波形を比較して一致度を算出する場合と比較して、比較する処理時間が短くなる。したがって、本実施例に係るシミュレーション装置10によれば、簡易にシミュレーションを行うことができる。
そして、比較部14cは、理想波形の信号とシミュレーションにより得られた信号との一致度と、実行部14bで今回選択されたパラメータの組合せが登録された第四のテーブル13fのレコードのレコード番号とを対応付けて、第八のテーブル13jにばらつきごとに登録する。このようにして、比較部14cは、ばらつきを調整する指定が行われた場合には、上述した処理を行う。
出力部14dは、比較部14cによる比較の結果に基づいて、電圧の変化が類似する場合におけるシミュレーションに用いられたパラメータを出力する。
具体例を挙げて説明する。出力部14dは、まず、第八のテーブル13jに登録された全レコードの内容を読み込んで取得する。そして、出力部14dは、一致度の高い順にレコードをソートする。続いて、出力部14dは、一致度が最も高い場合のパラメータ、一致度が所定値以上の場合のパラメータ、一致度が上位数個のパラメータなどを出力させるパラメータとして決定する。そして、出力部14dは、決定したパラメータを、一致度とともに表示部12に表示させる。
制御部14は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
[処理の流れ]
次に、本実施例に係るシミュレーション装置10の処理の流れを説明する。図20、図21は、実施例1に係るシミュレーション処理の手順を示すフローチャートである。シミュレーション処理が実行されるタイミングの一例としては、入力部11を介して、ユーザからシミュレーション処理を実行する指示を制御部14が受け付けた場合などが挙げられる。
図20に示すように、実行部14bは、記憶部13を参照して、回路情報13aを読み込んで、回路情報13aを取得する(ステップS101)。そして、実行部14bは、回路情報13aに設定された初期設定のパラメータを用いて、回路情報13aが示す回路のレシーバIC15bで受信される信号が示す電圧の変化のシミュレーションを実行する(ステップS102)。
そして、生成部14aは、シミュレーション結果、実行ボタン、終了ボタンを含む画面を表示部12に表示させる(ステップS103)。生成部14aは、終了ボタンが押下されたか否かを判定する(ステップS104)。終了ボタンが押下された場合(ステップS104肯定)には、処理を終了する。一方、終了ボタンが押下されていない場合(ステップS104否定)には、生成部14aは、実行ボタンが押下されたか否かを判定する(ステップS105)。実行ボタンが押下されていない場合(ステップS105否定)には、ステップS104へ戻る。
一方、実行ボタンが、押下された場合(ステップS105肯定)には、生成部14aは、表示されたシミュレーション結果、すなわち電圧の変化を示す信号を編集可能な状態にする(ステップS106)。そして、生成部14aは、信号の複数の波形のうち、所定の波形の形状、例えば、1番目の波形の形状が編集されたか否かを判定する(ステップS107)。編集されていない場合(ステップS107否定)には、生成部14aは、再び、信号の複数の波形のうち、所定の波形の形状が編集されたか否かを判定する。一方、編集された場合(ステップS107肯定)には、生成部14aは、他の波形も同じ波形となるように、信号が示す電圧の変化を修正することで、理想波形の信号情報13bを生成する(ステップS108)。生成部14aは、生成した信号情報13bを記憶部13に格納する(ステップS109)。
そして、実行部14bは、パラメータの条件を設定するための画面を表示部12に表示させる(ステップS110)。続いて、実行部14bは、図21に示すように、ユーザによってパラメータの条件が設定されたか否かを判定する(ステップS111)。パラメータの条件が設定されていない場合(ステップS111否定)には、再び、ユーザによってパラメータの条件が設定されたか否かを判定する。
一方、実行部14bは、パラメータの条件が設定された場合(ステップS111肯定)には、実行部14bは、指定されたパラメータごとに、指定された範囲を所定の単位で分割して、複数のパラメータを生成し、生成した複数のパラメータを各テーブルに登録する(ステップS112)。実行部14bは、下記のステップS114で全てのパラメータの組合せが選択されたか否かを判定する(ステップS113)。全てのパラメータの組合せが選択されていない場合(ステップS113否定)には、実行部14bは、全てのパラメータの組合せのうち、未選択のパラメータの組合せを1つ選択する(ステップS114)。そして、実行部14bは、選択した組合せが示すパラメータを回路情報13aに反映させる(ステップS115)。続いて、実行部14bは、パラメータが反映された回路情報13aを用いて、ドライバIC15aから出力された所定の信号を、レシーバIC15bで受信した場合の受信信号が示す電圧の変化のシミュレーションを実行する(ステップS116)。続いて、比較部14cは、後述する一致度算出処理を実行し(ステップS117)、ステップS113へ戻る。
一方、全てのパラメータの組合せが選択された場合(ステップS113肯定)には、出力部14dは、第八のテーブル13jに登録された全レコードの内容を読み込んで取得し、一致度の高い順にレコードをソートする(ステップS118)。続いて、出力部14dは、一致度が最も高い場合のパラメータ、一致度が所定値以上の場合のパラメータ、一致度が上位数個のパラメータなどを出力させるパラメータとして決定する(ステップS119)。そして、出力部14dは、決定したパラメータを、一致度とともに表示部12に表示させて(ステップS120)、処理を終了する。
次に一致度算出処理について説明する。図22、図23は、実施例1に係る一致度算出処理の手順を示すフローチャートである。
図20に示すように、比較部14cは、後述のステップS226またはステップS230で、着目範囲Aの領域内の理想波形の信号の形状、および、着目範囲Bの領域内の理想波形の信号の形状を取得したか否かを判定する(ステップS201)。
取得していない場合(ステップS201否定)には、比較部14cは、ユーザによりばらつきを調整する指定が行われたか否かを判定する(ステップS202)。ばらつきを調整する指定が行われていない場合(ステップS202否定)には、比較部14cは、第一のテーブル13cを参照して、ばらつきが標準のドライバIC15aの特性を読み込んで取得する(ステップS203)。そして、比較部14cは、第二のテーブル13dを参照して、ばらつきが標準のレシーバIC15bの特性を読み込んで取得する(ステップS204)。続いて、比較部14cは、記憶部13から、理想波形を示す信号情報13bを読み込んで取得する(ステップS205)。
その後、比較部14cは、信号情報13bが示す理想波形から、1番目の波形の立ち上がりが開始した時刻である起点時刻XAを取得する(ステップS206)。その後、比較部14cは、第三のテーブル13eを参照して、各種条件、例えば、周波数Fを読み込んで取得する(ステップS207)。そして、比較部14cは、周波数Fから、シミュレーションでドライバIC15aから出力される信号の周期Tを算出する(ステップS208)。
次に、比較部14cは、信号情報13bが示す理想波形の1番目の波形の立ち下がりが開始した時刻である起点時刻XBを算出する(ステップS209)。そして、比較部14cは、着目範囲Aの幅WAを算出する(ステップS210)。次に、比較部14cは、着目範囲Bの幅WBを算出する(ステップS211)。
そして、比較部14cは、着目範囲Aの領域を決定する(ステップS212)。次に、比較部14cは、着目範囲Bの領域を決定する(ステップS213)。そして、比較部14cは、図23に示すように、着目範囲Aの領域内の理想波形の信号の形状を取得し、着目範囲Bの領域内の理想波形の信号の形状を取得する(ステップS226)。
その後、比較部14cは、着目範囲Aの領域内のシミュレーションにより得られた信号の形状を取得し、着目範囲Bの領域内のシミュレーションにより得られた信号の形状を取得する(ステップS227)。
その後、比較部14cは、着目範囲A,Bの領域内の理想波形の信号の形状と、着目範囲A,Bの領域内のシミュレーションにより得られた信号の形状とを比較し、一致度を算出する(ステップS228)。
比較部14cは、理想波形の信号とシミュレーションにより得られた信号との一致度と、今回選択されたパラメータの組合せが登録された第四のテーブル13fのレコードのレコード番号とを対応付けて第八のテーブル13jに登録する(ステップS229)。そして、比較部14cは、処理結果を制御部14の内部メモリに格納し、リターンする。
一方、ばらつきを調整する指定が行われた場合(ステップS202肯定)には、比較部14cは、第一のテーブル13cを参照して、ばらつきごとに、ドライバIC15aの特性を読み込んで取得する(ステップS214)。そして、比較部14cは、第二のテーブル13dを参照して、ばらつきごとに、レシーバIC15bの特性を読み込んで取得する(ステップS215)。
続いて、比較部14cは、記憶部13から、理想波形を示す信号情報13bを読み込んで取得する(ステップS216)。その後、比較部14cは、信号情報13bが示す理想波形から、1番目の波形の立ち上がりが開始した時刻である起点時刻XAを取得する(ステップS217)。
その後、比較部14cは、第三のテーブル13eを参照して、各種条件、例えば、シミュレーションでドライバIC15aから出力される信号の周波数F[MHz]などを読み込んで取得する(ステップS218)。そして、比較部14cは、周波数Fから、シミュレーションでドライバIC15aから出力される信号の周期Tを算出する(ステップS219)。
次に、比較部14cは、信号情報13bが示す理想波形の1番目の波形の立ち下がりが開始した時刻である起点時刻XBをばらつきごとに算出する(ステップS220)。そして、比較部14cは、ばらつきごとに、着目範囲Aの幅WAを算出する(ステップS221)。次に、比較部14cは、ばらつきごとに、着目範囲Bの幅WBを算出する(ステップS222)。
そして、比較部14cは、ばらつきごとに、着目範囲Aの領域を決定する(ステップS223)。次に、比較部14cは、ばらつきごとに、着目範囲Bの領域を決定する(ステップS224)。
そして、比較部14cは、着目範囲Aの領域内の理想波形の信号の形状を、ばらつきごとに取得し、着目範囲Bの領域内の理想波形の信号の形状をばらつきごとに取得する(ステップS230)。その後、比較部14cは、着目範囲Aの領域内のシミュレーションにより得られた信号の形状を、ばらつきごとに取得し、着目範囲Bの領域内のシミュレーションにより得られた信号の形状を、ばらつきごとに取得する(ステップS231)。
その後、比較部14cは、着目範囲A,Bの領域内の理想波形の信号の形状と、着目範囲A,Bの領域内のシミュレーションにより得られた信号の形状とをばらつきごとに比較し、一致度をばらつきごとに算出する(ステップS232)。比較部14cは、一致度と、今回選択されたパラメータの組合せが登録された第四のテーブル13fのレコードのレコード番号とを対応付けて第八のテーブル13jに登録する(ステップS233)。そして、比較部14cは、処理結果を制御部14の内部メモリに格納し、リターンする。
一方、取得した場合(ステップS201肯定)には、比較部14cは、ユーザによりばらつきを調整する指定が行われたか否かを判定する(ステップS225)。ばらつきを調整する指定が行われた場合(ステップS225肯定)には、ステップS231へ進む。一方、ばらつきを調整する指定が行われていない場合(ステップS225否定)には、ステップS227へ進む。
[実施例1の効果]
上述してきたように、本実施例に係るシミュレーション装置10は、電圧の変化を示す信号の信号情報13b、および、回路情報13aが示す回路の伝送線路に係るパラメータを記憶する記憶部13を有する。本実施例に係るシミュレーション装置10は、パラメータを用いて、伝送線路における電圧の変化のシミュレーションを実行する。本実施例に係るシミュレーション装置10は、信号情報13bが示す電圧の変化と、シミュレーションにより得られた信号が示す電圧の変化との間で、次のような処理を行う。すなわち、本実施例では、電圧が所定の閾値「0」以上になってから、所定の時間長WAまでにおける電圧の変化、電圧の所定の閾値「V」未満になってから、所定の時間長WBまでにおける電圧の変化の少なくとも一方を比較する。また、本実施例に係るシミュレーション装置10は、比較の結果に基づいて、電圧の変化が類似する場合におけるシミュレーションに用いられたパラメータを出力する。すなわち、本実施例では、シミュレーションで得られた信号の波形と、理想波形とを比較して一致度を算出する際に、波形全体を比較するのではなく、1番目の波形の立ち上がり部分、立ち下がり部分の少なくとも一方を比較して一致度を算出する。このように、本実施例によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、全波形を比較して一致度を算出する場合と比較して、比較する処理の処理量が少なくなる。また、本実施例によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、全波形を比較して一致度を算出する場合と比較して、比較する処理時間が短くなる。したがって、本実施例に係るシミュレーション装置10によれば、簡易にシミュレーションを行うことができる。
また、本実施例に係るシミュレーション装置10は、シミュレーションで得られた信号の波形と、理想波形とを比較して一致度を算出する際に、1つの波形全体を比較して一致度を算出するのではなく、1つの波形の立ち上がり部分、立ち下がり部分を比較して一致度を算出する。このように、本実施例によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、1つの波形全体を比較して一致度を算出する場合と比較して、比較する処理の処理量が少なくなる。また、本実施例によれば、シミュレーションの結果得られた信号と、比較対象の理想波形の信号との間で、1つの波形全体を比較して一致度を算出する場合と比較して、比較する処理時間が短くなる。したがって、本実施例に係るシミュレーション装置10によれば、簡易にシミュレーションを行うことができる。
また、本実施例に係るシミュレーション装置10は、1つの波形が所定の形状となるようにユーザから指示された場合に、他の波形も所定の形状となるように電圧の変化を修正して、信号情報13bを生成する。そのため、本実施例に係るシミュレーション装置10によれば、複数の波形のそれぞれの形状をユーザに編集させる場合と比較して、信号の編集時間が短くなる。したがって、シミュレーション装置10によれば、信号の編集を簡易に行うことができる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、実施例1では、複数の波形を有する信号をシミュレーションにより得る場合について説明したが、開示の装置は、これに限定されない。実行部14bは、最初に電圧が立ち上がってから立ち下がるまで、または、最初に電圧が立ち下がってから立ち上がるまでの間の時間だけシミュレーションを行って、1つの波形を有する信号をシミュレーションによって得るようにしてもよい。これにより、複数の波形を有する信号をシミュレーションによって得る場合と比較して、シミュレーションの処理量が少なくなる。また、複数の波形を有する信号をシミュレーションによって得る場合と比較して、シミュレーションの処理時間が短くなる。したがって、より簡易にシミュレーションを行うことができる。
また、開示の装置は、一致度を算出するごとに、算出した一致度が所定の閾値以上である場合には、パラメータを出力することもできる。
また、上記のWA、WBの値は、任意にユーザが設定することもできる。
また、実施例1において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、図22に示すステップS203、ステップS204、ステップS214、ステップS215において、それぞれ、ユーザが入力部11を介して制御部14に入力することもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。例えば、ステップS203、ステップS204をまとめて1つの処理にしてもよい。また、ステップS214、ステップS215をまとめて1つの処理にしてもよい。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。例えば、ステップS203の処理を行う前に、ステップS204の処理を行うこともできる。また、ステップS214の処理を行う前に、ステップS215の処理を行うこともできる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図1に示す比較部14cと、出力部14dとが統合されてもよい。
[シミュレーションプログラム]
また、上記の実施例で説明したシミュレーション装置10の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図24を用いて、上記の実施例で説明したシミュレーション装置10と同様の機能を有するシミュレーションプログラムを実行するコンピュータの一例を説明する。図24は、シミュレーションプログラムを実行するコンピュータを示す図である。
図24に示すように、実施例2におけるコンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340とを有する。これら300〜340の各部は、バス350を介して接続される。
ROM320には、上記の実施例1で示す生成部14aと、実行部14bと、比較部14cと、出力部14dと同様の機能を発揮するシミュレーションプログラム320aが予め記憶される。なお、シミュレーションプログラム320aについては、適宜分離しても良い。例えば、生成部14aと同様の機能を発揮するプログラムと、実行部14bと比較部14cと同様の機能を発揮するプログラムと、出力部14dと同様の機能を発揮するプログラムとに分離しても良い。
そして、CPU310が、シミュレーションプログラム320aをROM320から読み出して実行する。
そして、HDD330には、回路情報、信号情報、第一〜第八の各テーブルが設けられる。この回路情報、信号情報、第一〜第八の各テーブルのそれぞれは、図1に示した回路情報13a、信号情報13b、第一〜第八の各テーブル13c〜13jに対応する。
そして、CPU310は、回路情報、信号情報、第一〜第八の各テーブルを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納された回路情報、信号情報、第一〜第八の各テーブルを用いて、シミュレーションプログラム320aを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM340に格納される必要はなく、処理に必要なデータのみがRAM340に格納されれば良い。
なお、上記したシミュレーションプログラムについては、必ずしも最初からROM320に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)電圧の変化を記憶する第一の記憶部と、
伝送線路に係るパラメータを記憶する第二の記憶部と、
前記第二の記憶部を参照し、パラメータを用いて、前記伝送線路における電圧の変化のシミュレーションを実行する実行部と、
前記第一の記憶部に記憶された電圧の変化と、前記実行部により得られたパラメータの電圧の変化との間で、電圧が所定の閾値以上になってから所定の時間長までにおける変化、電圧が所定の閾値未満になってから所定の時間長までにおける変化の少なくとも一方を比較する比較部と、
前記比較部による比較の結果に基づいて、電圧の変化が類似する場合におけるシミュレーションに用いられたパラメータを出力する出力部と、
を有することを特徴とするシミュレーション装置。
(付記2)前記比較部は、前記第一の記憶部に記憶された電圧の変化と、前記実行部により得られたパラメータの電圧の変化との間で、電圧の立ち上がり部分、電圧の立ち下がり部分の少なくとも一方を比較する
ことを特徴とする付記1に記載のシミュレーション装置。
(付記3)前記比較部は、前記第一の記憶部に記憶された電圧の変化と、前記実行部により得られたパラメータの電圧の変化との間で、1番目の電圧の立ち上がり部分、1番目の電圧の立ち下がり部分の少なくとも一方を比較する
ことを特徴とする付記2に記載のシミュレーション装置。
(付記4)前記実行部は、パラメータを用いて、最初に電圧が立ち上がってから立ち下がるまで、または、最初に電圧が立ち下がってから立ち上がるまでの前記伝送線路における電圧の変化のシミュレーションを実行する
ことを特徴とする付記3に記載のシミュレーション装置。
(付記5)前記伝送線路における電圧の変化のシミュレーションの結果により得られた電圧の変化が示す複数の波形のうち、1つの波形が所定の形状となるように指示された場合に、他の波形も前記所定の形状となるように該電圧の変化を修正して、前記記憶部に記憶させる電圧の変化を生成する生成部
をさらに有することを特徴とする付記1〜4のいずれか1つに記載のシミュレーション装置。
(付記6)コンピュータに、
伝送線路に係るパラメータを記憶する第一の記憶部からパラメータを読み込み、
読み込んだパラメータを用いて、前記伝送線路における電圧の変化のシミュレーションを実行し、
電圧の変化を記憶する第二の記憶部から電圧の変化を読み込み、
読み込んだ電圧の変化と、シミュレーションの実行結果として得られたパラメータの電圧の変化との間で、電圧が所定の閾値以上になってから所定の時間長までにおける変化、電圧が所定の閾値未満になってから所定の時間長までにおける変化の少なくとも一方を比較し、
比較の結果に基づいて、電圧の変化が類似する場合におけるシミュレーションに用いられたパラメータを決定する
各処理を実行させるためのシミュレーションプログラム。
(付記7)前記少なくとも一方を比較する処理は、前記第一の記憶部に記憶された電圧の変化と、前記実行部により得られたパラメータの電圧の変化との間で、電圧の立ち上がり部分、電圧の立ち下がり部分の少なくとも一方を比較する
ことを特徴とする付記6に記載のシミュレーションプログラム。
(付記8)前記少なくとも一方を比較する処理は、前記第一の記憶部に記憶された電圧の変化と、前記実行部により得られたパラメータの電圧の変化との間で、1番目の電圧の立ち上がり部分、1番目の電圧の立ち下がり部分の少なくとも一方を比較する
ことを特徴とする付記7に記載のシミュレーションプログラム。
(付記9)前記電圧の変化のシミュレーションを実行する処理は、パラメータを用いて、最初に電圧が立ち上がってから立ち下がるまで、または、最初に電圧が立ち下がってから立ち上がるまでの前記伝送線路における電圧の変化のシミュレーションを実行する
ことを特徴とする付記8に記載のシミュレーションプログラム。
(付記10)前記コンピュータに、
前記伝送線路における電圧の変化のシミュレーションの結果により得られた電圧の変化が示す複数の波形のうち、1つの波形が所定の形状となるように指示された場合に、他の波形も前記所定の形状となるように該電圧の変化を修正して、前記記憶部に記憶させる電圧の変化を生成する
処理をさらに実行させるための付記6〜9のいずれか1つに記載のシミュレーションプログラム。
(付記11)コンピュータが実行するシミュレーション方法であって、
伝送線路に係るパラメータを記憶する第一の記憶部からパラメータを読み込み、
読み込んだパラメータを用いて、前記伝送線路における電圧の変化のシミュレーションを実行し、
電圧の変化を記憶する第二の記憶部から電圧の変化を読み込み、
読み込んだ電圧の変化と、シミュレーションの実行結果として得られたパラメータの電圧の変化との間で、電圧が所定の閾値以上になってから所定の時間長までにおける変化、電圧が所定の閾値未満になってから所定の時間長までにおける変化の少なくとも一方を比較し、
比較の結果に基づいて、電圧の変化が類似する場合におけるシミュレーションに用いられたパラメータを決定する
ことを特徴とするシミュレーション方法。
(付記12)前記少なくとも一方を比較する処理は、前記第一の記憶部に記憶された電圧の変化と、前記実行部により得られたパラメータの電圧の変化との間で、電圧の立ち上がり部分、電圧の立ち下がり部分の少なくとも一方を比較する
ことを特徴とする付記11に記載のシミュレーション方法。
(付記13)前記少なくとも一方を比較する処理は、前記第一の記憶部に記憶された電圧の変化と、前記実行部により得られたパラメータの電圧の変化との間で、1番目の電圧の立ち上がり部分、1番目の電圧の立ち下がり部分の少なくとも一方を比較する
ことを特徴とする付記12に記載のシミュレーション方法。
(付記14)前記電圧の変化のシミュレーションを実行する処理は、パラメータを用いて、最初に電圧が立ち上がってから立ち下がるまで、または、最初に電圧が立ち下がってから立ち上がるまでの前記伝送線路における電圧の変化のシミュレーションを実行する
ことを特徴とする付記13に記載のシミュレーション方法。
(付記15)さらに、
前記伝送線路における電圧の変化のシミュレーションの結果により得られた電圧の変化が示す複数の波形のうち、1つの波形が所定の形状となるように指示された場合に、他の波形も前記所定の形状となるように該電圧の変化を修正して、前記記憶部に記憶させる電圧の変化を生成する
ことを特徴とする付記11〜14のいずれか1つに記載のシミュレーション方法。